diff --git a/coffee/maxmertkit.coffee b/coffee/maxmertkit.coffee index 9d2d07d..aad402c 100644 --- a/coffee/maxmertkit.coffee +++ b/coffee/maxmertkit.coffee @@ -25,7 +25,7 @@ class MaxmertkitEvent registerCallback: ( callback, el, id ) -> - @callbacks.push + @callbacks.push id: id el: el callback: callback @@ -89,7 +89,7 @@ class MaxmertkitReactor clearInterval timer timer = null , 1000 - + eventId @@ -257,39 +257,44 @@ class MaxmertkitHelpers _outerWidth: (el) -> el = el or @el width = el.offsetWidth - try - style = el.currentStyle or getComputedStyle(el) - if style - if style.paddingLeft? and style.paddingLeft isnt '' then width += parseInt(style.paddingLeft) - if style.paddingRight? and style.paddingRight isnt '' then width += parseInt(style.paddingRight) + # try + # style = el.currentStyle or getComputedStyle(el) + # if style + # if style.paddingLeft? and style.paddingLeft isnt '' then width += parseInt(style.paddingLeft) + # if style.paddingRight? and style.paddingRight isnt '' then width += parseInt(style.paddingRight) width _outerHeight: (el) -> el = el or @el height = el.offsetHeight - try - style = el.currentStyle or getComputedStyle(el) - if style? - if style.paddingTop? and style.paddingTop isnt '' then height += parseInt(style.paddingTop) - if style.paddingBottom? and style.paddingBottom isnt '' then height += parseInt(style.paddingBottom) + # try + # style = el.currentStyle or getComputedStyle(el) + # if style? + # if style.paddingTop? and style.paddingTop isnt '' then height += parseInt(style.paddingTop) + # if style.paddingBottom? and style.paddingBottom isnt '' then height += parseInt(style.paddingBottom) height _getPosition: (el) -> el = el or @el curleft = curtop = 0 + + ### FIXME: Not sure if it needed to calculate with style margin ### + # try + # style = el.currentStyle or getComputedStyle(el) + # if style? + # if style.marginTop? and style.marginTop isnt '' then curtop -= parseInt(style.marginTop) + # if style.marginBottom? and style.marginBottom isnt '' then curtop += parseInt(style.marginBottom) + # if style.marginLeft? and style.marginLeft isnt '' then curleft += parseInt(style.marginLeft) + # if style.marginRight? and style.marginRight isnt '' then curleft -= parseInt(style.marginRight) + if el.offsetParent loop - ### FIXME: Not sure if it needed to calculate with style margin ### - try - style = el.currentStyle or getComputedStyle(el) - # if style? - # if style.marginTop? and style.marginTop isnt '' then curtop -= parseInt(style.marginTop) - # if style.marginLeft? and style.marginLeft isnt '' then curleft -= parseInt(style.marginLeft) curleft += el.offsetLeft curtop += el.offsetTop break unless el = el.offsetParent + left: curleft, top: curtop diff --git a/coffee/modal.coffee b/coffee/modal.coffee index a948b91..86c8e84 100644 --- a/coffee/modal.coffee +++ b/coffee/modal.coffee @@ -44,6 +44,9 @@ class Modal extends MaxmertkitHelpers # Boolean; close other instances of Modal when current is opening selfish: @el.getAttribute('data-selfish') or yes + # Boolean; hide scroll of the container element when modal window appears + hideScroll: @el.getAttribute('data-hide-scroll') or yes + # Events beforeactive: -> @@ -70,7 +73,7 @@ class Modal extends MaxmertkitHelpers @closerF = @close.bind @ @clickerF = @clicker.bind @ @backdropClickF = _backdropClick.bind @ - + @_setOptions @options @@ -105,8 +108,8 @@ class Modal extends MaxmertkitHelpers @_addEventListener closer, value, @closerF when 'backdrop' - if @options.backdrop then @_removeEventListener @el, "click", @backdropClickF - if value then @_addEventListener @el, "click", @backdropClickF + if @options.backdrop then @_removeEventListener @target, "click", @backdropClickF + if value then @_addEventListener @target, "click", @backdropClickF when 'push' if value @@ -160,7 +163,7 @@ _pushStop = -> @push.style['-webkit-overflow-scrolling'] = 'auto' _backdropClick = ( event ) -> - if @_hasClass('-modal', event.target) and @opened + if @_hasClass('-holder', event.target) and @opened @close() @@ -192,7 +195,7 @@ _beforeactivate = -> _activate = -> if @push then @_addClass '_perspective_', document.body - @_addClass '_no-scroll_', document.body + if @options.hideScroll then @_addClass '_no-scroll_', document.body @target.style.display = 'table' # setTimeout => @@ -234,7 +237,7 @@ _deactivate = -> setTimeout => @_removeClass '_visible_ -start-- -stop--', @target @_removeClass '_visible_ -start-- -stop--', @dialog - @_removeClass '_no-scroll_', document.body + if @options.hideScroll then @_removeClass '_no-scroll_', document.body if @push then @_removeClass '_perspective_', document.body @target.style.display = 'none' , 1000 @@ -270,4 +273,4 @@ if Element? then Element::modal = window['mkitModal'] if jQuery? $.fn[_name] = (options) -> @each -> - window['mkitModal'].call( @, options ) \ No newline at end of file + window['mkitModal'].call( @, options ) diff --git a/coffee/popup.coffee b/coffee/popup.coffee index 9aec9f1..79d3719 100644 --- a/coffee/popup.coffee +++ b/coffee/popup.coffee @@ -170,6 +170,11 @@ class Popup extends MaxmertkitHelpers @target.style.visibility = 'hidden' @target.style.display = 'block' + arrow = @target.querySelector '.-arrow' + arrowSize = + width: @_outerWidth arrow + height: @_outerHeight arrow + targetSize = width: @_outerWidth @target height: @_outerHeight @target @@ -314,4 +319,4 @@ if Element? then Element::popup = window['mkitPopup'] if jQuery? $.fn[_name] = (options) -> @each -> - window['mkitPopup'].call( @, options ) \ No newline at end of file + window['mkitPopup'].call( @, options ) diff --git a/coffee/skyline.coffee b/coffee/skyline.coffee index 0bd68f9..12961e0 100644 --- a/coffee/skyline.coffee +++ b/coffee/skyline.coffee @@ -30,6 +30,9 @@ class Skyline extends MaxmertkitHelpers # Number or function, returning Number; in ms, delay before start animation delay: @el.getAttribute( 'data-delay' ) or 300 + # Boolean; show only once and don't hide after that + once: @el.getAttribute( 'data-once' ) or no + # Boolean; on spying on mobile devices onMobile: @el.getAttribute( 'data-on-mobile' ) or no @@ -104,6 +107,7 @@ class Skyline extends MaxmertkitHelpers @_addClass '-start--' @_removeClass '-stop--' @active = yes + if @options.once then @stop() , delay deactivate: -> @@ -116,7 +120,7 @@ class Skyline extends MaxmertkitHelpers refresh: -> _windowSize = _getWindowSize() - @spyParams = + @spyParams = offset: @_getPosition @el height: @_outerHeight() @@ -268,4 +272,4 @@ if Element? then Element::skyline = window['mkitSkyline'] if jQuery? $.fn[_name] = (options) -> @each -> - window['mkitSkyline'].call( @, options ) \ No newline at end of file + window['mkitSkyline'].call( @, options ) diff --git a/css/main.css b/css/main.css index a88c538..67c4c28 100644 --- a/css/main.css +++ b/css/main.css @@ -155,11 +155,11 @@ html, body { to { opacity: 0; } } -.-fadein--.-start--, .-fadein--.-drop._active_, .-menu._hovered_ li:hover > .-fadein--.-drop, .-fadein--.-shader._active_ { +.-fadein--.-start--, .-fadein--.-drop._active_, .-menu._hovered_ li:hover > .-fadein--.-drop, .-list-group li._active_ > .-fadein--.-list-group, .-fadein--.-shader._active_ { -webkit-animation: fadeIn 0.3s forwards ease-out; -moz-animation: fadeIn 0.3s forwards ease-out; animation: fadeIn 0.3s forwards ease-out; } -.-fadein--.-stop-- { +.-fadein--.-stop--, .-list-group li > .-fadein--.-list-group { -webkit-animation: fadeOut 0.3s forwards ease-out; -moz-animation: fadeOut 0.3s forwards ease-out; animation: fadeOut 0.3s forwards ease-out; } @@ -3402,11 +3402,11 @@ html, body { -ms-transform-origin: 50% 50%; -o-transform-origin: 50% 50%; transform-origin: 50% 50%; } - .-fall--.-start--, .-fall--.-drop._active_, .-menu._hovered_ li:hover > .-fall--.-drop, .-fall--.-shader._active_ { + .-fall--.-start--, .-fall--.-drop._active_, .-menu._hovered_ li:hover > .-fall--.-drop, .-list-group li._active_ > .-fall--.-list-group, .-fall--.-shader._active_ { -webkit-animation: fallIn 2s forwards linear; -moz-animation: fallIn 2s forwards linear; animation: fallIn 2s forwards linear; } - .-fall--.-stop-- { + .-fall--.-stop--, .-list-group li > .-fall--.-list-group { -webkit-animation: fallOut 2s forwards linear; -moz-animation: fallOut 2s forwards linear; animation: fallOut 2s forwards linear; } @@ -6643,11 +6643,11 @@ html, body { -ms-transform: rotateY(-90deg) rotateX(-20deg); -o-transform: rotateY(-90deg) rotateX(-20deg); transform: rotateY(-90deg) rotateX(-20deg); } } -.-flipvertical--.-start--, .-flipvertical--.-drop._active_, .-menu._hovered_ li:hover > .-flipvertical--.-drop, .-flipvertical--.-shader._active_ { +.-flipvertical--.-start--, .-flipvertical--.-drop._active_, .-menu._hovered_ li:hover > .-flipvertical--.-drop, .-list-group li._active_ > .-flipvertical--.-list-group, .-flipvertical--.-shader._active_ { -webkit-animation: flipIn 1.5s forwards linear; -moz-animation: flipIn 1.5s forwards linear; animation: flipIn 1.5s forwards linear; } -.-flipvertical--.-stop-- { +.-flipvertical--.-stop--, .-list-group li > .-flipvertical--.-list-group { -webkit-animation: flipOut 0.2s forwards linear; -moz-animation: flipOut 0.2s forwards linear; animation: flipOut 0.2s forwards linear; } @@ -9884,11 +9884,11 @@ html, body { -ms-transform: rotateX(-70deg); -o-transform: rotateX(-70deg); transform: rotateX(-70deg); } } -.-fliphorizontal--.-start--, .-fliphorizontal--.-drop._active_, .-menu._hovered_ li:hover > .-fliphorizontal--.-drop, .-fliphorizontal--.-shader._active_ { +.-fliphorizontal--.-start--, .-fliphorizontal--.-drop._active_, .-menu._hovered_ li:hover > .-fliphorizontal--.-drop, .-list-group li._active_ > .-fliphorizontal--.-list-group, .-fliphorizontal--.-shader._active_ { -webkit-animation: flipHorizontalIn 1.5s forwards linear; -moz-animation: flipHorizontalIn 1.5s forwards linear; animation: flipHorizontalIn 1.5s forwards linear; } -.-fliphorizontal--.-stop-- { +.-fliphorizontal--.-stop--, .-list-group li > .-fliphorizontal--.-list-group { -webkit-animation: flipHorizontalOut 0.2s forwards linear; -moz-animation: flipHorizontalOut 0.2s forwards linear; animation: flipHorizontalOut 0.2s forwards linear; } @@ -13125,11 +13125,11 @@ html, body { -ms-transform: rotate(720deg) scale(0); -o-transform: rotate(720deg) scale(0); transform: rotate(720deg) scale(0); } } -.-newspaper--.-start--, .-newspaper--.-drop._active_, .-menu._hovered_ li:hover > .-newspaper--.-drop, .-newspaper--.-shader._active_ { +.-newspaper--.-start--, .-newspaper--.-drop._active_, .-menu._hovered_ li:hover > .-newspaper--.-drop, .-list-group li._active_ > .-newspaper--.-list-group, .-newspaper--.-shader._active_ { -webkit-animation: newspaperIn 1.5s forwards linear; -moz-animation: newspaperIn 1.5s forwards linear; animation: newspaperIn 1.5s forwards linear; } -.-newspaper--.-stop-- { +.-newspaper--.-stop--, .-list-group li > .-newspaper--.-list-group { -webkit-animation: newspaperOut 0.2s forwards linear; -moz-animation: newspaperOut 0.2s forwards linear; animation: newspaperOut 0.2s forwards linear; } @@ -13198,11 +13198,11 @@ html, body { -o-transform: translateY(25%) rotateX(-35deg); transform: translateY(25%) rotateX(-35deg); opacity: 0; } } -.-hugeinc--.-start--, .-hugeinc--.-drop._active_, .-menu._hovered_ li:hover > .-hugeinc--.-drop, .-hugeinc--.-shader._active_ { +.-hugeinc--.-start--, .-hugeinc--.-drop._active_, .-menu._hovered_ li:hover > .-hugeinc--.-drop, .-list-group li._active_ > .-hugeinc--.-list-group, .-hugeinc--.-shader._active_ { -webkit-animation: hugeincIn 0.5s forwards ease-in-out; -moz-animation: hugeincIn 0.5s forwards ease-in-out; animation: hugeincIn 0.5s forwards ease-in-out; } -.-hugeinc--.-stop-- { +.-hugeinc--.-stop--, .-list-group li > .-hugeinc--.-list-group { -webkit-animation: hugeincOut 0.5s forwards ease-in-out; -moz-animation: hugeincOut 0.5s forwards ease-in-out; animation: hugeincOut 0.5s forwards ease-in-out; } @@ -13271,11 +13271,11 @@ html, body { -o-transform: translateY(50px) translateX(50px); transform: translateY(50px) translateX(50px); opacity: 0; } } -.-corner--.-start--, .-corner--.-drop._active_, .-menu._hovered_ li:hover > .-corner--.-drop, .-corner--.-shader._active_ { +.-corner--.-start--, .-corner--.-drop._active_, .-menu._hovered_ li:hover > .-corner--.-drop, .-list-group li._active_ > .-corner--.-list-group, .-corner--.-shader._active_ { -webkit-animation: cornerIn 0.5s forwards ease-in-out; -moz-animation: cornerIn 0.5s forwards ease-in-out; animation: cornerIn 0.5s forwards ease-in-out; } -.-corner--.-stop-- { +.-corner--.-stop--, .-list-group li > .-corner--.-list-group { -webkit-animation: cornerOut 0.5s forwards ease-in-out; -moz-animation: cornerOut 0.5s forwards ease-in-out; animation: cornerOut 0.5s forwards ease-in-out; } @@ -13344,11 +13344,11 @@ html, body { -o-transform: translateY(-100%); transform: translateY(-100%); opacity: 0; } } -.-slidedown--.-start--, .-slidedown--.-drop._active_, .-menu._hovered_ li:hover > .-slidedown--.-drop, .-slidedown--.-shader._active_ { +.-slidedown--.-start--, .-slidedown--.-drop._active_, .-menu._hovered_ li:hover > .-slidedown--.-drop, .-list-group li._active_ > .-slidedown--.-list-group, .-slidedown--.-shader._active_ { -webkit-animation: slideDownIn 0.4s forwards ease-in-out; -moz-animation: slideDownIn 0.4s forwards ease-in-out; animation: slideDownIn 0.4s forwards ease-in-out; } -.-slidedown--.-stop-- { +.-slidedown--.-stop--, .-list-group li > .-slidedown--.-list-group { -webkit-animation: slideDownOut 0.4s forwards ease-in-out; -moz-animation: slideDownOut 0.4s forwards ease-in-out; animation: slideDownOut 0.4s forwards ease-in-out; } @@ -13417,11 +13417,11 @@ html, body { -o-transform: scale(1.2); transform: scale(1.2); opacity: 0; } } -.-scale--.-start--, .-scale--.-drop._active_, .-menu._hovered_ li:hover > .-scale--.-drop, .-scale--.-shader._active_ { +.-scale--.-start--, .-scale--.-drop._active_, .-menu._hovered_ li:hover > .-scale--.-drop, .-list-group li._active_ > .-scale--.-list-group, .-scale--.-shader._active_ { -webkit-animation: scaleIn 0.4s forwards ease-in-out; -moz-animation: scaleIn 0.4s forwards ease-in-out; animation: scaleIn 0.4s forwards ease-in-out; } -.-scale--.-stop-- { +.-scale--.-stop--, .-list-group li > .-scale--.-list-group { -webkit-animation: scaleOut 0.4s forwards ease-in-out; -moz-animation: scaleOut 0.4s forwards ease-in-out; animation: scaleOut 0.4s forwards ease-in-out; } @@ -13496,11 +13496,11 @@ html, body { -ms-transform-origin: 0% 50%; -o-transform-origin: 0% 50%; transform-origin: 0% 50%; } - .-door--.-start--, .-door--.-drop._active_, .-menu._hovered_ li:hover > .-door--.-drop, .-door--.-shader._active_ { + .-door--.-start--, .-door--.-drop._active_, .-menu._hovered_ li:hover > .-door--.-drop, .-list-group li._active_ > .-door--.-list-group, .-door--.-shader._active_ { -webkit-animation: doorIn 0.4s forwards ease-in-out; -moz-animation: doorIn 0.4s forwards ease-in-out; animation: doorIn 0.4s forwards ease-in-out; } - .-door--.-stop-- { + .-door--.-stop--, .-list-group li > .-door--.-list-group { -webkit-animation: doorOut 0.4s forwards ease-in-out; -moz-animation: doorOut 0.4s forwards ease-in-out; animation: doorOut 0.4s forwards ease-in-out; } @@ -13518,13 +13518,13 @@ html, body { -webkit-transition-delay: 0s; -moz-transition-delay: 0s; transition-delay: 0s; } - .-push-blur--.-stop-- { + .-push-blur--.-stop--, .-list-group li > .-push-blur--.-list-group { -ms-filter: blur(0px); -webkit-filter: blur(0px); -moz-filter: blur(0px); -o-filter: blur(0px); filter: url(#blur3px); } - .-push-blur--.-start--, .-push-blur--.-drop._active_, .-menu._hovered_ li:hover > .-push-blur--.-drop, .-push-blur--.-shader._active_ { + .-push-blur--.-start--, .-push-blur--.-drop._active_, .-menu._hovered_ li:hover > .-push-blur--.-drop, .-list-group li._active_ > .-push-blur--.-list-group, .-push-blur--.-shader._active_ { -ms-filter: blur(5px); -webkit-filter: blur(5px); -moz-filter: blur(5px); @@ -13583,11 +13583,11 @@ html, body { -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); } } -.-push-scaleout--.-start--, .-push-scaleout--.-drop._active_, .-menu._hovered_ li:hover > .-push-scaleout--.-drop, .-push-scaleout--.-shader._active_ { +.-push-scaleout--.-start--, .-push-scaleout--.-drop._active_, .-menu._hovered_ li:hover > .-push-scaleout--.-drop, .-list-group li._active_ > .-push-scaleout--.-list-group, .-push-scaleout--.-shader._active_ { -webkit-animation: pushScaleoutIn 0.4s forwards ease-in-out; -moz-animation: pushScaleoutIn 0.4s forwards ease-in-out; animation: pushScaleoutIn 0.4s forwards ease-in-out; } -.-push-scaleout--.-stop-- { +.-push-scaleout--.-stop--, .-list-group li > .-push-scaleout--.-list-group { -webkit-animation: pushScaleoutOut 0.4s forwards ease-in-out; -moz-animation: pushScaleoutOut 0.4s forwards ease-in-out; animation: pushScaleoutOut 0.4s forwards ease-in-out; } @@ -13644,11 +13644,11 @@ html, body { -ms-transform: translateX(0); -o-transform: translateX(0); transform: translateX(0); } } -.-push-right--.-start--, .-push-right--.-drop._active_, .-menu._hovered_ li:hover > .-push-right--.-drop, .-push-right--.-shader._active_ { +.-push-right--.-start--, .-push-right--.-drop._active_, .-menu._hovered_ li:hover > .-push-right--.-drop, .-list-group li._active_ > .-push-right--.-list-group, .-push-right--.-shader._active_ { -webkit-animation: pushRightIn 0.4s forwards ease-in-out; -moz-animation: pushRightIn 0.4s forwards ease-in-out; animation: pushRightIn 0.4s forwards ease-in-out; } -.-push-right--.-stop-- { +.-push-right--.-stop--, .-list-group li > .-push-right--.-list-group { -webkit-animation: pushRightOut 0.4s forwards ease-in-out; -moz-animation: pushRightOut 0.4s forwards ease-in-out; animation: pushRightOut 0.4s forwards ease-in-out; } @@ -13705,11 +13705,11 @@ html, body { -ms-transform: translateX(0); -o-transform: translateX(0); transform: translateX(0); } } -.-push-left--.-start--, .-push-left--.-drop._active_, .-menu._hovered_ li:hover > .-push-left--.-drop, .-push-left--.-shader._active_ { +.-push-left--.-start--, .-push-left--.-drop._active_, .-menu._hovered_ li:hover > .-push-left--.-drop, .-list-group li._active_ > .-push-left--.-list-group, .-push-left--.-shader._active_ { -webkit-animation: pushLeftIn 0.4s forwards ease-in-out; -moz-animation: pushLeftIn 0.4s forwards ease-in-out; animation: pushLeftIn 0.4s forwards ease-in-out; } -.-push-left--.-stop-- { +.-push-left--.-stop--, .-list-group li > .-push-left--.-list-group { -webkit-animation: pushLeftOut 0.4s forwards ease-in-out; -moz-animation: pushLeftOut 0.4s forwards ease-in-out; animation: pushLeftOut 0.4s forwards ease-in-out; } @@ -13772,12 +13772,12 @@ html, body { -ms-transform-origin: 50% 50%; -o-transform-origin: 50% 50%; transform-origin: 50% 50%; } - .-push-doorright--.-start--, .-push-doorright--.-drop._active_, .-menu._hovered_ li:hover > .-push-doorright--.-drop, .-push-doorright--.-shader._active_ { + .-push-doorright--.-start--, .-push-doorright--.-drop._active_, .-menu._hovered_ li:hover > .-push-doorright--.-drop, .-list-group li._active_ > .-push-doorright--.-list-group, .-push-doorright--.-shader._active_ { z-index: -1; -webkit-animation: pushDoorRightIn 0.4s forwards ease-in-out; -moz-animation: pushDoorRightIn 0.4s forwards ease-in-out; animation: pushDoorRightIn 0.4s forwards ease-in-out; } - .-push-doorright--.-stop-- { + .-push-doorright--.-stop--, .-list-group li > .-push-doorright--.-list-group { -webkit-animation: pushDoorRightOut 0.4s forwards ease-in-out; -moz-animation: pushDoorRightOut 0.4s forwards ease-in-out; animation: pushDoorRightOut 0.4s forwards ease-in-out; } @@ -13840,12 +13840,12 @@ html, body { -ms-transform-origin: 50% 50%; -o-transform-origin: 50% 50%; transform-origin: 50% 50%; } - .-push-doorleft--.-start--, .-push-doorleft--.-drop._active_, .-menu._hovered_ li:hover > .-push-doorleft--.-drop, .-push-doorleft--.-shader._active_ { + .-push-doorleft--.-start--, .-push-doorleft--.-drop._active_, .-menu._hovered_ li:hover > .-push-doorleft--.-drop, .-list-group li._active_ > .-push-doorleft--.-list-group, .-push-doorleft--.-shader._active_ { z-index: -1; -webkit-animation: pushDoorLeftIn 0.4s forwards ease-in-out; -moz-animation: pushDoorLeftIn 0.4s forwards ease-in-out; animation: pushDoorLeftIn 0.4s forwards ease-in-out; } - .-push-doorleft--.-stop-- { + .-push-doorleft--.-stop--, .-list-group li > .-push-doorleft--.-list-group { -webkit-animation: pushDoorLeftOut 0.4s forwards ease-in-out; -moz-animation: pushDoorLeftOut 0.4s forwards ease-in-out; animation: pushDoorLeftOut 0.4s forwards ease-in-out; } @@ -14691,7 +14691,7 @@ table, .-table { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - padding: 2px 8px; + padding: 2.66667px 8px; font-size: 14px; line-height: 1.42857; background-color: #f3f3f3; @@ -14770,7 +14770,7 @@ table, .-table { border-width: 0px; border-style: solid; border-radius: 50px; - padding: 1px 6px 0px 5px; + padding: 2px 6px 1px 5px; background-color: #f3f3f3; border-color: #f0f0f0; color: black; @@ -14844,11 +14844,15 @@ form .-row, form fieldset { margin-bottom: 20.0px; } form select, form input[type="text"], form input[type="password"], form input[type="date"], form input[type="datetime"], form input[type="datetime-local"], form input[type="month"], form input[type="week"], form input[type="email"], form input[type="number"], form input[type="search"], form input[type="tel"], form input[type="time"], form input[type="url"], form textarea { -webkit-appearance: none; + -moz-appearance: none; + -o-appearance: none; + -ms-appearance: none; + appearance: none; vertical-align: middle; font-family: inherit; font-size: 14px; line-height: 1.42857; - padding: 6px 12px; + padding: 8px 12px; margin: 0; border-radius: 0; -webkit-box-sizing: border-box; @@ -14857,7 +14861,9 @@ form select, form input[type="text"], form input[type="password"], form input[ty outline: none; width: 100%; border: 1px solid #b3b3b3; - font-size: 14px; } + font-size: 14px; + line-height: 18.0px; + height: 36.0px; } form select:active, form select:focus, form input[type="text"]:active, form input[type="text"]:focus, form input[type="password"]:active, form input[type="password"]:focus, form input[type="date"]:active, form input[type="date"]:focus, form input[type="datetime"]:active, form input[type="datetime"]:focus, form input[type="datetime-local"]:active, form input[type="datetime-local"]:focus, form input[type="month"]:active, form input[type="month"]:focus, form input[type="week"]:active, form input[type="week"]:focus, form input[type="email"]:active, form input[type="email"]:focus, form input[type="number"]:active, form input[type="number"]:focus, form input[type="search"]:active, form input[type="search"]:focus, form input[type="tel"]:active, form input[type="tel"]:focus, form input[type="time"]:active, form input[type="time"]:focus, form input[type="url"]:active, form input[type="url"]:focus, form textarea:active, form textarea:focus { box-shadow: 0 0 10px rgba(217, 217, 217, 0.4); } form select::-webkit-input-placeholder, form input[type="text"]::-webkit-input-placeholder, form input[type="password"]::-webkit-input-placeholder, form input[type="date"]::-webkit-input-placeholder, form input[type="datetime"]::-webkit-input-placeholder, form input[type="datetime-local"]::-webkit-input-placeholder, form input[type="month"]::-webkit-input-placeholder, form input[type="week"]::-webkit-input-placeholder, form input[type="email"]::-webkit-input-placeholder, form input[type="number"]::-webkit-input-placeholder, form input[type="search"]::-webkit-input-placeholder, form input[type="tel"]::-webkit-input-placeholder, form input[type="time"]::-webkit-input-placeholder, form input[type="url"]::-webkit-input-placeholder, form textarea::-webkit-input-placeholder { @@ -14948,20 +14954,34 @@ form select, form input[type="text"], form input[type="password"], form input[ty font-weight: 200; } form select:-ms-input-placeholder, form input[type="text"]:-ms-input-placeholder, form input[type="password"]:-ms-input-placeholder, form input[type="date"]:-ms-input-placeholder, form input[type="datetime"]:-ms-input-placeholder, form input[type="datetime-local"]:-ms-input-placeholder, form input[type="month"]:-ms-input-placeholder, form input[type="week"]:-ms-input-placeholder, form input[type="email"]:-ms-input-placeholder, form input[type="number"]:-ms-input-placeholder, form input[type="search"]:-ms-input-placeholder, form input[type="tel"]:-ms-input-placeholder, form input[type="time"]:-ms-input-placeholder, form input[type="url"]:-ms-input-placeholder, form textarea:-ms-input-placeholder { font-weight: 200; } - form select._small, form input[type="text"]._small, form .-field._small select, form .-group._small .-field select, .-group._small form .-field select, form .-navbar._small .-group .-field select, .-navbar._small .-group form .-field select, form ._small.-navbar-float .-group .-field select, ._small.-navbar-float .-group form .-field select, form .-field._small input[type="text"], form .-group._small .-field input[type="text"], .-group._small form .-field input[type="text"], form .-navbar._small .-group .-field input[type="text"], .-navbar._small .-group form .-field input[type="text"], form ._small.-navbar-float .-group .-field input[type="text"], ._small.-navbar-float .-group form .-field input[type="text"], form .-field._small input[type="password"], form .-group._small .-field input[type="password"], .-group._small form .-field input[type="password"], form .-navbar._small .-group .-field input[type="password"], .-navbar._small .-group form .-field input[type="password"], form ._small.-navbar-float .-group .-field input[type="password"], ._small.-navbar-float .-group form .-field input[type="password"], form .-field._small input[type="date"], form .-group._small .-field input[type="date"], .-group._small form .-field input[type="date"], form .-navbar._small .-group .-field input[type="date"], .-navbar._small .-group form .-field input[type="date"], form ._small.-navbar-float .-group .-field input[type="date"], ._small.-navbar-float .-group form .-field input[type="date"], form .-field._small input[type="datetime"], form .-group._small .-field input[type="datetime"], .-group._small form .-field input[type="datetime"], form .-navbar._small .-group .-field input[type="datetime"], .-navbar._small .-group form .-field input[type="datetime"], form ._small.-navbar-float .-group .-field input[type="datetime"], ._small.-navbar-float .-group form .-field input[type="datetime"], form .-field._small input[type="datetime-local"], form .-group._small .-field input[type="datetime-local"], .-group._small form .-field input[type="datetime-local"], form .-navbar._small .-group .-field input[type="datetime-local"], .-navbar._small .-group form .-field input[type="datetime-local"], form ._small.-navbar-float .-group .-field input[type="datetime-local"], ._small.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._small input[type="month"], form .-group._small .-field input[type="month"], .-group._small form .-field input[type="month"], form .-navbar._small .-group .-field input[type="month"], .-navbar._small .-group form .-field input[type="month"], form ._small.-navbar-float .-group .-field input[type="month"], ._small.-navbar-float .-group form .-field input[type="month"], form .-field._small input[type="week"], form .-group._small .-field input[type="week"], .-group._small form .-field input[type="week"], form .-navbar._small .-group .-field input[type="week"], .-navbar._small .-group form .-field input[type="week"], form ._small.-navbar-float .-group .-field input[type="week"], ._small.-navbar-float .-group form .-field input[type="week"], form .-field._small input[type="email"], form .-group._small .-field input[type="email"], .-group._small form .-field input[type="email"], form .-navbar._small .-group .-field input[type="email"], .-navbar._small .-group form .-field input[type="email"], form ._small.-navbar-float .-group .-field input[type="email"], ._small.-navbar-float .-group form .-field input[type="email"], form .-field._small input[type="number"], form .-group._small .-field input[type="number"], .-group._small form .-field input[type="number"], form .-navbar._small .-group .-field input[type="number"], .-navbar._small .-group form .-field input[type="number"], form ._small.-navbar-float .-group .-field input[type="number"], ._small.-navbar-float .-group form .-field input[type="number"], form .-field._small input[type="search"], form .-group._small .-field input[type="search"], .-group._small form .-field input[type="search"], form .-navbar._small .-group .-field input[type="search"], .-navbar._small .-group form .-field input[type="search"], form ._small.-navbar-float .-group .-field input[type="search"], ._small.-navbar-float .-group form .-field input[type="search"], form .-field._small input[type="tel"], form .-group._small .-field input[type="tel"], .-group._small form .-field input[type="tel"], form .-navbar._small .-group .-field input[type="tel"], .-navbar._small .-group form .-field input[type="tel"], form ._small.-navbar-float .-group .-field input[type="tel"], ._small.-navbar-float .-group form .-field input[type="tel"], form .-field._small input[type="time"], form .-group._small .-field input[type="time"], .-group._small form .-field input[type="time"], form .-navbar._small .-group .-field input[type="time"], .-navbar._small .-group form .-field input[type="time"], form ._small.-navbar-float .-group .-field input[type="time"], ._small.-navbar-float .-group form .-field input[type="time"], form .-field._small input[type="url"], form .-group._small .-field input[type="url"], .-group._small form .-field input[type="url"], form .-navbar._small .-group .-field input[type="url"], .-navbar._small .-group form .-field input[type="url"], form ._small.-navbar-float .-group .-field input[type="url"], ._small.-navbar-float .-group form .-field input[type="url"], form .-field._small textarea, form .-group._small .-field textarea, .-group._small form .-field textarea, form .-navbar._small .-group .-field textarea, .-navbar._small .-group form .-field textarea, form ._small.-navbar-float .-group .-field textarea, ._small.-navbar-float .-group form .-field textarea, form .-group._small select, .-group._small form select, form .-navbar._small .-group select, .-navbar._small .-group form select, form ._small.-navbar-float .-group select, ._small.-navbar-float .-group form select, form .-group._small input[type="text"], .-group._small form input[type="text"], form .-navbar._small .-group input[type="text"], .-navbar._small .-group form input[type="text"], form ._small.-navbar-float .-group input[type="text"], ._small.-navbar-float .-group form input[type="text"], form .-group._small input[type="password"], .-group._small form input[type="password"], form .-navbar._small .-group input[type="password"], .-navbar._small .-group form input[type="password"], form ._small.-navbar-float .-group input[type="password"], ._small.-navbar-float .-group form input[type="password"], form .-group._small input[type="date"], .-group._small form input[type="date"], form .-navbar._small .-group input[type="date"], .-navbar._small .-group form input[type="date"], form ._small.-navbar-float .-group input[type="date"], ._small.-navbar-float .-group form input[type="date"], form .-group._small input[type="datetime"], .-group._small form input[type="datetime"], form .-navbar._small .-group input[type="datetime"], .-navbar._small .-group form input[type="datetime"], form ._small.-navbar-float .-group input[type="datetime"], ._small.-navbar-float .-group form input[type="datetime"], form .-group._small input[type="datetime-local"], .-group._small form input[type="datetime-local"], form .-navbar._small .-group input[type="datetime-local"], .-navbar._small .-group form input[type="datetime-local"], form ._small.-navbar-float .-group input[type="datetime-local"], ._small.-navbar-float .-group form input[type="datetime-local"], form .-group._small input[type="month"], .-group._small form input[type="month"], form .-navbar._small .-group input[type="month"], .-navbar._small .-group form input[type="month"], form ._small.-navbar-float .-group input[type="month"], ._small.-navbar-float .-group form input[type="month"], form .-group._small input[type="week"], .-group._small form input[type="week"], form .-navbar._small .-group input[type="week"], .-navbar._small .-group form input[type="week"], form ._small.-navbar-float .-group input[type="week"], ._small.-navbar-float .-group form input[type="week"], form .-group._small input[type="email"], .-group._small form input[type="email"], form .-navbar._small .-group input[type="email"], .-navbar._small .-group form input[type="email"], form ._small.-navbar-float .-group input[type="email"], ._small.-navbar-float .-group form input[type="email"], form .-group._small input[type="number"], .-group._small form input[type="number"], form .-navbar._small .-group input[type="number"], .-navbar._small .-group form input[type="number"], form ._small.-navbar-float .-group input[type="number"], ._small.-navbar-float .-group form input[type="number"], form .-group._small input[type="search"], .-group._small form input[type="search"], form .-navbar._small .-group input[type="search"], .-navbar._small .-group form input[type="search"], form ._small.-navbar-float .-group input[type="search"], ._small.-navbar-float .-group form input[type="search"], form .-group._small input[type="tel"], .-group._small form input[type="tel"], form .-navbar._small .-group input[type="tel"], .-navbar._small .-group form input[type="tel"], form ._small.-navbar-float .-group input[type="tel"], ._small.-navbar-float .-group form input[type="tel"], form .-group._small input[type="time"], .-group._small form input[type="time"], form .-navbar._small .-group input[type="time"], .-navbar._small .-group form input[type="time"], form ._small.-navbar-float .-group input[type="time"], ._small.-navbar-float .-group form input[type="time"], form .-group._small input[type="url"], .-group._small form input[type="url"], form .-navbar._small .-group input[type="url"], .-navbar._small .-group form input[type="url"], form ._small.-navbar-float .-group input[type="url"], ._small.-navbar-float .-group form input[type="url"], form .-group._small textarea, .-group._small form textarea, form .-navbar._small .-group textarea, .-navbar._small .-group form textarea, form ._small.-navbar-float .-group textarea, ._small.-navbar-float .-group form textarea, form input[type="password"]._small, form input[type="date"]._small, form input[type="datetime"]._small, form input[type="datetime-local"]._small, form input[type="month"]._small, form input[type="week"]._small, form input[type="email"]._small, form input[type="number"]._small, form input[type="search"]._small, form input[type="tel"]._small, form input[type="time"]._small, form input[type="url"]._small, form textarea._small { - font-size: 7px; } - form select._minor, form input[type="text"]._minor, form .-field._minor select, form .-group._minor .-field select, .-group._minor form .-field select, form .-navbar._minor .-group .-field select, .-navbar._minor .-group form .-field select, form ._minor.-navbar-float .-group .-field select, ._minor.-navbar-float .-group form .-field select, form .-field._minor input[type="text"], form .-group._minor .-field input[type="text"], .-group._minor form .-field input[type="text"], form .-navbar._minor .-group .-field input[type="text"], .-navbar._minor .-group form .-field input[type="text"], form ._minor.-navbar-float .-group .-field input[type="text"], ._minor.-navbar-float .-group form .-field input[type="text"], form .-field._minor input[type="password"], form .-group._minor .-field input[type="password"], .-group._minor form .-field input[type="password"], form .-navbar._minor .-group .-field input[type="password"], .-navbar._minor .-group form .-field input[type="password"], form ._minor.-navbar-float .-group .-field input[type="password"], ._minor.-navbar-float .-group form .-field input[type="password"], form .-field._minor input[type="date"], form .-group._minor .-field input[type="date"], .-group._minor form .-field input[type="date"], form .-navbar._minor .-group .-field input[type="date"], .-navbar._minor .-group form .-field input[type="date"], form ._minor.-navbar-float .-group .-field input[type="date"], ._minor.-navbar-float .-group form .-field input[type="date"], form .-field._minor input[type="datetime"], form .-group._minor .-field input[type="datetime"], .-group._minor form .-field input[type="datetime"], form .-navbar._minor .-group .-field input[type="datetime"], .-navbar._minor .-group form .-field input[type="datetime"], form ._minor.-navbar-float .-group .-field input[type="datetime"], ._minor.-navbar-float .-group form .-field input[type="datetime"], form .-field._minor input[type="datetime-local"], form .-group._minor .-field input[type="datetime-local"], .-group._minor form .-field input[type="datetime-local"], form .-navbar._minor .-group .-field input[type="datetime-local"], .-navbar._minor .-group form .-field input[type="datetime-local"], form ._minor.-navbar-float .-group .-field input[type="datetime-local"], ._minor.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._minor input[type="month"], form .-group._minor .-field input[type="month"], .-group._minor form .-field input[type="month"], form .-navbar._minor .-group .-field input[type="month"], .-navbar._minor .-group form .-field input[type="month"], form ._minor.-navbar-float .-group .-field input[type="month"], ._minor.-navbar-float .-group form .-field input[type="month"], form .-field._minor input[type="week"], form .-group._minor .-field input[type="week"], .-group._minor form .-field input[type="week"], form .-navbar._minor .-group .-field input[type="week"], .-navbar._minor .-group form .-field input[type="week"], form ._minor.-navbar-float .-group .-field input[type="week"], ._minor.-navbar-float .-group form .-field input[type="week"], form .-field._minor input[type="email"], form .-group._minor .-field input[type="email"], .-group._minor form .-field input[type="email"], form .-navbar._minor .-group .-field input[type="email"], .-navbar._minor .-group form .-field input[type="email"], form ._minor.-navbar-float .-group .-field input[type="email"], ._minor.-navbar-float .-group form .-field input[type="email"], form .-field._minor input[type="number"], form .-group._minor .-field input[type="number"], .-group._minor form .-field input[type="number"], form .-navbar._minor .-group .-field input[type="number"], .-navbar._minor .-group form .-field input[type="number"], form ._minor.-navbar-float .-group .-field input[type="number"], ._minor.-navbar-float .-group form .-field input[type="number"], form .-field._minor input[type="search"], form .-group._minor .-field input[type="search"], .-group._minor form .-field input[type="search"], form .-navbar._minor .-group .-field input[type="search"], .-navbar._minor .-group form .-field input[type="search"], form ._minor.-navbar-float .-group .-field input[type="search"], ._minor.-navbar-float .-group form .-field input[type="search"], form .-field._minor input[type="tel"], form .-group._minor .-field input[type="tel"], .-group._minor form .-field input[type="tel"], form .-navbar._minor .-group .-field input[type="tel"], .-navbar._minor .-group form .-field input[type="tel"], form ._minor.-navbar-float .-group .-field input[type="tel"], ._minor.-navbar-float .-group form .-field input[type="tel"], form .-field._minor input[type="time"], form .-group._minor .-field input[type="time"], .-group._minor form .-field input[type="time"], form .-navbar._minor .-group .-field input[type="time"], .-navbar._minor .-group form .-field input[type="time"], form ._minor.-navbar-float .-group .-field input[type="time"], ._minor.-navbar-float .-group form .-field input[type="time"], form .-field._minor input[type="url"], form .-group._minor .-field input[type="url"], .-group._minor form .-field input[type="url"], form .-navbar._minor .-group .-field input[type="url"], .-navbar._minor .-group form .-field input[type="url"], form ._minor.-navbar-float .-group .-field input[type="url"], ._minor.-navbar-float .-group form .-field input[type="url"], form .-field._minor textarea, form .-group._minor .-field textarea, .-group._minor form .-field textarea, form .-navbar._minor .-group .-field textarea, .-navbar._minor .-group form .-field textarea, form ._minor.-navbar-float .-group .-field textarea, ._minor.-navbar-float .-group form .-field textarea, form .-group._minor select, .-group._minor form select, form .-navbar._minor .-group select, .-navbar._minor .-group form select, form ._minor.-navbar-float .-group select, ._minor.-navbar-float .-group form select, form .-group._minor input[type="text"], .-group._minor form input[type="text"], form .-navbar._minor .-group input[type="text"], .-navbar._minor .-group form input[type="text"], form ._minor.-navbar-float .-group input[type="text"], ._minor.-navbar-float .-group form input[type="text"], form .-group._minor input[type="password"], .-group._minor form input[type="password"], form .-navbar._minor .-group input[type="password"], .-navbar._minor .-group form input[type="password"], form ._minor.-navbar-float .-group input[type="password"], ._minor.-navbar-float .-group form input[type="password"], form .-group._minor input[type="date"], .-group._minor form input[type="date"], form .-navbar._minor .-group input[type="date"], .-navbar._minor .-group form input[type="date"], form ._minor.-navbar-float .-group input[type="date"], ._minor.-navbar-float .-group form input[type="date"], form .-group._minor input[type="datetime"], .-group._minor form input[type="datetime"], form .-navbar._minor .-group input[type="datetime"], .-navbar._minor .-group form input[type="datetime"], form ._minor.-navbar-float .-group input[type="datetime"], ._minor.-navbar-float .-group form input[type="datetime"], form .-group._minor input[type="datetime-local"], .-group._minor form input[type="datetime-local"], form .-navbar._minor .-group input[type="datetime-local"], .-navbar._minor .-group form input[type="datetime-local"], form ._minor.-navbar-float .-group input[type="datetime-local"], ._minor.-navbar-float .-group form input[type="datetime-local"], form .-group._minor input[type="month"], .-group._minor form input[type="month"], form .-navbar._minor .-group input[type="month"], .-navbar._minor .-group form input[type="month"], form ._minor.-navbar-float .-group input[type="month"], ._minor.-navbar-float .-group form input[type="month"], form .-group._minor input[type="week"], .-group._minor form input[type="week"], form .-navbar._minor .-group input[type="week"], .-navbar._minor .-group form input[type="week"], form ._minor.-navbar-float .-group input[type="week"], ._minor.-navbar-float .-group form input[type="week"], form .-group._minor input[type="email"], .-group._minor form input[type="email"], form .-navbar._minor .-group input[type="email"], .-navbar._minor .-group form input[type="email"], form ._minor.-navbar-float .-group input[type="email"], ._minor.-navbar-float .-group form input[type="email"], form .-group._minor input[type="number"], .-group._minor form input[type="number"], form .-navbar._minor .-group input[type="number"], .-navbar._minor .-group form input[type="number"], form ._minor.-navbar-float .-group input[type="number"], ._minor.-navbar-float .-group form input[type="number"], form .-group._minor input[type="search"], .-group._minor form input[type="search"], form .-navbar._minor .-group input[type="search"], .-navbar._minor .-group form input[type="search"], form ._minor.-navbar-float .-group input[type="search"], ._minor.-navbar-float .-group form input[type="search"], form .-group._minor input[type="tel"], .-group._minor form input[type="tel"], form .-navbar._minor .-group input[type="tel"], .-navbar._minor .-group form input[type="tel"], form ._minor.-navbar-float .-group input[type="tel"], ._minor.-navbar-float .-group form input[type="tel"], form .-group._minor input[type="time"], .-group._minor form input[type="time"], form .-navbar._minor .-group input[type="time"], .-navbar._minor .-group form input[type="time"], form ._minor.-navbar-float .-group input[type="time"], ._minor.-navbar-float .-group form input[type="time"], form .-group._minor input[type="url"], .-group._minor form input[type="url"], form .-navbar._minor .-group input[type="url"], .-navbar._minor .-group form input[type="url"], form ._minor.-navbar-float .-group input[type="url"], ._minor.-navbar-float .-group form input[type="url"], form .-group._minor textarea, .-group._minor form textarea, form .-navbar._minor .-group textarea, .-navbar._minor .-group form textarea, form ._minor.-navbar-float .-group textarea, ._minor.-navbar-float .-group form textarea, form input[type="password"]._minor, form input[type="date"]._minor, form input[type="datetime"]._minor, form input[type="datetime-local"]._minor, form input[type="month"]._minor, form input[type="week"]._minor, form input[type="email"]._minor, form input[type="number"]._minor, form input[type="search"]._minor, form input[type="tel"]._minor, form input[type="time"]._minor, form input[type="url"]._minor, form textarea._minor { - font-size: 10.5px; } - form select._normal, form input[type="text"]._normal, form .-field._normal select, form .-group._normal .-field select, .-group._normal form .-field select, form .-navbar._normal .-group .-field select, .-navbar._normal .-group form .-field select, form ._normal.-navbar-float .-group .-field select, ._normal.-navbar-float .-group form .-field select, form .-field._normal input[type="text"], form .-group._normal .-field input[type="text"], .-group._normal form .-field input[type="text"], form .-navbar._normal .-group .-field input[type="text"], .-navbar._normal .-group form .-field input[type="text"], form ._normal.-navbar-float .-group .-field input[type="text"], ._normal.-navbar-float .-group form .-field input[type="text"], form .-field._normal input[type="password"], form .-group._normal .-field input[type="password"], .-group._normal form .-field input[type="password"], form .-navbar._normal .-group .-field input[type="password"], .-navbar._normal .-group form .-field input[type="password"], form ._normal.-navbar-float .-group .-field input[type="password"], ._normal.-navbar-float .-group form .-field input[type="password"], form .-field._normal input[type="date"], form .-group._normal .-field input[type="date"], .-group._normal form .-field input[type="date"], form .-navbar._normal .-group .-field input[type="date"], .-navbar._normal .-group form .-field input[type="date"], form ._normal.-navbar-float .-group .-field input[type="date"], ._normal.-navbar-float .-group form .-field input[type="date"], form .-field._normal input[type="datetime"], form .-group._normal .-field input[type="datetime"], .-group._normal form .-field input[type="datetime"], form .-navbar._normal .-group .-field input[type="datetime"], .-navbar._normal .-group form .-field input[type="datetime"], form ._normal.-navbar-float .-group .-field input[type="datetime"], ._normal.-navbar-float .-group form .-field input[type="datetime"], form .-field._normal input[type="datetime-local"], form .-group._normal .-field input[type="datetime-local"], .-group._normal form .-field input[type="datetime-local"], form .-navbar._normal .-group .-field input[type="datetime-local"], .-navbar._normal .-group form .-field input[type="datetime-local"], form ._normal.-navbar-float .-group .-field input[type="datetime-local"], ._normal.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._normal input[type="month"], form .-group._normal .-field input[type="month"], .-group._normal form .-field input[type="month"], form .-navbar._normal .-group .-field input[type="month"], .-navbar._normal .-group form .-field input[type="month"], form ._normal.-navbar-float .-group .-field input[type="month"], ._normal.-navbar-float .-group form .-field input[type="month"], form .-field._normal input[type="week"], form .-group._normal .-field input[type="week"], .-group._normal form .-field input[type="week"], form .-navbar._normal .-group .-field input[type="week"], .-navbar._normal .-group form .-field input[type="week"], form ._normal.-navbar-float .-group .-field input[type="week"], ._normal.-navbar-float .-group form .-field input[type="week"], form .-field._normal input[type="email"], form .-group._normal .-field input[type="email"], .-group._normal form .-field input[type="email"], form .-navbar._normal .-group .-field input[type="email"], .-navbar._normal .-group form .-field input[type="email"], form ._normal.-navbar-float .-group .-field input[type="email"], ._normal.-navbar-float .-group form .-field input[type="email"], form .-field._normal input[type="number"], form .-group._normal .-field input[type="number"], .-group._normal form .-field input[type="number"], form .-navbar._normal .-group .-field input[type="number"], .-navbar._normal .-group form .-field input[type="number"], form ._normal.-navbar-float .-group .-field input[type="number"], ._normal.-navbar-float .-group form .-field input[type="number"], form .-field._normal input[type="search"], form .-group._normal .-field input[type="search"], .-group._normal form .-field input[type="search"], form .-navbar._normal .-group .-field input[type="search"], .-navbar._normal .-group form .-field input[type="search"], form ._normal.-navbar-float .-group .-field input[type="search"], ._normal.-navbar-float .-group form .-field input[type="search"], form .-field._normal input[type="tel"], form .-group._normal .-field input[type="tel"], .-group._normal form .-field input[type="tel"], form .-navbar._normal .-group .-field input[type="tel"], .-navbar._normal .-group form .-field input[type="tel"], form ._normal.-navbar-float .-group .-field input[type="tel"], ._normal.-navbar-float .-group form .-field input[type="tel"], form .-field._normal input[type="time"], form .-group._normal .-field input[type="time"], .-group._normal form .-field input[type="time"], form .-navbar._normal .-group .-field input[type="time"], .-navbar._normal .-group form .-field input[type="time"], form ._normal.-navbar-float .-group .-field input[type="time"], ._normal.-navbar-float .-group form .-field input[type="time"], form .-field._normal input[type="url"], form .-group._normal .-field input[type="url"], .-group._normal form .-field input[type="url"], form .-navbar._normal .-group .-field input[type="url"], .-navbar._normal .-group form .-field input[type="url"], form ._normal.-navbar-float .-group .-field input[type="url"], ._normal.-navbar-float .-group form .-field input[type="url"], form .-field._normal textarea, form .-group._normal .-field textarea, .-group._normal form .-field textarea, form .-navbar._normal .-group .-field textarea, .-navbar._normal .-group form .-field textarea, form ._normal.-navbar-float .-group .-field textarea, ._normal.-navbar-float .-group form .-field textarea, form .-group._normal select, .-group._normal form select, form .-navbar._normal .-group select, .-navbar._normal .-group form select, form ._normal.-navbar-float .-group select, ._normal.-navbar-float .-group form select, form .-group._normal input[type="text"], .-group._normal form input[type="text"], form .-navbar._normal .-group input[type="text"], .-navbar._normal .-group form input[type="text"], form ._normal.-navbar-float .-group input[type="text"], ._normal.-navbar-float .-group form input[type="text"], form .-group._normal input[type="password"], .-group._normal form input[type="password"], form .-navbar._normal .-group input[type="password"], .-navbar._normal .-group form input[type="password"], form ._normal.-navbar-float .-group input[type="password"], ._normal.-navbar-float .-group form input[type="password"], form .-group._normal input[type="date"], .-group._normal form input[type="date"], form .-navbar._normal .-group input[type="date"], .-navbar._normal .-group form input[type="date"], form ._normal.-navbar-float .-group input[type="date"], ._normal.-navbar-float .-group form input[type="date"], form .-group._normal input[type="datetime"], .-group._normal form input[type="datetime"], form .-navbar._normal .-group input[type="datetime"], .-navbar._normal .-group form input[type="datetime"], form ._normal.-navbar-float .-group input[type="datetime"], ._normal.-navbar-float .-group form input[type="datetime"], form .-group._normal input[type="datetime-local"], .-group._normal form input[type="datetime-local"], form .-navbar._normal .-group input[type="datetime-local"], .-navbar._normal .-group form input[type="datetime-local"], form ._normal.-navbar-float .-group input[type="datetime-local"], ._normal.-navbar-float .-group form input[type="datetime-local"], form .-group._normal input[type="month"], .-group._normal form input[type="month"], form .-navbar._normal .-group input[type="month"], .-navbar._normal .-group form input[type="month"], form ._normal.-navbar-float .-group input[type="month"], ._normal.-navbar-float .-group form input[type="month"], form .-group._normal input[type="week"], .-group._normal form input[type="week"], form .-navbar._normal .-group input[type="week"], .-navbar._normal .-group form input[type="week"], form ._normal.-navbar-float .-group input[type="week"], ._normal.-navbar-float .-group form input[type="week"], form .-group._normal input[type="email"], .-group._normal form input[type="email"], form .-navbar._normal .-group input[type="email"], .-navbar._normal .-group form input[type="email"], form ._normal.-navbar-float .-group input[type="email"], ._normal.-navbar-float .-group form input[type="email"], form .-group._normal input[type="number"], .-group._normal form input[type="number"], form .-navbar._normal .-group input[type="number"], .-navbar._normal .-group form input[type="number"], form ._normal.-navbar-float .-group input[type="number"], ._normal.-navbar-float .-group form input[type="number"], form .-group._normal input[type="search"], .-group._normal form input[type="search"], form .-navbar._normal .-group input[type="search"], .-navbar._normal .-group form input[type="search"], form ._normal.-navbar-float .-group input[type="search"], ._normal.-navbar-float .-group form input[type="search"], form .-group._normal input[type="tel"], .-group._normal form input[type="tel"], form .-navbar._normal .-group input[type="tel"], .-navbar._normal .-group form input[type="tel"], form ._normal.-navbar-float .-group input[type="tel"], ._normal.-navbar-float .-group form input[type="tel"], form .-group._normal input[type="time"], .-group._normal form input[type="time"], form .-navbar._normal .-group input[type="time"], .-navbar._normal .-group form input[type="time"], form ._normal.-navbar-float .-group input[type="time"], ._normal.-navbar-float .-group form input[type="time"], form .-group._normal input[type="url"], .-group._normal form input[type="url"], form .-navbar._normal .-group input[type="url"], .-navbar._normal .-group form input[type="url"], form ._normal.-navbar-float .-group input[type="url"], ._normal.-navbar-float .-group form input[type="url"], form .-group._normal textarea, .-group._normal form textarea, form .-navbar._normal .-group textarea, .-navbar._normal .-group form textarea, form ._normal.-navbar-float .-group textarea, ._normal.-navbar-float .-group form textarea, form input[type="password"]._normal, form input[type="date"]._normal, form input[type="datetime"]._normal, form input[type="datetime-local"]._normal, form input[type="month"]._normal, form input[type="week"]._normal, form input[type="email"]._normal, form input[type="number"]._normal, form input[type="search"]._normal, form input[type="tel"]._normal, form input[type="time"]._normal, form input[type="url"]._normal, form textarea._normal { - font-size: 14px; } - form select._major, form input[type="text"]._major, form .-field._major select, form .-group._major .-field select, .-group._major form .-field select, form .-navbar._major .-group .-field select, .-navbar._major .-group form .-field select, form ._major.-navbar-float .-group .-field select, ._major.-navbar-float .-group form .-field select, form .-field._major input[type="text"], form .-group._major .-field input[type="text"], .-group._major form .-field input[type="text"], form .-navbar._major .-group .-field input[type="text"], .-navbar._major .-group form .-field input[type="text"], form ._major.-navbar-float .-group .-field input[type="text"], ._major.-navbar-float .-group form .-field input[type="text"], form .-field._major input[type="password"], form .-group._major .-field input[type="password"], .-group._major form .-field input[type="password"], form .-navbar._major .-group .-field input[type="password"], .-navbar._major .-group form .-field input[type="password"], form ._major.-navbar-float .-group .-field input[type="password"], ._major.-navbar-float .-group form .-field input[type="password"], form .-field._major input[type="date"], form .-group._major .-field input[type="date"], .-group._major form .-field input[type="date"], form .-navbar._major .-group .-field input[type="date"], .-navbar._major .-group form .-field input[type="date"], form ._major.-navbar-float .-group .-field input[type="date"], ._major.-navbar-float .-group form .-field input[type="date"], form .-field._major input[type="datetime"], form .-group._major .-field input[type="datetime"], .-group._major form .-field input[type="datetime"], form .-navbar._major .-group .-field input[type="datetime"], .-navbar._major .-group form .-field input[type="datetime"], form ._major.-navbar-float .-group .-field input[type="datetime"], ._major.-navbar-float .-group form .-field input[type="datetime"], form .-field._major input[type="datetime-local"], form .-group._major .-field input[type="datetime-local"], .-group._major form .-field input[type="datetime-local"], form .-navbar._major .-group .-field input[type="datetime-local"], .-navbar._major .-group form .-field input[type="datetime-local"], form ._major.-navbar-float .-group .-field input[type="datetime-local"], ._major.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._major input[type="month"], form .-group._major .-field input[type="month"], .-group._major form .-field input[type="month"], form .-navbar._major .-group .-field input[type="month"], .-navbar._major .-group form .-field input[type="month"], form ._major.-navbar-float .-group .-field input[type="month"], ._major.-navbar-float .-group form .-field input[type="month"], form .-field._major input[type="week"], form .-group._major .-field input[type="week"], .-group._major form .-field input[type="week"], form .-navbar._major .-group .-field input[type="week"], .-navbar._major .-group form .-field input[type="week"], form ._major.-navbar-float .-group .-field input[type="week"], ._major.-navbar-float .-group form .-field input[type="week"], form .-field._major input[type="email"], form .-group._major .-field input[type="email"], .-group._major form .-field input[type="email"], form .-navbar._major .-group .-field input[type="email"], .-navbar._major .-group form .-field input[type="email"], form ._major.-navbar-float .-group .-field input[type="email"], ._major.-navbar-float .-group form .-field input[type="email"], form .-field._major input[type="number"], form .-group._major .-field input[type="number"], .-group._major form .-field input[type="number"], form .-navbar._major .-group .-field input[type="number"], .-navbar._major .-group form .-field input[type="number"], form ._major.-navbar-float .-group .-field input[type="number"], ._major.-navbar-float .-group form .-field input[type="number"], form .-field._major input[type="search"], form .-group._major .-field input[type="search"], .-group._major form .-field input[type="search"], form .-navbar._major .-group .-field input[type="search"], .-navbar._major .-group form .-field input[type="search"], form ._major.-navbar-float .-group .-field input[type="search"], ._major.-navbar-float .-group form .-field input[type="search"], form .-field._major input[type="tel"], form .-group._major .-field input[type="tel"], .-group._major form .-field input[type="tel"], form .-navbar._major .-group .-field input[type="tel"], .-navbar._major .-group form .-field input[type="tel"], form ._major.-navbar-float .-group .-field input[type="tel"], ._major.-navbar-float .-group form .-field input[type="tel"], form .-field._major input[type="time"], form .-group._major .-field input[type="time"], .-group._major form .-field input[type="time"], form .-navbar._major .-group .-field input[type="time"], .-navbar._major .-group form .-field input[type="time"], form ._major.-navbar-float .-group .-field input[type="time"], ._major.-navbar-float .-group form .-field input[type="time"], form .-field._major input[type="url"], form .-group._major .-field input[type="url"], .-group._major form .-field input[type="url"], form .-navbar._major .-group .-field input[type="url"], .-navbar._major .-group form .-field input[type="url"], form ._major.-navbar-float .-group .-field input[type="url"], ._major.-navbar-float .-group form .-field input[type="url"], form .-field._major textarea, form .-group._major .-field textarea, .-group._major form .-field textarea, form .-navbar._major .-group .-field textarea, .-navbar._major .-group form .-field textarea, form ._major.-navbar-float .-group .-field textarea, ._major.-navbar-float .-group form .-field textarea, form .-group._major select, .-group._major form select, form .-navbar._major .-group select, .-navbar._major .-group form select, form ._major.-navbar-float .-group select, ._major.-navbar-float .-group form select, form .-group._major input[type="text"], .-group._major form input[type="text"], form .-navbar._major .-group input[type="text"], .-navbar._major .-group form input[type="text"], form ._major.-navbar-float .-group input[type="text"], ._major.-navbar-float .-group form input[type="text"], form .-group._major input[type="password"], .-group._major form input[type="password"], form .-navbar._major .-group input[type="password"], .-navbar._major .-group form input[type="password"], form ._major.-navbar-float .-group input[type="password"], ._major.-navbar-float .-group form input[type="password"], form .-group._major input[type="date"], .-group._major form input[type="date"], form .-navbar._major .-group input[type="date"], .-navbar._major .-group form input[type="date"], form ._major.-navbar-float .-group input[type="date"], ._major.-navbar-float .-group form input[type="date"], form .-group._major input[type="datetime"], .-group._major form input[type="datetime"], form .-navbar._major .-group input[type="datetime"], .-navbar._major .-group form input[type="datetime"], form ._major.-navbar-float .-group input[type="datetime"], ._major.-navbar-float .-group form input[type="datetime"], form .-group._major input[type="datetime-local"], .-group._major form input[type="datetime-local"], form .-navbar._major .-group input[type="datetime-local"], .-navbar._major .-group form input[type="datetime-local"], form ._major.-navbar-float .-group input[type="datetime-local"], ._major.-navbar-float .-group form input[type="datetime-local"], form .-group._major input[type="month"], .-group._major form input[type="month"], form .-navbar._major .-group input[type="month"], .-navbar._major .-group form input[type="month"], form ._major.-navbar-float .-group input[type="month"], ._major.-navbar-float .-group form input[type="month"], form .-group._major input[type="week"], .-group._major form input[type="week"], form .-navbar._major .-group input[type="week"], .-navbar._major .-group form input[type="week"], form ._major.-navbar-float .-group input[type="week"], ._major.-navbar-float .-group form input[type="week"], form .-group._major input[type="email"], .-group._major form input[type="email"], form .-navbar._major .-group input[type="email"], .-navbar._major .-group form input[type="email"], form ._major.-navbar-float .-group input[type="email"], ._major.-navbar-float .-group form input[type="email"], form .-group._major input[type="number"], .-group._major form input[type="number"], form .-navbar._major .-group input[type="number"], .-navbar._major .-group form input[type="number"], form ._major.-navbar-float .-group input[type="number"], ._major.-navbar-float .-group form input[type="number"], form .-group._major input[type="search"], .-group._major form input[type="search"], form .-navbar._major .-group input[type="search"], .-navbar._major .-group form input[type="search"], form ._major.-navbar-float .-group input[type="search"], ._major.-navbar-float .-group form input[type="search"], form .-group._major input[type="tel"], .-group._major form input[type="tel"], form .-navbar._major .-group input[type="tel"], .-navbar._major .-group form input[type="tel"], form ._major.-navbar-float .-group input[type="tel"], ._major.-navbar-float .-group form input[type="tel"], form .-group._major input[type="time"], .-group._major form input[type="time"], form .-navbar._major .-group input[type="time"], .-navbar._major .-group form input[type="time"], form ._major.-navbar-float .-group input[type="time"], ._major.-navbar-float .-group form input[type="time"], form .-group._major input[type="url"], .-group._major form input[type="url"], form .-navbar._major .-group input[type="url"], .-navbar._major .-group form input[type="url"], form ._major.-navbar-float .-group input[type="url"], ._major.-navbar-float .-group form input[type="url"], form .-group._major textarea, .-group._major form textarea, form .-navbar._major .-group textarea, .-navbar._major .-group form textarea, form ._major.-navbar-float .-group textarea, ._major.-navbar-float .-group form textarea, form input[type="password"]._major, form input[type="date"]._major, form input[type="datetime"]._major, form input[type="datetime-local"]._major, form input[type="month"]._major, form input[type="week"]._major, form input[type="email"]._major, form input[type="number"]._major, form input[type="search"]._major, form input[type="tel"]._major, form input[type="time"]._major, form input[type="url"]._major, form textarea._major { - font-size: 17.5px; } - form select._big, form input[type="text"]._big, form .-field._big select, form .-group._big .-field select, .-group._big form .-field select, form .-navbar._big .-group .-field select, .-navbar._big .-group form .-field select, form ._big.-navbar-float .-group .-field select, ._big.-navbar-float .-group form .-field select, form .-field._big input[type="text"], form .-group._big .-field input[type="text"], .-group._big form .-field input[type="text"], form .-navbar._big .-group .-field input[type="text"], .-navbar._big .-group form .-field input[type="text"], form ._big.-navbar-float .-group .-field input[type="text"], ._big.-navbar-float .-group form .-field input[type="text"], form .-field._big input[type="password"], form .-group._big .-field input[type="password"], .-group._big form .-field input[type="password"], form .-navbar._big .-group .-field input[type="password"], .-navbar._big .-group form .-field input[type="password"], form ._big.-navbar-float .-group .-field input[type="password"], ._big.-navbar-float .-group form .-field input[type="password"], form .-field._big input[type="date"], form .-group._big .-field input[type="date"], .-group._big form .-field input[type="date"], form .-navbar._big .-group .-field input[type="date"], .-navbar._big .-group form .-field input[type="date"], form ._big.-navbar-float .-group .-field input[type="date"], ._big.-navbar-float .-group form .-field input[type="date"], form .-field._big input[type="datetime"], form .-group._big .-field input[type="datetime"], .-group._big form .-field input[type="datetime"], form .-navbar._big .-group .-field input[type="datetime"], .-navbar._big .-group form .-field input[type="datetime"], form ._big.-navbar-float .-group .-field input[type="datetime"], ._big.-navbar-float .-group form .-field input[type="datetime"], form .-field._big input[type="datetime-local"], form .-group._big .-field input[type="datetime-local"], .-group._big form .-field input[type="datetime-local"], form .-navbar._big .-group .-field input[type="datetime-local"], .-navbar._big .-group form .-field input[type="datetime-local"], form ._big.-navbar-float .-group .-field input[type="datetime-local"], ._big.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._big input[type="month"], form .-group._big .-field input[type="month"], .-group._big form .-field input[type="month"], form .-navbar._big .-group .-field input[type="month"], .-navbar._big .-group form .-field input[type="month"], form ._big.-navbar-float .-group .-field input[type="month"], ._big.-navbar-float .-group form .-field input[type="month"], form .-field._big input[type="week"], form .-group._big .-field input[type="week"], .-group._big form .-field input[type="week"], form .-navbar._big .-group .-field input[type="week"], .-navbar._big .-group form .-field input[type="week"], form ._big.-navbar-float .-group .-field input[type="week"], ._big.-navbar-float .-group form .-field input[type="week"], form .-field._big input[type="email"], form .-group._big .-field input[type="email"], .-group._big form .-field input[type="email"], form .-navbar._big .-group .-field input[type="email"], .-navbar._big .-group form .-field input[type="email"], form ._big.-navbar-float .-group .-field input[type="email"], ._big.-navbar-float .-group form .-field input[type="email"], form .-field._big input[type="number"], form .-group._big .-field input[type="number"], .-group._big form .-field input[type="number"], form .-navbar._big .-group .-field input[type="number"], .-navbar._big .-group form .-field input[type="number"], form ._big.-navbar-float .-group .-field input[type="number"], ._big.-navbar-float .-group form .-field input[type="number"], form .-field._big input[type="search"], form .-group._big .-field input[type="search"], .-group._big form .-field input[type="search"], form .-navbar._big .-group .-field input[type="search"], .-navbar._big .-group form .-field input[type="search"], form ._big.-navbar-float .-group .-field input[type="search"], ._big.-navbar-float .-group form .-field input[type="search"], form .-field._big input[type="tel"], form .-group._big .-field input[type="tel"], .-group._big form .-field input[type="tel"], form .-navbar._big .-group .-field input[type="tel"], .-navbar._big .-group form .-field input[type="tel"], form ._big.-navbar-float .-group .-field input[type="tel"], ._big.-navbar-float .-group form .-field input[type="tel"], form .-field._big input[type="time"], form .-group._big .-field input[type="time"], .-group._big form .-field input[type="time"], form .-navbar._big .-group .-field input[type="time"], .-navbar._big .-group form .-field input[type="time"], form ._big.-navbar-float .-group .-field input[type="time"], ._big.-navbar-float .-group form .-field input[type="time"], form .-field._big input[type="url"], form .-group._big .-field input[type="url"], .-group._big form .-field input[type="url"], form .-navbar._big .-group .-field input[type="url"], .-navbar._big .-group form .-field input[type="url"], form ._big.-navbar-float .-group .-field input[type="url"], ._big.-navbar-float .-group form .-field input[type="url"], form .-field._big textarea, form .-group._big .-field textarea, .-group._big form .-field textarea, form .-navbar._big .-group .-field textarea, .-navbar._big .-group form .-field textarea, form ._big.-navbar-float .-group .-field textarea, ._big.-navbar-float .-group form .-field textarea, form .-group._big select, .-group._big form select, form .-navbar._big .-group select, .-navbar._big .-group form select, form ._big.-navbar-float .-group select, ._big.-navbar-float .-group form select, form .-group._big input[type="text"], .-group._big form input[type="text"], form .-navbar._big .-group input[type="text"], .-navbar._big .-group form input[type="text"], form ._big.-navbar-float .-group input[type="text"], ._big.-navbar-float .-group form input[type="text"], form .-group._big input[type="password"], .-group._big form input[type="password"], form .-navbar._big .-group input[type="password"], .-navbar._big .-group form input[type="password"], form ._big.-navbar-float .-group input[type="password"], ._big.-navbar-float .-group form input[type="password"], form .-group._big input[type="date"], .-group._big form input[type="date"], form .-navbar._big .-group input[type="date"], .-navbar._big .-group form input[type="date"], form ._big.-navbar-float .-group input[type="date"], ._big.-navbar-float .-group form input[type="date"], form .-group._big input[type="datetime"], .-group._big form input[type="datetime"], form .-navbar._big .-group input[type="datetime"], .-navbar._big .-group form input[type="datetime"], form ._big.-navbar-float .-group input[type="datetime"], ._big.-navbar-float .-group form input[type="datetime"], form .-group._big input[type="datetime-local"], .-group._big form input[type="datetime-local"], form .-navbar._big .-group input[type="datetime-local"], .-navbar._big .-group form input[type="datetime-local"], form ._big.-navbar-float .-group input[type="datetime-local"], ._big.-navbar-float .-group form input[type="datetime-local"], form .-group._big input[type="month"], .-group._big form input[type="month"], form .-navbar._big .-group input[type="month"], .-navbar._big .-group form input[type="month"], form ._big.-navbar-float .-group input[type="month"], ._big.-navbar-float .-group form input[type="month"], form .-group._big input[type="week"], .-group._big form input[type="week"], form .-navbar._big .-group input[type="week"], .-navbar._big .-group form input[type="week"], form ._big.-navbar-float .-group input[type="week"], ._big.-navbar-float .-group form input[type="week"], form .-group._big input[type="email"], .-group._big form input[type="email"], form .-navbar._big .-group input[type="email"], .-navbar._big .-group form input[type="email"], form ._big.-navbar-float .-group input[type="email"], ._big.-navbar-float .-group form input[type="email"], form .-group._big input[type="number"], .-group._big form input[type="number"], form .-navbar._big .-group input[type="number"], .-navbar._big .-group form input[type="number"], form ._big.-navbar-float .-group input[type="number"], ._big.-navbar-float .-group form input[type="number"], form .-group._big input[type="search"], .-group._big form input[type="search"], form .-navbar._big .-group input[type="search"], .-navbar._big .-group form input[type="search"], form ._big.-navbar-float .-group input[type="search"], ._big.-navbar-float .-group form input[type="search"], form .-group._big input[type="tel"], .-group._big form input[type="tel"], form .-navbar._big .-group input[type="tel"], .-navbar._big .-group form input[type="tel"], form ._big.-navbar-float .-group input[type="tel"], ._big.-navbar-float .-group form input[type="tel"], form .-group._big input[type="time"], .-group._big form input[type="time"], form .-navbar._big .-group input[type="time"], .-navbar._big .-group form input[type="time"], form ._big.-navbar-float .-group input[type="time"], ._big.-navbar-float .-group form input[type="time"], form .-group._big input[type="url"], .-group._big form input[type="url"], form .-navbar._big .-group input[type="url"], .-navbar._big .-group form input[type="url"], form ._big.-navbar-float .-group input[type="url"], ._big.-navbar-float .-group form input[type="url"], form .-group._big textarea, .-group._big form textarea, form .-navbar._big .-group textarea, .-navbar._big .-group form textarea, form ._big.-navbar-float .-group textarea, ._big.-navbar-float .-group form textarea, form input[type="password"]._big, form input[type="date"]._big, form input[type="datetime"]._big, form input[type="datetime-local"]._big, form input[type="month"]._big, form input[type="week"]._big, form input[type="email"]._big, form input[type="number"]._big, form input[type="search"]._big, form input[type="tel"]._big, form input[type="time"]._big, form input[type="url"]._big, form textarea._big { - font-size: 21px; } - form select._huge, form input[type="text"]._huge, form .-field._huge select, form .-group._huge .-field select, .-group._huge form .-field select, form .-navbar._huge .-group .-field select, .-navbar._huge .-group form .-field select, form ._huge.-navbar-float .-group .-field select, ._huge.-navbar-float .-group form .-field select, form .-field._huge input[type="text"], form .-group._huge .-field input[type="text"], .-group._huge form .-field input[type="text"], form .-navbar._huge .-group .-field input[type="text"], .-navbar._huge .-group form .-field input[type="text"], form ._huge.-navbar-float .-group .-field input[type="text"], ._huge.-navbar-float .-group form .-field input[type="text"], form .-field._huge input[type="password"], form .-group._huge .-field input[type="password"], .-group._huge form .-field input[type="password"], form .-navbar._huge .-group .-field input[type="password"], .-navbar._huge .-group form .-field input[type="password"], form ._huge.-navbar-float .-group .-field input[type="password"], ._huge.-navbar-float .-group form .-field input[type="password"], form .-field._huge input[type="date"], form .-group._huge .-field input[type="date"], .-group._huge form .-field input[type="date"], form .-navbar._huge .-group .-field input[type="date"], .-navbar._huge .-group form .-field input[type="date"], form ._huge.-navbar-float .-group .-field input[type="date"], ._huge.-navbar-float .-group form .-field input[type="date"], form .-field._huge input[type="datetime"], form .-group._huge .-field input[type="datetime"], .-group._huge form .-field input[type="datetime"], form .-navbar._huge .-group .-field input[type="datetime"], .-navbar._huge .-group form .-field input[type="datetime"], form ._huge.-navbar-float .-group .-field input[type="datetime"], ._huge.-navbar-float .-group form .-field input[type="datetime"], form .-field._huge input[type="datetime-local"], form .-group._huge .-field input[type="datetime-local"], .-group._huge form .-field input[type="datetime-local"], form .-navbar._huge .-group .-field input[type="datetime-local"], .-navbar._huge .-group form .-field input[type="datetime-local"], form ._huge.-navbar-float .-group .-field input[type="datetime-local"], ._huge.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._huge input[type="month"], form .-group._huge .-field input[type="month"], .-group._huge form .-field input[type="month"], form .-navbar._huge .-group .-field input[type="month"], .-navbar._huge .-group form .-field input[type="month"], form ._huge.-navbar-float .-group .-field input[type="month"], ._huge.-navbar-float .-group form .-field input[type="month"], form .-field._huge input[type="week"], form .-group._huge .-field input[type="week"], .-group._huge form .-field input[type="week"], form .-navbar._huge .-group .-field input[type="week"], .-navbar._huge .-group form .-field input[type="week"], form ._huge.-navbar-float .-group .-field input[type="week"], ._huge.-navbar-float .-group form .-field input[type="week"], form .-field._huge input[type="email"], form .-group._huge .-field input[type="email"], .-group._huge form .-field input[type="email"], form .-navbar._huge .-group .-field input[type="email"], .-navbar._huge .-group form .-field input[type="email"], form ._huge.-navbar-float .-group .-field input[type="email"], ._huge.-navbar-float .-group form .-field input[type="email"], form .-field._huge input[type="number"], form .-group._huge .-field input[type="number"], .-group._huge form .-field input[type="number"], form .-navbar._huge .-group .-field input[type="number"], .-navbar._huge .-group form .-field input[type="number"], form ._huge.-navbar-float .-group .-field input[type="number"], ._huge.-navbar-float .-group form .-field input[type="number"], form .-field._huge input[type="search"], form .-group._huge .-field input[type="search"], .-group._huge form .-field input[type="search"], form .-navbar._huge .-group .-field input[type="search"], .-navbar._huge .-group form .-field input[type="search"], form ._huge.-navbar-float .-group .-field input[type="search"], ._huge.-navbar-float .-group form .-field input[type="search"], form .-field._huge input[type="tel"], form .-group._huge .-field input[type="tel"], .-group._huge form .-field input[type="tel"], form .-navbar._huge .-group .-field input[type="tel"], .-navbar._huge .-group form .-field input[type="tel"], form ._huge.-navbar-float .-group .-field input[type="tel"], ._huge.-navbar-float .-group form .-field input[type="tel"], form .-field._huge input[type="time"], form .-group._huge .-field input[type="time"], .-group._huge form .-field input[type="time"], form .-navbar._huge .-group .-field input[type="time"], .-navbar._huge .-group form .-field input[type="time"], form ._huge.-navbar-float .-group .-field input[type="time"], ._huge.-navbar-float .-group form .-field input[type="time"], form .-field._huge input[type="url"], form .-group._huge .-field input[type="url"], .-group._huge form .-field input[type="url"], form .-navbar._huge .-group .-field input[type="url"], .-navbar._huge .-group form .-field input[type="url"], form ._huge.-navbar-float .-group .-field input[type="url"], ._huge.-navbar-float .-group form .-field input[type="url"], form .-field._huge textarea, form .-group._huge .-field textarea, .-group._huge form .-field textarea, form .-navbar._huge .-group .-field textarea, .-navbar._huge .-group form .-field textarea, form ._huge.-navbar-float .-group .-field textarea, ._huge.-navbar-float .-group form .-field textarea, form .-group._huge select, .-group._huge form select, form .-navbar._huge .-group select, .-navbar._huge .-group form select, form ._huge.-navbar-float .-group select, ._huge.-navbar-float .-group form select, form .-group._huge input[type="text"], .-group._huge form input[type="text"], form .-navbar._huge .-group input[type="text"], .-navbar._huge .-group form input[type="text"], form ._huge.-navbar-float .-group input[type="text"], ._huge.-navbar-float .-group form input[type="text"], form .-group._huge input[type="password"], .-group._huge form input[type="password"], form .-navbar._huge .-group input[type="password"], .-navbar._huge .-group form input[type="password"], form ._huge.-navbar-float .-group input[type="password"], ._huge.-navbar-float .-group form input[type="password"], form .-group._huge input[type="date"], .-group._huge form input[type="date"], form .-navbar._huge .-group input[type="date"], .-navbar._huge .-group form input[type="date"], form ._huge.-navbar-float .-group input[type="date"], ._huge.-navbar-float .-group form input[type="date"], form .-group._huge input[type="datetime"], .-group._huge form input[type="datetime"], form .-navbar._huge .-group input[type="datetime"], .-navbar._huge .-group form input[type="datetime"], form ._huge.-navbar-float .-group input[type="datetime"], ._huge.-navbar-float .-group form input[type="datetime"], form .-group._huge input[type="datetime-local"], .-group._huge form input[type="datetime-local"], form .-navbar._huge .-group input[type="datetime-local"], .-navbar._huge .-group form input[type="datetime-local"], form ._huge.-navbar-float .-group input[type="datetime-local"], ._huge.-navbar-float .-group form input[type="datetime-local"], form .-group._huge input[type="month"], .-group._huge form input[type="month"], form .-navbar._huge .-group input[type="month"], .-navbar._huge .-group form input[type="month"], form ._huge.-navbar-float .-group input[type="month"], ._huge.-navbar-float .-group form input[type="month"], form .-group._huge input[type="week"], .-group._huge form input[type="week"], form .-navbar._huge .-group input[type="week"], .-navbar._huge .-group form input[type="week"], form ._huge.-navbar-float .-group input[type="week"], ._huge.-navbar-float .-group form input[type="week"], form .-group._huge input[type="email"], .-group._huge form input[type="email"], form .-navbar._huge .-group input[type="email"], .-navbar._huge .-group form input[type="email"], form ._huge.-navbar-float .-group input[type="email"], ._huge.-navbar-float .-group form input[type="email"], form .-group._huge input[type="number"], .-group._huge form input[type="number"], form .-navbar._huge .-group input[type="number"], .-navbar._huge .-group form input[type="number"], form ._huge.-navbar-float .-group input[type="number"], ._huge.-navbar-float .-group form input[type="number"], form .-group._huge input[type="search"], .-group._huge form input[type="search"], form .-navbar._huge .-group input[type="search"], .-navbar._huge .-group form input[type="search"], form ._huge.-navbar-float .-group input[type="search"], ._huge.-navbar-float .-group form input[type="search"], form .-group._huge input[type="tel"], .-group._huge form input[type="tel"], form .-navbar._huge .-group input[type="tel"], .-navbar._huge .-group form input[type="tel"], form ._huge.-navbar-float .-group input[type="tel"], ._huge.-navbar-float .-group form input[type="tel"], form .-group._huge input[type="time"], .-group._huge form input[type="time"], form .-navbar._huge .-group input[type="time"], .-navbar._huge .-group form input[type="time"], form ._huge.-navbar-float .-group input[type="time"], ._huge.-navbar-float .-group form input[type="time"], form .-group._huge input[type="url"], .-group._huge form input[type="url"], form .-navbar._huge .-group input[type="url"], .-navbar._huge .-group form input[type="url"], form ._huge.-navbar-float .-group input[type="url"], ._huge.-navbar-float .-group form input[type="url"], form .-group._huge textarea, .-group._huge form textarea, form .-navbar._huge .-group textarea, .-navbar._huge .-group form textarea, form ._huge.-navbar-float .-group textarea, ._huge.-navbar-float .-group form textarea, form input[type="password"]._huge, form input[type="date"]._huge, form input[type="datetime"]._huge, form input[type="datetime-local"]._huge, form input[type="month"]._huge, form input[type="week"]._huge, form input[type="email"]._huge, form input[type="number"]._huge, form input[type="search"]._huge, form input[type="tel"]._huge, form input[type="time"]._huge, form input[type="url"]._huge, form textarea._huge { - font-size: 24.5px; } - form select._divine, form input[type="text"]._divine, form .-field._divine select, form .-group._divine .-field select, .-group._divine form .-field select, form .-navbar._divine .-group .-field select, .-navbar._divine .-group form .-field select, form ._divine.-navbar-float .-group .-field select, ._divine.-navbar-float .-group form .-field select, form .-field._divine input[type="text"], form .-group._divine .-field input[type="text"], .-group._divine form .-field input[type="text"], form .-navbar._divine .-group .-field input[type="text"], .-navbar._divine .-group form .-field input[type="text"], form ._divine.-navbar-float .-group .-field input[type="text"], ._divine.-navbar-float .-group form .-field input[type="text"], form .-field._divine input[type="password"], form .-group._divine .-field input[type="password"], .-group._divine form .-field input[type="password"], form .-navbar._divine .-group .-field input[type="password"], .-navbar._divine .-group form .-field input[type="password"], form ._divine.-navbar-float .-group .-field input[type="password"], ._divine.-navbar-float .-group form .-field input[type="password"], form .-field._divine input[type="date"], form .-group._divine .-field input[type="date"], .-group._divine form .-field input[type="date"], form .-navbar._divine .-group .-field input[type="date"], .-navbar._divine .-group form .-field input[type="date"], form ._divine.-navbar-float .-group .-field input[type="date"], ._divine.-navbar-float .-group form .-field input[type="date"], form .-field._divine input[type="datetime"], form .-group._divine .-field input[type="datetime"], .-group._divine form .-field input[type="datetime"], form .-navbar._divine .-group .-field input[type="datetime"], .-navbar._divine .-group form .-field input[type="datetime"], form ._divine.-navbar-float .-group .-field input[type="datetime"], ._divine.-navbar-float .-group form .-field input[type="datetime"], form .-field._divine input[type="datetime-local"], form .-group._divine .-field input[type="datetime-local"], .-group._divine form .-field input[type="datetime-local"], form .-navbar._divine .-group .-field input[type="datetime-local"], .-navbar._divine .-group form .-field input[type="datetime-local"], form ._divine.-navbar-float .-group .-field input[type="datetime-local"], ._divine.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._divine input[type="month"], form .-group._divine .-field input[type="month"], .-group._divine form .-field input[type="month"], form .-navbar._divine .-group .-field input[type="month"], .-navbar._divine .-group form .-field input[type="month"], form ._divine.-navbar-float .-group .-field input[type="month"], ._divine.-navbar-float .-group form .-field input[type="month"], form .-field._divine input[type="week"], form .-group._divine .-field input[type="week"], .-group._divine form .-field input[type="week"], form .-navbar._divine .-group .-field input[type="week"], .-navbar._divine .-group form .-field input[type="week"], form ._divine.-navbar-float .-group .-field input[type="week"], ._divine.-navbar-float .-group form .-field input[type="week"], form .-field._divine input[type="email"], form .-group._divine .-field input[type="email"], .-group._divine form .-field input[type="email"], form .-navbar._divine .-group .-field input[type="email"], .-navbar._divine .-group form .-field input[type="email"], form ._divine.-navbar-float .-group .-field input[type="email"], ._divine.-navbar-float .-group form .-field input[type="email"], form .-field._divine input[type="number"], form .-group._divine .-field input[type="number"], .-group._divine form .-field input[type="number"], form .-navbar._divine .-group .-field input[type="number"], .-navbar._divine .-group form .-field input[type="number"], form ._divine.-navbar-float .-group .-field input[type="number"], ._divine.-navbar-float .-group form .-field input[type="number"], form .-field._divine input[type="search"], form .-group._divine .-field input[type="search"], .-group._divine form .-field input[type="search"], form .-navbar._divine .-group .-field input[type="search"], .-navbar._divine .-group form .-field input[type="search"], form ._divine.-navbar-float .-group .-field input[type="search"], ._divine.-navbar-float .-group form .-field input[type="search"], form .-field._divine input[type="tel"], form .-group._divine .-field input[type="tel"], .-group._divine form .-field input[type="tel"], form .-navbar._divine .-group .-field input[type="tel"], .-navbar._divine .-group form .-field input[type="tel"], form ._divine.-navbar-float .-group .-field input[type="tel"], ._divine.-navbar-float .-group form .-field input[type="tel"], form .-field._divine input[type="time"], form .-group._divine .-field input[type="time"], .-group._divine form .-field input[type="time"], form .-navbar._divine .-group .-field input[type="time"], .-navbar._divine .-group form .-field input[type="time"], form ._divine.-navbar-float .-group .-field input[type="time"], ._divine.-navbar-float .-group form .-field input[type="time"], form .-field._divine input[type="url"], form .-group._divine .-field input[type="url"], .-group._divine form .-field input[type="url"], form .-navbar._divine .-group .-field input[type="url"], .-navbar._divine .-group form .-field input[type="url"], form ._divine.-navbar-float .-group .-field input[type="url"], ._divine.-navbar-float .-group form .-field input[type="url"], form .-field._divine textarea, form .-group._divine .-field textarea, .-group._divine form .-field textarea, form .-navbar._divine .-group .-field textarea, .-navbar._divine .-group form .-field textarea, form ._divine.-navbar-float .-group .-field textarea, ._divine.-navbar-float .-group form .-field textarea, form .-group._divine select, .-group._divine form select, form .-navbar._divine .-group select, .-navbar._divine .-group form select, form ._divine.-navbar-float .-group select, ._divine.-navbar-float .-group form select, form .-group._divine input[type="text"], .-group._divine form input[type="text"], form .-navbar._divine .-group input[type="text"], .-navbar._divine .-group form input[type="text"], form ._divine.-navbar-float .-group input[type="text"], ._divine.-navbar-float .-group form input[type="text"], form .-group._divine input[type="password"], .-group._divine form input[type="password"], form .-navbar._divine .-group input[type="password"], .-navbar._divine .-group form input[type="password"], form ._divine.-navbar-float .-group input[type="password"], ._divine.-navbar-float .-group form input[type="password"], form .-group._divine input[type="date"], .-group._divine form input[type="date"], form .-navbar._divine .-group input[type="date"], .-navbar._divine .-group form input[type="date"], form ._divine.-navbar-float .-group input[type="date"], ._divine.-navbar-float .-group form input[type="date"], form .-group._divine input[type="datetime"], .-group._divine form input[type="datetime"], form .-navbar._divine .-group input[type="datetime"], .-navbar._divine .-group form input[type="datetime"], form ._divine.-navbar-float .-group input[type="datetime"], ._divine.-navbar-float .-group form input[type="datetime"], form .-group._divine input[type="datetime-local"], .-group._divine form input[type="datetime-local"], form .-navbar._divine .-group input[type="datetime-local"], .-navbar._divine .-group form input[type="datetime-local"], form ._divine.-navbar-float .-group input[type="datetime-local"], ._divine.-navbar-float .-group form input[type="datetime-local"], form .-group._divine input[type="month"], .-group._divine form input[type="month"], form .-navbar._divine .-group input[type="month"], .-navbar._divine .-group form input[type="month"], form ._divine.-navbar-float .-group input[type="month"], ._divine.-navbar-float .-group form input[type="month"], form .-group._divine input[type="week"], .-group._divine form input[type="week"], form .-navbar._divine .-group input[type="week"], .-navbar._divine .-group form input[type="week"], form ._divine.-navbar-float .-group input[type="week"], ._divine.-navbar-float .-group form input[type="week"], form .-group._divine input[type="email"], .-group._divine form input[type="email"], form .-navbar._divine .-group input[type="email"], .-navbar._divine .-group form input[type="email"], form ._divine.-navbar-float .-group input[type="email"], ._divine.-navbar-float .-group form input[type="email"], form .-group._divine input[type="number"], .-group._divine form input[type="number"], form .-navbar._divine .-group input[type="number"], .-navbar._divine .-group form input[type="number"], form ._divine.-navbar-float .-group input[type="number"], ._divine.-navbar-float .-group form input[type="number"], form .-group._divine input[type="search"], .-group._divine form input[type="search"], form .-navbar._divine .-group input[type="search"], .-navbar._divine .-group form input[type="search"], form ._divine.-navbar-float .-group input[type="search"], ._divine.-navbar-float .-group form input[type="search"], form .-group._divine input[type="tel"], .-group._divine form input[type="tel"], form .-navbar._divine .-group input[type="tel"], .-navbar._divine .-group form input[type="tel"], form ._divine.-navbar-float .-group input[type="tel"], ._divine.-navbar-float .-group form input[type="tel"], form .-group._divine input[type="time"], .-group._divine form input[type="time"], form .-navbar._divine .-group input[type="time"], .-navbar._divine .-group form input[type="time"], form ._divine.-navbar-float .-group input[type="time"], ._divine.-navbar-float .-group form input[type="time"], form .-group._divine input[type="url"], .-group._divine form input[type="url"], form .-navbar._divine .-group input[type="url"], .-navbar._divine .-group form input[type="url"], form ._divine.-navbar-float .-group input[type="url"], ._divine.-navbar-float .-group form input[type="url"], form .-group._divine textarea, .-group._divine form textarea, form .-navbar._divine .-group textarea, .-navbar._divine .-group form textarea, form ._divine.-navbar-float .-group textarea, ._divine.-navbar-float .-group form textarea, form input[type="password"]._divine, form input[type="date"]._divine, form input[type="datetime"]._divine, form input[type="datetime-local"]._divine, form input[type="month"]._divine, form input[type="week"]._divine, form input[type="email"]._divine, form input[type="number"]._divine, form input[type="search"]._divine, form input[type="tel"]._divine, form input[type="time"]._divine, form input[type="url"]._divine, form textarea._divine { - font-size: 28px; } + form select._small, form input[type="text"]._small, form .-group._small select, .-group._small form select, form .-navbar._small .-group select, .-navbar._small .-group form select, form ._small.-navbar-float .-group select, ._small.-navbar-float .-group form select, form .-group._small input[type="text"], .-group._small form input[type="text"], form .-navbar._small .-group input[type="text"], .-navbar._small .-group form input[type="text"], form ._small.-navbar-float .-group input[type="text"], ._small.-navbar-float .-group form input[type="text"], form .-group._small input[type="password"], .-group._small form input[type="password"], form .-navbar._small .-group input[type="password"], .-navbar._small .-group form input[type="password"], form ._small.-navbar-float .-group input[type="password"], ._small.-navbar-float .-group form input[type="password"], form .-group._small input[type="date"], .-group._small form input[type="date"], form .-navbar._small .-group input[type="date"], .-navbar._small .-group form input[type="date"], form ._small.-navbar-float .-group input[type="date"], ._small.-navbar-float .-group form input[type="date"], form .-group._small input[type="datetime"], .-group._small form input[type="datetime"], form .-navbar._small .-group input[type="datetime"], .-navbar._small .-group form input[type="datetime"], form ._small.-navbar-float .-group input[type="datetime"], ._small.-navbar-float .-group form input[type="datetime"], form .-group._small input[type="datetime-local"], .-group._small form input[type="datetime-local"], form .-navbar._small .-group input[type="datetime-local"], .-navbar._small .-group form input[type="datetime-local"], form ._small.-navbar-float .-group input[type="datetime-local"], ._small.-navbar-float .-group form input[type="datetime-local"], form .-group._small input[type="month"], .-group._small form input[type="month"], form .-navbar._small .-group input[type="month"], .-navbar._small .-group form input[type="month"], form ._small.-navbar-float .-group input[type="month"], ._small.-navbar-float .-group form input[type="month"], form .-group._small input[type="week"], .-group._small form input[type="week"], form .-navbar._small .-group input[type="week"], .-navbar._small .-group form input[type="week"], form ._small.-navbar-float .-group input[type="week"], ._small.-navbar-float .-group form input[type="week"], form .-group._small input[type="email"], .-group._small form input[type="email"], form .-navbar._small .-group input[type="email"], .-navbar._small .-group form input[type="email"], form ._small.-navbar-float .-group input[type="email"], ._small.-navbar-float .-group form input[type="email"], form .-group._small input[type="number"], .-group._small form input[type="number"], form .-navbar._small .-group input[type="number"], .-navbar._small .-group form input[type="number"], form ._small.-navbar-float .-group input[type="number"], ._small.-navbar-float .-group form input[type="number"], form .-group._small input[type="search"], .-group._small form input[type="search"], form .-navbar._small .-group input[type="search"], .-navbar._small .-group form input[type="search"], form ._small.-navbar-float .-group input[type="search"], ._small.-navbar-float .-group form input[type="search"], form .-group._small input[type="tel"], .-group._small form input[type="tel"], form .-navbar._small .-group input[type="tel"], .-navbar._small .-group form input[type="tel"], form ._small.-navbar-float .-group input[type="tel"], ._small.-navbar-float .-group form input[type="tel"], form .-group._small input[type="time"], .-group._small form input[type="time"], form .-navbar._small .-group input[type="time"], .-navbar._small .-group form input[type="time"], form ._small.-navbar-float .-group input[type="time"], ._small.-navbar-float .-group form input[type="time"], form .-group._small input[type="url"], .-group._small form input[type="url"], form .-navbar._small .-group input[type="url"], .-navbar._small .-group form input[type="url"], form ._small.-navbar-float .-group input[type="url"], ._small.-navbar-float .-group form input[type="url"], form .-group._small textarea, .-group._small form textarea, form .-navbar._small .-group textarea, .-navbar._small .-group form textarea, form ._small.-navbar-float .-group textarea, ._small.-navbar-float .-group form textarea, form input[type="password"]._small, form input[type="date"]._small, form input[type="datetime"]._small, form input[type="datetime-local"]._small, form input[type="month"]._small, form input[type="week"]._small, form input[type="email"]._small, form input[type="number"]._small, form input[type="search"]._small, form input[type="tel"]._small, form input[type="time"]._small, form input[type="url"]._small, form textarea._small { + font-size: 7px; + line-height: 8.0px; + height: 26.0px; } + form select._minor, form input[type="text"]._minor, form .-group._minor select, .-group._minor form select, form .-navbar._minor .-group select, .-navbar._minor .-group form select, form ._minor.-navbar-float .-group select, ._minor.-navbar-float .-group form select, form .-group._minor input[type="text"], .-group._minor form input[type="text"], form .-navbar._minor .-group input[type="text"], .-navbar._minor .-group form input[type="text"], form ._minor.-navbar-float .-group input[type="text"], ._minor.-navbar-float .-group form input[type="text"], form .-group._minor input[type="password"], .-group._minor form input[type="password"], form .-navbar._minor .-group input[type="password"], .-navbar._minor .-group form input[type="password"], form ._minor.-navbar-float .-group input[type="password"], ._minor.-navbar-float .-group form input[type="password"], form .-group._minor input[type="date"], .-group._minor form input[type="date"], form .-navbar._minor .-group input[type="date"], .-navbar._minor .-group form input[type="date"], form ._minor.-navbar-float .-group input[type="date"], ._minor.-navbar-float .-group form input[type="date"], form .-group._minor input[type="datetime"], .-group._minor form input[type="datetime"], form .-navbar._minor .-group input[type="datetime"], .-navbar._minor .-group form input[type="datetime"], form ._minor.-navbar-float .-group input[type="datetime"], ._minor.-navbar-float .-group form input[type="datetime"], form .-group._minor input[type="datetime-local"], .-group._minor form input[type="datetime-local"], form .-navbar._minor .-group input[type="datetime-local"], .-navbar._minor .-group form input[type="datetime-local"], form ._minor.-navbar-float .-group input[type="datetime-local"], ._minor.-navbar-float .-group form input[type="datetime-local"], form .-group._minor input[type="month"], .-group._minor form input[type="month"], form .-navbar._minor .-group input[type="month"], .-navbar._minor .-group form input[type="month"], form ._minor.-navbar-float .-group input[type="month"], ._minor.-navbar-float .-group form input[type="month"], form .-group._minor input[type="week"], .-group._minor form input[type="week"], form .-navbar._minor .-group input[type="week"], .-navbar._minor .-group form input[type="week"], form ._minor.-navbar-float .-group input[type="week"], ._minor.-navbar-float .-group form input[type="week"], form .-group._minor input[type="email"], .-group._minor form input[type="email"], form .-navbar._minor .-group input[type="email"], .-navbar._minor .-group form input[type="email"], form ._minor.-navbar-float .-group input[type="email"], ._minor.-navbar-float .-group form input[type="email"], form .-group._minor input[type="number"], .-group._minor form input[type="number"], form .-navbar._minor .-group input[type="number"], .-navbar._minor .-group form input[type="number"], form ._minor.-navbar-float .-group input[type="number"], ._minor.-navbar-float .-group form input[type="number"], form .-group._minor input[type="search"], .-group._minor form input[type="search"], form .-navbar._minor .-group input[type="search"], .-navbar._minor .-group form input[type="search"], form ._minor.-navbar-float .-group input[type="search"], ._minor.-navbar-float .-group form input[type="search"], form .-group._minor input[type="tel"], .-group._minor form input[type="tel"], form .-navbar._minor .-group input[type="tel"], .-navbar._minor .-group form input[type="tel"], form ._minor.-navbar-float .-group input[type="tel"], ._minor.-navbar-float .-group form input[type="tel"], form .-group._minor input[type="time"], .-group._minor form input[type="time"], form .-navbar._minor .-group input[type="time"], .-navbar._minor .-group form input[type="time"], form ._minor.-navbar-float .-group input[type="time"], ._minor.-navbar-float .-group form input[type="time"], form .-group._minor input[type="url"], .-group._minor form input[type="url"], form .-navbar._minor .-group input[type="url"], .-navbar._minor .-group form input[type="url"], form ._minor.-navbar-float .-group input[type="url"], ._minor.-navbar-float .-group form input[type="url"], form .-group._minor textarea, .-group._minor form textarea, form .-navbar._minor .-group textarea, .-navbar._minor .-group form textarea, form ._minor.-navbar-float .-group textarea, ._minor.-navbar-float .-group form textarea, form input[type="password"]._minor, form input[type="date"]._minor, form input[type="datetime"]._minor, form input[type="datetime-local"]._minor, form input[type="month"]._minor, form input[type="week"]._minor, form input[type="email"]._minor, form input[type="number"]._minor, form input[type="search"]._minor, form input[type="tel"]._minor, form input[type="time"]._minor, form input[type="url"]._minor, form textarea._minor { + font-size: 10.5px; + line-height: 13.0px; + height: 31.0px; } + form select._normal, form input[type="text"]._normal, form .-group._normal select, .-group._normal form select, form .-navbar._normal .-group select, .-navbar._normal .-group form select, form ._normal.-navbar-float .-group select, ._normal.-navbar-float .-group form select, form .-group._normal input[type="text"], .-group._normal form input[type="text"], form .-navbar._normal .-group input[type="text"], .-navbar._normal .-group form input[type="text"], form ._normal.-navbar-float .-group input[type="text"], ._normal.-navbar-float .-group form input[type="text"], form .-group._normal input[type="password"], .-group._normal form input[type="password"], form .-navbar._normal .-group input[type="password"], .-navbar._normal .-group form input[type="password"], form ._normal.-navbar-float .-group input[type="password"], ._normal.-navbar-float .-group form input[type="password"], form .-group._normal input[type="date"], .-group._normal form input[type="date"], form .-navbar._normal .-group input[type="date"], .-navbar._normal .-group form input[type="date"], form ._normal.-navbar-float .-group input[type="date"], ._normal.-navbar-float .-group form input[type="date"], form .-group._normal input[type="datetime"], .-group._normal form input[type="datetime"], form .-navbar._normal .-group input[type="datetime"], .-navbar._normal .-group form input[type="datetime"], form ._normal.-navbar-float .-group input[type="datetime"], ._normal.-navbar-float .-group form input[type="datetime"], form .-group._normal input[type="datetime-local"], .-group._normal form input[type="datetime-local"], form .-navbar._normal .-group input[type="datetime-local"], .-navbar._normal .-group form input[type="datetime-local"], form ._normal.-navbar-float .-group input[type="datetime-local"], ._normal.-navbar-float .-group form input[type="datetime-local"], form .-group._normal input[type="month"], .-group._normal form input[type="month"], form .-navbar._normal .-group input[type="month"], .-navbar._normal .-group form input[type="month"], form ._normal.-navbar-float .-group input[type="month"], ._normal.-navbar-float .-group form input[type="month"], form .-group._normal input[type="week"], .-group._normal form input[type="week"], form .-navbar._normal .-group input[type="week"], .-navbar._normal .-group form input[type="week"], form ._normal.-navbar-float .-group input[type="week"], ._normal.-navbar-float .-group form input[type="week"], form .-group._normal input[type="email"], .-group._normal form input[type="email"], form .-navbar._normal .-group input[type="email"], .-navbar._normal .-group form input[type="email"], form ._normal.-navbar-float .-group input[type="email"], ._normal.-navbar-float .-group form input[type="email"], form .-group._normal input[type="number"], .-group._normal form input[type="number"], form .-navbar._normal .-group input[type="number"], .-navbar._normal .-group form input[type="number"], form ._normal.-navbar-float .-group input[type="number"], ._normal.-navbar-float .-group form input[type="number"], form .-group._normal input[type="search"], .-group._normal form input[type="search"], form .-navbar._normal .-group input[type="search"], .-navbar._normal .-group form input[type="search"], form ._normal.-navbar-float .-group input[type="search"], ._normal.-navbar-float .-group form input[type="search"], form .-group._normal input[type="tel"], .-group._normal form input[type="tel"], form .-navbar._normal .-group input[type="tel"], .-navbar._normal .-group form input[type="tel"], form ._normal.-navbar-float .-group input[type="tel"], ._normal.-navbar-float .-group form input[type="tel"], form .-group._normal input[type="time"], .-group._normal form input[type="time"], form .-navbar._normal .-group input[type="time"], .-navbar._normal .-group form input[type="time"], form ._normal.-navbar-float .-group input[type="time"], ._normal.-navbar-float .-group form input[type="time"], form .-group._normal input[type="url"], .-group._normal form input[type="url"], form .-navbar._normal .-group input[type="url"], .-navbar._normal .-group form input[type="url"], form ._normal.-navbar-float .-group input[type="url"], ._normal.-navbar-float .-group form input[type="url"], form .-group._normal textarea, .-group._normal form textarea, form .-navbar._normal .-group textarea, .-navbar._normal .-group form textarea, form ._normal.-navbar-float .-group textarea, ._normal.-navbar-float .-group form textarea, form input[type="password"]._normal, form input[type="date"]._normal, form input[type="datetime"]._normal, form input[type="datetime-local"]._normal, form input[type="month"]._normal, form input[type="week"]._normal, form input[type="email"]._normal, form input[type="number"]._normal, form input[type="search"]._normal, form input[type="tel"]._normal, form input[type="time"]._normal, form input[type="url"]._normal, form textarea._normal { + font-size: 14px; + line-height: 18.0px; + height: 36.0px; } + form select._major, form input[type="text"]._major, form .-group._major select, .-group._major form select, form .-navbar._major .-group select, .-navbar._major .-group form select, form ._major.-navbar-float .-group select, ._major.-navbar-float .-group form select, form .-group._major input[type="text"], .-group._major form input[type="text"], form .-navbar._major .-group input[type="text"], .-navbar._major .-group form input[type="text"], form ._major.-navbar-float .-group input[type="text"], ._major.-navbar-float .-group form input[type="text"], form .-group._major input[type="password"], .-group._major form input[type="password"], form .-navbar._major .-group input[type="password"], .-navbar._major .-group form input[type="password"], form ._major.-navbar-float .-group input[type="password"], ._major.-navbar-float .-group form input[type="password"], form .-group._major input[type="date"], .-group._major form input[type="date"], form .-navbar._major .-group input[type="date"], .-navbar._major .-group form input[type="date"], form ._major.-navbar-float .-group input[type="date"], ._major.-navbar-float .-group form input[type="date"], form .-group._major input[type="datetime"], .-group._major form input[type="datetime"], form .-navbar._major .-group input[type="datetime"], .-navbar._major .-group form input[type="datetime"], form ._major.-navbar-float .-group input[type="datetime"], ._major.-navbar-float .-group form input[type="datetime"], form .-group._major input[type="datetime-local"], .-group._major form input[type="datetime-local"], form .-navbar._major .-group input[type="datetime-local"], .-navbar._major .-group form input[type="datetime-local"], form ._major.-navbar-float .-group input[type="datetime-local"], ._major.-navbar-float .-group form input[type="datetime-local"], form .-group._major input[type="month"], .-group._major form input[type="month"], form .-navbar._major .-group input[type="month"], .-navbar._major .-group form input[type="month"], form ._major.-navbar-float .-group input[type="month"], ._major.-navbar-float .-group form input[type="month"], form .-group._major input[type="week"], .-group._major form input[type="week"], form .-navbar._major .-group input[type="week"], .-navbar._major .-group form input[type="week"], form ._major.-navbar-float .-group input[type="week"], ._major.-navbar-float .-group form input[type="week"], form .-group._major input[type="email"], .-group._major form input[type="email"], form .-navbar._major .-group input[type="email"], .-navbar._major .-group form input[type="email"], form ._major.-navbar-float .-group input[type="email"], ._major.-navbar-float .-group form input[type="email"], form .-group._major input[type="number"], .-group._major form input[type="number"], form .-navbar._major .-group input[type="number"], .-navbar._major .-group form input[type="number"], form ._major.-navbar-float .-group input[type="number"], ._major.-navbar-float .-group form input[type="number"], form .-group._major input[type="search"], .-group._major form input[type="search"], form .-navbar._major .-group input[type="search"], .-navbar._major .-group form input[type="search"], form ._major.-navbar-float .-group input[type="search"], ._major.-navbar-float .-group form input[type="search"], form .-group._major input[type="tel"], .-group._major form input[type="tel"], form .-navbar._major .-group input[type="tel"], .-navbar._major .-group form input[type="tel"], form ._major.-navbar-float .-group input[type="tel"], ._major.-navbar-float .-group form input[type="tel"], form .-group._major input[type="time"], .-group._major form input[type="time"], form .-navbar._major .-group input[type="time"], .-navbar._major .-group form input[type="time"], form ._major.-navbar-float .-group input[type="time"], ._major.-navbar-float .-group form input[type="time"], form .-group._major input[type="url"], .-group._major form input[type="url"], form .-navbar._major .-group input[type="url"], .-navbar._major .-group form input[type="url"], form ._major.-navbar-float .-group input[type="url"], ._major.-navbar-float .-group form input[type="url"], form .-group._major textarea, .-group._major form textarea, form .-navbar._major .-group textarea, .-navbar._major .-group form textarea, form ._major.-navbar-float .-group textarea, ._major.-navbar-float .-group form textarea, form input[type="password"]._major, form input[type="date"]._major, form input[type="datetime"]._major, form input[type="datetime-local"]._major, form input[type="month"]._major, form input[type="week"]._major, form input[type="email"]._major, form input[type="number"]._major, form input[type="search"]._major, form input[type="tel"]._major, form input[type="time"]._major, form input[type="url"]._major, form textarea._major { + font-size: 17.5px; + line-height: 23.0px; + height: 41.0px; } + form select._big, form input[type="text"]._big, form .-group._big select, .-group._big form select, form .-navbar._big .-group select, .-navbar._big .-group form select, form ._big.-navbar-float .-group select, ._big.-navbar-float .-group form select, form .-group._big input[type="text"], .-group._big form input[type="text"], form .-navbar._big .-group input[type="text"], .-navbar._big .-group form input[type="text"], form ._big.-navbar-float .-group input[type="text"], ._big.-navbar-float .-group form input[type="text"], form .-group._big input[type="password"], .-group._big form input[type="password"], form .-navbar._big .-group input[type="password"], .-navbar._big .-group form input[type="password"], form ._big.-navbar-float .-group input[type="password"], ._big.-navbar-float .-group form input[type="password"], form .-group._big input[type="date"], .-group._big form input[type="date"], form .-navbar._big .-group input[type="date"], .-navbar._big .-group form input[type="date"], form ._big.-navbar-float .-group input[type="date"], ._big.-navbar-float .-group form input[type="date"], form .-group._big input[type="datetime"], .-group._big form input[type="datetime"], form .-navbar._big .-group input[type="datetime"], .-navbar._big .-group form input[type="datetime"], form ._big.-navbar-float .-group input[type="datetime"], ._big.-navbar-float .-group form input[type="datetime"], form .-group._big input[type="datetime-local"], .-group._big form input[type="datetime-local"], form .-navbar._big .-group input[type="datetime-local"], .-navbar._big .-group form input[type="datetime-local"], form ._big.-navbar-float .-group input[type="datetime-local"], ._big.-navbar-float .-group form input[type="datetime-local"], form .-group._big input[type="month"], .-group._big form input[type="month"], form .-navbar._big .-group input[type="month"], .-navbar._big .-group form input[type="month"], form ._big.-navbar-float .-group input[type="month"], ._big.-navbar-float .-group form input[type="month"], form .-group._big input[type="week"], .-group._big form input[type="week"], form .-navbar._big .-group input[type="week"], .-navbar._big .-group form input[type="week"], form ._big.-navbar-float .-group input[type="week"], ._big.-navbar-float .-group form input[type="week"], form .-group._big input[type="email"], .-group._big form input[type="email"], form .-navbar._big .-group input[type="email"], .-navbar._big .-group form input[type="email"], form ._big.-navbar-float .-group input[type="email"], ._big.-navbar-float .-group form input[type="email"], form .-group._big input[type="number"], .-group._big form input[type="number"], form .-navbar._big .-group input[type="number"], .-navbar._big .-group form input[type="number"], form ._big.-navbar-float .-group input[type="number"], ._big.-navbar-float .-group form input[type="number"], form .-group._big input[type="search"], .-group._big form input[type="search"], form .-navbar._big .-group input[type="search"], .-navbar._big .-group form input[type="search"], form ._big.-navbar-float .-group input[type="search"], ._big.-navbar-float .-group form input[type="search"], form .-group._big input[type="tel"], .-group._big form input[type="tel"], form .-navbar._big .-group input[type="tel"], .-navbar._big .-group form input[type="tel"], form ._big.-navbar-float .-group input[type="tel"], ._big.-navbar-float .-group form input[type="tel"], form .-group._big input[type="time"], .-group._big form input[type="time"], form .-navbar._big .-group input[type="time"], .-navbar._big .-group form input[type="time"], form ._big.-navbar-float .-group input[type="time"], ._big.-navbar-float .-group form input[type="time"], form .-group._big input[type="url"], .-group._big form input[type="url"], form .-navbar._big .-group input[type="url"], .-navbar._big .-group form input[type="url"], form ._big.-navbar-float .-group input[type="url"], ._big.-navbar-float .-group form input[type="url"], form .-group._big textarea, .-group._big form textarea, form .-navbar._big .-group textarea, .-navbar._big .-group form textarea, form ._big.-navbar-float .-group textarea, ._big.-navbar-float .-group form textarea, form input[type="password"]._big, form input[type="date"]._big, form input[type="datetime"]._big, form input[type="datetime-local"]._big, form input[type="month"]._big, form input[type="week"]._big, form input[type="email"]._big, form input[type="number"]._big, form input[type="search"]._big, form input[type="tel"]._big, form input[type="time"]._big, form input[type="url"]._big, form textarea._big { + font-size: 21px; + line-height: 28.0px; + height: 46.0px; } + form select._huge, form input[type="text"]._huge, form .-group._huge select, .-group._huge form select, form .-navbar._huge .-group select, .-navbar._huge .-group form select, form ._huge.-navbar-float .-group select, ._huge.-navbar-float .-group form select, form .-group._huge input[type="text"], .-group._huge form input[type="text"], form .-navbar._huge .-group input[type="text"], .-navbar._huge .-group form input[type="text"], form ._huge.-navbar-float .-group input[type="text"], ._huge.-navbar-float .-group form input[type="text"], form .-group._huge input[type="password"], .-group._huge form input[type="password"], form .-navbar._huge .-group input[type="password"], .-navbar._huge .-group form input[type="password"], form ._huge.-navbar-float .-group input[type="password"], ._huge.-navbar-float .-group form input[type="password"], form .-group._huge input[type="date"], .-group._huge form input[type="date"], form .-navbar._huge .-group input[type="date"], .-navbar._huge .-group form input[type="date"], form ._huge.-navbar-float .-group input[type="date"], ._huge.-navbar-float .-group form input[type="date"], form .-group._huge input[type="datetime"], .-group._huge form input[type="datetime"], form .-navbar._huge .-group input[type="datetime"], .-navbar._huge .-group form input[type="datetime"], form ._huge.-navbar-float .-group input[type="datetime"], ._huge.-navbar-float .-group form input[type="datetime"], form .-group._huge input[type="datetime-local"], .-group._huge form input[type="datetime-local"], form .-navbar._huge .-group input[type="datetime-local"], .-navbar._huge .-group form input[type="datetime-local"], form ._huge.-navbar-float .-group input[type="datetime-local"], ._huge.-navbar-float .-group form input[type="datetime-local"], form .-group._huge input[type="month"], .-group._huge form input[type="month"], form .-navbar._huge .-group input[type="month"], .-navbar._huge .-group form input[type="month"], form ._huge.-navbar-float .-group input[type="month"], ._huge.-navbar-float .-group form input[type="month"], form .-group._huge input[type="week"], .-group._huge form input[type="week"], form .-navbar._huge .-group input[type="week"], .-navbar._huge .-group form input[type="week"], form ._huge.-navbar-float .-group input[type="week"], ._huge.-navbar-float .-group form input[type="week"], form .-group._huge input[type="email"], .-group._huge form input[type="email"], form .-navbar._huge .-group input[type="email"], .-navbar._huge .-group form input[type="email"], form ._huge.-navbar-float .-group input[type="email"], ._huge.-navbar-float .-group form input[type="email"], form .-group._huge input[type="number"], .-group._huge form input[type="number"], form .-navbar._huge .-group input[type="number"], .-navbar._huge .-group form input[type="number"], form ._huge.-navbar-float .-group input[type="number"], ._huge.-navbar-float .-group form input[type="number"], form .-group._huge input[type="search"], .-group._huge form input[type="search"], form .-navbar._huge .-group input[type="search"], .-navbar._huge .-group form input[type="search"], form ._huge.-navbar-float .-group input[type="search"], ._huge.-navbar-float .-group form input[type="search"], form .-group._huge input[type="tel"], .-group._huge form input[type="tel"], form .-navbar._huge .-group input[type="tel"], .-navbar._huge .-group form input[type="tel"], form ._huge.-navbar-float .-group input[type="tel"], ._huge.-navbar-float .-group form input[type="tel"], form .-group._huge input[type="time"], .-group._huge form input[type="time"], form .-navbar._huge .-group input[type="time"], .-navbar._huge .-group form input[type="time"], form ._huge.-navbar-float .-group input[type="time"], ._huge.-navbar-float .-group form input[type="time"], form .-group._huge input[type="url"], .-group._huge form input[type="url"], form .-navbar._huge .-group input[type="url"], .-navbar._huge .-group form input[type="url"], form ._huge.-navbar-float .-group input[type="url"], ._huge.-navbar-float .-group form input[type="url"], form .-group._huge textarea, .-group._huge form textarea, form .-navbar._huge .-group textarea, .-navbar._huge .-group form textarea, form ._huge.-navbar-float .-group textarea, ._huge.-navbar-float .-group form textarea, form input[type="password"]._huge, form input[type="date"]._huge, form input[type="datetime"]._huge, form input[type="datetime-local"]._huge, form input[type="month"]._huge, form input[type="week"]._huge, form input[type="email"]._huge, form input[type="number"]._huge, form input[type="search"]._huge, form input[type="tel"]._huge, form input[type="time"]._huge, form input[type="url"]._huge, form textarea._huge { + font-size: 24.5px; + line-height: 33.0px; + height: 51.0px; } + form select._divine, form input[type="text"]._divine, form .-group._divine select, .-group._divine form select, form .-navbar._divine .-group select, .-navbar._divine .-group form select, form ._divine.-navbar-float .-group select, ._divine.-navbar-float .-group form select, form .-group._divine input[type="text"], .-group._divine form input[type="text"], form .-navbar._divine .-group input[type="text"], .-navbar._divine .-group form input[type="text"], form ._divine.-navbar-float .-group input[type="text"], ._divine.-navbar-float .-group form input[type="text"], form .-group._divine input[type="password"], .-group._divine form input[type="password"], form .-navbar._divine .-group input[type="password"], .-navbar._divine .-group form input[type="password"], form ._divine.-navbar-float .-group input[type="password"], ._divine.-navbar-float .-group form input[type="password"], form .-group._divine input[type="date"], .-group._divine form input[type="date"], form .-navbar._divine .-group input[type="date"], .-navbar._divine .-group form input[type="date"], form ._divine.-navbar-float .-group input[type="date"], ._divine.-navbar-float .-group form input[type="date"], form .-group._divine input[type="datetime"], .-group._divine form input[type="datetime"], form .-navbar._divine .-group input[type="datetime"], .-navbar._divine .-group form input[type="datetime"], form ._divine.-navbar-float .-group input[type="datetime"], ._divine.-navbar-float .-group form input[type="datetime"], form .-group._divine input[type="datetime-local"], .-group._divine form input[type="datetime-local"], form .-navbar._divine .-group input[type="datetime-local"], .-navbar._divine .-group form input[type="datetime-local"], form ._divine.-navbar-float .-group input[type="datetime-local"], ._divine.-navbar-float .-group form input[type="datetime-local"], form .-group._divine input[type="month"], .-group._divine form input[type="month"], form .-navbar._divine .-group input[type="month"], .-navbar._divine .-group form input[type="month"], form ._divine.-navbar-float .-group input[type="month"], ._divine.-navbar-float .-group form input[type="month"], form .-group._divine input[type="week"], .-group._divine form input[type="week"], form .-navbar._divine .-group input[type="week"], .-navbar._divine .-group form input[type="week"], form ._divine.-navbar-float .-group input[type="week"], ._divine.-navbar-float .-group form input[type="week"], form .-group._divine input[type="email"], .-group._divine form input[type="email"], form .-navbar._divine .-group input[type="email"], .-navbar._divine .-group form input[type="email"], form ._divine.-navbar-float .-group input[type="email"], ._divine.-navbar-float .-group form input[type="email"], form .-group._divine input[type="number"], .-group._divine form input[type="number"], form .-navbar._divine .-group input[type="number"], .-navbar._divine .-group form input[type="number"], form ._divine.-navbar-float .-group input[type="number"], ._divine.-navbar-float .-group form input[type="number"], form .-group._divine input[type="search"], .-group._divine form input[type="search"], form .-navbar._divine .-group input[type="search"], .-navbar._divine .-group form input[type="search"], form ._divine.-navbar-float .-group input[type="search"], ._divine.-navbar-float .-group form input[type="search"], form .-group._divine input[type="tel"], .-group._divine form input[type="tel"], form .-navbar._divine .-group input[type="tel"], .-navbar._divine .-group form input[type="tel"], form ._divine.-navbar-float .-group input[type="tel"], ._divine.-navbar-float .-group form input[type="tel"], form .-group._divine input[type="time"], .-group._divine form input[type="time"], form .-navbar._divine .-group input[type="time"], .-navbar._divine .-group form input[type="time"], form ._divine.-navbar-float .-group input[type="time"], ._divine.-navbar-float .-group form input[type="time"], form .-group._divine input[type="url"], .-group._divine form input[type="url"], form .-navbar._divine .-group input[type="url"], .-navbar._divine .-group form input[type="url"], form ._divine.-navbar-float .-group input[type="url"], ._divine.-navbar-float .-group form input[type="url"], form .-group._divine textarea, .-group._divine form textarea, form .-navbar._divine .-group textarea, .-navbar._divine .-group form textarea, form ._divine.-navbar-float .-group textarea, ._divine.-navbar-float .-group form textarea, form input[type="password"]._divine, form input[type="date"]._divine, form input[type="datetime"]._divine, form input[type="datetime-local"]._divine, form input[type="month"]._divine, form input[type="week"]._divine, form input[type="email"]._divine, form input[type="number"]._divine, form input[type="search"]._divine, form input[type="tel"]._divine, form input[type="time"]._divine, form input[type="url"]._divine, form textarea._divine { + font-size: 28px; + line-height: 38.0px; + height: 56.0px; } form input[type="radio"], form input[type="checkbox"] { margin: 0; margin-top: 1px \9; @@ -14973,53 +14993,46 @@ form input[type="radio"], form input[type="checkbox"] { vertical-align: middle; padding: 0; } form select { + -webkit-appearance: none; + -moz-appearance: none; + -ms-appearance: none; + text-indent: 1px; + text-overflow: ""; border: 1px solid #b3b3b3; - background: rgba(217, 217, 217, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; + background: rgba(217, 217, 217, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; border-radius: 0; } + form select::-ms-expand { + display: none; } form select:active, form select:focus { box-shadow: 0 0 10px rgba(217, 217, 217, 0.4); } form select.-default- { border: 1px solid #b3b3b3; - background: rgba(217, 217, 217, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; } + background: rgba(217, 217, 217, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; } form select.-default-:active, form select.-default-:focus { box-shadow: 0 0 10px rgba(217, 217, 217, 0.4); } form select.-primary- { border: 1px solid #3598db; - background: rgba(53, 152, 219, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; } + background: rgba(53, 152, 219, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; } form select.-primary-:active, form select.-primary-:focus { box-shadow: 0 0 10px rgba(53, 152, 219, 0.4); } form select.-error- { border: 1px solid #cd2c24; - background: rgba(205, 44, 36, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; } + background: rgba(205, 44, 36, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; } form select.-error-:active, form select.-error-:focus { box-shadow: 0 0 10px rgba(205, 44, 36, 0.4); } form select.-info- { border: 1px solid #2fdcd5; - background: rgba(47, 220, 213, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; } + background: rgba(47, 220, 213, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; } form select.-info-:active, form select.-info-:focus { box-shadow: 0 0 10px rgba(47, 220, 213, 0.4); } form select.-warning- { border: 1px solid #ffc43e; - background: rgba(255, 196, 62, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; } + background: rgba(255, 196, 62, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; } form select.-warning-:active, form select.-warning-:focus { box-shadow: 0 0 10px rgba(255, 196, 62, 0.4); } form select.-dark- { border: 1px solid black; - background: rgba(0, 0, 0, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; } + background: rgba(0, 0, 0, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; } form select.-dark-:active, form select.-dark-:focus { box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); } form label { @@ -15027,7 +15040,7 @@ form label { font-family: inherit; font-size: 14px; line-height: 1.42857; - padding: 6px 12px; + padding: 8px 12px; margin: 0; border-radius: 0; -webkit-box-sizing: border-box; @@ -15040,24 +15053,40 @@ form label { cursor: pointer; font-weight: 200; font-size: 14px; + line-height: 18.0px; + height: 36.0px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; white-space: normal; } form label._small { - font-size: 7px; } + font-size: 7px; + line-height: 8.0px; + height: 26.0px; } form label._minor { - font-size: 10.5px; } + font-size: 10.5px; + line-height: 13.0px; + height: 31.0px; } form label._normal { - font-size: 14px; } + font-size: 14px; + line-height: 18.0px; + height: 36.0px; } form label._major { - font-size: 17.5px; } + font-size: 17.5px; + line-height: 23.0px; + height: 41.0px; } form label._big { - font-size: 21px; } + font-size: 21px; + line-height: 28.0px; + height: 46.0px; } form label._huge { - font-size: 24.5px; } + font-size: 24.5px; + line-height: 33.0px; + height: 51.0px; } form label._divine { - font-size: 28px; } + font-size: 28px; + line-height: 38.0px; + height: 56.0px; } @media screen and (max-width: 992px) { [class^="-col"] { @@ -15093,8 +15122,40 @@ form .-field { border-color: #4d4d4d; } form .-field.-dark- select:active, form .-group.-dark- .-field select:active, .-group.-dark- form .-field select:active, form .-field.-dark- select:focus, form .-group.-dark- .-field select:focus, .-group.-dark- form .-field select:focus, form .-field.-dark- input[type="text"]:active, form .-group.-dark- .-field input[type="text"]:active, .-group.-dark- form .-field input[type="text"]:active, form .-field.-dark- input[type="text"]:focus, form .-group.-dark- .-field input[type="text"]:focus, .-group.-dark- form .-field input[type="text"]:focus, form .-field.-dark- input[type="password"]:active, form .-group.-dark- .-field input[type="password"]:active, .-group.-dark- form .-field input[type="password"]:active, form .-field.-dark- input[type="password"]:focus, form .-group.-dark- .-field input[type="password"]:focus, .-group.-dark- form .-field input[type="password"]:focus, form .-field.-dark- input[type="date"]:active, form .-group.-dark- .-field input[type="date"]:active, .-group.-dark- form .-field input[type="date"]:active, form .-field.-dark- input[type="date"]:focus, form .-group.-dark- .-field input[type="date"]:focus, .-group.-dark- form .-field input[type="date"]:focus, form .-field.-dark- input[type="datetime"]:active, form .-group.-dark- .-field input[type="datetime"]:active, .-group.-dark- form .-field input[type="datetime"]:active, form .-field.-dark- input[type="datetime"]:focus, form .-group.-dark- .-field input[type="datetime"]:focus, .-group.-dark- form .-field input[type="datetime"]:focus, form .-field.-dark- input[type="datetime-local"]:active, form .-group.-dark- .-field input[type="datetime-local"]:active, .-group.-dark- form .-field input[type="datetime-local"]:active, form .-field.-dark- input[type="datetime-local"]:focus, form .-group.-dark- .-field input[type="datetime-local"]:focus, .-group.-dark- form .-field input[type="datetime-local"]:focus, form .-field.-dark- input[type="month"]:active, form .-group.-dark- .-field input[type="month"]:active, .-group.-dark- form .-field input[type="month"]:active, form .-field.-dark- input[type="month"]:focus, form .-group.-dark- .-field input[type="month"]:focus, .-group.-dark- form .-field input[type="month"]:focus, form .-field.-dark- input[type="week"]:active, form .-group.-dark- .-field input[type="week"]:active, .-group.-dark- form .-field input[type="week"]:active, form .-field.-dark- input[type="week"]:focus, form .-group.-dark- .-field input[type="week"]:focus, .-group.-dark- form .-field input[type="week"]:focus, form .-field.-dark- input[type="email"]:active, form .-group.-dark- .-field input[type="email"]:active, .-group.-dark- form .-field input[type="email"]:active, form .-field.-dark- input[type="email"]:focus, form .-group.-dark- .-field input[type="email"]:focus, .-group.-dark- form .-field input[type="email"]:focus, form .-field.-dark- input[type="number"]:active, form .-group.-dark- .-field input[type="number"]:active, .-group.-dark- form .-field input[type="number"]:active, form .-field.-dark- input[type="number"]:focus, form .-group.-dark- .-field input[type="number"]:focus, .-group.-dark- form .-field input[type="number"]:focus, form .-field.-dark- input[type="search"]:active, form .-group.-dark- .-field input[type="search"]:active, .-group.-dark- form .-field input[type="search"]:active, form .-field.-dark- input[type="search"]:focus, form .-group.-dark- .-field input[type="search"]:focus, .-group.-dark- form .-field input[type="search"]:focus, form .-field.-dark- input[type="tel"]:active, form .-group.-dark- .-field input[type="tel"]:active, .-group.-dark- form .-field input[type="tel"]:active, form .-field.-dark- input[type="tel"]:focus, form .-group.-dark- .-field input[type="tel"]:focus, .-group.-dark- form .-field input[type="tel"]:focus, form .-field.-dark- input[type="time"]:active, form .-group.-dark- .-field input[type="time"]:active, .-group.-dark- form .-field input[type="time"]:active, form .-field.-dark- input[type="time"]:focus, form .-group.-dark- .-field input[type="time"]:focus, .-group.-dark- form .-field input[type="time"]:focus, form .-field.-dark- input[type="url"]:active, form .-group.-dark- .-field input[type="url"]:active, .-group.-dark- form .-field input[type="url"]:active, form .-field.-dark- input[type="url"]:focus, form .-group.-dark- .-field input[type="url"]:focus, .-group.-dark- form .-field input[type="url"]:focus, form .-field.-dark- textarea:active, form .-group.-dark- .-field textarea:active, .-group.-dark- form .-field textarea:active, form .-field.-dark- textarea:focus, form .-group.-dark- .-field textarea:focus, .-group.-dark- form .-field textarea:focus { box-shadow: 0 0 15px rgba(0, 0, 0, 0.6); } + form .-field._small select, form .-group._small .-field select, .-group._small form .-field select, form .-navbar._small .-group .-field select, .-navbar._small .-group form .-field select, form ._small.-navbar-float .-group .-field select, ._small.-navbar-float .-group form .-field select, form .-field._small input[type="text"], form .-group._small .-field input[type="text"], .-group._small form .-field input[type="text"], form .-navbar._small .-group .-field input[type="text"], .-navbar._small .-group form .-field input[type="text"], form ._small.-navbar-float .-group .-field input[type="text"], ._small.-navbar-float .-group form .-field input[type="text"], form .-field._small input[type="password"], form .-group._small .-field input[type="password"], .-group._small form .-field input[type="password"], form .-navbar._small .-group .-field input[type="password"], .-navbar._small .-group form .-field input[type="password"], form ._small.-navbar-float .-group .-field input[type="password"], ._small.-navbar-float .-group form .-field input[type="password"], form .-field._small input[type="date"], form .-group._small .-field input[type="date"], .-group._small form .-field input[type="date"], form .-navbar._small .-group .-field input[type="date"], .-navbar._small .-group form .-field input[type="date"], form ._small.-navbar-float .-group .-field input[type="date"], ._small.-navbar-float .-group form .-field input[type="date"], form .-field._small input[type="datetime"], form .-group._small .-field input[type="datetime"], .-group._small form .-field input[type="datetime"], form .-navbar._small .-group .-field input[type="datetime"], .-navbar._small .-group form .-field input[type="datetime"], form ._small.-navbar-float .-group .-field input[type="datetime"], ._small.-navbar-float .-group form .-field input[type="datetime"], form .-field._small input[type="datetime-local"], form .-group._small .-field input[type="datetime-local"], .-group._small form .-field input[type="datetime-local"], form .-navbar._small .-group .-field input[type="datetime-local"], .-navbar._small .-group form .-field input[type="datetime-local"], form ._small.-navbar-float .-group .-field input[type="datetime-local"], ._small.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._small input[type="month"], form .-group._small .-field input[type="month"], .-group._small form .-field input[type="month"], form .-navbar._small .-group .-field input[type="month"], .-navbar._small .-group form .-field input[type="month"], form ._small.-navbar-float .-group .-field input[type="month"], ._small.-navbar-float .-group form .-field input[type="month"], form .-field._small input[type="week"], form .-group._small .-field input[type="week"], .-group._small form .-field input[type="week"], form .-navbar._small .-group .-field input[type="week"], .-navbar._small .-group form .-field input[type="week"], form ._small.-navbar-float .-group .-field input[type="week"], ._small.-navbar-float .-group form .-field input[type="week"], form .-field._small input[type="email"], form .-group._small .-field input[type="email"], .-group._small form .-field input[type="email"], form .-navbar._small .-group .-field input[type="email"], .-navbar._small .-group form .-field input[type="email"], form ._small.-navbar-float .-group .-field input[type="email"], ._small.-navbar-float .-group form .-field input[type="email"], form .-field._small input[type="number"], form .-group._small .-field input[type="number"], .-group._small form .-field input[type="number"], form .-navbar._small .-group .-field input[type="number"], .-navbar._small .-group form .-field input[type="number"], form ._small.-navbar-float .-group .-field input[type="number"], ._small.-navbar-float .-group form .-field input[type="number"], form .-field._small input[type="search"], form .-group._small .-field input[type="search"], .-group._small form .-field input[type="search"], form .-navbar._small .-group .-field input[type="search"], .-navbar._small .-group form .-field input[type="search"], form ._small.-navbar-float .-group .-field input[type="search"], ._small.-navbar-float .-group form .-field input[type="search"], form .-field._small input[type="tel"], form .-group._small .-field input[type="tel"], .-group._small form .-field input[type="tel"], form .-navbar._small .-group .-field input[type="tel"], .-navbar._small .-group form .-field input[type="tel"], form ._small.-navbar-float .-group .-field input[type="tel"], ._small.-navbar-float .-group form .-field input[type="tel"], form .-field._small input[type="time"], form .-group._small .-field input[type="time"], .-group._small form .-field input[type="time"], form .-navbar._small .-group .-field input[type="time"], .-navbar._small .-group form .-field input[type="time"], form ._small.-navbar-float .-group .-field input[type="time"], ._small.-navbar-float .-group form .-field input[type="time"], form .-field._small input[type="url"], form .-group._small .-field input[type="url"], .-group._small form .-field input[type="url"], form .-navbar._small .-group .-field input[type="url"], .-navbar._small .-group form .-field input[type="url"], form ._small.-navbar-float .-group .-field input[type="url"], ._small.-navbar-float .-group form .-field input[type="url"], form .-field._small textarea, form .-group._small .-field textarea, .-group._small form .-field textarea, form .-navbar._small .-group .-field textarea, .-navbar._small .-group form .-field textarea, form ._small.-navbar-float .-group .-field textarea, ._small.-navbar-float .-group form .-field textarea { + font-size: 7px; + line-height: 8.0px; + height: 20.0px; } + form .-field._minor select, form .-group._minor .-field select, .-group._minor form .-field select, form .-navbar._minor .-group .-field select, .-navbar._minor .-group form .-field select, form ._minor.-navbar-float .-group .-field select, ._minor.-navbar-float .-group form .-field select, form .-field._minor input[type="text"], form .-group._minor .-field input[type="text"], .-group._minor form .-field input[type="text"], form .-navbar._minor .-group .-field input[type="text"], .-navbar._minor .-group form .-field input[type="text"], form ._minor.-navbar-float .-group .-field input[type="text"], ._minor.-navbar-float .-group form .-field input[type="text"], form .-field._minor input[type="password"], form .-group._minor .-field input[type="password"], .-group._minor form .-field input[type="password"], form .-navbar._minor .-group .-field input[type="password"], .-navbar._minor .-group form .-field input[type="password"], form ._minor.-navbar-float .-group .-field input[type="password"], ._minor.-navbar-float .-group form .-field input[type="password"], form .-field._minor input[type="date"], form .-group._minor .-field input[type="date"], .-group._minor form .-field input[type="date"], form .-navbar._minor .-group .-field input[type="date"], .-navbar._minor .-group form .-field input[type="date"], form ._minor.-navbar-float .-group .-field input[type="date"], ._minor.-navbar-float .-group form .-field input[type="date"], form .-field._minor input[type="datetime"], form .-group._minor .-field input[type="datetime"], .-group._minor form .-field input[type="datetime"], form .-navbar._minor .-group .-field input[type="datetime"], .-navbar._minor .-group form .-field input[type="datetime"], form ._minor.-navbar-float .-group .-field input[type="datetime"], ._minor.-navbar-float .-group form .-field input[type="datetime"], form .-field._minor input[type="datetime-local"], form .-group._minor .-field input[type="datetime-local"], .-group._minor form .-field input[type="datetime-local"], form .-navbar._minor .-group .-field input[type="datetime-local"], .-navbar._minor .-group form .-field input[type="datetime-local"], form ._minor.-navbar-float .-group .-field input[type="datetime-local"], ._minor.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._minor input[type="month"], form .-group._minor .-field input[type="month"], .-group._minor form .-field input[type="month"], form .-navbar._minor .-group .-field input[type="month"], .-navbar._minor .-group form .-field input[type="month"], form ._minor.-navbar-float .-group .-field input[type="month"], ._minor.-navbar-float .-group form .-field input[type="month"], form .-field._minor input[type="week"], form .-group._minor .-field input[type="week"], .-group._minor form .-field input[type="week"], form .-navbar._minor .-group .-field input[type="week"], .-navbar._minor .-group form .-field input[type="week"], form ._minor.-navbar-float .-group .-field input[type="week"], ._minor.-navbar-float .-group form .-field input[type="week"], form .-field._minor input[type="email"], form .-group._minor .-field input[type="email"], .-group._minor form .-field input[type="email"], form .-navbar._minor .-group .-field input[type="email"], .-navbar._minor .-group form .-field input[type="email"], form ._minor.-navbar-float .-group .-field input[type="email"], ._minor.-navbar-float .-group form .-field input[type="email"], form .-field._minor input[type="number"], form .-group._minor .-field input[type="number"], .-group._minor form .-field input[type="number"], form .-navbar._minor .-group .-field input[type="number"], .-navbar._minor .-group form .-field input[type="number"], form ._minor.-navbar-float .-group .-field input[type="number"], ._minor.-navbar-float .-group form .-field input[type="number"], form .-field._minor input[type="search"], form .-group._minor .-field input[type="search"], .-group._minor form .-field input[type="search"], form .-navbar._minor .-group .-field input[type="search"], .-navbar._minor .-group form .-field input[type="search"], form ._minor.-navbar-float .-group .-field input[type="search"], ._minor.-navbar-float .-group form .-field input[type="search"], form .-field._minor input[type="tel"], form .-group._minor .-field input[type="tel"], .-group._minor form .-field input[type="tel"], form .-navbar._minor .-group .-field input[type="tel"], .-navbar._minor .-group form .-field input[type="tel"], form ._minor.-navbar-float .-group .-field input[type="tel"], ._minor.-navbar-float .-group form .-field input[type="tel"], form .-field._minor input[type="time"], form .-group._minor .-field input[type="time"], .-group._minor form .-field input[type="time"], form .-navbar._minor .-group .-field input[type="time"], .-navbar._minor .-group form .-field input[type="time"], form ._minor.-navbar-float .-group .-field input[type="time"], ._minor.-navbar-float .-group form .-field input[type="time"], form .-field._minor input[type="url"], form .-group._minor .-field input[type="url"], .-group._minor form .-field input[type="url"], form .-navbar._minor .-group .-field input[type="url"], .-navbar._minor .-group form .-field input[type="url"], form ._minor.-navbar-float .-group .-field input[type="url"], ._minor.-navbar-float .-group form .-field input[type="url"], form .-field._minor textarea, form .-group._minor .-field textarea, .-group._minor form .-field textarea, form .-navbar._minor .-group .-field textarea, .-navbar._minor .-group form .-field textarea, form ._minor.-navbar-float .-group .-field textarea, ._minor.-navbar-float .-group form .-field textarea { + font-size: 10.5px; + line-height: 13.0px; + height: 25.0px; } + form .-field select, form .-field input[type="text"], form .-field input[type="password"], form .-field input[type="date"], form .-field input[type="datetime"], form .-field input[type="datetime-local"], form .-field input[type="month"], form .-field input[type="week"], form .-field input[type="email"], form .-field input[type="number"], form .-field input[type="search"], form .-field input[type="tel"], form .-field input[type="time"], form .-field input[type="url"], form .-field textarea { + font-size: 14px; + line-height: 18.0px; + height: 30.0px; } + form .-field._normal select, form .-group._normal .-field select, .-group._normal form .-field select, form .-navbar._normal .-group .-field select, .-navbar._normal .-group form .-field select, form ._normal.-navbar-float .-group .-field select, ._normal.-navbar-float .-group form .-field select, form .-field._normal input[type="text"], form .-group._normal .-field input[type="text"], .-group._normal form .-field input[type="text"], form .-navbar._normal .-group .-field input[type="text"], .-navbar._normal .-group form .-field input[type="text"], form ._normal.-navbar-float .-group .-field input[type="text"], ._normal.-navbar-float .-group form .-field input[type="text"], form .-field._normal input[type="password"], form .-group._normal .-field input[type="password"], .-group._normal form .-field input[type="password"], form .-navbar._normal .-group .-field input[type="password"], .-navbar._normal .-group form .-field input[type="password"], form ._normal.-navbar-float .-group .-field input[type="password"], ._normal.-navbar-float .-group form .-field input[type="password"], form .-field._normal input[type="date"], form .-group._normal .-field input[type="date"], .-group._normal form .-field input[type="date"], form .-navbar._normal .-group .-field input[type="date"], .-navbar._normal .-group form .-field input[type="date"], form ._normal.-navbar-float .-group .-field input[type="date"], ._normal.-navbar-float .-group form .-field input[type="date"], form .-field._normal input[type="datetime"], form .-group._normal .-field input[type="datetime"], .-group._normal form .-field input[type="datetime"], form .-navbar._normal .-group .-field input[type="datetime"], .-navbar._normal .-group form .-field input[type="datetime"], form ._normal.-navbar-float .-group .-field input[type="datetime"], ._normal.-navbar-float .-group form .-field input[type="datetime"], form .-field._normal input[type="datetime-local"], form .-group._normal .-field input[type="datetime-local"], .-group._normal form .-field input[type="datetime-local"], form .-navbar._normal .-group .-field input[type="datetime-local"], .-navbar._normal .-group form .-field input[type="datetime-local"], form ._normal.-navbar-float .-group .-field input[type="datetime-local"], ._normal.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._normal input[type="month"], form .-group._normal .-field input[type="month"], .-group._normal form .-field input[type="month"], form .-navbar._normal .-group .-field input[type="month"], .-navbar._normal .-group form .-field input[type="month"], form ._normal.-navbar-float .-group .-field input[type="month"], ._normal.-navbar-float .-group form .-field input[type="month"], form .-field._normal input[type="week"], form .-group._normal .-field input[type="week"], .-group._normal form .-field input[type="week"], form .-navbar._normal .-group .-field input[type="week"], .-navbar._normal .-group form .-field input[type="week"], form ._normal.-navbar-float .-group .-field input[type="week"], ._normal.-navbar-float .-group form .-field input[type="week"], form .-field._normal input[type="email"], form .-group._normal .-field input[type="email"], .-group._normal form .-field input[type="email"], form .-navbar._normal .-group .-field input[type="email"], .-navbar._normal .-group form .-field input[type="email"], form ._normal.-navbar-float .-group .-field input[type="email"], ._normal.-navbar-float .-group form .-field input[type="email"], form .-field._normal input[type="number"], form .-group._normal .-field input[type="number"], .-group._normal form .-field input[type="number"], form .-navbar._normal .-group .-field input[type="number"], .-navbar._normal .-group form .-field input[type="number"], form ._normal.-navbar-float .-group .-field input[type="number"], ._normal.-navbar-float .-group form .-field input[type="number"], form .-field._normal input[type="search"], form .-group._normal .-field input[type="search"], .-group._normal form .-field input[type="search"], form .-navbar._normal .-group .-field input[type="search"], .-navbar._normal .-group form .-field input[type="search"], form ._normal.-navbar-float .-group .-field input[type="search"], ._normal.-navbar-float .-group form .-field input[type="search"], form .-field._normal input[type="tel"], form .-group._normal .-field input[type="tel"], .-group._normal form .-field input[type="tel"], form .-navbar._normal .-group .-field input[type="tel"], .-navbar._normal .-group form .-field input[type="tel"], form ._normal.-navbar-float .-group .-field input[type="tel"], ._normal.-navbar-float .-group form .-field input[type="tel"], form .-field._normal input[type="time"], form .-group._normal .-field input[type="time"], .-group._normal form .-field input[type="time"], form .-navbar._normal .-group .-field input[type="time"], .-navbar._normal .-group form .-field input[type="time"], form ._normal.-navbar-float .-group .-field input[type="time"], ._normal.-navbar-float .-group form .-field input[type="time"], form .-field._normal input[type="url"], form .-group._normal .-field input[type="url"], .-group._normal form .-field input[type="url"], form .-navbar._normal .-group .-field input[type="url"], .-navbar._normal .-group form .-field input[type="url"], form ._normal.-navbar-float .-group .-field input[type="url"], ._normal.-navbar-float .-group form .-field input[type="url"], form .-field._normal textarea, form .-group._normal .-field textarea, .-group._normal form .-field textarea, form .-navbar._normal .-group .-field textarea, .-navbar._normal .-group form .-field textarea, form ._normal.-navbar-float .-group .-field textarea, ._normal.-navbar-float .-group form .-field textarea { + font-size: 14px; + line-height: 18.0px; + height: 30.0px; } + form .-field._major select, form .-group._major .-field select, .-group._major form .-field select, form .-navbar._major .-group .-field select, .-navbar._major .-group form .-field select, form ._major.-navbar-float .-group .-field select, ._major.-navbar-float .-group form .-field select, form .-field._major input[type="text"], form .-group._major .-field input[type="text"], .-group._major form .-field input[type="text"], form .-navbar._major .-group .-field input[type="text"], .-navbar._major .-group form .-field input[type="text"], form ._major.-navbar-float .-group .-field input[type="text"], ._major.-navbar-float .-group form .-field input[type="text"], form .-field._major input[type="password"], form .-group._major .-field input[type="password"], .-group._major form .-field input[type="password"], form .-navbar._major .-group .-field input[type="password"], .-navbar._major .-group form .-field input[type="password"], form ._major.-navbar-float .-group .-field input[type="password"], ._major.-navbar-float .-group form .-field input[type="password"], form .-field._major input[type="date"], form .-group._major .-field input[type="date"], .-group._major form .-field input[type="date"], form .-navbar._major .-group .-field input[type="date"], .-navbar._major .-group form .-field input[type="date"], form ._major.-navbar-float .-group .-field input[type="date"], ._major.-navbar-float .-group form .-field input[type="date"], form .-field._major input[type="datetime"], form .-group._major .-field input[type="datetime"], .-group._major form .-field input[type="datetime"], form .-navbar._major .-group .-field input[type="datetime"], .-navbar._major .-group form .-field input[type="datetime"], form ._major.-navbar-float .-group .-field input[type="datetime"], ._major.-navbar-float .-group form .-field input[type="datetime"], form .-field._major input[type="datetime-local"], form .-group._major .-field input[type="datetime-local"], .-group._major form .-field input[type="datetime-local"], form .-navbar._major .-group .-field input[type="datetime-local"], .-navbar._major .-group form .-field input[type="datetime-local"], form ._major.-navbar-float .-group .-field input[type="datetime-local"], ._major.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._major input[type="month"], form .-group._major .-field input[type="month"], .-group._major form .-field input[type="month"], form .-navbar._major .-group .-field input[type="month"], .-navbar._major .-group form .-field input[type="month"], form ._major.-navbar-float .-group .-field input[type="month"], ._major.-navbar-float .-group form .-field input[type="month"], form .-field._major input[type="week"], form .-group._major .-field input[type="week"], .-group._major form .-field input[type="week"], form .-navbar._major .-group .-field input[type="week"], .-navbar._major .-group form .-field input[type="week"], form ._major.-navbar-float .-group .-field input[type="week"], ._major.-navbar-float .-group form .-field input[type="week"], form .-field._major input[type="email"], form .-group._major .-field input[type="email"], .-group._major form .-field input[type="email"], form .-navbar._major .-group .-field input[type="email"], .-navbar._major .-group form .-field input[type="email"], form ._major.-navbar-float .-group .-field input[type="email"], ._major.-navbar-float .-group form .-field input[type="email"], form .-field._major input[type="number"], form .-group._major .-field input[type="number"], .-group._major form .-field input[type="number"], form .-navbar._major .-group .-field input[type="number"], .-navbar._major .-group form .-field input[type="number"], form ._major.-navbar-float .-group .-field input[type="number"], ._major.-navbar-float .-group form .-field input[type="number"], form .-field._major input[type="search"], form .-group._major .-field input[type="search"], .-group._major form .-field input[type="search"], form .-navbar._major .-group .-field input[type="search"], .-navbar._major .-group form .-field input[type="search"], form ._major.-navbar-float .-group .-field input[type="search"], ._major.-navbar-float .-group form .-field input[type="search"], form .-field._major input[type="tel"], form .-group._major .-field input[type="tel"], .-group._major form .-field input[type="tel"], form .-navbar._major .-group .-field input[type="tel"], .-navbar._major .-group form .-field input[type="tel"], form ._major.-navbar-float .-group .-field input[type="tel"], ._major.-navbar-float .-group form .-field input[type="tel"], form .-field._major input[type="time"], form .-group._major .-field input[type="time"], .-group._major form .-field input[type="time"], form .-navbar._major .-group .-field input[type="time"], .-navbar._major .-group form .-field input[type="time"], form ._major.-navbar-float .-group .-field input[type="time"], ._major.-navbar-float .-group form .-field input[type="time"], form .-field._major input[type="url"], form .-group._major .-field input[type="url"], .-group._major form .-field input[type="url"], form .-navbar._major .-group .-field input[type="url"], .-navbar._major .-group form .-field input[type="url"], form ._major.-navbar-float .-group .-field input[type="url"], ._major.-navbar-float .-group form .-field input[type="url"], form .-field._major textarea, form .-group._major .-field textarea, .-group._major form .-field textarea, form .-navbar._major .-group .-field textarea, .-navbar._major .-group form .-field textarea, form ._major.-navbar-float .-group .-field textarea, ._major.-navbar-float .-group form .-field textarea { + font-size: 17.5px; + line-height: 23.0px; + height: 35.0px; } + form .-field._big select, form .-group._big .-field select, .-group._big form .-field select, form .-navbar._big .-group .-field select, .-navbar._big .-group form .-field select, form ._big.-navbar-float .-group .-field select, ._big.-navbar-float .-group form .-field select, form .-field._big input[type="text"], form .-group._big .-field input[type="text"], .-group._big form .-field input[type="text"], form .-navbar._big .-group .-field input[type="text"], .-navbar._big .-group form .-field input[type="text"], form ._big.-navbar-float .-group .-field input[type="text"], ._big.-navbar-float .-group form .-field input[type="text"], form .-field._big input[type="password"], form .-group._big .-field input[type="password"], .-group._big form .-field input[type="password"], form .-navbar._big .-group .-field input[type="password"], .-navbar._big .-group form .-field input[type="password"], form ._big.-navbar-float .-group .-field input[type="password"], ._big.-navbar-float .-group form .-field input[type="password"], form .-field._big input[type="date"], form .-group._big .-field input[type="date"], .-group._big form .-field input[type="date"], form .-navbar._big .-group .-field input[type="date"], .-navbar._big .-group form .-field input[type="date"], form ._big.-navbar-float .-group .-field input[type="date"], ._big.-navbar-float .-group form .-field input[type="date"], form .-field._big input[type="datetime"], form .-group._big .-field input[type="datetime"], .-group._big form .-field input[type="datetime"], form .-navbar._big .-group .-field input[type="datetime"], .-navbar._big .-group form .-field input[type="datetime"], form ._big.-navbar-float .-group .-field input[type="datetime"], ._big.-navbar-float .-group form .-field input[type="datetime"], form .-field._big input[type="datetime-local"], form .-group._big .-field input[type="datetime-local"], .-group._big form .-field input[type="datetime-local"], form .-navbar._big .-group .-field input[type="datetime-local"], .-navbar._big .-group form .-field input[type="datetime-local"], form ._big.-navbar-float .-group .-field input[type="datetime-local"], ._big.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._big input[type="month"], form .-group._big .-field input[type="month"], .-group._big form .-field input[type="month"], form .-navbar._big .-group .-field input[type="month"], .-navbar._big .-group form .-field input[type="month"], form ._big.-navbar-float .-group .-field input[type="month"], ._big.-navbar-float .-group form .-field input[type="month"], form .-field._big input[type="week"], form .-group._big .-field input[type="week"], .-group._big form .-field input[type="week"], form .-navbar._big .-group .-field input[type="week"], .-navbar._big .-group form .-field input[type="week"], form ._big.-navbar-float .-group .-field input[type="week"], ._big.-navbar-float .-group form .-field input[type="week"], form .-field._big input[type="email"], form .-group._big .-field input[type="email"], .-group._big form .-field input[type="email"], form .-navbar._big .-group .-field input[type="email"], .-navbar._big .-group form .-field input[type="email"], form ._big.-navbar-float .-group .-field input[type="email"], ._big.-navbar-float .-group form .-field input[type="email"], form .-field._big input[type="number"], form .-group._big .-field input[type="number"], .-group._big form .-field input[type="number"], form .-navbar._big .-group .-field input[type="number"], .-navbar._big .-group form .-field input[type="number"], form ._big.-navbar-float .-group .-field input[type="number"], ._big.-navbar-float .-group form .-field input[type="number"], form .-field._big input[type="search"], form .-group._big .-field input[type="search"], .-group._big form .-field input[type="search"], form .-navbar._big .-group .-field input[type="search"], .-navbar._big .-group form .-field input[type="search"], form ._big.-navbar-float .-group .-field input[type="search"], ._big.-navbar-float .-group form .-field input[type="search"], form .-field._big input[type="tel"], form .-group._big .-field input[type="tel"], .-group._big form .-field input[type="tel"], form .-navbar._big .-group .-field input[type="tel"], .-navbar._big .-group form .-field input[type="tel"], form ._big.-navbar-float .-group .-field input[type="tel"], ._big.-navbar-float .-group form .-field input[type="tel"], form .-field._big input[type="time"], form .-group._big .-field input[type="time"], .-group._big form .-field input[type="time"], form .-navbar._big .-group .-field input[type="time"], .-navbar._big .-group form .-field input[type="time"], form ._big.-navbar-float .-group .-field input[type="time"], ._big.-navbar-float .-group form .-field input[type="time"], form .-field._big input[type="url"], form .-group._big .-field input[type="url"], .-group._big form .-field input[type="url"], form .-navbar._big .-group .-field input[type="url"], .-navbar._big .-group form .-field input[type="url"], form ._big.-navbar-float .-group .-field input[type="url"], ._big.-navbar-float .-group form .-field input[type="url"], form .-field._big textarea, form .-group._big .-field textarea, .-group._big form .-field textarea, form .-navbar._big .-group .-field textarea, .-navbar._big .-group form .-field textarea, form ._big.-navbar-float .-group .-field textarea, ._big.-navbar-float .-group form .-field textarea { + font-size: 21px; + line-height: 28.0px; + height: 40.0px; } + form .-field._huge select, form .-group._huge .-field select, .-group._huge form .-field select, form .-navbar._huge .-group .-field select, .-navbar._huge .-group form .-field select, form ._huge.-navbar-float .-group .-field select, ._huge.-navbar-float .-group form .-field select, form .-field._huge input[type="text"], form .-group._huge .-field input[type="text"], .-group._huge form .-field input[type="text"], form .-navbar._huge .-group .-field input[type="text"], .-navbar._huge .-group form .-field input[type="text"], form ._huge.-navbar-float .-group .-field input[type="text"], ._huge.-navbar-float .-group form .-field input[type="text"], form .-field._huge input[type="password"], form .-group._huge .-field input[type="password"], .-group._huge form .-field input[type="password"], form .-navbar._huge .-group .-field input[type="password"], .-navbar._huge .-group form .-field input[type="password"], form ._huge.-navbar-float .-group .-field input[type="password"], ._huge.-navbar-float .-group form .-field input[type="password"], form .-field._huge input[type="date"], form .-group._huge .-field input[type="date"], .-group._huge form .-field input[type="date"], form .-navbar._huge .-group .-field input[type="date"], .-navbar._huge .-group form .-field input[type="date"], form ._huge.-navbar-float .-group .-field input[type="date"], ._huge.-navbar-float .-group form .-field input[type="date"], form .-field._huge input[type="datetime"], form .-group._huge .-field input[type="datetime"], .-group._huge form .-field input[type="datetime"], form .-navbar._huge .-group .-field input[type="datetime"], .-navbar._huge .-group form .-field input[type="datetime"], form ._huge.-navbar-float .-group .-field input[type="datetime"], ._huge.-navbar-float .-group form .-field input[type="datetime"], form .-field._huge input[type="datetime-local"], form .-group._huge .-field input[type="datetime-local"], .-group._huge form .-field input[type="datetime-local"], form .-navbar._huge .-group .-field input[type="datetime-local"], .-navbar._huge .-group form .-field input[type="datetime-local"], form ._huge.-navbar-float .-group .-field input[type="datetime-local"], ._huge.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._huge input[type="month"], form .-group._huge .-field input[type="month"], .-group._huge form .-field input[type="month"], form .-navbar._huge .-group .-field input[type="month"], .-navbar._huge .-group form .-field input[type="month"], form ._huge.-navbar-float .-group .-field input[type="month"], ._huge.-navbar-float .-group form .-field input[type="month"], form .-field._huge input[type="week"], form .-group._huge .-field input[type="week"], .-group._huge form .-field input[type="week"], form .-navbar._huge .-group .-field input[type="week"], .-navbar._huge .-group form .-field input[type="week"], form ._huge.-navbar-float .-group .-field input[type="week"], ._huge.-navbar-float .-group form .-field input[type="week"], form .-field._huge input[type="email"], form .-group._huge .-field input[type="email"], .-group._huge form .-field input[type="email"], form .-navbar._huge .-group .-field input[type="email"], .-navbar._huge .-group form .-field input[type="email"], form ._huge.-navbar-float .-group .-field input[type="email"], ._huge.-navbar-float .-group form .-field input[type="email"], form .-field._huge input[type="number"], form .-group._huge .-field input[type="number"], .-group._huge form .-field input[type="number"], form .-navbar._huge .-group .-field input[type="number"], .-navbar._huge .-group form .-field input[type="number"], form ._huge.-navbar-float .-group .-field input[type="number"], ._huge.-navbar-float .-group form .-field input[type="number"], form .-field._huge input[type="search"], form .-group._huge .-field input[type="search"], .-group._huge form .-field input[type="search"], form .-navbar._huge .-group .-field input[type="search"], .-navbar._huge .-group form .-field input[type="search"], form ._huge.-navbar-float .-group .-field input[type="search"], ._huge.-navbar-float .-group form .-field input[type="search"], form .-field._huge input[type="tel"], form .-group._huge .-field input[type="tel"], .-group._huge form .-field input[type="tel"], form .-navbar._huge .-group .-field input[type="tel"], .-navbar._huge .-group form .-field input[type="tel"], form ._huge.-navbar-float .-group .-field input[type="tel"], ._huge.-navbar-float .-group form .-field input[type="tel"], form .-field._huge input[type="time"], form .-group._huge .-field input[type="time"], .-group._huge form .-field input[type="time"], form .-navbar._huge .-group .-field input[type="time"], .-navbar._huge .-group form .-field input[type="time"], form ._huge.-navbar-float .-group .-field input[type="time"], ._huge.-navbar-float .-group form .-field input[type="time"], form .-field._huge input[type="url"], form .-group._huge .-field input[type="url"], .-group._huge form .-field input[type="url"], form .-navbar._huge .-group .-field input[type="url"], .-navbar._huge .-group form .-field input[type="url"], form ._huge.-navbar-float .-group .-field input[type="url"], ._huge.-navbar-float .-group form .-field input[type="url"], form .-field._huge textarea, form .-group._huge .-field textarea, .-group._huge form .-field textarea, form .-navbar._huge .-group .-field textarea, .-navbar._huge .-group form .-field textarea, form ._huge.-navbar-float .-group .-field textarea, ._huge.-navbar-float .-group form .-field textarea { + font-size: 24.5px; + line-height: 33.0px; + height: 45.0px; } + form .-field._divine select, form .-group._divine .-field select, .-group._divine form .-field select, form .-navbar._divine .-group .-field select, .-navbar._divine .-group form .-field select, form ._divine.-navbar-float .-group .-field select, ._divine.-navbar-float .-group form .-field select, form .-field._divine input[type="text"], form .-group._divine .-field input[type="text"], .-group._divine form .-field input[type="text"], form .-navbar._divine .-group .-field input[type="text"], .-navbar._divine .-group form .-field input[type="text"], form ._divine.-navbar-float .-group .-field input[type="text"], ._divine.-navbar-float .-group form .-field input[type="text"], form .-field._divine input[type="password"], form .-group._divine .-field input[type="password"], .-group._divine form .-field input[type="password"], form .-navbar._divine .-group .-field input[type="password"], .-navbar._divine .-group form .-field input[type="password"], form ._divine.-navbar-float .-group .-field input[type="password"], ._divine.-navbar-float .-group form .-field input[type="password"], form .-field._divine input[type="date"], form .-group._divine .-field input[type="date"], .-group._divine form .-field input[type="date"], form .-navbar._divine .-group .-field input[type="date"], .-navbar._divine .-group form .-field input[type="date"], form ._divine.-navbar-float .-group .-field input[type="date"], ._divine.-navbar-float .-group form .-field input[type="date"], form .-field._divine input[type="datetime"], form .-group._divine .-field input[type="datetime"], .-group._divine form .-field input[type="datetime"], form .-navbar._divine .-group .-field input[type="datetime"], .-navbar._divine .-group form .-field input[type="datetime"], form ._divine.-navbar-float .-group .-field input[type="datetime"], ._divine.-navbar-float .-group form .-field input[type="datetime"], form .-field._divine input[type="datetime-local"], form .-group._divine .-field input[type="datetime-local"], .-group._divine form .-field input[type="datetime-local"], form .-navbar._divine .-group .-field input[type="datetime-local"], .-navbar._divine .-group form .-field input[type="datetime-local"], form ._divine.-navbar-float .-group .-field input[type="datetime-local"], ._divine.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._divine input[type="month"], form .-group._divine .-field input[type="month"], .-group._divine form .-field input[type="month"], form .-navbar._divine .-group .-field input[type="month"], .-navbar._divine .-group form .-field input[type="month"], form ._divine.-navbar-float .-group .-field input[type="month"], ._divine.-navbar-float .-group form .-field input[type="month"], form .-field._divine input[type="week"], form .-group._divine .-field input[type="week"], .-group._divine form .-field input[type="week"], form .-navbar._divine .-group .-field input[type="week"], .-navbar._divine .-group form .-field input[type="week"], form ._divine.-navbar-float .-group .-field input[type="week"], ._divine.-navbar-float .-group form .-field input[type="week"], form .-field._divine input[type="email"], form .-group._divine .-field input[type="email"], .-group._divine form .-field input[type="email"], form .-navbar._divine .-group .-field input[type="email"], .-navbar._divine .-group form .-field input[type="email"], form ._divine.-navbar-float .-group .-field input[type="email"], ._divine.-navbar-float .-group form .-field input[type="email"], form .-field._divine input[type="number"], form .-group._divine .-field input[type="number"], .-group._divine form .-field input[type="number"], form .-navbar._divine .-group .-field input[type="number"], .-navbar._divine .-group form .-field input[type="number"], form ._divine.-navbar-float .-group .-field input[type="number"], ._divine.-navbar-float .-group form .-field input[type="number"], form .-field._divine input[type="search"], form .-group._divine .-field input[type="search"], .-group._divine form .-field input[type="search"], form .-navbar._divine .-group .-field input[type="search"], .-navbar._divine .-group form .-field input[type="search"], form ._divine.-navbar-float .-group .-field input[type="search"], ._divine.-navbar-float .-group form .-field input[type="search"], form .-field._divine input[type="tel"], form .-group._divine .-field input[type="tel"], .-group._divine form .-field input[type="tel"], form .-navbar._divine .-group .-field input[type="tel"], .-navbar._divine .-group form .-field input[type="tel"], form ._divine.-navbar-float .-group .-field input[type="tel"], ._divine.-navbar-float .-group form .-field input[type="tel"], form .-field._divine input[type="time"], form .-group._divine .-field input[type="time"], .-group._divine form .-field input[type="time"], form .-navbar._divine .-group .-field input[type="time"], .-navbar._divine .-group form .-field input[type="time"], form ._divine.-navbar-float .-group .-field input[type="time"], ._divine.-navbar-float .-group form .-field input[type="time"], form .-field._divine input[type="url"], form .-group._divine .-field input[type="url"], .-group._divine form .-field input[type="url"], form .-navbar._divine .-group .-field input[type="url"], .-navbar._divine .-group form .-field input[type="url"], form ._divine.-navbar-float .-group .-field input[type="url"], ._divine.-navbar-float .-group form .-field input[type="url"], form .-field._divine textarea, form .-group._divine .-field textarea, .-group._divine form .-field textarea, form .-navbar._divine .-group .-field textarea, .-navbar._divine .-group form .-field textarea, form ._divine.-navbar-float .-group .-field textarea, ._divine.-navbar-float .-group form .-field textarea { + font-size: 28px; + line-height: 38.0px; + height: 50.0px; } form label._horizontal_ { - padding: 10px 12px; } + padding: 12px 12px; } fieldset { border: 1px solid rgba(0, 0, 0, 0.2); @@ -15572,7 +15633,7 @@ fieldset { white-space: nowrap; outline: none; position: relative; - padding: 6px 12px; + padding: 8px 12px; font-size: 14px; line-height: 1.42857; border-radius: 3px; @@ -15583,7 +15644,9 @@ fieldset { background-color: #f3f3f3; border-color: #d1d1d1; color: black; - font-size: 14px; } + font-size: 14px; + line-height: 18.0px; + height: 36.0px; } .-btn._vertical_, ._vertical_.-btn-ghost, ._vertical_.-btn-bordered, a._vertical_[href].-btn-ghost, a._vertical_[href].-btn-bordered { display: block; width: 100%; } @@ -15691,39 +15754,59 @@ fieldset { .-btn._unstyled_ .fa, ._unstyled_.-btn-ghost .fa, ._unstyled_.-btn-bordered .fa { padding-right: 4px; } .-btn._small, ._small.-btn-ghost, ._small.-btn-bordered, a._small[href].-btn-ghost, a._small[href].-btn-bordered, .-group._small .-btn, .-group._small .-btn-ghost, .-group._small .-btn-bordered, .-navbar._small .-btn, ._small.-navbar-float .-btn, .-navbar._small .-btn-ghost, ._small.-navbar-float .-btn-ghost, .-navbar._small .-btn-bordered, ._small.-navbar-float .-btn-bordered { - font-size: 7px; } + font-size: 7px; + line-height: 8.0px; + height: 26.0px; } .-btn._small._round_, ._small._round_.-btn-ghost, ._small._round_.-btn-bordered, .-group._small ._round_.-btn, .-group._small ._round_.-btn-ghost, .-group._small ._round_.-btn-bordered, .-navbar._small ._round_.-btn, ._small.-navbar-float ._round_.-btn, .-navbar._small ._round_.-btn-ghost, ._small.-navbar-float ._round_.-btn-ghost, .-navbar._small ._round_.-btn-bordered, ._small.-navbar-float ._round_.-btn-bordered { border-radius: 12px; } .-btn._minor, ._minor.-btn-ghost, ._minor.-btn-bordered, a._minor[href].-btn-ghost, a._minor[href].-btn-bordered, .-group._minor .-btn, .-group._minor .-btn-ghost, .-group._minor .-btn-bordered, .-navbar._minor .-btn, ._minor.-navbar-float .-btn, .-navbar._minor .-btn-ghost, ._minor.-navbar-float .-btn-ghost, .-navbar._minor .-btn-bordered, ._minor.-navbar-float .-btn-bordered { - font-size: 10.5px; } + font-size: 10.5px; + line-height: 13.0px; + height: 31.0px; } .-btn._minor._round_, ._minor._round_.-btn-ghost, ._minor._round_.-btn-bordered, .-group._minor ._round_.-btn, .-group._minor ._round_.-btn-ghost, .-group._minor ._round_.-btn-bordered, .-navbar._minor ._round_.-btn, ._minor.-navbar-float ._round_.-btn, .-navbar._minor ._round_.-btn-ghost, ._minor.-navbar-float ._round_.-btn-ghost, .-navbar._minor ._round_.-btn-bordered, ._minor.-navbar-float ._round_.-btn-bordered { border-radius: 15.5px; } .-btn._round_, ._round_.-btn-ghost, ._round_.-btn-bordered, a._round_[href].-btn-ghost, a._round_[href].-btn-bordered { border-radius: 19px; } - .-btn._normal, ._normal.-btn-ghost, ._normal.-btn-bordered, a._normal[href].-btn-ghost, a._normal[href].-btn-bordered, .-group._normal .-btn, .-group._normal .-btn-ghost, .-group._normal .-btn-bordered, .-navbar._normal .-btn, ._normal.-navbar-float .-btn, .-navbar._normal .-btn-ghost, ._normal.-navbar-float .-btn-ghost, .-navbar._normal .-btn-bordered, ._normal.-navbar-float .-btn-bordered { - font-size: 14px; } - .-btn._normal._round_, ._normal._round_.-btn-ghost, ._normal._round_.-btn-bordered, .-group._normal ._round_.-btn, .-group._normal ._round_.-btn-ghost, .-group._normal ._round_.-btn-bordered, .-navbar._normal ._round_.-btn, ._normal.-navbar-float ._round_.-btn, .-navbar._normal ._round_.-btn-ghost, ._normal.-navbar-float ._round_.-btn-ghost, .-navbar._normal ._round_.-btn-bordered, ._normal.-navbar-float ._round_.-btn-bordered { + .-btn._normal, ._normal.-btn-ghost, ._normal.-btn-bordered, a._normal[href].-btn-ghost, a._normal[href].-btn-bordered, .-group .-btn, .-group .-btn-ghost, .-group .-btn-bordered, .-group a[href].-btn-ghost, .-group a[href].-btn-bordered, .-group._normal .-btn, .-group._normal .-btn-ghost, .-group._normal .-btn-bordered, .-navbar._normal .-btn, ._normal.-navbar-float .-btn, .-navbar._normal .-btn-ghost, ._normal.-navbar-float .-btn-ghost, .-navbar._normal .-btn-bordered, ._normal.-navbar-float .-btn-bordered { + font-size: 14px; + line-height: 18.0px; + height: 36.0px; } + .-btn._normal._round_, ._normal._round_.-btn-ghost, ._normal._round_.-btn-bordered, .-group ._round_.-btn, .-group ._round_.-btn-ghost, .-group ._round_.-btn-bordered, .-navbar._normal ._round_.-btn, ._normal.-navbar-float ._round_.-btn, .-navbar._normal ._round_.-btn-ghost, ._normal.-navbar-float ._round_.-btn-ghost, .-navbar._normal ._round_.-btn-bordered, ._normal.-navbar-float ._round_.-btn-bordered { border-radius: 19px; } .-btn._major, ._major.-btn-ghost, ._major.-btn-bordered, a._major[href].-btn-ghost, a._major[href].-btn-bordered, .-group._major .-btn, .-group._major .-btn-ghost, .-group._major .-btn-bordered, .-navbar._major .-btn, ._major.-navbar-float .-btn, .-navbar._major .-btn-ghost, ._major.-navbar-float .-btn-ghost, .-navbar._major .-btn-bordered, ._major.-navbar-float .-btn-bordered { - font-size: 17.5px; } + font-size: 17.5px; + line-height: 23.0px; + height: 41.0px; } .-btn._major._round_, ._major._round_.-btn-ghost, ._major._round_.-btn-bordered, .-group._major ._round_.-btn, .-group._major ._round_.-btn-ghost, .-group._major ._round_.-btn-bordered, .-navbar._major ._round_.-btn, ._major.-navbar-float ._round_.-btn, .-navbar._major ._round_.-btn-ghost, ._major.-navbar-float ._round_.-btn-ghost, .-navbar._major ._round_.-btn-bordered, ._major.-navbar-float ._round_.-btn-bordered { border-radius: 22.5px; } .-btn._big, ._big.-btn-ghost, ._big.-btn-bordered, a._big[href].-btn-ghost, a._big[href].-btn-bordered, .-group._big .-btn, .-group._big .-btn-ghost, .-group._big .-btn-bordered, .-navbar._big .-btn, ._big.-navbar-float .-btn, .-navbar._big .-btn-ghost, ._big.-navbar-float .-btn-ghost, .-navbar._big .-btn-bordered, ._big.-navbar-float .-btn-bordered { - font-size: 21px; } + font-size: 21px; + line-height: 28.0px; + height: 46.0px; } .-btn._big._round_, ._big._round_.-btn-ghost, ._big._round_.-btn-bordered, .-group._big ._round_.-btn, .-group._big ._round_.-btn-ghost, .-group._big ._round_.-btn-bordered, .-navbar._big ._round_.-btn, ._big.-navbar-float ._round_.-btn, .-navbar._big ._round_.-btn-ghost, ._big.-navbar-float ._round_.-btn-ghost, .-navbar._big ._round_.-btn-bordered, ._big.-navbar-float ._round_.-btn-bordered { border-radius: 26px; } .-btn._huge, ._huge.-btn-ghost, ._huge.-btn-bordered, a._huge[href].-btn-ghost, a._huge[href].-btn-bordered, .-group._huge .-btn, .-group._huge .-btn-ghost, .-group._huge .-btn-bordered, .-navbar._huge .-btn, ._huge.-navbar-float .-btn, .-navbar._huge .-btn-ghost, ._huge.-navbar-float .-btn-ghost, .-navbar._huge .-btn-bordered, ._huge.-navbar-float .-btn-bordered { - font-size: 24.5px; } + font-size: 24.5px; + line-height: 33.0px; + height: 51.0px; } .-btn._huge._round_, ._huge._round_.-btn-ghost, ._huge._round_.-btn-bordered, .-group._huge ._round_.-btn, .-group._huge ._round_.-btn-ghost, .-group._huge ._round_.-btn-bordered, .-navbar._huge ._round_.-btn, ._huge.-navbar-float ._round_.-btn, .-navbar._huge ._round_.-btn-ghost, ._huge.-navbar-float ._round_.-btn-ghost, .-navbar._huge ._round_.-btn-bordered, ._huge.-navbar-float ._round_.-btn-bordered { border-radius: 29.5px; } .-btn._divine, ._divine.-btn-ghost, ._divine.-btn-bordered, a._divine[href].-btn-ghost, a._divine[href].-btn-bordered, .-group._divine .-btn, .-group._divine .-btn-ghost, .-group._divine .-btn-bordered, .-navbar._divine .-btn, ._divine.-navbar-float .-btn, .-navbar._divine .-btn-ghost, ._divine.-navbar-float .-btn-ghost, .-navbar._divine .-btn-bordered, ._divine.-navbar-float .-btn-bordered { - font-size: 28px; } + font-size: 28px; + line-height: 38.0px; + height: 56.0px; } .-btn._divine._round_, ._divine._round_.-btn-ghost, ._divine._round_.-btn-bordered, .-group._divine ._round_.-btn, .-group._divine ._round_.-btn-ghost, .-group._divine ._round_.-btn-bordered, .-navbar._divine ._round_.-btn, ._divine.-navbar-float ._round_.-btn, .-navbar._divine ._round_.-btn-ghost, ._divine.-navbar-float ._round_.-btn-ghost, .-navbar._divine ._round_.-btn-bordered, ._divine.-navbar-float ._round_.-btn-bordered { border-radius: 33px; } a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered { font-weight: normal; } +input.-btn::-moz-focus-inner, input.-btn-ghost::-moz-focus-inner, input.-btn-bordered::-moz-focus-inner, button.-btn::-moz-focus-inner, button.-btn-ghost::-moz-focus-inner, button.-btn-bordered::-moz-focus-inner { + border: 0; + padding: 0; + margin-top: -3px; + margin-bottom: -3px; } + .-btn-ghost, .-btn-bordered, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered { border-radius: 3px; font-weight: 200; @@ -15731,7 +15814,9 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered border-color: #d9d9d9; color: #cccccc; border-width: 3px; - font-size: 14px; } + font-size: 14px; + line-height: 14.0px; + height: 36.0px; } .-btn-ghost:hover, .-btn-ghost._hovered_, .-btn-bordered:hover, .-btn-bordered._hovered_, a.-btn-ghost:hover, a.-btn-ghost._hovered_, a.-btn-bordered:hover, a.-btn-bordered._hovered_, a[href].-btn-ghost:hover, a[href].-btn-ghost._hovered_, a[href].-btn-bordered:hover, a[href].-btn-bordered._hovered_ { background-color: #d9d9d9; color: black; } @@ -15850,25 +15935,39 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered color: #2e84a9; } .-btn-ghost._small, .-btn-bordered._small, a.-btn-ghost._small, a.-btn-bordered._small, a[href].-btn-ghost._small, a[href].-btn-bordered._small { border-width: 1.5px; - font-size: 7px; } + font-size: 7px; + line-height: 7.0px; + height: 26.0px; } .-btn-ghost._minor, .-btn-bordered._minor, a.-btn-ghost._minor, a.-btn-bordered._minor, a[href].-btn-ghost._minor, a[href].-btn-bordered._minor { border-width: 2.25px; - font-size: 10.5px; } + font-size: 10.5px; + line-height: 10.5px; + height: 31.0px; } .-btn-ghost._normal, .-btn-bordered._normal, a.-btn-ghost._normal, a.-btn-bordered._normal, a[href].-btn-ghost._normal, a[href].-btn-bordered._normal { border-width: 3px; - font-size: 14px; } + font-size: 14px; + line-height: 14.0px; + height: 36.0px; } .-btn-ghost._major, .-btn-bordered._major, a.-btn-ghost._major, a.-btn-bordered._major, a[href].-btn-ghost._major, a[href].-btn-bordered._major { border-width: 3.75px; - font-size: 17.5px; } + font-size: 17.5px; + line-height: 17.5px; + height: 41.0px; } .-btn-ghost._big, .-btn-bordered._big, a.-btn-ghost._big, a.-btn-bordered._big, a[href].-btn-ghost._big, a[href].-btn-bordered._big { border-width: 4.5px; - font-size: 21px; } + font-size: 21px; + line-height: 21.0px; + height: 46.0px; } .-btn-ghost._huge, .-btn-bordered._huge, a.-btn-ghost._huge, a.-btn-bordered._huge, a[href].-btn-ghost._huge, a[href].-btn-bordered._huge { border-width: 5.25px; - font-size: 24.5px; } + font-size: 24.5px; + line-height: 24.5px; + height: 51.0px; } .-btn-ghost._divine, .-btn-bordered._divine, a.-btn-ghost._divine, a.-btn-bordered._divine, a[href].-btn-ghost._divine, a[href].-btn-bordered._divine { border-width: 6px; - font-size: 28px; } + font-size: 28px; + line-height: 28.0px; + height: 56.0px; } .-group { display: inline-block; @@ -15921,7 +16020,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered vertical-align: top; border-collapse: separate; } .-group .-field select, .-group .-field input[type="text"], .-group .-field input[type="password"], .-group .-field input[type="date"], .-group .-field input[type="datetime"], .-group .-field input[type="datetime-local"], .-group .-field input[type="month"], .-group .-field input[type="week"], .-group .-field input[type="email"], .-group .-field input[type="number"], .-group .-field input[type="search"], .-group .-field input[type="tel"], .-group .-field input[type="time"], .-group .-field input[type="url"], .-group .-field textarea { - padding: 3px 12px; } + padding: 5px 12px; } .-group .-field:not(:first-child):not(:last-child) { border-radius: 0; } .-group .-field:first-child:not(:last-child) { @@ -15948,12 +16047,14 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - padding: 6px 12px; + padding: 8px 12px; font-size: 14px; line-height: 1.42857; border-radius: 3px; background-color: #eeeeee; - font-size: 14px; } + font-size: 14px; + line-height: 20.0px; + height: 36.0px; } .-group .-addon:not(:first-child):not(:last-child) { border-radius: 0; } .-group .-addon:first-child:not(:last-child) { @@ -15989,19 +16090,33 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered .-group .-addon.-dark-._unstyled_, .-group.-dark- ._unstyled_.-addon { color: black; } .-group .-addon._small, .-group._small .-addon, .-navbar._small .-group .-addon, ._small.-navbar-float .-group .-addon { - font-size: 7px; } + font-size: 7px; + line-height: 10.0px; + height: 26.0px; } .-group .-addon._minor, .-group._minor .-addon, .-navbar._minor .-group .-addon, ._minor.-navbar-float .-group .-addon { - font-size: 10.5px; } + font-size: 10.5px; + line-height: 15.0px; + height: 31.0px; } .-group .-addon._normal, .-group._normal .-addon, .-navbar._normal .-group .-addon, ._normal.-navbar-float .-group .-addon { - font-size: 14px; } + font-size: 14px; + line-height: 20.0px; + height: 36.0px; } .-group .-addon._major, .-group._major .-addon, .-navbar._major .-group .-addon, ._major.-navbar-float .-group .-addon { - font-size: 17.5px; } + font-size: 17.5px; + line-height: 25.0px; + height: 41.0px; } .-group .-addon._big, .-group._big .-addon, .-navbar._big .-group .-addon, ._big.-navbar-float .-group .-addon { - font-size: 21px; } + font-size: 21px; + line-height: 30.0px; + height: 46.0px; } .-group .-addon._huge, .-group._huge .-addon, .-navbar._huge .-group .-addon, ._huge.-navbar-float .-group .-addon { - font-size: 24.5px; } + font-size: 24.5px; + line-height: 35.0px; + height: 51.0px; } .-group .-addon._divine, .-group._divine .-addon, .-navbar._divine .-group .-addon, ._divine.-navbar-float .-group .-addon { - font-size: 28px; } + font-size: 28px; + line-height: 40.0px; + height: 56.0px; } .-group._justify_ .-addon { display: table-cell; @@ -16186,7 +16301,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered margin-right: 1px; bottom: -1px; } .-tabs li a { - padding: 6px 12px; + padding: 8px 12px; border-radius: 3px 3px 0 0; border-width: 1px; border-style: solid; @@ -16443,7 +16558,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered padding: 0; list-style: none; } .-pills li a { - padding: 6px 12px; + padding: 8px 12px; border-radius: 3px; border-width: 1px; border-style: solid; @@ -16627,7 +16742,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered float: left; margin-right: 1px; } .-menu li a { - padding: 6px 12px; + padding: 8px 12px; border-radius: 0px; border-width: 1px; border-style: solid; @@ -16668,7 +16783,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered -moz-perspective-origin: 0% 50%; perspective-origin: 0% 50%; } .-menu li .-drop .-menu li a { - padding: 6px 57px 6px 12px; } + padding: 8px 57px 8px 12px; } .-menu li .-drop .-menu li a .-addon { position: absolute; right: 12px; } @@ -16857,9 +16972,18 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered .-menu._vertical_ li { margin-right: 0; margin-bottom: 1px; - float: none; } + float: none; + display: block; + width: auto; } .-menu._hovered_ li:hover > .-drop { display: block; } + @media screen and (max-width: 768px) { + .-menu._responsive_ li { + margin-right: 0; + margin-bottom: 1px; + float: none; + display: block; + width: auto; } } .-navbar, .-navbar-float { display: block; @@ -16891,14 +17015,14 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered .-navbar .-menu li a, .-navbar-float .-menu li a { padding: 15.0px 12px; } .-navbar .-pills li a, .-navbar-float .-pills li a { - margin-top: 9.0px; - margin-bottom: 9.0px; } + margin-top: 7.0px; + margin-bottom: 7.0px; } .-navbar .-btn, .-navbar-float .-btn, .-navbar .-btn-ghost, .-navbar-float .-btn-ghost, .-navbar .-btn-bordered, .-navbar-float .-btn-bordered, .-navbar a[href].-btn-ghost, .-navbar-float a[href].-btn-ghost, .-navbar a[href].-btn-bordered, .-navbar-float a[href].-btn-bordered { - margin-top: 9.0px; - margin-bottom: 9.0px; } + margin-top: 7.0px; + margin-bottom: 7.0px; } .-navbar .-group, .-navbar-float .-group { - margin-top: 9.0px; - margin-bottom: 9.0px; } + margin-top: 7.0px; + margin-bottom: 7.0px; } .-navbar .-group .-btn, .-navbar-float .-group .-btn, .-navbar .-group .-btn-ghost, .-navbar-float .-group .-btn-ghost, .-navbar .-group .-btn-bordered, .-navbar-float .-group .-btn-bordered { margin-top: 0; margin-bottom: 0; } @@ -17022,7 +17146,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered float: none; display: block; } .-list-group li a { - padding: 3px 12px; + padding: 4px 12px; border-left-width: 1px; border-style: solid; border-color: transparent; @@ -17041,19 +17165,19 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered right: 12px; } .-list-group li > .-list-group { display: none; - padding-bottom: 6px; } + padding-bottom: 8px; } .-list-group li._active_ > a { cursor: inherit; font-weight: bold; - padding: 3px 12px 3px 10px; + padding: 4px 12px 4px 10px; border-left-width: 2px; } .-list-group li._active_ > .-list-group { display: block; } .-list-group li li a { - padding: 1.5px 12px 1.5px 24px; + padding: 2px 12px 2px 24px; font-size: 80%; } .-list-group li li._active_ a { - padding: 1.5px 12px 1.5px 22px; } + padding: 2px 12px 2px 22px; } .-list-group._visible_ li .-list-group { display: block; } .-list-group._right_ li a { @@ -17466,7 +17590,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - padding: 2px 8px; + padding: 2.66667px 8px; font-size: 14px; line-height: 1.42857; } .-progress .-bar:first-child:not(:last-child), .-progress-slim .-bar:first-child:not(:last-child) { @@ -17622,10 +17746,10 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered .-thumbnail-caption { font-size: 80%; position: relative; - margin-top: 12px; - margin-bottom: 12px; - padding-top: 12px; - padding-bottom: 12px; } + margin-top: 16px; + margin-bottom: 16px; + padding-top: 16px; + padding-bottom: 16px; } .-thumbnail-caption p { opacity: 0.7; } .-thumbnail-caption h1, .-thumbnail-caption .-h1, .-thumbnail-caption h2, .-thumbnail-caption .-h2, .-thumbnail-caption h3, .-thumbnail-caption .-h3, .-thumbnail-caption h4, .-thumbnail-caption .-h4, .-thumbnail-caption h5, .-thumbnail-caption .-h5, .-thumbnail-caption h6, .-thumbnail-caption .-h6 { @@ -17663,7 +17787,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered min-width: 200px; } .-thumbnail-caption._left_ { right: 100%; - margin-right: 12px; + margin-right: 16px; text-align: right; } .-thumbnail-caption._left_:before { left: inherit; @@ -17673,7 +17797,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered text-align: right; } .-thumbnail-caption._right_ { left: 100%; - margin-left: 12px; + margin-left: 16px; text-align: left; } .-thumbnail-caption._right_:before { left: 0; @@ -17690,7 +17814,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered border-color: transparent; outline: none; position: relative; - padding: 12px 12px; + padding: 16px 12px; font-size: 14px; line-height: 1.42857; background-color: #f3f3f3; diff --git a/docs/coffee/contents.coffee b/docs/coffee/contents.coffee index 3cda025..935cc3f 100644 --- a/docs/coffee/contents.coffee +++ b/docs/coffee/contents.coffee @@ -53,6 +53,11 @@ exports.start = [ menu: 'add or edit sizes' path: 'howtoSizeManage' } + { + name: 'editPrefixes' + menu: 'change name convention' + path: 'howtoChangeNameconvention' + } ] } ] diff --git a/docs/coffee/layouts/pages/components.coffee b/docs/coffee/layouts/pages/components.coffee index bf7ee2b..53c1229 100644 --- a/docs/coffee/layouts/pages/components.coffee +++ b/docs/coffee/layouts/pages/components.coffee @@ -211,9 +211,9 @@ exports.module = Marionette.Layout.extend # SCROLLSPY - # @$el.find('[data-spy="scroll"]').each (index, scrollspy) -> - # scrollspy.scrollspy - # offset: 100 + @$el.find('[data-spy="scroll"]').each (index, scrollspy) -> + scrollspy.scrollspy + offset: 100 # SKYLINE @$el.find('[data-spy="skyline"]').each (index, skyline) -> diff --git a/docs/css/main.css b/docs/css/main.css index a88c538..67c4c28 100644 --- a/docs/css/main.css +++ b/docs/css/main.css @@ -155,11 +155,11 @@ html, body { to { opacity: 0; } } -.-fadein--.-start--, .-fadein--.-drop._active_, .-menu._hovered_ li:hover > .-fadein--.-drop, .-fadein--.-shader._active_ { +.-fadein--.-start--, .-fadein--.-drop._active_, .-menu._hovered_ li:hover > .-fadein--.-drop, .-list-group li._active_ > .-fadein--.-list-group, .-fadein--.-shader._active_ { -webkit-animation: fadeIn 0.3s forwards ease-out; -moz-animation: fadeIn 0.3s forwards ease-out; animation: fadeIn 0.3s forwards ease-out; } -.-fadein--.-stop-- { +.-fadein--.-stop--, .-list-group li > .-fadein--.-list-group { -webkit-animation: fadeOut 0.3s forwards ease-out; -moz-animation: fadeOut 0.3s forwards ease-out; animation: fadeOut 0.3s forwards ease-out; } @@ -3402,11 +3402,11 @@ html, body { -ms-transform-origin: 50% 50%; -o-transform-origin: 50% 50%; transform-origin: 50% 50%; } - .-fall--.-start--, .-fall--.-drop._active_, .-menu._hovered_ li:hover > .-fall--.-drop, .-fall--.-shader._active_ { + .-fall--.-start--, .-fall--.-drop._active_, .-menu._hovered_ li:hover > .-fall--.-drop, .-list-group li._active_ > .-fall--.-list-group, .-fall--.-shader._active_ { -webkit-animation: fallIn 2s forwards linear; -moz-animation: fallIn 2s forwards linear; animation: fallIn 2s forwards linear; } - .-fall--.-stop-- { + .-fall--.-stop--, .-list-group li > .-fall--.-list-group { -webkit-animation: fallOut 2s forwards linear; -moz-animation: fallOut 2s forwards linear; animation: fallOut 2s forwards linear; } @@ -6643,11 +6643,11 @@ html, body { -ms-transform: rotateY(-90deg) rotateX(-20deg); -o-transform: rotateY(-90deg) rotateX(-20deg); transform: rotateY(-90deg) rotateX(-20deg); } } -.-flipvertical--.-start--, .-flipvertical--.-drop._active_, .-menu._hovered_ li:hover > .-flipvertical--.-drop, .-flipvertical--.-shader._active_ { +.-flipvertical--.-start--, .-flipvertical--.-drop._active_, .-menu._hovered_ li:hover > .-flipvertical--.-drop, .-list-group li._active_ > .-flipvertical--.-list-group, .-flipvertical--.-shader._active_ { -webkit-animation: flipIn 1.5s forwards linear; -moz-animation: flipIn 1.5s forwards linear; animation: flipIn 1.5s forwards linear; } -.-flipvertical--.-stop-- { +.-flipvertical--.-stop--, .-list-group li > .-flipvertical--.-list-group { -webkit-animation: flipOut 0.2s forwards linear; -moz-animation: flipOut 0.2s forwards linear; animation: flipOut 0.2s forwards linear; } @@ -9884,11 +9884,11 @@ html, body { -ms-transform: rotateX(-70deg); -o-transform: rotateX(-70deg); transform: rotateX(-70deg); } } -.-fliphorizontal--.-start--, .-fliphorizontal--.-drop._active_, .-menu._hovered_ li:hover > .-fliphorizontal--.-drop, .-fliphorizontal--.-shader._active_ { +.-fliphorizontal--.-start--, .-fliphorizontal--.-drop._active_, .-menu._hovered_ li:hover > .-fliphorizontal--.-drop, .-list-group li._active_ > .-fliphorizontal--.-list-group, .-fliphorizontal--.-shader._active_ { -webkit-animation: flipHorizontalIn 1.5s forwards linear; -moz-animation: flipHorizontalIn 1.5s forwards linear; animation: flipHorizontalIn 1.5s forwards linear; } -.-fliphorizontal--.-stop-- { +.-fliphorizontal--.-stop--, .-list-group li > .-fliphorizontal--.-list-group { -webkit-animation: flipHorizontalOut 0.2s forwards linear; -moz-animation: flipHorizontalOut 0.2s forwards linear; animation: flipHorizontalOut 0.2s forwards linear; } @@ -13125,11 +13125,11 @@ html, body { -ms-transform: rotate(720deg) scale(0); -o-transform: rotate(720deg) scale(0); transform: rotate(720deg) scale(0); } } -.-newspaper--.-start--, .-newspaper--.-drop._active_, .-menu._hovered_ li:hover > .-newspaper--.-drop, .-newspaper--.-shader._active_ { +.-newspaper--.-start--, .-newspaper--.-drop._active_, .-menu._hovered_ li:hover > .-newspaper--.-drop, .-list-group li._active_ > .-newspaper--.-list-group, .-newspaper--.-shader._active_ { -webkit-animation: newspaperIn 1.5s forwards linear; -moz-animation: newspaperIn 1.5s forwards linear; animation: newspaperIn 1.5s forwards linear; } -.-newspaper--.-stop-- { +.-newspaper--.-stop--, .-list-group li > .-newspaper--.-list-group { -webkit-animation: newspaperOut 0.2s forwards linear; -moz-animation: newspaperOut 0.2s forwards linear; animation: newspaperOut 0.2s forwards linear; } @@ -13198,11 +13198,11 @@ html, body { -o-transform: translateY(25%) rotateX(-35deg); transform: translateY(25%) rotateX(-35deg); opacity: 0; } } -.-hugeinc--.-start--, .-hugeinc--.-drop._active_, .-menu._hovered_ li:hover > .-hugeinc--.-drop, .-hugeinc--.-shader._active_ { +.-hugeinc--.-start--, .-hugeinc--.-drop._active_, .-menu._hovered_ li:hover > .-hugeinc--.-drop, .-list-group li._active_ > .-hugeinc--.-list-group, .-hugeinc--.-shader._active_ { -webkit-animation: hugeincIn 0.5s forwards ease-in-out; -moz-animation: hugeincIn 0.5s forwards ease-in-out; animation: hugeincIn 0.5s forwards ease-in-out; } -.-hugeinc--.-stop-- { +.-hugeinc--.-stop--, .-list-group li > .-hugeinc--.-list-group { -webkit-animation: hugeincOut 0.5s forwards ease-in-out; -moz-animation: hugeincOut 0.5s forwards ease-in-out; animation: hugeincOut 0.5s forwards ease-in-out; } @@ -13271,11 +13271,11 @@ html, body { -o-transform: translateY(50px) translateX(50px); transform: translateY(50px) translateX(50px); opacity: 0; } } -.-corner--.-start--, .-corner--.-drop._active_, .-menu._hovered_ li:hover > .-corner--.-drop, .-corner--.-shader._active_ { +.-corner--.-start--, .-corner--.-drop._active_, .-menu._hovered_ li:hover > .-corner--.-drop, .-list-group li._active_ > .-corner--.-list-group, .-corner--.-shader._active_ { -webkit-animation: cornerIn 0.5s forwards ease-in-out; -moz-animation: cornerIn 0.5s forwards ease-in-out; animation: cornerIn 0.5s forwards ease-in-out; } -.-corner--.-stop-- { +.-corner--.-stop--, .-list-group li > .-corner--.-list-group { -webkit-animation: cornerOut 0.5s forwards ease-in-out; -moz-animation: cornerOut 0.5s forwards ease-in-out; animation: cornerOut 0.5s forwards ease-in-out; } @@ -13344,11 +13344,11 @@ html, body { -o-transform: translateY(-100%); transform: translateY(-100%); opacity: 0; } } -.-slidedown--.-start--, .-slidedown--.-drop._active_, .-menu._hovered_ li:hover > .-slidedown--.-drop, .-slidedown--.-shader._active_ { +.-slidedown--.-start--, .-slidedown--.-drop._active_, .-menu._hovered_ li:hover > .-slidedown--.-drop, .-list-group li._active_ > .-slidedown--.-list-group, .-slidedown--.-shader._active_ { -webkit-animation: slideDownIn 0.4s forwards ease-in-out; -moz-animation: slideDownIn 0.4s forwards ease-in-out; animation: slideDownIn 0.4s forwards ease-in-out; } -.-slidedown--.-stop-- { +.-slidedown--.-stop--, .-list-group li > .-slidedown--.-list-group { -webkit-animation: slideDownOut 0.4s forwards ease-in-out; -moz-animation: slideDownOut 0.4s forwards ease-in-out; animation: slideDownOut 0.4s forwards ease-in-out; } @@ -13417,11 +13417,11 @@ html, body { -o-transform: scale(1.2); transform: scale(1.2); opacity: 0; } } -.-scale--.-start--, .-scale--.-drop._active_, .-menu._hovered_ li:hover > .-scale--.-drop, .-scale--.-shader._active_ { +.-scale--.-start--, .-scale--.-drop._active_, .-menu._hovered_ li:hover > .-scale--.-drop, .-list-group li._active_ > .-scale--.-list-group, .-scale--.-shader._active_ { -webkit-animation: scaleIn 0.4s forwards ease-in-out; -moz-animation: scaleIn 0.4s forwards ease-in-out; animation: scaleIn 0.4s forwards ease-in-out; } -.-scale--.-stop-- { +.-scale--.-stop--, .-list-group li > .-scale--.-list-group { -webkit-animation: scaleOut 0.4s forwards ease-in-out; -moz-animation: scaleOut 0.4s forwards ease-in-out; animation: scaleOut 0.4s forwards ease-in-out; } @@ -13496,11 +13496,11 @@ html, body { -ms-transform-origin: 0% 50%; -o-transform-origin: 0% 50%; transform-origin: 0% 50%; } - .-door--.-start--, .-door--.-drop._active_, .-menu._hovered_ li:hover > .-door--.-drop, .-door--.-shader._active_ { + .-door--.-start--, .-door--.-drop._active_, .-menu._hovered_ li:hover > .-door--.-drop, .-list-group li._active_ > .-door--.-list-group, .-door--.-shader._active_ { -webkit-animation: doorIn 0.4s forwards ease-in-out; -moz-animation: doorIn 0.4s forwards ease-in-out; animation: doorIn 0.4s forwards ease-in-out; } - .-door--.-stop-- { + .-door--.-stop--, .-list-group li > .-door--.-list-group { -webkit-animation: doorOut 0.4s forwards ease-in-out; -moz-animation: doorOut 0.4s forwards ease-in-out; animation: doorOut 0.4s forwards ease-in-out; } @@ -13518,13 +13518,13 @@ html, body { -webkit-transition-delay: 0s; -moz-transition-delay: 0s; transition-delay: 0s; } - .-push-blur--.-stop-- { + .-push-blur--.-stop--, .-list-group li > .-push-blur--.-list-group { -ms-filter: blur(0px); -webkit-filter: blur(0px); -moz-filter: blur(0px); -o-filter: blur(0px); filter: url(#blur3px); } - .-push-blur--.-start--, .-push-blur--.-drop._active_, .-menu._hovered_ li:hover > .-push-blur--.-drop, .-push-blur--.-shader._active_ { + .-push-blur--.-start--, .-push-blur--.-drop._active_, .-menu._hovered_ li:hover > .-push-blur--.-drop, .-list-group li._active_ > .-push-blur--.-list-group, .-push-blur--.-shader._active_ { -ms-filter: blur(5px); -webkit-filter: blur(5px); -moz-filter: blur(5px); @@ -13583,11 +13583,11 @@ html, body { -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); } } -.-push-scaleout--.-start--, .-push-scaleout--.-drop._active_, .-menu._hovered_ li:hover > .-push-scaleout--.-drop, .-push-scaleout--.-shader._active_ { +.-push-scaleout--.-start--, .-push-scaleout--.-drop._active_, .-menu._hovered_ li:hover > .-push-scaleout--.-drop, .-list-group li._active_ > .-push-scaleout--.-list-group, .-push-scaleout--.-shader._active_ { -webkit-animation: pushScaleoutIn 0.4s forwards ease-in-out; -moz-animation: pushScaleoutIn 0.4s forwards ease-in-out; animation: pushScaleoutIn 0.4s forwards ease-in-out; } -.-push-scaleout--.-stop-- { +.-push-scaleout--.-stop--, .-list-group li > .-push-scaleout--.-list-group { -webkit-animation: pushScaleoutOut 0.4s forwards ease-in-out; -moz-animation: pushScaleoutOut 0.4s forwards ease-in-out; animation: pushScaleoutOut 0.4s forwards ease-in-out; } @@ -13644,11 +13644,11 @@ html, body { -ms-transform: translateX(0); -o-transform: translateX(0); transform: translateX(0); } } -.-push-right--.-start--, .-push-right--.-drop._active_, .-menu._hovered_ li:hover > .-push-right--.-drop, .-push-right--.-shader._active_ { +.-push-right--.-start--, .-push-right--.-drop._active_, .-menu._hovered_ li:hover > .-push-right--.-drop, .-list-group li._active_ > .-push-right--.-list-group, .-push-right--.-shader._active_ { -webkit-animation: pushRightIn 0.4s forwards ease-in-out; -moz-animation: pushRightIn 0.4s forwards ease-in-out; animation: pushRightIn 0.4s forwards ease-in-out; } -.-push-right--.-stop-- { +.-push-right--.-stop--, .-list-group li > .-push-right--.-list-group { -webkit-animation: pushRightOut 0.4s forwards ease-in-out; -moz-animation: pushRightOut 0.4s forwards ease-in-out; animation: pushRightOut 0.4s forwards ease-in-out; } @@ -13705,11 +13705,11 @@ html, body { -ms-transform: translateX(0); -o-transform: translateX(0); transform: translateX(0); } } -.-push-left--.-start--, .-push-left--.-drop._active_, .-menu._hovered_ li:hover > .-push-left--.-drop, .-push-left--.-shader._active_ { +.-push-left--.-start--, .-push-left--.-drop._active_, .-menu._hovered_ li:hover > .-push-left--.-drop, .-list-group li._active_ > .-push-left--.-list-group, .-push-left--.-shader._active_ { -webkit-animation: pushLeftIn 0.4s forwards ease-in-out; -moz-animation: pushLeftIn 0.4s forwards ease-in-out; animation: pushLeftIn 0.4s forwards ease-in-out; } -.-push-left--.-stop-- { +.-push-left--.-stop--, .-list-group li > .-push-left--.-list-group { -webkit-animation: pushLeftOut 0.4s forwards ease-in-out; -moz-animation: pushLeftOut 0.4s forwards ease-in-out; animation: pushLeftOut 0.4s forwards ease-in-out; } @@ -13772,12 +13772,12 @@ html, body { -ms-transform-origin: 50% 50%; -o-transform-origin: 50% 50%; transform-origin: 50% 50%; } - .-push-doorright--.-start--, .-push-doorright--.-drop._active_, .-menu._hovered_ li:hover > .-push-doorright--.-drop, .-push-doorright--.-shader._active_ { + .-push-doorright--.-start--, .-push-doorright--.-drop._active_, .-menu._hovered_ li:hover > .-push-doorright--.-drop, .-list-group li._active_ > .-push-doorright--.-list-group, .-push-doorright--.-shader._active_ { z-index: -1; -webkit-animation: pushDoorRightIn 0.4s forwards ease-in-out; -moz-animation: pushDoorRightIn 0.4s forwards ease-in-out; animation: pushDoorRightIn 0.4s forwards ease-in-out; } - .-push-doorright--.-stop-- { + .-push-doorright--.-stop--, .-list-group li > .-push-doorright--.-list-group { -webkit-animation: pushDoorRightOut 0.4s forwards ease-in-out; -moz-animation: pushDoorRightOut 0.4s forwards ease-in-out; animation: pushDoorRightOut 0.4s forwards ease-in-out; } @@ -13840,12 +13840,12 @@ html, body { -ms-transform-origin: 50% 50%; -o-transform-origin: 50% 50%; transform-origin: 50% 50%; } - .-push-doorleft--.-start--, .-push-doorleft--.-drop._active_, .-menu._hovered_ li:hover > .-push-doorleft--.-drop, .-push-doorleft--.-shader._active_ { + .-push-doorleft--.-start--, .-push-doorleft--.-drop._active_, .-menu._hovered_ li:hover > .-push-doorleft--.-drop, .-list-group li._active_ > .-push-doorleft--.-list-group, .-push-doorleft--.-shader._active_ { z-index: -1; -webkit-animation: pushDoorLeftIn 0.4s forwards ease-in-out; -moz-animation: pushDoorLeftIn 0.4s forwards ease-in-out; animation: pushDoorLeftIn 0.4s forwards ease-in-out; } - .-push-doorleft--.-stop-- { + .-push-doorleft--.-stop--, .-list-group li > .-push-doorleft--.-list-group { -webkit-animation: pushDoorLeftOut 0.4s forwards ease-in-out; -moz-animation: pushDoorLeftOut 0.4s forwards ease-in-out; animation: pushDoorLeftOut 0.4s forwards ease-in-out; } @@ -14691,7 +14691,7 @@ table, .-table { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - padding: 2px 8px; + padding: 2.66667px 8px; font-size: 14px; line-height: 1.42857; background-color: #f3f3f3; @@ -14770,7 +14770,7 @@ table, .-table { border-width: 0px; border-style: solid; border-radius: 50px; - padding: 1px 6px 0px 5px; + padding: 2px 6px 1px 5px; background-color: #f3f3f3; border-color: #f0f0f0; color: black; @@ -14844,11 +14844,15 @@ form .-row, form fieldset { margin-bottom: 20.0px; } form select, form input[type="text"], form input[type="password"], form input[type="date"], form input[type="datetime"], form input[type="datetime-local"], form input[type="month"], form input[type="week"], form input[type="email"], form input[type="number"], form input[type="search"], form input[type="tel"], form input[type="time"], form input[type="url"], form textarea { -webkit-appearance: none; + -moz-appearance: none; + -o-appearance: none; + -ms-appearance: none; + appearance: none; vertical-align: middle; font-family: inherit; font-size: 14px; line-height: 1.42857; - padding: 6px 12px; + padding: 8px 12px; margin: 0; border-radius: 0; -webkit-box-sizing: border-box; @@ -14857,7 +14861,9 @@ form select, form input[type="text"], form input[type="password"], form input[ty outline: none; width: 100%; border: 1px solid #b3b3b3; - font-size: 14px; } + font-size: 14px; + line-height: 18.0px; + height: 36.0px; } form select:active, form select:focus, form input[type="text"]:active, form input[type="text"]:focus, form input[type="password"]:active, form input[type="password"]:focus, form input[type="date"]:active, form input[type="date"]:focus, form input[type="datetime"]:active, form input[type="datetime"]:focus, form input[type="datetime-local"]:active, form input[type="datetime-local"]:focus, form input[type="month"]:active, form input[type="month"]:focus, form input[type="week"]:active, form input[type="week"]:focus, form input[type="email"]:active, form input[type="email"]:focus, form input[type="number"]:active, form input[type="number"]:focus, form input[type="search"]:active, form input[type="search"]:focus, form input[type="tel"]:active, form input[type="tel"]:focus, form input[type="time"]:active, form input[type="time"]:focus, form input[type="url"]:active, form input[type="url"]:focus, form textarea:active, form textarea:focus { box-shadow: 0 0 10px rgba(217, 217, 217, 0.4); } form select::-webkit-input-placeholder, form input[type="text"]::-webkit-input-placeholder, form input[type="password"]::-webkit-input-placeholder, form input[type="date"]::-webkit-input-placeholder, form input[type="datetime"]::-webkit-input-placeholder, form input[type="datetime-local"]::-webkit-input-placeholder, form input[type="month"]::-webkit-input-placeholder, form input[type="week"]::-webkit-input-placeholder, form input[type="email"]::-webkit-input-placeholder, form input[type="number"]::-webkit-input-placeholder, form input[type="search"]::-webkit-input-placeholder, form input[type="tel"]::-webkit-input-placeholder, form input[type="time"]::-webkit-input-placeholder, form input[type="url"]::-webkit-input-placeholder, form textarea::-webkit-input-placeholder { @@ -14948,20 +14954,34 @@ form select, form input[type="text"], form input[type="password"], form input[ty font-weight: 200; } form select:-ms-input-placeholder, form input[type="text"]:-ms-input-placeholder, form input[type="password"]:-ms-input-placeholder, form input[type="date"]:-ms-input-placeholder, form input[type="datetime"]:-ms-input-placeholder, form input[type="datetime-local"]:-ms-input-placeholder, form input[type="month"]:-ms-input-placeholder, form input[type="week"]:-ms-input-placeholder, form input[type="email"]:-ms-input-placeholder, form input[type="number"]:-ms-input-placeholder, form input[type="search"]:-ms-input-placeholder, form input[type="tel"]:-ms-input-placeholder, form input[type="time"]:-ms-input-placeholder, form input[type="url"]:-ms-input-placeholder, form textarea:-ms-input-placeholder { font-weight: 200; } - form select._small, form input[type="text"]._small, form .-field._small select, form .-group._small .-field select, .-group._small form .-field select, form .-navbar._small .-group .-field select, .-navbar._small .-group form .-field select, form ._small.-navbar-float .-group .-field select, ._small.-navbar-float .-group form .-field select, form .-field._small input[type="text"], form .-group._small .-field input[type="text"], .-group._small form .-field input[type="text"], form .-navbar._small .-group .-field input[type="text"], .-navbar._small .-group form .-field input[type="text"], form ._small.-navbar-float .-group .-field input[type="text"], ._small.-navbar-float .-group form .-field input[type="text"], form .-field._small input[type="password"], form .-group._small .-field input[type="password"], .-group._small form .-field input[type="password"], form .-navbar._small .-group .-field input[type="password"], .-navbar._small .-group form .-field input[type="password"], form ._small.-navbar-float .-group .-field input[type="password"], ._small.-navbar-float .-group form .-field input[type="password"], form .-field._small input[type="date"], form .-group._small .-field input[type="date"], .-group._small form .-field input[type="date"], form .-navbar._small .-group .-field input[type="date"], .-navbar._small .-group form .-field input[type="date"], form ._small.-navbar-float .-group .-field input[type="date"], ._small.-navbar-float .-group form .-field input[type="date"], form .-field._small input[type="datetime"], form .-group._small .-field input[type="datetime"], .-group._small form .-field input[type="datetime"], form .-navbar._small .-group .-field input[type="datetime"], .-navbar._small .-group form .-field input[type="datetime"], form ._small.-navbar-float .-group .-field input[type="datetime"], ._small.-navbar-float .-group form .-field input[type="datetime"], form .-field._small input[type="datetime-local"], form .-group._small .-field input[type="datetime-local"], .-group._small form .-field input[type="datetime-local"], form .-navbar._small .-group .-field input[type="datetime-local"], .-navbar._small .-group form .-field input[type="datetime-local"], form ._small.-navbar-float .-group .-field input[type="datetime-local"], ._small.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._small input[type="month"], form .-group._small .-field input[type="month"], .-group._small form .-field input[type="month"], form .-navbar._small .-group .-field input[type="month"], .-navbar._small .-group form .-field input[type="month"], form ._small.-navbar-float .-group .-field input[type="month"], ._small.-navbar-float .-group form .-field input[type="month"], form .-field._small input[type="week"], form .-group._small .-field input[type="week"], .-group._small form .-field input[type="week"], form .-navbar._small .-group .-field input[type="week"], .-navbar._small .-group form .-field input[type="week"], form ._small.-navbar-float .-group .-field input[type="week"], ._small.-navbar-float .-group form .-field input[type="week"], form .-field._small input[type="email"], form .-group._small .-field input[type="email"], .-group._small form .-field input[type="email"], form .-navbar._small .-group .-field input[type="email"], .-navbar._small .-group form .-field input[type="email"], form ._small.-navbar-float .-group .-field input[type="email"], ._small.-navbar-float .-group form .-field input[type="email"], form .-field._small input[type="number"], form .-group._small .-field input[type="number"], .-group._small form .-field input[type="number"], form .-navbar._small .-group .-field input[type="number"], .-navbar._small .-group form .-field input[type="number"], form ._small.-navbar-float .-group .-field input[type="number"], ._small.-navbar-float .-group form .-field input[type="number"], form .-field._small input[type="search"], form .-group._small .-field input[type="search"], .-group._small form .-field input[type="search"], form .-navbar._small .-group .-field input[type="search"], .-navbar._small .-group form .-field input[type="search"], form ._small.-navbar-float .-group .-field input[type="search"], ._small.-navbar-float .-group form .-field input[type="search"], form .-field._small input[type="tel"], form .-group._small .-field input[type="tel"], .-group._small form .-field input[type="tel"], form .-navbar._small .-group .-field input[type="tel"], .-navbar._small .-group form .-field input[type="tel"], form ._small.-navbar-float .-group .-field input[type="tel"], ._small.-navbar-float .-group form .-field input[type="tel"], form .-field._small input[type="time"], form .-group._small .-field input[type="time"], .-group._small form .-field input[type="time"], form .-navbar._small .-group .-field input[type="time"], .-navbar._small .-group form .-field input[type="time"], form ._small.-navbar-float .-group .-field input[type="time"], ._small.-navbar-float .-group form .-field input[type="time"], form .-field._small input[type="url"], form .-group._small .-field input[type="url"], .-group._small form .-field input[type="url"], form .-navbar._small .-group .-field input[type="url"], .-navbar._small .-group form .-field input[type="url"], form ._small.-navbar-float .-group .-field input[type="url"], ._small.-navbar-float .-group form .-field input[type="url"], form .-field._small textarea, form .-group._small .-field textarea, .-group._small form .-field textarea, form .-navbar._small .-group .-field textarea, .-navbar._small .-group form .-field textarea, form ._small.-navbar-float .-group .-field textarea, ._small.-navbar-float .-group form .-field textarea, form .-group._small select, .-group._small form select, form .-navbar._small .-group select, .-navbar._small .-group form select, form ._small.-navbar-float .-group select, ._small.-navbar-float .-group form select, form .-group._small input[type="text"], .-group._small form input[type="text"], form .-navbar._small .-group input[type="text"], .-navbar._small .-group form input[type="text"], form ._small.-navbar-float .-group input[type="text"], ._small.-navbar-float .-group form input[type="text"], form .-group._small input[type="password"], .-group._small form input[type="password"], form .-navbar._small .-group input[type="password"], .-navbar._small .-group form input[type="password"], form ._small.-navbar-float .-group input[type="password"], ._small.-navbar-float .-group form input[type="password"], form .-group._small input[type="date"], .-group._small form input[type="date"], form .-navbar._small .-group input[type="date"], .-navbar._small .-group form input[type="date"], form ._small.-navbar-float .-group input[type="date"], ._small.-navbar-float .-group form input[type="date"], form .-group._small input[type="datetime"], .-group._small form input[type="datetime"], form .-navbar._small .-group input[type="datetime"], .-navbar._small .-group form input[type="datetime"], form ._small.-navbar-float .-group input[type="datetime"], ._small.-navbar-float .-group form input[type="datetime"], form .-group._small input[type="datetime-local"], .-group._small form input[type="datetime-local"], form .-navbar._small .-group input[type="datetime-local"], .-navbar._small .-group form input[type="datetime-local"], form ._small.-navbar-float .-group input[type="datetime-local"], ._small.-navbar-float .-group form input[type="datetime-local"], form .-group._small input[type="month"], .-group._small form input[type="month"], form .-navbar._small .-group input[type="month"], .-navbar._small .-group form input[type="month"], form ._small.-navbar-float .-group input[type="month"], ._small.-navbar-float .-group form input[type="month"], form .-group._small input[type="week"], .-group._small form input[type="week"], form .-navbar._small .-group input[type="week"], .-navbar._small .-group form input[type="week"], form ._small.-navbar-float .-group input[type="week"], ._small.-navbar-float .-group form input[type="week"], form .-group._small input[type="email"], .-group._small form input[type="email"], form .-navbar._small .-group input[type="email"], .-navbar._small .-group form input[type="email"], form ._small.-navbar-float .-group input[type="email"], ._small.-navbar-float .-group form input[type="email"], form .-group._small input[type="number"], .-group._small form input[type="number"], form .-navbar._small .-group input[type="number"], .-navbar._small .-group form input[type="number"], form ._small.-navbar-float .-group input[type="number"], ._small.-navbar-float .-group form input[type="number"], form .-group._small input[type="search"], .-group._small form input[type="search"], form .-navbar._small .-group input[type="search"], .-navbar._small .-group form input[type="search"], form ._small.-navbar-float .-group input[type="search"], ._small.-navbar-float .-group form input[type="search"], form .-group._small input[type="tel"], .-group._small form input[type="tel"], form .-navbar._small .-group input[type="tel"], .-navbar._small .-group form input[type="tel"], form ._small.-navbar-float .-group input[type="tel"], ._small.-navbar-float .-group form input[type="tel"], form .-group._small input[type="time"], .-group._small form input[type="time"], form .-navbar._small .-group input[type="time"], .-navbar._small .-group form input[type="time"], form ._small.-navbar-float .-group input[type="time"], ._small.-navbar-float .-group form input[type="time"], form .-group._small input[type="url"], .-group._small form input[type="url"], form .-navbar._small .-group input[type="url"], .-navbar._small .-group form input[type="url"], form ._small.-navbar-float .-group input[type="url"], ._small.-navbar-float .-group form input[type="url"], form .-group._small textarea, .-group._small form textarea, form .-navbar._small .-group textarea, .-navbar._small .-group form textarea, form ._small.-navbar-float .-group textarea, ._small.-navbar-float .-group form textarea, form input[type="password"]._small, form input[type="date"]._small, form input[type="datetime"]._small, form input[type="datetime-local"]._small, form input[type="month"]._small, form input[type="week"]._small, form input[type="email"]._small, form input[type="number"]._small, form input[type="search"]._small, form input[type="tel"]._small, form input[type="time"]._small, form input[type="url"]._small, form textarea._small { - font-size: 7px; } - form select._minor, form input[type="text"]._minor, form .-field._minor select, form .-group._minor .-field select, .-group._minor form .-field select, form .-navbar._minor .-group .-field select, .-navbar._minor .-group form .-field select, form ._minor.-navbar-float .-group .-field select, ._minor.-navbar-float .-group form .-field select, form .-field._minor input[type="text"], form .-group._minor .-field input[type="text"], .-group._minor form .-field input[type="text"], form .-navbar._minor .-group .-field input[type="text"], .-navbar._minor .-group form .-field input[type="text"], form ._minor.-navbar-float .-group .-field input[type="text"], ._minor.-navbar-float .-group form .-field input[type="text"], form .-field._minor input[type="password"], form .-group._minor .-field input[type="password"], .-group._minor form .-field input[type="password"], form .-navbar._minor .-group .-field input[type="password"], .-navbar._minor .-group form .-field input[type="password"], form ._minor.-navbar-float .-group .-field input[type="password"], ._minor.-navbar-float .-group form .-field input[type="password"], form .-field._minor input[type="date"], form .-group._minor .-field input[type="date"], .-group._minor form .-field input[type="date"], form .-navbar._minor .-group .-field input[type="date"], .-navbar._minor .-group form .-field input[type="date"], form ._minor.-navbar-float .-group .-field input[type="date"], ._minor.-navbar-float .-group form .-field input[type="date"], form .-field._minor input[type="datetime"], form .-group._minor .-field input[type="datetime"], .-group._minor form .-field input[type="datetime"], form .-navbar._minor .-group .-field input[type="datetime"], .-navbar._minor .-group form .-field input[type="datetime"], form ._minor.-navbar-float .-group .-field input[type="datetime"], ._minor.-navbar-float .-group form .-field input[type="datetime"], form .-field._minor input[type="datetime-local"], form .-group._minor .-field input[type="datetime-local"], .-group._minor form .-field input[type="datetime-local"], form .-navbar._minor .-group .-field input[type="datetime-local"], .-navbar._minor .-group form .-field input[type="datetime-local"], form ._minor.-navbar-float .-group .-field input[type="datetime-local"], ._minor.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._minor input[type="month"], form .-group._minor .-field input[type="month"], .-group._minor form .-field input[type="month"], form .-navbar._minor .-group .-field input[type="month"], .-navbar._minor .-group form .-field input[type="month"], form ._minor.-navbar-float .-group .-field input[type="month"], ._minor.-navbar-float .-group form .-field input[type="month"], form .-field._minor input[type="week"], form .-group._minor .-field input[type="week"], .-group._minor form .-field input[type="week"], form .-navbar._minor .-group .-field input[type="week"], .-navbar._minor .-group form .-field input[type="week"], form ._minor.-navbar-float .-group .-field input[type="week"], ._minor.-navbar-float .-group form .-field input[type="week"], form .-field._minor input[type="email"], form .-group._minor .-field input[type="email"], .-group._minor form .-field input[type="email"], form .-navbar._minor .-group .-field input[type="email"], .-navbar._minor .-group form .-field input[type="email"], form ._minor.-navbar-float .-group .-field input[type="email"], ._minor.-navbar-float .-group form .-field input[type="email"], form .-field._minor input[type="number"], form .-group._minor .-field input[type="number"], .-group._minor form .-field input[type="number"], form .-navbar._minor .-group .-field input[type="number"], .-navbar._minor .-group form .-field input[type="number"], form ._minor.-navbar-float .-group .-field input[type="number"], ._minor.-navbar-float .-group form .-field input[type="number"], form .-field._minor input[type="search"], form .-group._minor .-field input[type="search"], .-group._minor form .-field input[type="search"], form .-navbar._minor .-group .-field input[type="search"], .-navbar._minor .-group form .-field input[type="search"], form ._minor.-navbar-float .-group .-field input[type="search"], ._minor.-navbar-float .-group form .-field input[type="search"], form .-field._minor input[type="tel"], form .-group._minor .-field input[type="tel"], .-group._minor form .-field input[type="tel"], form .-navbar._minor .-group .-field input[type="tel"], .-navbar._minor .-group form .-field input[type="tel"], form ._minor.-navbar-float .-group .-field input[type="tel"], ._minor.-navbar-float .-group form .-field input[type="tel"], form .-field._minor input[type="time"], form .-group._minor .-field input[type="time"], .-group._minor form .-field input[type="time"], form .-navbar._minor .-group .-field input[type="time"], .-navbar._minor .-group form .-field input[type="time"], form ._minor.-navbar-float .-group .-field input[type="time"], ._minor.-navbar-float .-group form .-field input[type="time"], form .-field._minor input[type="url"], form .-group._minor .-field input[type="url"], .-group._minor form .-field input[type="url"], form .-navbar._minor .-group .-field input[type="url"], .-navbar._minor .-group form .-field input[type="url"], form ._minor.-navbar-float .-group .-field input[type="url"], ._minor.-navbar-float .-group form .-field input[type="url"], form .-field._minor textarea, form .-group._minor .-field textarea, .-group._minor form .-field textarea, form .-navbar._minor .-group .-field textarea, .-navbar._minor .-group form .-field textarea, form ._minor.-navbar-float .-group .-field textarea, ._minor.-navbar-float .-group form .-field textarea, form .-group._minor select, .-group._minor form select, form .-navbar._minor .-group select, .-navbar._minor .-group form select, form ._minor.-navbar-float .-group select, ._minor.-navbar-float .-group form select, form .-group._minor input[type="text"], .-group._minor form input[type="text"], form .-navbar._minor .-group input[type="text"], .-navbar._minor .-group form input[type="text"], form ._minor.-navbar-float .-group input[type="text"], ._minor.-navbar-float .-group form input[type="text"], form .-group._minor input[type="password"], .-group._minor form input[type="password"], form .-navbar._minor .-group input[type="password"], .-navbar._minor .-group form input[type="password"], form ._minor.-navbar-float .-group input[type="password"], ._minor.-navbar-float .-group form input[type="password"], form .-group._minor input[type="date"], .-group._minor form input[type="date"], form .-navbar._minor .-group input[type="date"], .-navbar._minor .-group form input[type="date"], form ._minor.-navbar-float .-group input[type="date"], ._minor.-navbar-float .-group form input[type="date"], form .-group._minor input[type="datetime"], .-group._minor form input[type="datetime"], form .-navbar._minor .-group input[type="datetime"], .-navbar._minor .-group form input[type="datetime"], form ._minor.-navbar-float .-group input[type="datetime"], ._minor.-navbar-float .-group form input[type="datetime"], form .-group._minor input[type="datetime-local"], .-group._minor form input[type="datetime-local"], form .-navbar._minor .-group input[type="datetime-local"], .-navbar._minor .-group form input[type="datetime-local"], form ._minor.-navbar-float .-group input[type="datetime-local"], ._minor.-navbar-float .-group form input[type="datetime-local"], form .-group._minor input[type="month"], .-group._minor form input[type="month"], form .-navbar._minor .-group input[type="month"], .-navbar._minor .-group form input[type="month"], form ._minor.-navbar-float .-group input[type="month"], ._minor.-navbar-float .-group form input[type="month"], form .-group._minor input[type="week"], .-group._minor form input[type="week"], form .-navbar._minor .-group input[type="week"], .-navbar._minor .-group form input[type="week"], form ._minor.-navbar-float .-group input[type="week"], ._minor.-navbar-float .-group form input[type="week"], form .-group._minor input[type="email"], .-group._minor form input[type="email"], form .-navbar._minor .-group input[type="email"], .-navbar._minor .-group form input[type="email"], form ._minor.-navbar-float .-group input[type="email"], ._minor.-navbar-float .-group form input[type="email"], form .-group._minor input[type="number"], .-group._minor form input[type="number"], form .-navbar._minor .-group input[type="number"], .-navbar._minor .-group form input[type="number"], form ._minor.-navbar-float .-group input[type="number"], ._minor.-navbar-float .-group form input[type="number"], form .-group._minor input[type="search"], .-group._minor form input[type="search"], form .-navbar._minor .-group input[type="search"], .-navbar._minor .-group form input[type="search"], form ._minor.-navbar-float .-group input[type="search"], ._minor.-navbar-float .-group form input[type="search"], form .-group._minor input[type="tel"], .-group._minor form input[type="tel"], form .-navbar._minor .-group input[type="tel"], .-navbar._minor .-group form input[type="tel"], form ._minor.-navbar-float .-group input[type="tel"], ._minor.-navbar-float .-group form input[type="tel"], form .-group._minor input[type="time"], .-group._minor form input[type="time"], form .-navbar._minor .-group input[type="time"], .-navbar._minor .-group form input[type="time"], form ._minor.-navbar-float .-group input[type="time"], ._minor.-navbar-float .-group form input[type="time"], form .-group._minor input[type="url"], .-group._minor form input[type="url"], form .-navbar._minor .-group input[type="url"], .-navbar._minor .-group form input[type="url"], form ._minor.-navbar-float .-group input[type="url"], ._minor.-navbar-float .-group form input[type="url"], form .-group._minor textarea, .-group._minor form textarea, form .-navbar._minor .-group textarea, .-navbar._minor .-group form textarea, form ._minor.-navbar-float .-group textarea, ._minor.-navbar-float .-group form textarea, form input[type="password"]._minor, form input[type="date"]._minor, form input[type="datetime"]._minor, form input[type="datetime-local"]._minor, form input[type="month"]._minor, form input[type="week"]._minor, form input[type="email"]._minor, form input[type="number"]._minor, form input[type="search"]._minor, form input[type="tel"]._minor, form input[type="time"]._minor, form input[type="url"]._minor, form textarea._minor { - font-size: 10.5px; } - form select._normal, form input[type="text"]._normal, form .-field._normal select, form .-group._normal .-field select, .-group._normal form .-field select, form .-navbar._normal .-group .-field select, .-navbar._normal .-group form .-field select, form ._normal.-navbar-float .-group .-field select, ._normal.-navbar-float .-group form .-field select, form .-field._normal input[type="text"], form .-group._normal .-field input[type="text"], .-group._normal form .-field input[type="text"], form .-navbar._normal .-group .-field input[type="text"], .-navbar._normal .-group form .-field input[type="text"], form ._normal.-navbar-float .-group .-field input[type="text"], ._normal.-navbar-float .-group form .-field input[type="text"], form .-field._normal input[type="password"], form .-group._normal .-field input[type="password"], .-group._normal form .-field input[type="password"], form .-navbar._normal .-group .-field input[type="password"], .-navbar._normal .-group form .-field input[type="password"], form ._normal.-navbar-float .-group .-field input[type="password"], ._normal.-navbar-float .-group form .-field input[type="password"], form .-field._normal input[type="date"], form .-group._normal .-field input[type="date"], .-group._normal form .-field input[type="date"], form .-navbar._normal .-group .-field input[type="date"], .-navbar._normal .-group form .-field input[type="date"], form ._normal.-navbar-float .-group .-field input[type="date"], ._normal.-navbar-float .-group form .-field input[type="date"], form .-field._normal input[type="datetime"], form .-group._normal .-field input[type="datetime"], .-group._normal form .-field input[type="datetime"], form .-navbar._normal .-group .-field input[type="datetime"], .-navbar._normal .-group form .-field input[type="datetime"], form ._normal.-navbar-float .-group .-field input[type="datetime"], ._normal.-navbar-float .-group form .-field input[type="datetime"], form .-field._normal input[type="datetime-local"], form .-group._normal .-field input[type="datetime-local"], .-group._normal form .-field input[type="datetime-local"], form .-navbar._normal .-group .-field input[type="datetime-local"], .-navbar._normal .-group form .-field input[type="datetime-local"], form ._normal.-navbar-float .-group .-field input[type="datetime-local"], ._normal.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._normal input[type="month"], form .-group._normal .-field input[type="month"], .-group._normal form .-field input[type="month"], form .-navbar._normal .-group .-field input[type="month"], .-navbar._normal .-group form .-field input[type="month"], form ._normal.-navbar-float .-group .-field input[type="month"], ._normal.-navbar-float .-group form .-field input[type="month"], form .-field._normal input[type="week"], form .-group._normal .-field input[type="week"], .-group._normal form .-field input[type="week"], form .-navbar._normal .-group .-field input[type="week"], .-navbar._normal .-group form .-field input[type="week"], form ._normal.-navbar-float .-group .-field input[type="week"], ._normal.-navbar-float .-group form .-field input[type="week"], form .-field._normal input[type="email"], form .-group._normal .-field input[type="email"], .-group._normal form .-field input[type="email"], form .-navbar._normal .-group .-field input[type="email"], .-navbar._normal .-group form .-field input[type="email"], form ._normal.-navbar-float .-group .-field input[type="email"], ._normal.-navbar-float .-group form .-field input[type="email"], form .-field._normal input[type="number"], form .-group._normal .-field input[type="number"], .-group._normal form .-field input[type="number"], form .-navbar._normal .-group .-field input[type="number"], .-navbar._normal .-group form .-field input[type="number"], form ._normal.-navbar-float .-group .-field input[type="number"], ._normal.-navbar-float .-group form .-field input[type="number"], form .-field._normal input[type="search"], form .-group._normal .-field input[type="search"], .-group._normal form .-field input[type="search"], form .-navbar._normal .-group .-field input[type="search"], .-navbar._normal .-group form .-field input[type="search"], form ._normal.-navbar-float .-group .-field input[type="search"], ._normal.-navbar-float .-group form .-field input[type="search"], form .-field._normal input[type="tel"], form .-group._normal .-field input[type="tel"], .-group._normal form .-field input[type="tel"], form .-navbar._normal .-group .-field input[type="tel"], .-navbar._normal .-group form .-field input[type="tel"], form ._normal.-navbar-float .-group .-field input[type="tel"], ._normal.-navbar-float .-group form .-field input[type="tel"], form .-field._normal input[type="time"], form .-group._normal .-field input[type="time"], .-group._normal form .-field input[type="time"], form .-navbar._normal .-group .-field input[type="time"], .-navbar._normal .-group form .-field input[type="time"], form ._normal.-navbar-float .-group .-field input[type="time"], ._normal.-navbar-float .-group form .-field input[type="time"], form .-field._normal input[type="url"], form .-group._normal .-field input[type="url"], .-group._normal form .-field input[type="url"], form .-navbar._normal .-group .-field input[type="url"], .-navbar._normal .-group form .-field input[type="url"], form ._normal.-navbar-float .-group .-field input[type="url"], ._normal.-navbar-float .-group form .-field input[type="url"], form .-field._normal textarea, form .-group._normal .-field textarea, .-group._normal form .-field textarea, form .-navbar._normal .-group .-field textarea, .-navbar._normal .-group form .-field textarea, form ._normal.-navbar-float .-group .-field textarea, ._normal.-navbar-float .-group form .-field textarea, form .-group._normal select, .-group._normal form select, form .-navbar._normal .-group select, .-navbar._normal .-group form select, form ._normal.-navbar-float .-group select, ._normal.-navbar-float .-group form select, form .-group._normal input[type="text"], .-group._normal form input[type="text"], form .-navbar._normal .-group input[type="text"], .-navbar._normal .-group form input[type="text"], form ._normal.-navbar-float .-group input[type="text"], ._normal.-navbar-float .-group form input[type="text"], form .-group._normal input[type="password"], .-group._normal form input[type="password"], form .-navbar._normal .-group input[type="password"], .-navbar._normal .-group form input[type="password"], form ._normal.-navbar-float .-group input[type="password"], ._normal.-navbar-float .-group form input[type="password"], form .-group._normal input[type="date"], .-group._normal form input[type="date"], form .-navbar._normal .-group input[type="date"], .-navbar._normal .-group form input[type="date"], form ._normal.-navbar-float .-group input[type="date"], ._normal.-navbar-float .-group form input[type="date"], form .-group._normal input[type="datetime"], .-group._normal form input[type="datetime"], form .-navbar._normal .-group input[type="datetime"], .-navbar._normal .-group form input[type="datetime"], form ._normal.-navbar-float .-group input[type="datetime"], ._normal.-navbar-float .-group form input[type="datetime"], form .-group._normal input[type="datetime-local"], .-group._normal form input[type="datetime-local"], form .-navbar._normal .-group input[type="datetime-local"], .-navbar._normal .-group form input[type="datetime-local"], form ._normal.-navbar-float .-group input[type="datetime-local"], ._normal.-navbar-float .-group form input[type="datetime-local"], form .-group._normal input[type="month"], .-group._normal form input[type="month"], form .-navbar._normal .-group input[type="month"], .-navbar._normal .-group form input[type="month"], form ._normal.-navbar-float .-group input[type="month"], ._normal.-navbar-float .-group form input[type="month"], form .-group._normal input[type="week"], .-group._normal form input[type="week"], form .-navbar._normal .-group input[type="week"], .-navbar._normal .-group form input[type="week"], form ._normal.-navbar-float .-group input[type="week"], ._normal.-navbar-float .-group form input[type="week"], form .-group._normal input[type="email"], .-group._normal form input[type="email"], form .-navbar._normal .-group input[type="email"], .-navbar._normal .-group form input[type="email"], form ._normal.-navbar-float .-group input[type="email"], ._normal.-navbar-float .-group form input[type="email"], form .-group._normal input[type="number"], .-group._normal form input[type="number"], form .-navbar._normal .-group input[type="number"], .-navbar._normal .-group form input[type="number"], form ._normal.-navbar-float .-group input[type="number"], ._normal.-navbar-float .-group form input[type="number"], form .-group._normal input[type="search"], .-group._normal form input[type="search"], form .-navbar._normal .-group input[type="search"], .-navbar._normal .-group form input[type="search"], form ._normal.-navbar-float .-group input[type="search"], ._normal.-navbar-float .-group form input[type="search"], form .-group._normal input[type="tel"], .-group._normal form input[type="tel"], form .-navbar._normal .-group input[type="tel"], .-navbar._normal .-group form input[type="tel"], form ._normal.-navbar-float .-group input[type="tel"], ._normal.-navbar-float .-group form input[type="tel"], form .-group._normal input[type="time"], .-group._normal form input[type="time"], form .-navbar._normal .-group input[type="time"], .-navbar._normal .-group form input[type="time"], form ._normal.-navbar-float .-group input[type="time"], ._normal.-navbar-float .-group form input[type="time"], form .-group._normal input[type="url"], .-group._normal form input[type="url"], form .-navbar._normal .-group input[type="url"], .-navbar._normal .-group form input[type="url"], form ._normal.-navbar-float .-group input[type="url"], ._normal.-navbar-float .-group form input[type="url"], form .-group._normal textarea, .-group._normal form textarea, form .-navbar._normal .-group textarea, .-navbar._normal .-group form textarea, form ._normal.-navbar-float .-group textarea, ._normal.-navbar-float .-group form textarea, form input[type="password"]._normal, form input[type="date"]._normal, form input[type="datetime"]._normal, form input[type="datetime-local"]._normal, form input[type="month"]._normal, form input[type="week"]._normal, form input[type="email"]._normal, form input[type="number"]._normal, form input[type="search"]._normal, form input[type="tel"]._normal, form input[type="time"]._normal, form input[type="url"]._normal, form textarea._normal { - font-size: 14px; } - form select._major, form input[type="text"]._major, form .-field._major select, form .-group._major .-field select, .-group._major form .-field select, form .-navbar._major .-group .-field select, .-navbar._major .-group form .-field select, form ._major.-navbar-float .-group .-field select, ._major.-navbar-float .-group form .-field select, form .-field._major input[type="text"], form .-group._major .-field input[type="text"], .-group._major form .-field input[type="text"], form .-navbar._major .-group .-field input[type="text"], .-navbar._major .-group form .-field input[type="text"], form ._major.-navbar-float .-group .-field input[type="text"], ._major.-navbar-float .-group form .-field input[type="text"], form .-field._major input[type="password"], form .-group._major .-field input[type="password"], .-group._major form .-field input[type="password"], form .-navbar._major .-group .-field input[type="password"], .-navbar._major .-group form .-field input[type="password"], form ._major.-navbar-float .-group .-field input[type="password"], ._major.-navbar-float .-group form .-field input[type="password"], form .-field._major input[type="date"], form .-group._major .-field input[type="date"], .-group._major form .-field input[type="date"], form .-navbar._major .-group .-field input[type="date"], .-navbar._major .-group form .-field input[type="date"], form ._major.-navbar-float .-group .-field input[type="date"], ._major.-navbar-float .-group form .-field input[type="date"], form .-field._major input[type="datetime"], form .-group._major .-field input[type="datetime"], .-group._major form .-field input[type="datetime"], form .-navbar._major .-group .-field input[type="datetime"], .-navbar._major .-group form .-field input[type="datetime"], form ._major.-navbar-float .-group .-field input[type="datetime"], ._major.-navbar-float .-group form .-field input[type="datetime"], form .-field._major input[type="datetime-local"], form .-group._major .-field input[type="datetime-local"], .-group._major form .-field input[type="datetime-local"], form .-navbar._major .-group .-field input[type="datetime-local"], .-navbar._major .-group form .-field input[type="datetime-local"], form ._major.-navbar-float .-group .-field input[type="datetime-local"], ._major.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._major input[type="month"], form .-group._major .-field input[type="month"], .-group._major form .-field input[type="month"], form .-navbar._major .-group .-field input[type="month"], .-navbar._major .-group form .-field input[type="month"], form ._major.-navbar-float .-group .-field input[type="month"], ._major.-navbar-float .-group form .-field input[type="month"], form .-field._major input[type="week"], form .-group._major .-field input[type="week"], .-group._major form .-field input[type="week"], form .-navbar._major .-group .-field input[type="week"], .-navbar._major .-group form .-field input[type="week"], form ._major.-navbar-float .-group .-field input[type="week"], ._major.-navbar-float .-group form .-field input[type="week"], form .-field._major input[type="email"], form .-group._major .-field input[type="email"], .-group._major form .-field input[type="email"], form .-navbar._major .-group .-field input[type="email"], .-navbar._major .-group form .-field input[type="email"], form ._major.-navbar-float .-group .-field input[type="email"], ._major.-navbar-float .-group form .-field input[type="email"], form .-field._major input[type="number"], form .-group._major .-field input[type="number"], .-group._major form .-field input[type="number"], form .-navbar._major .-group .-field input[type="number"], .-navbar._major .-group form .-field input[type="number"], form ._major.-navbar-float .-group .-field input[type="number"], ._major.-navbar-float .-group form .-field input[type="number"], form .-field._major input[type="search"], form .-group._major .-field input[type="search"], .-group._major form .-field input[type="search"], form .-navbar._major .-group .-field input[type="search"], .-navbar._major .-group form .-field input[type="search"], form ._major.-navbar-float .-group .-field input[type="search"], ._major.-navbar-float .-group form .-field input[type="search"], form .-field._major input[type="tel"], form .-group._major .-field input[type="tel"], .-group._major form .-field input[type="tel"], form .-navbar._major .-group .-field input[type="tel"], .-navbar._major .-group form .-field input[type="tel"], form ._major.-navbar-float .-group .-field input[type="tel"], ._major.-navbar-float .-group form .-field input[type="tel"], form .-field._major input[type="time"], form .-group._major .-field input[type="time"], .-group._major form .-field input[type="time"], form .-navbar._major .-group .-field input[type="time"], .-navbar._major .-group form .-field input[type="time"], form ._major.-navbar-float .-group .-field input[type="time"], ._major.-navbar-float .-group form .-field input[type="time"], form .-field._major input[type="url"], form .-group._major .-field input[type="url"], .-group._major form .-field input[type="url"], form .-navbar._major .-group .-field input[type="url"], .-navbar._major .-group form .-field input[type="url"], form ._major.-navbar-float .-group .-field input[type="url"], ._major.-navbar-float .-group form .-field input[type="url"], form .-field._major textarea, form .-group._major .-field textarea, .-group._major form .-field textarea, form .-navbar._major .-group .-field textarea, .-navbar._major .-group form .-field textarea, form ._major.-navbar-float .-group .-field textarea, ._major.-navbar-float .-group form .-field textarea, form .-group._major select, .-group._major form select, form .-navbar._major .-group select, .-navbar._major .-group form select, form ._major.-navbar-float .-group select, ._major.-navbar-float .-group form select, form .-group._major input[type="text"], .-group._major form input[type="text"], form .-navbar._major .-group input[type="text"], .-navbar._major .-group form input[type="text"], form ._major.-navbar-float .-group input[type="text"], ._major.-navbar-float .-group form input[type="text"], form .-group._major input[type="password"], .-group._major form input[type="password"], form .-navbar._major .-group input[type="password"], .-navbar._major .-group form input[type="password"], form ._major.-navbar-float .-group input[type="password"], ._major.-navbar-float .-group form input[type="password"], form .-group._major input[type="date"], .-group._major form input[type="date"], form .-navbar._major .-group input[type="date"], .-navbar._major .-group form input[type="date"], form ._major.-navbar-float .-group input[type="date"], ._major.-navbar-float .-group form input[type="date"], form .-group._major input[type="datetime"], .-group._major form input[type="datetime"], form .-navbar._major .-group input[type="datetime"], .-navbar._major .-group form input[type="datetime"], form ._major.-navbar-float .-group input[type="datetime"], ._major.-navbar-float .-group form input[type="datetime"], form .-group._major input[type="datetime-local"], .-group._major form input[type="datetime-local"], form .-navbar._major .-group input[type="datetime-local"], .-navbar._major .-group form input[type="datetime-local"], form ._major.-navbar-float .-group input[type="datetime-local"], ._major.-navbar-float .-group form input[type="datetime-local"], form .-group._major input[type="month"], .-group._major form input[type="month"], form .-navbar._major .-group input[type="month"], .-navbar._major .-group form input[type="month"], form ._major.-navbar-float .-group input[type="month"], ._major.-navbar-float .-group form input[type="month"], form .-group._major input[type="week"], .-group._major form input[type="week"], form .-navbar._major .-group input[type="week"], .-navbar._major .-group form input[type="week"], form ._major.-navbar-float .-group input[type="week"], ._major.-navbar-float .-group form input[type="week"], form .-group._major input[type="email"], .-group._major form input[type="email"], form .-navbar._major .-group input[type="email"], .-navbar._major .-group form input[type="email"], form ._major.-navbar-float .-group input[type="email"], ._major.-navbar-float .-group form input[type="email"], form .-group._major input[type="number"], .-group._major form input[type="number"], form .-navbar._major .-group input[type="number"], .-navbar._major .-group form input[type="number"], form ._major.-navbar-float .-group input[type="number"], ._major.-navbar-float .-group form input[type="number"], form .-group._major input[type="search"], .-group._major form input[type="search"], form .-navbar._major .-group input[type="search"], .-navbar._major .-group form input[type="search"], form ._major.-navbar-float .-group input[type="search"], ._major.-navbar-float .-group form input[type="search"], form .-group._major input[type="tel"], .-group._major form input[type="tel"], form .-navbar._major .-group input[type="tel"], .-navbar._major .-group form input[type="tel"], form ._major.-navbar-float .-group input[type="tel"], ._major.-navbar-float .-group form input[type="tel"], form .-group._major input[type="time"], .-group._major form input[type="time"], form .-navbar._major .-group input[type="time"], .-navbar._major .-group form input[type="time"], form ._major.-navbar-float .-group input[type="time"], ._major.-navbar-float .-group form input[type="time"], form .-group._major input[type="url"], .-group._major form input[type="url"], form .-navbar._major .-group input[type="url"], .-navbar._major .-group form input[type="url"], form ._major.-navbar-float .-group input[type="url"], ._major.-navbar-float .-group form input[type="url"], form .-group._major textarea, .-group._major form textarea, form .-navbar._major .-group textarea, .-navbar._major .-group form textarea, form ._major.-navbar-float .-group textarea, ._major.-navbar-float .-group form textarea, form input[type="password"]._major, form input[type="date"]._major, form input[type="datetime"]._major, form input[type="datetime-local"]._major, form input[type="month"]._major, form input[type="week"]._major, form input[type="email"]._major, form input[type="number"]._major, form input[type="search"]._major, form input[type="tel"]._major, form input[type="time"]._major, form input[type="url"]._major, form textarea._major { - font-size: 17.5px; } - form select._big, form input[type="text"]._big, form .-field._big select, form .-group._big .-field select, .-group._big form .-field select, form .-navbar._big .-group .-field select, .-navbar._big .-group form .-field select, form ._big.-navbar-float .-group .-field select, ._big.-navbar-float .-group form .-field select, form .-field._big input[type="text"], form .-group._big .-field input[type="text"], .-group._big form .-field input[type="text"], form .-navbar._big .-group .-field input[type="text"], .-navbar._big .-group form .-field input[type="text"], form ._big.-navbar-float .-group .-field input[type="text"], ._big.-navbar-float .-group form .-field input[type="text"], form .-field._big input[type="password"], form .-group._big .-field input[type="password"], .-group._big form .-field input[type="password"], form .-navbar._big .-group .-field input[type="password"], .-navbar._big .-group form .-field input[type="password"], form ._big.-navbar-float .-group .-field input[type="password"], ._big.-navbar-float .-group form .-field input[type="password"], form .-field._big input[type="date"], form .-group._big .-field input[type="date"], .-group._big form .-field input[type="date"], form .-navbar._big .-group .-field input[type="date"], .-navbar._big .-group form .-field input[type="date"], form ._big.-navbar-float .-group .-field input[type="date"], ._big.-navbar-float .-group form .-field input[type="date"], form .-field._big input[type="datetime"], form .-group._big .-field input[type="datetime"], .-group._big form .-field input[type="datetime"], form .-navbar._big .-group .-field input[type="datetime"], .-navbar._big .-group form .-field input[type="datetime"], form ._big.-navbar-float .-group .-field input[type="datetime"], ._big.-navbar-float .-group form .-field input[type="datetime"], form .-field._big input[type="datetime-local"], form .-group._big .-field input[type="datetime-local"], .-group._big form .-field input[type="datetime-local"], form .-navbar._big .-group .-field input[type="datetime-local"], .-navbar._big .-group form .-field input[type="datetime-local"], form ._big.-navbar-float .-group .-field input[type="datetime-local"], ._big.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._big input[type="month"], form .-group._big .-field input[type="month"], .-group._big form .-field input[type="month"], form .-navbar._big .-group .-field input[type="month"], .-navbar._big .-group form .-field input[type="month"], form ._big.-navbar-float .-group .-field input[type="month"], ._big.-navbar-float .-group form .-field input[type="month"], form .-field._big input[type="week"], form .-group._big .-field input[type="week"], .-group._big form .-field input[type="week"], form .-navbar._big .-group .-field input[type="week"], .-navbar._big .-group form .-field input[type="week"], form ._big.-navbar-float .-group .-field input[type="week"], ._big.-navbar-float .-group form .-field input[type="week"], form .-field._big input[type="email"], form .-group._big .-field input[type="email"], .-group._big form .-field input[type="email"], form .-navbar._big .-group .-field input[type="email"], .-navbar._big .-group form .-field input[type="email"], form ._big.-navbar-float .-group .-field input[type="email"], ._big.-navbar-float .-group form .-field input[type="email"], form .-field._big input[type="number"], form .-group._big .-field input[type="number"], .-group._big form .-field input[type="number"], form .-navbar._big .-group .-field input[type="number"], .-navbar._big .-group form .-field input[type="number"], form ._big.-navbar-float .-group .-field input[type="number"], ._big.-navbar-float .-group form .-field input[type="number"], form .-field._big input[type="search"], form .-group._big .-field input[type="search"], .-group._big form .-field input[type="search"], form .-navbar._big .-group .-field input[type="search"], .-navbar._big .-group form .-field input[type="search"], form ._big.-navbar-float .-group .-field input[type="search"], ._big.-navbar-float .-group form .-field input[type="search"], form .-field._big input[type="tel"], form .-group._big .-field input[type="tel"], .-group._big form .-field input[type="tel"], form .-navbar._big .-group .-field input[type="tel"], .-navbar._big .-group form .-field input[type="tel"], form ._big.-navbar-float .-group .-field input[type="tel"], ._big.-navbar-float .-group form .-field input[type="tel"], form .-field._big input[type="time"], form .-group._big .-field input[type="time"], .-group._big form .-field input[type="time"], form .-navbar._big .-group .-field input[type="time"], .-navbar._big .-group form .-field input[type="time"], form ._big.-navbar-float .-group .-field input[type="time"], ._big.-navbar-float .-group form .-field input[type="time"], form .-field._big input[type="url"], form .-group._big .-field input[type="url"], .-group._big form .-field input[type="url"], form .-navbar._big .-group .-field input[type="url"], .-navbar._big .-group form .-field input[type="url"], form ._big.-navbar-float .-group .-field input[type="url"], ._big.-navbar-float .-group form .-field input[type="url"], form .-field._big textarea, form .-group._big .-field textarea, .-group._big form .-field textarea, form .-navbar._big .-group .-field textarea, .-navbar._big .-group form .-field textarea, form ._big.-navbar-float .-group .-field textarea, ._big.-navbar-float .-group form .-field textarea, form .-group._big select, .-group._big form select, form .-navbar._big .-group select, .-navbar._big .-group form select, form ._big.-navbar-float .-group select, ._big.-navbar-float .-group form select, form .-group._big input[type="text"], .-group._big form input[type="text"], form .-navbar._big .-group input[type="text"], .-navbar._big .-group form input[type="text"], form ._big.-navbar-float .-group input[type="text"], ._big.-navbar-float .-group form input[type="text"], form .-group._big input[type="password"], .-group._big form input[type="password"], form .-navbar._big .-group input[type="password"], .-navbar._big .-group form input[type="password"], form ._big.-navbar-float .-group input[type="password"], ._big.-navbar-float .-group form input[type="password"], form .-group._big input[type="date"], .-group._big form input[type="date"], form .-navbar._big .-group input[type="date"], .-navbar._big .-group form input[type="date"], form ._big.-navbar-float .-group input[type="date"], ._big.-navbar-float .-group form input[type="date"], form .-group._big input[type="datetime"], .-group._big form input[type="datetime"], form .-navbar._big .-group input[type="datetime"], .-navbar._big .-group form input[type="datetime"], form ._big.-navbar-float .-group input[type="datetime"], ._big.-navbar-float .-group form input[type="datetime"], form .-group._big input[type="datetime-local"], .-group._big form input[type="datetime-local"], form .-navbar._big .-group input[type="datetime-local"], .-navbar._big .-group form input[type="datetime-local"], form ._big.-navbar-float .-group input[type="datetime-local"], ._big.-navbar-float .-group form input[type="datetime-local"], form .-group._big input[type="month"], .-group._big form input[type="month"], form .-navbar._big .-group input[type="month"], .-navbar._big .-group form input[type="month"], form ._big.-navbar-float .-group input[type="month"], ._big.-navbar-float .-group form input[type="month"], form .-group._big input[type="week"], .-group._big form input[type="week"], form .-navbar._big .-group input[type="week"], .-navbar._big .-group form input[type="week"], form ._big.-navbar-float .-group input[type="week"], ._big.-navbar-float .-group form input[type="week"], form .-group._big input[type="email"], .-group._big form input[type="email"], form .-navbar._big .-group input[type="email"], .-navbar._big .-group form input[type="email"], form ._big.-navbar-float .-group input[type="email"], ._big.-navbar-float .-group form input[type="email"], form .-group._big input[type="number"], .-group._big form input[type="number"], form .-navbar._big .-group input[type="number"], .-navbar._big .-group form input[type="number"], form ._big.-navbar-float .-group input[type="number"], ._big.-navbar-float .-group form input[type="number"], form .-group._big input[type="search"], .-group._big form input[type="search"], form .-navbar._big .-group input[type="search"], .-navbar._big .-group form input[type="search"], form ._big.-navbar-float .-group input[type="search"], ._big.-navbar-float .-group form input[type="search"], form .-group._big input[type="tel"], .-group._big form input[type="tel"], form .-navbar._big .-group input[type="tel"], .-navbar._big .-group form input[type="tel"], form ._big.-navbar-float .-group input[type="tel"], ._big.-navbar-float .-group form input[type="tel"], form .-group._big input[type="time"], .-group._big form input[type="time"], form .-navbar._big .-group input[type="time"], .-navbar._big .-group form input[type="time"], form ._big.-navbar-float .-group input[type="time"], ._big.-navbar-float .-group form input[type="time"], form .-group._big input[type="url"], .-group._big form input[type="url"], form .-navbar._big .-group input[type="url"], .-navbar._big .-group form input[type="url"], form ._big.-navbar-float .-group input[type="url"], ._big.-navbar-float .-group form input[type="url"], form .-group._big textarea, .-group._big form textarea, form .-navbar._big .-group textarea, .-navbar._big .-group form textarea, form ._big.-navbar-float .-group textarea, ._big.-navbar-float .-group form textarea, form input[type="password"]._big, form input[type="date"]._big, form input[type="datetime"]._big, form input[type="datetime-local"]._big, form input[type="month"]._big, form input[type="week"]._big, form input[type="email"]._big, form input[type="number"]._big, form input[type="search"]._big, form input[type="tel"]._big, form input[type="time"]._big, form input[type="url"]._big, form textarea._big { - font-size: 21px; } - form select._huge, form input[type="text"]._huge, form .-field._huge select, form .-group._huge .-field select, .-group._huge form .-field select, form .-navbar._huge .-group .-field select, .-navbar._huge .-group form .-field select, form ._huge.-navbar-float .-group .-field select, ._huge.-navbar-float .-group form .-field select, form .-field._huge input[type="text"], form .-group._huge .-field input[type="text"], .-group._huge form .-field input[type="text"], form .-navbar._huge .-group .-field input[type="text"], .-navbar._huge .-group form .-field input[type="text"], form ._huge.-navbar-float .-group .-field input[type="text"], ._huge.-navbar-float .-group form .-field input[type="text"], form .-field._huge input[type="password"], form .-group._huge .-field input[type="password"], .-group._huge form .-field input[type="password"], form .-navbar._huge .-group .-field input[type="password"], .-navbar._huge .-group form .-field input[type="password"], form ._huge.-navbar-float .-group .-field input[type="password"], ._huge.-navbar-float .-group form .-field input[type="password"], form .-field._huge input[type="date"], form .-group._huge .-field input[type="date"], .-group._huge form .-field input[type="date"], form .-navbar._huge .-group .-field input[type="date"], .-navbar._huge .-group form .-field input[type="date"], form ._huge.-navbar-float .-group .-field input[type="date"], ._huge.-navbar-float .-group form .-field input[type="date"], form .-field._huge input[type="datetime"], form .-group._huge .-field input[type="datetime"], .-group._huge form .-field input[type="datetime"], form .-navbar._huge .-group .-field input[type="datetime"], .-navbar._huge .-group form .-field input[type="datetime"], form ._huge.-navbar-float .-group .-field input[type="datetime"], ._huge.-navbar-float .-group form .-field input[type="datetime"], form .-field._huge input[type="datetime-local"], form .-group._huge .-field input[type="datetime-local"], .-group._huge form .-field input[type="datetime-local"], form .-navbar._huge .-group .-field input[type="datetime-local"], .-navbar._huge .-group form .-field input[type="datetime-local"], form ._huge.-navbar-float .-group .-field input[type="datetime-local"], ._huge.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._huge input[type="month"], form .-group._huge .-field input[type="month"], .-group._huge form .-field input[type="month"], form .-navbar._huge .-group .-field input[type="month"], .-navbar._huge .-group form .-field input[type="month"], form ._huge.-navbar-float .-group .-field input[type="month"], ._huge.-navbar-float .-group form .-field input[type="month"], form .-field._huge input[type="week"], form .-group._huge .-field input[type="week"], .-group._huge form .-field input[type="week"], form .-navbar._huge .-group .-field input[type="week"], .-navbar._huge .-group form .-field input[type="week"], form ._huge.-navbar-float .-group .-field input[type="week"], ._huge.-navbar-float .-group form .-field input[type="week"], form .-field._huge input[type="email"], form .-group._huge .-field input[type="email"], .-group._huge form .-field input[type="email"], form .-navbar._huge .-group .-field input[type="email"], .-navbar._huge .-group form .-field input[type="email"], form ._huge.-navbar-float .-group .-field input[type="email"], ._huge.-navbar-float .-group form .-field input[type="email"], form .-field._huge input[type="number"], form .-group._huge .-field input[type="number"], .-group._huge form .-field input[type="number"], form .-navbar._huge .-group .-field input[type="number"], .-navbar._huge .-group form .-field input[type="number"], form ._huge.-navbar-float .-group .-field input[type="number"], ._huge.-navbar-float .-group form .-field input[type="number"], form .-field._huge input[type="search"], form .-group._huge .-field input[type="search"], .-group._huge form .-field input[type="search"], form .-navbar._huge .-group .-field input[type="search"], .-navbar._huge .-group form .-field input[type="search"], form ._huge.-navbar-float .-group .-field input[type="search"], ._huge.-navbar-float .-group form .-field input[type="search"], form .-field._huge input[type="tel"], form .-group._huge .-field input[type="tel"], .-group._huge form .-field input[type="tel"], form .-navbar._huge .-group .-field input[type="tel"], .-navbar._huge .-group form .-field input[type="tel"], form ._huge.-navbar-float .-group .-field input[type="tel"], ._huge.-navbar-float .-group form .-field input[type="tel"], form .-field._huge input[type="time"], form .-group._huge .-field input[type="time"], .-group._huge form .-field input[type="time"], form .-navbar._huge .-group .-field input[type="time"], .-navbar._huge .-group form .-field input[type="time"], form ._huge.-navbar-float .-group .-field input[type="time"], ._huge.-navbar-float .-group form .-field input[type="time"], form .-field._huge input[type="url"], form .-group._huge .-field input[type="url"], .-group._huge form .-field input[type="url"], form .-navbar._huge .-group .-field input[type="url"], .-navbar._huge .-group form .-field input[type="url"], form ._huge.-navbar-float .-group .-field input[type="url"], ._huge.-navbar-float .-group form .-field input[type="url"], form .-field._huge textarea, form .-group._huge .-field textarea, .-group._huge form .-field textarea, form .-navbar._huge .-group .-field textarea, .-navbar._huge .-group form .-field textarea, form ._huge.-navbar-float .-group .-field textarea, ._huge.-navbar-float .-group form .-field textarea, form .-group._huge select, .-group._huge form select, form .-navbar._huge .-group select, .-navbar._huge .-group form select, form ._huge.-navbar-float .-group select, ._huge.-navbar-float .-group form select, form .-group._huge input[type="text"], .-group._huge form input[type="text"], form .-navbar._huge .-group input[type="text"], .-navbar._huge .-group form input[type="text"], form ._huge.-navbar-float .-group input[type="text"], ._huge.-navbar-float .-group form input[type="text"], form .-group._huge input[type="password"], .-group._huge form input[type="password"], form .-navbar._huge .-group input[type="password"], .-navbar._huge .-group form input[type="password"], form ._huge.-navbar-float .-group input[type="password"], ._huge.-navbar-float .-group form input[type="password"], form .-group._huge input[type="date"], .-group._huge form input[type="date"], form .-navbar._huge .-group input[type="date"], .-navbar._huge .-group form input[type="date"], form ._huge.-navbar-float .-group input[type="date"], ._huge.-navbar-float .-group form input[type="date"], form .-group._huge input[type="datetime"], .-group._huge form input[type="datetime"], form .-navbar._huge .-group input[type="datetime"], .-navbar._huge .-group form input[type="datetime"], form ._huge.-navbar-float .-group input[type="datetime"], ._huge.-navbar-float .-group form input[type="datetime"], form .-group._huge input[type="datetime-local"], .-group._huge form input[type="datetime-local"], form .-navbar._huge .-group input[type="datetime-local"], .-navbar._huge .-group form input[type="datetime-local"], form ._huge.-navbar-float .-group input[type="datetime-local"], ._huge.-navbar-float .-group form input[type="datetime-local"], form .-group._huge input[type="month"], .-group._huge form input[type="month"], form .-navbar._huge .-group input[type="month"], .-navbar._huge .-group form input[type="month"], form ._huge.-navbar-float .-group input[type="month"], ._huge.-navbar-float .-group form input[type="month"], form .-group._huge input[type="week"], .-group._huge form input[type="week"], form .-navbar._huge .-group input[type="week"], .-navbar._huge .-group form input[type="week"], form ._huge.-navbar-float .-group input[type="week"], ._huge.-navbar-float .-group form input[type="week"], form .-group._huge input[type="email"], .-group._huge form input[type="email"], form .-navbar._huge .-group input[type="email"], .-navbar._huge .-group form input[type="email"], form ._huge.-navbar-float .-group input[type="email"], ._huge.-navbar-float .-group form input[type="email"], form .-group._huge input[type="number"], .-group._huge form input[type="number"], form .-navbar._huge .-group input[type="number"], .-navbar._huge .-group form input[type="number"], form ._huge.-navbar-float .-group input[type="number"], ._huge.-navbar-float .-group form input[type="number"], form .-group._huge input[type="search"], .-group._huge form input[type="search"], form .-navbar._huge .-group input[type="search"], .-navbar._huge .-group form input[type="search"], form ._huge.-navbar-float .-group input[type="search"], ._huge.-navbar-float .-group form input[type="search"], form .-group._huge input[type="tel"], .-group._huge form input[type="tel"], form .-navbar._huge .-group input[type="tel"], .-navbar._huge .-group form input[type="tel"], form ._huge.-navbar-float .-group input[type="tel"], ._huge.-navbar-float .-group form input[type="tel"], form .-group._huge input[type="time"], .-group._huge form input[type="time"], form .-navbar._huge .-group input[type="time"], .-navbar._huge .-group form input[type="time"], form ._huge.-navbar-float .-group input[type="time"], ._huge.-navbar-float .-group form input[type="time"], form .-group._huge input[type="url"], .-group._huge form input[type="url"], form .-navbar._huge .-group input[type="url"], .-navbar._huge .-group form input[type="url"], form ._huge.-navbar-float .-group input[type="url"], ._huge.-navbar-float .-group form input[type="url"], form .-group._huge textarea, .-group._huge form textarea, form .-navbar._huge .-group textarea, .-navbar._huge .-group form textarea, form ._huge.-navbar-float .-group textarea, ._huge.-navbar-float .-group form textarea, form input[type="password"]._huge, form input[type="date"]._huge, form input[type="datetime"]._huge, form input[type="datetime-local"]._huge, form input[type="month"]._huge, form input[type="week"]._huge, form input[type="email"]._huge, form input[type="number"]._huge, form input[type="search"]._huge, form input[type="tel"]._huge, form input[type="time"]._huge, form input[type="url"]._huge, form textarea._huge { - font-size: 24.5px; } - form select._divine, form input[type="text"]._divine, form .-field._divine select, form .-group._divine .-field select, .-group._divine form .-field select, form .-navbar._divine .-group .-field select, .-navbar._divine .-group form .-field select, form ._divine.-navbar-float .-group .-field select, ._divine.-navbar-float .-group form .-field select, form .-field._divine input[type="text"], form .-group._divine .-field input[type="text"], .-group._divine form .-field input[type="text"], form .-navbar._divine .-group .-field input[type="text"], .-navbar._divine .-group form .-field input[type="text"], form ._divine.-navbar-float .-group .-field input[type="text"], ._divine.-navbar-float .-group form .-field input[type="text"], form .-field._divine input[type="password"], form .-group._divine .-field input[type="password"], .-group._divine form .-field input[type="password"], form .-navbar._divine .-group .-field input[type="password"], .-navbar._divine .-group form .-field input[type="password"], form ._divine.-navbar-float .-group .-field input[type="password"], ._divine.-navbar-float .-group form .-field input[type="password"], form .-field._divine input[type="date"], form .-group._divine .-field input[type="date"], .-group._divine form .-field input[type="date"], form .-navbar._divine .-group .-field input[type="date"], .-navbar._divine .-group form .-field input[type="date"], form ._divine.-navbar-float .-group .-field input[type="date"], ._divine.-navbar-float .-group form .-field input[type="date"], form .-field._divine input[type="datetime"], form .-group._divine .-field input[type="datetime"], .-group._divine form .-field input[type="datetime"], form .-navbar._divine .-group .-field input[type="datetime"], .-navbar._divine .-group form .-field input[type="datetime"], form ._divine.-navbar-float .-group .-field input[type="datetime"], ._divine.-navbar-float .-group form .-field input[type="datetime"], form .-field._divine input[type="datetime-local"], form .-group._divine .-field input[type="datetime-local"], .-group._divine form .-field input[type="datetime-local"], form .-navbar._divine .-group .-field input[type="datetime-local"], .-navbar._divine .-group form .-field input[type="datetime-local"], form ._divine.-navbar-float .-group .-field input[type="datetime-local"], ._divine.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._divine input[type="month"], form .-group._divine .-field input[type="month"], .-group._divine form .-field input[type="month"], form .-navbar._divine .-group .-field input[type="month"], .-navbar._divine .-group form .-field input[type="month"], form ._divine.-navbar-float .-group .-field input[type="month"], ._divine.-navbar-float .-group form .-field input[type="month"], form .-field._divine input[type="week"], form .-group._divine .-field input[type="week"], .-group._divine form .-field input[type="week"], form .-navbar._divine .-group .-field input[type="week"], .-navbar._divine .-group form .-field input[type="week"], form ._divine.-navbar-float .-group .-field input[type="week"], ._divine.-navbar-float .-group form .-field input[type="week"], form .-field._divine input[type="email"], form .-group._divine .-field input[type="email"], .-group._divine form .-field input[type="email"], form .-navbar._divine .-group .-field input[type="email"], .-navbar._divine .-group form .-field input[type="email"], form ._divine.-navbar-float .-group .-field input[type="email"], ._divine.-navbar-float .-group form .-field input[type="email"], form .-field._divine input[type="number"], form .-group._divine .-field input[type="number"], .-group._divine form .-field input[type="number"], form .-navbar._divine .-group .-field input[type="number"], .-navbar._divine .-group form .-field input[type="number"], form ._divine.-navbar-float .-group .-field input[type="number"], ._divine.-navbar-float .-group form .-field input[type="number"], form .-field._divine input[type="search"], form .-group._divine .-field input[type="search"], .-group._divine form .-field input[type="search"], form .-navbar._divine .-group .-field input[type="search"], .-navbar._divine .-group form .-field input[type="search"], form ._divine.-navbar-float .-group .-field input[type="search"], ._divine.-navbar-float .-group form .-field input[type="search"], form .-field._divine input[type="tel"], form .-group._divine .-field input[type="tel"], .-group._divine form .-field input[type="tel"], form .-navbar._divine .-group .-field input[type="tel"], .-navbar._divine .-group form .-field input[type="tel"], form ._divine.-navbar-float .-group .-field input[type="tel"], ._divine.-navbar-float .-group form .-field input[type="tel"], form .-field._divine input[type="time"], form .-group._divine .-field input[type="time"], .-group._divine form .-field input[type="time"], form .-navbar._divine .-group .-field input[type="time"], .-navbar._divine .-group form .-field input[type="time"], form ._divine.-navbar-float .-group .-field input[type="time"], ._divine.-navbar-float .-group form .-field input[type="time"], form .-field._divine input[type="url"], form .-group._divine .-field input[type="url"], .-group._divine form .-field input[type="url"], form .-navbar._divine .-group .-field input[type="url"], .-navbar._divine .-group form .-field input[type="url"], form ._divine.-navbar-float .-group .-field input[type="url"], ._divine.-navbar-float .-group form .-field input[type="url"], form .-field._divine textarea, form .-group._divine .-field textarea, .-group._divine form .-field textarea, form .-navbar._divine .-group .-field textarea, .-navbar._divine .-group form .-field textarea, form ._divine.-navbar-float .-group .-field textarea, ._divine.-navbar-float .-group form .-field textarea, form .-group._divine select, .-group._divine form select, form .-navbar._divine .-group select, .-navbar._divine .-group form select, form ._divine.-navbar-float .-group select, ._divine.-navbar-float .-group form select, form .-group._divine input[type="text"], .-group._divine form input[type="text"], form .-navbar._divine .-group input[type="text"], .-navbar._divine .-group form input[type="text"], form ._divine.-navbar-float .-group input[type="text"], ._divine.-navbar-float .-group form input[type="text"], form .-group._divine input[type="password"], .-group._divine form input[type="password"], form .-navbar._divine .-group input[type="password"], .-navbar._divine .-group form input[type="password"], form ._divine.-navbar-float .-group input[type="password"], ._divine.-navbar-float .-group form input[type="password"], form .-group._divine input[type="date"], .-group._divine form input[type="date"], form .-navbar._divine .-group input[type="date"], .-navbar._divine .-group form input[type="date"], form ._divine.-navbar-float .-group input[type="date"], ._divine.-navbar-float .-group form input[type="date"], form .-group._divine input[type="datetime"], .-group._divine form input[type="datetime"], form .-navbar._divine .-group input[type="datetime"], .-navbar._divine .-group form input[type="datetime"], form ._divine.-navbar-float .-group input[type="datetime"], ._divine.-navbar-float .-group form input[type="datetime"], form .-group._divine input[type="datetime-local"], .-group._divine form input[type="datetime-local"], form .-navbar._divine .-group input[type="datetime-local"], .-navbar._divine .-group form input[type="datetime-local"], form ._divine.-navbar-float .-group input[type="datetime-local"], ._divine.-navbar-float .-group form input[type="datetime-local"], form .-group._divine input[type="month"], .-group._divine form input[type="month"], form .-navbar._divine .-group input[type="month"], .-navbar._divine .-group form input[type="month"], form ._divine.-navbar-float .-group input[type="month"], ._divine.-navbar-float .-group form input[type="month"], form .-group._divine input[type="week"], .-group._divine form input[type="week"], form .-navbar._divine .-group input[type="week"], .-navbar._divine .-group form input[type="week"], form ._divine.-navbar-float .-group input[type="week"], ._divine.-navbar-float .-group form input[type="week"], form .-group._divine input[type="email"], .-group._divine form input[type="email"], form .-navbar._divine .-group input[type="email"], .-navbar._divine .-group form input[type="email"], form ._divine.-navbar-float .-group input[type="email"], ._divine.-navbar-float .-group form input[type="email"], form .-group._divine input[type="number"], .-group._divine form input[type="number"], form .-navbar._divine .-group input[type="number"], .-navbar._divine .-group form input[type="number"], form ._divine.-navbar-float .-group input[type="number"], ._divine.-navbar-float .-group form input[type="number"], form .-group._divine input[type="search"], .-group._divine form input[type="search"], form .-navbar._divine .-group input[type="search"], .-navbar._divine .-group form input[type="search"], form ._divine.-navbar-float .-group input[type="search"], ._divine.-navbar-float .-group form input[type="search"], form .-group._divine input[type="tel"], .-group._divine form input[type="tel"], form .-navbar._divine .-group input[type="tel"], .-navbar._divine .-group form input[type="tel"], form ._divine.-navbar-float .-group input[type="tel"], ._divine.-navbar-float .-group form input[type="tel"], form .-group._divine input[type="time"], .-group._divine form input[type="time"], form .-navbar._divine .-group input[type="time"], .-navbar._divine .-group form input[type="time"], form ._divine.-navbar-float .-group input[type="time"], ._divine.-navbar-float .-group form input[type="time"], form .-group._divine input[type="url"], .-group._divine form input[type="url"], form .-navbar._divine .-group input[type="url"], .-navbar._divine .-group form input[type="url"], form ._divine.-navbar-float .-group input[type="url"], ._divine.-navbar-float .-group form input[type="url"], form .-group._divine textarea, .-group._divine form textarea, form .-navbar._divine .-group textarea, .-navbar._divine .-group form textarea, form ._divine.-navbar-float .-group textarea, ._divine.-navbar-float .-group form textarea, form input[type="password"]._divine, form input[type="date"]._divine, form input[type="datetime"]._divine, form input[type="datetime-local"]._divine, form input[type="month"]._divine, form input[type="week"]._divine, form input[type="email"]._divine, form input[type="number"]._divine, form input[type="search"]._divine, form input[type="tel"]._divine, form input[type="time"]._divine, form input[type="url"]._divine, form textarea._divine { - font-size: 28px; } + form select._small, form input[type="text"]._small, form .-group._small select, .-group._small form select, form .-navbar._small .-group select, .-navbar._small .-group form select, form ._small.-navbar-float .-group select, ._small.-navbar-float .-group form select, form .-group._small input[type="text"], .-group._small form input[type="text"], form .-navbar._small .-group input[type="text"], .-navbar._small .-group form input[type="text"], form ._small.-navbar-float .-group input[type="text"], ._small.-navbar-float .-group form input[type="text"], form .-group._small input[type="password"], .-group._small form input[type="password"], form .-navbar._small .-group input[type="password"], .-navbar._small .-group form input[type="password"], form ._small.-navbar-float .-group input[type="password"], ._small.-navbar-float .-group form input[type="password"], form .-group._small input[type="date"], .-group._small form input[type="date"], form .-navbar._small .-group input[type="date"], .-navbar._small .-group form input[type="date"], form ._small.-navbar-float .-group input[type="date"], ._small.-navbar-float .-group form input[type="date"], form .-group._small input[type="datetime"], .-group._small form input[type="datetime"], form .-navbar._small .-group input[type="datetime"], .-navbar._small .-group form input[type="datetime"], form ._small.-navbar-float .-group input[type="datetime"], ._small.-navbar-float .-group form input[type="datetime"], form .-group._small input[type="datetime-local"], .-group._small form input[type="datetime-local"], form .-navbar._small .-group input[type="datetime-local"], .-navbar._small .-group form input[type="datetime-local"], form ._small.-navbar-float .-group input[type="datetime-local"], ._small.-navbar-float .-group form input[type="datetime-local"], form .-group._small input[type="month"], .-group._small form input[type="month"], form .-navbar._small .-group input[type="month"], .-navbar._small .-group form input[type="month"], form ._small.-navbar-float .-group input[type="month"], ._small.-navbar-float .-group form input[type="month"], form .-group._small input[type="week"], .-group._small form input[type="week"], form .-navbar._small .-group input[type="week"], .-navbar._small .-group form input[type="week"], form ._small.-navbar-float .-group input[type="week"], ._small.-navbar-float .-group form input[type="week"], form .-group._small input[type="email"], .-group._small form input[type="email"], form .-navbar._small .-group input[type="email"], .-navbar._small .-group form input[type="email"], form ._small.-navbar-float .-group input[type="email"], ._small.-navbar-float .-group form input[type="email"], form .-group._small input[type="number"], .-group._small form input[type="number"], form .-navbar._small .-group input[type="number"], .-navbar._small .-group form input[type="number"], form ._small.-navbar-float .-group input[type="number"], ._small.-navbar-float .-group form input[type="number"], form .-group._small input[type="search"], .-group._small form input[type="search"], form .-navbar._small .-group input[type="search"], .-navbar._small .-group form input[type="search"], form ._small.-navbar-float .-group input[type="search"], ._small.-navbar-float .-group form input[type="search"], form .-group._small input[type="tel"], .-group._small form input[type="tel"], form .-navbar._small .-group input[type="tel"], .-navbar._small .-group form input[type="tel"], form ._small.-navbar-float .-group input[type="tel"], ._small.-navbar-float .-group form input[type="tel"], form .-group._small input[type="time"], .-group._small form input[type="time"], form .-navbar._small .-group input[type="time"], .-navbar._small .-group form input[type="time"], form ._small.-navbar-float .-group input[type="time"], ._small.-navbar-float .-group form input[type="time"], form .-group._small input[type="url"], .-group._small form input[type="url"], form .-navbar._small .-group input[type="url"], .-navbar._small .-group form input[type="url"], form ._small.-navbar-float .-group input[type="url"], ._small.-navbar-float .-group form input[type="url"], form .-group._small textarea, .-group._small form textarea, form .-navbar._small .-group textarea, .-navbar._small .-group form textarea, form ._small.-navbar-float .-group textarea, ._small.-navbar-float .-group form textarea, form input[type="password"]._small, form input[type="date"]._small, form input[type="datetime"]._small, form input[type="datetime-local"]._small, form input[type="month"]._small, form input[type="week"]._small, form input[type="email"]._small, form input[type="number"]._small, form input[type="search"]._small, form input[type="tel"]._small, form input[type="time"]._small, form input[type="url"]._small, form textarea._small { + font-size: 7px; + line-height: 8.0px; + height: 26.0px; } + form select._minor, form input[type="text"]._minor, form .-group._minor select, .-group._minor form select, form .-navbar._minor .-group select, .-navbar._minor .-group form select, form ._minor.-navbar-float .-group select, ._minor.-navbar-float .-group form select, form .-group._minor input[type="text"], .-group._minor form input[type="text"], form .-navbar._minor .-group input[type="text"], .-navbar._minor .-group form input[type="text"], form ._minor.-navbar-float .-group input[type="text"], ._minor.-navbar-float .-group form input[type="text"], form .-group._minor input[type="password"], .-group._minor form input[type="password"], form .-navbar._minor .-group input[type="password"], .-navbar._minor .-group form input[type="password"], form ._minor.-navbar-float .-group input[type="password"], ._minor.-navbar-float .-group form input[type="password"], form .-group._minor input[type="date"], .-group._minor form input[type="date"], form .-navbar._minor .-group input[type="date"], .-navbar._minor .-group form input[type="date"], form ._minor.-navbar-float .-group input[type="date"], ._minor.-navbar-float .-group form input[type="date"], form .-group._minor input[type="datetime"], .-group._minor form input[type="datetime"], form .-navbar._minor .-group input[type="datetime"], .-navbar._minor .-group form input[type="datetime"], form ._minor.-navbar-float .-group input[type="datetime"], ._minor.-navbar-float .-group form input[type="datetime"], form .-group._minor input[type="datetime-local"], .-group._minor form input[type="datetime-local"], form .-navbar._minor .-group input[type="datetime-local"], .-navbar._minor .-group form input[type="datetime-local"], form ._minor.-navbar-float .-group input[type="datetime-local"], ._minor.-navbar-float .-group form input[type="datetime-local"], form .-group._minor input[type="month"], .-group._minor form input[type="month"], form .-navbar._minor .-group input[type="month"], .-navbar._minor .-group form input[type="month"], form ._minor.-navbar-float .-group input[type="month"], ._minor.-navbar-float .-group form input[type="month"], form .-group._minor input[type="week"], .-group._minor form input[type="week"], form .-navbar._minor .-group input[type="week"], .-navbar._minor .-group form input[type="week"], form ._minor.-navbar-float .-group input[type="week"], ._minor.-navbar-float .-group form input[type="week"], form .-group._minor input[type="email"], .-group._minor form input[type="email"], form .-navbar._minor .-group input[type="email"], .-navbar._minor .-group form input[type="email"], form ._minor.-navbar-float .-group input[type="email"], ._minor.-navbar-float .-group form input[type="email"], form .-group._minor input[type="number"], .-group._minor form input[type="number"], form .-navbar._minor .-group input[type="number"], .-navbar._minor .-group form input[type="number"], form ._minor.-navbar-float .-group input[type="number"], ._minor.-navbar-float .-group form input[type="number"], form .-group._minor input[type="search"], .-group._minor form input[type="search"], form .-navbar._minor .-group input[type="search"], .-navbar._minor .-group form input[type="search"], form ._minor.-navbar-float .-group input[type="search"], ._minor.-navbar-float .-group form input[type="search"], form .-group._minor input[type="tel"], .-group._minor form input[type="tel"], form .-navbar._minor .-group input[type="tel"], .-navbar._minor .-group form input[type="tel"], form ._minor.-navbar-float .-group input[type="tel"], ._minor.-navbar-float .-group form input[type="tel"], form .-group._minor input[type="time"], .-group._minor form input[type="time"], form .-navbar._minor .-group input[type="time"], .-navbar._minor .-group form input[type="time"], form ._minor.-navbar-float .-group input[type="time"], ._minor.-navbar-float .-group form input[type="time"], form .-group._minor input[type="url"], .-group._minor form input[type="url"], form .-navbar._minor .-group input[type="url"], .-navbar._minor .-group form input[type="url"], form ._minor.-navbar-float .-group input[type="url"], ._minor.-navbar-float .-group form input[type="url"], form .-group._minor textarea, .-group._minor form textarea, form .-navbar._minor .-group textarea, .-navbar._minor .-group form textarea, form ._minor.-navbar-float .-group textarea, ._minor.-navbar-float .-group form textarea, form input[type="password"]._minor, form input[type="date"]._minor, form input[type="datetime"]._minor, form input[type="datetime-local"]._minor, form input[type="month"]._minor, form input[type="week"]._minor, form input[type="email"]._minor, form input[type="number"]._minor, form input[type="search"]._minor, form input[type="tel"]._minor, form input[type="time"]._minor, form input[type="url"]._minor, form textarea._minor { + font-size: 10.5px; + line-height: 13.0px; + height: 31.0px; } + form select._normal, form input[type="text"]._normal, form .-group._normal select, .-group._normal form select, form .-navbar._normal .-group select, .-navbar._normal .-group form select, form ._normal.-navbar-float .-group select, ._normal.-navbar-float .-group form select, form .-group._normal input[type="text"], .-group._normal form input[type="text"], form .-navbar._normal .-group input[type="text"], .-navbar._normal .-group form input[type="text"], form ._normal.-navbar-float .-group input[type="text"], ._normal.-navbar-float .-group form input[type="text"], form .-group._normal input[type="password"], .-group._normal form input[type="password"], form .-navbar._normal .-group input[type="password"], .-navbar._normal .-group form input[type="password"], form ._normal.-navbar-float .-group input[type="password"], ._normal.-navbar-float .-group form input[type="password"], form .-group._normal input[type="date"], .-group._normal form input[type="date"], form .-navbar._normal .-group input[type="date"], .-navbar._normal .-group form input[type="date"], form ._normal.-navbar-float .-group input[type="date"], ._normal.-navbar-float .-group form input[type="date"], form .-group._normal input[type="datetime"], .-group._normal form input[type="datetime"], form .-navbar._normal .-group input[type="datetime"], .-navbar._normal .-group form input[type="datetime"], form ._normal.-navbar-float .-group input[type="datetime"], ._normal.-navbar-float .-group form input[type="datetime"], form .-group._normal input[type="datetime-local"], .-group._normal form input[type="datetime-local"], form .-navbar._normal .-group input[type="datetime-local"], .-navbar._normal .-group form input[type="datetime-local"], form ._normal.-navbar-float .-group input[type="datetime-local"], ._normal.-navbar-float .-group form input[type="datetime-local"], form .-group._normal input[type="month"], .-group._normal form input[type="month"], form .-navbar._normal .-group input[type="month"], .-navbar._normal .-group form input[type="month"], form ._normal.-navbar-float .-group input[type="month"], ._normal.-navbar-float .-group form input[type="month"], form .-group._normal input[type="week"], .-group._normal form input[type="week"], form .-navbar._normal .-group input[type="week"], .-navbar._normal .-group form input[type="week"], form ._normal.-navbar-float .-group input[type="week"], ._normal.-navbar-float .-group form input[type="week"], form .-group._normal input[type="email"], .-group._normal form input[type="email"], form .-navbar._normal .-group input[type="email"], .-navbar._normal .-group form input[type="email"], form ._normal.-navbar-float .-group input[type="email"], ._normal.-navbar-float .-group form input[type="email"], form .-group._normal input[type="number"], .-group._normal form input[type="number"], form .-navbar._normal .-group input[type="number"], .-navbar._normal .-group form input[type="number"], form ._normal.-navbar-float .-group input[type="number"], ._normal.-navbar-float .-group form input[type="number"], form .-group._normal input[type="search"], .-group._normal form input[type="search"], form .-navbar._normal .-group input[type="search"], .-navbar._normal .-group form input[type="search"], form ._normal.-navbar-float .-group input[type="search"], ._normal.-navbar-float .-group form input[type="search"], form .-group._normal input[type="tel"], .-group._normal form input[type="tel"], form .-navbar._normal .-group input[type="tel"], .-navbar._normal .-group form input[type="tel"], form ._normal.-navbar-float .-group input[type="tel"], ._normal.-navbar-float .-group form input[type="tel"], form .-group._normal input[type="time"], .-group._normal form input[type="time"], form .-navbar._normal .-group input[type="time"], .-navbar._normal .-group form input[type="time"], form ._normal.-navbar-float .-group input[type="time"], ._normal.-navbar-float .-group form input[type="time"], form .-group._normal input[type="url"], .-group._normal form input[type="url"], form .-navbar._normal .-group input[type="url"], .-navbar._normal .-group form input[type="url"], form ._normal.-navbar-float .-group input[type="url"], ._normal.-navbar-float .-group form input[type="url"], form .-group._normal textarea, .-group._normal form textarea, form .-navbar._normal .-group textarea, .-navbar._normal .-group form textarea, form ._normal.-navbar-float .-group textarea, ._normal.-navbar-float .-group form textarea, form input[type="password"]._normal, form input[type="date"]._normal, form input[type="datetime"]._normal, form input[type="datetime-local"]._normal, form input[type="month"]._normal, form input[type="week"]._normal, form input[type="email"]._normal, form input[type="number"]._normal, form input[type="search"]._normal, form input[type="tel"]._normal, form input[type="time"]._normal, form input[type="url"]._normal, form textarea._normal { + font-size: 14px; + line-height: 18.0px; + height: 36.0px; } + form select._major, form input[type="text"]._major, form .-group._major select, .-group._major form select, form .-navbar._major .-group select, .-navbar._major .-group form select, form ._major.-navbar-float .-group select, ._major.-navbar-float .-group form select, form .-group._major input[type="text"], .-group._major form input[type="text"], form .-navbar._major .-group input[type="text"], .-navbar._major .-group form input[type="text"], form ._major.-navbar-float .-group input[type="text"], ._major.-navbar-float .-group form input[type="text"], form .-group._major input[type="password"], .-group._major form input[type="password"], form .-navbar._major .-group input[type="password"], .-navbar._major .-group form input[type="password"], form ._major.-navbar-float .-group input[type="password"], ._major.-navbar-float .-group form input[type="password"], form .-group._major input[type="date"], .-group._major form input[type="date"], form .-navbar._major .-group input[type="date"], .-navbar._major .-group form input[type="date"], form ._major.-navbar-float .-group input[type="date"], ._major.-navbar-float .-group form input[type="date"], form .-group._major input[type="datetime"], .-group._major form input[type="datetime"], form .-navbar._major .-group input[type="datetime"], .-navbar._major .-group form input[type="datetime"], form ._major.-navbar-float .-group input[type="datetime"], ._major.-navbar-float .-group form input[type="datetime"], form .-group._major input[type="datetime-local"], .-group._major form input[type="datetime-local"], form .-navbar._major .-group input[type="datetime-local"], .-navbar._major .-group form input[type="datetime-local"], form ._major.-navbar-float .-group input[type="datetime-local"], ._major.-navbar-float .-group form input[type="datetime-local"], form .-group._major input[type="month"], .-group._major form input[type="month"], form .-navbar._major .-group input[type="month"], .-navbar._major .-group form input[type="month"], form ._major.-navbar-float .-group input[type="month"], ._major.-navbar-float .-group form input[type="month"], form .-group._major input[type="week"], .-group._major form input[type="week"], form .-navbar._major .-group input[type="week"], .-navbar._major .-group form input[type="week"], form ._major.-navbar-float .-group input[type="week"], ._major.-navbar-float .-group form input[type="week"], form .-group._major input[type="email"], .-group._major form input[type="email"], form .-navbar._major .-group input[type="email"], .-navbar._major .-group form input[type="email"], form ._major.-navbar-float .-group input[type="email"], ._major.-navbar-float .-group form input[type="email"], form .-group._major input[type="number"], .-group._major form input[type="number"], form .-navbar._major .-group input[type="number"], .-navbar._major .-group form input[type="number"], form ._major.-navbar-float .-group input[type="number"], ._major.-navbar-float .-group form input[type="number"], form .-group._major input[type="search"], .-group._major form input[type="search"], form .-navbar._major .-group input[type="search"], .-navbar._major .-group form input[type="search"], form ._major.-navbar-float .-group input[type="search"], ._major.-navbar-float .-group form input[type="search"], form .-group._major input[type="tel"], .-group._major form input[type="tel"], form .-navbar._major .-group input[type="tel"], .-navbar._major .-group form input[type="tel"], form ._major.-navbar-float .-group input[type="tel"], ._major.-navbar-float .-group form input[type="tel"], form .-group._major input[type="time"], .-group._major form input[type="time"], form .-navbar._major .-group input[type="time"], .-navbar._major .-group form input[type="time"], form ._major.-navbar-float .-group input[type="time"], ._major.-navbar-float .-group form input[type="time"], form .-group._major input[type="url"], .-group._major form input[type="url"], form .-navbar._major .-group input[type="url"], .-navbar._major .-group form input[type="url"], form ._major.-navbar-float .-group input[type="url"], ._major.-navbar-float .-group form input[type="url"], form .-group._major textarea, .-group._major form textarea, form .-navbar._major .-group textarea, .-navbar._major .-group form textarea, form ._major.-navbar-float .-group textarea, ._major.-navbar-float .-group form textarea, form input[type="password"]._major, form input[type="date"]._major, form input[type="datetime"]._major, form input[type="datetime-local"]._major, form input[type="month"]._major, form input[type="week"]._major, form input[type="email"]._major, form input[type="number"]._major, form input[type="search"]._major, form input[type="tel"]._major, form input[type="time"]._major, form input[type="url"]._major, form textarea._major { + font-size: 17.5px; + line-height: 23.0px; + height: 41.0px; } + form select._big, form input[type="text"]._big, form .-group._big select, .-group._big form select, form .-navbar._big .-group select, .-navbar._big .-group form select, form ._big.-navbar-float .-group select, ._big.-navbar-float .-group form select, form .-group._big input[type="text"], .-group._big form input[type="text"], form .-navbar._big .-group input[type="text"], .-navbar._big .-group form input[type="text"], form ._big.-navbar-float .-group input[type="text"], ._big.-navbar-float .-group form input[type="text"], form .-group._big input[type="password"], .-group._big form input[type="password"], form .-navbar._big .-group input[type="password"], .-navbar._big .-group form input[type="password"], form ._big.-navbar-float .-group input[type="password"], ._big.-navbar-float .-group form input[type="password"], form .-group._big input[type="date"], .-group._big form input[type="date"], form .-navbar._big .-group input[type="date"], .-navbar._big .-group form input[type="date"], form ._big.-navbar-float .-group input[type="date"], ._big.-navbar-float .-group form input[type="date"], form .-group._big input[type="datetime"], .-group._big form input[type="datetime"], form .-navbar._big .-group input[type="datetime"], .-navbar._big .-group form input[type="datetime"], form ._big.-navbar-float .-group input[type="datetime"], ._big.-navbar-float .-group form input[type="datetime"], form .-group._big input[type="datetime-local"], .-group._big form input[type="datetime-local"], form .-navbar._big .-group input[type="datetime-local"], .-navbar._big .-group form input[type="datetime-local"], form ._big.-navbar-float .-group input[type="datetime-local"], ._big.-navbar-float .-group form input[type="datetime-local"], form .-group._big input[type="month"], .-group._big form input[type="month"], form .-navbar._big .-group input[type="month"], .-navbar._big .-group form input[type="month"], form ._big.-navbar-float .-group input[type="month"], ._big.-navbar-float .-group form input[type="month"], form .-group._big input[type="week"], .-group._big form input[type="week"], form .-navbar._big .-group input[type="week"], .-navbar._big .-group form input[type="week"], form ._big.-navbar-float .-group input[type="week"], ._big.-navbar-float .-group form input[type="week"], form .-group._big input[type="email"], .-group._big form input[type="email"], form .-navbar._big .-group input[type="email"], .-navbar._big .-group form input[type="email"], form ._big.-navbar-float .-group input[type="email"], ._big.-navbar-float .-group form input[type="email"], form .-group._big input[type="number"], .-group._big form input[type="number"], form .-navbar._big .-group input[type="number"], .-navbar._big .-group form input[type="number"], form ._big.-navbar-float .-group input[type="number"], ._big.-navbar-float .-group form input[type="number"], form .-group._big input[type="search"], .-group._big form input[type="search"], form .-navbar._big .-group input[type="search"], .-navbar._big .-group form input[type="search"], form ._big.-navbar-float .-group input[type="search"], ._big.-navbar-float .-group form input[type="search"], form .-group._big input[type="tel"], .-group._big form input[type="tel"], form .-navbar._big .-group input[type="tel"], .-navbar._big .-group form input[type="tel"], form ._big.-navbar-float .-group input[type="tel"], ._big.-navbar-float .-group form input[type="tel"], form .-group._big input[type="time"], .-group._big form input[type="time"], form .-navbar._big .-group input[type="time"], .-navbar._big .-group form input[type="time"], form ._big.-navbar-float .-group input[type="time"], ._big.-navbar-float .-group form input[type="time"], form .-group._big input[type="url"], .-group._big form input[type="url"], form .-navbar._big .-group input[type="url"], .-navbar._big .-group form input[type="url"], form ._big.-navbar-float .-group input[type="url"], ._big.-navbar-float .-group form input[type="url"], form .-group._big textarea, .-group._big form textarea, form .-navbar._big .-group textarea, .-navbar._big .-group form textarea, form ._big.-navbar-float .-group textarea, ._big.-navbar-float .-group form textarea, form input[type="password"]._big, form input[type="date"]._big, form input[type="datetime"]._big, form input[type="datetime-local"]._big, form input[type="month"]._big, form input[type="week"]._big, form input[type="email"]._big, form input[type="number"]._big, form input[type="search"]._big, form input[type="tel"]._big, form input[type="time"]._big, form input[type="url"]._big, form textarea._big { + font-size: 21px; + line-height: 28.0px; + height: 46.0px; } + form select._huge, form input[type="text"]._huge, form .-group._huge select, .-group._huge form select, form .-navbar._huge .-group select, .-navbar._huge .-group form select, form ._huge.-navbar-float .-group select, ._huge.-navbar-float .-group form select, form .-group._huge input[type="text"], .-group._huge form input[type="text"], form .-navbar._huge .-group input[type="text"], .-navbar._huge .-group form input[type="text"], form ._huge.-navbar-float .-group input[type="text"], ._huge.-navbar-float .-group form input[type="text"], form .-group._huge input[type="password"], .-group._huge form input[type="password"], form .-navbar._huge .-group input[type="password"], .-navbar._huge .-group form input[type="password"], form ._huge.-navbar-float .-group input[type="password"], ._huge.-navbar-float .-group form input[type="password"], form .-group._huge input[type="date"], .-group._huge form input[type="date"], form .-navbar._huge .-group input[type="date"], .-navbar._huge .-group form input[type="date"], form ._huge.-navbar-float .-group input[type="date"], ._huge.-navbar-float .-group form input[type="date"], form .-group._huge input[type="datetime"], .-group._huge form input[type="datetime"], form .-navbar._huge .-group input[type="datetime"], .-navbar._huge .-group form input[type="datetime"], form ._huge.-navbar-float .-group input[type="datetime"], ._huge.-navbar-float .-group form input[type="datetime"], form .-group._huge input[type="datetime-local"], .-group._huge form input[type="datetime-local"], form .-navbar._huge .-group input[type="datetime-local"], .-navbar._huge .-group form input[type="datetime-local"], form ._huge.-navbar-float .-group input[type="datetime-local"], ._huge.-navbar-float .-group form input[type="datetime-local"], form .-group._huge input[type="month"], .-group._huge form input[type="month"], form .-navbar._huge .-group input[type="month"], .-navbar._huge .-group form input[type="month"], form ._huge.-navbar-float .-group input[type="month"], ._huge.-navbar-float .-group form input[type="month"], form .-group._huge input[type="week"], .-group._huge form input[type="week"], form .-navbar._huge .-group input[type="week"], .-navbar._huge .-group form input[type="week"], form ._huge.-navbar-float .-group input[type="week"], ._huge.-navbar-float .-group form input[type="week"], form .-group._huge input[type="email"], .-group._huge form input[type="email"], form .-navbar._huge .-group input[type="email"], .-navbar._huge .-group form input[type="email"], form ._huge.-navbar-float .-group input[type="email"], ._huge.-navbar-float .-group form input[type="email"], form .-group._huge input[type="number"], .-group._huge form input[type="number"], form .-navbar._huge .-group input[type="number"], .-navbar._huge .-group form input[type="number"], form ._huge.-navbar-float .-group input[type="number"], ._huge.-navbar-float .-group form input[type="number"], form .-group._huge input[type="search"], .-group._huge form input[type="search"], form .-navbar._huge .-group input[type="search"], .-navbar._huge .-group form input[type="search"], form ._huge.-navbar-float .-group input[type="search"], ._huge.-navbar-float .-group form input[type="search"], form .-group._huge input[type="tel"], .-group._huge form input[type="tel"], form .-navbar._huge .-group input[type="tel"], .-navbar._huge .-group form input[type="tel"], form ._huge.-navbar-float .-group input[type="tel"], ._huge.-navbar-float .-group form input[type="tel"], form .-group._huge input[type="time"], .-group._huge form input[type="time"], form .-navbar._huge .-group input[type="time"], .-navbar._huge .-group form input[type="time"], form ._huge.-navbar-float .-group input[type="time"], ._huge.-navbar-float .-group form input[type="time"], form .-group._huge input[type="url"], .-group._huge form input[type="url"], form .-navbar._huge .-group input[type="url"], .-navbar._huge .-group form input[type="url"], form ._huge.-navbar-float .-group input[type="url"], ._huge.-navbar-float .-group form input[type="url"], form .-group._huge textarea, .-group._huge form textarea, form .-navbar._huge .-group textarea, .-navbar._huge .-group form textarea, form ._huge.-navbar-float .-group textarea, ._huge.-navbar-float .-group form textarea, form input[type="password"]._huge, form input[type="date"]._huge, form input[type="datetime"]._huge, form input[type="datetime-local"]._huge, form input[type="month"]._huge, form input[type="week"]._huge, form input[type="email"]._huge, form input[type="number"]._huge, form input[type="search"]._huge, form input[type="tel"]._huge, form input[type="time"]._huge, form input[type="url"]._huge, form textarea._huge { + font-size: 24.5px; + line-height: 33.0px; + height: 51.0px; } + form select._divine, form input[type="text"]._divine, form .-group._divine select, .-group._divine form select, form .-navbar._divine .-group select, .-navbar._divine .-group form select, form ._divine.-navbar-float .-group select, ._divine.-navbar-float .-group form select, form .-group._divine input[type="text"], .-group._divine form input[type="text"], form .-navbar._divine .-group input[type="text"], .-navbar._divine .-group form input[type="text"], form ._divine.-navbar-float .-group input[type="text"], ._divine.-navbar-float .-group form input[type="text"], form .-group._divine input[type="password"], .-group._divine form input[type="password"], form .-navbar._divine .-group input[type="password"], .-navbar._divine .-group form input[type="password"], form ._divine.-navbar-float .-group input[type="password"], ._divine.-navbar-float .-group form input[type="password"], form .-group._divine input[type="date"], .-group._divine form input[type="date"], form .-navbar._divine .-group input[type="date"], .-navbar._divine .-group form input[type="date"], form ._divine.-navbar-float .-group input[type="date"], ._divine.-navbar-float .-group form input[type="date"], form .-group._divine input[type="datetime"], .-group._divine form input[type="datetime"], form .-navbar._divine .-group input[type="datetime"], .-navbar._divine .-group form input[type="datetime"], form ._divine.-navbar-float .-group input[type="datetime"], ._divine.-navbar-float .-group form input[type="datetime"], form .-group._divine input[type="datetime-local"], .-group._divine form input[type="datetime-local"], form .-navbar._divine .-group input[type="datetime-local"], .-navbar._divine .-group form input[type="datetime-local"], form ._divine.-navbar-float .-group input[type="datetime-local"], ._divine.-navbar-float .-group form input[type="datetime-local"], form .-group._divine input[type="month"], .-group._divine form input[type="month"], form .-navbar._divine .-group input[type="month"], .-navbar._divine .-group form input[type="month"], form ._divine.-navbar-float .-group input[type="month"], ._divine.-navbar-float .-group form input[type="month"], form .-group._divine input[type="week"], .-group._divine form input[type="week"], form .-navbar._divine .-group input[type="week"], .-navbar._divine .-group form input[type="week"], form ._divine.-navbar-float .-group input[type="week"], ._divine.-navbar-float .-group form input[type="week"], form .-group._divine input[type="email"], .-group._divine form input[type="email"], form .-navbar._divine .-group input[type="email"], .-navbar._divine .-group form input[type="email"], form ._divine.-navbar-float .-group input[type="email"], ._divine.-navbar-float .-group form input[type="email"], form .-group._divine input[type="number"], .-group._divine form input[type="number"], form .-navbar._divine .-group input[type="number"], .-navbar._divine .-group form input[type="number"], form ._divine.-navbar-float .-group input[type="number"], ._divine.-navbar-float .-group form input[type="number"], form .-group._divine input[type="search"], .-group._divine form input[type="search"], form .-navbar._divine .-group input[type="search"], .-navbar._divine .-group form input[type="search"], form ._divine.-navbar-float .-group input[type="search"], ._divine.-navbar-float .-group form input[type="search"], form .-group._divine input[type="tel"], .-group._divine form input[type="tel"], form .-navbar._divine .-group input[type="tel"], .-navbar._divine .-group form input[type="tel"], form ._divine.-navbar-float .-group input[type="tel"], ._divine.-navbar-float .-group form input[type="tel"], form .-group._divine input[type="time"], .-group._divine form input[type="time"], form .-navbar._divine .-group input[type="time"], .-navbar._divine .-group form input[type="time"], form ._divine.-navbar-float .-group input[type="time"], ._divine.-navbar-float .-group form input[type="time"], form .-group._divine input[type="url"], .-group._divine form input[type="url"], form .-navbar._divine .-group input[type="url"], .-navbar._divine .-group form input[type="url"], form ._divine.-navbar-float .-group input[type="url"], ._divine.-navbar-float .-group form input[type="url"], form .-group._divine textarea, .-group._divine form textarea, form .-navbar._divine .-group textarea, .-navbar._divine .-group form textarea, form ._divine.-navbar-float .-group textarea, ._divine.-navbar-float .-group form textarea, form input[type="password"]._divine, form input[type="date"]._divine, form input[type="datetime"]._divine, form input[type="datetime-local"]._divine, form input[type="month"]._divine, form input[type="week"]._divine, form input[type="email"]._divine, form input[type="number"]._divine, form input[type="search"]._divine, form input[type="tel"]._divine, form input[type="time"]._divine, form input[type="url"]._divine, form textarea._divine { + font-size: 28px; + line-height: 38.0px; + height: 56.0px; } form input[type="radio"], form input[type="checkbox"] { margin: 0; margin-top: 1px \9; @@ -14973,53 +14993,46 @@ form input[type="radio"], form input[type="checkbox"] { vertical-align: middle; padding: 0; } form select { + -webkit-appearance: none; + -moz-appearance: none; + -ms-appearance: none; + text-indent: 1px; + text-overflow: ""; border: 1px solid #b3b3b3; - background: rgba(217, 217, 217, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; + background: rgba(217, 217, 217, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; border-radius: 0; } + form select::-ms-expand { + display: none; } form select:active, form select:focus { box-shadow: 0 0 10px rgba(217, 217, 217, 0.4); } form select.-default- { border: 1px solid #b3b3b3; - background: rgba(217, 217, 217, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; } + background: rgba(217, 217, 217, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; } form select.-default-:active, form select.-default-:focus { box-shadow: 0 0 10px rgba(217, 217, 217, 0.4); } form select.-primary- { border: 1px solid #3598db; - background: rgba(53, 152, 219, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; } + background: rgba(53, 152, 219, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; } form select.-primary-:active, form select.-primary-:focus { box-shadow: 0 0 10px rgba(53, 152, 219, 0.4); } form select.-error- { border: 1px solid #cd2c24; - background: rgba(205, 44, 36, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; } + background: rgba(205, 44, 36, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; } form select.-error-:active, form select.-error-:focus { box-shadow: 0 0 10px rgba(205, 44, 36, 0.4); } form select.-info- { border: 1px solid #2fdcd5; - background: rgba(47, 220, 213, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; } + background: rgba(47, 220, 213, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; } form select.-info-:active, form select.-info-:focus { box-shadow: 0 0 10px rgba(47, 220, 213, 0.4); } form select.-warning- { border: 1px solid #ffc43e; - background: rgba(255, 196, 62, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; } + background: rgba(255, 196, 62, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; } form select.-warning-:active, form select.-warning-:focus { box-shadow: 0 0 10px rgba(255, 196, 62, 0.4); } form select.-dark- { border: 1px solid black; - background: rgba(0, 0, 0, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; - background-position-x: 97%; - background-position-y: center; } + background: rgba(0, 0, 0, 0.1) url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat 97% center; } form select.-dark-:active, form select.-dark-:focus { box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); } form label { @@ -15027,7 +15040,7 @@ form label { font-family: inherit; font-size: 14px; line-height: 1.42857; - padding: 6px 12px; + padding: 8px 12px; margin: 0; border-radius: 0; -webkit-box-sizing: border-box; @@ -15040,24 +15053,40 @@ form label { cursor: pointer; font-weight: 200; font-size: 14px; + line-height: 18.0px; + height: 36.0px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; white-space: normal; } form label._small { - font-size: 7px; } + font-size: 7px; + line-height: 8.0px; + height: 26.0px; } form label._minor { - font-size: 10.5px; } + font-size: 10.5px; + line-height: 13.0px; + height: 31.0px; } form label._normal { - font-size: 14px; } + font-size: 14px; + line-height: 18.0px; + height: 36.0px; } form label._major { - font-size: 17.5px; } + font-size: 17.5px; + line-height: 23.0px; + height: 41.0px; } form label._big { - font-size: 21px; } + font-size: 21px; + line-height: 28.0px; + height: 46.0px; } form label._huge { - font-size: 24.5px; } + font-size: 24.5px; + line-height: 33.0px; + height: 51.0px; } form label._divine { - font-size: 28px; } + font-size: 28px; + line-height: 38.0px; + height: 56.0px; } @media screen and (max-width: 992px) { [class^="-col"] { @@ -15093,8 +15122,40 @@ form .-field { border-color: #4d4d4d; } form .-field.-dark- select:active, form .-group.-dark- .-field select:active, .-group.-dark- form .-field select:active, form .-field.-dark- select:focus, form .-group.-dark- .-field select:focus, .-group.-dark- form .-field select:focus, form .-field.-dark- input[type="text"]:active, form .-group.-dark- .-field input[type="text"]:active, .-group.-dark- form .-field input[type="text"]:active, form .-field.-dark- input[type="text"]:focus, form .-group.-dark- .-field input[type="text"]:focus, .-group.-dark- form .-field input[type="text"]:focus, form .-field.-dark- input[type="password"]:active, form .-group.-dark- .-field input[type="password"]:active, .-group.-dark- form .-field input[type="password"]:active, form .-field.-dark- input[type="password"]:focus, form .-group.-dark- .-field input[type="password"]:focus, .-group.-dark- form .-field input[type="password"]:focus, form .-field.-dark- input[type="date"]:active, form .-group.-dark- .-field input[type="date"]:active, .-group.-dark- form .-field input[type="date"]:active, form .-field.-dark- input[type="date"]:focus, form .-group.-dark- .-field input[type="date"]:focus, .-group.-dark- form .-field input[type="date"]:focus, form .-field.-dark- input[type="datetime"]:active, form .-group.-dark- .-field input[type="datetime"]:active, .-group.-dark- form .-field input[type="datetime"]:active, form .-field.-dark- input[type="datetime"]:focus, form .-group.-dark- .-field input[type="datetime"]:focus, .-group.-dark- form .-field input[type="datetime"]:focus, form .-field.-dark- input[type="datetime-local"]:active, form .-group.-dark- .-field input[type="datetime-local"]:active, .-group.-dark- form .-field input[type="datetime-local"]:active, form .-field.-dark- input[type="datetime-local"]:focus, form .-group.-dark- .-field input[type="datetime-local"]:focus, .-group.-dark- form .-field input[type="datetime-local"]:focus, form .-field.-dark- input[type="month"]:active, form .-group.-dark- .-field input[type="month"]:active, .-group.-dark- form .-field input[type="month"]:active, form .-field.-dark- input[type="month"]:focus, form .-group.-dark- .-field input[type="month"]:focus, .-group.-dark- form .-field input[type="month"]:focus, form .-field.-dark- input[type="week"]:active, form .-group.-dark- .-field input[type="week"]:active, .-group.-dark- form .-field input[type="week"]:active, form .-field.-dark- input[type="week"]:focus, form .-group.-dark- .-field input[type="week"]:focus, .-group.-dark- form .-field input[type="week"]:focus, form .-field.-dark- input[type="email"]:active, form .-group.-dark- .-field input[type="email"]:active, .-group.-dark- form .-field input[type="email"]:active, form .-field.-dark- input[type="email"]:focus, form .-group.-dark- .-field input[type="email"]:focus, .-group.-dark- form .-field input[type="email"]:focus, form .-field.-dark- input[type="number"]:active, form .-group.-dark- .-field input[type="number"]:active, .-group.-dark- form .-field input[type="number"]:active, form .-field.-dark- input[type="number"]:focus, form .-group.-dark- .-field input[type="number"]:focus, .-group.-dark- form .-field input[type="number"]:focus, form .-field.-dark- input[type="search"]:active, form .-group.-dark- .-field input[type="search"]:active, .-group.-dark- form .-field input[type="search"]:active, form .-field.-dark- input[type="search"]:focus, form .-group.-dark- .-field input[type="search"]:focus, .-group.-dark- form .-field input[type="search"]:focus, form .-field.-dark- input[type="tel"]:active, form .-group.-dark- .-field input[type="tel"]:active, .-group.-dark- form .-field input[type="tel"]:active, form .-field.-dark- input[type="tel"]:focus, form .-group.-dark- .-field input[type="tel"]:focus, .-group.-dark- form .-field input[type="tel"]:focus, form .-field.-dark- input[type="time"]:active, form .-group.-dark- .-field input[type="time"]:active, .-group.-dark- form .-field input[type="time"]:active, form .-field.-dark- input[type="time"]:focus, form .-group.-dark- .-field input[type="time"]:focus, .-group.-dark- form .-field input[type="time"]:focus, form .-field.-dark- input[type="url"]:active, form .-group.-dark- .-field input[type="url"]:active, .-group.-dark- form .-field input[type="url"]:active, form .-field.-dark- input[type="url"]:focus, form .-group.-dark- .-field input[type="url"]:focus, .-group.-dark- form .-field input[type="url"]:focus, form .-field.-dark- textarea:active, form .-group.-dark- .-field textarea:active, .-group.-dark- form .-field textarea:active, form .-field.-dark- textarea:focus, form .-group.-dark- .-field textarea:focus, .-group.-dark- form .-field textarea:focus { box-shadow: 0 0 15px rgba(0, 0, 0, 0.6); } + form .-field._small select, form .-group._small .-field select, .-group._small form .-field select, form .-navbar._small .-group .-field select, .-navbar._small .-group form .-field select, form ._small.-navbar-float .-group .-field select, ._small.-navbar-float .-group form .-field select, form .-field._small input[type="text"], form .-group._small .-field input[type="text"], .-group._small form .-field input[type="text"], form .-navbar._small .-group .-field input[type="text"], .-navbar._small .-group form .-field input[type="text"], form ._small.-navbar-float .-group .-field input[type="text"], ._small.-navbar-float .-group form .-field input[type="text"], form .-field._small input[type="password"], form .-group._small .-field input[type="password"], .-group._small form .-field input[type="password"], form .-navbar._small .-group .-field input[type="password"], .-navbar._small .-group form .-field input[type="password"], form ._small.-navbar-float .-group .-field input[type="password"], ._small.-navbar-float .-group form .-field input[type="password"], form .-field._small input[type="date"], form .-group._small .-field input[type="date"], .-group._small form .-field input[type="date"], form .-navbar._small .-group .-field input[type="date"], .-navbar._small .-group form .-field input[type="date"], form ._small.-navbar-float .-group .-field input[type="date"], ._small.-navbar-float .-group form .-field input[type="date"], form .-field._small input[type="datetime"], form .-group._small .-field input[type="datetime"], .-group._small form .-field input[type="datetime"], form .-navbar._small .-group .-field input[type="datetime"], .-navbar._small .-group form .-field input[type="datetime"], form ._small.-navbar-float .-group .-field input[type="datetime"], ._small.-navbar-float .-group form .-field input[type="datetime"], form .-field._small input[type="datetime-local"], form .-group._small .-field input[type="datetime-local"], .-group._small form .-field input[type="datetime-local"], form .-navbar._small .-group .-field input[type="datetime-local"], .-navbar._small .-group form .-field input[type="datetime-local"], form ._small.-navbar-float .-group .-field input[type="datetime-local"], ._small.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._small input[type="month"], form .-group._small .-field input[type="month"], .-group._small form .-field input[type="month"], form .-navbar._small .-group .-field input[type="month"], .-navbar._small .-group form .-field input[type="month"], form ._small.-navbar-float .-group .-field input[type="month"], ._small.-navbar-float .-group form .-field input[type="month"], form .-field._small input[type="week"], form .-group._small .-field input[type="week"], .-group._small form .-field input[type="week"], form .-navbar._small .-group .-field input[type="week"], .-navbar._small .-group form .-field input[type="week"], form ._small.-navbar-float .-group .-field input[type="week"], ._small.-navbar-float .-group form .-field input[type="week"], form .-field._small input[type="email"], form .-group._small .-field input[type="email"], .-group._small form .-field input[type="email"], form .-navbar._small .-group .-field input[type="email"], .-navbar._small .-group form .-field input[type="email"], form ._small.-navbar-float .-group .-field input[type="email"], ._small.-navbar-float .-group form .-field input[type="email"], form .-field._small input[type="number"], form .-group._small .-field input[type="number"], .-group._small form .-field input[type="number"], form .-navbar._small .-group .-field input[type="number"], .-navbar._small .-group form .-field input[type="number"], form ._small.-navbar-float .-group .-field input[type="number"], ._small.-navbar-float .-group form .-field input[type="number"], form .-field._small input[type="search"], form .-group._small .-field input[type="search"], .-group._small form .-field input[type="search"], form .-navbar._small .-group .-field input[type="search"], .-navbar._small .-group form .-field input[type="search"], form ._small.-navbar-float .-group .-field input[type="search"], ._small.-navbar-float .-group form .-field input[type="search"], form .-field._small input[type="tel"], form .-group._small .-field input[type="tel"], .-group._small form .-field input[type="tel"], form .-navbar._small .-group .-field input[type="tel"], .-navbar._small .-group form .-field input[type="tel"], form ._small.-navbar-float .-group .-field input[type="tel"], ._small.-navbar-float .-group form .-field input[type="tel"], form .-field._small input[type="time"], form .-group._small .-field input[type="time"], .-group._small form .-field input[type="time"], form .-navbar._small .-group .-field input[type="time"], .-navbar._small .-group form .-field input[type="time"], form ._small.-navbar-float .-group .-field input[type="time"], ._small.-navbar-float .-group form .-field input[type="time"], form .-field._small input[type="url"], form .-group._small .-field input[type="url"], .-group._small form .-field input[type="url"], form .-navbar._small .-group .-field input[type="url"], .-navbar._small .-group form .-field input[type="url"], form ._small.-navbar-float .-group .-field input[type="url"], ._small.-navbar-float .-group form .-field input[type="url"], form .-field._small textarea, form .-group._small .-field textarea, .-group._small form .-field textarea, form .-navbar._small .-group .-field textarea, .-navbar._small .-group form .-field textarea, form ._small.-navbar-float .-group .-field textarea, ._small.-navbar-float .-group form .-field textarea { + font-size: 7px; + line-height: 8.0px; + height: 20.0px; } + form .-field._minor select, form .-group._minor .-field select, .-group._minor form .-field select, form .-navbar._minor .-group .-field select, .-navbar._minor .-group form .-field select, form ._minor.-navbar-float .-group .-field select, ._minor.-navbar-float .-group form .-field select, form .-field._minor input[type="text"], form .-group._minor .-field input[type="text"], .-group._minor form .-field input[type="text"], form .-navbar._minor .-group .-field input[type="text"], .-navbar._minor .-group form .-field input[type="text"], form ._minor.-navbar-float .-group .-field input[type="text"], ._minor.-navbar-float .-group form .-field input[type="text"], form .-field._minor input[type="password"], form .-group._minor .-field input[type="password"], .-group._minor form .-field input[type="password"], form .-navbar._minor .-group .-field input[type="password"], .-navbar._minor .-group form .-field input[type="password"], form ._minor.-navbar-float .-group .-field input[type="password"], ._minor.-navbar-float .-group form .-field input[type="password"], form .-field._minor input[type="date"], form .-group._minor .-field input[type="date"], .-group._minor form .-field input[type="date"], form .-navbar._minor .-group .-field input[type="date"], .-navbar._minor .-group form .-field input[type="date"], form ._minor.-navbar-float .-group .-field input[type="date"], ._minor.-navbar-float .-group form .-field input[type="date"], form .-field._minor input[type="datetime"], form .-group._minor .-field input[type="datetime"], .-group._minor form .-field input[type="datetime"], form .-navbar._minor .-group .-field input[type="datetime"], .-navbar._minor .-group form .-field input[type="datetime"], form ._minor.-navbar-float .-group .-field input[type="datetime"], ._minor.-navbar-float .-group form .-field input[type="datetime"], form .-field._minor input[type="datetime-local"], form .-group._minor .-field input[type="datetime-local"], .-group._minor form .-field input[type="datetime-local"], form .-navbar._minor .-group .-field input[type="datetime-local"], .-navbar._minor .-group form .-field input[type="datetime-local"], form ._minor.-navbar-float .-group .-field input[type="datetime-local"], ._minor.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._minor input[type="month"], form .-group._minor .-field input[type="month"], .-group._minor form .-field input[type="month"], form .-navbar._minor .-group .-field input[type="month"], .-navbar._minor .-group form .-field input[type="month"], form ._minor.-navbar-float .-group .-field input[type="month"], ._minor.-navbar-float .-group form .-field input[type="month"], form .-field._minor input[type="week"], form .-group._minor .-field input[type="week"], .-group._minor form .-field input[type="week"], form .-navbar._minor .-group .-field input[type="week"], .-navbar._minor .-group form .-field input[type="week"], form ._minor.-navbar-float .-group .-field input[type="week"], ._minor.-navbar-float .-group form .-field input[type="week"], form .-field._minor input[type="email"], form .-group._minor .-field input[type="email"], .-group._minor form .-field input[type="email"], form .-navbar._minor .-group .-field input[type="email"], .-navbar._minor .-group form .-field input[type="email"], form ._minor.-navbar-float .-group .-field input[type="email"], ._minor.-navbar-float .-group form .-field input[type="email"], form .-field._minor input[type="number"], form .-group._minor .-field input[type="number"], .-group._minor form .-field input[type="number"], form .-navbar._minor .-group .-field input[type="number"], .-navbar._minor .-group form .-field input[type="number"], form ._minor.-navbar-float .-group .-field input[type="number"], ._minor.-navbar-float .-group form .-field input[type="number"], form .-field._minor input[type="search"], form .-group._minor .-field input[type="search"], .-group._minor form .-field input[type="search"], form .-navbar._minor .-group .-field input[type="search"], .-navbar._minor .-group form .-field input[type="search"], form ._minor.-navbar-float .-group .-field input[type="search"], ._minor.-navbar-float .-group form .-field input[type="search"], form .-field._minor input[type="tel"], form .-group._minor .-field input[type="tel"], .-group._minor form .-field input[type="tel"], form .-navbar._minor .-group .-field input[type="tel"], .-navbar._minor .-group form .-field input[type="tel"], form ._minor.-navbar-float .-group .-field input[type="tel"], ._minor.-navbar-float .-group form .-field input[type="tel"], form .-field._minor input[type="time"], form .-group._minor .-field input[type="time"], .-group._minor form .-field input[type="time"], form .-navbar._minor .-group .-field input[type="time"], .-navbar._minor .-group form .-field input[type="time"], form ._minor.-navbar-float .-group .-field input[type="time"], ._minor.-navbar-float .-group form .-field input[type="time"], form .-field._minor input[type="url"], form .-group._minor .-field input[type="url"], .-group._minor form .-field input[type="url"], form .-navbar._minor .-group .-field input[type="url"], .-navbar._minor .-group form .-field input[type="url"], form ._minor.-navbar-float .-group .-field input[type="url"], ._minor.-navbar-float .-group form .-field input[type="url"], form .-field._minor textarea, form .-group._minor .-field textarea, .-group._minor form .-field textarea, form .-navbar._minor .-group .-field textarea, .-navbar._minor .-group form .-field textarea, form ._minor.-navbar-float .-group .-field textarea, ._minor.-navbar-float .-group form .-field textarea { + font-size: 10.5px; + line-height: 13.0px; + height: 25.0px; } + form .-field select, form .-field input[type="text"], form .-field input[type="password"], form .-field input[type="date"], form .-field input[type="datetime"], form .-field input[type="datetime-local"], form .-field input[type="month"], form .-field input[type="week"], form .-field input[type="email"], form .-field input[type="number"], form .-field input[type="search"], form .-field input[type="tel"], form .-field input[type="time"], form .-field input[type="url"], form .-field textarea { + font-size: 14px; + line-height: 18.0px; + height: 30.0px; } + form .-field._normal select, form .-group._normal .-field select, .-group._normal form .-field select, form .-navbar._normal .-group .-field select, .-navbar._normal .-group form .-field select, form ._normal.-navbar-float .-group .-field select, ._normal.-navbar-float .-group form .-field select, form .-field._normal input[type="text"], form .-group._normal .-field input[type="text"], .-group._normal form .-field input[type="text"], form .-navbar._normal .-group .-field input[type="text"], .-navbar._normal .-group form .-field input[type="text"], form ._normal.-navbar-float .-group .-field input[type="text"], ._normal.-navbar-float .-group form .-field input[type="text"], form .-field._normal input[type="password"], form .-group._normal .-field input[type="password"], .-group._normal form .-field input[type="password"], form .-navbar._normal .-group .-field input[type="password"], .-navbar._normal .-group form .-field input[type="password"], form ._normal.-navbar-float .-group .-field input[type="password"], ._normal.-navbar-float .-group form .-field input[type="password"], form .-field._normal input[type="date"], form .-group._normal .-field input[type="date"], .-group._normal form .-field input[type="date"], form .-navbar._normal .-group .-field input[type="date"], .-navbar._normal .-group form .-field input[type="date"], form ._normal.-navbar-float .-group .-field input[type="date"], ._normal.-navbar-float .-group form .-field input[type="date"], form .-field._normal input[type="datetime"], form .-group._normal .-field input[type="datetime"], .-group._normal form .-field input[type="datetime"], form .-navbar._normal .-group .-field input[type="datetime"], .-navbar._normal .-group form .-field input[type="datetime"], form ._normal.-navbar-float .-group .-field input[type="datetime"], ._normal.-navbar-float .-group form .-field input[type="datetime"], form .-field._normal input[type="datetime-local"], form .-group._normal .-field input[type="datetime-local"], .-group._normal form .-field input[type="datetime-local"], form .-navbar._normal .-group .-field input[type="datetime-local"], .-navbar._normal .-group form .-field input[type="datetime-local"], form ._normal.-navbar-float .-group .-field input[type="datetime-local"], ._normal.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._normal input[type="month"], form .-group._normal .-field input[type="month"], .-group._normal form .-field input[type="month"], form .-navbar._normal .-group .-field input[type="month"], .-navbar._normal .-group form .-field input[type="month"], form ._normal.-navbar-float .-group .-field input[type="month"], ._normal.-navbar-float .-group form .-field input[type="month"], form .-field._normal input[type="week"], form .-group._normal .-field input[type="week"], .-group._normal form .-field input[type="week"], form .-navbar._normal .-group .-field input[type="week"], .-navbar._normal .-group form .-field input[type="week"], form ._normal.-navbar-float .-group .-field input[type="week"], ._normal.-navbar-float .-group form .-field input[type="week"], form .-field._normal input[type="email"], form .-group._normal .-field input[type="email"], .-group._normal form .-field input[type="email"], form .-navbar._normal .-group .-field input[type="email"], .-navbar._normal .-group form .-field input[type="email"], form ._normal.-navbar-float .-group .-field input[type="email"], ._normal.-navbar-float .-group form .-field input[type="email"], form .-field._normal input[type="number"], form .-group._normal .-field input[type="number"], .-group._normal form .-field input[type="number"], form .-navbar._normal .-group .-field input[type="number"], .-navbar._normal .-group form .-field input[type="number"], form ._normal.-navbar-float .-group .-field input[type="number"], ._normal.-navbar-float .-group form .-field input[type="number"], form .-field._normal input[type="search"], form .-group._normal .-field input[type="search"], .-group._normal form .-field input[type="search"], form .-navbar._normal .-group .-field input[type="search"], .-navbar._normal .-group form .-field input[type="search"], form ._normal.-navbar-float .-group .-field input[type="search"], ._normal.-navbar-float .-group form .-field input[type="search"], form .-field._normal input[type="tel"], form .-group._normal .-field input[type="tel"], .-group._normal form .-field input[type="tel"], form .-navbar._normal .-group .-field input[type="tel"], .-navbar._normal .-group form .-field input[type="tel"], form ._normal.-navbar-float .-group .-field input[type="tel"], ._normal.-navbar-float .-group form .-field input[type="tel"], form .-field._normal input[type="time"], form .-group._normal .-field input[type="time"], .-group._normal form .-field input[type="time"], form .-navbar._normal .-group .-field input[type="time"], .-navbar._normal .-group form .-field input[type="time"], form ._normal.-navbar-float .-group .-field input[type="time"], ._normal.-navbar-float .-group form .-field input[type="time"], form .-field._normal input[type="url"], form .-group._normal .-field input[type="url"], .-group._normal form .-field input[type="url"], form .-navbar._normal .-group .-field input[type="url"], .-navbar._normal .-group form .-field input[type="url"], form ._normal.-navbar-float .-group .-field input[type="url"], ._normal.-navbar-float .-group form .-field input[type="url"], form .-field._normal textarea, form .-group._normal .-field textarea, .-group._normal form .-field textarea, form .-navbar._normal .-group .-field textarea, .-navbar._normal .-group form .-field textarea, form ._normal.-navbar-float .-group .-field textarea, ._normal.-navbar-float .-group form .-field textarea { + font-size: 14px; + line-height: 18.0px; + height: 30.0px; } + form .-field._major select, form .-group._major .-field select, .-group._major form .-field select, form .-navbar._major .-group .-field select, .-navbar._major .-group form .-field select, form ._major.-navbar-float .-group .-field select, ._major.-navbar-float .-group form .-field select, form .-field._major input[type="text"], form .-group._major .-field input[type="text"], .-group._major form .-field input[type="text"], form .-navbar._major .-group .-field input[type="text"], .-navbar._major .-group form .-field input[type="text"], form ._major.-navbar-float .-group .-field input[type="text"], ._major.-navbar-float .-group form .-field input[type="text"], form .-field._major input[type="password"], form .-group._major .-field input[type="password"], .-group._major form .-field input[type="password"], form .-navbar._major .-group .-field input[type="password"], .-navbar._major .-group form .-field input[type="password"], form ._major.-navbar-float .-group .-field input[type="password"], ._major.-navbar-float .-group form .-field input[type="password"], form .-field._major input[type="date"], form .-group._major .-field input[type="date"], .-group._major form .-field input[type="date"], form .-navbar._major .-group .-field input[type="date"], .-navbar._major .-group form .-field input[type="date"], form ._major.-navbar-float .-group .-field input[type="date"], ._major.-navbar-float .-group form .-field input[type="date"], form .-field._major input[type="datetime"], form .-group._major .-field input[type="datetime"], .-group._major form .-field input[type="datetime"], form .-navbar._major .-group .-field input[type="datetime"], .-navbar._major .-group form .-field input[type="datetime"], form ._major.-navbar-float .-group .-field input[type="datetime"], ._major.-navbar-float .-group form .-field input[type="datetime"], form .-field._major input[type="datetime-local"], form .-group._major .-field input[type="datetime-local"], .-group._major form .-field input[type="datetime-local"], form .-navbar._major .-group .-field input[type="datetime-local"], .-navbar._major .-group form .-field input[type="datetime-local"], form ._major.-navbar-float .-group .-field input[type="datetime-local"], ._major.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._major input[type="month"], form .-group._major .-field input[type="month"], .-group._major form .-field input[type="month"], form .-navbar._major .-group .-field input[type="month"], .-navbar._major .-group form .-field input[type="month"], form ._major.-navbar-float .-group .-field input[type="month"], ._major.-navbar-float .-group form .-field input[type="month"], form .-field._major input[type="week"], form .-group._major .-field input[type="week"], .-group._major form .-field input[type="week"], form .-navbar._major .-group .-field input[type="week"], .-navbar._major .-group form .-field input[type="week"], form ._major.-navbar-float .-group .-field input[type="week"], ._major.-navbar-float .-group form .-field input[type="week"], form .-field._major input[type="email"], form .-group._major .-field input[type="email"], .-group._major form .-field input[type="email"], form .-navbar._major .-group .-field input[type="email"], .-navbar._major .-group form .-field input[type="email"], form ._major.-navbar-float .-group .-field input[type="email"], ._major.-navbar-float .-group form .-field input[type="email"], form .-field._major input[type="number"], form .-group._major .-field input[type="number"], .-group._major form .-field input[type="number"], form .-navbar._major .-group .-field input[type="number"], .-navbar._major .-group form .-field input[type="number"], form ._major.-navbar-float .-group .-field input[type="number"], ._major.-navbar-float .-group form .-field input[type="number"], form .-field._major input[type="search"], form .-group._major .-field input[type="search"], .-group._major form .-field input[type="search"], form .-navbar._major .-group .-field input[type="search"], .-navbar._major .-group form .-field input[type="search"], form ._major.-navbar-float .-group .-field input[type="search"], ._major.-navbar-float .-group form .-field input[type="search"], form .-field._major input[type="tel"], form .-group._major .-field input[type="tel"], .-group._major form .-field input[type="tel"], form .-navbar._major .-group .-field input[type="tel"], .-navbar._major .-group form .-field input[type="tel"], form ._major.-navbar-float .-group .-field input[type="tel"], ._major.-navbar-float .-group form .-field input[type="tel"], form .-field._major input[type="time"], form .-group._major .-field input[type="time"], .-group._major form .-field input[type="time"], form .-navbar._major .-group .-field input[type="time"], .-navbar._major .-group form .-field input[type="time"], form ._major.-navbar-float .-group .-field input[type="time"], ._major.-navbar-float .-group form .-field input[type="time"], form .-field._major input[type="url"], form .-group._major .-field input[type="url"], .-group._major form .-field input[type="url"], form .-navbar._major .-group .-field input[type="url"], .-navbar._major .-group form .-field input[type="url"], form ._major.-navbar-float .-group .-field input[type="url"], ._major.-navbar-float .-group form .-field input[type="url"], form .-field._major textarea, form .-group._major .-field textarea, .-group._major form .-field textarea, form .-navbar._major .-group .-field textarea, .-navbar._major .-group form .-field textarea, form ._major.-navbar-float .-group .-field textarea, ._major.-navbar-float .-group form .-field textarea { + font-size: 17.5px; + line-height: 23.0px; + height: 35.0px; } + form .-field._big select, form .-group._big .-field select, .-group._big form .-field select, form .-navbar._big .-group .-field select, .-navbar._big .-group form .-field select, form ._big.-navbar-float .-group .-field select, ._big.-navbar-float .-group form .-field select, form .-field._big input[type="text"], form .-group._big .-field input[type="text"], .-group._big form .-field input[type="text"], form .-navbar._big .-group .-field input[type="text"], .-navbar._big .-group form .-field input[type="text"], form ._big.-navbar-float .-group .-field input[type="text"], ._big.-navbar-float .-group form .-field input[type="text"], form .-field._big input[type="password"], form .-group._big .-field input[type="password"], .-group._big form .-field input[type="password"], form .-navbar._big .-group .-field input[type="password"], .-navbar._big .-group form .-field input[type="password"], form ._big.-navbar-float .-group .-field input[type="password"], ._big.-navbar-float .-group form .-field input[type="password"], form .-field._big input[type="date"], form .-group._big .-field input[type="date"], .-group._big form .-field input[type="date"], form .-navbar._big .-group .-field input[type="date"], .-navbar._big .-group form .-field input[type="date"], form ._big.-navbar-float .-group .-field input[type="date"], ._big.-navbar-float .-group form .-field input[type="date"], form .-field._big input[type="datetime"], form .-group._big .-field input[type="datetime"], .-group._big form .-field input[type="datetime"], form .-navbar._big .-group .-field input[type="datetime"], .-navbar._big .-group form .-field input[type="datetime"], form ._big.-navbar-float .-group .-field input[type="datetime"], ._big.-navbar-float .-group form .-field input[type="datetime"], form .-field._big input[type="datetime-local"], form .-group._big .-field input[type="datetime-local"], .-group._big form .-field input[type="datetime-local"], form .-navbar._big .-group .-field input[type="datetime-local"], .-navbar._big .-group form .-field input[type="datetime-local"], form ._big.-navbar-float .-group .-field input[type="datetime-local"], ._big.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._big input[type="month"], form .-group._big .-field input[type="month"], .-group._big form .-field input[type="month"], form .-navbar._big .-group .-field input[type="month"], .-navbar._big .-group form .-field input[type="month"], form ._big.-navbar-float .-group .-field input[type="month"], ._big.-navbar-float .-group form .-field input[type="month"], form .-field._big input[type="week"], form .-group._big .-field input[type="week"], .-group._big form .-field input[type="week"], form .-navbar._big .-group .-field input[type="week"], .-navbar._big .-group form .-field input[type="week"], form ._big.-navbar-float .-group .-field input[type="week"], ._big.-navbar-float .-group form .-field input[type="week"], form .-field._big input[type="email"], form .-group._big .-field input[type="email"], .-group._big form .-field input[type="email"], form .-navbar._big .-group .-field input[type="email"], .-navbar._big .-group form .-field input[type="email"], form ._big.-navbar-float .-group .-field input[type="email"], ._big.-navbar-float .-group form .-field input[type="email"], form .-field._big input[type="number"], form .-group._big .-field input[type="number"], .-group._big form .-field input[type="number"], form .-navbar._big .-group .-field input[type="number"], .-navbar._big .-group form .-field input[type="number"], form ._big.-navbar-float .-group .-field input[type="number"], ._big.-navbar-float .-group form .-field input[type="number"], form .-field._big input[type="search"], form .-group._big .-field input[type="search"], .-group._big form .-field input[type="search"], form .-navbar._big .-group .-field input[type="search"], .-navbar._big .-group form .-field input[type="search"], form ._big.-navbar-float .-group .-field input[type="search"], ._big.-navbar-float .-group form .-field input[type="search"], form .-field._big input[type="tel"], form .-group._big .-field input[type="tel"], .-group._big form .-field input[type="tel"], form .-navbar._big .-group .-field input[type="tel"], .-navbar._big .-group form .-field input[type="tel"], form ._big.-navbar-float .-group .-field input[type="tel"], ._big.-navbar-float .-group form .-field input[type="tel"], form .-field._big input[type="time"], form .-group._big .-field input[type="time"], .-group._big form .-field input[type="time"], form .-navbar._big .-group .-field input[type="time"], .-navbar._big .-group form .-field input[type="time"], form ._big.-navbar-float .-group .-field input[type="time"], ._big.-navbar-float .-group form .-field input[type="time"], form .-field._big input[type="url"], form .-group._big .-field input[type="url"], .-group._big form .-field input[type="url"], form .-navbar._big .-group .-field input[type="url"], .-navbar._big .-group form .-field input[type="url"], form ._big.-navbar-float .-group .-field input[type="url"], ._big.-navbar-float .-group form .-field input[type="url"], form .-field._big textarea, form .-group._big .-field textarea, .-group._big form .-field textarea, form .-navbar._big .-group .-field textarea, .-navbar._big .-group form .-field textarea, form ._big.-navbar-float .-group .-field textarea, ._big.-navbar-float .-group form .-field textarea { + font-size: 21px; + line-height: 28.0px; + height: 40.0px; } + form .-field._huge select, form .-group._huge .-field select, .-group._huge form .-field select, form .-navbar._huge .-group .-field select, .-navbar._huge .-group form .-field select, form ._huge.-navbar-float .-group .-field select, ._huge.-navbar-float .-group form .-field select, form .-field._huge input[type="text"], form .-group._huge .-field input[type="text"], .-group._huge form .-field input[type="text"], form .-navbar._huge .-group .-field input[type="text"], .-navbar._huge .-group form .-field input[type="text"], form ._huge.-navbar-float .-group .-field input[type="text"], ._huge.-navbar-float .-group form .-field input[type="text"], form .-field._huge input[type="password"], form .-group._huge .-field input[type="password"], .-group._huge form .-field input[type="password"], form .-navbar._huge .-group .-field input[type="password"], .-navbar._huge .-group form .-field input[type="password"], form ._huge.-navbar-float .-group .-field input[type="password"], ._huge.-navbar-float .-group form .-field input[type="password"], form .-field._huge input[type="date"], form .-group._huge .-field input[type="date"], .-group._huge form .-field input[type="date"], form .-navbar._huge .-group .-field input[type="date"], .-navbar._huge .-group form .-field input[type="date"], form ._huge.-navbar-float .-group .-field input[type="date"], ._huge.-navbar-float .-group form .-field input[type="date"], form .-field._huge input[type="datetime"], form .-group._huge .-field input[type="datetime"], .-group._huge form .-field input[type="datetime"], form .-navbar._huge .-group .-field input[type="datetime"], .-navbar._huge .-group form .-field input[type="datetime"], form ._huge.-navbar-float .-group .-field input[type="datetime"], ._huge.-navbar-float .-group form .-field input[type="datetime"], form .-field._huge input[type="datetime-local"], form .-group._huge .-field input[type="datetime-local"], .-group._huge form .-field input[type="datetime-local"], form .-navbar._huge .-group .-field input[type="datetime-local"], .-navbar._huge .-group form .-field input[type="datetime-local"], form ._huge.-navbar-float .-group .-field input[type="datetime-local"], ._huge.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._huge input[type="month"], form .-group._huge .-field input[type="month"], .-group._huge form .-field input[type="month"], form .-navbar._huge .-group .-field input[type="month"], .-navbar._huge .-group form .-field input[type="month"], form ._huge.-navbar-float .-group .-field input[type="month"], ._huge.-navbar-float .-group form .-field input[type="month"], form .-field._huge input[type="week"], form .-group._huge .-field input[type="week"], .-group._huge form .-field input[type="week"], form .-navbar._huge .-group .-field input[type="week"], .-navbar._huge .-group form .-field input[type="week"], form ._huge.-navbar-float .-group .-field input[type="week"], ._huge.-navbar-float .-group form .-field input[type="week"], form .-field._huge input[type="email"], form .-group._huge .-field input[type="email"], .-group._huge form .-field input[type="email"], form .-navbar._huge .-group .-field input[type="email"], .-navbar._huge .-group form .-field input[type="email"], form ._huge.-navbar-float .-group .-field input[type="email"], ._huge.-navbar-float .-group form .-field input[type="email"], form .-field._huge input[type="number"], form .-group._huge .-field input[type="number"], .-group._huge form .-field input[type="number"], form .-navbar._huge .-group .-field input[type="number"], .-navbar._huge .-group form .-field input[type="number"], form ._huge.-navbar-float .-group .-field input[type="number"], ._huge.-navbar-float .-group form .-field input[type="number"], form .-field._huge input[type="search"], form .-group._huge .-field input[type="search"], .-group._huge form .-field input[type="search"], form .-navbar._huge .-group .-field input[type="search"], .-navbar._huge .-group form .-field input[type="search"], form ._huge.-navbar-float .-group .-field input[type="search"], ._huge.-navbar-float .-group form .-field input[type="search"], form .-field._huge input[type="tel"], form .-group._huge .-field input[type="tel"], .-group._huge form .-field input[type="tel"], form .-navbar._huge .-group .-field input[type="tel"], .-navbar._huge .-group form .-field input[type="tel"], form ._huge.-navbar-float .-group .-field input[type="tel"], ._huge.-navbar-float .-group form .-field input[type="tel"], form .-field._huge input[type="time"], form .-group._huge .-field input[type="time"], .-group._huge form .-field input[type="time"], form .-navbar._huge .-group .-field input[type="time"], .-navbar._huge .-group form .-field input[type="time"], form ._huge.-navbar-float .-group .-field input[type="time"], ._huge.-navbar-float .-group form .-field input[type="time"], form .-field._huge input[type="url"], form .-group._huge .-field input[type="url"], .-group._huge form .-field input[type="url"], form .-navbar._huge .-group .-field input[type="url"], .-navbar._huge .-group form .-field input[type="url"], form ._huge.-navbar-float .-group .-field input[type="url"], ._huge.-navbar-float .-group form .-field input[type="url"], form .-field._huge textarea, form .-group._huge .-field textarea, .-group._huge form .-field textarea, form .-navbar._huge .-group .-field textarea, .-navbar._huge .-group form .-field textarea, form ._huge.-navbar-float .-group .-field textarea, ._huge.-navbar-float .-group form .-field textarea { + font-size: 24.5px; + line-height: 33.0px; + height: 45.0px; } + form .-field._divine select, form .-group._divine .-field select, .-group._divine form .-field select, form .-navbar._divine .-group .-field select, .-navbar._divine .-group form .-field select, form ._divine.-navbar-float .-group .-field select, ._divine.-navbar-float .-group form .-field select, form .-field._divine input[type="text"], form .-group._divine .-field input[type="text"], .-group._divine form .-field input[type="text"], form .-navbar._divine .-group .-field input[type="text"], .-navbar._divine .-group form .-field input[type="text"], form ._divine.-navbar-float .-group .-field input[type="text"], ._divine.-navbar-float .-group form .-field input[type="text"], form .-field._divine input[type="password"], form .-group._divine .-field input[type="password"], .-group._divine form .-field input[type="password"], form .-navbar._divine .-group .-field input[type="password"], .-navbar._divine .-group form .-field input[type="password"], form ._divine.-navbar-float .-group .-field input[type="password"], ._divine.-navbar-float .-group form .-field input[type="password"], form .-field._divine input[type="date"], form .-group._divine .-field input[type="date"], .-group._divine form .-field input[type="date"], form .-navbar._divine .-group .-field input[type="date"], .-navbar._divine .-group form .-field input[type="date"], form ._divine.-navbar-float .-group .-field input[type="date"], ._divine.-navbar-float .-group form .-field input[type="date"], form .-field._divine input[type="datetime"], form .-group._divine .-field input[type="datetime"], .-group._divine form .-field input[type="datetime"], form .-navbar._divine .-group .-field input[type="datetime"], .-navbar._divine .-group form .-field input[type="datetime"], form ._divine.-navbar-float .-group .-field input[type="datetime"], ._divine.-navbar-float .-group form .-field input[type="datetime"], form .-field._divine input[type="datetime-local"], form .-group._divine .-field input[type="datetime-local"], .-group._divine form .-field input[type="datetime-local"], form .-navbar._divine .-group .-field input[type="datetime-local"], .-navbar._divine .-group form .-field input[type="datetime-local"], form ._divine.-navbar-float .-group .-field input[type="datetime-local"], ._divine.-navbar-float .-group form .-field input[type="datetime-local"], form .-field._divine input[type="month"], form .-group._divine .-field input[type="month"], .-group._divine form .-field input[type="month"], form .-navbar._divine .-group .-field input[type="month"], .-navbar._divine .-group form .-field input[type="month"], form ._divine.-navbar-float .-group .-field input[type="month"], ._divine.-navbar-float .-group form .-field input[type="month"], form .-field._divine input[type="week"], form .-group._divine .-field input[type="week"], .-group._divine form .-field input[type="week"], form .-navbar._divine .-group .-field input[type="week"], .-navbar._divine .-group form .-field input[type="week"], form ._divine.-navbar-float .-group .-field input[type="week"], ._divine.-navbar-float .-group form .-field input[type="week"], form .-field._divine input[type="email"], form .-group._divine .-field input[type="email"], .-group._divine form .-field input[type="email"], form .-navbar._divine .-group .-field input[type="email"], .-navbar._divine .-group form .-field input[type="email"], form ._divine.-navbar-float .-group .-field input[type="email"], ._divine.-navbar-float .-group form .-field input[type="email"], form .-field._divine input[type="number"], form .-group._divine .-field input[type="number"], .-group._divine form .-field input[type="number"], form .-navbar._divine .-group .-field input[type="number"], .-navbar._divine .-group form .-field input[type="number"], form ._divine.-navbar-float .-group .-field input[type="number"], ._divine.-navbar-float .-group form .-field input[type="number"], form .-field._divine input[type="search"], form .-group._divine .-field input[type="search"], .-group._divine form .-field input[type="search"], form .-navbar._divine .-group .-field input[type="search"], .-navbar._divine .-group form .-field input[type="search"], form ._divine.-navbar-float .-group .-field input[type="search"], ._divine.-navbar-float .-group form .-field input[type="search"], form .-field._divine input[type="tel"], form .-group._divine .-field input[type="tel"], .-group._divine form .-field input[type="tel"], form .-navbar._divine .-group .-field input[type="tel"], .-navbar._divine .-group form .-field input[type="tel"], form ._divine.-navbar-float .-group .-field input[type="tel"], ._divine.-navbar-float .-group form .-field input[type="tel"], form .-field._divine input[type="time"], form .-group._divine .-field input[type="time"], .-group._divine form .-field input[type="time"], form .-navbar._divine .-group .-field input[type="time"], .-navbar._divine .-group form .-field input[type="time"], form ._divine.-navbar-float .-group .-field input[type="time"], ._divine.-navbar-float .-group form .-field input[type="time"], form .-field._divine input[type="url"], form .-group._divine .-field input[type="url"], .-group._divine form .-field input[type="url"], form .-navbar._divine .-group .-field input[type="url"], .-navbar._divine .-group form .-field input[type="url"], form ._divine.-navbar-float .-group .-field input[type="url"], ._divine.-navbar-float .-group form .-field input[type="url"], form .-field._divine textarea, form .-group._divine .-field textarea, .-group._divine form .-field textarea, form .-navbar._divine .-group .-field textarea, .-navbar._divine .-group form .-field textarea, form ._divine.-navbar-float .-group .-field textarea, ._divine.-navbar-float .-group form .-field textarea { + font-size: 28px; + line-height: 38.0px; + height: 50.0px; } form label._horizontal_ { - padding: 10px 12px; } + padding: 12px 12px; } fieldset { border: 1px solid rgba(0, 0, 0, 0.2); @@ -15572,7 +15633,7 @@ fieldset { white-space: nowrap; outline: none; position: relative; - padding: 6px 12px; + padding: 8px 12px; font-size: 14px; line-height: 1.42857; border-radius: 3px; @@ -15583,7 +15644,9 @@ fieldset { background-color: #f3f3f3; border-color: #d1d1d1; color: black; - font-size: 14px; } + font-size: 14px; + line-height: 18.0px; + height: 36.0px; } .-btn._vertical_, ._vertical_.-btn-ghost, ._vertical_.-btn-bordered, a._vertical_[href].-btn-ghost, a._vertical_[href].-btn-bordered { display: block; width: 100%; } @@ -15691,39 +15754,59 @@ fieldset { .-btn._unstyled_ .fa, ._unstyled_.-btn-ghost .fa, ._unstyled_.-btn-bordered .fa { padding-right: 4px; } .-btn._small, ._small.-btn-ghost, ._small.-btn-bordered, a._small[href].-btn-ghost, a._small[href].-btn-bordered, .-group._small .-btn, .-group._small .-btn-ghost, .-group._small .-btn-bordered, .-navbar._small .-btn, ._small.-navbar-float .-btn, .-navbar._small .-btn-ghost, ._small.-navbar-float .-btn-ghost, .-navbar._small .-btn-bordered, ._small.-navbar-float .-btn-bordered { - font-size: 7px; } + font-size: 7px; + line-height: 8.0px; + height: 26.0px; } .-btn._small._round_, ._small._round_.-btn-ghost, ._small._round_.-btn-bordered, .-group._small ._round_.-btn, .-group._small ._round_.-btn-ghost, .-group._small ._round_.-btn-bordered, .-navbar._small ._round_.-btn, ._small.-navbar-float ._round_.-btn, .-navbar._small ._round_.-btn-ghost, ._small.-navbar-float ._round_.-btn-ghost, .-navbar._small ._round_.-btn-bordered, ._small.-navbar-float ._round_.-btn-bordered { border-radius: 12px; } .-btn._minor, ._minor.-btn-ghost, ._minor.-btn-bordered, a._minor[href].-btn-ghost, a._minor[href].-btn-bordered, .-group._minor .-btn, .-group._minor .-btn-ghost, .-group._minor .-btn-bordered, .-navbar._minor .-btn, ._minor.-navbar-float .-btn, .-navbar._minor .-btn-ghost, ._minor.-navbar-float .-btn-ghost, .-navbar._minor .-btn-bordered, ._minor.-navbar-float .-btn-bordered { - font-size: 10.5px; } + font-size: 10.5px; + line-height: 13.0px; + height: 31.0px; } .-btn._minor._round_, ._minor._round_.-btn-ghost, ._minor._round_.-btn-bordered, .-group._minor ._round_.-btn, .-group._minor ._round_.-btn-ghost, .-group._minor ._round_.-btn-bordered, .-navbar._minor ._round_.-btn, ._minor.-navbar-float ._round_.-btn, .-navbar._minor ._round_.-btn-ghost, ._minor.-navbar-float ._round_.-btn-ghost, .-navbar._minor ._round_.-btn-bordered, ._minor.-navbar-float ._round_.-btn-bordered { border-radius: 15.5px; } .-btn._round_, ._round_.-btn-ghost, ._round_.-btn-bordered, a._round_[href].-btn-ghost, a._round_[href].-btn-bordered { border-radius: 19px; } - .-btn._normal, ._normal.-btn-ghost, ._normal.-btn-bordered, a._normal[href].-btn-ghost, a._normal[href].-btn-bordered, .-group._normal .-btn, .-group._normal .-btn-ghost, .-group._normal .-btn-bordered, .-navbar._normal .-btn, ._normal.-navbar-float .-btn, .-navbar._normal .-btn-ghost, ._normal.-navbar-float .-btn-ghost, .-navbar._normal .-btn-bordered, ._normal.-navbar-float .-btn-bordered { - font-size: 14px; } - .-btn._normal._round_, ._normal._round_.-btn-ghost, ._normal._round_.-btn-bordered, .-group._normal ._round_.-btn, .-group._normal ._round_.-btn-ghost, .-group._normal ._round_.-btn-bordered, .-navbar._normal ._round_.-btn, ._normal.-navbar-float ._round_.-btn, .-navbar._normal ._round_.-btn-ghost, ._normal.-navbar-float ._round_.-btn-ghost, .-navbar._normal ._round_.-btn-bordered, ._normal.-navbar-float ._round_.-btn-bordered { + .-btn._normal, ._normal.-btn-ghost, ._normal.-btn-bordered, a._normal[href].-btn-ghost, a._normal[href].-btn-bordered, .-group .-btn, .-group .-btn-ghost, .-group .-btn-bordered, .-group a[href].-btn-ghost, .-group a[href].-btn-bordered, .-group._normal .-btn, .-group._normal .-btn-ghost, .-group._normal .-btn-bordered, .-navbar._normal .-btn, ._normal.-navbar-float .-btn, .-navbar._normal .-btn-ghost, ._normal.-navbar-float .-btn-ghost, .-navbar._normal .-btn-bordered, ._normal.-navbar-float .-btn-bordered { + font-size: 14px; + line-height: 18.0px; + height: 36.0px; } + .-btn._normal._round_, ._normal._round_.-btn-ghost, ._normal._round_.-btn-bordered, .-group ._round_.-btn, .-group ._round_.-btn-ghost, .-group ._round_.-btn-bordered, .-navbar._normal ._round_.-btn, ._normal.-navbar-float ._round_.-btn, .-navbar._normal ._round_.-btn-ghost, ._normal.-navbar-float ._round_.-btn-ghost, .-navbar._normal ._round_.-btn-bordered, ._normal.-navbar-float ._round_.-btn-bordered { border-radius: 19px; } .-btn._major, ._major.-btn-ghost, ._major.-btn-bordered, a._major[href].-btn-ghost, a._major[href].-btn-bordered, .-group._major .-btn, .-group._major .-btn-ghost, .-group._major .-btn-bordered, .-navbar._major .-btn, ._major.-navbar-float .-btn, .-navbar._major .-btn-ghost, ._major.-navbar-float .-btn-ghost, .-navbar._major .-btn-bordered, ._major.-navbar-float .-btn-bordered { - font-size: 17.5px; } + font-size: 17.5px; + line-height: 23.0px; + height: 41.0px; } .-btn._major._round_, ._major._round_.-btn-ghost, ._major._round_.-btn-bordered, .-group._major ._round_.-btn, .-group._major ._round_.-btn-ghost, .-group._major ._round_.-btn-bordered, .-navbar._major ._round_.-btn, ._major.-navbar-float ._round_.-btn, .-navbar._major ._round_.-btn-ghost, ._major.-navbar-float ._round_.-btn-ghost, .-navbar._major ._round_.-btn-bordered, ._major.-navbar-float ._round_.-btn-bordered { border-radius: 22.5px; } .-btn._big, ._big.-btn-ghost, ._big.-btn-bordered, a._big[href].-btn-ghost, a._big[href].-btn-bordered, .-group._big .-btn, .-group._big .-btn-ghost, .-group._big .-btn-bordered, .-navbar._big .-btn, ._big.-navbar-float .-btn, .-navbar._big .-btn-ghost, ._big.-navbar-float .-btn-ghost, .-navbar._big .-btn-bordered, ._big.-navbar-float .-btn-bordered { - font-size: 21px; } + font-size: 21px; + line-height: 28.0px; + height: 46.0px; } .-btn._big._round_, ._big._round_.-btn-ghost, ._big._round_.-btn-bordered, .-group._big ._round_.-btn, .-group._big ._round_.-btn-ghost, .-group._big ._round_.-btn-bordered, .-navbar._big ._round_.-btn, ._big.-navbar-float ._round_.-btn, .-navbar._big ._round_.-btn-ghost, ._big.-navbar-float ._round_.-btn-ghost, .-navbar._big ._round_.-btn-bordered, ._big.-navbar-float ._round_.-btn-bordered { border-radius: 26px; } .-btn._huge, ._huge.-btn-ghost, ._huge.-btn-bordered, a._huge[href].-btn-ghost, a._huge[href].-btn-bordered, .-group._huge .-btn, .-group._huge .-btn-ghost, .-group._huge .-btn-bordered, .-navbar._huge .-btn, ._huge.-navbar-float .-btn, .-navbar._huge .-btn-ghost, ._huge.-navbar-float .-btn-ghost, .-navbar._huge .-btn-bordered, ._huge.-navbar-float .-btn-bordered { - font-size: 24.5px; } + font-size: 24.5px; + line-height: 33.0px; + height: 51.0px; } .-btn._huge._round_, ._huge._round_.-btn-ghost, ._huge._round_.-btn-bordered, .-group._huge ._round_.-btn, .-group._huge ._round_.-btn-ghost, .-group._huge ._round_.-btn-bordered, .-navbar._huge ._round_.-btn, ._huge.-navbar-float ._round_.-btn, .-navbar._huge ._round_.-btn-ghost, ._huge.-navbar-float ._round_.-btn-ghost, .-navbar._huge ._round_.-btn-bordered, ._huge.-navbar-float ._round_.-btn-bordered { border-radius: 29.5px; } .-btn._divine, ._divine.-btn-ghost, ._divine.-btn-bordered, a._divine[href].-btn-ghost, a._divine[href].-btn-bordered, .-group._divine .-btn, .-group._divine .-btn-ghost, .-group._divine .-btn-bordered, .-navbar._divine .-btn, ._divine.-navbar-float .-btn, .-navbar._divine .-btn-ghost, ._divine.-navbar-float .-btn-ghost, .-navbar._divine .-btn-bordered, ._divine.-navbar-float .-btn-bordered { - font-size: 28px; } + font-size: 28px; + line-height: 38.0px; + height: 56.0px; } .-btn._divine._round_, ._divine._round_.-btn-ghost, ._divine._round_.-btn-bordered, .-group._divine ._round_.-btn, .-group._divine ._round_.-btn-ghost, .-group._divine ._round_.-btn-bordered, .-navbar._divine ._round_.-btn, ._divine.-navbar-float ._round_.-btn, .-navbar._divine ._round_.-btn-ghost, ._divine.-navbar-float ._round_.-btn-ghost, .-navbar._divine ._round_.-btn-bordered, ._divine.-navbar-float ._round_.-btn-bordered { border-radius: 33px; } a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered { font-weight: normal; } +input.-btn::-moz-focus-inner, input.-btn-ghost::-moz-focus-inner, input.-btn-bordered::-moz-focus-inner, button.-btn::-moz-focus-inner, button.-btn-ghost::-moz-focus-inner, button.-btn-bordered::-moz-focus-inner { + border: 0; + padding: 0; + margin-top: -3px; + margin-bottom: -3px; } + .-btn-ghost, .-btn-bordered, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered { border-radius: 3px; font-weight: 200; @@ -15731,7 +15814,9 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered border-color: #d9d9d9; color: #cccccc; border-width: 3px; - font-size: 14px; } + font-size: 14px; + line-height: 14.0px; + height: 36.0px; } .-btn-ghost:hover, .-btn-ghost._hovered_, .-btn-bordered:hover, .-btn-bordered._hovered_, a.-btn-ghost:hover, a.-btn-ghost._hovered_, a.-btn-bordered:hover, a.-btn-bordered._hovered_, a[href].-btn-ghost:hover, a[href].-btn-ghost._hovered_, a[href].-btn-bordered:hover, a[href].-btn-bordered._hovered_ { background-color: #d9d9d9; color: black; } @@ -15850,25 +15935,39 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered color: #2e84a9; } .-btn-ghost._small, .-btn-bordered._small, a.-btn-ghost._small, a.-btn-bordered._small, a[href].-btn-ghost._small, a[href].-btn-bordered._small { border-width: 1.5px; - font-size: 7px; } + font-size: 7px; + line-height: 7.0px; + height: 26.0px; } .-btn-ghost._minor, .-btn-bordered._minor, a.-btn-ghost._minor, a.-btn-bordered._minor, a[href].-btn-ghost._minor, a[href].-btn-bordered._minor { border-width: 2.25px; - font-size: 10.5px; } + font-size: 10.5px; + line-height: 10.5px; + height: 31.0px; } .-btn-ghost._normal, .-btn-bordered._normal, a.-btn-ghost._normal, a.-btn-bordered._normal, a[href].-btn-ghost._normal, a[href].-btn-bordered._normal { border-width: 3px; - font-size: 14px; } + font-size: 14px; + line-height: 14.0px; + height: 36.0px; } .-btn-ghost._major, .-btn-bordered._major, a.-btn-ghost._major, a.-btn-bordered._major, a[href].-btn-ghost._major, a[href].-btn-bordered._major { border-width: 3.75px; - font-size: 17.5px; } + font-size: 17.5px; + line-height: 17.5px; + height: 41.0px; } .-btn-ghost._big, .-btn-bordered._big, a.-btn-ghost._big, a.-btn-bordered._big, a[href].-btn-ghost._big, a[href].-btn-bordered._big { border-width: 4.5px; - font-size: 21px; } + font-size: 21px; + line-height: 21.0px; + height: 46.0px; } .-btn-ghost._huge, .-btn-bordered._huge, a.-btn-ghost._huge, a.-btn-bordered._huge, a[href].-btn-ghost._huge, a[href].-btn-bordered._huge { border-width: 5.25px; - font-size: 24.5px; } + font-size: 24.5px; + line-height: 24.5px; + height: 51.0px; } .-btn-ghost._divine, .-btn-bordered._divine, a.-btn-ghost._divine, a.-btn-bordered._divine, a[href].-btn-ghost._divine, a[href].-btn-bordered._divine { border-width: 6px; - font-size: 28px; } + font-size: 28px; + line-height: 28.0px; + height: 56.0px; } .-group { display: inline-block; @@ -15921,7 +16020,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered vertical-align: top; border-collapse: separate; } .-group .-field select, .-group .-field input[type="text"], .-group .-field input[type="password"], .-group .-field input[type="date"], .-group .-field input[type="datetime"], .-group .-field input[type="datetime-local"], .-group .-field input[type="month"], .-group .-field input[type="week"], .-group .-field input[type="email"], .-group .-field input[type="number"], .-group .-field input[type="search"], .-group .-field input[type="tel"], .-group .-field input[type="time"], .-group .-field input[type="url"], .-group .-field textarea { - padding: 3px 12px; } + padding: 5px 12px; } .-group .-field:not(:first-child):not(:last-child) { border-radius: 0; } .-group .-field:first-child:not(:last-child) { @@ -15948,12 +16047,14 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - padding: 6px 12px; + padding: 8px 12px; font-size: 14px; line-height: 1.42857; border-radius: 3px; background-color: #eeeeee; - font-size: 14px; } + font-size: 14px; + line-height: 20.0px; + height: 36.0px; } .-group .-addon:not(:first-child):not(:last-child) { border-radius: 0; } .-group .-addon:first-child:not(:last-child) { @@ -15989,19 +16090,33 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered .-group .-addon.-dark-._unstyled_, .-group.-dark- ._unstyled_.-addon { color: black; } .-group .-addon._small, .-group._small .-addon, .-navbar._small .-group .-addon, ._small.-navbar-float .-group .-addon { - font-size: 7px; } + font-size: 7px; + line-height: 10.0px; + height: 26.0px; } .-group .-addon._minor, .-group._minor .-addon, .-navbar._minor .-group .-addon, ._minor.-navbar-float .-group .-addon { - font-size: 10.5px; } + font-size: 10.5px; + line-height: 15.0px; + height: 31.0px; } .-group .-addon._normal, .-group._normal .-addon, .-navbar._normal .-group .-addon, ._normal.-navbar-float .-group .-addon { - font-size: 14px; } + font-size: 14px; + line-height: 20.0px; + height: 36.0px; } .-group .-addon._major, .-group._major .-addon, .-navbar._major .-group .-addon, ._major.-navbar-float .-group .-addon { - font-size: 17.5px; } + font-size: 17.5px; + line-height: 25.0px; + height: 41.0px; } .-group .-addon._big, .-group._big .-addon, .-navbar._big .-group .-addon, ._big.-navbar-float .-group .-addon { - font-size: 21px; } + font-size: 21px; + line-height: 30.0px; + height: 46.0px; } .-group .-addon._huge, .-group._huge .-addon, .-navbar._huge .-group .-addon, ._huge.-navbar-float .-group .-addon { - font-size: 24.5px; } + font-size: 24.5px; + line-height: 35.0px; + height: 51.0px; } .-group .-addon._divine, .-group._divine .-addon, .-navbar._divine .-group .-addon, ._divine.-navbar-float .-group .-addon { - font-size: 28px; } + font-size: 28px; + line-height: 40.0px; + height: 56.0px; } .-group._justify_ .-addon { display: table-cell; @@ -16186,7 +16301,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered margin-right: 1px; bottom: -1px; } .-tabs li a { - padding: 6px 12px; + padding: 8px 12px; border-radius: 3px 3px 0 0; border-width: 1px; border-style: solid; @@ -16443,7 +16558,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered padding: 0; list-style: none; } .-pills li a { - padding: 6px 12px; + padding: 8px 12px; border-radius: 3px; border-width: 1px; border-style: solid; @@ -16627,7 +16742,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered float: left; margin-right: 1px; } .-menu li a { - padding: 6px 12px; + padding: 8px 12px; border-radius: 0px; border-width: 1px; border-style: solid; @@ -16668,7 +16783,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered -moz-perspective-origin: 0% 50%; perspective-origin: 0% 50%; } .-menu li .-drop .-menu li a { - padding: 6px 57px 6px 12px; } + padding: 8px 57px 8px 12px; } .-menu li .-drop .-menu li a .-addon { position: absolute; right: 12px; } @@ -16857,9 +16972,18 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered .-menu._vertical_ li { margin-right: 0; margin-bottom: 1px; - float: none; } + float: none; + display: block; + width: auto; } .-menu._hovered_ li:hover > .-drop { display: block; } + @media screen and (max-width: 768px) { + .-menu._responsive_ li { + margin-right: 0; + margin-bottom: 1px; + float: none; + display: block; + width: auto; } } .-navbar, .-navbar-float { display: block; @@ -16891,14 +17015,14 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered .-navbar .-menu li a, .-navbar-float .-menu li a { padding: 15.0px 12px; } .-navbar .-pills li a, .-navbar-float .-pills li a { - margin-top: 9.0px; - margin-bottom: 9.0px; } + margin-top: 7.0px; + margin-bottom: 7.0px; } .-navbar .-btn, .-navbar-float .-btn, .-navbar .-btn-ghost, .-navbar-float .-btn-ghost, .-navbar .-btn-bordered, .-navbar-float .-btn-bordered, .-navbar a[href].-btn-ghost, .-navbar-float a[href].-btn-ghost, .-navbar a[href].-btn-bordered, .-navbar-float a[href].-btn-bordered { - margin-top: 9.0px; - margin-bottom: 9.0px; } + margin-top: 7.0px; + margin-bottom: 7.0px; } .-navbar .-group, .-navbar-float .-group { - margin-top: 9.0px; - margin-bottom: 9.0px; } + margin-top: 7.0px; + margin-bottom: 7.0px; } .-navbar .-group .-btn, .-navbar-float .-group .-btn, .-navbar .-group .-btn-ghost, .-navbar-float .-group .-btn-ghost, .-navbar .-group .-btn-bordered, .-navbar-float .-group .-btn-bordered { margin-top: 0; margin-bottom: 0; } @@ -17022,7 +17146,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered float: none; display: block; } .-list-group li a { - padding: 3px 12px; + padding: 4px 12px; border-left-width: 1px; border-style: solid; border-color: transparent; @@ -17041,19 +17165,19 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered right: 12px; } .-list-group li > .-list-group { display: none; - padding-bottom: 6px; } + padding-bottom: 8px; } .-list-group li._active_ > a { cursor: inherit; font-weight: bold; - padding: 3px 12px 3px 10px; + padding: 4px 12px 4px 10px; border-left-width: 2px; } .-list-group li._active_ > .-list-group { display: block; } .-list-group li li a { - padding: 1.5px 12px 1.5px 24px; + padding: 2px 12px 2px 24px; font-size: 80%; } .-list-group li li._active_ a { - padding: 1.5px 12px 1.5px 22px; } + padding: 2px 12px 2px 22px; } .-list-group._visible_ li .-list-group { display: block; } .-list-group._right_ li a { @@ -17466,7 +17590,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - padding: 2px 8px; + padding: 2.66667px 8px; font-size: 14px; line-height: 1.42857; } .-progress .-bar:first-child:not(:last-child), .-progress-slim .-bar:first-child:not(:last-child) { @@ -17622,10 +17746,10 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered .-thumbnail-caption { font-size: 80%; position: relative; - margin-top: 12px; - margin-bottom: 12px; - padding-top: 12px; - padding-bottom: 12px; } + margin-top: 16px; + margin-bottom: 16px; + padding-top: 16px; + padding-bottom: 16px; } .-thumbnail-caption p { opacity: 0.7; } .-thumbnail-caption h1, .-thumbnail-caption .-h1, .-thumbnail-caption h2, .-thumbnail-caption .-h2, .-thumbnail-caption h3, .-thumbnail-caption .-h3, .-thumbnail-caption h4, .-thumbnail-caption .-h4, .-thumbnail-caption h5, .-thumbnail-caption .-h5, .-thumbnail-caption h6, .-thumbnail-caption .-h6 { @@ -17663,7 +17787,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered min-width: 200px; } .-thumbnail-caption._left_ { right: 100%; - margin-right: 12px; + margin-right: 16px; text-align: right; } .-thumbnail-caption._left_:before { left: inherit; @@ -17673,7 +17797,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered text-align: right; } .-thumbnail-caption._right_ { left: 100%; - margin-left: 12px; + margin-left: 16px; text-align: left; } .-thumbnail-caption._right_:before { left: 0; @@ -17690,7 +17814,7 @@ a.-btn, a.-btn-ghost, a.-btn-bordered, a[href].-btn-ghost, a[href].-btn-bordered border-color: transparent; outline: none; position: relative; - padding: 12px 12px; + padding: 16px 12px; font-size: 14px; line-height: 1.42857; background-color: #f3f3f3; diff --git a/docs/js/app.js b/docs/js/app.js index d28f8eb..f4d250e 100644 --- a/docs/js/app.js +++ b/docs/js/app.js @@ -315,6 +315,10 @@ exports.start = [ name: 'sizeManage', menu: 'add or edit sizes', path: 'howtoSizeManage' + }, { + name: 'editPrefixes', + menu: 'change name convention', + path: 'howtoChangeNameconvention' } ] } @@ -940,6 +944,11 @@ exports.module = Marionette.Layout.extend({ } }); }); + _this.$el.find('[data-spy="scroll"]').each(function(index, scrollspy) { + return scrollspy.scrollspy({ + offset: 100 + }); + }); return _this.$el.find('[data-spy="skyline"]').each(function(index, skyline) { return skyline.skyline({ delay: function() { @@ -1804,6 +1813,6 @@ exports.module = Marionette.ItemView.extend({ },{}],28:[function(require,module,exports){ -exports.module = {"common":{"pages":{"index":{"series":{"widgets":{"thumbnail":"
\n\t
\n\t\t\n\t
\n\t
\n\t\t

Geisha Kyoto, Japan

\n\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓).

\n\t
\n
","tabs":"","spinnerWaves":"
\n\n\n\n\n\n\n
","spinnerSquare":"
","spinnerRing":"
","spinnerFb":"
\n\n\n\n
","progress":"
\n\t
12 %
\n
","pills":"","navbar":"
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t@
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
","menu":"","listGroup":"","label":"label","group":"
","dropdown":"
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Bottom\n\t
\n
","btn":"Button","badge":"badge","avatar":"\n\t
\"maxmert\"
@vmaxmert\n
","alert":"
\n\t\n\tHeads up! This alert needs your attention, but it's not super important.\n
"},"header":"
\n\t
\n\t\t

widget

\n\t\t
\n\t\t\t{{name}}\n\t\t
\n\t
\n\t
\n\t\t+\n\t
\n\t
\n\t\t

theme

\n\t\t
\n\t\t\t-{{theme}}-\n\t\t
\n\t
\n\t
\n\t\t+\n\t
\n\t
\n\t\t

size

\n\t\t
\n\t\t\t_{{size}}\n\t\t
\n\t
\n
","body":"{{{body}}}"},"layout":"
\n\t
\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t

Maxmertkit

\n\t\t\t\t
ver. {{version}}, builded {{buildDate}}
\n\t\t\t
\n\t\t
\n\t\t
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t

Fluid. Invisible. Invincible.

\n\t\t\t

\n\t\t\t\tMaxmertkit is the most customizable and easiest for usage framework you've ever seen.\n\t\t\t

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t

Package manager

\n\t\t\t

Run $ gulp and edit mkit.json, package manager will install and uninstall sizes and themes for widgets. It will reduce file size and retrofit maxmertkit for you.

\n\t\t
\n\t\t
\n\t\t\t

Preprocessor Sass

\n\t\t\t

All css build with Sass. Maxmertkit uses all powerfull features providing by Sass, such as lists and maps.

\n\t\t
\n\t\t
\n\t\t\t

Easy to remember

\n\t\t\t

Classes names convection. -name for widgets, -name- for themes, _name for sizes, _name_ for modifiers, -name-- for animations.

\n\t\t
\n\t\t
\n\t\t\t

Easy to append and edit

\n\t\t\t

It's really easy to append and edit new themes, sizes, animations and widgets. Just go through how to section.

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t

No jQuery

\n\t\t\t

You don't need jQuery to use Maxmertkit javascript plugins. They are incredibly fast.

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Semantic

\n\t\t\t\t\t

Maxmertkit can be used with completely semantic markup. Write clean code without sacrificing any utility or convenience.

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Responsive

\n\t\t\t\t\t

Maxmertkit is responsive framework, and it permeates every aspect of the framework. Build for every device with ease.

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Readable

\n\t\t\t\t\t

Maxmertkit is written with humans in mind, and is easy to read even if you don’t know much code.

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Rapid prototyping

\n\t\t\t\t\t

Maxmertkit allows you to swiftly prototype your ideas so you can start testing sooner than later.

\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t\"Examples\"\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Examples

\n\t\t\t\t\t\t

Beautiful examples of using maxmertkit

\n\t\t\t\t\t\t

There are few of them, but I'll add some more soon.

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tblog\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t
\n
\n"},"social":{"github":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n"},"widgets":"
\n
\n
\n
\n

Widgets Components

\n

Maxmertkit widgets allow you to customize and make your project alive.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","utilities":"
\n
\n
\n
\n

Utilities Components

\n

Maxmertkit utilities make your development much easier.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","start":"
\n
\n
\n
\n

Philosophy Start

\n

All you need to know to start a new project with Maxmertkit.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","layout":"
\n
\n\n
\n
\n

Maxmertkit

\n
ver. {{version}}, builded {{buildDate}}
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n","components":"
\n
\n
\n
\n

Javascript Components

\n

Javascript plugins for Maxmertkit to make your project alive.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","changelog":"
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

Changelog

\n\t\t\t\t

All changelog you can observe on the github.

\n\t\t\t
\n\t\t\n\t\t\t
\n\t\t\t\t

Roadmap

\n\n\t\t\t\t
\n\t\t\t\t\tIf you want to share an idea of improvement, please create issue with tag feature.\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.5

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add js carousel component
  • \n\t\t\t\t\t\t
  • Add more examples
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.4

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add easier jquery support with native javascript plugins in maxmertkit
  • \n\t\t\t\t\t\t
  • Add slim progress bar
  • \n\t\t\t\t\t\t
  • Add example of the blog
  • \n\t\t\t\t\t\t
  • Add js wall component
  • \n\t\t\t\t\t\t
  • Add js skyline component
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.3

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add -avatar widget
  • \n\t\t\t\t\t\t
  • Add -comment widget
  • \n\t\t\t\t\t\t
  • Add dropdown -footer
  • \n\t\t\t\t\t\t
  • Add _round_ modifier to all buttons
  • \n\t\t\t\t\t\t
  • Add bordered a tag with underline
  • \n\t\t\t\t\t\t
  • Rename -btn-bordered to -btn-ghost
  • \n\t\t\t\t\t\t
  • Rename -spinner-circle to -spinner-ring
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.2

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • No jquery in maxmertkit
  • \n\t\t\t\t\t\t
  • Selenium tests support
  • \n\t\t\t\t\t\t
  • Add circle spinner
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.1

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add howto videos
  • \n\t\t\t\t\t\t
  • Add CDN
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n","basic":"
\n
\n
\n
\n

Basic Components

\n

Grid, typography, tables and forms. All you'll need to start a new project.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n"},"sidebar":{"menu":{"layout":"","item":"{{#menu}}{{menu}}{{/menu}}{{^menu}}{{name}}{{/menu}}\n{{#existIncludes}}\n\n{{/existIncludes}}\n"}},"header":{"social":{"twitter":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n","github":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n","facebook":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n"},"menu":{"mobile":"{{name}}\n","item":"{{name}}\n"}},"partials":"{{#value}}\n\t
\n\t\t{{{value}}}\n{{/value}}\n\n{{#includes}}\n\t{{#value}}\n\t\t
\n\t\t\t{{{value}}}\n\t\t
\n\t{{/value}}\n{{/includes}}\n\n{{#value}}\n\t
\n{{/value}}\n","menu":""},"kit":{"widgets":{"thumbnails":{"common":"

Thumbnails

\n\n

\n\t

Global variables

\n\t
$thumbnail-class: \"-thumbnail\" !global\n$thumbnail-image-background: #fff // When image is still loading this background will be shown
\n

\n\n\n\n

\n\tClass -thumbnail. Thumbnails are responsive ( width: 100% and height: auto ). Try to change screen size.\n

\n\n

\n\tAlso you can add shadows.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\n\n\t
\n\t\n
\n\n
\n\n\n\n

\n\tIf you want to add some inline thumbnails, use grid. It also responsize. Try to change screen size.\n

\n\n
\n\n\t
\n\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t

Geisha Kyoto, Japan

\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t

Geisha Kyoto, Japan

\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t

Geisha Kyoto, Japan

\n\t
\n\n
\n\n
\n","captions":"\n\n

Caption

\n\n\n\n

\n\t

Global variables

\n\t
$thumbnail-caption-class: #{$thumbnail-class}#{$caption-class}\n$thumbnail-caption-padding: $base-padding-vertical * 2\n$thumbnail-caption-font-size: 80%
\n

\n\n\n\n\n

\n\tAdd widget -thumbnail-caption to add caption to image. Don't forget about themes and sizes.\n

\n\n
\n\tUse semantic elements <figure> and <figcaption>!\n
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\t\t\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
\n\n\n\n\n\n\n\n

Caption position

\n\n

\n\tTo change it just add modifiers _left_ and _right_. Captions are responsive, try to change window width.\n

\n\n
Left and right captions are absolute positioned. So it looks great if there is nothing on left or right side of the thumbnail.
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\t\t\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
"},"spinners":{"waves":"

Waves spinner

\n\n\n\n

\n

Variables

\n
$spinner-waves-class: \"#{$spinner-class}-waves\"\n$spinner-waves-size: 30px\n$spinner-waves-deg: 25deg
\n

\n\n

Just add class -spinner-waves.

\n\n
You need to add -addon elements inside this spinner.
\nThe quantity is unlimited.\n
\n\n
\n\n
\n
\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n\n
\n\nWith spinner\n\n\n\n\n\n\n\n\n\n\n
\n\n\n
\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n\n
\n\nWith spinner\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n\n
\n
\n\n\n
\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n\n
\n\n
\n","square":"

Square spinner

\n\n\n\n

\n

Variables

\n
$spinner-square-class: \"#{$spinner-class}-square\"\n$spinner-square-size: 30px\n
\n

\n\n

Just add class -spinner-fb

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n","ring":"

Ring spinner

\n\n\n\n

\n

Variables

\n
$spinner-ring-class: \"#{$spinner-class}-ring\"\n$spinner-ring-size: 30px\n
\n

\n\n

Just add class -spinner-ring

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n","fb":"

Fb spinner

\n\n\n\n

\n

Variables

\n
$spinner-fb-class: \"#{$spinner-class}-fb\"\n$spinner-fb-size: 30px\n$spinner-fb-max-addons: 10
\n

\n\n

Just add class -spinner-fb.This is a fb-like spinner.

\n\nYou need to add -addon elements inside this spinner. The quantity is limited by sass variable $spinner-fb-max-addons.\n\n
\n\n
\n
\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n
\n \n \n \n \nWith spinner\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n
\n\n\n\n
\n\n
\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n
\n\nWith spinner\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n
\n
\n\n\n
\n\n\n\n
\n\n
\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n
\n\n
\n","common":"

Spinners

\n\n\n\n

\n

Global variables

\n
$spinner-class: \"-spinner\" !global
\n

\n\n

Spinner is an element shows that process is executing (any one, for example loading process)

\n\n
\nIf you want to position your spinner in the center of any relative element, add _responsive_ modifier to the spinner.\n
\n\n\n
\nIn some spinners you'll need to add -addon elements inside to add spinner blocks.\n
\n"},"shaders":{"common":"

Shaders

\n\n\n\n

\n

Global variables

\n
$shader-class: \"-shader\" !global\n$shader-z-index: 100 !global
\n

\n\n

Shader is a background element for any content, for example a modal window.

\n\n
\nHidden by default. Add modifier _active_ to show up.
\nDont't have any sizes.\n
\n\n\n
\nUse modifier _responsive_ to make shader position: fixed.
\nBy default shader is position: absolute\n
\n\n\n
\n\n
\nContent under shader.\n
\n
\n\n\n
Content under shader.\n
\n\n
\n\n\n

For example add loader.

\n\n\n
\n\n
\nContent under shader.\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
Content under shader.\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n\n

Add modifier _shaded_ to make shader transparent.

\n\n\n
\n\n
\nContent under shader.\n
\n
\n\n\n
Content under shader.\n
\n
\n
\n\n
\n"},"progress":{"slim":"\n\n\n

Slim

\n\n\n\n

\n\t

Global variables

\n\t
$progress-slim-class: \"-progress-slim\" !global\n$progress-slim-bar-class: \"-bar\" !global\n$progress-slim-bar-height: 7px\n$progress-slim-border-radius: 0px !global\n$progress-slim-border-width: 0px !global\n$progress-slim-border-style: solid !global
\n

\n\n\n\n

\n\tUse widget class -progress-slim. Apply themes and sizes. Append -bar inside -progress-slim.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n","common":"\n\n\n

Progress

\n\n\n\n

\n\t

Global variables

\n\t
$progress-class: \"-progress\" !global\n$progress-bar-class: \"-bar\" !global\n$progress-bar-padding-vertical: $base-padding-vertical / 3\n$progress-bar-padding-horizontal: $base-padding-horizontal / 1.5\n$progress-font-weight: 600 !global\n$progress-border-radius: 4px !global\n$progress-border-width: 0px !global\n$progress-border-style: solid !global\n$progress-padding: 3px !global\n$progress-background: #fff !global
\n

\n\n\n\n

\n\tUse widget class -progress. Apply themes and sizes. Append -bar inside -progress.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
12 %
25 %
Something goes wrong
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
12 %
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
progress with shadow 42 %
25 %
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
progress with shadow 42 %
\n\t\t
\n\t
\n\n\n\t
\n\t
12 %
\n\t
25 %
\n\t
Something goes wrong
\n
\n\n
\n\t
12 %
\n
\n
\n\n
\n"},"nav":{"tabs":"\n\n

Tabs

\n\n\n\n

\n\t

Global variables

\n\t
$nav-tabs-class: \"-tabs\" !global\n$nav-tabs-border-width: 1px !global\n$nav-tabs-items-padding-vertical: $base-padding-vertical\n$nav-tabs-items-padding-horizontal: $base-padding-horizontal\n$nav-tabs-items-border-radius: 3px
\n

\n\n\n\n\n

Basic use

\n

\n\tUse tabs class -tabs.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n
\n\n\n\n\n\n\n

\n\tApply theme classes to item element <li>.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n
\n\n\n\n\n\n

Vertical tabs

\n\n

\n\tUse modifier _vertical_ with modifiers _left_ and _right_. Combine tabs with grid.\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\tContent of the second tab.\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\tContent of the third tab.\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tContent of the second tab.\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tContent of the third tab.\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t\n\t
\n\t
\n\t\tContent of the second tab.\n\t
\n
\n\n
\n\t
\n\t\t\n\t
\n\t
\n\t\tContent of the third tab.\n\t
\n
\n\n
\n\t
\n\t\tContent of the second tab.\n\t
\n\t
\n\t\t\n\t
\n
\n\n
\n\t
\n\t\tContent of the third tab.\n\t
\n\t
\n\t\t\n\t
\n
\n","pills":"\n\n

Pills

\n\n\n\n

\n\t

Global variables

\n\t
$nav-pills-class: \"-pills\" !global\n$nav-pills-border-width: 1px !global\n$nav-pills-items-padding-vertical: $base-padding-vertical\n$nav-pills-items-padding-horizontal: $base-padding-horizontal\n$nav-pills-items-border-radius: 3px\n$nav-pills-items-margin-right: 1px
\n

\n\n

Basic use

\n

\n\tUse widget -pills.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n
\n\n
\n\n\n\n

\n\tApply theme classes to item element <li>.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n
\n\n
\n\n\n\n\n\n

Vertical pills

\n\n

\n\tUse modifier _vertical_.\n

\n\n
\n\t\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n","menu":"\n\n

Menu

\n\n\n\n

\n\t

Global variables

\n\t
$nav-menu-class: \"-menu\" !global\n$nav-menu-items-padding-vertical: $base-padding-vertical !global\n$nav-menu-items-padding-horizontal: $base-padding-horizontal !global\n$nav-menu-items-border-width: 1px !global\n$nav-menu-items-border-radius: 0px !global\n$nav-menu-items-margin: 1px !global
\n

\n\n\n\n\n

Basic use

\n

\n\tUse menu class -menu.\n

\n\n
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n\n

\n\tAdd themes.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n\n\n\n\n\n\n\n

Vertical menu

\n\n

\n\tTo make it vertical add modifier _vertical_.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n\n\n\n

Addon

\n

\n\tUse class -addon to add an additional information about this menu to the right.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t\n\n
\n\n\n\n\n\n\n\n

Add submenus

\n\n

\n\tTo add submenu just add widget -drop with -menu inside.\n

\n\n
\n\tTo change dropdown position use position modifiers _top_, _bottom_, _left_, _right_. For more information look dropdown section.\n
\n\n

Dropdown will be visible only if parent item is _active_. If you want to make it visible on :hover, add modifier _hovered_ to the root -menu.

\n\n
\n\n\t
\n\t\t
    \n\t\t\t
  • No hovered
  • \n\t\t\t
  • Menu 2
  • \n\t\t\t
  • \n\t\t\t\tMenu 3 \n\t\t\t\t
    \n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • Menu with long name ⌘M
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\tMenu 2 \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t\t\t
      • Menu 1
      • \n\t\t\t\t\t\t\t\t\t
      • Menu 2
      • \n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t\t\tMenu 3\n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • Menu 3
    • \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t
\n\t\t
\n\t\t
    \n\t\t\t
  • With hovered
  • \n\t\t\t
  • Menu 2
  • \n\t\t\t
  • \n\t\t\t\tMenu 3 \n\t\t\t\t
    \n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • Menu with long name ⌘M
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\tMenu 2 \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t\t\t
      • Menu 1
      • \n\t\t\t\t\t\t\t\t\t
      • Menu 2
      • \n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t\t\tMenu 3\n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • Menu 3
    • \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t
\n\t
\n\n\n\t
\n\n
\n\n
\n","list-group":"\n\n

List group

\n\n\n\n

\n\t

Global variables

\n\t
$nav-list-group-class: \"-list-group\" !global\n$nav-list-group-items-padding-vertical: $base-padding-vertical / 2 !global\n$nav-list-group-items-padding-horizontal: $base-padding-horizontal !global\n$nav-list-group-items-border-width: 1px !global\n$nav-list-group-items-active-border-width: 2px !global\n$nav-list-group-items-margin: 1px !global
\n

\n\n\n\n\n

Basic use

\n

\n\tUse class -list-group.\n

\n\n
\n\n\t
\n\t\t\n\n\t\t\n\t
\n\n\n\t
\n\n
\n","common":"

Nav

\n\n\n\n

\n\t

Global variables

\n\t
$nav-item: li !global

\n\n\n\n\n\n\n
\n\tUse modifier _responsive_ to make all navs responsive.
\n\tIt means when screen resolution become less then 992px, then all navs become justifyed.\n
\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n
\n\n
","bullets":"\n\n

Bullets

\n\n\n\n

\n\t

Global variables

\n\t
$nav-bullets-class: \"-bullets\" !global\n$nav-bullets-item: \"li\" !global\n$nav-bullets-item-size: 10px !global
\n

\n\n\n\n\n

Basic use

\n

\n\tUse class -bullets with <ul>. And <small> for sign.\n

\n\n
\n\n\t
\n\t\t\n\t
\n\n\t
\n\t\t\n\t
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n\n\n
\n\n
\n\n\n\n\n

\n\tIf you want to put your bullets inside some position: relative container, use modifier _fixed_ and position modifiers _left_, _center_, _right_ and _top_, _middle_, _bottom_.\n

\n\n
\n\tIf you want to make your bullets position: fixed (for example like a global navigation with parallax), you'll need to add this style by your own or add style=\"position: fixed;\" to bullets.\n
\n\n
\n\n\t
\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t
\n\n\n\t
\n\n\n\n\n\n
\n\n
","bar":"\n\n

Navbar

\n\n\n\n

\n\t

Global variables

\n\t
$nav-bar-class: \"-navbar\" !global\n$nav-bar-height: 50px !global\n$nav-bar-padding-horizontal: $base-padding-horizontal !global\n$nav-bar-border-width: 1px !global\n$nav-bar-style: solid !global\n$nav-bar-border-radius: 3px !global\n\n// It's only fo _top_ or _bottom_ navbars. Need to be over dropdowns.\n$nav-bar-z-index: $dropdown-z-index + 1\n\n$nav-bar-toggle-class: #{$nav-bar-class}-toggle
\n

\n\n\n\n\n

Basic use

\n

\n\tUse navbar class -navbar.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t@
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t@
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n
\n\n
\n\n\n\n\n\n\n

Grid and navbar

\n\n

\n\tAdd the grid inside the -navbar to allign elements. Add -header to the -navbar.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
Header
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n\n\n\n

Change themes

\n\n

\n\tIf you apply a theme to the -navbar, theme of every element inside will change.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t@
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t@
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n

Change size

\n\n

\n\tApply size to the -navbar to change sizes of the elements inside.\n

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t
\n
\n\n
\n\t...\n
\n\n
\n\t...\n
\n\n
\n\t...\n
\n\n
\n\n\n\n\n\n\n\n\n

Fixed navbar

\n

\n\tUse modifiers _top_ and _bottom_ to stick navbar to top or bottom.\n

\n
\n\tDo not forget to set padding to the navbar container. Padding should be equal or more then -navbar height.\n
\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n
\n\n
\n\n\n\n\n\n\n

Responsive navbar

\n

\n\tFirst of all read about responsive utilities. After you understand responsiveness, it will be easier to understand how to create responsive navbar.\n

\n\n
\n\tThere is no magic, but it's very simple! Trust me! Look at the comments in the code. With those classes you can hide menu even for not large desktops or just for phones. It's very flexible technique.\n
\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
Header here
\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\n\t\n\t
\n\t\t
Header here
\n\n\t\t\n\t\t\n\n\t
\n\n\t\n\t
\n\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\n\t
\n\n
>
\n\n
\n"},"groups":{"inputs":"\n\n\n

Inputs inside group

\n\n

\n\t

Add <input type=\"text\"> or -fields inside group.

\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
Button
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButtonButton\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton\n\t\t
\n\t\tButton\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton\n\t\t\n\t\tButton\n\t\t\n\t
\n
\n\n
\n\n\n\n\n

Use size classes Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with <-group> to set size.

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n
\n\n
\n\n\n\n\n

\n\tMake a group stretch at the same size to span the entire width of its parent. Use modifier _justify_.\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n\n

\n\t

Or add theme to the inner element.

\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton
\n\t
\n
\n\n
","common":"\n\n\n

Groups

\n\n

Group a series of buttons together on a single line with the button group. Use class -group to create it.

\n\n\n

\n\t

Global variables

\n\t
$group-class: \"-group\" !global\n\n$group-addon-class: $addon-class !global
\n

\n\n
\n\tUse modifier _responsive_ to make groups responsive.
\n\tIt means when screen resolution become less then 992px, then all groups become justifyed.\n
\n\n

Responsive

\n\n

Just make screen resolution less than 992px.

\n\n
\n\n\t
\n\t\t
\n\t\t\tnot responsive\n\t\t

\n\t\t
\n\t\t\tit is responsive\n\t\t
\n\t
\n\n\t
\n\tnot responsive\n\t\n\t\n\t\n

\n
\n\tresponsive\n\t\n\t\n\t\n
\n\n
\n","buttons":"\n\n\n

Buttons inside group

\n\n

\n\tAdd -btn buttons inside group.\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\n\t
\n\t\n\t\n\t\n\t\n
\n
\n\t\n\t\n\t\n
\n
\n\t\n
\n
\n\t\n
\n\n
\n\n\n\n\n

\n\tMake a group of buttons stretch at the same size to span the entire width of its parent. Use modifier _justify_.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t
\n\n\t\n\n
\n\n\n\n\n

\n\tCreate dropdowns (I don't use a JS in this example, this is just a view).\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\tDropdown \n\t\t
\n\t\t
\n\t\t\tDropdown\n\t\t

\n\t\t
\n\t\t\tLike\n\t\t
\n\t\t
\n\t\t\tYou liked it\n\t\t

\n\t\t
\n\t\t\tStar\n\t\t
\n\t\t
\n\t\t\tYou liked it\n\t\t
\n\t
\n\n\t
\n\tDropdown \n
\n
\n\tDropdown\n

\n
\n\tLike\n
\n
\n\n
","addons":"\n\n\n

Addons inside group

\n\n

\n\t

Add-addon inside group.

\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tAddonButton\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tAddonButton\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\tAddonButton\n\t
\n
\n
\n\t
\n\t\tAddonButton\n\t
\n
\n\n
\n\n\n\n\n\n

Combine!

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t@me@maxmert.com
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\t@\n\t\tme@maxmert.com\n\t\t\n\t\t
\n\t
\n
\n\n
"},"comments":{"common":"

Comments

\n\n\n\n

\n

Global variables

\n
$comments-class: \"-comments\" !global\n$comments-item-margin-bottom: 25px !global
\n

\n\n

Add -comments to the container. Use global class -item inside. Inside each -item add -content widget.

\n

Add -avatar inside -content blocks.

\n
Inside -items you can add blocks with modifier _hidden_. Those blocks will appear only when user hover the comment.
\n\n
\n\n
\n
    \n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"soffes\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Soffes  12
    \n\t\t\t\t\tYou know what else is \"arcane\", 140 characters.\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"markgamzy\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Markgamzy  165
    \n\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"Teclaro\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Teclaro  67
    \n\t\t\t\t\tIn my opinion (and as a UI and UX designer), this is a step in the right direction. Even when viewing those examples above, the context isn't hindered when @ isn't present and makes the conversation more legible.\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"Edwellbrook\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\tSure they are thinking about removing @replies but the concept of replying will still exist. It's just the details of who you are replying to will be contained in metadata and not in the body of the tweet. This is good as it will free up more characters for the tweet. However I'm sure it will also lead to people being unsure of whether a tweet will be directed at one person or their whole timeline in the same way as people often mistakenly post a DM to their timeline.\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"Krystalfister\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t
\n
\n\n\n
\n\n
\n\n"},"buttons":{"themes":"\n\n\n

Themes

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t
\n\n\n\t
\n\n\n\n
\n\n\n
\n\n\n\n

Disabled buttons

\n\n

\n\t

Use modifier _disabled_ or set attribute [disabled].

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n
\n\n\n
","states":"\n\n\n

Change states

\n\n

\n\t

Use modifiers _active_ and _hovered_ to change buttons states.

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\n\t
\n\n\n\t
\n\n\n\n\n\n\n
\n\n
","sizes":"\n\n\n

Sizes

\n\n

\n\t

Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with -btn to set button's size.

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n\n\n\n\n
\n\n
","ghost":"\n

Ghost buttons

\n\n\n\n\n\n

\n\t

Global variables

\n\t
$button-ghost-class: \"#{$button-class}-ghost\" !global\n$button-ghost-font-weight: 200 !global\n$button-ghost-min-font-size: 9px !global\n$button-ghost-border-radius: 3px !global\n$button-ghost-border-width: 3px !global
\n

\n\n\n\n\n

Use button class -btn-ghost to create great buttons.

\n\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success-, etc. with <button> or <input type=\"button\"> to set theme.

\n\n

\n\tAs always to use font-awesome icons you need to:\n\t

    \n\t\t
  • add <link href=\"//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css\" rel=\"stylesheet\"> to your <head> (but it's better to download and include it into you project);
  • \n\t\t
  • use class fa for icons;
  • \n\t\t
  • look at font-awesome page for documentation or use font-awesome cheatsheet.
  • \n\t
\n

\n\n\n\n\n\n\n\n

Button tags

\n

\n\tUse class -btn-ghost with <a>, <input> and <button>.\n

\n\n
\n\n\t
\n\t\t\n\t\t\n\t\tLink\n\t
\n\n\n\t
\n\nLink
\n\n
\n\n\n

Rounded

\n

Add _round_ modifier to round button

\n
\n\n\t
\n\t\t\n\t\t\n\t\tRound link\n\t
\n\n\n\t
\n\nRound link
\n\n
\n","common":"\n

Buttons

\n\n\n\n\n\n

\n\t

Global variables

\n\t
$button-class: \"-btn\" !global\n$button-font-weight: 200 !global\n$button-min-font-size: 9px !global\n$button-border-radius: 3px !global\n$button-border-width: 1px !global
\n

\n\n\n\n\n

Use button class -btn to create great buttons.

\n\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success-, etc. with <button> or <input type=\"button\"> to set theme.

\n\n

\n\tAs always to use font-awesome icons you need to:\n\t

    \n\t\t
  • add <link href=\"//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css\" rel=\"stylesheet\"> to your <head> (but it's better to download and include it into you project);
  • \n\t\t
  • use class fa for icons;
  • \n\t\t
  • look at font-awesome page for documentation or use font-awesome cheatsheet.
  • \n\t
\n

\n\n\n\n\n\n\n\n

Button tags

\n

\n\tUse class -btn with <a>, <input> and <button>.\n

\n\n
\n\n\t
\n\t\t\n\t\t\n\t\tLink\n\t
\n\n\n\t
\n\nLink
\n\n
\n\n\n

Rounded

\n

Add _round_ modifier to round button

\n
\n\n\t
\n\t\t\n\t\t\n\t\tRound link\n\t
\n\n\n\t
\n\nRound link
\n\n
\n","blocks":"\n\n\n

Block level buttons

\n\n

\n\t

Create block level buttons — those that span the full width of a parent — by adding _vertical_.

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\t
\n\n\n\n
\n\n
"},"avatars":{"common":"

Avatars

\n\n\n\n

\n

Global variables

\n
$avatar-class: \"-avatar\" !global\n$avatar-border-radius: 3px !global\n$avatar-border-width: 4px !global\n$avatar-border-style: solid !global\n$avatar-margin: 0.6em !global\n$avatar-size: 64px !global
\n

\n\n

Include -thumbnail widget inside -avatar.

\n\n
\n\tThe -thumbnail will be hidden on devices with resolution smaller than 768px.\n
\n\n\n\n

Add modifier _round_ to make avatar rounded.

\n\n\n\n\n

Sizes

\n\n\n\n\n\n\n

Bordered and themes

\n

Add modifier _bordered_.

\n\n\n\n\n\n

Position

\n

Add modifiers _top_ or _bottom_.

\n\n"},"layout":"
\n\n\t
\n\t\t
\n\t
\n\t
\n\t\t
\t\n\t
\n\n
","labels":"\n\n\n

Labels

\n\n\n\n

\n\t

Global variables

\n\t
$label-class: \"-label\" !global\n$label-font-weight: 300 !global\n$label-border-radius: 2px !global\n$label-border-width: 1px !global\n$label-border-style: solid !global\n$label-padding-vertical: $base-padding-vertical / 3\n$label-padding-horizontal: $base-padding-horizontal / 1.5
\n

\n\n\n\n

\n\tUse widget class -label. Apply themes and sizes.\n

\n
\n\tLabels won't self collapse in Internet Explorer 8 because it lacks support for the :empty selector.\n
\n
\n\n\t
\n\t\t

\n\t\t\tdefault\n\t\t\tprimary\n\t\t\terror\n\t\t\twarning\n\t\t

\n\t\t

\n\t\t\tnormal\n\t\t\tmajor\n\t\t\tbig\n\t\t\thuge\n\t\t\tdivine\n\t\t

\n\t
\n\n\n\t
default\nprimary\nerror\nwarning\n\nnormal\nmajor\nbig\nhuge\ndivine\n
\n\n
\n","dropdowns":"

Dropdowns

\n\n\n\n

\n\t

Global variables

\n\t
$dropdown-class: \"-drop\" !global\n$dropdown-z-index: 1000\n$dropdown-background-default: #fff\n$dropdown-border-default: #fff\n$dropdown-border-width: 0px\n$dropdown-border-style: solid\n$dropdown-border-radius: 3px\n$dropdown-arrow-size: 14px\n$dropdown-arrow-border-width: 1px\n$dropdown-content-padding-vertical: 15px\n$dropdown-content-padding-horizontal: 15px\n$dropdown-shadow: 0 3px 10px rgba(#000, .1)
\n

\n\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\tDrop without content block.
\n\t\t\tGreat with menus and other navigation stuff.\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\tDrop with content block.
\n\t\t\t\tGreat with text, information, pictures and other stuff.\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\tDrop without content block.
\n\tGreat with menus and other navigation stuff.\n
\n\n
\n\t
\n\t\tDrop with content block.
\n\t\tGreat with text, information, pictures and other stuff.\n\t
\n
\n\n
\n\n\n

Position of dropdowns. Arrows.

\n

\n\tTo set position of the dropdown relative to parent element use modifiers _top_, _bottom_, _left_ and _right_.\n

\n

\n\tUse arrow widget -arrow.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tTop\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tBottom\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tRight\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tLeft\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tTop\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tBottom\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tRight\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tLeft\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\n\t
\n\t\tTop\n\t
\n
\n\n
\n\t\n\t
\n\t\tBottom\n\t
\n
\n\n
\n\t\n\t
\n\t\tRight\n\t
\n
\n\n
\n\t\n\t
\n\t\tLeft\n\t
\n
\n\n
\n\t\n\t
\n\t\tTop\n\t
\n
\n\n
\n\t\n\t
\n\t\tBottom\n\t
\n
\n\n
\n\t\n\t
\n\t\tRight\n\t
\n
\n\n
\n\t\n\t
\n\t\tLeft\n\t
\n
\n\n
\n\n\n\n\n

Headers and contents.

\n

\n\tJust add widget -header to the drop. And add several -contents.\n

\n\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Top\n\t\t\t
\n\t\t\t
\n\t\t\t\tFooter\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Bottom\n\t\t\t
\n\t\t\t
\n\t\t\t\tFooter\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Right\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Left\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Top\n\t
\n\t
\n\t\tFooter\n\t
\n
\n\n
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Bottom\n\t
\n\t
\n\t\tFooter\n\t
\n
\n\n
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Right\n\t
\n
\n\n
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Left\n\t
\n
\n\n
\n","badges":"\n\n\n

Badges

\n\n\n\n

\n\t

Global variables

\n\t
$badge-class: \"-badge\" !global\n$badge-font-weight: 600 !global\n$badge-border-radius: 50px !global\n$badge-border-width: 0px !global\n$badge-border-style: solid !global\n$badge-padding-vertical: floor($base-padding-vertical / 4)\n$badge-padding-horizontal: floor($base-padding-horizontal / 2)
\n

\n\n\n\n

\n\tUse widget class -badge. Apply themes and sizes.\n

\n
\n\n\t
\n\t\t

\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t

\n\t\t

\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t

\n\t
\n\n\n\t
default\nprimary\nerror\nwarning\n\nnormal\nmajor\nbig\nhuge\ndivine\n
\n\n
\n\n\n

\n\tUse badges inside other widgets.\n

\n
\n\tBadges won't self collapse in Internet Explorer 8 because it lacks support for the :empty selector.\n
\n
\n\n\t
\n\t\tInbox 12\n\t\tInbox 12\n\t\tInbox 12\n\t\tEmpty badge is here \n\n\t\t
\n\n\t\t\n\n\t\t
\n\n\t\t\n\n\t\t
\n\n\t\t
\n\t\t\tInbox 12Sent 2Drafts \n\t\t
\n\t
\n\n\n\t\n\n
\n","alerts":"\n\n\n

Alerts

\n\n\n\n

\n\t

Global variables

\n\t
$alert-class: \"-alert\" !global\n$alert-border-radius: 3px !global\n$alert-border-width: 1px !global\n$alert-border-style: solid !global\n$alert-padding-vertical: $base-padding-vertical\n$alert-padding-horizontal: $base-padding-horizontal\n\t
\n

\n\n

\n\tUse widget class -alert. Apply themes and sizes. You can apply -shadow-...- to add shadow to the alert.\n

\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\tNothing important here.\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\tHeads up! This alert needs your attention, but it's not super important.\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\tOh snap! Change a few things up and try submitting again.\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\tWarning! Better check yourself, you're not looking too good.\n\t\t
\n\t
\n\n\n\t
\n\t\n\tNothing important here.\n
\n
\n\t\n\tHeads up! This alert needs your attention, but it's not super important.\n
\n
\n\t\n\tOh snap! Change a few things up and try submitting again.\n
\n
\n\t\n\tWarning! Better check yourself, you're not looking too good.\n
\n
\n\n
\n\n\n\n\n\n

\n\tApply themes and sizes.\n

\n
\n\n\t
\n\t\t
\n\t\t\tHeads up! This alert needs your attention, but it's not super important.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tWarning! Better check yourself, you're not looking too good.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tOh snap! Change a few things up and try submitting again.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tNothing important here.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tHeads up! This alert needs your attention, but it's not super important.\n\t\t
\n\t
\n\n\n\t
\n\tHeads up! This alert needs your attention, but it's not super important.\n
\n
...
\n
...
\n
...
\n
...
\n
\n\n
\n"},"start":{"structure":{"sources":"

Sources file structure

\n\n
    \n
  • maxmertkit/\n
      \n
    • mkit.json here you can change themes and sizes for every widget
    • \n
    • buildbuilded version of maxmertkit\n
        \n
      • css\n
          \n
        • \nmaxmertkit.css\n
        • \n
        • \nmaxmertkit.min-xxxxxxxx.css minified, gzipped and revved version to clear user cache.\n
        • \n
        • \nmaxmertkit.min.css minified and gzipped. Use revved version to prevent users using cached css.\n
        • \n
        \n
      • \n\n
      • js\n
          \n
        • \nmaxmertkit.js\n
        • \n
        • \nmaxmertkit.min-xxxxxxxx.js minified, gzipped and revved version to clear user cache.\n
        • \n
        • \nmaxmertkit.min.js minified and gzipped. Use revved version to prevent users using cached css.\n
        • \n
        \n
      • \n
      \n
    • \n\n
    • coffeeall maxmertkit coffee files\n
        \n
      • maxmertkit.coffee\nincludes all main helpers using in every plugin. Prototype for all plugins.\n
      • \n
      • affix.coffee
      • \n
      • button.coffee
      • \n
      • modal.coffee
      • \n
      • popup.coffee
      • \n
      • scrollspy.coffee
      • \n
      • tabs.coffee
      • \n
      \n
    • \n\n
    • sassall maxmertkit sass files\n
        \n
      • \nanimationsall animations for all widgets stores here\n
          \n
        • \npushesonly animations for pushes (not using right not)\n
        • \n
        • \n...\n
        • \n
        \n
      • \n
      • \ncommonglobal variables, reset, init, modifiers list, mixins and utilities stores here\n
      • \n
      • \nsizesusable sizes, remeber that you need to include sizes for each widget separatelly\n
      • \n
      • \nthemesusable themes, remeber that you need to include themes for each widget separatelly\n
      • \n
      • \nwidgetsall widgets are here\n
          \n
        • \n_widget-name.sass import files from folder widget-name; there may be different types or parts of widget widget-name.\n
        • \n
        • \nwidget-nametypes or parts of widget widget-name\n
        • \n
        • \n...\n
        • \n
        \n
      • \n
      • \nmain.sass the only compiling file; imports all maxmertkit stuff\n
      • \n
      \n
    • \n\n
    • \njs\n
        \n
      • \nmaxmertkit.js not minified maxmertkit js plugins\n
      • \n
      • \nbower\n
      • \n
      \n
    • \n\n
    • \ncss\n
        \n
      • \nmain.css not minified css of the maxmertkit\n
      • \n
      \n
    • \n\n
    • docs\n
        \n
      • coffeedocumentation app\n
          \n
        • ...
        • \n
        • contents.coffee\nmain menu and application contents\n
        • \n
        \n
      • \n\n
      • cssmaxmertkit and developer css
      • \n
      • imgimages needed for docs
      • \n
      • jsall js for documentation\n
          \n
        • bower\nbower libraries for documentation.\n
        • \n
        • libs\nnot bowered libraries for documentation.\n
        • \n
        • app.js main app.
        • \n
        • maxmertkit.js
        • \n
        • templates.js all compiled templates for docs.
        • \n
        • ...
        • \n
        \n
      • \n\n
      • sassdeveloper sass, only for docs.
      • \n
      • serverserver app on nodejs for docs.
      • \n
      • templatestemplates for docs\n
          \n
        • commonbase templates for application
        • \n
        • kitall documentation templates are here; if you want to fix text errors in docs, contribute and fix them here
        • \n
        • 404.html
        • \n
        • main.html
        • \n
        \n
      • \n
      \n
    • \n\n
    • \ntest\n
    • \n\n
    • \ntodo.md all todos trough all maxmertkit js files\n
    • \n
    \n
  • \n
\n","common":"

Structure

\n\n

There are two downloadable form of maxmertkit: build and sources. In each case you'll have different file structure.

\n\n
\nNote that Maxmertkit javascript plugins DON'T require jQuery from version 1.0.2 (see changelog).\n
\nTo compile maxmertkit.sass you'll need a Bourbon and Neat. Just use bower to install it (see instructions below).\n
\n","build":"

Prebuilded file structure

\n\n

Everything is very easy here. Just include min files to your project.

\n\n
    \n
  • maxmertkit/\n
      \n
    • css/\n
        \n
      • maxmertkit.css
      • \n
      • maxmertkit.min.css gzipped builded version of maxmertkit, includes all themes and all sizes for each widget.
      • \n
      \n
    • \n
    • js/\n
        \n
      • maxmertkit.js concatenated maxmertkit plugins.
      • \n
      • maxmertkit.min.js minified and gzipped.
      • \n
      \n
    • \n
    \n
  • \n
\n"},"howto":{"themeManage":"

Add and manage themes

\n\n

\n\t\n

\n\n

\n\tFirst you need to run $ gulp. Read about this in how to build section.\n

\n\n

\n\tTo edit themes just do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/themes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tOpen theme file.\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $theme variable.\n\t\t
  6. \n\t
\n

\n\n\n

\n\tTo add a new themes do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/themes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tDublicate any theme file (or use this gist — maxmertkitTheme). Remember that filename should begin with underscore (_).\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $theme variable.\n\t\t
  6. \n\t\t
  7. \n\t\t\tInclude theme file in sass/main.sass\n\t\t
  8. \n\t\t
  9. \n\t\t\tAdd theme to widgets in mkit.json\n\t\t
  10. \n\t
\n

\n","sizeManage":"

Add and manage sizes

\n\n

\n\t\n

\n\n

\n\tFirst you need to run $ gulp. Read about this in how to build section.\n

\n\n

\n\tTo edit sizes just do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/sizes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tOpen size file.\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $size variable.\n\t\t
  6. \n\t
\n

\n\n\n

\n\tTo add a new sizes do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/sizes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tDublicate any size file (or use this gist — maxmertkitSize). Remember that filename should begin with underscore (_).\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $size variable.\n\t\t
  6. \n\t\t
  7. \n\t\t\tInclude size file in sass/main.sass\n\t\t
  8. \n\t\t
  9. \n\t\t\tAdd size to widgets in mkit.json\n\t\t
  10. \n\t
\n

\n","install":"

Install

\n

You can do it in several ways. Go to section download.

","common":"

Howto?

\n\n

Here I'll tell you how to do different things. Please, add new issue with label question and I'll add answers here.

","build":"

Build

\n\n

\n\t\n

\n\n

\n\t

    \n\t\t
  • Download sources.
  • \n\t\t
  • In terminal do:\n\t\t\t
      \n\t\t\t\t
    1. go to you sources folder;
    2. \n\t\t\t\t
    3. run npm install;
    4. \n\t\t\t\t
    5. run bower install;
    6. \n\t\t\t\t
    7. go to docs folder with command cd docs;
    8. \n\t\t\t\t
    9. run bower install;
    10. \n\t\t\t\t
    11. go back to your sources folder by typing cd ..;
    12. \n\t\t\t\t
    13. run gulp.
    14. \n\t\t\t
    \n\t\t
  • \n\t\t
  • In you browser go to http://127.0.0.1:3333/
  • \n\t
\n\n\tIf you want to buld minified sources, in substep 7 run gulp build.\n

\n"},"download":"
\n

Download

\n\n

There are several ways to download and use maxmertkit. The recommended one is to download all sources and build framework that suites only you. It will be easier, lighter and faster than any framework.


\n\n
\n
\n

Get build \n\n\n\n\n\n\n\n

\n

\nCompiled and minified CSS and JS, nothing more. Build includes all themes and all sizes for every widget in maxmertkit. It pretty heavy.\n

\n
\n
\n

Get sources \n\n\n\n\n\n\n\n

\n

\nIncludes all docs and all sources. Also includes build. See instructions how to use and compile below. Require some easiest installations. After that you'll have this site on your desktop.\n

\n
\n
\n
\n\n\n\n
\n

CDN

\n\n

Please, use CDN links to just include maxmertkit to your projects.

\n\n
<!-- Latest compiled and minified CSS -->\n<link rel=\"stylesheet\" href=\"//cdn.jsdelivr.net/maxmertkit/{{version}}/css/maxmertkit.css\">\n\n<!-- Latest compiled and minified JavaScript -->\n<script src=\"//cdn.jsdelivr.net/maxmertkit/{{version}}/js/maxmertkit.js\"></script>
\n
\n\n\n\n\n
\n

Bower

\n\n

Install and manage with Bower

\n\n
$ bower install maxmertkit
\n
\n","difference":"

Difference

\n\n

\n\t\n\t\tThere are some basic differences with other frameworks.\n\t\n

\n\n
    \n
  1. \n\tAuto build themes and sizes. Just edit mkit.json to add or remove theme or size to any widget.\n
  2. \n
  3. \nModularity. Exclude any sass widget from maxmertkit and everything will work well.\n
  4. \n\n
  5. Namespaces.\n\t
      \n\t\t\t
    • -widget — widget, for example -btn
    • \n\t\t\t
    • -theme- — theme, for example -primary-
    • \n\t\t\t
    • _size — size, for example _major
    • \n\t\t\t
    • _modifier_ — modifier, for example _active_
    • \n\t\t\t
    • -animation-- — animation, for example -fadein--
    • \n\t\t
    \n\t\t
    \n\t\t

    From now you really can say what happen below

    \n\t\t\n\t\t
    \n
  6. \n
\n"},"basic":{"typography":{"rtl":"

RTL (right to left) support

\n\n

\nThere is a RTL support in maxmertkit. Just use dir=\"rtl\" with block elements.\n

\n\n
\nFor more information go to css-tricks.\n
\n\n
\n\n
\n
\nThis text will go right to left.\n
\n
\n\n\n
\n
\nThis text will go right to left.\n
\n\n
\n\n\n\n

\nTo use inside inline elements use tag bdo:\n

\n
\n\n
\n

This text will go right to left.

\n
\n\n\n

This text will go right to left.

\n\n
\n","lists":"\n\n\n

Lists

\n\n\n

\n\t

Global variables:

\n\t
$list-item-inline-padding: 5px
\n

\n\n\n\n

Unordered

\n

A list of items in which the order does not explicitly matter.

\n
\n\t
\n\t\t
    \n\t\t
  • Lorem ipsum dolor sit amet
  • \n\t\t
  • Consectetur adipiscing elit
  • \n\t\t
  • Integer molestie lorem at massa
  • \n\t\t
  • Facilisis in pretium nisl aliquet
  • \n\t\t
  • Nulla volutpat aliquam velit\n\t\t\t
      \n\t\t\t\t
    • Phasellus iaculis neque
    • \n\t\t\t\t
    • Purus sodales ultricies
    • \n\t\t\t\t
    • Vestibulum laoreet porttitor sem
    • \n\t\t\t\t
    • Vestibulum laoreet porttitor sem\n\t\t\t\t\t
        \n\t\t\t\t\t\t
      • Phasellus iaculis neque
      • \n\t\t\t\t\t\t
      • Purus sodales ultricies
      • \n\t\t\t\t\t\t
      • Vestibulum laoreet porttitor sem
      • \n\t\t\t\t\t\t
      • Ac tristique libero volutpat at
      • \n\t\t\t\t\t
      \n\t\t\t\t
    • \n\t\t\t\t
    • Ac tristique libero volutpat at
    • \n\t\t\t
    \n\t\t
  • \n\t\t
  • Faucibus porta lacus fringilla vel
  • \n\t\t
  • Aenean sit amet erat nunc
  • \n\t\t
  • Eget porttitor lorem
  • \n\t\t
\n\t
\n\t
    \n
  • ...
  • \n
  • ...\n\t
      \n\t\t
    • ...
    • \n\t
    \n
  • \n
\n
\n\n\n

Ordered

\n

A list of items in which the order does explicitly matter.

\n
\n\t
\n\t\t
    \n\t\t\t
  1. Lorem ipsum dolor sit amet
  2. \n\t\t\t
  3. Consectetur adipiscing elit
  4. \n\t\t\t
  5. Integer molestie lorem at massa
  6. \n\t\t\t
  7. Facilisis in pretium nisl aliquet
  8. \n\t\t\t
  9. Nulla volutpat aliquam velit\n\t\t\t\t
      \n\t\t\t\t\t
    1. Phasellus iaculis neque
    2. \n\t\t\t\t\t
    3. Purus sodales ultricies
    4. \n\t\t\t\t\t
    5. Vestibulum laoreet porttitor sem
    6. \n\t\t\t\t\t
    7. Vestibulum laoreet porttitor sem\n\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t
      • Phasellus iaculis neque
      • \n\t\t\t\t\t\t\t
      • Purus sodales ultricies
      • \n\t\t\t\t\t\t\t
      • Vestibulum laoreet porttitor sem
      • \n\t\t\t\t\t\t\t
      • Ac tristique libero volutpat at
      • \n\t\t\t\t\t\t
      \n\t\t\t\t\t
    8. \n\t\t\t\t\t
    9. Ac tristique libero volutpat at
    10. \n\t\t\t\t
    \n\t\t\t
  10. \n\t\t\t
  11. Faucibus porta lacus fringilla vel
  12. \n\t\t\t
  13. Aenean sit amet erat nunc
  14. \n\t\t\t
  15. Eget porttitor lorem
  16. \n\t\t
\n\t
\n\t
    \n
  1. ...
  2. \n
  3. ...\n\t
      \n\t\t
    1. ...
    2. \n\t
    \n
  4. \n
\n
\n\n\n\n\n

Unstyled

\n

Use modifier class _unstyled_ to remove the default list-style and left margin on list items (immediate children only). This only applies to immediate children list items, meaning you will need to add the class for any nested lists as well.

\n
\n\t
\n\t\t
    \n\t\t\t
  1. Lorem ipsum dolor sit amet
  2. \n\t\t\t
  3. Consectetur adipiscing elit
  4. \n\t\t\t
  5. Integer molestie lorem at massa
  6. \n\t\t\t
  7. Facilisis in pretium nisl aliquet
  8. \n\t\t\t
  9. Nulla volutpat aliquam velit\n\t\t\t\t
      \n\t\t\t\t\t
    1. Phasellus iaculis neque
    2. \n\t\t\t\t\t
    3. Purus sodales ultricies
    4. \n\t\t\t\t\t
    5. Vestibulum laoreet porttitor sem
    6. \n\t\t\t\t\t
    7. Vestibulum laoreet porttitor sem\n\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t
      • Phasellus iaculis neque
      • \n\t\t\t\t\t\t\t
      • Purus sodales ultricies
      • \n\t\t\t\t\t\t\t
      • Vestibulum laoreet porttitor sem
      • \n\t\t\t\t\t\t\t
      • Ac tristique libero volutpat at
      • \n\t\t\t\t\t\t
      \n\t\t\t\t\t
    8. \n\t\t\t\t\t
    9. Ac tristique libero volutpat at
    10. \n\t\t\t\t
    \n\t\t\t
  10. \n\t\t\t
  11. Faucibus porta lacus fringilla vel
  12. \n\t\t\t
  13. Aenean sit amet erat nunc
  14. \n\t\t\t
  15. Eget porttitor lorem
  16. \n\t\t
\n\t
\n\t
    \n
  1. ...
  2. \n
  3. ...\n\t
      \n\t\t
    1. ...
    2. \n\t
    \n
  4. \n
\n
\n\n\n\n

Horizontal

\n

Use modifier class _horizontal_ to place all list items on a single line with display: inline-block and some light padding.

\n
\n\t
\n\t\t
    \n\t\t\t
  1. Lorem
  2. \n\t\t\t
  3. Consectetur
  4. \n\t\t\t
  5. Integer
  6. \n\t\t\t
  7. Facilisis
  8. \n\t\t\t
  9. Nulla
  10. \n\t\t\t
  11. Faucibus
  12. \n\t\t\t
  13. Aenean
  14. \n\t\t\t
  15. Eget
  16. \n\t\t
\n\t
\n\t
    \n\t
  1. Lorem
  2. \n\t
  3. Consectetur
  4. \n\t
  5. Integer
  6. \n\t
  7. Facilisis
  8. \n\t
  9. Nulla
  10. \n\t
  11. Faucibus
  12. \n\t
  13. Aenean
  14. \n\t
  15. Eget
  16. \n
\n
\n\n\n\n\n\n\n\n\n

Description

\n

A list of terms with their associated descriptions.

\n
\n\t
\n\t\t
\n\t\t\t
Description lists
\n\t\t\t
A description list is perfect for defining terms.
\n\t\t
\n\t\t
\n\t\t\t
Description lists
\n\t\t\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t\t\t
Donec id elit non mi porta gravida at eget metus.
\n\t\t
\n\t
\n\t
\n\t
Description lists
\n\t
A description list is perfect for defining terms.
\n
\n
\n\t
Description lists
\n\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t
Donec id elit non mi porta gravida at eget metus.
\n
\n
\n\n\n

Horizontal

\n

Use modifier class _horizontal_to make terms and descriptions in<dl> line up side-by-side. Responsive.

\n
\n\t
\n\t\t
\n\t\t\t
Description lists
\n\t\t\t
A description list is perfect for defining terms.
\n\t\t
\n\t\t
\n\t\t\t
Description lists with very-very-very long title
\n\t\t\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t\t\t
Donec id elit non mi porta gravida at eget metus.
\n\t\t
\n\t
\n\t
\n\t
Description lists
\n\t
A description list is perfect for defining terms.
\n
\n\t
\n\t
Description lists with very-very-very long title
\n\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t
Donec id elit non mi porta gravida at eget metus.
\n
\n
\n","links":"\n\n\n

Links

\n

Add beautiful underline to your links. Use .-link-hang

\n\n
\n\t\n\t

\n\t\t

Global variables:

\n\t\t
$typo-link-hang-class: \"-link-hang\" !global\n\t$typo-link-hang-underline-height: 1px !global
\n\t

\n\n\t

\n\t\t

Important! If you use -link-hang with tag <a>, the color of tag will not be changed. You'll need to change it manually. I did it to not to break user's css.
\n\t

\n\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tHang Link is here\n\t\t\t
\n\t\t\t
\n\t\t\t\tWith tag <a> you'll need to change text color of the link manually:\n\t\t\t\t

Hang Link is here

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
Hang Link is here
\n\t\t\t
\n\t
\n
\n\n
\n\t

In block and inline tags

\n\n\t

Put -link-hang inside elements b, i, small, p and span. The styles will aply to the inner -link-hang automatically.

\n\n\t
\n\t\t
\n\t\t\tThere is Hang Link inside this span.
\n\t\t\t

Info big paragraph with Hang Link inside.

\n\t\t\tWarning small tag with Hang Link inside \n\t\t
\n\t\t
\n\t\t\t
There is Hang Link inside this span
\n

Info big paragraph with Hang Link inside.

\nWarning small tag with Hang Link inside
\n\t
\n
\n\n\n
\n\t

Problems

\n\t

\n\t\tWhen you change the background, you can see the artifacts.\n\t

\n\n\t
\n\t\t
\n\t\t\tThere is Hang Link inside this span.
\n\t\t
\n\t
\n\n\t

To fix that, add text-shadow: .1em 0 0 color-here, -.1em 0 0 color-here to your -link-hang in the block with background.

\n\t
\n\t\t
\n\t\t\tThere is Hang Link inside this span.
\n\t\t
\n\t\t
\n\t\t\t
\n\tThere is Hang Link inside this span.\n
\n\t
\n
","headings":"\n\n\n

Headings

\n

Specifies heading. Use h# or class .-h#(# - number 1..6)

\n\n\n

\n\t

Global variables:

\n\t
$headings-class: \"-h\"\n\n$headings-h1-font-size: floor($base-font-size * 2.6) !global\n$headings-h2-font-size: floor($base-font-size * 2.15) !global\n$headings-h3-font-size: floor($base-font-size * 1.7) !global\n$headings-h4-font-size: floor($base-font-size * 1.25) !global\n$headings-h5-font-size: $base-font-size !global\n$headings-h6-font-size: floor($base-font-size * 0.85) !global\n\n$headings-line-height: 1.1 !global\n\n$headings-font-weight: 500 !global\n$headings-font-weight-small: 500 !global\n$headings-font-family: inherit !global\n$headings-color: inherit !global\n$headings-injection-color: #999 !global
\n

\n\n\n\n
\n\t
\n\t\t
\n\t\t\t

Heading 1

\n\t\t\t

Heading 2

\n\t\t\t

Heading 3

\n\t\t\t

Heading 4

\n\t\t\t
Heading 5
\n\t\t\t
Heading 6
\n\t\t
\n\t\t
\n\t\t\t
Heading 1
\n\t\t\t
Heading 2
\n\t\t\t
Heading 3
\n\t\t\t
Heading 4
\n\t\t\t
Heading 5
\n\t\t\t
Heading 6
\n\t\t
\n\t
\n\t
\n\t\t

Heading 1

\n

Heading 2

\n

Heading 3

\n

Heading 4

\n
Heading 5
\n
Heading 6
\n\t\t
Heading 1
\n
Heading 2
\n
Heading 3
\n
Heading 4
\n
Heading 5
\n
Heading 6
\n
\n\n\n\n\n

Injections inside headings

\nUse size classes
\n_tiny,\n_small,\n_minor,\n_normal,\n_major,\n_normal,\n_big,\n_huge,\n_divine\n
\n\t
\n\t\t
\n\t\t\t

Heading 4 small injection

\n\t\t\t

Heading 4 minor injection

\n\t\t\t

Heading 4 normal injection

\n\t\t\t

Heading 4 no class injection

\n\t\t\t

Heading 4 major injection

\n\t\t\t

Heading 4 big injection

\n\t\t\t

Heading 4 huge injection

\n\t\t\t

Heading 4 divine injection

\n\t\t
\n\t\t
\n\t\t\t

Heading 1 small injection

\n\t\t\t

Heading 1 normal injection

\n\t\t\t

Heading 1 major injection

\n\t\t\t

Heading 1 huge injection

\n\t\t
\n\t
\n\t
\n\t\t

Heading 4 tiny injection

\n

Heading 4 small injection

\n

Heading 4 minor injection

\n

Heading 4 normal injection

\n

Heading 4 no class injection

\n

Heading 4 major injection

\n

Heading 4 big injection

\n

Heading 4 huge injection

\n

Heading 4 divine injection

\n\t\t

Heading 1 tiny injection

\n

Heading 1 normal injection

\n

Heading 1 major injection

\n

Heading 1 huge injection

\n
\n","common":"
\n\t

Typography

\n
\n","code":"\n\n\n

Code

\n\n\n

\n\t

Global variables:

\n\t
$code-border: 0px solid rgba(0,0,0,.05)\n$code-color: #c7254e\n$code-background: #f9f2f4\n$code-font-size: 90%\n$code-padding: 1px 4px\n$code-border-radius: 2px\n\n$pre-bg: #f5f5f5\n$pre-color: #777\n$pre-border-color: #ccc\n$pre-border-radius: 3px
\n

\n\n\n

Inline

\n

Wrap inline snippets of code with <code>.

\n
\n\n\n\t
\n\t\tFor example, <section> should be wrapped as inline.\n\t
\n\n\n\t
For example, <section> should be wrapped as inline.
\n\n
\n\n\n

Block

\n

Use <pre> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.

\n
\n\n\n\t
\n\t\t
<p>Sample text here...</p>
\n\t
\n\n\n\t
<p>Sample text here...</p>
\n\n
\n","body":"\n\n\n

Body

\n

All common tags.

\n\n\n

\n\t

Global variables:

\n\t
$body-b-font-weight: 700 !global\n$body-i-font-style: italic !global\n$body-small-font-size: 85% !global\n\n$abbr-initialism-class: \"-initialism\" !global\n\n$blockquote-small-font-size: 80% !global
\n

\n\n\n

Bold

\n

For emphasizing a snippet of text with a heavier font-weight.

\n
\n\t
\n\t\tThis is bold text
\n\t\tThis is bold text\n\t
\n\t
\n\t\t
This is bold text\nThis is bold text
\n\t
\n
\n\n

Italic

\n

For emphasizing a snippet of text with italics.

\n
\n\t
\n\t\tThis is italic text
\n\t\tThis is italic text\n\t
\n\t
\n\t\t
This is italic text\nThis is italic text
\n\t
\n
\n\n

Small

\n

For de-emphasizing inline or blocks of text, use the <small> tag to set text at 85% the size of the parent. Heading elements receive their own font-size for nested <small> elements.

\n
\n\t
\n\t\tNormal and small text
\n\t
\n\t
Normal and small text
\n
\n\n\n

Sizes with inline elements

\n

\n\tUse size classes\n\t_tiny,\n\t_small,\n\t_minor,\n\t_normal,\n\t_major,\n\t_normal,\n\t_big,\n\t_huge,\n\t_divine\n\twith inline elements to set size.\n

\n
\n\t
\n\t\tNormal text with _major text, and here is _big italic text, and _huge bold\n\t
\n\t
Normal text with _major text, and here is _big italic text, and _huge bold
\n
\n\n\n

Themes with inline elements

\n

\n\tUse theme classes (you can include any theme, so themes class names can be different)\n\t-primary-,\n\t-error-,\n\t-success-\n\n\twith inline elements to set theme.\n

\n
\n\t
\n\t\tNormal text with -primary- text, i -error- text, b -success- text\n\t
\n\t
Normal text with -primary- text, i -error- text, b -success- text
\n
\n\n\n

Modifiers with inline elements

\n

\n\tUse modifier classes _left_, _center_, _right_, _justify_ with inline elements to realign text.\n

\n
\n\t
\n\t\t

left

\n\t\t

center

\n\t\t

right

\n\t\t

Justify is in this block! Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

\n\t
\n\t

left

\n

center

\n

right

\n

Justify is in this block! ...

\n
\n\n\n\n\n\n\n\n\n

Abbreviation

\nAbbreviations with a title attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover. If you use initialism, use -initialism class.\n
\n\t
\n\t\tattr, HTML\n\t
\n\t
attr, HTML
\n
\n\n\n

Address

\nAbbreviations with a title attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover. If you use initialism, use -initialism class.\n
\n\t
\n\t\t
\n\t\t\tTwitter, Inc.
\n\t\t\t795 Folsom Ave, Suite 600
\n\t\t\tSan Francisco, CA 94107
\n\t\t\tP: (123) 456-7890\n\t\t
\n\t\t
\n\t\t\tFull Name
\n\t\t\tfirst.last@example.com\n\t\t
\n\t
\n\t
\n\tTwitter, Inc.
\n\t795 Folsom Ave, Suite 600
\n\tSan Francisco, CA 94107
\n\tP: (123) 456-7890\n
\n
\n\tFull Name
\n\tfirst.last@example.com\n
\n
\n\n\n

Blockquote

\n

Style and content changes for simple variations on a standard <blockquote>.

\n

Use modifier classes _left_ and _right_ to realign blockquote.

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- with blockquotes to set theme.

\n
\n\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t
\n\t
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n"},"tables":{"striped":"\n\n\n

Striped

\n

Use modifier class _striped_ to add zebra-striping to any table row within the <tbody>.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n\n\n\n

Combine modifier and themes classes.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n","rows":"\n\n\n

Rows

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- with .-table to set theme to <tr>.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n\t\n\n\t\n\t\n\n\t\n\t\n\n\t\n\n
\n\n\n
\n","hovered":"\n\n\n

Hovered

\n

Use modifier class _hovered_ to add highlight to hovered table row within the <tbody>.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n\n\n\n

Combine modifier and themes classes.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n","common":"

Tables

\n\n

\n\t

Global variables

\n\t
$table-class: \"-table\" !global\n$table-cell-padding: 8px !global
\n

\n","cells":"\n\n\n

Cells

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- to set theme to <td>.

\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\n\n
\n","basic":"\n\n\n

Basic usage

\n\n

Use class -row. Designates the element as a row of columns in the grid layout.

\n\n
\n\tFor mobile add modifier _responsive_. This will set for table font-size: 0.9em. And don't forget to hide minor cells on mobile with maxmertkit responsive utilities.\n
\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\n\n
\n\n\n\n\n

Horizontal border

\n

Use modifier class _horizontal_ to add horizontal dividers.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n\n\n\n\n

Vertical border

\n

Use modifier class _vertical_ to add vertical dividers.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n\n\n\n\n\n

Combine modifiers

\n

Combine modifiers _vertical_ and _horizontal_ to add inside dividers.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n\n\n\n\n\n\n

Bordered

\n

Use modifier class _bordered_ for borders on all sides of the table and cells.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n\n\n\n\n

Use themes

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- with .-table to set theme.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n"},"grid":{"row":"\n\n\n

Row

\n\n\n

\n\t

Global variables

\n\t
$row-class: -row !global
\n
\n

\n\n

Use class -row. Designates the element as a row of columns in the grid layout.

\n\n
\n\n\t
\n\t\t
\n\t\t\tThis is first row.\n\t\t
\n\t\t
\n\t\t\tThis is second row.\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t
\n\t\tThis is first row.\n\t
\n\t
\n\t\tThis is second row.\n\t
\n
\n\n
\n\n\n\n
\n\tUse modifier _justify_ to prevent mobile view of the grid.\n
\n\n
\n\n\t
\n\t\t
\n\t\t\t
Keep grid structure in mobile
\n\t\t\t
Keep grid structure in mobile
\n\t\t\t
Keep grid structure in mobile
\n\t\t
\n\t\t
\n\t\t\t
Don't keep grid structure in mobile
\n\t\t\t
Don't keep grid structure in mobile
\n\t\t\t
Don't keep grid structure in mobile
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t
Keep grid structure in mobile
\n\t
Keep grid structure in mobile
\n\t
Keep grid structure in mobile
\n
\n
\n\t
Don't keep grid structure in mobile
\n\t
Don't keep grid structure in mobile
\n\t
Don't keep grid structure in mobile
\n
\n\n
\n","container":"\n\n\n

Container

\n

\n\tGlobal variables\n\t

$container-class: -container !global
\n

\n

Use class -container to move block to the center in the viewport, clear its floats, and set its max-width.

\n
\n\t
\n\t\t
...
\n\t
\n
\n\n\n
\n\tUse modifier _fixed_ to cancel responsiveness.\n
\n\n
\n\t
\n\t\t
...width is always 992px...
\n\t
\n
\n","common":"
\n\t

Grid

\n
\n","columns":"\n\n\n

Columns

\n\n\n

\n\tGlobal variables\n\t

$column-class: -col !global\n$column-quantity: 12 !global\n$offset-class: -offset !global
\n

\n\n

Use class .-col#(# - number 1..$column-quantity). Specifies columns of the grid.

\n
\n\n\t
\n\t\t
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t
\n\n\t\t
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t
\n\n\t\t
\n\t\t\t
-col3
\n\t\t\t
-col3
\n\t\t\t
-col3
\n\t\t\t
-col3
\n\t\t
\n\n\t\t
\n\t\t\t
-col4
\n\t\t\t
-col4
\n\t\t\t
-col4
\n\t\t
\n\n\t\t
\n\t\t\t
-col5
\n\t\t\t
-col2
\n\t\t\t
-col5
\n\t\t
\n\n\t\t
\n\t\t\t
-col6
\n\t\t\t
-col6
\n\t\t
\n\n\t\t
\n\t\t\t
-col8
\n\t\t\t
-col4
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n
\n\n
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n
\n\n
\n\t
-col3
\n\t
-col3
\n\t
-col3
\n\t
-col3
\n
\n\n
\n\t
-col4
\n\t
-col4
\n\t
-col4
\n
\n\n
\n\t
-col5
\n\t
-col2
\n\t
-col5
\n
\n\n
\n\t
-col6
\n\t
-col6
\n
\n\n
\n\t
-col8
\n\t
-col4
\n
\n\n
\n
\n\n\n

Order

\n
\n\tYou can change order of the columns on different devices. Look at Utilities order.\n
\n\n\n\n

Offsets

\n

Use class .-offset#. These classes increase the left margin of a column by # columns.

\n
\n\t
\n\t\t
\n\t\t\t
-col2
\n\t\t\t
-col2 -offset2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t
\n\t\t
\n\t\t\t
-col6 -offset6
\n\t\t
\n\t\t
\n\t\t\t
-col6 -offset3
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t
-col2
\n\t
-col2 -offset2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n
\n
\n\t
-col6 -offset6
\n
\n
\n\t
-col6 -offset3
\n
\n
\n\n
\n"},"forms":{"grid":"\n\n\n

Build form grid

\n\n\n

\n\t

Global variables

\n\t
$form-input-font-family: inherit !global\n$form-input-border-radius: 0 !global\n$form-label-cursor: pointer !global\n$form-label-font-weight: 200 !global\n\n$form-column-margin-bottom: 4px !global
\n

\n\n\n

Dont't forget to use for=\"#id-input-name\" with <label>, it isn't necessary, but it's a good practice.

\n\n

\n\tCreating a form is designed to be easy and flexible. Forms are built with a combination of standard form elements, as well as the Grid (-row and -col#). Form elements in Foundation are styled based on their type attribute rather than a class, and can be sized in a couple of ways:\n\t

    \n\t\t
  • You can size inputs using column sizes -col#
  • \n\t\t
  • You can create row elements inside your form and use columns for the form, including inputs, labels and more. Rows inside a form inherit some special padding to even up input spacing.
  • \n\t
\n\tTo understand how to use Grid, please look at grid section.\n

\n\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n\n\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n\n\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success-, etc. with <input> to set theme.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n

Use size classes Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with <input> to set size.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n","fieldset":"\n\n\n

Fieldset

\n\n\n

\n\t

Global variables

\n\t
$form-fieldset-border: 1px solid rgba(0,0,0,.2) !global\n$form-fieldset-padding-vertical: $base-line-height-comp !global\n$form-fieldset-padding-horizontal: $base-line-height-comp !global\n$form-legend-padding: 7px !global
\n

\n\n\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\tFieldset Legend\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\tFieldset Legend\n\n\t\t\n\t\t\n\t
\n
\n\n\n
\n","fields":"\n\n\n

Fields

\n\n\n

\n\t

Global variables

\n\t
$form-field-class: \"-field\"\n$form-field-border-width: 3px\n$form-field-border-radius: 3px
\n

\n\n\n\n\n

What is filed? Field is an element with class -field and <input> inside. It doesn't has new functions, just looks prettier.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n\n

Use size classes Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with <input> to set size.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n","common":"
\n\t

Forms

\n
\n"}},"utilities":{"responsive":"

Responsive utilities

\n\n\n

\n\tFor faster mobile-friendly development, use these utility classes for showing and hiding content by device via media query. Also included are utility classes for toggling content when printed.\n

\n\n

\n\tTry to use these on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation. Responsive utilities are currently only available for block and table toggling. Use with inline and table elements is currently not supported.\n

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
mobiletabletsdesktopslarge desktops
._visible-phones_visiblehiddenhiddenhidden
._visible-tablets_hiddenvisiblehiddenhidden
._visible-desktops_hiddenhiddenvisiblehidden
._visible-large-desktops_hiddenhiddenhiddenvisible
._hidden-phones_hiddenvisiblevisiblevisible
._hidden-tablets_visiblehiddenvisiblevisible
._hidden-desktops_visiblevisiblehiddenvisible
._hidden-large-desktops_visiblevisiblevisiblehidden
\n\n\n

Test responsive

\n\n
\n\t
Visible on phones
Hidden on phones
\n\t
Visible on tablets
Hidden on tablets
\n\t
Visible on desktops
Hidden on desktops
\n\t
Visible on large
Hidden on large
\n
\n
\n
\n\t
Hidden on phones
Visible on phones
\n\t
Hidden on tablets
Visible on tablets
\n\t
Hidden on desktops
Visible on desktops
\n\t
Hidden on large desktops
Visible on large
\n
\n
\n
\n\t
Visible on all desktops
Hidden on phones and tablets
\n\t
Visible on desktops
Hidden on desktops
\n\t
Hidden on large desktops
Visible on large
\n
\n","order":"

Changing order

\n\n\n

\n\tIf you want to change order of any floating elements ( for example grid ), use this modifiers.\n

\n\n

\n\tIn this example columns will swap while you resizing window or use mobile browser.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
right on big
\n\t\t\t
center
\n\t\t\t
left on big
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
right on big
\n\t
center
\n\t
left on big
\n
\n\t
\n\n
\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t
right on big
\n\t\t\t
left on big
\n\t\t\t
center
\n\t\t\t
center 2
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
right on big
\n\t
left on big
\n\t
center
\n\t
center 2
\n
\n\t
\n\n
\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t
Menu
\n\t\t\t
Main content
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
Menu
\n\t
Main content
\n
\n\t
\n\n
\n"},"components":{"wall":"\t

Wall

\n\n\n\t
\n\t\t

Make a parallax effect with image or video background

\n\t
\n\n\n\t
\n\n\t
\n\t\tLook at the example. Walls with video and image backgrounds code below.\n\t
\n\n\n\t
walls = document.querySelectorAll(\"[data-kind='wall']\")\nfor wl in walls\n\twl.wall()
\n\n\t
\n\t
\n\t\t\n\t\t\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Yosemite

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
The LIFE, Colin Delehanty\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n\t
\n\t
\n\t\t\n\t\t
\n\t\t\t\"\"\n\t\t
\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Yosemite

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
The LIFE, Colin Delehanty\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n
You can add a content after <header>
\n\n
\n\n\t
\n\t\tLook at the example. Walls with video and image backgrounds code below.\n\t
\n\n\n\t
\n\t
\n\t\t\n\t\t
\n\t\t\t\"\"\n\t\t
\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Yosemite

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
The LIFE, Colin Delehanty\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t\n\t\t
\n\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tA lot of content here.\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n\n\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
kind@el.getAttribute( 'data-kind' ) or 'wall'\n\t\t\t\tSet walling type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or '.-thumbnail'\n\t\t\t\tString. Selector for the scrolling background element. For example <figure> or <video> or #video-id.\n\t\t\t
header@el.getAttribute( 'data-header' ) or '.-header'\n\t\t\t\tString. Selector for the header inside wall.\n\t\t\t
headerFade@el.getAttribute( 'data-fade' ) or yes\n\t\t\t\tBoolean. Hide header while scrolling out.\n\t\t\t
speed@el.getAttribute( 'data-speed' ) or 0.7\n\t\t\t\tNumber between 0 and 1. 1 – background element stands, 0 – element scrolls as usual.\n\t\t\t
zoom@el.getAttribute( 'data-zoom' ) or no\n\t\t\t\tBoolean. Zoom background element while scrolling.\n\t\t\t
height@el.getAttribute( 'data-height' ) or '100%'\n\t\t\t\tString or Number. Height of the wall. Inside should be measures like % or px. If number than it will use px.\n\t\t\t
onMobile@el.getAttribute( 'data-on-mobile' ) or no\n\t\t\t\tDeactivate wall on mobile devices.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
start\n\t\t\t\t

Activate wall.

\n\t\t\t
stop\n\t\t\t\t

Deativate wall.

\n\t\t\t
refresh\n\t\t\t\t

Refresh all positions and sizes.

\n\t\t\t
destroy\n\t\t\t\t

Destroy current instance.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get wall element use @ or this in js. Class instance always stores in data attribute of the wall element @data['kitWall'] or this.data['kitWall'] in js. To get wall element do @data['kitWall'].el. To get wall background element do @data['kitWall'].target.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate the wall. If it returns deferred.promise(), then wall will not start till deferred.resolve(), and woun't start if deferred.reject().

\n\t\t\t\t

document.querySelector('.wall').wall\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The wall will be in the log\n\t\t# so you can, for example, add classes\n\t\t# to disable the wall\n\n\t\tconsole.log @data['kitWall']\n\t\t# The instance of Wall class will in log\n\t\t# so to get wall element you need to do\n\t\twall = @data['kitWall']\n\t\twall._addClass 'some-class'\n\n\t\t# Do something here before activate wall\n\t\t# in this case it will start in 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after wall started.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if starting failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before wall stopped.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after wall stopped.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stopping failed.

\n\t\t\t
\n\n\n
\n","tabs":"
\n\t

Tabs

\n\n\n\t
\n\t\tTabs buttons and tabs content may be anywhere in the dom, you don't need to collect them in one dom element. It is an analog of button plugin with data-type=\"radio\".\n\t
\n\n\n\t
\n\n\t
\n\t\t\n\t\t
\n\t\t\t
Content for tab 1
\n\t\t\t
Content for tab 2
\n\t\t\t
Content for tab 3
\n\t\t\t
Content for tab 4
\n\t\t
\n\t
\n\n\n\t
\n
\n\t
Content for tab 1
\n\t
Content for tab 2
\n\t
Content for tab 3
\n\t
Content for tab 4
\n
\n
\n\n
tabs = document.querySelectorAll(\"[data-toggle='tabs']\")\nfor tab in tabs\n\ttab.tabs()\n
\n\n
\n\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
toggle@el.getAttribute( 'data-toggle' ) or 'tabs'\n\t\t\t\tSet toggle type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or null\n\t\t\t\tSelector to find the content of that tab button.\n\t\t\t
group@el.getAttribute( 'data-group' ) or null\n\t\t\t\tName of the tabs group. Uses to deactivate other tabs in the group, when one tab was activated.\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to activate/deactivate button.\n\t\t\t
initial@el.getAttribute( 'data-initial' ) or 0\n\t\t\t\tNumber of the tab to activate after initialization.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
activate\n\t\t\t\t

Activate button.

\n\t\t\t
deactivate\n\t\t\t\t

Deactivate button.

\n\t\t\t
enable\n\t\t\t\t

Enable button, events will work.

\n\t\t\t
disable\n\t\t\t\t

Disable button, events will not work.

\n\t\t\t
\n\n\n

Events

\n
\n\tInside each method to get tab use @ or this in js. Class instance always stores in data attribute of the tab element @data['kitTabs'] or this.data['kitTabs'] in js.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate tab. If it returns deferred.promise(), then tab will not activate till deferred.resolve(), and woun't activate at all if deferred.reject(). You can just get data with ajax instead of using deferred.

\n\t\t\t\t

tabs = document.querySelectorAll('.tabs-selector')\nfor tab in tabs\n\ttab.tabs\n\t\tbeforeactive: ->\n\t\t\td = $.Deferred()\n\n\t\t\ttab = @data['kitTabs']\n\t\t\ttab.el.querySelector('a').innerHTML = 'Loading...'\n\t\t\ttab._addClass '_disabled_'\n\n\t\t\tsetTimeout ->\n\t\t\t\td.resolve()\n\t\t\t,2000\n\t\t\td.promise()\n\n\t\tonactive: ->\n\t\t\ttab = @data['kitTabs']\n\t\t\ttab._removeClass '_disabled_'\n\t\t\ttab.el.querySelector('a').innerHTML = 'Active tab'\n\n\t\tondeactive: ->\n\t\t\ttab = @data['kitTabs']\n\t\t\ttab.el.querySelector('a').innerHTML = 'Tab'\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after tab activation.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before deactivate tab.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after deactivate tab.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if deactivation failed.

\n\t\t\t
\n\n\n\n\n
\n","skyline":"\t

Skyline

\n\n\n\t
\n\t\t

When the skyline element is in visible part of the document, starts animation to show it.

\n\n\t\t
Don't forget to add animation classes to your skyline elements.
\n\t
\n\n\n\t
\n\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n...
\n\n
skylines = document.querySelectorAll(\"[data-spy='skyline']\")\nfor sky in skylines\n\tsky.skyline\n\t\tdelay: ->\n\t\t\t2000 * Math.random()\n
\n\n
\n\n\n

Let's change animation to -newspaper--.

\n\n\n
\n\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n...
\n\n
skylines = document.querySelectorAll(\"[data-spy='skyline']\")\nfor sky in skylines\n\tsky.skyline\n\t\tdelay: ->\n\t\t\t2000 * Math.random()\n
\n\n
\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
spy@el.getAttribute( 'data-spy' ) or 'skyline'\n\t\t\t\tSet toggle type of the element.\n\t\t\t
offset@el.getAttribute( 'data-offset' ) or 5\n\t\t\t\tNumber. Vertical offset to start showing scrollspy elements before or after they are visible.\n\t\t\t
delay@el.getAttribute( 'data-delay' ) or 300\n\t\t\t\tNumber or Function, returning number. Delay before showing.\n\t\t\t
onMobile@el.getAttribute( 'data-on-mobile' ) or no\n\t\t\t\tStop Skyline plugin on mobile devices.\n\t\t\t
\n\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
activate\n\t\t\t\t

Activate current skyline element.

\n\t\t\t
deactivate\n\t\t\t\t

Deactivate current skyline element.

\n\t\t\t
start\n\t\t\t\t

Start listening scroll events.

\n\t\t\t
stop\n\t\t\t\t

Stop listening scroll effects.

\n\t\t\t
refresh\n\t\t\t\t

Refresh sizes and position of the skyline element.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get skyline use @ or this in js. Class instance always stores in data attribute of the skyline element @data['kitSkyline'] or this.data['kitSkyline'] in js.\n
\n\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
EventDescription
beforeactive\n\t\t\t\t

Set a function to call it before start skyline. If it returns deferred.promise(), then skyline will not start till deferred.resolve(), and woun't start at all if deferred.reject(). You can just get data with ajax instead of using deferred.

\n\t\t\t\t

skylines = document.querySelectorAll(\".radio-with-before\")\nfor btn in skylines\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,2000\n\t\td.promise()\n\n\tonactive: ->\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._removeClass '_disabled_'\n\n\tbeforedeactive: ->\n\t\td = $.Deferred()\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,3000\n\t\td.promise()\n\n\tondeactive: ->\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._removeClass '_disabled_'\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after skyline start.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if start failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before stop skyline.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after stop skyline.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stop failed.

\n\t\t\t
","scrollspy":"
\n\t

Scrollspy

\n\n\n\t
\n\t\t
\n\n\t\t
\n\t\t
\n\n\t\t
\n\t\t
\n\n\t\t
\n\t
\n\n\n\n\t
\n\n\t
\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

Menu 1

\n\t\t\t\t

\n\t\t\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon; formally 日本国 About this sound Nippon-koku or Nihon-koku, literally \"the State of Japan\") is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south. The characters that make up Japan's name mean \"sun-origin\", which is why the country is sometimes referred to as the \"Land of the Rising Sun\". Japan is an archipelago of 6,852 islands, the four largest being Honshu, Hokkaido, Kyushu and Shikoku. Together, these four islands hold about 97 percent of the country's land area. Japan has the world's tenth-largest population, with more than 126 million people. Honshū's Greater Tokyo Area includes the de facto capital city of Tokyo and several surrounding prefectures. It is the largest metropolitan area in the world, with more than 30 million residents.\n\t\t\t\t

\n\n\t\t\t\t

Menu 2

\n\t\t\t\t

\n\t\t\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon; formally 日本国 About this sound Nippon-koku or Nihon-koku, literally \"the State of Japan\") is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south. The characters that make up Japan's name mean \"sun-origin\", which is why the country is sometimes referred to as the \"Land of the Rising Sun\". Japan is an archipelago of 6,852 islands, the four largest being Honshu, Hokkaido, Kyushu and Shikoku. Together, these four islands hold about 97 percent of the country's land area. Japan has the world's tenth-largest population, with more than 126 million people. Honshū's Greater Tokyo Area includes the de facto capital city of Tokyo and several surrounding prefectures. It is the largest metropolitan area in the world, with more than 30 million residents.\n\t\t\t\t

\n\n\t\t\t\t

Menu 3

\n\t\t\t\t

\n\t\t\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon; formally 日本国 About this sound Nippon-koku or Nihon-koku, literally \"the State of Japan\") is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south. The characters that make up Japan's name mean \"sun-origin\", which is why the country is sometimes referred to as the \"Land of the Rising Sun\". Japan is an archipelago of 6,852 islands, the four largest being Honshu, Hokkaido, Kyushu and Shikoku. Together, these four islands hold about 97 percent of the country's land area. Japan has the world's tenth-largest population, with more than 126 million people. Honshū's Greater Tokyo Area includes the de facto capital city of Tokyo and several surrounding prefectures. It is the largest metropolitan area in the world, with more than 30 million residents.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\n\n\t
\n\n\t
\n\t
\n\t\t

Menu 1

\n\t\t

\n\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon;...\n\t\t

\n\n\t\t

Menu 2

\n\t\t

\n\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon;...\n\t\t

\n\n\t\t

Menu 3

\n\t\t

\n\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon;...\n\t\t

\n\t
\n
\n\n\t
document.querySelector('[data-spy=\"scroll\"]').scrollspy\n\toffset: 100
\n\n
\n\n\n\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
spy@el.getAttribute( 'data-spy' ) or 'scroll'\n\t\t\t\tSet spying type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or 'body'\n\t\t\t\tListen to event scroll of this element. All spying blocks are inside.\n\t\t\t
offset@el.getAttribute( 'data-offset' ) or 5\n\t\t\t\tVertical offset of the element in text to fire the activation (for example activate menu when the header will be 5px above the top of the screen).\n\t\t\t
elements@el.getAttribute( 'data-elements' ) or 'li a'\n\t\t\t\tSelector to spy those elements inside @ (spy, or menu in our case).\n\t\t\t
elementsAttr@el.getAttribute( 'data-elements-attr' ) or 'href'\n\t\t\t\tAttribute of each element with ID of the target.\n\t\t\t
onMobile@el.getAttribute( 'data-on-mobile' ) or no\n\t\t\t\tDeactivate spy on mobile devices.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
start\n\t\t\t\t

Activate spy.

\n\t\t\t
stop\n\t\t\t\t

Deativate spy.

\n\t\t\t
refresh\n\t\t\t\t

Refresh all menu items and positions of targets.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get menu element use @ or this in js. Class instance always stores in data attribute of the menu element @data['kitScrollspy'] or this.data['kitScrollspy'] in js. To get scrollspy element (menu) do @data['kitScrollspy'].el. To get scrollspy scroll block do @data['kitScrollspy'].target.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate the spy. If it returns deferred.promise(), then spy will not start till deferred.resolve(), and woun't start if deferred.reject().

\n\t\t\t\t

document.querySelector('.spy-this-menu').scrollspy\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The spy (menu) will be in the log\n\t\t# so you can, for example, add classes\n\t\t# to disable the spying menu\n\n\t\tconsole.log @data['kitScrollspy']\n\t\t# The instance of Scrollspy class will in log\n\t\t# so to get scrollspy element you need to do\n\t\tspy = @data['kitScrollspy']\n\t\tspy._addClass '_disabled_'\n\n\t\t# Do something here before activate scrollspy\n\t\t# in this case it will start in 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after spy started.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if starting failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before spy stopped.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after spy stopped.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stopping failed.

\n\t\t\t
\n\n\n
\n","popup":"
\n\t

Popup

\n\n\n\t
\n\t\t
\n\t\t\t

HTML Popup

\n\t\t\t

\n\t\t\t\tUse widgets -dropdown or -tooltip\n\t\t\t

\n\t\t\t

\n\t\t\t\tTo set animation to the dialog window add animation name: -fadein--, -fall--, -fliphorizontal--, -flopvertical--, -slidein--, -scalein--, -newspaper--.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

HTML Button

\n\t\t\t

\n\t\t\t\tAdd data attributes to any widget data-toggle=\"popup\" and data-target=\"#popup1\". The plugin will find such buttons automatically. In data-target you can set classes or ids.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

Coffescript

\n\t\t\t

Simple way:

\n\t\t\t

el.popup()

More complicated:

\n\t\t\t

el.popup\n\tbeforeactive: ->\n\t\t# Get popup class instance\n\t\tpopup = @data['kitPopup']\n\t\t# Set new content\n\t\tpopup.dialog.innerHTML = \"Set content here\"\n\n\tonactive: ->\n\t\t# Add active class to the button\n\t\t@_addClass '_active_'\n\n\tondeactive: ->\n\t\t# Remove active class to the button\n\t\t@_removeClass '_active_'

\n\t\t
\n\t
\n\n\n\n\t
\n\n\t
\n\t\tcorner\n\t\tdoor\n\t\tfadein\n\t\tfall\n\t\tfliphorizontal\n\t\tflipvertical\n\t\thugeinc\n\t\tnewspaper\n\t\tscale\n\t\tslidedown\n\t
\n\n\t
\n\t\tTop\n\t\tLeft\n\t\tRight\n\t\tBottom\n\t\tBottom right\n\t\tTop left\n\t
\n\n\n\t\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n...\n
\n\n
document.querySelector('.btn-popup-demo').popup\n\tbeforeactive: ->\n\t\tpopup = @data['kitPopup']\n\t\tpopup.dialog.innerHTML = \"Popup #{popup._id} with dynamic content
Random number #{Math.random()}\"\n\n\tonactive: ->\n\t\t@_addClass '_active_'\n\n\tondeactive: ->\n\t\t@_removeClass '_active_'\n\n\ndocument.querySelector('.btn-popup-demo-left').popup\n\tposition:\n\t\tvertical: 'middle'\n\t\thorizontal: 'left'\n\tbeforeactive: ->\n\t\tpopup = @data['kitPopup']\n\t\tpopup.dialog.innerHTML = \"Popup #{popup._id} with dynamic content
Random number #{Math.random()}\"\n\n\tonactive: ->\n\t\t@_addClass '_active_'\n\n\tondeactive: ->\n\t\t@_removeClass '_active_'\n\n...\n
\n\n\n
\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
target @el.getAttribute( 'data-target' ) or null\n\t\t\t\tFind element with this selector and work with it as a popup window.\n\t\t\t
toggle@el.getAttribute( 'data-toggle' ) or 'popup'\n\t\t\t\tSet toggle type.\n\t\t\t
dialog@el.getAttribute( 'data-dialog' ) or \".-content\"\n\t\t\t\tSelector to find dialog blog inside popup.\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to open popup.\n\t\t\t
eventClose@el.getAttribute( 'data-event-close' ) or \"click\"\n\t\t\t\tEvent for closer element to close popup. Closer element should be anywhere in the DOM with attribute data-dismiss=\"target-selector\".\n\t\t\t
autoOpen@el.getAttribute('data-autoopen') or no\n\t\t\t\tOpen popup after initialization.\n\t\t\t
position{\n\t\t\t\tvertical: @el.getAttribute( 'data-position-vertical' ) or 'top',\n\t\t\t\thorizontal: @el.getAttribute( 'data-position-horizontal' ) or 'center'\n\t\t\t}\n\t\t\t\tPopup position relative to the button.
\n\t\t\t\tvertical: 'top' / 'middle' / 'bottom'
\n\t\t\t\thorizontal: 'left' / 'center' / 'right'\n\t\t\t
offset\n\t\t\t\t\n\t\t\t\t\thorizontal: @el.getAttribute( 'data-offset-horizontal' ) or 0
\n\t\t\t\t\tvertical: @el.getAttribute( 'data-offset-vertical' ) or 0\n\t\t\t\t
\n\t\t\t
\n\t\t\t\tIn px. Offset relative to position.\n\t\t\t
closeUnfocus\n\t\t\t\t\n\t\t\t\t\t@el.getAttribute( 'data-close-unfocus' ) or no\n\t\t\t\t\n\t\t\t\n\t\t\t\tClose popup if click outside of it.\n\t\t\t
closeOnResize\n\t\t\t\t\n\t\t\t\t\t@el.getAttribute( 'data-close-resize' ) or yes\n\t\t\t\t\n\t\t\t\n\t\t\t\tClose popup when browser window resizing.\n\t\t\t
selfish\n\t\t\t\t\n\t\t\t\t\t@el.getAttribute( 'data-selfish' ) or yes\n\t\t\t\t\n\t\t\t\n\t\t\t\tClose all popups when opens this one.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
open\n\t\t\t\t

Open popup.

\n\t\t\t
close\n\t\t\t\t

Close popup.

\n\t\t\t
enable\n\t\t\t\t

Start listening to the events.

\n\t\t\t
disable\n\t\t\t\t

Stop listening to the events. Popup will stay in current status (opened or closed) and will not work anymore.

\n\t\t\t
setPosition\n\t\t\t\t

Refresh position of the popup relative to the button.

\n\t\t\t
\n\n\n

Events

\n\n
\n\tInside each method to get button use @ or this in js. Class instance always stores in data attribute of the button element @data['kitPopup'] or this.data['kitPopup'] in js. To get popup window element do @data['kitPopup'].target.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactiveundefined\n\t\t\t\t

Set a function to call it before popup opens. If it returns deferred.promise(), then popup will not open till deferred.resolve(), and woun't open if deferred.reject(). You can just get data with ajax for popup.

\n\t\t\t\t

document.querySelector('.btn-popup').popup\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The button element will be in the log\n\t\t# so you can add or remove classes easily\n\t\t# for example to disable button while getting data for popup window\n\n\t\tconsole.log @data['kitPopup']\n\t\t# The instance of Modal class will in log\n\t\t# so to get popup window element you need to do\n\t\tpopup = @data['kitPopup'].target\n\n\t\t# To get popup element do\n\t\tconsole.log popup.target\n\n\t\t# To get popup dialog element do\n\t\tconsole.log popup.dialog\n\n\t\t# Do something here before open window\n\t\t# in this case it will open popup window after 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after popup opens.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before popup closes.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after popup closes.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if deactivation failed.

\n\t\t\t
\n\n\n
\n\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n","modal":"
\n\t

Modal

\n\n\n\t
\n\t\t
\n\t\t\t

HTML Modal

\n\t\t\t

\n\t\t\t\tUse widget class -modal to add backdrop. Inside this backdrop add -holder to set dialog window in the center. Inside -holder add -dialog to create dialog window. Use -header, -content and -footer inside.\n\t\t\t

\n\t\t\t

\n\t\t\t\tTo set animation to the dialog window add animation name: -fadein--, -fall--, -fliphorizontal--, -flopvertical--, -slidein--, -scalein--, -newspaper--.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

HTML Button

\n\t\t\t

\n\t\t\t\tAdd data attributes to any widget data-toggle=\"modal\" and data-target=\"#modal1\". The plugin will find such buttons automatically. In data-target you can set classes or ids.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

Coffescript

\n\t\t\t

Simple way:

\n\t\t\t

el.modal()

More complicated:

\n\t\t\t

el.modal\n\ttarget: '.modal123'\n\ttoggle: 'modal'\n\tevent: 'click'\n\teventClose: 'click'\n\tbackdrop: yes

\n\t\t
\n\t
\n\n\n\n\n\t
\n\n\t\n\n\n\t\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

\n\t\t\t\t

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n
\n
doument.querySelector('.btn-modal-fast').modal()\ndoument.querySelector('.btn-modal123').modal\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\n\t\td.promise()\n
\n\n
\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
toggle@el.getAttribute( 'data-toggle' ) or 'modal'\n\t\t\t\tSet toggle type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or null\n\t\t\t\tFind element with this selector and work with it as a modal window.\n\t\t\t
dialog@el.getAttribute( 'data-dialog' ) or \".-dialog\"\n\t\t\t\tSelector to find dialog block inside target (modal window).\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to open modal window.\n\t\t\t
eventClose@el.getAttribute( 'data-event-close' ) or \"click\"\n\t\t\t\tThis event will be used to close window. Will listen on elements with data-dismiss=\".modal\" to close modal window with selector .modal.\n\t\t\t
backdrop@el.getAttribute('data-backdrop') or no\n\t\t\t\tClose modal window when clicked on the backdrop.\n\t\t\t
push@el.getAttribute('data-push') or no\n\t\t\t\tNOT TESTED. The selector of the container with WHOLE content, except modal window, to use push animation.\n\t\t\t
autoOpen@el.getAttribute('data-autoopen') or no\n\t\t\t\tOpen modal after initialize.\n\t\t\t
selfish@el.getAttribute('data-selfish') or yes\n\t\t\t\tClose all Modal instances after current instance initialized.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
open\n\t\t\t\t

Open modal window.

\n\t\t\t
close\n\t\t\t\t

Close modal window.

\n\t\t\t
enable\n\t\t\t\t

Start listening to the events.

\n\t\t\t
disable\n\t\t\t\t

Stop listening to the events. Modal window will stay in current status (opened or closed) and will not work anymore.

\n\t\t\t
\n\n\n\n

Events

\n
\n\tInside each method to get button use @ or this in js. Class instance always stores in data attribute of the button element @data['kitModal'] or this.data['kitModal'] in js. To get modal window element do @data['kitModal'].el.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before window opens. If it returns deferred.promise(), then modal window will not open till deferred.resolve(), and woun't open if deferred.reject(). You can just get data with ajax for modal window.

\n\t\t\t\t

modals = document.querySelectorAll(\"[data-toggle='modal']\")\nfor md in modals\n\tmd.modal\n\t\tbeforeopen: ->\n\t\t\td = $.Deferred()\n\n\t\t\tconsole.log @\n\t\t\t# The button will be in the log\n\t\t\t# so you can add something like\n\n\t\t\tconsole.log @data['kitModal']\n\t\t\t# The instance of Modal class will in log\n\t\t\t# so to get modal window element you need to do\n\t\t\tmodal = @data['kitModal']\n\t\t\t# From now you can access to the button by\n\t\t\tconsole.log modal.el\n\t\t\t# And to the modal window element by\n\t\t\tconsole.log modal.target\n\n\t\t\t# Do something here before open window\n\t\t\t# in this case it will open modal window after 2 seconds\n\t\t\tsetTimeout ->\n\t\t\t\td.resolve()\n\t\t\t, 2000\n\t\t\t# End of your code\n\n\t\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after modal window opens.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before modal window closes.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after modal window closes.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
\n\n\n\n\n

Animations

\n

\n\tUse widget different animations. Add classes to the -dialog.\n

\n
\n\n\t
\n\n\t\t\tFade in\n\t\t\tFlip horizontal\n\t\t\tFlip vertical\n\t\t\tNewspaper\n\t\t\tCorner\n\t\t\tDoor\n\t\t\tFall\n\t\t\tHugeinc\n\t
\n\n\n\t\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\t...\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\t...\n\t\t\t
\n\t\t
\n\t
\n
\n
\n\n
modals = doument.querySelectorAll('.btn-modal-fast')\nfor modal in modals\n\tmodal.modal()\n
\n\n
\n\n\n
\n\tFor the whole list of possible animations look at animations components.\n
\n\n\n\n
\n\n\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tOpen popup\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tFlip horizontal popup\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

\n\t\t\t\t

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n","button":"
\n\t

Button

\n\n\t
\n\n\t
\n\t\tButton 1\n\t\tButton 2\n\n\t\t
\n\n\t\t
\n\t\t\tRadio 1Radio 2\n\t\t
\n\n\t\t
\n\t\t\tCheckboxCheckbox\n\t\t
\n\t
\n\n\n\t
Button 1\nButton 2\n\n
\n\tRadio 1\n\tRadio 2\n
\n\n\n
\n\n
buttons = document.querySelectorAll(\"[data-toggle='button']\")\nfor btn in buttons\n\tbtn.button()\n
\n\n
\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\tCheckboxCheckbox\n\t\t
\n\t
\n\n\n\t
\n
\n\n
buttons = document.querySelectorAll(\"[data-toggle='button']\")\nfor btn in buttons\n\tbtn.button\n\t\tbeforeactive: ->\n\t\t\td = $.Deferred()\n\t\t\tbutton = @data['kitButton']\n\t\t\tbutton.el.innerHTML = 'Loading...'\n\t\t\tbutton._addClass '_disabled_'\n\t\t\tsetTimeout ->\n\t\t\t\td.resolve()\n\t\t\t,2000\n\t\t\td.promise()\n\n\t\tonactive: ->\n\t\t\tbutton = @data['kitButton']\n\t\t\tbutton.el._removeClass '_disabled_'\n\t\t\tbutton.el.innerHTML = 'Checked'\n\n\t\tondeactive: ->\n\t\t\tbutton = @data['kitButton']\n\t\t\tbutton.el.innerHTML = 'Checkbox'\n
\n\n
\n\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\tRadio 1Radio 2Radio 3\n\t\t
\n\t
\n\n\n\t
\n\tRadio 1\n\tRadio 2\n\tRadio 3\n
\n
\n\n
buttons = document.querySelectorAll(\".radio-with-before\")\nfor btn in buttons\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Loading...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,2000\n\t\td.promise()\n\n\tonactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Checked'\n\t\tbutton._removeClass '_disabled_'\n\n\tbeforedeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Unchecking...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,3000\n\t\td.promise()\n\n\tondeactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton._removeClass '_disabled_'\n\t\tbutton.el.innerHTML = 'Radio'\n
\n\n
\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
toggle@el.getAttribute( 'data-toggle' ) or 'button'\n\t\t\t\tSet toggle type of the element.\n\t\t\t
type@el.getAttribute( 'data-type' ) or 'button'\n\t\t\t\tbutton, radio, checkbox. Define button's behaviour. If radio, then will uncheck all buttons from it's group.\n\t\t\t
group@el.getAttribute( 'data-group' ) or no\n\t\t\t\tString. Uses for type: radio, just type any name for group of radiobuttons or checkboxes.\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to activate/deactivate button.\n\t\t\t
selfish@el.getAttribute( 'data-selfish' ) or no\n\t\t\t\tDeactivate all instances of Button when current instance activated.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
activate\n\t\t\t\t

Activate button.

\n\t\t\t
deactivate\n\t\t\t\t

Deactivate button.

\n\t\t\t
enable\n\t\t\t\t

Enable button, events will work.

\n\t\t\t
disable\n\t\t\t\t

Disable button, events will not work.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get button use @ or this in js. Class instance always stores in data attribute of the button element @data['kitButton'] or this.data['kitButton'] in js.\n
\n\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
EventDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate button. If it returns deferred.promise(), then button will not activate till deferred.resolve(), and woun't activate at all if deferred.reject(). You can just get data with ajax instead of using deferred.

\n\t\t\t\t

buttons = document.querySelectorAll(\".radio-with-before\")\nfor btn in buttons\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Loading...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,2000\n\t\td.promise()\n\n\tonactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Checked'\n\t\tbutton._removeClass '_disabled_'\n\n\tbeforedeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Unchecking...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,3000\n\t\td.promise()\n\n\tondeactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton._removeClass '_disabled_'\n\t\tbutton.el.innerHTML = 'Radio'\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after button activation.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before deactivate button.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after deactivate button.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if deactivation failed.

\n\t\t\t
\n\n\n\n
\n","affix":"
\n\t

Affix

\n\n\t

The subnavigation on the right is a live demo of the affix plugin.

\n\n\t
\n\t\tTo move your affix block inside some parent, just add position: relative to that parent.\n\t
\n\n\n\n\n\t
\n
document.querySelector(\"#affix-el\").affix({ offset: -25 })\n
\n\n
\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
spy@el.getAttribute('data-spy') or 'affix'\n\t\t\t\tSet type of spying\n\t\t\t
offset@el.getAttribute( 'data-offset' ) or 5\n\t\t\t\tIn px. Affix's block offset from top.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
start\n\t\t\t\t

Activate affix

\n\t\t\t
stop\n\t\t\t\t

Deativate affix

\n\t\t\t
\n\n\n

Events

\n\n
\n\tInside each event function of affix element use @ or this in js. Class instance always stores in data attribute of the affix element @data['kitAffix'] or this.data['kitAffix'] in js.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
EventDescription
beforeactive\n\t\t\t\t

Set a function to call it before start affix. If it returns deferred.promise(), then affix will not start till deferred.resolve(), and woun't start at all if deferred.reject(). You can just get data with ajax for your affix block.

\n\t\t\t\t

el.affix\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The affix DOM element will be in the log\n\n\t\tconsole.log @data['kitAffix']\n\t\t# The instance of Affix class will in log\n\n\t\t# Do something here before start affix\n\t\t# in this case it will start after 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after affix started.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if starting failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before affix stopped.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after affix stopped.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stopping failed.

\n\t\t\t
\n\n\n
\n"}},"tests":{"layout":"\n\nMain test layout\n\n\n\n
\n
\n
\n\n\n\n\n\nOpen modal\nOpen modal 2\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tOpen popup\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tFlip horizontal popup\n\t\t\t
\n\t\t
\n\t
\n
\n
\n
\n
\n
\n\n\n\n\nHeader\n\n
\n
\n\n

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n

\nOpen popup\n

\n

\nClose\n

\n
\n
\n
\n\n
\nFlip horizontal popup\n
\n
\n
\n
\n\n
\nOpen popup\n\n
\n\t\n\t
Set content here
\n
\n
\n\n
\nOpen popup\n\n
\n\n
Set content here
\n
\n
\n\n\n\n\n
\nSpy 1\n
\n
\nSpy 2\n
\n
\nSpy 3\n
\n
\nSpy 4\n
\n\n\n\n
\n\t
Content for tab 1
\n\t
Content for tab 2
\n\t
Content for tab 3
\n\t
Content for tab 4
\n
\n\n\n\n
\n
\n\n\n
\n
\n
\n
\n

Yosemite

\n

Time-lapse video project set in Yosemite National Park, 2014

\n\n
\n\"Life\"\n
The LIFE, Colin Delehanty\n
\n
\n
\n
\n
\n
\n
\n\n\n"},"examples":{"blog":"\n\n\n\n\n\n
\n\t
\n\t\t
\n\t\t\t\"Microscope\"\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Billionaires With Big Ideas Are Privatizing American Science

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\"WILLIAM\n\t\t\t\t\t\t\t
The New York Times, William Broad, March 15, 2014\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tLast April, President Obama assembled some of the nation’s most august scientific dignitaries in the East Room of the White House. Joking that his grades in physics made him a dubious candidate for “scientist in chief,” he spoke of using technological innovation “to grow our economy” and unveiled “the next great American project”: a $100 million initiative to probe the mysteries of the human brain.\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tAlong the way, he invoked the government’s leading role in a history of scientific glories, from putting a man on the moon to creating the Internet. The Brain initiative, as he described it, would be a continuation of that grand tradition, an ambitious rebuttal to deep cuts in federal financing for scientific research.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\t

“We can’t afford to miss these opportunities while the rest of the world races ahead,” Mr. Obama said. “We have to seize them. I don’t want the next job-creating discoveries to happen in China or India or Germany. I want them to happen right here.”

\n\t\t\t\t\t\tMr. Barak Obama\n\t\t\t\t\t
\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tAbsent from his narrative, though, was the back story, one that underscores a profound change taking place in the way science is paid for and practiced in America. In fact, the government initiative grew out of richly financed private research: A decade before, Paul G. Allen, a co-founder of Microsoft, had set up a brain science institute in Seattle, to which he donated $500 million, and Fred Kavli, a technology and real estate billionaire, had then established brain institutes at Yale, Columbia and the University of California. Scientists from those philanthropies, in turn, had helped devise the Obama administration’s plan.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Wendy Schmidt and her husband are advancing ocean studies.

\n\t\t\t\t\t\t

Béatrice de Géa for The NYT

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tAmerican science, long a source of national power and pride, is increasingly becoming a private enterprise.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tIn Washington, budget cuts have left the nation’s research complex reeling. Labs are closing. Scientists are being laid off. Projects are being put on the shelf, especially in the risky, freewheeling realm of basic research. Yet from Silicon Valley to Wall Street, science philanthropy is hot, as many of the richest Americans seek to reinvent themselves as patrons of social progress through science research.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThe result is a new calculus of influence and priorities that the scientific community views with a mix of gratitude and trepidation.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\t“For better or worse,” said Steven A. Edwards, a policy analyst at the American Association for the Advancement of Science, “the practice of science in the 21st century is becoming shaped less by national priorities or by peer-review groups and more by the particular preferences of individuals with huge amounts of money.”\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThey have mounted a private war on disease, with new protocols that break down walls between academia and industry to turn basic discoveries into effective treatments. They have rekindled traditions of scientific exploration by financing hunts for dinosaur bones and giant sea creatures. They are even beginning to challenge Washington in the costly game of big science, with innovative ships, undersea craft and giant telescopes — as well as the first private mission to deep space.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThe new philanthropists represent the breadth of American business, people like Michael R. Bloomberg, the former New York mayor (and founder of the media company that bears his name), James Simons (hedge funds) and David H. Koch (oil and chemicals), among hundreds of wealthy donors. Especially prominent, though, are some of the boldest-face names of the tech world, among them Bill Gates (Microsoft), Eric E. Schmidt (Google) and Lawrence J. Ellison (Oracle).\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThis is philanthropy in the age of the new economy — financed with its outsize riches, practiced according to its individualistic, entrepreneurial creed. The donors are impatient with the deliberate, and often politicized, pace of public science, they say, and willing to take risks that government cannot or simply will not consider.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tYet that personal setting of priorities is precisely what troubles some in the science establishment. Many of the patrons, they say, are ignoring basic research — the kind that investigates the riddles of nature and has produced centuries of breakthroughs, even whole industries — for a jumble of popular, feel-good fields like environmental studies and space exploration.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tAs the power of philanthropic science has grown, so has the pitch, and the edge, of the debate. Nature, a family of leading science journals, has published a number of wary editorials, one warning that while “we applaud and fully support the injection of more private money into science,” the financing could also “skew research” toward fields more trendy than central.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Photo by Ben Margot/Associated Press

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\"Sergey\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tSergey Brin
\n\t\t\t\t\tGoogle
\n\t\t\t\t\t$31.8 billion
\n\t\t\t\t\t

\n\t\t\t\t\t\tParkinson's disease, which his mother has and for which he bears a risky gene.\n\t\t\t\t\t

\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tThe first success came with cystic fibrosis, which arises when a faulty gene clogs the lungs and pancreas with a sticky mucus. People with cystic fibrosis suffer from coughing, fatigue, poor digestion and slow growth, and die relatively young.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tAround 2000, a surge of wealthy donors began making large contributions to the Cystic Fibrosis Foundation. Tom and Ginny Hughes of Greenwich, Conn., had two daughters with the disease, and gave millions of dollars. The family also posed in snapshots for the foundation’s “Milestones to a Cure” updates, and Mr. Hughes, a banker, helped the charity develop strategies to expand its fund-raising.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

A Focus on Disease

\n\t\t\t\t\t\t\t

If the map of the world of private science has yet to be drawn, one thing is clear: Much of the money is going into campaigns for a cure.

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\tThis private war on disease has resulted not only in significant advances in treatment, but also in what experts describe as a major breakthrough in how biomedical research is done. The method opens up blockages that have traditionally kept basic discoveries from being turned into effective treatments — especially for rare diseases that drug companies avoid for lack of potential profit.\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t“We think it’s potentially transformative,” said Maryann P. Feldman, a professor of public policy at the University of North Carolina at Chapel Hill who studies the approach.\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tYear after year, the foundation held galas, hikes, runs and golf tournaments, eventually raising more than a quarter-billion dollars. With great skill, it used the money to establish partnerships across industry and academia, smashing through the walls that typically form around research teams.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tBy early 2012, the financial surge produced the first treatment for an underlying cause of cystic fibrosis. The drug counters a gene mutation that accounts for 4 percent of the cases in the United States — about 1,200 people. The medication thinned the deadly mucus, lessening symptoms and drastically improving quality of life.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tMelanoma, the deadliest of skin cancers, also strikes and kills whites preferentially. Debra Black, wife of the financier Leon Black, survived a bad scare. Soon after, the couple teamed up with Michael R. Milken, the former junk-bond financier, whose charity FasterCures gives advice on how to accelerate research, to found the Melanoma Research Alliance. It quickly became the world’s largest private sponsor of melanoma research, awarding more than $50 million for work at Yale, Columbia and other universities.\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
\n\t\n\t
\n\t\t\n\t\t

Comments

\n\n\t\t
\n\t\t\t
\n\t\t\n\t\t\t\t
    \n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"soffes\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    Soffes  12
    \n\t\t\t\t\t\t\tYou know what else is \"arcane\", 140 characters.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"markgamzy\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    Markgamzy  165
    \n\t\t\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Teclaro\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    Teclaro  67
    \n\t\t\t\t\t\t\tIn my opinion (and as a UI and UX designer), this is a step in the right direction. Even when viewing those examples above, the context isn't hindered when @ isn't present and makes the conversation more legible.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Edwellbrook\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tSure they are thinking about removing @replies but the concept of replying will still exist. It's just the details of who you are replying to will be contained in metadata and not in the body of the tweet. This is good as it will free up more characters for the tweet. However I'm sure it will also lead to people being unsure of whether a tweet will be directed at one person or their whole timeline in the same way as people often mistakenly post a DM to their timeline.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Krystalfister\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\t\t\t\t
\n\n\t\t\t
\n\n\t\t
\n\n\t
\n\n
"},"upgradeBrowser":"
\n
\n
\n

Please, upgrade your browser!

\n
\n\tActually Maxmertkit partly supports ie 7.0 and 8.0, but I can't promise you that it will work well. So I decided to hide documentation for IE8 and previous versions. Hope for your understanding.\n
\n
\n
\n
\n","main":"
\n\t
\n\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\t\t
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

Maxmertkit made for all good people by {{author.name}}.

\n\t\t\t\t

\n\t\t\t\t\t twitter\n\t\t\t\t\t facebook\n\t\t\t\t\t github\n\t\t\t\t\t google+\n\t\t\t\t\t email\n\t\t\t\t

\n\t\t\t\t

Code licensed under MIT, documentation under CC BY 3.0.

\n\t\t\t\t
\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tver. {{version}}\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tgithub\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tissues\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\treleases\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tchangelog\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\told version\n\t\t\t\t\t\t
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n","error404":"
\n\t

\n\t\t404 The page is not found\n\t

\n
\n"} +exports.module = {"common":{"pages":{"index":{"series":{"widgets":{"thumbnail":"
\n\t
\n\t\t\n\t
\n\t
\n\t\t

Geisha Kyoto, Japan

\n\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓).

\n\t
\n
","tabs":"","spinnerWaves":"
\n\n\n\n\n\n\n
","spinnerSquare":"
","spinnerRing":"
","spinnerFb":"
\n\n\n\n
","progress":"
\n\t
12 %
\n
","pills":"","navbar":"
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t@
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
","menu":"","listGroup":"","label":"label","group":"
","dropdown":"
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Bottom\n\t
\n
","btn":"Button","badge":"badge","avatar":"\n\t
\"maxmert\"
@vmaxmert\n
","alert":"
\n\t\n\tHeads up! This alert needs your attention, but it's not super important.\n
"},"header":"
\n\t
\n\t\t

widget

\n\t\t
\n\t\t\t{{name}}\n\t\t
\n\t
\n\t
\n\t\t+\n\t
\n\t
\n\t\t

theme

\n\t\t
\n\t\t\t-{{theme}}-\n\t\t
\n\t
\n\t
\n\t\t+\n\t
\n\t
\n\t\t

size

\n\t\t
\n\t\t\t_{{size}}\n\t\t
\n\t
\n
","body":"{{{body}}}"},"layout":"
\n\t
\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t

Maxmertkit

\n\t\t\t\t
ver. {{version}}, builded {{buildDate}}
\n\t\t\t
\n\t\t
\n\t\t
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t

Fluid. Invisible. Invincible.

\n\t\t\t

\n\t\t\t\tMaxmertkit is the most customizable and easiest for usage framework you've ever seen.\n\t\t\t

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t

Package manager

\n\t\t\t

Run $ gulp and edit mkit.json, package manager will install and uninstall sizes and themes for widgets. It will reduce file size and retrofit maxmertkit for you.

\n\t\t
\n\t\t
\n\t\t\t

Preprocessor Sass

\n\t\t\t

All css build with Sass. Maxmertkit uses all powerfull features providing by Sass, such as lists and maps.

\n\t\t
\n\t\t
\n\t\t\t

Easy to remember

\n\t\t\t

Classes names convection (But you can change all prefixes and postfixes to all classes). -name for widgets, -name- for themes, _name for sizes, _name_ for modifiers, -name-- for animations.

\n\t\t
\n\t\t
\n\t\t\t

Easy to append and edit

\n\t\t\t

It's really easy to append and edit new themes, sizes, animations and widgets. Just go through how to section.

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t

No jQuery

\n\t\t\t

You don't need jQuery to use Maxmertkit javascript plugins. They are incredibly fast.

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Semantic

\n\t\t\t\t\t

Maxmertkit can be used with completely semantic markup. Write clean code without sacrificing any utility or convenience.

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Responsive

\n\t\t\t\t\t

Maxmertkit is responsive framework, and it permeates every aspect of the framework. Build for every device with ease.

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Readable

\n\t\t\t\t\t

Maxmertkit is written with humans in mind, and is easy to read even if you don’t know much code.

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Rapid prototyping

\n\t\t\t\t\t

Maxmertkit allows you to swiftly prototype your ideas so you can start testing sooner than later.

\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t\"Examples\"\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Examples

\n\t\t\t\t\t\t

Beautiful examples of using maxmertkit

\n\t\t\t\t\t\t

There are few of them, but I'll add some more soon.

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tblog\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t
\n
\n"},"social":{"github":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n"},"widgets":"
\n
\n
\n
\n

Widgets Components

\n

Maxmertkit widgets allow you to customize and make your project alive.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","utilities":"
\n
\n
\n
\n

Utilities Components

\n

Maxmertkit utilities make your development much easier.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","start":"
\n
\n
\n
\n

Philosophy Start

\n

All you need to know to start a new project with Maxmertkit.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","layout":"
\n
\n\n
\n
\n

Maxmertkit

\n
ver. {{version}}, builded {{buildDate}}
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n","components":"
\n
\n
\n
\n

Javascript Components

\n

Javascript plugins for Maxmertkit to make your project alive.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","changelog":"
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

Changelog

\n\t\t\t\t

All changelog you can observe on the github.

\n\t\t\t
\n\t\t\n\t\t\t
\n\t\t\t\t

Roadmap

\n\n\t\t\t\t
\n\t\t\t\t\tIf you want to share an idea of improvement, please create issue with tag feature.\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.5

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add js carousel component
  • \n\t\t\t\t\t\t
  • Add more examples
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.4

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add easier jquery support with native javascript plugins in maxmertkit
  • \n\t\t\t\t\t\t
  • Add slim progress bar
  • \n\t\t\t\t\t\t
  • Add example of the blog
  • \n\t\t\t\t\t\t
  • Add js wall component
  • \n\t\t\t\t\t\t
  • Add js skyline component
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.3

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add -avatar widget
  • \n\t\t\t\t\t\t
  • Add -comment widget
  • \n\t\t\t\t\t\t
  • Add dropdown -footer
  • \n\t\t\t\t\t\t
  • Add _round_ modifier to all buttons
  • \n\t\t\t\t\t\t
  • Add bordered a tag with underline
  • \n\t\t\t\t\t\t
  • Rename -btn-bordered to -btn-ghost
  • \n\t\t\t\t\t\t
  • Rename -spinner-circle to -spinner-ring
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.2

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • No jquery in maxmertkit
  • \n\t\t\t\t\t\t
  • Selenium tests support
  • \n\t\t\t\t\t\t
  • Add circle spinner
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.1

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add howto videos
  • \n\t\t\t\t\t\t
  • Add CDN
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n","basic":"
\n
\n
\n
\n

Basic Components

\n

Grid, typography, tables and forms. All you'll need to start a new project.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n"},"sidebar":{"menu":{"layout":"","item":"{{#menu}}{{menu}}{{/menu}}{{^menu}}{{name}}{{/menu}}\n{{#existIncludes}}\n\n{{/existIncludes}}\n"}},"header":{"social":{"twitter":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n","github":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n","facebook":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n"},"menu":{"mobile":"{{name}}\n","item":"{{name}}\n"}},"partials":"{{#value}}\n\t
\n\t\t{{{value}}}\n{{/value}}\n\n{{#includes}}\n\t{{#value}}\n\t\t
\n\t\t\t{{{value}}}\n\t\t
\n\t{{/value}}\n{{/includes}}\n\n{{#value}}\n\t
\n{{/value}}\n","menu":""},"kit":{"widgets":{"thumbnails":{"common":"

Thumbnails

\n\n

\n\t

Global variables

\n\t
$thumbnail-class: \"-thumbnail\" !global\n$thumbnail-image-background: #fff // When image is still loading this background will be shown
\n

\n\n\n\n

\n\tClass -thumbnail. Thumbnails are responsive ( width: 100% and height: auto ). Try to change screen size.\n

\n\n

\n\tAlso you can add shadows.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\n\n\t
\n\t\n
\n\n
\n\n\n\n

\n\tIf you want to add some inline thumbnails, use grid. It also responsize. Try to change screen size.\n

\n\n
\n\n\t
\n\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t

Geisha Kyoto, Japan

\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t

Geisha Kyoto, Japan

\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t

Geisha Kyoto, Japan

\n\t
\n\n
\n\n
\n","captions":"\n\n

Caption

\n\n\n\n

\n\t

Global variables

\n\t
$thumbnail-caption-class: #{$thumbnail-class}#{$caption-class}\n$thumbnail-caption-padding: $base-padding-vertical * 2\n$thumbnail-caption-font-size: 80%
\n

\n\n\n\n\n

\n\tAdd widget -thumbnail-caption to add caption to image. Don't forget about themes and sizes.\n

\n\n
\n\tUse semantic elements <figure> and <figcaption>!\n
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\t\t\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
\n\n\n\n\n\n\n\n

Caption position

\n\n

\n\tTo change it just add modifiers _left_ and _right_. Captions are responsive, try to change window width.\n

\n\n
Left and right captions are absolute positioned. So it looks great if there is nothing on left or right side of the thumbnail.
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\t\t\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
"},"spinners":{"waves":"

Waves spinner

\n\n\n\n

\n

Variables

\n
$spinner-waves-class: \"#{$spinner-class}-waves\"\n$spinner-waves-size: 30px\n$spinner-waves-deg: 25deg
\n

\n\n

Just add class -spinner-waves.

\n\n
You need to add -addon elements inside this spinner.
\nThe quantity is unlimited.\n
\n\n
\n\n
\n
\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n\n
\n\nWith spinner\n\n\n\n\n\n\n\n\n\n\n
\n\n\n
\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n\n
\n\nWith spinner\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n\n
\n
\n\n\n
\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n\n
\n\n
\n","square":"

Square spinner

\n\n\n\n

\n

Variables

\n
$spinner-square-class: \"#{$spinner-class}-square\"\n$spinner-square-size: 30px\n
\n

\n\n

Just add class -spinner-fb

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n","ring":"

Ring spinner

\n\n\n\n

\n

Variables

\n
$spinner-ring-class: \"#{$spinner-class}-ring\"\n$spinner-ring-size: 30px\n
\n

\n\n

Just add class -spinner-ring

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n","fb":"

Fb spinner

\n\n\n\n

\n

Variables

\n
$spinner-fb-class: \"#{$spinner-class}-fb\"\n$spinner-fb-size: 30px\n$spinner-fb-max-addons: 10
\n

\n\n

Just add class -spinner-fb.This is a fb-like spinner.

\n\nYou need to add -addon elements inside this spinner. The quantity is limited by sass variable $spinner-fb-max-addons.\n\n
\n\n
\n
\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n
\n \n \n \n \nWith spinner\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n
\n\n\n\n
\n\n
\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n
\n\nWith spinner\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n
\n
\n\n\n
\n\n\n\n
\n\n
\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n
\n\n
\n","common":"

Spinners

\n\n\n\n

\n

Global variables

\n
$spinner-class: \"-spinner\" !global
\n

\n\n

Spinner is an element shows that process is executing (any one, for example loading process)

\n\n
\nIf you want to position your spinner in the center of any relative element, add _responsive_ modifier to the spinner.\n
\n\n\n
\nIn some spinners you'll need to add -addon elements inside to add spinner blocks.\n
\n"},"shaders":{"common":"

Shaders

\n\n\n\n

\n

Global variables

\n
$shader-class: \"-shader\" !global\n$shader-z-index: 100 !global
\n

\n\n

Shader is a background element for any content, for example a modal window.

\n\n
\nHidden by default. Add modifier _active_ to show up.
\nDont't have any sizes.\n
\n\n\n
\nUse modifier _responsive_ to make shader position: fixed.
\nBy default shader is position: absolute\n
\n\n\n
\n\n
\nContent under shader.\n
\n
\n\n\n
Content under shader.\n
\n\n
\n\n\n

For example add loader.

\n\n\n
\n\n
\nContent under shader.\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
Content under shader.\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n

Add modifier _shaded_ to make shader transparent.

\n\n\n
\n\n
\nContent under shader.\n
\n
\n\n\n
Content under shader.\n
\n
\n
\n\n
\n"},"progress":{"slim":"\n\n\n

Slim

\n\n\n\n

\n\t

Global variables

\n\t
$progress-slim-class: \"-progress-slim\" !global\n$progress-slim-bar-class: \"-bar\" !global\n$progress-slim-bar-height: 7px\n$progress-slim-border-radius: 0px !global\n$progress-slim-border-width: 0px !global\n$progress-slim-border-style: solid !global
\n

\n\n\n\n

\n\tUse widget class -progress-slim. Apply themes and sizes. Append -bar inside -progress-slim.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n","common":"\n\n\n

Progress

\n\n\n\n

\n\t

Global variables

\n\t
$progress-class: \"-progress\" !global\n$progress-bar-class: \"-bar\" !global\n$progress-bar-padding-vertical: $base-padding-vertical / 3\n$progress-bar-padding-horizontal: $base-padding-horizontal / 1.5\n$progress-font-weight: 600 !global\n$progress-border-radius: 4px !global\n$progress-border-width: 0px !global\n$progress-border-style: solid !global\n$progress-padding: 3px !global\n$progress-background: #fff !global
\n

\n\n\n\n

\n\tUse widget class -progress. Apply themes and sizes. Append -bar inside -progress.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
12 %
25 %
Something goes wrong
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
12 %
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
progress with shadow 42 %
25 %
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
progress with shadow 42 %
\n\t\t
\n\t
\n\n\n\t
\n\t
12 %
\n\t
25 %
\n\t
Something goes wrong
\n
\n\n
\n\t
12 %
\n
\n
\n\n
\n"},"nav":{"tabs":"\n\n

Tabs

\n\n\n\n

\n\t

Global variables

\n\t
$nav-tabs-class: \"-tabs\" !global\n$nav-tabs-border-width: 1px !global\n$nav-tabs-items-padding-vertical: $base-padding-vertical\n$nav-tabs-items-padding-horizontal: $base-padding-horizontal\n$nav-tabs-items-border-radius: 3px
\n

\n\n\n\n\n

Basic use

\n

\n\tUse tabs class -tabs.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n
\n\n\n\n\n\n\n

\n\tApply theme classes to item element <li>.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n
\n\n\n\n\n\n

Vertical tabs

\n\n

\n\tUse modifier _vertical_ with modifiers _left_ and _right_. Combine tabs with grid.\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\tContent of the second tab.\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\tContent of the third tab.\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tContent of the second tab.\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tContent of the third tab.\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t\n\t
\n\t
\n\t\tContent of the second tab.\n\t
\n
\n\n
\n\t
\n\t\t\n\t
\n\t
\n\t\tContent of the third tab.\n\t
\n
\n\n
\n\t
\n\t\tContent of the second tab.\n\t
\n\t
\n\t\t\n\t
\n
\n\n
\n\t
\n\t\tContent of the third tab.\n\t
\n\t
\n\t\t\n\t
\n
\n","pills":"\n\n

Pills

\n\n\n\n

\n\t

Global variables

\n\t
$nav-pills-class: \"-pills\" !global\n$nav-pills-border-width: 1px !global\n$nav-pills-items-padding-vertical: $base-padding-vertical\n$nav-pills-items-padding-horizontal: $base-padding-horizontal\n$nav-pills-items-border-radius: 3px\n$nav-pills-items-margin-right: 1px
\n

\n\n

Basic use

\n

\n\tUse widget -pills.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n
\n\n
\n\n\n\n

\n\tApply theme classes to item element <li>.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n
\n\n
\n\n\n\n\n\n

Vertical pills

\n\n

\n\tUse modifier _vertical_.\n

\n\n
\n\t\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n","menu":"\n\n

Menu

\n\n\n\n

\n\t

Global variables

\n\t
$nav-menu-class: \"-menu\" !global\n$nav-menu-items-padding-vertical: $base-padding-vertical !global\n$nav-menu-items-padding-horizontal: $base-padding-horizontal !global\n$nav-menu-items-border-width: 1px !global\n$nav-menu-items-border-radius: 0px !global\n$nav-menu-items-margin: 1px !global
\n

\n\n\n\n\n

Basic use

\n

\n\tUse menu class -menu.\n

\n\n
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n\n

\n\tAdd themes.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n\n\n\n\n\n\n\n

Vertical menu

\n\n

\n\tTo make it vertical add modifier _vertical_.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n\n\n\n

Addon

\n

\n\tUse class -addon to add an additional information about this menu to the right.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t\n\n
\n\n\n\n\n\n\n

Add responsiveness

\n\n

\n\tTo make menu responsive just add modifier _responsive_. Try to change window size to see effect. It will become vertical on small devices. But you still need manually configurate submenus position. Read about that below.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t\n\n
\n\n\n\n\n\n\n

Add submenus

\n\n

\n\tTo add submenu just add widget -drop with -menu inside.\n

\n\n
\n\tTo change dropdown position use position modifiers _top_, _bottom_, _left_, _right_. For more information look dropdown section.\n
\n\n

Dropdown will be visible only if parent item is _active_. If you want to make it visible on :hover, add modifier _hovered_ to the root -menu.

\n\n
\n\n\t
\n\t\t
    \n\t\t\t
  • No hovered
  • \n\t\t\t
  • Menu 2
  • \n\t\t\t
  • \n\t\t\t\tMenu 3 \n\t\t\t\t
    \n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • Menu with long name ⌘M
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\tMenu 2 \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t\t\t
      • Menu 1
      • \n\t\t\t\t\t\t\t\t\t
      • Menu 2
      • \n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t\t\tMenu 3\n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • Menu 3
    • \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t
\n\t\t
\n\t\t
    \n\t\t\t
  • With hovered
  • \n\t\t\t
  • Menu 2
  • \n\t\t\t
  • \n\t\t\t\tMenu 3 \n\t\t\t\t
    \n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • Menu with long name ⌘M
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\tMenu 2 \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t\t\t
      • Menu 1
      • \n\t\t\t\t\t\t\t\t\t
      • Menu 2
      • \n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t\t\tMenu 3\n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • Menu 3
    • \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t
\n\t
\n\n\n\t
\n\n
\n\n
\n","list-group":"\n\n

List group

\n\n\n\n

\n\t

Global variables

\n\t
$nav-list-group-class: \"-list-group\" !global\n$nav-list-group-items-padding-vertical: $base-padding-vertical / 2 !global\n$nav-list-group-items-padding-horizontal: $base-padding-horizontal !global\n$nav-list-group-items-border-width: 1px !global\n$nav-list-group-items-active-border-width: 2px !global\n$nav-list-group-items-margin: 1px !global
\n

\n\n\n\n\n

Basic use

\n

\n\tUse class -list-group.\n

\n\n
\n\n\t
\n\t\t\n\n\t\t\n\t
\n\n\n\t
\n\n
\n","common":"

Nav

\n\n\n\n

\n\t

Global variables

\n\t
$nav-item: li !global

\n\n\n\n\n\n\n
\n\tUse modifier _responsive_ to make all navs responsive.
\n\tIt means when screen resolution become less then 992px, then all navs become justifyed.\n
\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n
\n\n
","bullets":"\n\n

Bullets

\n\n\n\n

\n\t

Global variables

\n\t
$nav-bullets-class: \"-bullets\" !global\n$nav-bullets-item: \"li\" !global\n$nav-bullets-item-size: 10px !global
\n

\n\n\n\n\n

Basic use

\n

\n\tUse class -bullets with <ul>. And <small> for sign.\n

\n\n
\n\n\t
\n\t\t\n\t
\n\n\t
\n\t\t\n\t
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n\n\n
\n\n
\n\n\n\n\n

\n\tIf you want to put your bullets inside some position: relative container, use modifier _fixed_ and position modifiers _left_, _center_, _right_ and _top_, _middle_, _bottom_.\n

\n\n
\n\tIf you want to make your bullets position: fixed (for example like a global navigation with parallax), you'll need to add this style by your own or add style=\"position: fixed;\" to bullets.\n
\n\n
\n\n\t
\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t
\n\n\n\t
\n\n\n\n\n\n
\n\n
\n","bar":"\n\n

Navbar

\n\n\n\n

\n\t

Global variables

\n\t
$nav-bar-class: \"-navbar\" !global\n$nav-bar-height: 50px !global\n$nav-bar-padding-horizontal: $base-padding-horizontal !global\n$nav-bar-border-width: 1px !global\n$nav-bar-style: solid !global\n$nav-bar-border-radius: 3px !global\n\n// It's only fo _top_ or _bottom_ navbars. Need to be over dropdowns.\n$nav-bar-z-index: $dropdown-z-index + 1\n\n$nav-bar-toggle-class: #{$nav-bar-class}-toggle
\n

\n\n\n\n\n

Basic use

\n

\n\tUse navbar class -navbar.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t@
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t@
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n
\n\n
\n\n\n\n\n\n\n

Grid and navbar

\n\n

\n\tAdd the grid inside the -navbar to allign elements. Add -header to the -navbar.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
Header
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n\n\n\n

Change themes

\n\n

\n\tIf you apply a theme to the -navbar, theme of every element inside will change.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t@
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t@
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n

Change size

\n\n

\n\tApply size to the -navbar to change sizes of the elements inside.\n

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t
\n
\n\n
\n\t...\n
\n\n
\n\t...\n
\n\n
\n\t...\n
\n\n
\n\n\n\n\n\n\n\n\n

Fixed navbar

\n

\n\tUse modifiers _top_ and _bottom_ to stick navbar to top or bottom.\n

\n
\n\tDo not forget to set padding to the navbar container. Padding should be equal or more then -navbar height.\n
\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n
\n\n
\n\n\n\n\n\n\n

Responsive navbar

\n

\n\tFirst of all read about responsive utilities. After you understand responsiveness, it will be easier to understand how to create responsive navbar.\n

\n\n
\n\tThere is no magic, but it's very simple! Trust me! Look at the comments in the code. With those classes you can hide menu even for not large desktops or just for phones. It's very flexible technique.\n
\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
Header here
\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\n\t\n\t
\n\t\t
Header here
\n\n\t\t\n\t\t\n\n\t
\n\n\t\n\t
\n\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\n\t
\n\n
>
\n\n
\n"},"groups":{"inputs":"\n\n\n

Inputs inside group

\n\n

\n\t

Add <input type=\"text\"> or -fields inside group.

\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
Button
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButtonButton\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton\n\t\t
\n\t\tButton\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton\n\t\t\n\t\tButton\n\t\t\n\t
\n
\n\n
\n\n\n\n\n

Use size classes Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with <-group> to set size.

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n
\n\n
\n\n\n\n\n

\n\tMake a group stretch at the same size to span the entire width of its parent. Use modifier _justify_.\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n\n

\n\t

Or add theme to the inner element.

\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton
\n\t
\n
\n\n
","common":"\n\n\n

Groups

\n\n

Group a series of buttons together on a single line with the button group. Use class -group to create it.

\n\n\n

\n\t

Global variables

\n\t
$group-class: \"-group\" !global\n\n$group-addon-class: $addon-class !global
\n

\n\n
\n\tUse modifier _responsive_ to make groups responsive.
\n\tIt means when screen resolution become less then 992px, then all groups become justifyed.\n
\n\n

Responsive

\n\n

Just make screen resolution less than 992px.

\n\n
\n\n\t
\n\t\t
\n\t\t\tnot responsive\n\t\t

\n\t\t
\n\t\t\tit is responsive\n\t\t
\n\t
\n\n\t
\n\tnot responsive\n\t\n\t\n\t\n

\n
\n\tresponsive\n\t\n\t\n\t\n
\n\n
\n","buttons":"\n\n\n

Buttons inside group

\n\n

\n\tAdd -btn buttons inside group.\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\n\t
\n\t\n\t\n\t\n\t\n
\n
\n\t\n\t\n\t\n
\n
\n\t\n
\n
\n\t\n
\n\n
\n\n\n\n\n

\n\tMake a group of buttons stretch at the same size to span the entire width of its parent. Use modifier _justify_.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t
\n\n\t\n\n
\n\n\n\n\n

\n\tCreate dropdowns (I don't use a JS in this example, this is just a view).\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\tDropdown \n\t\t
\n\t\t
\n\t\t\tDropdown\n\t\t

\n\t\t
\n\t\t\tLike\n\t\t
\n\t\t
\n\t\t\tYou liked it\n\t\t

\n\t\t
\n\t\t\tStar\n\t\t
\n\t\t
\n\t\t\tYou liked it\n\t\t
\n\t
\n\n\t
\n\tDropdown \n
\n
\n\tDropdown\n

\n
\n\tLike\n
\n
\n\n
","addons":"\n\n\n

Addons inside group

\n\n

\n\t

Add-addon inside group.

\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tAddonButton\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tAddonButton\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\tAddonButton\n\t
\n
\n
\n\t
\n\t\tAddonButton\n\t
\n
\n\n
\n\n\n\n\n\n

Combine!

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t@me@maxmert.com
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\t@\n\t\tme@maxmert.com\n\t\t\n\t\t
\n\t
\n
\n\n
"},"comments":{"common":"

Comments

\n\n\n\n

\n

Global variables

\n
$comments-class: \"-comments\" !global\n$comments-item-margin-bottom: 25px !global
\n

\n\n

Add -comments to the container. Use global class -item inside. Inside each -item add -content widget.

\n

Add -avatar inside -content blocks.

\n
Inside -items you can add blocks with modifier _hidden_. Those blocks will appear only when user hover the comment.
\n\n
\n\n
\n
    \n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"soffes\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Soffes  12
    \n\t\t\t\t\tYou know what else is \"arcane\", 140 characters.\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"markgamzy\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Markgamzy  165
    \n\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"Teclaro\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Teclaro  67
    \n\t\t\t\t\tIn my opinion (and as a UI and UX designer), this is a step in the right direction. Even when viewing those examples above, the context isn't hindered when @ isn't present and makes the conversation more legible.\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"Edwellbrook\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\tSure they are thinking about removing @replies but the concept of replying will still exist. It's just the details of who you are replying to will be contained in metadata and not in the body of the tweet. This is good as it will free up more characters for the tweet. However I'm sure it will also lead to people being unsure of whether a tweet will be directed at one person or their whole timeline in the same way as people often mistakenly post a DM to their timeline.\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"Krystalfister\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t
\n
\n\n\n
\n\n
\n\n"},"buttons":{"themes":"\n\n\n

Themes

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t
\n\n\n\t
\n\n\n\n
\n\n\n
\n\n\n\n

Disabled buttons

\n\n

\n\t

Use modifier _disabled_ or set attribute [disabled].

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n
\n\n\n
","states":"\n\n\n

Change states

\n\n

\n\t

Use modifiers _active_ and _hovered_ to change buttons states.

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\n\t
\n\n\n\t
\n\n\n\n\n\n\n
\n\n
","sizes":"\n\n\n

Sizes

\n\n

\n\t

Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with -btn to set button's size.

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n\n\n\n\n
\n\n
","ghost":"\n

Ghost buttons

\n\n\n\n\n\n

\n\t

Global variables

\n\t
$button-ghost-class: \"#{$button-class}-ghost\" !global\n$button-ghost-font-weight: 200 !global\n$button-ghost-min-font-size: 9px !global\n$button-ghost-border-radius: 3px !global\n$button-ghost-border-width: 3px !global
\n

\n\n\n\n\n

Use button class -btn-ghost to create great buttons.

\n\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success-, etc. with <button> or <input type=\"button\"> to set theme.

\n\n

\n\tAs always to use font-awesome icons you need to:\n\t

    \n\t\t
  • add <link href=\"//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css\" rel=\"stylesheet\"> to your <head> (but it's better to download and include it into you project);
  • \n\t\t
  • use class fa for icons;
  • \n\t\t
  • look at font-awesome page for documentation or use font-awesome cheatsheet.
  • \n\t
\n

\n\n\n\n\n\n\n\n

Button tags

\n

\n\tUse class -btn-ghost with <a>, <input> and <button>.\n

\n\n
\n\n\t
\n\t\t\n\t\t\n\t\tLink\n\t
\n\n\n\t
\n\nLink
\n\n
\n\n\n

Rounded

\n

Add _round_ modifier to round button

\n
\n\n\t
\n\t\t\n\t\t\n\t\tRound link\n\t
\n\n\n\t
\n\nRound link
\n\n
\n","common":"\n

Buttons

\n\n\n\n\n\n

\n\t

Global variables

\n\t
$button-class: \"-btn\" !global\n$button-font-weight: 200 !global\n$button-min-font-size: 9px !global\n$button-border-radius: 3px !global\n$button-border-width: 1px !global
\n

\n\n\n\n\n

Use button class -btn to create great buttons.

\n\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success-, etc. with <button> or <input type=\"button\"> to set theme.

\n\n

\n\tAs always to use font-awesome icons you need to:\n\t

    \n\t\t
  • add <link href=\"//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css\" rel=\"stylesheet\"> to your <head> (but it's better to download and include it into you project);
  • \n\t\t
  • use class fa for icons;
  • \n\t\t
  • look at font-awesome page for documentation or use font-awesome cheatsheet.
  • \n\t
\n

\n\n\n\n\n\n\n\n

Button tags

\n

\n\tUse class -btn with <a>, <input> and <button>.\n

\n\n
\n\n\t
\n\t\t\n\t\t\n\t\tLink\n\t
\n\n\n\t
\n\nLink
\n\n
\n\n\n

Rounded

\n

Add _round_ modifier to round button

\n
\n\n\t
\n\t\t\n\t\t\n\t\tRound link\n\t
\n\n\n\t
\n\nRound link
\n\n
\n","blocks":"\n\n\n

Block level buttons

\n\n

\n\t

Create block level buttons — those that span the full width of a parent — by adding _vertical_.

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\t
\n\n\n\n
\n\n
"},"avatars":{"common":"

Avatars

\n\n\n\n

\n

Global variables

\n
$avatar-class: \"-avatar\" !global\n$avatar-border-radius: 3px !global\n$avatar-border-width: 4px !global\n$avatar-border-style: solid !global\n$avatar-margin: 0.6em !global\n$avatar-size: 64px !global
\n

\n\n

Include -thumbnail widget inside -avatar.

\n\n
\n\tThe -thumbnail will be hidden on devices with resolution smaller than 768px.\n
\n\n\n\n

Add modifier _round_ to make avatar rounded.

\n\n\n\n\n

Sizes

\n\n\n\n\n\n\n

Bordered and themes

\n

Add modifier _bordered_.

\n\n\n\n\n\n

Position

\n

Add modifiers _top_ or _bottom_.

\n\n"},"layout":"
\n\n\t
\n\t\t
\n\t
\n\t
\n\t\t
\t\n\t
\n\n
","labels":"\n\n\n

Labels

\n\n\n\n

\n\t

Global variables

\n\t
$label-class: \"-label\" !global\n$label-font-weight: 300 !global\n$label-border-radius: 2px !global\n$label-border-width: 1px !global\n$label-border-style: solid !global\n$label-padding-vertical: $base-padding-vertical / 3\n$label-padding-horizontal: $base-padding-horizontal / 1.5
\n

\n\n\n\n

\n\tUse widget class -label. Apply themes and sizes.\n

\n
\n\tLabels won't self collapse in Internet Explorer 8 because it lacks support for the :empty selector.\n
\n
\n\n\t
\n\t\t

\n\t\t\tdefault\n\t\t\tprimary\n\t\t\terror\n\t\t\twarning\n\t\t

\n\t\t

\n\t\t\tnormal\n\t\t\tmajor\n\t\t\tbig\n\t\t\thuge\n\t\t\tdivine\n\t\t

\n\t
\n\n\n\t
default\nprimary\nerror\nwarning\n\nnormal\nmajor\nbig\nhuge\ndivine\n
\n\n
\n","dropdowns":"

Dropdowns

\n\n\n\n

\n\t

Global variables

\n\t
$dropdown-class: \"-drop\" !global\n$dropdown-z-index: 1000\n$dropdown-background-default: #fff\n$dropdown-border-default: #fff\n$dropdown-border-width: 0px\n$dropdown-border-style: solid\n$dropdown-border-radius: 3px\n$dropdown-arrow-size: 14px\n$dropdown-arrow-border-width: 1px\n$dropdown-content-padding-vertical: 15px\n$dropdown-content-padding-horizontal: 15px\n$dropdown-shadow: 0 3px 10px rgba(#000, .1)
\n

\n\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\tDrop without content block.
\n\t\t\tGreat with menus and other navigation stuff.\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\tDrop with content block.
\n\t\t\t\tGreat with text, information, pictures and other stuff.\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\tDrop without content block.
\n\tGreat with menus and other navigation stuff.\n
\n\n
\n\t
\n\t\tDrop with content block.
\n\t\tGreat with text, information, pictures and other stuff.\n\t
\n
\n\n
\n\n\n

Position of dropdowns. Arrows.

\n

\n\tTo set position of the dropdown relative to parent element use modifiers _top_, _bottom_, _left_ and _right_.\n

\n

\n\tUse arrow widget -arrow.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tTop\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tBottom\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tRight\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tLeft\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tTop\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tBottom\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tRight\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tLeft\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\n\t
\n\t\tTop\n\t
\n
\n\n
\n\t\n\t
\n\t\tBottom\n\t
\n
\n\n
\n\t\n\t
\n\t\tRight\n\t
\n
\n\n
\n\t\n\t
\n\t\tLeft\n\t
\n
\n\n
\n\t\n\t
\n\t\tTop\n\t
\n
\n\n
\n\t\n\t
\n\t\tBottom\n\t
\n
\n\n
\n\t\n\t
\n\t\tRight\n\t
\n
\n\n
\n\t\n\t
\n\t\tLeft\n\t
\n
\n\n
\n\n\n\n\n

Headers and contents.

\n

\n\tJust add widget -header to the drop. And add several -contents.\n

\n\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Top\n\t\t\t
\n\t\t\t
\n\t\t\t\tFooter\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Bottom\n\t\t\t
\n\t\t\t
\n\t\t\t\tFooter\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Right\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Left\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Top\n\t
\n\t
\n\t\tFooter\n\t
\n
\n\n
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Bottom\n\t
\n\t
\n\t\tFooter\n\t
\n
\n\n
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Right\n\t
\n
\n\n
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Left\n\t
\n
\n\n
\n","badges":"\n\n\n

Badges

\n\n\n\n

\n\t

Global variables

\n\t
$badge-class: \"-badge\" !global\n$badge-font-weight: 600 !global\n$badge-border-radius: 50px !global\n$badge-border-width: 0px !global\n$badge-border-style: solid !global\n$badge-padding-vertical: floor($base-padding-vertical / 4)\n$badge-padding-horizontal: floor($base-padding-horizontal / 2)
\n

\n\n\n\n

\n\tUse widget class -badge. Apply themes and sizes.\n

\n
\n\n\t
\n\t\t

\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t

\n\t\t

\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t

\n\t
\n\n\n\t
default\nprimary\nerror\nwarning\n\nnormal\nmajor\nbig\nhuge\ndivine\n
\n\n
\n\n\n

\n\tUse badges inside other widgets.\n

\n
\n\tBadges won't self collapse in Internet Explorer 8 because it lacks support for the :empty selector.\n
\n
\n\n\t
\n\t\tInbox 12\n\t\tInbox 12\n\t\tInbox 12\n\t\tEmpty badge is here \n\n\t\t
\n\n\t\t\n\n\t\t
\n\n\t\t\n\n\t\t
\n\n\t\t
\n\t\t\tInbox 12Sent 2Drafts \n\t\t
\n\t
\n\n\n\t\n\n
\n","alerts":"\n\n\n

Alerts

\n\n\n\n

\n\t

Global variables

\n\t
$alert-class: \"-alert\" !global\n$alert-border-radius: 3px !global\n$alert-border-width: 1px !global\n$alert-border-style: solid !global\n$alert-padding-vertical: $base-padding-vertical\n$alert-padding-horizontal: $base-padding-horizontal\n\t
\n

\n\n

\n\tUse widget class -alert. Apply themes and sizes. You can apply -shadow-...- to add shadow to the alert.\n

\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\tNothing important here.\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\tHeads up! This alert needs your attention, but it's not super important.\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\tOh snap! Change a few things up and try submitting again.\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\tWarning! Better check yourself, you're not looking too good.\n\t\t
\n\t
\n\n\n\t
\n\t\n\tNothing important here.\n
\n
\n\t\n\tHeads up! This alert needs your attention, but it's not super important.\n
\n
\n\t\n\tOh snap! Change a few things up and try submitting again.\n
\n
\n\t\n\tWarning! Better check yourself, you're not looking too good.\n
\n
\n\n
\n\n\n\n\n\n

\n\tApply themes and sizes.\n

\n
\n\n\t
\n\t\t
\n\t\t\tHeads up! This alert needs your attention, but it's not super important.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tWarning! Better check yourself, you're not looking too good.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tOh snap! Change a few things up and try submitting again.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tNothing important here.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tHeads up! This alert needs your attention, but it's not super important.\n\t\t
\n\t
\n\n\n\t
\n\tHeads up! This alert needs your attention, but it's not super important.\n
\n
...
\n
...
\n
...
\n
...
\n
\n\n
\n"},"start":{"structure":{"sources":"

Sources file structure

\n\n
    \n
  • maxmertkit/\n
      \n
    • mkit.json here you can change themes and sizes for every widget
    • \n
    • buildbuilded version of maxmertkit\n
        \n
      • css\n
          \n
        • \nmaxmertkit.css\n
        • \n
        • \nmaxmertkit.min-xxxxxxxx.css minified, gzipped and revved version to clear user cache.\n
        • \n
        • \nmaxmertkit.min.css minified and gzipped. Use revved version to prevent users using cached css.\n
        • \n
        \n
      • \n\n
      • js\n
          \n
        • \nmaxmertkit.js\n
        • \n
        • \nmaxmertkit.min-xxxxxxxx.js minified, gzipped and revved version to clear user cache.\n
        • \n
        • \nmaxmertkit.min.js minified and gzipped. Use revved version to prevent users using cached css.\n
        • \n
        \n
      • \n
      \n
    • \n\n
    • coffeeall maxmertkit coffee files\n
        \n
      • maxmertkit.coffee\nincludes all main helpers using in every plugin. Prototype for all plugins.\n
      • \n
      • affix.coffee
      • \n
      • button.coffee
      • \n
      • modal.coffee
      • \n
      • popup.coffee
      • \n
      • scrollspy.coffee
      • \n
      • tabs.coffee
      • \n
      \n
    • \n\n
    • sassall maxmertkit sass files\n
        \n
      • \nanimationsall animations for all widgets stores here\n
          \n
        • \npushesonly animations for pushes (not using right not)\n
        • \n
        • \n...\n
        • \n
        \n
      • \n
      • \ncommonglobal variables, reset, init, modifiers list, mixins and utilities stores here\n
      • \n
      • \nsizesusable sizes, remeber that you need to include sizes for each widget separatelly\n
      • \n
      • \nthemesusable themes, remeber that you need to include themes for each widget separatelly\n
      • \n
      • \nwidgetsall widgets are here\n
          \n
        • \n_widget-name.sass import files from folder widget-name; there may be different types or parts of widget widget-name.\n
        • \n
        • \nwidget-nametypes or parts of widget widget-name\n
        • \n
        • \n...\n
        • \n
        \n
      • \n
      • \nmain.sass the only compiling file; imports all maxmertkit stuff\n
      • \n
      \n
    • \n\n
    • \njs\n
        \n
      • \nmaxmertkit.js not minified maxmertkit js plugins\n
      • \n
      • \nbower\n
      • \n
      \n
    • \n\n
    • \ncss\n
        \n
      • \nmain.css not minified css of the maxmertkit\n
      • \n
      \n
    • \n\n
    • docs\n
        \n
      • coffeedocumentation app\n
          \n
        • ...
        • \n
        • contents.coffee\nmain menu and application contents\n
        • \n
        \n
      • \n\n
      • cssmaxmertkit and developer css
      • \n
      • imgimages needed for docs
      • \n
      • jsall js for documentation\n
          \n
        • bower\nbower libraries for documentation.\n
        • \n
        • libs\nnot bowered libraries for documentation.\n
        • \n
        • app.js main app.
        • \n
        • maxmertkit.js
        • \n
        • templates.js all compiled templates for docs.
        • \n
        • ...
        • \n
        \n
      • \n\n
      • sassdeveloper sass, only for docs.
      • \n
      • serverserver app on nodejs for docs.
      • \n
      • templatestemplates for docs\n
          \n
        • commonbase templates for application
        • \n
        • kitall documentation templates are here; if you want to fix text errors in docs, contribute and fix them here
        • \n
        • 404.html
        • \n
        • main.html
        • \n
        \n
      • \n
      \n
    • \n\n
    • \ntest\n
    • \n\n
    • \ntodo.md all todos trough all maxmertkit js files\n
    • \n
    \n
  • \n
\n","common":"

Structure

\n\n

There are two downloadable form of maxmertkit: build and sources. In each case you'll have different file structure.

\n\n
\nNote that Maxmertkit javascript plugins DON'T require jQuery from version 1.0.2 (see changelog).\n
\nTo compile maxmertkit.sass you'll need a Bourbon and Neat. Just use bower to install it (see instructions below).\n
\n","build":"

Prebuilded file structure

\n\n

Everything is very easy here. Just include min files to your project.

\n\n
    \n
  • maxmertkit/\n
      \n
    • css/\n
        \n
      • maxmertkit.css
      • \n
      • maxmertkit.min.css gzipped builded version of maxmertkit, includes all themes and all sizes for each widget.
      • \n
      \n
    • \n
    • js/\n
        \n
      • maxmertkit.js concatenated maxmertkit plugins.
      • \n
      • maxmertkit.min.js minified and gzipped.
      • \n
      \n
    • \n
    \n
  • \n
\n"},"howto":{"themeManage":"

Add and manage themes

\n\n

\n\t\n

\n\n

\n\tFirst you need to run $ gulp. Read about this in how to build section.\n

\n\n

\n\tTo edit themes just do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/themes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tOpen theme file.\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $theme variable.\n\t\t
  6. \n\t
\n

\n\n\n

\n\tTo add a new themes do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/themes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tDublicate any theme file (or use this gist — maxmertkitTheme). Remember that filename should begin with underscore (_).\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $theme variable.\n\t\t
  6. \n\t\t
  7. \n\t\t\tInclude theme file in sass/main.sass\n\t\t
  8. \n\t\t
  9. \n\t\t\tAdd theme to widgets in mkit.json\n\t\t
  10. \n\t
\n

\n","sizeManage":"

Add and manage sizes

\n\n

\n\t\n

\n\n

\n\tFirst you need to run $ gulp. Read about this in how to build section.\n

\n\n

\n\tTo edit sizes just do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/sizes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tOpen size file.\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $size variable.\n\t\t
  6. \n\t
\n

\n\n\n

\n\tTo add a new sizes do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/sizes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tDublicate any size file (or use this gist — maxmertkitSize). Remember that filename should begin with underscore (_).\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $size variable.\n\t\t
  6. \n\t\t
  7. \n\t\t\tInclude size file in sass/main.sass\n\t\t
  8. \n\t\t
  9. \n\t\t\tAdd size to widgets in mkit.json\n\t\t
  10. \n\t
\n

\n","install":"

Install

\n

You can do it in several ways. Go to section download.

","editPrefixes":"

Change name convention

\n\n

\nMaybe you don't want to use prefixes and postfixes to class names of maxmertkit. For example instead of -btn use w-btn or jsut btn.\n

\n\n

\nTo do that edit file sass/common/_convention.sass. You will find prefixes and postfixes for all maxmertkit elements there.\n

\n\n

\nFor example to use for widgets prefix w-, just add\n

\n\n
\n\n
\n
$pref-widget: \"w-\"\n$post-widget: \"\"
\n\n
\n","common":"

Howto?

\n\n

Here I'll tell you how to do different things. Please, add new issue with label question and I'll add answers here.

","build":"

Build

\n\n

\n\t\n

\n\n

\n\t

    \n\t\t
  • Download sources.
  • \n\t\t
  • In terminal do:\n\t\t\t
      \n\t\t\t\t
    1. go to you sources folder;
    2. \n\t\t\t\t
    3. run npm install;
    4. \n\t\t\t\t
    5. run bower install;
    6. \n\t\t\t\t
    7. go to docs folder with command cd docs;
    8. \n\t\t\t\t
    9. run bower install;
    10. \n\t\t\t\t
    11. go back to your sources folder by typing cd ..;
    12. \n\t\t\t\t
    13. run gulp.
    14. \n\t\t\t
    \n\t\t
  • \n\t\t
  • In you browser go to http://127.0.0.1:3333/
  • \n\t
\n\n\tIf you want to buld minified sources, in substep 7 run gulp build.\n

\n"},"download":"
\n

Download

\n\n

There are several ways to download and use maxmertkit. The recommended one is to download all sources and build framework that suites only you. It will be easier, lighter and faster than any framework.


\n\n
\n
\n

Get build \n\n\n\n\n\n\n\n

\n

\nCompiled and minified CSS and JS, nothing more. Build includes all themes and all sizes for every widget in maxmertkit. It pretty heavy.\n

\n
\n
\n

Get sources \n\n\n\n\n\n\n\n

\n

\nIncludes all docs and all sources. Also includes build. See instructions how to use and compile below. Require some easiest installations. After that you'll have this site on your desktop.\n

\n
\n
\n
\n\n\n\n
\n

CDN

\n\n

Please, use CDN links to just include maxmertkit to your projects.

\n\n
<!-- Latest compiled and minified CSS -->\n<link rel=\"stylesheet\" href=\"//cdn.jsdelivr.net/maxmertkit/{{version}}/css/maxmertkit.css\">\n\n<!-- Latest compiled and minified JavaScript -->\n<script src=\"//cdn.jsdelivr.net/maxmertkit/{{version}}/js/maxmertkit.js\"></script>
\n
\n\n\n\n\n
\n

Bower

\n\n

Install and manage with Bower

\n\n
$ bower install maxmertkit
\n
\n","difference":"

Difference

\n\n

\n\t\n\t\tThere are some basic differences with other frameworks.\n\t\n

\n\n
    \n
  1. \n\tAuto build themes and sizes. Just edit mkit.json to add or remove theme or size to any widget.\n
  2. \n
  3. \nModularity. Exclude any sass widget from maxmertkit and everything will work well.\n
  4. \n\n
  5. Namespaces.\n\t
      \n\t\t\t
    • -widget — widget, for example -btn
    • \n\t\t\t
    • -theme- — theme, for example -primary-
    • \n\t\t\t
    • _size — size, for example _major
    • \n\t\t\t
    • _modifier_ — modifier, for example _active_
    • \n\t\t\t
    • -animation-- — animation, for example -fadein--
    • \n\t\t
    \n\t\t
    \n\t\t

    From now you really can say what happen below

    \n\t\t\n\t\t
    \n
  6. \n
\n"},"basic":{"typography":{"rtl":"

RTL (right to left) support

\n\n

\nThere is a RTL support in maxmertkit. Just use dir=\"rtl\" with block elements.\n

\n\n
\nFor more information go to css-tricks.\n
\n\n
\n\n
\n
\nThis text will go right to left.\n
\n
\n\n\n
\n
\nThis text will go right to left.\n
\n\n
\n\n\n\n

\nTo use inside inline elements use tag bdo:\n

\n
\n\n
\n

This text will go right to left.

\n
\n\n\n

This text will go right to left.

\n\n
\n","lists":"\n\n\n

Lists

\n\n\n

\n\t

Global variables:

\n\t
$list-item-inline-padding: 5px
\n

\n\n\n\n

Unordered

\n

A list of items in which the order does not explicitly matter.

\n
\n\t
\n\t\t
    \n\t\t
  • Lorem ipsum dolor sit amet
  • \n\t\t
  • Consectetur adipiscing elit
  • \n\t\t
  • Integer molestie lorem at massa
  • \n\t\t
  • Facilisis in pretium nisl aliquet
  • \n\t\t
  • Nulla volutpat aliquam velit\n\t\t\t
      \n\t\t\t\t
    • Phasellus iaculis neque
    • \n\t\t\t\t
    • Purus sodales ultricies
    • \n\t\t\t\t
    • Vestibulum laoreet porttitor sem
    • \n\t\t\t\t
    • Vestibulum laoreet porttitor sem\n\t\t\t\t\t
        \n\t\t\t\t\t\t
      • Phasellus iaculis neque
      • \n\t\t\t\t\t\t
      • Purus sodales ultricies
      • \n\t\t\t\t\t\t
      • Vestibulum laoreet porttitor sem
      • \n\t\t\t\t\t\t
      • Ac tristique libero volutpat at
      • \n\t\t\t\t\t
      \n\t\t\t\t
    • \n\t\t\t\t
    • Ac tristique libero volutpat at
    • \n\t\t\t
    \n\t\t
  • \n\t\t
  • Faucibus porta lacus fringilla vel
  • \n\t\t
  • Aenean sit amet erat nunc
  • \n\t\t
  • Eget porttitor lorem
  • \n\t\t
\n\t
\n\t
    \n
  • ...
  • \n
  • ...\n\t
      \n\t\t
    • ...
    • \n\t
    \n
  • \n
\n
\n\n\n

Ordered

\n

A list of items in which the order does explicitly matter.

\n
\n\t
\n\t\t
    \n\t\t\t
  1. Lorem ipsum dolor sit amet
  2. \n\t\t\t
  3. Consectetur adipiscing elit
  4. \n\t\t\t
  5. Integer molestie lorem at massa
  6. \n\t\t\t
  7. Facilisis in pretium nisl aliquet
  8. \n\t\t\t
  9. Nulla volutpat aliquam velit\n\t\t\t\t
      \n\t\t\t\t\t
    1. Phasellus iaculis neque
    2. \n\t\t\t\t\t
    3. Purus sodales ultricies
    4. \n\t\t\t\t\t
    5. Vestibulum laoreet porttitor sem
    6. \n\t\t\t\t\t
    7. Vestibulum laoreet porttitor sem\n\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t
      • Phasellus iaculis neque
      • \n\t\t\t\t\t\t\t
      • Purus sodales ultricies
      • \n\t\t\t\t\t\t\t
      • Vestibulum laoreet porttitor sem
      • \n\t\t\t\t\t\t\t
      • Ac tristique libero volutpat at
      • \n\t\t\t\t\t\t
      \n\t\t\t\t\t
    8. \n\t\t\t\t\t
    9. Ac tristique libero volutpat at
    10. \n\t\t\t\t
    \n\t\t\t
  10. \n\t\t\t
  11. Faucibus porta lacus fringilla vel
  12. \n\t\t\t
  13. Aenean sit amet erat nunc
  14. \n\t\t\t
  15. Eget porttitor lorem
  16. \n\t\t
\n\t
\n\t
    \n
  1. ...
  2. \n
  3. ...\n\t
      \n\t\t
    1. ...
    2. \n\t
    \n
  4. \n
\n
\n\n\n\n\n

Unstyled

\n

Use modifier class _unstyled_ to remove the default list-style and left margin on list items (immediate children only). This only applies to immediate children list items, meaning you will need to add the class for any nested lists as well.

\n
\n\t
\n\t\t
    \n\t\t\t
  1. Lorem ipsum dolor sit amet
  2. \n\t\t\t
  3. Consectetur adipiscing elit
  4. \n\t\t\t
  5. Integer molestie lorem at massa
  6. \n\t\t\t
  7. Facilisis in pretium nisl aliquet
  8. \n\t\t\t
  9. Nulla volutpat aliquam velit\n\t\t\t\t
      \n\t\t\t\t\t
    1. Phasellus iaculis neque
    2. \n\t\t\t\t\t
    3. Purus sodales ultricies
    4. \n\t\t\t\t\t
    5. Vestibulum laoreet porttitor sem
    6. \n\t\t\t\t\t
    7. Vestibulum laoreet porttitor sem\n\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t
      • Phasellus iaculis neque
      • \n\t\t\t\t\t\t\t
      • Purus sodales ultricies
      • \n\t\t\t\t\t\t\t
      • Vestibulum laoreet porttitor sem
      • \n\t\t\t\t\t\t\t
      • Ac tristique libero volutpat at
      • \n\t\t\t\t\t\t
      \n\t\t\t\t\t
    8. \n\t\t\t\t\t
    9. Ac tristique libero volutpat at
    10. \n\t\t\t\t
    \n\t\t\t
  10. \n\t\t\t
  11. Faucibus porta lacus fringilla vel
  12. \n\t\t\t
  13. Aenean sit amet erat nunc
  14. \n\t\t\t
  15. Eget porttitor lorem
  16. \n\t\t
\n\t
\n\t
    \n
  1. ...
  2. \n
  3. ...\n\t
      \n\t\t
    1. ...
    2. \n\t
    \n
  4. \n
\n
\n\n\n\n

Horizontal

\n

Use modifier class _horizontal_ to place all list items on a single line with display: inline-block and some light padding.

\n
\n\t
\n\t\t
    \n\t\t\t
  1. Lorem
  2. \n\t\t\t
  3. Consectetur
  4. \n\t\t\t
  5. Integer
  6. \n\t\t\t
  7. Facilisis
  8. \n\t\t\t
  9. Nulla
  10. \n\t\t\t
  11. Faucibus
  12. \n\t\t\t
  13. Aenean
  14. \n\t\t\t
  15. Eget
  16. \n\t\t
\n\t
\n\t
    \n\t
  1. Lorem
  2. \n\t
  3. Consectetur
  4. \n\t
  5. Integer
  6. \n\t
  7. Facilisis
  8. \n\t
  9. Nulla
  10. \n\t
  11. Faucibus
  12. \n\t
  13. Aenean
  14. \n\t
  15. Eget
  16. \n
\n
\n\n\n\n\n\n\n\n\n

Description

\n

A list of terms with their associated descriptions.

\n
\n\t
\n\t\t
\n\t\t\t
Description lists
\n\t\t\t
A description list is perfect for defining terms.
\n\t\t
\n\t\t
\n\t\t\t
Description lists
\n\t\t\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t\t\t
Donec id elit non mi porta gravida at eget metus.
\n\t\t
\n\t
\n\t
\n\t
Description lists
\n\t
A description list is perfect for defining terms.
\n
\n
\n\t
Description lists
\n\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t
Donec id elit non mi porta gravida at eget metus.
\n
\n
\n\n\n

Horizontal

\n

Use modifier class _horizontal_to make terms and descriptions in<dl> line up side-by-side. Responsive.

\n
\n\t
\n\t\t
\n\t\t\t
Description lists
\n\t\t\t
A description list is perfect for defining terms.
\n\t\t
\n\t\t
\n\t\t\t
Description lists with very-very-very long title
\n\t\t\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t\t\t
Donec id elit non mi porta gravida at eget metus.
\n\t\t
\n\t
\n\t
\n\t
Description lists
\n\t
A description list is perfect for defining terms.
\n
\n\t
\n\t
Description lists with very-very-very long title
\n\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t
Donec id elit non mi porta gravida at eget metus.
\n
\n
\n","links":"\n\n\n

Links

\n

Add beautiful underline to your links. Use .-link-hang

\n\n
\n\t\n\t

\n\t\t

Global variables:

\n\t\t
$typo-link-hang-class: \"-link-hang\" !global\n\t$typo-link-hang-underline-height: 1px !global
\n\t

\n\n\t

\n\t\t

Important! If you use -link-hang with tag <a>, the color of tag will not be changed. You'll need to change it manually. I did it to not to break user's css.
\n\t

\n\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tHang Link is here\n\t\t\t
\n\t\t\t
\n\t\t\t\tWith tag <a> you'll need to change text color of the link manually:\n\t\t\t\t

Hang Link is here

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
Hang Link is here
\n\t\t\t
\n\t
\n
\n\n
\n\t

In block and inline tags

\n\n\t

Put -link-hang inside elements b, i, small, p and span. The styles will aply to the inner -link-hang automatically.

\n\n\t
\n\t\t
\n\t\t\tThere is Hang Link inside this span.
\n\t\t\t

Info big paragraph with Hang Link inside.

\n\t\t\tWarning small tag with Hang Link inside \n\t\t
\n\t\t
\n\t\t\t
There is Hang Link inside this span
\n

Info big paragraph with Hang Link inside.

\nWarning small tag with Hang Link inside
\n\t
\n
\n\n\n
\n\t

Problems

\n\t

\n\t\tWhen you change the background, you can see the artifacts.\n\t

\n\n\t
\n\t\t
\n\t\t\tThere is Hang Link inside this span.
\n\t\t
\n\t
\n\n\t

To fix that, add text-shadow: .1em 0 0 color-here, -.1em 0 0 color-here to your -link-hang in the block with background.

\n\t
\n\t\t
\n\t\t\tThere is Hang Link inside this span.
\n\t\t
\n\t\t
\n\t\t\t
\n\tThere is Hang Link inside this span.\n
\n\t
\n
","headings":"\n\n\n

Headings

\n

Specifies heading. Use h# or class .-h#(# - number 1..6)

\n\n\n

\n\t

Global variables:

\n\t
$headings-class: \"-h\"\n\n$headings-h1-font-size: floor($base-font-size * 2.6) !global\n$headings-h2-font-size: floor($base-font-size * 2.15) !global\n$headings-h3-font-size: floor($base-font-size * 1.7) !global\n$headings-h4-font-size: floor($base-font-size * 1.25) !global\n$headings-h5-font-size: $base-font-size !global\n$headings-h6-font-size: floor($base-font-size * 0.85) !global\n\n$headings-line-height: 1.1 !global\n\n$headings-font-weight: 500 !global\n$headings-font-weight-small: 500 !global\n$headings-font-family: inherit !global\n$headings-color: inherit !global\n$headings-injection-color: #999 !global
\n

\n\n\n\n
\n\t
\n\t\t
\n\t\t\t

Heading 1

\n\t\t\t

Heading 2

\n\t\t\t

Heading 3

\n\t\t\t

Heading 4

\n\t\t\t
Heading 5
\n\t\t\t
Heading 6
\n\t\t
\n\t\t
\n\t\t\t
Heading 1
\n\t\t\t
Heading 2
\n\t\t\t
Heading 3
\n\t\t\t
Heading 4
\n\t\t\t
Heading 5
\n\t\t\t
Heading 6
\n\t\t
\n\t
\n\t
\n\t\t

Heading 1

\n

Heading 2

\n

Heading 3

\n

Heading 4

\n
Heading 5
\n
Heading 6
\n\t\t
Heading 1
\n
Heading 2
\n
Heading 3
\n
Heading 4
\n
Heading 5
\n
Heading 6
\n
\n\n\n\n\n

Injections inside headings

\nUse size classes
\n_tiny,\n_small,\n_minor,\n_normal,\n_major,\n_normal,\n_big,\n_huge,\n_divine\n
\n\t
\n\t\t
\n\t\t\t

Heading 4 small injection

\n\t\t\t

Heading 4 minor injection

\n\t\t\t

Heading 4 normal injection

\n\t\t\t

Heading 4 no class injection

\n\t\t\t

Heading 4 major injection

\n\t\t\t

Heading 4 big injection

\n\t\t\t

Heading 4 huge injection

\n\t\t\t

Heading 4 divine injection

\n\t\t
\n\t\t
\n\t\t\t

Heading 1 small injection

\n\t\t\t

Heading 1 normal injection

\n\t\t\t

Heading 1 major injection

\n\t\t\t

Heading 1 huge injection

\n\t\t
\n\t
\n\t
\n\t\t

Heading 4 tiny injection

\n

Heading 4 small injection

\n

Heading 4 minor injection

\n

Heading 4 normal injection

\n

Heading 4 no class injection

\n

Heading 4 major injection

\n

Heading 4 big injection

\n

Heading 4 huge injection

\n

Heading 4 divine injection

\n\t\t

Heading 1 tiny injection

\n

Heading 1 normal injection

\n

Heading 1 major injection

\n

Heading 1 huge injection

\n
\n","common":"
\n\t

Typography

\n
\n","code":"\n\n\n

Code

\n\n\n

\n\t

Global variables:

\n\t
$code-border: 0px solid rgba(0,0,0,.05)\n$code-color: #c7254e\n$code-background: #f9f2f4\n$code-font-size: 90%\n$code-padding: 1px 4px\n$code-border-radius: 2px\n\n$pre-bg: #f5f5f5\n$pre-color: #777\n$pre-border-color: #ccc\n$pre-border-radius: 3px
\n

\n\n\n

Inline

\n

Wrap inline snippets of code with <code>.

\n
\n\n\n\t
\n\t\tFor example, <section> should be wrapped as inline.\n\t
\n\n\n\t
For example, <section> should be wrapped as inline.
\n\n
\n\n\n

Block

\n

Use <pre> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.

\n
\n\n\n\t
\n\t\t
<p>Sample text here...</p>
\n\t
\n\n\n\t
<p>Sample text here...</p>
\n\n
\n","body":"\n\n\n

Body

\n

All common tags.

\n\n\n

\n\t

Global variables:

\n\t
$body-b-font-weight: 700 !global\n$body-i-font-style: italic !global\n$body-small-font-size: 85% !global\n\n$abbr-initialism-class: \"-initialism\" !global\n\n$blockquote-small-font-size: 80% !global
\n

\n\n\n

Bold

\n

For emphasizing a snippet of text with a heavier font-weight.

\n
\n\t
\n\t\tThis is bold text
\n\t\tThis is bold text\n\t
\n\t
\n\t\t
This is bold text\nThis is bold text
\n\t
\n
\n\n

Italic

\n

For emphasizing a snippet of text with italics.

\n
\n\t
\n\t\tThis is italic text
\n\t\tThis is italic text\n\t
\n\t
\n\t\t
This is italic text\nThis is italic text
\n\t
\n
\n\n

Small

\n

For de-emphasizing inline or blocks of text, use the <small> tag to set text at 85% the size of the parent. Heading elements receive their own font-size for nested <small> elements.

\n
\n\t
\n\t\tNormal and small text
\n\t
\n\t
Normal and small text
\n
\n\n\n

Sizes with inline elements

\n

\n\tUse size classes\n\t_tiny,\n\t_small,\n\t_minor,\n\t_normal,\n\t_major,\n\t_normal,\n\t_big,\n\t_huge,\n\t_divine\n\twith inline elements to set size.\n

\n
\n\t
\n\t\tNormal text with _major text, and here is _big italic text, and _huge bold\n\t
\n\t
Normal text with _major text, and here is _big italic text, and _huge bold
\n
\n\n\n

Themes with inline elements

\n

\n\tUse theme classes (you can include any theme, so themes class names can be different)\n\t-primary-,\n\t-error-,\n\t-success-\n\n\twith inline elements to set theme.\n

\n
\n\t
\n\t\tNormal text with -primary- text, i -error- text, b -success- text\n\t
\n\t
Normal text with -primary- text, i -error- text, b -success- text
\n
\n\n\n

Modifiers with inline elements

\n

\n\tUse modifier classes _left_, _center_, _right_, _justify_ with inline elements to realign text.\n

\n
\n\t
\n\t\t

left

\n\t\t

center

\n\t\t

right

\n\t\t

Justify is in this block! Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

\n\t
\n\t

left

\n

center

\n

right

\n

Justify is in this block! ...

\n
\n\n\n\n\n\n\n\n\n

Abbreviation

\nAbbreviations with a title attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover. If you use initialism, use -initialism class.\n
\n\t
\n\t\tattr, HTML\n\t
\n\t
attr, HTML
\n
\n\n\n

Address

\nAbbreviations with a title attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover. If you use initialism, use -initialism class.\n
\n\t
\n\t\t
\n\t\t\tTwitter, Inc.
\n\t\t\t795 Folsom Ave, Suite 600
\n\t\t\tSan Francisco, CA 94107
\n\t\t\tP: (123) 456-7890\n\t\t
\n\t\t
\n\t\t\tFull Name
\n\t\t\tfirst.last@example.com\n\t\t
\n\t
\n\t
\n\tTwitter, Inc.
\n\t795 Folsom Ave, Suite 600
\n\tSan Francisco, CA 94107
\n\tP: (123) 456-7890\n
\n
\n\tFull Name
\n\tfirst.last@example.com\n
\n
\n\n\n

Blockquote

\n

Style and content changes for simple variations on a standard <blockquote>.

\n

Use modifier classes _left_ and _right_ to realign blockquote.

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- with blockquotes to set theme.

\n
\n\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t
\n\t
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n"},"tables":{"striped":"\n\n\n

Striped

\n

Use modifier class _striped_ to add zebra-striping to any table row within the <tbody>.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n\n\n\n

Combine modifier and themes classes.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n","rows":"\n\n\n

Rows

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- with .-table to set theme to <tr>.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n\t\n\n\t\n\t\n\n\t\n\t\n\n\t\n\n
\n\n\n
\n","hovered":"\n\n\n

Hovered

\n

Use modifier class _hovered_ to add highlight to hovered table row within the <tbody>.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n\n\n\n

Combine modifier and themes classes.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n","common":"

Tables

\n\n

\n\t

Global variables

\n\t
$table-class: \"-table\" !global\n$table-cell-padding: 8px !global
\n

\n","cells":"\n\n\n

Cells

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- to set theme to <td>.

\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\n\n
\n","basic":"\n\n\n

Basic usage

\n\n

Use class -row. Designates the element as a row of columns in the grid layout.

\n\n
\n\tFor mobile add modifier _responsive_. This will set for table font-size: 0.9em. And don't forget to hide minor cells on mobile with maxmertkit responsive utilities.\n
\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\n\n
\n\n\n\n\n

Horizontal border

\n

Use modifier class _horizontal_ to add horizontal dividers.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n\n\n\n\n

Vertical border

\n

Use modifier class _vertical_ to add vertical dividers.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n\n\n\n\n\n

Combine modifiers

\n

Combine modifiers _vertical_ and _horizontal_ to add inside dividers.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n\n\n\n\n\n\n

Bordered

\n

Use modifier class _bordered_ for borders on all sides of the table and cells.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n\n\n\n\n

Use themes

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- with .-table to set theme.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n"},"grid":{"row":"\n\n\n

Row

\n\n\n

\n\t

Global variables

\n\t
$row-class: -row !global
\n
\n

\n\n

Use class -row. Designates the element as a row of columns in the grid layout.

\n\n
\n\n\t
\n\t\t
\n\t\t\tThis is first row.\n\t\t
\n\t\t
\n\t\t\tThis is second row.\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t
\n\t\tThis is first row.\n\t
\n\t
\n\t\tThis is second row.\n\t
\n
\n\n
\n\n\n\n
\n\tUse modifier _justify_ to prevent mobile view of the grid.\n
\n\n
\n\n\t
\n\t\t
\n\t\t\t
Keep grid structure in mobile
\n\t\t\t
Keep grid structure in mobile
\n\t\t\t
Keep grid structure in mobile
\n\t\t
\n\t\t
\n\t\t\t
Don't keep grid structure in mobile
\n\t\t\t
Don't keep grid structure in mobile
\n\t\t\t
Don't keep grid structure in mobile
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t
Keep grid structure in mobile
\n\t
Keep grid structure in mobile
\n\t
Keep grid structure in mobile
\n
\n
\n\t
Don't keep grid structure in mobile
\n\t
Don't keep grid structure in mobile
\n\t
Don't keep grid structure in mobile
\n
\n\n
\n","container":"\n\n\n

Container

\n

\n\tGlobal variables\n\t

$container-class: -container !global
\n

\n

Use class -container to move block to the center in the viewport, clear its floats, and set its max-width.

\n
\n\t
\n\t\t
...
\n\t
\n
\n\n\n
\n\tUse modifier _fixed_ to cancel responsiveness.\n
\n\n
\n\t
\n\t\t
...width is always 992px...
\n\t
\n
\n","common":"
\n\t

Grid

\n
\n","columns":"\n\n\n

Columns

\n\n\n

\n\tGlobal variables\n\t

$column-class: -col !global\n$column-quantity: 12 !global\n$offset-class: -offset !global
\n

\n\n

Use class .-col#(# - number 1..$column-quantity). Specifies columns of the grid.

\n
\n\n\t
\n\t\t
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t
\n\n\t\t
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t
\n\n\t\t
\n\t\t\t
-col3
\n\t\t\t
-col3
\n\t\t\t
-col3
\n\t\t\t
-col3
\n\t\t
\n\n\t\t
\n\t\t\t
-col4
\n\t\t\t
-col4
\n\t\t\t
-col4
\n\t\t
\n\n\t\t
\n\t\t\t
-col5
\n\t\t\t
-col2
\n\t\t\t
-col5
\n\t\t
\n\n\t\t
\n\t\t\t
-col6
\n\t\t\t
-col6
\n\t\t
\n\n\t\t
\n\t\t\t
-col8
\n\t\t\t
-col4
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n
\n\n
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n
\n\n
\n\t
-col3
\n\t
-col3
\n\t
-col3
\n\t
-col3
\n
\n\n
\n\t
-col4
\n\t
-col4
\n\t
-col4
\n
\n\n
\n\t
-col5
\n\t
-col2
\n\t
-col5
\n
\n\n
\n\t
-col6
\n\t
-col6
\n
\n\n
\n\t
-col8
\n\t
-col4
\n
\n\n
\n
\n\n\n

Order

\n
\n\tYou can change order of the columns on different devices. Look at Utilities order.\n
\n\n\n\n

Offsets

\n

Use class .-offset#. These classes increase the left margin of a column by # columns.

\n
\n\t
\n\t\t
\n\t\t\t
-col2
\n\t\t\t
-col2 -offset2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t
\n\t\t
\n\t\t\t
-col6 -offset6
\n\t\t
\n\t\t
\n\t\t\t
-col6 -offset3
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t
-col2
\n\t
-col2 -offset2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n
\n
\n\t
-col6 -offset6
\n
\n
\n\t
-col6 -offset3
\n
\n
\n\n
\n"},"forms":{"grid":"\n\n\n

Build form grid

\n\n\n

\n\t

Global variables

\n\t
$form-input-font-family: inherit !global\n$form-input-border-radius: 0 !global\n$form-label-cursor: pointer !global\n$form-label-font-weight: 200 !global\n\n$form-column-margin-bottom: 4px !global
\n

\n\n\n

Dont't forget to use for=\"#id-input-name\" with <label>, it isn't necessary, but it's a good practice.

\n\n

\n\tCreating a form is designed to be easy and flexible. Forms are built with a combination of standard form elements, as well as the Grid (-row and -col#). Form elements in Foundation are styled based on their type attribute rather than a class, and can be sized in a couple of ways:\n\t

    \n\t\t
  • You can size inputs using column sizes -col#
  • \n\t\t
  • You can create row elements inside your form and use columns for the form, including inputs, labels and more. Rows inside a form inherit some special padding to even up input spacing.
  • \n\t
\n\tTo understand how to use Grid, please look at grid section.\n

\n\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n\n\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n\n\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success-, etc. with <input> to set theme.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n

Use size classes Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with <input> to set size.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n","fieldset":"\n\n\n

Fieldset

\n\n\n

\n\t

Global variables

\n\t
$form-fieldset-border: 1px solid rgba(0,0,0,.2) !global\n$form-fieldset-padding-vertical: $base-line-height-comp !global\n$form-fieldset-padding-horizontal: $base-line-height-comp !global\n$form-legend-padding: 7px !global
\n

\n\n\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\tFieldset Legend\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\tFieldset Legend\n\n\t\t\n\t\t\n\t
\n
\n\n\n
\n","fields":"\n\n\n

Fields

\n\n\n

\n\t

Global variables

\n\t
$form-field-class: \"-field\"\n$form-field-border-width: 3px\n$form-field-border-radius: 3px
\n

\n\n\n\n\n

What is filed? Field is an element with class -field and <input> inside. It doesn't has new functions, just looks prettier.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n\n

Use size classes Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with <input> to set size.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n","common":"
\n\t

Forms

\n
\n"}},"utilities":{"responsive":"

Responsive utilities

\n\n\n

\n\tFor faster mobile-friendly development, use these utility classes for showing and hiding content by device via media query. Also included are utility classes for toggling content when printed.\n

\n\n

\n\tTry to use these on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation. Responsive utilities are currently only available for block and table toggling. Use with inline and table elements is currently not supported.\n

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
mobiletabletsdesktopslarge desktops
._visible-phones_visiblehiddenhiddenhidden
._visible-tablets_hiddenvisiblehiddenhidden
._visible-desktops_hiddenhiddenvisiblehidden
._visible-large-desktops_hiddenhiddenhiddenvisible
._hidden-phones_hiddenvisiblevisiblevisible
._hidden-tablets_visiblehiddenvisiblevisible
._hidden-desktops_visiblevisiblehiddenvisible
._hidden-large-desktops_visiblevisiblevisiblehidden
\n\n\n

Test responsive

\n\n
\n\t
Visible on phones
Hidden on phones
\n\t
Visible on tablets
Hidden on tablets
\n\t
Visible on desktops
Hidden on desktops
\n\t
Visible on large
Hidden on large
\n
\n
\n
\n\t
Hidden on phones
Visible on phones
\n\t
Hidden on tablets
Visible on tablets
\n\t
Hidden on desktops
Visible on desktops
\n\t
Hidden on large desktops
Visible on large
\n
\n
\n
\n\t
Visible on all desktops
Hidden on phones and tablets
\n\t
Visible on desktops
Hidden on desktops
\n\t
Hidden on large desktops
Visible on large
\n
\n","order":"

Changing order

\n\n\n

\n\tIf you want to change order of any floating elements ( for example grid ), use this modifiers.\n

\n\n

\n\tIn this example columns will swap while you resizing window or use mobile browser.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
right on big
\n\t\t\t
center
\n\t\t\t
left on big
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
right on big
\n\t
center
\n\t
left on big
\n
\n\t
\n\n
\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t
right on big
\n\t\t\t
left on big
\n\t\t\t
center
\n\t\t\t
center 2
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
right on big
\n\t
left on big
\n\t
center
\n\t
center 2
\n
\n\t
\n\n
\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t
Menu
\n\t\t\t
Main content
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
Menu
\n\t
Main content
\n
\n\t
\n\n
\n"},"components":{"wall":"\t

Wall

\n\n\n\t
\n\t\t

Make a parallax effect with image or video background

\n\t
\n\n\n\t
\n\n\t
\n\t\tLook at the example. Walls with video and image backgrounds code below.\n\t
\n\n\n\t
walls = document.querySelectorAll(\"[data-kind='wall']\")\nfor wl in walls\n\twl.wall()
\n\n\t
\n\t
\n\t\t\n\t\t\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Yosemite

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
The LIFE, Colin Delehanty\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n\t
\n\t
\n\t\t\n\t\t
\n\t\t\t\"\"\n\t\t
\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Yosemite

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
The LIFE, Colin Delehanty\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n
You can add a content after <header>
\n\n
\n\n\t
\n\t\tLook at the example. Walls with video and image backgrounds code below.\n\t
\n\n\n\t
\n\t
\n\t\t\n\t\t
\n\t\t\t\"\"\n\t\t
\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Yosemite

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
The LIFE, Colin Delehanty\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t\n\t\t
\n\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tA lot of content here.\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n\n\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
kind@el.getAttribute( 'data-kind' ) or 'wall'\n\t\t\t\tSet walling type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or '.-thumbnail'\n\t\t\t\tString. Selector for the scrolling background element. For example <figure> or <video> or #video-id.\n\t\t\t
header@el.getAttribute( 'data-header' ) or '.-header'\n\t\t\t\tString. Selector for the header inside wall.\n\t\t\t
headerFade@el.getAttribute( 'data-fade' ) or yes\n\t\t\t\tBoolean. Hide header while scrolling out.\n\t\t\t
speed@el.getAttribute( 'data-speed' ) or 0.7\n\t\t\t\tNumber between 0 and 1. 1 – background element stands, 0 – element scrolls as usual.\n\t\t\t
zoom@el.getAttribute( 'data-zoom' ) or no\n\t\t\t\tBoolean. Zoom background element while scrolling.\n\t\t\t
height@el.getAttribute( 'data-height' ) or '100%'\n\t\t\t\tString or Number. Height of the wall. Inside should be measures like % or px. If number than it will use px.\n\t\t\t
onMobile@el.getAttribute( 'data-on-mobile' ) or no\n\t\t\t\tDeactivate wall on mobile devices.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
start\n\t\t\t\t

Activate wall.

\n\t\t\t
stop\n\t\t\t\t

Deativate wall.

\n\t\t\t
refresh\n\t\t\t\t

Refresh all positions and sizes.

\n\t\t\t
destroy\n\t\t\t\t

Destroy current instance.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get wall element use @ or this in js. Class instance always stores in data attribute of the wall element @data['kitWall'] or this.data['kitWall'] in js. To get wall element do @data['kitWall'].el. To get wall background element do @data['kitWall'].target.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate the wall. If it returns deferred.promise(), then wall will not start till deferred.resolve(), and woun't start if deferred.reject().

\n\t\t\t\t

document.querySelector('.wall').wall\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The wall will be in the log\n\t\t# so you can, for example, add classes\n\t\t# to disable the wall\n\n\t\tconsole.log @data['kitWall']\n\t\t# The instance of Wall class will in log\n\t\t# so to get wall element you need to do\n\t\twall = @data['kitWall']\n\t\twall._addClass 'some-class'\n\n\t\t# Do something here before activate wall\n\t\t# in this case it will start in 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after wall started.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if starting failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before wall stopped.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after wall stopped.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stopping failed.

\n\t\t\t
\n\n\n
\n","tabs":"
\n\t

Tabs

\n\n\n\t
\n\t\tTabs buttons and tabs content may be anywhere in the dom, you don't need to collect them in one dom element. It is an analog of button plugin with data-type=\"radio\".\n\t
\n\n\n\t
\n\n\t
\n\t\t\n\t\t
\n\t\t\t
Content for tab 1
\n\t\t\t
Content for tab 2
\n\t\t\t
Content for tab 3
\n\t\t\t
Content for tab 4
\n\t\t
\n\t
\n\n\n\t
\n
\n\t
Content for tab 1
\n\t
Content for tab 2
\n\t
Content for tab 3
\n\t
Content for tab 4
\n
\n
\n\n
tabs = document.querySelectorAll(\"[data-toggle='tabs']\")\nfor tab in tabs\n\ttab.tabs()\n
\n\n
\n\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
toggle@el.getAttribute( 'data-toggle' ) or 'tabs'\n\t\t\t\tSet toggle type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or null\n\t\t\t\tSelector to find the content of that tab button.\n\t\t\t
group@el.getAttribute( 'data-group' ) or null\n\t\t\t\tName of the tabs group. Uses to deactivate other tabs in the group, when one tab was activated.\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to activate/deactivate button.\n\t\t\t
initial@el.getAttribute( 'data-initial' ) or 0\n\t\t\t\tNumber of the tab to activate after initialization.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
activate\n\t\t\t\t

Activate button.

\n\t\t\t
deactivate\n\t\t\t\t

Deactivate button.

\n\t\t\t
enable\n\t\t\t\t

Enable button, events will work.

\n\t\t\t
disable\n\t\t\t\t

Disable button, events will not work.

\n\t\t\t
\n\n\n

Events

\n
\n\tInside each method to get tab use @ or this in js. Class instance always stores in data attribute of the tab element @data['kitTabs'] or this.data['kitTabs'] in js.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate tab. If it returns deferred.promise(), then tab will not activate till deferred.resolve(), and woun't activate at all if deferred.reject(). You can just get data with ajax instead of using deferred.

\n\t\t\t\t

tabs = document.querySelectorAll('.tabs-selector')\nfor tab in tabs\n\ttab.tabs\n\t\tbeforeactive: ->\n\t\t\td = $.Deferred()\n\n\t\t\ttab = @data['kitTabs']\n\t\t\ttab.el.querySelector('a').innerHTML = 'Loading...'\n\t\t\ttab._addClass '_disabled_'\n\n\t\t\tsetTimeout ->\n\t\t\t\td.resolve()\n\t\t\t,2000\n\t\t\td.promise()\n\n\t\tonactive: ->\n\t\t\ttab = @data['kitTabs']\n\t\t\ttab._removeClass '_disabled_'\n\t\t\ttab.el.querySelector('a').innerHTML = 'Active tab'\n\n\t\tondeactive: ->\n\t\t\ttab = @data['kitTabs']\n\t\t\ttab.el.querySelector('a').innerHTML = 'Tab'\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after tab activation.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before deactivate tab.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after deactivate tab.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if deactivation failed.

\n\t\t\t
\n\n\n\n\n
\n","skyline":"\t

Skyline

\n\n\n\t
\n\t\t

When the skyline element is in visible part of the document, starts animation to show it.

\n\n\t\t
Don't forget to add animation classes to your skyline elements.
\n\t
\n\n\n\t
\n\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n...
\n\n
skylines = document.querySelectorAll(\"[data-spy='skyline']\")\nfor sky in skylines\n\tsky.skyline\n\t\tdelay: ->\n\t\t\t2000 * Math.random()\n
\n\n
\n\n\n

Let's change animation to -newspaper--.

\n\n\n
\n\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n...
\n\n
skylines = document.querySelectorAll(\"[data-spy='skyline']\")\nfor sky in skylines\n\tsky.skyline\n\t\tdelay: ->\n\t\t\t2000 * Math.random()\n
\n\n
\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
spy@el.getAttribute( 'data-spy' ) or 'skyline'\n\t\t\t\tSet toggle type of the element.\n\t\t\t
offset@el.getAttribute( 'data-offset' ) or 5\n\t\t\t\tNumber. Vertical offset to start showing scrollspy elements before or after they are visible.\n\t\t\t
delay@el.getAttribute( 'data-delay' ) or 300\n\t\t\t\tNumber or Function, returning number. Delay before showing.\n\t\t\t
once@el.getAttribute( 'data-once' ) or no\n\t\t\t\tBoolean, show just once and don't hide element anymore.\n\t\t\t
onMobile@el.getAttribute( 'data-on-mobile' ) or no\n\t\t\t\tStop Skyline plugin on mobile devices.\n\t\t\t
\n\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
activate\n\t\t\t\t

Activate current skyline element.

\n\t\t\t
deactivate\n\t\t\t\t

Deactivate current skyline element.

\n\t\t\t
start\n\t\t\t\t

Start listening scroll events.

\n\t\t\t
stop\n\t\t\t\t

Stop listening scroll effects.

\n\t\t\t
refresh\n\t\t\t\t

Refresh sizes and position of the skyline element.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get skyline use @ or this in js. Class instance always stores in data attribute of the skyline element @data['kitSkyline'] or this.data['kitSkyline'] in js.\n
\n\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
EventDescription
beforeactive\n\t\t\t\t

Set a function to call it before start skyline. If it returns deferred.promise(), then skyline will not start till deferred.resolve(), and woun't start at all if deferred.reject(). You can just get data with ajax instead of using deferred.

\n\t\t\t\t

skylines = document.querySelectorAll(\".radio-with-before\")\nfor btn in skylines\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,2000\n\t\td.promise()\n\n\tonactive: ->\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._removeClass '_disabled_'\n\n\tbeforedeactive: ->\n\t\td = $.Deferred()\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,3000\n\t\td.promise()\n\n\tondeactive: ->\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._removeClass '_disabled_'\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after skyline start.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if start failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before stop skyline.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after stop skyline.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stop failed.

\n\t\t\t
\n","scrollspy":"
\n\t

Scrollspy

\n\n\n\t
\n\t\t
\n\n\t\t
\n\t\t
\n\n\t\t
\n\t\t
\n\n\t\t
\n\t
\n\n\n\n\t
\n\n\t
\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

Menu 1

\n\t\t\t\t

\n\t\t\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon; formally 日本国 About this sound Nippon-koku or Nihon-koku, literally \"the State of Japan\") is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south. The characters that make up Japan's name mean \"sun-origin\", which is why the country is sometimes referred to as the \"Land of the Rising Sun\". Japan is an archipelago of 6,852 islands, the four largest being Honshu, Hokkaido, Kyushu and Shikoku. Together, these four islands hold about 97 percent of the country's land area. Japan has the world's tenth-largest population, with more than 126 million people. Honshū's Greater Tokyo Area includes the de facto capital city of Tokyo and several surrounding prefectures. It is the largest metropolitan area in the world, with more than 30 million residents.\n\t\t\t\t

\n\n\t\t\t\t

Menu 2

\n\t\t\t\t

\n\t\t\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon; formally 日本国 About this sound Nippon-koku or Nihon-koku, literally \"the State of Japan\") is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south. The characters that make up Japan's name mean \"sun-origin\", which is why the country is sometimes referred to as the \"Land of the Rising Sun\". Japan is an archipelago of 6,852 islands, the four largest being Honshu, Hokkaido, Kyushu and Shikoku. Together, these four islands hold about 97 percent of the country's land area. Japan has the world's tenth-largest population, with more than 126 million people. Honshū's Greater Tokyo Area includes the de facto capital city of Tokyo and several surrounding prefectures. It is the largest metropolitan area in the world, with more than 30 million residents.\n\t\t\t\t

\n\n\t\t\t\t

Menu 3

\n\t\t\t\t

\n\t\t\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon; formally 日本国 About this sound Nippon-koku or Nihon-koku, literally \"the State of Japan\") is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south. The characters that make up Japan's name mean \"sun-origin\", which is why the country is sometimes referred to as the \"Land of the Rising Sun\". Japan is an archipelago of 6,852 islands, the four largest being Honshu, Hokkaido, Kyushu and Shikoku. Together, these four islands hold about 97 percent of the country's land area. Japan has the world's tenth-largest population, with more than 126 million people. Honshū's Greater Tokyo Area includes the de facto capital city of Tokyo and several surrounding prefectures. It is the largest metropolitan area in the world, with more than 30 million residents.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\n\n\t
\n\n\t
\n\t
\n\t\t

Menu 1

\n\t\t

\n\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon;...\n\t\t

\n\n\t\t

Menu 2

\n\t\t

\n\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon;...\n\t\t

\n\n\t\t

Menu 3

\n\t\t

\n\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon;...\n\t\t

\n\t
\n
\n\n\t
document.querySelector('[data-spy=\"scroll\"]').scrollspy\n\toffset: 100
\n\n
\n\n\n\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
spy@el.getAttribute( 'data-spy' ) or 'scroll'\n\t\t\t\tSet spying type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or 'body'\n\t\t\t\tListen to event scroll of this element. All spying blocks are inside.\n\t\t\t
offset@el.getAttribute( 'data-offset' ) or 5\n\t\t\t\tVertical offset of the element in text to fire the activation (for example activate menu when the header will be 5px above the top of the screen).\n\t\t\t
elements@el.getAttribute( 'data-elements' ) or 'li a'\n\t\t\t\tSelector to spy those elements inside @ (spy, or menu in our case).\n\t\t\t
elementsAttr@el.getAttribute( 'data-elements-attr' ) or 'href'\n\t\t\t\tAttribute of each element with ID of the target.\n\t\t\t
onMobile@el.getAttribute( 'data-on-mobile' ) or no\n\t\t\t\tDeactivate spy on mobile devices.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
start\n\t\t\t\t

Activate spy.

\n\t\t\t
stop\n\t\t\t\t

Deativate spy.

\n\t\t\t
refresh\n\t\t\t\t

Refresh all menu items and positions of targets.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get menu element use @ or this in js. Class instance always stores in data attribute of the menu element @data['kitScrollspy'] or this.data['kitScrollspy'] in js. To get scrollspy element (menu) do @data['kitScrollspy'].el. To get scrollspy scroll block do @data['kitScrollspy'].target.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate the spy. If it returns deferred.promise(), then spy will not start till deferred.resolve(), and woun't start if deferred.reject().

\n\t\t\t\t

document.querySelector('.spy-this-menu').scrollspy\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The spy (menu) will be in the log\n\t\t# so you can, for example, add classes\n\t\t# to disable the spying menu\n\n\t\tconsole.log @data['kitScrollspy']\n\t\t# The instance of Scrollspy class will in log\n\t\t# so to get scrollspy element you need to do\n\t\tspy = @data['kitScrollspy']\n\t\tspy._addClass '_disabled_'\n\n\t\t# Do something here before activate scrollspy\n\t\t# in this case it will start in 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after spy started.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if starting failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before spy stopped.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after spy stopped.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stopping failed.

\n\t\t\t
\n\n\n
\n","popup":"
\n\t

Popup

\n\n\n\t
\n\t\t
\n\t\t\t

HTML Popup

\n\t\t\t

\n\t\t\t\tUse widgets -dropdown or -tooltip\n\t\t\t

\n\t\t\t

\n\t\t\t\tTo set animation to the dialog window add animation name: -fadein--, -fall--, -fliphorizontal--, -flopvertical--, -slidein--, -scalein--, -newspaper--.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

HTML Button

\n\t\t\t

\n\t\t\t\tAdd data attributes to any widget data-toggle=\"popup\" and data-target=\"#popup1\". The plugin will find such buttons automatically. In data-target you can set classes or ids.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

Coffescript

\n\t\t\t

Simple way:

\n\t\t\t

el.popup()

More complicated:

\n\t\t\t

el.popup\n\tbeforeactive: ->\n\t\t# Get popup class instance\n\t\tpopup = @data['kitPopup']\n\t\t# Set new content\n\t\tpopup.dialog.innerHTML = \"Set content here\"\n\n\tonactive: ->\n\t\t# Add active class to the button\n\t\t@_addClass '_active_'\n\n\tondeactive: ->\n\t\t# Remove active class to the button\n\t\t@_removeClass '_active_'

\n\t\t
\n\t
\n\n\n\n\t
\n\n\t
\n\t\tcorner\n\t\tdoor\n\t\tfadein\n\t\tfall\n\t\tfliphorizontal\n\t\tflipvertical\n\t\thugeinc\n\t\tnewspaper\n\t\tscale\n\t\tslidedown\n\t
\n\n\t
\n\t\tTop\n\t\tLeft\n\t\tRight\n\t\tBottom\n\t\tBottom right\n\t\tTop left\n\t
\n\n\n\t\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n...\n
\n\n
document.querySelector('.btn-popup-demo').popup\n\tbeforeactive: ->\n\t\tpopup = @data['kitPopup']\n\t\tpopup.dialog.innerHTML = \"Popup #{popup._id} with dynamic content
Random number #{Math.random()}\"\n\n\tonactive: ->\n\t\t@_addClass '_active_'\n\n\tondeactive: ->\n\t\t@_removeClass '_active_'\n\n\ndocument.querySelector('.btn-popup-demo-left').popup\n\tposition:\n\t\tvertical: 'middle'\n\t\thorizontal: 'left'\n\tbeforeactive: ->\n\t\tpopup = @data['kitPopup']\n\t\tpopup.dialog.innerHTML = \"Popup #{popup._id} with dynamic content
Random number #{Math.random()}\"\n\n\tonactive: ->\n\t\t@_addClass '_active_'\n\n\tondeactive: ->\n\t\t@_removeClass '_active_'\n\n...\n
\n\n\n
\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
target @el.getAttribute( 'data-target' ) or null\n\t\t\t\tFind element with this selector and work with it as a popup window.\n\t\t\t
toggle@el.getAttribute( 'data-toggle' ) or 'popup'\n\t\t\t\tSet toggle type.\n\t\t\t
dialog@el.getAttribute( 'data-dialog' ) or \".-content\"\n\t\t\t\tSelector to find dialog blog inside popup.\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to open popup.\n\t\t\t
eventClose@el.getAttribute( 'data-event-close' ) or \"click\"\n\t\t\t\tEvent for closer element to close popup. Closer element should be anywhere in the DOM with attribute data-dismiss=\"target-selector\".\n\t\t\t
autoOpen@el.getAttribute('data-autoopen') or no\n\t\t\t\tOpen popup after initialization.\n\t\t\t
position{\n\t\t\t\tvertical: @el.getAttribute( 'data-position-vertical' ) or 'top',\n\t\t\t\thorizontal: @el.getAttribute( 'data-position-horizontal' ) or 'center'\n\t\t\t}\n\t\t\t\tPopup position relative to the button.
\n\t\t\t\tvertical: 'top' / 'middle' / 'bottom'
\n\t\t\t\thorizontal: 'left' / 'center' / 'right'\n\t\t\t
offset\n\t\t\t\t\n\t\t\t\t\thorizontal: @el.getAttribute( 'data-offset-horizontal' ) or 0
\n\t\t\t\t\tvertical: @el.getAttribute( 'data-offset-vertical' ) or 0\n\t\t\t\t
\n\t\t\t
\n\t\t\t\tIn px. Offset relative to position.\n\t\t\t
closeUnfocus\n\t\t\t\t\n\t\t\t\t\t@el.getAttribute( 'data-close-unfocus' ) or no\n\t\t\t\t\n\t\t\t\n\t\t\t\tClose popup if click outside of it.\n\t\t\t
closeOnResize\n\t\t\t\t\n\t\t\t\t\t@el.getAttribute( 'data-close-resize' ) or yes\n\t\t\t\t\n\t\t\t\n\t\t\t\tClose popup when browser window resizing.\n\t\t\t
selfish\n\t\t\t\t\n\t\t\t\t\t@el.getAttribute( 'data-selfish' ) or yes\n\t\t\t\t\n\t\t\t\n\t\t\t\tClose all popups when opens this one.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
open\n\t\t\t\t

Open popup.

\n\t\t\t
close\n\t\t\t\t

Close popup.

\n\t\t\t
enable\n\t\t\t\t

Start listening to the events.

\n\t\t\t
disable\n\t\t\t\t

Stop listening to the events. Popup will stay in current status (opened or closed) and will not work anymore.

\n\t\t\t
setPosition\n\t\t\t\t

Refresh position of the popup relative to the button.

\n\t\t\t
\n\n\n

Events

\n\n
\n\tInside each method to get button use @ or this in js. Class instance always stores in data attribute of the button element @data['kitPopup'] or this.data['kitPopup'] in js. To get popup window element do @data['kitPopup'].target.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactiveundefined\n\t\t\t\t

Set a function to call it before popup opens. If it returns deferred.promise(), then popup will not open till deferred.resolve(), and woun't open if deferred.reject(). You can just get data with ajax for popup.

\n\t\t\t\t

document.querySelector('.btn-popup').popup\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The button element will be in the log\n\t\t# so you can add or remove classes easily\n\t\t# for example to disable button while getting data for popup window\n\n\t\tconsole.log @data['kitPopup']\n\t\t# The instance of Modal class will in log\n\t\t# so to get popup window element you need to do\n\t\tpopup = @data['kitPopup'].target\n\n\t\t# To get popup element do\n\t\tconsole.log popup.target\n\n\t\t# To get popup dialog element do\n\t\tconsole.log popup.dialog\n\n\t\t# Do something here before open window\n\t\t# in this case it will open popup window after 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after popup opens.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before popup closes.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after popup closes.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if deactivation failed.

\n\t\t\t
\n\n\n
\n\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n","modal":"
\n\t

Modal

\n\n\n\t
\n\t\t
\n\t\t\t

HTML Modal

\n\t\t\t

\n\t\t\t\tUse widget class -modal to add backdrop. Inside this backdrop add -holder to set dialog window in the center. Inside -holder add -dialog to create dialog window. Use -header, -content and -footer inside.\n\t\t\t

\n\t\t\t

\n\t\t\t\tTo set animation to the dialog window add animation name: -fadein--, -fall--, -fliphorizontal--, -flopvertical--, -slidein--, -scalein--, -newspaper--.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

HTML Button

\n\t\t\t

\n\t\t\t\tAdd data attributes to any widget data-toggle=\"modal\" and data-target=\"#modal1\". The plugin will find such buttons automatically. In data-target you can set classes or ids.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

Coffescript

\n\t\t\t

Simple way:

\n\t\t\t

el.modal()

More complicated:

\n\t\t\t

el.modal\n\ttarget: '.modal123'\n\ttoggle: 'modal'\n\tevent: 'click'\n\teventClose: 'click'\n\tbackdrop: yes

\n\t\t
\n\t
\n\n\n\n\n\t
\n\n\t\n\n\n\t\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

\n\t\t\t\t

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n
\n
doument.querySelector('.btn-modal-fast').modal()\ndoument.querySelector('.btn-modal123').modal\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\n\t\td.promise()\n
\n\n
\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
toggle@el.getAttribute( 'data-toggle' ) or 'modal'\n\t\t\t\tSet toggle type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or null\n\t\t\t\tFind element with this selector and work with it as a modal window.\n\t\t\t
dialog@el.getAttribute( 'data-dialog' ) or \".-dialog\"\n\t\t\t\tSelector to find dialog block inside target (modal window).\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to open modal window.\n\t\t\t
eventClose@el.getAttribute( 'data-event-close' ) or \"click\"\n\t\t\t\tThis event will be used to close window. Will listen on elements with data-dismiss=\".modal\" to close modal window with selector .modal.\n\t\t\t
backdrop@el.getAttribute('data-backdrop') or no\n\t\t\t\tClose modal window when clicked on the backdrop.\n\t\t\t
push@el.getAttribute('data-push') or no\n\t\t\t\tNOT TESTED. The selector of the container with WHOLE content, except modal window, to use push animation.\n\t\t\t
autoOpen@el.getAttribute('data-autoopen') or no\n\t\t\t\tOpen modal after initialize.\n\t\t\t
selfish@el.getAttribute('data-selfish') or yes\n\t\t\t\tClose all Modal instances after current instance initialized.\n\t\t\t
hideScroll@el.getAttribute('data-hide-scroll') or yes\n\t\t\t\tHide scroll of the container element when modal window appears.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
open\n\t\t\t\t

Open modal window.

\n\t\t\t
close\n\t\t\t\t

Close modal window.

\n\t\t\t
enable\n\t\t\t\t

Start listening to the events.

\n\t\t\t
disable\n\t\t\t\t

Stop listening to the events. Modal window will stay in current status (opened or closed) and will not work anymore.

\n\t\t\t
\n\n\n\n

Events

\n
\n\tInside each method to get button use @ or this in js. Class instance always stores in data attribute of the button element @data['kitModal'] or this.data['kitModal'] in js. To get modal window element do @data['kitModal'].el.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before window opens. If it returns deferred.promise(), then modal window will not open till deferred.resolve(), and woun't open if deferred.reject(). You can just get data with ajax for modal window.

\n\t\t\t\t

modals = document.querySelectorAll(\"[data-toggle='modal']\")\nfor md in modals\n\tmd.modal\n\t\tbeforeopen: ->\n\t\t\td = $.Deferred()\n\n\t\t\tconsole.log @\n\t\t\t# The button will be in the log\n\t\t\t# so you can add something like\n\n\t\t\tconsole.log @data['kitModal']\n\t\t\t# The instance of Modal class will in log\n\t\t\t# so to get modal window element you need to do\n\t\t\tmodal = @data['kitModal']\n\t\t\t# From now you can access to the button by\n\t\t\tconsole.log modal.el\n\t\t\t# And to the modal window element by\n\t\t\tconsole.log modal.target\n\n\t\t\t# Do something here before open window\n\t\t\t# in this case it will open modal window after 2 seconds\n\t\t\tsetTimeout ->\n\t\t\t\td.resolve()\n\t\t\t, 2000\n\t\t\t# End of your code\n\n\t\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after modal window opens.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before modal window closes.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after modal window closes.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
\n\n\n\n\n

Animations

\n

\n\tUse widget different animations. Add classes to the -dialog.\n

\n
\n\n\t
\n\n\t\t\tFade in\n\t\t\tFlip horizontal\n\t\t\tFlip vertical\n\t\t\tNewspaper\n\t\t\tCorner\n\t\t\tDoor\n\t\t\tFall\n\t\t\tHugeinc\n\t
\n\n\n\t\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\t...\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\t...\n\t\t\t
\n\t\t
\n\t
\n
\n
\n\n
modals = doument.querySelectorAll('.btn-modal-fast')\nfor modal in modals\n\tmodal.modal()\n
\n\n
\n\n\n
\n\tFor the whole list of possible animations look at animations components.\n
\n\n\n\n
\n\n\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tOpen popup\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tFlip horizontal popup\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

\n\t\t\t\t

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n","button":"
\n\t

Button

\n\n\t
\n\n\t
\n\t\tButton 1\n\t\tButton 2\n\n\t\t
\n\n\t\t
\n\t\t\tRadio 1Radio 2\n\t\t
\n\n\t\t
\n\t\t\tCheckboxCheckbox\n\t\t
\n\t
\n\n\n\t
Button 1\nButton 2\n\n
\n\tRadio 1\n\tRadio 2\n
\n\n\n
\n\n
buttons = document.querySelectorAll(\"[data-toggle='button']\")\nfor btn in buttons\n\tbtn.button()\n
\n\n
\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\tCheckboxCheckbox\n\t\t
\n\t
\n\n\n\t
\n
\n\n
buttons = document.querySelectorAll(\"[data-toggle='button']\")\nfor btn in buttons\n\tbtn.button\n\t\tbeforeactive: ->\n\t\t\td = $.Deferred()\n\t\t\tbutton = @data['kitButton']\n\t\t\tbutton.el.innerHTML = 'Loading...'\n\t\t\tbutton._addClass '_disabled_'\n\t\t\tsetTimeout ->\n\t\t\t\td.resolve()\n\t\t\t,2000\n\t\t\td.promise()\n\n\t\tonactive: ->\n\t\t\tbutton = @data['kitButton']\n\t\t\tbutton.el._removeClass '_disabled_'\n\t\t\tbutton.el.innerHTML = 'Checked'\n\n\t\tondeactive: ->\n\t\t\tbutton = @data['kitButton']\n\t\t\tbutton.el.innerHTML = 'Checkbox'\n
\n\n
\n\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\tRadio 1Radio 2Radio 3\n\t\t
\n\t
\n\n\n\t
\n\tRadio 1\n\tRadio 2\n\tRadio 3\n
\n
\n\n
buttons = document.querySelectorAll(\".radio-with-before\")\nfor btn in buttons\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Loading...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,2000\n\t\td.promise()\n\n\tonactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Checked'\n\t\tbutton._removeClass '_disabled_'\n\n\tbeforedeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Unchecking...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,3000\n\t\td.promise()\n\n\tondeactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton._removeClass '_disabled_'\n\t\tbutton.el.innerHTML = 'Radio'\n
\n\n
\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
toggle@el.getAttribute( 'data-toggle' ) or 'button'\n\t\t\t\tSet toggle type of the element.\n\t\t\t
type@el.getAttribute( 'data-type' ) or 'button'\n\t\t\t\tbutton, radio, checkbox. Define button's behaviour. If radio, then will uncheck all buttons from it's group.\n\t\t\t
group@el.getAttribute( 'data-group' ) or no\n\t\t\t\tString. Uses for type: radio, just type any name for group of radiobuttons or checkboxes.\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to activate/deactivate button.\n\t\t\t
selfish@el.getAttribute( 'data-selfish' ) or no\n\t\t\t\tDeactivate all instances of Button when current instance activated.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
activate\n\t\t\t\t

Activate button.

\n\t\t\t
deactivate\n\t\t\t\t

Deactivate button.

\n\t\t\t
enable\n\t\t\t\t

Enable button, events will work.

\n\t\t\t
disable\n\t\t\t\t

Disable button, events will not work.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get button use @ or this in js. Class instance always stores in data attribute of the button element @data['kitButton'] or this.data['kitButton'] in js.\n
\n\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
EventDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate button. If it returns deferred.promise(), then button will not activate till deferred.resolve(), and woun't activate at all if deferred.reject(). You can just get data with ajax instead of using deferred.

\n\t\t\t\t

buttons = document.querySelectorAll(\".radio-with-before\")\nfor btn in buttons\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Loading...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,2000\n\t\td.promise()\n\n\tonactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Checked'\n\t\tbutton._removeClass '_disabled_'\n\n\tbeforedeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Unchecking...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,3000\n\t\td.promise()\n\n\tondeactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton._removeClass '_disabled_'\n\t\tbutton.el.innerHTML = 'Radio'\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after button activation.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before deactivate button.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after deactivate button.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if deactivation failed.

\n\t\t\t
\n\n\n\n
\n","affix":"
\n\t

Affix

\n\n\t

The subnavigation on the right is a live demo of the affix plugin.

\n\n\t
\n\t\tTo move your affix block inside some parent, just add position: relative to that parent.\n\t
\n\n\n\n\n\t
\n
document.querySelector(\"#affix-el\").affix({ offset: -25 })\n
\n\n
\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
spy@el.getAttribute('data-spy') or 'affix'\n\t\t\t\tSet type of spying\n\t\t\t
offset@el.getAttribute( 'data-offset' ) or 5\n\t\t\t\tIn px. Affix's block offset from top.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
start\n\t\t\t\t

Activate affix

\n\t\t\t
stop\n\t\t\t\t

Deativate affix

\n\t\t\t
\n\n\n

Events

\n\n
\n\tInside each event function of affix element use @ or this in js. Class instance always stores in data attribute of the affix element @data['kitAffix'] or this.data['kitAffix'] in js.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
EventDescription
beforeactive\n\t\t\t\t

Set a function to call it before start affix. If it returns deferred.promise(), then affix will not start till deferred.resolve(), and woun't start at all if deferred.reject(). You can just get data with ajax for your affix block.

\n\t\t\t\t

el.affix\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The affix DOM element will be in the log\n\n\t\tconsole.log @data['kitAffix']\n\t\t# The instance of Affix class will in log\n\n\t\t# Do something here before start affix\n\t\t# in this case it will start after 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after affix started.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if starting failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before affix stopped.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after affix stopped.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stopping failed.

\n\t\t\t
\n\n\n
\n"}},"tests":{"layout":"\n\nMain test layout\n\n\n\n
\n
\n
\n\n\n\n\n\nOpen modal\nOpen modal 2\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tOpen popup\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tFlip horizontal popup\n\t\t\t
\n\t\t
\n\t
\n
\n
\n
\n
\n
\n\n\n\n\nHeader\n\n
\n
\n\n

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n

\nOpen popup\n

\n

\nClose\n

\n
\n
\n
\n\n
\nFlip horizontal popup\n
\n
\n
\n
\n\n
\nOpen popup\n\n
\n\t\n\t
Set content here
\n
\n
\n\n
\nOpen popup\n\n
\n\n
Set content here
\n
\n
\n\n\n\n\n
\nSpy 1\n
\n
\nSpy 2\n
\n
\nSpy 3\n
\n
\nSpy 4\n
\n\n\n\n
\n\t
Content for tab 1
\n\t
Content for tab 2
\n\t
Content for tab 3
\n\t
Content for tab 4
\n
\n\n\n\n
\n
\n\n\n
\n
\n
\n
\n

Yosemite

\n

Time-lapse video project set in Yosemite National Park, 2014

\n\n
\n\"Life\"\n
The LIFE, Colin Delehanty\n
\n
\n
\n
\n
\n
\n
\n\n\n"},"examples":{"blog":"\n\n\n\n\n\n
\n\t
\n\t\t
\n\t\t\t\"Microscope\"\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Billionaires With Big Ideas Are Privatizing American Science

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\"WILLIAM\n\t\t\t\t\t\t\t
The New York Times, William Broad, March 15, 2014\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tLast April, President Obama assembled some of the nation’s most august scientific dignitaries in the East Room of the White House. Joking that his grades in physics made him a dubious candidate for “scientist in chief,” he spoke of using technological innovation “to grow our economy” and unveiled “the next great American project”: a $100 million initiative to probe the mysteries of the human brain.\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tAlong the way, he invoked the government’s leading role in a history of scientific glories, from putting a man on the moon to creating the Internet. The Brain initiative, as he described it, would be a continuation of that grand tradition, an ambitious rebuttal to deep cuts in federal financing for scientific research.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\t

“We can’t afford to miss these opportunities while the rest of the world races ahead,” Mr. Obama said. “We have to seize them. I don’t want the next job-creating discoveries to happen in China or India or Germany. I want them to happen right here.”

\n\t\t\t\t\t\tMr. Barak Obama\n\t\t\t\t\t
\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tAbsent from his narrative, though, was the back story, one that underscores a profound change taking place in the way science is paid for and practiced in America. In fact, the government initiative grew out of richly financed private research: A decade before, Paul G. Allen, a co-founder of Microsoft, had set up a brain science institute in Seattle, to which he donated $500 million, and Fred Kavli, a technology and real estate billionaire, had then established brain institutes at Yale, Columbia and the University of California. Scientists from those philanthropies, in turn, had helped devise the Obama administration’s plan.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Wendy Schmidt and her husband are advancing ocean studies.

\n\t\t\t\t\t\t

Béatrice de Géa for The NYT

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tAmerican science, long a source of national power and pride, is increasingly becoming a private enterprise.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tIn Washington, budget cuts have left the nation’s research complex reeling. Labs are closing. Scientists are being laid off. Projects are being put on the shelf, especially in the risky, freewheeling realm of basic research. Yet from Silicon Valley to Wall Street, science philanthropy is hot, as many of the richest Americans seek to reinvent themselves as patrons of social progress through science research.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThe result is a new calculus of influence and priorities that the scientific community views with a mix of gratitude and trepidation.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\t“For better or worse,” said Steven A. Edwards, a policy analyst at the American Association for the Advancement of Science, “the practice of science in the 21st century is becoming shaped less by national priorities or by peer-review groups and more by the particular preferences of individuals with huge amounts of money.”\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThey have mounted a private war on disease, with new protocols that break down walls between academia and industry to turn basic discoveries into effective treatments. They have rekindled traditions of scientific exploration by financing hunts for dinosaur bones and giant sea creatures. They are even beginning to challenge Washington in the costly game of big science, with innovative ships, undersea craft and giant telescopes — as well as the first private mission to deep space.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThe new philanthropists represent the breadth of American business, people like Michael R. Bloomberg, the former New York mayor (and founder of the media company that bears his name), James Simons (hedge funds) and David H. Koch (oil and chemicals), among hundreds of wealthy donors. Especially prominent, though, are some of the boldest-face names of the tech world, among them Bill Gates (Microsoft), Eric E. Schmidt (Google) and Lawrence J. Ellison (Oracle).\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThis is philanthropy in the age of the new economy — financed with its outsize riches, practiced according to its individualistic, entrepreneurial creed. The donors are impatient with the deliberate, and often politicized, pace of public science, they say, and willing to take risks that government cannot or simply will not consider.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tYet that personal setting of priorities is precisely what troubles some in the science establishment. Many of the patrons, they say, are ignoring basic research — the kind that investigates the riddles of nature and has produced centuries of breakthroughs, even whole industries — for a jumble of popular, feel-good fields like environmental studies and space exploration.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tAs the power of philanthropic science has grown, so has the pitch, and the edge, of the debate. Nature, a family of leading science journals, has published a number of wary editorials, one warning that while “we applaud and fully support the injection of more private money into science,” the financing could also “skew research” toward fields more trendy than central.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Photo by Ben Margot/Associated Press

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\"Sergey\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tSergey Brin
\n\t\t\t\t\tGoogle
\n\t\t\t\t\t$31.8 billion
\n\t\t\t\t\t

\n\t\t\t\t\t\tParkinson's disease, which his mother has and for which he bears a risky gene.\n\t\t\t\t\t

\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tThe first success came with cystic fibrosis, which arises when a faulty gene clogs the lungs and pancreas with a sticky mucus. People with cystic fibrosis suffer from coughing, fatigue, poor digestion and slow growth, and die relatively young.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tAround 2000, a surge of wealthy donors began making large contributions to the Cystic Fibrosis Foundation. Tom and Ginny Hughes of Greenwich, Conn., had two daughters with the disease, and gave millions of dollars. The family also posed in snapshots for the foundation’s “Milestones to a Cure” updates, and Mr. Hughes, a banker, helped the charity develop strategies to expand its fund-raising.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

A Focus on Disease

\n\t\t\t\t\t\t\t

If the map of the world of private science has yet to be drawn, one thing is clear: Much of the money is going into campaigns for a cure.

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\tThis private war on disease has resulted not only in significant advances in treatment, but also in what experts describe as a major breakthrough in how biomedical research is done. The method opens up blockages that have traditionally kept basic discoveries from being turned into effective treatments — especially for rare diseases that drug companies avoid for lack of potential profit.\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t“We think it’s potentially transformative,” said Maryann P. Feldman, a professor of public policy at the University of North Carolina at Chapel Hill who studies the approach.\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tYear after year, the foundation held galas, hikes, runs and golf tournaments, eventually raising more than a quarter-billion dollars. With great skill, it used the money to establish partnerships across industry and academia, smashing through the walls that typically form around research teams.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tBy early 2012, the financial surge produced the first treatment for an underlying cause of cystic fibrosis. The drug counters a gene mutation that accounts for 4 percent of the cases in the United States — about 1,200 people. The medication thinned the deadly mucus, lessening symptoms and drastically improving quality of life.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tMelanoma, the deadliest of skin cancers, also strikes and kills whites preferentially. Debra Black, wife of the financier Leon Black, survived a bad scare. Soon after, the couple teamed up with Michael R. Milken, the former junk-bond financier, whose charity FasterCures gives advice on how to accelerate research, to found the Melanoma Research Alliance. It quickly became the world’s largest private sponsor of melanoma research, awarding more than $50 million for work at Yale, Columbia and other universities.\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
\n\t\n\t
\n\t\t\n\t\t

Comments

\n\n\t\t
\n\t\t\t
\n\t\t\n\t\t\t\t
    \n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"soffes\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    Soffes  12
    \n\t\t\t\t\t\t\tYou know what else is \"arcane\", 140 characters.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"markgamzy\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    Markgamzy  165
    \n\t\t\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Teclaro\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    Teclaro  67
    \n\t\t\t\t\t\t\tIn my opinion (and as a UI and UX designer), this is a step in the right direction. Even when viewing those examples above, the context isn't hindered when @ isn't present and makes the conversation more legible.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Edwellbrook\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tSure they are thinking about removing @replies but the concept of replying will still exist. It's just the details of who you are replying to will be contained in metadata and not in the body of the tweet. This is good as it will free up more characters for the tweet. However I'm sure it will also lead to people being unsure of whether a tweet will be directed at one person or their whole timeline in the same way as people often mistakenly post a DM to their timeline.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Krystalfister\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\t\t\t\t
\n\n\t\t\t
\n\n\t\t
\n\n\t
\n\n
"},"upgradeBrowser":"
\n
\n
\n

Please, upgrade your browser!

\n
\n\tActually Maxmertkit partly supports ie 7.0 and 8.0, but I can't promise you that it will work well. So I decided to hide documentation for IE8 and previous versions. Hope for your understanding.\n
\n
\n
\n
\n","main":"
\n\t
\n\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\t\t
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

Maxmertkit made for all good people by {{author.name}}.

\n\t\t\t\t

\n\t\t\t\t\t twitter\n\t\t\t\t\t facebook\n\t\t\t\t\t github\n\t\t\t\t\t google+\n\t\t\t\t\t email\n\t\t\t\t

\n\t\t\t\t

Code licensed under MIT, documentation under CC BY 3.0.

\n\t\t\t\t
\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tver. {{version}}\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tgithub\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tissues\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\treleases\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tchangelog\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\told version\n\t\t\t\t\t\t
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n","error404":"
\n\t

\n\t\t404 The page is not found\n\t

\n
\n"} },{}]},{},[1]) -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlcyI6WyIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcGFjay9fcHJlbHVkZS5qcyIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9hcHAuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL2NvbGxlY3Rpb252aWV3cy9jb250ZW50LmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9jb2xsZWN0aW9udmlld3MvaGVhZGVyL21lbnUuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL2NvbGxlY3Rpb252aWV3cy9zaWRlYmFyL21lbnUuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL2NvbmZpZy5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvY29udGVudHMuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL2xheW91dHMvaW5kZXguY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL2xheW91dHMvcGFnZXMvNDA0LmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9sYXlvdXRzL3BhZ2VzL2Jhc2ljLmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9sYXlvdXRzL3BhZ2VzL2NoYW5nZWxvZy5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvbGF5b3V0cy9wYWdlcy9jb21wb25lbnRzLmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9sYXlvdXRzL3BhZ2VzL2V4YW1wbGVzLmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9sYXlvdXRzL3BhZ2VzL2luZGV4LmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9sYXlvdXRzL3BhZ2VzL3N0YXJ0LmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9sYXlvdXRzL3BhZ2VzL3V0aWxpdGllcy5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvbGF5b3V0cy9wYWdlcy93aWRnZXRzLmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9tb2RlbHMvaGVhZGVyL3NvY2lhbC5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvbW9kZWxzL3BhZ2VzL2luZGV4L3Nlcmllcy5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvbW9kZWxzL3BhZ2VzL3NvY2lhbC5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvbW9kZWxzL3NpZGViYXIvbWVudS5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvcm91dGVycy9yb3V0ZXIuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL3ZpZXdzL2NvbnRlbnQuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL3ZpZXdzL2hlYWRlci9tZW51LmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS92aWV3cy9oZWFkZXIvc29jaWFsLmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS92aWV3cy9wYWdlcy9pbmRleC9zZXJpZXMuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL3ZpZXdzL3BhZ2VzL3NvY2lhbC5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvdmlld3Mvc2lkZWJhci9tZW51LmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2pzL3RlbXBsYXRlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBLElBQUEsK0NBQUE7O0FBQUEsMEJBQUEsR0FBNkIsU0FBQSxHQUFBO0FBQzVCLE1BQUEsVUFBQTtBQUFBLEVBQUEsRUFBQSxHQUFLLENBQUEsQ0FBTCxDQUFBO0FBQ0EsRUFBQSxJQUFHLFNBQVMsQ0FBQyxPQUFWLEtBQXFCLDZCQUF4QjtBQUNDLElBQUEsRUFBQSxHQUFLLFNBQVMsQ0FBQyxTQUFmLENBQUE7QUFBQSxJQUNBLEVBQUEsR0FBUyxJQUFBLE1BQUEsQ0FBTyw0QkFBUCxDQURULENBQUE7QUFFQSxJQUFBLElBQThCLG1CQUE5QjtBQUFBLE1BQUEsRUFBQSxHQUFLLFVBQUEsQ0FBVyxN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O0FBQUEsSUFDSSxJQUFBLEVBQU0sT0FEVjtBQUFBLElBRUksTUFBQSxFQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BRjFCO0FBQUEsSUFHSSxLQUFBLEVBQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FIekI7QUFBQSxJQUlJLElBQUEsRUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBSjVEO0dBL0JNLEVBcUNOO0FBQUEsSUFDSSxJQUFBLEVBQU0sUUFEVjtBQUFBLElBRUksTUFBQSxFQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BRjNCO0FBQUEsSUFHSSxLQUFBLEVBQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FIMUI7QUFBQSxJQUlJLElBQUEsRUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBSjVEO0dBckNNLEVBMkNOO0FBQUEsSUFDSSxJQUFBLEVBQU0sT0FEVjtBQUFBLElBRUksTUFBQSxFQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BRjFCO0FBQUEsSUFHSSxLQUFBLEVBQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FIekI7QUFBQSxJQUlJLElBQUEsRUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBSjVEO0dBM0NNLEVBaUROO0FBQUEsSUFDSSxJQUFBLEVBQU0sU0FEVjtBQUFBLElBRUksTUFBQSxFQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BRnpCO0FBQUEsSUFHSSxLQUFBLEVBQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FIeEI7QUFBQSxJQUlJLElBQUEsRUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BSjVEO0dBakRNLEVBdUROO0FBQUEsSUFDSSxJQUFBLEVBQU0sYUFEVjtBQUFBLElBRUksTUFBQSxFQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BRi9CO0FBQUEsSUFHSSxLQUFBLEVBQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FIOUI7QUFBQSxJQUlJLElBQUEsRUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBSjVEO0dBdkRNLEVBNkROO0FBQUEsSUFDSSxJQUFBLEVBQU0sUUFEVjtBQUFBLElBRUksTUFBQSxFQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BRi9CO0FBQUEsSUFHSSxLQUFBLEVBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FIOUI7QUFBQSxJQUlJLElBQUEsRUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBSjVEO0dBN0RNLEVBbUVOO0FBQUEsSUFDSSxJQUFBLEVBQU0sUUFEVjtBQUFBLElBRUksTUFBQSxFQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BRi9CO0FBQUEsSUFHSSxLQUFBLEVBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FIOUI7QUFBQSxJQUlJLElBQUEsRUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBSjVEO0dBbkVNLEVBeUVOO0FBQUEsSUFDSSxJQUFB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QUNiO0FBQUEsRUFBQSxPQUFBLEVBQVMsTUFBVDtBQUFBLEVBQ0EsS0FBQSxFQUFXLElBQUEsV0FBVyxDQUFDLE1BQVosQ0FBQSxDQURYO0FBQUEsRUFFQSxRQUFBLEVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFGOUM7QUFBQSxFQUlBLFVBQUEsRUFBWSxTQUFBLEdBQUE7QUFDUixJQUFBLElBQUMsQ0FBQSxRQUFELENBQVUsSUFBQyxDQUFBLEtBQVgsRUFBa0IsTUFBbEIsRUFBMEIsSUFBQyxDQUFBLE1BQTNCLENBQUEsQ0FBQTtXQUVBLElBQUMsQ0FBQSxLQUFLLENBQUMsS0FBUCxDQUNJO0FBQUEsTUFBQSxJQUFBLEVBQU0sQ0FBQyxDQUFDLEtBQUYsQ0FBUTtBQUFBLFFBQUUsS0FBQSxFQUFPLFNBQVQ7QUFBQSxRQUFvQixJQUFBLEVBQU0sWUFBMUI7T0FBUixDQUFOO0tBREosRUFIUTtFQUFBLENBSlo7Q0FEYSxDQUZqQixDQUFBOzs7O0FDQUEsT0FBTyxDQUFDLE1BQVIsR0FBaUIsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFwQixDQUNiO0FBQUEsRUFBQSxPQUFBLEVBQVMsSUFBVDtBQUFBLEVBQ0EsUUFBQSxFQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBRDlDO0NBRGEsQ0FBakIsQ0FBQTs7OztBQ0FBIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK28rXCInXCIpfXZhciBmPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChmLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGYsZi5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkiLCJnZXRJbnRlcm5ldEV4cGxvcmVyVmVyc2lvbiA9IC0+XG5cdHJ2ID0gLTEgIyBSZXR1cm4gdmFsdWUgYXNzdW1lcyBmYWlsdXJlLlxuXHRpZiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBcIk1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlclwiXG5cdFx0dWEgPSBuYXZpZ2F0b3IudXNlckFnZW50XG5cdFx0cmUgPSBuZXcgUmVnRXhwKFwiTVNJRSAoWzAtOV17MSx9Wy4wLTldezAsfSlcIilcblx0XHRydiA9IHBhcnNlRmxvYXQoUmVnRXhwLiQxKVx0aWYgcmUuZXhlYyh1YSk/XG5cdGVsc2Vcblx0XHRydiA9IDBcblx0cnZcblxuQmFja2JvbmUuTWFyaW9uZXR0ZS5SZW5kZXJlci5yZW5kZXIgPSAodGVtcGxhdGUsIGRhdGEpIC0+XG5cdE11c3RhY2hlLnRvX2h0bWwodGVtcGxhdGUsIGRhdGEpO1xuXG4kLmFwcCA9IG5ldyBNYXJpb25ldHRlLkFwcGxpY2F0aW9uKClcbiQuYXBwLmNvbmZpZyA9IHJlcXVpcmUoJy4vY29uZmlnJykuY29uZmlnXG4kLmFwcC5jb250ZW50cyA9IHJlcXVpcmUoJy4vY29udGVudHMnKVxuJC5hcHAudGVtcGxhdGVzID0gcmVxdWlyZSgnLi4vanMvdGVtcGxhdGVzLmpzJykubW9kdWxlXG5cbiMgSW5pdGlhbGl6ZSBiYWNrYm9uZSB3cmVxciAxLjIgd2l0aCByYWRpbywgZG9udCBzdXBwb3J0IGluIGN1cnJlbnQgdmVyc2lvbiBvZiBtYXJpb25ldHRlXG4kLmFwcC5jb21tYW5kcyA9IEJhY2tib25lLldyZXFyLnJhZGlvLmNvbW1hbmRzXG5cblJlZ2lvbkluZGV4ID0gcmVxdWlyZShcIi4vbGF5b3V0cy9pbmRleFwiKS5tb2R1bGVcblJvdXRlciA9IHJlcXVpcmUoXCIuL3JvdXRlcnMvcm91dGVyXCIpLm1vZHVsZVxuXG4kLmFwcC5hZGRSZWdpb25zXG5cdG1haW46ICcjYXBwJ1xuXG4kLmFwcC5hZGRJbml0aWFsaXplciAtPlxuXHQkLmFwcC5yb3V0ZXIgPSBuZXcgUm91dGVyKClcblx0JC5hcHAucm91dGVyLm9uICdyb3V0ZScsIC0+XG5cdFx0JC5hcHAudmVudC50cmlnZ2VyICdyb3V0ZSdcblxuXHR2ZXIgPSBnZXRJbnRlcm5ldEV4cGxvcmVyVmVyc2lvbigpXG5cdGlmIHZlciA+PSA5LjAgb3IgdmVyIGlzIDBcblx0XHRwdXNoU3RhdGUgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5zZWFyY2goL1xcI1xcIS9pKSBpcyAtMVxuXHRcdEJhY2tib25lLmhpc3Rvcnkuc3RhcnRcblx0XHRcdHB1c2hTdGF0ZTogcHVzaFN0YXRlXG5cdFx0XHRzaWxlbnQ6IG9mZlxuXG5cdGVsc2Vcblx0XHQkKCcjYXBwJykuaHRtbCAkLmFwcC50ZW1wbGF0ZXMudXBncmFkZUJyb3dzZXJcblxuXHQjIE1ha2UgYWxsIGhyZWZzIHVzZSBCYWNrYm9uZSBoaXN0b3J5IGFuZCByb3V0ZXJcblx0JChkb2N1bWVudCkub24gXCJjbGlja1wiLCBcImE6bm90KFtkYXRhLWJ5cGFzc10pXCIsIChldnQpIC0+XG5cdFx0ZXZ0LnByZXZlbnREZWZhdWx0KClcblx0XHRocmVmID1cblx0XHRcdHByb3A6ICQodGhpcykucHJvcChcImhyZWZcIilcblx0XHRcdGF0dHI6ICQodGhpcykuYXR0cihcImhyZWZcIilcblxuXHRcdHJvb3QgPSBsb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIGxvY2F0aW9uLmhvc3Rcblx0XHRpZiBocmVmLnByb3AgYW5kIGhyZWYucHJvcC5zbGljZSgwLCByb290Lmxlbmd0aCkgaXMgcm9vdFxuXHRcdFx0ZXZ0LnByZXZlbnREZWZhdWx0KClcblx0XHRcdEJhY2tib25lLmhpc3RvcnkubmF2aWdhdGUgaHJlZi5hdHRyLCB0cnVlXG5cblxuJC5hcHAubWFpbi5zaG93IG5ldyBSZWdpb25JbmRleCgpXG5cblxuJC5hcHAuc3RhcnQoKVxuIiwicmVwbGFjZVRhZyA9ICh0YWcpIC0+XG4gICAgdGFnc1RvUmVwbGFjZVt0YWddIG9yIHRhZ1xuXG5zYWZlX3RhZ3NfcmVwbGFjZSA9IChzdHIpIC0+XG4gICAgc3RyLnJlcGxhY2UgL1smPD5dL2csIHJlcGxhY2VUYWdcblxudGFnc1RvUmVwbGFjZSA9XG4gICAgXCImXCI6IFwiJmFtcDtcIlxuICAgIFwiPFwiOiBcIiZsdDtcIlxuICAgIFwiPlwiOiBcIiZndDtcIlxuXG5cblZpZXdDb250ZW50ID0gcmVxdWlyZSgnLi4vdmlld3MvY29udGVudCcpLm1vZHVsZVxuXG5Db2xsZWN0aW9uQ29udGVudCA9IEJhY2tib25lLkNvbGxlY3Rpb24uZXh0ZW5kKClcblxuZXhwb3J0cy5tb2R1bGUgPSBNYXJpb25ldHRlLkNvbGxlY3Rpb25WaWV3LmV4dGVuZFxuICAgIGl0ZW1WaWV3OiBWaWV3Q29udGVudFxuICAgIGNvbGxlY3Rpb246IG5ldyBDb2xsZWN0aW9uQ29udGVudCgpXG5cbiAgICBpbml0aWFsaXplOiAtPlxuICAgICAgICBAbGlzdGVuVG8gJC5hcHAudmVudCwgJ3JvdXRlJywgQHJlc2V0Q29sbGVjdGlvblxuICAgICAgICBAbGlzdGVuVG8gQCwgXCJjb2xsZWN0aW9uOnJlbmRlcmVkXCIsIEBoaWdobGlnaHRDb2RlXG5cbiAgICB0b0NvbGxlY3Rpb246ICggY29udGVudHMsIG9iamVjdCkgLT5cbiAgICAgICAgcmVzdWx0ID0gW11cblxuICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiBjb250ZW50c1xuICAgICAgICAgICAgaWYga2V5LmluY2x1ZGU/IGFuZCBrZXkuaW5jbHVkZS5sZW5ndGhcbiAgICAgICAgICAgICAgICBpbm5lciA9IG9iamVjdFsga2V5Lm5hbWUgXVxuXG4gICAgICAgICAgICAgICAgZm9yIG1lbnVJdGVtIGluIGtleS5pbmNsdWRlXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoXG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51OiBtZW51SXRlbS5tZW51XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBtZW51SXRlbS5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBtZW51SXRlbS5wYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaW5uZXJbIG1lbnVJdGVtLm5hbWUgXVxuXG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2hcbiAgICAgICAgICAgICAgICAgICAgbWVudToga2V5Lm1lbnVcbiAgICAgICAgICAgICAgICAgICAgbmFtZToga2V5Lm5hbWVcbiAgICAgICAgICAgICAgICAgICAgcGF0aDoga2V5LnBhdGhcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9iamVjdFsga2V5Lm5hbWUgXVxuICAgICAgICByZXN1bHRcblxuICAgIHJlc2V0Q29sbGVjdGlvbjogLT5cbiAgICAgICAgQGNvbGxlY3Rpb24ucmVzZXQgQHRvQ29sbGVjdGlvbiAkLmFwcC5jb250ZW50c1sgQmFja2JvbmUuaGlzdG9yeS50ZW1wbGF0ZXMgXSwgJC5hcHAudGVtcGxhdGVzLmtpdFsgQmFja2JvbmUuaGlzdG9yeS50ZW1wbGF0ZXMgXVxuXG4gICAgb25SZW5kZXI6IC0+XG4gICAgICAgIGlmICQuYXBwLm1haW4uY3VycmVudFZpZXcuY29udGVudC5jdXJyZW50Vmlldz9cblxuICAgICAgICAgICAgQG1lbnUgPSAkLmFwcC5tYWluLmN1cnJlbnRWaWV3LmNvbnRlbnQuY3VycmVudFZpZXcuc2lkZWJhci4kZWxcbiAgICAgICAgICAgIHNldFRpbWVvdXQgPT5cbiAgICAgICAgICAgICAgICBpZiBAbWVudVswXS5kYXRhPyBhbmQgQG1lbnVbMF0uZGF0YVsna2l0U2Nyb2xsc3B5J10/XG4gICAgICAgICAgICAgICAgICAgIEBtZW51WzBdLmRhdGFbJ2tpdFNjcm9sbHNweSddLnJlZnJlc2goKVxuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgQG1lbnVbMF0uc2Nyb2xsc3B5XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6ICcuZGV2LW1haW4tY29udGVudCdcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogMTVcbiAgICAgICAgICAgICwgMTAwXG5cbiAgICBvbkJlZm9yZUNsb3NlOiAtPlxuICAgICAgICBAbWVudVswXS5kYXRhWydraXRTY3JvbGxzcHknXS5kZXN0cm95KClcblxuICAgIGhpZ2hsaWdodENvZGU6IC0+XG4gICAgICAgICRlbGVtZW50cyA9IEAkZWwuZmluZCgnW2hsanNdJylcbiAgICAgICAgY291bnQgPSAkZWxlbWVudHMubGVuZ3RoXG5cbiAgICAgICAgJGVsZW1lbnRzLmVhY2ggKCBpbmRleCwgcHJlICkgPT5cbiAgICAgICAgICAgICRwcmUgPSAkKHByZSlcbiAgICAgICAgICAgIGh0bWwgPSAkcHJlLmh0bWwoKVxuXG4gICAgICAgICAgICBpZiBub3QgJHByZS5oYXNDbGFzcyAnbGFuZy1jb2ZmZWVzY3JpcHQnXG4gICAgICAgICAgICAgICAgJChwcmUpLmh0bWwgc2FmZV90YWdzX3JlcGxhY2UoaHRtbClcblxuICAgICAgICAgICAgaWYgLS1jb3VudCA8PSAwXG4gICAgICAgICAgICAgICAgcHJldHR5UHJpbnQoKVxuICAgICAgICAgICAgICAgIGlmIEBtZW51PyBhbmQgQG1lbnVbMF0uZGF0YT8gYW5kIEBtZW51WzBdLmRhdGFbJ2tpdFNjcm9sbHNweSddP1xuICAgICAgICAgICAgICAgICAgICBAbWVudVswXS5kYXRhWydraXRTY3JvbGxzcHknXS5yZWZyZXNoKClcbiIsIiMgTW9kZWxNZW51ID0gcmVxdWlyZSgnLi4vLi4vbW9kZWxzL3NpZGViYXIvbWVudScpLm1vZHVsZVxuVmlld01lbnUgPSByZXF1aXJlKCcuLi8uLi92aWV3cy9oZWFkZXIvbWVudScpXG4jXG4jXG5jb2xsZWN0aW9uRGF0YSA9IFtdXG5fLmVhY2ggJC5hcHAuY29udGVudHMsICggdmFsLCBrZXkgKSAtPlxuICAgIGNvbGxlY3Rpb25EYXRhLnB1c2hcbiAgICAgICAgbmFtZToga2V5XG5cbmNvbGxlY3Rpb25NZW51ID0gbmV3IEJhY2tib25lLkNvbGxlY3Rpb24gY29sbGVjdGlvbkRhdGFcblxuXG4jIE1haW4gbWVudSBpbiBoZWFkZXJcbiMgVmlzaWJsZSBvbmx5IG9uIGJpZyBzY3JlZW5zXG5leHBvcnRzLm1haW4gPSBNYXJpb25ldHRlLkNvbGxlY3Rpb25WaWV3LmV4dGVuZFxuICAgIHRhZ05hbWU6IFwidWxcIlxuICAgIGNsYXNzTmFtZTogJy1tZW51J1xuICAgIGl0ZW1WaWV3OiBWaWV3TWVudS5tYWluXG4gICAgY29sbGVjdGlvbjogY29sbGVjdGlvbk1lbnVcbiAgICBjaGFubmVsOiBCYWNrYm9uZS5XcmVxci5yYWRpby5jaGFubmVsKCAnbWVudScgKVxuXG4gICAgaW5pdGlhbGl6ZTogLT5cblxuICAgICAgICBAY2hhbm5lbC5jb21tYW5kcy5zZXRIYW5kbGVyICdhY3RpdmF0ZScsICggaWQgKSA9PlxuICAgICAgICAgICAgQCRlbC5maW5kKCdsaS5fYWN0aXZlXycpLnJlbW92ZUNsYXNzICdfYWN0aXZlXydcbiAgICAgICAgICAgIGlmIGlkP1xuICAgICAgICAgICAgICAgICQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ21vYmlsZW1lbnUnLCAnYWN0aXZhdGUnLCBpZFxuICAgICAgICAgICAgICAgIEAkZWwuZmluZCggaWQgKS5wYXJlbnQoKS5hZGRDbGFzcyAnX2FjdGl2ZV8nXG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgJC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbW9iaWxlbWVudScsICdhY3RpdmF0ZSdcblxuXG4jIE1vYmlsZSBtZW51IGluIGhlYWRlclxuIyBWaXNpYmxlIG9ubHkgb24gdGFibGV0cyBhbmQgcGhvbmVzXG5leHBvcnRzLm1vYmlsZSA9IE1hcmlvbmV0dGUuQ29sbGVjdGlvblZpZXcuZXh0ZW5kXG4gICAgdGFnTmFtZTogXCJ1bFwiXG4gICAgY2xhc3NOYW1lOiAnLXBpbGxzIC1kYXJrLSdcbiAgICBpdGVtVmlldzogVmlld01lbnUubW9iaWxlXG4gICAgY29sbGVjdGlvbjogY29sbGVjdGlvbk1lbnVcbiAgICBjaGFubmVsOiBCYWNrYm9uZS5XcmVxci5yYWRpby5jaGFubmVsKCAnbW9iaWxlbWVudScgKVxuXG4gICAgaW5pdGlhbGl6ZTogLT5cblxuICAgICAgICBAY2hhbm5lbC5jb21tYW5kcy5zZXRIYW5kbGVyICdhY3RpdmF0ZScsICggaWQgKSA9PlxuICAgICAgICAgICAgQCRlbC5maW5kKCdsaS5fYWN0aXZlXycpLnJlbW92ZUNsYXNzICdfYWN0aXZlXydcbiAgICAgICAgICAgIGlmIGlkP1xuICAgICAgICAgICAgICAgIEAkZWwuZmluZCggaWQgKS5wYXJlbnQoKS5hZGRDbGFzcyAnX2FjdGl2ZV8nXG4iLCJNb2RlbE1lbnUgPSByZXF1aXJlKCcuLi8uLi9tb2RlbHMvc2lkZWJhci9tZW51JykubW9kZWxcblZpZXdNZW51SXRlbSA9IHJlcXVpcmUoJy4uLy4uL3ZpZXdzL3NpZGViYXIvbWVudScpLm1vZHVsZVxuXG5cbkNvbGxlY3Rpb25NZW51ID0gQmFja2JvbmUuQ29sbGVjdGlvbi5leHRlbmRcbiAgICBtb2RlbDogTW9kZWxNZW51XG5cbmNvbGxlY3Rpb25NZW51ID0gbmV3IENvbGxlY3Rpb25NZW51KClcblxuXG5leHBvcnRzLm1vZHVsZSA9IE1hcmlvbmV0dGUuQ29sbGVjdGlvblZpZXcuZXh0ZW5kXG4gICAgdGFnTmFtZTogXCJ1bFwiXG4gICAgY2xhc3NOYW1lOiAnLWxpc3QtZ3JvdXAgLXByaW1hcnktJ1xuICAgIGl0ZW1WaWV3OiBWaWV3TWVudUl0ZW1cbiAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uTWVudVxuXG4gICAgaW5pdGlhbGl6ZTogLT5cbiAgICAgICAgQGxpc3RlblRvICQuYXBwLnZlbnQsICdyb3V0ZScsIEByZXNldENvbGxlY3Rpb25cbiAgICAgICAgQCRlbC5hcHBlbmQgXCI8bGkgY2xhc3M9J19zbWFsbCBfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzXycgc3R5bGU9J21hcmdpbi1ib3R0b206IDE1cHgnPjxzbWFsbCBjbGFzcz0nZGV2LW1lbnUtc21hbGwnPjxhIGhyZWY9JyNtYWlubWVudScgZGF0YS1ieXBhc3M+PGkgY2xhc3M9J2ZhIGZhLWFycm93LXVwJz48L2k+IG9uIHRvcDwvYT48L3NtYWxsPjwvbGk+XCJcblxuICAgIHJlc2V0Q29sbGVjdGlvbjogLT5cbiAgICAgICAgQGNvbGxlY3Rpb24ucmVzZXQgJC5hcHAuY29udGVudHNbIEJhY2tib25lLmhpc3RvcnkudGVtcGxhdGVzIF1cblxuICAgIG9uQmVmb3JlQ2xvc2U6IC0+XG4gICAgICAgIEBlbC5kYXRhWydraXRBZmZpeCddLmRlc3Ryb3koKVxuIiwiZXhwb3J0cy5jb25maWcgPVxuICAgIGFwaTogXCIvYXBpLzAxXCJcbiIsImV4cG9ydHMuc3RhcnQgPSBbXG5cdHtcblx0XHRuYW1lOiBcImRvd25sb2FkXCJcblx0XHRwYXRoOiBcImRvd2xvYWRDb21tb25cIlxuXHR9XG5cdHtcblx0XHRuYW1lOiBcImRpZmZlcmVuY2VcIlxuXHRcdHBhdGg6IFwiZGlmZmVyZW5jZUNvbW1vblwiXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwic3RydWN0dXJlXCJcblx0XHRwYXRoOiBcImNvbW1vblN0cnVjdHVyZVwiXG5cdFx0aW5jbHVkZTogW1xuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiAnY29tbW9uJ1xuXHRcdFx0XHRwYXRoOiAnY29tbW9uU3RydWN0dXJlJ1xuXHRcdFx0XHRpbnZpc2libGU6IHllc1xuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiAnYnVpbGQnXG5cdFx0XHRcdHBhdGg6ICdzdHJ1Y3R1cmVCdWlsZCdcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogJ3NvdXJjZXMnXG5cdFx0XHRcdHBhdGg6ICdzdHJ1Y3R1cmVTb3VyY2VzJ1xuXHRcdFx0fVxuXHRcdF1cblx0fVxuXHR7XG5cdFx0bmFtZTogXCJob3d0b1wiXG5cdFx0cGF0aDogXCJjb21tb25Ib3d0b1wiXG5cdFx0aW5jbHVkZTogW1xuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiAnY29tbW9uJ1xuXHRcdFx0XHRwYXRoOiAnY29tbW9uSG93dG8nXG5cdFx0XHRcdGludmlzaWJsZTogeWVzXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6ICdpbnN0YWxsJ1xuXHRcdFx0XHRwYXRoOiAnaG93dG9JbnN0YWxsJ1xuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiAnYnVpbGQnXG5cdFx0XHRcdHBhdGg6ICdob3d0b0J1aWxkJ1xuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiAndGhlbWVNYW5hZ2UnXG5cdFx0XHRcdG1lbnU6ICdhZGQgb3IgZWRpdCB0aGVtZXMnXG5cdFx0XHRcdHBhdGg6ICdob3d0b1RoZW1lTWFuYWdlJ1xuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiAnc2l6ZU1hbmFnZSdcblx0XHRcdFx0bWVudTogJ2FkZCBvciBlZGl0IHNpemVzJ1xuXHRcdFx0XHRwYXRoOiAnaG93dG9TaXplTWFuYWdlJ1xuXHRcdFx0fVxuXHRcdF1cblx0fVxuXVxuXG5cbmV4cG9ydHMuYmFzaWMgPSBbXG5cdHtcblx0XHRuYW1lOiBcInR5cG9ncmFwaHlcIlxuXHRcdHBhdGg6IFwidHlwb0NvbW1vblwiXG5cdFx0aW5jbHVkZTogW1xuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImNvbW1vblwiXG5cdFx0XHRcdHBhdGg6IFwidHlwb0NvbW1vblwiXG5cdFx0XHRcdGludmlzaWJsZTogeWVzXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwicnRsXCJcblx0XHRcdFx0cGF0aDogXCJ0eXBvUnRsXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJoZWFkaW5nc1wiXG5cdFx0XHRcdHBhdGg6IFwidHlwb0hlYWRpbmdzXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJib2R5XCJcblx0XHRcdFx0cGF0aDogXCJ0eXBvQm9keVwiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwibGlua3NcIlxuXHRcdFx0XHRwYXRoOiBcInR5cG9MaW5rc1wiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwibGlzdHNcIlxuXHRcdFx0XHRwYXRoOiBcInR5cG9MaXN0c1wiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiY29kZVwiXG5cdFx0XHRcdHBhdGg6IFwidHlwb0NvZGVcIlxuXHRcdFx0fVxuXHRcdF1cblx0fVxuXHR7XG5cdFx0bmFtZTogXCJncmlkXCJcblx0XHRwYXRoOiBcImdyaWRDb21tb25cIlxuXHRcdGluY2x1ZGU6IFtcblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb21tb25cIlxuXHRcdFx0XHRwYXRoOiBcImdyaWRDb21tb25cIlxuXHRcdFx0XHRpbnZpc2libGU6IHllc1xuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImNvbnRhaW5lclwiXG5cdFx0XHRcdHBhdGg6IFwiZ3JpZENvbnRhaW5lclwiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwicm93XCJcblx0XHRcdFx0cGF0aDogXCJncmlkUm93XCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb2x1bW5zXCJcblx0XHRcdFx0cGF0aDogXCJncmlkQ29sdW1uc1wiXG5cdFx0XHR9XG5cdFx0XVxuXHR9XG5cdHtcblx0XHRuYW1lOiBcInRhYmxlc1wiXG5cdFx0cGF0aDogXCJ0YWJsZXNDb21tb25cIlxuXHRcdGluY2x1ZGU6IFtcblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb21tb25cIlxuXHRcdFx0XHRwYXRoOiBcInRhYmxlc0NvbW1vblwiXG5cdFx0XHRcdGludmlzaWJsZTogeWVzXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiYmFzaWNcIlxuXHRcdFx0XHRwYXRoOiBcInRhYmxlc2Jhc2ljXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJzdHJpcGVkXCJcblx0XHRcdFx0cGF0aDogXCJ0YWJsZXNTdHJpcGVkXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJob3ZlcmVkXCJcblx0XHRcdFx0cGF0aDogXCJ0YWJsZXNIb3ZlcmVkXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJyb3dzXCJcblx0XHRcdFx0cGF0aDogXCJ0YWJsZXNSb3dzXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjZWxsc1wiXG5cdFx0XHRcdHBhdGg6IFwidGFibGVzQ2VsbHNcIlxuXHRcdFx0fVxuXHRcdF1cblx0fVxuXHR7XG5cdFx0bmFtZTogXCJmb3Jtc1wiXG5cdFx0cGF0aDogXCJmb3Jtc0dyaWRcIlxuXHRcdGluY2x1ZGU6IFtcblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb21tb25cIlxuXHRcdFx0XHRwYXRoOiBcImZvcm1zQ29tbW9uXCJcblx0XHRcdFx0aW52aXNpYmxlOiB5ZXNcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJncmlkXCJcblx0XHRcdFx0cGF0aDogXCJmb3Jtc0dyaWRcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImZpZWxkc1wiXG5cdFx0XHRcdHBhdGg6IFwiZm9ybXNGaWVsZHNcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImZpZWxkc2V0XCJcblx0XHRcdFx0cGF0aDogXCJmb3Jtc0ZpZWxkc2V0XCJcblx0XHRcdH1cblx0XHRdXG5cdH1cbl1cblxuXG5leHBvcnRzLndpZGdldHMgPSBbXG5cdHtcblx0XHRuYW1lOiBcImJ1dHRvbnNcIlxuXHRcdHBhdGg6IFwiYnV0dG9uc0NvbW1vblwiXG5cdFx0aW5jbHVkZTogW1xuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImNvbW1vblwiXG5cdFx0XHRcdHBhdGg6IFwiYnV0dG9uc0NvbW1vblwiXG5cdFx0XHRcdGludmlzaWJsZTogeWVzXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwidGhlbWVzXCJcblx0XHRcdFx0cGF0aDogXCJidXR0b25zVGhlbWVzXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJzaXplc1wiXG5cdFx0XHRcdHBhdGg6IFwiYnV0dG9uc1NpemVzXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJzdGF0ZXNcIlxuXHRcdFx0XHRwYXRoOiBcImJ1dHRvbnNTdGF0ZXNcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImJsb2Nrc1wiXG5cdFx0XHRcdHBhdGg6IFwiYnV0dG9uc0Jsb2Nrc1wiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiZ2hvc3RcIlxuXHRcdFx0XHRwYXRoOiBcImJ1dHRvbnNHaG9zdFwiXG5cdFx0XHR9XG5cdFx0XVxuXHR9XG5cdHtcblx0XHRuYW1lOiBcImdyb3Vwc1wiXG5cdFx0cGF0aDogXCJncm91cHNDb21tb25cIlxuXHRcdGluY2x1ZGU6IFtcblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb21tb25cIlxuXHRcdFx0XHRwYXRoOiBcImdyb3Vwc0NvbW1vblwiXG5cdFx0XHRcdGludmlzaWJsZTogeWVzXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiYnV0dG9uc1wiXG5cdFx0XHRcdHBhdGg6IFwiZ3JvdXBzQnV0dG9uc1wiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiaW5wdXRzXCJcblx0XHRcdFx0cGF0aDogXCJncm91cHNJbnB1dHNcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImFkZG9uc1wiXG5cdFx0XHRcdHBhdGg6IFwiZ3JvdXBzQWRkb25zXCJcblx0XHRcdH1cblx0XHRdXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwiZHJvcGRvd25zXCJcblx0XHRwYXRoOiBcImRyb3Bkb3duc0NvbW1vblwiXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwibmF2XCJcblx0XHRwYXRoOiBcIm5hdkNvbW1vblwiXG5cdFx0aW5jbHVkZTogW1xuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImNvbW1vblwiXG5cdFx0XHRcdHBhdGg6IFwibmF2Q29tbW9uXCJcblx0XHRcdFx0aW52aXNpYmxlOiB5ZXNcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJtZW51XCJcblx0XHRcdFx0cGF0aDogXCJuYXZNZW51XCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJ0YWJzXCJcblx0XHRcdFx0cGF0aDogXCJuYXZUYWJzXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJwaWxsc1wiXG5cdFx0XHRcdHBhdGg6IFwibmF2UGlsbHNcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImJhclwiXG5cdFx0XHRcdHBhdGg6IFwibmF2QmFyXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJsaXN0LWdyb3VwXCJcblx0XHRcdFx0cGF0aDogXCJuYXZMaXN0R3JvdXBcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImJ1bGxldHNcIlxuXHRcdFx0XHRwYXRoOiBcIm5hdkJ1bGxldHNcIlxuXHRcdFx0fVxuXHRcdF1cblx0fVxuXHR7XG5cdFx0bmFtZTogXCJsYWJlbHNcIlxuXHRcdHBhdGg6IFwibGFiZWxzQ29tbW9uXCJcblx0fVxuXHR7XG5cdFx0bmFtZTogXCJiYWRnZXNcIlxuXHRcdHBhdGg6IFwiYmFkZ2VzQ29tbW9uXCJcblx0fVxuXHR7XG5cdFx0bmFtZTogXCJwcm9ncmVzc1wiXG5cdFx0cGF0aDogXCJwcm9ncmVzc0NvbW1vblwiXG5cdFx0aW5jbHVkZTogW1xuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImNvbW1vblwiXG5cdFx0XHRcdHBhdGg6IFwicHJvZ3Jlc3NDb21tb25cIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcInNsaW1cIlxuXHRcdFx0XHRwYXRoOiBcInByb2dyZXNzU2xpbVwiXG5cdFx0XHR9XG5cdFx0XVxuXHR9XG5cdHtcblx0XHRuYW1lOiBcImFsZXJ0c1wiXG5cdFx0cGF0aDogXCJhbGVydHNDb21tb25cIlxuXHR9XG5cdHtcblx0XHRuYW1lOiBcInRodW1ibmFpbHNcIlxuXHRcdHBhdGg6IFwidGh1bWJuYWlsc0NvbW1vblwiXG5cdFx0aW5jbHVkZTogW1xuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImNvbW1vblwiXG5cdFx0XHRcdHBhdGg6IFwidGh1bWJuYWlsc0NvbW1vblwiXG5cdFx0XHRcdGludmlzaWJsZTogeWVzXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiY2FwdGlvbnNcIlxuXHRcdFx0XHRwYXRoOiBcInRodW1ibmFpbHNDYXB0aW9uc1wiXG5cdFx0XHR9XG5cdFx0XVxuXHR9XG5cdHtcblx0XHRuYW1lOiBcImF2YXRhcnNcIlxuXHRcdHBhdGg6IFwiYXZhdGFyc0NvbW1vblwiXG5cdFx0aW5jbHVkZTogW1xuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImNvbW1vblwiXG5cdFx0XHRcdHBhdGg6IFwiYXZhdGFyc0NvbW1vblwiXG5cdFx0XHRcdGludmlzaWJsZTogeWVzXG5cdFx0XHR9XG5cdFx0XVxuXHR9XG5cdHtcblx0XHRuYW1lOiBcImNvbW1lbnRzXCJcblx0XHRwYXRoOiBcImNvbW1lbnRzQ29tbW9uXCJcblx0XHRpbmNsdWRlOiBbXG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiY29tbW9uXCJcblx0XHRcdFx0cGF0aDogXCJjb21tZW50c0NvbW1vblwiXG5cdFx0XHRcdGludmlzaWJsZTogeWVzXG5cdFx0XHR9XG5cdFx0XVxuXHR9XG5cdHtcblx0XHRuYW1lOiBcInNwaW5uZXJzXCJcblx0XHRwYXRoOiBcInNwaW5uZXJzQ29tbW9uXCJcblx0XHRpbmNsdWRlOiBbXG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiY29tbW9uXCJcblx0XHRcdFx0cGF0aDogXCJzcGlubmVyc0NvbW1vblwiXG5cdFx0XHRcdGludmlzaWJsZTogeWVzXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwic3F1YXJlXCJcblx0XHRcdFx0cGF0aDogXCJzcGlubmVyc1NxdWFyZVwiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwicmluZ1wiXG5cdFx0XHRcdHBhdGg6IFwic3Bpbm5lcnNSaW5nXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJmYlwiXG5cdFx0XHRcdHBhdGg6IFwic3Bpbm5lcnNGYlwiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwid2F2ZXNcIlxuXHRcdFx0XHRwYXRoOiBcInNwaW5uZXJzV2F2ZXNcIlxuXHRcdFx0fVxuXHRcdF1cblx0fVxuXHR7XG5cdFx0bmFtZTogXCJzaGFkZXJzXCJcblx0XHRwYXRoOiBcInNoYWRlcnNDb21tb25cIlxuXHRcdGluY2x1ZGU6IFtcblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb21tb25cIlxuXHRcdFx0XHRwYXRoOiBcInNoYWRlcnNDb21tb25cIlxuXHRcdFx0XHRpbnZpc2libGU6IHllc1xuXHRcdFx0fVxuXHRcdF1cblx0fVxuXVxuXG5leHBvcnRzLnV0aWxpdGllcyA9IFtcblx0e1xuXHRcdG5hbWU6IFwicmVzcG9uc2l2ZVwiXG5cdFx0cGF0aDogXCJyZXNwb25zaXZlQ29tbW9uXCJcblx0fVxuXHR7XG5cdFx0bmFtZTogXCJvcmRlclwiXG5cdFx0cGF0aDogXCJvcmRlckNvbW1vblwiXG5cdH1cbl1cblxuXG5cbmV4cG9ydHMuY29tcG9uZW50cyA9IFtcblx0e1xuXHRcdG5hbWU6IFwiYnV0dG9uXCJcblx0XHRwYXRoOiBcImJ1dHRvbkNvbW1vblwiXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwicG9wdXBcIlxuXHRcdHBhdGg6IFwicG9wdXBDb21tb25cIlxuXHR9XG5cdHtcblx0XHRuYW1lOiBcInRhYnNcIlxuXHRcdHBhdGg6IFwidGFic0NvbW1vblwiXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwibW9kYWxcIlxuXHRcdHBhdGg6IFwibW9kYWxDb21tb25cIlxuXHR9XG5cdHtcblx0XHRuYW1lOiBcInNjcm9sbHNweVwiXG5cdFx0cGF0aDogXCJzY3JvbGxzcHlDb21tb25cIlxuXHR9XG5cdHtcblx0XHRuYW1lOiBcImFmZml4XCJcblx0XHRwYXRoOiBcImFmZml4Q29tbW9uXCJcblx0fVxuXHR7XG5cdFx0bmFtZTogXCJ3YWxsXCJcblx0XHRwYXRoOiBcIndhbGxDb21tb25cIlxuXHR9XG5cdHtcblx0XHRuYW1lOiBcInNreWxpbmVcIlxuXHRcdHBhdGg6IFwic2t5bGluZUNvbW1vblwiXG5cdH1cbl1cbiIsIkNvbGxlY3Rpb25WaWV3TWVudSA9IHJlcXVpcmUoICcuLi9jb2xsZWN0aW9udmlld3MvaGVhZGVyL21lbnUnIClcblZpZXdTb2NpYWxCdXR0b24gPSByZXF1aXJlKCAnLi4vdmlld3MvaGVhZGVyL3NvY2lhbCcgKVxuXG5cbmV4cG9ydHMubW9kdWxlID0gTWFyaW9uZXR0ZS5MYXlvdXQuZXh0ZW5kXG5cbiAgICB0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLm1haW5cbiAgICBtb2RlbDogbmV3IEJhY2tib25lLk1vZGVsIGtpdFxuXG4gICAgcmVnaW9uczpcbiAgICAgICAgbWVudTogJyNtYWlubWVudSdcbiAgICAgICAgbW9iaWxlbWVudTogJyNtb2JpbGVtZW51J1xuICAgICAgICBjb250ZW50OiAnI21haW5jb250ZW50J1xuXG4gICAgICAgIHNvY2lhbFR3aXR0ZXI6ICcjc29jaWFsLXR3aXR0ZXInXG4gICAgICAgIHNvY2lhbEZhY2Vib29rOiAnI3NvY2lhbC1mYWNlYm9vaydcbiAgICAgICAgc29jaWFsR2l0aHViOiAnI3NvY2lhbC1naXRodWInXG5cbiAgICBjaGFubmVsOiBCYWNrYm9uZS5XcmVxci5yYWRpby5jaGFubmVsKCAnbG9hZGVyJyApXG5cbiAgICBpbml0aWFsaXplOiAtPlxuXG4gICAgICAgIEBjaGFubmVsLmNvbW1hbmRzLnNldEhhbmRsZXIgJ3N0YXJ0JywgKCBjb2xvciApID0+XG4gICAgICAgICAgICBpZiBAbG9hZGVyP1xuICAgICAgICAgICAgICAgIGlmIGNvbG9yP1xuICAgICAgICAgICAgICAgICAgICBAbG9hZGVyLmF0dHIgJ3N0eWxlJyxcImJhY2tncm91bmQtY29sb3I6ICN7Y29sb3J9O1wiXG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBAbG9hZGVyLnJlbW92ZUF0dHIgJ3N0eWxlJ1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQgPT5cbiAgICAgICAgICAgICAgICAgICAgQGxvYWRlci5hZGRDbGFzcyAnX2FjdGl2ZV8nXG4gICAgICAgICAgICAgICAgLCAxXG5cbiAgICAgICAgQGNoYW5uZWwuY29tbWFuZHMuc2V0SGFuZGxlciAnZmluaXNoJywgPT5cbiAgICAgICAgICAgIGlmIEBsb2FkZXI/IHRoZW4gQGxvYWRlci5yZW1vdmVDbGFzcyAnX2FjdGl2ZV8nXG5cblxuICAgIG9uUmVuZGVyOiAtPlxuICAgICAgICBAbG9hZGVyID0gQCRlbC5maW5kICcjbG9hZGVyJ1xuXG4gICAgICAgIEBtZW51LnNob3cgbmV3IENvbGxlY3Rpb25WaWV3TWVudS5tYWluKClcbiAgICAgICAgQG1vYmlsZW1lbnUuc2hvdyBuZXcgQ29sbGVjdGlvblZpZXdNZW51Lm1vYmlsZSgpXG5cbiAgICAgICAgQHNvY2lhbFR3aXR0ZXIuc2hvdyBuZXcgVmlld1NvY2lhbEJ1dHRvbi50d2l0dGVyKClcbiAgICAgICAgQHNvY2lhbEZhY2Vib29rLnNob3cgbmV3IFZpZXdTb2NpYWxCdXR0b24uZmFjZWJvb2soKVxuICAgICAgICBAc29jaWFsR2l0aHViLnNob3cgbmV3IFZpZXdTb2NpYWxCdXR0b24uZ2l0aHViKClcbiIsImV4cG9ydHMubW9kdWxlID0gTWFyaW9uZXR0ZS5MYXlvdXQuZXh0ZW5kXG4gICAgbW9kZWw6IG5ldyBCYWNrYm9uZS5Nb2RlbCBraXRcbiAgICB0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLmVycm9yNDA0IiwiQ29sbGVjdGlvblZpZXdNZW51ID0gcmVxdWlyZSggJy4uLy4uL2NvbGxlY3Rpb252aWV3cy9zaWRlYmFyL21lbnUnICkubW9kdWxlXG5Db2xsZWN0aW9uVmlld0NvbnRlbnQgPSByZXF1aXJlKCAnLi4vLi4vY29sbGVjdGlvbnZpZXdzL2NvbnRlbnQnICkubW9kdWxlXG5cblZpZXdTb2NpYWwgPSByZXF1aXJlKCAnLi4vLi4vdmlld3MvcGFnZXMvc29jaWFsJyApXG5cblxuZXhwb3J0cy5tb2R1bGUgPSBNYXJpb25ldHRlLkxheW91dC5leHRlbmRcblxuICAgIG1vZGVsOiBuZXcgQmFja2JvbmUuTW9kZWwga2l0XG5cbiAgICB0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5iYXNpY1xuXG4gICAgcmVnaW9uczpcbiAgICAgICAgc2lkZWJhcjogJyNzaWRlYmFyJ1xuICAgICAgICBjb250ZW50OiAnI2NvbnRlbnQnXG5cbiAgICAgICAgc29jaWFsQ29udHJpYnV0ZTogJyNzb2NpYWwtY29udHJpYnV0ZSdcblxuXG4gICAgb25SZW5kZXI6IC0+XG5cbiAgICAgICAgQHNpZGViYXIuc2hvdyBuZXcgQ29sbGVjdGlvblZpZXdNZW51KClcbiAgICAgICAgQGNvbnRlbnQuc2hvdyBuZXcgQ29sbGVjdGlvblZpZXdDb250ZW50KClcbiAgICAgICAgQHNvY2lhbENvbnRyaWJ1dGUuc2hvdyBuZXcgVmlld1NvY2lhbC5naXRodWIoKVxuXG4gICAgICAgIHNldFRpbWVvdXQgPT5cbiAgICAgICAgICAgIEBzaWRlYmFyLmN1cnJlbnRWaWV3LiRlbFswXS5hZmZpeCggb2Zmc2V0OiAtMjUgKVxuICAgICAgICAsIDFcbiAgICAgICAgJC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbWVudScsICdhY3RpdmF0ZScsICcjYmFzaWMnXG4gICAgICAgICQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ2xvYWRlcicsICdmaW5pc2gnXG4iLCJleHBvcnRzLm1vZHVsZSA9IE1hcmlvbmV0dGUuTGF5b3V0LmV4dGVuZFxuICAgIG1vZGVsOiBuZXcgQmFja2JvbmUuTW9kZWwga2l0XG4gICAgdGVtcGxhdGU6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuY2hhbmdlbG9nIiwiQ29sbGVjdGlvblZpZXdNZW51ID0gcmVxdWlyZSggJy4uLy4uL2NvbGxlY3Rpb252aWV3cy9zaWRlYmFyL21lbnUnICkubW9kdWxlXG5Db2xsZWN0aW9uVmlld0NvbnRlbnQgPSByZXF1aXJlKCAnLi4vLi4vY29sbGVjdGlvbnZpZXdzL2NvbnRlbnQnICkubW9kdWxlXG5cblZpZXdTb2NpYWwgPSByZXF1aXJlKCAnLi4vLi4vdmlld3MvcGFnZXMvc29jaWFsJyApXG5cblxuZXhwb3J0cy5tb2R1bGUgPSBNYXJpb25ldHRlLkxheW91dC5leHRlbmRcblxuXHRtb2RlbDogbmV3IEJhY2tib25lLk1vZGVsIGtpdFxuXG5cdHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmNvbXBvbmVudHNcblxuXHRyZWdpb25zOlxuXHRcdHNpZGViYXI6ICcjc2lkZWJhcidcblx0XHRjb250ZW50OiAnI2NvbnRlbnQnXG5cdFx0c29jaWFsQ29udHJpYnV0ZTogJyNzb2NpYWwtY29udHJpYnV0ZSdcblxuXG5cdG9uUmVuZGVyOiAtPlxuXG5cdFx0QHNpZGViYXIuc2hvdyBuZXcgQ29sbGVjdGlvblZpZXdNZW51KClcblx0XHRAY29udGVudC5zaG93IG5ldyBDb2xsZWN0aW9uVmlld0NvbnRlbnQoKVxuXHRcdEBzb2NpYWxDb250cmlidXRlLnNob3cgbmV3IFZpZXdTb2NpYWwuZ2l0aHViKClcblx0XHRzZXRUaW1lb3V0ID0+XG5cdFx0XHRAc2lkZWJhci5jdXJyZW50Vmlldy4kZWxbMF0uYWZmaXgoIG9mZnNldDogLTI1IClcblx0XHQsIDFcblx0XHQkLmFwcC5jb21tYW5kcy5leGVjdXRlICdtZW51JywgJ2FjdGl2YXRlJywgJyNjb21wb25lbnRzJ1xuXHRcdCQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ2xvYWRlcicsICdmaW5pc2gnXG5cblx0XHQjIyNcblx0XHRcdFRPRE86IFdURj8gUmVtb3ZlIHNldFRpbWVvdXQuXG5cdFx0IyMjXG5cdFx0c2V0VGltZW91dCA9PlxuXHRcdFx0IyBJbml0IGZpcnN0IGJ1dHRvbnMgYmxvY2tcblx0XHRcdEAkZWwuZmluZCggJ1tkYXRhLWdyb3VwPVwiYmJiXCJdLCBbZGF0YS1ncm91cD1cImJiYjFcIl0sIC5idG4tc2ltcGxlJyApLmVhY2ggKGluZGV4LCBidG4pIC0+XG5cdFx0XHRcdGJ0bi5idXR0b24oKVxuXG5cdFx0XHQjIEJ1dHRvbnMgd2l0aCBiZWZvcmVcblx0XHRcdCQoJy5idG4td2l0aC1iZWZvcmUnKS5lYWNoIChpbmRleCwgYnRuKSAtPlxuXHRcdFx0XHRidG4uYnV0dG9uXG5cdFx0XHRcdFx0YmVmb3JlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0ZCA9ICQuRGVmZXJyZWQoKVxuXHRcdFx0XHRcdFx0QCRlbCA9ICQoQClcblx0XHRcdFx0XHRcdEAkZWwuaHRtbCAnTG9hZGluZy4uLidcblx0XHRcdFx0XHRcdEAkZWwuYWRkQ2xhc3MgJ19kaXNhYmxlZF8nXG5cdFx0XHRcdFx0XHRzZXRUaW1lb3V0IC0+XG5cdFx0XHRcdFx0XHRcdGQucmVzb2x2ZSgpXG5cdFx0XHRcdFx0XHQsMjAwMFxuXHRcdFx0XHRcdFx0ZC5wcm9taXNlKClcblxuXHRcdFx0XHRcdG9uYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0QCRlbC5yZW1vdmVDbGFzcyAnX2Rpc2FibGVkXydcblx0XHRcdFx0XHRcdEAkZWwuaHRtbCAnQ2hlY2tlZCdcblxuXHRcdFx0XHRcdG9udW5hY3RpdmU6IC0+XG5cdFx0XHRcdFx0XHRAJGVsLmh0bWwgJ0NoZWNrYm94J1xuXG5cdFx0XHQkKCcucmFkaW8td2l0aC1iZWZvcmUnKS5lYWNoIChpbmRleCwgYnRuKSAtPlxuXHRcdFx0XHRidG4uYnV0dG9uXG5cdFx0XHRcdFx0YmVmb3JlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0ZCA9ICQuRGVmZXJyZWQoKVxuXHRcdFx0XHRcdFx0QCRlbCA9ICQoQClcblx0XHRcdFx0XHRcdEAkZWwuaHRtbCAnTG9hZGluZy4uLidcblx0XHRcdFx0XHRcdEAkZWwuYWRkQ2xhc3MgJ19kaXNhYmxlZF8nXG5cdFx0XHRcdFx0XHRzZXRUaW1lb3V0IC0+XG5cdFx0XHRcdFx0XHRcdGQucmVzb2x2ZSgpXG5cdFx0XHRcdFx0XHQsMjAwMFxuXHRcdFx0XHRcdFx0ZC5wcm9taXNlKClcblxuXHRcdFx0XHRcdG9uYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0ZWwgPSAkKEApXG5cdFx0XHRcdFx0XHRlbC5yZW1vdmVDbGFzcyAnX2Rpc2FibGVkXydcblx0XHRcdFx0XHRcdGVsLmh0bWwgJ0NoZWNrZWQnXG5cblx0XHRcdFx0XHRiZWZvcmVkZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdGQgPSAkLkRlZmVycmVkKClcblx0XHRcdFx0XHRcdEAkZWwgPSAkKEApXG5cdFx0XHRcdFx0XHRAJGVsLmh0bWwgJ1VuY2hlY2tpbmcuLi4nXG5cdFx0XHRcdFx0XHRAJGVsLmFkZENsYXNzICdfZGlzYWJsZWRfJ1xuXHRcdFx0XHRcdFx0c2V0VGltZW91dCAtPlxuXHRcdFx0XHRcdFx0XHRkLnJlc29sdmUoKVxuXHRcdFx0XHRcdFx0LDMwMDBcblx0XHRcdFx0XHRcdGQucHJvbWlzZSgpXG5cblx0XHRcdFx0XHRvbmRlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0QCRlbCA9ICQoQClcblx0XHRcdFx0XHRcdEAkZWwucmVtb3ZlQ2xhc3MgJ19kaXNhYmxlZF8nXG5cdFx0XHRcdFx0XHRAJGVsLmh0bWwgJ1JhZGlvJ1xuXG5cblxuXG5cblxuXHRcdFx0IyAjIFBPUFVQU1xuXHRcdFx0JCgnLmJ0bi1wb3B1cC1kZW1vJykuZWFjaCAoaW5kZXgsIHBvcHVwKSAtPlxuXHRcdFx0XHRwb3B1cC5wb3B1cFxuXHRcdFx0XHRcdGJlZm9yZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdCMgR2V0IHBvcHVwIGNsYXNzIGluc3RhbmNlXG5cdFx0XHRcdFx0XHRwb3B1cCA9IEBkYXRhWydraXRQb3B1cCddXG5cdFx0XHRcdFx0XHQjIFNldCBuZXcgY29udGVudFxuXHRcdFx0XHRcdFx0cG9wdXAuZGlhbG9nLmlubmVySFRNTCA9IFwiU2V0IGNvbnRlbnQgaGVyZVwiXG5cblx0XHRcdFx0XHRvbmFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdCMgQWRkIGFjdGl2ZSBjbGFzcyB0byB0aGUgYnV0dG9uXG5cdFx0XHRcdFx0XHRAZGF0YVsna2l0UG9wdXAnXS5fYWRkQ2xhc3MgJ19hY3RpdmVfJ1xuXG5cdFx0XHRcdFx0b25kZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdCMgUmVtb3ZlIGFjdGl2ZSBjbGFzcyB0byB0aGUgYnV0dG9uXG5cdFx0XHRcdFx0XHRAZGF0YVsna2l0UG9wdXAnXS5fcmVtb3ZlQ2xhc3MgJ19hY3RpdmVfJ1xuXG5cdFx0XHQkKCcuYnRuLXBvcHVwLWRlbW8tbGVmdCcpLmVhY2ggKGluZGV4LCBwb3B1cCkgLT5cblx0XHRcdFx0cG9wdXAucG9wdXBcblx0XHRcdFx0XHRwb3NpdGlvbjpcblx0XHRcdFx0XHRcdHZlcnRpY2FsOiAnbWlkZGxlJ1xuXHRcdFx0XHRcdFx0aG9yaXpvbnRhbDogJ2xlZnQnXG5cdFx0XHRcdFx0YmVmb3JlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0cG9wdXAgPSBAZGF0YVsna2l0UG9wdXAnXVxuXHRcdFx0XHRcdFx0cG9wdXAuZGlhbG9nLmlubmVySFRNTCA9IFwiUG9wdXAgI3twb3B1cC5faWR9IHdpdGggZHluYW1pYyBjb250ZW50IFJhbmRvbSBudW1iZXIgI3tNYXRoLnJhbmRvbSgpfVwiXG5cblx0XHRcdFx0XHRvbmFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdEBkYXRhWydraXRQb3B1cCddLl9hZGRDbGFzcyAnX2FjdGl2ZV8nXG5cblx0XHRcdFx0XHRvbmRlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0QGRhdGFbJ2tpdFBvcHVwJ10uX3JlbW92ZUNsYXNzICdfYWN0aXZlXydcblxuXHRcdFx0JCgnLmJ0bi1wb3B1cC1kZW1vLXJpZ2h0JykuZWFjaCAoaW5kZXgsIHBvcHVwKSAtPlxuXHRcdFx0XHRwb3B1cC5wb3B1cFxuXHRcdFx0XHRcdHBvc2l0aW9uOlxuXHRcdFx0XHRcdFx0dmVydGljYWw6ICdtaWRkbGUnXG5cdFx0XHRcdFx0XHRob3Jpem9udGFsOiAncmlnaHQnXG5cdFx0XHRcdFx0YmVmb3JlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0cG9wdXAgPSBAZGF0YVsna2l0UG9wdXAnXVxuXHRcdFx0XHRcdFx0cG9wdXAuZGlhbG9nLmlubmVySFRNTCA9IFwiUG9wdXAgI3twb3B1cC5faWR9IHdpdGggZHluYW1pYyBjb250ZW50IFJhbmRvbSBudW1iZXIgI3tNYXRoLnJhbmRvbSgpfVwiXG5cblx0XHRcdFx0XHRvbmFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdEBkYXRhWydraXRQb3B1cCddLl9hZGRDbGFzcyAnX2FjdGl2ZV8nXG5cblx0XHRcdFx0XHRvbmRlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0QGRhdGFbJ2tpdFBvcHVwJ10uX3JlbW92ZUNsYXNzICdfYWN0aXZlXydcblxuXHRcdFx0JCgnLmJ0bi1wb3B1cC1kZW1vLWJvdHRvbScpLmVhY2ggKGluZGV4LCBwb3B1cCkgLT5cblx0XHRcdFx0cG9wdXAucG9wdXBcblx0XHRcdFx0XHRwb3NpdGlvbjpcblx0XHRcdFx0XHRcdHZlcnRpY2FsOiAnYm90dG9tJ1xuXHRcdFx0XHRcdFx0aG9yaXpvbnRhbDogJ2NlbnRlcidcblx0XHRcdFx0XHRiZWZvcmVhY3RpdmU6IC0+XG5cdFx0XHRcdFx0XHRwb3B1cCA9IEBkYXRhWydraXRQb3B1cCddXG5cdFx0XHRcdFx0XHRwb3B1cC5kaWFsb2cuaW5uZXJIVE1MID0gXCJQb3B1cCAje3BvcHVwLl9pZH0gd2l0aCBkeW5hbWljIGNvbnRlbnQgUmFuZG9tIG51bWJlciAje01hdGgucmFuZG9tKCl9XCJcblxuXHRcdFx0XHRcdG9uYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0QGRhdGFbJ2tpdFBvcHVwJ10uX2FkZENsYXNzICdfYWN0aXZlXydcblxuXHRcdFx0XHRcdG9uZGVhY3RpdmU6IC0+XG5cdFx0XHRcdFx0XHRAZGF0YVsna2l0UG9wdXAnXS5fcmVtb3ZlQ2xhc3MgJ19hY3RpdmVfJ1xuXG5cdFx0XHQkKCcuYnRuLXBvcHVwLWRlbW8tYm90dG9tLXJpZ2h0JykuZWFjaCAoaW5kZXgsIHBvcHVwKSAtPlxuXHRcdFx0XHRwb3B1cC5wb3B1cFxuXHRcdFx0XHRcdHBvc2l0aW9uOlxuXHRcdFx0XHRcdFx0dmVydGljYWw6ICdib3R0b20nXG5cdFx0XHRcdFx0XHRob3Jpem9udGFsOiAncmlnaHQnXG5cdFx0XHRcdFx0YmVmb3JlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0cG9wdXAgPSBAZGF0YVsna2l0UG9wdXAnXVxuXHRcdFx0XHRcdFx0cG9wdXAuZGlhbG9nLmlubmVySFRNTCA9IFwiUG9wdXAgI3twb3B1cC5faWR9IHdpdGggZHluYW1pYyBjb250ZW50IFJhbmRvbSBudW1iZXIgI3tNYXRoLnJhbmRvbSgpfVwiXG5cblx0XHRcdFx0XHRvbmFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdEBkYXRhWydraXRQb3B1cCddLl9hZGRDbGFzcyAnX2FjdGl2ZV8nXG5cblx0XHRcdFx0XHRvbmRlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0QGRhdGFbJ2tpdFBvcHVwJ10uX3JlbW92ZUNsYXNzICdfYWN0aXZlXydcblxuXHRcdFx0JCgnLmJ0bi1wb3B1cC1kZW1vLXRvcC1sZWZ0JykuZWFjaCAoaW5kZXgsIHBvcHVwKSAtPlxuXHRcdFx0XHRwb3B1cC5wb3B1cFxuXHRcdFx0XHRcdHBvc2l0aW9uOlxuXHRcdFx0XHRcdFx0dmVydGljYWw6ICd0b3AnXG5cdFx0XHRcdFx0XHRob3Jpem9udGFsOiAnbGVmdCdcblx0XHRcdFx0XHRiZWZvcmVhY3RpdmU6IC0+XG5cdFx0XHRcdFx0XHRwb3B1cCA9IEBkYXRhWydraXRQb3B1cCddXG5cdFx0XHRcdFx0XHRwb3B1cC5kaWFsb2cuaW5uZXJIVE1MID0gXCJQb3B1cCAje3BvcHVwLl9pZH0gd2l0aCBkeW5hbWljIGNvbnRlbnQgUmFuZG9tIG51bWJlciAje01hdGgucmFuZG9tKCl9XCJcblxuXHRcdFx0XHRcdG9uYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0QGRhdGFbJ2tpdFBvcHVwJ10uX2FkZENsYXNzICdfYWN0aXZlXydcblxuXHRcdFx0XHRcdG9uZGVhY3RpdmU6IC0+XG5cdFx0XHRcdFx0XHRAZGF0YVsna2l0UG9wdXAnXS5fcmVtb3ZlQ2xhc3MgJ19hY3RpdmVfJ1xuXG5cblxuXG5cblx0XHRcdCMgVEFCU1xuXHRcdFx0QCRlbC5maW5kKFwiW2RhdGEtdG9nZ2xlPSd0YWJzJ11cIikuZWFjaCAoaW5kZXgsIHRhYnMpIC0+XG5cdFx0XHRcdHRhYnMudGFicygpXG5cblxuXHRcdFx0IyAjIE1PREFMU1xuXHRcdFx0JCgnLmJ0bi1tb2RhbC1mYXN0JykuZWFjaCAoaW5kZXgsIG1vZGFsKSAtPlxuXHRcdFx0XHRtb2RhbC5tb2RhbCgpXG5cblx0XHRcdCQoJy5idG4tbW9kYWwxMjMnKS5lYWNoIChpbmRleCwgbW9kYWwpIC0+XG5cdFx0XHRcdG1vZGFsLm1vZGFsXG5cdFx0XHRcdFx0YmVmb3JlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0ZCA9ICQuRGVmZXJyZWQoKVxuXG5cdFx0XHRcdFx0XHRzZXRUaW1lb3V0IC0+XG5cdFx0XHRcdFx0XHRcdGQucmVzb2x2ZSgpXG5cdFx0XHRcdFx0XHQsIDIwMDBcblxuXHRcdFx0XHRcdFx0ZC5wcm9taXNlKClcblxuXG5cblx0XHRcdCMgU0NST0xMU1BZXG5cdFx0XHQjIEAkZWwuZmluZCgnW2RhdGEtc3B5PVwic2Nyb2xsXCJdJykuZWFjaCAoaW5kZXgsIHNjcm9sbHNweSkgLT5cblx0XHRcdCMgXHRzY3JvbGxzcHkuc2Nyb2xsc3B5XG5cdFx0XHQjIFx0XHRvZmZzZXQ6IDEwMFxuXG5cdFx0XHQjIFNLWUxJTkVcblx0XHRcdEAkZWwuZmluZCgnW2RhdGEtc3B5PVwic2t5bGluZVwiXScpLmVhY2ggKGluZGV4LCBza3lsaW5lKSAtPlxuXHRcdFx0XHRza3lsaW5lLnNreWxpbmVcblx0XHRcdFx0XHRkZWxheTogLT5cblx0XHRcdFx0XHRcdDIwMDAgKiBNYXRoLnJhbmRvbSgpXG5cdFx0LCAxXG4iLCIjIENvbGxlY3Rpb25WaWV3TWVudSA9IHJlcXVpcmUoICcuLi8uLi9jb2xsZWN0aW9udmlld3Mvc2lkZWJhci9tZW51JyApLm1vZHVsZVxuIyBDb2xsZWN0aW9uVmlld0NvbnRlbnQgPSByZXF1aXJlKCAnLi4vLi4vY29sbGVjdGlvbnZpZXdzL2NvbnRlbnQnICkubW9kdWxlXG5cbiMgVmlld1NvY2lhbCA9IHJlcXVpcmUoICcuLi8uLi92aWV3cy9wYWdlcy9zb2NpYWwnIClcblxuXG5leHBvcnRzLmJsb2cgPSBNYXJpb25ldHRlLkxheW91dC5leHRlbmRcblxuXHRtb2RlbDogbmV3IEJhY2tib25lLk1vZGVsIGtpdFxuXG5cdHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuZXhhbXBsZXMuYmxvZ1xuXG5cdHJlZ2lvbnM6XG5cdFx0c2lkZWJhcjogJyNzaWRlYmFyJ1xuXHRcdGNvbnRlbnQ6ICcjY29udGVudCdcblx0XHRzb2NpYWxDb250cmlidXRlOiAnI3NvY2lhbC1jb250cmlidXRlJ1xuXG5cblx0b25SZW5kZXI6IC0+XG5cblx0XHRzZXRUaW1lb3V0ID0+XG5cdFx0XHQkKCdbZGF0YS1raW5kPVwid2FsbFwiXScpLmVhY2ggKGluZGV4LCB3YWxsKSAtPlxuXHRcdFx0XHR3YWxsLndhbGwoKVxuXHRcdCwgMVxuXG5cdFx0c2V0VGltZW91dCA9PlxuXHRcdFx0JCgnW2RhdGEtc3B5PVwic2Nyb2xsc3B5XCJdJykuZWFjaCAoaW5kZXgsIHNjcm9sbHNweSkgLT5cblx0XHRcdFx0c2Nyb2xsc3B5LnNjcm9sbHNweSggb2Zmc2V0OiBcIjUwJVwiIClcblxuXHRcdFx0JCgnW2RhdGEtc3B5PVwic2t5bGluZVwiXScpLmVhY2ggKGluZGV4LCBza3lsaW5lKSAtPlxuXHRcdFx0XHRza3lsaW5lLnNreWxpbmVcblx0XHRcdFx0XHRkZWxheTogLT5cblx0XHRcdFx0XHRcdDIwMDAgKiBNYXRoLnJhbmRvbSgpXG5cdFx0LCA1MDBcblxuXHRvbkJlZm9yZUNsb3NlOiAtPlxuXHRcdCQoJ1tkYXRhLWtpbmQ9XCJ3YWxsXCJdJykuZWFjaCAoaW5kZXgsIHdhbGwpIC0+XG5cdFx0XHR3YWxsLmRhdGFbJ2tpdFdhbGwnXS5kZXN0cm95KClcblxuXHRcdCQoJ1tkYXRhLXNweT1cInNjcm9sbHNweVwiXScpLmVhY2ggKGluZGV4LCBzcHkpIC0+XG5cdFx0XHRzcHkuZGF0YVsna2l0U2Nyb2xsc3B5J10uZGVzdHJveSgpXG5cblx0XHQkKCdbZGF0YS1zcHk9XCJza3lsaW5lXCJdJykuZWFjaCAoaW5kZXgsIHNreSkgLT5cblx0XHRcdHNreS5kYXRhWydraXRTa3lsaW5lJ10uZGVzdHJveSgpIiwiVmlld1NvY2lhbCA9IHJlcXVpcmUoICcuLi8uLi92aWV3cy9wYWdlcy9zb2NpYWwnIClcblZpZXdTZXJpZXMgPSByZXF1aXJlKCAnLi4vLi4vdmlld3MvcGFnZXMvaW5kZXgvc2VyaWVzJyApXG5Nb2RlbFNlcmllcyA9IHJlcXVpcmUoICcuLi8uLi9tb2RlbHMvcGFnZXMvaW5kZXgvc2VyaWVzJyApLm1vZGVsXG5cblxuXG53aWRnZXRzID0gW1xuICAgIHtcbiAgICAgICAgbmFtZTogJy1hdmF0YXInXG4gICAgICAgIHRoZW1lczogbWtpdC5hdmF0YXJzLmNvbW1vbi50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQuYXZhdGFycy5jb21tb24uc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5hdmF0YXJcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLWJ0bidcbiAgICAgICAgdGhlbWVzOiBta2l0LmJ1dHRvbnMuY29tbW9uLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5idXR0b25zLmNvbW1vbi5zaXplc1xuICAgICAgICBib2R5OiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy53aWRnZXRzLmJ0blxuICAgIH1cbiAgICB7XG4gICAgICAgIG5hbWU6ICctYnRuLWdob3N0J1xuICAgICAgICB0aGVtZXM6IG1raXQuYnV0dG9ucy5naG9zdC50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQuYnV0dG9ucy5naG9zdC5zaXplc1xuICAgICAgICBib2R5OiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy53aWRnZXRzLmJ0blxuICAgIH1cbiAgICB7XG4gICAgICAgIG5hbWU6ICctZ3JvdXAnXG4gICAgICAgIHRoZW1lczogbWtpdC5ncm91cHMuYnV0dG9ucy50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQuZ3JvdXBzLmJ1dHRvbnMuc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5ncm91cFxuICAgIH1cbiAgICB7XG4gICAgICAgIG5hbWU6ICctZHJvcCdcbiAgICAgICAgdGhlbWVzOiBta2l0LmRyb3Bkb3ducy5jb21tb24udGhlbWVzXG4gICAgICAgIHNpemVzOiBta2l0LmRyb3Bkb3ducy5jb21tb24uc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5kcm9wZG93blxuICAgIH1cbiAgICB7XG4gICAgICAgIG5hbWU6ICctdGFicydcbiAgICAgICAgdGhlbWVzOiBta2l0Lm5hdi50YWJzLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5uYXYudGFicy5zaXplc1xuICAgICAgICBib2R5OiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy53aWRnZXRzLnRhYnNcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLXBpbGxzJ1xuICAgICAgICB0aGVtZXM6IG1raXQubmF2LnBpbGxzLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5uYXYucGlsbHMuc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5waWxsc1xuICAgIH1cbiAgICB7XG4gICAgICAgIG5hbWU6ICctbWVudSdcbiAgICAgICAgdGhlbWVzOiBta2l0Lm5hdi5tZW51LnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5uYXYubWVudS5zaXplc1xuICAgICAgICBib2R5OiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy53aWRnZXRzLm1lbnVcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLW5hdmJhcidcbiAgICAgICAgdGhlbWVzOiBta2l0Lm5hdi5iYXIudGhlbWVzXG4gICAgICAgIHNpemVzOiBta2l0Lm5hdi5iYXIuc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5uYXZiYXJcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLWxpc3QtZ3JvdXAnXG4gICAgICAgIHRoZW1lczogbWtpdC5uYXYubGlzdEdyb3VwLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5uYXYubGlzdEdyb3VwLnNpemVzXG4gICAgICAgIGJvZHk6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLndpZGdldHMubGlzdEdyb3VwXG4gICAgfVxuICAgIHtcbiAgICAgICAgbmFtZTogJy1sYWJlbCdcbiAgICAgICAgdGhlbWVzOiBta2l0LmxhYmVscy5jb21tb24udGhlbWVzXG4gICAgICAgIHNpemVzOiBta2l0LmxhYmVscy5jb21tb24uc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5sYWJlbFxuICAgIH1cbiAgICB7XG4gICAgICAgIG5hbWU6ICctYmFkZ2UnXG4gICAgICAgIHRoZW1lczogbWtpdC5iYWRnZXMuY29tbW9uLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5iYWRnZXMuY29tbW9uLnNpemVzXG4gICAgICAgIGJvZHk6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLndpZGdldHMuYmFkZ2VcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLXByb2dyZXNzJ1xuICAgICAgICB0aGVtZXM6IG1raXQucHJvZ3Jlc3MuY29tbW9uLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5wcm9ncmVzcy5jb21tb24uc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5wcm9ncmVzc1xuICAgIH1cbiAgICB7XG4gICAgICAgIG5hbWU6ICctYWxlcnQnXG4gICAgICAgIHRoZW1lczogbWtpdC5hbGVydHMuY29tbW9uLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5hbGVydHMuY29tbW9uLnNpemVzXG4gICAgICAgIGJvZHk6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLndpZGdldHMuYWxlcnRcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLXRodW1ibmFpbCdcbiAgICAgICAgdGhlbWVzOiBta2l0LnRodW1ibmFpbHMuY29tbW9uLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC50aHVtYm5haWxzLmNvbW1vbi5zaXplc1xuICAgICAgICBib2R5OiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy53aWRnZXRzLnRodW1ibmFpbFxuICAgIH1cbiAgICB7XG4gICAgICAgIG5hbWU6ICctc3Bpbm5lci1zcXVhcmUnXG4gICAgICAgIHRoZW1lczogbWtpdC5zcGlubmVycy5zcXVhcmUudGhlbWVzXG4gICAgICAgIHNpemVzOiBta2l0LnNwaW5uZXJzLnNxdWFyZS5zaXplc1xuICAgICAgICBib2R5OiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy53aWRnZXRzLnNwaW5uZXJTcXVhcmVcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLXNwaW5uZXItcmluZydcbiAgICAgICAgdGhlbWVzOiBta2l0LnNwaW5uZXJzLnJpbmcudGhlbWVzXG4gICAgICAgIHNpemVzOiBta2l0LnNwaW5uZXJzLnJpbmcuc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5zcGlubmVyUmluZ1xuICAgIH1cbiAgICB7XG4gICAgICAgIG5hbWU6ICctc3Bpbm5lci1mYidcbiAgICAgICAgdGhlbWVzOiBta2l0LnNwaW5uZXJzLmZiLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5zcGlubmVycy5mYi5zaXplc1xuICAgICAgICBib2R5OiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy53aWRnZXRzLnNwaW5uZXJGYlxuICAgIH1cbiAgICB7XG4gICAgICAgIG5hbWU6ICctc3Bpbm5lci13YXZlcydcbiAgICAgICAgdGhlbWVzOiBta2l0LnNwaW5uZXJzLndhdmVzLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5zcGlubmVycy53YXZlcy5zaXplc1xuICAgICAgICBib2R5OiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy53aWRnZXRzLnNwaW5uZXJXYXZlc1xuICAgIH1cbl1cblxuXG5leHBvcnRzLm1vZHVsZSA9IE1hcmlvbmV0dGUuTGF5b3V0LmV4dGVuZFxuXG4gICAgbW9kZWw6IG5ldyBCYWNrYm9uZS5Nb2RlbCBraXRcbiAgICBzZXJpZXNNb2RlbDogbmV3IE1vZGVsU2VyaWVzIHdpZGdldHM6IHdpZGdldHNcblxuICAgIHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LmxheW91dFxuXG4gICAgZXZlbnRzOlxuICAgICAgICAnbW91c2VlbnRlciAjc2VyaWVzLWhlYWRlciwgI3Nlcmllcyc6ICdzdG9wVGltZXInXG4gICAgICAgICdtb3VzZWxlYXZlICNzZXJpZXMtaGVhZGVyLCAjc2VyaWVzJzogJ3N0YXJ0VGltZXInXG5cbiAgICByZWdpb25zOlxuICAgICAgICBzb2NpYWxDb250cmlidXRlOiAnI3NvY2lhbC1jb250cmlidXRlJ1xuICAgICAgICBzZXJpZXNIZWFkZXI6ICcjc2VyaWVzLWhlYWRlcidcbiAgICAgICAgc2VyaWVzOiAnI3NlcmllcydcblxuICAgIGluaXRpYWxpemU6IC0+XG4gICAgICAgIEBsaXN0ZW5UbyBAc2VyaWVzTW9kZWwsICdjaGFuZ2U6YWN0aXZlIGNoYW5nZTp0aGVtZUFjdGl2ZSBjaGFuZ2U6c2l6ZUFjdGl2ZScsIEBzZXJpZXNSZXNldFxuXG4gICAgb25SZW5kZXI6IC0+XG5cbiAgICAgICAgQHNvY2lhbENvbnRyaWJ1dGUuc2hvdyBuZXcgVmlld1NvY2lhbC5naXRodWIoKVxuICAgICAgICBAc2VyaWVzSGVhZGVyLnNob3cgbmV3IFZpZXdTZXJpZXMuaGVhZGVyIG1vZGVsOiBAc2VyaWVzTW9kZWxcbiAgICAgICAgQHNlcmllcy5zaG93IG5ldyBWaWV3U2VyaWVzLmJvZHkgbW9kZWw6IEBzZXJpZXNNb2RlbFxuXG4gICAgICAgIEBzdGFydFRpbWVyKClcblxuICAgICAgICAkLmFwcC5jb21tYW5kcy5leGVjdXRlICdtZW51JywgJ2FjdGl2YXRlJywgJyNpbmRleCdcbiAgICAgICAgJC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbG9hZGVyJywgJ2ZpbmlzaCdcblxuXG4gICAgICAgIHNldFRpbWVvdXQgPT5cbiAgICAgICAgICAgIEAkZWwuZmluZCgnLmRldi12ZXJzaW9uLXNwaW5uZXInKS5yZXBsYWNlV2l0aCBraXQudmVyc2lvblxuXG4gICAgICAgICAgICAjIFJ1biB3YWxsc1xuICAgICAgICAgICAgJCgnW2RhdGEta2luZD1cIndhbGxcIl0nKS5lYWNoIChpbmRleCwgd2FsbCkgLT5cbiAgICAgICAgICAgICAgICB3YWxsLndhbGwoKVxuXG4gICAgICAgICAgICAkKCdbZGF0YS1zcHk9XCJza3lsaW5lXCJdJykuZWFjaCAoaW5kZXgsIHNreWxpbmUpIC0+XG4gICAgICAgICAgICAgICAgc2t5bGluZS5za3lsaW5lXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5OiAtPlxuICAgICAgICAgICAgICAgICAgICAgICAgMjAwMCAqIE1hdGgucmFuZG9tKClcbiAgICAgICAgLDFcblxuICAgIHN0b3BUaW1lcjogLT5cbiAgICAgICAgY2xlYXJJbnRlcnZhbCBAdGltZXJcbiAgICAgICAgQHRpbWVyID0gbnVsbFxuXG4gICAgc3RhcnRUaW1lcjogLT5cbiAgICAgICAgQHRpbWVyID0gc2V0SW50ZXJ2YWwgPT5cbiAgICAgICAgICAgIEBzZXJpZXNNb2RlbC5wcmV2KClcbiAgICAgICAgLCAyMDAwXG5cbiAgICBzZXJpZXNSZXNldDogLT5cbiAgICAgICAgYWN0aXZlID0gQHNlcmllc01vZGVsLmdldCAnYWN0aXZlJ1xuICAgICAgICB0aGVtZUFjdGl2ZSA9IEBzZXJpZXNNb2RlbC5nZXQgJ3RoZW1lQWN0aXZlJ1xuICAgICAgICBzaXplQWN0aXZlID0gQHNlcmllc01vZGVsLmdldCAnc2l6ZUFjdGl2ZSdcblxuICAgICAgICB3aWRnZXRzID0gQHNlcmllc01vZGVsLmdldCAnd2lkZ2V0cydcbiAgICAgICAgQHNlcmllc01vZGVsLnNldCAnYm9keScsIHdpZGdldHNbYWN0aXZlXS5ib2R5XG4gICAgICAgIEBzZXJpZXNNb2RlbC5zZXQgJ25hbWUnLCB3aWRnZXRzW2FjdGl2ZV0ubmFtZVxuICAgICAgICBAc2VyaWVzTW9kZWwuc2V0ICd0aGVtZScsIHdpZGdldHNbYWN0aXZlXS50aGVtZXNbdGhlbWVBY3RpdmVdXG4gICAgICAgIEBzZXJpZXNNb2RlbC5zZXQgJ3NpemUnLCB3aWRnZXRzW2FjdGl2ZV0uc2l6ZXNbc2l6ZUFjdGl2ZV1cblxuICAgICAgICAjIEByZW5kZXIoKVxuXG4gICAgb25CZWZvcmVDbG9zZTogLT5cbiAgICAgICAgJCgnW2RhdGEta2luZD1cIndhbGxcIl0nKS5lYWNoIChpbmRleCwgd2FsbCkgLT5cbiAgICAgICAgICAgIHdhbGwuZGF0YVsna2l0V2FsbCddLmRlc3Ryb3koKVxuXG4gICAgICAgICQoJ1tkYXRhLXNweT1cInNreWxpbmVcIl0nKS5lYWNoIChpbmRleCwgc2t5bGluZSkgLT5cbiAgICAgICAgICAgIHNreWxpbmUuZGF0YVsna2l0U2t5bGluZSddLmRlc3Ryb3koKVxuXG4gICAgb25DbG9zZTogLT5cbiAgICAgICAgQHN0b3BUaW1lcigpXG4iLCJDb2xsZWN0aW9uVmlld01lbnUgPSByZXF1aXJlKCAnLi4vLi4vY29sbGVjdGlvbnZpZXdzL3NpZGViYXIvbWVudScgKS5tb2R1bGVcbkNvbGxlY3Rpb25WaWV3Q29udGVudCA9IHJlcXVpcmUoICcuLi8uLi9jb2xsZWN0aW9udmlld3MvY29udGVudCcgKS5tb2R1bGVcblxuVmlld1NvY2lhbCA9IHJlcXVpcmUoICcuLi8uLi92aWV3cy9wYWdlcy9zb2NpYWwnIClcblxuXG5leHBvcnRzLm1vZHVsZSA9IE1hcmlvbmV0dGUuTGF5b3V0LmV4dGVuZFxuXG4gICAgbW9kZWw6IG5ldyBCYWNrYm9uZS5Nb2RlbCBraXRcblxuICAgIHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLnN0YXJ0XG5cbiAgICByZWdpb25zOlxuICAgICAgICBzaWRlYmFyOiAnI3NpZGViYXInXG4gICAgICAgIGNvbnRlbnQ6ICcjY29udGVudCdcblxuICAgICAgICBzb2NpYWxDb250cmlidXRlOiAnI3NvY2lhbC1jb250cmlidXRlJ1xuXG5cbiAgICBvblJlbmRlcjogLT5cblxuICAgICAgICBAc2lkZWJhci5zaG93IG5ldyBDb2xsZWN0aW9uVmlld01lbnUoKVxuICAgICAgICBAY29udGVudC5zaG93IG5ldyBDb2xsZWN0aW9uVmlld0NvbnRlbnQoKVxuICAgICAgICBAc29jaWFsQ29udHJpYnV0ZS5zaG93IG5ldyBWaWV3U29jaWFsLmdpdGh1YigpXG5cbiAgICAgICAgc2V0VGltZW91dCA9PlxuICAgICAgICAgICAgQHNpZGViYXIuY3VycmVudFZpZXcuJGVsWzBdLmFmZml4KCBvZmZzZXQ6IC0yNSApXG4gICAgICAgICwxXG5cbiAgICAgICAgJC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbWVudScsICdhY3RpdmF0ZScsICcjc3RhcnQnXG4gICAgICAgICQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ2xvYWRlcicsICdmaW5pc2gnXG5cbiAgICAgICAgc2V0VGltZW91dCA9PlxuICAgICAgICAgICAgQCRlbC5maW5kKCcuZGV2LXZlcnNpb24tc3Bpbm5lcicpLnJlcGxhY2VXaXRoIGtpdC52ZXJzaW9uXG4gICAgICAgICAgICBAJGVsLmZpbmQoJy5kZXYtdmVyc2lvbi1ocmVmJykuZWFjaCAtPlxuICAgICAgICAgICAgICAgIGhyZWYgPSAkKEApLmF0dHIgJ2hyZWYnXG4gICAgICAgICAgICAgICAgJChAKS5hdHRyICdocmVmJywgaHJlZi5yZXBsYWNlKC9cXHtcXHt2ZXJzaW9uXFx9XFx9L2csIGtpdC52ZXJzaW9uKVxuXG4gICAgICAgICwxXG4iLCJDb2xsZWN0aW9uVmlld01lbnUgPSByZXF1aXJlKCAnLi4vLi4vY29sbGVjdGlvbnZpZXdzL3NpZGViYXIvbWVudScgKS5tb2R1bGVcbkNvbGxlY3Rpb25WaWV3Q29udGVudCA9IHJlcXVpcmUoICcuLi8uLi9jb2xsZWN0aW9udmlld3MvY29udGVudCcgKS5tb2R1bGVcblxuVmlld1NvY2lhbCA9IHJlcXVpcmUoICcuLi8uLi92aWV3cy9wYWdlcy9zb2NpYWwnIClcblxuXG5leHBvcnRzLm1vZHVsZSA9IE1hcmlvbmV0dGUuTGF5b3V0LmV4dGVuZFxuXG4gICAgbW9kZWw6IG5ldyBCYWNrYm9uZS5Nb2RlbCBraXRcblxuICAgIHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLnV0aWxpdGllc1xuXG4gICAgcmVnaW9uczpcbiAgICAgICAgc2lkZWJhcjogJyNzaWRlYmFyJ1xuICAgICAgICBjb250ZW50OiAnI2NvbnRlbnQnXG5cbiAgICAgICAgc29jaWFsQ29udHJpYnV0ZTogJyNzb2NpYWwtY29udHJpYnV0ZSdcblxuXG4gICAgb25SZW5kZXI6IC0+XG5cbiAgICAgICAgQHNpZGViYXIuc2hvdyBuZXcgQ29sbGVjdGlvblZpZXdNZW51KClcbiAgICAgICAgQGNvbnRlbnQuc2hvdyBuZXcgQ29sbGVjdGlvblZpZXdDb250ZW50KClcbiAgICAgICAgQHNvY2lhbENvbnRyaWJ1dGUuc2hvdyBuZXcgVmlld1NvY2lhbC5naXRodWIoKVxuICAgICAgICBzZXRUaW1lb3V0ID0+XG4gICAgICAgICAgICBAc2lkZWJhci5jdXJyZW50Vmlldy4kZWxbMF0uYWZmaXgoIG9mZnNldDogLTI1IClcbiAgICAgICAgLCAxXG4gICAgICAgICQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ21lbnUnLCAnYWN0aXZhdGUnLCAnI3V0aWxpdGllcydcbiAgICAgICAgJC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbG9hZGVyJywgJ2ZpbmlzaCdcbiIsIkNvbGxlY3Rpb25WaWV3TWVudSA9IHJlcXVpcmUoICcuLi8uLi9jb2xsZWN0aW9udmlld3Mvc2lkZWJhci9tZW51JyApLm1vZHVsZVxuQ29sbGVjdGlvblZpZXdDb250ZW50ID0gcmVxdWlyZSggJy4uLy4uL2NvbGxlY3Rpb252aWV3cy9jb250ZW50JyApLm1vZHVsZVxuXG5WaWV3U29jaWFsID0gcmVxdWlyZSggJy4uLy4uL3ZpZXdzL3BhZ2VzL3NvY2lhbCcgKVxuXG5cbmV4cG9ydHMubW9kdWxlID0gTWFyaW9uZXR0ZS5MYXlvdXQuZXh0ZW5kXG5cbiAgICBtb2RlbDogbmV3IEJhY2tib25lLk1vZGVsIGtpdFxuXG4gICAgdGVtcGxhdGU6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMud2lkZ2V0c1xuXG4gICAgcmVnaW9uczpcbiAgICAgICAgc2lkZWJhcjogJyNzaWRlYmFyJ1xuICAgICAgICBjb250ZW50OiAnI2NvbnRlbnQnXG4gICAgICAgIHNvY2lhbENvbnRyaWJ1dGU6ICcjc29jaWFsLWNvbnRyaWJ1dGUnXG5cblxuICAgIG9uUmVuZGVyOiAtPlxuXG4gICAgICAgIEBzaWRlYmFyLnNob3cgbmV3IENvbGxlY3Rpb25WaWV3TWVudSgpXG4gICAgICAgIEBjb250ZW50LnNob3cgbmV3IENvbGxlY3Rpb25WaWV3Q29udGVudCgpXG4gICAgICAgIEBzb2NpYWxDb250cmlidXRlLnNob3cgbmV3IFZpZXdTb2NpYWwuZ2l0aHViKClcblxuICAgICAgICBzZXRUaW1lb3V0ID0+XG4gICAgICAgICAgICBAc2lkZWJhci5jdXJyZW50Vmlldy5lbC5hZmZpeCggb2Zmc2V0OiAtMjUgKVxuICAgICAgICAsIDFcbiAgICAgICAgJC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbWVudScsICdhY3RpdmF0ZScsICcjd2lkZ2V0cydcbiAgICAgICAgJC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbG9hZGVyJywgJ2ZpbmlzaCcgICBcbiIsImV4cG9ydHMudHdpdHRlciA9IEJhY2tib25lLk1vZGVsLmV4dGVuZFxuICAgIHVybDogLT5cbiAgICAgICAgXCIjeyQuYXBwLmNvbmZpZy5hcGl9L3NvY2lhbC90d2l0dGVyL3NoYXJlc1wiXG4gICAgZGVmYXVsdHM6XG4gICAgICAgIHNpZ246IFwidHdpdFwiXG5cblxuZXhwb3J0cy5mYWNlYm9vayA9IEJhY2tib25lLk1vZGVsLmV4dGVuZFxuICAgIHVybDogLT5cbiAgICAgICAgXCIjeyQuYXBwLmNvbmZpZy5hcGl9L3NvY2lhbC9mYWNlYm9vay9zaGFyZXNcIlxuICAgIGRlZmF1bHRzOlxuICAgICAgICBzaWduOiBcInNoYXJlXCJcblxuXG5leHBvcnRzLmdpdGh1YiA9IEJhY2tib25lLk1vZGVsLmV4dGVuZFxuICAgIHVybDogLT5cbiAgICAgICAgXCIjeyQuYXBwLmNvbmZpZy5hcGl9L3NvY2lhbC9naXRodWIvd2F0Y2hcIlxuICAgIGRlZmF1bHRzOlxuICAgICAgICBzaWduOiBcIndhdGNoXCJcbiIsImV4cG9ydHMubW9kZWwgPSBCYWNrYm9uZS5Nb2RlbC5leHRlbmRcblx0XG5cdG5leHQ6IC0+XG5cdFx0YWN0aXZlID0gQGdldCgnYWN0aXZlJylcblx0XHR0aGVtZUFjdGl2ZSA9IEBnZXQoJ3RoZW1lQWN0aXZlJylcblx0XHRzaXplQWN0aXZlID0gQGdldCgnc2l6ZUFjdGl2ZScpXG5cdFx0d2lkZ2V0cyA9IEBnZXQoJ3dpZGdldHMnKVxuXHRcdGxlbiA9IHdpZGdldHMubGVuZ3RoXG5cdFx0aWYgc2l6ZUFjdGl2ZSA8IHdpZGdldHNbYWN0aXZlXS50aGVtZXMubGVuZ3RoIC0gMVxuXHRcdFx0QHNldCgnc2l6ZUFjdGl2ZScsIHNpemVBY3RpdmUgKyAxKVxuXHRcdGVsc2Vcblx0XHRcdEBzZXQoJ3NpemVBY3RpdmUnLCAwKVxuXHRcdFx0aWYgdGhlbWVBY3RpdmUgPCB3aWRnZXRzW2FjdGl2ZV0udGhlbWVzLmxlbmd0aCAtIDFcblx0XHRcdFx0QHNldCgndGhlbWVBY3RpdmUnLCB0aGVtZUFjdGl2ZSArIDEpXG5cdFx0XHRlbHNlXG5cdFx0XHRcdEBzZXQoJ3RoZW1lQWN0aXZlJywgMClcblx0XHRcdFx0aWYgYWN0aXZlIDwgbGVuIC0gMSB0aGVuIEBzZXQoICdhY3RpdmUnLCBhY3RpdmUgKyAxKSBlbHNlIEBzZXQoICdhY3RpdmUnLCAwKVxuXG5cdHByZXY6IC0+XG5cdFx0YWN0aXZlID0gQGdldCgnYWN0aXZlJylcblx0XHR0aGVtZUFjdGl2ZSA9IEBnZXQoJ3RoZW1lQWN0aXZlJylcblx0XHRzaXplQWN0aXZlID0gQGdldCgnc2l6ZUFjdGl2ZScpXG5cdFx0d2lkZ2V0cyA9IEBnZXQoJ3dpZGdldHMnKVxuXHRcdGxlbiA9IHdpZGdldHMubGVuZ3RoXG5cdFx0aWYgc2l6ZUFjdGl2ZSA8IHdpZGdldHNbYWN0aXZlXS50aGVtZXMubGVuZ3RoIC0gMVxuXHRcdFx0QHNldCgnc2l6ZUFjdGl2ZScsIHNpemVBY3RpdmUgKyAxKVxuXHRcdGVsc2Vcblx0XHRcdEBzZXQoJ3NpemVBY3RpdmUnLCAwKVxuXHRcdFx0aWYgdGhlbWVBY3RpdmUgPCB3aWRnZXRzW2FjdGl2ZV0udGhlbWVzLmxlbmd0aCAtIDFcblx0XHRcdFx0QHNldCgndGhlbWVBY3RpdmUnLCB0aGVtZUFjdGl2ZSArIDEpXG5cdFx0XHRlbHNlXG5cdFx0XHRcdEBzZXQoJ3RoZW1lQWN0aXZlJywgMClcblx0XHRcdFx0aWYgYWN0aXZlID4gMCB0aGVuIEBzZXQoICdhY3RpdmUnLCBhY3RpdmUgLSAxKSBlbHNlIEBzZXQoICdhY3RpdmUnLCBsZW4gLSAxKVxuXG5cdGRlZmF1bHRzOlxuXHRcdG5hbWU6ICcnXG5cdFx0dGhlbWU6ICcnXG5cdFx0c2l6ZTogJydcblx0XHRib2R5OiAnJ1xuXHRcdHdpZGdldHM6IFtdXG5cdFx0YWN0aXZlOiAwXG5cdFx0dGhlbWVBY3RpdmU6IDBcblx0XHRzaXplQWN0aXZlOiAwIiwiZXhwb3J0cy5naXRodWIgPSBCYWNrYm9uZS5Nb2RlbC5leHRlbmRcbiAgICB1cmw6IC0+XG4gICAgICAgIFwiI3skLmFwcC5jb25maWcuYXBpfS9zb2NpYWwvZ2l0aHViL2NvbnRyaWJ1dGVcIlxuICAgIGRlZmF1bHRzOlxuICAgICAgICBzaWduOiBcImNvbnRyaWJ1dGVcIlxuIiwiXCJ1c2Ugc3RyaWN0XCJcblxuXG5leHBvcnRzLm1vZGVsID0gQmFja2JvbmUuTW9kZWwuZXh0ZW5kXG4gICAgZGVmYXVsdHM6XG4gICAgICAgIGV4aXN0SW5jbHVkZXM6IC0+XG4gICAgICAgICAgICBAaW5jbHVkZT8gYW5kIEBpbmNsdWRlLmxlbmd0aCA+IDAgYW5kIG5vdCAoIEBpbmNsdWRlLmxlbmd0aCBpcyAxIGFuZCBAaW5jbHVkZVswXS5pbnZpc2libGU/IClcbiIsIkxheW91dEluZGV4ID0gcmVxdWlyZSgnLi4vbGF5b3V0cy9wYWdlcy9pbmRleCcpLm1vZHVsZVxuTGF5b3V0U3RhcnQgPSByZXF1aXJlKCcuLi9sYXlvdXRzL3BhZ2VzL3N0YXJ0JykubW9kdWxlXG5MYXlvdXRCYXNpYyA9IHJlcXVpcmUoJy4uL2xheW91dHMvcGFnZXMvYmFzaWMnKS5tb2R1bGVcbkxheW91dFdpZGdldHMgPSByZXF1aXJlKCcuLi9sYXlvdXRzL3BhZ2VzL3dpZGdldHMnKS5tb2R1bGVcbkxheW91dFV0aWxpdGllcyA9IHJlcXVpcmUoJy4uL2xheW91dHMvcGFnZXMvdXRpbGl0aWVzJykubW9kdWxlXG5MYXlvdXRDb21wb25lbnRzID0gcmVxdWlyZSgnLi4vbGF5b3V0cy9wYWdlcy9jb21wb25lbnRzJykubW9kdWxlXG5MYXlvdXRDaGFuZ2Vsb2cgPSByZXF1aXJlKCcuLi9sYXlvdXRzL3BhZ2VzL2NoYW5nZWxvZycpLm1vZHVsZVxuTGF5b3V0RXhhbXBsZXMgPSByZXF1aXJlKCcuLi9sYXlvdXRzL3BhZ2VzL2V4YW1wbGVzJylcbkxheW91dDQwNCA9IHJlcXVpcmUoJy4uL2xheW91dHMvcGFnZXMvNDA0JykubW9kdWxlXG5cbm1haW5Db250cm9sbGVyID1cblxuXG5jaGFuZ2VGcmFnbWVudCA9ICggZnJhZ21lbnQgKSAtPlxuXHRpZiBmcmFnbWVudFswXSBpcyAnISdcblx0XHRmcmFnbWVudC5yZXBsYWNlIC9cXCFcXC8vZywgXCJcIlxuXHRlbHNlXG5cdFx0ZnJhZ21lbnRcblxuXG5leHBvcnRzLm1vZHVsZSA9IE1hcmlvbmV0dGUuQXBwUm91dGVyLmV4dGVuZFxuXG5cdGNvbnRyb2xsZXI6IG1haW5Db250cm9sbGVyXG5cdHRpdGxlOiAkKCd0aXRsZScpXG5cblx0cm91dGVzOlxuXHRcdCcnOiAnaW5kZXgnXG5cdFx0J3N0YXJ0JzogJ3N0YXJ0J1xuXHRcdCdiYXNpYyc6ICdiYXNpYydcblx0XHQnd2lkZ2V0cyc6ICd3aWRnZXRzJ1xuXHRcdCd1dGlsaXRpZXMnOiAndXRpbGl0aWVzJ1xuXHRcdCdjb21wb25lbnRzJzogJ2NvbXBvbmVudHMnXG5cdFx0J2NoYW5nZWxvZyc6ICdjaGFuZ2Vsb2cnXG5cdFx0J2V4YW1wbGVzL2Jsb2cnOiAnZXhhbXBsZXNCbG9nJ1xuXHRcdFwiKmVycm9yXCI6IFwiZXJyb3I0MDRcIlxuXHRpbml0aWFsaXplOiAtPlxuXHRcdEBiaW5kICdhbGwnLCBAX3RyYWNrUGFnZXZpZXdcblxuXHRfdHJhY2tQYWdldmlldzogLT5cblx0XHR1cmwgPSBCYWNrYm9uZS5oaXN0b3J5LmdldEZyYWdtZW50KClcblx0XHRpZiAhL15cXC8vLnRlc3QodXJsKSB0aGVuIHVybCA9ICcvJyArIHVybFxuXHRcdHdpbmRvdy5fZ2FxPy5wdXNoKFsnX3RyYWNrUGFnZXZpZXcnLCB1cmxdKVxuXHRcdGlmIHdpbmRvd1snR29vZ2xlQW5hbHl0aWNzT2JqZWN0J10/XG5cdFx0XHRnYSgnc2VuZCcsICdwYWdldmlldycsIHVybClcblxuXHRyb3V0ZTogKHJvdXRlLCBuYW1lLCBjYWxsYmFjaykgLT5cblx0XHRyb3V0ZSA9IFwiKCEvKVwiICsgcm91dGVcblx0XHRyb3V0ZSA9IEBfcm91dGVUb1JlZ0V4cChyb3V0ZSlcdHVubGVzcyBfLmlzUmVnRXhwKHJvdXRlKVxuXHRcdGlmIF8uaXNGdW5jdGlvbihuYW1lKVxuXHRcdFx0Y2FsbGJhY2sgPSBuYW1lXG5cdFx0XHRuYW1lID0gXCJcIlxuXHRcdFxuXHRcdGNhbGxiYWNrID0gdGhpc1tuYW1lXVx0dW5sZXNzIGNhbGxiYWNrXG5cdFx0cm91dGVyID0gdGhpc1xuXHRcdEJhY2tib25lLmhpc3Rvcnkucm91dGUgcm91dGUsIChmcmFnbWVudCkgPT5cblx0XHRcdCMgaWYgZnJhZ21lbnRbMF0gaXMgJyEnIHRoZW4gZnJhZ21lbnQgPSBmcmFnbWVudC5yZXBsYWNlIC9cXCFcXC8vZywgXCJcIlxuXHRcdFx0YXJncyA9IHJvdXRlci5fZXh0cmFjdFBhcmFtZXRlcnMocm91dGUsIGZyYWdtZW50KVxuXHRcdFx0JC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbG9hZGVyJywgJ3N0YXJ0JywgQmFja2JvbmUuaGlzdG9yeS5jb2xvclxuXHRcdFx0c2V0VGltZW91dCA9PlxuXHRcdFx0XHRyb3V0ZXIuZXhlY3V0ZSBjYWxsYmFjaywgYXJnc1xuXHRcdFx0XHRyb3V0ZXIudHJpZ2dlci5hcHBseSByb3V0ZXIsIFtcInJvdXRlOlwiICsgbmFtZV0uY29uY2F0KGFyZ3MpXG5cdFx0XHRcdHJvdXRlci50cmlnZ2VyIFwicm91dGVcIiwgbmFtZSwgYXJnc1xuXHRcdFx0XHRCYWNrYm9uZS5oaXN0b3J5LnRyaWdnZXIgXCJyb3V0ZVwiLCByb3V0ZXIsIG5hbWUsIGFyZ3Ncblx0XHRcdFx0JC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbG9hZGVyJywgJ2ZpbmlzaCdcblx0XHRcdCwgNTBcblx0XHRcdHJldHVyblxuXG5cdFx0dGhpc1xuXG5cdGluZGV4OiAtPlxuXHRcdEB0aXRsZS5odG1sKFwiTWF4bWVydGtpdFwiKVxuXHRcdEJhY2tib25lLmhpc3RvcnkudGVtcGxhdGVzID0gJ2luZGV4J1xuXHRcdCQuYXBwLm1haW4uY3VycmVudFZpZXcuY29udGVudC5zaG93IG5ldyBMYXlvdXRJbmRleCgpXG5cblx0c3RhcnQ6IC0+XG5cdFx0QHRpdGxlLmh0bWwoXCJTdGFydCDCtyBNYXhtZXJ0a2l0XCIpXG5cdFx0QmFja2JvbmUuaGlzdG9yeS5jb2xvciA9ICcjM2YzZjNmJ1xuXHRcdEJhY2tib25lLmhpc3RvcnkudGVtcGxhdGVzID0gJ3N0YXJ0J1xuXHRcdCQuYXBwLm1haW4uY3VycmVudFZpZXcuY29udGVudC5zaG93IG5ldyBMYXlvdXRTdGFydCgpXG5cblx0YmFzaWM6IC0+XG5cdFx0QHRpdGxlLmh0bWwoXCJCYXNpYyDCtyBNYXhtZXJ0a2l0XCIpXG5cdFx0QmFja2JvbmUuaGlzdG9yeS5jb2xvciA9ICcjYjYyZDkzJ1xuXHRcdEJhY2tib25lLmhpc3RvcnkudGVtcGxhdGVzID0gJ2Jhc2ljJ1xuXHRcdCQuYXBwLm1haW4uY3VycmVudFZpZXcuY29udGVudC5zaG93IG5ldyBMYXlvdXRCYXNpYygpXG5cblx0IyB3aWRnZXRzOiAtPlxuXHQjICAgICBCYWNrYm9uZS5oaXN0b3J5LmNvbG9yID0gJyM0NGE0YjYnXG5cdCMgICAgIEJhY2tib25lLmhpc3RvcnkudGVtcGxhdGVzID0gJ2Jhc2ljJ1xuXHQjICAgICAkLmFwcC5tYWluLmN1cnJlbnRWaWV3LmNvbnRlbnQuc2hvdyBuZXcgTGF5b3V0QmFzaWMoKVxuXG5cdHdpZGdldHM6IC0+XG5cdFx0QHRpdGxlLmh0bWwoXCJXaWRnZXRzIMK3IE1heG1lcnRraXRcIilcblx0XHRCYWNrYm9uZS5oaXN0b3J5LnRlbXBsYXRlcyA9ICd3aWRnZXRzJ1xuXHRcdEJhY2tib25lLmhpc3RvcnkuY29sb3IgPSAnIzMwODdhYSdcblx0XHQkLmFwcC5tYWluLmN1cnJlbnRWaWV3LmNvbnRlbnQuc2hvdyBuZXcgTGF5b3V0V2lkZ2V0cygpXG5cblx0dXRpbGl0aWVzOiAtPlxuXHRcdEB0aXRsZS5odG1sKFwiVXRpbGl0aWVzIMK3IE1heG1lcnRraXRcIilcblx0XHRCYWNrYm9uZS5oaXN0b3J5LnRlbXBsYXRlcyA9ICd1dGlsaXRpZXMnXG5cdFx0QmFja2JvbmUuaGlzdG9yeS5jb2xvciA9ICcjOTcyODIyJ1xuXHRcdCQuYXBwLm1haW4uY3VycmVudFZpZXcuY29udGVudC5zaG93IG5ldyBMYXlvdXRVdGlsaXRpZXMoKVxuXG5cdGNvbXBvbmVudHM6IC0+XG5cdFx0QHRpdGxlLmh0bWwoXCJDb21wb25lbnRzIMK3IE1heG1lcnRraXRcIilcblx0XHRCYWNrYm9uZS5oaXN0b3J5LnRlbXBsYXRlcyA9ICdjb21wb25lbnRzJ1xuXHRcdEJhY2tib25lLmhpc3RvcnkuY29sb3IgPSAnIzI1YTgwMCdcblx0XHQkLmFwcC5tYWluLmN1cnJlbnRWaWV3LmNvbnRlbnQuc2hvdyBuZXcgTGF5b3V0Q29tcG9uZW50cygpXG5cblx0Y2hhbmdlbG9nOiAtPlxuXHRcdEB0aXRsZS5odG1sKFwiQ2hhbmdlbG9nIMK3IE1heG1lcnRraXRcIilcblx0XHRCYWNrYm9uZS5oaXN0b3J5LnRlbXBsYXRlcyA9ICdjaGFuZ2Vsb2cnXG5cdFx0QmFja2JvbmUuaGlzdG9yeS5jb2xvciA9ICcjMjVhODAwJ1xuXHRcdCQuYXBwLm1haW4uY3VycmVudFZpZXcuY29udGVudC5zaG93IG5ldyBMYXlvdXRDaGFuZ2Vsb2coKVxuXG5cdGV4YW1wbGVzQmxvZzogLT5cblx0XHRAdGl0bGUuaHRtbChcIkNoYW5nZWxvZyDCtyBNYXhtZXJ0a2l0XCIpXG5cdFx0QmFja2JvbmUuaGlzdG9yeS50ZW1wbGF0ZXMgPSBudWxsXG5cdFx0QmFja2JvbmUuaGlzdG9yeS5jb2xvciA9ICcjMjVhODAwJ1xuXHRcdCQuYXBwLm1haW4uY3VycmVudFZpZXcuY29udGVudC5zaG93IG5ldyBMYXlvdXRFeGFtcGxlcy5ibG9nKClcblxuXHRlcnJvcjQwNDogLT5cblx0XHRAdGl0bGUuaHRtbChcIjQwNCDCtyBNYXhtZXJ0a2l0XCIpXG5cdFx0JC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbWVudScsICdhY3RpdmF0ZSdcblx0XHQkLmFwcC5tYWluLmN1cnJlbnRWaWV3LmNvbnRlbnQuY2xvc2UoKVxuXHRcdCQuYXBwLm1haW4uY3VycmVudFZpZXcuY29udGVudC5zaG93IG5ldyBMYXlvdXQ0MDQoKVxuIiwiIyByZXBsYWNlVGFnID0gKHRhZykgLT5cbiMgICAgIHRhZ3NUb1JlcGxhY2VbdGFnXSBvciB0YWdcbiNcbiMgc2FmZV90YWdzX3JlcGxhY2UgPSAoc3RyKSAtPlxuIyAgICAgc3RyLnJlcGxhY2UgL1smPD5dL2csIHJlcGxhY2VUYWdcbiNcbiMgdGFnc1RvUmVwbGFjZSA9XG4jICAgICBcIiZcIjogXCImYW1wO1wiXG4jICAgICBcIjxcIjogXCImbHQ7XCJcbiMgICAgIFwiPlwiOiBcIiZndDtcIlxuXG5leHBvcnRzLm1vZHVsZSA9IE1hcmlvbmV0dGUuSXRlbVZpZXcuZXh0ZW5kXG4gICAgdGFnTmFtZTogJ3NlY3Rpb24nXG4gICAgdGVtcGxhdGU6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFydGlhbHNcblxuXG4gICAgIyBvblJlbmRlcjogLT5cbiAgICAjICAgICBAJGVsLmZpbmQoJ1tobGpzXScpLmVhY2ggKCBpbmRleCwgcHJlICkgPT5cbiAgICAjICAgICAgICAgaHRtbCA9ICQocHJlKS5odG1sKClcbiAgICAjICAgICAgICAgJChwcmUpLmh0bWwgXCI8cHJlPjxjb2RlPiN7c2FmZV90YWdzX3JlcGxhY2UoaHRtbCl9PC9jb2RlPjwvcHJlPlwiXG4gICAgIyAgICAgICAgIGhsanMuaGlnaGxpZ2h0QmxvY2soJChwcmUpLmZpbmQoJ3ByZSBjb2RlJylbMF0pXG4iLCJleHBvcnRzLm1haW4gPSBNYXJpb25ldHRlLkl0ZW1WaWV3LmV4dGVuZFxuICAgIHRhZ05hbWU6IFwibGlcIlxuICAgIHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLmhlYWRlci5tZW51Lml0ZW1cblxuZXhwb3J0cy5tb2JpbGUgPSBNYXJpb25ldHRlLkl0ZW1WaWV3LmV4dGVuZFxuICAgIHRhZ05hbWU6IFwibGlcIlxuICAgIHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLmhlYWRlci5tZW51Lm1vYmlsZVxuIiwiTW9kZWxTb2NpYWwgPSByZXF1aXJlKCcuLi8uLi9tb2RlbHMvaGVhZGVyL3NvY2lhbCcpXG5cbmV4cG9ydHMudHdpdHRlciA9IE1hcmlvbmV0dGUuSXRlbVZpZXcuZXh0ZW5kXG4gICAgdGFnTmFtZTogXCJzcGFuXCJcbiAgICBtb2RlbDogbmV3IE1vZGVsU29jaWFsLnR3aXR0ZXIoKVxuICAgIHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLmhlYWRlci5zb2NpYWwudHdpdHRlclxuXG4gICAgaW5pdGlhbGl6ZTogLT5cbiAgICAgICAgQGxpc3RlblRvIEBtb2RlbCwgJ3N5bmMnLCBAcmVuZGVyXG5cbiAgICAgICAgQG1vZGVsLmZldGNoXG4gICAgICAgICAgICBkYXRhOiAkLnBhcmFtKHsgdXJsOiBcInd3dy5tYXhtZXJ0LmNvbVwifSlcblxuXG5cblxuZXhwb3J0cy5mYWNlYm9vayA9IE1hcmlvbmV0dGUuSXRlbVZpZXcuZXh0ZW5kXG4gICAgdGFnTmFtZTogXCJzcGFuXCJcbiAgICBtb2RlbDogbmV3IE1vZGVsU29jaWFsLmZhY2Vib29rKClcbiAgICB0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5oZWFkZXIuc29jaWFsLmZhY2Vib29rXG5cbiAgICBpbml0aWFsaXplOiAtPlxuICAgICAgICBAbGlzdGVuVG8gQG1vZGVsLCAnc3luYycsIEByZW5kZXJcblxuICAgICAgICBAbW9kZWwuZmV0Y2hcbiAgICAgICAgICAgIGRhdGE6ICQucGFyYW0oeyB1cmw6IFwid3d3Lm1heG1lcnQuY29tXCJ9KVxuXG5cblxuZXhwb3J0cy5naXRodWIgPSBNYXJpb25ldHRlLkl0ZW1WaWV3LmV4dGVuZFxuICAgIHRhZ05hbWU6IFwic3BhblwiXG4gICAgbW9kZWw6IG5ldyBNb2RlbFNvY2lhbC5naXRodWIoKVxuICAgIHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLmhlYWRlci5zb2NpYWwuZ2l0aHViXG5cbiAgICBpbml0aWFsaXplOiAtPlxuICAgICAgICBAbGlzdGVuVG8gQG1vZGVsLCAnc3luYycsIEByZW5kZXJcblxuICAgICAgICBAbW9kZWwuZmV0Y2hcbiAgICAgICAgICAgIGRhdGE6ICQucGFyYW0oeyBvd25lcjogXCJtYXhtZXJ0XCIsIHJlcG86IFwibWF4bWVydGtpdFwifSlcbiIsIiMgTW9kZWxTb2NpYWwgPSByZXF1aXJlKCcuLi8uLi8uLi9tb2RlbHMvcGFnZXMvc29jaWFsJylcblxuZXhwb3J0cy5oZWFkZXIgPSBNYXJpb25ldHRlLkl0ZW1WaWV3LmV4dGVuZFxuXHQjIG1vZGVsOiBuZXcgTW9kZWxTb2NpYWwuZ2l0aHViKClcblx0dGVtcGxhdGU6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLmhlYWRlclxuXG5cblx0aW5pdGlhbGl6ZTogLT5cblx0XHQjIEBsaXN0ZW5UbyBAbW9kZWwsICdjaGFuZ2UnLCBAcmVuZGVyXG5cdFx0QGxpc3RlblRvIEBtb2RlbCwgJ2NoYW5nZTpzaXplJywgQHNpemVDaGFuZ2VyXG5cdFx0QGxpc3RlblRvIEBtb2RlbCwgJ2NoYW5nZTpuYW1lJywgQG5hbWVDaGFuZ2VyXG5cdFx0QGxpc3RlblRvIEBtb2RlbCwgJ2NoYW5nZTp0aGVtZScsIEB0aGVtZUNoYW5nZXJcblx0XG5cdG9uUmVuZGVyOiAtPlxuXHRcdEAkZWwuY3NzIG9wYWNpdHk6IDBcblx0XHRzZXRUaW1lb3V0ID0+XG5cdFx0XHRAJGVsLmFuaW1hdGUgb3BhY2l0eTogMVxuXHRcdCwgMjUwMFxuXHRcdEAkc2l6ZSA9IEAkZWwuZmluZCAnI3NpemUnXG5cdFx0QCR0aGVtZSA9IEAkZWwuZmluZCAnI3RoZW1lJ1xuXHRcdEAkbmFtZSA9IEAkZWwuZmluZCAnI25hbWUnXG5cblx0XHRAJHNpemUub24gJ2NsaWNrJywgPT5cblx0XHRcdHdpZGdldHMgPSBAbW9kZWwuZ2V0ICd3aWRnZXRzJ1xuXHRcdFx0YWN0aXZlID0gQG1vZGVsLmdldCAnYWN0aXZlJ1xuXHRcdFx0dGhlbWVBY3RpdmUgPSBAbW9kZWwuZ2V0ICd0aGVtZUFjdGl2ZSdcblx0XHRcdHNpemVBY3RpdmUgPSBAbW9kZWwuZ2V0ICdzaXplQWN0aXZlJ1xuXG5cdFx0XHRpZiBzaXplQWN0aXZlIDwgd2lkZ2V0c1thY3RpdmVdLnNpemVzLmxlbmd0aCAtIDFcblx0XHRcdFx0QG1vZGVsLnNldCAnc2l6ZUFjdGl2ZScsIHNpemVBY3RpdmUgKyAxXG5cdFx0XHRlbHNlXG5cdFx0XHRcdEBtb2RlbC5zZXQgJ3NpemVBY3RpdmUnLCAwXG5cdFx0XHRcblx0XHRcdEBzaXplQ2hhbmdlcigpXG5cblx0XHRAJHRoZW1lLm9uICdjbGljaycsID0+XG5cdFx0XHR3aWRnZXRzID0gQG1vZGVsLmdldCAnd2lkZ2V0cydcblx0XHRcdGFjdGl2ZSA9IEBtb2RlbC5nZXQgJ2FjdGl2ZSdcblx0XHRcdHRoZW1lQWN0aXZlID0gQG1vZGVsLmdldCAndGhlbWVBY3RpdmUnXG5cdFx0XHRzaXplQWN0aXZlID0gQG1vZGVsLmdldCAnc2l6ZUFjdGl2ZSdcblx0XHRcdFxuXHRcdFx0aWYgdGhlbWVBY3RpdmUgPCB3aWRnZXRzW2FjdGl2ZV0udGhlbWVzLmxlbmd0aCAtIDFcblx0XHRcdFx0QG1vZGVsLnNldCAndGhlbWVBY3RpdmUnLCB0aGVtZUFjdGl2ZSArIDFcblx0XHRcdGVsc2Vcblx0XHRcdFx0QG1vZGVsLnNldCAndGhlbWVBY3RpdmUnLCAwXG5cdFx0XHRAdGhlbWVDaGFuZ2VyKClcblxuXHRcdEAkbmFtZS5vbiAnY2xpY2snLCA9PlxuXHRcdFx0d2lkZ2V0cyA9IEBtb2RlbC5nZXQgJ3dpZGdldHMnXG5cdFx0XHRhY3RpdmUgPSBAbW9kZWwuZ2V0ICdhY3RpdmUnXG5cdFx0XHR0aGVtZUFjdGl2ZSA9IEBtb2RlbC5nZXQgJ3RoZW1lQWN0aXZlJ1xuXHRcdFx0c2l6ZUFjdGl2ZSA9IEBtb2RlbC5nZXQgJ3NpemVBY3RpdmUnXG5cdFx0XHRcblx0XHRcdGlmIGFjdGl2ZSA8IHdpZGdldHMubGVuZ3RoIC0gMVxuXHRcdFx0XHRAbW9kZWwuc2V0ICdhY3RpdmUnLCBhY3RpdmUgKyAxXG5cdFx0XHRlbHNlXG5cdFx0XHRcdEBtb2RlbC5zZXQgJ2FjdGl2ZScsIDBcblx0XHRcdEBuYW1lQ2hhbmdlcigpXG5cdFx0XG5cdFx0IyBAdGhlbWVDaGFuZ2VyKClcblx0XHQjIEBuYW1lQ2hhbmdlcigpXG5cdFx0IyBAc2l6ZUNoYW5nZXIoKVxuXG5cdHNpemVDaGFuZ2VyOiAtPlxuXHRcdEAkc2l6ZS5yZW1vdmVDbGFzcyAnLXN0YXJ0LS0nXG5cdFx0QCRzaXplLmFkZENsYXNzICctc3RvcC0tJ1xuXHRcdFxuXHRcdHNldFRpbWVvdXQgPT5cblx0XHRcdEAkc2l6ZS5yZW1vdmVDbGFzcyAnLXN0b3AtLSdcblx0XHRcdEAkc2l6ZS5hZGRDbGFzcyAnLXN0YXJ0LS0nXG5cdFx0XHRAJHNpemUuaHRtbCBcIl8je0Btb2RlbC5nZXQgJ3NpemUnfVwiXG5cdFx0LCA1MDBcblxuXHR0aGVtZUNoYW5nZXI6IC0+XG5cdFx0QCR0aGVtZS5yZW1vdmVDbGFzcyAnLXN0YXJ0LS0nXG5cdFx0QCR0aGVtZS5hZGRDbGFzcyAnLXN0b3AtLSdcblx0XHRcblx0XHRzZXRUaW1lb3V0ID0+XG5cdFx0XHRAJHRoZW1lLnJlbW92ZUNsYXNzICctc3RvcC0tJ1xuXHRcdFx0QCR0aGVtZS5hZGRDbGFzcyAnLXN0YXJ0LS0nXG5cdFx0XHRAJHRoZW1lLmh0bWwgXCItI3tAbW9kZWwuZ2V0ICd0aGVtZSd9LVwiXG5cdFx0LCA1MDBcblxuXHRuYW1lQ2hhbmdlcjogLT5cblx0XHRAJG5hbWUucmVtb3ZlQ2xhc3MgJy1zdGFydC0tJ1xuXHRcdEAkbmFtZS5hZGRDbGFzcyAnLXN0b3AtLSdcblx0XHRcblx0XHRzZXRUaW1lb3V0ID0+XG5cdFx0XHRAJG5hbWUucmVtb3ZlQ2xhc3MgJy1zdG9wLS0nXG5cdFx0XHRAJG5hbWUuYWRkQ2xhc3MgJy1zdGFydC0tJ1xuXHRcdFx0QCRuYW1lLmh0bWwgQG1vZGVsLmdldCAnbmFtZSdcblx0XHQsIDUwMFxuXG5cblxuXG5cblxuZXhwb3J0cy5ib2R5ID0gTWFyaW9uZXR0ZS5JdGVtVmlldy5leHRlbmRcblx0Y2xhc3NOYW1lOiAnZGV2LXNlcmllcy1ib2R5IC1mYWRlaW4tLSdcblx0dGVtcGxhdGU6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLmJvZHlcblxuXG5cdGluaXRpYWxpemU6IC0+XG5cdFx0QGxpc3RlblRvIEBtb2RlbCwgJ2NoYW5nZTpuYW1lJywgQHJlbmRlclxuXHRcdEBsaXN0ZW5UbyBAbW9kZWwsICdjaGFuZ2U6c2l6ZSBjaGFuZ2U6dGhlbWUnLCBAY2hhbmdlclxuXG5cdG9uUmVuZGVyOiAtPlxuXHRcdEAkZWwuY3NzIGRpc3BsYXk6ICdub25lJ1xuXHRcdHNldFRpbWVvdXQgPT5cblx0XHRcdEAkZWwuZmFkZUluKClcblx0XHQsIDUwMFxuXHRcdEBjaGFuZ2VyKClcblx0XHRpZiBAJGVsWzBdLmNoaWxkTm9kZXNbMF0/XG5cdFx0XHQkZWwgPSAkKEAkZWxbMF0uY2hpbGROb2Rlc1swXSlcblx0XHRcdCRlbC5kYXRhICdjbGFzc2VzJywgJGVsLmF0dHIgJ2NsYXNzJ1xuXG5cdGNoYW5nZXI6IC0+XG5cdFx0QCRlbC5yZW1vdmVDbGFzcyAnLXN0YXJ0LS0nXG5cdFx0QCRlbC5hZGRDbGFzcyAnLXN0b3AtLSdcblxuXHRcdHNldFRpbWVvdXQgPT5cblx0XHRcdEAkZWwucmVtb3ZlQ2xhc3MgJy1zdG9wLS0nXG5cdFx0XHRAJGVsLmFkZENsYXNzICctc3RhcnQtLSdcblx0XHRcdGlmIEAkZWxbMF0uY2hpbGROb2Rlc1swXT9cblx0XHRcdFx0JGVsID0gJChAJGVsWzBdLmNoaWxkTm9kZXNbMF0pXG5cdFx0XHRcdCRlbC5hdHRyKCdjbGFzcycsICcnKVxuXHRcdFx0XHQkZWwuYXR0cignY2xhc3MnLCAkZWwuZGF0YSgnY2xhc3NlcycpKVxuXHRcdFx0XHQkZWwuYWRkQ2xhc3MgQG1vZGVsLmdldCAnbmFtZSdcblx0XHRcdFx0JGVsLmFkZENsYXNzIFwiLSN7QG1vZGVsLmdldCgndGhlbWUnKX0tXCJcblx0XHRcdFx0JGVsLmFkZENsYXNzIFwiXyN7QG1vZGVsLmdldCgnc2l6ZScpfVwiXG5cdFx0LCA1MDBcblx0XHQiLCJNb2RlbFNvY2lhbCA9IHJlcXVpcmUoJy4uLy4uL21vZGVscy9wYWdlcy9zb2NpYWwnKVxuXG5leHBvcnRzLmdpdGh1YiA9IE1hcmlvbmV0dGUuSXRlbVZpZXcuZXh0ZW5kXG4gICAgdGFnTmFtZTogXCJzcGFuXCJcbiAgICBtb2RlbDogbmV3IE1vZGVsU29jaWFsLmdpdGh1YigpXG4gICAgdGVtcGxhdGU6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuc29jaWFsLmdpdGh1YlxuXG4gICAgaW5pdGlhbGl6ZTogLT5cbiAgICAgICAgQGxpc3RlblRvIEBtb2RlbCwgJ3N5bmMnLCBAcmVuZGVyXG5cbiAgICAgICAgQG1vZGVsLmZldGNoXG4gICAgICAgICAgICBkYXRhOiAkLnBhcmFtKHsgb3duZXI6IFwibWF4bWVydFwiLCByZXBvOiBcIm1heG1lcnRraXRcIn0pXG4iLCJleHBvcnRzLm1vZHVsZSA9IE1hcmlvbmV0dGUuSXRlbVZpZXcuZXh0ZW5kXG4gICAgdGFnTmFtZTogXCJsaVwiXG4gICAgdGVtcGxhdGU6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24uc2lkZWJhci5tZW51Lml0ZW1cbiIsImV4cG9ydHMubW9kdWxlID0ge1wiY29tbW9uXCI6e1wicGFnZXNcIjp7XCJpbmRleFwiOntcInNlcmllc1wiOntcIndpZGdldHNcIjp7XCJ0aHVtYm5haWxcIjpcIjxmaWd1cmUgc3R5bGU9XFxcImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDIwMHB4XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTkuc3RhdGljZmxpY2tyLmNvbS84MjM4Lzg1MTc0MTU2NTVfYWMyMjMwMzRhN19iLmpwZ1xcXCI+XFxuXFx0PC9kaXY+XFxuXFx0PGZpZ2NhcHRpb24gY2xhc3M9XFxcIi10aHVtYm5haWwtY2FwdGlvblxcXCI+XFxuXFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdFxcdDxwPkdlaXNoYSAo6Iq46ICFPyksIGdlaWtvICjoirjlrZApIG9yIGdlaWdpICjoirjlppMpLjwvcD5cXG5cXHQ8L2ZpZ2NhcHRpb24+XFxuPC9maWd1cmU+XCIsXCJ0YWJzXCI6XCI8dWw+XFxuXFx0PGxpPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHQ8bGk+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHQ8bGkgZGlzYWJsZWQ9XFxcIlxcXCI+PGE+VGFiIDQ8L2E+PC9saT5cXG48L3VsPlwiLFwic3Bpbm5lcldhdmVzXCI6XCI8ZGl2PlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlwiLFwic3Bpbm5lclNxdWFyZVwiOlwiPGRpdj48L2Rpdj5cIixcInNwaW5uZXJSaW5nXCI6XCI8ZGl2PjwvZGl2PlwiLFwic3Bpbm5lckZiXCI6XCI8ZGl2PlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlwiLFwicHJvZ3Jlc3NcIjpcIjxkaXYgc3R5bGU9XFxcInRleHQtYWxpZ246IGxlZnQ7IGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj4xMiAlPC9kaXY+XFxuPC9kaXY+XCIsXCJwaWxsc1wiOlwiPHVsIGNsYXNzPVxcXCJfcmVzcG9uc2l2ZV9cXFwiIHN0eWxlPVxcXCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHRleHQtYWxpZ246IGxlZnRcXFwiPlxcblxcdDxsaT48YT5SZXNwb25zaXZlPC9hPjwvbGk+XFxuXFx0PGxpPjxhPlBpbGwgMjwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlBpbGwgMzwvYT48L2xpPlxcblxcdDxsaSBkaXNhYmxlZD1cXFwiXFxcIj48YT5QaWxsIDQ8L2E+PC9saT5cXG48L3VsPlwiLFwibmF2YmFyXCI6XCI8ZGl2IHN0eWxlPVxcXCJkaXNwbGF5OmJsb2NrIWltcG9ydGFudFxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnVcXFwiPlxcblxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PC91bD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItcGlsbHMgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+UGlsbCAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMjwvYT48L2xpPlxcblxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+QDwvc3Bhbj48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XCIsXCJtZW51XCI6XCI8dWwgY2xhc3M9XFxcIl9ob3ZlcmVkX1xcXCIgc3R5bGU9XFxcImRpc3BsYXk6IGlubGluZS1ibG9jazsgdGV4dC1hbGlnbjogbGVmdFxcXCI+XFxuXFx0PGxpPjxhPk1lbnUgMSA8aSBjbGFzcz1cXFwiLWFkZG9uIGZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+PC9saT5cXG5cXHQ8bGk+PGE+TWVudSAyIDxpIGNsYXNzPVxcXCItYWRkb25cXFwiPuKMmE08L2k+PC9hPjwvbGk+XFxuXFx0PGxpPlxcblxcdFxcdDxhPk1lbnUgMyA8aSBjbGFzcz1cXFwiLWFkZG9uIGZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3BcXFwiPlxcblxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgd2l0aCBsb25nIG5hbWUgPGkgY2xhc3M9XFxcIi1hZGRvblxcXCI+4oyYTTwvaT48L2E+PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0XFx0PGE+TWVudSAyIDxpIGNsYXNzPVxcXCItYWRkb24gZmEgZmEtY2FyZXQtcmlnaHRcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgX3JpZ2h0X1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudSBfdmVydGljYWxfXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YT5NZW51IDM8L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMzwvYT48L2xpPlxcblxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9saT5cXG48L3VsPlwiLFwibGlzdEdyb3VwXCI6XCI8dWwgc3R5bGU9XFxcImRpc3BsYXk6IGlubGluZS1ibG9jazsgdGV4dC1hbGlnbjogbGVmdFxcXCI+XFxuXFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHQ8bGk+PGE+TWVudSAzPC9hPjwvbGk+XFxuPC91bD5cIixcImxhYmVsXCI6XCI8c3Bhbj5sYWJlbDwvc3Bhbj5cIixcImdyb3VwXCI6XCI8ZGl2IHN0eWxlPVxcXCJkaXNwbGF5OiBpbmxpbmUtYmxvY2tcXFwiPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tbGVmdFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWNlbnRlclxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLXJpZ2h0XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tanVzdGlmeVxcXCI+PC9pPjwvYT48L2Rpdj5cIixcImRyb3Bkb3duXCI6XCI8ZGl2IGNsYXNzPVxcXCJfYm90dG9tXyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdEhlYWRlclxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHREcm9wZG93biBCb3R0b21cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cIixcImJ0blwiOlwiPGE+QnV0dG9uPC9hPlwiLFwiYmFkZ2VcIjpcIjxzcGFuPmJhZGdlPC9zcGFuPlwiLFwiYXZhdGFyXCI6XCI8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiX2JvcmRlcmVkX1xcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+PGltZyBzcmM9XFxcImh0dHBzOi8vZmJjZG4tcHJvZmlsZS1hLmFrYW1haWhkLm5ldC9ocHJvZmlsZS1hay1mcmMzL3QxLjAtMS9jMC4yOC4xNTAuMTUwLzM1MDc5XzEwMzU4NTAyMzAyODUyOF80NTkyOTEwX2EuanBnXFxcIiBhbHQ9XFxcIm1heG1lcnRcXFwiPjwvZmlndXJlPkB2bWF4bWVydFxcbjwvYT5cIixcImFsZXJ0XCI6XCI8ZGl2IGNsYXNzPVxcXCItc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItY2xvc2UgLWJ0biBfdW5zdHlsZWRfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGltZXNcXFwiPjwvaT48L2E+XFxuXFx0SGVhZHMgdXAhIFRoaXMgYWxlcnQgbmVlZHMgeW91ciBhdHRlbnRpb24sIGJ1dCBpdCdzIG5vdCBzdXBlciBpbXBvcnRhbnQuXFxuPC9kaXY+XCJ9LFwiaGVhZGVyXCI6XCI8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiBkZXYtY2FyZC1ob2xkZXJcXFwiPlxcblxcdFxcdDxoNCBjbGFzcz1cXFwiZGV2LWZvbnQtcmFsZXdheSBfY2VudGVyX1xcXCI+d2lkZ2V0PC9oND5cXG5cXHRcXHQ8ZGl2IGlkPVxcXCJuYW1lXFxcIiBjbGFzcz1cXFwiZGV2LWNhcmQgLWh1Z2VpbmMtLVxcXCI+XFxuXFx0XFx0XFx0e3tuYW1lfX1cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSBkZXYtcGx1cyBfdmlzaWJsZS1kZXNrdG9wc18gX3Zpc2libGUtbGFyZ2UtZGVza3RvcHNfXFxcIj5cXG5cXHRcXHQrXFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDIgZGV2LWNhcmQtaG9sZGVyXFxcIj5cXG5cXHRcXHQ8aDQgY2xhc3M9XFxcImRldi1mb250LXJhbGV3YXkgX2NlbnRlcl9cXFwiPnRoZW1lPC9oND5cXG5cXHRcXHQ8ZGl2IGlkPVxcXCJ0aGVtZVxcXCIgY2xhc3M9XFxcImRldi1jYXJkIC1odWdlaW5jLS1cXFwiPlxcblxcdFxcdFxcdC17e3RoZW1lfX0tXFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgZGV2LXBsdXMgX3Zpc2libGUtZGVza3RvcHNfIF92aXNpYmxlLWxhcmdlLWRlc2t0b3BzX1xcXCI+XFxuXFx0XFx0K1xcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIGRldi1jYXJkLWhvbGRlclxcXCI+XFxuXFx0XFx0PGg0IGNsYXNzPVxcXCJkZXYtZm9udC1yYWxld2F5IF9jZW50ZXJfXFxcIj5zaXplPC9oND5cXG5cXHRcXHQ8ZGl2IGlkPVxcXCJzaXplXFxcIiBjbGFzcz1cXFwiZGV2LWNhcmQgLWh1Z2VpbmMtLVxcXCI+XFxuXFx0XFx0XFx0X3t7c2l6ZX19XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XCIsXCJib2R5XCI6XCJ7e3tib2R5fX19XCJ9LFwibGF5b3V0XCI6XCI8c2VjdGlvbiBjbGFzcz1cXFwiZGV2LWluc3RydWN0aW9ucy1pbmRleFxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiZGV2LWluc3RydWN0aW9ucy1ob2xkZXJcXFwiPlxcblxcdFxcdDx2aWRlbyBjbGFzcz1cXFwiZGV2LXZpZGVvLWJsb2NrXFxcIiBhdXRvcGxheT1cXFwiYXV0b3BsYXlcXFwiIGxvb3A9XFxcImluZmluaXRlXFxcIiBwb3N0ZXI9XFxcIi9pbWcvYWJzdHJhY3QuanBnXFxcIiB3aWR0aD1cXFwiMTA2N1xcXCIgaGVpZ2h0PVxcXCI2MDBcXFwiPlxcblxcdFxcdFxcdDxzb3VyY2Ugc3JjPVxcXCIvbWVkaWEvbGFuZGluZy5tcDRcXFwiIHR5cGU9XFxcInZpZGVvL21wNFxcXCI+XFxuXFx0XFx0XFx0PHNvdXJjZSBzcmM9XFxcIi9tZWRpYS9sYW5kaW5nLndlYm1cXFwiIHR5cGU9XFxcInZpZGVvL3dlYm1cXFwiPlxcblxcdFxcdFxcdDxzb3VyY2Ugc3JjPVxcXCIvbWVkaWEvbGFuZGluZy5vZ3ZcXFwiIHR5cGU9XFxcInZpZGVvL29ndlxcXCI+XFxuXFx0XFx0XFx0PGltZyBzcmM9XFxcIi9pbWcvYWJzdHJhY3QuanBnXFxcIj5cXG5cXHRcXHQ8L3ZpZGVvPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfY2VudGVyXyBkZXYtbG9nb2JpZ1xcXCI+PGltZyBzcmM9XFxcIi9pbWcvbG9nb2JpZy5wbmdcXFwiPjwvcD5cXG5cXHRcXHRcXHRcXHQ8aDEgY2xhc3M9XFxcImRldi1mb250LWxvYnN0ZXIgX2NlbnRlcl9cXFwiPk1heG1lcnRraXQ8L2gxPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcImRldi12ZXJzaW9uXFxcIj48c21hbGwgaXRlbXByb3A9XFxcImRhdGVQdWJsaXNoZWRcXFwiIGNvbnRlbnQ9XFxcInt7YnVpbGREYXRlfX1cXFwiPnZlci4gPHNwYW4gaXRlbXByb3A9XFxcInNvZnR3YXJlVmVyc2lvblxcXCI+e3t2ZXJzaW9ufX08L3NwYW4+LCBidWlsZGVkIHt7YnVpbGREYXRlfX08L3NtYWxsPjwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcImRldi1hZGRpdGlvbmFsXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG48cD5Gb3VuZCBhIHRleHQgb3IgY29kZSBlcnJvcj8gUGxlYXNlLCBmZWVsIGZyZWUgdG88L3A+XFxuPHNwYW4gaWQ9XFxcInNvY2lhbC1jb250cmlidXRlXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9zZWN0aW9uPlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXIgZGV2LWRlc2NyaXB0aW9uXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0MlxcXCI+XFxuXFx0XFx0XFx0PGgxIGNsYXNzPVxcXCJfY2VudGVyX1xcXCI+Rmx1aWQuIEludmlzaWJsZS4gSW52aW5jaWJsZS48L2gxPlxcblxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfbWFqb3IgX2NlbnRlcl9cXFwiIGl0ZW1wcm9wPVxcXCJkZXNjcmlwdGlvblxcXCI+XFxuXFx0XFx0XFx0XFx0TWF4bWVydGtpdCBpcyB0aGUgbW9zdCBjdXN0b21pemFibGUgYW5kIGVhc2llc3QgZm9yIHVzYWdlIGZyYW1ld29yayB5b3UndmUgZXZlciBzZWVuLlxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIiBzdHlsZT1cXFwibWFyZ2luLXRvcDogMjVweFxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdDxoMz5QYWNrYWdlIG1hbmFnZXI8L2gzPlxcblxcdFxcdFxcdDxwPlJ1biA8Y29kZT4kIGd1bHA8L2NvZGU+IGFuZCBlZGl0IDxiPm1raXQuanNvbjwvYj4sIHBhY2thZ2UgbWFuYWdlciB3aWxsIGluc3RhbGwgYW5kIHVuaW5zdGFsbCBzaXplcyBhbmQgdGhlbWVzIGZvciB3aWRnZXRzLiBJdCB3aWxsIHJlZHVjZSBmaWxlIHNpemUgYW5kIHJldHJvZml0IG1heG1lcnRraXQgZm9yIHlvdS48L3A+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdDxoMz5QcmVwcm9jZXNzb3IgU2FzczwvaDM+XFxuXFx0XFx0XFx0PHA+QWxsIGNzcyBidWlsZCB3aXRoIFNhc3MuIE1heG1lcnRraXQgdXNlcyBhbGwgcG93ZXJmdWxsIGZlYXR1cmVzIHByb3ZpZGluZyBieSBTYXNzLCBzdWNoIGFzIGxpc3RzIGFuZCBtYXBzLjwvcD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0PGgzPkVhc3kgdG8gcmVtZW1iZXI8L2gzPlxcblxcdFxcdFxcdDxwPkNsYXNzZXMgbmFtZXMgY29udmVjdGlvbi4gPGNvZGU+LW5hbWU8L2NvZGU+IGZvciB3aWRnZXRzLCA8Y29kZT4tbmFtZS08L2NvZGU+IGZvciB0aGVtZXMsIDxjb2RlPl9uYW1lPC9jb2RlPiBmb3Igc2l6ZXMsIDxjb2RlPl9uYW1lXzwvY29kZT4gZm9yIG1vZGlmaWVycywgPGNvZGU+LW5hbWUtLTwvY29kZT4gZm9yIGFuaW1hdGlvbnMuPC9wPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHQ8aDM+RWFzeSB0byBhcHBlbmQgYW5kIGVkaXQ8L2gzPlxcblxcdFxcdFxcdDxwPkl0J3MgcmVhbGx5IGVhc3kgdG8gYXBwZW5kIGFuZCBlZGl0IG5ldyB0aGVtZXMsIHNpemVzLCBhbmltYXRpb25zIGFuZCB3aWRnZXRzLiBKdXN0IGdvIHRocm91Z2ggPGEgaHJlZj1cXFwiL3N0YXJ0I2NvbW1vbkhvd3RvXFxcIj5ob3cgdG88L2E+IHNlY3Rpb24uPC9wPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiIHN0eWxlPVxcXCJtYXJnaW4tdG9wOiAyNXB4XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0MlxcXCI+XFxuXFx0XFx0XFx0PGgyIGNsYXNzPVxcXCJfY2VudGVyX1xcXCI+Tm8galF1ZXJ5PC9oMj5cXG5cXHRcXHRcXHQ8cCBjbGFzcz1cXFwiX21ham9yIF9jZW50ZXJfXFxcIj5Zb3UgZG9uJ3QgbmVlZCBqUXVlcnkgdG8gdXNlIE1heG1lcnRraXQgamF2YXNjcmlwdCBwbHVnaW5zLiBUaGV5IGFyZSBpbmNyZWRpYmx5IGZhc3QuPC9wPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiIHN0eWxlPVxcXCJtYXJnaW4tdG9wOiAyNXB4XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0MlxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxoND5TZW1hbnRpYzwvaDQ+XFxuXFx0XFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9ub3JtYWxcXFwiPk1heG1lcnRraXQgY2FuIGJlIHVzZWQgd2l0aCBjb21wbGV0ZWx5IHNlbWFudGljIG1hcmt1cC4gV3JpdGUgY2xlYW4gY29kZSB3aXRob3V0IHNhY3JpZmljaW5nIGFueSB1dGlsaXR5IG9yIGNvbnZlbmllbmNlLjwvcD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGg0PlJlc3BvbnNpdmU8L2g0PlxcblxcdFxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfbm9ybWFsXFxcIj5NYXhtZXJ0a2l0IGlzIHJlc3BvbnNpdmUgZnJhbWV3b3JrLCBhbmQgaXQgcGVybWVhdGVzIGV2ZXJ5IGFzcGVjdCBvZiB0aGUgZnJhbWV3b3JrLiBCdWlsZCBmb3IgZXZlcnkgZGV2aWNlIHdpdGggZWFzZS48L3A+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxoND5SZWFkYWJsZTwvaDQ+XFxuXFx0XFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9ub3JtYWxcXFwiPk1heG1lcnRraXQgaXMgd3JpdHRlbiB3aXRoIGh1bWFucyBpbiBtaW5kLCBhbmQgaXMgZWFzeSB0byByZWFkIGV2ZW4gaWYgeW91IGRvbuKAmXQga25vdyBtdWNoIGNvZGUuPC9wPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aDQ+UmFwaWQgcHJvdG90eXBpbmc8L2g0PlxcblxcdFxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfbm9ybWFsXFxcIj5NYXhtZXJ0a2l0IGFsbG93cyB5b3UgdG8gc3dpZnRseSBwcm90b3R5cGUgeW91ciBpZGVhcyBzbyB5b3UgY2FuIHN0YXJ0IHRlc3Rpbmcgc29vbmVyIHRoYW4gbGF0ZXIuPC9wPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi13YWxsIGRldi13YWxsXFxcIiBkYXRhLWtpbmQ9XFxcIndhbGxcXFwiIGRhdGEtem9vbT1cXFwidHJ1ZVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWl0ZW1cXFwiPlxcblxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiID5cXG5cXHRcXHRcXHQ8aW1nIHNyYz1cXFwiL2ltZy9taWNyb3Njb3BlLmpwZ1xcXCIgYWx0PVxcXCJFeGFtcGxlc1xcXCI+XFxuXFx0XFx0PC9maWd1cmU+XFxuXFx0XFx0PGhlYWRlciBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDggLW9mZnNldDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoMSBjbGFzcz1cXFwiZGV2LWZvbnQtbG9ic3RlciBfY2VudGVyX1xcXCI+RXhhbXBsZXM8L2gxPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoMiBjbGFzcz1cXFwiZGV2LWZvbnQtcmFsZXdheSBfY2VudGVyX1xcXCI+PHNtYWxsPkJlYXV0aWZ1bCBleGFtcGxlcyBvZiB1c2luZyBtYXhtZXJ0a2l0PC9zbWFsbD48L2gyPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfY2VudGVyX1xcXCI+PHNtYWxsIHN0eWxlPVxcXCJvcGFjaXR5OiAwLjQ7IGZvbnQtd2VpZ2h0OiAxMDBcXFwiPlRoZXJlIGFyZSBmZXcgb2YgdGhlbSwgYnV0IEknbGwgYWRkIHNvbWUgbW9yZSBzb29uLjwvc21hbGw+PC9wPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfY2VudGVyX1xcXCIgc3R5bGU9XFxcIm1hcmdpbi10b3A6IDIwcHhcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBocmVmPVxcXCIvZXhhbXBsZXMvYmxvZ1xcXCIgY2xhc3M9XFxcIi1idG4tZ2hvc3QgLXNjYWxlLS1cXFwiPmJsb2c8L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvaGVhZGVyPlxcblxcdFxcdDwhLS0gPHNlY3Rpb24gY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiAtb2Zmc2V0M1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGgyIGNsYXNzPVxcXCJkZXYtZm9udC1yYWxld2F5IF9jZW50ZXJfXFxcIj5BIGZldyBleGFtcGxlcyBhcmUgaGVyZTwvaDI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9tYWpvciBfY2VudGVyX1xcXCIgc3R5bGU9XFxcImZvbnQtd2VpZ2h0OiAxMDBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFlvdSB3aWxsIGJlIGFibGUgdG8gY3JlYXRlIGF3ZXNvbWUgc2l0ZXMgd2l0aCB0aGVlc2UgZXhhbXBsZXMuXFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBocmVmPVxcXCIvZXhhbXBsZXMvYmxvZ1xcXCIgY2xhc3M9XFxcIi1idG4tZ2hvc3QgLXNjYWxlLS1cXFwiPmJsb2c8L2E+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9zZWN0aW9uPiAtLT5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0MlxcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcIi9pbWcvZGV2aWNlcy5wbmdcXFwiPlxcblxcdFxcdFxcdDwhLS0gPGZpZ2NhcHRpb24gY2xhc3M9XFxcIi10aHVtYm5haWwtY2FwdGlvblxcXCI+XFxuXFx0XFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdDxwPkdlaXNoYSAo6Iq46ICFPyksIGdlaWtvICjoirjlrZApIG9yIGdlaWdpICjoirjlppMpIGFyZSB0cmFkaXRpb25hbCBKYXBhbmVzZSBmZW1hbGUgZW50ZXJ0YWluZXJzIHdobyBhY3QgYXMgaG9zdGVzc2VzIGFuZCB3aG9zZSBza2lsbHMgaW5jbHVkZSBwZXJmb3JtaW5nIHZhcmlvdXMgSmFwYW5lc2UgYXJ0cyBzdWNoIGFzIGNsYXNzaWNhbCBtdXNpYywgZGFuY2UgYW5kIGdhbWVzLjwvcD5cXG5cXHRcXHRcXHQ8L2ZpZ2NhcHRpb24+IC0tPlxcblxcdFxcdFxcdDwvZmlndXJlPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxtYWluIGNsYXNzPVxcXCItY29udGFpbmVyIGRldi1tYWluLWNvbnRlbnRcXFwiPlxcblxcdDxhcnRpY2xlIGNsYXNzPVxcXCJkZXYtc2VyaWVzXFxcIj5cXG5cXHRcXHQ8c2VjdGlvbiBjbGFzcz1cXFwiLXJvd1xcXCIgaWQ9XFxcInNlcmllcy1oZWFkZXJcXFwiPlxcblxcdFxcdDwvc2VjdGlvbj5cXG5cXHRcXHQ8c2VjdGlvbiBjbGFzcz1cXFwiLXJvd1xcXCIgaWQ9XFxcInNlcmllc1xcXCI+XFxuXFx0XFx0PC9zZWN0aW9uPlxcblxcdDwvYXJ0aWNsZT5cXG48L21haW4+XFxuXCJ9LFwic29jaWFsXCI6e1wiZ2l0aHViXCI6XCI8YSBocmVmPVxcXCJodHRwczovL2dpdGh1Yi5jb20vbWF4bWVydC9tYXhtZXJ0a2l0L2ZvcmtcXFwiIGNsYXNzPVxcXCItYnRuLWJvcmRlcmVkIF9taW5vclxcXCIgdGFyZ2V0PVxcXCJfYmxhbmtcXFwiIGRhdGEtYnlwYXNzPlxcbjxpIGNsYXNzPVxcXCJmYSBmYS1naXRodWJcXFwiPjwvaT4mbmJzcDs8Yj57e3NpZ259fTwvYj5cXG57eyNjb3VudH19e3tjb3VudH19e3svY291bnR9fVxcbnt7XmNvdW50fX1cXG48c3BhbiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgX3RpbnlcXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvc3Bhbj5cXG57ey9jb3VudH19XFxuPC9hPlxcblwifSxcIndpZGdldHNcIjpcIjxzZWN0aW9uIGNsYXNzPVxcXCJkZXYtaW5zdHJ1Y3Rpb25zLXdpZGdldHNcXFwiPlxcbjxkaXYgY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtaG9sZGVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG48aDEgY2xhc3M9XFxcImRldi1mb250LWxvYnN0ZXIgX2NlbnRlcl9cXFwiPldpZGdldHMgPHNtYWxsIGNsYXNzPVxcXCJkZXYtZm9udC1yYWxld2F5XFxcIj5Db21wb25lbnRzPC9zbWFsbD48L2gxPlxcbjxwIGl0ZW1wcm9wPVxcXCJkZXNjcmlwdGlvblxcXCIgY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtZGVzY3JpcHRpb24gX2NlbnRlcl9cXFwiPk1heG1lcnRraXQgd2lkZ2V0cyBhbGxvdyB5b3UgdG8gY3VzdG9taXplIGFuZCBtYWtlIHlvdXIgcHJvamVjdCBhbGl2ZS48L3A+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LXZlcnNpb25cXFwiPjxzbWFsbCBpdGVtcHJvcD1cXFwiZGF0ZVB1Ymxpc2hlZFxcXCIgY29udGVudD1cXFwie3tidWlsZERhdGV9fVxcXCI+dmVyLiA8c3BhbiBpdGVtcHJvcD1cXFwic29mdHdhcmVWZXJzaW9uXFxcIj57e3ZlcnNpb259fTwvc3Bhbj4sIGJ1aWxkZWQge3tidWlsZERhdGV9fTwvc21hbGw+PC9kaXY+XFxuPGZvcm0gYWN0aW9uPVxcXCJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyXFxcIiBtZXRob2Q9XFxcInBvc3RcXFwiIHRhcmdldD1cXFwiX3RvcFxcXCIgc3R5bGU9XFxcInRleHQtYWxpZ246Y2VudGVyOyBtYXJnaW4tdG9wOiAxMHB4XFxcIj5cXG48aW5wdXQgdHlwZT1cXFwiaGlkZGVuXFxcIiBuYW1lPVxcXCJjbWRcXFwiIHZhbHVlPVxcXCJfcy14Y2xpY2tcXFwiPlxcbjxpbnB1dCB0eXBlPVxcXCJoaWRkZW5cXFwiIG5hbWU9XFxcImVuY3J5cHRlZFxcXCIgdmFsdWU9XFxcIi0tLS0tQkVHSU4gUEtDUzctLS0tLU1JSUhOd1lKS29aSWh2Y05BUWNFb0lJSEtEQ0NCeVFDQVFFeGdnRXdNSUlCTEFJQkFEQ0JsRENCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjBDQVFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lDQ3FBQWttY0M5K2tFaUM0MWgvMG9lYXNHZ28wa0pwQmxNTGZmN1o1Yi93UlpUbExqa0tCNi9CSTd2RmRDNitNZ2lZa0xxUnIvUmhjZmY3SFlvajhNWkVUYStGRWg1SXpKM1hTUXpjM0hEYXBOUCtSWEdtMWFQb0RRUXJ0Mk1Famp1SUI5VkZ5cVUwT1pSYzhhZ3M5N0VzN1hLU2RKV2NMZkpzbjV6cEl2OEd6RUxNQWtHQlNzT0F3SWFCUUF3Z2JRR0NTcUdTSWIzRFFFSEFUQVVCZ2dxaGtpRzl3MERCd1FJbEQ3SnF6VE16cDZBZ1pCbE9zMHk1TldQRmpvRm5JZW5uMlFJbG8vdjBnVVZmWEdUbXJZSnREYkJYTGZ3MnFEdUQ0cWY4Y0I4eklteFMzNkZFdWdsbW1xMDQvbHZjMmEyL0lFbGlWUk5vc3M4Z0VxbnEwVWFiVkhmYzNrVDI0SmgrSDg1ck5tYkN0NGk4T2xkditJamVLTzJqRnZnT3p0R3hxcm03THBsejd3SWtiQ2tMSW15SW1aOXhPYjFsSjdlMzBjZ3dJWUV0ZVU3blllZ2dnT0hNSUlEZ3pDQ0F1eWdBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUVVGQURDQmpqRUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWtOQk1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldhV1YzTVJRd0VnWURWUVFLRXd0UVlYbFFZV3dnU1c1akxqRVRNQkVHQTFVRUN4UUtiR2wyWlY5alpYSjBjekVSTUE4R0ExVUVBeFFJYkdsMlpWOWhjR2t4SERBYUJna3Foa2lHOXcwQkNRRVdEWEpsUUhCaGVYQmhiQzVqYjIwd0hoY05NRFF3TWpFek1UQXhNekUxV2hjTk16VXdNakV6TVRBeE16RTFXakNCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjB3Z1o4d0RRWUpLb1pJaHZjTkFRRUJCUUFEZ1kwQU1JR0pBb0dCQU1GSFR0MzhSTXhMWEp5TzJTbVMrTmRsNzJUN29LSjR1NHV3KzZhd250QUxXaDAzUGV3bUlKdXpiQUxTY3NUUzRzWm9TMWZLY2lCR29oMTFnSWZIenlsdmtkTmUvaEpsNjYvUkdxcmo1ckZiMDhzQUFCTlR6RFRpcXFOcEplQnNZcy9jMmFpR296cHRYMlJsbkJrdEgrU1VOcEFhalc3MjROdjJXdmhpZjZzRkFnTUJBQUdqZ2U0d2dlc3dIUVlEVlIwT0JCWUVGSmFmZkx2R2J4ZTlXVDlTMXdvYjdCRFdaSlJyTUlHN0JnTlZIU01FZ2JNd2diQ0FGSmFmZkx2R2J4ZTlXVDlTMXdvYjdCRFdaSlJyb1lHVXBJR1JNSUdPTVFzd0NRWURWUVFHRXdKVlV6RUxNQWtHQTFVRUNCTUNRMEV4RmpBVUJnTlZCQWNURFUxdmRXNTBZV2x1SUZacFpYY3hGREFTQmdOVkJBb1RDMUJoZVZCaGJDQkpibU11TVJNd0VRWURWUVFMRkFwc2FYWmxYMk5sY25Sek1SRXdEd1lEVlFRREZBaHNhWFpsWDJGd2FURWNNQm9HQ1NxR1NJYjNEUUVKQVJZTmNtVkFjR0Y1Y0dGc0xtTnZiWUlCQURBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxR1NJYjNEUUVCQlFVQUE0R0JBSUZmT2xhYWdGcmw3MStqcTZPS2lkYldGU0UrUTRGcVJPdmRnSU9OdGgrOGtTSy8vWS80aWh1RTRZbXZ6bjVjZUUzUy9pQlNRUU1qeXZiK3MyVFdiUVlEd2NwMTI5T1BJYkQ5ZXBkcjR0Sk9VTmlTb2p3N0JId1lSaVBoNThTMXhHbEZnSEZYd3JFQmIzZGdOYk1VYSt1NHFlY3RzTUFYcFZIbkQ5d0l5Zm1ITVlJQm1qQ0NBWllDQVFFd2daUXdnWTR4Q3pBSkJnTlZCQVlUQWxWVE1Rc3dDUVlEVlFRSUV3SkRRVEVXTUJRR0ExVUVCeE1OVFc5MWJuUmhhVzRnVm1sbGR6RVVNQklHQTFVRUNoTUxVR0Y1VUdGc0lFbHVZeTR4RXpBUkJnTlZCQXNVQ214cGRtVmZZMlZ5ZEhNeEVUQVBCZ05WQkFNVUNHeHBkbVZmWVhCcE1Sd3dHZ1lKS29aSWh2Y05BUWtCRmcxeVpVQndZWGx3WVd3dVkyOXRBZ0VBTUFrR0JTc09Bd0lhQlFDZ1hUQVlCZ2txaGtpRzl3MEJDUU14Q3dZSktvWklodmNOQVFjQk1Cd0dDU3FHU0liM0RRRUpCVEVQRncweE5EQTFNVGt5TWpRek1qbGFNQ01HQ1NxR1NJYjNEUUVKQkRFV0JCUjNzM2J4aGFaUXc1eU9ncjdnVEE5MnVqdzdwVEFOQmdrcWhraUc5dzBCQVFFRkFBU0JnRkxSZkthMkZKNmNnQWROSXU0YW0xKy9yTklla3lrNzNJTGpZcWk4eXl6ZjVYN2NOaTNObWZIakpqUURQeERJem9nZ3grdktUemxYOWZxSXhLZ3NETDluUlFOSU5rNXlvSzdLKzUwTGtkZjUveDhLa3lnaG94Z0E0c1RpSHgwRXdkYm5VRERtZ3ZoVWl0YURQYm1od2tFTlZLem1WR2hqcGxTMEZIbjJqVDhqLS0tLS1FTkQgUEtDUzctLS0tLVxcblxcXCI+XFxuPGlucHV0IHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcIi1idG4tYm9yZGVyZWQgX21pbm9yIGRldi1kb25hdGUtYnRuXFxcIiBzcmM9XFxcImh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL2VuX1VTL2kvYnRuL2J0bl9kb25hdGVfTEcuZ2lmXFxcIiBuYW1lPVxcXCJzdWJtaXRcXFwiIGFsdD1cXFwiUGF5UGFsIC0gVGhlIHNhZmVyLCBlYXNpZXIgd2F5IHRvIHBheSBvbmxpbmUhXFxcIiB2YWx1ZT1cXFwiZG9uYXRlIGZvciBnb29nbGUgZ2xhc3NcXFwiPlxcbjwvZm9ybT5cXG48L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJkZXYtYWRkaXRpb25hbFxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuPHA+Rm91bmQgYSB0ZXh0IG9yIGNvZGUgZXJyb3I/IFBsZWFzZSwgZmVlbCBmcmVlIHRvPC9wPlxcbjxzcGFuIGlkPVxcXCJzb2NpYWwtY29udHJpYnV0ZVxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyIGRldi1tYWluLWNvbnRlbnRcXFwiPlxcbjxhc2lkZSBjbGFzcz1cXFwiLWNvbDMgZGV2LXNpZGViYXItbWVudSBfcmlnaHQtZGVza3RvcHNfIF9yaWdodC1sYXJnZS1kZXNrdG9wc19cXFwiPlxcbjxuYXYgaWQ9XFxcInNpZGViYXJcXFwiPjwvbmF2PlxcbjxociBjbGFzcz1cXFwiX2hpZGRlbi1kZXNrdG9wc18gX2hpZGRlbi1sYXJnZS1kZXNrdG9wc19cXFwiPlxcbjwvYXNpZGU+XFxuPGFydGljbGUgaWQ9XFxcImNvbnRlbnRcXFwiIGNsYXNzPVxcXCItY29sOSBfbGVmdC1kZXNrdG9wc18gX2xlZnQtbGFyZ2UtZGVza3RvcHNfXFxcIj48L2FydGljbGU+XFxuPC9kaXY+XFxuXCIsXCJ1dGlsaXRpZXNcIjpcIjxzZWN0aW9uIGNsYXNzPVxcXCJkZXYtaW5zdHJ1Y3Rpb25zLXV0aWxpdGllc1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LWluc3RydWN0aW9ucy1ob2xkZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcbjxoMSBjbGFzcz1cXFwiZGV2LWZvbnQtbG9ic3RlciBfY2VudGVyX1xcXCI+VXRpbGl0aWVzIDxzbWFsbCBjbGFzcz1cXFwiZGV2LWZvbnQtcmFsZXdheVxcXCI+Q29tcG9uZW50czwvc21hbGw+PC9oMT5cXG48cCBpdGVtcHJvcD1cXFwiZGVzY3JpcHRpb25cXFwiIGNsYXNzPVxcXCJkZXYtaW5zdHJ1Y3Rpb25zLWRlc2NyaXB0aW9uIF9jZW50ZXJfXFxcIj5NYXhtZXJ0a2l0IHV0aWxpdGllcyBtYWtlIHlvdXIgZGV2ZWxvcG1lbnQgbXVjaCBlYXNpZXIuPC9wPlxcbjxkaXYgY2xhc3M9XFxcImRldi12ZXJzaW9uXFxcIj48c21hbGwgaXRlbXByb3A9XFxcImRhdGVQdWJsaXNoZWRcXFwiIGNvbnRlbnQ9XFxcInt7YnVpbGREYXRlfX1cXFwiPnZlci4gPHNwYW4gaXRlbXByb3A9XFxcInNvZnR3YXJlVmVyc2lvblxcXCI+e3t2ZXJzaW9ufX08L3NwYW4+LCBidWlsZGVkIHt7YnVpbGREYXRlfX08L3NtYWxsPjwvZGl2Plxcbjxmb3JtIGFjdGlvbj1cXFwiaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjclxcXCIgbWV0aG9kPVxcXCJwb3N0XFxcIiB0YXJnZXQ9XFxcIl90b3BcXFwiIHN0eWxlPVxcXCJ0ZXh0LWFsaWduOmNlbnRlcjsgbWFyZ2luLXRvcDogMTBweFxcXCI+XFxuPGlucHV0IHR5cGU9XFxcImhpZGRlblxcXCIgbmFtZT1cXFwiY21kXFxcIiB2YWx1ZT1cXFwiX3MteGNsaWNrXFxcIj5cXG48aW5wdXQgdHlwZT1cXFwiaGlkZGVuXFxcIiBuYW1lPVxcXCJlbmNyeXB0ZWRcXFwiIHZhbHVlPVxcXCItLS0tLUJFR0lOIFBLQ1M3LS0tLS1NSUlITndZSktvWklodmNOQVFjRW9JSUhLRENDQnlRQ0FRRXhnZ0V3TUlJQkxBSUJBRENCbERDQmpqRUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWtOQk1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldhV1YzTVJRd0VnWURWUVFLRXd0UVlYbFFZV3dnU1c1akxqRVRNQkVHQTFVRUN4UUtiR2wyWlY5alpYSjBjekVSTUE4R0ExVUVBeFFJYkdsMlpWOWhjR2t4SERBYUJna3Foa2lHOXcwQkNRRVdEWEpsUUhCaGVYQmhiQzVqYjIwQ0FRQXdEUVlKS29aSWh2Y05BUUVCQlFBRWdZQ0NxQUFrbWNDOStrRWlDNDFoLzBvZWFzR2dvMGtKcEJsTUxmZjdaNWIvd1JaVGxMamtLQjYvQkk3dkZkQzYrTWdpWWtMcVJyL1JoY2ZmN0hZb2o4TVpFVGErRkVoNUl6SjNYU1F6YzNIRGFwTlArUlhHbTFhUG9EUVFydDJNRWpqdUlCOVZGeXFVME9aUmM4YWdzOTdFczdYS1NkSldjTGZKc241enBJdjhHekVMTUFrR0JTc09Bd0lhQlFBd2diUUdDU3FHU0liM0RRRUhBVEFVQmdncWhraUc5dzBEQndRSWxEN0pxelRNenA2QWdaQmxPczB5NU5XUEZqb0ZuSWVubjJRSWxvL3YwZ1VWZlhHVG1yWUp0RGJCWExmdzJxRHVENHFmOGNCOHpJbXhTMzZGRXVnbG1tcTA0L2x2YzJhMi9JRWxpVlJOb3NzOGdFcW5xMFVhYlZIZmMza1QyNEpoK0g4NXJObWJDdDRpOE9sZHYrSWplS08yakZ2Z096dEd4cXJtN0xwbHo3d0lrYkNrTElteUltWjl4T2IxbEo3ZTMwY2d3SVlFdGVVN25ZZWdnZ09ITUlJRGd6Q0NBdXlnQXdJQkFnSUJBREFOQmdrcWhraUc5dzBCQVFVRkFEQ0JqakVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQkFnVEFrTkJNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SUXdFZ1lEVlFRS0V3dFFZWGxRWVd3Z1NXNWpMakVUTUJFR0ExVUVDeFFLYkdsMlpWOWpaWEowY3pFUk1BOEdBMVVFQXhRSWJHbDJaVjloY0dreEhEQWFCZ2txaGtpRzl3MEJDUUVXRFhKbFFIQmhlWEJoYkM1amIyMHdIaGNOTURRd01qRXpNVEF4TXpFMVdoY05NelV3TWpFek1UQXhNekUxV2pDQmpqRUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWtOQk1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldhV1YzTVJRd0VnWURWUVFLRXd0UVlYbFFZV3dnU1c1akxqRVRNQkVHQTFVRUN4UUtiR2wyWlY5alpYSjBjekVSTUE4R0ExVUVBeFFJYkdsMlpWOWhjR2t4SERBYUJna3Foa2lHOXcwQkNRRVdEWEpsUUhCaGVYQmhiQzVqYjIwd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFNRkhUdDM4Uk14TFhKeU8yU21TK05kbDcyVDdvS0o0dTR1dys2YXdudEFMV2gwM1Bld21JSnV6YkFMU2NzVFM0c1pvUzFmS2NpQkdvaDExZ0lmSHp5bHZrZE5lL2hKbDY2L1JHcXJqNXJGYjA4c0FBQk5UekRUaXFxTnBKZUJzWXMvYzJhaUdvenB0WDJSbG5Ca3RIK1NVTnBBYWpXNzI0TnYyV3ZoaWY2c0ZBZ01CQUFHamdlNHdnZXN3SFFZRFZSME9CQllFRkphZmZMdkdieGU5V1Q5UzF3b2I3QkRXWkpSck1JRzdCZ05WSFNNRWdiTXdnYkNBRkphZmZMdkdieGU5V1Q5UzF3b2I3QkRXWkpScm9ZR1VwSUdSTUlHT01Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQk1DUTBFeEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlGWnBaWGN4RkRBU0JnTlZCQW9UQzFCaGVWQmhiQ0JKYm1NdU1STXdFUVlEVlFRTEZBcHNhWFpsWDJObGNuUnpNUkV3RHdZRFZRUURGQWhzYVhabFgyRndhVEVjTUJvR0NTcUdTSWIzRFFFSkFSWU5jbVZBY0dGNWNHRnNMbU52YllJQkFEQU1CZ05WSFJNRUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkJRVUFBNEdCQUlGZk9sYWFnRnJsNzEranE2T0tpZGJXRlNFK1E0RnFST3ZkZ0lPTnRoKzhrU0svL1kvNGlodUU0WW12em41Y2VFM1MvaUJTUVFNanl2YitzMlRXYlFZRHdjcDEyOU9QSWJEOWVwZHI0dEpPVU5pU29qdzdCSHdZUmlQaDU4UzF4R2xGZ0hGWHdyRUJiM2RnTmJNVWErdTRxZWN0c01BWHBWSG5EOXdJeWZtSE1ZSUJtakNDQVpZQ0FRRXdnWlF3Z1k0eEN6QUpCZ05WQkFZVEFsVlRNUXN3Q1FZRFZRUUlFd0pEUVRFV01CUUdBMVVFQnhNTlRXOTFiblJoYVc0Z1ZtbGxkekVVTUJJR0ExVUVDaE1MVUdGNVVHRnNJRWx1WXk0eEV6QVJCZ05WQkFzVUNteHBkbVZmWTJWeWRITXhFVEFQQmdOVkJBTVVDR3hwZG1WZllYQnBNUnd3R2dZSktvWklodmNOQVFrQkZnMXlaVUJ3WVhsd1lXd3VZMjl0QWdFQU1Ba0dCU3NPQXdJYUJRQ2dYVEFZQmdrcWhraUc5dzBCQ1FNeEN3WUpLb1pJaHZjTkFRY0JNQndHQ1NxR1NJYjNEUUVKQlRFUEZ3MHhOREExTVRreU1qUXpNamxhTUNNR0NTcUdTSWIzRFFFSkJERVdCQlIzczNieGhhWlF3NXlPZ3I3Z1RBOTJ1anc3cFRBTkJna3Foa2lHOXcwQkFRRUZBQVNCZ0ZMUmZLYTJGSjZjZ0FkTkl1NGFtMSsvck5JZWt5azczSUxqWXFpOHl5emY1WDdjTmkzTm1mSGpKalFEUHhESXpvZ2d4K3ZLVHpsWDlmcUl4S2dzREw5blJRTklOazV5b0s3Sys1MExrZGY1L3g4S2t5Z2hveGdBNHNUaUh4MEV3ZGJuVUREbWd2aFVpdGFEUGJtaHdrRU5WS3ptVkdoanBsUzBGSG4yalQ4ai0tLS0tRU5EIFBLQ1M3LS0tLS1cXG5cXFwiPlxcbjxpbnB1dCB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCItYnRuLWJvcmRlcmVkIF9taW5vciBkZXYtZG9uYXRlLWJ0blxcXCIgc3JjPVxcXCJodHRwczovL3d3dy5wYXlwYWxvYmplY3RzLmNvbS9lbl9VUy9pL2J0bi9idG5fZG9uYXRlX0xHLmdpZlxcXCIgbmFtZT1cXFwic3VibWl0XFxcIiBhbHQ9XFxcIlBheVBhbCAtIFRoZSBzYWZlciwgZWFzaWVyIHdheSB0byBwYXkgb25saW5lIVxcXCIgdmFsdWU9XFxcImRvbmF0ZSBmb3IgZ29vZ2xlIGdsYXNzXFxcIj5cXG48L2Zvcm0+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LWFkZGl0aW9uYWxcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcbjxwPkZvdW5kIGEgdGV4dCBvciBjb2RlIGVycm9yPyBQbGVhc2UsIGZlZWwgZnJlZSB0bzwvcD5cXG48c3BhbiBpZD1cXFwic29jaWFsLWNvbnRyaWJ1dGVcXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L3NlY3Rpb24+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lciBkZXYtbWFpbi1jb250ZW50XFxcIj5cXG48YXNpZGUgY2xhc3M9XFxcIi1jb2wzIGRldi1zaWRlYmFyLW1lbnUgX3JpZ2h0LWRlc2t0b3BzXyBfcmlnaHQtbGFyZ2UtZGVza3RvcHNfXFxcIj5cXG48bmF2IGlkPVxcXCJzaWRlYmFyXFxcIj48L25hdj5cXG48aHIgY2xhc3M9XFxcIl9oaWRkZW4tZGVza3RvcHNfIF9oaWRkZW4tbGFyZ2UtZGVza3RvcHNfXFxcIj5cXG48L2FzaWRlPlxcbjxhcnRpY2xlIGlkPVxcXCJjb250ZW50XFxcIiBjbGFzcz1cXFwiLWNvbDkgX2xlZnQtZGVza3RvcHNfIF9sZWZ0LWxhcmdlLWRlc2t0b3BzX1xcXCI+PC9hcnRpY2xlPlxcbjwvZGl2PlxcblwiLFwic3RhcnRcIjpcIjxzZWN0aW9uIGNsYXNzPVxcXCJkZXYtaW5zdHJ1Y3Rpb25zLXN0YXJ0XFxcIj5cXG48ZGl2IGNsYXNzPVxcXCJkZXYtaW5zdHJ1Y3Rpb25zLWhvbGRlclxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuPGgxIGNsYXNzPVxcXCJkZXYtZm9udC1sb2JzdGVyIF9jZW50ZXJfXFxcIj5QaGlsb3NvcGh5IDxzbWFsbCBjbGFzcz1cXFwiZGV2LWZvbnQtcmFsZXdheVxcXCI+U3RhcnQ8L3NtYWxsPjwvaDE+XFxuPHAgaXRlbXByb3A9XFxcImRlc2NyaXB0aW9uXFxcIiBjbGFzcz1cXFwiZGV2LWluc3RydWN0aW9ucy1kZXNjcmlwdGlvbiBfY2VudGVyX1xcXCI+QWxsIHlvdSBuZWVkIHRvIGtub3cgdG8gc3RhcnQgYSBuZXcgcHJvamVjdCB3aXRoIE1heG1lcnRraXQuPC9wPlxcbjxkaXYgY2xhc3M9XFxcImRldi12ZXJzaW9uXFxcIj48c21hbGwgaXRlbXByb3A9XFxcImRhdGVQdWJsaXNoZWRcXFwiIGNvbnRlbnQ9XFxcInt7YnVpbGREYXRlfX1cXFwiPnZlci4gPHNwYW4gaXRlbXByb3A9XFxcInNvZnR3YXJlVmVyc2lvblxcXCI+e3t2ZXJzaW9ufX08L3NwYW4+LCBidWlsZGVkIHt7YnVpbGREYXRlfX08L3NtYWxsPjwvZGl2Plxcbjxmb3JtIGFjdGlvbj1cXFwiaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjclxcXCIgbWV0aG9kPVxcXCJwb3N0XFxcIiB0YXJnZXQ9XFxcIl90b3BcXFwiIHN0eWxlPVxcXCJ0ZXh0LWFsaWduOmNlbnRlcjsgbWFyZ2luLXRvcDogMTBweFxcXCI+XFxuPGlucHV0IHR5cGU9XFxcImhpZGRlblxcXCIgbmFtZT1cXFwiY21kXFxcIiB2YWx1ZT1cXFwiX3MteGNsaWNrXFxcIj5cXG48aW5wdXQgdHlwZT1cXFwiaGlkZGVuXFxcIiBuYW1lPVxcXCJlbmNyeXB0ZWRcXFwiIHZhbHVlPVxcXCItLS0tLUJFR0lOIFBLQ1M3LS0tLS1NSUlITndZSktvWklodmNOQVFjRW9JSUhLRENDQnlRQ0FRRXhnZ0V3TUlJQkxBSUJBRENCbERDQmpqRUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWtOQk1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldhV1YzTVJRd0VnWURWUVFLRXd0UVlYbFFZV3dnU1c1akxqRVRNQkVHQTFVRUN4UUtiR2wyWlY5alpYSjBjekVSTUE4R0ExVUVBeFFJYkdsMlpWOWhjR2t4SERBYUJna3Foa2lHOXcwQkNRRVdEWEpsUUhCaGVYQmhiQzVqYjIwQ0FRQXdEUVlKS29aSWh2Y05BUUVCQlFBRWdZQ0NxQUFrbWNDOStrRWlDNDFoLzBvZWFzR2dvMGtKcEJsTUxmZjdaNWIvd1JaVGxMamtLQjYvQkk3dkZkQzYrTWdpWWtMcVJyL1JoY2ZmN0hZb2o4TVpFVGErRkVoNUl6SjNYU1F6YzNIRGFwTlArUlhHbTFhUG9EUVFydDJNRWpqdUlCOVZGeXFVME9aUmM4YWdzOTdFczdYS1NkSldjTGZKc241enBJdjhHekVMTUFrR0JTc09Bd0lhQlFBd2diUUdDU3FHU0liM0RRRUhBVEFVQmdncWhraUc5dzBEQndRSWxEN0pxelRNenA2QWdaQmxPczB5NU5XUEZqb0ZuSWVubjJRSWxvL3YwZ1VWZlhHVG1yWUp0RGJCWExmdzJxRHVENHFmOGNCOHpJbXhTMzZGRXVnbG1tcTA0L2x2YzJhMi9JRWxpVlJOb3NzOGdFcW5xMFVhYlZIZmMza1QyNEpoK0g4NXJObWJDdDRpOE9sZHYrSWplS08yakZ2Z096dEd4cXJtN0xwbHo3d0lrYkNrTElteUltWjl4T2IxbEo3ZTMwY2d3SVlFdGVVN25ZZWdnZ09ITUlJRGd6Q0NBdXlnQXdJQkFnSUJBREFOQmdrcWhraUc5dzBCQVFVRkFEQ0JqakVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQkFnVEFrTkJNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SUXdFZ1lEVlFRS0V3dFFZWGxRWVd3Z1NXNWpMakVUTUJFR0ExVUVDeFFLYkdsMlpWOWpaWEowY3pFUk1BOEdBMVVFQXhRSWJHbDJaVjloY0dreEhEQWFCZ2txaGtpRzl3MEJDUUVXRFhKbFFIQmhlWEJoYkM1amIyMHdIaGNOTURRd01qRXpNVEF4TXpFMVdoY05NelV3TWpFek1UQXhNekUxV2pDQmpqRUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWtOQk1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldhV1YzTVJRd0VnWURWUVFLRXd0UVlYbFFZV3dnU1c1akxqRVRNQkVHQTFVRUN4UUtiR2wyWlY5alpYSjBjekVSTUE4R0ExVUVBeFFJYkdsMlpWOWhjR2t4SERBYUJna3Foa2lHOXcwQkNRRVdEWEpsUUhCaGVYQmhiQzVqYjIwd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFNRkhUdDM4Uk14TFhKeU8yU21TK05kbDcyVDdvS0o0dTR1dys2YXdudEFMV2gwM1Bld21JSnV6YkFMU2NzVFM0c1pvUzFmS2NpQkdvaDExZ0lmSHp5bHZrZE5lL2hKbDY2L1JHcXJqNXJGYjA4c0FBQk5UekRUaXFxTnBKZUJzWXMvYzJhaUdvenB0WDJSbG5Ca3RIK1NVTnBBYWpXNzI0TnYyV3ZoaWY2c0ZBZ01CQUFHamdlNHdnZXN3SFFZRFZSME9CQllFRkphZmZMdkdieGU5V1Q5UzF3b2I3QkRXWkpSck1JRzdCZ05WSFNNRWdiTXdnYkNBRkphZmZMdkdieGU5V1Q5UzF3b2I3QkRXWkpScm9ZR1VwSUdSTUlHT01Rc3dDUVlEVlFRR0V3SlZVekVMTUFrR0ExVUVDQk1DUTBFeEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlGWnBaWGN4RkRBU0JnTlZCQW9UQzFCaGVWQmhiQ0JKYm1NdU1STXdFUVlEVlFRTEZBcHNhWFpsWDJObGNuUnpNUkV3RHdZRFZRUURGQWhzYVhabFgyRndhVEVjTUJvR0NTcUdTSWIzRFFFSkFSWU5jbVZBY0dGNWNHRnNMbU52YllJQkFEQU1CZ05WSFJNRUJUQURBUUgvTUEwR0NTcUdTSWIzRFFFQkJRVUFBNEdCQUlGZk9sYWFnRnJsNzEranE2T0tpZGJXRlNFK1E0RnFST3ZkZ0lPTnRoKzhrU0svL1kvNGlodUU0WW12em41Y2VFM1MvaUJTUVFNanl2YitzMlRXYlFZRHdjcDEyOU9QSWJEOWVwZHI0dEpPVU5pU29qdzdCSHdZUmlQaDU4UzF4R2xGZ0hGWHdyRUJiM2RnTmJNVWErdTRxZWN0c01BWHBWSG5EOXdJeWZtSE1ZSUJtakNDQVpZQ0FRRXdnWlF3Z1k0eEN6QUpCZ05WQkFZVEFsVlRNUXN3Q1FZRFZRUUlFd0pEUVRFV01CUUdBMVVFQnhNTlRXOTFiblJoYVc0Z1ZtbGxkekVVTUJJR0ExVUVDaE1MVUdGNVVHRnNJRWx1WXk0eEV6QVJCZ05WQkFzVUNteHBkbVZmWTJWeWRITXhFVEFQQmdOVkJBTVVDR3hwZG1WZllYQnBNUnd3R2dZSktvWklodmNOQVFrQkZnMXlaVUJ3WVhsd1lXd3VZMjl0QWdFQU1Ba0dCU3NPQXdJYUJRQ2dYVEFZQmdrcWhraUc5dzBCQ1FNeEN3WUpLb1pJaHZjTkFRY0JNQndHQ1NxR1NJYjNEUUVKQlRFUEZ3MHhOREExTVRreU1qUXpNamxhTUNNR0NTcUdTSWIzRFFFSkJERVdCQlIzczNieGhhWlF3NXlPZ3I3Z1RBOTJ1anc3cFRBTkJna3Foa2lHOXcwQkFRRUZBQVNCZ0ZMUmZLYTJGSjZjZ0FkTkl1NGFtMSsvck5JZWt5azczSUxqWXFpOHl5emY1WDdjTmkzTm1mSGpKalFEUHhESXpvZ2d4K3ZLVHpsWDlmcUl4S2dzREw5blJRTklOazV5b0s3Sys1MExrZGY1L3g4S2t5Z2hveGdBNHNUaUh4MEV3ZGJuVUREbWd2aFVpdGFEUGJtaHdrRU5WS3ptVkdoanBsUzBGSG4yalQ4ai0tLS0tRU5EIFBLQ1M3LS0tLS1cXG5cXFwiPlxcbjxpbnB1dCB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCItYnRuLWJvcmRlcmVkIF9taW5vciBkZXYtZG9uYXRlLWJ0blxcXCIgc3JjPVxcXCJodHRwczovL3d3dy5wYXlwYWxvYmplY3RzLmNvbS9lbl9VUy9pL2J0bi9idG5fZG9uYXRlX0xHLmdpZlxcXCIgbmFtZT1cXFwic3VibWl0XFxcIiBhbHQ9XFxcIlBheVBhbCAtIFRoZSBzYWZlciwgZWFzaWVyIHdheSB0byBwYXkgb25saW5lIVxcXCIgdmFsdWU9XFxcImRvbmF0ZSBmb3IgZ29vZ2xlIGdsYXNzXFxcIj5cXG48L2Zvcm0+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LWFkZGl0aW9uYWxcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcbjxwPkZvdW5kIGEgdGV4dCBvciBjb2RlIGVycm9yPyBQbGVhc2UsIGZlZWwgZnJlZSB0bzwvcD5cXG48c3BhbiBpZD1cXFwic29jaWFsLWNvbnRyaWJ1dGVcXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L3NlY3Rpb24+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lciBkZXYtbWFpbi1jb250ZW50XFxcIj5cXG48YXNpZGUgY2xhc3M9XFxcIi1jb2wzIGRldi1zaWRlYmFyLW1lbnUgX3JpZ2h0LWRlc2t0b3BzXyBfcmlnaHQtbGFyZ2UtZGVza3RvcHNfXFxcIj5cXG48bmF2IGlkPVxcXCJzaWRlYmFyXFxcIj48L25hdj5cXG48aHIgY2xhc3M9XFxcIl9oaWRkZW4tZGVza3RvcHNfIF9oaWRkZW4tbGFyZ2UtZGVza3RvcHNfXFxcIj5cXG48L2FzaWRlPlxcbjxhcnRpY2xlIGlkPVxcXCJjb250ZW50XFxcIiBjbGFzcz1cXFwiLWNvbDkgX2xlZnQtZGVza3RvcHNfIF9sZWZ0LWxhcmdlLWRlc2t0b3BzX1xcXCI+PC9hcnRpY2xlPlxcbjwvZGl2PlxcblwiLFwibGF5b3V0XCI6XCI8c2VjdGlvbiBjbGFzcz1cXFwiZGV2LWluc3RydWN0aW9ucy1pbmRleFxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LWluc3RydWN0aW9ucy1ob2xkZXJcXFwiPlxcbjx2aWRlbyBjbGFzcz1cXFwiZGV2LXZpZGVvLWJsb2NrXFxcIiBhdXRvcGxheSBsb29wPlxcbjxzb3VyY2Ugc3JjPVxcXCIvbWVkaWEvbGFuZGluZy5tcDRcXFwiIHR5cGU9XFxcInZpZGVvL21wNFxcXCI+XFxuPHNvdXJjZSBzcmM9XFxcIi9tZWRpYS9sYW5kaW5nLndlYm1cXFwiIHR5cGU9XFxcInZpZGVvL3dlYm1cXFwiPlxcbjxzb3VyY2Ugc3JjPVxcXCIvbWVkaWEvbGFuZGluZy5vZ2dcXFwiIHR5cGU9XFxcInZpZGVvL29nZ1xcXCI+XFxuPC92aWRlbz5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG48aDEgY2xhc3M9XFxcImRldi1mb250LWxvYnN0ZXIgX2NlbnRlcl9cXFwiPk1heG1lcnRraXQ8L2gxPlxcbjxkaXYgY2xhc3M9XFxcImRldi12ZXJzaW9uXFxcIj48c21hbGwgaXRlbXByb3A9XFxcImRhdGVQdWJsaXNoZWRcXFwiIGNvbnRlbnQ9XFxcInt7YnVpbGREYXRlfX1cXFwiPnZlci4gPHNwYW4gaXRlbXByb3A9XFxcInNvZnR3YXJlVmVyc2lvblxcXCI+e3t2ZXJzaW9ufX08L3NwYW4+LCBidWlsZGVkIHt7YnVpbGREYXRlfX08L3NtYWxsPjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcImRldi1hZGRpdGlvbmFsXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG48cD5Gb3VuZCBhIHRleHQgb3IgY29kZSBlcnJvcj8gUGxlYXNlLCBmZWVsIGZyZWUgdG88L3A+XFxuPHNwYW4gaWQ9XFxcInNvY2lhbC1jb250cmlidXRlXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9zZWN0aW9uPlxcblxcblxcbjxhcnRpY2xlIGNsYXNzPVxcXCItY29udGFpbmVyIGRldi1tYWluLWNvbnRlbnRcXFwiPlxcblxcbjwvYXJ0aWNsZT5cXG5cIixcImNvbXBvbmVudHNcIjpcIjxzZWN0aW9uIGNsYXNzPVxcXCJkZXYtaW5zdHJ1Y3Rpb25zLWNvbXBvbmVudHNcXFwiPlxcbjxkaXYgY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtaG9sZGVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG48aDEgY2xhc3M9XFxcImRldi1mb250LWxvYnN0ZXIgX2NlbnRlcl9cXFwiPkphdmFzY3JpcHQgPHNtYWxsIGNsYXNzPVxcXCJkZXYtZm9udC1yYWxld2F5XFxcIj5Db21wb25lbnRzPC9zbWFsbD48L2gxPlxcbjxwIGl0ZW1wcm9wPVxcXCJkZXNjcmlwdGlvblxcXCIgY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtZGVzY3JpcHRpb24gX2NlbnRlcl9cXFwiPkphdmFzY3JpcHQgcGx1Z2lucyBmb3IgTWF4bWVydGtpdCB0byBtYWtlIHlvdXIgcHJvamVjdCBhbGl2ZS48L3A+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LXZlcnNpb25cXFwiPjxzbWFsbCBpdGVtcHJvcD1cXFwiZGF0ZVB1Ymxpc2hlZFxcXCIgY29udGVudD1cXFwie3tidWlsZERhdGV9fVxcXCI+dmVyLiA8c3BhbiBpdGVtcHJvcD1cXFwic29mdHdhcmVWZXJzaW9uXFxcIj57e3ZlcnNpb259fTwvc3Bhbj4sIGJ1aWxkZWQge3tidWlsZERhdGV9fTwvc21hbGw+PC9kaXY+XFxuPGZvcm0gYWN0aW9uPVxcXCJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyXFxcIiBtZXRob2Q9XFxcInBvc3RcXFwiIHRhcmdldD1cXFwiX3RvcFxcXCIgc3R5bGU9XFxcInRleHQtYWxpZ246Y2VudGVyOyBtYXJnaW4tdG9wOiAxMHB4XFxcIj5cXG48aW5wdXQgdHlwZT1cXFwiaGlkZGVuXFxcIiBuYW1lPVxcXCJjbWRcXFwiIHZhbHVlPVxcXCJfcy14Y2xpY2tcXFwiPlxcbjxpbnB1dCB0eXBlPVxcXCJoaWRkZW5cXFwiIG5hbWU9XFxcImVuY3J5cHRlZFxcXCIgdmFsdWU9XFxcIi0tLS0tQkVHSU4gUEtDUzctLS0tLU1JSUhOd1lKS29aSWh2Y05BUWNFb0lJSEtEQ0NCeVFDQVFFeGdnRXdNSUlCTEFJQkFEQ0JsRENCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjBDQVFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lDQ3FBQWttY0M5K2tFaUM0MWgvMG9lYXNHZ28wa0pwQmxNTGZmN1o1Yi93UlpUbExqa0tCNi9CSTd2RmRDNitNZ2lZa0xxUnIvUmhjZmY3SFlvajhNWkVUYStGRWg1SXpKM1hTUXpjM0hEYXBOUCtSWEdtMWFQb0RRUXJ0Mk1Famp1SUI5VkZ5cVUwT1pSYzhhZ3M5N0VzN1hLU2RKV2NMZkpzbjV6cEl2OEd6RUxNQWtHQlNzT0F3SWFCUUF3Z2JRR0NTcUdTSWIzRFFFSEFUQVVCZ2dxaGtpRzl3MERCd1FJbEQ3SnF6VE16cDZBZ1pCbE9zMHk1TldQRmpvRm5JZW5uMlFJbG8vdjBnVVZmWEdUbXJZSnREYkJYTGZ3MnFEdUQ0cWY4Y0I4eklteFMzNkZFdWdsbW1xMDQvbHZjMmEyL0lFbGlWUk5vc3M4Z0VxbnEwVWFiVkhmYzNrVDI0SmgrSDg1ck5tYkN0NGk4T2xkditJamVLTzJqRnZnT3p0R3hxcm03THBsejd3SWtiQ2tMSW15SW1aOXhPYjFsSjdlMzBjZ3dJWUV0ZVU3blllZ2dnT0hNSUlEZ3pDQ0F1eWdBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUVVGQURDQmpqRUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWtOQk1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldhV1YzTVJRd0VnWURWUVFLRXd0UVlYbFFZV3dnU1c1akxqRVRNQkVHQTFVRUN4UUtiR2wyWlY5alpYSjBjekVSTUE4R0ExVUVBeFFJYkdsMlpWOWhjR2t4SERBYUJna3Foa2lHOXcwQkNRRVdEWEpsUUhCaGVYQmhiQzVqYjIwd0hoY05NRFF3TWpFek1UQXhNekUxV2hjTk16VXdNakV6TVRBeE16RTFXakNCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjB3Z1o4d0RRWUpLb1pJaHZjTkFRRUJCUUFEZ1kwQU1JR0pBb0dCQU1GSFR0MzhSTXhMWEp5TzJTbVMrTmRsNzJUN29LSjR1NHV3KzZhd250QUxXaDAzUGV3bUlKdXpiQUxTY3NUUzRzWm9TMWZLY2lCR29oMTFnSWZIenlsdmtkTmUvaEpsNjYvUkdxcmo1ckZiMDhzQUFCTlR6RFRpcXFOcEplQnNZcy9jMmFpR296cHRYMlJsbkJrdEgrU1VOcEFhalc3MjROdjJXdmhpZjZzRkFnTUJBQUdqZ2U0d2dlc3dIUVlEVlIwT0JCWUVGSmFmZkx2R2J4ZTlXVDlTMXdvYjdCRFdaSlJyTUlHN0JnTlZIU01FZ2JNd2diQ0FGSmFmZkx2R2J4ZTlXVDlTMXdvYjdCRFdaSlJyb1lHVXBJR1JNSUdPTVFzd0NRWURWUVFHRXdKVlV6RUxNQWtHQTFVRUNCTUNRMEV4RmpBVUJnTlZCQWNURFUxdmRXNTBZV2x1SUZacFpYY3hGREFTQmdOVkJBb1RDMUJoZVZCaGJDQkpibU11TVJNd0VRWURWUVFMRkFwc2FYWmxYMk5sY25Sek1SRXdEd1lEVlFRREZBaHNhWFpsWDJGd2FURWNNQm9HQ1NxR1NJYjNEUUVKQVJZTmNtVkFjR0Y1Y0dGc0xtTnZiWUlCQURBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxR1NJYjNEUUVCQlFVQUE0R0JBSUZmT2xhYWdGcmw3MStqcTZPS2lkYldGU0UrUTRGcVJPdmRnSU9OdGgrOGtTSy8vWS80aWh1RTRZbXZ6bjVjZUUzUy9pQlNRUU1qeXZiK3MyVFdiUVlEd2NwMTI5T1BJYkQ5ZXBkcjR0Sk9VTmlTb2p3N0JId1lSaVBoNThTMXhHbEZnSEZYd3JFQmIzZGdOYk1VYSt1NHFlY3RzTUFYcFZIbkQ5d0l5Zm1ITVlJQm1qQ0NBWllDQVFFd2daUXdnWTR4Q3pBSkJnTlZCQVlUQWxWVE1Rc3dDUVlEVlFRSUV3SkRRVEVXTUJRR0ExVUVCeE1OVFc5MWJuUmhhVzRnVm1sbGR6RVVNQklHQTFVRUNoTUxVR0Y1VUdGc0lFbHVZeTR4RXpBUkJnTlZCQXNVQ214cGRtVmZZMlZ5ZEhNeEVUQVBCZ05WQkFNVUNHeHBkbVZmWVhCcE1Sd3dHZ1lKS29aSWh2Y05BUWtCRmcxeVpVQndZWGx3WVd3dVkyOXRBZ0VBTUFrR0JTc09Bd0lhQlFDZ1hUQVlCZ2txaGtpRzl3MEJDUU14Q3dZSktvWklodmNOQVFjQk1Cd0dDU3FHU0liM0RRRUpCVEVQRncweE5EQTFNVGt5TWpRek1qbGFNQ01HQ1NxR1NJYjNEUUVKQkRFV0JCUjNzM2J4aGFaUXc1eU9ncjdnVEE5MnVqdzdwVEFOQmdrcWhraUc5dzBCQVFFRkFBU0JnRkxSZkthMkZKNmNnQWROSXU0YW0xKy9yTklla3lrNzNJTGpZcWk4eXl6ZjVYN2NOaTNObWZIakpqUURQeERJem9nZ3grdktUemxYOWZxSXhLZ3NETDluUlFOSU5rNXlvSzdLKzUwTGtkZjUveDhLa3lnaG94Z0E0c1RpSHgwRXdkYm5VRERtZ3ZoVWl0YURQYm1od2tFTlZLem1WR2hqcGxTMEZIbjJqVDhqLS0tLS1FTkQgUEtDUzctLS0tLVxcblxcXCI+XFxuPGlucHV0IHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcIi1idG4tYm9yZGVyZWQgX21pbm9yIGRldi1kb25hdGUtYnRuXFxcIiBzcmM9XFxcImh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL2VuX1VTL2kvYnRuL2J0bl9kb25hdGVfTEcuZ2lmXFxcIiBuYW1lPVxcXCJzdWJtaXRcXFwiIGFsdD1cXFwiUGF5UGFsIC0gVGhlIHNhZmVyLCBlYXNpZXIgd2F5IHRvIHBheSBvbmxpbmUhXFxcIiB2YWx1ZT1cXFwiZG9uYXRlIGZvciBnb29nbGUgZ2xhc3NcXFwiPlxcbjwvZm9ybT5cXG48L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJkZXYtYWRkaXRpb25hbFxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuPHA+Rm91bmQgYSB0ZXh0IG9yIGNvZGUgZXJyb3I/IFBsZWFzZSwgZmVlbCBmcmVlIHRvPC9wPlxcbjxzcGFuIGlkPVxcXCJzb2NpYWwtY29udHJpYnV0ZVxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyIGRldi1tYWluLWNvbnRlbnRcXFwiPlxcbjxhc2lkZSBjbGFzcz1cXFwiLWNvbDMgZGV2LXNpZGViYXItbWVudSBfcmlnaHQtZGVza3RvcHNfIF9yaWdodC1sYXJnZS1kZXNrdG9wc19cXFwiPlxcbjxuYXYgaWQ9XFxcInNpZGViYXJcXFwiPjwvbmF2PlxcbjxociBjbGFzcz1cXFwiX2hpZGRlbi1kZXNrdG9wc18gX2hpZGRlbi1sYXJnZS1kZXNrdG9wc19cXFwiPlxcbjwvYXNpZGU+XFxuPGFydGljbGUgaWQ9XFxcImNvbnRlbnRcXFwiIGNsYXNzPVxcXCItY29sOSBfbGVmdC1kZXNrdG9wc18gX2xlZnQtbGFyZ2UtZGVza3RvcHNfXFxcIj48L2FydGljbGU+XFxuPC9kaXY+XFxuXCIsXCJjaGFuZ2Vsb2dcIjpcIjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXIgZGV2LWNoYW5nZWxvZ1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyXFxcIj5cXG5cXHRcXHRcXHQ8c2VjdGlvbj5cXG5cXHRcXHRcXHRcXHQ8aDE+PGEgaHJlZj1cXFwiaHR0cHM6Ly9naXRodWIuY29tL21heG1lcnQvbWF4bWVydGtpdC9yZWxlYXNlc1xcXCIgZGF0YS1ieXBhc3M+Q2hhbmdlbG9nPC9hPjwvaDE+XFxuXFx0XFx0XFx0XFx0PHA+QWxsIGNoYW5nZWxvZyB5b3UgY2FuIG9ic2VydmUgb24gdGhlIDxhIGhyZWY9XFxcImh0dHBzOi8vZ2l0aHViLmNvbS9tYXhtZXJ0L21heG1lcnRraXQvcmVsZWFzZXNcXFwiIGRhdGEtYnlwYXNzPmdpdGh1YjwvYT4uPC9wPlxcblxcdFxcdFxcdDwvc2VjdGlvbj5cXG5cXHRcXHRcXG5cXHRcXHRcXHQ8c2VjdGlvbj5cXG5cXHRcXHRcXHRcXHQ8aDI+Um9hZG1hcDwvaDI+XFxuXFxuXFx0XFx0XFx0XFx0PGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0SWYgeW91IHdhbnQgdG8gc2hhcmUgYW4gaWRlYSBvZiBpbXByb3ZlbWVudCwgcGxlYXNlIDxhIGhyZWY9XFxcImh0dHBzOi8vZ2l0aHViLmNvbS9tYXhtZXJ0L21heG1lcnRraXQvaXNzdWVzP2xhYmVscz1mZWF0dXJlJnBhZ2U9MSZzdGF0ZT1vcGVuXFxcIiBkYXRhLWJ5cGFzcz5jcmVhdGUgaXNzdWU8L2E+IHdpdGggdGFnIDxjb2RlPmZlYXR1cmU8L2NvZGU+LlxcblxcdFxcdFxcdFxcdDwvYmxvY2txdW90ZT5cXG5cXG5cXHRcXHRcXHRcXHQ8c2VjdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHQ8aDM+di4gMS4wLjU8L2gzPlxcblxcdFxcdFxcdFxcdFxcdDx1bD5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIGpzIGNhcm91c2VsIGNvbXBvbmVudDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPkFkZCBtb3JlIGV4YW1wbGVzPC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QnVnZml4ZXM8L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9zZWN0aW9uPlxcblxcblxcdFxcdFxcdFxcdDxzZWN0aW9uIGNsYXNzPVxcXCJkZXYtcm9hZG1hcC1kb25lXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aDM+di4gMS4wLjQ8L2gzPlxcblxcdFxcdFxcdFxcdFxcdDx1bD5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIGVhc2llciBqcXVlcnkgc3VwcG9ydCB3aXRoIG5hdGl2ZSBqYXZhc2NyaXB0IHBsdWdpbnMgaW4gbWF4bWVydGtpdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPkFkZCBzbGltIHByb2dyZXNzIGJhcjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPkFkZCBleGFtcGxlIG9mIHRoZSBibG9nPC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIGpzIHdhbGwgY29tcG9uZW50PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIGpzIHNreWxpbmUgY29tcG9uZW50PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QnVnZml4ZXM8L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9zZWN0aW9uPlxcblxcblxcdFxcdFxcdFxcdDxzZWN0aW9uIGNsYXNzPVxcXCJkZXYtcm9hZG1hcC1kb25lXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aDM+di4gMS4wLjM8L2gzPlxcblxcdFxcdFxcdFxcdFxcdDx1bD5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIDxjb2RlPi1hdmF0YXI8L2NvZGU+IHdpZGdldDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPkFkZCA8Y29kZT4tY29tbWVudDwvY29kZT4gd2lkZ2V0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIGRyb3Bkb3duIDxjb2RlPi1mb290ZXI8L2NvZGU+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIDxjb2RlPl9yb3VuZF88L2NvZGU+IG1vZGlmaWVyIHRvIGFsbCBidXR0b25zPC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIGJvcmRlcmVkIDxjb2RlPmE8L2NvZGU+IHRhZyB3aXRoIHVuZGVybGluZTwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPlJlbmFtZSA8Y29kZT4tYnRuLWJvcmRlcmVkPC9jb2RlPiB0byA8Y29kZT4tYnRuLWdob3N0PC9jb2RlPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPlJlbmFtZSA8Y29kZT4tc3Bpbm5lci1jaXJjbGU8L2NvZGU+IHRvIDxjb2RlPi1zcGlubmVyLXJpbmc8L2NvZGU+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QnVnZml4ZXM8L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9zZWN0aW9uPlxcblxcdFxcdFxcdFxcdDxzZWN0aW9uIGNsYXNzPVxcXCJkZXYtcm9hZG1hcC1kb25lXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aDM+di4gMS4wLjI8L2gzPlxcblxcdFxcdFxcdFxcdFxcdDx1bD5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+Tm8ganF1ZXJ5IGluIG1heG1lcnRraXQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5TZWxlbml1bSB0ZXN0cyBzdXBwb3J0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIGNpcmNsZSBzcGlubmVyPC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QnVnZml4ZXM8L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9zZWN0aW9uPlxcblxcdFxcdFxcdFxcdDxzZWN0aW9uIGNsYXNzPVxcXCJkZXYtcm9hZG1hcC1kb25lXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aDM+di4gMS4wLjE8L2gzPlxcblxcdFxcdFxcdFxcdFxcdDx1bD5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIDxiPmhvd3RvPC9iPiB2aWRlb3M8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BZGQgPGI+Q0ROPC9iPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPkJ1Z2ZpeGVzPC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvc2VjdGlvbj5cXG5cXHRcXHRcXHQ8L3NlY3Rpb24+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXCIsXCJiYXNpY1wiOlwiPHNlY3Rpb24gY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtYmFzaWNcXFwiPlxcbjxkaXYgY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtaG9sZGVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG48aDEgY2xhc3M9XFxcImRldi1mb250LWxvYnN0ZXIgX2NlbnRlcl9cXFwiPkJhc2ljIDxzbWFsbCBjbGFzcz1cXFwiZGV2LWZvbnQtcmFsZXdheVxcXCI+Q29tcG9uZW50czwvc21hbGw+PC9oMT5cXG48cCBpdGVtcHJvcD1cXFwiZGVzY3JpcHRpb25cXFwiIGNsYXNzPVxcXCJkZXYtaW5zdHJ1Y3Rpb25zLWRlc2NyaXB0aW9uIF9jZW50ZXJfXFxcIj5HcmlkLCB0eXBvZ3JhcGh5LCB0YWJsZXMgYW5kIGZvcm1zLiBBbGwgeW91J2xsIG5lZWQgdG8gc3RhcnQgYSBuZXcgcHJvamVjdC48L3A+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LXZlcnNpb25cXFwiPjxzbWFsbCBpdGVtcHJvcD1cXFwiZGF0ZVB1Ymxpc2hlZFxcXCIgY29udGVudD1cXFwie3tidWlsZERhdGV9fVxcXCI+dmVyLiA8c3BhbiBpdGVtcHJvcD1cXFwic29mdHdhcmVWZXJzaW9uXFxcIj57e3ZlcnNpb259fTwvc3Bhbj4sIGJ1aWxkZWQge3tidWlsZERhdGV9fTwvc21hbGw+PC9kaXY+XFxuPGZvcm0gYWN0aW9uPVxcXCJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyXFxcIiBtZXRob2Q9XFxcInBvc3RcXFwiIHRhcmdldD1cXFwiX3RvcFxcXCIgc3R5bGU9XFxcInRleHQtYWxpZ246Y2VudGVyOyBtYXJnaW4tdG9wOiAxMHB4XFxcIj5cXG48aW5wdXQgdHlwZT1cXFwiaGlkZGVuXFxcIiBuYW1lPVxcXCJjbWRcXFwiIHZhbHVlPVxcXCJfcy14Y2xpY2tcXFwiPlxcbjxpbnB1dCB0eXBlPVxcXCJoaWRkZW5cXFwiIG5hbWU9XFxcImVuY3J5cHRlZFxcXCIgdmFsdWU9XFxcIi0tLS0tQkVHSU4gUEtDUzctLS0tLU1JSUhOd1lKS29aSWh2Y05BUWNFb0lJSEtEQ0NCeVFDQVFFeGdnRXdNSUlCTEFJQkFEQ0JsRENCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjBDQVFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lDQ3FBQWttY0M5K2tFaUM0MWgvMG9lYXNHZ28wa0pwQmxNTGZmN1o1Yi93UlpUbExqa0tCNi9CSTd2RmRDNitNZ2lZa0xxUnIvUmhjZmY3SFlvajhNWkVUYStGRWg1SXpKM1hTUXpjM0hEYXBOUCtSWEdtMWFQb0RRUXJ0Mk1Famp1SUI5VkZ5cVUwT1pSYzhhZ3M5N0VzN1hLU2RKV2NMZkpzbjV6cEl2OEd6RUxNQWtHQlNzT0F3SWFCUUF3Z2JRR0NTcUdTSWIzRFFFSEFUQVVCZ2dxaGtpRzl3MERCd1FJbEQ3SnF6VE16cDZBZ1pCbE9zMHk1TldQRmpvRm5JZW5uMlFJbG8vdjBnVVZmWEdUbXJZSnREYkJYTGZ3MnFEdUQ0cWY4Y0I4eklteFMzNkZFdWdsbW1xMDQvbHZjMmEyL0lFbGlWUk5vc3M4Z0VxbnEwVWFiVkhmYzNrVDI0SmgrSDg1ck5tYkN0NGk4T2xkditJamVLTzJqRnZnT3p0R3hxcm03THBsejd3SWtiQ2tMSW15SW1aOXhPYjFsSjdlMzBjZ3dJWUV0ZVU3blllZ2dnT0hNSUlEZ3pDQ0F1eWdBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUVVGQURDQmpqRUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWtOQk1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldhV1YzTVJRd0VnWURWUVFLRXd0UVlYbFFZV3dnU1c1akxqRVRNQkVHQTFVRUN4UUtiR2wyWlY5alpYSjBjekVSTUE4R0ExVUVBeFFJYkdsMlpWOWhjR2t4SERBYUJna3Foa2lHOXcwQkNRRVdEWEpsUUhCaGVYQmhiQzVqYjIwd0hoY05NRFF3TWpFek1UQXhNekUxV2hjTk16VXdNakV6TVRBeE16RTFXakNCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjB3Z1o4d0RRWUpLb1pJaHZjTkFRRUJCUUFEZ1kwQU1JR0pBb0dCQU1GSFR0MzhSTXhMWEp5TzJTbVMrTmRsNzJUN29LSjR1NHV3KzZhd250QUxXaDAzUGV3bUlKdXpiQUxTY3NUUzRzWm9TMWZLY2lCR29oMTFnSWZIenlsdmtkTmUvaEpsNjYvUkdxcmo1ckZiMDhzQUFCTlR6RFRpcXFOcEplQnNZcy9jMmFpR296cHRYMlJsbkJrdEgrU1VOcEFhalc3MjROdjJXdmhpZjZzRkFnTUJBQUdqZ2U0d2dlc3dIUVlEVlIwT0JCWUVGSmFmZkx2R2J4ZTlXVDlTMXdvYjdCRFdaSlJyTUlHN0JnTlZIU01FZ2JNd2diQ0FGSmFmZkx2R2J4ZTlXVDlTMXdvYjdCRFdaSlJyb1lHVXBJR1JNSUdPTVFzd0NRWURWUVFHRXdKVlV6RUxNQWtHQTFVRUNCTUNRMEV4RmpBVUJnTlZCQWNURFUxdmRXNTBZV2x1SUZacFpYY3hGREFTQmdOVkJBb1RDMUJoZVZCaGJDQkpibU11TVJNd0VRWURWUVFMRkFwc2FYWmxYMk5sY25Sek1SRXdEd1lEVlFRREZBaHNhWFpsWDJGd2FURWNNQm9HQ1NxR1NJYjNEUUVKQVJZTmNtVkFjR0Y1Y0dGc0xtTnZiWUlCQURBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxR1NJYjNEUUVCQlFVQUE0R0JBSUZmT2xhYWdGcmw3MStqcTZPS2lkYldGU0UrUTRGcVJPdmRnSU9OdGgrOGtTSy8vWS80aWh1RTRZbXZ6bjVjZUUzUy9pQlNRUU1qeXZiK3MyVFdiUVlEd2NwMTI5T1BJYkQ5ZXBkcjR0Sk9VTmlTb2p3N0JId1lSaVBoNThTMXhHbEZnSEZYd3JFQmIzZGdOYk1VYSt1NHFlY3RzTUFYcFZIbkQ5d0l5Zm1ITVlJQm1qQ0NBWllDQVFFd2daUXdnWTR4Q3pBSkJnTlZCQVlUQWxWVE1Rc3dDUVlEVlFRSUV3SkRRVEVXTUJRR0ExVUVCeE1OVFc5MWJuUmhhVzRnVm1sbGR6RVVNQklHQTFVRUNoTUxVR0Y1VUdGc0lFbHVZeTR4RXpBUkJnTlZCQXNVQ214cGRtVmZZMlZ5ZEhNeEVUQVBCZ05WQkFNVUNHeHBkbVZmWVhCcE1Sd3dHZ1lKS29aSWh2Y05BUWtCRmcxeVpVQndZWGx3WVd3dVkyOXRBZ0VBTUFrR0JTc09Bd0lhQlFDZ1hUQVlCZ2txaGtpRzl3MEJDUU14Q3dZSktvWklodmNOQVFjQk1Cd0dDU3FHU0liM0RRRUpCVEVQRncweE5EQTFNVGt5TWpRek1qbGFNQ01HQ1NxR1NJYjNEUUVKQkRFV0JCUjNzM2J4aGFaUXc1eU9ncjdnVEE5MnVqdzdwVEFOQmdrcWhraUc5dzBCQVFFRkFBU0JnRkxSZkthMkZKNmNnQWROSXU0YW0xKy9yTklla3lrNzNJTGpZcWk4eXl6ZjVYN2NOaTNObWZIakpqUURQeERJem9nZ3grdktUemxYOWZxSXhLZ3NETDluUlFOSU5rNXlvSzdLKzUwTGtkZjUveDhLa3lnaG94Z0E0c1RpSHgwRXdkYm5VRERtZ3ZoVWl0YURQYm1od2tFTlZLem1WR2hqcGxTMEZIbjJqVDhqLS0tLS1FTkQgUEtDUzctLS0tLVxcblxcXCI+XFxuPGlucHV0IHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcIi1idG4tYm9yZGVyZWQgX21pbm9yIGRldi1kb25hdGUtYnRuXFxcIiBzcmM9XFxcImh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL2VuX1VTL2kvYnRuL2J0bl9kb25hdGVfTEcuZ2lmXFxcIiBuYW1lPVxcXCJzdWJtaXRcXFwiIGFsdD1cXFwiUGF5UGFsIC0gVGhlIHNhZmVyLCBlYXNpZXIgd2F5IHRvIHBheSBvbmxpbmUhXFxcIiB2YWx1ZT1cXFwiZG9uYXRlIGZvciBnb29nbGUgZ2xhc3NcXFwiPlxcbjwvZm9ybT5cXG48L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJkZXYtYWRkaXRpb25hbFxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuPHA+Rm91bmQgYSB0ZXh0IG9yIGNvZGUgZXJyb3I/IFBsZWFzZSwgZmVlbCBmcmVlIHRvPC9wPlxcbjxzcGFuIGlkPVxcXCJzb2NpYWwtY29udHJpYnV0ZVxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyIGRldi1tYWluLWNvbnRlbnRcXFwiPlxcbjxhc2lkZSBjbGFzcz1cXFwiLWNvbDMgZGV2LXNpZGViYXItbWVudSBfcmlnaHQtZGVza3RvcHNfIF9yaWdodC1sYXJnZS1kZXNrdG9wc19cXFwiPlxcbjxuYXYgaWQ9XFxcInNpZGViYXJcXFwiPjwvbmF2PlxcbjxociBjbGFzcz1cXFwiX2hpZGRlbi1kZXNrdG9wc18gX2hpZGRlbi1sYXJnZS1kZXNrdG9wc19cXFwiPlxcbjwvYXNpZGU+XFxuPGFydGljbGUgaWQ9XFxcImNvbnRlbnRcXFwiIGNsYXNzPVxcXCItY29sOSBfbGVmdC1kZXNrdG9wc18gX2xlZnQtbGFyZ2UtZGVza3RvcHNfXFxcIj48L2FydGljbGU+XFxuPC9kaXY+XFxuXCJ9LFwic2lkZWJhclwiOntcIm1lbnVcIjp7XCJsYXlvdXRcIjpcIlwiLFwiaXRlbVwiOlwiPGEgaHJlZj1cXFwiI3t7cGF0aH19XFxcIiBkYXRhLWJ5cGFzcz57eyNtZW51fX17e21lbnV9fXt7L21lbnV9fXt7Xm1lbnV9fXt7bmFtZX19e3svbWVudX19PC9hPlxcbnt7I2V4aXN0SW5jbHVkZXN9fVxcbjx1bCBjbGFzcz1cXFwiLWxpc3QtZ3JvdXBcXFwiPlxcbnt7I2luY2x1ZGV9fVxcbnt7XmludmlzaWJsZX19XFxuPGxpPlxcbjxhIGRhdGEtYnlwYXNzIGhyZWY9XFxcIiN7e3BhdGh9fVxcXCI+e3sjbWVudX19e3ttZW51fX17ey9tZW51fX17e15tZW51fX17e25hbWV9fXt7L21lbnV9fTwvYT5cXG48L2xpPlxcbnt7L2ludmlzaWJsZX19XFxue3svaW5jbHVkZX19XFxuPC91bD5cXG57ey9leGlzdEluY2x1ZGVzfX1cXG5cIn19LFwiaGVhZGVyXCI6e1wic29jaWFsXCI6e1widHdpdHRlclwiOlwiPGEgaHJlZj1cXFwiaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/JnRleHQ9JTIzTWF4bWVydGtpdCBpcyBhIGZ1bGx5IGN1c3RvbWl6YWJsZSAlMjNjc3MgJTIzZnJhbWV3b3JrIGJhc2VkIG9uICUyM3dpZGdldC1tb2RpZmllcnMgY29kaW5nIHN0eWxlLiBOZXcgZW5kbGVzcyAlMjNmZWF0dXJlcy4mdXJsPWh0dHA6Ly9tYXhtZXJ0LmNvbVxcXCIgdGFyZ2V0PVxcXCJfYmxhbmtcXFwiIGNsYXNzPVxcXCItYnRuLWJvcmRlcmVkIC1pbmZvLSBfbWlub3JcXFwiIGRhdGEtYnlwYXNzPlxcbjxpIGNsYXNzPVxcXCJmYSBmYS10d2l0dGVyXFxcIj48L2k+Jm5ic3A7PGI+e3tzaWdufX08L2I+XFxue3sjY291bnR9fXt7Y291bnR9fXt7L2NvdW50fX1cXG57e15jb3VudH19XFxuPHNwYW4gY2xhc3M9XFxcIi1zcGlubmVyLWZiIF90aW55IC1pbmZvLVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9zcGFuPlxcbnt7L2NvdW50fX1cXG48L2E+XFxuXCIsXCJnaXRodWJcIjpcIjxhIGhyZWY9XFxcImh0dHBzOi8vZ2l0aHViLmNvbS9tYXhtZXJ0L21heG1lcnRraXRcXFwiIGNsYXNzPVxcXCItYnRuLWJvcmRlcmVkIC1kYXJrLSBfbWlub3JcXFwiIGRhdGEtYnlwYXNzPlxcbjxpIGNsYXNzPVxcXCJmYSBmYS1naXRodWJcXFwiPjwvaT4mbmJzcDs8Yj57e3NpZ259fTwvYj5cXG57eyNjb3VudH19e3tjb3VudH19e3svY291bnR9fVxcbnt7XmNvdW50fX1cXG48c3BhbiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgX3RpbnkgLWRhcmstXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L3NwYW4+XFxue3svY291bnR9fVxcbjwvYT5cXG5cIixcImZhY2Vib29rXCI6XCI8YWhyZWY9XFxcImphdmFzY3JpcHQ6IHZvaWQoMClcXFwiIGNsYXNzPVxcXCItYnRuLWJvcmRlcmVkIC1wcmltYXJ5LSBfbWlub3JcXFwiIG9uQ2xpY2s9XFxcIndpbmRvdy5vcGVuKCdodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIucGhwP3M9MTAwJmFtcDtwW3RpdGxlXT1NYXhtZXJ0a2l0IGNzcy1mcmFtZXdvcmsmYW1wO3Bbc3VtbWFyeV09TWF4bWVydGtpdCBpcyBhIGZ1bGx5IGN1c3RvbWl6YWJsZSBjc3MgZnJhbWV3b3JrIGJhc2VkIG9uIHdpZGdldC1tb2RpZmllcnMgY29kaW5nIHN0eWxlLiBDaGVjayBvdXQgbmV3IGVuZGxlc3MgZmVhdHVyZXMuJmFtcDtwW3VybF09aHR0cDovL21heG1lcnQuY29tJmFtcDtwW2ltYWdlc11bMF09aHR0cCUzQSUyRiUyRm1heG1lcnQuY29tJTJGaW1hZ2VzJTJGYmclMkZyb2JvdC5qcGcnLCdzaGFyZXInLCd0b29sYmFyPTAsc3RhdHVzPTAsd2lkdGg9NTQ4LGhlaWdodD0zMjUnKVxcXCIgPlxcbjxpIGNsYXNzPVxcXCJmYSBmYS1mYWNlYm9va1xcXCI+PC9pPiZuYnNwOzxiPnt7c2lnbn19PC9iPlxcbnt7I2NvdW50fX17e2NvdW50fX17ey9jb3VudH19XFxue3teY291bnR9fVxcbjxzcGFuIGNsYXNzPVxcXCItc3Bpbm5lci1mYiBfdGlueSAtcHJpbWFyeS1cXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvc3Bhbj5cXG57ey9jb3VudH19XFxuPC9hPlxcblwifSxcIm1lbnVcIjp7XCJtb2JpbGVcIjpcIjxhIGlkPVxcXCJ7e25hbWV9fVxcXCIgaHJlZj1cXFwiL3t7bmFtZX19XFxcIj57e25hbWV9fTwvYT5cXG5cIixcIml0ZW1cIjpcIjxhIGlkPVxcXCJ7e25hbWV9fVxcXCIgaHJlZj1cXFwiL3t7bmFtZX19XFxcIj57e25hbWV9fTwvYT5cXG5cIn19LFwicGFydGlhbHNcIjpcInt7I3ZhbHVlfX1cXG5cXHQ8ZGl2IGlkPVxcXCJ7e3BhdGh9fVxcXCI+XFxuXFx0XFx0e3t7dmFsdWV9fX1cXG57ey92YWx1ZX19XFxuXFxue3sjaW5jbHVkZXN9fVxcblxcdHt7I3ZhbHVlfX1cXG5cXHRcXHQ8ZGl2IGlkPVxcXCJ7e3BhdGh9fVxcXCI+XFxuXFx0XFx0XFx0e3t7dmFsdWV9fX1cXG5cXHRcXHQ8L2Rpdj5cXG5cXHR7ey92YWx1ZX19XFxue3svaW5jbHVkZXN9fVxcblxcbnt7I3ZhbHVlfX1cXG5cXHQ8L2Rpdj5cXG57ey92YWx1ZX19XFxuXCIsXCJtZW51XCI6XCI8dWw+XFxuXFx0PGxpIG5nLXJlcGVhdD0naXRlbSBpbiBpdGVtcyc+XFxuXFx0XFx0PGEgaHJlZj1cXFwiLyN7e2l0ZW0ubmFtZX19XFxcIj57e2l0ZW0ubmFtZX19PC9hPlxcblxcdDwvbGk+XFxuPC91bD5cIn0sXCJraXRcIjp7XCJ3aWRnZXRzXCI6e1widGh1bWJuYWlsc1wiOntcImNvbW1vblwiOlwiPGgxPlRodW1ibmFpbHM8L2gxPlxcblxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kdGh1bWJuYWlsLWNsYXNzOiBcXFwiLXRodW1ibmFpbFxcXCIgIWdsb2JhbFxcbiR0aHVtYm5haWwtaW1hZ2UtYmFja2dyb3VuZDogI2ZmZiAvLyBXaGVuIGltYWdlIGlzIHN0aWxsIGxvYWRpbmcgdGhpcyBiYWNrZ3JvdW5kIHdpbGwgYmUgc2hvd248L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuXFxuXFxuPHA+XFxuXFx0Q2xhc3MgPGNvZGU+LXRodW1ibmFpbDwvY29kZT4uIFRodW1ibmFpbHMgYXJlIHJlc3BvbnNpdmUgKCA8Y29kZT53aWR0aDogMTAwJTwvY29kZT4gYW5kIDxjb2RlPmhlaWdodDogYXV0bzwvY29kZT4gKS4gVHJ5IHRvIGNoYW5nZSBzY3JlZW4gc2l6ZS5cXG48L3A+XFxuXFxuPHA+XFxuXFx0QWxzbyB5b3UgY2FuIGFkZCBzaGFkb3dzLlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsIC1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtOS5zdGF0aWNmbGlja3IuY29tLzgyMzgvODUxNzQxNTY1NV9hYzIyMzAzNGE3X2IuanBnXFxcIj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi10aHVtYm5haWwgLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHQ8aW1nIHNyYz1cXFwiaHR0cDovL2Zhcm00LnN0YXRpY2ZsaWNrci5jb20vMzIzNy8zMTMxMDM3NTk2X2Q4ODlhYTAzMjBfei5qcGdcXFwiPlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcbjxwPlxcblxcdElmIHlvdSB3YW50IHRvIGFkZCBzb21lIGlubGluZSB0aHVtYm5haWxzLCB1c2UgPGEgaHJlZj1cXFwiL21haW4jZ3JpZFxcXCI+Z3JpZDwvYT4uIEl0IGFsc28gcmVzcG9uc2l6ZS4gVHJ5IHRvIGNoYW5nZSBzY3JlZW4gc2l6ZS5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi10aHVtYm5haWwgLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL2Zhcm05LnN0YXRpY2ZsaWNrci5jb20vODIzOC84NTE3NDE1NjU1X2FjMjIzMDM0YTdfYi5qcGdcXFwiPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbCAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTQuc3RhdGljZmxpY2tyLmNvbS8zMjc5LzI4MjQ2MjAyNzlfNGVmZGE2YjhjZl9iLmpwZ1xcXCI+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsIC1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtMy5zdGF0aWNmbGlja3IuY29tLzI2NTEvMzc0MzkyMjExOV9mNzE0MGYwMWM4X3ouanBnXFxcIj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8aDQ+R2Vpc2hhIDxzbWFsbD5LeW90bywgSmFwYW48L3NtYWxsPjwvaDQ+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbCAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTkuc3RhdGljZmxpY2tyLmNvbS84MjM4Lzg1MTc0MTU2NTVfYWMyMjMwMzRhN19iLmpwZ1xcXCI+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdDwvZGl2PlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsIC1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtNC5zdGF0aWNmbGlja3IuY29tLzMyNzkvMjgyNDYyMDI3OV80ZWZkYTZiOGNmX2IuanBnXFxcIj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8aDQ+R2Vpc2hhIDxzbWFsbD5LeW90bywgSmFwYW48L3NtYWxsPjwvaDQ+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi10aHVtYm5haWwgLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL2Zhcm0zLnN0YXRpY2ZsaWNrci5jb20vMjY1MS8zNzQzOTIyMTE5X2Y3MTQwZjAxYzhfei5qcGdcXFwiPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHQ8L2Rpdj5cXG5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIixcImNhcHRpb25zXCI6XCI8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBDQVBUSU9OUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPkNhcHRpb248L2gyPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiR0aHVtYm5haWwtY2FwdGlvbi1jbGFzczogI3skdGh1bWJuYWlsLWNsYXNzfSN7JGNhcHRpb24tY2xhc3N9XFxuJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICRiYXNlLXBhZGRpbmctdmVydGljYWwgKiAyXFxuJHRodW1ibmFpbC1jYXB0aW9uLWZvbnQtc2l6ZTogODAlPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcblxcbjwhLS0gPT09PT09PT09PT09IERFU0NSSVBUSU9OIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHRBZGQgd2lkZ2V0IDxjb2RlPi10aHVtYm5haWwtY2FwdGlvbjwvY29kZT4gdG8gYWRkIGNhcHRpb24gdG8gaW1hZ2UuIERvbid0IGZvcmdldCBhYm91dCB0aGVtZXMgYW5kIHNpemVzLlxcbjwvcD5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRVc2Ugc2VtYW50aWMgZWxlbWVudHMgPGNvZGU+Jmx0O2ZpZ3VyZSZndDs8L2NvZGU+IGFuZCA8Y29kZT4mbHQ7ZmlnY2FwdGlvbiZndDs8L2NvZGU+IVxcbjwvYmxvY2txdW90ZT5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL2Zhcm05LnN0YXRpY2ZsaWNrci5jb20vODIzOC84NTE3NDE1NjU1X2FjMjIzMDM0YTdfYi5qcGdcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDxmaWdjYXB0aW9uIGNsYXNzPVxcXCItdGh1bWJuYWlsLWNhcHRpb25cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8cD5HZWlzaGEgKOiKuOiAhT8pLCBnZWlrbyAo6Iq45a2QKSBvciBnZWlnaSAo6Iq45aaTKSBhcmUgdHJhZGl0aW9uYWwgSmFwYW5lc2UgZmVtYWxlIGVudGVydGFpbmVycyB3aG8gYWN0IGFzIGhvc3Rlc3NlcyBhbmQgd2hvc2Ugc2tpbGxzIGluY2x1ZGUgcGVyZm9ybWluZyB2YXJpb3VzIEphcGFuZXNlIGFydHMgc3VjaCBhcyBjbGFzc2ljYWwgbXVzaWMsIGRhbmNlIGFuZCBnYW1lcy48L3A+XFxuXFx0XFx0XFx0XFx0XFx0PC9maWdjYXB0aW9uPlxcblxcdFxcdFxcdFxcdDwvZmlndXJlPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTQuc3RhdGljZmxpY2tyLmNvbS8zMjc5LzI4MjQ2MjAyNzlfNGVmZGE2YjhjZl9iLmpwZ1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PGZpZ2NhcHRpb24gY2xhc3M9XFxcIi10aHVtYm5haWwtY2FwdGlvbiAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8cD5HZWlzaGEgKOiKuOiAhT8pLCBnZWlrbyAo6Iq45a2QKSBvciBnZWlnaSAo6Iq45aaTKSBhcmUgdHJhZGl0aW9uYWwgSmFwYW5lc2UgZmVtYWxlIGVudGVydGFpbmVycyB3aG8gYWN0IGFzIGhvc3Rlc3NlcyBhbmQgd2hvc2Ugc2tpbGxzIGluY2x1ZGUgcGVyZm9ybWluZyB2YXJpb3VzIEphcGFuZXNlIGFydHMgc3VjaCBhcyBjbGFzc2ljYWwgbXVzaWMsIGRhbmNlIGFuZCBnYW1lcy48L3A+XFxuXFx0XFx0XFx0XFx0XFx0PC9maWdjYXB0aW9uPlxcblxcdFxcdFxcdFxcdDwvZmlndXJlPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTMuc3RhdGljZmxpY2tyLmNvbS8yNjUxLzM3NDM5MjIxMTlfZjcxNDBmMDFjOF96LmpwZ1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PGZpZ2NhcHRpb24gY2xhc3M9XFxcIi10aHVtYm5haWwtY2FwdGlvbiAtZXJyb3ItXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aDQ+R2Vpc2hhIDxzbWFsbD5LeW90bywgSmFwYW48L3NtYWxsPjwvaDQ+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PHA+R2Vpc2hhICjoirjogIU/KSwgZ2Vpa28gKOiKuOWtkCkgb3IgZ2VpZ2kgKOiKuOWmkykgYXJlIHRyYWRpdGlvbmFsIEphcGFuZXNlIGZlbWFsZSBlbnRlcnRhaW5lcnMgd2hvIGFjdCBhcyBob3N0ZXNzZXMgYW5kIHdob3NlIHNraWxscyBpbmNsdWRlIHBlcmZvcm1pbmcgdmFyaW91cyBKYXBhbmVzZSBhcnRzIHN1Y2ggYXMgY2xhc3NpY2FsIG11c2ljLCBkYW5jZSBhbmQgZ2FtZXMuPC9wPlxcblxcdFxcdFxcdFxcdFxcdDwvZmlnY2FwdGlvbj5cXG5cXHRcXHRcXHRcXHQ8L2ZpZ3VyZT5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTkuc3RhdGljZmxpY2tyLmNvbS84MjM4Lzg1MTc0MTU2NTVfYWMyMjMwMzRhN19iLmpwZ1xcXCI+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGZpZ2NhcHRpb24gY2xhc3M9XFxcIi10aHVtYm5haWwtY2FwdGlvblxcXCI+XFxuXFx0XFx0XFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdFxcdDxwPkdlaXNoYSAo6Iq46ICFPyksIGdlaWtvICjoirjlrZApIG9yIGdlaWdpICjoirjlppMpIGFyZSB0cmFkaXRpb25hbCBKYXBhbmVzZSBmZW1hbGUgZW50ZXJ0YWluZXJzIHdobyBhY3QgYXMgaG9zdGVzc2VzIGFuZCB3aG9zZSBza2lsbHMgaW5jbHVkZSBwZXJmb3JtaW5nIHZhcmlvdXMgSmFwYW5lc2UgYXJ0cyBzdWNoIGFzIGNsYXNzaWNhbCBtdXNpYywgZGFuY2UgYW5kIGdhbWVzLjwvcD5cXG5cXHRcXHRcXHQ8L2ZpZ2NhcHRpb24+XFxuXFx0XFx0PC9maWd1cmU+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtNC5zdGF0aWNmbGlja3IuY29tLzMyNzkvMjgyNDYyMDI3OV80ZWZkYTZiOGNmX2IuanBnXFxcIj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZmlnY2FwdGlvbiBjbGFzcz1cXFwiLXRodW1ibmFpbC1jYXB0aW9uIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdFxcdDxwPkdlaXNoYSAo6Iq46ICFPyksIGdlaWtvICjoirjlrZApIG9yIGdlaWdpICjoirjlppMpIGFyZSB0cmFkaXRpb25hbCBKYXBhbmVzZSBmZW1hbGUgZW50ZXJ0YWluZXJzIHdobyBhY3QgYXMgaG9zdGVzc2VzIGFuZCB3aG9zZSBza2lsbHMgaW5jbHVkZSBwZXJmb3JtaW5nIHZhcmlvdXMgSmFwYW5lc2UgYXJ0cyBzdWNoIGFzIGNsYXNzaWNhbCBtdXNpYywgZGFuY2UgYW5kIGdhbWVzLjwvcD5cXG5cXHRcXHRcXHQ8L2ZpZ2NhcHRpb24+XFxuXFx0XFx0PC9maWd1cmU+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtMy5zdGF0aWNmbGlja3IuY29tLzI2NTEvMzc0MzkyMjExOV9mNzE0MGYwMWM4X3ouanBnXFxcIj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZmlnY2FwdGlvbiBjbGFzcz1cXFwiLXRodW1ibmFpbC1jYXB0aW9uIC1lcnJvci1cXFwiPlxcblxcdFxcdFxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHRcXHQ8cD5HZWlzaGEgKOiKuOiAhT8pLCBnZWlrbyAo6Iq45a2QKSBvciBnZWlnaSAo6Iq45aaTKSBhcmUgdHJhZGl0aW9uYWwgSmFwYW5lc2UgZmVtYWxlIGVudGVydGFpbmVycyB3aG8gYWN0IGFzIGhvc3Rlc3NlcyBhbmQgd2hvc2Ugc2tpbGxzIGluY2x1ZGUgcGVyZm9ybWluZyB2YXJpb3VzIEphcGFuZXNlIGFydHMgc3VjaCBhcyBjbGFzc2ljYWwgbXVzaWMsIGRhbmNlIGFuZCBnYW1lcy48L3A+XFxuXFx0XFx0XFx0PC9maWdjYXB0aW9uPlxcblxcdFxcdDwvZmlndXJlPlxcblxcdDwvZGl2PlxcblxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcblxcblxcblxcbjxoMz5DYXB0aW9uIHBvc2l0aW9uPC9oMz5cXG5cXG48cD5cXG5cXHRUbyBjaGFuZ2UgaXQganVzdCBhZGQgbW9kaWZpZXJzIDxjb2RlPl9sZWZ0XzwvY29kZT4gYW5kIDxjb2RlPl9yaWdodF88L2NvZGU+LiBDYXB0aW9ucyBhcmUgcmVzcG9uc2l2ZSwgdHJ5IHRvIGNoYW5nZSB3aW5kb3cgd2lkdGguXFxuPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPkxlZnQgYW5kIHJpZ2h0IGNhcHRpb25zIGFyZSBhYnNvbHV0ZSBwb3NpdGlvbmVkLiBTbyBpdCBsb29rcyBncmVhdCBpZiB0aGVyZSBpcyBub3RoaW5nIG9uIGxlZnQgb3IgcmlnaHQgc2lkZSBvZiB0aGUgdGh1bWJuYWlsLjwvYmxvY2txdW90ZT5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0NFxcXCIgc3R5bGU9XFxcInBvc2l0aW9uOiByZWxhdGl2ZVxcXCI+XFxuXFx0XFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXNoYWRvdy1jdXJ2ZS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTkuc3RhdGljZmxpY2tyLmNvbS84MjM4Lzg1MTc0MTU2NTVfYWMyMjMwMzRhN19iLmpwZ1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PGZpZ2NhcHRpb24gY2xhc3M9XFxcIi10aHVtYm5haWwtY2FwdGlvbiBfbGVmdF9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8cD5HZWlzaGEgKOiKuOiAhT8pLCBnZWlrbyAo6Iq45a2QKSBvciBnZWlnaSAo6Iq45aaTKSBhcmUgdHJhZGl0aW9uYWwgSmFwYW5lc2UgZmVtYWxlIGVudGVydGFpbmVycy48L3A+XFxuXFx0XFx0XFx0XFx0XFx0PC9maWdjYXB0aW9uPlxcblxcdFxcdFxcdFxcdDwvZmlndXJlPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCIgc3R5bGU9XFxcInBvc2l0aW9uOiByZWxhdGl2ZVxcXCI+XFxuXFx0XFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXNoYWRvdy1jdXJ2ZS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTQuc3RhdGljZmxpY2tyLmNvbS8zMjc5LzI4MjQ2MjAyNzlfNGVmZGE2YjhjZl9iLmpwZ1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PGZpZ2NhcHRpb24gY2xhc3M9XFxcIi10aHVtYm5haWwtY2FwdGlvbiBfcmlnaHRfIC1lcnJvci1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8cD5HZWlzaGEgKOiKuOiAhT8pLCBnZWlrbyAo6Iq45a2QKSBvciBnZWlnaSAo6Iq45aaTKSBhcmUgdHJhZGl0aW9uYWwgSmFwYW5lc2UgZmVtYWxlIGVudGVydGFpbmVycy48L3A+XFxuXFx0XFx0XFx0XFx0XFx0PC9maWdjYXB0aW9uPlxcblxcdFxcdFxcdFxcdDwvZmlndXJlPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDggLW9mZnNldDRcXFwiIHN0eWxlPVxcXCJwb3NpdGlvbjogcmVsYXRpdmVcXFwiPlxcblxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1zaGFkb3ctY3VydmUtXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL2Zhcm05LnN0YXRpY2ZsaWNrci5jb20vODIzOC84NTE3NDE1NjU1X2FjMjIzMDM0YTdfYi5qcGdcXFwiPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxmaWdjYXB0aW9uIGNsYXNzPVxcXCItdGh1bWJuYWlsLWNhcHRpb24gX2xlZnRfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aDQ+R2Vpc2hhIDxzbWFsbD5LeW90bywgSmFwYW48L3NtYWxsPjwvaDQ+XFxuXFx0XFx0XFx0XFx0PHA+R2Vpc2hhICjoirjogIU/KSwgZ2Vpa28gKOiKuOWtkCkgb3IgZ2VpZ2kgKOiKuOWmkykgYXJlIHRyYWRpdGlvbmFsIEphcGFuZXNlIGZlbWFsZSBlbnRlcnRhaW5lcnMuPC9wPlxcblxcdFxcdFxcdDwvZmlnY2FwdGlvbj5cXG5cXHRcXHQ8L2ZpZ3VyZT5cXG5cXHQ8L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCIgc3R5bGU9XFxcInBvc2l0aW9uOiByZWxhdGl2ZVxcXCI+XFxuXFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXNoYWRvdy1jdXJ2ZS1cXFwiPlxcblxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTQuc3RhdGljZmxpY2tyLmNvbS8zMjc5LzI4MjQ2MjAyNzlfNGVmZGE2YjhjZl9iLmpwZ1xcXCI+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGZpZ2NhcHRpb24gY2xhc3M9XFxcIi10aHVtYm5haWwtY2FwdGlvbiBfcmlnaHRfIC1lcnJvci1cXFwiPlxcblxcdFxcdFxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHRcXHQ8cD5HZWlzaGEgKOiKuOiAhT8pLCBnZWlrbyAo6Iq45a2QKSBvciBnZWlnaSAo6Iq45aaTKSBhcmUgdHJhZGl0aW9uYWwgSmFwYW5lc2UgZmVtYWxlIGVudGVydGFpbmVycy48L3A+XFxuXFx0XFx0XFx0PC9maWdjYXB0aW9uPlxcblxcdFxcdDwvZmlndXJlPlxcblxcdDwvZGl2PlxcblxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlwifSxcInNwaW5uZXJzXCI6e1wid2F2ZXNcIjpcIjxoMz5XYXZlcyBzcGlubmVyPC9oMz5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcbjxoND5WYXJpYWJsZXM8L2g0PlxcbjxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRzcGlubmVyLXdhdmVzLWNsYXNzOiBcXFwiI3skc3Bpbm5lci1jbGFzc30td2F2ZXNcXFwiXFxuJHNwaW5uZXItd2F2ZXMtc2l6ZTogMzBweFxcbiRzcGlubmVyLXdhdmVzLWRlZzogMjVkZWc8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuPHA+SnVzdCBhZGQgY2xhc3MgPGNvZGU+LXNwaW5uZXItd2F2ZXM8L2NvZGU+LjwvcD5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLWVycm9yLVxcXCI+WW91IG5lZWQgdG8gYWRkIDxjb2RlPi1hZGRvbjwvY29kZT4gZWxlbWVudHMgaW5zaWRlIHRoaXMgc3Bpbm5lci48YnI+XFxuVGhlIHF1YW50aXR5IGlzIHVubGltaXRlZC5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItd2F2ZXMgLXByaW1hcnktXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItd2F2ZXMgLWVycm9yLVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItd2F2ZXMgLXdhcm5pbmctXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcblxcbjxhIGNsYXNzPVxcXCItYnRuXFxcIj5XaXRoIHNwaW5uZXJcXG48c3BhbiBjbGFzcz1cXFwiLXNwaW5uZXItd2F2ZXMgLWRhcmstIF9zbWFsbFxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvc3Bhbj5cXG48L2E+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtcHJpbWFyeS1cXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtZXJyb3ItXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtd2FybmluZy1cXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuXFxuPGEgY2xhc3M9XFxcIi1idG5cXFwiPldpdGggc3Bpbm5lclxcbjxzcGFuIGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtZGFyay0gX3NtYWxsXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9zcGFuPlxcbjwvYT48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG48cD5BZGQgc2l6ZSBtb2RpZmllcnM8L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItd2F2ZXMgLXByaW1hcnktIF9zbWFsbFxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcbiZuYnNwO1xcbiZuYnNwO1xcbiZuYnNwO1xcbiZuYnNwO1xcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXdhdmVzIC1lcnJvci0gX2JpZ1xcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItd2F2ZXMgLXdhcm5pbmctIF9kaXZpbmVcXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtcHJpbWFyeS0gX3NtYWxsXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItd2F2ZXMgLWVycm9yLSBfYmlnXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtd2FybmluZy0gX2RpdmluZVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIixcInNxdWFyZVwiOlwiPGgzPlNxdWFyZSBzcGlubmVyPC9oMz5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcbjxoND5WYXJpYWJsZXM8L2g0PlxcbjxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRzcGlubmVyLXNxdWFyZS1jbGFzczogXFxcIiN7JHNwaW5uZXItY2xhc3N9LXNxdWFyZVxcXCJcXG4kc3Bpbm5lci1zcXVhcmUtc2l6ZTogMzBweFxcbjwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG48cD5KdXN0IGFkZCBjbGFzcyA8Y29kZT4tc3Bpbm5lci1mYjwvY29kZT48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC1wcmltYXJ5LVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC13YXJuaW5nLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC1pbmZvLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC1kYXJrLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC1lcnJvci1cXFwiPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC1wcmltYXJ5LVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC13YXJuaW5nLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC1pbmZvLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC1kYXJrLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC1lcnJvci1cXFwiPjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcbjxwPkFkZCBzaXplIG1vZGlmaWVyczwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgX3RpbnkgLWluZm8tXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgX3NtYWxsIC1wcmltYXJ5LVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIF9taW5vciAtd2FybmluZy1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXNxdWFyZSBfbm9ybWFsIC1pbmZvLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIF9tYWpvciAtZGFyay1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXNxdWFyZSBfYmlnIC1lcnJvci1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXNxdWFyZSBfaHVnZSAtcHJpbWFyeS1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXNxdWFyZSBfZ2lhbnQgLXdhcm5pbmctXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgX2RpdmluZSAtd2FybmluZy1cXFwiPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC1wcmltYXJ5LVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC13YXJuaW5nLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC1pbmZvLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC1kYXJrLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIC1lcnJvci1cXFwiPjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwicmluZ1wiOlwiPGgzPlJpbmcgc3Bpbm5lcjwvaDM+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG48aDQ+VmFyaWFibGVzPC9oND5cXG48ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kc3Bpbm5lci1yaW5nLWNsYXNzOiBcXFwiI3skc3Bpbm5lci1jbGFzc30tcmluZ1xcXCJcXG4kc3Bpbm5lci1yaW5nLXNpemU6IDMwcHhcXG48L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuPHA+SnVzdCBhZGQgY2xhc3MgPGNvZGU+LXNwaW5uZXItcmluZzwvY29kZT48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyAtcHJpbWFyeS1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgLXdhcm5pbmctXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIC1pbmZvLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyAtZGFyay1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgLWVycm9yLVxcXCI+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIC1wcmltYXJ5LVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyAtd2FybmluZy1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgLWluZm8tXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIC1kYXJrLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyAtZXJyb3ItXFxcIj48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG48cD5BZGQgc2l6ZSBtb2RpZmllcnM8L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyBfdGlueSAtaW5mby1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgX3NtYWxsIC1wcmltYXJ5LVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyBfbWlub3IgLXdhcm5pbmctXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIF9ub3JtYWwgLWluZm8tXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIF9tYWpvciAtZGFyay1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgX2JpZyAtZXJyb3ItXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIF9odWdlIC1wcmltYXJ5LVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyBfZ2lhbnQgLXdhcm5pbmctXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIF9kaXZpbmUgLXdhcm5pbmctXFxcIj48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgLXByaW1hcnktXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIC13YXJuaW5nLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyAtaW5mby1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgLWRhcmstXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIC1lcnJvci1cXFwiPjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwiZmJcIjpcIjxoMz5GYiBzcGlubmVyPC9oMz5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcbjxoND5WYXJpYWJsZXM8L2g0PlxcbjxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRzcGlubmVyLWZiLWNsYXNzOiBcXFwiI3skc3Bpbm5lci1jbGFzc30tZmJcXFwiXFxuJHNwaW5uZXItZmItc2l6ZTogMzBweFxcbiRzcGlubmVyLWZiLW1heC1hZGRvbnM6IDEwPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcbjxwPkp1c3QgYWRkIGNsYXNzIDxjb2RlPi1zcGlubmVyLWZiPC9jb2RlPi5UaGlzIGlzIGEgZmItbGlrZSBzcGlubmVyLjwvcD5cXG5cXG48YmxvY2txdW90ZXMgY2xhc3M9XFxcIi1lcnJvci1cXFwiPllvdSBuZWVkIHRvIGFkZCA8Y29kZT4tYWRkb248L2NvZGU+IGVsZW1lbnRzIGluc2lkZSB0aGlzIHNwaW5uZXIuIFRoZSBxdWFudGl0eSBpcyBsaW1pdGVkIGJ5IHNhc3MgdmFyaWFibGUgPGNvZGU+JHNwaW5uZXItZmItbWF4LWFkZG9uczwvY29kZT4uPC9ibG9ja3F1b3Rlcz5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1mYiAtcHJpbWFyeS1cXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcbiZuYnNwO1xcbiZuYnNwO1xcbiZuYnNwO1xcbiZuYnNwO1xcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLWZiIC1lcnJvci1cXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgLXdhcm5pbmctXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuPGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktXFxcIj5XaXRoIHNwaW5uZXJcXG48c3BhbiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgX3NtYWxsXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9zcGFuPlxcbjwvYT5cXG5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLWZiIC1wcmltYXJ5LVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgLWVycm9yLVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1mYiAtd2FybmluZy1cXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG5cXG48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS1cXFwiPldpdGggc3Bpbm5lclxcbjxzcGFuIGNsYXNzPVxcXCItc3Bpbm5lci1mYiBfc21hbGxcXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L3NwYW4+XFxuPC9hPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcbjxwPkFkZCBzaXplIG1vZGlmaWVyczwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1mYiAtcHJpbWFyeS0gX3NtYWxsXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1mYiAtZXJyb3ItIF9iaWdcXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgLXdhcm5pbmctIF9kaXZpbmVcXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLWZiIC1wcmltYXJ5LSBfc21hbGxcXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLWZiIC1lcnJvci0gX2JpZ1xcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1mYiAtd2FybmluZy0gX2RpdmluZVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwiY29tbW9uXCI6XCI8aDE+U3Bpbm5lcnM8L2gxPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuPGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcbjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj4kc3Bpbm5lci1jbGFzczogXFxcIi1zcGlubmVyXFxcIiAhZ2xvYmFsPC9wcmU+XFxuPC9wPlxcblxcbjxwPlNwaW5uZXIgaXMgYW4gZWxlbWVudCBzaG93cyB0aGF0IHByb2Nlc3MgaXMgZXhlY3V0aW5nIChhbnkgb25lLCBmb3IgZXhhbXBsZSA8Yj5sb2FkaW5nPC9iPiBwcm9jZXNzKTwvcD5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5JZiB5b3Ugd2FudCB0byBwb3NpdGlvbiB5b3VyIHNwaW5uZXIgaW4gdGhlIGNlbnRlciBvZiBhbnkgcmVsYXRpdmUgZWxlbWVudCwgYWRkIDxjb2RlPl9yZXNwb25zaXZlXzwvY29kZT4gbW9kaWZpZXIgdG8gdGhlIHNwaW5uZXIuXFxuPC9ibG9ja3F1b3RlPlxcblxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPlxcbkluIHNvbWUgc3Bpbm5lcnMgeW91J2xsIG5lZWQgdG8gYWRkIDxjb2RlPi1hZGRvbjwvY29kZT4gZWxlbWVudHMgaW5zaWRlIHRvIGFkZCBzcGlubmVyIGJsb2Nrcy5cXG48L2Jsb2NrcXVvdGU+XFxuXCJ9LFwic2hhZGVyc1wiOntcImNvbW1vblwiOlwiPGgxPlNoYWRlcnM8L2gxPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuPGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcbjxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRzaGFkZXItY2xhc3M6IFxcXCItc2hhZGVyXFxcIiAhZ2xvYmFsXFxuJHNoYWRlci16LWluZGV4OiAxMDAgIWdsb2JhbDwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG48cD5TaGFkZXIgaXMgYSBiYWNrZ3JvdW5kIGVsZW1lbnQgZm9yIGFueSBjb250ZW50LCBmb3IgZXhhbXBsZSBhIG1vZGFsIHdpbmRvdy48L3A+XFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1lcnJvci1cXFwiPlxcbkhpZGRlbiBieSBkZWZhdWx0LiBBZGQgbW9kaWZpZXIgPGNvZGU+X2FjdGl2ZV88L2NvZGU+IHRvIHNob3cgdXAuPGJyPlxcbkRvbnQndCBoYXZlIGFueSBzaXplcy5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+XFxuVXNlIG1vZGlmaWVyIDxjb2RlPl9yZXNwb25zaXZlXzwvY29kZT4gdG8gbWFrZSBzaGFkZXIgPGNvZGU+cG9zaXRpb246IGZpeGVkPC9jb2RlPi48YnI+XFxuQnkgZGVmYXVsdCBzaGFkZXIgaXMgPGNvZGU+cG9zaXRpb246IGFic29sdXRlPC9jb2RlPlxcbjwvYmxvY2txdW90ZT5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5Db250ZW50IHVuZGVyIHNoYWRlci5cXG48ZGl2IGNsYXNzPVxcXCItc2hhZGVyIC1wcmltYXJ5LSBfYWN0aXZlX1xcXCI+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5Db250ZW50IHVuZGVyIHNoYWRlci5cXG48ZGl2IGNsYXNzPVxcXCItc2hhZGVyIC1wcmltYXJ5LVxcXCI+PC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuPHA+Rm9yIGV4YW1wbGUgYWRkIGxvYWRlci48L3A+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuQ29udGVudCB1bmRlciBzaGFkZXIuXFxuPGRpdiBjbGFzcz1cXFwiLXNoYWRlciAtd2FybmluZy0gX2FjdGl2ZV9cXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLWZiIF9yZXNwb25zaXZlX1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItYWRkb25cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5Db250ZW50IHVuZGVyIHNoYWRlci5cXG48ZGl2IGNsYXNzPVxcXCItc2hhZGVyIC13YXJuaW5nLSBfYWN0aXZlX1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgX3Jlc3BvbnNpdmVfXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItYWRkb25cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L2Rpdj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L3ByZT48L2Rpdj48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48cD5BZGQgbW9kaWZpZXIgPGNvZGU+X3NoYWRlZF88L2NvZGU+IHRvIG1ha2Ugc2hhZGVyIHRyYW5zcGFyZW50LjwvcD5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5Db250ZW50IHVuZGVyIHNoYWRlci5cXG48ZGl2IGNsYXNzPVxcXCItc2hhZGVyIC13YXJuaW5nLSBfc2hhZGVkXyBfYWN0aXZlX1xcXCI+PGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIF9yZXNwb25zaXZlX1xcXCI+PC9kaXY+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5Db250ZW50IHVuZGVyIHNoYWRlci5cXG48ZGl2IGNsYXNzPVxcXCItc2hhZGVyIC13YXJuaW5nLSBfc2hhZGVkXyBfYWN0aXZlX1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIF9yZXNwb25zaXZlX1xcXCI+PC9kaXY+XFxuPC9kaXY+XFxuXFxuPC9wcmU+PC9kaXY+XFxuXCJ9LFwicHJvZ3Jlc3NcIjp7XCJzbGltXCI6XCI8IS0tID09PT09PT09PT09PSBQUk9HUkVTUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgxPlNsaW08L2gxPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRwcm9ncmVzcy1zbGltLWNsYXNzOiBcXFwiLXByb2dyZXNzLXNsaW1cXFwiICFnbG9iYWxcXG4kcHJvZ3Jlc3Mtc2xpbS1iYXItY2xhc3M6IFxcXCItYmFyXFxcIiAhZ2xvYmFsXFxuJHByb2dyZXNzLXNsaW0tYmFyLWhlaWdodDogN3B4XFxuJHByb2dyZXNzLXNsaW0tYm9yZGVyLXJhZGl1czogMHB4ICFnbG9iYWxcXG4kcHJvZ3Jlc3Mtc2xpbS1ib3JkZXItd2lkdGg6IDBweCAhZ2xvYmFsXFxuJHByb2dyZXNzLXNsaW0tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZ2xvYmFsPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcblxcblxcbjxwPlxcblxcdFVzZSB3aWRnZXQgY2xhc3MgPGNvZGU+LXByb2dyZXNzLXNsaW08L2NvZGU+LiBBcHBseSB0aGVtZXMgYW5kIHNpemVzLiBBcHBlbmQgPGNvZGU+LWJhcjwvY29kZT4gaW5zaWRlIDxjb2RlPi1wcm9ncmVzcy1zbGltPC9jb2RlPi5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXByb2dyZXNzLXNsaW0gX3RpbnkgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYmFyXFxcIiBzdHlsZT1cXFwid2lkdGg6IDEyJVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtd2FybmluZy1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjUlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC1lcnJvci1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogNSVcXFwiPjwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcHJvZ3Jlc3Mtc2xpbSBfc21hbGwgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYmFyXFxcIiBzdHlsZT1cXFwid2lkdGg6IDEyJVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtd2FybmluZy1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjUlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC1lcnJvci1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogNSVcXFwiPjwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcHJvZ3Jlc3Mtc2xpbSBfbWlub3IgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYmFyXFxcIiBzdHlsZT1cXFwid2lkdGg6IDEyJVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtd2FybmluZy1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjUlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC1lcnJvci1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogNSVcXFwiPjwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcHJvZ3Jlc3Mtc2xpbSAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1wcm9ncmVzcy1zbGltIF9tYWpvciAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1wcm9ncmVzcy1zbGltIF9iaWcgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYmFyXFxcIiBzdHlsZT1cXFwid2lkdGg6IDEyJVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtd2FybmluZy1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjUlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC1lcnJvci1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogNSVcXFwiPjwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1wcm9ncmVzcy1zbGltIF90aW55IC1wcmltYXJ5LVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWJhclxcXCIgc3R5bGU9XFxcIndpZHRoOiAxMiVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLXdhcm5pbmctXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI1JVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtZXJyb3ItXFxcIiBzdHlsZT1cXFwid2lkdGg6IDUlXFxcIj48L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcHJvZ3Jlc3Mtc2xpbSBfc21hbGwgLXByaW1hcnktXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItYmFyXFxcIiBzdHlsZT1cXFwid2lkdGg6IDEyJVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtd2FybmluZy1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjUlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC1lcnJvci1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogNSVcXFwiPjwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1wcm9ncmVzcy1zbGltIF9taW5vciAtcHJpbWFyeS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXByb2dyZXNzLXNsaW0gLXByaW1hcnktXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItYmFyXFxcIiBzdHlsZT1cXFwid2lkdGg6IDEyJVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtd2FybmluZy1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjUlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC1lcnJvci1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogNSVcXFwiPjwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1wcm9ncmVzcy1zbGltIF9tYWpvciAtcHJpbWFyeS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXByb2dyZXNzLXNsaW0gX2JpZyAtcHJpbWFyeS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+PC9kaXY+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJjb21tb25cIjpcIjwhLS0gPT09PT09PT09PT09IFBST0dSRVNTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDE+UHJvZ3Jlc3M8L2gxPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRwcm9ncmVzcy1jbGFzczogXFxcIi1wcm9ncmVzc1xcXCIgIWdsb2JhbFxcbiRwcm9ncmVzcy1iYXItY2xhc3M6IFxcXCItYmFyXFxcIiAhZ2xvYmFsXFxuJHByb2dyZXNzLWJhci1wYWRkaW5nLXZlcnRpY2FsOiAkYmFzZS1wYWRkaW5nLXZlcnRpY2FsIC8gM1xcbiRwcm9ncmVzcy1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAkYmFzZS1wYWRkaW5nLWhvcml6b250YWwgLyAxLjVcXG4kcHJvZ3Jlc3MtZm9udC13ZWlnaHQ6IDYwMCAhZ2xvYmFsXFxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6IDRweCAhZ2xvYmFsXFxuJHByb2dyZXNzLWJvcmRlci13aWR0aDogMHB4ICFnbG9iYWxcXG4kcHJvZ3Jlc3MtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZ2xvYmFsXFxuJHByb2dyZXNzLXBhZGRpbmc6IDNweCAhZ2xvYmFsXFxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICNmZmYgIWdsb2JhbDwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG5cXG5cXG48cD5cXG5cXHRVc2Ugd2lkZ2V0IGNsYXNzIDxjb2RlPi1wcm9ncmVzczwvY29kZT4uIEFwcGx5IHRoZW1lcyBhbmQgc2l6ZXMuIEFwcGVuZCA8Y29kZT4tYmFyPC9jb2RlPiBpbnNpZGUgPGNvZGU+LXByb2dyZXNzPC9jb2RlPi5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXByb2dyZXNzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWJhclxcXCIgc3R5bGU9XFxcIndpZHRoOiAxMiVcXFwiPjEyICU8L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjI1ICU8L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC1lcnJvci1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogNSVcXFwiPlNvbWV0aGluZyBnb2VzIHdyb25nPC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1wcm9ncmVzcyBfZGl2aW5lIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWJhclxcXCIgc3R5bGU9XFxcIndpZHRoOiAxMiVcXFwiPjEyICU8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXByb2dyZXNzIC1wcmltYXJ5LSAtc2hhZG93LWN1cnZlLVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWJhclxcXCIgc3R5bGU9XFxcIndpZHRoOiA0MiVcXFwiPnByb2dyZXNzIHdpdGggc2hhZG93IDQyICU8L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjI1ICU8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXByb2dyZXNzIC1wcmltYXJ5LSAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogNDIlXFxcIj5wcm9ncmVzcyB3aXRoIHNoYWRvdyA0MiAlPC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItcHJvZ3Jlc3MgLXByaW1hcnktXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItYmFyXFxcIiBzdHlsZT1cXFwid2lkdGg6IDEyJVxcXCI+MTIgJTwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1iYXIgLXdhcm5pbmctXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI1JVxcXCI+MjUgJTwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+U29tZXRoaW5nIGdvZXMgd3Jvbmc8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcHJvZ3Jlc3MgX2RpdmluZSAtcHJpbWFyeS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj4xMiAlPC9kaXY+XFxuPC9kaXY+XFxuPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCJ9LFwibmF2XCI6e1widGFic1wiOlwiPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gVEFCUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPlRhYnM8L2gyPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRuYXYtdGFicy1jbGFzczogXFxcIi10YWJzXFxcIiAhZ2xvYmFsXFxuJG5hdi10YWJzLWJvcmRlci13aWR0aDogMXB4ICFnbG9iYWxcXG4kbmF2LXRhYnMtaXRlbXMtcGFkZGluZy12ZXJ0aWNhbDogJGJhc2UtcGFkZGluZy12ZXJ0aWNhbFxcbiRuYXYtdGFicy1pdGVtcy1wYWRkaW5nLWhvcml6b250YWw6ICRiYXNlLXBhZGRpbmctaG9yaXpvbnRhbFxcbiRuYXYtdGFicy1pdGVtcy1ib3JkZXItcmFkaXVzOiAzcHg8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuXFxuPCEtLSA9PT09PT09PT09PT0gREVTQ1JJUFRJT04gLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxoMz5CYXNpYyB1c2U8L2gzPlxcbjxwPlxcblxcdFVzZSB0YWJzIGNsYXNzIDxjb2RlPi10YWJzPC9jb2RlPi5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItdGFic1xcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPlRhYiAxIDxpIGNsYXNzPVxcXCJmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi10YWJzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPlRhYiAxIDxpIGNsYXNzPVxcXCJmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPlRhYiAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItdGFic1xcXCI+XFxuXFx0PGxpPjxhPlRhYiAxIDxpIGNsYXNzPVxcXCJmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPjwvbGk+XFxuXFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHQ8bGk+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG48L3VsPlxcblxcbjx1bCBjbGFzcz1cXFwiLXRhYnMgLXByaW1hcnktXFxcIj5cXG5cXHQ8bGk+PGE+VGFiIDEgPGkgY2xhc3M9XFxcImZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+PC9saT5cXG5cXHQ8bGk+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMzwvYT48L2xpPlxcblxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcbjwvdWw+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuPHA+XFxuXFx0QXBwbHkgdGhlbWUgY2xhc3NlcyB0byBpdGVtIGVsZW1lbnQgPGNvZGU+Jmx0O2xpJmd0OzwvY29kZT4uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLXRhYnNcXFwiPlxcblxcdFxcdFxcdDxsaT48YT5UYWIgMTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV8gLWVycm9yLVxcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi10YWJzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPjxhPlRhYiAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItdGFic1xcXCI+XFxuXFx0PGxpPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlXyAtZXJyb3ItXFxcIj48YT5UYWIgMjwvYT48L2xpPlxcblxcdDxsaT48YT5UYWIgMzwvYT48L2xpPlxcblxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcbjwvdWw+XFxuXFxuPHVsIGNsYXNzPVxcXCItdGFicyAtcHJpbWFyeS1cXFwiPlxcblxcdDxsaT48YT5UYWIgMTwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiLXdhcm5pbmctXFxcIj48YT5UYWIgMjwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlRhYiAzPC9hPjwvbGk+XFxuXFx0PGxpIGRpc2FibGVkPjxhPlRhYiA0PC9hPjwvbGk+XFxuPC91bD48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG48aDM+VmVydGljYWwgdGFiczwvaDM+XFxuXFxuPHA+XFxuXFx0VXNlIG1vZGlmaWVyIDxjb2RlPl92ZXJ0aWNhbF88L2NvZGU+IHdpdGggbW9kaWZpZXJzIDxjb2RlPl9sZWZ0XzwvY29kZT4gYW5kIDxjb2RlPl9yaWdodF88L2NvZGU+LiBDb21iaW5lIHRhYnMgd2l0aCA8YSBocmVmPVxcXCIvbWFpbiNncmlkXFxcIj5ncmlkPC9hPi5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXRhYnMgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHRDb250ZW50IG9mIHRoZSBzZWNvbmQgdGFiLlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItdGFicyBfdmVydGljYWxfIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPjxhPlRhYiAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHRDb250ZW50IG9mIHRoZSB0aGlyZCB0YWIuXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHRDb250ZW50IG9mIHRoZSBzZWNvbmQgdGFiLlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi10YWJzIF9yaWdodF8gX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0XFx0Q29udGVudCBvZiB0aGUgdGhpcmQgdGFiLlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi10YWJzIF9yaWdodF8gX3ZlcnRpY2FsXyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsaT48YT5UYWIgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaT48YT5UYWIgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlRhYiAzPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpIGRpc2FibGVkPjxhPlRhYiA0PC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi10YWJzIF92ZXJ0aWNhbF9cXFwiPlxcblxcdFxcdFxcdDxsaT48YT5UYWIgMTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlRhYiAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPlRhYiAzPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGRpc2FibGVkPjxhPlRhYiA0PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0Q29udGVudCBvZiB0aGUgc2Vjb25kIHRhYi5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItdGFicyBfdmVydGljYWxfIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPlRhYiAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRDb250ZW50IG9mIHRoZSB0aGlyZCB0YWIuXFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdENvbnRlbnQgb2YgdGhlIHNlY29uZCB0YWIuXFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLXRhYnMgX3JpZ2h0XyBfdmVydGljYWxfXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDE8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5UYWIgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdENvbnRlbnQgb2YgdGhlIHRoaXJkIHRhYi5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItdGFicyBfcmlnaHRfIF92ZXJ0aWNhbF8gLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDE8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXCIsXCJwaWxsc1wiOlwiPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gUElMTFMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMj5QaWxsczwvaDI+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JG5hdi1waWxscy1jbGFzczogXFxcIi1waWxsc1xcXCIgIWdsb2JhbFxcbiRuYXYtcGlsbHMtYm9yZGVyLXdpZHRoOiAxcHggIWdsb2JhbFxcbiRuYXYtcGlsbHMtaXRlbXMtcGFkZGluZy12ZXJ0aWNhbDogJGJhc2UtcGFkZGluZy12ZXJ0aWNhbFxcbiRuYXYtcGlsbHMtaXRlbXMtcGFkZGluZy1ob3Jpem9udGFsOiAkYmFzZS1wYWRkaW5nLWhvcml6b250YWxcXG4kbmF2LXBpbGxzLWl0ZW1zLWJvcmRlci1yYWRpdXM6IDNweFxcbiRuYXYtcGlsbHMtaXRlbXMtbWFyZ2luLXJpZ2h0OiAxcHg8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuPGgzPkJhc2ljIHVzZTwvaDM+XFxuPHA+XFxuXFx0VXNlIHdpZGdldCA8Y29kZT4tcGlsbHM8L2NvZGU+LlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxsc1xcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlBpbGwgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5QaWxsIDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+UGlsbCA0PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItcGlsbHMgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+UGlsbCAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPlBpbGwgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlBpbGwgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5QaWxsIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItcGlsbHNcXFwiPlxcblxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHQ8bGk+PGE+UGlsbCAzPC9hPjwvbGk+XFxuXFx0PGxpIGRpc2FibGVkPjxhPlBpbGwgNDwvYT48L2xpPlxcbjwvdWw+XFxuPHVsIGNsYXNzPVxcXCItcGlsbHMgLXByaW1hcnktXFxcIj5cXG5cXHQ8bGk+PGE+UGlsbCAxPC9hPjwvbGk+XFxuXFx0PGxpPjxhPlBpbGwgMjwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlBpbGwgMzwvYT48L2xpPlxcblxcdDxsaSBkaXNhYmxlZD48YT5QaWxsIDQ8L2E+PC9saT5cXG48L3VsPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcbjxwPlxcblxcdEFwcGx5IHRoZW1lIGNsYXNzZXMgdG8gaXRlbSBlbGVtZW50IDxjb2RlPiZsdDtsaSZndDs8L2NvZGU+LlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxsc1xcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV8gLWVycm9yLVxcXCI+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPlBpbGwgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5QaWxsIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+UGlsbCAzPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGRpc2FibGVkPjxhPlBpbGwgNDwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dWwgY2xhc3M9XFxcIi1waWxsc1xcXCI+XFxuXFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV8gLWVycm9yLVxcXCI+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0PGxpPjxhPlBpbGwgMzwvYT48L2xpPlxcblxcdDxsaSBkaXNhYmxlZD48YT5QaWxsIDQ8L2E+PC9saT5cXG48L3VsPlxcbjx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiLXdhcm5pbmctXFxcIj48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5QaWxsIDM8L2E+PC9saT5cXG5cXHQ8bGkgZGlzYWJsZWQ+PGE+UGlsbCA0PC9hPjwvbGk+XFxuPC91bD48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG48aDM+VmVydGljYWwgcGlsbHM8L2gzPlxcblxcbjxwPlxcblxcdFVzZSBtb2RpZmllciA8Y29kZT5fdmVydGljYWxfPC9jb2RlPi5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItcGlsbHMgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlBpbGwgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5QaWxsIDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+UGlsbCA0PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bCBjbGFzcz1cXFwiLXBpbGxzIF92ZXJ0aWNhbF9cXFwiPlxcblxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHQ8bGk+PGE+UGlsbCAzPC9hPjwvbGk+XFxuXFx0PGxpIGRpc2FibGVkPjxhPlBpbGwgNDwvYT48L2xpPlxcbjwvdWw+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJtZW51XCI6XCI8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBNRU5VID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDI+TWVudTwvaDI+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JG5hdi1tZW51LWNsYXNzOiBcXFwiLW1lbnVcXFwiICFnbG9iYWxcXG4kbmF2LW1lbnUtaXRlbXMtcGFkZGluZy12ZXJ0aWNhbDogJGJhc2UtcGFkZGluZy12ZXJ0aWNhbCAhZ2xvYmFsXFxuJG5hdi1tZW51LWl0ZW1zLXBhZGRpbmctaG9yaXpvbnRhbDogJGJhc2UtcGFkZGluZy1ob3Jpem9udGFsICFnbG9iYWxcXG4kbmF2LW1lbnUtaXRlbXMtYm9yZGVyLXdpZHRoOiAxcHggIWdsb2JhbFxcbiRuYXYtbWVudS1pdGVtcy1ib3JkZXItcmFkaXVzOiAwcHggIWdsb2JhbFxcbiRuYXYtbWVudS1pdGVtcy1tYXJnaW46IDFweCAhZ2xvYmFsPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcblxcbjwhLS0gPT09PT09PT09PT09IERFU0NSSVBUSU9OIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48aDM+QmFzaWMgdXNlPC9oMz5cXG48cD5cXG5cXHRVc2UgbWVudSBjbGFzcyA8Y29kZT4tbWVudTwvY29kZT4uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnVcXFwiPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDE8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMzwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdDxsaT48YT5NZW51IDM8L2E+PC9saT5cXG48L3VsPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcbjxwPlxcblxcdEFkZCB0aGVtZXMuXFxuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDM8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItbWVudSAtcHJpbWFyeS1cXFwiPlxcblxcdDxsaT48YT5NZW51IDE8L2E+PC9saT5cXG5cXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0PGxpPjxhPk1lbnUgMzwvYT48L2xpPlxcbjwvdWw+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgzPlZlcnRpY2FsIG1lbnU8L2gzPlxcblxcbjxwPlxcblxcdFRvIG1ha2UgaXQgdmVydGljYWwgYWRkIG1vZGlmaWVyIDxjb2RlPl92ZXJ0aWNhbF88L2NvZGU+LlxcbjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51IF92ZXJ0aWNhbF9cXFwiPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDE8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMzwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dWwgY2xhc3M9XFxcIi1tZW51IF92ZXJ0aWNhbF9cXFwiPlxcblxcdDxsaT48YT5NZW51IDE8L2E+PC9saT5cXG5cXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0PGxpPjxhPk1lbnUgMzwvYT48L2xpPlxcbjwvdWw+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuPGgzPkFkZG9uPC9oMz5cXG48cD5cXG5cXHRVc2UgY2xhc3MgPGNvZGU+LWFkZG9uPC9jb2RlPiB0byBhZGQgYW4gYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIG1lbnUgdG8gdGhlIHJpZ2h0LlxcbjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51IC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMSA8aSBjbGFzcz1cXFwiLWFkZG9uIGZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+TWVudSAyIDxpIGNsYXNzPVxcXCItYWRkb25cXFwiPuKMmE08L2k+PC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPjxhPk1lbnUgMyA8aSBjbGFzcz1cXFwiLWFkZG9uIGZhIGZhLXN0YXJcXFwiPjwvaT48L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItbWVudSAtcHJpbWFyeS1cXFwiPlxcblxcdDxsaT48YT5NZW51IDEgPGkgY2xhc3M9XFxcIi1hZGRvbiBmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPjwvbGk+XFxuXFx0PGxpPjxhPk1lbnUgMiA8aSBjbGFzcz1cXFwiLWFkZG9uXFxcIj7ijJhNPC9pPjwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiLXdhcm5pbmctXFxcIj48YT5NZW51IDMgPGkgY2xhc3M9XFxcIi1hZGRvbiBmYSBmYS1zdGFyXFxcIj48L2k+PC9hPjwvbGk+XFxuPC91bD48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG48aDM+QWRkIHN1Ym1lbnVzPC9oMz5cXG5cXG48cD5cXG5cXHRUbyBhZGQgc3VibWVudSBqdXN0IGFkZCB3aWRnZXQgPGNvZGU+LWRyb3A8L2NvZGU+IHdpdGggPGNvZGU+LW1lbnU8L2NvZGU+IGluc2lkZS5cXG48L3A+XFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0VG8gY2hhbmdlIGRyb3Bkb3duIHBvc2l0aW9uIHVzZSBwb3NpdGlvbiBtb2RpZmllcnMgPGNvZGU+X3RvcF88L2NvZGU+LCA8Y29kZT5fYm90dG9tXzwvY29kZT4sIDxjb2RlPl9sZWZ0XzwvY29kZT4sIDxjb2RlPl9yaWdodF88L2NvZGU+LiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBsb29rIDxhIGhyZWY9XFxcIiNkcm9wZG93bnNcXFwiPmRyb3Bkb3duIHNlY3Rpb248L2E+LlxcbjwvYmxvY2txdW90ZT5cXG5cXG48cD5Ecm9wZG93biB3aWxsIGJlIHZpc2libGUgb25seSBpZiBwYXJlbnQgaXRlbSBpcyA8Y29kZT5fYWN0aXZlXzwvY29kZT4uIElmIHlvdSB3YW50IHRvIG1ha2UgaXQgdmlzaWJsZSBvbiA8Y29kZT46aG92ZXI8L2NvZGU+LCBhZGQgbW9kaWZpZXIgPGNvZGU+X2hvdmVyZWRfPC9jb2RlPiB0byB0aGUgcm9vdCA8Y29kZT4tbWVudTwvY29kZT4uPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+Tm8gaG92ZXJlZDwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0PGE+TWVudSAzIDxpIGNsYXNzPVxcXCItYWRkb24gZmEgZmEtY2FyZXQtZG93blxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZHJvcFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudSBfdmVydGljYWxfXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSB3aXRoIGxvbmcgbmFtZSA8aSBjbGFzcz1cXFwiLWFkZG9uXFxcIj7ijJhNPC9pPjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YT5NZW51IDIgPGkgY2xhc3M9XFxcIi1hZGRvbiBmYSBmYS1jYXJldC1yaWdodFxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZHJvcCBfcmlnaHRfXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51IF92ZXJ0aWNhbF9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhPk1lbnUgMzwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAzPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgLXByaW1hcnktIF9ob3ZlcmVkX1xcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPldpdGggaG92ZXJlZDwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0PGE+TWVudSAzIDxpIGNsYXNzPVxcXCItYWRkb24gZmEgZmEtY2FyZXQtZG93blxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZHJvcCAtZmFkZWluLS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgd2l0aCBsb25nIG5hbWUgPGkgY2xhc3M9XFxcIi1hZGRvblxcXCI+4oyYTTwvaT48L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGE+TWVudSAyIDxpIGNsYXNzPVxcXCItYWRkb24gZmEgZmEtY2FyZXQtcmlnaHRcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgX3JpZ2h0X1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudSBfdmVydGljYWxfXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YT5NZW51IDM8L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMzwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItbWVudSAtcHJpbWFyeS1cXFwiPlxcblxcdDxsaT48YT5ObyBob3ZlcmVkPC9hPjwvbGk+XFxuXFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdDxsaT5cXG5cXHRcXHQ8YT5NZW51IDMgPGkgY2xhc3M9XFxcIi1hZGRvbiBmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wXFxcIj5cXG5cXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51IF92ZXJ0aWNhbF9cXFwiPlxcblxcdFxcdFxcdFxcdDxsaT48YT5NZW51IHdpdGggbG9uZyBuYW1lIDxpIGNsYXNzPVxcXCItYWRkb25cXFwiPuKMmE08L2k+PC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPlxcblxcdFxcdFxcdFxcdFxcdDxhPk1lbnUgMiA8aSBjbGFzcz1cXFwiLWFkZG9uIGZhIGZhLWNhcmV0LXJpZ2h0XFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIF9yaWdodF9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGE+TWVudSAzPC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8L3VsPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvbGk+XFxuPC91bD5cXG5cXG48dWwgY2xhc3M9XFxcIi1tZW51IC1wcmltYXJ5LSBfaG92ZXJlZF9cXFwiPlxcblxcdDxsaT48YT5XaXRoIGhvdmVyZWQ8L2E+PC9saT5cXG5cXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0PGxpPlxcblxcdFxcdDxhPk1lbnUgMyA8aSBjbGFzcz1cXFwiLWFkZG9uIGZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3BcXFwiPlxcblxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgd2l0aCBsb25nIG5hbWUgPGkgY2xhc3M9XFxcIi1hZGRvblxcXCI+4oyYTTwvaT48L2E+PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0XFx0PGE+TWVudSAyIDxpIGNsYXNzPVxcXCItYWRkb24gZmEgZmEtY2FyZXQtcmlnaHRcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgX3JpZ2h0X1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudSBfdmVydGljYWxfXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YT5NZW51IDM8L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMzwvYT48L2xpPlxcblxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9saT5cXG48L3VsPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwibGlzdC1ncm91cFwiOlwiPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gTkFWQkFSID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDI+TGlzdCBncm91cDwvaDI+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JG5hdi1saXN0LWdyb3VwLWNsYXNzOiBcXFwiLWxpc3QtZ3JvdXBcXFwiICFnbG9iYWxcXG4kbmF2LWxpc3QtZ3JvdXAtaXRlbXMtcGFkZGluZy12ZXJ0aWNhbDogJGJhc2UtcGFkZGluZy12ZXJ0aWNhbCAvIDIgIWdsb2JhbFxcbiRuYXYtbGlzdC1ncm91cC1pdGVtcy1wYWRkaW5nLWhvcml6b250YWw6ICRiYXNlLXBhZGRpbmctaG9yaXpvbnRhbCAhZ2xvYmFsXFxuJG5hdi1saXN0LWdyb3VwLWl0ZW1zLWJvcmRlci13aWR0aDogMXB4ICFnbG9iYWxcXG4kbmF2LWxpc3QtZ3JvdXAtaXRlbXMtYWN0aXZlLWJvcmRlci13aWR0aDogMnB4ICFnbG9iYWxcXG4kbmF2LWxpc3QtZ3JvdXAtaXRlbXMtbWFyZ2luOiAxcHggIWdsb2JhbDwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG5cXG48IS0tID09PT09PT09PT09PSBERVNDUklQVElPTiAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPGgzPkJhc2ljIHVzZTwvaDM+XFxuPHA+XFxuXFx0VXNlIGNsYXNzIDxjb2RlPi1saXN0LWdyb3VwPC9jb2RlPi5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItbGlzdC1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+TWVudSAzPC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1saXN0LWdyb3VwIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0PGE+TWVudSAzPC9hPlxcblxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLWxpc3QtZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAzPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHQ8L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dWwgY2xhc3M9XFxcIi1saXN0LWdyb3VwXFxcIj5cXG5cXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdDxsaT48YT5NZW51IDM8L2E+PC9saT5cXG48L3VsPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwiY29tbW9uXCI6XCI8aDE+TmF2PC9oMT5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj4kbmF2LWl0ZW06IGxpICFnbG9iYWw8L3ByZT48L2Rpdj48L3A+XFxuXFxuXFxuXFxuXFxuXFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+XFxuXFx0VXNlIG1vZGlmaWVyIDxjb2RlPl9yZXNwb25zaXZlXzwvY29kZT4gdG8gbWFrZSBhbGwgbmF2cyByZXNwb25zaXZlLjxicj5cXG5cXHRJdCBtZWFucyB3aGVuIHNjcmVlbiByZXNvbHV0aW9uIGJlY29tZSBsZXNzIHRoZW4gPGI+OTkycHg8L2I+LCB0aGVuIGFsbCBuYXZzIGJlY29tZSBqdXN0aWZ5ZWQuXFxuPC9ibG9ja3F1b3RlPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLXRhYnMgX2p1c3RpZnlfXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+SnVzdGlmaWVkPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+UmVzcG9uc2l2ZTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5QaWxsIDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+UGlsbCA0PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bCBjbGFzcz1cXFwiLXRhYnMgX2p1c3RpZnlfXFxcIj5cXG5cXHQ8bGk+PGE+SnVzdGlmaWVkPC9hPjwvbGk+XFxuXFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHQ8bGk+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG48L3VsPlxcbjx1bCBjbGFzcz1cXFwiLXRhYnMgLXByaW1hcnktIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PGxpPjxhPlJlc3BvbnNpdmU8L2E+PC9saT5cXG5cXHQ8bGk+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMzwvYT48L2xpPlxcblxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcbjwvdWw+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XCIsXCJidWxsZXRzXCI6XCI8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBOQVZCQVIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMj5CdWxsZXRzPC9oMj5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kbmF2LWJ1bGxldHMtY2xhc3M6IFxcXCItYnVsbGV0c1xcXCIgIWdsb2JhbFxcbiRuYXYtYnVsbGV0cy1pdGVtOiBcXFwibGlcXFwiICFnbG9iYWxcXG4kbmF2LWJ1bGxldHMtaXRlbS1zaXplOiAxMHB4ICFnbG9iYWw8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuXFxuPCEtLSA9PT09PT09PT09PT0gREVTQ1JJUFRJT04gLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxoMz5CYXNpYyB1c2U8L2gzPlxcbjxwPlxcblxcdFVzZSBjbGFzcyA8Y29kZT4tYnVsbGV0czwvY29kZT4gd2l0aCA8Y29kZT4mbHQ7dWwmZ3Q7PC9jb2RlPi4gQW5kIDxjb2RlPiZsdDtzbWFsbCZndDs8L2NvZGU+IGZvciBzaWduLlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1idWxsZXRzXFxcIj5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCIgPjxzbWFsbD5OYW1lIDE8L3NtYWxsPjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCI+PHNtYWxsPk5hbWUgMjwvc21hbGw+PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItYnVsbGV0cyAtcHJpbWFyeS0gX2ludmVydF8gX2h1Z2VcXFwiPlxcblxcdFxcdFxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCIgPjxzbWFsbD5OYW1lIDE8L3NtYWxsPjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCI+PHNtYWxsPk5hbWUgMjwvc21hbGw+PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItYnVsbGV0cyAtZXJyb3ItIF9pbnZlcnRfXFxcIj5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCIgPjxzbWFsbD5OYW1lIDE8L3NtYWxsPjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCI+PHNtYWxsPk5hbWUgMjwvc21hbGw+PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bCBjbGFzcz1cXFwiLWJ1bGxldHNcXFwiPlxcblxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCI+PHNtYWxsPk5hbWUgMTwvc21hbGw+PC9hPjwvbGk+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIj48c21hbGw+TmFtZSAyPC9zbWFsbD48L2E+PC9saT5cXG48L3VsPlxcblxcbjx1bCBjbGFzcz1cXFwiLWJ1bGxldHMgLXByaW1hcnktIF9pbnZlcnRfIF9odWdlXFxcIj5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiID48c21hbGw+TmFtZSAxPC9zbWFsbD48L2E+PC9saT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiPjxzbWFsbD5OYW1lIDI8L3NtYWxsPjwvYT48L2xpPlxcbjwvdWw+XFxuXFxuPHVsIGNsYXNzPVxcXCItYnVsbGV0cyAtZXJyb3ItIF9pbnZlcnRfXFxcIj5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCIgPjxzbWFsbD5OYW1lIDE8L3NtYWxsPjwvYT48L2xpPlxcblxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCI+PHNtYWxsPk5hbWUgMjwvc21hbGw+PC9hPjwvbGk+XFxuPC91bD48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48cD5cXG5cXHRJZiB5b3Ugd2FudCB0byBwdXQgeW91ciBidWxsZXRzIGluc2lkZSBzb21lIDxjb2RlPnBvc2l0aW9uOiByZWxhdGl2ZTwvY29kZT4gY29udGFpbmVyLCB1c2UgbW9kaWZpZXIgPGNvZGU+X2ZpeGVkXzwvY29kZT4gYW5kIHBvc2l0aW9uIG1vZGlmaWVycyA8Y29kZT5fbGVmdF88L2NvZGU+LCA8Y29kZT5fY2VudGVyXzwvY29kZT4sIDxjb2RlPl9yaWdodF88L2NvZGU+IGFuZCA8Y29kZT5fdG9wXzwvY29kZT4sIDxjb2RlPl9taWRkbGVfPC9jb2RlPiwgPGNvZGU+X2JvdHRvbV88L2NvZGU+LlxcbjwvcD5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXdhcm5pbmctXFxcIj5cXG5cXHRJZiB5b3Ugd2FudCB0byBtYWtlIHlvdXIgYnVsbGV0cyA8Y29kZT5wb3NpdGlvbjogZml4ZWQ8L2NvZGU+IChmb3IgZXhhbXBsZSBsaWtlIGEgPGEgaHJlZj1cXFwiL2V4YW1wbGVzL2Jsb2dcXFwiPmdsb2JhbCBuYXZpZ2F0aW9uIHdpdGggcGFyYWxsYXg8L2E+KSwgeW91J2xsIG5lZWQgdG8gYWRkIHRoaXMgc3R5bGUgYnkgeW91ciBvd24gb3IgYWRkIDxjb2RlPnN0eWxlPVxcXCJwb3NpdGlvbjogZml4ZWQ7XFxcIjwvY29kZT4gdG8gYnVsbGV0cy5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCIgc3R5bGU9XFxcImhlaWdodDogMzAwcHg7XFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1idWxsZXRzIF92ZXJ0aWNhbF8gX2ZpeGVkXyBfbGVmdF8gX21pZGRsZV9cXFwiPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIiA+PHNtYWxsPk5hbWUgMTwvc21hbGw+PC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIj48c21hbGw+TmFtZSAyPC9zbWFsbD48L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLWJ1bGxldHMgX3ZlcnRpY2FsXyBfZml4ZWRfIF9yaWdodF8gX21pZGRsZV9cXFwiPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIiA+PHNtYWxsPk5hbWUgMTwvc21hbGw+PC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIj48c21hbGw+TmFtZSAyPC9zbWFsbD48L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLWJ1bGxldHMgX2ZpeGVkXyBfY2VudGVyXyBfdG9wX1xcXCI+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiID48c21hbGw+TmFtZSAxPC9zbWFsbD48L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiPjxzbWFsbD5OYW1lIDI8L3NtYWxsPjwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItYnVsbGV0cyBfZml4ZWRfIF9jZW50ZXJfIF9ib3R0b21fXFxcIj5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCIgPjxzbWFsbD5OYW1lIDE8L3NtYWxsPjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCI+PHNtYWxsPk5hbWUgMjwvc21hbGw+PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bCBjbGFzcz1cXFwiLWJ1bGxldHMgX3ZlcnRpY2FsXyBfZml4ZWRfIF9sZWZ0XyBfbWlkZGxlX1xcXCI+XFxuXFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiID48c21hbGw+TmFtZSAxPC9zbWFsbD48L2E+PC9saT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiPjxzbWFsbD5OYW1lIDI8L3NtYWxsPjwvYT48L2xpPlxcbjwvdWw+XFxuXFxuPHVsIGNsYXNzPVxcXCItYnVsbGV0cyBfdmVydGljYWxfIF9maXhlZF8gX3JpZ2h0XyBfbWlkZGxlX1xcXCI+XFxuXFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiID48c21hbGw+TmFtZSAxPC9zbWFsbD48L2E+PC9saT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiPjxzbWFsbD5OYW1lIDI8L3NtYWxsPjwvYT48L2xpPlxcbjwvdWw+XFxuXFxuPHVsIGNsYXNzPVxcXCItYnVsbGV0cyBfZml4ZWRfIF9jZW50ZXJfIF90b3BfXFxcIj5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCIgPjxzbWFsbD5OYW1lIDE8L3NtYWxsPjwvYT48L2xpPlxcblxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCI+PHNtYWxsPk5hbWUgMjwvc21hbGw+PC9hPjwvbGk+XFxuPC91bD5cXG5cXG48dWwgY2xhc3M9XFxcIi1idWxsZXRzIF9maXhlZF8gX2NlbnRlcl8gX2JvdHRvbV9cXFwiPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIiA+PHNtYWxsPk5hbWUgMTwvc21hbGw+PC9hPjwvbGk+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIj48c21hbGw+TmFtZSAyPC9zbWFsbD48L2E+PC9saT5cXG48L3VsPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlwiLFwiYmFyXCI6XCI8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBOQVZCQVIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMj5OYXZiYXI8L2gyPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRuYXYtYmFyLWNsYXNzOiBcXFwiLW5hdmJhclxcXCIgIWdsb2JhbFxcbiRuYXYtYmFyLWhlaWdodDogNTBweCAhZ2xvYmFsXFxuJG5hdi1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAkYmFzZS1wYWRkaW5nLWhvcml6b250YWwgIWdsb2JhbFxcbiRuYXYtYmFyLWJvcmRlci13aWR0aDogMXB4ICFnbG9iYWxcXG4kbmF2LWJhci1zdHlsZTogc29saWQgIWdsb2JhbFxcbiRuYXYtYmFyLWJvcmRlci1yYWRpdXM6IDNweCAhZ2xvYmFsXFxuXFxuLy8gSXQncyBvbmx5IGZvIF90b3BfIG9yIF9ib3R0b21fIG5hdmJhcnMuIE5lZWQgdG8gYmUgb3ZlciBkcm9wZG93bnMuXFxuJG5hdi1iYXItei1pbmRleDogJGRyb3Bkb3duLXotaW5kZXggKyAxXFxuXFxuJG5hdi1iYXItdG9nZ2xlLWNsYXNzOiAjeyRuYXYtYmFyLWNsYXNzfS10b2dnbGU8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuXFxuPCEtLSA9PT09PT09PT09PT0gREVTQ1JJUFRJT04gLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxoMz5CYXNpYyB1c2U8L2gzPlxcbjxwPlxcblxcdFVzZSBuYXZiYXIgY2xhc3MgPGNvZGU+LW5hdmJhcjwvY29kZT4uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1uYXZiYXJcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkA8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1uYXZiYXJcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aC1sYXJnZVxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGgtbGlzdFxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZm9udFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWJvbGRcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1pdGFsaWNcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWxlZnRcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1jZW50ZXJcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1yaWdodFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWp1c3RpZnlcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItbmF2YmFyXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudVxcXCI+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8L3VsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PC91bD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5APC9zcGFuPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItbmF2YmFyXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGgtbGFyZ2VcXFwiPjwvaT48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aFxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoLWxpc3RcXFwiPjwvaT48L2E+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWZvbnRcXFwiPjwvaT48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gX2FjdGl2ZV9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1ib2xkXFxcIj48L2k+PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtaXRhbGljXFxcIj48L2k+PC9hPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1sZWZ0XFxcIj48L2k+PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tY2VudGVyXFxcIj48L2k+PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tcmlnaHRcXFwiPjwvaT48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gX2FjdGl2ZV9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1qdXN0aWZ5XFxcIj48L2k+PC9hPlxcblxcdDwvZGl2PlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcblxcblxcbjxoMz5HcmlkIGFuZCBuYXZiYXI8L2gzPlxcblxcbjxwPlxcblxcdEFkZCB0aGUgPGEgaHJlZj1cXFwiL21haW4jZ3JpZFxcXCI+Z3JpZDwvYT4gaW5zaWRlIHRoZSA8Y29kZT4tbmF2YmFyPC9jb2RlPiB0byBhbGxpZ24gZWxlbWVudHMuIEFkZCA8Y29kZT4taGVhZGVyPC9jb2RlPiB0byB0aGUgPGNvZGU+LW5hdmJhcjwvY29kZT4uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1uYXZiYXJcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5IZWFkZXI8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1uYXZiYXIgLXByaW1hcnktXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudVxcXCI+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8L3VsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PC91bD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG48aDM+Q2hhbmdlIHRoZW1lczwvaDM+XFxuXFxuPHA+XFxuXFx0SWYgeW91IGFwcGx5IGEgdGhlbWUgdG8gdGhlIDxjb2RlPi1uYXZiYXI8L2NvZGU+LCB0aGVtZSBvZiBldmVyeSBlbGVtZW50IGluc2lkZSB3aWxsIGNoYW5nZS5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLW5hdmJhciAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkA8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLW5hdmJhciAtcHJpbWFyeS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8L3VsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkA8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxoMz5DaGFuZ2Ugc2l6ZTwvaDM+XFxuXFxuPHA+XFxuXFx0QXBwbHkgc2l6ZSB0byB0aGUgPGNvZGU+LW5hdmJhcjwvY29kZT4gdG8gY2hhbmdlIHNpemVzIG9mIHRoZSBlbGVtZW50cyBpbnNpZGUuXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1uYXZiYXIgX21pbm9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItbmF2YmFyIF9ub3JtYWxcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDVcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1uYXZiYXIgX21ham9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItbmF2YmFyIF9iaWdcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDVcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLW5hdmJhciBfbWlub3JcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1XFxcIj5cXG5cXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDVcXFwiPlxcblxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8L3VsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1uYXZiYXIgX25vcm1hbFxcXCI+XFxuXFx0Li4uXFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLW5hdmJhciBfbWFqb3JcXFwiPlxcblxcdC4uLlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1uYXZiYXIgX2JpZ1xcXCI+XFxuXFx0Li4uXFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgzPkZpeGVkIG5hdmJhcjwvaDM+XFxuPHA+XFxuXFx0VXNlIG1vZGlmaWVycyA8Y29kZT5fdG9wXzwvY29kZT4gYW5kIDxjb2RlPl9ib3R0b21fPC9jb2RlPiB0byBzdGljayBuYXZiYXIgdG8gdG9wIG9yIGJvdHRvbS5cXG48L3A+XFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+XFxuXFx0RG8gbm90IGZvcmdldCB0byBzZXQgcGFkZGluZyB0byB0aGUgbmF2YmFyIGNvbnRhaW5lci4gUGFkZGluZyBzaG91bGQgYmUgZXF1YWwgb3IgbW9yZSB0aGVuIDxjb2RlPi1uYXZiYXI8L2NvZGU+IGhlaWdodC5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLW5hdmJhciBfdG9wX1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoLWxhcmdlXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGhcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aC1saXN0XFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mb250XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYm9sZFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWl0YWxpY1xcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tbGVmdFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWNlbnRlclxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLXJpZ2h0XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tanVzdGlmeVxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1uYXZiYXIgX3RvcF9cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aC1sYXJnZVxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoXFxcIj48L2k+PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGgtbGlzdFxcXCI+PC9pPjwvYT5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZm9udFxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWJvbGRcXFwiPjwvaT48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1pdGFsaWNcXFwiPjwvaT48L2E+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWxlZnRcXFwiPjwvaT48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1jZW50ZXJcXFwiPjwvaT48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1yaWdodFxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWp1c3RpZnlcXFwiPjwvaT48L2E+XFxuXFx0PC9kaXY+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgzPlJlc3BvbnNpdmUgbmF2YmFyPC9oMz5cXG48cD5cXG5cXHRGaXJzdCBvZiBhbGwgcmVhZCBhYm91dCA8YSBocmVmPVxcXCIvbWFpbiNyZXNwb25zaXZlXFxcIj5yZXNwb25zaXZlIHV0aWxpdGllczwvYT4uIEFmdGVyIHlvdSB1bmRlcnN0YW5kIHJlc3BvbnNpdmVuZXNzLCBpdCB3aWxsIGJlIGVhc2llciB0byB1bmRlcnN0YW5kIGhvdyB0byBjcmVhdGUgcmVzcG9uc2l2ZSBuYXZiYXIuXFxuPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPlxcblxcdFRoZXJlIGlzIG5vIG1hZ2ljLCBidXQgaXQncyB2ZXJ5IHNpbXBsZSEgVHJ1c3QgbWUhIExvb2sgYXQgdGhlIGNvbW1lbnRzIGluIHRoZSBjb2RlLiBXaXRoIHRob3NlIGNsYXNzZXMgeW91IGNhbiBoaWRlIG1lbnUgZXZlbiBmb3Igbm90IGxhcmdlIGRlc2t0b3BzIG9yIGp1c3QgZm9yIHBob25lcy4gSXQncyB2ZXJ5IGZsZXhpYmxlIHRlY2huaXF1ZS5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLW5hdmJhciAtcm93XFxcIj5cXG5cXHRcXHRcXHQ8IS0tIEhlYWRlciBpcyBhbHdheXMgdmlzaWJsZS4gRG9udCBzZXQgYW55IHZpc2libGUvaGlkZGVuIG1vZGlmaWVycy4gLS0+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPkhlYWRlciBoZXJlPC9kaXY+XFxuXFxuXFx0XFx0XFx0XFx0PCEtLSAtbmF2YmFyLXRvZ2dsZSBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkIGVsZW1lbnQuIEFkZCBpdCB0byB0aGUgY29sdW1uIHdpdGggaGVhZGVyLiBXZSB3YW50IHRvIHNob3cgaXQgb25seSBvbiBwaG9uZXMgYW5kIHRhYmxldHMgLS0+XFxuXFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1uYXZiYXItdG9nZ2xlIF9oaWRkZW4tZGVza3RvcHNfIF9oaWRkZW4tbGFyZ2UtZGVza3RvcHNfIC1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aC1saXN0XFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdDwhLS0gV2UgZG9uJ3Qgd2FudCB0byBzZWUgaXQgb24gdGFibGVzIGFuZCBwaG9uZXMgLS0+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDkgX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aC1sYXJnZVxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGgtbGlzdFxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZm9udFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWJvbGRcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1pdGFsaWNcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItbmF2YmFyIC1yb3dcXFwiPlxcblxcblxcdDwhLS0gSGVhZGVyIGlzIGFsd2F5cyB2aXNpYmxlLiBEb250IHNldCBhbnkgdmlzaWJsZS9oaWRkZW4gbW9kaWZpZXJzLiAtLT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+SGVhZGVyIGhlcmU8L2Rpdj5cXG5cXG5cXHRcXHQ8IS0tIC1uYXZiYXItdG9nZ2xlIGlzIGFic29sdXRlIHBvc2l0aW9uZWQgZWxlbWVudC4gQWRkIGl0IHRvIHRoZSBjb2x1bW4gd2l0aCBoZWFkZXIuIFdlIHdhbnQgdG8gc2hvdyBpdCBvbmx5IG9uIHBob25lcyBhbmQgdGFibGV0cy4gRG9uJ3QgZm9yZ2V0IHRvIGFkZCBqYXZhc2NyaXB0IGNvZGUgdG8gc2hvdyBtZW51IG9uIGNsaWNrLiAtLT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLW5hdmJhci10b2dnbGUgX2hpZGRlbi1kZXNrdG9wc18gX2hpZGRlbi1sYXJnZS1kZXNrdG9wc18gLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoLWxpc3RcXFwiPjwvaT48L2E+XFxuXFxuXFx0PC9kaXY+XFxuXFxuXFx0PCEtLSBXZSBkb24ndCB3YW50IHRvIHNlZSB0aGlzIG1lbnUgb24gdGFibGVzIGFuZCBwaG9uZXMuLS0+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDkgX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aC1sYXJnZVxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGgtbGlzdFxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZm9udFxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWJvbGRcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1pdGFsaWNcXFwiPjwvaT48L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFxuXFx0PC9kaXY+XFxuXFxuPC9kaXY+PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwifSxcImdyb3Vwc1wiOntcImlucHV0c1wiOlwiPCEtLSA9PT09PT09PT09PT0gQlVUVE9OUyBCTE9DSyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgzPklucHV0cyBpbnNpZGUgZ3JvdXA8L2gzPlxcblxcbjxwPlxcblxcdDxwPkFkZCA8Y29kZT4mbHQ7aW5wdXQgdHlwZT1cXFwidGV4dFxcXCImZ3Q7PC9jb2RlPiBvciA8Y29kZT4tZmllbGQ8L2NvZGU+cyBpbnNpZGUgZ3JvdXAuPC9wPlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PjxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2Pjxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxzZWxlY3Q+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMTwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDI8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHQ8L3NlbGVjdD5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgLXByaW1hcnktXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cCAtcHJpbWFyeS1cXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+XFxuXFx0XFx0PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+XFxuXFx0XFx0PHNlbGVjdD5cXG5cXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdDwvc2VsZWN0PlxcblxcdDwvZm9ybT5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48cD5Vc2Ugc2l6ZSBjbGFzc2VzIFVzZSBzaXplIGNsYXNzZXMgPGNvZGU+X3Rpbnk8L2NvZGU+LCA8Y29kZT5fc21hbGw8L2NvZGU+LCA8Y29kZT5fbWlub3I8L2NvZGU+LCA8Y29kZT5fbm9ybWFsPC9jb2RlPiwgPGNvZGU+X21ham9yPC9jb2RlPiwgPGNvZGU+X25vcm1hbDwvY29kZT4sIDxjb2RlPl9iaWc8L2NvZGU+LCA8Y29kZT5faHVnZTwvY29kZT4sIDxjb2RlPl9kaXZpbmU8L2NvZGU+IHdpdGggPGNvZGU+Jmx0Oy1ncm91cCZndDs8L2NvZGU+IHRvIHNldCBzaXplLjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX2RpdmluZSAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHQ8L2Rpdj48YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9odWdlIC1wcmltYXJ5LSBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2Pjxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX2JpZyAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHQ8L2Rpdj48YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9tYWpvciAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHQ8L2Rpdj48YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9ub3JtYWwgLXByaW1hcnktIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0XFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX2RpdmluZSAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj48YnI+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9odWdlIC1wcmltYXJ5LSBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2Pjxicj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX2JpZyAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj48YnI+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9tYWpvciAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj48YnI+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9ub3JtYWwgLXByaW1hcnktIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PGZvcm0+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHQ8L2Zvcm0+XFxuPC9kaXY+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuPHA+XFxuXFx0TWFrZSBhIGdyb3VwIHN0cmV0Y2ggYXQgdGhlIHNhbWUgc2l6ZSB0byBzcGFuIHRoZSBlbnRpcmUgd2lkdGggb2YgaXRzIHBhcmVudC4gVXNlIG1vZGlmaWVyIDxjb2RlPl9qdXN0aWZ5XzwvY29kZT4uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfZGl2aW5lIC1wcmltYXJ5LSBfanVzdGlmeV9cXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2Pjxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX2h1Z2UgLXByaW1hcnktIF9qdXN0aWZ5X1xcXCI+XFxuXFx0XFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxzZWxlY3Q+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMTwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDI8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHQ8L3NlbGVjdD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0PC9kaXY+PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfYmlnIC1wcmltYXJ5LSBfanVzdGlmeV9cXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2Pjxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX21ham9yIC1wcmltYXJ5LSBfanVzdGlmeV9cXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2Pjxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX25vcm1hbCAtcHJpbWFyeS0gX2p1c3RpZnlfXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PHNlbGVjdD5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1ncm91cCBfZGl2aW5lIC1wcmltYXJ5LSBfanVzdGlmeV9cXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cCBfaHVnZSAtcHJpbWFyeS0gX2p1c3RpZnlfXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+XFxuXFx0XFx0XFx0PHNlbGVjdD5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX2JpZyAtcHJpbWFyeS0gX2p1c3RpZnlfXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+XFxuXFx0XFx0XFx0PHNlbGVjdD5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX21ham9yIC1wcmltYXJ5LSBfanVzdGlmeV9cXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cCBfbm9ybWFsIC1wcmltYXJ5LSBfanVzdGlmeV9cXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcblxcbjxwPlxcblxcdDxwPk9yIGFkZCB0aGVtZSB0byB0aGUgaW5uZXIgZWxlbWVudC48L3A+XFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkIC1lcnJvci1cXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZCAtZXJyb3ItXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PjwvZGl2PlxcblxcbjwvZGl2PlwiLFwiY29tbW9uXCI6XCI8IS0tID09PT09PT09PT09PSBHUk9VUFMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMT5Hcm91cHM8L2gxPlxcblxcbjxwPkdyb3VwIGEgc2VyaWVzIG9mIGJ1dHRvbnMgdG9nZXRoZXIgb24gYSBzaW5nbGUgbGluZSB3aXRoIHRoZSBidXR0b24gZ3JvdXAuIFVzZSBjbGFzcyA8Y29kZT4tZ3JvdXA8L2NvZGU+IHRvIGNyZWF0ZSBpdC48L3A+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVmFyaWFibGVzIC0tPlxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kZ3JvdXAtY2xhc3M6IFxcXCItZ3JvdXBcXFwiICFnbG9iYWxcXG5cXG4kZ3JvdXAtYWRkb24tY2xhc3M6ICRhZGRvbi1jbGFzcyAhZ2xvYmFsPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPlxcblxcdFVzZSBtb2RpZmllciA8Y29kZT5fcmVzcG9uc2l2ZV88L2NvZGU+IHRvIG1ha2UgZ3JvdXBzIHJlc3BvbnNpdmUuPGJyPlxcblxcdEl0IG1lYW5zIHdoZW4gc2NyZWVuIHJlc29sdXRpb24gYmVjb21lIGxlc3MgdGhlbiA8Yj45OTJweDwvYj4sIHRoZW4gYWxsIGdyb3VwcyBiZWNvbWUganVzdGlmeWVkLlxcbjwvYmxvY2txdW90ZT5cXG5cXG48aDM+UmVzcG9uc2l2ZTwvaDM+XFxuXFxuPHA+SnVzdCBtYWtlIHNjcmVlbiByZXNvbHV0aW9uIGxlc3MgdGhhbiA8Yj45OTJweDwvYj4uPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+bm90IHJlc3BvbnNpdmU8L3NwYW4+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1sZWZ0XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tY2VudGVyXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tcmlnaHRcXFwiPjwvaT48L2E+XFxuXFx0XFx0PC9kaXY+PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPml0IGlzIHJlc3BvbnNpdmU8L3NwYW4+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1sZWZ0XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tY2VudGVyXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tcmlnaHRcXFwiPjwvaT48L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPm5vdCByZXNwb25zaXZlPC9zcGFuPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tbGVmdFxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWNlbnRlclxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLXJpZ2h0XFxcIj48L2k+PC9hPlxcbjwvZGl2Pjxicj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5yZXNwb25zaXZlPC9zcGFuPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tbGVmdFxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWNlbnRlclxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLXJpZ2h0XFxcIj48L2k+PC9hPlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwiYnV0dG9uc1wiOlwiPCEtLSA9PT09PT09PT09PT0gQlVUVE9OUyBCTE9DSyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgzPkJ1dHRvbnMgaW5zaWRlIGdyb3VwPC9oMz5cXG5cXG48cD5cXG5cXHRBZGQgPGNvZGU+LWJ0bjwvY29kZT4gYnV0dG9ucyBpbnNpZGUgZ3JvdXAuXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1sZWZ0XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tY2VudGVyXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tcmlnaHRcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1qdXN0aWZ5XFxcIj48L2k+PC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mb250XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYm9sZFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWl0YWxpY1xcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRodW1icy11cFxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC13YXJuaW5nLVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXN0YXJcXFwiPjwvaT48L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tbGVmdFxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWNlbnRlclxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLXJpZ2h0XFxcIj48L2k+PC9hPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tanVzdGlmeVxcXCI+PC9pPjwvYT5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZm9udFxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWJvbGRcXFwiPjwvaT48L2E+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1pdGFsaWNcXFwiPjwvaT48L2E+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aHVtYnMtdXBcXFwiPjwvaT48L2E+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0biAtd2FybmluZy1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1zdGFyXFxcIj48L2k+PC9hPlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxwPlxcblxcdE1ha2UgYSBncm91cCBvZiBidXR0b25zIHN0cmV0Y2ggYXQgdGhlIHNhbWUgc2l6ZSB0byBzcGFuIHRoZSBlbnRpcmUgd2lkdGggb2YgaXRzIHBhcmVudC4gVXNlIG1vZGlmaWVyIDxjb2RlPl9qdXN0aWZ5XzwvY29kZT4uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfanVzdGlmeV9cXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGEgY2xhc3M9XFxcIi1idG4gX2FjdGl2ZV9cXFwiPkJ1dHRvbjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9qdXN0aWZ5X1xcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+QnV0dG9uPC9hPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxhIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj5CdXR0b248L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+QnV0dG9uPC9hPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+QnV0dG9uPC9hPlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxwPlxcblxcdENyZWF0ZSBkcm9wZG93bnMgKEkgZG9uJ3QgdXNlIGEgSlMgaW4gdGhpcyBleGFtcGxlLCB0aGlzIGlzIGp1c3QgYSB2aWV3KS5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+RHJvcGRvd24gPGkgY2xhc3M9XFxcImZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+RHJvcGRvd248L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdDwvZGl2Pjxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5MaWtlPC9hPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRodW1icy1vLXVwXFxcIj48L2k+PC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPllvdSBsaWtlZCBpdDwvYT48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX2FjdGl2ZV9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aHVtYnMtby11cFxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8L2Rpdj48YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+U3RhcjwvYT48YSBjbGFzcz1cXFwiLWJ0biAtd2FybmluZy1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1zdGFyXFxcIj48L2k+PC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPllvdSBsaWtlZCBpdDwvYT48YSBjbGFzcz1cXFwiLWJ0biAtd2FybmluZy0gX2FjdGl2ZV9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1zdGFyXFxcIj48L2k+PC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+RHJvcGRvd24gPGkgY2xhc3M9XFxcImZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+RHJvcGRvd248L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPlxcbjwvZGl2Pjxicj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5MaWtlPC9hPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRodW1icy1vLXVwXFxcIj48L2k+PC9hPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPllvdSBsaWtlZCBpdDwvYT48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX2FjdGl2ZV9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aHVtYnMtby11cFxcXCI+PC9pPjwvYT5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cIixcImFkZG9uc1wiOlwiPCEtLSA9PT09PT09PT09PT0gQURET05TIEJMT0NLIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDM+QWRkb25zIGluc2lkZSBncm91cDwvaDM+XFxuXFxuPHA+XFxuXFx0PHA+QWRkPGNvZGU+LWFkZG9uPC9jb2RlPiBpbnNpZGUgZ3JvdXAuPC9wPlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPmUtbWFpbDwvc3Bhbj48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPmUtbWFpbDwvc3Bhbj48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCAtZXJyb3ItXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5lLW1haWw8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgLXdhcm5pbmctXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5lLW1haWw8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkFkZG9uPC9zcGFuPjxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkFkZG9uPC9zcGFuPjxhIGNsYXNzPVxcXCItYnRuIC13YXJuaW5nLVxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0PGZvcm0+XFxuXFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+ZS1tYWlsPC9zcGFuPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgLXByaW1hcnktXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5lLW1haWw8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cCAtZXJyb3ItXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5lLW1haWw8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cCAtd2FybmluZy1cXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPmUtbWFpbDwvc3Bhbj48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHQ8L2Zvcm0+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5BZGRvbjwvc3Bhbj48YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdDwvZm9ybT5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkFkZG9uPC9zcGFuPjxhIGNsYXNzPVxcXCItYnRuIC13YXJuaW5nLVxcXCI+QnV0dG9uPC9hPlxcblxcdDwvZm9ybT5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG48aDM+Q29tYmluZSE8L2gzPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+QDwvc3Bhbj48YSBjbGFzcz1cXFwiLWJ0blxcXCI+bWVAbWF4bWVydC5jb208L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0PGZvcm0+XFxuXFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+QDwvc3Bhbj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+bWVAbWF4bWVydC5jb208L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cIn0sXCJjb21tZW50c1wiOntcImNvbW1vblwiOlwiPGgxPkNvbW1lbnRzPC9oMT5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcbjxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG48ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kY29tbWVudHMtY2xhc3M6IFxcXCItY29tbWVudHNcXFwiICFnbG9iYWxcXG4kY29tbWVudHMtaXRlbS1tYXJnaW4tYm90dG9tOiAyNXB4ICFnbG9iYWw8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuPHA+QWRkIDxjb2RlPi1jb21tZW50czwvY29kZT4gdG8gdGhlIGNvbnRhaW5lci4gVXNlIGdsb2JhbCBjbGFzcyA8Y29kZT4taXRlbTwvY29kZT4gaW5zaWRlLiBJbnNpZGUgZWFjaCA8Y29kZT4taXRlbTwvY29kZT4gYWRkIDxjb2RlPi1jb250ZW50PC9jb2RlPiB3aWRnZXQuPC9wPlxcbjxwPkFkZCA8Y29kZT4tYXZhdGFyPC9jb2RlPiBpbnNpZGUgPGNvZGU+LWNvbnRlbnQ8L2NvZGU+IGJsb2Nrcy48L3A+XFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1pbmZvLVxcXCI+SW5zaWRlIDxjb2RlPi1pdGVtPC9jb2RlPnMgeW91IGNhbiBhZGQgYmxvY2tzIHdpdGggbW9kaWZpZXIgPGNvZGU+X2hpZGRlbl88L2NvZGU+LiBUaG9zZSBibG9ja3Mgd2lsbCBhcHBlYXIgb25seSB3aGVuIHVzZXIgaG92ZXIgdGhlIGNvbW1lbnQuPC9ibG9ja3F1b3RlPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcbjx1bCBjbGFzcz1cXFwiLWNvbW1lbnRzXFxcIj5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIi1pdGVtXFxcIj5cXG5cXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciAtY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvc29mZmVzLzEyOC5qcGdcXFwiIGFsdD1cXFwic29mZmVzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2E+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXY+PGEgaHJlZiBjbGFzcz1cXFwiLWF2YXRhclxcXCI+U29mZmVzPC9hPiZuYnNwOyZuYnNwOzxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWVycm9yLSBfaGlkZGVuX1xcXCI+MTI8L3NwYW4+PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0WW91IGtub3cgd2hhdCBlbHNlIGlzIFxcXCJhcmNhbmVcXFwiLCAxNDAgY2hhcmFjdGVycy5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJfaGlkZGVuX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLXVwXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIF9zbWFsbCAtcHJpbWFyeS1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1yZXBseVxcXCI+PC9pPiBSZXBseTwvYT5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXR3aXR0ZXJcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mYWNlYm9va1xcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWdvb2dsZS1wbHVzXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvbGk+XFxuXFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCItaXRlbSAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0XFx0PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL21hcmtnYW16eS8xMjguanBnXFxcIiBhbHQ9XFxcIm1hcmtnYW16eVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2PjxhIGhyZWYgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPk1hcmtnYW16eTwvYT4mbmJzcDsmbmJzcDs8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1wcmltYXJ5LSBfaGlkZGVuX1xcXCI+MTY1PC9zcGFuPjwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdE1heWJlIGl0IGlzIGp1c3QgdGhlaXIgd2F5IHRvIGZvcmNlIHVzZXJzIHRvIHVzZSB0aGUgb3JpZ2luYWwgdHdpdHRlciBjbGllbnQuIEluIGV2ZXJ5IG90aGVyIGNsaWVudCB0aGUgXFxcImZlYXR1cmVcXFwiIGxvb2tzIGNvbmZ1c2luZyBhbmQgc28gd2UgaGF2ZSB0byB1c2UgdGhlIG9yaWdpbmFsIGNsaWVudFxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIl9oaWRkZW5fXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWNoZXZyb24tdXBcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLWRvd25cXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gX3NtYWxsIC1wcmltYXJ5LVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXJlcGx5XFxcIj48L2k+IFJlcGx5PC9hPlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdHdpdHRlclxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWZhY2Vib29rXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZ29vZ2xlLXBsdXNcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9saT5cXG5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIi1pdGVtIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciAtY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvdGVjbGFyby8xMjguanBnXFxcIiBhbHQ9XFxcIlRlY2xhcm9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvYT5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdj48YSBocmVmIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5UZWNsYXJvPC9hPiZuYnNwOyZuYnNwOzxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWRhcmstIF9oaWRkZW5fXFxcIj42Nzwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRJbiBteSBvcGluaW9uIChhbmQgYXMgYSBVSSBhbmQgVVggZGVzaWduZXIpLCB0aGlzIGlzIGEgc3RlcCBpbiB0aGUgcmlnaHQgZGlyZWN0aW9uLiBFdmVuIHdoZW4gdmlld2luZyB0aG9zZSBleGFtcGxlcyBhYm92ZSwgdGhlIGNvbnRleHQgaXNuJ3QgaGluZGVyZWQgd2hlbiBAIGlzbid0IHByZXNlbnQgYW5kIG1ha2VzIHRoZSBjb252ZXJzYXRpb24gbW9yZSBsZWdpYmxlLlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIl9oaWRkZW5fXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWNoZXZyb24tdXBcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLWRvd25cXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gX3NtYWxsIC1wcmltYXJ5LVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXJlcGx5XFxcIj48L2k+IFJlcGx5PC9hPlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdHdpdHRlclxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWZhY2Vib29rXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZ29vZ2xlLXBsdXNcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9saT5cXG5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIi1pdGVtIC1vZmZzZXQyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciAtY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvZWR3ZWxsYnJvb2svMTI4LmpwZ1xcXCIgYWx0PVxcXCJFZHdlbGxicm9va1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2PjxhIGhyZWYgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPkVkd2VsbGJyb29rPC9hPiZuYnNwOyZuYnNwOzxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWRhcmstIF9oaWRkZW5fXFxcIj42Nzwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRTdXJlIHRoZXkgYXJlIHRoaW5raW5nIGFib3V0IHJlbW92aW5nIEByZXBsaWVzIGJ1dCB0aGUgY29uY2VwdCBvZiByZXBseWluZyB3aWxsIHN0aWxsIGV4aXN0LiBJdCdzIGp1c3QgdGhlIGRldGFpbHMgb2Ygd2hvIHlvdSBhcmUgcmVwbHlpbmcgdG8gd2lsbCBiZSBjb250YWluZWQgaW4gbWV0YWRhdGEgYW5kIG5vdCBpbiB0aGUgYm9keSBvZiB0aGUgdHdlZXQuIFRoaXMgaXMgZ29vZCBhcyBpdCB3aWxsIGZyZWUgdXAgbW9yZSBjaGFyYWN0ZXJzIGZvciB0aGUgdHdlZXQuIEhvd2V2ZXIgSSdtIHN1cmUgaXQgd2lsbCBhbHNvIGxlYWQgdG8gcGVvcGxlIGJlaW5nIHVuc3VyZSBvZiB3aGV0aGVyIGEgdHdlZXQgd2lsbCBiZSBkaXJlY3RlZCBhdCBvbmUgcGVyc29uIG9yIHRoZWlyIHdob2xlIHRpbWVsaW5lIGluIHRoZSBzYW1lIHdheSBhcyBwZW9wbGUgb2Z0ZW4gbWlzdGFrZW5seSBwb3N0IGEgRE0gdG8gdGhlaXIgdGltZWxpbmUuXFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiX2hpZGRlbl9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi11cFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWNoZXZyb24tZG93blxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfc21hbGwgLXByaW1hcnktXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtcmVwbHlcXFwiPjwvaT4gUmVwbHk8L2E+XFxuXFxuXFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10d2l0dGVyXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZmFjZWJvb2tcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1nb29nbGUtcGx1c1xcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2xpPlxcblxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiLWl0ZW1cXFwiPlxcblxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2PjxhIGhyZWYgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPktyeXN0YWxmaXN0ZXI8L2E+Jm5ic3A7Jm5ic3A7PHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS0gX2hpZGRlbl9cXFwiPjE2Nzwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRNYXliZSBpdCBpcyBqdXN0IHRoZWlyIHdheSB0byBmb3JjZSB1c2VycyB0byB1c2UgdGhlIG9yaWdpbmFsIHR3aXR0ZXIgY2xpZW50LiBJbiBldmVyeSBvdGhlciBjbGllbnQgdGhlIFxcXCJmZWF0dXJlXFxcIiBsb29rcyBjb25mdXNpbmcgYW5kIHNvIHdlIGhhdmUgdG8gdXNlIHRoZSBvcmlnaW5hbCBjbGllbnRcXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJfaGlkZGVuX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLXVwXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIF9zbWFsbCAtcHJpbWFyeS1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1yZXBseVxcXCI+PC9pPiBSZXBseTwvYT5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXR3aXR0ZXJcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mYWNlYm9va1xcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWdvb2dsZS1wbHVzXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0PC91bD5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bCBjbGFzcz1cXFwiLWNvbW1lbnRzXFxcIj5cXG5cXHQ8bGkgY2xhc3M9XFxcIi1pdGVtXFxcIj5cXG5cXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciAtY29udGVudFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvc29mZmVzLzEyOC5qcGdcXFwiIGFsdD1cXFwic29mZmVzXFxcIj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2E+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdDxkaXY+PGEgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPlNvZmZlczwvYT48c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1lcnJvci0gX2hpZGRlbl9cXFwiPjEyPC9zcGFuPjwvZGl2PlxcblxcdFxcdFxcdENvbW1lbnQgdGV4dCBoZXJlXFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiX2hpZGRlbl9cXFwiPlxcblxcdFxcdFxcdFxcdEJ1dHRvbnMgaGVyZVxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvbGk+XFxuXFxuXFx0PGxpIGNsYXNzPVxcXCItaXRlbSAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL21hcmtnYW16eS8xMjguanBnXFxcIiBhbHQ9XFxcIm1hcmtnYW16eVxcXCI+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2PjxhIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5NYXJrZ2Ftenk8L2E+PHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS0gX2hpZGRlbl9cXFwiPjE2NTwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRDb21tZW50IHRleHQgaGVyZVxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIl9oaWRkZW5fXFxcIj5cXG5cXHRcXHRcXHRcXHRCdXR0b25zIGhlcmVcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2xpPlxcblxcblxcdDxsaSBjbGFzcz1cXFwiLWl0ZW0gLW9mZnNldDFcXFwiPlxcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci90ZWNsYXJvLzEyOC5qcGdcXFwiIGFsdD1cXFwiVGVjbGFyb1xcXCI+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2PjxhIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5UZWNsYXJvPC9hPjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWRhcmstIF9oaWRkZW5fXFxcIj42Nzwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRDb21tZW50IHRleHQgaGVyZVxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIl9oaWRkZW5fXFxcIj5cXG5cXHRcXHRcXHRcXHRCdXR0b25zIGhlcmVcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2xpPlxcblxcblxcdDxsaSBjbGFzcz1cXFwiLWl0ZW0gLW9mZnNldDJcXFwiPlxcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9lZHdlbGxicm9vay8xMjguanBnXFxcIiBhbHQ9XFxcIkVkd2VsbGJyb29rXFxcIj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2E+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdDxkaXY+PGEgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPkVkd2VsbGJyb29rPC9hPjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWRhcmstIF9oaWRkZW5fXFxcIj42Nzwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRDb21tZW50IHRleHQgaGVyZVxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIl9oaWRkZW5fXFxcIj5cXG5cXHRcXHRcXHRcXHRCdXR0b25zIGhlcmVcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2xpPlxcblxcblxcdDxsaSBjbGFzcz1cXFwiLWl0ZW1cXFwiPlxcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2PjxhIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5LcnlzdGFsZmlzdGVyPC9hPjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLXByaW1hcnktIF9oaWRkZW5fXFxcIj4xNjc8L3NwYW4+PC9kaXY+XFxuXFx0XFx0XFx0Q29tbWVudCB0ZXh0IGhlcmVcXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJfaGlkZGVuX1xcXCI+XFxuXFx0XFx0XFx0XFx0QnV0dG9ucyBoZXJlXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9saT5cXG5cXHQ8L3VsPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblwifSxcImJ1dHRvbnNcIjp7XCJ0aGVtZXNcIjpcIjwhLS0gPT09PT09PT09PT09IFRIRU1FUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgzPlRoZW1lczwvaDM+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0blxcXCI+RGVmYXVsdDwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gLXByaW1hcnktXFxcIj5QcmltYXJ5PC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtZXJyb3ItXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtcmVwZWF0XFxcIj48L2k+IEVycm9yPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtaW5mby1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1iZWxsXFxcIj48L2k+IEluZm88L2J1dHRvbj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBfdW5zdHlsZWRfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYmVsbFxcXCI+PC9pPlByaW1hcnk8L2J1dHRvbj5cXG5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxidXR0b24gY2xhc3M9XFxcIi1idG5cXFwiPkRlZmF1bHQ8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+UHJpbWFyeTwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gLWVycm9yLVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXJlcGVhdFxcXCI+PC9pPiBFcnJvcjwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gLWluZm8tXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYmVsbFxcXCI+PC9pPiBJbmZvPC9idXR0b24+XFxuPGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX3Vuc3R5bGVkX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWdpZnRcXFwiPjwvaT5QcmltYXJ5PC9idXR0b24+PC9wcmU+PC9kaXY+XFxuXFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPGgzPkRpc2FibGVkIGJ1dHRvbnM8L2gzPlxcblxcbjxwPlxcblxcdDxwPlVzZSBtb2RpZmllciA8Y29kZT5fZGlzYWJsZWRfPC9jb2RlPiBvciBzZXQgYXR0cmlidXRlIDxjb2RlPltkaXNhYmxlZF08L2NvZGU+LjwvcD5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfZGlzYWJsZWRfXFxcIj5XaXRoIG1vZGlmaWVyPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0blxcXCIgZGlzYWJsZWQ+V2l0aCBhdHRyaWJ1dGU8L2J1dHRvbj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9kaXNhYmxlZF8gLXByaW1hcnktXFxcIj5QcmltYXJ5IG1vZGlmaWVyPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS1cXFwiIGRpc2FibGVkPlByaW1hcnkgYXR0cmlidXRlPC9idXR0b24+XFxuXFx0XFx0XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9kaXNhYmxlZF9cXFwiPldpdGggbW9kaWZpZXI8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuXFxcIiBkaXNhYmxlZD5XaXRoIGF0dHJpYnV0ZTwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gX2Rpc2FibGVkXyAtcHJpbWFyeS1cXFwiPlByaW1hcnkgbW9kaWZpZXI8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCIgZGlzYWJsZWQ+UHJpbWFyeSBhdHRyaWJ1dGU8L2J1dHRvbj48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cIixcInN0YXRlc1wiOlwiPCEtLSA9PT09PT09PT09PT0gU1RBVEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDM+Q2hhbmdlIHN0YXRlczwvaDM+XFxuXFxuPHA+XFxuXFx0PHA+VXNlIG1vZGlmaWVycyA8Y29kZT5fYWN0aXZlXzwvY29kZT4gYW5kIDxjb2RlPl9ob3ZlcmVkXzwvY29kZT4gdG8gY2hhbmdlIGJ1dHRvbnMgc3RhdGVzLjwvcD5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0blxcXCI+RGVmYXVsdDwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX2hvdmVyZWRfXFxcIj5Ib3ZlcmVkPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+QWN0aXZlPC9idXR0b24+XFxuXFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS1cXFwiPkRlZmF1bHQ8L2J1dHRvbj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9ob3ZlcmVkXyAtcHJpbWFyeS1cXFwiPkhvdmVyZWQ8L2J1dHRvbj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfIC1wcmltYXJ5LVxcXCI+QWN0aXZlPC9idXR0b24+XFxuXFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuXFxcIj5EZWZhdWx0PC9idXR0b24+XFxuPGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfaG92ZXJlZF9cXFwiPkhvdmVyZWQ8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj5BY3RpdmU8L2J1dHRvbj5cXG5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+RGVmYXVsdDwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gX2hvdmVyZWRfIC1wcmltYXJ5LVxcXCI+SG92ZXJlZDwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gX2FjdGl2ZV8gLXByaW1hcnktXFxcIj5BY3RpdmU8L2J1dHRvbj48L2Rpdj5cXG5cXG48L2Rpdj5cIixcInNpemVzXCI6XCI8IS0tID09PT09PT09PT09PSBTSVpFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgzPlNpemVzPC9oMz5cXG5cXG48cD5cXG5cXHQ8cD5Vc2Ugc2l6ZSBjbGFzc2VzIDxjb2RlPl90aW55PC9jb2RlPiwgPGNvZGU+X3NtYWxsPC9jb2RlPiwgPGNvZGU+X21pbm9yPC9jb2RlPiwgPGNvZGU+X25vcm1hbDwvY29kZT4sIDxjb2RlPl9tYWpvcjwvY29kZT4sIDxjb2RlPl9ub3JtYWw8L2NvZGU+LCA8Y29kZT5fYmlnPC9jb2RlPiwgPGNvZGU+X2h1Z2U8L2NvZGU+LCA8Y29kZT5fZGl2aW5lPC9jb2RlPiB3aXRoIDxjb2RlPi1idG48L2NvZGU+IHRvIHNldCBidXR0b24ncyBzaXplLjwvcD5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfdGlueVxcXCI+VGlueTwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX3NtYWxsXFxcIj5TbWFsbDwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX21pbm9yXFxcIj5NaW5vcjwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX25vcm1hbCAtcHJpbWFyeS1cXFwiPk5vcm1hbDwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX21ham9yIC1lcnJvci1cXFwiPk1ham9yPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfYmlnIC1pbmZvLVxcXCI+QmlnPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfaHVnZSAtaW5mby1cXFwiPkh1Z2U8L2J1dHRvbj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9kaXZpbmUgLWluZm8tXFxcIj5EaXZpbmU8L2J1dHRvbj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxidXR0b24gY2xhc3M9XFxcIi1idG4gX3RpbnlcXFwiPlRpbnk8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9zbWFsbFxcXCI+U21hbGw8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9taW5vclxcXCI+TWlub3I8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9ub3JtYWwgLXByaW1hcnktXFxcIj5Ob3JtYWw8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9tYWpvciAtZXJyb3ItXFxcIj5NYWpvcjwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gX2JpZyAtaW5mby1cXFwiPkJpZzwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gX2h1Z2UgLWluZm8tXFxcIj5IdWdlPC9idXR0b24+XFxuPGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfZGl2aW5lIC1pbmZvLVxcXCI+RGl2aW5lPC9idXR0b24+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XCIsXCJnaG9zdFwiOlwiPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gQlVUVE9OUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPGgxPkdob3N0IGJ1dHRvbnM8L2gxPlxcblxcblxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRidXR0b24tZ2hvc3QtY2xhc3M6IFxcXCIjeyRidXR0b24tY2xhc3N9LWdob3N0XFxcIiAhZ2xvYmFsXFxuJGJ1dHRvbi1naG9zdC1mb250LXdlaWdodDogMjAwICFnbG9iYWxcXG4kYnV0dG9uLWdob3N0LW1pbi1mb250LXNpemU6IDlweCAhZ2xvYmFsXFxuJGJ1dHRvbi1naG9zdC1ib3JkZXItcmFkaXVzOiAzcHggIWdsb2JhbFxcbiRidXR0b24tZ2hvc3QtYm9yZGVyLXdpZHRoOiAzcHggIWdsb2JhbDwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG5cXG48IS0tID09PT09PT09PT09PSBERVNDUklQVElPTiAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+VXNlIGJ1dHRvbiBjbGFzcyA8Y29kZT4tYnRuLWdob3N0PC9jb2RlPiB0byBjcmVhdGUgZ3JlYXQgYnV0dG9ucy48L3A+XFxuXFxuPHA+VXNlIHRoZW1lIGNsYXNzZXMgKHlvdSBjYW4gaW5jbHVkZSBhbnkgdGhlbWUsIHNvIHRoZW1lcyBjbGFzcyBuYW1lcyBjYW4gYmUgZGlmZmVyZW50KSA8Y29kZT4tcHJpbWFyeS08L2NvZGU+LCA8Y29kZT4tZXJyb3ItPC9jb2RlPiwgPGNvZGU+LXN1Y2Nlc3MtPC9jb2RlPiwgZXRjLiB3aXRoIDxjb2RlPiZsdDtidXR0b24mZ3Q7PC9jb2RlPiBvciA8Y29kZT4mbHQ7aW5wdXQgdHlwZT1cXFwiYnV0dG9uXFxcIiZndDs8L2NvZGU+IHRvIHNldCB0aGVtZS48L3A+XFxuXFxuPHA+XFxuXFx0QXMgYWx3YXlzIHRvIHVzZSBmb250LWF3ZXNvbWUgaWNvbnMgeW91IG5lZWQgdG86XFxuXFx0PHVsPlxcblxcdFxcdDxsaT5hZGQgPGNvZGU+Jmx0O2xpbmsgaHJlZj1cXFwiLy9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC4wLjMvY3NzL2ZvbnQtYXdlc29tZS5jc3NcXFwiIHJlbD1cXFwic3R5bGVzaGVldFxcXCImZ3Q7PC9jb2RlPiB0byB5b3VyIDxjb2RlPiZsdDtoZWFkJmd0OzwvY29kZT4gKGJ1dCBpdCdzIGJldHRlciB0byBkb3dubG9hZCBhbmQgaW5jbHVkZSBpdCBpbnRvIHlvdSBwcm9qZWN0KTs8L2xpPlxcblxcdFxcdDxsaT51c2UgY2xhc3MgPGNvZGU+ZmE8L2NvZGU+IGZvciBpY29uczs8L2xpPlxcblxcdFxcdDxsaT5sb29rIGF0IDxhIGhyZWY9XFxcImh0dHA6Ly9mb3J0YXdlc29tZS5naXRodWIuaW8vRm9udC1Bd2Vzb21lL1xcXCI+Zm9udC1hd2Vzb21lPC9hPiBwYWdlIGZvciBkb2N1bWVudGF0aW9uIG9yIHVzZSA8YSBocmVmPVxcXCJodHRwOi8vZm9ydGF3ZXNvbWUuZ2l0aHViLmlvL0ZvbnQtQXdlc29tZS9jaGVhdHNoZWV0L1xcXCI+Zm9udC1hd2Vzb21lIGNoZWF0c2hlZXQ8L2E+LjwvbGk+XFxuXFx0PC91bD5cXG48L3A+XFxuXFxuXFxuXFxuXFxuXFxuPCEtLSA9PT09PT09PT09PT0gQlVUVE9OIFRBR1MgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxoMz5CdXR0b24gdGFnczwvaDM+XFxuPHA+XFxuXFx0VXNlIGNsYXNzIDxjb2RlPi1idG4tZ2hvc3Q8L2NvZGU+IHdpdGggPGNvZGU+Jmx0O2EmZ3Q7PC9jb2RlPiwgPGNvZGU+Jmx0O2lucHV0Jmd0OzwvY29kZT4gYW5kIDxjb2RlPiZsdDtidXR0b24mZ3Q7PC9jb2RlPi5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0bi1naG9zdCAtcHJpbWFyeS1cXFwiPkJ1dHRvbjwvYnV0dG9uPlxcblxcdFxcdDxpbnB1dCB0eXBlPVxcXCJidXR0b25cXFwiIGNsYXNzPVxcXCItYnRuLWdob3N0IC1wcmltYXJ5LVxcXCIgdmFsdWU9XFxcIklucHV0XFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0bi1naG9zdCAtcHJpbWFyeS1cXFwiPkxpbms8L2E+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YnV0dG9uIGNsYXNzPVxcXCItYnRuLWdob3N0IC1wcmltYXJ5LVxcXCI+QnV0dG9uPC9idXR0b24+XFxuPGlucHV0IHR5cGU9XFxcImJ1dHRvblxcXCIgY2xhc3M9XFxcIi1idG4tZ2hvc3QgLXByaW1hcnktXFxcIiB2YWx1ZT1cXFwiSW5wdXRcXFwiPlxcbjxhIGNsYXNzPVxcXCItYnRuLWdob3N0IC1wcmltYXJ5LVxcXCI+TGluazwvYT48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG48aDM+Um91bmRlZDwvaDM+XFxuPHA+QWRkIDxjb2RlPl9yb3VuZF88L2NvZGU+IG1vZGlmaWVyIHRvIHJvdW5kIGJ1dHRvbjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuLWdob3N0IC1wcmltYXJ5LSBfcm91bmRfXFxcIj5Sb3VuZCBidXR0b248L2J1dHRvbj5cXG5cXHRcXHQ8aW5wdXQgdHlwZT1cXFwiYnV0dG9uXFxcIiBjbGFzcz1cXFwiLWJ0bi1naG9zdCAtcHJpbWFyeS0gX3JvdW5kX1xcXCIgdmFsdWU9XFxcIlJvdW5kIGlucHV0XFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0bi1naG9zdCAtcHJpbWFyeS0gX3JvdW5kX1xcXCI+Um91bmQgbGluazwvYT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxidXR0b24gY2xhc3M9XFxcIi1idG4tZ2hvc3QgLXByaW1hcnktIF9yb3VuZF9cXFwiPlJvdW5kIGJ1dHRvbjwvYnV0dG9uPlxcbjxpbnB1dCB0eXBlPVxcXCJidXR0b25cXFwiIGNsYXNzPVxcXCItYnRuLWdob3N0IC1wcmltYXJ5LSBfcm91bmRfXFxcIiB2YWx1ZT1cXFwiUm91bmQgaW5wdXRcXFwiPlxcbjxhIGNsYXNzPVxcXCItYnRuLWdob3N0IC1wcmltYXJ5LSBfcm91bmRfXFxcIj5Sb3VuZCBsaW5rPC9hPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwiY29tbW9uXCI6XCI8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBCVVRUT05TID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48aDE+QnV0dG9uczwvaDE+XFxuXFxuXFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JGJ1dHRvbi1jbGFzczogXFxcIi1idG5cXFwiICFnbG9iYWxcXG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiAyMDAgIWdsb2JhbFxcbiRidXR0b24tbWluLWZvbnQtc2l6ZTogOXB4ICFnbG9iYWxcXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDNweCAhZ2xvYmFsXFxuJGJ1dHRvbi1ib3JkZXItd2lkdGg6IDFweCAhZ2xvYmFsPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcblxcbjwhLS0gPT09PT09PT09PT09IERFU0NSSVBUSU9OIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5Vc2UgYnV0dG9uIGNsYXNzIDxjb2RlPi1idG48L2NvZGU+IHRvIGNyZWF0ZSBncmVhdCBidXR0b25zLjwvcD5cXG5cXG48cD5Vc2UgdGhlbWUgY2xhc3NlcyAoeW91IGNhbiBpbmNsdWRlIGFueSB0aGVtZSwgc28gdGhlbWVzIGNsYXNzIG5hbWVzIGNhbiBiZSBkaWZmZXJlbnQpIDxjb2RlPi1wcmltYXJ5LTwvY29kZT4sIDxjb2RlPi1lcnJvci08L2NvZGU+LCA8Y29kZT4tc3VjY2Vzcy08L2NvZGU+LCBldGMuIHdpdGggPGNvZGU+Jmx0O2J1dHRvbiZndDs8L2NvZGU+IG9yIDxjb2RlPiZsdDtpbnB1dCB0eXBlPVxcXCJidXR0b25cXFwiJmd0OzwvY29kZT4gdG8gc2V0IHRoZW1lLjwvcD5cXG5cXG48cD5cXG5cXHRBcyBhbHdheXMgdG8gdXNlIGZvbnQtYXdlc29tZSBpY29ucyB5b3UgbmVlZCB0bzpcXG5cXHQ8dWw+XFxuXFx0XFx0PGxpPmFkZCA8Y29kZT4mbHQ7bGluayBocmVmPVxcXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjAuMy9jc3MvZm9udC1hd2Vzb21lLmNzc1xcXCIgcmVsPVxcXCJzdHlsZXNoZWV0XFxcIiZndDs8L2NvZGU+IHRvIHlvdXIgPGNvZGU+Jmx0O2hlYWQmZ3Q7PC9jb2RlPiAoYnV0IGl0J3MgYmV0dGVyIHRvIGRvd25sb2FkIGFuZCBpbmNsdWRlIGl0IGludG8geW91IHByb2plY3QpOzwvbGk+XFxuXFx0XFx0PGxpPnVzZSBjbGFzcyA8Y29kZT5mYTwvY29kZT4gZm9yIGljb25zOzwvbGk+XFxuXFx0XFx0PGxpPmxvb2sgYXQgPGEgaHJlZj1cXFwiaHR0cDovL2ZvcnRhd2Vzb21lLmdpdGh1Yi5pby9Gb250LUF3ZXNvbWUvXFxcIj5mb250LWF3ZXNvbWU8L2E+IHBhZ2UgZm9yIGRvY3VtZW50YXRpb24gb3IgdXNlIDxhIGhyZWY9XFxcImh0dHA6Ly9mb3J0YXdlc29tZS5naXRodWIuaW8vRm9udC1Bd2Vzb21lL2NoZWF0c2hlZXQvXFxcIj5mb250LWF3ZXNvbWUgY2hlYXRzaGVldDwvYT4uPC9saT5cXG5cXHQ8L3VsPlxcbjwvcD5cXG5cXG5cXG5cXG5cXG5cXG48IS0tID09PT09PT09PT09PSBCVVRUT04gVEFHUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPGgzPkJ1dHRvbiB0YWdzPC9oMz5cXG48cD5cXG5cXHRVc2UgY2xhc3MgPGNvZGU+LWJ0bjwvY29kZT4gd2l0aCA8Y29kZT4mbHQ7YSZndDs8L2NvZGU+LCA8Y29kZT4mbHQ7aW5wdXQmZ3Q7PC9jb2RlPiBhbmQgPGNvZGU+Jmx0O2J1dHRvbiZndDs8L2NvZGU+LlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2J1dHRvbj5cXG5cXHRcXHQ8aW5wdXQgdHlwZT1cXFwiYnV0dG9uXFxcIiBjbGFzcz1cXFwiLWJ0blxcXCIgdmFsdWU9XFxcIklucHV0XFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+TGluazwvYT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxidXR0b24gY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYnV0dG9uPlxcbjxpbnB1dCB0eXBlPVxcXCJidXR0b25cXFwiIGNsYXNzPVxcXCItYnRuXFxcIiB2YWx1ZT1cXFwiSW5wdXRcXFwiPlxcbjxhIGNsYXNzPVxcXCItYnRuXFxcIj5MaW5rPC9hPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcbjxoMz5Sb3VuZGVkPC9oMz5cXG48cD5BZGQgPGNvZGU+X3JvdW5kXzwvY29kZT4gbW9kaWZpZXIgdG8gcm91bmQgYnV0dG9uPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX3JvdW5kX1xcXCI+Um91bmQgYnV0dG9uPC9idXR0b24+XFxuXFx0XFx0PGlucHV0IHR5cGU9XFxcImJ1dHRvblxcXCIgY2xhc3M9XFxcIi1idG4gX3JvdW5kX1xcXCIgdmFsdWU9XFxcIlJvdW5kIGlucHV0XFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfcm91bmRfXFxcIj5Sb3VuZCBsaW5rPC9hPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfcm91bmRfXFxcIj5Sb3VuZCBidXR0b248L2J1dHRvbj5cXG48aW5wdXQgdHlwZT1cXFwiYnV0dG9uXFxcIiBjbGFzcz1cXFwiLWJ0biBfcm91bmRfXFxcIiB2YWx1ZT1cXFwiUm91bmQgaW5wdXRcXFwiPlxcbjxhIGNsYXNzPVxcXCItYnRuIF9yb3VuZF9cXFwiPlJvdW5kIGxpbms8L2E+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJibG9ja3NcIjpcIjwhLS0gPT09PT09PT09PT09IEJVVFRPTlMgQkxPQ0sgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMz5CbG9jayBsZXZlbCBidXR0b25zPC9oMz5cXG5cXG48cD5cXG5cXHQ8cD5DcmVhdGUgYmxvY2sgbGV2ZWwgYnV0dG9ucyDigJQgdGhvc2UgdGhhdCBzcGFuIHRoZSBmdWxsIHdpZHRoIG9mIGEgcGFyZW50IOKAlCBieSBhZGRpbmcgPGNvZGU+X3ZlcnRpY2FsXzwvY29kZT4uPC9wPlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuIF92ZXJ0aWNhbF9cXFwiPkJ1dHRvbjwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX3ZlcnRpY2FsX1xcXCI+QnV0dG9uPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX3ZlcnRpY2FsX1xcXCI+QnV0dG9uPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX3ZlcnRpY2FsX1xcXCIgZGlzYWJsZWQ+QnV0dG9uPC9idXR0b24+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF92ZXJ0aWNhbF9cXFwiPkJ1dHRvbjwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gX3ZlcnRpY2FsX1xcXCI+QnV0dG9uPC9idXR0b24+XFxuPGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX3ZlcnRpY2FsX1xcXCI+QnV0dG9uPC9idXR0b24+XFxuPGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX3ZlcnRpY2FsX1xcXCIgZGlzYWJsZWQ+QnV0dG9uPC9idXR0b24+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XCJ9LFwiYXZhdGFyc1wiOntcImNvbW1vblwiOlwiPGgxPkF2YXRhcnM8L2gxPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuPGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcbjxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRhdmF0YXItY2xhc3M6IFxcXCItYXZhdGFyXFxcIiAhZ2xvYmFsXFxuJGF2YXRhci1ib3JkZXItcmFkaXVzOiAzcHggIWdsb2JhbFxcbiRhdmF0YXItYm9yZGVyLXdpZHRoOiA0cHggIWdsb2JhbFxcbiRhdmF0YXItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZ2xvYmFsXFxuJGF2YXRhci1tYXJnaW46IDAuNmVtICFnbG9iYWxcXG4kYXZhdGFyLXNpemU6IDY0cHggIWdsb2JhbDwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG48cD5JbmNsdWRlIDxjb2RlPi10aHVtYm5haWw8L2NvZGU+IHdpZGdldCBpbnNpZGUgPGNvZGU+LWF2YXRhcjwvY29kZT4uPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdFRoZSA8Y29kZT4tdGh1bWJuYWlsPC9jb2RlPiB3aWxsIGJlIGhpZGRlbiBvbiBkZXZpY2VzIHdpdGggcmVzb2x1dGlvbiBzbWFsbGVyIHRoYW4gNzY4cHguXFxuPC9ibG9ja3F1b3RlPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG5cXHRcXHQ8L2E+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhclxcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuPC9hPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcbjxwPkFkZCBtb2RpZmllciA8Y29kZT5fcm91bmRfPC9jb2RlPiB0byBtYWtlIGF2YXRhciByb3VuZGVkLjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfcm91bmRfXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG5cXHRcXHQ8L2E+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfcm91bmRfXFxcIj5cXG5cXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG48L2E+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPGgzPlNpemVzPC9oMz5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfdGlueVxcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcImtyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdFxcdFxcdDwvZmlndXJlPkBrcnlzdGFsZmlzdGVyXFxuXFx0XFx0PC9hPlxcblxcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva29sYWdlLzEyOC5qcGdcXFwiIGFsdD1cXFwia29sYWdlXFxcIj5cXG5cXHRcXHRcXHQ8L2ZpZ3VyZT5Aa29sYWdlXFxuXFx0XFx0PC9hPlxcblxcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9taW5vclxcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvbWljaHplbi8xMjguanBnXFxcIiBhbHQ9XFxcIm1pY2h6ZW5cXFwiPlxcblxcdFxcdFxcdDwvZmlndXJlPkBtaWNoemVuXFxuXFx0XFx0PC9hPlxcblxcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9ub3JtYWxcXFwiPlxcblxcdFxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL2F4ZWwvMTI4LmpwZ1xcXCIgYWx0PVxcXCJheGVsXFxcIj5cXG5cXHRcXHRcXHQ8L2ZpZ3VyZT5AYXhlbFxcblxcdFxcdDwvYT5cXG5cXG5cXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfbWFqb3JcXFwiPlxcblxcdFxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL3ZpY3RvcmVyaXhvbi8xMjguanBnXFxcIiBhbHQ9XFxcInZpY3RvcmVyaXhvblxcXCI+XFxuXFx0XFx0XFx0PC9maWd1cmU+QHZpY3RvcmVyaXhvblxcblxcdFxcdDwvYT5cXG5cXG5cXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfYmlnXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9tYXJrZ2FtenkvMTI4LmpwZ1xcXCIgYWx0PVxcXCJtYXJrZ2FtenlcXFwiPlxcblxcdFxcdFxcdDwvZmlndXJlPkBtYXJrZ2FtenlcXG5cXHRcXHQ8L2E+XFxuXFxuXFx0XFx0PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX2h1Z2VcXFwiPlxcblxcdFxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL21yamFtZXNub2JsZS8xMjguanBnXFxcIiBhbHQ9XFxcIm1yamFtZXNub2JsZVxcXCI+XFxuXFx0XFx0XFx0PC9maWd1cmU+QG1yamFtZXNub2JsZVxcblxcdFxcdDwvYT5cXG5cXG5cXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfZGl2aW5lXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9saWFuZy8xMjguanBnXFxcIiBhbHQ9XFxcImxpYW5nXFxcIj5cXG5cXHRcXHRcXHQ8L2ZpZ3VyZT5AbGlhbmdcXG5cXHRcXHQ8L2E+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfdGlueVxcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcImtyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdDwvZmlndXJlPkBrcnlzdGFsZmlzdGVyXFxuPC9hPlxcblxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9zbWFsbFxcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva29sYWdlLzEyOC5qcGdcXFwiIGFsdD1cXFwia29sYWdlXFxcIj5cXG5cXHQ8L2ZpZ3VyZT5Aa29sYWdlXFxuPC9hPlxcblxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9taW5vclxcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvbWljaHplbi8xMjguanBnXFxcIiBhbHQ9XFxcIm1pY2h6ZW5cXFwiPlxcblxcdDwvZmlndXJlPkBtaWNoemVuXFxuPC9hPlxcblxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9ub3JtYWxcXFwiPlxcblxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL2F4ZWwvMTI4LmpwZ1xcXCIgYWx0PVxcXCJheGVsXFxcIj5cXG5cXHQ8L2ZpZ3VyZT5AYXhlbFxcbjwvYT5cXG5cXG48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfbWFqb3JcXFwiPlxcblxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL3ZpY3RvcmVyaXhvbi8xMjguanBnXFxcIiBhbHQ9XFxcInZpY3RvcmVyaXhvblxcXCI+XFxuXFx0PC9maWd1cmU+QHZpY3RvcmVyaXhvblxcbjwvYT5cXG5cXG48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfYmlnXFxcIj5cXG5cXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9tYXJrZ2FtenkvMTI4LmpwZ1xcXCIgYWx0PVxcXCJtYXJrZ2FtenlcXFwiPlxcblxcdDwvZmlndXJlPkBtYXJrZ2FtenlcXG48L2E+XFxuXFxuPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX2h1Z2VcXFwiPlxcblxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL21yamFtZXNub2JsZS8xMjguanBnXFxcIiBhbHQ9XFxcIm1yamFtZXNub2JsZVxcXCI+XFxuXFx0PC9maWd1cmU+QG1yamFtZXNub2JsZVxcbjwvYT5cXG5cXG48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfZGl2aW5lXFxcIj5cXG5cXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9saWFuZy8xMjguanBnXFxcIiBhbHQ9XFxcImxpYW5nXFxcIj5cXG5cXHQ8L2ZpZ3VyZT5AbGlhbmdcXG48L2E+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuPGgzPkJvcmRlcmVkIGFuZCB0aGVtZXM8L2gzPlxcbjxwPkFkZCBtb2RpZmllciA8Y29kZT5fYm9yZGVyZWRfPC9jb2RlPi48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX2JvcmRlcmVkX1xcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdFxcdFxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuXFx0XFx0PC9hPiZuYnNwOyZuYnNwO1xcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9ib3JkZXJlZF8gLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG5cXHRcXHQ8L2E+Jm5ic3A7Jm5ic3A7XFxuXFx0XFx0PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX3JvdW5kXyBfYm9yZGVyZWRfIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdFxcdFxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuXFx0XFx0PC9hPlxcbjwvZGl2PlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX2JvcmRlcmVkX1xcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuPC9hPlxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9ib3JkZXJlZF8gLXByaW1hcnktXFxcIj5cXG5cXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG48L2E+XFxuPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX3JvdW5kXyBfYm9yZGVyZWRfIC1wcmltYXJ5LVxcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuPC9hPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcbjxoMz5Qb3NpdGlvbjwvaDM+XFxuPHA+QWRkIG1vZGlmaWVycyA8Y29kZT5fdG9wXzwvY29kZT4gb3IgPGNvZGU+X2JvdHRvbV88L2NvZGU+LjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfdG9wX1xcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdFxcdFxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuXFx0XFx0PC9hPiZuYnNwOyZuYnNwO1xcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9ib3R0b21fXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG5cXHRcXHQ8L2E+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfdG9wX1xcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuPC9hPlxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9ib3R0b21fXFxcIj5cXG5cXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG48L2E+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XCJ9LFwibGF5b3V0XCI6XCI8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIiBzdHlsZT1cXFwibWFyZ2luLWJvdHRvbTogMTIwMHB4OyBwb3NpdGlvbjogcmVsYXRpdmVcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w5XFxcIj5cXG5cXHRcXHQ8ZGl2IHBhcnRpYWxzPVxcXCJ3aWRnZXRzXFxcIj48L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0PGRpdiBzdWJtZW51PVxcXCJ3aWRnZXRzXFxcIj48L2Rpdj5cXHRcXG5cXHQ8L2Rpdj5cXG5cXG48L2Rpdj5cIixcImxhYmVsc1wiOlwiPCEtLSA9PT09PT09PT09PT0gTEFCRUxTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDE+TGFiZWxzPC9oMT5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kbGFiZWwtY2xhc3M6IFxcXCItbGFiZWxcXFwiICFnbG9iYWxcXG4kbGFiZWwtZm9udC13ZWlnaHQ6IDMwMCAhZ2xvYmFsXFxuJGxhYmVsLWJvcmRlci1yYWRpdXM6IDJweCAhZ2xvYmFsXFxuJGxhYmVsLWJvcmRlci13aWR0aDogMXB4ICFnbG9iYWxcXG4kbGFiZWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZ2xvYmFsXFxuJGxhYmVsLXBhZGRpbmctdmVydGljYWw6ICRiYXNlLXBhZGRpbmctdmVydGljYWwgLyAzXFxuJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDogJGJhc2UtcGFkZGluZy1ob3Jpem9udGFsIC8gMS41PC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcblxcblxcbjxwPlxcblxcdFVzZSB3aWRnZXQgY2xhc3MgPGNvZGU+LWxhYmVsPC9jb2RlPi4gQXBwbHkgdGhlbWVzIGFuZCBzaXplcy5cXG48L3A+XFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1lcnJvci1cXFwiPlxcblxcdExhYmVscyB3b24ndCBzZWxmIGNvbGxhcHNlIGluIDxiPkludGVybmV0IEV4cGxvcmVyIDg8L2I+IGJlY2F1c2UgaXQgbGFja3Mgc3VwcG9ydCBmb3IgdGhlIDxjb2RlPjplbXB0eTwvY29kZT4gc2VsZWN0b3IuXFxuPC9ibG9ja3F1b3RlPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxwPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItbGFiZWxcXFwiPmRlZmF1bHQ8L3NwYW4+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1sYWJlbCAtcHJpbWFyeS1cXFwiPnByaW1hcnk8L3NwYW4+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1sYWJlbCAtZXJyb3ItXFxcIj5lcnJvcjwvc3Bhbj5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWxhYmVsIC13YXJuaW5nLVxcXCI+d2FybmluZzwvc3Bhbj5cXG5cXHRcXHQ8L3A+XFxuXFx0XFx0PHA+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1sYWJlbFxcXCI+bm9ybWFsPC9zcGFuPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItbGFiZWwgX21ham9yXFxcIj5tYWpvcjwvc3Bhbj5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWxhYmVsIF9iaWcgLXByaW1hcnktXFxcIj5iaWc8L3NwYW4+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1sYWJlbCBfaHVnZSAtZXJyb3ItXFxcIj5odWdlPC9zcGFuPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItbGFiZWwgX2RpdmluZSAtd2FybmluZy1cXFwiPmRpdmluZTwvc3Bhbj5cXG5cXHRcXHQ8L3A+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48c3BhbiBjbGFzcz1cXFwiLWxhYmVsXFxcIj5kZWZhdWx0PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItbGFiZWwgLXByaW1hcnktXFxcIj5wcmltYXJ5PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItbGFiZWwgLWVycm9yLVxcXCI+ZXJyb3I8L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1sYWJlbCAtd2FybmluZy1cXFwiPndhcm5pbmc8L3NwYW4+XFxuXFxuPHNwYW4gY2xhc3M9XFxcIi1sYWJlbFxcXCI+bm9ybWFsPC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItbGFiZWwgX21ham9yXFxcIj5tYWpvcjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWxhYmVsIF9iaWcgLXByaW1hcnktXFxcIj5iaWc8L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1sYWJlbCBfaHVnZSAtZXJyb3ItXFxcIj5odWdlPC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItbGFiZWwgX2RpdmluZSAtd2FybmluZy1cXFwiPmRpdmluZTwvc3Bhbj5cXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIixcImRyb3Bkb3duc1wiOlwiPGgxPkRyb3Bkb3duczwvaDE+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JGRyb3Bkb3duLWNsYXNzOiBcXFwiLWRyb3BcXFwiICFnbG9iYWxcXG4kZHJvcGRvd24tei1pbmRleDogMTAwMFxcbiRkcm9wZG93bi1iYWNrZ3JvdW5kLWRlZmF1bHQ6ICNmZmZcXG4kZHJvcGRvd24tYm9yZGVyLWRlZmF1bHQ6ICNmZmZcXG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAwcHhcXG4kZHJvcGRvd24tYm9yZGVyLXN0eWxlOiBzb2xpZFxcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAzcHhcXG4kZHJvcGRvd24tYXJyb3ctc2l6ZTogMTRweFxcbiRkcm9wZG93bi1hcnJvdy1ib3JkZXItd2lkdGg6IDFweFxcbiRkcm9wZG93bi1jb250ZW50LXBhZGRpbmctdmVydGljYWw6IDE1cHhcXG4kZHJvcGRvd24tY29udGVudC1wYWRkaW5nLWhvcml6b250YWw6IDE1cHhcXG4kZHJvcGRvd24tc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoIzAwMCwgLjEpPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcblxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIF9kZXYtY2xlYXJfXFxcIj5cXG5cXHRcXHRcXHREcm9wIHdpdGhvdXQgY29udGVudCBibG9jay48YnI+XFxuXFx0XFx0XFx0R3JlYXQgd2l0aCBtZW51cyBhbmQgb3RoZXIgbmF2aWdhdGlvbiBzdHVmZi5cXG5cXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZHJvcCBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdERyb3Agd2l0aCBjb250ZW50IGJsb2NrLjxicj5cXG5cXHRcXHRcXHRcXHRHcmVhdCB3aXRoIHRleHQsIGluZm9ybWF0aW9uLCBwaWN0dXJlcyBhbmQgb3RoZXIgc3R1ZmYuXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZHJvcCBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0RHJvcCB3aXRob3V0IGNvbnRlbnQgYmxvY2suPGJyPlxcblxcdEdyZWF0IHdpdGggbWVudXMgYW5kIG90aGVyIG5hdmlnYXRpb24gc3R1ZmYuXFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWRyb3AgX2Rldi1jbGVhcl9cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHREcm9wIHdpdGggY29udGVudCBibG9jay48YnI+XFxuXFx0XFx0R3JlYXQgd2l0aCB0ZXh0LCBpbmZvcm1hdGlvbiwgcGljdHVyZXMgYW5kIG90aGVyIHN0dWZmLlxcblxcdDwvZGl2PlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcbjxoMz5Qb3NpdGlvbiBvZiBkcm9wZG93bnMuIEFycm93cy48L2gzPlxcbjxwPlxcblxcdFRvIHNldCBwb3NpdGlvbiBvZiB0aGUgZHJvcGRvd24gcmVsYXRpdmUgdG8gcGFyZW50IGVsZW1lbnQgdXNlIG1vZGlmaWVycyA8Y29kZT5fdG9wXzwvY29kZT4sIDxjb2RlPl9ib3R0b21fPC9jb2RlPiwgPGNvZGU+X2xlZnRfPC9jb2RlPiBhbmQgPGNvZGU+X3JpZ2h0XzwvY29kZT4uXFxuPC9wPlxcbjxwPlxcblxcdFVzZSBhcnJvdyB3aWRnZXQgPGNvZGU+LWFycm93PC9jb2RlPi5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gX2Rldi1jbGVhcl9cXFwiPlxcblxcdFxcdFxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0VG9wXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgX2JvdHRvbV8gX2Rldi1jbGVhcl9cXFwiPlxcblxcdFxcdFxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0Qm90dG9tXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgX3JpZ2h0XyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRSaWdodFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIF9sZWZ0XyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRMZWZ0XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgLXByaW1hcnktIF90b3BfIF9kZXYtY2xlYXJfXFxcIj5cXG5cXHRcXHRcXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdFRvcFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIC1wcmltYXJ5LSBfYm90dG9tXyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRCb3R0b21cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZHJvcCAtcHJpbWFyeS0gX3JpZ2h0XyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRSaWdodFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIC1wcmltYXJ5LSBfbGVmdF8gX2Rldi1jbGVhcl9cXFwiPlxcblxcdFxcdFxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0TGVmdFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWRyb3AgX3RvcF9cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0VG9wXFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWRyb3AgX2JvdHRvbV9cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0Qm90dG9tXFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWRyb3AgX3JpZ2h0X1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRSaWdodFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1kcm9wIF9sZWZ0X1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRMZWZ0XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWRyb3AgLXByaW1hcnktIF90b3BfXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFRvcFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1kcm9wIC1wcmltYXJ5LSBfYm90dG9tX1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRCb3R0b21cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItZHJvcCAtcHJpbWFyeS0gX3JpZ2h0X1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRSaWdodFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1kcm9wIC1wcmltYXJ5LSBfbGVmdF9cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0TGVmdFxcblxcdDwvZGl2PlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxoMz5IZWFkZXJzIGFuZCBjb250ZW50cy48L2gzPlxcbjxwPlxcblxcdEp1c3QgYWRkIHdpZGdldCA8Y29kZT4taGVhZGVyPC9jb2RlPiB0byB0aGUgZHJvcC4gQW5kIGFkZCBzZXZlcmFsIDxjb2RlPi1jb250ZW50PC9jb2RlPnMuXFxuPC9wPlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIC1wcmltYXJ5LSBfdG9wXyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHREcm9wZG93biBUb3BcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0Rm9vdGVyXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgX2JvdHRvbV8gX2Rldi1jbGVhcl9cXFwiPlxcblxcdFxcdFxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0RHJvcGRvd24gQm90dG9tXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdEZvb3RlclxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIC1lcnJvci0gX3JpZ2h0XyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHREcm9wZG93biBSaWdodFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIC13YXJuaW5nLSBfbGVmdF8gX2Rldi1jbGVhcl9cXFwiPlxcblxcdFxcdFxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0RHJvcGRvd24gTGVmdFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWRyb3AgLXByaW1hcnktIF90b3BfXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0SGVhZGVyXFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdERyb3Bkb3duIFRvcFxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGb290ZXJcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItZHJvcCBfYm90dG9tX1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdEhlYWRlclxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHREcm9wZG93biBCb3R0b21cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0Rm9vdGVyXFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWRyb3AgLWVycm9yLSBfcmlnaHRfXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0SGVhZGVyXFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdERyb3Bkb3duIFJpZ2h0XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWRyb3AgLXdhcm5pbmctIF9sZWZ0X1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdEhlYWRlclxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHREcm9wZG93biBMZWZ0XFxuXFx0PC9kaXY+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJiYWRnZXNcIjpcIjwhLS0gPT09PT09PT09PT09IEJBREdFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgxPkJhZGdlczwvaDE+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JGJhZGdlLWNsYXNzOiBcXFwiLWJhZGdlXFxcIiAhZ2xvYmFsXFxuJGJhZGdlLWZvbnQtd2VpZ2h0OiA2MDAgIWdsb2JhbFxcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiA1MHB4ICFnbG9iYWxcXG4kYmFkZ2UtYm9yZGVyLXdpZHRoOiAwcHggIWdsb2JhbFxcbiRiYWRnZS1ib3JkZXItc3R5bGU6IHNvbGlkICFnbG9iYWxcXG4kYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbDogZmxvb3IoJGJhc2UtcGFkZGluZy12ZXJ0aWNhbCAvIDQpXFxuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogZmxvb3IoJGJhc2UtcGFkZGluZy1ob3Jpem9udGFsIC8gMik8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuXFxuXFxuPHA+XFxuXFx0VXNlIHdpZGdldCBjbGFzcyA8Y29kZT4tYmFkZ2U8L2NvZGU+LiBBcHBseSB0aGVtZXMgYW5kIHNpemVzLlxcbjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8cD5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWJhZGdlXFxcIj4zMjQ8L3NwYW4+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjMyNDwvc3Bhbj5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1lcnJvci1cXFwiPjMyNDwvc3Bhbj5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC13YXJuaW5nLVxcXCI+MzI0PC9zcGFuPlxcblxcdFxcdDwvcD5cXG5cXHRcXHQ8cD5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1wcmltYXJ5LVxcXCI+MzI0PC9zcGFuPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgX21ham9yIC1wcmltYXJ5LVxcXCI+MzI0PC9zcGFuPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgX2JpZyAtcHJpbWFyeS1cXFwiPjMyNDwvc3Bhbj5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIF9odWdlIC1wcmltYXJ5LVxcXCI+MzI0PC9zcGFuPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgX2RpdmluZSAtcHJpbWFyeS1cXFwiPjMyNDwvc3Bhbj5cXG5cXHRcXHQ8L3A+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48c3BhbiBjbGFzcz1cXFwiLWJhZGdlXFxcIj5kZWZhdWx0PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLXByaW1hcnktXFxcIj5wcmltYXJ5PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWVycm9yLVxcXCI+ZXJyb3I8L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtd2FybmluZy1cXFwiPndhcm5pbmc8L3NwYW4+XFxuXFxuPHNwYW4gY2xhc3M9XFxcIi1iYWRnZVxcXCI+bm9ybWFsPC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgX21ham9yXFxcIj5tYWpvcjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWJhZGdlIF9iaWcgLXByaW1hcnktXFxcIj5iaWc8L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSBfaHVnZSAtZXJyb3ItXFxcIj5odWdlPC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgX2RpdmluZSAtd2FybmluZy1cXFwiPmRpdmluZTwvc3Bhbj5cXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG48cD5cXG5cXHRVc2UgYmFkZ2VzIGluc2lkZSBvdGhlciB3aWRnZXRzLlxcbjwvcD5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLWVycm9yLVxcXCI+XFxuXFx0QmFkZ2VzIHdvbid0IHNlbGYgY29sbGFwc2UgaW4gPGI+SW50ZXJuZXQgRXhwbG9yZXIgODwvYj4gYmVjYXVzZSBpdCBsYWNrcyBzdXBwb3J0IGZvciB0aGUgPGNvZGU+OmVtcHR5PC9jb2RlPiBzZWxlY3Rvci5cXG48L2Jsb2NrcXVvdGU+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkluYm94IDxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLXByaW1hcnktXFxcIj4xMjwvc3Bhbj48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktXFxcIj5JbmJveCA8c3BhbiBjbGFzcz1cXFwiLWJhZGdlXFxcIj4xMjwvc3Bhbj48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLWVycm9yLVxcXCI+SW5ib3ggPHNwYW4gY2xhc3M9XFxcIi1iYWRnZVxcXCI+MTI8L3NwYW4+PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC13YXJuaW5nLVxcXCI+RW1wdHkgYmFkZ2UgaXMgaGVyZSA8c3BhbiBjbGFzcz1cXFwiLWJhZGdlXFxcIj48L3NwYW4+PC9hPlxcblxcblxcdFxcdDxicj5cXG5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi10YWJzIF9iaWdcXFwiPlxcblxcdFxcdFxcdDxsaT48YT5UYWIgPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjEyPC9zcGFuPjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5UYWI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiPC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXG5cXHRcXHQ8YnI+XFxuXFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItcGlsbHNcXFwiPlxcblxcdFxcdFxcdDxsaT48YT5QaWxsIDxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLXByaW1hcnktXFxcIj4xMjwvc3Bhbj48L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+UGlsbDwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5QaWxsPC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXG5cXHRcXHQ8YnI+XFxuXFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+SW5ib3ggPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjEyPC9zcGFuPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+U2VudCA8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1wcmltYXJ5LVxcXCI+Mjwvc3Bhbj48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPkRyYWZ0cyA8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1wcmltYXJ5LVxcXCI+PC9zcGFuPjwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxhIGNsYXNzPVxcXCItYnRuXFxcIj5JbmJveCA8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1wcmltYXJ5LVxcXCI+MTI8L3NwYW4+PC9hPlxcbjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+SW5ib3ggPHNwYW4gY2xhc3M9XFxcIi1iYWRnZVxcXCI+MTI8L3NwYW4+PC9hPlxcbjxhIGNsYXNzPVxcXCItYnRuIC1lcnJvci1cXFwiPkluYm94IDxzcGFuIGNsYXNzPVxcXCItYmFkZ2VcXFwiPjEyPC9zcGFuPjwvYT5cXG48YSBjbGFzcz1cXFwiLWJ0biAtd2FybmluZy1cXFwiPkVtcHR5IGJhZGdlIGlzIGhlcmUgPHNwYW4gY2xhc3M9XFxcIi1iYWRnZVxcXCI+PC9zcGFuPjwvYT5cXG5cXG48dWwgY2xhc3M9XFxcIi10YWJzIF9iaWdcXFwiPlxcblxcdDxsaT48YT5UYWIgPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjEyPC9zcGFuPjwvYT48L2xpPlxcblxcdDxsaT48YT5UYWI8L2E+PC9saT5cXG5cXHQ8bGk+PGE+VGFiPC9hPjwvbGk+XFxuPC91bD5cXG5cXG48dWwgY2xhc3M9XFxcIi1waWxsc1xcXCI+XFxuXFx0PGxpPjxhPlBpbGwgPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjEyPC9zcGFuPjwvYT48L2xpPlxcblxcdDxsaT48YT5QaWxsPC9hPjwvbGk+XFxuXFx0PGxpPjxhPlBpbGw8L2E+PC9saT5cXG48L3VsPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG4gX2FjdGl2ZV9cXFwiPkluYm94IDxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLXByaW1hcnktXFxcIj4xMjwvc3Bhbj48L2E+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPlNlbnQgPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjI8L3NwYW4+PC9hPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5EcmFmdHMgPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjwvc3Bhbj48L2E+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJhbGVydHNcIjpcIjwhLS0gPT09PT09PT09PT09IEFMRVJUUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgxPkFsZXJ0czwvaDE+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JGFsZXJ0LWNsYXNzOiBcXFwiLWFsZXJ0XFxcIiAhZ2xvYmFsXFxuJGFsZXJ0LWJvcmRlci1yYWRpdXM6IDNweCAhZ2xvYmFsXFxuJGFsZXJ0LWJvcmRlci13aWR0aDogMXB4ICFnbG9iYWxcXG4kYWxlcnQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZ2xvYmFsXFxuJGFsZXJ0LXBhZGRpbmctdmVydGljYWw6ICRiYXNlLXBhZGRpbmctdmVydGljYWxcXG4kYWxlcnQtcGFkZGluZy1ob3Jpem9udGFsOiAkYmFzZS1wYWRkaW5nLWhvcml6b250YWxcXG5cXHQ8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuPHA+XFxuXFx0VXNlIHdpZGdldCBjbGFzcyA8Y29kZT4tYWxlcnQ8L2NvZGU+LiBBcHBseSB0aGVtZXMgYW5kIHNpemVzLiBZb3UgY2FuIGFwcGx5IDxjb2RlPi1zaGFkb3ctLi4uLTwvY29kZT4gdG8gYWRkIHNoYWRvdyB0byB0aGUgYWxlcnQuXFxuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1hbGVydCAtc2hhZG93LWN1cnZlLVxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1jbG9zZSAtYnRuIF91bnN0eWxlZF9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aW1lc1xcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHROb3RoaW5nIGltcG9ydGFudCBoZXJlLlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYWxlcnQgLXByaW1hcnktIC1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1jbG9zZSAtYnRuIF91bnN0eWxlZF9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aW1lc1xcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRIZWFkcyB1cCEgVGhpcyBhbGVydCBuZWVkcyB5b3VyIGF0dGVudGlvbiwgYnV0IGl0J3Mgbm90IHN1cGVyIGltcG9ydGFudC5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWFsZXJ0IC1lcnJvci0gLXNoYWRvdy1jdXJ2ZS1cXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItY2xvc2UgLWJ0biBfdW5zdHlsZWRfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGltZXNcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0T2ggc25hcCEgQ2hhbmdlIGEgZmV3IHRoaW5ncyB1cCBhbmQgdHJ5IHN1Ym1pdHRpbmcgYWdhaW4uXFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1hbGVydCAtd2FybmluZy0gLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWNsb3NlIC1idG4gX3Vuc3R5bGVkX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRpbWVzXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFdhcm5pbmchIEJldHRlciBjaGVjayB5b3Vyc2VsZiwgeW91J3JlIG5vdCBsb29raW5nIHRvbyBnb29kLlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWFsZXJ0IC1zaGFkb3ctY3VydmUtXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWNsb3NlIC1idG4gX3Vuc3R5bGVkX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRpbWVzXFxcIj48L2k+PC9hPlxcblxcdE5vdGhpbmcgaW1wb3J0YW50IGhlcmUuXFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWFsZXJ0IC1wcmltYXJ5LSAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItY2xvc2UgLWJ0biBfdW5zdHlsZWRfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGltZXNcXFwiPjwvaT48L2E+XFxuXFx0SGVhZHMgdXAhIFRoaXMgYWxlcnQgbmVlZHMgeW91ciBhdHRlbnRpb24sIGJ1dCBpdCdzIG5vdCBzdXBlciBpbXBvcnRhbnQuXFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWFsZXJ0IC1lcnJvci0gLXNoYWRvdy1jdXJ2ZS1cXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItY2xvc2UgLWJ0biBfdW5zdHlsZWRfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGltZXNcXFwiPjwvaT48L2E+XFxuXFx0T2ggc25hcCEgQ2hhbmdlIGEgZmV3IHRoaW5ncyB1cCBhbmQgdHJ5IHN1Ym1pdHRpbmcgYWdhaW4uXFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWFsZXJ0IC13YXJuaW5nLSAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItY2xvc2UgLWJ0biBfdW5zdHlsZWRfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGltZXNcXFwiPjwvaT48L2E+XFxuXFx0V2FybmluZyEgQmV0dGVyIGNoZWNrIHlvdXJzZWxmLCB5b3UncmUgbm90IGxvb2tpbmcgdG9vIGdvb2QuXFxuPC9kaXY+XFxuPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuPGgzPlxcblxcdEFwcGx5IHRoZW1lcyBhbmQgc2l6ZXMuXFxuPC9oMz5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYWxlcnQgLXByaW1hcnktIC1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0SGVhZHMgdXAhIFRoaXMgYWxlcnQgbmVlZHMgeW91ciBhdHRlbnRpb24sIGJ1dCBpdCdzIG5vdCBzdXBlciBpbXBvcnRhbnQuXFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1hbGVydCBfbWFqb3IgLXdhcm5pbmctIC1zaGFkb3ctY3VydmUtXFxcIj5cXG5cXHRcXHRcXHRXYXJuaW5nISBCZXR0ZXIgY2hlY2sgeW91cnNlbGYsIHlvdSdyZSBub3QgbG9va2luZyB0b28gZ29vZC5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWFsZXJ0IF9iaWcgLWVycm9yLSAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdE9oIHNuYXAhIENoYW5nZSBhIGZldyB0aGluZ3MgdXAgYW5kIHRyeSBzdWJtaXR0aW5nIGFnYWluLlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYWxlcnQgX2h1Z2UgLXNoYWRvdy1jdXJ2ZS1cXFwiPlxcblxcdFxcdFxcdE5vdGhpbmcgaW1wb3J0YW50IGhlcmUuXFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1hbGVydCBfZGl2aW5lIC1wcmltYXJ5LSAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdEhlYWRzIHVwISBUaGlzIGFsZXJ0IG5lZWRzIHlvdXIgYXR0ZW50aW9uLCBidXQgaXQncyBub3Qgc3VwZXIgaW1wb3J0YW50LlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWFsZXJ0IC1wcmltYXJ5LSAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdEhlYWRzIHVwISBUaGlzIGFsZXJ0IG5lZWRzIHlvdXIgYXR0ZW50aW9uLCBidXQgaXQncyBub3Qgc3VwZXIgaW1wb3J0YW50LlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1hbGVydCBfbWFqb3IgLXByaW1hcnktIC1zaGFkb3ctY3VydmUtXFxcIj4uLi48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItYWxlcnQgX2JpZyAtcHJpbWFyeS0gLXNoYWRvdy1saWZ0ZWQtXFxcIj4uLi48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItYWxlcnQgX2h1Z2UgLXByaW1hcnktIC1zaGFkb3ctY3VydmUtXFxcIj4uLi48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItYWxlcnQgX2RpdmluZSAtcHJpbWFyeS0gLXNoYWRvdy1saWZ0ZWQtXFxcIj4uLi48L2Rpdj5cXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIn0sXCJzdGFydFwiOntcInN0cnVjdHVyZVwiOntcInNvdXJjZXNcIjpcIjxoMj5Tb3VyY2VzIGZpbGUgc3RydWN0dXJlPC9oMj5cXG5cXG48dWwgY2xhc3M9XFxcImRldi1maWxldHJlZVxcXCI+XFxuPGxpPjxiPm1heG1lcnRraXQ8L2I+L1xcbjx1bD5cXG48bGk+bWtpdC5qc29uIDxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGEgLWVycm9yLVxcXCI+aGVyZSB5b3UgY2FuIGNoYW5nZSB0aGVtZXMgYW5kIHNpemVzIGZvciBldmVyeSB3aWRnZXQ8L3NtYWxsPjwvbGk+XFxuPGxpPjxiPmJ1aWxkPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmJ1aWxkZWQgdmVyc2lvbiBvZiBtYXhtZXJ0a2l0PC9zbWFsbD5cXG48dWw+XFxuPGxpPjxiPmNzczwvYj5cXG48dWw+XFxuPGxpPlxcbm1heG1lcnRraXQuY3NzXFxuPC9saT5cXG48bGk+XFxubWF4bWVydGtpdC5taW4teHh4eHh4eHguY3NzIDxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPm1pbmlmaWVkLCBnemlwcGVkIGFuZCByZXZ2ZWQgdmVyc2lvbiB0byBjbGVhciB1c2VyIGNhY2hlLjwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxubWF4bWVydGtpdC5taW4uY3NzIDxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPm1pbmlmaWVkIGFuZCBnemlwcGVkLiBVc2UgcmV2dmVkIHZlcnNpb24gdG8gcHJldmVudCB1c2VycyB1c2luZyBjYWNoZWQgY3NzLjwvc21hbGw+XFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuXFxuPGxpPjxiPmpzPC9iPlxcbjx1bD5cXG48bGk+XFxubWF4bWVydGtpdC5qc1xcbjwvbGk+XFxuPGxpPlxcbm1heG1lcnRraXQubWluLXh4eHh4eHh4LmpzIDxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPm1pbmlmaWVkLCBnemlwcGVkIGFuZCByZXZ2ZWQgdmVyc2lvbiB0byBjbGVhciB1c2VyIGNhY2hlLjwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxubWF4bWVydGtpdC5taW4uanMgPHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+bWluaWZpZWQgYW5kIGd6aXBwZWQuIFVzZSByZXZ2ZWQgdmVyc2lvbiB0byBwcmV2ZW50IHVzZXJzIHVzaW5nIGNhY2hlZCBjc3MuPC9zbWFsbD5cXG48L2xpPlxcbjwvdWw+XFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuXFxuPGxpPjxiPmNvZmZlZTwvYj48c21hbGwgY2xhc3M9XFxcImRldi1tZXRhIC1lcnJvci1cXFwiPmFsbCBtYXhtZXJ0a2l0IGNvZmZlZSBmaWxlczwvc21hbGw+XFxuPHVsPlxcbjxsaT5tYXhtZXJ0a2l0LmNvZmZlZVxcbjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmluY2x1ZGVzIGFsbCBtYWluIGhlbHBlcnMgdXNpbmcgaW4gZXZlcnkgcGx1Z2luLiBQcm90b3R5cGUgZm9yIGFsbCBwbHVnaW5zLjwvc21hbGw+XFxuPC9saT5cXG48bGk+YWZmaXguY29mZmVlPC9saT5cXG48bGk+YnV0dG9uLmNvZmZlZTwvbGk+XFxuPGxpPm1vZGFsLmNvZmZlZTwvbGk+XFxuPGxpPnBvcHVwLmNvZmZlZTwvbGk+XFxuPGxpPnNjcm9sbHNweS5jb2ZmZWU8L2xpPlxcbjxsaT50YWJzLmNvZmZlZTwvbGk+XFxuPC91bD5cXG48L2xpPlxcblxcbjxsaT48Yj5zYXNzPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGEgLWVycm9yLVxcXCI+YWxsIG1heG1lcnRraXQgc2FzcyBmaWxlczwvc21hbGw+XFxuPHVsPlxcbjxsaT5cXG48Yj5hbmltYXRpb25zPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmFsbCBhbmltYXRpb25zIGZvciBhbGwgd2lkZ2V0cyBzdG9yZXMgaGVyZTwvc21hbGw+XFxuPHVsPlxcbjxsaT5cXG48Yj5wdXNoZXM8L2I+PHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+b25seSBhbmltYXRpb25zIGZvciBwdXNoZXMgPGI+KG5vdCB1c2luZyByaWdodCBub3QpPC9iPjwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxuLi4uXFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuPGxpPlxcbjxiPmNvbW1vbjwvYj48c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj5nbG9iYWwgdmFyaWFibGVzLCByZXNldCwgaW5pdCwgbW9kaWZpZXJzIGxpc3QsIG1peGlucyBhbmQgdXRpbGl0aWVzIHN0b3JlcyBoZXJlPC9zbWFsbD5cXG48L2xpPlxcbjxsaT5cXG48Yj5zaXplczwvYj48c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj51c2FibGUgc2l6ZXMsIHJlbWViZXIgdGhhdCB5b3UgbmVlZCB0byBpbmNsdWRlIHNpemVzIGZvciBlYWNoIHdpZGdldCBzZXBhcmF0ZWxseTwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxuPGI+dGhlbWVzPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPnVzYWJsZSB0aGVtZXMsIHJlbWViZXIgdGhhdCB5b3UgbmVlZCB0byBpbmNsdWRlIHRoZW1lcyBmb3IgZWFjaCB3aWRnZXQgc2VwYXJhdGVsbHk8L3NtYWxsPlxcbjwvbGk+XFxuPGxpPlxcbjxiPndpZGdldHM8L2I+PHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+YWxsIHdpZGdldHMgYXJlIGhlcmU8L3NtYWxsPlxcbjx1bD5cXG48bGk+XFxuX3dpZGdldC1uYW1lLnNhc3MgPHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+aW1wb3J0IGZpbGVzIGZyb20gZm9sZGVyIDxiPndpZGdldC1uYW1lPC9iPjsgdGhlcmUgbWF5IGJlIGRpZmZlcmVudCB0eXBlcyBvciBwYXJ0cyBvZiB3aWRnZXQgPGI+d2lkZ2V0LW5hbWU8L2I+Ljwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxuPGI+d2lkZ2V0LW5hbWU8L2I+PHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+dHlwZXMgb3IgcGFydHMgb2Ygd2lkZ2V0IDxiPndpZGdldC1uYW1lPC9iPjwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxuLi4uXFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuPGxpPlxcbm1haW4uc2FzcyA8c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj50aGUgb25seSBjb21waWxpbmcgZmlsZTsgaW1wb3J0cyBhbGwgbWF4bWVydGtpdCBzdHVmZjwvc21hbGw+XFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuXFxuPGxpPlxcbjxiPmpzPC9iPlxcbjx1bD5cXG48bGk+XFxubWF4bWVydGtpdC5qcyA8c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj48Yj5ub3QgbWluaWZpZWQ8L2I+IG1heG1lcnRraXQganMgcGx1Z2luczwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxuPGIgY2xhc3M9XFxcImRldi1tZXRhXFxcIj5ib3dlcjwvYj5cXG48L2xpPlxcbjwvdWw+XFxuPC9saT5cXG5cXG48bGk+XFxuPGI+Y3NzPC9iPlxcbjx1bD5cXG48bGk+XFxubWFpbi5jc3MgPHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+PGI+bm90IG1pbmlmaWVkPC9iPiBjc3Mgb2YgdGhlIG1heG1lcnRraXQ8L3NtYWxsPlxcbjwvbGk+XFxuPC91bD5cXG48L2xpPlxcblxcbjxsaT48Yj5kb2NzPC9iPlxcbjx1bD5cXG48bGk+PGI+Y29mZmVlPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmRvY3VtZW50YXRpb24gYXBwPC9zbWFsbD5cXG48dWw+XFxuPGxpPi4uLjwvbGk+XFxuPGxpPmNvbnRlbnRzLmNvZmZlZVxcbjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPm1haW4gbWVudSBhbmQgYXBwbGljYXRpb24gY29udGVudHM8L3NtYWxsPlxcbjwvbGk+XFxuPC91bD5cXG48L2xpPlxcblxcbjxsaT48Yj5jc3M8L2I+PHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+bWF4bWVydGtpdCBhbmQgZGV2ZWxvcGVyIGNzczwvc21hbGw+PC9saT5cXG48bGk+PGI+aW1nPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmltYWdlcyBuZWVkZWQgZm9yIGRvY3M8L3NtYWxsPjwvbGk+XFxuPGxpPjxiPmpzPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmFsbCBqcyBmb3IgZG9jdW1lbnRhdGlvbjwvc21hbGw+XFxuPHVsPlxcbjxsaT48Yj5ib3dlcjwvYj5cXG48c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj5ib3dlciBsaWJyYXJpZXMgZm9yIGRvY3VtZW50YXRpb24uPC9zbWFsbD5cXG48L2xpPlxcbjxsaT48Yj5saWJzPC9iPlxcbjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPm5vdCBib3dlcmVkIGxpYnJhcmllcyBmb3IgZG9jdW1lbnRhdGlvbi48L3NtYWxsPlxcbjwvbGk+XFxuPGxpPmFwcC5qcyA8c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj5tYWluIGFwcC48L3NtYWxsPjwvbGk+XFxuPGxpPm1heG1lcnRraXQuanM8L2xpPlxcbjxsaT50ZW1wbGF0ZXMuanMgPHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+YWxsIGNvbXBpbGVkIHRlbXBsYXRlcyBmb3IgZG9jcy48L3NtYWxsPjwvbGk+XFxuPGxpPi4uLjwvbGk+XFxuPC91bD5cXG48L2xpPlxcblxcbjxsaT48Yj5zYXNzPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmRldmVsb3BlciBzYXNzLCBvbmx5IGZvciBkb2NzLjwvc21hbGw+PC9saT5cXG48bGk+PGI+c2VydmVyPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPnNlcnZlciBhcHAgb24gbm9kZWpzIGZvciBkb2NzLjwvc21hbGw+PC9saT5cXG48bGk+PGI+dGVtcGxhdGVzPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPnRlbXBsYXRlcyBmb3IgZG9jczwvc21hbGw+XFxuPHVsPlxcbjxsaT48Yj5jb21tb248L2I+PHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+YmFzZSB0ZW1wbGF0ZXMgZm9yIGFwcGxpY2F0aW9uPC9zbWFsbD48L2xpPlxcbjxsaT48Yj5raXQ8L2I+PHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YSAtZXJyb3ItXFxcIj48Yj5hbGwgZG9jdW1lbnRhdGlvbiB0ZW1wbGF0ZXMgYXJlIGhlcmU7IGlmIHlvdSB3YW50IHRvIGZpeCB0ZXh0IGVycm9ycyBpbiBkb2NzLCBjb250cmlidXRlIGFuZCBmaXggdGhlbSBoZXJlPC9iPjwvc21hbGw+PC9saT5cXG48bGk+NDA0Lmh0bWw8L2xpPlxcbjxsaT5tYWluLmh0bWw8L2xpPlxcbjwvdWw+XFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuXFxuPGxpPlxcbjxiPnRlc3Q8L2I+XFxuPC9saT5cXG5cXG48bGk+XFxudG9kby5tZCA8c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj5hbGwgdG9kb3MgdHJvdWdoIGFsbCBtYXhtZXJ0a2l0IGpzIGZpbGVzPC9zbWFsbD5cXG48L2xpPlxcbjwvdWw+XFxuPC9saT5cXG48L3VsPlxcblwiLFwiY29tbW9uXCI6XCI8aDE+U3RydWN0dXJlPC9oMT5cXG5cXG48cCBjbGFzcz1cXFwiX2JpZ1xcXCI+VGhlcmUgYXJlIHR3byBkb3dubG9hZGFibGUgZm9ybSBvZiBtYXhtZXJ0a2l0OiBidWlsZCBhbmQgc291cmNlcy4gSW4gZWFjaCBjYXNlIHlvdSdsbCBoYXZlIGRpZmZlcmVudCBmaWxlIHN0cnVjdHVyZS48L3A+XFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+XFxuTm90ZSB0aGF0IE1heG1lcnRraXQgamF2YXNjcmlwdCBwbHVnaW5zIDxiPkRPTidUIHJlcXVpcmU8L2I+IGpRdWVyeSBmcm9tIHZlcnNpb24gMS4wLjIgKHNlZSA8YSBocmVmPVxcXCIvY2hhbmdlbG9nXFxcIj5jaGFuZ2Vsb2c8L2E+KS5cXG48YnI+XFxuVG8gY29tcGlsZSBtYXhtZXJ0a2l0LnNhc3MgeW91J2xsIG5lZWQgYSA8YSBocmVmPVxcXCJodHRwOi8vYm91cmJvbi5pby9cXFwiIGRhdGEtYnlwYXNzPkJvdXJib248L2E+IGFuZCA8YSBocmVmPVxcXCJodHRwOi8vbmVhdC5ib3VyYm9uLmlvL1xcXCIgZGF0YS1ieXBhc3M+TmVhdDwvYT4uIEp1c3QgdXNlIGJvd2VyIHRvIGluc3RhbGwgaXQgKHNlZSBpbnN0cnVjdGlvbnMgYmVsb3cpLlxcbjwvYmxvY2txdW90ZT5cXG5cIixcImJ1aWxkXCI6XCI8aDI+UHJlYnVpbGRlZCBmaWxlIHN0cnVjdHVyZTwvaDI+XFxuXFxuPHA+RXZlcnl0aGluZyBpcyB2ZXJ5IGVhc3kgaGVyZS4gSnVzdCBpbmNsdWRlIDxiPm1pbjwvYj4gZmlsZXMgdG8geW91ciBwcm9qZWN0LjwvcD5cXG5cXG48dWwgY2xhc3M9XFxcImRldi1maWxldHJlZVxcXCI+XFxuPGxpPjxiPm1heG1lcnRraXQ8L2I+L1xcbjx1bD5cXG48bGk+PGI+Y3NzPC9iPi9cXG48dWwgY2xhc3M9XFxcIlxcXCI+XFxuPGxpPm1heG1lcnRraXQuY3NzPC9saT5cXG48bGk+bWF4bWVydGtpdC5taW4uY3NzIDxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmd6aXBwZWQgYnVpbGRlZCB2ZXJzaW9uIG9mIG1heG1lcnRraXQsIGluY2x1ZGVzIGFsbCB0aGVtZXMgYW5kIGFsbCBzaXplcyBmb3IgZWFjaCB3aWRnZXQuPC9zbWFsbD48L2xpPlxcbjwvdWw+XFxuPC9saT5cXG48bGk+PGI+anM8L2I+L1xcbjx1bCBjbGFzcz1cXFwiXFxcIj5cXG48bGk+bWF4bWVydGtpdC5qcyA8c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj5jb25jYXRlbmF0ZWQgbWF4bWVydGtpdCBwbHVnaW5zLjwvc21hbGw+PC9saT5cXG48bGk+bWF4bWVydGtpdC5taW4uanMgPHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+bWluaWZpZWQgYW5kIGd6aXBwZWQuPC9zbWFsbD48L2xpPlxcbjwvdWw+XFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuPC91bD5cXG5cIn0sXCJob3d0b1wiOntcInRoZW1lTWFuYWdlXCI6XCI8aDM+QWRkIGFuZCBtYW5hZ2UgdGhlbWVzPC9oMz5cXG5cXG48cD5cXG5cXHQ8aWZyYW1lIHdpZHRoPVxcXCI1NjBcXFwiIGhlaWdodD1cXFwiNDIwXFxcIiBzcmM9XFxcIi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3B3eG1rb0F1SWNJXFxcIiBmcmFtZWJvcmRlcj1cXFwiMFxcXCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPlxcbjwvcD5cXG5cXG48cD5cXG5cXHRGaXJzdCB5b3UgbmVlZCB0byBydW4gPGNvZGU+JCBndWxwPC9jb2RlPi4gUmVhZCBhYm91dCB0aGlzIGluIDxhIGhyZWY9XFxcIi9zdGFydCNob3d0b0J1aWxkXFxcIiBkYXRhLWJ5cGFzcz5ob3cgdG8gYnVpbGQ8L2E+IHNlY3Rpb24uXFxuPC9wPlxcblxcbjxwPlxcblxcdFRvIGVkaXQgdGhlbWVzIGp1c3QgZG86XFxuXFx0PG9sPlxcblxcdFxcdDxsaT5cXG5cXHRcXHRcXHRHbyB0byA8Yj5zYXNzL3RoZW1lczwvYj4gZm9sZGVyLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdE9wZW4gdGhlbWUgZmlsZS5cXG5cXHRcXHQ8L2xpPlxcblxcdFxcdDxsaT5cXG5cXHRcXHRcXHRFZGl0IDxjb2RlPiR0aGVtZTwvY29kZT4gdmFyaWFibGUuXFxuXFx0XFx0PC9saT5cXG5cXHQ8L29sPlxcbjwvcD5cXG5cXG5cXG48cD5cXG5cXHRUbyBhZGQgYSBuZXcgdGhlbWVzIGRvOlxcblxcdDxvbD5cXG5cXHRcXHQ8bGk+XFxuXFx0XFx0XFx0R28gdG8gPGI+c2Fzcy90aGVtZXM8L2I+IGZvbGRlci5cXG5cXHRcXHQ8L2xpPlxcblxcdFxcdDxsaT5cXG5cXHRcXHRcXHREdWJsaWNhdGUgYW55IHRoZW1lIGZpbGUgKG9yIHVzZSB0aGlzIGdpc3QgJm1kYXNoOyA8YSBocmVmPVxcXCJodHRwczovL2dpc3QuZ2l0aHViLmNvbS9tYXhtZXJ0L2FiYzk3ODg3NDg3NTYwODIyNWU3XFxcIiB0YXJnZXQ9XFxcIl9ibGFua1xcXCIgZGF0YS1ieXBhc3M+bWF4bWVydGtpdFRoZW1lPC9hPikuIFJlbWVtYmVyIHRoYXQgZmlsZW5hbWUgc2hvdWxkIGJlZ2luIHdpdGggdW5kZXJzY29yZSAoPGI+XzwvYj4pLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdEVkaXQgPGNvZGU+JHRoZW1lPC9jb2RlPiB2YXJpYWJsZS5cXG5cXHRcXHQ8L2xpPlxcblxcdFxcdDxsaT5cXG5cXHRcXHRcXHRJbmNsdWRlIHRoZW1lIGZpbGUgaW4gPGI+c2Fzcy9tYWluLnNhc3M8L2I+XFxuXFx0XFx0PC9saT5cXG5cXHRcXHQ8bGk+XFxuXFx0XFx0XFx0QWRkIHRoZW1lIHRvIHdpZGdldHMgaW4gPGI+bWtpdC5qc29uPC9iPlxcblxcdFxcdDwvbGk+XFxuXFx0PC9vbD5cXG48L3A+XFxuXCIsXCJzaXplTWFuYWdlXCI6XCI8aDM+QWRkIGFuZCBtYW5hZ2Ugc2l6ZXM8L2gzPlxcblxcbjxwPlxcblxcdDxpZnJhbWUgd2lkdGg9XFxcIjU2MFxcXCIgaGVpZ2h0PVxcXCIzMTVcXFwiIHNyYz1cXFwiLy93d3cueW91dHViZS5jb20vZW1iZWQvaVNUTjRhSXJCSElcXFwiIGZyYW1lYm9yZGVyPVxcXCIwXFxcIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+XFxuPC9wPlxcblxcbjxwPlxcblxcdEZpcnN0IHlvdSBuZWVkIHRvIHJ1biA8Y29kZT4kIGd1bHA8L2NvZGU+LiBSZWFkIGFib3V0IHRoaXMgaW4gPGEgaHJlZj1cXFwiL3N0YXJ0I2hvd3RvQnVpbGRcXFwiIGRhdGEtYnlwYXNzPmhvdyB0byBidWlsZDwvYT4gc2VjdGlvbi5cXG48L3A+XFxuXFxuPHA+XFxuXFx0VG8gZWRpdCBzaXplcyBqdXN0IGRvOlxcblxcdDxvbD5cXG5cXHRcXHQ8bGk+XFxuXFx0XFx0XFx0R28gdG8gPGI+c2Fzcy9zaXplczwvYj4gZm9sZGVyLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdE9wZW4gc2l6ZSBmaWxlLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdEVkaXQgPGNvZGU+JHNpemU8L2NvZGU+IHZhcmlhYmxlLlxcblxcdFxcdDwvbGk+XFxuXFx0PC9vbD5cXG48L3A+XFxuXFxuXFxuPHA+XFxuXFx0VG8gYWRkIGEgbmV3IHNpemVzIGRvOlxcblxcdDxvbD5cXG5cXHRcXHQ8bGk+XFxuXFx0XFx0XFx0R28gdG8gPGI+c2Fzcy9zaXplczwvYj4gZm9sZGVyLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdER1YmxpY2F0ZSBhbnkgc2l6ZSBmaWxlIChvciB1c2UgdGhpcyBnaXN0ICZtZGFzaDsgPGEgaHJlZj1cXFwiaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vbWF4bWVydC9kMTA2NTk5ZDZhMDhkYjFiMjEyMlxcXCIgdGFyZ2V0PVxcXCJfYmxhbmtcXFwiIGRhdGEtYnlwYXNzPm1heG1lcnRraXRTaXplPC9hPikuIFJlbWVtYmVyIHRoYXQgZmlsZW5hbWUgc2hvdWxkIGJlZ2luIHdpdGggdW5kZXJzY29yZSAoPGI+XzwvYj4pLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdEVkaXQgPGNvZGU+JHNpemU8L2NvZGU+IHZhcmlhYmxlLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdEluY2x1ZGUgc2l6ZSBmaWxlIGluIDxiPnNhc3MvbWFpbi5zYXNzPC9iPlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdEFkZCBzaXplIHRvIHdpZGdldHMgaW4gPGI+bWtpdC5qc29uPC9iPlxcblxcdFxcdDwvbGk+XFxuXFx0PC9vbD5cXG48L3A+XFxuXCIsXCJpbnN0YWxsXCI6XCI8aDM+SW5zdGFsbDwvaDM+XFxuPHA+WW91IGNhbiBkbyBpdCBpbiBzZXZlcmFsIHdheXMuIEdvIHRvIHNlY3Rpb24gPGEgaHJlZj1cXFwiI2Rvd2xvYWRDb21tb25cXFwiIGRhdGEtYnlwYXNzPmRvd25sb2FkPC9hPi48L3A+XCIsXCJjb21tb25cIjpcIjxoMT5Ib3d0bz88L2gxPlxcblxcbjxwIGNsYXNzPVxcXCJfYmlnXFxcIj5IZXJlIEknbGwgdGVsbCB5b3UgaG93IHRvIGRvIGRpZmZlcmVudCB0aGluZ3MuIFBsZWFzZSwgPGEgaHJlZj1cXFwiaHR0cHM6Ly9naXRodWIuY29tL21heG1lcnQvbWF4bWVydGtpdC9pc3N1ZXNcXFwiIGRhdGEtYnlwYXNzPmFkZCBuZXcgaXNzdWUgd2l0aCBsYWJlbCA8Y29kZT5xdWVzdGlvbjwvY29kZT48L2E+IGFuZCBJJ2xsIGFkZCBhbnN3ZXJzIGhlcmUuPC9wPlwiLFwiYnVpbGRcIjpcIjxoMz5CdWlsZDwvaDM+XFxuXFxuPHA+XFxuXFx0PGlmcmFtZSB3aWR0aD1cXFwiNTYwXFxcIiBoZWlnaHQ9XFxcIjMxNVxcXCIgc3JjPVxcXCIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9UZXRCZTFMWVllUVxcXCIgZnJhbWVib3JkZXI9XFxcIjBcXFwiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT5cXG48L3A+XFxuXFxuPHA+XFxuXFx0PHVsPlxcblxcdFxcdDxsaT5Eb3dubG9hZCBzb3VyY2VzLjwvbGk+XFxuXFx0XFx0PGxpPkluIHRlcm1pbmFsIGRvOlxcblxcdFxcdFxcdDxvbD5cXG5cXHRcXHRcXHRcXHQ8bGk+Z28gdG8geW91IHNvdXJjZXMgZm9sZGVyOzwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPnJ1biA8Y29kZT5ucG0gaW5zdGFsbDwvY29kZT47PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+cnVuIDxjb2RlPmJvd2VyIGluc3RhbGw8L2NvZGU+OzwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPmdvIHRvIDxiPmRvY3M8L2I+IGZvbGRlciB3aXRoIGNvbW1hbmQgPGNvZGU+Y2QgZG9jczwvY29kZT47PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+cnVuIDxjb2RlPmJvd2VyIGluc3RhbGw8L2NvZGU+OzwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPmdvIGJhY2sgdG8geW91ciBzb3VyY2VzIGZvbGRlciBieSB0eXBpbmcgPGNvZGU+Y2QgLi48L2NvZGU+OzwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPnJ1biA8Y29kZT5ndWxwPC9jb2RlPi48L2xpPlxcblxcdFxcdFxcdDwvb2w+XFxuXFx0XFx0PC9saT5cXG5cXHRcXHQ8bGk+SW4geW91IGJyb3dzZXIgZ28gdG8gPGNvZGU+aHR0cDovLzEyNy4wLjAuMTozMzMzLzwvY29kZT48L2xpPlxcblxcdDwvdWw+XFxuXFxuXFx0SWYgeW91IHdhbnQgdG8gYnVsZCBtaW5pZmllZCBzb3VyY2VzLCBpbiBzdWJzdGVwIDxiPjc8L2I+IHJ1biA8Y29kZT5ndWxwIGJ1aWxkPC9jb2RlPi5cXG48L3A+XFxuXCJ9LFwiZG93bmxvYWRcIjpcIjxzZWN0aW9uPlxcbjxoMT5Eb3dubG9hZDwvaDE+XFxuXFxuPHAgY2xhc3M9XFxcIl9iaWdcXFwiPlRoZXJlIGFyZSBzZXZlcmFsIHdheXMgdG8gZG93bmxvYWQgYW5kIHVzZSBtYXhtZXJ0a2l0LiBUaGUgcmVjb21tZW5kZWQgb25lIGlzIHRvIGRvd25sb2FkIGFsbCBzb3VyY2VzIGFuZCBidWlsZCBmcmFtZXdvcmsgdGhhdCBzdWl0ZXMgb25seSB5b3UuIEl0IHdpbGwgYmUgZWFzaWVyLCBsaWdodGVyIGFuZCBmYXN0ZXIgdGhhbiBhbnkgZnJhbWV3b3JrLjwvcD48YnI+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbDVcXFwiPlxcbjxwPjxhIGhyZWY9XFxcImh0dHBzOi8vZ2l0aHViLmNvbS9tYXhtZXJ0L21heG1lcnRraXQvcmVsZWFzZXMvZG93bmxvYWQvdnt7dmVyc2lvbn19L21heG1lcnRraXQtdnt7dmVyc2lvbn19LWJ1aWxkLnppcFxcXCIgY2xhc3M9XFxcImRldi12ZXJzaW9uLWhyZWYgLWJ0bi1ib3JkZXJlZCBfYmlnIC1wcmltYXJ5LVxcXCIgZGF0YS1ieXBhc3M+R2V0IGJ1aWxkIDxzcGFuIGNsYXNzPVxcXCJkZXYtdmVyc2lvbi1zcGlubmVyIC1wcmltYXJ5LSAtc3Bpbm5lci1mYiBfc21hbGxcXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L3NwYW4+PC9hPjwvcD5cXG48cD5cXG5Db21waWxlZCBhbmQgbWluaWZpZWQgQ1NTIGFuZCBKUywgbm90aGluZyBtb3JlLiBCdWlsZCBpbmNsdWRlcyBhbGwgdGhlbWVzIGFuZCBhbGwgc2l6ZXMgZm9yIGV2ZXJ5IHdpZGdldCBpbiBtYXhtZXJ0a2l0LiBJdCBwcmV0dHkgaGVhdnkuXFxuPC9wPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1jb2w1IC1vZmZzZXQxXFxcIj5cXG48cD48YSBocmVmPVxcXCJodHRwczovL2dpdGh1Yi5jb20vbWF4bWVydC9tYXhtZXJ0a2l0L2FyY2hpdmUvdnt7dmVyc2lvbn19LnppcFxcXCIgY2xhc3M9XFxcImRldi12ZXJzaW9uLWhyZWYgLWJ0bi1ib3JkZXJlZCBfYmlnIC1wcmltYXJ5LVxcXCIgZGF0YS1ieXBhc3M+R2V0IHNvdXJjZXMgPHNwYW4gY2xhc3M9XFxcImRldi12ZXJzaW9uLXNwaW5uZXIgLXByaW1hcnktIC1zcGlubmVyLWZiIF9zbWFsbFxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvc3Bhbj48L2E+PC9wPlxcbjxwPlxcbkluY2x1ZGVzIGFsbCBkb2NzIGFuZCBhbGwgc291cmNlcy4gQWxzbyBpbmNsdWRlcyBidWlsZC4gU2VlIGluc3RydWN0aW9ucyBob3cgdG8gdXNlIGFuZCBjb21waWxlIGJlbG93LiA8Yj5SZXF1aXJlIHNvbWUgZWFzaWVzdCBpbnN0YWxsYXRpb25zPC9iPi4gQWZ0ZXIgdGhhdCB5b3UnbGwgaGF2ZSB0aGlzIHNpdGUgb24geW91ciBkZXNrdG9wLlxcbjwvcD5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L3NlY3Rpb24+XFxuXFxuXFxuXFxuPHNlY3Rpb24+XFxuPGgyPkNETjwvaDI+XFxuXFxuPHA+UGxlYXNlLCB1c2UgQ0ROIGxpbmtzIHRvIGp1c3QgaW5jbHVkZSBtYXhtZXJ0a2l0IHRvIHlvdXIgcHJvamVjdHMuPC9wPlxcblxcbjxwcmUgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+Jmx0OyEtLSBMYXRlc3QgY29tcGlsZWQgYW5kIG1pbmlmaWVkIENTUyAtLSZndDtcXG4mbHQ7bGluayByZWw9XFxcInN0eWxlc2hlZXRcXFwiIGhyZWY9XFxcIi8vY2RuLmpzZGVsaXZyLm5ldC9tYXhtZXJ0a2l0L3t7dmVyc2lvbn19L2Nzcy9tYXhtZXJ0a2l0LmNzc1xcXCImZ3Q7XFxuXFxuJmx0OyEtLSBMYXRlc3QgY29tcGlsZWQgYW5kIG1pbmlmaWVkIEphdmFTY3JpcHQgLS0mZ3Q7XFxuJmx0O3NjcmlwdCBzcmM9XFxcIi8vY2RuLmpzZGVsaXZyLm5ldC9tYXhtZXJ0a2l0L3t7dmVyc2lvbn19L2pzL21heG1lcnRraXQuanNcXFwiJmd0OyZsdDsvc2NyaXB0Jmd0OzwvcHJlPlxcbjwvc2VjdGlvbj5cXG5cXG5cXG5cXG5cXG48c2VjdGlvbj5cXG48aDI+Qm93ZXI8L2gyPlxcblxcbjxwPkluc3RhbGwgYW5kIG1hbmFnZSB3aXRoIEJvd2VyPC9wPlxcblxcbjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1iYXNoXFxcIj4kIGJvd2VyIGluc3RhbGwgbWF4bWVydGtpdDwvcHJlPlxcbjwvc2VjdGlvbj5cXG5cIixcImRpZmZlcmVuY2VcIjpcIjxoMT5EaWZmZXJlbmNlPC9oMT5cXG5cXG48cD5cXG5cXHQ8c3BhbiBjbGFzcz1cXFwiX2h1Z2VcXFwiPlxcblxcdFxcdFRoZXJlIGFyZSBzb21lIGJhc2ljIGRpZmZlcmVuY2VzIHdpdGggb3RoZXIgZnJhbWV3b3Jrcy5cXG5cXHQ8L3NwYW4+XFxuPC9wPlxcblxcbjxvbD5cXG48bGk+XFxuXFx0PGI+QXV0byBidWlsZCB0aGVtZXMgYW5kIHNpemVzPC9iPi4gSnVzdCBlZGl0IDxjb2RlPm1raXQuanNvbjwvY29kZT4gdG8gYWRkIG9yIHJlbW92ZSB0aGVtZSBvciBzaXplIHRvIGFueSB3aWRnZXQuXFxuPC9saT5cXG48bGk+XFxuPGI+TW9kdWxhcml0eTwvYj4uIEV4Y2x1ZGUgYW55IHNhc3Mgd2lkZ2V0IGZyb20gbWF4bWVydGtpdCBhbmQgZXZlcnl0aGluZyB3aWxsIHdvcmsgd2VsbC5cXG48L2xpPlxcbjwhLS0gPGxpPlxcbjxwPjxiPkFueSB0aGVtZSB0byBhbnkgd2lkZ2V0PC9iPi4gTG9vayBhdCB0aGUgZmlsZSBzdHJ1Y3R1cmUgb2YgdGhlIG1heG1lcnRraXQuIFlvdSB3aWxsIGZpbmQgb3V0IHRoYXQgZWFjaCB3aWRnZXQgaGFzIGZvbGRlciB3aXRoIDxjb2RlPl90aGVtZXMuc2FzczwvY29kZT4gZmlsZSBpbnNpZGUuIFRoaXMgZmlsZSBzdG9yZXMgYWxsIHRoZW1lcyB5b3Ugd2FudCB0byBhcHBseSB0byB0aGlzIHdpZGdldC48L3A+XFxuPHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPlxcbiR0aGVtZXM6ICggZGVmYXVsdCBwcmltYXJ5IGVycm9yIGluZm8gd2FybmluZyBkYXJrIClcXG48L3ByZT5cXG48cD5DaGFuZ2UgaXQgYW5kIHVzZSB3aXRoIGN1cnJlbnQgd2lkZ2V0IG9ubHkgdGhlbWVzIHlvdSB3YW50LjwvcD5cXG48L2xpPlxcbjxsaT5cXG48cD48Yj5Bbnkgc2l6ZSB0byBhbnkgd2lkZ2V0PC9iPi4gRWFjaCB3aWRnZXQgaGFzIGZvbGRlciB3aXRoIDxjb2RlPl9zaXplcy5zYXNzPC9jb2RlPiBmaWxlIGluc2lkZS4gVGhpcyBmaWxlIHN0b3JlcyBhbGwgc2l6ZXMgeW91IHdhbnQgdG8gYXBwbHkgdG8gdGhpcyB3aWRnZXQuPC9wPlxcbjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj5cXG4kc2l6ZXM6ICggc21hbGwgbWlub3Igbm9ybWFsIG1ham9yIGJpZyBodWdlIGRpdmluZSApXFxuPC9wcmU+XFxuPHA+Q2hhbmdlIGl0IGFuZCB1c2Ugd2l0aCBjdXJyZW50IHdpZGdldCBvbmx5IHNpemVzIHlvdSB3YW50LjwvcD5cXG48L2xpPiAtLT5cXG48bGk+PGI+TmFtZXNwYWNlczwvYj4uXFxuXFx0PHVsPlxcblxcdFxcdFxcdDxsaT48aT4td2lkZ2V0PC9pPiAmbWRhc2g7IHdpZGdldCwgZm9yIGV4YW1wbGUgPGNvZGU+LWJ0bjwvY29kZT48L2xpPlxcblxcdFxcdFxcdDxsaT48aT4tdGhlbWUtPC9pPiAmbWRhc2g7IHRoZW1lLCBmb3IgZXhhbXBsZSA8Y29kZT4tcHJpbWFyeS08L2NvZGU+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGk+X3NpemU8L2k+ICZtZGFzaDsgc2l6ZSwgZm9yIGV4YW1wbGUgPGNvZGU+X21ham9yPC9jb2RlPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxpPl9tb2RpZmllcl88L2k+ICZtZGFzaDsgbW9kaWZpZXIsIGZvciBleGFtcGxlIDxjb2RlPl9hY3RpdmVfPC9jb2RlPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxpPi1hbmltYXRpb24tLTwvaT4gJm1kYXNoOyBhbmltYXRpb24sIGZvciBleGFtcGxlIDxjb2RlPi1mYWRlaW4tLTwvY29kZT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxwPkZyb20gbm93IHlvdSByZWFsbHkgY2FuIHNheSB3aGF0IGhhcHBlbiBiZWxvdzwvcD5cXG5cXHRcXHRcXG5cXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItbWVudSAtcHJpbWFyeS1cXFwiPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPlxcblxcdFxcdDxhPk1lbnUgaXRlbSAxPC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIC1kb29yLS1cXFwiPlxcblxcdFxcdFxcdC4uLlxcblxcdFxcdDwvZGl2PlxcblxcdDwvbGk+XFxuXFx0PGxpPlxcblxcdFxcdDxhPk1lbnUgaXRlbSAxPC9hPlxcblxcdDwvbGk+XFxuXFx0PGxpIGNsYXNzPVxcXCJfZGlzYWJsZWRfXFxcIj5cXG5cXHRcXHQ8YT5NZW51IGl0ZW0gMTwvYT5cXG5cXHQ8L2xpPlxcbjwvdWw+PC9wcmU+XFxuPC9saT5cXG48L29sPlxcblwifSxcImJhc2ljXCI6e1widHlwb2dyYXBoeVwiOntcInJ0bFwiOlwiPGgyPlJUTCAocmlnaHQgdG8gbGVmdCkgc3VwcG9ydDwvaDI+XFxuXFxuPHA+XFxuVGhlcmUgaXMgYSBSVEwgc3VwcG9ydCBpbiBtYXhtZXJ0a2l0LiBKdXN0IHVzZSA8Y29kZT5kaXI9XFxcInJ0bFxcXCI8L2NvZGU+IHdpdGggYmxvY2sgZWxlbWVudHMuXFxuPC9wPlxcblxcbjxibG9ja3F1b3RlIGNpdGU9XFxcImh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3Byb3BlcnRpZXMvZC9kaXJlY3Rpb24vXFxcIiBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBnbyB0byA8YSBocmVmPVxcXCJodHRwOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL2QvZGlyZWN0aW9uL1xcXCIgZGF0YS1ieXBhc3M+Y3NzLXRyaWNrczwvYT4uXFxuPC9ibG9ja3F1b3RlPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcbjxkaXYgZGlyPVxcXCJydGxcXFwiPlxcblRoaXMgdGV4dCB3aWxsIGdvIHJpZ2h0IHRvIGxlZnQuXFxuPC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5cXG48ZGl2IGRpcj1cXFwicnRsXFxcIj5cXG5UaGlzIHRleHQgd2lsbCBnbyByaWdodCB0byBsZWZ0LlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcbjxwPlxcblRvIHVzZSBpbnNpZGUgaW5saW5lIGVsZW1lbnRzIHVzZSB0YWcgPGNvZGU+YmRvPC9jb2RlPjpcXG48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuPHA+PGJkbyBkaXI9XFxcInJ0bFxcXCI+VGhpcyB0ZXh0IHdpbGwgZ28gcmlnaHQgdG8gbGVmdC48L2Jkbz48L3A+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48cD48YmRvIGRpcj1cXFwicnRsXFxcIj5UaGlzIHRleHQgd2lsbCBnbyByaWdodCB0byBsZWZ0LjwvYmRvPjwvcD48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIixcImxpc3RzXCI6XCI8IS0tID09PT09PT09PT09PSBMSVNUUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPkxpc3RzPC9oMj5cXG5cXG48IS0tID09PT09PT09PT09PSBWYXJpYWJsZXMgLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM6PC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kbGlzdC1pdGVtLWlubGluZS1wYWRkaW5nOiA1cHg8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuXFxuXFxuPGgzPlVub3JkZXJlZDwvaDM+XFxuPHA+QSBsaXN0IG9mIGl0ZW1zIGluIHdoaWNoIHRoZSBvcmRlciBkb2VzIG5vdCBleHBsaWNpdGx5IG1hdHRlci48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHVsPlxcblxcdFxcdDxsaT5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDwvbGk+XFxuXFx0XFx0PGxpPkNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdDwvbGk+XFxuXFx0XFx0PGxpPkludGVnZXIgbW9sZXN0aWUgbG9yZW0gYXQgbWFzc2E8L2xpPlxcblxcdFxcdDxsaT5GYWNpbGlzaXMgaW4gcHJldGl1bSBuaXNsIGFsaXF1ZXQ8L2xpPlxcblxcdFxcdDxsaT5OdWxsYSB2b2x1dHBhdCBhbGlxdWFtIHZlbGl0XFxuXFx0XFx0XFx0PHVsPlxcblxcdFxcdFxcdFxcdDxsaT5QaGFzZWxsdXMgaWFjdWxpcyBuZXF1ZTwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPlB1cnVzIHNvZGFsZXMgdWx0cmljaWVzPC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+VmVzdGlidWx1bSBsYW9yZWV0IHBvcnR0aXRvciBzZW08L2xpPlxcblxcdFxcdFxcdFxcdDxsaT5WZXN0aWJ1bHVtIGxhb3JlZXQgcG9ydHRpdG9yIHNlbVxcblxcdFxcdFxcdFxcdFxcdDx1bD5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+UGhhc2VsbHVzIGlhY3VsaXMgbmVxdWU8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5QdXJ1cyBzb2RhbGVzIHVsdHJpY2llczwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPlZlc3RpYnVsdW0gbGFvcmVldCBwb3J0dGl0b3Igc2VtPC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWMgdHJpc3RpcXVlIGxpYmVybyB2b2x1dHBhdCBhdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdFxcdDxsaT5BYyB0cmlzdGlxdWUgbGliZXJvIHZvbHV0cGF0IGF0PC9saT5cXG5cXHRcXHRcXHQ8L3VsPlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPkZhdWNpYnVzIHBvcnRhIGxhY3VzIGZyaW5naWxsYSB2ZWw8L2xpPlxcblxcdFxcdDxsaT5BZW5lYW4gc2l0IGFtZXQgZXJhdCBudW5jPC9saT5cXG5cXHRcXHQ8bGk+RWdldCBwb3J0dGl0b3IgbG9yZW08L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dWw+XFxuPGxpPi4uLjwvbGk+XFxuPGxpPi4uLlxcblxcdDx1bD5cXG5cXHRcXHQ8bGk+Li4uPC9saT5cXG5cXHQ8L3VsPlxcbjwvbGk+XFxuPC91bD48L3ByZT48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48aDM+T3JkZXJlZDwvaDM+XFxuPHA+QSBsaXN0IG9mIGl0ZW1zIGluIHdoaWNoIHRoZSBvcmRlciBkb2VzIGV4cGxpY2l0bHkgbWF0dGVyLjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8b2w+XFxuXFx0XFx0XFx0PGxpPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PC9saT5cXG5cXHRcXHRcXHQ8bGk+Q29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0PC9saT5cXG5cXHRcXHRcXHQ8bGk+SW50ZWdlciBtb2xlc3RpZSBsb3JlbSBhdCBtYXNzYTwvbGk+XFxuXFx0XFx0XFx0PGxpPkZhY2lsaXNpcyBpbiBwcmV0aXVtIG5pc2wgYWxpcXVldDwvbGk+XFxuXFx0XFx0XFx0PGxpPk51bGxhIHZvbHV0cGF0IGFsaXF1YW0gdmVsaXRcXG5cXHRcXHRcXHRcXHQ8b2w+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPlBoYXNlbGx1cyBpYWN1bGlzIG5lcXVlPC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+UHVydXMgc29kYWxlcyB1bHRyaWNpZXM8L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaT5WZXN0aWJ1bHVtIGxhb3JlZXQgcG9ydHRpdG9yIHNlbTwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPlZlc3RpYnVsdW0gbGFvcmVldCBwb3J0dGl0b3Igc2VtXFxuXFx0XFx0XFx0XFx0XFx0XFx0PHVsPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT5QaGFzZWxsdXMgaWFjdWxpcyBuZXF1ZTwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPlB1cnVzIHNvZGFsZXMgdWx0cmljaWVzPC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+VmVzdGlidWx1bSBsYW9yZWV0IHBvcnR0aXRvciBzZW08L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BYyB0cmlzdGlxdWUgbGliZXJvIHZvbHV0cGF0IGF0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPkFjIHRyaXN0aXF1ZSBsaWJlcm8gdm9sdXRwYXQgYXQ8L2xpPlxcblxcdFxcdFxcdFxcdDwvb2w+XFxuXFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHQ8bGk+RmF1Y2lidXMgcG9ydGEgbGFjdXMgZnJpbmdpbGxhIHZlbDwvbGk+XFxuXFx0XFx0XFx0PGxpPkFlbmVhbiBzaXQgYW1ldCBlcmF0IG51bmM8L2xpPlxcblxcdFxcdFxcdDxsaT5FZ2V0IHBvcnR0aXRvciBsb3JlbTwvbGk+XFxuXFx0XFx0PC9vbD5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxvbD5cXG48bGk+Li4uPC9saT5cXG48bGk+Li4uXFxuXFx0PG9sPlxcblxcdFxcdDxsaT4uLi48L2xpPlxcblxcdDwvb2w+XFxuPC9saT5cXG48L29sPjwvcHJlPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcblxcblxcbjxoMz5VbnN0eWxlZDwvaDM+XFxuPHA+VXNlIG1vZGlmaWVyIGNsYXNzIDxjb2RlPl91bnN0eWxlZF88L2NvZGU+IHRvIHJlbW92ZSB0aGUgZGVmYXVsdCA8Y29kZT5saXN0LXN0eWxlPC9jb2RlPiBhbmQgbGVmdCBtYXJnaW4gb24gbGlzdCBpdGVtcyAoaW1tZWRpYXRlIGNoaWxkcmVuIG9ubHkpLiA8Yj5UaGlzIG9ubHkgYXBwbGllcyB0byBpbW1lZGlhdGUgY2hpbGRyZW4gbGlzdCBpdGVtczwvYj4sIG1lYW5pbmcgeW91IHdpbGwgbmVlZCB0byBhZGQgdGhlIGNsYXNzIGZvciBhbnkgbmVzdGVkIGxpc3RzIGFzIHdlbGwuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxvbCBjbGFzcz1cXFwiX3Vuc3R5bGVkX1xcXCI+XFxuXFx0XFx0XFx0PGxpPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PC9saT5cXG5cXHRcXHRcXHQ8bGk+Q29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0PC9saT5cXG5cXHRcXHRcXHQ8bGk+SW50ZWdlciBtb2xlc3RpZSBsb3JlbSBhdCBtYXNzYTwvbGk+XFxuXFx0XFx0XFx0PGxpPkZhY2lsaXNpcyBpbiBwcmV0aXVtIG5pc2wgYWxpcXVldDwvbGk+XFxuXFx0XFx0XFx0PGxpPk51bGxhIHZvbHV0cGF0IGFsaXF1YW0gdmVsaXRcXG5cXHRcXHRcXHRcXHQ8b2w+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPlBoYXNlbGx1cyBpYWN1bGlzIG5lcXVlPC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+UHVydXMgc29kYWxlcyB1bHRyaWNpZXM8L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaT5WZXN0aWJ1bHVtIGxhb3JlZXQgcG9ydHRpdG9yIHNlbTwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPlZlc3RpYnVsdW0gbGFvcmVldCBwb3J0dGl0b3Igc2VtXFxuXFx0XFx0XFx0XFx0XFx0XFx0PHVsPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT5QaGFzZWxsdXMgaWFjdWxpcyBuZXF1ZTwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPlB1cnVzIHNvZGFsZXMgdWx0cmljaWVzPC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+VmVzdGlidWx1bSBsYW9yZWV0IHBvcnR0aXRvciBzZW08L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BYyB0cmlzdGlxdWUgbGliZXJvIHZvbHV0cGF0IGF0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPkFjIHRyaXN0aXF1ZSBsaWJlcm8gdm9sdXRwYXQgYXQ8L2xpPlxcblxcdFxcdFxcdFxcdDwvb2w+XFxuXFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHQ8bGk+RmF1Y2lidXMgcG9ydGEgbGFjdXMgZnJpbmdpbGxhIHZlbDwvbGk+XFxuXFx0XFx0XFx0PGxpPkFlbmVhbiBzaXQgYW1ldCBlcmF0IG51bmM8L2xpPlxcblxcdFxcdFxcdDxsaT5FZ2V0IHBvcnR0aXRvciBsb3JlbTwvbGk+XFxuXFx0XFx0PC9vbD5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxvbCBjbGFzcz1cXFwiX3Vuc3R5bGVkX1xcXCI+XFxuPGxpPi4uLjwvbGk+XFxuPGxpPi4uLlxcblxcdDxvbD5cXG5cXHRcXHQ8bGk+Li4uPC9saT5cXG5cXHQ8L29sPlxcbjwvbGk+XFxuPC9vbD48L3ByZT48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG5cXG48aDM+SG9yaXpvbnRhbDwvaDM+XFxuPHA+VXNlIG1vZGlmaWVyIGNsYXNzIDxjb2RlPl9ob3Jpem9udGFsXzwvY29kZT4gdG8gcGxhY2UgYWxsIGxpc3QgaXRlbXMgb24gYSBzaW5nbGUgbGluZSB3aXRoIDxjb2RlPmRpc3BsYXk6IGlubGluZS1ibG9jazwvY29kZT4gYW5kIHNvbWUgbGlnaHQgcGFkZGluZy48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PG9sIGNsYXNzPVxcXCJfaG9yaXpvbnRhbF9cXFwiPlxcblxcdFxcdFxcdDxsaT5Mb3JlbTwvbGk+XFxuXFx0XFx0XFx0PGxpPkNvbnNlY3RldHVyPC9saT5cXG5cXHRcXHRcXHQ8bGk+SW50ZWdlcjwvbGk+XFxuXFx0XFx0XFx0PGxpPkZhY2lsaXNpczwvbGk+XFxuXFx0XFx0XFx0PGxpPk51bGxhPC9saT5cXG5cXHRcXHRcXHQ8bGk+RmF1Y2lidXM8L2xpPlxcblxcdFxcdFxcdDxsaT5BZW5lYW48L2xpPlxcblxcdFxcdFxcdDxsaT5FZ2V0PC9saT5cXG5cXHRcXHQ8L29sPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PG9sIGNsYXNzPVxcXCJfaG9yaXpvbnRhbF9cXFwiPlxcblxcdDxsaT5Mb3JlbTwvbGk+XFxuXFx0PGxpPkNvbnNlY3RldHVyPC9saT5cXG5cXHQ8bGk+SW50ZWdlcjwvbGk+XFxuXFx0PGxpPkZhY2lsaXNpczwvbGk+XFxuXFx0PGxpPk51bGxhPC9saT5cXG5cXHQ8bGk+RmF1Y2lidXM8L2xpPlxcblxcdDxsaT5BZW5lYW48L2xpPlxcblxcdDxsaT5FZ2V0PC9saT5cXG48L29sPjwvcHJlPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcblxcblxcblxcblxcblxcblxcbjxoMj5EZXNjcmlwdGlvbjwvaDI+XFxuPHA+QSBsaXN0IG9mIHRlcm1zIHdpdGggdGhlaXIgYXNzb2NpYXRlZCBkZXNjcmlwdGlvbnMuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkbD5cXG5cXHRcXHRcXHQ8ZHQ+RGVzY3JpcHRpb24gbGlzdHM8L2R0PlxcblxcdFxcdFxcdDxkZD5BIGRlc2NyaXB0aW9uIGxpc3QgaXMgcGVyZmVjdCBmb3IgZGVmaW5pbmcgdGVybXMuPC9kZD5cXG5cXHRcXHQ8L2RsPlxcblxcdFxcdDxkbD5cXG5cXHRcXHRcXHQ8ZHQ+RGVzY3JpcHRpb24gbGlzdHM8L2R0PlxcblxcdFxcdFxcdDxkZD5WZXN0aWJ1bHVtIGlkIGxpZ3VsYSBwb3J0YSBmZWxpcyBldWlzbW9kIHNlbXBlciBlZ2V0IGxhY2luaWEgb2RpbyBzZW0gbmVjIGVsaXQuPC9kZD5cXG5cXHRcXHRcXHQ8ZGQ+RG9uZWMgaWQgZWxpdCBub24gbWkgcG9ydGEgZ3JhdmlkYSBhdCBlZ2V0IG1ldHVzLjwvZGQ+XFxuXFx0XFx0PC9kbD5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkbD5cXG5cXHQ8ZHQ+RGVzY3JpcHRpb24gbGlzdHM8L2R0PlxcblxcdDxkZD5BIGRlc2NyaXB0aW9uIGxpc3QgaXMgcGVyZmVjdCBmb3IgZGVmaW5pbmcgdGVybXMuPC9kZD5cXG48L2RsPlxcbjxkbD5cXG5cXHQ8ZHQ+RGVzY3JpcHRpb24gbGlzdHM8L2R0PlxcblxcdDxkZD5WZXN0aWJ1bHVtIGlkIGxpZ3VsYSBwb3J0YSBmZWxpcyBldWlzbW9kIHNlbXBlciBlZ2V0IGxhY2luaWEgb2RpbyBzZW0gbmVjIGVsaXQuPC9kZD5cXG5cXHQ8ZGQ+RG9uZWMgaWQgZWxpdCBub24gbWkgcG9ydGEgZ3JhdmlkYSBhdCBlZ2V0IG1ldHVzLjwvZGQ+XFxuPC9kbD48L3ByZT48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48aDM+SG9yaXpvbnRhbDwvaDM+XFxuPHA+VXNlIG1vZGlmaWVyIGNsYXNzIDxjb2RlPl9ob3Jpem9udGFsXzwvY29kZT50byBtYWtlIHRlcm1zIGFuZCBkZXNjcmlwdGlvbnMgaW48Y29kZT4mbHQ7ZGwmZ3Q7PC9jb2RlPiBsaW5lIHVwIHNpZGUtYnktc2lkZS4gUmVzcG9uc2l2ZS48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRsIGNsYXNzPVxcXCJfaG9yaXpvbnRhbF9cXFwiPlxcblxcdFxcdFxcdDxkdD5EZXNjcmlwdGlvbiBsaXN0czwvZHQ+XFxuXFx0XFx0XFx0PGRkPkEgZGVzY3JpcHRpb24gbGlzdCBpcyBwZXJmZWN0IGZvciBkZWZpbmluZyB0ZXJtcy48L2RkPlxcblxcdFxcdDwvZGw+XFxuXFx0XFx0PGRsIGNsYXNzPVxcXCJfaG9yaXpvbnRhbF9cXFwiPlxcblxcdFxcdFxcdDxkdCB0aXRsZT1cXFwiRGVzY3JpcHRpb24gbGlzdHMgd2l0aCB2ZXJ5LXZlcnktdmVyeSBsb25nIHRpdGxlXFxcIj5EZXNjcmlwdGlvbiBsaXN0cyB3aXRoIHZlcnktdmVyeS12ZXJ5IGxvbmcgdGl0bGU8L2R0PlxcblxcdFxcdFxcdDxkZD5WZXN0aWJ1bHVtIGlkIGxpZ3VsYSBwb3J0YSBmZWxpcyBldWlzbW9kIHNlbXBlciBlZ2V0IGxhY2luaWEgb2RpbyBzZW0gbmVjIGVsaXQuPC9kZD5cXG5cXHRcXHRcXHQ8ZGQ+RG9uZWMgaWQgZWxpdCBub24gbWkgcG9ydGEgZ3JhdmlkYSBhdCBlZ2V0IG1ldHVzLjwvZGQ+XFxuXFx0XFx0PC9kbD5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkbCBjbGFzcz1cXFwiX2hvcml6b250YWxfXFxcIj5cXG5cXHQ8ZHQ+RGVzY3JpcHRpb24gbGlzdHM8L2R0PlxcblxcdDxkZD5BIGRlc2NyaXB0aW9uIGxpc3QgaXMgcGVyZmVjdCBmb3IgZGVmaW5pbmcgdGVybXMuPC9kZD5cXG48L2RsPlxcblxcdDxkbCBjbGFzcz1cXFwiX2hvcml6b250YWxfXFxcIj5cXG5cXHQ8ZHQgdGl0bGU9XFxcIkRlc2NyaXB0aW9uIGxpc3RzIHdpdGggdmVyeS12ZXJ5LXZlcnkgbG9uZyB0aXRsZVxcXCI+RGVzY3JpcHRpb24gbGlzdHMgd2l0aCB2ZXJ5LXZlcnktdmVyeSBsb25nIHRpdGxlPC9kdD5cXG5cXHQ8ZGQ+VmVzdGlidWx1bSBpZCBsaWd1bGEgcG9ydGEgZmVsaXMgZXVpc21vZCBzZW1wZXIgZWdldCBsYWNpbmlhIG9kaW8gc2VtIG5lYyBlbGl0LjwvZGQ+XFxuXFx0PGRkPkRvbmVjIGlkIGVsaXQgbm9uIG1pIHBvcnRhIGdyYXZpZGEgYXQgZWdldCBtZXR1cy48L2RkPlxcbjwvZGw+PC9wcmU+PC9kaXY+XFxuPC9kaXY+XFxuXCIsXCJsaW5rc1wiOlwiPCEtLSA9PT09PT09PT09PT0gSEVBRElOR1MgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMj5MaW5rczwvaDI+XFxuPHA+QWRkIGJlYXV0aWZ1bCB1bmRlcmxpbmUgdG8geW91ciBsaW5rcy4gVXNlIDxjb2RlPi4tbGluay1oYW5nPC9jb2RlPjwvcD5cXG5cXG48c2VjdGlvbj5cXG5cXHQ8IS0tID09PT09PT09PT09PSBWYXJpYWJsZXMgLS0+XFxuXFx0PHA+XFxuXFx0XFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM6PC9oND5cXG5cXHRcXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kdHlwby1saW5rLWhhbmctY2xhc3M6IFxcXCItbGluay1oYW5nXFxcIiAhZ2xvYmFsXFxuXFx0JHR5cG8tbGluay1oYW5nLXVuZGVybGluZS1oZWlnaHQ6IDFweCAhZ2xvYmFsPC9wcmU+PC9kaXY+XFxuXFx0PC9wPlxcblxcblxcdDxwPlxcblxcdFxcdDxibG9ja3F1b3RlIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPjxiPkltcG9ydGFudCE8L2I+IElmIHlvdSB1c2UgPGNvZGU+LWxpbmstaGFuZzwvY29kZT4gd2l0aCB0YWcgPGNvZGU+Jmx0O2EmZ3Q7PC9jb2RlPiwgdGhlIGNvbG9yIG9mIHRhZyB3aWxsIG5vdCBiZSBjaGFuZ2VkLiBZb3UnbGwgbmVlZCB0byBjaGFuZ2UgaXQgbWFudWFsbHkuIEkgZGlkIGl0IHRvIG5vdCB0byBicmVhayB1c2VyJ3MgY3NzLjwvYmxvY2txdW90ZT5cXG5cXHQ8L3A+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPlxcblxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItbGluay1oYW5nIC1lcnJvci0gX2h1Z2VcXFwiPkhhbmcgTGluayBpcyBoZXJlPC9zcGFuPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2XFxcIj5cXG5cXHRcXHRcXHRcXHRXaXRoIHRhZyA8Y29kZT4mbHQ7YSZndDs8L2NvZGU+IHlvdSdsbCBuZWVkIHRvIGNoYW5nZSB0ZXh0IGNvbG9yIG9mIHRoZSBsaW5rIG1hbnVhbGx5OlxcblxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfYmlnXFxcIj48YSBjbGFzcz1cXFwiLWxpbmstaGFuZyAtd2FybmluZy1cXFwiIGhyZWY9XFxcIlxcXCI+SGFuZyBMaW5rIGlzIGhlcmU8L2E+PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNlxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxzcGFuIGNsYXNzPVxcXCItbGluay1oYW5nIC1lcnJvci0gX2h1Z2VcXFwiPkhhbmcgTGluayBpcyBoZXJlPC9zcGFuPjwvcHJlPjwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2XFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGEgY2xhc3M9XFxcIi1saW5rLWhhbmcgLXdhcm5pbmctXFxcIiBocmVmPVxcXCJcXFwiPkhhbmcgTGluayBpcyBoZXJlPC9hPjwvcHJlPjwvZGl2PjwvZGl2PlxcblxcdDwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cXG48c2VjdGlvbj5cXG5cXHQ8aDM+SW4gYmxvY2sgYW5kIGlubGluZSB0YWdzPC9oMz5cXG5cXG5cXHQ8cD5QdXQgPGNvZGU+LWxpbmstaGFuZzwvY29kZT4gaW5zaWRlIGVsZW1lbnRzIDxjb2RlPmI8L2NvZGU+LCA8Y29kZT5pPC9jb2RlPiwgPGNvZGU+c21hbGw8L2NvZGU+LCA8Y29kZT5wPC9jb2RlPiBhbmQgPGNvZGU+c3BhbjwvY29kZT4uIFRoZSBzdHlsZXMgd2lsbCBhcGx5IHRvIHRoZSBpbm5lciA8Y29kZT4tbGluay1oYW5nPC9jb2RlPiBhdXRvbWF0aWNhbGx5LjwvcD5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiX2h1Z2VcXFwiPlRoZXJlIGlzIDxzcGFuIGNsYXNzPVxcXCItbGluay1oYW5nXFxcIj5IYW5nIExpbms8L3NwYW4+IGluc2lkZSB0aGlzIHNwYW4uPC9zcGFuPjxicj5cXG5cXHRcXHRcXHQ8cCBjbGFzcz1cXFwiLWluZm8tIF9iaWdcXFwiPkluZm8gYmlnIHBhcmFncmFwaCB3aXRoIDxzcGFuIGNsYXNzPVxcXCItbGluay1oYW5nXFxcIj5IYW5nIExpbms8L3NwYW4+IGluc2lkZS48L3A+XFxuXFx0XFx0XFx0PHNtYWxsIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPldhcm5pbmcgc21hbGwgdGFnIHdpdGggPHNwYW4gY2xhc3M9XFxcIi1saW5rLWhhbmdcXFwiPkhhbmcgTGluazwvc3Bhbj4gaW5zaWRlIDwvc21hbGw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48c3BhbiBjbGFzcz1cXFwiX2h1Z2VcXFwiPlRoZXJlIGlzIDxzcGFuIGNsYXNzPVxcXCItbGluay1oYW5nXFxcIj5IYW5nIExpbms8L3NwYW4+IGluc2lkZSB0aGlzIHNwYW48L3NwYW4+PGJyPlxcbjxwIGNsYXNzPVxcXCItaW5mby0gX2JpZ1xcXCI+SW5mbyBiaWcgcGFyYWdyYXBoIHdpdGggPHNwYW4gY2xhc3M9XFxcIi1saW5rLWhhbmdcXFwiPkhhbmcgTGluazwvc3Bhbj4gaW5zaWRlLjwvcD5cXG48c21hbGwgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+V2FybmluZyBzbWFsbCB0YWcgd2l0aCA8c3BhbiBjbGFzcz1cXFwiLWxpbmstaGFuZ1xcXCI+SGFuZyBMaW5rPC9zcGFuPiBpbnNpZGUgPC9zbWFsbD48L3ByZT5cXG5cXHQ8L2Rpdj5cXG48L3NlY3Rpb24+XFxuXFxuXFxuPHNlY3Rpb24+XFxuXFx0PGgzIGNsYXNzPVxcXCJkZXYtaC1wcm9ibGVtc1xcXCI+UHJvYmxlbXM8L2gzPlxcblxcdDxwPlxcblxcdFxcdFdoZW4geW91IGNoYW5nZSB0aGUgYmFja2dyb3VuZCwgeW91IGNhbiBzZWUgdGhlIGFydGlmYWN0cy5cXG5cXHQ8L3A+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCIgc3R5bGU9XFxcImJhY2tncm91bmQtY29sb3I6ICNjY2NcXFwiPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCJfaHVnZVxcXCI+VGhlcmUgaXMgPHNwYW4gY2xhc3M9XFxcIi1saW5rLWhhbmdcXFwiPkhhbmcgTGluazwvc3Bhbj4gaW5zaWRlIHRoaXMgc3Bhbi48L3NwYW4+PGJyPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcdDxwPlRvIGZpeCB0aGF0LCBhZGQgPGNvZGU+dGV4dC1zaGFkb3c6IC4xZW0gMCAwIGNvbG9yLWhlcmUsIC0uMWVtIDAgMCBjb2xvci1oZXJlPC9jb2RlPiB0byB5b3VyIDxjb2RlPi1saW5rLWhhbmc8L2NvZGU+IGluIHRoZSBibG9jayB3aXRoIGJhY2tncm91bmQuPC9wPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiIHN0eWxlPVxcXCJiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjXFxcIj5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiX2h1Z2VcXFwiPlRoZXJlIGlzIDxzcGFuIGNsYXNzPVxcXCItbGluay1oYW5nXFxcIiBzdHlsZT1cXFwidGV4dC1zaGFkb3c6IC4xZW0gMCAwICNjY2MsIDAgMCwgLS4xZW0gMCAwICNjY2NcXFwiPkhhbmcgTGluazwvc3Bhbj4gaW5zaWRlIHRoaXMgc3Bhbi48L3NwYW4+PGJyPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBzdHlsZT1cXFwiYmFja2dyb3VuZC1jb2xvcjogI2NjY1xcXCI+XFxuXFx0PHNwYW4gY2xhc3M9XFxcIl9odWdlXFxcIj5UaGVyZSBpcyA8c3BhbiBjbGFzcz1cXFwiLWxpbmstaGFuZ1xcXCIgc3R5bGU9XFxcInRleHQtc2hhZG93OiAuMWVtIDAgMCAjY2NjLCAtLjFlbSAwIDAgI2NjY1xcXCI+SGFuZyBMaW5rPC9zcGFuPiBpbnNpZGUgdGhpcyBzcGFuLjwvc3Bhbj5cXG48L2Rpdj48L3ByZT5cXG5cXHQ8L2Rpdj5cXG48L3NlY3Rpb24+XCIsXCJoZWFkaW5nc1wiOlwiPCEtLSA9PT09PT09PT09PT0gSEVBRElOR1MgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMj5IZWFkaW5nczwvaDI+XFxuPHA+U3BlY2lmaWVzIGhlYWRpbmcuIFVzZSA8Y29kZT5oIzwvY29kZT4gb3IgY2xhc3MgPGNvZGU+Li1oIzwvY29kZT48c21hbGw+KCMgLSBudW1iZXIgMS4uNik8L3NtYWxsPjwvcD5cXG5cXG48IS0tID09PT09PT09PT09PSBWYXJpYWJsZXMgLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM6PC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kaGVhZGluZ3MtY2xhc3M6IFxcXCItaFxcXCJcXG5cXG4kaGVhZGluZ3MtaDEtZm9udC1zaXplOiBmbG9vcigkYmFzZS1mb250LXNpemUgKiAyLjYpICFnbG9iYWxcXG4kaGVhZGluZ3MtaDItZm9udC1zaXplOiBmbG9vcigkYmFzZS1mb250LXNpemUgKiAyLjE1KSAhZ2xvYmFsXFxuJGhlYWRpbmdzLWgzLWZvbnQtc2l6ZTogZmxvb3IoJGJhc2UtZm9udC1zaXplICogMS43KSAhZ2xvYmFsXFxuJGhlYWRpbmdzLWg0LWZvbnQtc2l6ZTogZmxvb3IoJGJhc2UtZm9udC1zaXplICogMS4yNSkgIWdsb2JhbFxcbiRoZWFkaW5ncy1oNS1mb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAhZ2xvYmFsXFxuJGhlYWRpbmdzLWg2LWZvbnQtc2l6ZTogZmxvb3IoJGJhc2UtZm9udC1zaXplICogMC44NSkgIWdsb2JhbFxcblxcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogMS4xICFnbG9iYWxcXG5cXG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IDUwMCAhZ2xvYmFsXFxuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0LXNtYWxsOiA1MDAgIWdsb2JhbFxcbiRoZWFkaW5ncy1mb250LWZhbWlseTogaW5oZXJpdCAhZ2xvYmFsXFxuJGhlYWRpbmdzLWNvbG9yOiBpbmhlcml0ICFnbG9iYWxcXG4kaGVhZGluZ3MtaW5qZWN0aW9uLWNvbG9yOiAjOTk5ICFnbG9iYWw8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPlxcblxcdFxcdFxcdDxoMT5IZWFkaW5nIDE8L2gxPlxcblxcdFxcdFxcdDxoMj5IZWFkaW5nIDI8L2gyPlxcblxcdFxcdFxcdDxoMz5IZWFkaW5nIDM8L2gzPlxcblxcdFxcdFxcdDxoND5IZWFkaW5nIDQ8L2g0PlxcblxcdFxcdFxcdDxoNT5IZWFkaW5nIDU8L2g1PlxcblxcdFxcdFxcdDxoNj5IZWFkaW5nIDY8L2g2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaDFcXFwiPkhlYWRpbmcgMTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oMlxcXCI+SGVhZGluZyAyPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWgzXFxcIj5IZWFkaW5nIDM8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaDRcXFwiPkhlYWRpbmcgNDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oNVxcXCI+SGVhZGluZyA1PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWg2XFxcIj5IZWFkaW5nIDY8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48aDE+SGVhZGluZyAxPC9oMT5cXG48aDI+SGVhZGluZyAyPC9oMj5cXG48aDM+SGVhZGluZyAzPC9oMz5cXG48aDQ+SGVhZGluZyA0PC9oND5cXG48aDU+SGVhZGluZyA1PC9oNT5cXG48aDY+SGVhZGluZyA2PC9oNj48L3ByZT48L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNlxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1oMVxcXCI+SGVhZGluZyAxPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWgyXFxcIj5IZWFkaW5nIDI8L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItaDNcXFwiPkhlYWRpbmcgMzwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1oNFxcXCI+SGVhZGluZyA0PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWg1XFxcIj5IZWFkaW5nIDU8L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItaDZcXFwiPkhlYWRpbmcgNjwvZGl2PjwvcHJlPjwvZGl2PjwvZGl2PlxcbjwvZGl2PlxcblxcblxcblxcblxcbjxoMz5JbmplY3Rpb25zIGluc2lkZSBoZWFkaW5nczwvaDM+XFxuVXNlIHNpemUgY2xhc3Nlczxicj5cXG48Y29kZT5fdGlueTwvY29kZT4sXFxuPGNvZGU+X3NtYWxsPC9jb2RlPixcXG48Y29kZT5fbWlub3I8L2NvZGU+LFxcbjxjb2RlPl9ub3JtYWw8L2NvZGU+LFxcbjxjb2RlPl9tYWpvcjwvY29kZT4sXFxuPGNvZGU+X25vcm1hbDwvY29kZT4sXFxuPGNvZGU+X2JpZzwvY29kZT4sXFxuPGNvZGU+X2h1Z2U8L2NvZGU+LFxcbjxjb2RlPl9kaXZpbmU8L2NvZGU+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPlxcblxcdFxcdFxcdDxoND5IZWFkaW5nIDQgPHNtYWxsIGNsYXNzPVxcXCJfc21hbGxcXFwiPnNtYWxsIGluamVjdGlvbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHQ8aDQ+SGVhZGluZyA0IDxzbWFsbCBjbGFzcz1cXFwiX21pbm9yXFxcIj5taW5vciBpbmplY3Rpb248L3NtYWxsPjwvaDQ+XFxuXFx0XFx0XFx0PGg0PkhlYWRpbmcgNCA8c21hbGwgY2xhc3M9XFxcIl9ub3JtYWxcXFwiPm5vcm1hbCBpbmplY3Rpb248L3NtYWxsPjwvaDQ+XFxuXFx0XFx0XFx0PGg0PkhlYWRpbmcgNCA8c21hbGw+bm8gY2xhc3MgaW5qZWN0aW9uPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdDxoND5IZWFkaW5nIDQgPHNtYWxsIGNsYXNzPVxcXCJfbWFqb3JcXFwiPm1ham9yIGluamVjdGlvbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHQ8aDQ+SGVhZGluZyA0IDxzbWFsbCBjbGFzcz1cXFwiX2JpZ1xcXCI+YmlnIGluamVjdGlvbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHQ8aDQ+SGVhZGluZyA0IDxzbWFsbCBjbGFzcz1cXFwiX2h1Z2VcXFwiPmh1Z2UgaW5qZWN0aW9uPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdDxoND5IZWFkaW5nIDQgPHNtYWxsIGNsYXNzPVxcXCJfZGl2aW5lXFxcIj5kaXZpbmUgaW5qZWN0aW9uPC9zbWFsbD48L2g0PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2XFxcIj5cXG5cXHRcXHRcXHQ8aDE+SGVhZGluZyAxIDxzbWFsbCBjbGFzcz1cXFwiX3NtYWxsXFxcIj5zbWFsbCBpbmplY3Rpb248L3NtYWxsPjwvaDE+XFxuXFx0XFx0XFx0PGgxPkhlYWRpbmcgMSA8c21hbGwgY2xhc3M9XFxcIl9ub3JtYWxcXFwiPm5vcm1hbCBpbmplY3Rpb248L3NtYWxsPjwvaDE+XFxuXFx0XFx0XFx0PGgxPkhlYWRpbmcgMSA8c21hbGwgY2xhc3M9XFxcIl9tYWpvclxcXCI+bWFqb3IgaW5qZWN0aW9uPC9zbWFsbD48L2gxPlxcblxcdFxcdFxcdDxoMT5IZWFkaW5nIDEgPHNtYWxsIGNsYXNzPVxcXCJfaHVnZVxcXCI+aHVnZSBpbmplY3Rpb248L3NtYWxsPjwvaDE+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2XFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGg0PkhlYWRpbmcgNCA8c21hbGwgY2xhc3M9XFxcIl90aW55XFxcIj50aW55IGluamVjdGlvbjwvc21hbGw+PC9oND5cXG48aDQ+SGVhZGluZyA0IDxzbWFsbCBjbGFzcz1cXFwiX3NtYWxsXFxcIj5zbWFsbCBpbmplY3Rpb248L3NtYWxsPjwvaDQ+XFxuPGg0PkhlYWRpbmcgNCA8c21hbGwgY2xhc3M9XFxcIl9taW5vclxcXCI+bWlub3IgaW5qZWN0aW9uPC9zbWFsbD48L2g0PlxcbjxoND5IZWFkaW5nIDQgPHNtYWxsIGNsYXNzPVxcXCJfbm9ybWFsXFxcIj5ub3JtYWwgaW5qZWN0aW9uPC9zbWFsbD48L2g0PlxcbjxoND5IZWFkaW5nIDQgPHNtYWxsPm5vIGNsYXNzIGluamVjdGlvbjwvc21hbGw+PC9oND5cXG48aDQ+SGVhZGluZyA0IDxzbWFsbCBjbGFzcz1cXFwiX21ham9yXFxcIj5tYWpvciBpbmplY3Rpb248L3NtYWxsPjwvaDQ+XFxuPGg0PkhlYWRpbmcgNCA8c21hbGwgY2xhc3M9XFxcIl9iaWdcXFwiPmJpZyBpbmplY3Rpb248L3NtYWxsPjwvaDQ+XFxuPGg0PkhlYWRpbmcgNCA8c21hbGwgY2xhc3M9XFxcIl9odWdlXFxcIj5odWdlIGluamVjdGlvbjwvc21hbGw+PC9oND5cXG48aDQ+SGVhZGluZyA0IDxzbWFsbCBjbGFzcz1cXFwiX2RpdmluZVxcXCI+ZGl2aW5lIGluamVjdGlvbjwvc21hbGw+PC9oND48L3ByZT48L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNlxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxoMT5IZWFkaW5nIDEgPHNtYWxsIGNsYXNzPVxcXCJfdGlueVxcXCI+dGlueSBpbmplY3Rpb248L3NtYWxsPjwvaDE+XFxuPGgxPkhlYWRpbmcgMSA8c21hbGwgY2xhc3M9XFxcIl9ub3JtYWxcXFwiPm5vcm1hbCBpbmplY3Rpb248L3NtYWxsPjwvaDE+XFxuPGgxPkhlYWRpbmcgMSA8c21hbGwgY2xhc3M9XFxcIl9tYWpvclxcXCI+bWFqb3IgaW5qZWN0aW9uPC9zbWFsbD48L2gxPlxcbjxoMT5IZWFkaW5nIDEgPHNtYWxsIGNsYXNzPVxcXCJfaHVnZVxcXCI+aHVnZSBpbmplY3Rpb248L3NtYWxsPjwvaDE+PC9wcmU+PC9kaXY+PC9kaXY+XFxuPC9kaXY+XFxuXCIsXCJjb21tb25cIjpcIjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdDxoMT5UeXBvZ3JhcGh5PC9oMT5cXG48L2Rpdj5cXG5cIixcImNvZGVcIjpcIjwhLS0gPT09PT09PT09PT09IENPREUgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMj5Db2RlPC9oMj5cXG5cXG48IS0tID09PT09PT09PT09PSBWYXJpYWJsZXMgLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM6PC9oND5cXG5cXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JGNvZGUtYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLDAsMCwuMDUpXFxuJGNvZGUtY29sb3I6ICNjNzI1NGVcXG4kY29kZS1iYWNrZ3JvdW5kOiAjZjlmMmY0XFxuJGNvZGUtZm9udC1zaXplOiA5MCVcXG4kY29kZS1wYWRkaW5nOiAxcHggNHB4XFxuJGNvZGUtYm9yZGVyLXJhZGl1czogMnB4XFxuXFxuJHByZS1iZzogI2Y1ZjVmNVxcbiRwcmUtY29sb3I6ICM3NzdcXG4kcHJlLWJvcmRlci1jb2xvcjogI2NjY1xcbiRwcmUtYm9yZGVyLXJhZGl1czogM3B4PC9wcmU+XFxuPC9wPlxcblxcblxcbjxoMz5JbmxpbmU8L2gzPlxcbjxwPldyYXAgaW5saW5lIHNuaXBwZXRzIG9mIGNvZGUgd2l0aCA8Y29kZT4mbHQ7Y29kZSZndDs8L2NvZGU+LjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHRGb3IgZXhhbXBsZSwgPGNvZGU+Jmx0O3NlY3Rpb24mZ3Q7PC9jb2RlPiBzaG91bGQgYmUgd3JhcHBlZCBhcyBpbmxpbmUuXFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5Gb3IgZXhhbXBsZSwgPGNvZGU+Jmx0O3NlY3Rpb24mZ3Q7PC9jb2RlPiBzaG91bGQgYmUgd3JhcHBlZCBhcyBpbmxpbmUuPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuPGgzPkJsb2NrPC9oMz5cXG48cD5Vc2UgPGNvZGU+Jmx0O3ByZSZndDs8L2NvZGU+IGZvciBtdWx0aXBsZSBsaW5lcyBvZiBjb2RlLiBCZSBzdXJlIHRvIGVzY2FwZSBhbnkgYW5nbGUgYnJhY2tldHMgaW4gdGhlIGNvZGUgZm9yIHByb3BlciByZW5kZXJpbmcuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxwcmU+Jmx0O3AmZ3Q7U2FtcGxlIHRleHQgaGVyZS4uLiZsdDsvcCZndDs8L3ByZT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxwcmU+Jmx0O3AmZ3Q7U2FtcGxlIHRleHQgaGVyZS4uLiZsdDsvcCZndDs8L3ByZT48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIixcImJvZHlcIjpcIjwhLS0gPT09PT09PT09PT09IFRZUE9HUkFQSFkgQk9EWSAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPkJvZHk8L2gyPlxcbjxwPkFsbCBjb21tb24gdGFncy48L3A+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVmFyaWFibGVzIC0tPlxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzOjwvaDQ+XFxuXFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRib2R5LWItZm9udC13ZWlnaHQ6IDcwMCAhZ2xvYmFsXFxuJGJvZHktaS1mb250LXN0eWxlOiBpdGFsaWMgIWdsb2JhbFxcbiRib2R5LXNtYWxsLWZvbnQtc2l6ZTogODUlICFnbG9iYWxcXG5cXG4kYWJici1pbml0aWFsaXNtLWNsYXNzOiBcXFwiLWluaXRpYWxpc21cXFwiICFnbG9iYWxcXG5cXG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6IDgwJSAhZ2xvYmFsPC9wcmU+XFxuPC9wPlxcblxcblxcbjxoMz5Cb2xkPC9oMz5cXG48cD5Gb3IgZW1waGFzaXppbmcgYSBzbmlwcGV0IG9mIHRleHQgd2l0aCBhIGhlYXZpZXIgZm9udC13ZWlnaHQuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxiPlRoaXMgaXMgYm9sZCB0ZXh0PC9iPjxicj5cXG5cXHRcXHQ8c3Ryb25nPlRoaXMgaXMgYm9sZCB0ZXh0PC9zdHJvbmc+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2XFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGI+VGhpcyBpcyBib2xkIHRleHQ8L2I+XFxuPHN0cm9uZz5UaGlzIGlzIGJvbGQgdGV4dDwvc3Ryb25nPjwvcHJlPjwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxoMz5JdGFsaWM8L2gzPlxcbjxwPkZvciBlbXBoYXNpemluZyBhIHNuaXBwZXQgb2YgdGV4dCB3aXRoIGl0YWxpY3MuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxpPlRoaXMgaXMgaXRhbGljIHRleHQ8L2k+PGJyPlxcblxcdFxcdDxlbT5UaGlzIGlzIGl0YWxpYyB0ZXh0PC9lbT5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48aT5UaGlzIGlzIGl0YWxpYyB0ZXh0PC9pPlxcbjxlbT5UaGlzIGlzIGl0YWxpYyB0ZXh0PC9lbT48L3ByZT48L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48aDM+U21hbGw8L2gzPlxcbjxwPkZvciBkZS1lbXBoYXNpemluZyBpbmxpbmUgb3IgYmxvY2tzIG9mIHRleHQsIHVzZSB0aGUgPGNvZGU+Jmx0O3NtYWxsJmd0OzwvY29kZT4gdGFnIHRvIHNldCB0ZXh0IGF0IDg1JSB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50LiBIZWFkaW5nIGVsZW1lbnRzIHJlY2VpdmUgdGhlaXIgb3duIGZvbnQtc2l6ZSBmb3IgbmVzdGVkIDxjb2RlPiZsdDtzbWFsbCZndDs8L2NvZGU+IGVsZW1lbnRzLjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHROb3JtYWwgYW5kIDxzbWFsbD5zbWFsbCB0ZXh0PC9zbWFsbD48YnI+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5Ob3JtYWwgYW5kIDxzbWFsbD5zbWFsbCB0ZXh0PC9zbWFsbD48L3ByZT48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48aDM+U2l6ZXMgd2l0aCBpbmxpbmUgZWxlbWVudHM8L2gzPlxcbjxwPlxcblxcdFVzZSBzaXplIGNsYXNzZXNcXG5cXHQ8Y29kZT5fdGlueTwvY29kZT4sXFxuXFx0PGNvZGU+X3NtYWxsPC9jb2RlPixcXG5cXHQ8Y29kZT5fbWlub3I8L2NvZGU+LFxcblxcdDxjb2RlPl9ub3JtYWw8L2NvZGU+LFxcblxcdDxjb2RlPl9tYWpvcjwvY29kZT4sXFxuXFx0PGNvZGU+X25vcm1hbDwvY29kZT4sXFxuXFx0PGNvZGU+X2JpZzwvY29kZT4sXFxuXFx0PGNvZGU+X2h1Z2U8L2NvZGU+LFxcblxcdDxjb2RlPl9kaXZpbmU8L2NvZGU+XFxuXFx0d2l0aCBpbmxpbmUgZWxlbWVudHMgdG8gc2V0IHNpemUuXFxuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdE5vcm1hbCB0ZXh0IHdpdGggPHNwYW4gY2xhc3M9XFxcIl9taW5vclxcXCI+X21ham9yIHRleHQ8L3NwYW4+LCBhbmQgaGVyZSBpcyA8aSBjbGFzcz1cXFwiX2JpZ1xcXCI+X2JpZyBpdGFsaWMgdGV4dDwvaT4sIGFuZCA8YiBjbGFzcz1cXFwiX2h1Z2VcXFwiPl9odWdlIGJvbGQ8L2I+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5Ob3JtYWwgdGV4dCB3aXRoIDxzcGFuIGNsYXNzPVxcXCJfbWlub3JcXFwiPl9tYWpvciB0ZXh0PC9zcGFuPiwgYW5kIGhlcmUgaXMgPGkgY2xhc3M9XFxcIl9iaWdcXFwiPl9iaWcgaXRhbGljIHRleHQ8L2k+LCBhbmQgPGIgY2xhc3M9XFxcIl9odWdlXFxcIj5faHVnZSBib2xkPC9iPjwvcHJlPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxoMz5UaGVtZXMgd2l0aCBpbmxpbmUgZWxlbWVudHM8L2gzPlxcbjxwPlxcblxcdFVzZSB0aGVtZSBjbGFzc2VzICh5b3UgY2FuIGluY2x1ZGUgYW55IHRoZW1lLCBzbyB0aGVtZXMgY2xhc3MgbmFtZXMgY2FuIGJlIGRpZmZlcmVudClcXG5cXHQ8Y29kZT4tcHJpbWFyeS08L2NvZGU+LFxcblxcdDxjb2RlPi1lcnJvci08L2NvZGU+LFxcblxcdDxjb2RlPi1zdWNjZXNzLTwvY29kZT5cXG5cXG5cXHR3aXRoIGlubGluZSBlbGVtZW50cyB0byBzZXQgdGhlbWUuXFxuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdE5vcm1hbCB0ZXh0IHdpdGggPHNwYW4gY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+LXByaW1hcnktIHRleHQ8L3NwYW4+LCA8aSBjbGFzcz1cXFwiLWVycm9yLVxcXCI+aSAtZXJyb3ItIHRleHQ8L2k+LCA8YiBjbGFzcz1cXFwiLXN1Y2Nlc3MtXFxcIj5iIC1zdWNjZXNzLSB0ZXh0PC9iPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+Tm9ybWFsIHRleHQgd2l0aCA8c3BhbiBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj4tcHJpbWFyeS0gdGV4dDwvc3Bhbj4sIDxpIGNsYXNzPVxcXCItZXJyb3ItXFxcIj5pIC1lcnJvci0gdGV4dDwvaT4sIDxiIGNsYXNzPVxcXCItc3VjY2Vzcy1cXFwiPmIgLXN1Y2Nlc3MtIHRleHQ8L2I+PC9wcmU+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGgzPk1vZGlmaWVycyB3aXRoIGlubGluZSBlbGVtZW50czwvaDM+XFxuPHA+XFxuXFx0VXNlIG1vZGlmaWVyIGNsYXNzZXMgPGNvZGU+X2xlZnRfPC9jb2RlPiwgPGNvZGU+X2NlbnRlcl88L2NvZGU+LCA8Y29kZT5fcmlnaHRfPC9jb2RlPiwgPGNvZGU+X2p1c3RpZnlfPC9jb2RlPiB3aXRoIGlubGluZSBlbGVtZW50cyB0byByZWFsaWduIHRleHQuXFxuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxwIGNsYXNzPVxcXCJfbGVmdF9cXFwiPmxlZnQ8L3A+XFxuXFx0XFx0PHAgY2xhc3M9XFxcIl9jZW50ZXJfXFxcIj5jZW50ZXI8L3A+XFxuXFx0XFx0PHAgY2xhc3M9XFxcIl9yaWdodF9cXFwiPnJpZ2h0PC9wPlxcblxcdFxcdDxwIGNsYXNzPVxcXCJfanVzdGlmeV9cXFwiPkp1c3RpZnkgaXMgaW4gdGhpcyBibG9jayEgTG9yZW0gSXBzdW0gaXMgc2ltcGx5IGR1bW15IHRleHQgb2YgdGhlIHByaW50aW5nIGFuZCB0eXBlc2V0dGluZyBpbmR1c3RyeS4gTG9yZW0gSXBzdW0gaGFzIGJlZW4gdGhlIGluZHVzdHJ5J3Mgc3RhbmRhcmQgZHVtbXkgdGV4dCBldmVyIHNpbmNlIHRoZSAxNTAwcywgd2hlbiBhbiB1bmtub3duIHByaW50ZXIgdG9vayBhIGdhbGxleSBvZiB0eXBlIGFuZCBzY3JhbWJsZWQgaXQgdG8gbWFrZSBhIHR5cGUgc3BlY2ltZW4gYm9vay4gSXQgaGFzIHN1cnZpdmVkIG5vdCBvbmx5IGZpdmUgY2VudHVyaWVzLCBidXQgYWxzbyB0aGUgbGVhcCBpbnRvIGVsZWN0cm9uaWMgdHlwZXNldHRpbmcsIHJlbWFpbmluZyBlc3NlbnRpYWxseSB1bmNoYW5nZWQuIEl0IHdhcyBwb3B1bGFyaXNlZCBpbiB0aGUgMTk2MHMgd2l0aCB0aGUgcmVsZWFzZSBvZiBMZXRyYXNldCBzaGVldHMgY29udGFpbmluZyBMb3JlbSBJcHN1bSBwYXNzYWdlcywgYW5kIG1vcmUgcmVjZW50bHkgd2l0aCBkZXNrdG9wIHB1Ymxpc2hpbmcgc29mdHdhcmUgbGlrZSBBbGR1cyBQYWdlTWFrZXIgaW5jbHVkaW5nIHZlcnNpb25zIG9mIExvcmVtIElwc3VtLjwvcD5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxwIGNsYXNzPVxcXCJfbGVmdF9cXFwiPmxlZnQ8L3A+XFxuPHAgY2xhc3M9XFxcIl9jZW50ZXJfXFxcIj5jZW50ZXI8L3A+XFxuPHAgY2xhc3M9XFxcIl9yaWdodF9cXFwiPnJpZ2h0PC9wPlxcbjxwIGNsYXNzPVxcXCJfanVzdGlmeV9cXFwiPkp1c3RpZnkgaXMgaW4gdGhpcyBibG9jayEgLi4uPC9wPjwvcHJlPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcblxcblxcblxcblxcblxcblxcbjxoMz5BYmJyZXZpYXRpb248L2gzPlxcbkFiYnJldmlhdGlvbnMgd2l0aCBhIHRpdGxlIGF0dHJpYnV0ZSBoYXZlIGEgbGlnaHQgZG90dGVkIGJvdHRvbSBib3JkZXIgYW5kIGEgaGVscCBjdXJzb3Igb24gaG92ZXIsIHByb3ZpZGluZyBhZGRpdGlvbmFsIGNvbnRleHQgb24gaG92ZXIuIElmIHlvdSB1c2UgaW5pdGlhbGlzbSwgdXNlIDxjb2RlPi1pbml0aWFsaXNtPC9jb2RlPiBjbGFzcy5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8YWJiciB0aXRsZT1cXFwiYXR0cmlidXRlXFxcIj5hdHRyPC9hYmJyPiwgPGFiYnIgY2xhc3M9XFxcIi1pbml0aWFsaXNtXFxcIiB0aXRsZT1cXFwiSHlwZXJUZXh0IE1hcmt1cCBMYW5ndWFnZVxcXCI+SFRNTDwvYWJicj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxhYmJyIHRpdGxlPVxcXCJhdHRyaWJ1dGVcXFwiPmF0dHI8L2FiYnI+LCA8YWJiciBjbGFzcz1cXFwiLWluaXRpYWxpc21cXFwiIHRpdGxlPVxcXCJIeXBlclRleHQgTWFya3VwIExhbmd1YWdlXFxcIj5IVE1MPC9hYmJyPjwvcHJlPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxoMz5BZGRyZXNzPC9oMz5cXG5BYmJyZXZpYXRpb25zIHdpdGggYSB0aXRsZSBhdHRyaWJ1dGUgaGF2ZSBhIGxpZ2h0IGRvdHRlZCBib3R0b20gYm9yZGVyIGFuZCBhIGhlbHAgY3Vyc29yIG9uIGhvdmVyLCBwcm92aWRpbmcgYWRkaXRpb25hbCBjb250ZXh0IG9uIGhvdmVyLiBJZiB5b3UgdXNlIGluaXRpYWxpc20sIHVzZSA8Y29kZT4taW5pdGlhbGlzbTwvY29kZT4gY2xhc3MuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGFkZHJlc3M+XFxuXFx0XFx0XFx0PHN0cm9uZz5Ud2l0dGVyLCBJbmMuPC9zdHJvbmc+PGJyPlxcblxcdFxcdFxcdDc5NSBGb2xzb20gQXZlLCBTdWl0ZSA2MDA8YnI+XFxuXFx0XFx0XFx0U2FuIEZyYW5jaXNjbywgQ0EgOTQxMDc8YnI+XFxuXFx0XFx0XFx0PGFiYnIgdGl0bGU9XFxcIlBob25lXFxcIj5QOjwvYWJicj4gKDEyMykgNDU2LTc4OTBcXG5cXHRcXHQ8L2FkZHJlc3M+XFxuXFx0XFx0PGFkZHJlc3M+XFxuXFx0XFx0XFx0PHN0cm9uZz5GdWxsIE5hbWU8L3N0cm9uZz48YnI+XFxuXFx0XFx0XFx0PGEgaHJlZj1cXFwibWFpbHRvOiNcXFwiPmZpcnN0Lmxhc3RAZXhhbXBsZS5jb208L2E+XFxuXFx0XFx0PC9hZGRyZXNzPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGFkZHJlc3M+XFxuXFx0PHN0cm9uZz5Ud2l0dGVyLCBJbmMuPC9zdHJvbmc+PGJyPlxcblxcdDc5NSBGb2xzb20gQXZlLCBTdWl0ZSA2MDA8YnI+XFxuXFx0U2FuIEZyYW5jaXNjbywgQ0EgOTQxMDc8YnI+XFxuXFx0PGFiYnIgdGl0bGU9XFxcIlBob25lXFxcIj5QOjwvYWJicj4gKDEyMykgNDU2LTc4OTBcXG48L2FkZHJlc3M+XFxuPGFkZHJlc3M+XFxuXFx0PHN0cm9uZz5GdWxsIE5hbWU8L3N0cm9uZz48YnI+XFxuXFx0PGEgaHJlZj1cXFwibWFpbHRvOiNcXFwiPmZpcnN0Lmxhc3RAZXhhbXBsZS5jb208L2E+XFxuPC9hZGRyZXNzPjwvcHJlPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxoMz5CbG9ja3F1b3RlPC9oMz5cXG48cD5TdHlsZSBhbmQgY29udGVudCBjaGFuZ2VzIGZvciBzaW1wbGUgdmFyaWF0aW9ucyBvbiBhIHN0YW5kYXJkIDxjb2RlPiZsdDtibG9ja3F1b3RlJmd0OzwvY29kZT4uPC9wPlxcbjxwPlVzZSBtb2RpZmllciBjbGFzc2VzIDxjb2RlPl9sZWZ0XzwvY29kZT4gYW5kIDxjb2RlPl9yaWdodF88L2NvZGU+IHRvIHJlYWxpZ24gYmxvY2txdW90ZS48YnI+PC9wPlxcbjxwPlVzZSB0aGVtZSBjbGFzc2VzICh5b3UgY2FuIGluY2x1ZGUgYW55IHRoZW1lLCBzbyB0aGVtZXMgY2xhc3MgbmFtZXMgY2FuIGJlIGRpZmZlcmVudCkgPGNvZGU+LXByaW1hcnktPC9jb2RlPiwgPGNvZGU+LWVycm9yLTwvY29kZT4sIDxjb2RlPi1zdWNjZXNzLTwvY29kZT4gd2l0aCBibG9ja3F1b3RlcyB0byBzZXQgdGhlbWUuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxibG9ja3F1b3RlPlxcblxcdFxcdFxcdDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEludGVnZXIgcG9zdWVyZSBlcmF0IGEgYW50ZS48L3A+XFxuXFx0XFx0XFx0PHNtYWxsPlNvbWVvbmUgZmFtb3VzIGluIDxjaXRlIHRpdGxlPVxcXCJTb3VyY2UgVGl0bGVcXFwiPlNvdXJjZSBUaXRsZTwvY2l0ZT48L3NtYWxsPlxcblxcdFxcdDwvYmxvY2txdW90ZT5cXG5cXHRcXHQ8YmxvY2txdW90ZSBjbGFzcz1cXFwiX3JpZ2h0X1xcXCI+XFxuXFx0XFx0XFx0PHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gSW50ZWdlciBwb3N1ZXJlIGVyYXQgYSBhbnRlLjwvcD5cXG5cXHRcXHRcXHQ8c21hbGw+U29tZW9uZSBmYW1vdXMgaW4gPGNpdGUgdGl0bGU9XFxcIlNvdXJjZSBUaXRsZVxcXCI+U291cmNlIFRpdGxlPC9jaXRlPjwvc21hbGw+XFxuXFx0XFx0PC9ibG9ja3F1b3RlPlxcblxcdFxcdDxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEludGVnZXIgcG9zdWVyZSBlcmF0IGEgYW50ZS48L3A+XFxuXFx0XFx0XFx0PHNtYWxsPlNvbWVvbmUgZmFtb3VzIGluIDxjaXRlIHRpdGxlPVxcXCJTb3VyY2UgVGl0bGVcXFwiPlNvdXJjZSBUaXRsZTwvY2l0ZT48L3NtYWxsPlxcblxcdFxcdDwvYmxvY2txdW90ZT5cXG5cXHRcXHQ8YmxvY2txdW90ZSBjbGFzcz1cXFwiLWVycm9yLSBfcmlnaHRfXFxcIj5cXG5cXHRcXHRcXHQ8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBJbnRlZ2VyIHBvc3VlcmUgZXJhdCBhIGFudGUuPC9wPlxcblxcdFxcdFxcdDxzbWFsbD5Tb21lb25lIGZhbW91cyBpbiA8Y2l0ZSB0aXRsZT1cXFwiU291cmNlIFRpdGxlXFxcIj5Tb3VyY2UgVGl0bGU8L2NpdGU+PC9zbWFsbD5cXG5cXHRcXHQ8L2Jsb2NrcXVvdGU+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YmxvY2txdW90ZT5cXG5cXHQ8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBJbnRlZ2VyIHBvc3VlcmUgZXJhdCBhIGFudGUuPC9wPlxcblxcdDxzbWFsbD5Tb21lb25lIGZhbW91cyBpbiA8Y2l0ZSB0aXRsZT1cXFwiU291cmNlIFRpdGxlXFxcIj5Tb3VyY2UgVGl0bGU8L2NpdGU+PC9zbWFsbD5cXG48L2Jsb2NrcXVvdGU+XFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIl9yaWdodF9cXFwiPlxcblxcdDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEludGVnZXIgcG9zdWVyZSBlcmF0IGEgYW50ZS48L3A+XFxuXFx0PHNtYWxsPlNvbWVvbmUgZmFtb3VzIGluIDxjaXRlIHRpdGxlPVxcXCJTb3VyY2UgVGl0bGVcXFwiPlNvdXJjZSBUaXRsZTwvY2l0ZT48L3NtYWxsPlxcbjwvYmxvY2txdW90ZT5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHQ8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBJbnRlZ2VyIHBvc3VlcmUgZXJhdCBhIGFudGUuPC9wPlxcblxcdDxzbWFsbD5Tb21lb25lIGZhbW91cyBpbiA8Y2l0ZSB0aXRsZT1cXFwiU291cmNlIFRpdGxlXFxcIj5Tb3VyY2UgVGl0bGU8L2NpdGU+PC9zbWFsbD5cXG48L2Jsb2NrcXVvdGU+XFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1lcnJvci0gX3JpZ2h0X1xcXCI+XFxuXFx0PHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gSW50ZWdlciBwb3N1ZXJlIGVyYXQgYSBhbnRlLjwvcD5cXG5cXHQ8c21hbGw+U29tZW9uZSBmYW1vdXMgaW4gPGNpdGUgdGl0bGU9XFxcIlNvdXJjZSBUaXRsZVxcXCI+U291cmNlIFRpdGxlPC9jaXRlPjwvc21hbGw+XFxuPC9ibG9ja3F1b3RlPjwvcHJlPjwvZGl2PlxcbjwvZGl2PlxcblwifSxcInRhYmxlc1wiOntcInN0cmlwZWRcIjpcIjwhLS0gPT09PT09PT09PT09IFNUUklQRUQgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMj5TdHJpcGVkPC9oMj5cXG48cD5Vc2UgbW9kaWZpZXIgY2xhc3MgPGNvZGU+X3N0cmlwZWRfPC9jb2RlPiB0byBhZGQgemVicmEtc3RyaXBpbmcgdG8gYW55IHRhYmxlIHJvdyB3aXRoaW4gdGhlIDxjb2RlPiZsdDt0Ym9keSZndDs8L2NvZGU+LjwvcD5cXG5cXG5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfc3RyaXBlZF9cXFwiPlxcblxcdFxcdFxcdDx0aGVhZD5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPiM8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5GaXJzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+TGFzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+VXNlcm5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90aGVhZD5cXG5cXHRcXHRcXHQ8dGJvZHk+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4xPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TWFyazwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk90dG88L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AbWRvPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkphY29iPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+VGhvcm50b248L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AZmF0PC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkxhcnJ5PC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+dGhlIEJpcmQ8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AdHdpdHRlcjwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3Rib2R5PlxcblxcdFxcdDwvdGFibGU+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfc3RyaXBlZF9cXFwiPlxcblxcbjwvdGFibGU+PC9wcmU+PC9kaXY+XFxuXFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPHA+Q29tYmluZSBtb2RpZmllciBhbmQgdGhlbWVzIGNsYXNzZXMuPC9wPlxcblxcblxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIC1wcmltYXJ5LSBfc3RyaXBlZF8gX2hvcml6b250YWxfXFxcIj5cXG5cXHRcXHRcXHQ8dGhlYWQ+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0aD4jPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+Rmlyc3QgTmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkxhc3QgTmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPlVzZXJuYW1lPC90aD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGhlYWQ+XFxuXFx0XFx0XFx0PHRib2R5PlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MTwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk1hcms8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5PdHRvPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QG1kbzwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjI8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5KYWNvYjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPlRob3JudG9uPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QGZhdDwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjM8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5MYXJyeTwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPnRoZSBCaXJkPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QHR3aXR0ZXI8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90Ym9keT5cXG5cXHRcXHQ8L3RhYmxlPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHRhYmxlIGNsYXNzPVxcXCItdGFibGUgLXByaW1hcnktIF9zdHJpcGVkXyBfaG9yaXpvbnRhbF9cXFwiPlxcblxcbjwvdGFibGU+PC9wcmU+PC9kaXY+XFxuXFxuXFxuPC9kaXY+XFxuXCIsXCJyb3dzXCI6XCI8IS0tID09PT09PT09PT09PSBST1dTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDI+Um93czwvaDI+XFxuPHA+VXNlIHRoZW1lIGNsYXNzZXMgKHlvdSBjYW4gaW5jbHVkZSBhbnkgdGhlbWUsIHNvIHRoZW1lcyBjbGFzcyBuYW1lcyBjYW4gYmUgZGlmZmVyZW50KSA8Y29kZT4tcHJpbWFyeS08L2NvZGU+LCA8Y29kZT4tZXJyb3ItPC9jb2RlPiwgPGNvZGU+LXN1Y2Nlc3MtPC9jb2RlPiB3aXRoIDxjb2RlPi4tdGFibGU8L2NvZGU+IHRvIHNldCB0aGVtZSB0byA8Y29kZT4mbHQ7dHImZ3Q7PC9jb2RlPi48L3A+XFxuXFxuXFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHRhYmxlIGNsYXNzPVxcXCItdGFibGVcXFwiPlxcblxcdFxcdFxcdDx0aGVhZD5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPiM8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5GaXJzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+TGFzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+VXNlcm5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90aGVhZD5cXG5cXHRcXHRcXHQ8dGJvZHk+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4xPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TWFyazwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk90dG88L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AbWRvPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0ciBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkphY29iPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+VGhvcm50b248L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AZmF0PC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkxhcnJ5PC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+dGhlIEJpcmQ8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AdHdpdHRlcjwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3Rib2R5PlxcblxcdFxcdDwvdGFibGU+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dGFibGUgY2xhc3M9XFxcIi10YWJsZVxcXCI+XFxuPHRib2R5PlxcblxcdDx0cj5cXG5cXG5cXHQ8L3RyPlxcblxcdDx0ciBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXG5cXHQ8L3RyPlxcblxcdDx0cj5cXG5cXG5cXHQ8L3RyPlxcbjwvdGJvZHk+XFxuPC90YWJsZT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cIixcImhvdmVyZWRcIjpcIjwhLS0gPT09PT09PT09PT09IEhPVkVSRUQgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMj5Ib3ZlcmVkPC9oMj5cXG48cD5Vc2UgbW9kaWZpZXIgY2xhc3MgPGNvZGU+X2hvdmVyZWRfPC9jb2RlPiB0byBhZGQgaGlnaGxpZ2h0IHRvIGhvdmVyZWQgdGFibGUgcm93IHdpdGhpbiB0aGUgPGNvZGU+Jmx0O3Rib2R5Jmd0OzwvY29kZT4uPC9wPlxcblxcblxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3ZlcmVkX1xcXCI+XFxuXFx0XFx0XFx0PHRoZWFkPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+IzwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkZpcnN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5MYXN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5Vc2VybmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3RoZWFkPlxcblxcdFxcdFxcdDx0Ym9keT5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjE8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5NYXJrPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+T3R0bzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBtZG88L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4yPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+SmFjb2I8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5UaG9ybnRvbjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBmYXQ8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4zPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TGFycnk8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD50aGUgQmlyZDwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkB0d2l0dGVyPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGJvZHk+XFxuXFx0XFx0PC90YWJsZT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3ZlcmVkX1xcXCI+XFxuXFxuPC90YWJsZT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG48cD5Db21iaW5lIG1vZGlmaWVyIGFuZCB0aGVtZXMgY2xhc3Nlcy48L3A+XFxuXFxuXFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHRhYmxlIGNsYXNzPVxcXCItdGFibGUgLXByaW1hcnktIF9ob3ZlcmVkXyBfaG9yaXpvbnRhbF9cXFwiPlxcblxcdFxcdFxcdDx0aGVhZD5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPiM8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5GaXJzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+TGFzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+VXNlcm5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90aGVhZD5cXG5cXHRcXHRcXHQ8dGJvZHk+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4xPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TWFyazwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk90dG88L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AbWRvPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkphY29iPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+VGhvcm50b248L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AZmF0PC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkxhcnJ5PC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+dGhlIEJpcmQ8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AdHdpdHRlcjwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3Rib2R5PlxcblxcdFxcdDwvdGFibGU+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dGFibGUgY2xhc3M9XFxcIi10YWJsZSAtcHJpbWFyeS0gX2hvdmVyZWRfIF9ob3Jpem9udGFsX1xcXCI+XFxuXFxuPC90YWJsZT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cIixcImNvbW1vblwiOlwiPGgxPlRhYmxlczwvaDE+XFxuXFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kdGFibGUtY2xhc3M6IFxcXCItdGFibGVcXFwiICFnbG9iYWxcXG4kdGFibGUtY2VsbC1wYWRkaW5nOiA4cHggIWdsb2JhbDwvcHJlPlxcbjwvcD5cXG5cIixcImNlbGxzXCI6XCI8IS0tID09PT09PT09PT09PSBDRUxMUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPkNlbGxzPC9oMj5cXG48cD5Vc2UgdGhlbWUgY2xhc3NlcyAoeW91IGNhbiBpbmNsdWRlIGFueSB0aGVtZSwgc28gdGhlbWVzIGNsYXNzIG5hbWVzIGNhbiBiZSBkaWZmZXJlbnQpIDxjb2RlPi1wcmltYXJ5LTwvY29kZT4sIDxjb2RlPi1lcnJvci08L2NvZGU+LCA8Y29kZT4tc3VjY2Vzcy08L2NvZGU+IHRvIHNldCB0aGVtZSB0byA8Y29kZT4mbHQ7dGQmZ3Q7PC9jb2RlPi48L3A+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHRhYmxlIGNsYXNzPVxcXCItdGFibGVcXFwiPlxcblxcdFxcdFxcdDx0aGVhZD5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPiM8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5GaXJzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+TGFzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+VXNlcm5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90aGVhZD5cXG5cXHRcXHRcXHQ8dGJvZHk+XFxuXFx0XFx0XFx0XFx0PHRyIGNsYXNzPVxcXCItZGVmYXVsdC1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4xPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TWFyazwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPk90dG88L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AbWRvPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPkphY29iPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+VGhvcm50b248L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AZmF0PC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkxhcnJ5PC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+dGhlIEJpcmQ8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5AdHdpdHRlcjwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3Rib2R5PlxcblxcdFxcdDwvdGFibGU+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dGFibGUgY2xhc3M9XFxcIi10YWJsZVxcXCI+XFxuPHRib2R5PlxcblxcdDx0ciBjbGFzcz1cXFwiLWRlZmF1bHQtXFxcIj5cXG5cXHRcXHQ8dGQ+MTwvdGQ+XFxuXFx0XFx0PHRkPk1hcms8L3RkPlxcblxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5PdHRvPC90ZD5cXG5cXHRcXHQ8dGQ+QG1kbzwvdGQ+XFxuXFx0PC90cj5cXG5cXHQ8dHI+XFxuXFx0XFx0PHRkPjI8L3RkPlxcblxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5KYWNvYjwvdGQ+XFxuXFx0XFx0PHRkPlRob3JudG9uPC90ZD5cXG5cXHRcXHQ8dGQ+QGZhdDwvdGQ+XFxuXFx0PC90cj5cXG5cXHQ8dHI+XFxuXFx0XFx0PHRkPjM8L3RkPlxcblxcdFxcdDx0ZD5MYXJyeTwvdGQ+XFxuXFx0XFx0PHRkPnRoZSBCaXJkPC90ZD5cXG5cXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+QHR3aXR0ZXI8L3RkPlxcblxcdDwvdHI+XFxuPC90Ym9keT5cXG48L3RhYmxlPjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblwiLFwiYmFzaWNcIjpcIjwhLS0gPT09PT09PT09PT09IEJBU0lDIFRBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPkJhc2ljIHVzYWdlPC9oMj5cXG5cXG48cD5Vc2UgY2xhc3MgPGNvZGU+LXJvdzwvY29kZT4uIERlc2lnbmF0ZXMgdGhlIGVsZW1lbnQgYXMgYSByb3cgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZCBsYXlvdXQuPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdDxiPkZvciBtb2JpbGU8L2I+IGFkZCBtb2RpZmllciA8Y29kZT5fcmVzcG9uc2l2ZV88L2NvZGU+LiBUaGlzIHdpbGwgc2V0IGZvciB0YWJsZSA8Y29kZT5mb250LXNpemU6IDAuOWVtPC9jb2RlPi4gQW5kIGRvbid0IGZvcmdldCB0byBoaWRlIG1pbm9yIGNlbGxzIG9uIG1vYmlsZSB3aXRoIDxhIGhyZWY9XFxcIi91dGlsaXRpZXNcXFwiPm1heG1lcnRraXQgcmVzcG9uc2l2ZSB1dGlsaXRpZXM8L2E+LlxcbjwvYmxvY2txdW90ZT5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdFxcdFxcdDx0aGVhZD5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPiM8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5GaXJzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+TGFzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+VXNlcm5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90aGVhZD5cXG5cXHRcXHRcXHQ8dGJvZHk+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4xPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TWFyazwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk90dG88L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AbWRvPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkphY29iPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+VGhvcm50b248L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AZmF0PC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkxhcnJ5PC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+dGhlIEJpcmQ8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AdHdpdHRlcjwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3Rib2R5PlxcblxcdFxcdDwvdGFibGU+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dGFibGUgY2xhc3M9XFxcIi10YWJsZVxcXCI+XFxuPHRoZWFkPlxcblxcdDx0cj5cXG5cXHRcXHQ8dGg+IzwvdGg+XFxuXFx0XFx0PHRoPkZpcnN0IE5hbWU8L3RoPlxcblxcdFxcdDx0aD5MYXN0IE5hbWU8L3RoPlxcblxcdFxcdDx0aD5Vc2VybmFtZTwvdGg+XFxuXFx0PC90cj5cXG48L3RoZWFkPlxcbjx0Ym9keT5cXG5cXHQ8dHI+XFxuXFx0XFx0PHRkPjE8L3RkPlxcblxcdFxcdDx0ZD5NYXJrPC90ZD5cXG5cXHRcXHQ8dGQ+T3R0bzwvdGQ+XFxuXFx0XFx0PHRkPkBtZG88L3RkPlxcblxcdDwvdHI+XFxuXFx0PHRyPlxcblxcdFxcdDx0ZD4yPC90ZD5cXG5cXHRcXHQ8dGQ+SmFjb2I8L3RkPlxcblxcdFxcdDx0ZD5UaG9ybnRvbjwvdGQ+XFxuXFx0XFx0PHRkPkBmYXQ8L3RkPlxcblxcdDwvdHI+XFxuXFx0PHRyPlxcblxcdFxcdDx0ZD4zPC90ZD5cXG5cXHRcXHQ8dGQ+TGFycnk8L3RkPlxcblxcdFxcdDx0ZD50aGUgQmlyZDwvdGQ+XFxuXFx0XFx0PHRkPkB0d2l0dGVyPC90ZD5cXG5cXHQ8L3RyPlxcbjwvdGJvZHk+XFxuPC90YWJsZT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48aDM+SG9yaXpvbnRhbCBib3JkZXI8L2gzPlxcbjxwPlVzZSBtb2RpZmllciBjbGFzcyA8Y29kZT5faG9yaXpvbnRhbF88L2NvZGU+IHRvIGFkZCBob3Jpem9udGFsIGRpdmlkZXJzLjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF9cXFwiPlxcblxcdFxcdFxcdDx0aGVhZD5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPiM8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5GaXJzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+TGFzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+VXNlcm5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90aGVhZD5cXG5cXHRcXHRcXHQ8dGJvZHk+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4xPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TWFyazwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk90dG88L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AbWRvPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkphY29iPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+VGhvcm50b248L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AZmF0PC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkxhcnJ5PC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+dGhlIEJpcmQ8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AdHdpdHRlcjwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3Rib2R5PlxcblxcdFxcdDwvdGFibGU+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF9cXFwiPlxcblxcbjwvdGFibGU+PC9wcmU+PC9kaXY+XFxuXFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuPGgzPlZlcnRpY2FsIGJvcmRlcjwvaDM+XFxuPHA+VXNlIG1vZGlmaWVyIGNsYXNzIDxjb2RlPl92ZXJ0aWNhbF88L2NvZGU+IHRvIGFkZCB2ZXJ0aWNhbCBkaXZpZGVycy48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0PHRoZWFkPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+IzwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkZpcnN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5MYXN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5Vc2VybmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3RoZWFkPlxcblxcdFxcdFxcdDx0Ym9keT5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjE8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5NYXJrPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+T3R0bzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBtZG88L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4yPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+SmFjb2I8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5UaG9ybnRvbjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBmYXQ8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4zPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TGFycnk8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD50aGUgQmlyZDwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkB0d2l0dGVyPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGJvZHk+XFxuXFx0XFx0PC90YWJsZT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF92ZXJ0aWNhbF9cXFwiPlxcblxcbjwvdGFibGU+PC9wcmU+PC9kaXY+XFxuXFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuPGgzPkNvbWJpbmUgbW9kaWZpZXJzPC9oMz5cXG48cD5Db21iaW5lIG1vZGlmaWVycyA8Y29kZT5fdmVydGljYWxfPC9jb2RlPiBhbmQgPGNvZGU+X2hvcml6b250YWxfPC9jb2RlPiB0byBhZGQgaW5zaWRlIGRpdmlkZXJzLjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfdmVydGljYWxfIF9ob3Jpem9udGFsX1xcXCI+XFxuXFx0XFx0XFx0PHRoZWFkPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+IzwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkZpcnN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5MYXN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5Vc2VybmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3RoZWFkPlxcblxcdFxcdFxcdDx0Ym9keT5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjE8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5NYXJrPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+T3R0bzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBtZG88L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4yPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+SmFjb2I8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5UaG9ybnRvbjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBmYXQ8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4zPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TGFycnk8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD50aGUgQmlyZDwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkB0d2l0dGVyPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGJvZHk+XFxuXFx0XFx0PC90YWJsZT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF92ZXJ0aWNhbF8gX2hvcml6b250YWxfXFxcIj5cXG5cXG48L3RhYmxlPjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblxcblxcblxcblxcblxcblxcbjxoMz5Cb3JkZXJlZDwvaDM+XFxuPHA+VXNlIG1vZGlmaWVyIGNsYXNzIDxjb2RlPl9ib3JkZXJlZF88L2NvZGU+IGZvciBib3JkZXJzIG9uIGFsbCBzaWRlcyBvZiB0aGUgdGFibGUgYW5kIGNlbGxzLjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfYm9yZGVyZWRfXFxcIj5cXG5cXHRcXHRcXHQ8dGhlYWQ+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0aD4jPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+Rmlyc3QgTmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkxhc3QgTmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPlVzZXJuYW1lPC90aD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGhlYWQ+XFxuXFx0XFx0XFx0PHRib2R5PlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MTwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk1hcms8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5PdHRvPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QG1kbzwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjI8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5KYWNvYjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPlRob3JudG9uPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QGZhdDwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjM8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5MYXJyeTwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPnRoZSBCaXJkPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QHR3aXR0ZXI8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90Ym9keT5cXG5cXHRcXHQ8L3RhYmxlPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2JvcmRlcmVkX1xcXCI+XFxuXFxuPC90YWJsZT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48aDM+VXNlIHRoZW1lczwvaDM+XFxuPHA+VXNlIHRoZW1lIGNsYXNzZXMgKHlvdSBjYW4gaW5jbHVkZSBhbnkgdGhlbWUsIHNvIHRoZW1lcyBjbGFzcyBuYW1lcyBjYW4gYmUgZGlmZmVyZW50KSA8Y29kZT4tcHJpbWFyeS08L2NvZGU+LCA8Y29kZT4tZXJyb3ItPC9jb2RlPiwgPGNvZGU+LXN1Y2Nlc3MtPC9jb2RlPiB3aXRoIDxjb2RlPi4tdGFibGU8L2NvZGU+IHRvIHNldCB0aGVtZS48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX3ZlcnRpY2FsXyBfaG9yaXpvbnRhbF8gLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8dGhlYWQ+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0aD4jPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+Rmlyc3QgTmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkxhc3QgTmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPlVzZXJuYW1lPC90aD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGhlYWQ+XFxuXFx0XFx0XFx0PHRib2R5PlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MTwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk1hcms8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5PdHRvPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QG1kbzwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjI8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5KYWNvYjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPlRob3JudG9uPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QGZhdDwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjM8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5MYXJyeTwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPnRoZSBCaXJkPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QHR3aXR0ZXI8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90Ym9keT5cXG5cXHRcXHQ8L3RhYmxlPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHRhYmxlIGNsYXNzPVxcXCItdGFibGUgLXByaW1hcnktIF92ZXJ0aWNhbF8gX2hvcml6b250YWxfXFxcIj5cXG5cXG48L3RhYmxlPjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblwifSxcImdyaWRcIjp7XCJyb3dcIjpcIjwhLS0gPT09PT09PT09PT09IFJPVyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgzPlJvdzwvaDM+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVmFyaWFibGVzIC0tPlxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kcm93LWNsYXNzOiAtcm93ICFnbG9iYWw8L3ByZT5cXG48L2Rpdj5cXG48L3A+XFxuXFxuPHA+VXNlIGNsYXNzIDxjb2RlPi1yb3c8L2NvZGU+LiBEZXNpZ25hdGVzIHRoZSBlbGVtZW50IGFzIGEgcm93IG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQgbGF5b3V0LjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93IHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0XFx0VGhpcyBpcyBmaXJzdCByb3cuXFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyByb3ctY29sb3JcXFwiPlxcblxcdFxcdFxcdFRoaXMgaXMgc2Vjb25kIHJvdy5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRUaGlzIGlzIGZpcnN0IHJvdy5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93IHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0VGhpcyBpcyBzZWNvbmQgcm93LlxcblxcdDwvZGl2PlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdFVzZSBtb2RpZmllciA8Y29kZT5fanVzdGlmeV88L2NvZGU+IHRvIHByZXZlbnQgbW9iaWxlIHZpZXcgb2YgdGhlIGdyaWQuXFxuPC9ibG9ja3F1b3RlPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgX2p1c3RpZnlfIHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yXFxcIj5LZWVwIGdyaWQgc3RydWN0dXJlIGluIG1vYmlsZTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvclxcXCI+S2VlcCBncmlkIHN0cnVjdHVyZSBpbiBtb2JpbGU8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3JcXFwiPktlZXAgZ3JpZCBzdHJ1Y3R1cmUgaW4gbW9iaWxlPC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyByb3ctY29sb3JcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvclxcXCI+RG9uJ3Qga2VlcCBncmlkIHN0cnVjdHVyZSBpbiBtb2JpbGU8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3JcXFwiPkRvbid0IGtlZXAgZ3JpZCBzdHJ1Y3R1cmUgaW4gbW9iaWxlPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yXFxcIj5Eb24ndCBrZWVwIGdyaWQgc3RydWN0dXJlIGluIG1vYmlsZTwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+PGRpdiBjbGFzcz1cXFwiLXJvdyBfanVzdGlmeV8gcm93LWNvbG9yXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3JcXFwiPktlZXAgZ3JpZCBzdHJ1Y3R1cmUgaW4gbW9iaWxlPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yXFxcIj5LZWVwIGdyaWQgc3RydWN0dXJlIGluIG1vYmlsZTwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvclxcXCI+S2VlcCBncmlkIHN0cnVjdHVyZSBpbiBtb2JpbGU8L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItcm93IHJvdy1jb2xvclxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yXFxcIj5Eb24ndCBrZWVwIGdyaWQgc3RydWN0dXJlIGluIG1vYmlsZTwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvclxcXCI+RG9uJ3Qga2VlcCBncmlkIHN0cnVjdHVyZSBpbiBtb2JpbGU8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3JcXFwiPkRvbid0IGtlZXAgZ3JpZCBzdHJ1Y3R1cmUgaW4gbW9iaWxlPC9kaXY+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJjb250YWluZXJcIjpcIjwhLS0gPT09PT09PT09PT09IENPTlRBSU5FUiAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPkNvbnRhaW5lcjwvaDI+XFxuPHA+XFxuXFx0PGI+R2xvYmFsIHZhcmlhYmxlczwvYj5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kY29udGFpbmVyLWNsYXNzOiAtY29udGFpbmVyICFnbG9iYWw8L3ByZT48L2Rpdj5cXG48L3A+XFxuPHA+VXNlIGNsYXNzIDxjb2RlPi1jb250YWluZXI8L2NvZGU+IHRvIG1vdmUgYmxvY2sgdG8gdGhlIGNlbnRlciBpbiB0aGUgdmlld3BvcnQsIGNsZWFyIGl0cyBmbG9hdHMsIGFuZCBzZXQgaXRzIG1heC13aWR0aC48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPi4uLjwvZGl2PjwvcHJlPlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdFVzZSBtb2RpZmllciA8Y29kZT5fZml4ZWRfPC9jb2RlPiB0byBjYW5jZWwgcmVzcG9uc2l2ZW5lc3MuXFxuPC9ibG9ja3F1b3RlPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyIF9maXhlZF9cXFwiPi4uLndpZHRoIGlzIGFsd2F5cyA5OTJweC4uLjwvZGl2PjwvcHJlPlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblwiLFwiY29tbW9uXCI6XCI8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHQ8aDE+R3JpZDwvaDE+XFxuPC9kaXY+XFxuXCIsXCJjb2x1bW5zXCI6XCI8IS0tID09PT09PT09PT09PSBHUklEIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDM+Q29sdW1uczwvaDM+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVmFyaWFibGVzIC0tPlxcbjxwPlxcblxcdDxiPkdsb2JhbCB2YXJpYWJsZXM8L2I+XFxuXFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRjb2x1bW4tY2xhc3M6IC1jb2wgIWdsb2JhbFxcbiRjb2x1bW4tcXVhbnRpdHk6IDEyICFnbG9iYWxcXG4kb2Zmc2V0LWNsYXNzOiAtb2Zmc2V0ICFnbG9iYWw8L3ByZT5cXG48L3A+XFxuXFxuPHA+VXNlIGNsYXNzIDxjb2RlPi4tY29sIzwvY29kZT48c21hbGw+KCMgLSBudW1iZXIgMS4uJGNvbHVtbi1xdWFudGl0eSk8L3NtYWxsPi4gU3BlY2lmaWVzIGNvbHVtbnMgb2YgdGhlIGdyaWQuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSBjb2x1bW4tY29sb3JcXFwiPi1jb2wxPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgY29sdW1uLWNvbG9yXFxcIj4tY29sMTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIGNvbHVtbi1jb2xvclxcXCI+LWNvbDE8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSBjb2x1bW4tY29sb3JcXFwiPi1jb2wxPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgY29sdW1uLWNvbG9yXFxcIj4tY29sMTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIGNvbHVtbi1jb2xvclxcXCI+LWNvbDE8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSBjb2x1bW4tY29sb3JcXFwiPi1jb2wxPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgY29sdW1uLWNvbG9yXFxcIj4tY29sMTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIGNvbHVtbi1jb2xvclxcXCI+LWNvbDE8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSBjb2x1bW4tY29sb3JcXFwiPi1jb2wxPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgY29sdW1uLWNvbG9yXFxcIj4tY29sMTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIGNvbHVtbi1jb2xvclxcXCI+LWNvbDE8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93IHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDIgY29sdW1uLWNvbG9yXFxcIj4tY29sMjwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIGNvbHVtbi1jb2xvclxcXCI+LWNvbDI8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMiBjb2x1bW4tY29sb3JcXFwiPi1jb2wyPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDIgY29sdW1uLWNvbG9yXFxcIj4tY29sMjwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIGNvbHVtbi1jb2xvclxcXCI+LWNvbDI8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMiBjb2x1bW4tY29sb3JcXFwiPi1jb2wyPC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyByb3ctY29sb3JcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIGNvbHVtbi1jb2xvclxcXCI+LWNvbDM8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyBjb2x1bW4tY29sb3JcXFwiPi1jb2wzPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgY29sdW1uLWNvbG9yXFxcIj4tY29sMzwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIGNvbHVtbi1jb2xvclxcXCI+LWNvbDM8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93IHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yXFxcIj4tY29sNDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvclxcXCI+LWNvbDQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3JcXFwiPi1jb2w0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyByb3ctY29sb3JcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1IGNvbHVtbi1jb2xvclxcXCI+LWNvbDU8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMiBjb2x1bW4tY29sb3JcXFwiPi1jb2wyPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDUgY29sdW1uLWNvbG9yXFxcIj4tY29sNTwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiBjb2x1bW4tY29sb3JcXFwiPi1jb2w2PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDYgY29sdW1uLWNvbG9yXFxcIj4tY29sNjwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCBjb2x1bW4tY29sb3JcXFwiPi1jb2w4PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yXFxcIj4tY29sNDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPi1jb2wxPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPi1jb2wxPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPi1jb2wxPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPi1jb2wxPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPi1jb2wxPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPi1jb2wxPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPi1jb2wxPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPi1jb2wxPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPi1jb2wxPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPi1jb2wxPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPi1jb2wxPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPi1jb2wxPC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPi1jb2wyPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPi1jb2wyPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPi1jb2wyPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPi1jb2wyPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPi1jb2wyPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPi1jb2wyPC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPi1jb2wzPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPi1jb2wzPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPi1jb2wzPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPi1jb2wzPC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPi1jb2w0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPi1jb2w0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPi1jb2w0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDVcXFwiPi1jb2w1PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPi1jb2wyPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDVcXFwiPi1jb2w1PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPi1jb2w2PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPi1jb2w2PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDhcXFwiPi1jb2w4PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPi1jb2w0PC9kaXY+XFxuPC9kaXY+PC9wcmU+XFxuXFxuPC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGgzPk9yZGVyPC9oMz5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXdhcm5pbmctXFxcIj5cXG5cXHRZb3UgY2FuIGNoYW5nZSBvcmRlciBvZiB0aGUgY29sdW1ucyBvbiBkaWZmZXJlbnQgZGV2aWNlcy4gTG9vayBhdCA8YSBocmVmPVxcXCIvdXRpbGl0aWVzI29yZGVyQ29tbW9uXFxcIj5VdGlsaXRpZXMgb3JkZXI8L2E+LlxcbjwvYmxvY2txdW90ZT5cXG5cXG5cXG5cXG48aDM+T2Zmc2V0czwvaDM+XFxuPHA+VXNlIGNsYXNzIDxjb2RlPi4tb2Zmc2V0IzwvY29kZT4uIFRoZXNlIGNsYXNzZXMgaW5jcmVhc2UgdGhlIGxlZnQgbWFyZ2luIG9mIGEgY29sdW1uIGJ5IDxjb2RlPiM8L2NvZGU+IGNvbHVtbnMuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMiBjb2x1bW4tY29sb3JcXFwiPi1jb2wyPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDIgLW9mZnNldDIgY29sdW1uLWNvbG9yXFxcIj4tY29sMiAtb2Zmc2V0MjwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIGNvbHVtbi1jb2xvclxcXCI+LWNvbDI8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMiBjb2x1bW4tY29sb3JcXFwiPi1jb2wyPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDIgY29sdW1uLWNvbG9yXFxcIj4tY29sMjwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiAtb2Zmc2V0NiBjb2x1bW4tY29sb3JcXFwiPi1jb2w2IC1vZmZzZXQ2PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyByb3ctY29sb3JcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2IC1vZmZzZXQzIGNvbHVtbi1jb2xvclxcXCI+LWNvbDYgLW9mZnNldDM8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj4tY29sMjwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIC1vZmZzZXQyXFxcIj4tY29sMiAtb2Zmc2V0MjwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj4tY29sMjwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj4tY29sMjwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj4tY29sMjwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2IC1vZmZzZXQ2XFxcIj4tY29sNiAtb2Zmc2V0NjwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2IC1vZmZzZXQzXFxcIj4tY29sNiAtb2Zmc2V0MzwvZGl2PlxcbjwvZGl2PjwvcHJlPlxcbjwvZGl2PlxcblxcbjwvZGl2PlxcblwifSxcImZvcm1zXCI6e1wiZ3JpZFwiOlwiPCEtLSA9PT09PT09PT09PT0gR1JJRCBGT1JNIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDM+QnVpbGQgZm9ybSBncmlkPC9oMz5cXG5cXG48IS0tID09PT09PT09PT09PSBWYXJpYWJsZXMgLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kZm9ybS1pbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZ2xvYmFsXFxuJGZvcm0taW5wdXQtYm9yZGVyLXJhZGl1czogMCAhZ2xvYmFsXFxuJGZvcm0tbGFiZWwtY3Vyc29yOiBwb2ludGVyICFnbG9iYWxcXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogMjAwICFnbG9iYWxcXG5cXG4kZm9ybS1jb2x1bW4tbWFyZ2luLWJvdHRvbTogNHB4ICFnbG9iYWw8L3ByZT5cXG48L3A+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gRGVzY3JpcHRpb24gLS0+XFxuPHA+RG9udCd0IGZvcmdldCB0byB1c2UgPGNvZGU+Zm9yPVxcXCIjaWQtaW5wdXQtbmFtZVxcXCI8L2NvZGU+IHdpdGggPGNvZGU+Jmx0O2xhYmVsJmd0OzwvY29kZT4sIGl0IGlzbid0IG5lY2Vzc2FyeSwgYnV0IGl0J3MgYSBnb29kIHByYWN0aWNlLjwvcD5cXG5cXG48cD5cXG5cXHRDcmVhdGluZyBhIGZvcm0gaXMgZGVzaWduZWQgdG8gYmUgZWFzeSBhbmQgZmxleGlibGUuIEZvcm1zIGFyZSBidWlsdCB3aXRoIGEgY29tYmluYXRpb24gb2Ygc3RhbmRhcmQgZm9ybSBlbGVtZW50cywgYXMgd2VsbCBhcyB0aGUgR3JpZCAoPGNvZGU+LXJvdzwvY29kZT4gYW5kIDxjb2RlPi1jb2wjPC9jb2RlPikuIEZvcm0gZWxlbWVudHMgaW4gRm91bmRhdGlvbiBhcmUgc3R5bGVkIGJhc2VkIG9uIHRoZWlyIHR5cGUgYXR0cmlidXRlIHJhdGhlciB0aGFuIGEgY2xhc3MsIGFuZCBjYW4gYmUgc2l6ZWQgaW4gYSBjb3VwbGUgb2Ygd2F5czpcXG5cXHQ8dWw+XFxuXFx0XFx0PGxpPllvdSBjYW4gc2l6ZSBpbnB1dHMgdXNpbmcgY29sdW1uIHNpemVzIDxjb2RlPi1jb2wjPC9jb2RlPjwvbGk+XFxuXFx0XFx0PGxpPllvdSBjYW4gY3JlYXRlIHJvdyBlbGVtZW50cyBpbnNpZGUgeW91ciBmb3JtIGFuZCB1c2UgY29sdW1ucyBmb3IgdGhlIGZvcm0sIGluY2x1ZGluZyBpbnB1dHMsIGxhYmVscyBhbmQgbW9yZS4gUm93cyBpbnNpZGUgYSBmb3JtIGluaGVyaXQgc29tZSBzcGVjaWFsIHBhZGRpbmcgdG8gZXZlbiB1cCBpbnB1dCBzcGFjaW5nLjwvbGk+XFxuXFx0PC91bD5cXG5cXHRUbyB1bmRlcnN0YW5kIGhvdyB0byB1c2UgR3JpZCwgcGxlYXNlIGxvb2sgYXQgPGEgaHJlZj1cXFwiI2dyaWRcXFwiPmdyaWQgc2VjdGlvbjwvYT4uXFxuPC9wPlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcblxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDFcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDFcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwyXFxcIj5QYXNzd29yZHM8L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsMlxcXCIgdHlwZT1cXFwicGFzc3dvcmRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDNcXFwiIHR5cGU9XFxcInBhc3N3b3JkXFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9mb3JtPlxcblxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGZvcm0+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsM1xcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsM1xcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDRcXFwiPlBhc3N3b3JkczwvbGFiZWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWw0XFxcIiB0eXBlPVxcXCJwYXNzd29yZFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsNVxcXCIgdHlwZT1cXFwicGFzc3dvcmRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Zvcm0+PC9wcmU+PC9kaXY+XFxuXFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFxuXFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsNlxcXCI+SW5wdXQgbGFiZWw8L2xhYmVsPlxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWw2XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgLW9mZnNldDFcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsN1xcXCI+SW5wdXQgbGFiZWw8L2xhYmVsPlxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWw3XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsOFxcXCI+Jm5ic3A7PC9sYWJlbD5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsOFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDlcXFwiPklucHV0IGxhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsOVxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDEwXFxcIj5TZWxlY3QgbGFiZWw8L2xhYmVsPlxcblxcdFxcdFxcdFxcdFxcdDxzZWxlY3QgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsMTFcXFwiPlNlbGVjdCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0XFx0PHNlbGVjdCBpZD1cXFwiaW5wdXQtbGFiZWwxMVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMTwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDI8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHQ8L3NlbGVjdD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNSAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwxMlxcXCI+SW5wdXQgbGFiZWw8L2xhYmVsPlxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWwxMlxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDEzXFxcIj5JbnB1dCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDEzXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsMTBcXFwiPlNlbGVjdCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0XFx0PHNlbGVjdCBjbGFzcz1cXFwiLXByaW1hcnktXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxMFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMTwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDI8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHQ8L3NlbGVjdD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwxMVxcXCI+U2VsZWN0IGxhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHRcXHQ8c2VsZWN0IGlkPVxcXCJpbnB1dC1sYWJlbDExXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWw+Q2hlY2sgcmFkaW9idXR0b248L2xhYmVsPlxcblxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCB0eXBlPVxcXCJyYWRpb1xcXCIgbmFtZT1cXFwiaW5wdXRyYWRpb1xcXCIgdmFsdWU9XFxcIjEyMzRcXFwiIGlkPVxcXCJpbnB1dC1yYWRpbzFcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LXJhZGlvMVxcXCI+UmFkaW8gMTwvbGFiZWw+XFxuXFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IHR5cGU9XFxcInJhZGlvXFxcIiBuYW1lPVxcXCJpbnB1dHJhZGlvXFxcIiB2YWx1ZT1cXFwiMTIzNDVcXFwiIGlkPVxcXCJpbnB1dC1yYWRpbzJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LXJhZGlvMlxcXCI+UmFkaW8gMjwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbD5DaGVjayBjaGVja2JveDwvbGFiZWw+XFxuXFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IHR5cGU9XFxcImNoZWNrYm94XFxcIiBuYW1lPVxcXCJpbnB1dGNoZWNrYm94XFxcIiB2YWx1ZT1cXFwiUmVkXFxcIiBpZD1cXFwiaW5wdXQtY2hlY2tib3gxXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1jaGVja2JveDFcXFwiPkNoZWNrYm94IDE8L2xhYmVsPlxcblxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCB0eXBlPVxcXCJjaGVja2JveFxcXCIgbmFtZT1cXFwiaW5wdXRjaGVja2JveFxcXCIgdmFsdWU9XFxcIlJlZFxcXCIgaWQ9XFxcImlucHV0LWNoZWNrYm94MlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtY2hlY2tib3gyXFxcIj5DaGVja2JveCAyPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcInRleHRhcmVhMVxcXCI+TGFiZWwgZm9yIHRleHRhcmVhPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGV4dGFyZWEgaWQ9XFxcInRleHRhcmVhMVxcXCI+PC90ZXh0YXJlYT5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Zvcm0+XFxuXFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48Zm9ybT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWw2XFxcIj5JbnB1dCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDZcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWw3XFxcIj5JbnB1dCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDdcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWw4XFxcIj4mbmJzcDs8L2xhYmVsPlxcblxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWw4XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsOVxcXCI+SW5wdXQgbGFiZWw8L2xhYmVsPlxcblxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWw5XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsMTBcXFwiPlNlbGVjdCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0PHNlbGVjdCBjbGFzcz1cXFwiLXByaW1hcnktXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxMFxcXCI+XFxuXFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMTwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDI8L29wdGlvbj5cXG5cXHRcXHRcXHQ8L3NlbGVjdD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwxMVxcXCI+U2VsZWN0IGxhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHQ8c2VsZWN0IGlkPVxcXCJpbnB1dC1sYWJlbDExXFxcIj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1IC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDEyXFxcIj5JbnB1dCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDEyXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsMTNcXFwiPklucHV0IGxhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsMTNcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwxMFxcXCI+U2VsZWN0IGxhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHQ8c2VsZWN0IGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDEwXFxcIj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDExXFxcIj5TZWxlY3QgbGFiZWw8L2xhYmVsPlxcblxcdFxcdFxcdDxzZWxlY3QgaWQ9XFxcImlucHV0LWxhYmVsMTFcXFwiPlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgLW9mZnNldDFcXFwiPlxcblxcdFxcdFxcdDxsYWJlbD5DaGVjayByYWRpb2J1dHRvbjwvbGFiZWw+XFxuXFxuXFx0XFx0XFx0PGlucHV0IHR5cGU9XFxcInJhZGlvXFxcIiBuYW1lPVxcXCJpbnB1dHJhZGlvXFxcIiB2YWx1ZT1cXFwiMTIzNFxcXCIgaWQ9XFxcImlucHV0LXJhZGlvMVxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtcmFkaW8xXFxcIj5SYWRpbyAxPC9sYWJlbD5cXG5cXG5cXHRcXHRcXHQ8aW5wdXQgdHlwZT1cXFwicmFkaW9cXFwiIG5hbWU9XFxcImlucHV0cmFkaW9cXFwiIHZhbHVlPVxcXCIxMjM0NVxcXCIgaWQ9XFxcImlucHV0LXJhZGlvMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtcmFkaW8yXFxcIj5SYWRpbyAyPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsPkNoZWNrIGNoZWNrYm94PC9sYWJlbD5cXG5cXG5cXHRcXHRcXHQ8aW5wdXQgdHlwZT1cXFwiY2hlY2tib3hcXFwiIG5hbWU9XFxcImlucHV0Y2hlY2tib3hcXFwiIHZhbHVlPVxcXCJSZWRcXFwiIGlkPVxcXCJpbnB1dC1jaGVja2JveDFcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWNoZWNrYm94MVxcXCI+Q2hlY2tib3ggMTwvbGFiZWw+XFxuXFxuXFx0XFx0XFx0PGlucHV0IHR5cGU9XFxcImNoZWNrYm94XFxcIiBuYW1lPVxcXCJpbnB1dGNoZWNrYm94XFxcIiB2YWx1ZT1cXFwiUmVkXFxcIiBpZD1cXFwiaW5wdXQtY2hlY2tib3gyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1jaGVja2JveDJcXFwiPkNoZWNrYm94IDI8L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwidGV4dGFyZWExXFxcIj5MYWJlbCBmb3IgdGV4dGFyZWE8L2xhYmVsPlxcblxcdFxcdFxcdDx0ZXh0YXJlYSBpZD1cXFwidGV4dGFyZWExXFxcIj48L3RleHRhcmVhPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZm9ybT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG48cD5Vc2UgdGhlbWUgY2xhc3NlcyAoeW91IGNhbiBpbmNsdWRlIGFueSB0aGVtZSwgc28gdGhlbWVzIGNsYXNzIG5hbWVzIGNhbiBiZSBkaWZmZXJlbnQpIDxjb2RlPi1wcmltYXJ5LTwvY29kZT4sIDxjb2RlPi1lcnJvci08L2NvZGU+LCA8Y29kZT4tc3VjY2Vzcy08L2NvZGU+LCBldGMuIHdpdGggPGNvZGU+Jmx0O2lucHV0Jmd0OzwvY29kZT4gdG8gc2V0IHRoZW1lLjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXG5cXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCIgcGxhY2Vob2xkZXI9XFxcIi1wcmltYXJ5LVxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwxNVxcXCI+UGFzc3dvcmRzPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCItZXJyb3ItXFxcIiBwbGFjZWhvbGRlcj1cXFwiLWVycm9yLVxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTVcXFwiIHR5cGU9XFxcInBhc3N3b3JkXFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWwxNlxcXCIgdHlwZT1cXFwicGFzc3dvcmRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Zvcm0+XFxuXFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48Zm9ybT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCIgcGxhY2Vob2xkZXI9XFxcIi1wcmltYXJ5LVxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwxNVxcXCI+UGFzc3dvcmRzPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCItZXJyb3ItXFxcIiBwbGFjZWhvbGRlcj1cXFwiLWVycm9yLVxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTVcXFwiIHR5cGU9XFxcInBhc3N3b3JkXFxcIi8+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWwxNlxcXCIgdHlwZT1cXFwicGFzc3dvcmRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Zvcm0+PC9wcmU+PC9kaXY+XFxuXFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPHA+VXNlIHNpemUgY2xhc3NlcyBVc2Ugc2l6ZSBjbGFzc2VzIDxjb2RlPl90aW55PC9jb2RlPiwgPGNvZGU+X3NtYWxsPC9jb2RlPiwgPGNvZGU+X21pbm9yPC9jb2RlPiwgPGNvZGU+X25vcm1hbDwvY29kZT4sIDxjb2RlPl9tYWpvcjwvY29kZT4sIDxjb2RlPl9ub3JtYWw8L2NvZGU+LCA8Y29kZT5fYmlnPC9jb2RlPiwgPGNvZGU+X2h1Z2U8L2NvZGU+LCA8Y29kZT5fZGl2aW5lPC9jb2RlPiB3aXRoIDxjb2RlPiZsdDtpbnB1dCZndDs8L2NvZGU+IHRvIHNldCBzaXplLjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXG5cXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfbWlub3JcXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9taW5vclxcXCIgcGxhY2Vob2xkZXI9XFxcIl9taW5vclxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfbm9ybWFsXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfbm9ybWFsXFxcIiBwbGFjZWhvbGRlcj1cXFwiX25vcm1hbFxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfbWFqb3JcXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9tYWpvclxcXCIgcGxhY2Vob2xkZXI9XFxcIl9tYWpvclxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfYmlnXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfYmlnXFxcIiBwbGFjZWhvbGRlcj1cXFwiX2JpZ1xcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfaHVnZVxcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDE0XFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDhcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX2h1Z2VcXFwiIHBsYWNlaG9sZGVyPVxcXCJfaHVnZVxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfZGl2aW5lXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfZGl2aW5lXFxcIiBwbGFjZWhvbGRlcj1cXFwiX2RpdmluZVxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Zvcm0+XFxuXFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48Zm9ybT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfbWlub3JcXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9taW5vclxcXCIgcGxhY2Vob2xkZXI9XFxcIl9taW5vclxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfbm9ybWFsXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfbm9ybWFsXFxcIiBwbGFjZWhvbGRlcj1cXFwiX25vcm1hbFxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfbWFqb3JcXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9tYWpvclxcXCIgcGxhY2Vob2xkZXI9XFxcIl9tYWpvclxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfYmlnXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfYmlnXFxcIiBwbGFjZWhvbGRlcj1cXFwiX2JpZ1xcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfaHVnZVxcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDE0XFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDhcXFwiPlxcblxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX2h1Z2VcXFwiIHBsYWNlaG9sZGVyPVxcXCJfaHVnZVxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfZGl2aW5lXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfZGl2aW5lXFxcIiBwbGFjZWhvbGRlcj1cXFwiX2RpdmluZVxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Zvcm0+PC9wcmU+PC9kaXY+XFxuXFxuXFxuPC9kaXY+XFxuXCIsXCJmaWVsZHNldFwiOlwiPCEtLSA9PT09PT09PT09PT0gREVTQ1JJUFRJT04gLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMz5GaWVsZHNldDwvaDM+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVmFyaWFibGVzIC0tPlxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG5cXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JGZvcm0tZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMikgIWdsb2JhbFxcbiRmb3JtLWZpZWxkc2V0LXBhZGRpbmctdmVydGljYWw6ICRiYXNlLWxpbmUtaGVpZ2h0LWNvbXAgIWdsb2JhbFxcbiRmb3JtLWZpZWxkc2V0LXBhZGRpbmctaG9yaXpvbnRhbDogJGJhc2UtbGluZS1oZWlnaHQtY29tcCAhZ2xvYmFsXFxuJGZvcm0tbGVnZW5kLXBhZGRpbmc6IDdweCAhZ2xvYmFsPC9wcmU+XFxuPC9wPlxcblxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcblxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdDxmaWVsZHNldD5cXG5cXHRcXHRcXHRcXHQ8bGVnZW5kPkZpZWxkc2V0IExlZ2VuZDwvbGVnZW5kPlxcblxcblxcdFxcdFxcdFxcdDxsYWJlbD5JbnB1dCBMYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0PGlucHV0IHR5cGU9XFxcInRleHRcXFwiIHBsYWNlaG9sZGVyPVxcXCJJbnB1dHMgYW5kIG90aGVyIGZvcm0gZWxlbWVudHMgZ28gaW5zaWRlLi4uXFxcIj5cXG5cXHRcXHRcXHQ8L2ZpZWxkc2V0PlxcblxcdFxcdDwvZm9ybT5cXG5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxmb3JtPlxcblxcdDxmaWVsZHNldD5cXG5cXHRcXHQ8bGVnZW5kPkZpZWxkc2V0IExlZ2VuZDwvbGVnZW5kPlxcblxcblxcdFxcdDxsYWJlbD5JbnB1dCBMYWJlbDwvbGFiZWw+XFxuXFx0XFx0PGlucHV0IHR5cGU9XFxcInRleHRcXFwiIHBsYWNlaG9sZGVyPVxcXCJJbnB1dHMgYW5kIG90aGVyIGZvcm0gZWxlbWVudHMgZ28gaW5zaWRlLi4uXFxcIj5cXG5cXHQ8L2ZpZWxkc2V0PlxcbjwvZm9ybT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cIixcImZpZWxkc1wiOlwiPCEtLSA9PT09PT09PT09PT0gRklFTERTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDM+RmllbGRzPC9oMz5cXG5cXG48IS0tID09PT09PT09PT09PSBWYXJpYWJsZXMgLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kZm9ybS1maWVsZC1jbGFzczogXFxcIi1maWVsZFxcXCJcXG4kZm9ybS1maWVsZC1ib3JkZXItd2lkdGg6IDNweFxcbiRmb3JtLWZpZWxkLWJvcmRlci1yYWRpdXM6IDNweDwvcHJlPlxcbjwvcD5cXG5cXG5cXG48IS0tID09PT09PT09PT09PSBEZXNjcmlwdGlvbiAtLT5cXG5cXG48cD5XaGF0IGlzIGZpbGVkPyBGaWVsZCBpcyBhbiBlbGVtZW50IHdpdGggY2xhc3MgPGNvZGU+LWZpZWxkPC9jb2RlPiBhbmQgPGNvZGU+Jmx0O2lucHV0Jmd0OzwvY29kZT4gaW5zaWRlLiBJdCBkb2Vzbid0IGhhcyBuZXcgZnVuY3Rpb25zLCBqdXN0IGxvb2tzIHByZXR0aWVyLjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXG5cXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwyMFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWwyMFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9ob3Jpem9udGFsX1xcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDIxXFxcIj5QYXNzd29yZHM8L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGQgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsMjFcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9mb3JtPlxcblxcblxcdDwvZGl2PlxcblxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGZvcm0+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBjbGFzcz1cXFwiX2hvcml6b250YWxfXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMjBcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsMjBcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwyMVxcXCI+UGFzc3dvcmRzPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDIxXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+XFxuXFx0XFx0XFx0XFx0PHNlbGVjdD5cXG5cXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZm9ybT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48cD5Vc2Ugc2l6ZSBjbGFzc2VzIFVzZSBzaXplIGNsYXNzZXMgPGNvZGU+X3Rpbnk8L2NvZGU+LCA8Y29kZT5fc21hbGw8L2NvZGU+LCA8Y29kZT5fbWlub3I8L2NvZGU+LCA8Y29kZT5fbm9ybWFsPC9jb2RlPiwgPGNvZGU+X21ham9yPC9jb2RlPiwgPGNvZGU+X25vcm1hbDwvY29kZT4sIDxjb2RlPl9iaWc8L2NvZGU+LCA8Y29kZT5faHVnZTwvY29kZT4sIDxjb2RlPl9kaXZpbmU8L2NvZGU+IHdpdGggPGNvZGU+Jmx0O2lucHV0Jmd0OzwvY29kZT4gdG8gc2V0IHNpemUuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcblxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9taW5vciBfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX21pbm9yXFxcIiBwbGFjZWhvbGRlcj1cXFwiX21pbm9yXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9ub3JtYWwgX2hvcml6b250YWxfXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfbm9ybWFsXFxcIiBwbGFjZWhvbGRlcj1cXFwiX25vcm1hbFxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfbWFqb3IgX2hvcml6b250YWxfXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkIC1lcnJvci1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX21ham9yXFxcIiBwbGFjZWhvbGRlcj1cXFwiX21ham9yXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9iaWcgX2hvcml6b250YWxfXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9iaWdcXFwiIHBsYWNlaG9sZGVyPVxcXCJfYmlnXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9odWdlIF9ob3Jpem9udGFsX1xcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDE0XFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDhcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfaHVnZVxcXCIgcGxhY2Vob2xkZXI9XFxcIl9odWdlXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9kaXZpbmUgX2hvcml6b250YWxfXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9kaXZpbmVcXFwiIHBsYWNlaG9sZGVyPVxcXCJfZGl2aW5lXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZm9ybT5cXG5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxmb3JtPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9taW5vciBfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPlxcblxcdFxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX21pbm9yXFxcIiBwbGFjZWhvbGRlcj1cXFwiX21pbm9yXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9ub3JtYWwgX2hvcml6b250YWxfXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfbm9ybWFsXFxcIiBwbGFjZWhvbGRlcj1cXFwiX25vcm1hbFxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTRcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfbWFqb3IgX2hvcml6b250YWxfXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkIC1lcnJvci1cXFwiPlxcblxcdFxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX21ham9yXFxcIiBwbGFjZWhvbGRlcj1cXFwiX21ham9yXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9iaWcgX2hvcml6b250YWxfXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9iaWdcXFwiIHBsYWNlaG9sZGVyPVxcXCJfYmlnXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9odWdlIF9ob3Jpem9udGFsX1xcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDE0XFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDhcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+XFxuXFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfaHVnZVxcXCIgcGxhY2Vob2xkZXI9XFxcIl9odWdlXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9kaXZpbmUgX2hvcml6b250YWxfXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9kaXZpbmVcXFwiIHBsYWNlaG9sZGVyPVxcXCJfZGl2aW5lXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZm9ybT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cIixcImNvbW1vblwiOlwiPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0PGgxPkZvcm1zPC9oMT5cXG48L2Rpdj5cXG5cIn19LFwidXRpbGl0aWVzXCI6e1wicmVzcG9uc2l2ZVwiOlwiPGgxPlJlc3BvbnNpdmUgdXRpbGl0aWVzPC9oMT5cXG5cXG5cXG48cD5cXG5cXHRGb3IgZmFzdGVyIG1vYmlsZS1mcmllbmRseSBkZXZlbG9wbWVudCwgdXNlIHRoZXNlIHV0aWxpdHkgY2xhc3NlcyBmb3Igc2hvd2luZyBhbmQgaGlkaW5nIGNvbnRlbnQgYnkgZGV2aWNlIHZpYSBtZWRpYSBxdWVyeS4gQWxzbyBpbmNsdWRlZCBhcmUgdXRpbGl0eSBjbGFzc2VzIGZvciB0b2dnbGluZyBjb250ZW50IHdoZW4gcHJpbnRlZC5cXG48L3A+XFxuXFxuPHA+XFxuXFx0VHJ5IHRvIHVzZSB0aGVzZSBvbiBhIGxpbWl0ZWQgYmFzaXMgYW5kIGF2b2lkIGNyZWF0aW5nIGVudGlyZWx5IGRpZmZlcmVudCB2ZXJzaW9ucyBvZiB0aGUgc2FtZSBzaXRlLiBJbnN0ZWFkLCB1c2UgdGhlbSB0byBjb21wbGVtZW50IGVhY2ggZGV2aWNlJ3MgcHJlc2VudGF0aW9uLiA8Yj5SZXNwb25zaXZlIHV0aWxpdGllcyBhcmUgY3VycmVudGx5IG9ubHkgYXZhaWxhYmxlIGZvciBibG9jayBhbmQgdGFibGUgdG9nZ2xpbmc8L2I+LiBVc2Ugd2l0aCBpbmxpbmUgYW5kIHRhYmxlIGVsZW1lbnRzIGlzIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkLlxcbjwvcD5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfdmVydGljYWxfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD48L3RoPlxcblxcdFxcdFxcdDx0aCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPm1vYmlsZTwvdGg+XFxuXFx0XFx0XFx0PHRoIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+dGFibGV0czwvdGg+XFxuXFx0XFx0XFx0PHRoIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+ZGVza3RvcHM8L3RoPlxcblxcdFxcdFxcdDx0aCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPmxhcmdlIGRlc2t0b3BzPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGNvZGU+Ll92aXNpYmxlLXBob25lc188L2NvZGU+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LSBfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+dmlzaWJsZTwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIiBkaXNhYmxlZD5oaWRkZW48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiIGRpc2FibGVkPmhpZGRlbjwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxjb2RlPi5fdmlzaWJsZS10YWJsZXRzXzwvY29kZT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiIGRpc2FibGVkPmhpZGRlbjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS0gX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPnZpc2libGU8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiIGRpc2FibGVkPmhpZGRlbjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGNvZGU+Ll92aXNpYmxlLWRlc2t0b3BzXzwvY29kZT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiIGRpc2FibGVkPmhpZGRlbjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LSBfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+dmlzaWJsZTwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGNvZGU+Ll92aXNpYmxlLWxhcmdlLWRlc2t0b3BzXzwvY29kZT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiIGRpc2FibGVkPmhpZGRlbjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIiBkaXNhYmxlZD5oaWRkZW48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktIF9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj52aXNpYmxlPC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuXFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGNvZGU+Ll9oaWRkZW4tcGhvbmVzXzwvY29kZT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiIGRpc2FibGVkPmhpZGRlbjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS0gX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPnZpc2libGU8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktIF9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj52aXNpYmxlPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LSBfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+dmlzaWJsZTwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxjb2RlPi5faGlkZGVuLXRhYmxldHNfPC9jb2RlPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS0gX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPnZpc2libGU8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiIGRpc2FibGVkPmhpZGRlbjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS0gX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPnZpc2libGU8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktIF9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj52aXNpYmxlPC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGNvZGU+Ll9oaWRkZW4tZGVza3RvcHNfPC9jb2RlPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS0gX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPnZpc2libGU8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktIF9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj52aXNpYmxlPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIiBkaXNhYmxlZD5oaWRkZW48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktIF9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj52aXNpYmxlPC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGNvZGU+Ll9oaWRkZW4tbGFyZ2UtZGVza3RvcHNfPC9jb2RlPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS0gX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPnZpc2libGU8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktIF9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj52aXNpYmxlPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LSBfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+dmlzaWJsZTwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG48aDM+VGVzdCByZXNwb25zaXZlPC9oMz5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyBfZGV2LWludmlzaWJpbGl0eV9cXFwiPjxkaXYgY2xhc3M9XFxcIl92aXNpYmxlLXBob25lc18gX2Rldi12aXNpYmlsaXR5X1xcXCI+VmlzaWJsZSBvbiBwaG9uZXM8L2Rpdj5IaWRkZW4gb24gcGhvbmVzPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgX2Rldi1pbnZpc2liaWxpdHlfXFxcIj48ZGl2IGNsYXNzPVxcXCJfdmlzaWJsZS10YWJsZXRzXyBfZGV2LXZpc2liaWxpdHlfXFxcIj5WaXNpYmxlIG9uIHRhYmxldHM8L2Rpdj5IaWRkZW4gb24gdGFibGV0czwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIF9kZXYtaW52aXNpYmlsaXR5X1xcXCI+PGRpdiBjbGFzcz1cXFwiX3Zpc2libGUtZGVza3RvcHNfIF9kZXYtdmlzaWJpbGl0eV9cXFwiPlZpc2libGUgb24gZGVza3RvcHM8L2Rpdj5IaWRkZW4gb24gZGVza3RvcHM8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyBfZGV2LWludmlzaWJpbGl0eV9cXFwiPjxkaXYgY2xhc3M9XFxcIl92aXNpYmxlLWxhcmdlLWRlc2t0b3BzXyBfZGV2LXZpc2liaWxpdHlfXFxcIj5WaXNpYmxlIG9uIGxhcmdlPC9kaXY+SGlkZGVuIG9uIGxhcmdlPC9kaXY+XFxuPC9kaXY+XFxuPGJyPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIF9kZXYtaW52aXNpYmlsaXR5X1xcXCI+PGRpdiBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9kZXYtdmlzaWJpbGl0eV9cXFwiPkhpZGRlbiBvbiBwaG9uZXM8L2Rpdj5WaXNpYmxlIG9uIHBob25lczwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIF9kZXYtaW52aXNpYmlsaXR5X1xcXCI+PGRpdiBjbGFzcz1cXFwiX2hpZGRlbi10YWJsZXRzXyBfZGV2LXZpc2liaWxpdHlfXFxcIj5IaWRkZW4gb24gdGFibGV0czwvZGl2PlZpc2libGUgb24gdGFibGV0czwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIF9kZXYtaW52aXNpYmlsaXR5X1xcXCI+PGRpdiBjbGFzcz1cXFwiX2hpZGRlbi1kZXNrdG9wc18gX2Rldi12aXNpYmlsaXR5X1xcXCI+SGlkZGVuIG9uIGRlc2t0b3BzPC9kaXY+VmlzaWJsZSBvbiBkZXNrdG9wczwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIF9kZXYtaW52aXNpYmlsaXR5X1xcXCI+PGRpdiBjbGFzcz1cXFwiX2hpZGRlbi1sYXJnZS1kZXNrdG9wc18gX2Rldi12aXNpYmlsaXR5X1xcXCI+SGlkZGVuIG9uIGxhcmdlIGRlc2t0b3BzPC9kaXY+VmlzaWJsZSBvbiBsYXJnZTwvZGl2PlxcbjwvZGl2Plxcbjxicj5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiBfZGV2LWludmlzaWJpbGl0eV9cXFwiPjxkaXYgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfIF9kZXYtdmlzaWJpbGl0eV9cXFwiPlZpc2libGUgb24gYWxsIGRlc2t0b3BzPC9kaXY+SGlkZGVuIG9uIHBob25lcyBhbmQgdGFibGV0czwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIF9kZXYtaW52aXNpYmlsaXR5X1xcXCI+PGRpdiBjbGFzcz1cXFwiX2hpZGRlbi1kZXNrdG9wc18gX2Rldi12aXNpYmlsaXR5X1xcXCI+VmlzaWJsZSBvbiBkZXNrdG9wczwvZGl2PkhpZGRlbiBvbiBkZXNrdG9wczwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIF9kZXYtaW52aXNpYmlsaXR5X1xcXCI+PGRpdiBjbGFzcz1cXFwiX2hpZGRlbi1sYXJnZS1kZXNrdG9wc18gX2Rldi12aXNpYmlsaXR5X1xcXCI+SGlkZGVuIG9uIGxhcmdlIGRlc2t0b3BzPC9kaXY+VmlzaWJsZSBvbiBsYXJnZTwvZGl2PlxcbjwvZGl2PlxcblwiLFwib3JkZXJcIjpcIjxoMT5DaGFuZ2luZyBvcmRlcjwvaDE+XFxuXFxuXFxuPHA+XFxuXFx0SWYgeW91IHdhbnQgdG8gY2hhbmdlIG9yZGVyIG9mIGFueSBmbG9hdGluZyBlbGVtZW50cyAoIGZvciBleGFtcGxlIGdyaWQgKSwgdXNlIHRoaXMgbW9kaWZpZXJzLlxcbjwvcD5cXG5cXG48cD5cXG5cXHRJbiB0aGlzIGV4YW1wbGUgY29sdW1ucyB3aWxsIHN3YXAgd2hpbGUgeW91IHJlc2l6aW5nIHdpbmRvdyBvciB1c2UgbW9iaWxlIGJyb3dzZXIuXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgX2p1c3RpZnlfIHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yIF9yaWdodC1kZXNrdG9wc18gX3JpZ2h0LWxhcmdlLWRlc2t0b3BzX1xcXCI+cmlnaHQgb24gYmlnPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yIF9yaWdodC1kZXNrdG9wc18gX3JpZ2h0LWxhcmdlLWRlc2t0b3BzX1xcXCI+Y2VudGVyPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yIF9sZWZ0LWRlc2t0b3BzXyBfbGVmdC1sYXJnZS1kZXNrdG9wc19cXFwiPmxlZnQgb24gYmlnPC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItcm93IF9qdXN0aWZ5XyByb3ctY29sb3JcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvciBfcmlnaHQtZGVza3RvcHNfIF9yaWdodC1sYXJnZS1kZXNrdG9wc19cXFwiPnJpZ2h0IG9uIGJpZzwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvciBfcmlnaHQtZGVza3RvcHNfIF9yaWdodC1sYXJnZS1kZXNrdG9wc19cXFwiPmNlbnRlcjwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvciBfbGVmdC1kZXNrdG9wc18gX2xlZnQtbGFyZ2UtZGVza3RvcHNfXFxcIj5sZWZ0IG9uIGJpZzwvZGl2PlxcbjwvZGl2PjwvcHJlPlxcblxcdDwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgX2p1c3RpZnlfIHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgY29sdW1uLWNvbG9yIF9yaWdodC1kZXNrdG9wc18gX3JpZ2h0LWxhcmdlLWRlc2t0b3BzX1xcXCI+cmlnaHQgb24gYmlnPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgY29sdW1uLWNvbG9yIF9sZWZ0LWRlc2t0b3BzXyBfbGVmdC1sYXJnZS1kZXNrdG9wc18gX3JpZ2h0LXRhYmxldHNfIF9yaWdodC1waG9uZXNfXFxcIj5sZWZ0IG9uIGJpZzwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIGNvbHVtbi1jb2xvciBfbGVmdC10YWJsZXRzXyBfbGVmdC1waG9uZXNfXFxcIj5jZW50ZXI8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyBjb2x1bW4tY29sb3IgX2xlZnQtZGVza3RvcHNfIF9sZWZ0LWxhcmdlLWRlc2t0b3BzX1xcXCI+Y2VudGVyIDI8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1yb3cgX2p1c3RpZnlfIHJvdy1jb2xvclxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgY29sdW1uLWNvbG9yIF9yaWdodC1kZXNrdG9wc18gX3JpZ2h0LWxhcmdlLWRlc2t0b3BzX1xcXCI+cmlnaHQgb24gYmlnPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgY29sdW1uLWNvbG9yIF9sZWZ0LWRlc2t0b3BzXyBfbGVmdC1sYXJnZS1kZXNrdG9wc18gX3JpZ2h0LXRhYmxldHNfIF9yaWdodC1waG9uZXNfXFxcIj5sZWZ0IG9uIGJpZzwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIGNvbHVtbi1jb2xvciBfbGVmdC10YWJsZXRzXyBfbGVmdC1waG9uZXNfXFxcIj5jZW50ZXI8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyBjb2x1bW4tY29sb3IgX2xlZnQtZGVza3RvcHNfIF9sZWZ0LWxhcmdlLWRlc2t0b3BzX1xcXCI+Y2VudGVyIDI8L2Rpdj5cXG48L2Rpdj48L3ByZT5cXG5cXHQ8L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93IF9qdXN0aWZ5XyByb3ctY29sb3JcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvciBfcmlnaHQtZGVza3RvcHNfIF9yaWdodC1sYXJnZS1kZXNrdG9wc19cXFwiPk1lbnU8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCBjb2x1bW4tY29sb3IgX2xlZnQtZGVza3RvcHNfIF9sZWZ0LWxhcmdlLWRlc2t0b3BzX1xcXCI+TWFpbiBjb250ZW50PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItcm93IF9qdXN0aWZ5XyByb3ctY29sb3JcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvciBfcmlnaHQtZGVza3RvcHNfIF9yaWdodC1sYXJnZS1kZXNrdG9wc19cXFwiPk1lbnU8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCBjb2x1bW4tY29sb3IgX2xlZnQtZGVza3RvcHNfIF9sZWZ0LWxhcmdlLWRlc2t0b3BzX1xcXCI+TWFpbiBjb250ZW50PC9kaXY+XFxuPC9kaXY+PC9wcmU+XFxuXFx0PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCJ9LFwiY29tcG9uZW50c1wiOntcIndhbGxcIjpcIlxcdDxoMT5XYWxsPC9oMT5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8cD5NYWtlIGEgcGFyYWxsYXggZWZmZWN0IHdpdGggaW1hZ2Ugb3IgdmlkZW8gYmFja2dyb3VuZDwvcD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHRMb29rIGF0IHRoZSA8YSBocmVmPVxcXCIvZXhhbXBsZXMvYmxvZ1xcXCIgdGFyZ2V0PVxcXCJfYmxhbmtcXFwiIGRhdGEtYnlwYXNzPmV4YW1wbGU8L2E+LiBXYWxscyB3aXRoIHZpZGVvIGFuZCBpbWFnZSBiYWNrZ3JvdW5kcyBjb2RlIGJlbG93LlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj53YWxscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXFxcIltkYXRhLWtpbmQ9J3dhbGwnXVxcXCIpXFxuZm9yIHdsIGluIHdhbGxzXFxuXFx0d2wud2FsbCgpPC9wcmU+PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItd2FsbFxcXCIgZGF0YS1raW5kPVxcXCJ3YWxsXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaXRlbVxcXCI+XFxuXFx0XFx0PCEtLSBBZGQgYSB2aWRlbyBiYWNrZ3JvdW5kIGhlcmUgd2l0aCBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCIgLS0+XFxuXFx0XFx0PHZpZGVvIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIiBtdXRlZD1cXFwiXFxcIiBwcmVsb2FkPVxcXCJhdXRvXFxcIiBhdXRvcGxheT1cXFwiYXV0b3BsYXlcXFwiIGxvb3A9XFxcImxvb3BcXFwiPlxcblxcdFxcdFxcdDxzb3VyY2Ugc3JjPVxcXCIvL3NlY3VyZS1jLnZpbWVvY2RuLmNvbS9wL3ZpZGVvL3lvc2VtaXRlX2hkX2lpX2hkLndlYm1cXFwiIHR5cGU9XFxcInZpZGVvL3dlYm1cXFwiPlxcblxcdFxcdFxcdDxzb3VyY2Ugc3JjPVxcXCIvL3NlY3VyZS1jLnZpbWVvY2RuLmNvbS9wL3ZpZGVvL3lvc2VtaXRlX2hkX2lpX2hkLm1wNFxcXCIgdHlwZT1cXFwidmlkZW8vbXA0XFxcIj5cXG5cXHRcXHQ8L3ZpZGVvPlxcblxcblxcdFxcdDwhLS0gVGhpcyBpcyBhIGhlYWRlciBvZiB0aGUgd2FsbCAtLT5cXG5cXHRcXHQ8aGVhZGVyIGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHQ8IS0tIFVzZSBncmlkIHN5c3RlbSBpbnNpZGUgdG8gYmVhdXRpZnVsIHZpZXcgLS0+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDggLW9mZnNldDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwhLS0gQWRkIGNvbnRlbnQgaGVyZSAtLT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aDE+WW9zZW1pdGU8L2gxPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoMj48c21hbGw+VGltZS1sYXBzZSB2aWRlbyBwcm9qZWN0IHNldCBpbiBZb3NlbWl0ZSBOYXRpb25hbCBQYXJrLCAyMDE0PC9zbWFsbD48L2gyPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwhLS0gWW91IGNhbiBhZGQgb3RoZXIgd2lkZ2V0cyBpbnNpZGUuIEF2YXRhciBpbiB0aGF0IGNhc2UgLS0+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1hdmF0YXIgX3JvdW5kXyBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vczEud3AuY29tL3dwLWNvbnRlbnQvdGhlbWVzL3ZpcC90aW1lbGlmZS9pbWFnZXMvbGlmZV9sb2dvLnBuZ1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9maWd1cmU+VGhlIExJRkUsIENvbGluIERlbGVoYW50eVxcblxcdFxcdFxcdFxcdFxcdFxcdDwvYT5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2hlYWRlcj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi13YWxsXFxcIiBkYXRhLWtpbmQ9XFxcIndhbGxcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1pdGVtXFxcIj5cXG5cXHRcXHQ8IS0tIEFkZCBhbiBpbWFnZSBiYWNrZ3JvdW5kIGhlcmUgd2l0aCBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCIgLS0+XFxuXFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCIgPlxcblxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL2QyNjJpbGI1MWhsdHgwLmNsb3VkZnJvbnQubmV0L2ZpdC90LzIwMDAvMTYwMC9ncmFkdi8yOS84MS81NS8xKms2bU5OUllwbll3NEIwZ253dC1zcGcuanBlZ1xcXCIgYWx0PVxcXCJcXFwiPlxcblxcdFxcdDwvZmlndXJlPlxcblxcblxcdFxcdDwhLS0gVGhpcyBpcyBhIGhlYWRlciBvZiB0aGUgd2FsbCAtLT5cXG5cXHRcXHQ8aGVhZGVyIGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHQ8IS0tIFVzZSBncmlkIHN5c3RlbSBpbnNpZGUgdG8gYmVhdXRpZnVsIHZpZXcgLS0+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDggLW9mZnNldDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwhLS0gQWRkIGNvbnRlbnQgaGVyZSAtLT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aDE+WW9zZW1pdGU8L2gxPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoMj48c21hbGw+VGltZS1sYXBzZSB2aWRlbyBwcm9qZWN0IHNldCBpbiBZb3NlbWl0ZSBOYXRpb25hbCBQYXJrLCAyMDE0PC9zbWFsbD48L2gyPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwhLS0gWW91IGNhbiBhZGQgb3RoZXIgd2lkZ2V0cyBpbnNpZGUuIEF2YXRhciBpbiB0aGF0IGNhc2UgLS0+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1hdmF0YXIgX3JvdW5kXyBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vczEud3AuY29tL3dwLWNvbnRlbnQvdGhlbWVzL3ZpcC90aW1lbGlmZS9pbWFnZXMvbGlmZV9sb2dvLnBuZ1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9maWd1cmU+VGhlIExJRkUsIENvbGluIERlbGVoYW50eVxcblxcdFxcdFxcdFxcdFxcdFxcdDwvYT5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2hlYWRlcj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5Zb3UgY2FuIGFkZCBhIGNvbnRlbnQgYWZ0ZXIgPGNvZGU+Jmx0O2hlYWRlciZndDs8L2NvZGU+PC9ibG9ja3F1b3RlPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdExvb2sgYXQgdGhlIDxhIGhyZWY9XFxcIi9leGFtcGxlcy9ibG9nXFxcIiB0YXJnZXQ9XFxcIl9ibGFua1xcXCIgZGF0YS1ieXBhc3M+ZXhhbXBsZTwvYT4uIFdhbGxzIHdpdGggdmlkZW8gYW5kIGltYWdlIGJhY2tncm91bmRzIGNvZGUgYmVsb3cuXFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItd2FsbFxcXCIgZGF0YS1raW5kPVxcXCJ3YWxsXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaXRlbVxcXCI+XFxuXFx0XFx0PCEtLSBBZGQgYW4gaW1hZ2UgYmFja2dyb3VuZCBoZXJlIHdpdGggY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiIC0tPlxcblxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiID5cXG5cXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9kMjYyaWxiNTFobHR4MC5jbG91ZGZyb250Lm5ldC9maXQvdC8yMDAwLzE2MDAvZ3JhZHYvMjkvODEvNTUvMSprNm1OTlJZcG5ZdzRCMGdud3Qtc3BnLmpwZWdcXFwiIGFsdD1cXFwiXFxcIj5cXG5cXHRcXHQ8L2ZpZ3VyZT5cXG5cXG5cXHRcXHQ8IS0tIFRoaXMgaXMgYSBoZWFkZXIgb2YgdGhlIHdhbGwgLS0+XFxuXFx0XFx0PGhlYWRlciBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0XFx0PCEtLSBVc2UgZ3JpZCBzeXN0ZW0gaW5zaWRlIHRvIGJlYXV0aWZ1bCB2aWV3IC0tPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4IC1vZmZzZXQyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8IS0tIEFkZCBjb250ZW50IGhlcmUgLS0+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGgxPllvc2VtaXRlPC9oMT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aDI+PHNtYWxsPlRpbWUtbGFwc2UgdmlkZW8gcHJvamVjdCBzZXQgaW4gWW9zZW1pdGUgTmF0aW9uYWwgUGFyaywgMjAxNDwvc21hbGw+PC9oMj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8IS0tIFlvdSBjYW4gYWRkIG90aGVyIHdpZGdldHMgaW5zaWRlLiBBdmF0YXIgaW4gdGhhdCBjYXNlIC0tPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYXZhdGFyIF9yb3VuZF8gX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL3MxLndwLmNvbS93cC1jb250ZW50L3RoZW1lcy92aXAvdGltZWxpZmUvaW1hZ2VzL2xpZmVfbG9nby5wbmdcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZmlndXJlPlRoZSBMSUZFLCBDb2xpbiBEZWxlaGFudHlcXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2E+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9oZWFkZXI+XFxuXFxuXFx0XFx0PCEtLSBBZGQgYSAtY29udGVudCBhZnRlciBoZWFkZXIuIEFkZCBhbnkgY29udGVudCBpbnNpZGUgaXQuIC0tPlxcblxcdFxcdDxzZWN0aW9uIGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFxuXFx0XFx0XFx0PCEtLSBZb3UgY2FuIHVzZSBncmlkIHN5c3RlbSBpbnNpZGUgLS0+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDYgLW9mZnNldDNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdEEgbG90IG9mIGNvbnRlbnQgaGVyZS5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8L3NlY3Rpb24+XFxuXFx0PC9kaXY+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgyPlByb3BlcnRpZXM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk5hbWU8L3RoPlxcblxcdFxcdFxcdDx0aD5EZWZhdWx0PC90aD5cXG5cXHRcXHRcXHQ8dGggY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPmtpbmQ8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1raW5kJyApIG9yICd3YWxsJzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFNldCB3YWxsaW5nIHR5cGUuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+dGFyZ2V0PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtdGFyZ2V0JyApIG9yICcuLXRodW1ibmFpbCc8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Yj5TdHJpbmc8L2I+LiBTZWxlY3RvciBmb3IgdGhlIHNjcm9sbGluZyBiYWNrZ3JvdW5kIGVsZW1lbnQuIEZvciBleGFtcGxlIDxjb2RlPiZsdDtmaWd1cmUmZ3Q7PC9jb2RlPiBvciA8Y29kZT4mbHQ7dmlkZW8mZ3Q7PC9jb2RlPiBvciA8Y29kZT4jdmlkZW8taWQ8L2NvZGU+LlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPmhlYWRlcjwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWhlYWRlcicgKSBvciAnLi1oZWFkZXInPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0PGI+U3RyaW5nPC9iPi4gU2VsZWN0b3IgZm9yIHRoZSBoZWFkZXIgaW5zaWRlIHdhbGwuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+aGVhZGVyRmFkZTwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWZhZGUnICkgb3IgeWVzPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0PGI+Qm9vbGVhbjwvYj4uIEhpZGUgaGVhZGVyIHdoaWxlIHNjcm9sbGluZyBvdXQuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+c3BlZWQ8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1zcGVlZCcgKSBvciAwLjc8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Yj5OdW1iZXIgYmV0d2VlbiAwIGFuZCAxPC9iPi4gMSDigJMgYmFja2dyb3VuZCBlbGVtZW50IHN0YW5kcywgMCDigJMgZWxlbWVudCBzY3JvbGxzIGFzIHVzdWFsLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnpvb208L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS16b29tJyApIG9yIG5vPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0PGI+Qm9vbGVhbjwvYj4uIFpvb20gYmFja2dyb3VuZCBlbGVtZW50IHdoaWxlIHNjcm9sbGluZy5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5oZWlnaHQ8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1oZWlnaHQnICkgb3IgJzEwMCUnPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0PGI+U3RyaW5nIG9yIE51bWJlcjwvYj4uIEhlaWdodCBvZiB0aGUgd2FsbC4gSW5zaWRlIHNob3VsZCBiZSBtZWFzdXJlcyBsaWtlICUgb3IgcHguIElmIG51bWJlciB0aGFuIGl0IHdpbGwgdXNlIHB4LlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPm9uTW9iaWxlPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtb24tbW9iaWxlJyApIG9yIG5vPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0RGVhY3RpdmF0ZSB3YWxsIG9uIG1vYmlsZSBkZXZpY2VzLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuPGgyPk1ldGhvZHM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk1ldGhvZDwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+c3RhcnQ8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+QWN0aXZhdGUgd2FsbC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+c3RvcDwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5EZWF0aXZhdGUgd2FsbC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+cmVmcmVzaDwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5SZWZyZXNoIGFsbCBwb3NpdGlvbnMgYW5kIHNpemVzLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5kZXN0cm95PC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkRlc3Ryb3kgY3VycmVudCBpbnN0YW5jZS48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG5cXG48aDI+RXZlbnRzPC9oMj5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRJbnNpZGUgZWFjaCBtZXRob2QgdG8gZ2V0IHdhbGwgZWxlbWVudCB1c2UgPGNvZGU+QDwvY29kZT4gb3IgPGNvZGU+dGhpczwvY29kZT4gaW4ganMuIENsYXNzIGluc3RhbmNlIGFsd2F5cyBzdG9yZXMgaW4gZGF0YSBhdHRyaWJ1dGUgb2YgdGhlIHdhbGwgZWxlbWVudCA8Y29kZT5AZGF0YVsna2l0V2FsbCddPC9jb2RlPiBvciA8Y29kZT50aGlzLmRhdGFbJ2tpdFdhbGwnXTwvY29kZT4gaW4ganMuIFRvIGdldCB3YWxsIGVsZW1lbnQgZG8gPGNvZGU+QGRhdGFbJ2tpdFdhbGwnXS5lbDwvY29kZT4uIFRvIGdldCB3YWxsIGJhY2tncm91bmQgZWxlbWVudCBkbyA8Y29kZT5AZGF0YVsna2l0V2FsbCddLnRhcmdldDwvY29kZT4uXFxuPC9ibG9ja3F1b3RlPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk1ldGhvZDwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YmVmb3JlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgYmVmb3JlIGFjdGl2YXRlIHRoZSB3YWxsLiBJZiBpdCByZXR1cm5zIDxjb2RlPmRlZmVycmVkLnByb21pc2UoKTwvY29kZT4sIHRoZW4gd2FsbCB3aWxsIG5vdCBzdGFydCB0aWxsIDxjb2RlPmRlZmVycmVkLnJlc29sdmUoKTwvY29kZT4sIGFuZCB3b3VuJ3Qgc3RhcnQgaWYgPGNvZGU+ZGVmZXJyZWQucmVqZWN0KCk8L2NvZGU+LjwvcD5cXG5cXHRcXHRcXHRcXHQ8cCBsYW5ndWFnZT1cXFwiY29mZmVlc2NyaXB0XFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud2FsbCcpLndhbGxcXG5cXHRiZWZvcmVhY3RpdmU6IC0+XFxuXFx0XFx0ZCA9ICQuRGVmZXJyZWQoKVxcblxcblxcdFxcdGNvbnNvbGUubG9nIEBcXG5cXHRcXHQjIFRoZSB3YWxsIHdpbGwgYmUgaW4gdGhlIGxvZ1xcblxcdFxcdCMgc28geW91IGNhbiwgZm9yIGV4YW1wbGUsIGFkZCBjbGFzc2VzXFxuXFx0XFx0IyB0byBkaXNhYmxlIHRoZSB3YWxsXFxuXFxuXFx0XFx0Y29uc29sZS5sb2cgQGRhdGFbJ2tpdFdhbGwnXVxcblxcdFxcdCMgVGhlIGluc3RhbmNlIG9mIFdhbGwgY2xhc3Mgd2lsbCBpbiBsb2dcXG5cXHRcXHQjIHNvIHRvIGdldCB3YWxsIGVsZW1lbnQgeW91IG5lZWQgdG8gZG9cXG5cXHRcXHR3YWxsID0gQGRhdGFbJ2tpdFdhbGwnXVxcblxcdFxcdHdhbGwuX2FkZENsYXNzICdzb21lLWNsYXNzJ1xcblxcblxcdFxcdCMgRG8gc29tZXRoaW5nIGhlcmUgYmVmb3JlIGFjdGl2YXRlIHdhbGxcXG5cXHRcXHQjIGluIHRoaXMgY2FzZSBpdCB3aWxsIHN0YXJ0IGluIDIgc2Vjb25kc1xcblxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdCwgMjAwMFxcblxcdFxcdCMgRW5kIG9mIHlvdXIgY29kZVxcblxcblxcdFxcdGQucHJvbWlzZSgpXFxuPC9wcmU+PC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgYWZ0ZXIgd2FsbCBzdGFydGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5mYWlsYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgc3RhcnRpbmcgZmFpbGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5iZWZvcmVkZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5DYWxsIHRoaXMgZnVuY3Rpb24gYmVmb3JlIHdhbGwgc3RvcHBlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+b25kZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5DYWxsIHRoaXMgZnVuY3Rpb24gYWZ0ZXIgd2FsbCBzdG9wcGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5mYWlsZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBpZiBzdG9wcGluZyBmYWlsZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuPC9kaXY+XFxuXCIsXCJ0YWJzXCI6XCI8ZGl2IGlkPVxcXCJtYWluLWNvbnRlbnRcXFwiIGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHQ8aDE+VGFiczwvaDE+XFxuXFxuXFxuXFx0PGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0VGFicyBidXR0b25zIGFuZCB0YWJzIGNvbnRlbnQgbWF5IGJlIGFueXdoZXJlIGluIHRoZSBkb20sIHlvdSA8Yj5kb24ndCBuZWVkIHRvIGNvbGxlY3QgdGhlbSBpbiBvbmUgZG9tIGVsZW1lbnQ8L2I+LiBJdCBpcyBhbiBhbmFsb2cgb2YgYnV0dG9uIHBsdWdpbiB3aXRoIDxjb2RlPmRhdGEtdHlwZT1cXFwicmFkaW9cXFwiPC9jb2RlPi5cXG5cXHQ8L2Jsb2NrcXVvdGU+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItdGFicyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxsaSBkYXRhLXRvZ2dsZT1cXFwidGFic1xcXCIgZGF0YS1ncm91cD1cXFwidGFiczFcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjY29udGVudDFcXFwiPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGRhdGEtdG9nZ2xlPVxcXCJ0YWJzXFxcIiBkYXRhLWdyb3VwPVxcXCJ0YWJzMVxcXCIgZGF0YS10YXJnZXQ9XFxcIiNjb250ZW50MlxcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGF0YS10b2dnbGU9XFxcInRhYnNcXFwiIGRhdGEtZ3JvdXA9XFxcInRhYnMxXFxcIiBkYXRhLXRhcmdldD1cXFwiI2NvbnRlbnQzXFxcIj48YT5UYWIgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkYXRhLXRvZ2dsZT1cXFwidGFic1xcXCIgZGF0YS1ncm91cD1cXFwidGFiczFcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjY29udGVudDRcXFwiPjxhPlRhYiA0PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIiBzdHlsZT1cXFwicGFkZGluZzogMTVweFxcXCIgdGFicz5cXG5cXHRcXHRcXHQ8ZGl2IGlkPVxcXCJjb250ZW50MVxcXCIgY2xhc3M9XFxcIi1jb2wxMlxcXCI+Q29udGVudCBmb3IgdGFiIDE8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGlkPVxcXCJjb250ZW50MlxcXCIgY2xhc3M9XFxcIi1jb2wxMlxcXCI+Q29udGVudCBmb3IgdGFiIDI8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGlkPVxcXCJjb250ZW50M1xcXCIgY2xhc3M9XFxcIi1jb2wxMlxcXCI+Q29udGVudCBmb3IgdGFiIDM8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGlkPVxcXCJjb250ZW50NFxcXCIgY2xhc3M9XFxcIi1jb2wxMlxcXCI+Q29udGVudCBmb3IgdGFiIDQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bCBjbGFzcz1cXFwiLXRhYnMgLXByaW1hcnktXFxcIj5cXG5cXHQ8bGkgZGF0YS10b2dnbGU9XFxcInRhYnNcXFwiIGRhdGEtZ3JvdXA9XFxcInRhYnMxXFxcIiBkYXRhLXRhcmdldD1cXFwiI2NvbnRlbnQxXFxcIj48YT5UYWIgMTwvYT48L2xpPlxcblxcdDxsaSBkYXRhLXRvZ2dsZT1cXFwidGFic1xcXCIgZGF0YS1ncm91cD1cXFwidGFiczFcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjY29udGVudDJcXFwiPjxhPlRhYiAyPC9hPjwvbGk+XFxuXFx0PGxpIGRhdGEtdG9nZ2xlPVxcXCJ0YWJzXFxcIiBkYXRhLWdyb3VwPVxcXCJ0YWJzMVxcXCIgZGF0YS10YXJnZXQ9XFxcIiNjb250ZW50M1xcXCI+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHQ8bGkgZGF0YS10b2dnbGU9XFxcInRhYnNcXFwiIGRhdGEtZ3JvdXA9XFxcInRhYnMxXFxcIiBkYXRhLXRhcmdldD1cXFwiI2NvbnRlbnQ0XFxcIj48YT5UYWIgNDwvYT48L2xpPlxcbjwvdWw+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBpZD1cXFwiY29udGVudDFcXFwiIGNsYXNzPVxcXCItY29sMTJcXFwiPkNvbnRlbnQgZm9yIHRhYiAxPC9kaXY+XFxuXFx0PGRpdiBpZD1cXFwiY29udGVudDJcXFwiIGNsYXNzPVxcXCItY29sMTJcXFwiPkNvbnRlbnQgZm9yIHRhYiAyPC9kaXY+XFxuXFx0PGRpdiBpZD1cXFwiY29udGVudDNcXFwiIGNsYXNzPVxcXCItY29sMTJcXFwiPkNvbnRlbnQgZm9yIHRhYiAzPC9kaXY+XFxuXFx0PGRpdiBpZD1cXFwiY29udGVudDRcXFwiIGNsYXNzPVxcXCItY29sMTJcXFwiPkNvbnRlbnQgZm9yIHRhYiA0PC9kaXY+XFxuPC9kaXY+XFxuPC9wcmU+PC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPnRhYnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFxcXCJbZGF0YS10b2dnbGU9J3RhYnMnXVxcXCIpXFxuZm9yIHRhYiBpbiB0YWJzXFxuXFx0dGFiLnRhYnMoKVxcbjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcblxcbjxoMj5Qcm9wZXJ0aWVzPC9oMj5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5OYW1lPC90aD5cXG5cXHRcXHRcXHQ8dGg+RGVmYXVsdDwvdGg+XFxuXFx0XFx0XFx0PHRoIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+RGVzY3JpcHRpb248L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD50b2dnbGU8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS10b2dnbGUnICkgb3IgJ3RhYnMnPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0U2V0IHRvZ2dsZSB0eXBlLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnRhcmdldDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLXRhcmdldCcgKSBvciBudWxsPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0U2VsZWN0b3IgdG8gZmluZCB0aGUgY29udGVudCBvZiB0aGF0IHRhYiBidXR0b24uXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+Z3JvdXA8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1ncm91cCcgKSBvciBudWxsPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0TmFtZSBvZiB0aGUgdGFicyBncm91cC4gVXNlcyB0byBkZWFjdGl2YXRlIG90aGVyIHRhYnMgaW4gdGhlIGdyb3VwLCB3aGVuIG9uZSB0YWIgd2FzIGFjdGl2YXRlZC5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5ldmVudDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWV2ZW50JyApIG9yIFxcXCJjbGlja1xcXCI8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRUaGlzIGV2ZW50IHdpbGwgYmUgdXNlZCB0byBhY3RpdmF0ZS9kZWFjdGl2YXRlIGJ1dHRvbi5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5pbml0aWFsPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtaW5pdGlhbCcgKSBvciAwPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0TnVtYmVyIG9mIHRoZSB0YWIgdG8gYWN0aXZhdGUgYWZ0ZXIgaW5pdGlhbGl6YXRpb24uXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG48aDI+TWV0aG9kczwvaDI+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+TWV0aG9kPC90aD5cXG5cXHRcXHRcXHQ8dGg+RGVzY3JpcHRpb248L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5hY3RpdmF0ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5BY3RpdmF0ZSBidXR0b24uPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmRlYWN0aXZhdGU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+RGVhY3RpdmF0ZSBidXR0b24uPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmVuYWJsZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5FbmFibGUgYnV0dG9uLCBldmVudHMgd2lsbCB3b3JrLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5kaXNhYmxlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkRpc2FibGUgYnV0dG9uLCBldmVudHMgd2lsbCBub3Qgd29yay48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG48aDI+RXZlbnRzPC9oMj5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRJbnNpZGUgZWFjaCBtZXRob2QgdG8gZ2V0IHRhYiB1c2UgPGNvZGU+QDwvY29kZT4gb3IgPGNvZGU+dGhpczwvY29kZT4gaW4ganMuIENsYXNzIGluc3RhbmNlIGFsd2F5cyBzdG9yZXMgaW4gZGF0YSBhdHRyaWJ1dGUgb2YgdGhlIHRhYiBlbGVtZW50IDxjb2RlPkBkYXRhWydraXRUYWJzJ108L2NvZGU+IG9yIDxjb2RlPnRoaXMuZGF0YVsna2l0VGFicyddPC9jb2RlPiBpbiBqcy5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+TWV0aG9kPC90aD5cXG5cXHRcXHRcXHQ8dGg+RGVzY3JpcHRpb248L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5iZWZvcmVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBiZWZvcmUgYWN0aXZhdGUgdGFiLiBJZiBpdCByZXR1cm5zIDxjb2RlPmRlZmVycmVkLnByb21pc2UoKTwvY29kZT4sIHRoZW4gdGFiIHdpbGwgbm90IGFjdGl2YXRlIHRpbGwgPGNvZGU+ZGVmZXJyZWQucmVzb2x2ZSgpPC9jb2RlPiwgYW5kIHdvdW4ndCBhY3RpdmF0ZSBhdCBhbGwgaWYgPGNvZGU+ZGVmZXJyZWQucmVqZWN0KCk8L2NvZGU+LiBZb3UgY2FuIGp1c3QgZ2V0IGRhdGEgd2l0aCBhamF4IGluc3RlYWQgb2YgdXNpbmcgZGVmZXJyZWQuPC9wPlxcblxcdFxcdFxcdFxcdDxwIGxhbmd1YWdlPVxcXCJjb2ZmZWVzY3JpcHRcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPnRhYnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcudGFicy1zZWxlY3RvcicpXFxuZm9yIHRhYiBpbiB0YWJzXFxuXFx0dGFiLnRhYnNcXG5cXHRcXHRiZWZvcmVhY3RpdmU6IC0+XFxuXFx0XFx0XFx0ZCA9ICQuRGVmZXJyZWQoKVxcblxcblxcdFxcdFxcdHRhYiA9IEBkYXRhWydraXRUYWJzJ11cXG5cXHRcXHRcXHR0YWIuZWwucXVlcnlTZWxlY3RvcignYScpLmlubmVySFRNTCA9ICdMb2FkaW5nLi4uJ1xcblxcdFxcdFxcdHRhYi5fYWRkQ2xhc3MgJ19kaXNhYmxlZF8nXFxuXFxuXFx0XFx0XFx0c2V0VGltZW91dCAtPlxcblxcdFxcdFxcdFxcdGQucmVzb2x2ZSgpXFxuXFx0XFx0XFx0LDIwMDBcXG5cXHRcXHRcXHRkLnByb21pc2UoKVxcblxcblxcdFxcdG9uYWN0aXZlOiAtPlxcblxcdFxcdFxcdHRhYiA9IEBkYXRhWydraXRUYWJzJ11cXG5cXHRcXHRcXHR0YWIuX3JlbW92ZUNsYXNzICdfZGlzYWJsZWRfJ1xcblxcdFxcdFxcdHRhYi5lbC5xdWVyeVNlbGVjdG9yKCdhJykuaW5uZXJIVE1MID0gJ0FjdGl2ZSB0YWInXFxuXFxuXFx0XFx0b25kZWFjdGl2ZTogLT5cXG5cXHRcXHRcXHR0YWIgPSBAZGF0YVsna2l0VGFicyddXFxuXFx0XFx0XFx0dGFiLmVsLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5pbm5lckhUTUwgPSAnVGFiJ1xcbjwvcHJlPjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5vbmFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGFmdGVyIHRhYiBhY3RpdmF0aW9uLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5mYWlsYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgYWN0aXZhdGlvbiBmYWlsZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmJlZm9yZWRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkNhbGwgdGhpcyBmdW5jdGlvbiBiZWZvcmUgZGVhY3RpdmF0ZSB0YWIuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGFmdGVyIGRlYWN0aXZhdGUgdGFiLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5mYWlsZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBpZiBkZWFjdGl2YXRpb24gZmFpbGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcblxcblxcbjwvZGl2PlxcblwiLFwic2t5bGluZVwiOlwiXFx0PGgxPlNreWxpbmU8L2gxPlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxwPldoZW4gdGhlIHNreWxpbmUgZWxlbWVudCBpcyBpbiB2aXNpYmxlIHBhcnQgb2YgdGhlIGRvY3VtZW50LCBzdGFydHMgYW5pbWF0aW9uIHRvIHNob3cgaXQuPC9wPlxcblxcblxcdFxcdDxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPkRvbid0IGZvcmdldCB0byBhZGQgYW5pbWF0aW9uIGNsYXNzZXMgdG8geW91ciBza3lsaW5lIGVsZW1lbnRzLjwvYmxvY2txdW90ZT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNDk5NTgyMjgvMTgzMDI2MzQ1NTYxZjI0ZjBkZWUwZmUwMjY0OGI3YTVkYmQ3NGE2Yi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzU4NDY2NDYyLzc1NTg2ZTdjNzU2ZGIzYzk1MWEwMDlmZjZhOWUyYzMyMDZmNmFhNjkvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81MDEwNDk1MC9lYTczZWYwYTIyNmU5ZjgxY2I1N2MwNDE4NWQ3MTZiYzVjOTI2YWU4LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMTk1MDM0OTkvNjk5NzVhNWY2YzUzYTA5ODM0MmFhZDkyODE1YzJjZjI3YTUwN2MxNi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzM3Mjk2OTc0LzcwMDFjNDgwMmQ4NWI4M2EzZTBhNDJhNTRjY2I0MjkyYzYyN2JmYzEvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81MzA1ODg2NC9iMjNiYTgwYTg1MTYzOWRjYWI1YTI5MDVkYjgzNzIxMjA2ODY1YWQ5LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMTU1NTUyMDMvNzU2YjBhYzYzYTRhMmUwN2RkZTUzYmY1MTA1YTYzMjkxYjE0ZGU1Zi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzM5NjY2NjIyL2VkODEyY2RhMGRkNjY1NjIxNDlmZWQ2NTg4NTU5MDFhYjlmNzZmYzgvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy82NjU1NTQ5OS9jZGRiNjYyYzdkZGI5ZGMyMzE5ZWU2Y2ZlMzM2ZjBhZjBkZTY5MTE5LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNTM2Njk0MjAvNDhkN2RjNTY2NTVlYzA1OTQ0YWM2OWMyMDdjMjMyMjg2NjBlY2Y4OC8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzQ1Nzc3MjM4LzgzOTYxYzcwZDFjNjE3YWYwMmVkYmJjYjI3MmViZDYzMWU3YjZmMWYvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8xNTY1OTc5MS8wY2RiMWU2MTAxOGY4M2I4NTY4ODBkMmFjYzE1YTU2Y2E4MTdhNjA0LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNjEzMzk1MC9kNTg5ZTQ3M2YzMmI5MGI0NDYxNjk5YjVmZGJhNTc5NDAxMjNjNmFmLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMzM1NjQyNzMvOTJlZTExMzNjZDljYjE4OGZhYjQ3MzFmMTY1NDZlMWNmYjVjYmNkMS8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzU3OTY2OTEwL2M1NWI5YzY1YjlhMTRjZDRhZmVjZDhlMjM5NDgzOWY3YWE2OTA5ZjgvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy82MDI4MjM1MC9kOGQwZTE5YjE3MGU2YTNhOTdkOGE2YWU1NTQ3ZjdmYWIzMWJhNGMzLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMTI2NjM1MzcvYzBmOTNhYjMyYmQ1NDZmOGI1MGJmYzMwOTAyMWI5Y2MzMTkwMjEwOS8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzEzMTE0NzA1LzU2OTRlZmRiNWZlMWI2NzJmNzY5Y2QwMzIxZDFjY2Q2NzQzZmZkNDMvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy82MDQwMDA1OC9jMjQwNDFkNTY3YzYzNWYzYTk3MDhjNDA3MjU2ZGMzOGE2MTcyNjQ2LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMjYyNTYxMDcvMzllMGYxYjQwMzM0OWVhNWM1ZDNiYmFmYWZmMDg0ZDhkYjViOWMxZC8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzQ1MTI5OTU2LzA4OTMwNTY5MTZhZjU0NzE3MTJiNDc5ODNiYjRiMmQ5YzVmZWM0YjYvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81NTQ0NjI2NC9lNDY1OWI4NGJhZTQwZDNkMGIwNzQ4M2Q0YTc0NTQxNzE4ZmYwZTk2LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNDAwNzk1MzQvYjExMzI3ZDBmNGFkYWViY2Y3MThiZDM4MTQ1ZWRhMTgyNjUxYjZkNS8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzU4NjY5Njg0LzRkYjQyNzRhOWRiNDUyOWQ0YjI3ZTEzYmFkMmNkODg1YTY1MzkyZDkvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81NDA5NjAyMi9mOTQzNTBhMjAzMzZkNzBjZDBlNzE3NzExNTRiZjcwM2UyNzhjNjU0LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMjY1MTAzMzEvNjM0MWJjZTliYmFiYTYyYTAyNmJmNDAzZTIxYWEzZTU1ZmVlMDM0Mi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzIzOTYxMDU3LzkwNzBkMDc2MzZjMjVmZGY0ODE3ZWYyNDkwNTBmMDg5MWU1MGUxM2IvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81MTMwMjU4Mi81N2QxOGNlYmYwMDEzM2M1ZDZjZDMzOTRmYzM2M2JiYmFlOGFjNjE5LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNjg4NDQ3LzRjODBlMWRhYWEzNTA0ZGQxZDcxZmE5NjE5MjQ5YjdjODQzMTExNGYvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81NDkxMDQyLzYxOTVkYzkwN2FjYjJjMWQ1NThlNzFlODI1OWFkNjU0N2RmMjFmYjcvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+XFxuPGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuPGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuLi4uPC9wcmU+PC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPnNreWxpbmVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcXFwiW2RhdGEtc3B5PSdza3lsaW5lJ11cXFwiKVxcbmZvciBza3kgaW4gc2t5bGluZXNcXG5cXHRza3kuc2t5bGluZVxcblxcdFxcdGRlbGF5OiAtPlxcblxcdFxcdFxcdDIwMDAgKiBNYXRoLnJhbmRvbSgpXFxuPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuPHAgY2xhc3M9XFxcIl9iaWdcXFwiPkxldCdzIGNoYW5nZSBhbmltYXRpb24gdG8gPGNvZGU+LW5ld3NwYXBlci0tPC9jb2RlPi48L3A+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzQ5OTU4MjI4LzE4MzAyNjM0NTU2MWYyNGYwZGVlMGZlMDI2NDhiN2E1ZGJkNzRhNmIvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNTg0NjY0NjIvNzU1ODZlN2M3NTZkYjNjOTUxYTAwOWZmNmE5ZTJjMzIwNmY2YWE2OS8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81MDEwNDk1MC9lYTczZWYwYTIyNmU5ZjgxY2I1N2MwNDE4NWQ3MTZiYzVjOTI2YWU4LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzE5NTAzNDk5LzY5OTc1YTVmNmM1M2EwOTgzNDJhYWQ5MjgxNWMyY2YyN2E1MDdjMTYvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMzcyOTY5NzQvNzAwMWM0ODAyZDg1YjgzYTNlMGE0MmE1NGNjYjQyOTJjNjI3YmZjMS8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81MzA1ODg2NC9iMjNiYTgwYTg1MTYzOWRjYWI1YTI5MDVkYjgzNzIxMjA2ODY1YWQ5LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzE1NTU1MjAzLzc1NmIwYWM2M2E0YTJlMDdkZGU1M2JmNTEwNWE2MzI5MWIxNGRlNWYvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMzk2NjY2MjIvZWQ4MTJjZGEwZGQ2NjU2MjE0OWZlZDY1ODg1NTkwMWFiOWY3NmZjOC8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy82NjU1NTQ5OS9jZGRiNjYyYzdkZGI5ZGMyMzE5ZWU2Y2ZlMzM2ZjBhZjBkZTY5MTE5LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzUzNjY5NDIwLzQ4ZDdkYzU2NjU1ZWMwNTk0NGFjNjljMjA3YzIzMjI4NjYwZWNmODgvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNDU3NzcyMzgvODM5NjFjNzBkMWM2MTdhZjAyZWRiYmNiMjcyZWJkNjMxZTdiNmYxZi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8xNTY1OTc5MS8wY2RiMWU2MTAxOGY4M2I4NTY4ODBkMmFjYzE1YTU2Y2E4MTdhNjA0LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzYxMzM5NTAvZDU4OWU0NzNmMzJiOTBiNDQ2MTY5OWI1ZmRiYTU3OTQwMTIzYzZhZi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8zMzU2NDI3My85MmVlMTEzM2NkOWNiMTg4ZmFiNDczMWYxNjU0NmUxY2ZiNWNiY2QxLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzU3OTY2OTEwL2M1NWI5YzY1YjlhMTRjZDRhZmVjZDhlMjM5NDgzOWY3YWE2OTA5ZjgvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNjAyODIzNTAvZDhkMGUxOWIxNzBlNmEzYTk3ZDhhNmFlNTU0N2Y3ZmFiMzFiYTRjMy8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8xMjY2MzUzNy9jMGY5M2FiMzJiZDU0NmY4YjUwYmZjMzA5MDIxYjljYzMxOTAyMTA5LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzEzMTE0NzA1LzU2OTRlZmRiNWZlMWI2NzJmNzY5Y2QwMzIxZDFjY2Q2NzQzZmZkNDMvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNjA0MDAwNTgvYzI0MDQxZDU2N2M2MzVmM2E5NzA4YzQwNzI1NmRjMzhhNjE3MjY0Ni8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8yNjI1NjEwNy8zOWUwZjFiNDAzMzQ5ZWE1YzVkM2JiYWZhZmYwODRkOGRiNWI5YzFkLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzQ1MTI5OTU2LzA4OTMwNTY5MTZhZjU0NzE3MTJiNDc5ODNiYjRiMmQ5YzVmZWM0YjYvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNTU0NDYyNjQvZTQ2NTliODRiYWU0MGQzZDBiMDc0ODNkNGE3NDU0MTcxOGZmMGU5Ni8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy80MDA3OTUzNC9iMTEzMjdkMGY0YWRhZWJjZjcxOGJkMzgxNDVlZGExODI2NTFiNmQ1LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzU4NjY5Njg0LzRkYjQyNzRhOWRiNDUyOWQ0YjI3ZTEzYmFkMmNkODg1YTY1MzkyZDkvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNTQwOTYwMjIvZjk0MzUwYTIwMzM2ZDcwY2QwZTcxNzcxMTU0YmY3MDNlMjc4YzY1NC8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8yNjUxMDMzMS82MzQxYmNlOWJiYWJhNjJhMDI2YmY0MDNlMjFhYTNlNTVmZWUwMzQyLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzIzOTYxMDU3LzkwNzBkMDc2MzZjMjVmZGY0ODE3ZWYyNDkwNTBmMDg5MWU1MGUxM2IvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNTEzMDI1ODIvNTdkMThjZWJmMDAxMzNjNWQ2Y2QzMzk0ZmMzNjNiYmJhZThhYzYxOS8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy82ODg0NDcvNGM4MGUxZGFhYTM1MDRkZDFkNzFmYTk2MTkyNDliN2M4NDMxMTE0Zi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81NDkxMDQyLzYxOTVkYzkwN2FjYjJjMWQ1NThlNzFlODI1OWFkNjU0N2RmMjFmYjcvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPlxcbjxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG48aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcIlxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuLi4uPC9wcmU+PC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPnNreWxpbmVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcXFwiW2RhdGEtc3B5PSdza3lsaW5lJ11cXFwiKVxcbmZvciBza3kgaW4gc2t5bGluZXNcXG5cXHRza3kuc2t5bGluZVxcblxcdFxcdGRlbGF5OiAtPlxcblxcdFxcdFxcdDIwMDAgKiBNYXRoLnJhbmRvbSgpXFxuPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPGgyPlByb3BlcnRpZXM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk5hbWU8L3RoPlxcblxcdFxcdFxcdDx0aD5EZWZhdWx0PC90aD5cXG5cXHRcXHRcXHQ8dGggY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnNweTwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLXNweScgKSBvciAnc2t5bGluZSc8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRTZXQgdG9nZ2xlIHR5cGUgb2YgdGhlIGVsZW1lbnQuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+b2Zmc2V0PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtb2Zmc2V0JyApIG9yIDU8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Y29kZT5OdW1iZXI8L2NvZGU+LiBWZXJ0aWNhbCBvZmZzZXQgdG8gc3RhcnQgc2hvd2luZyBzY3JvbGxzcHkgZWxlbWVudHMgYmVmb3JlIG9yIGFmdGVyIHRoZXkgYXJlIHZpc2libGUuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+ZGVsYXk8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1kZWxheScgKSBvciAzMDA8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Y29kZT5OdW1iZXI8L2NvZGU+IG9yIDxjb2RlPkZ1bmN0aW9uPC9jb2RlPiwgcmV0dXJuaW5nIG51bWJlci4gRGVsYXkgYmVmb3JlIHNob3dpbmcuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+b25Nb2JpbGU8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1vbi1tb2JpbGUnICkgb3Igbm88L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRTdG9wIFNreWxpbmUgcGx1Z2luIG9uIG1vYmlsZSBkZXZpY2VzLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuXFxuPGgyPk1ldGhvZHM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk1ldGhvZDwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YWN0aXZhdGU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+QWN0aXZhdGUgY3VycmVudCBza3lsaW5lIGVsZW1lbnQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmRlYWN0aXZhdGU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+RGVhY3RpdmF0ZSBjdXJyZW50IHNreWxpbmUgZWxlbWVudC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+c3RhcnQ8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U3RhcnQgbGlzdGVuaW5nIHNjcm9sbCBldmVudHMuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPnN0b3A8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U3RvcCBsaXN0ZW5pbmcgc2Nyb2xsIGVmZmVjdHMuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPnJlZnJlc2g8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+UmVmcmVzaCBzaXplcyBhbmQgcG9zaXRpb24gb2YgdGhlIHNreWxpbmUgZWxlbWVudC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG5cXG48aDI+RXZlbnRzPC9oMj5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRJbnNpZGUgZWFjaCBtZXRob2QgdG8gZ2V0IHNreWxpbmUgdXNlIDxjb2RlPkA8L2NvZGU+IG9yIDxjb2RlPnRoaXM8L2NvZGU+IGluIGpzLiBDbGFzcyBpbnN0YW5jZSBhbHdheXMgc3RvcmVzIGluIGRhdGEgYXR0cmlidXRlIG9mIHRoZSBza3lsaW5lIGVsZW1lbnQgPGNvZGU+QGRhdGFbJ2tpdFNreWxpbmUnXTwvY29kZT4gb3IgPGNvZGU+dGhpcy5kYXRhWydraXRTa3lsaW5lJ108L2NvZGU+IGluIGpzLlxcbjwvYmxvY2txdW90ZT5cXG5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5FdmVudDwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YmVmb3JlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgYmVmb3JlIHN0YXJ0IHNreWxpbmUuIElmIGl0IHJldHVybnMgPGNvZGU+ZGVmZXJyZWQucHJvbWlzZSgpPC9jb2RlPiwgdGhlbiBza3lsaW5lIHdpbGwgbm90IHN0YXJ0IHRpbGwgPGNvZGU+ZGVmZXJyZWQucmVzb2x2ZSgpPC9jb2RlPiwgYW5kIHdvdW4ndCBzdGFydCBhdCBhbGwgaWYgPGNvZGU+ZGVmZXJyZWQucmVqZWN0KCk8L2NvZGU+LiBZb3UgY2FuIGp1c3QgZ2V0IGRhdGEgd2l0aCBhamF4IGluc3RlYWQgb2YgdXNpbmcgZGVmZXJyZWQuPC9wPlxcblxcdFxcdFxcdFxcdDxwIGxhbmd1YWdlPVxcXCJjb2ZmZWVzY3JpcHRcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPnNreWxpbmVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcXFwiLnJhZGlvLXdpdGgtYmVmb3JlXFxcIilcXG5mb3IgYnRuIGluIHNreWxpbmVzXFxuXFx0YmVmb3JlYWN0aXZlOiAtPlxcblxcdFxcdGQgPSAkLkRlZmVycmVkKClcXG5cXHRcXHRza3lsaW5lID0gQGRhdGFbJ2tpdFNreWxpbmUnXVxcblxcdFxcdHNreWxpbmUuX2FkZENsYXNzICdfZGlzYWJsZWRfJ1xcblxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdCwyMDAwXFxuXFx0XFx0ZC5wcm9taXNlKClcXG5cXG5cXHRvbmFjdGl2ZTogLT5cXG5cXHRcXHRza3lsaW5lID0gQGRhdGFbJ2tpdFNreWxpbmUnXVxcblxcdFxcdHNreWxpbmUuX3JlbW92ZUNsYXNzICdfZGlzYWJsZWRfJ1xcblxcblxcdGJlZm9yZWRlYWN0aXZlOiAtPlxcblxcdFxcdGQgPSAkLkRlZmVycmVkKClcXG5cXHRcXHRza3lsaW5lID0gQGRhdGFbJ2tpdFNreWxpbmUnXVxcblxcdFxcdHNreWxpbmUuX2FkZENsYXNzICdfZGlzYWJsZWRfJ1xcblxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdCwzMDAwXFxuXFx0XFx0ZC5wcm9taXNlKClcXG5cXG5cXHRvbmRlYWN0aXZlOiAtPlxcblxcdFxcdHNreWxpbmUgPSBAZGF0YVsna2l0U2t5bGluZSddXFxuXFx0XFx0c2t5bGluZS5fcmVtb3ZlQ2xhc3MgJ19kaXNhYmxlZF8nXFxuPC9wcmU+PC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgYWZ0ZXIgc2t5bGluZSBzdGFydC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZmFpbGFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGlmIHN0YXJ0IGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YmVmb3JlZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGJlZm9yZSBzdG9wIHNreWxpbmUuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGFmdGVyIHN0b3Agc2t5bGluZS48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZmFpbGRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgc3RvcCBmYWlsZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XCIsXCJzY3JvbGxzcHlcIjpcIjxkaXYgaWQ9XFxcIm1haW4tY29udGVudFxcXCIgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdDxoMT5TY3JvbGxzcHk8L2gxPlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgLXByaW1hcnktXFxcIiBkYXRhLXNweT1cXFwic2Nyb2xsXFxcIiBkYXRhLXRhcmdldD1cXFwiI3Njcm9sbHNweS10YXJnZXRcXFwiPlxcblxcdFxcdFxcdDxsaT48YSBocmVmPVxcXCIjbWVudS1pdGVtMVxcXCI+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhIGhyZWY9XFxcIiNtZW51LWl0ZW0yXFxcIj5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGEgaHJlZj1cXFwiI21lbnUtaXRlbTNcXFwiPk1lbnUgMzwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0XFx0PGRpdiBpZD1cXFwic2Nyb2xsc3B5LXRhcmdldFxcXCIgc3R5bGU9XFxcImhlaWdodDogMjAwcHg7IG92ZXJmbG93LXk6IHNjcm9sbFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBzdHlsZT1cXFwiaGVpZ2h0OiAxMDAwcHhcXFwiPlxcblxcdFxcdFxcdFxcdDxoNCBpZD1cXFwibWVudS1pdGVtMVxcXCI+TWVudSAxPC9oND5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRKYXBhbiBMaXN0ZW5pL2TKksmZy4hww6ZuLyAoSmFwYW5lc2U6IOaXpeacrCBOaXBwb24gb3IgTmlob247IGZvcm1hbGx5IOaXpeacrOWbvSBBYm91dCB0aGlzIHNvdW5kIE5pcHBvbi1rb2t1IG9yIE5paG9uLWtva3UsIGxpdGVyYWxseSBcXFwidGhlIFN0YXRlIG9mIEphcGFuXFxcIikgaXMgYW4gaXNsYW5kIG5hdGlvbiBpbiBFYXN0IEFzaWEuIExvY2F0ZWQgaW4gdGhlIFBhY2lmaWMgT2NlYW4sIGl0IGxpZXMgdG8gdGhlIGVhc3Qgb2YgdGhlIFNlYSBvZiBKYXBhbiwgQ2hpbmEsIE5vcnRoIEtvcmVhLCBTb3V0aCBLb3JlYSBhbmQgUnVzc2lhLCBzdHJldGNoaW5nIGZyb20gdGhlIFNlYSBvZiBPa2hvdHNrIGluIHRoZSBub3J0aCB0byB0aGUgRWFzdCBDaGluYSBTZWEgYW5kIFRhaXdhbiBpbiB0aGUgc291dGguIFRoZSBjaGFyYWN0ZXJzIHRoYXQgbWFrZSB1cCBKYXBhbidzIG5hbWUgbWVhbiBcXFwic3VuLW9yaWdpblxcXCIsIHdoaWNoIGlzIHdoeSB0aGUgY291bnRyeSBpcyBzb21ldGltZXMgcmVmZXJyZWQgdG8gYXMgdGhlIFxcXCJMYW5kIG9mIHRoZSBSaXNpbmcgU3VuXFxcIi4gSmFwYW4gaXMgYW4gYXJjaGlwZWxhZ28gb2YgNiw4NTIgaXNsYW5kcywgdGhlIGZvdXIgbGFyZ2VzdCBiZWluZyBIb25zaHUsIEhva2thaWRvLCBLeXVzaHUgYW5kIFNoaWtva3UuIFRvZ2V0aGVyLCB0aGVzZSBmb3VyIGlzbGFuZHMgaG9sZCBhYm91dCA5NyBwZXJjZW50IG9mIHRoZSBjb3VudHJ5J3MgbGFuZCBhcmVhLiBKYXBhbiBoYXMgdGhlIHdvcmxkJ3MgdGVudGgtbGFyZ2VzdCBwb3B1bGF0aW9uLCB3aXRoIG1vcmUgdGhhbiAxMjYgbWlsbGlvbiBwZW9wbGUuIEhvbnNoxasncyBHcmVhdGVyIFRva3lvIEFyZWEgaW5jbHVkZXMgdGhlIGRlIGZhY3RvIGNhcGl0YWwgY2l0eSBvZiBUb2t5byBhbmQgc2V2ZXJhbCBzdXJyb3VuZGluZyBwcmVmZWN0dXJlcy4gSXQgaXMgdGhlIGxhcmdlc3QgbWV0cm9wb2xpdGFuIGFyZWEgaW4gdGhlIHdvcmxkLCB3aXRoIG1vcmUgdGhhbiAzMCBtaWxsaW9uIHJlc2lkZW50cy5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFxuXFx0XFx0XFx0XFx0PGg0IGlkPVxcXCJtZW51LWl0ZW0yXFxcIj5NZW51IDI8L2g0PlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdEphcGFuIExpc3RlbmkvZMqSyZnLiHDDpm4vIChKYXBhbmVzZTog5pel5pysIE5pcHBvbiBvciBOaWhvbjsgZm9ybWFsbHkg5pel5pys5Zu9IEFib3V0IHRoaXMgc291bmQgTmlwcG9uLWtva3Ugb3IgTmlob24ta29rdSwgbGl0ZXJhbGx5IFxcXCJ0aGUgU3RhdGUgb2YgSmFwYW5cXFwiKSBpcyBhbiBpc2xhbmQgbmF0aW9uIGluIEVhc3QgQXNpYS4gTG9jYXRlZCBpbiB0aGUgUGFjaWZpYyBPY2VhbiwgaXQgbGllcyB0byB0aGUgZWFzdCBvZiB0aGUgU2VhIG9mIEphcGFuLCBDaGluYSwgTm9ydGggS29yZWEsIFNvdXRoIEtvcmVhIGFuZCBSdXNzaWEsIHN0cmV0Y2hpbmcgZnJvbSB0aGUgU2VhIG9mIE9raG90c2sgaW4gdGhlIG5vcnRoIHRvIHRoZSBFYXN0IENoaW5hIFNlYSBhbmQgVGFpd2FuIGluIHRoZSBzb3V0aC4gVGhlIGNoYXJhY3RlcnMgdGhhdCBtYWtlIHVwIEphcGFuJ3MgbmFtZSBtZWFuIFxcXCJzdW4tb3JpZ2luXFxcIiwgd2hpY2ggaXMgd2h5IHRoZSBjb3VudHJ5IGlzIHNvbWV0aW1lcyByZWZlcnJlZCB0byBhcyB0aGUgXFxcIkxhbmQgb2YgdGhlIFJpc2luZyBTdW5cXFwiLiBKYXBhbiBpcyBhbiBhcmNoaXBlbGFnbyBvZiA2LDg1MiBpc2xhbmRzLCB0aGUgZm91ciBsYXJnZXN0IGJlaW5nIEhvbnNodSwgSG9ra2FpZG8sIEt5dXNodSBhbmQgU2hpa29rdS4gVG9nZXRoZXIsIHRoZXNlIGZvdXIgaXNsYW5kcyBob2xkIGFib3V0IDk3IHBlcmNlbnQgb2YgdGhlIGNvdW50cnkncyBsYW5kIGFyZWEuIEphcGFuIGhhcyB0aGUgd29ybGQncyB0ZW50aC1sYXJnZXN0IHBvcHVsYXRpb24sIHdpdGggbW9yZSB0aGFuIDEyNiBtaWxsaW9uIHBlb3BsZS4gSG9uc2jFqydzIEdyZWF0ZXIgVG9reW8gQXJlYSBpbmNsdWRlcyB0aGUgZGUgZmFjdG8gY2FwaXRhbCBjaXR5IG9mIFRva3lvIGFuZCBzZXZlcmFsIHN1cnJvdW5kaW5nIHByZWZlY3R1cmVzLiBJdCBpcyB0aGUgbGFyZ2VzdCBtZXRyb3BvbGl0YW4gYXJlYSBpbiB0aGUgd29ybGQsIHdpdGggbW9yZSB0aGFuIDMwIG1pbGxpb24gcmVzaWRlbnRzLlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXG5cXHRcXHRcXHRcXHQ8aDQgaWQ9XFxcIm1lbnUtaXRlbTNcXFwiPk1lbnUgMzwvaDQ+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0SmFwYW4gTGlzdGVuaS9kypLJmcuIcMOmbi8gKEphcGFuZXNlOiDml6XmnKwgTmlwcG9uIG9yIE5paG9uOyBmb3JtYWxseSDml6XmnKzlm70gQWJvdXQgdGhpcyBzb3VuZCBOaXBwb24ta29rdSBvciBOaWhvbi1rb2t1LCBsaXRlcmFsbHkgXFxcInRoZSBTdGF0ZSBvZiBKYXBhblxcXCIpIGlzIGFuIGlzbGFuZCBuYXRpb24gaW4gRWFzdCBBc2lhLiBMb2NhdGVkIGluIHRoZSBQYWNpZmljIE9jZWFuLCBpdCBsaWVzIHRvIHRoZSBlYXN0IG9mIHRoZSBTZWEgb2YgSmFwYW4sIENoaW5hLCBOb3J0aCBLb3JlYSwgU291dGggS29yZWEgYW5kIFJ1c3NpYSwgc3RyZXRjaGluZyBmcm9tIHRoZSBTZWEgb2YgT2tob3RzayBpbiB0aGUgbm9ydGggdG8gdGhlIEVhc3QgQ2hpbmEgU2VhIGFuZCBUYWl3YW4gaW4gdGhlIHNvdXRoLiBUaGUgY2hhcmFjdGVycyB0aGF0IG1ha2UgdXAgSmFwYW4ncyBuYW1lIG1lYW4gXFxcInN1bi1vcmlnaW5cXFwiLCB3aGljaCBpcyB3aHkgdGhlIGNvdW50cnkgaXMgc29tZXRpbWVzIHJlZmVycmVkIHRvIGFzIHRoZSBcXFwiTGFuZCBvZiB0aGUgUmlzaW5nIFN1blxcXCIuIEphcGFuIGlzIGFuIGFyY2hpcGVsYWdvIG9mIDYsODUyIGlzbGFuZHMsIHRoZSBmb3VyIGxhcmdlc3QgYmVpbmcgSG9uc2h1LCBIb2trYWlkbywgS3l1c2h1IGFuZCBTaGlrb2t1LiBUb2dldGhlciwgdGhlc2UgZm91ciBpc2xhbmRzIGhvbGQgYWJvdXQgOTcgcGVyY2VudCBvZiB0aGUgY291bnRyeSdzIGxhbmQgYXJlYS4gSmFwYW4gaGFzIHRoZSB3b3JsZCdzIHRlbnRoLWxhcmdlc3QgcG9wdWxhdGlvbiwgd2l0aCBtb3JlIHRoYW4gMTI2IG1pbGxpb24gcGVvcGxlLiBIb25zaMWrJ3MgR3JlYXRlciBUb2t5byBBcmVhIGluY2x1ZGVzIHRoZSBkZSBmYWN0byBjYXBpdGFsIGNpdHkgb2YgVG9reW8gYW5kIHNldmVyYWwgc3Vycm91bmRpbmcgcHJlZmVjdHVyZXMuIEl0IGlzIHRoZSBsYXJnZXN0IG1ldHJvcG9saXRhbiBhcmVhIGluIHRoZSB3b3JsZCwgd2l0aCBtb3JlIHRoYW4gMzAgbWlsbGlvbiByZXNpZGVudHMuXFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItbWVudSAtcHJpbWFyeS1cXFwiIGRhdGEtc3B5PVxcXCJzY3JvbGxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjc2Nyb2xsc3B5LXRhcmdldFxcXCI+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNtZW51LWl0ZW0xXFxcIj5NZW51IDE8L2E+PC9saT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI21lbnUtaXRlbTJcXFwiPk1lbnUgMjwvYT48L2xpPlxcblxcdDxsaT48YSBocmVmPVxcXCIjbWVudS1pdGVtM1xcXCI+TWVudSAzPC9hPjwvbGk+XFxuPC91bD48L3ByZT48L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgaWQ9XFxcInNjcm9sbHNweS10YXJnZXRcXFwiIHN0eWxlPVxcXCJoZWlnaHQ6IDIwMHB4OyBvdmVyZmxvdy15OiBzY3JvbGxcXFwiPlxcblxcdDxkaXYgc3R5bGU9XFxcImhlaWdodDogMTAwMHB4XFxcIj5cXG5cXHRcXHQ8aDQgaWQ9XFxcIm1lbnUtaXRlbTFcXFwiPk1lbnUgMTwvaDQ+XFxuXFx0XFx0PHA+XFxuXFx0XFx0XFx0SmFwYW4gTGlzdGVuaS9kypLJmcuIcMOmbi8gKEphcGFuZXNlOiDml6XmnKwgTmlwcG9uIG9yIE5paG9uOy4uLlxcblxcdFxcdDwvcD5cXG5cXG5cXHRcXHQ8aDQgaWQ9XFxcIm1lbnUtaXRlbTJcXFwiPk1lbnUgMjwvaDQ+XFxuXFx0XFx0PHA+XFxuXFx0XFx0XFx0SmFwYW4gTGlzdGVuaS9kypLJmcuIcMOmbi8gKEphcGFuZXNlOiDml6XmnKwgTmlwcG9uIG9yIE5paG9uOy4uLlxcblxcdFxcdDwvcD5cXG5cXG5cXHRcXHQ8aDQgaWQ9XFxcIm1lbnUtaXRlbTNcXFwiPk1lbnUgMzwvaDQ+XFxuXFx0XFx0PHA+XFxuXFx0XFx0XFx0SmFwYW4gTGlzdGVuaS9kypLJmcuIcMOmbi8gKEphcGFuZXNlOiDml6XmnKwgTmlwcG9uIG9yIE5paG9uOy4uLlxcblxcdFxcdDwvcD5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtc3B5PVxcXCJzY3JvbGxcXFwiXScpLnNjcm9sbHNweVxcblxcdG9mZnNldDogMTAwPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgyPlByb3BlcnRpZXM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk5hbWU8L3RoPlxcblxcdFxcdFxcdDx0aD5EZWZhdWx0PC90aD5cXG5cXHRcXHRcXHQ8dGggY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnNweTwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLXNweScgKSBvciAnc2Nyb2xsJzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFNldCBzcHlpbmcgdHlwZS5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD50YXJnZXQ8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS10YXJnZXQnICkgb3IgJ2JvZHknPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0TGlzdGVuIHRvIGV2ZW50IDxjb2RlPnNjcm9sbDwvY29kZT4gb2YgdGhpcyBlbGVtZW50LiBBbGwgc3B5aW5nIGJsb2NrcyBhcmUgaW5zaWRlLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPm9mZnNldDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLW9mZnNldCcgKSBvciA1PC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0VmVydGljYWwgb2Zmc2V0IG9mIHRoZSBlbGVtZW50IGluIHRleHQgdG8gZmlyZSB0aGUgYWN0aXZhdGlvbiAoZm9yIGV4YW1wbGUgYWN0aXZhdGUgbWVudSB3aGVuIHRoZSBoZWFkZXIgd2lsbCBiZSA1cHggYWJvdmUgdGhlIHRvcCBvZiB0aGUgc2NyZWVuKS5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5lbGVtZW50czwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWVsZW1lbnRzJyApIG9yICdsaSBhJzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFNlbGVjdG9yIHRvIHNweSB0aG9zZSBlbGVtZW50cyBpbnNpZGUgQCAoc3B5LCBvciBtZW51IGluIG91ciBjYXNlKS5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5lbGVtZW50c0F0dHI8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1lbGVtZW50cy1hdHRyJyApIG9yICdocmVmJzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdEF0dHJpYnV0ZSBvZiBlYWNoIGVsZW1lbnQgd2l0aCBJRCBvZiB0aGUgdGFyZ2V0LlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPm9uTW9iaWxlPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtb24tbW9iaWxlJyApIG9yIG5vPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0RGVhY3RpdmF0ZSBzcHkgb24gbW9iaWxlIGRldmljZXMuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG48aDI+TWV0aG9kczwvaDI+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+TWV0aG9kPC90aD5cXG5cXHRcXHRcXHQ8dGg+RGVzY3JpcHRpb248L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5zdGFydDwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5BY3RpdmF0ZSBzcHkuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPnN0b3A8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+RGVhdGl2YXRlIHNweS48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+cmVmcmVzaDwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5SZWZyZXNoIGFsbCBtZW51IGl0ZW1zIGFuZCBwb3NpdGlvbnMgb2YgdGFyZ2V0cy48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG5cXG48aDI+RXZlbnRzPC9oMj5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRJbnNpZGUgZWFjaCBtZXRob2QgdG8gZ2V0IG1lbnUgZWxlbWVudCB1c2UgPGNvZGU+QDwvY29kZT4gb3IgPGNvZGU+dGhpczwvY29kZT4gaW4ganMuIENsYXNzIGluc3RhbmNlIGFsd2F5cyBzdG9yZXMgaW4gZGF0YSBhdHRyaWJ1dGUgb2YgdGhlIG1lbnUgZWxlbWVudCA8Y29kZT5AZGF0YVsna2l0U2Nyb2xsc3B5J108L2NvZGU+IG9yIDxjb2RlPnRoaXMuZGF0YVsna2l0U2Nyb2xsc3B5J108L2NvZGU+IGluIGpzLiBUbyBnZXQgc2Nyb2xsc3B5IGVsZW1lbnQgKG1lbnUpIGRvIDxjb2RlPkBkYXRhWydraXRTY3JvbGxzcHknXS5lbDwvY29kZT4uIFRvIGdldCBzY3JvbGxzcHkgc2Nyb2xsIGJsb2NrIGRvIDxjb2RlPkBkYXRhWydraXRTY3JvbGxzcHknXS50YXJnZXQ8L2NvZGU+LlxcbjwvYmxvY2txdW90ZT5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5NZXRob2Q8L3RoPlxcblxcdFxcdFxcdDx0aD5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmJlZm9yZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGJlZm9yZSBhY3RpdmF0ZSB0aGUgc3B5LiBJZiBpdCByZXR1cm5zIDxjb2RlPmRlZmVycmVkLnByb21pc2UoKTwvY29kZT4sIHRoZW4gc3B5IHdpbGwgbm90IHN0YXJ0IHRpbGwgPGNvZGU+ZGVmZXJyZWQucmVzb2x2ZSgpPC9jb2RlPiwgYW5kIHdvdW4ndCBzdGFydCBpZiA8Y29kZT5kZWZlcnJlZC5yZWplY3QoKTwvY29kZT4uPC9wPlxcblxcdFxcdFxcdFxcdDxwIGxhbmd1YWdlPVxcXCJjb2ZmZWVzY3JpcHRcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zcHktdGhpcy1tZW51Jykuc2Nyb2xsc3B5XFxuXFx0YmVmb3JlYWN0aXZlOiAtPlxcblxcdFxcdGQgPSAkLkRlZmVycmVkKClcXG5cXG5cXHRcXHRjb25zb2xlLmxvZyBAXFxuXFx0XFx0IyBUaGUgc3B5IChtZW51KSB3aWxsIGJlIGluIHRoZSBsb2dcXG5cXHRcXHQjIHNvIHlvdSBjYW4sIGZvciBleGFtcGxlLCBhZGQgY2xhc3Nlc1xcblxcdFxcdCMgdG8gZGlzYWJsZSB0aGUgc3B5aW5nIG1lbnVcXG5cXG5cXHRcXHRjb25zb2xlLmxvZyBAZGF0YVsna2l0U2Nyb2xsc3B5J11cXG5cXHRcXHQjIFRoZSBpbnN0YW5jZSBvZiBTY3JvbGxzcHkgY2xhc3Mgd2lsbCBpbiBsb2dcXG5cXHRcXHQjIHNvIHRvIGdldCBzY3JvbGxzcHkgZWxlbWVudCB5b3UgbmVlZCB0byBkb1xcblxcdFxcdHNweSA9IEBkYXRhWydraXRTY3JvbGxzcHknXVxcblxcdFxcdHNweS5fYWRkQ2xhc3MgJ19kaXNhYmxlZF8nXFxuXFxuXFx0XFx0IyBEbyBzb21ldGhpbmcgaGVyZSBiZWZvcmUgYWN0aXZhdGUgc2Nyb2xsc3B5XFxuXFx0XFx0IyBpbiB0aGlzIGNhc2UgaXQgd2lsbCBzdGFydCBpbiAyIHNlY29uZHNcXG5cXHRcXHRzZXRUaW1lb3V0IC0+XFxuXFx0XFx0XFx0ZC5yZXNvbHZlKClcXG5cXHRcXHQsIDIwMDBcXG5cXHRcXHQjIEVuZCBvZiB5b3VyIGNvZGVcXG5cXG5cXHRcXHRkLnByb21pc2UoKVxcbjwvcHJlPjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5vbmFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGFmdGVyIHNweSBzdGFydGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5mYWlsYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgc3RhcnRpbmcgZmFpbGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5iZWZvcmVkZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5DYWxsIHRoaXMgZnVuY3Rpb24gYmVmb3JlIHNweSBzdG9wcGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5vbmRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkNhbGwgdGhpcyBmdW5jdGlvbiBhZnRlciBzcHkgc3RvcHBlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZmFpbGRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgc3RvcHBpbmcgZmFpbGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcbjwvZGl2PlxcblwiLFwicG9wdXBcIjpcIjxkaXYgaWQ9XFxcIm1haW4tY29udGVudFxcXCIgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdDxoMT5Qb3B1cDwvaDE+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdDxoMz5IVE1MIFBvcHVwPC9oMz5cXG5cXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRVc2Ugd2lkZ2V0cyA8Y29kZT4tZHJvcGRvd248L2NvZGU+IG9yIDxjb2RlPi10b29sdGlwPC9jb2RlPlxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRUbyBzZXQgYW5pbWF0aW9uIHRvIHRoZSBkaWFsb2cgd2luZG93IGFkZCBhbmltYXRpb24gbmFtZTogPGNvZGU+LWZhZGVpbi0tPC9jb2RlPiwgPGNvZGU+LWZhbGwtLTwvY29kZT4sIDxjb2RlPi1mbGlwaG9yaXpvbnRhbC0tPC9jb2RlPiwgPGNvZGU+LWZsb3B2ZXJ0aWNhbC0tPC9jb2RlPiwgPGNvZGU+LXNsaWRlaW4tLTwvY29kZT4sIDxjb2RlPi1zY2FsZWluLS08L2NvZGU+LCA8Y29kZT4tbmV3c3BhcGVyLS08L2NvZGU+LlxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0PGgzPkhUTUwgQnV0dG9uPC9oMz5cXG5cXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRBZGQgZGF0YSBhdHRyaWJ1dGVzIHRvIGFueSB3aWRnZXQgPGNvZGU+ZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIjwvY29kZT4gYW5kIDxjb2RlPmRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAxXFxcIjwvY29kZT4uIFRoZSBwbHVnaW4gd2lsbCBmaW5kIHN1Y2ggYnV0dG9ucyBhdXRvbWF0aWNhbGx5LiBJbiA8Y29kZT5kYXRhLXRhcmdldDwvY29kZT4geW91IGNhbiBzZXQgY2xhc3NlcyBvciBpZHMuXFxuXFx0XFx0XFx0PC9wPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHQ8aDM+Q29mZmVzY3JpcHQ8L2gzPlxcblxcdFxcdFxcdDxwPlNpbXBsZSB3YXk6PC9wPlxcblxcdFxcdFxcdDxwPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPmVsLnBvcHVwKCk8L3ByZT48L3A+PHA+TW9yZSBjb21wbGljYXRlZDo8L3A+XFxuXFx0XFx0XFx0PHA+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+ZWwucG9wdXBcXG5cXHRiZWZvcmVhY3RpdmU6IC0+XFxuXFx0XFx0IyBHZXQgcG9wdXAgY2xhc3MgaW5zdGFuY2VcXG5cXHRcXHRwb3B1cCA9IEBkYXRhWydraXRQb3B1cCddXFxuXFx0XFx0IyBTZXQgbmV3IGNvbnRlbnRcXG5cXHRcXHRwb3B1cC5kaWFsb2cuaW5uZXJIVE1MID0gXFxcIlNldCBjb250ZW50IGhlcmVcXFwiXFxuXFxuXFx0b25hY3RpdmU6IC0+XFxuXFx0XFx0IyBBZGQgYWN0aXZlIGNsYXNzIHRvIHRoZSBidXR0b25cXG5cXHRcXHRAX2FkZENsYXNzICdfYWN0aXZlXydcXG5cXG5cXHRvbmRlYWN0aXZlOiAtPlxcblxcdFxcdCMgUmVtb3ZlIGFjdGl2ZSBjbGFzcyB0byB0aGUgYnV0dG9uXFxuXFx0XFx0QF9yZW1vdmVDbGFzcyAnX2FjdGl2ZV8nPC9wcmU+PC9wPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tcG9wdXAtZGVtb1xcXCIgZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwLWRlbW9cXFwiPmNvcm5lcjwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtZXJyb3ItIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzJcXFwiPmRvb3I8L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzNcXFwiPmZhZGVpbjwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtZXJyb3ItIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzRcXFwiPmZhbGw8L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzVcXFwiPmZsaXBob3Jpem9udGFsPC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1lcnJvci0gYnRuLXBvcHVwLWRlbW9cXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1kZW1vNlxcXCI+ZmxpcHZlcnRpY2FsPC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tcG9wdXAtZGVtb1xcXCIgZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwLWRlbW83XFxcIj5odWdlaW5jPC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1lcnJvci0gYnRuLXBvcHVwLWRlbW9cXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1kZW1vOFxcXCI+bmV3c3BhcGVyPC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tcG9wdXAtZGVtb1xcXCIgZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwLWRlbW85XFxcIj5zY2FsZTwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLXBvcHVwLWRlbW9cXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1kZW1vMTFcXFwiPnNsaWRlZG93bjwvYT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzEzXFxcIj5Ub3A8L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vLWxlZnRcXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1kZW1vMTRcXFwiPkxlZnQ8L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vLXJpZ2h0XFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzE1XFxcIj5SaWdodDwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLXBvcHVwLWRlbW8tYm90dG9tXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzE2XFxcIj5Cb3R0b208L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vLWJvdHRvbS1yaWdodFxcXCIgZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwLWRlbW8xN1xcXCI+Qm90dG9tIHJpZ2h0PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tcG9wdXAtZGVtby10b3AtbGVmdFxcXCIgZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwLWRlbW8xOFxcXCI+VG9wIGxlZnQ8L2E+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLXBvcHVwLWRlbW9cXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1kZW1vXFxcIj5PcGVuIHBvcHVwPC9hPlxcbjxhIGNsYXNzPVxcXCItYnRuIC1lcnJvci0gYnRuLXBvcHVwLWRlbW9cXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1kZW1vMlxcXCI+T3BlbiBwb3B1cDwvYT5cXG4uLi5cXG48L3ByZT48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgaWQ9XFxcInBvcHVwLWRlbW9cXFwiIGNsYXNzPVxcXCItZHJvcCBfdG9wXyAtcHJpbWFyeS0gLWZsaXBob3Jpem9udGFsLS0gLWVsYXN0aWMtLVxcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGbGlwIGhvcml6b250YWwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vMlxcXCIgY2xhc3M9XFxcIi1kcm9wIF90b3BfIC1lcnJvci0gLXNjYWxlaW4tLSAtZWxhc3RpYy0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZhbGwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG4uLi5cXG48L3ByZT48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJ0bi1wb3B1cC1kZW1vJykucG9wdXBcXG5cXHRiZWZvcmVhY3RpdmU6IC0+XFxuXFx0XFx0cG9wdXAgPSBAZGF0YVsna2l0UG9wdXAnXVxcblxcdFxcdHBvcHVwLmRpYWxvZy5pbm5lckhUTUwgPSBcXFwiUG9wdXAgI3twb3B1cC5faWR9IHdpdGggZHluYW1pYyBjb250ZW50PGJyPlJhbmRvbSBudW1iZXIgI3tNYXRoLnJhbmRvbSgpfVxcXCJcXG5cXG5cXHRvbmFjdGl2ZTogLT5cXG5cXHRcXHRAX2FkZENsYXNzICdfYWN0aXZlXydcXG5cXG5cXHRvbmRlYWN0aXZlOiAtPlxcblxcdFxcdEBfcmVtb3ZlQ2xhc3MgJ19hY3RpdmVfJ1xcblxcblxcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5idG4tcG9wdXAtZGVtby1sZWZ0JykucG9wdXBcXG5cXHRwb3NpdGlvbjpcXG5cXHRcXHR2ZXJ0aWNhbDogJ21pZGRsZSdcXG5cXHRcXHRob3Jpem9udGFsOiAnbGVmdCdcXG5cXHRiZWZvcmVhY3RpdmU6IC0+XFxuXFx0XFx0cG9wdXAgPSBAZGF0YVsna2l0UG9wdXAnXVxcblxcdFxcdHBvcHVwLmRpYWxvZy5pbm5lckhUTUwgPSBcXFwiUG9wdXAgI3twb3B1cC5faWR9IHdpdGggZHluYW1pYyBjb250ZW50PGJyPlJhbmRvbSBudW1iZXIgI3tNYXRoLnJhbmRvbSgpfVxcXCJcXG5cXG5cXHRvbmFjdGl2ZTogLT5cXG5cXHRcXHRAX2FkZENsYXNzICdfYWN0aXZlXydcXG5cXG5cXHRvbmRlYWN0aXZlOiAtPlxcblxcdFxcdEBfcmVtb3ZlQ2xhc3MgJ19hY3RpdmVfJ1xcblxcbi4uLlxcbjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblxcblxcbjxoMj5Qcm9wZXJ0aWVzPC9oMj5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5OYW1lPC90aD5cXG5cXHRcXHRcXHQ8dGg+RGVmYXVsdDwvdGg+XFxuXFx0XFx0XFx0PHRoIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+RGVzY3JpcHRpb248L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD50YXJnZXQ8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT4gQGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtdGFyZ2V0JyApIG9yIG51bGw8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRGaW5kIGVsZW1lbnQgd2l0aCB0aGlzIHNlbGVjdG9yIGFuZCB3b3JrIHdpdGggaXQgYXMgYSBwb3B1cCB3aW5kb3cuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+dG9nZ2xlPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtdG9nZ2xlJyApIG9yICdwb3B1cCc8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRTZXQgdG9nZ2xlIHR5cGUuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+ZGlhbG9nPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtZGlhbG9nJyApIG9yIFxcXCIuLWNvbnRlbnRcXFwiPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0U2VsZWN0b3IgdG8gZmluZCBkaWFsb2cgYmxvZyBpbnNpZGUgcG9wdXAuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+ZXZlbnQ8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1ldmVudCcgKSBvciBcXFwiY2xpY2tcXFwiPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0VGhpcyBldmVudCB3aWxsIGJlIHVzZWQgdG8gb3BlbiBwb3B1cC48L2NvZGU+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+ZXZlbnRDbG9zZTwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWV2ZW50LWNsb3NlJyApIG9yIFxcXCJjbGlja1xcXCI8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRFdmVudCBmb3IgY2xvc2VyIGVsZW1lbnQgdG8gY2xvc2UgcG9wdXAuIENsb3NlciBlbGVtZW50IHNob3VsZCBiZSBhbnl3aGVyZSBpbiB0aGUgRE9NIHdpdGggYXR0cmlidXRlIDxjb2RlPmRhdGEtZGlzbWlzcz1cXFwidGFyZ2V0LXNlbGVjdG9yXFxcIjwvY29kZT4uXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+YXV0b09wZW48L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCdkYXRhLWF1dG9vcGVuJykgb3Igbm88L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRPcGVuIHBvcHVwIGFmdGVyIGluaXRpYWxpemF0aW9uLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnBvc2l0aW9uPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+e1xcblxcdFxcdFxcdFxcdHZlcnRpY2FsOiBAZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1wb3NpdGlvbi12ZXJ0aWNhbCcgKSBvciAndG9wJyxcXG5cXHRcXHRcXHRcXHRob3Jpem9udGFsOiBAZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1wb3NpdGlvbi1ob3Jpem9udGFsJyApIG9yICdjZW50ZXInXFxuXFx0XFx0XFx0fTwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFBvcHVwIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBidXR0b24uPGJyPlxcblxcdFxcdFxcdFxcdHZlcnRpY2FsOiA8Y29kZT4ndG9wJzwvY29kZT4gLyA8Y29kZT4nbWlkZGxlJzwvY29kZT4gLyA8Y29kZT4nYm90dG9tJzwvY29kZT48YnI+XFxuXFx0XFx0XFx0XFx0aG9yaXpvbnRhbDogPGNvZGU+J2xlZnQnPC9jb2RlPiAvIDxjb2RlPidjZW50ZXInPC9jb2RlPiAvIDxjb2RlPidyaWdodCc8L2NvZGU+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+b2Zmc2V0PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PGk+XFxuXFx0XFx0XFx0XFx0XFx0aG9yaXpvbnRhbDogQGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtb2Zmc2V0LWhvcml6b250YWwnICkgb3IgMDxicj5cXG5cXHRcXHRcXHRcXHRcXHR2ZXJ0aWNhbDogQGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtb2Zmc2V0LXZlcnRpY2FsJyApIG9yIDBcXG5cXHRcXHRcXHRcXHQ8L2k+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRJbiA8Y29kZT5weDwvY29kZT4uIE9mZnNldCByZWxhdGl2ZSB0byA8Y29kZT5wb3NpdGlvbjwvY29kZT4uXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+Y2xvc2VVbmZvY3VzPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PGk+XFxuXFx0XFx0XFx0XFx0XFx0QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtY2xvc2UtdW5mb2N1cycgKSBvciBub1xcblxcdFxcdFxcdFxcdDwvaT5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdENsb3NlIHBvcHVwIGlmIGNsaWNrIG91dHNpZGUgb2YgaXQuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+Y2xvc2VPblJlc2l6ZTwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxpPlxcblxcdFxcdFxcdFxcdFxcdEBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWNsb3NlLXJlc2l6ZScgKSBvciB5ZXNcXG5cXHRcXHRcXHRcXHQ8L2k+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRDbG9zZSBwb3B1cCB3aGVuIGJyb3dzZXIgd2luZG93IHJlc2l6aW5nLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnNlbGZpc2g8L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8aT5cXG5cXHRcXHRcXHRcXHRcXHRAZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1zZWxmaXNoJyApIG9yIHllc1xcblxcdFxcdFxcdFxcdDwvaT5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdENsb3NlIGFsbCBwb3B1cHMgd2hlbiBvcGVucyB0aGlzIG9uZS5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcbjxoMj5NZXRob2RzPC9oMj5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5NZXRob2Q8L3RoPlxcblxcdFxcdFxcdDx0aD5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9wZW48L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+T3BlbiBwb3B1cC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+Y2xvc2U8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2xvc2UgcG9wdXAuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmVuYWJsZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TdGFydCBsaXN0ZW5pbmcgdG8gdGhlIGV2ZW50cy48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZGlzYWJsZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TdG9wIGxpc3RlbmluZyB0byB0aGUgZXZlbnRzLiBQb3B1cCB3aWxsIHN0YXkgaW4gY3VycmVudCBzdGF0dXMgKG9wZW5lZCBvciBjbG9zZWQpIGFuZCB3aWxsIG5vdCB3b3JrIGFueW1vcmUuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPnNldFBvc2l0aW9uPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlJlZnJlc2ggcG9zaXRpb24gb2YgdGhlIHBvcHVwIHJlbGF0aXZlIHRvIHRoZSBidXR0b24uPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuPGgyPkV2ZW50czwvaDI+XFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0SW5zaWRlIGVhY2ggbWV0aG9kIHRvIGdldCBidXR0b24gdXNlIDxjb2RlPkA8L2NvZGU+IG9yIDxjb2RlPnRoaXM8L2NvZGU+IGluIGpzLiBDbGFzcyBpbnN0YW5jZSBhbHdheXMgc3RvcmVzIGluIGRhdGEgYXR0cmlidXRlIG9mIHRoZSBidXR0b24gZWxlbWVudCA8Y29kZT5AZGF0YVsna2l0UG9wdXAnXTwvY29kZT4gb3IgPGNvZGU+dGhpcy5kYXRhWydraXRQb3B1cCddPC9jb2RlPiBpbiBqcy4gVG8gZ2V0IHBvcHVwIHdpbmRvdyBlbGVtZW50IGRvIDxjb2RlPkBkYXRhWydraXRQb3B1cCddLnRhcmdldDwvY29kZT4uXFxuPC9ibG9ja3F1b3RlPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk1ldGhvZDwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5iZWZvcmVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+dW5kZWZpbmVkPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBiZWZvcmUgcG9wdXAgb3BlbnMuIElmIGl0IHJldHVybnMgPGNvZGU+ZGVmZXJyZWQucHJvbWlzZSgpPC9jb2RlPiwgdGhlbiBwb3B1cCB3aWxsIG5vdCBvcGVuIHRpbGwgPGNvZGU+ZGVmZXJyZWQucmVzb2x2ZSgpPC9jb2RlPiwgYW5kIHdvdW4ndCBvcGVuIGlmIDxjb2RlPmRlZmVycmVkLnJlamVjdCgpPC9jb2RlPi4gWW91IGNhbiBqdXN0IGdldCBkYXRhIHdpdGggYWpheCBmb3IgcG9wdXAuPC9wPlxcblxcdFxcdFxcdFxcdDxwIGxhbmd1YWdlPVxcXCJjb2ZmZWVzY3JpcHRcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5idG4tcG9wdXAnKS5wb3B1cFxcblxcdGJlZm9yZWFjdGl2ZTogLT5cXG5cXHRcXHRkID0gJC5EZWZlcnJlZCgpXFxuXFxuXFx0XFx0Y29uc29sZS5sb2cgQFxcblxcdFxcdCMgVGhlIGJ1dHRvbiBlbGVtZW50IHdpbGwgYmUgaW4gdGhlIGxvZ1xcblxcdFxcdCMgc28geW91IGNhbiBhZGQgb3IgcmVtb3ZlIGNsYXNzZXMgZWFzaWx5XFxuXFx0XFx0IyBmb3IgZXhhbXBsZSB0byBkaXNhYmxlIGJ1dHRvbiB3aGlsZSBnZXR0aW5nIGRhdGEgZm9yIHBvcHVwIHdpbmRvd1xcblxcblxcdFxcdGNvbnNvbGUubG9nIEBkYXRhWydraXRQb3B1cCddXFxuXFx0XFx0IyBUaGUgaW5zdGFuY2Ugb2YgTW9kYWwgY2xhc3Mgd2lsbCBpbiBsb2dcXG5cXHRcXHQjIHNvIHRvIGdldCBwb3B1cCB3aW5kb3cgZWxlbWVudCB5b3UgbmVlZCB0byBkb1xcblxcdFxcdHBvcHVwID0gQGRhdGFbJ2tpdFBvcHVwJ10udGFyZ2V0XFxuXFxuXFx0XFx0IyBUbyBnZXQgcG9wdXAgZWxlbWVudCBkb1xcblxcdFxcdGNvbnNvbGUubG9nIHBvcHVwLnRhcmdldFxcblxcblxcdFxcdCMgVG8gZ2V0IHBvcHVwIGRpYWxvZyBlbGVtZW50IGRvXFxuXFx0XFx0Y29uc29sZS5sb2cgcG9wdXAuZGlhbG9nXFxuXFxuXFx0XFx0IyBEbyBzb21ldGhpbmcgaGVyZSBiZWZvcmUgb3BlbiB3aW5kb3dcXG5cXHRcXHQjIGluIHRoaXMgY2FzZSBpdCB3aWxsIG9wZW4gcG9wdXAgd2luZG93IGFmdGVyIDIgc2Vjb25kc1xcblxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdCwgMjAwMFxcblxcdFxcdCMgRW5kIG9mIHlvdXIgY29kZVxcblxcblxcdFxcdGQucHJvbWlzZSgpXFxuPC9wcmU+PC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgYWZ0ZXIgcG9wdXAgb3BlbnMuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmZhaWxhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBpZiBhY3RpdmF0aW9uIGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YmVmb3JlZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGJlZm9yZSBwb3B1cCBjbG9zZXMuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGFmdGVyIHBvcHVwIGNsb3Nlcy48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZmFpbGRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgZGVhY3RpdmF0aW9uIGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vXFxcIiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gLXByaW1hcnktIC1jb3JuZXItLVxcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGbGlwIGhvcml6b250YWwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vMlxcXCIgY2xhc3M9XFxcIi1kcm9wIF90b3BfIC1wcmltYXJ5LSAtZG9vci0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZsaXAgaG9yaXpvbnRhbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW8zXFxcIiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gLWVycm9yLSAtZmFkZWluLS1cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0RmFsbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW80XFxcIiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gLWVycm9yLSAtZmFsbC0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZhbGwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vNVxcXCIgY2xhc3M9XFxcIi1kcm9wIF90b3BfIC1lcnJvci0gLWZsaXBob3Jpem9udGFsLS1cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0RmFsbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW82XFxcIiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gLWVycm9yLSAtZmxpcHZlcnRpY2FsLS1cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0RmFsbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW83XFxcIiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gLWVycm9yLSAtaHVnZWluYy0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZhbGwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vOFxcXCIgY2xhc3M9XFxcIi1kcm9wIF90b3BfIC1lcnJvci0gLW5ld3NwYXBlci0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZhbGwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vOVxcXCIgY2xhc3M9XFxcIi1kcm9wIF90b3BfIC1lcnJvci0gLXNjYWxlLS1cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0RmFsbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW8xMFxcXCIgY2xhc3M9XFxcIi1kcm9wIF90b3BfIC1lcnJvci0gLWJsdXItLVxcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGYWxsIHBvcHVwXFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBpZD1cXFwicG9wdXAtZGVtbzExXFxcIiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gLXByaW1hcnktIC1zbGlkZWRvd24tLVxcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGbGlwIGhvcml6b250YWwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vMTJcXFwiIGNsYXNzPVxcXCItZHJvcCBfdG9wXyAtcHJpbWFyeS0gLXNsaWRlaW4tLVxcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGbGlwIGhvcml6b250YWwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vMTNcXFwiIGNsYXNzPVxcXCItZHJvcCBfdG9wXyAtcHJpbWFyeS0gLWZhZGVpbi0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZsaXAgaG9yaXpvbnRhbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW8xNFxcXCIgY2xhc3M9XFxcIi1kcm9wIF9sZWZ0XyAtcHJpbWFyeS0gLWZhZGVpbi0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZsaXAgaG9yaXpvbnRhbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW8xNVxcXCIgY2xhc3M9XFxcIi1kcm9wIF9yaWdodF8gLXByaW1hcnktIC1mYWRlaW4tLVxcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGbGlwIGhvcml6b250YWwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vMTZcXFwiIGNsYXNzPVxcXCItZHJvcCBfcmlnaHRfIF90b3BfIC1wcmltYXJ5LSAtZmFkZWluLS1cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0RmxpcCBob3Jpem9udGFsIHBvcHVwXFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBpZD1cXFwicG9wdXAtZGVtbzE3XFxcIiBjbGFzcz1cXFwiLWRyb3AgX3JpZ2h0XyBfdG9wXyAtcHJpbWFyeS0gLWZhZGVpbi0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZsaXAgaG9yaXpvbnRhbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW8xOFxcXCIgY2xhc3M9XFxcIi1kcm9wIF9sZWZ0XyBfYm90dG9tXyAtcHJpbWFyeS0gLWZhZGVpbi0tXFxcIiBwb3B1cD5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZsaXAgaG9yaXpvbnRhbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblwiLFwibW9kYWxcIjpcIjxkaXYgaWQ9XFxcIm1haW4tY29udGVudFxcXCIgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdDxoMT5Nb2RhbDwvaDE+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdDxoMz5IVE1MIE1vZGFsPC9oMz5cXG5cXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRVc2Ugd2lkZ2V0IGNsYXNzIDxjb2RlPi1tb2RhbDwvY29kZT4gdG8gYWRkIGJhY2tkcm9wLiBJbnNpZGUgdGhpcyBiYWNrZHJvcCBhZGQgPGNvZGU+LWhvbGRlcjwvY29kZT4gdG8gc2V0IGRpYWxvZyB3aW5kb3cgaW4gdGhlIGNlbnRlci4gSW5zaWRlIDxjb2RlPi1ob2xkZXI8L2NvZGU+IGFkZCA8Y29kZT4tZGlhbG9nPC9jb2RlPiB0byBjcmVhdGUgZGlhbG9nIHdpbmRvdy4gVXNlIDxjb2RlPi1oZWFkZXI8L2NvZGU+LCA8Y29kZT4tY29udGVudDwvY29kZT4gYW5kIDxjb2RlPi1mb290ZXI8L2NvZGU+IGluc2lkZS5cXG5cXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0VG8gc2V0IGFuaW1hdGlvbiB0byB0aGUgZGlhbG9nIHdpbmRvdyBhZGQgYW5pbWF0aW9uIG5hbWU6IDxjb2RlPi1mYWRlaW4tLTwvY29kZT4sIDxjb2RlPi1mYWxsLS08L2NvZGU+LCA8Y29kZT4tZmxpcGhvcml6b250YWwtLTwvY29kZT4sIDxjb2RlPi1mbG9wdmVydGljYWwtLTwvY29kZT4sIDxjb2RlPi1zbGlkZWluLS08L2NvZGU+LCA8Y29kZT4tc2NhbGVpbi0tPC9jb2RlPiwgPGNvZGU+LW5ld3NwYXBlci0tPC9jb2RlPi5cXG5cXHRcXHRcXHQ8L3A+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdDxoMz5IVE1MIEJ1dHRvbjwvaDM+XFxuXFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0QWRkIGRhdGEgYXR0cmlidXRlcyB0byBhbnkgd2lkZ2V0IDxjb2RlPmRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCI8L2NvZGU+IGFuZCA8Y29kZT5kYXRhLXRhcmdldD1cXFwiI21vZGFsMVxcXCI8L2NvZGU+LiBUaGUgcGx1Z2luIHdpbGwgZmluZCBzdWNoIGJ1dHRvbnMgYXV0b21hdGljYWxseS4gSW4gPGNvZGU+ZGF0YS10YXJnZXQ8L2NvZGU+IHlvdSBjYW4gc2V0IGNsYXNzZXMgb3IgaWRzLlxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0PGgzPkNvZmZlc2NyaXB0PC9oMz5cXG5cXHRcXHRcXHQ8cD5TaW1wbGUgd2F5OjwvcD5cXG5cXHRcXHRcXHQ8cD48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj5lbC5tb2RhbCgpPC9wcmU+PC9wPjxwPk1vcmUgY29tcGxpY2F0ZWQ6PC9wPlxcblxcdFxcdFxcdDxwPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPmVsLm1vZGFsXFxuXFx0dGFyZ2V0OiAnLm1vZGFsMTIzJ1xcblxcdHRvZ2dsZTogJ21vZGFsJ1xcblxcdGV2ZW50OiAnY2xpY2snXFxuXFx0ZXZlbnRDbG9zZTogJ2NsaWNrJ1xcblxcdGJhY2tkcm9wOiB5ZXM8L3ByZT48L3A+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbDEyM1xcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsMVxcXCI+T3BlbiBtb2RhbCB3aXRoIDJzIGRlbGF5PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwtZmFzdFxcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsMVxcXCI+T3BlbiBtb2RhbCBpbW1lZGlhdGVseTwvYT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwxMjNcXFwiIGRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNtb2RhbDFcXFwiPk9wZW4gbW9kYWwgd2l0aCAycyBkZWxheTwvYT5cXG48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLW1vZGFsLWZhc3RcXFwiIGRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNtb2RhbDFcXFwiPk9wZW4gbW9kYWwgaW1tZWRpYXRlbHk8L2E+XFxuPC9wcmU+PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGlkPVxcXCJtb2RhbDFcXFwiIGNsYXNzPVxcXCItbW9kYWxcXFwiIG1vZGFsPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ob2xkZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kaWFsb2cgLWNvbDYgLXByaW1hcnktIC1mYWxsLS0gLWVsYXN0aWMtLVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0XFx0XFx0PHN2ZyBjbGFzcz1cXFwiLWNsb3NlXFxcIiBkYXRhLWRpc21pc3M9XFxcIm1vZGFsXFxcIiB4PVxcXCIwcHhcXFwiIHk9XFxcIjBweFxcXCIgdmlld2JveD1cXFwiMCAwIDYwMCA2MDBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxjaXJjbGUgY3g9XFxcIjMwMFxcXCIgY3k9XFxcIjMwMFxcXCIgcj1cXFwiMjYwXFxcIj48L2NpcmNsZT5cXG5cXHRcXHRcXHRcXHRcXHQ8cG9seWdvbiBwb2ludHM9XFxcIjQzNC40NDQsMjExLjQ1NCAzODkuODA5LDE2Ni44MTkgMzAwLjQ5NiwyNTYuMTMxIDIxMS40MzQsMTY3LjA2OSAxNjYuODgyLDIxMS42MjEgMjU1Ljk0NCwzMDAuNjg0IDE2Ni42MzgsMzg5Ljk5IDIxMS4yNzMsNDM0LjYyNiAzMDAuNTgsMzQ1LjMxOSAzODkuNjQyLDQzNC4zODIgNDM0LjE5NCwzODkuODMgMzQ1LjEzMiwzMDAuNzY3IFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvc3ZnPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXG5cXHRcXHRcXHRcXHQ8cD5DcmFzIG1hdHRpcyBjb25zZWN0ZXR1ciBwdXJ1cyBzaXQgYW1ldCBmZXJtZW50dW0uIENyYXMganVzdG8gb2RpbywgZGFwaWJ1cyBhYyBmYWNpbGlzaXMgaW4sIGVnZXN0YXMgZWdldCBxdWFtLiBNb3JiaSBsZW8gcmlzdXMsIHBvcnRhIGFjIGNvbnNlY3RldHVyIGFjLCB2ZXN0aWJ1bHVtIGF0IGVyb3MuPC9wPlxcblxcdFxcdFxcdFxcdDxwPlByYWVzZW50IGNvbW1vZG8gY3Vyc3VzIG1hZ25hLCB2ZWwgc2NlbGVyaXNxdWUgbmlzbCBjb25zZWN0ZXR1ciBldC4gVml2YW11cyBzYWdpdHRpcyBsYWN1cyB2ZWwgYXVndWUgbGFvcmVldCBydXRydW0gZmF1Y2lidXMgZG9sb3IgYXVjdG9yLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5BZW5lYW4gbGFjaW5pYSBiaWJlbmR1bSBudWxsYSBzZWQgY29uc2VjdGV0dXIuIFByYWVzZW50IGNvbW1vZG8gY3Vyc3VzIG1hZ25hLCB2ZWwgc2NlbGVyaXNxdWUgbmlzbCBjb25zZWN0ZXR1ciBldC4gRG9uZWMgc2VkIG9kaW8gZHVpLiBEb25lYyB1bGxhbWNvcnBlciBudWxsYSBub24gbWV0dXMgYXVjdG9yIGZyaW5naWxsYS48L3A+XFxuXFx0XFx0XFx0XFx0PHA+Q3JhcyBtYXR0aXMgY29uc2VjdGV0dXIgcHVydXMgc2l0IGFtZXQgZmVybWVudHVtLiBDcmFzIGp1c3RvIG9kaW8sIGRhcGlidXMgYWMgZmFjaWxpc2lzIGluLCBlZ2VzdGFzIGVnZXQgcXVhbS4gTW9yYmkgbGVvIHJpc3VzLCBwb3J0YSBhYyBjb25zZWN0ZXR1ciBhYywgdmVzdGlidWx1bSBhdCBlcm9zLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS1kaXNtaXNzPVxcXCJtb2RhbFxcXCI+Q2xvc2U8L2E+XFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj5kb3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5idG4tbW9kYWwtZmFzdCcpLm1vZGFsKClcXG5kb3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5idG4tbW9kYWwxMjMnKS5tb2RhbFxcblxcdGJlZm9yZWFjdGl2ZTogLT5cXG5cXHRcXHRkID0gJC5EZWZlcnJlZCgpXFxuXFxuXFx0XFx0c2V0VGltZW91dCAtPlxcblxcdFxcdFxcdGQucmVzb2x2ZSgpXFxuXFx0XFx0LCAyMDAwXFxuXFxuXFx0XFx0ZC5wcm9taXNlKClcXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG48aDI+UHJvcGVydGllczwvaDI+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+TmFtZTwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlZmF1bHQ8L3RoPlxcblxcdFxcdFxcdDx0aCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+dG9nZ2xlPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtdG9nZ2xlJyApIG9yICdtb2RhbCc8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRTZXQgdG9nZ2xlIHR5cGUuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+dGFyZ2V0PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtdGFyZ2V0JyApIG9yIG51bGw8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRGaW5kIGVsZW1lbnQgd2l0aCB0aGlzIHNlbGVjdG9yIGFuZCB3b3JrIHdpdGggaXQgYXMgYSBtb2RhbCB3aW5kb3cuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+ZGlhbG9nPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtZGlhbG9nJyApIG9yIFxcXCIuLWRpYWxvZ1xcXCI8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRTZWxlY3RvciB0byBmaW5kIGRpYWxvZyBibG9jayBpbnNpZGUgdGFyZ2V0IChtb2RhbCB3aW5kb3cpLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPmV2ZW50PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtZXZlbnQnICkgb3IgXFxcImNsaWNrXFxcIjwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFRoaXMgZXZlbnQgd2lsbCBiZSB1c2VkIHRvIG9wZW4gbW9kYWwgd2luZG93LjwvY29kZT5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5ldmVudENsb3NlPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtZXZlbnQtY2xvc2UnICkgb3IgXFxcImNsaWNrXFxcIjwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFRoaXMgZXZlbnQgd2lsbCBiZSB1c2VkIHRvIGNsb3NlIHdpbmRvdy4gV2lsbCBsaXN0ZW4gb24gZWxlbWVudHMgd2l0aCA8Y29kZT5kYXRhLWRpc21pc3M9XFxcIi5tb2RhbFxcXCI8L2NvZGU+IHRvIGNsb3NlIG1vZGFsIHdpbmRvdyB3aXRoIHNlbGVjdG9yIDxjb2RlPi5tb2RhbDwvY29kZT4uXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+YmFja2Ryb3A8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCdkYXRhLWJhY2tkcm9wJykgb3Igbm88L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRDbG9zZSBtb2RhbCB3aW5kb3cgd2hlbiBjbGlja2VkIG9uIHRoZSBiYWNrZHJvcC5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5wdXNoPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1wdXNoJykgb3Igbm88L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Yj5OT1QgVEVTVEVEPC9iPi4gVGhlIHNlbGVjdG9yIG9mIHRoZSBjb250YWluZXIgd2l0aCBXSE9MRSBjb250ZW50LCBleGNlcHQgbW9kYWwgd2luZG93LCB0byB1c2UgcHVzaCBhbmltYXRpb24uXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+YXV0b09wZW48L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCdkYXRhLWF1dG9vcGVuJykgb3Igbm88L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRPcGVuIG1vZGFsIGFmdGVyIGluaXRpYWxpemUuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+c2VsZmlzaDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtc2VsZmlzaCcpIG9yIHllczwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdENsb3NlIGFsbCBNb2RhbCBpbnN0YW5jZXMgYWZ0ZXIgY3VycmVudCBpbnN0YW5jZSBpbml0aWFsaXplZC5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcbjxoMj5NZXRob2RzPC9oMj5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5NZXRob2Q8L3RoPlxcblxcdFxcdFxcdDx0aD5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9wZW48L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+T3BlbiBtb2RhbCB3aW5kb3cuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmNsb3NlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkNsb3NlIG1vZGFsIHdpbmRvdy48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZW5hYmxlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlN0YXJ0IGxpc3RlbmluZyB0byB0aGUgZXZlbnRzLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5kaXNhYmxlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlN0b3AgbGlzdGVuaW5nIHRvIHRoZSBldmVudHMuIE1vZGFsIHdpbmRvdyB3aWxsIHN0YXkgaW4gY3VycmVudCBzdGF0dXMgKG9wZW5lZCBvciBjbG9zZWQpIGFuZCB3aWxsIG5vdCB3b3JrIGFueW1vcmUuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuXFxuPGgyPkV2ZW50czwvaDI+XFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0SW5zaWRlIGVhY2ggbWV0aG9kIHRvIGdldCBidXR0b24gdXNlIDxjb2RlPkA8L2NvZGU+IG9yIDxjb2RlPnRoaXM8L2NvZGU+IGluIGpzLiBDbGFzcyBpbnN0YW5jZSBhbHdheXMgc3RvcmVzIGluIGRhdGEgYXR0cmlidXRlIG9mIHRoZSBidXR0b24gZWxlbWVudCA8Y29kZT5AZGF0YVsna2l0TW9kYWwnXTwvY29kZT4gb3IgPGNvZGU+dGhpcy5kYXRhWydraXRNb2RhbCddPC9jb2RlPiBpbiBqcy4gVG8gZ2V0IG1vZGFsIHdpbmRvdyBlbGVtZW50IGRvIDxjb2RlPkBkYXRhWydraXRNb2RhbCddLmVsPC9jb2RlPi5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+TWV0aG9kPC90aD5cXG5cXHRcXHRcXHQ8dGg+RGVzY3JpcHRpb248L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5iZWZvcmVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBiZWZvcmUgd2luZG93IG9wZW5zLiBJZiBpdCByZXR1cm5zIDxjb2RlPmRlZmVycmVkLnByb21pc2UoKTwvY29kZT4sIHRoZW4gbW9kYWwgd2luZG93IHdpbGwgbm90IG9wZW4gdGlsbCA8Y29kZT5kZWZlcnJlZC5yZXNvbHZlKCk8L2NvZGU+LCBhbmQgd291bid0IG9wZW4gaWYgPGNvZGU+ZGVmZXJyZWQucmVqZWN0KCk8L2NvZGU+LiBZb3UgY2FuIGp1c3QgZ2V0IGRhdGEgd2l0aCBhamF4IGZvciBtb2RhbCB3aW5kb3cuPC9wPlxcblxcdFxcdFxcdFxcdDxwIGxhbmd1YWdlPVxcXCJjb2ZmZWVzY3JpcHRcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPm1vZGFscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXFxcIltkYXRhLXRvZ2dsZT0nbW9kYWwnXVxcXCIpXFxuZm9yIG1kIGluIG1vZGFsc1xcblxcdG1kLm1vZGFsXFxuXFx0XFx0YmVmb3Jlb3BlbjogLT5cXG5cXHRcXHRcXHRkID0gJC5EZWZlcnJlZCgpXFxuXFxuXFx0XFx0XFx0Y29uc29sZS5sb2cgQFxcblxcdFxcdFxcdCMgVGhlIGJ1dHRvbiB3aWxsIGJlIGluIHRoZSBsb2dcXG5cXHRcXHRcXHQjIHNvIHlvdSBjYW4gYWRkIHNvbWV0aGluZyBsaWtlXFxuXFxuXFx0XFx0XFx0Y29uc29sZS5sb2cgQGRhdGFbJ2tpdE1vZGFsJ11cXG5cXHRcXHRcXHQjIFRoZSBpbnN0YW5jZSBvZiBNb2RhbCBjbGFzcyB3aWxsIGluIGxvZ1xcblxcdFxcdFxcdCMgc28gdG8gZ2V0IG1vZGFsIHdpbmRvdyBlbGVtZW50IHlvdSBuZWVkIHRvIGRvXFxuXFx0XFx0XFx0bW9kYWwgPSBAZGF0YVsna2l0TW9kYWwnXVxcblxcdFxcdFxcdCMgRnJvbSBub3cgeW91IGNhbiBhY2Nlc3MgdG8gdGhlIGJ1dHRvbiBieVxcblxcdFxcdFxcdGNvbnNvbGUubG9nIG1vZGFsLmVsXFxuXFx0XFx0XFx0IyBBbmQgdG8gdGhlIG1vZGFsIHdpbmRvdyBlbGVtZW50IGJ5XFxuXFx0XFx0XFx0Y29uc29sZS5sb2cgbW9kYWwudGFyZ2V0XFxuXFxuXFx0XFx0XFx0IyBEbyBzb21ldGhpbmcgaGVyZSBiZWZvcmUgb3BlbiB3aW5kb3dcXG5cXHRcXHRcXHQjIGluIHRoaXMgY2FzZSBpdCB3aWxsIG9wZW4gbW9kYWwgd2luZG93IGFmdGVyIDIgc2Vjb25kc1xcblxcdFxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdFxcdCwgMjAwMFxcblxcdFxcdFxcdCMgRW5kIG9mIHlvdXIgY29kZVxcblxcblxcdFxcdFxcdGQucHJvbWlzZSgpXFxuPC9wcmU+PC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgYWZ0ZXIgbW9kYWwgd2luZG93IG9wZW5zLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5mYWlsYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgYWN0aXZhdGlvbiBmYWlsZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmJlZm9yZWRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkNhbGwgdGhpcyBmdW5jdGlvbiBiZWZvcmUgbW9kYWwgd2luZG93IGNsb3Nlcy48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+b25kZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5DYWxsIHRoaXMgZnVuY3Rpb24gYWZ0ZXIgbW9kYWwgd2luZG93IGNsb3Nlcy48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZmFpbGRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgYWN0aXZhdGlvbiBmYWlsZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuXFxuXFxuPGgyPkFuaW1hdGlvbnM8L2gyPlxcbjxwPlxcblxcdFVzZSB3aWRnZXQgZGlmZmVyZW50IGFuaW1hdGlvbnMuIEFkZCBjbGFzc2VzIHRvIHRoZSA8Y29kZT4tZGlhbG9nPC9jb2RlPi5cXG48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtZmFkZWluXFxcIj5GYWRlIGluPC9hPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwtZmFzdFxcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsLWZsaXBob3Jpem9udGFsXFxcIj5GbGlwIGhvcml6b250YWw8L2E+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtZmxpcHZlcnRpY2FsXFxcIj5GbGlwIHZlcnRpY2FsPC9hPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwtZmFzdFxcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsLW5ld3NwYXBlclxcXCI+TmV3c3BhcGVyPC9hPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwtZmFzdFxcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsLWNvcm5lclxcXCI+Q29ybmVyPC9hPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwtZmFzdFxcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsLWRvb3JcXFwiPkRvb3I8L2E+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtZmFsbFxcXCI+RmFsbDwvYT5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLW1vZGFsLWZhc3RcXFwiIGRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNtb2RhbC1odWdlaW5jXFxcIj5IdWdlaW5jPC9hPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtZmFkZWluXFxcIj5GYWRlIGluPC9hPlxcbjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwtZmFzdFxcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsLWZsaXBob3Jpem9udGFsXFxcIj5GbGlwIGhvcml6b250YWw8L2E+XFxuPGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtZmxpcHZlcnRpY2FsXFxcIj5GbGlwIHZlcnRpY2FsPC9hPlxcbjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwtZmFzdFxcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsLW5ld3NwYXBlclxcXCI+TmV3c3BhcGVyPC9hPlxcbjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwtZmFzdFxcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsLWNvcm5lclxcXCI+Q29ybmVyPC9hPlxcbjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwtZmFzdFxcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsLWRvb3JcXFwiPkRvb3I8L2E+XFxuPGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtZmFsbFxcXCI+RmFsbDwvYT5cXG48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLW1vZGFsLWZhc3RcXFwiIGRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNtb2RhbC1odWdlaW5jXFxcIj5IdWdlaW5jPC9hPlxcbjwvcHJlPjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBpZD1cXFwibW9kYWwtZmFkZWluXFxcIiBjbGFzcz1cXFwiLW1vZGFsIC1mYWRlaW4tLVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhvbGRlclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRpYWxvZyAtY29sNiAtcHJpbWFyeS0gLWZhZGVpbi0tIC1lbGFzdGljLS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxzdmcgY2xhc3M9XFxcIi1jbG9zZVxcXCIgZGF0YS1kaXNtaXNzPVxcXCJtb2RhbFxcXCIgeD1cXFwiMHB4XFxcIiB5PVxcXCIwcHhcXFwiIHZpZXdCb3g9XFxcIjAgMCA2MDAgNjAwXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8Y2lyY2xlIGN4PVxcXCIzMDBcXFwiIGN5PVxcXCIzMDBcXFwiIHI9XFxcIjI2MFxcXCI+PC9jaXJjbGU+XFxuXFx0XFx0XFx0XFx0XFx0PHBvbHlnb24gcG9pbnRzPVxcXCI0MzQuNDQ0LDIxMS40NTQgMzg5LjgwOSwxNjYuODE5IDMwMC40OTYsMjU2LjEzMSAyMTEuNDM0LDE2Ny4wNjkgMTY2Ljg4MiwyMTEuNjIxIDI1NS45NDQsMzAwLjY4NCAxNjYuNjM4LDM4OS45OSAyMTEuMjczLDQzNC42MjYgMzAwLjU4LDM0NS4zMTkgMzg5LjY0Miw0MzQuMzgyIDQzNC4xOTQsMzg5LjgzIDM0NS4xMzIsMzAwLjc2NyBcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L3N2Zz5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0Li4uXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBpZD1cXFwibW9kYWwtZmxpcGhvcml6b250YWxcXFwiIGNsYXNzPVxcXCItbW9kYWwgLWZhZGVpbi0tXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaG9sZGVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZGlhbG9nIC1jb2w2IC1wcmltYXJ5LSAtZmxpcGhvcml6b250YWwtLSAtZWxhc3RpYy0tXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3ZnIGNsYXNzPVxcXCItY2xvc2VcXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsLWZsaXBob3Jpem9udGFsXFxcIiB4PVxcXCIwcHhcXFwiIHk9XFxcIjBweFxcXCIgdmlld0JveD1cXFwiMCAwIDYwMCA2MDBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxjaXJjbGUgY3g9XFxcIjMwMFxcXCIgY3k9XFxcIjMwMFxcXCIgcj1cXFwiMjYwXFxcIj48L2NpcmNsZT5cXG5cXHRcXHRcXHRcXHRcXHQ8cG9seWdvbiBwb2ludHM9XFxcIjQzNC40NDQsMjExLjQ1NCAzODkuODA5LDE2Ni44MTkgMzAwLjQ5NiwyNTYuMTMxIDIxMS40MzQsMTY3LjA2OSAxNjYuODgyLDIxMS42MjEgMjU1Ljk0NCwzMDAuNjg0IDE2Ni42MzgsMzg5Ljk5IDIxMS4yNzMsNDM0LjYyNiAzMDAuNTgsMzQ1LjMxOSAzODkuNjQyLDQzNC4zODIgNDM0LjE5NCwzODkuODMgMzQ1LjEzMiwzMDAuNzY3IFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvc3ZnPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHQuLi5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG48L3ByZT48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+bW9kYWxzID0gZG91bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYnRuLW1vZGFsLWZhc3QnKVxcbmZvciBtb2RhbCBpbiBtb2RhbHNcXG5cXHRtb2RhbC5tb2RhbCgpXFxuPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0Rm9yIHRoZSB3aG9sZSBsaXN0IG9mIHBvc3NpYmxlIGFuaW1hdGlvbnMgbG9vayBhdCA8YSBocmVmPVxcXCIvYW5pbWF0aW9uc1xcXCI+YW5pbWF0aW9ucyBjb21wb25lbnRzPC9hPi5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuXFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuPGRpdiBpZD1cXFwibW9kYWwxXFxcIiBjbGFzcz1cXFwiLW1vZGFsIC1odWdlaW5jLS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ob2xkZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kaWFsb2cgLWNvbDYgLXByaW1hcnktIFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0XFx0XFx0PHN2ZyBjbGFzcz1cXFwiLWNsb3NlXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbDFcXFwiIHg9XFxcIjBweFxcXCIgeT1cXFwiMHB4XFxcIiB2aWV3Qm94PVxcXCIwIDAgNjAwIDYwMFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGNpcmNsZSBjeD1cXFwiMzAwXFxcIiBjeT1cXFwiMzAwXFxcIiByPVxcXCIyNjBcXFwiPjwvY2lyY2xlPlxcblxcdFxcdFxcdFxcdFxcdDxwb2x5Z29uIHBvaW50cz1cXFwiNDM0LjQ0NCwyMTEuNDU0IDM4OS44MDksMTY2LjgxOSAzMDAuNDk2LDI1Ni4xMzEgMjExLjQzNCwxNjcuMDY5IDE2Ni44ODIsMjExLjYyMSAyNTUuOTQ0LDMwMC42ODQgMTY2LjYzOCwzODkuOTkgMjExLjI3Myw0MzQuNjI2IDMwMC41OCwzNDUuMzE5IDM4OS42NDIsNDM0LjM4MiA0MzQuMTk0LDM4OS44MyAzNDUuMTMyLDMwMC43NjcgXFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9zdmc+XFxuXFx0XFx0XFx0XFx0SGVhZGVyXFxuXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcblxcdFxcdFxcdFxcdDxwPkNyYXMgbWF0dGlzIGNvbnNlY3RldHVyIHB1cnVzIHNpdCBhbWV0IGZlcm1lbnR1bS4gQ3JhcyBqdXN0byBvZGlvLCBkYXBpYnVzIGFjIGZhY2lsaXNpcyBpbiwgZWdlc3RhcyBlZ2V0IHF1YW0uIE1vcmJpIGxlbyByaXN1cywgcG9ydGEgYWMgY29uc2VjdGV0dXIgYWMsIHZlc3RpYnVsdW0gYXQgZXJvcy48L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtaW5tb2RhbC1kZW1vXFxcIj5PcGVuIHBvcHVwPC9hPlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwxXFxcIj5DbG9zZTwvYT5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBpZD1cXFwicG9wdXAtaW5tb2RhbC1kZW1vXFxcIiBjbGFzcz1cXFwiLWRyb3AgX3JpZ2h0XyAtcHJpbWFyeS0gLWZhZGVpbi0tXFxcIj5cXG5cXHRcXHRcXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdEZsaXAgaG9yaXpvbnRhbCBwb3B1cFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxkaXYgaWQ9XFxcIm1vZGFsLWZhZGVpblxcXCIgY2xhc3M9XFxcIi1tb2RhbCAtZmFkZWluLS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ob2xkZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kaWFsb2cgLWNvbDYgLXByaW1hcnktIC1mYWRlaW4tLSAtZWxhc3RpYy0tXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3ZnIGNsYXNzPVxcXCItY2xvc2VcXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsLWZhZGVpblxcXCIgeD1cXFwiMHB4XFxcIiB5PVxcXCIwcHhcXFwiIHZpZXdCb3g9XFxcIjAgMCA2MDAgNjAwXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8Y2lyY2xlIGN4PVxcXCIzMDBcXFwiIGN5PVxcXCIzMDBcXFwiIHI9XFxcIjI2MFxcXCI+PC9jaXJjbGU+XFxuXFx0XFx0XFx0XFx0XFx0PHBvbHlnb24gcG9pbnRzPVxcXCI0MzQuNDQ0LDIxMS40NTQgMzg5LjgwOSwxNjYuODE5IDMwMC40OTYsMjU2LjEzMSAyMTEuNDM0LDE2Ny4wNjkgMTY2Ljg4MiwyMTEuNjIxIDI1NS45NDQsMzAwLjY4NCAxNjYuNjM4LDM4OS45OSAyMTEuMjczLDQzNC42MjYgMzAwLjU4LDM0NS4zMTkgMzg5LjY0Miw0MzQuMzgyIDQzNC4xOTQsMzg5LjgzIDM0NS4xMzIsMzAwLjc2NyBcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L3N2Zz5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFxuXFx0XFx0XFx0XFx0PHA+Q3JhcyBtYXR0aXMgY29uc2VjdGV0dXIgcHVydXMgc2l0IGFtZXQgZmVybWVudHVtLiBDcmFzIGp1c3RvIG9kaW8sIGRhcGlidXMgYWMgZmFjaWxpc2lzIGluLCBlZ2VzdGFzIGVnZXQgcXVhbS4gTW9yYmkgbGVvIHJpc3VzLCBwb3J0YSBhYyBjb25zZWN0ZXR1ciBhYywgdmVzdGlidWx1bSBhdCBlcm9zLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5QcmFlc2VudCBjb21tb2RvIGN1cnN1cyBtYWduYSwgdmVsIHNjZWxlcmlzcXVlIG5pc2wgY29uc2VjdGV0dXIgZXQuIFZpdmFtdXMgc2FnaXR0aXMgbGFjdXMgdmVsIGF1Z3VlIGxhb3JlZXQgcnV0cnVtIGZhdWNpYnVzIGRvbG9yIGF1Y3Rvci48L3A+XFxuXFx0XFx0XFx0XFx0PHA+QWVuZWFuIGxhY2luaWEgYmliZW5kdW0gbnVsbGEgc2VkIGNvbnNlY3RldHVyLiBQcmFlc2VudCBjb21tb2RvIGN1cnN1cyBtYWduYSwgdmVsIHNjZWxlcmlzcXVlIG5pc2wgY29uc2VjdGV0dXIgZXQuIERvbmVjIHNlZCBvZGlvIGR1aS4gRG9uZWMgdWxsYW1jb3JwZXIgbnVsbGEgbm9uIG1ldHVzIGF1Y3RvciBmcmluZ2lsbGEuPC9wPlxcblxcdFxcdFxcdFxcdDxwPkNyYXMgbWF0dGlzIGNvbnNlY3RldHVyIHB1cnVzIHNpdCBhbWV0IGZlcm1lbnR1bS4gQ3JhcyBqdXN0byBvZGlvLCBkYXBpYnVzIGFjIGZhY2lsaXNpcyBpbiwgZWdlc3RhcyBlZ2V0IHF1YW0uIE1vcmJpIGxlbyByaXN1cywgcG9ydGEgYWMgY29uc2VjdGV0dXIgYWMsIHZlc3RpYnVsdW0gYXQgZXJvcy48L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsLWZhZGVpblxcXCI+Q2xvc2U8L2E+XFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxkaXYgaWQ9XFxcIm1vZGFsLWZsaXBob3Jpem9udGFsXFxcIiBjbGFzcz1cXFwiLW1vZGFsIC1mYWRlaW4tLVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhvbGRlclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRpYWxvZyAtY29sNiAtcHJpbWFyeS0gLWZsaXBob3Jpem9udGFsLS0gLWVsYXN0aWMtLVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0XFx0XFx0PHN2ZyBjbGFzcz1cXFwiLWNsb3NlXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbC1mbGlwaG9yaXpvbnRhbFxcXCIgeD1cXFwiMHB4XFxcIiB5PVxcXCIwcHhcXFwiIHZpZXdCb3g9XFxcIjAgMCA2MDAgNjAwXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8Y2lyY2xlIGN4PVxcXCIzMDBcXFwiIGN5PVxcXCIzMDBcXFwiIHI9XFxcIjI2MFxcXCI+PC9jaXJjbGU+XFxuXFx0XFx0XFx0XFx0XFx0PHBvbHlnb24gcG9pbnRzPVxcXCI0MzQuNDQ0LDIxMS40NTQgMzg5LjgwOSwxNjYuODE5IDMwMC40OTYsMjU2LjEzMSAyMTEuNDM0LDE2Ny4wNjkgMTY2Ljg4MiwyMTEuNjIxIDI1NS45NDQsMzAwLjY4NCAxNjYuNjM4LDM4OS45OSAyMTEuMjczLDQzNC42MjYgMzAwLjU4LDM0NS4zMTkgMzg5LjY0Miw0MzQuMzgyIDQzNC4xOTQsMzg5LjgzIDM0NS4xMzIsMzAwLjc2NyBcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L3N2Zz5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFxuXFx0XFx0XFx0XFx0PHA+Q3JhcyBtYXR0aXMgY29uc2VjdGV0dXIgcHVydXMgc2l0IGFtZXQgZmVybWVudHVtLiBDcmFzIGp1c3RvIG9kaW8sIGRhcGlidXMgYWMgZmFjaWxpc2lzIGluLCBlZ2VzdGFzIGVnZXQgcXVhbS4gTW9yYmkgbGVvIHJpc3VzLCBwb3J0YSBhYyBjb25zZWN0ZXR1ciBhYywgdmVzdGlidWx1bSBhdCBlcm9zLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtZmxpcGhvcml6b250YWxcXFwiPkNsb3NlPC9hPlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJtb2RhbC1mbGlwdmVydGljYWxcXFwiIGNsYXNzPVxcXCItbW9kYWwgLWZhZGVpbi0tXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaG9sZGVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZGlhbG9nIC1jb2w2IC1wcmltYXJ5LSAtZmxpcHZlcnRpY2FsLS0gLWVsYXN0aWMtLVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0XFx0XFx0PHN2ZyBjbGFzcz1cXFwiLWNsb3NlXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbC1mbGlwdmVydGljYWxcXFwiIHg9XFxcIjBweFxcXCIgeT1cXFwiMHB4XFxcIiB2aWV3Qm94PVxcXCIwIDAgNjAwIDYwMFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGNpcmNsZSBjeD1cXFwiMzAwXFxcIiBjeT1cXFwiMzAwXFxcIiByPVxcXCIyNjBcXFwiPjwvY2lyY2xlPlxcblxcdFxcdFxcdFxcdFxcdDxwb2x5Z29uIHBvaW50cz1cXFwiNDM0LjQ0NCwyMTEuNDU0IDM4OS44MDksMTY2LjgxOSAzMDAuNDk2LDI1Ni4xMzEgMjExLjQzNCwxNjcuMDY5IDE2Ni44ODIsMjExLjYyMSAyNTUuOTQ0LDMwMC42ODQgMTY2LjYzOCwzODkuOTkgMjExLjI3Myw0MzQuNjI2IDMwMC41OCwzNDUuMzE5IDM4OS42NDIsNDM0LjM4MiA0MzQuMTk0LDM4OS44MyAzNDUuMTMyLDMwMC43NjcgXFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9zdmc+XFxuXFx0XFx0XFx0XFx0SGVhZGVyXFxuXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcblxcdFxcdFxcdFxcdDxwPkNyYXMgbWF0dGlzIGNvbnNlY3RldHVyIHB1cnVzIHNpdCBhbWV0IGZlcm1lbnR1bS4gQ3JhcyBqdXN0byBvZGlvLCBkYXBpYnVzIGFjIGZhY2lsaXNpcyBpbiwgZWdlc3RhcyBlZ2V0IHF1YW0uIE1vcmJpIGxlbyByaXN1cywgcG9ydGEgYWMgY29uc2VjdGV0dXIgYWMsIHZlc3RpYnVsdW0gYXQgZXJvcy48L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsLWZsaXB2ZXJ0aWNhbFxcXCI+Q2xvc2U8L2E+XFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcIm1vZGFsLW5ld3NwYXBlclxcXCIgY2xhc3M9XFxcIi1tb2RhbCAtZmFkZWluLS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ob2xkZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kaWFsb2cgLWNvbDYgLXByaW1hcnktIC1uZXdzcGFwZXItLSAtZWxhc3RpYy0tXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3ZnIGNsYXNzPVxcXCItY2xvc2VcXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsLW5ld3NwYXBlclxcXCIgeD1cXFwiMHB4XFxcIiB5PVxcXCIwcHhcXFwiIHZpZXdCb3g9XFxcIjAgMCA2MDAgNjAwXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8Y2lyY2xlIGN4PVxcXCIzMDBcXFwiIGN5PVxcXCIzMDBcXFwiIHI9XFxcIjI2MFxcXCI+PC9jaXJjbGU+XFxuXFx0XFx0XFx0XFx0XFx0PHBvbHlnb24gcG9pbnRzPVxcXCI0MzQuNDQ0LDIxMS40NTQgMzg5LjgwOSwxNjYuODE5IDMwMC40OTYsMjU2LjEzMSAyMTEuNDM0LDE2Ny4wNjkgMTY2Ljg4MiwyMTEuNjIxIDI1NS45NDQsMzAwLjY4NCAxNjYuNjM4LDM4OS45OSAyMTEuMjczLDQzNC42MjYgMzAwLjU4LDM0NS4zMTkgMzg5LjY0Miw0MzQuMzgyIDQzNC4xOTQsMzg5LjgzIDM0NS4xMzIsMzAwLjc2NyBcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L3N2Zz5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFxuXFx0XFx0XFx0XFx0PHA+Q3JhcyBtYXR0aXMgY29uc2VjdGV0dXIgcHVydXMgc2l0IGFtZXQgZmVybWVudHVtLiBDcmFzIGp1c3RvIG9kaW8sIGRhcGlidXMgYWMgZmFjaWxpc2lzIGluLCBlZ2VzdGFzIGVnZXQgcXVhbS4gTW9yYmkgbGVvIHJpc3VzLCBwb3J0YSBhYyBjb25zZWN0ZXR1ciBhYywgdmVzdGlidWx1bSBhdCBlcm9zLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtbmV3c3BhcGVyXFxcIj5DbG9zZTwvYT5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBpZD1cXFwibW9kYWwtY29ybmVyXFxcIiBjbGFzcz1cXFwiLW1vZGFsIC1mYWRlaW4tLVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhvbGRlclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRpYWxvZyAtY29sNiAtcHJpbWFyeS0gLWNvcm5lci0tXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3ZnIGNsYXNzPVxcXCItY2xvc2VcXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsLWNvcm5lclxcXCIgeD1cXFwiMHB4XFxcIiB5PVxcXCIwcHhcXFwiIHZpZXdCb3g9XFxcIjAgMCA2MDAgNjAwXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8Y2lyY2xlIGN4PVxcXCIzMDBcXFwiIGN5PVxcXCIzMDBcXFwiIHI9XFxcIjI2MFxcXCI+PC9jaXJjbGU+XFxuXFx0XFx0XFx0XFx0XFx0PHBvbHlnb24gcG9pbnRzPVxcXCI0MzQuNDQ0LDIxMS40NTQgMzg5LjgwOSwxNjYuODE5IDMwMC40OTYsMjU2LjEzMSAyMTEuNDM0LDE2Ny4wNjkgMTY2Ljg4MiwyMTEuNjIxIDI1NS45NDQsMzAwLjY4NCAxNjYuNjM4LDM4OS45OSAyMTEuMjczLDQzNC42MjYgMzAwLjU4LDM0NS4zMTkgMzg5LjY0Miw0MzQuMzgyIDQzNC4xOTQsMzg5LjgzIDM0NS4xMzIsMzAwLjc2NyBcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L3N2Zz5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFxuXFx0XFx0XFx0XFx0PHA+Q3JhcyBtYXR0aXMgY29uc2VjdGV0dXIgcHVydXMgc2l0IGFtZXQgZmVybWVudHVtLiBDcmFzIGp1c3RvIG9kaW8sIGRhcGlidXMgYWMgZmFjaWxpc2lzIGluLCBlZ2VzdGFzIGVnZXQgcXVhbS4gTW9yYmkgbGVvIHJpc3VzLCBwb3J0YSBhYyBjb25zZWN0ZXR1ciBhYywgdmVzdGlidWx1bSBhdCBlcm9zLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtY29ybmVyXFxcIj5DbG9zZTwvYT5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBpZD1cXFwibW9kYWwtZmFsbFxcXCIgY2xhc3M9XFxcIi1tb2RhbCAtZmFkZWluLS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ob2xkZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kaWFsb2cgLWNvbDYgLXByaW1hcnktIC1mYWxsLS0gLWVsYXN0aWMtLVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0XFx0XFx0PHN2ZyBjbGFzcz1cXFwiLWNsb3NlXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbC1mYWxsXFxcIiB4PVxcXCIwcHhcXFwiIHk9XFxcIjBweFxcXCIgdmlld0JveD1cXFwiMCAwIDYwMCA2MDBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxjaXJjbGUgY3g9XFxcIjMwMFxcXCIgY3k9XFxcIjMwMFxcXCIgcj1cXFwiMjYwXFxcIj48L2NpcmNsZT5cXG5cXHRcXHRcXHRcXHRcXHQ8cG9seWdvbiBwb2ludHM9XFxcIjQzNC40NDQsMjExLjQ1NCAzODkuODA5LDE2Ni44MTkgMzAwLjQ5NiwyNTYuMTMxIDIxMS40MzQsMTY3LjA2OSAxNjYuODgyLDIxMS42MjEgMjU1Ljk0NCwzMDAuNjg0IDE2Ni42MzgsMzg5Ljk5IDIxMS4yNzMsNDM0LjYyNiAzMDAuNTgsMzQ1LjMxOSAzODkuNjQyLDQzNC4zODIgNDM0LjE5NCwzODkuODMgMzQ1LjEzMiwzMDAuNzY3IFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvc3ZnPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXG5cXHRcXHRcXHRcXHQ8cD5DcmFzIG1hdHRpcyBjb25zZWN0ZXR1ciBwdXJ1cyBzaXQgYW1ldCBmZXJtZW50dW0uIENyYXMganVzdG8gb2RpbywgZGFwaWJ1cyBhYyBmYWNpbGlzaXMgaW4sIGVnZXN0YXMgZWdldCBxdWFtLiBNb3JiaSBsZW8gcmlzdXMsIHBvcnRhIGFjIGNvbnNlY3RldHVyIGFjLCB2ZXN0aWJ1bHVtIGF0IGVyb3MuPC9wPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbC1mYWxsXFxcIj5DbG9zZTwvYT5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBpZD1cXFwibW9kYWwtZG9vclxcXCIgY2xhc3M9XFxcIi1tb2RhbCAtZmFkZWluLS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ob2xkZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kaWFsb2cgLWNvbDYgLXByaW1hcnktIC1kb29yLS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxzdmcgY2xhc3M9XFxcIi1jbG9zZVxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtZG9vclxcXCIgeD1cXFwiMHB4XFxcIiB5PVxcXCIwcHhcXFwiIHZpZXdCb3g9XFxcIjAgMCA2MDAgNjAwXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8Y2lyY2xlIGN4PVxcXCIzMDBcXFwiIGN5PVxcXCIzMDBcXFwiIHI9XFxcIjI2MFxcXCI+PC9jaXJjbGU+XFxuXFx0XFx0XFx0XFx0XFx0PHBvbHlnb24gcG9pbnRzPVxcXCI0MzQuNDQ0LDIxMS40NTQgMzg5LjgwOSwxNjYuODE5IDMwMC40OTYsMjU2LjEzMSAyMTEuNDM0LDE2Ny4wNjkgMTY2Ljg4MiwyMTEuNjIxIDI1NS45NDQsMzAwLjY4NCAxNjYuNjM4LDM4OS45OSAyMTEuMjczLDQzNC42MjYgMzAwLjU4LDM0NS4zMTkgMzg5LjY0Miw0MzQuMzgyIDQzNC4xOTQsMzg5LjgzIDM0NS4xMzIsMzAwLjc2NyBcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L3N2Zz5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFxuXFx0XFx0XFx0XFx0PHA+Q3JhcyBtYXR0aXMgY29uc2VjdGV0dXIgcHVydXMgc2l0IGFtZXQgZmVybWVudHVtLiBDcmFzIGp1c3RvIG9kaW8sIGRhcGlidXMgYWMgZmFjaWxpc2lzIGluLCBlZ2VzdGFzIGVnZXQgcXVhbS4gTW9yYmkgbGVvIHJpc3VzLCBwb3J0YSBhYyBjb25zZWN0ZXR1ciBhYywgdmVzdGlidWx1bSBhdCBlcm9zLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtZG9vclxcXCI+Q2xvc2U8L2E+XFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxkaXYgaWQ9XFxcIm1vZGFsLWh1Z2VpbmNcXFwiIGNsYXNzPVxcXCItbW9kYWwgLWZhZGVpbi0tXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaG9sZGVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZGlhbG9nIC1jb2w2IC1wcmltYXJ5LSAtaHVnZWluYy0tXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3ZnIGNsYXNzPVxcXCItY2xvc2VcXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsLWh1Z2VpbmNcXFwiIHg9XFxcIjBweFxcXCIgeT1cXFwiMHB4XFxcIiB2aWV3Qm94PVxcXCIwIDAgNjAwIDYwMFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGNpcmNsZSBjeD1cXFwiMzAwXFxcIiBjeT1cXFwiMzAwXFxcIiByPVxcXCIyNjBcXFwiPjwvY2lyY2xlPlxcblxcdFxcdFxcdFxcdFxcdDxwb2x5Z29uIHBvaW50cz1cXFwiNDM0LjQ0NCwyMTEuNDU0IDM4OS44MDksMTY2LjgxOSAzMDAuNDk2LDI1Ni4xMzEgMjExLjQzNCwxNjcuMDY5IDE2Ni44ODIsMjExLjYyMSAyNTUuOTQ0LDMwMC42ODQgMTY2LjYzOCwzODkuOTkgMjExLjI3Myw0MzQuNjI2IDMwMC41OCwzNDUuMzE5IDM4OS42NDIsNDM0LjM4MiA0MzQuMTk0LDM4OS44MyAzNDUuMTMyLDMwMC43NjcgXFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9zdmc+XFxuXFx0XFx0XFx0XFx0SGVhZGVyXFxuXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcblxcdFxcdFxcdFxcdDxwPkNyYXMgbWF0dGlzIGNvbnNlY3RldHVyIHB1cnVzIHNpdCBhbWV0IGZlcm1lbnR1bS4gQ3JhcyBqdXN0byBvZGlvLCBkYXBpYnVzIGFjIGZhY2lsaXNpcyBpbiwgZWdlc3RhcyBlZ2V0IHF1YW0uIE1vcmJpIGxlbyByaXN1cywgcG9ydGEgYWMgY29uc2VjdGV0dXIgYWMsIHZlc3RpYnVsdW0gYXQgZXJvcy48L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsLWh1Z2VpbmNcXFwiPkNsb3NlPC9hPlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cIixcImJ1dHRvblwiOlwiPGRpdiBpZD1cXFwibWFpbi1jb250ZW50XFxcIiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0PGgxPkJ1dHRvbjwvaDE+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gYnRuLXNpbXBsZVxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCI+QnV0dG9uIDE8L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gYnRuLXNpbXBsZVxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCI+QnV0dG9uIDI8L2E+XFxuXFxuXFx0XFx0PGJyPlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiIGRhdGEtdG9nZ2xlPVxcXCJidXR0b25cXFwiIGRhdGEtdHlwZT1cXFwicmFkaW9cXFwiIGRhdGEtZ3JvdXA9XFxcImJiYlxcXCI+UmFkaW8gMTwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCIgZGF0YS10eXBlPVxcXCJyYWRpb1xcXCIgZGF0YS1ncm91cD1cXFwiYmJiXFxcIj5SYWRpbyAyPC9hPlxcblxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiIGRhdGEtdG9nZ2xlPVxcXCJidXR0b25cXFwiIGRhdGEtdHlwZT1cXFwiY2hlY2tib3hcXFwiIGRhdGEtZ3JvdXA9XFxcImJiYjFcXFwiPkNoZWNrYm94PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcImNoZWNrYm94XFxcIiBkYXRhLWdyb3VwPVxcXCJiYmIxXFxcIj5DaGVja2JveDwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIj5CdXR0b24gMTwvYT5cXG48YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCI+QnV0dG9uIDI8L2E+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCIgZGF0YS10eXBlPVxcXCJyYWRpb1xcXCIgZGF0YS1ncm91cD1cXFwiYmJiXFxcIj5SYWRpbyAxPC9hPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcInJhZGlvXFxcIiBkYXRhLWdyb3VwPVxcXCJiYmJcXFwiPlJhZGlvIDI8L2E+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCIgZGF0YS10eXBlPVxcXCJjaGVja2JveFxcXCIgZGF0YS1ncm91cD1cXFwiYmJiMVxcXCI+Q2hlY2tib3g8L2E+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiIGRhdGEtdG9nZ2xlPVxcXCJidXR0b25cXFwiIGRhdGEtdHlwZT1cXFwiY2hlY2tib3hcXFwiIGRhdGEtZ3JvdXA9XFxcImJiYjFcXFwiPkNoZWNrYm94PC9hPlxcbjwvZGl2PlxcbjwvcHJlPjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj5idXR0b25zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcXFwiW2RhdGEtdG9nZ2xlPSdidXR0b24nXVxcXCIpXFxuZm9yIGJ0biBpbiBidXR0b25zXFxuXFx0YnRuLmJ1dHRvbigpXFxuPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBidG4td2l0aC1iZWZvcmVcXFwiIGRhdGEtdG9nZ2xlPVxcXCJidXR0b25cXFwiIGRhdGEtdHlwZT1cXFwiY2hlY2tib3hcXFwiIGRhdGEtZ3JvdXA9XFxcImJiYjNcXFwiPkNoZWNrYm94PC9hPjxhIGNsYXNzPVxcXCItYnRuIGJ0bi13aXRoLWJlZm9yZVxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCIgZGF0YS10eXBlPVxcXCJjaGVja2JveFxcXCIgZGF0YS1ncm91cD1cXFwiYmJiM1xcXCI+Q2hlY2tib3g8L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuIGJ0bi13aXRoLWJlZm9yZVxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCIgZGF0YS10eXBlPVxcXCJjaGVja2JveFxcXCIgZGF0YS1ncm91cD1cXFwiYmJiM1xcXCI+Q2hlY2tib3g8L2E+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG4gYnRuLXdpdGgtYmVmb3JlXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcImNoZWNrYm94XFxcIiBkYXRhLWdyb3VwPVxcXCJiYmIzXFxcIj5DaGVja2JveDwvYT5cXG48L2Rpdj5cXG48L3ByZT48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+YnV0dG9ucyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXFxcIltkYXRhLXRvZ2dsZT0nYnV0dG9uJ11cXFwiKVxcbmZvciBidG4gaW4gYnV0dG9uc1xcblxcdGJ0bi5idXR0b25cXG5cXHRcXHRiZWZvcmVhY3RpdmU6IC0+XFxuXFx0XFx0XFx0ZCA9ICQuRGVmZXJyZWQoKVxcblxcdFxcdFxcdGJ1dHRvbiA9IEBkYXRhWydraXRCdXR0b24nXVxcblxcdFxcdFxcdGJ1dHRvbi5lbC5pbm5lckhUTUwgPSAnTG9hZGluZy4uLidcXG5cXHRcXHRcXHRidXR0b24uX2FkZENsYXNzICdfZGlzYWJsZWRfJ1xcblxcdFxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdFxcdCwyMDAwXFxuXFx0XFx0XFx0ZC5wcm9taXNlKClcXG5cXG5cXHRcXHRvbmFjdGl2ZTogLT5cXG5cXHRcXHRcXHRidXR0b24gPSBAZGF0YVsna2l0QnV0dG9uJ11cXG5cXHRcXHRcXHRidXR0b24uZWwuX3JlbW92ZUNsYXNzICdfZGlzYWJsZWRfJ1xcblxcdFxcdFxcdGJ1dHRvbi5lbC5pbm5lckhUTUwgPSAnQ2hlY2tlZCdcXG5cXG5cXHRcXHRvbmRlYWN0aXZlOiAtPlxcblxcdFxcdFxcdGJ1dHRvbiA9IEBkYXRhWydraXRCdXR0b24nXVxcblxcdFxcdFxcdGJ1dHRvbi5lbC5pbm5lckhUTUwgPSAnQ2hlY2tib3gnXFxuPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biByYWRpby13aXRoLWJlZm9yZVxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCIgZGF0YS10eXBlPVxcXCJyYWRpb1xcXCIgZGF0YS1ncm91cD1cXFwiYmJiMlxcXCI+UmFkaW8gMTwvYT48YSBjbGFzcz1cXFwiLWJ0biByYWRpby13aXRoLWJlZm9yZVxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCIgZGF0YS10eXBlPVxcXCJyYWRpb1xcXCIgZGF0YS1ncm91cD1cXFwiYmJiMlxcXCI+UmFkaW8gMjwvYT48YSBjbGFzcz1cXFwiLWJ0biByYWRpby13aXRoLWJlZm9yZVxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCIgZGF0YS10eXBlPVxcXCJyYWRpb1xcXCIgZGF0YS1ncm91cD1cXFwiYmJiMlxcXCIgYnV0dG9uPlJhZGlvIDM8L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuIHJhZGlvLXdpdGgtYmVmb3JlXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcInJhZGlvXFxcIiBkYXRhLWdyb3VwPVxcXCJiYmIyXFxcIj5SYWRpbyAxPC9hPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuIHJhZGlvLXdpdGgtYmVmb3JlXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcInJhZGlvXFxcIiBkYXRhLWdyb3VwPVxcXCJiYmIyXFxcIj5SYWRpbyAyPC9hPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuIHJhZGlvLXdpdGgtYmVmb3JlXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcInJhZGlvXFxcIiBkYXRhLWdyb3VwPVxcXCJiYmIyXFxcIj5SYWRpbyAzPC9hPlxcbjwvZGl2PlxcbjwvcHJlPjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj5idXR0b25zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcXFwiLnJhZGlvLXdpdGgtYmVmb3JlXFxcIilcXG5mb3IgYnRuIGluIGJ1dHRvbnNcXG5cXHRiZWZvcmVhY3RpdmU6IC0+XFxuXFx0XFx0ZCA9ICQuRGVmZXJyZWQoKVxcblxcdFxcdGJ1dHRvbiA9IEBkYXRhWydraXRCdXR0b24nXVxcblxcdFxcdGJ1dHRvbi5lbC5pbm5lckhUTUwgPSAnTG9hZGluZy4uLidcXG5cXHRcXHRidXR0b24uX2FkZENsYXNzICdfZGlzYWJsZWRfJ1xcblxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdCwyMDAwXFxuXFx0XFx0ZC5wcm9taXNlKClcXG5cXG5cXHRvbmFjdGl2ZTogLT5cXG5cXHRcXHRidXR0b24gPSBAZGF0YVsna2l0QnV0dG9uJ11cXG5cXHRcXHRidXR0b24uZWwuaW5uZXJIVE1MID0gJ0NoZWNrZWQnXFxuXFx0XFx0YnV0dG9uLl9yZW1vdmVDbGFzcyAnX2Rpc2FibGVkXydcXG5cXG5cXHRiZWZvcmVkZWFjdGl2ZTogLT5cXG5cXHRcXHRkID0gJC5EZWZlcnJlZCgpXFxuXFx0XFx0YnV0dG9uID0gQGRhdGFbJ2tpdEJ1dHRvbiddXFxuXFx0XFx0YnV0dG9uLmVsLmlubmVySFRNTCA9ICdVbmNoZWNraW5nLi4uJ1xcblxcdFxcdGJ1dHRvbi5fYWRkQ2xhc3MgJ19kaXNhYmxlZF8nXFxuXFx0XFx0c2V0VGltZW91dCAtPlxcblxcdFxcdFxcdGQucmVzb2x2ZSgpXFxuXFx0XFx0LDMwMDBcXG5cXHRcXHRkLnByb21pc2UoKVxcblxcblxcdG9uZGVhY3RpdmU6IC0+XFxuXFx0XFx0YnV0dG9uID0gQGRhdGFbJ2tpdEJ1dHRvbiddXFxuXFx0XFx0YnV0dG9uLl9yZW1vdmVDbGFzcyAnX2Rpc2FibGVkXydcXG5cXHRcXHRidXR0b24uZWwuaW5uZXJIVE1MID0gJ1JhZGlvJ1xcbjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxoMj5Qcm9wZXJ0aWVzPC9oMj5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5OYW1lPC90aD5cXG5cXHRcXHRcXHQ8dGg+RGVmYXVsdDwvdGg+XFxuXFx0XFx0XFx0PHRoIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+RGVzY3JpcHRpb248L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD50b2dnbGU8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS10b2dnbGUnICkgb3IgJ2J1dHRvbic8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRTZXQgdG9nZ2xlIHR5cGUgb2YgdGhlIGVsZW1lbnQuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+dHlwZTwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLXR5cGUnICkgb3IgJ2J1dHRvbic8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Y29kZT5idXR0b248L2NvZGU+LCA8Y29kZT5yYWRpbzwvY29kZT4sIDxjb2RlPmNoZWNrYm94PC9jb2RlPi4gRGVmaW5lIGJ1dHRvbidzIGJlaGF2aW91ci4gSWYgPGNvZGU+cmFkaW88L2NvZGU+LCB0aGVuIHdpbGwgdW5jaGVjayBhbGwgYnV0dG9ucyBmcm9tIGl0J3MgZ3JvdXAuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+Z3JvdXA8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1ncm91cCcgKSBvciBubzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdDxjb2RlPlN0cmluZzwvY29kZT4uIFVzZXMgZm9yIDxjb2RlPnR5cGU6IHJhZGlvPC9jb2RlPiwganVzdCB0eXBlIGFueSBuYW1lIGZvciBncm91cCBvZiByYWRpb2J1dHRvbnMgb3IgY2hlY2tib3hlcy5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5ldmVudDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWV2ZW50JyApIG9yIFxcXCJjbGlja1xcXCI8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRUaGlzIGV2ZW50IHdpbGwgYmUgdXNlZCB0byBhY3RpdmF0ZS9kZWFjdGl2YXRlIGJ1dHRvbi5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5zZWxmaXNoPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtc2VsZmlzaCcgKSBvciBubzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdERlYWN0aXZhdGUgYWxsIGluc3RhbmNlcyBvZiBCdXR0b24gd2hlbiBjdXJyZW50IGluc3RhbmNlIGFjdGl2YXRlZC5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcbjxoMj5NZXRob2RzPC9oMj5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5NZXRob2Q8L3RoPlxcblxcdFxcdFxcdDx0aD5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmFjdGl2YXRlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkFjdGl2YXRlIGJ1dHRvbi48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZGVhY3RpdmF0ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5EZWFjdGl2YXRlIGJ1dHRvbi48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZW5hYmxlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkVuYWJsZSBidXR0b24sIGV2ZW50cyB3aWxsIHdvcmsuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmRpc2FibGU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+RGlzYWJsZSBidXR0b24sIGV2ZW50cyB3aWxsIG5vdCB3b3JrLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcblxcbjxoMj5FdmVudHM8L2gyPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdEluc2lkZSBlYWNoIG1ldGhvZCB0byBnZXQgYnV0dG9uIHVzZSA8Y29kZT5APC9jb2RlPiBvciA8Y29kZT50aGlzPC9jb2RlPiBpbiBqcy4gQ2xhc3MgaW5zdGFuY2UgYWx3YXlzIHN0b3JlcyBpbiBkYXRhIGF0dHJpYnV0ZSBvZiB0aGUgYnV0dG9uIGVsZW1lbnQgPGNvZGU+QGRhdGFbJ2tpdEJ1dHRvbiddPC9jb2RlPiBvciA8Y29kZT50aGlzLmRhdGFbJ2tpdEJ1dHRvbiddPC9jb2RlPiBpbiBqcy5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+RXZlbnQ8L3RoPlxcblxcdFxcdFxcdDx0aD5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmJlZm9yZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGJlZm9yZSBhY3RpdmF0ZSBidXR0b24uIElmIGl0IHJldHVybnMgPGNvZGU+ZGVmZXJyZWQucHJvbWlzZSgpPC9jb2RlPiwgdGhlbiBidXR0b24gd2lsbCBub3QgYWN0aXZhdGUgdGlsbCA8Y29kZT5kZWZlcnJlZC5yZXNvbHZlKCk8L2NvZGU+LCBhbmQgd291bid0IGFjdGl2YXRlIGF0IGFsbCBpZiA8Y29kZT5kZWZlcnJlZC5yZWplY3QoKTwvY29kZT4uIFlvdSBjYW4ganVzdCBnZXQgZGF0YSB3aXRoIGFqYXggaW5zdGVhZCBvZiB1c2luZyBkZWZlcnJlZC48L3A+XFxuXFx0XFx0XFx0XFx0PHAgbGFuZ3VhZ2U9XFxcImNvZmZlZXNjcmlwdFxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+YnV0dG9ucyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXFxcIi5yYWRpby13aXRoLWJlZm9yZVxcXCIpXFxuZm9yIGJ0biBpbiBidXR0b25zXFxuXFx0YmVmb3JlYWN0aXZlOiAtPlxcblxcdFxcdGQgPSAkLkRlZmVycmVkKClcXG5cXHRcXHRidXR0b24gPSBAZGF0YVsna2l0QnV0dG9uJ11cXG5cXHRcXHRidXR0b24uZWwuaW5uZXJIVE1MID0gJ0xvYWRpbmcuLi4nXFxuXFx0XFx0YnV0dG9uLl9hZGRDbGFzcyAnX2Rpc2FibGVkXydcXG5cXHRcXHRzZXRUaW1lb3V0IC0+XFxuXFx0XFx0XFx0ZC5yZXNvbHZlKClcXG5cXHRcXHQsMjAwMFxcblxcdFxcdGQucHJvbWlzZSgpXFxuXFxuXFx0b25hY3RpdmU6IC0+XFxuXFx0XFx0YnV0dG9uID0gQGRhdGFbJ2tpdEJ1dHRvbiddXFxuXFx0XFx0YnV0dG9uLmVsLmlubmVySFRNTCA9ICdDaGVja2VkJ1xcblxcdFxcdGJ1dHRvbi5fcmVtb3ZlQ2xhc3MgJ19kaXNhYmxlZF8nXFxuXFxuXFx0YmVmb3JlZGVhY3RpdmU6IC0+XFxuXFx0XFx0ZCA9ICQuRGVmZXJyZWQoKVxcblxcdFxcdGJ1dHRvbiA9IEBkYXRhWydraXRCdXR0b24nXVxcblxcdFxcdGJ1dHRvbi5lbC5pbm5lckhUTUwgPSAnVW5jaGVja2luZy4uLidcXG5cXHRcXHRidXR0b24uX2FkZENsYXNzICdfZGlzYWJsZWRfJ1xcblxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdCwzMDAwXFxuXFx0XFx0ZC5wcm9taXNlKClcXG5cXG5cXHRvbmRlYWN0aXZlOiAtPlxcblxcdFxcdGJ1dHRvbiA9IEBkYXRhWydraXRCdXR0b24nXVxcblxcdFxcdGJ1dHRvbi5fcmVtb3ZlQ2xhc3MgJ19kaXNhYmxlZF8nXFxuXFx0XFx0YnV0dG9uLmVsLmlubmVySFRNTCA9ICdSYWRpbydcXG48L3ByZT48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+b25hY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBhZnRlciBidXR0b24gYWN0aXZhdGlvbi48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZmFpbGFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGlmIGFjdGl2YXRpb24gZmFpbGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5iZWZvcmVkZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5DYWxsIHRoaXMgZnVuY3Rpb24gYmVmb3JlIGRlYWN0aXZhdGUgYnV0dG9uLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5vbmRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkNhbGwgdGhpcyBmdW5jdGlvbiBhZnRlciBkZWFjdGl2YXRlIGJ1dHRvbi48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZmFpbGRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgZGVhY3RpdmF0aW9uIGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG5cXG48L2Rpdj5cXG5cIixcImFmZml4XCI6XCI8ZGl2IGlkPVxcXCJtYWluLWNvbnRlbnRcXFwiIGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHQ8aDE+QWZmaXg8L2gxPlxcblxcblxcdDxwPlRoZSBzdWJuYXZpZ2F0aW9uIG9uIHRoZSByaWdodCBpcyBhIGxpdmUgZGVtbyBvZiB0aGUgYWZmaXggcGx1Z2luLjwvcD5cXG5cXG5cXHQ8YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRcXHRUbyBtb3ZlIHlvdXIgYWZmaXggYmxvY2sgaW5zaWRlIHNvbWUgcGFyZW50LCBqdXN0IGFkZCA8Y29kZT5wb3NpdGlvbjogcmVsYXRpdmU8L2NvZGU+IHRvIHRoYXQgcGFyZW50LlxcblxcdDwvYmxvY2txdW90ZT5cXG5cXG5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxcXCIjYWZmaXgtZWxcXFwiKS5hZmZpeCh7IG9mZnNldDogLTI1IH0pXFxuPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuPGgyPlByb3BlcnRpZXM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk5hbWU8L3RoPlxcblxcdFxcdFxcdDx0aD5EZWZhdWx0PC90aD5cXG5cXHRcXHRcXHQ8dGggY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnNweTwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3B5Jykgb3IgJ2FmZml4JzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFNldCB0eXBlIG9mIHNweWluZ1xcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPm9mZnNldDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLW9mZnNldCcgKSBvciA1PC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0SW4gPGNvZGU+cHg8L2NvZGU+LiBBZmZpeCdzIGJsb2NrIG9mZnNldCBmcm9tIHRvcC5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcbjxoMj5NZXRob2RzPC9oMj5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5NZXRob2Q8L3RoPlxcblxcdFxcdFxcdDx0aD5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPnN0YXJ0PC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkFjdGl2YXRlIGFmZml4PC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPnN0b3A8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+RGVhdGl2YXRlIGFmZml4PC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuPGgyPkV2ZW50czwvaDI+XFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0SW5zaWRlIGVhY2ggZXZlbnQgZnVuY3Rpb24gb2YgYWZmaXggZWxlbWVudCB1c2UgPGNvZGU+QDwvY29kZT4gb3IgPGNvZGU+dGhpczwvY29kZT4gaW4ganMuIENsYXNzIGluc3RhbmNlIGFsd2F5cyBzdG9yZXMgaW4gZGF0YSBhdHRyaWJ1dGUgb2YgdGhlIGFmZml4IGVsZW1lbnQgPGNvZGU+QGRhdGFbJ2tpdEFmZml4J108L2NvZGU+IG9yIDxjb2RlPnRoaXMuZGF0YVsna2l0QWZmaXgnXTwvY29kZT4gaW4ganMuXFxuPC9ibG9ja3F1b3RlPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPkV2ZW50PC90aD5cXG5cXHRcXHRcXHQ8dGg+RGVzY3JpcHRpb248L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5iZWZvcmVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBiZWZvcmUgc3RhcnQgYWZmaXguIElmIGl0IHJldHVybnMgPGNvZGU+ZGVmZXJyZWQucHJvbWlzZSgpPC9jb2RlPiwgdGhlbiBhZmZpeCB3aWxsIG5vdCBzdGFydCB0aWxsIDxjb2RlPmRlZmVycmVkLnJlc29sdmUoKTwvY29kZT4sIGFuZCB3b3VuJ3Qgc3RhcnQgYXQgYWxsIGlmIDxjb2RlPmRlZmVycmVkLnJlamVjdCgpPC9jb2RlPi4gWW91IGNhbiBqdXN0IGdldCBkYXRhIHdpdGggYWpheCBmb3IgeW91ciBhZmZpeCBibG9jay48L3A+XFxuXFx0XFx0XFx0XFx0PHAgbGFuZ3VhZ2U9XFxcImNvZmZlZXNjcmlwdFxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+ZWwuYWZmaXhcXG5cXHRiZWZvcmVhY3RpdmU6IC0+XFxuXFx0XFx0ZCA9ICQuRGVmZXJyZWQoKVxcblxcblxcdFxcdGNvbnNvbGUubG9nIEBcXG5cXHRcXHQjIFRoZSBhZmZpeCBET00gZWxlbWVudCB3aWxsIGJlIGluIHRoZSBsb2dcXG5cXG5cXHRcXHRjb25zb2xlLmxvZyBAZGF0YVsna2l0QWZmaXgnXVxcblxcdFxcdCMgVGhlIGluc3RhbmNlIG9mIEFmZml4IGNsYXNzIHdpbGwgaW4gbG9nXFxuXFxuXFx0XFx0IyBEbyBzb21ldGhpbmcgaGVyZSBiZWZvcmUgc3RhcnQgYWZmaXhcXG5cXHRcXHQjIGluIHRoaXMgY2FzZSBpdCB3aWxsIHN0YXJ0IGFmdGVyIDIgc2Vjb25kc1xcblxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdCwgMjAwMFxcblxcdFxcdCMgRW5kIG9mIHlvdXIgY29kZVxcblxcblxcdFxcdGQucHJvbWlzZSgpXFxuPC9wcmU+PC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgYWZ0ZXIgYWZmaXggc3RhcnRlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZmFpbGFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGlmIHN0YXJ0aW5nIGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YmVmb3JlZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGJlZm9yZSBhZmZpeCBzdG9wcGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5vbmRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkNhbGwgdGhpcyBmdW5jdGlvbiBhZnRlciBhZmZpeCBzdG9wcGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5mYWlsZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBpZiBzdG9wcGluZyBmYWlsZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuPC9kaXY+XFxuXCJ9fSxcInRlc3RzXCI6e1wibGF5b3V0XCI6XCI8aHRtbD5cXG48aGVhZD5cXG48dGl0bGU+TWFpbiB0ZXN0IGxheW91dDwvdGl0bGU+XFxuPHN0eWxlIHR5cGU9XFxcInRleHQvY3NzXFxcIiBtZWRpYT1cXFwic2NyZWVuXFxcIj5cXG5ib2R5LCBodG1sIHsgaGVpZ2h0OjIwMDBweDsgfVxcbjwvc3R5bGU+XFxuPC9oZWFkPlxcbjxib2R5PlxcbjxkaXYgaWQ9XFxcImNvbnRhaW5lclxcXCIgc3R5bGU9XFxcInBvc2l0aW9uOnJlbGF0aXZlOyB0b3A6NTBweDtcXFwiPlxcbjxkaXYgaWQ9XFxcImFmZml4XFxcIj48L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJ0ZXN0aW5nLWJ1dHRvbnNcXFwiPlxcbjxhIGlkPVxcXCJ0ZXN0LWJ1dHRvblxcXCIgZGF0YS1ncm91cD1cXFwidGVzdC1idXR0b25zMVxcXCI+VGVzdCBidXR0b248L2E+XFxuPGEgaWQ9XFxcInRlc3QtYnV0dG9uMlxcXCIgZGF0YS1ncm91cD1cXFwidGVzdC1idXR0b25zMlxcXCI+VGVzdCBidXR0b248L2E+XFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuPGEgaHJlZj1cXFwiXFxcIiBpZD1cXFwiYnV0dG9uLW1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsMVxcXCI+T3BlbiBtb2RhbDwvYT5cXG48YSBocmVmPVxcXCJcXFwiIGlkPVxcXCJidXR0b24tbW9kYWwyXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsMlxcXCI+T3BlbiBtb2RhbCAyPC9hPlxcblxcbjxkaXYgaWQ9XFxcIm1vZGFsMVxcXCIgY2xhc3M9XFxcIi1tb2RhbCAtaHVnZWluYy0tIFxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhvbGRlclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRpYWxvZyAtY29sNiAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxzdmcgY2xhc3M9XFxcIi1jbG9zZVxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwxXFxcIiB4PVxcXCIwcHhcXFwiIHk9XFxcIjBweFxcXCIgdmlld2JveD1cXFwiMCAwIDYwMCA2MDBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxjaXJjbGUgY3g9XFxcIjMwMFxcXCIgY3k9XFxcIjMwMFxcXCIgcj1cXFwiMjYwXFxcIj48L2NpcmNsZT5cXG5cXHRcXHRcXHRcXHRcXHQ8cG9seWdvbiBwb2ludHM9XFxcIjQzNC40NDQsMjExLjQ1NCAzODkuODA5LDE2Ni44MTkgMzAwLjQ5NiwyNTYuMTMxIDIxMS40MzQsMTY3LjA2OSAxNjYuODgyLDIxMS42MjEgMjU1Ljk0NCwzMDAuNjg0IDE2Ni42MzgsMzg5Ljk5IDIxMS4yNzMsNDM0LjYyNiAzMDAuNTgsMzQ1LjMxOSAzODkuNjQyLDQzNC4zODIgNDM0LjE5NCwzODkuODMgMzQ1LjEzMiwzMDAuNzY3IFxcXCI+PC9wb2x5Z29uPlxcblxcdFxcdFxcdFxcdDwvc3ZnPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXG5cXHRcXHRcXHRcXHQ8cD5DcmFzIG1hdHRpcyBjb25zZWN0ZXR1ciBwdXJ1cyBzaXQgYW1ldCBmZXJtZW50dW0uIENyYXMganVzdG8gb2RpbywgZGFwaWJ1cyBhYyBmYWNpbGlzaXMgaW4sIGVnZXN0YXMgZWdldCBxdWFtLiBNb3JiaSBsZW8gcmlzdXMsIHBvcnRhIGFjIGNvbnNlY3RldHVyIGFjLCB2ZXN0aWJ1bHVtIGF0IGVyb3MuPC9wPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tcG9wdXAtZGVtb1xcXCIgZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwLWlubW9kYWwtZGVtb1xcXCI+T3BlbiBwb3B1cDwvYT5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsMVxcXCI+Q2xvc2U8L2E+XFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgaWQ9XFxcInBvcHVwLWlubW9kYWwtZGVtb1xcXCIgY2xhc3M9XFxcIi1kcm9wIC1wcmltYXJ5LSAtZmFkZWluLS0gX3RvcF8gX2NlbnRlcl9cXFwiPlxcblxcdFxcdFxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0RmxpcCBob3Jpem9udGFsIHBvcHVwXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBpZD1cXFwibW9kYWwyXFxcIiBjbGFzcz1cXFwiLW1vZGFsIC1odWdlaW5jLS0gXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItaG9sZGVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItZGlhbG9nIC1jb2w2IC1wcmltYXJ5LVxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuPHN2ZyBjbGFzcz1cXFwiLWNsb3NlXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbDJcXFwiIHg9XFxcIjBweFxcXCIgeT1cXFwiMHB4XFxcIiB2aWV3Ym94PVxcXCIwIDAgNjAwIDYwMFxcXCI+XFxuPGNpcmNsZSBjeD1cXFwiMzAwXFxcIiBjeT1cXFwiMzAwXFxcIiByPVxcXCIyNjBcXFwiPjwvY2lyY2xlPlxcbjxwb2x5Z29uIHBvaW50cz1cXFwiNDM0LjQ0NCwyMTEuNDU0IDM4OS44MDksMTY2LjgxOSAzMDAuNDk2LDI1Ni4xMzEgMjExLjQzNCwxNjcuMDY5IDE2Ni44ODIsMjExLjYyMSAyNTUuOTQ0LDMwMC42ODQgMTY2LjYzOCwzODkuOTkgMjExLjI3Myw0MzQuNjI2IDMwMC41OCwzNDUuMzE5IDM4OS42NDIsNDM0LjM4MiA0MzQuMTk0LDM4OS44MyAzNDUuMTMyLDMwMC43NjcgXFxcIj48L3BvbHlnb24+XFxuPC9zdmc+XFxuSGVhZGVyXFxuXFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcbjxwPkNyYXMgbWF0dGlzIGNvbnNlY3RldHVyIHB1cnVzIHNpdCBhbWV0IGZlcm1lbnR1bS4gQ3JhcyBqdXN0byBvZGlvLCBkYXBpYnVzIGFjIGZhY2lsaXNpcyBpbiwgZWdlc3RhcyBlZ2V0IHF1YW0uIE1vcmJpIGxlbyByaXN1cywgcG9ydGEgYWMgY29uc2VjdGV0dXIgYWMsIHZlc3RpYnVsdW0gYXQgZXJvcy48L3A+XFxuPHA+XFxuPGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtaW5tb2RhbC1kZW1vMlxcXCI+T3BlbiBwb3B1cDwvYT5cXG48L3A+XFxuPHA+XFxuPGEgY2xhc3M9XFxcIi1idG5cXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsMlxcXCI+Q2xvc2U8L2E+XFxuPC9wPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgaWQ9XFxcInBvcHVwLWlubW9kYWwtZGVtbzJcXFwiIGNsYXNzPVxcXCItZHJvcCAtcHJpbWFyeS0gLWZhZGVpbi0tIF90b3BfIF9jZW50ZXJfXFxcIj5cXG48aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcbkZsaXAgaG9yaXpvbnRhbCBwb3B1cFxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcImNvbnRhaW5lci1wb3B1cFxcXCIgc3R5bGU9XFxcInBvc2l0aW9uOnJlbGF0aXZlOyB0b3A6NTBweDtcXFwiPlxcbjxhIGhyZWY9XFxcIlxcXCIgaWQ9XFxcImJ1dHRvbi1wb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cFxcXCIgc3R5bGU9XFxcInBvc2l0aW9uOnJlbGF0aXZlOyB0b3A6MTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogMjBweDtcXFwiPk9wZW4gcG9wdXA8L2E+XFxuXFxuPGRpdiBpZD1cXFwicG9wdXBcXFwiIGNsYXNzPVxcXCItZHJvcCAtZXJyb3ItIC1mbGlwaG9yaXpvbnRhbC0tIF90b3BfIF9jZW50ZXJfXFxcIiBzdHlsZT1cXFwicG9zaXRpb246cmVsYXRpdmU7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiA1MDBweDtcXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+U2V0IGNvbnRlbnQgaGVyZTwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcImNvbnRhaW5lci1wb3B1cDJcXFwiIHN0eWxlPVxcXCJwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjUwcHg7XFxcIj5cXG48YSBocmVmPVxcXCJcXFwiIGlkPVxcXCJidXR0b24tcG9wdXAyXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwMlxcXCIgc3R5bGU9XFxcInBvc2l0aW9uOnJlbGF0aXZlOyB0b3A6MTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogMjBweDtcXFwiPk9wZW4gcG9wdXA8L2E+XFxuXFxuPGRpdiBpZD1cXFwicG9wdXAyXFxcIiBjbGFzcz1cXFwiLWRyb3AgLWVycm9yLSAtZmxpcGhvcml6b250YWwtLSBfdG9wXyBfY2VudGVyX1xcXCIgc3R5bGU9XFxcInBvc2l0aW9uOnJlbGF0aXZlOyB3aWR0aDogMjAwcHg7IGhlaWdodDogNTAwcHg7XFxcIj5cXG48aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlNldCBjb250ZW50IGhlcmU8L2Rpdj5cXG48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG5cXG48dWwgaWQ9XFxcInNjcm9sbHNweVxcXCI+XFxuPGxpPjxhIGhyZWY9XFxcIiNzcHkxXFxcIj5TcHkgMTwvYT48L2xpPlxcbjxsaT48YSBocmVmPVxcXCIjc3B5MlxcXCI+U3B5IDI8L2E+PC9saT5cXG48bGk+PGEgaHJlZj1cXFwiI3NweTNcXFwiPlNweSAzPC9hPjwvbGk+XFxuPGxpPjxhIGhyZWY9XFxcIiNzcHk0XFxcIj5TcHkgNDwvYT48L2xpPlxcbjwvdWw+XFxuPGRpdiBpZD1cXFwic3B5MVxcXCI+XFxuU3B5IDFcXG48L2Rpdj5cXG48ZGl2IGlkPVxcXCJzcHkyXFxcIj5cXG5TcHkgMlxcbjwvZGl2PlxcbjxkaXYgaWQ9XFxcInNweTNcXFwiPlxcblNweSAzXFxuPC9kaXY+XFxuPGRpdiBpZD1cXFwic3B5NFxcXCI+XFxuU3B5IDRcXG48L2Rpdj5cXG5cXG5cXG48dWwgY2xhc3M9XFxcIi10YWJzIC1wcmltYXJ5LVxcXCI+XFxuXFx0PGxpIGlkPVxcXCJ0YWJzMVxcXCIgZGF0YS10b2dnbGU9XFxcInRhYnNcXFwiIGRhdGEtZ3JvdXA9XFxcInRhYnMxXFxcIiBkYXRhLXRhcmdldD1cXFwiI2NvbnRlbnQxXFxcIj48YT5UYWIgMTwvYT48L2xpPlxcblxcdDxsaSBpZD1cXFwidGFiczJcXFwiIGRhdGEtdG9nZ2xlPVxcXCJ0YWJzXFxcIiBkYXRhLWdyb3VwPVxcXCJ0YWJzMVxcXCIgZGF0YS10YXJnZXQ9XFxcIiNjb250ZW50MlxcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHQ8bGkgaWQ9XFxcInRhYnMzXFxcIiBkYXRhLXRvZ2dsZT1cXFwidGFic1xcXCIgZGF0YS1ncm91cD1cXFwidGFiczFcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjY29udGVudDNcXFwiPjxhPlRhYiAzPC9hPjwvbGk+XFxuXFx0PGxpIGlkPVxcXCJ0YWJzNFxcXCIgZGF0YS10b2dnbGU9XFxcInRhYnNcXFwiIGRhdGEtZ3JvdXA9XFxcInRhYnMxXFxcIiBkYXRhLXRhcmdldD1cXFwiI2NvbnRlbnQ0XFxcIj48YT5UYWIgNDwvYT48L2xpPlxcbjwvdWw+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBpZD1cXFwiY29udGVudDFcXFwiIGNsYXNzPVxcXCItY29sMTJcXFwiPkNvbnRlbnQgZm9yIHRhYiAxPC9kaXY+XFxuXFx0PGRpdiBpZD1cXFwiY29udGVudDJcXFwiIGNsYXNzPVxcXCItY29sMTJcXFwiPkNvbnRlbnQgZm9yIHRhYiAyPC9kaXY+XFxuXFx0PGRpdiBpZD1cXFwiY29udGVudDNcXFwiIGNsYXNzPVxcXCItY29sMTJcXFwiPkNvbnRlbnQgZm9yIHRhYiAzPC9kaXY+XFxuXFx0PGRpdiBpZD1cXFwiY29udGVudDRcXFwiIGNsYXNzPVxcXCItY29sMTJcXFwiPkNvbnRlbnQgZm9yIHRhYiA0PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuXFxuPGRpdiBpZD1cXFwid2FsbFxcXCIgY2xhc3M9XFxcIi13YWxsXFxcIiBkYXRhLWtpbmQ9XFxcIndhbGxcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1pdGVtXFxcIj5cXG48dmlkZW8gY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiIG11dGVkPVxcXCJcXFwiIHByZWxvYWQ9XFxcImF1dG9cXFwiIGF1dG9wbGF5PVxcXCJhdXRvcGxheVxcXCIgbG9vcD1cXFwibG9vcFxcXCI+XFxuPHNvdXJjZSBzcmM9XFxcIi8vc2VjdXJlLWMudmltZW9jZG4uY29tL3AvdmlkZW8veW9zZW1pdGVfaGRfaWlfaGQud2VibVxcXCIgdHlwZT1cXFwidmlkZW8vd2VibVxcXCI+XFxuPHNvdXJjZSBzcmM9XFxcIi8vc2VjdXJlLWMudmltZW9jZG4uY29tL3AvdmlkZW8veW9zZW1pdGVfaGRfaWlfaGQubXA0XFxcIiB0eXBlPVxcXCJ2aWRlby9tcDRcXFwiPlxcbjwvdmlkZW8+XFxuPCEtLSA8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIiA+XFxuPGltZyBzcmM9XFxcImh0dHBzOi8vZDI2MmlsYjUxaGx0eDAuY2xvdWRmcm9udC5uZXQvZml0L3QvMjAwMC8xNjAwL2dyYWR2LzI5LzgxLzU1LzEqazZtTk5SWXBuWXc0QjBnbnd0LXNwZy5qcGVnXFxcIiBhbHQ9XFxcIlxcXCI+XFxuPC9maWd1cmU+IC0tPlxcbjxoZWFkZXIgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1jb2w4IC1vZmZzZXQyXFxcIj5cXG48aDEgY2xhc3M9XFxcInRrLWFsdGVybmF0ZS1nb3RoaWMtbm8tMy1kXFxcIj5Zb3NlbWl0ZTwvaDE+XFxuPGgyIGNsYXNzPVxcXCJ0ay1mcmVpZ2h0LXRleHQtcHJvXFxcIj48c21hbGw+VGltZS1sYXBzZSB2aWRlbyBwcm9qZWN0IHNldCBpbiBZb3NlbWl0ZSBOYXRpb25hbCBQYXJrLCAyMDE0PC9zbWFsbD48L2gyPlxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9yb3VuZF8gX3NtYWxsXFxcIj5cXG48ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG48aW1nIHNyYz1cXFwiaHR0cDovL3MxLndwLmNvbS93cC1jb250ZW50L3RoZW1lcy92aXAvdGltZWxpZmUvaW1hZ2VzL2xpZmVfbG9nby5wbmdcXFwiIGFsdD1cXFwiTGlmZVxcXCI+XFxuPC9maWd1cmU+VGhlIExJRkUsIENvbGluIERlbGVoYW50eVxcbjwvYT5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L2hlYWRlcj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L2JvZHk+XFxuPC9odG1sPlxcblwifSxcImV4YW1wbGVzXCI6e1wiYmxvZ1wiOlwiPHN0eWxlPlxcblxcdC4td2FsbCB7XFxuXFx0XFx0Y29sb3I6ICNmZmY7XFxuXFx0fVxcblxcdC4td2FsbCBhIHsgY29sb3I6ICNlZWU7IH1cXG5cXHQuLXdhbGwgLi1oZWFkZXIgaDF7XFxuXFx0XFx0Zm9udC1zaXplOiA0ZW07XFxuXFx0fVxcblxcblxcdHNlY3Rpb24ge1xcblxcdFxcdG1hcmdpbi10b3A6IDUwcHg7XFxuXFx0fVxcblxcbi8qXFx0LmRldi1ibG9nLXBvc3R7XFxuXFx0XFx0Zm9udC1zaXplOiBcXG5cXHR9Ki9cXG48L3N0eWxlPlxcblxcbjx1bCBjbGFzcz1cXFwiLWJ1bGxldHMgX2ZpeGVkXyBfdmVydGljYWxfIF9sZWZ0XyBfbWlkZGxlX1xcXCIgZGF0YS1zcHk9XFxcInNjcm9sbHNweVxcXCIgc3R5bGU9XFxcInBvc2l0aW9uOiBmaXhlZFxcXCI+XFxuXFx0PCEtLSA8bGk+PGEgaHJlZj1cXFwiI3dhbGwxXFxcIiBkYXRhLWJ5cGFzcz48c21hbGw+WW9zZW1pdGU8L3NtYWxsPjwvYT48L2xpPiAtLT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI2hlYWRlclxcXCIgZGF0YS1ieXBhc3M+PHNtYWxsPkhlYWRlcjwvc21hbGw+PC9hPjwvbGk+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNpbnRyb1xcXCIgZGF0YS1pbnZlcnQ9XFxcInRydWVcXFwiIGRhdGEtYnlwYXNzPjxzbWFsbD5JbnRyb2R1Y3Rpb248L3NtYWxsPjwvYT48L2xpPlxcblxcdDxsaT48YSBocmVmPVxcXCIjV2VuZHlTY2htaWR0XFxcIiBkYXRhLWludmVydD1cXFwidHJ1ZVxcXCIgZGF0YS1ieXBhc3M+PHNtYWxsPldlbmR5IFNjaG1pZHQ8L3NtYWxsPjwvYT48L2xpPlxcblxcdDxsaT48YSBocmVmPVxcXCIjQW1lcmljYW5CdXNpbmVzc1xcXCIgZGF0YS1pbnZlcnQ9XFxcInRydWVcXFwiIGRhdGEtYnlwYXNzPjxzbWFsbD5BbWVyaWNhbiBidXNpbmVzczwvc21hbGw+PC9hPjwvbGk+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNTZXJnZXlCcmluXFxcIiBkYXRhLWludmVydD1cXFwidHJ1ZVxcXCIgZGF0YS1ieXBhc3M+PHNtYWxsPlNlcmdleSBCcmluPC9zbWFsbD48L2E+PC9saT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI0Rpc2Vhc2VcXFwiIGRhdGEtYnlwYXNzPjxzbWFsbD5BIGZvY3VzIG9uIGRpc2Vhc2U8L3NtYWxsPjwvYT48L2xpPlxcblxcdDxsaT48YSBocmVmPVxcXCIjZW5kXFxcIiBkYXRhLWludmVydD1cXFwidHJ1ZVxcXCIgZGF0YS1ieXBhc3M+PHNtYWxsPlN0b3J5IGVuZDwvc21hbGw+PC9hPjwvbGk+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNjb21tZW50c1xcXCIgZGF0YS1pbnZlcnQ9XFxcInRydWVcXFwiIGRhdGEtYnlwYXNzPjxzbWFsbD5Db21tZW50czwvc21hbGw+PC9hPjwvbGk+XFxuPC91bD5cXG5cXG48IS0tIDxkaXYgaWQ9XFxcIndhbGwxXFxcIiBjbGFzcz1cXFwiLXdhbGxcXFwiIGRhdGEta2luZD1cXFwid2FsbFxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWl0ZW1cXFwiPlxcblxcdFxcdDx2aWRlbyBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCIgbXV0ZWQ9XFxcIlxcXCIgcHJlbG9hZD1cXFwiYXV0b1xcXCIgYXV0b3BsYXk9XFxcImF1dG9wbGF5XFxcIiBsb29wPVxcXCJsb29wXFxcIj5cXG5cXHRcXHRcXHQ8c291cmNlIHNyYz1cXFwiLy9zZWN1cmUtYy52aW1lb2Nkbi5jb20vcC92aWRlby95b3NlbWl0ZV9oZF9paV9oZC53ZWJtXFxcIiB0eXBlPVxcXCJ2aWRlby93ZWJtXFxcIj5cXG5cXHRcXHRcXHQ8c291cmNlIHNyYz1cXFwiLy9zZWN1cmUtYy52aW1lb2Nkbi5jb20vcC92aWRlby95b3NlbWl0ZV9oZF9paV9oZC5tcDRcXFwiIHR5cGU9XFxcInZpZGVvL21wNFxcXCI+XFxuXFx0XFx0PC92aWRlbz5cXG5cXHRcXHQ8aGVhZGVyIGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0MlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGgxIGNsYXNzPVxcXCJ0ay1hbHRlcm5hdGUtZ290aGljLW5vLTMtZFxcXCI+WW9zZW1pdGU8L2gxPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoMiBjbGFzcz1cXFwidGstZnJlaWdodC10ZXh0LXByb1xcXCI+PHNtYWxsPlRpbWUtbGFwc2UgdmlkZW8gcHJvamVjdCBzZXQgaW4gWW9zZW1pdGUgTmF0aW9uYWwgUGFyaywgMjAxNDwvc21hbGw+PC9oMj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfcm91bmRfIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9zMS53cC5jb20vd3AtY29udGVudC90aGVtZXMvdmlwL3RpbWVsaWZlL2ltYWdlcy9saWZlX2xvZ28ucG5nXFxcIiBhbHQ9XFxcIkxpZmVcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZmlndXJlPlRoZSBMSUZFLCBDb2xpbiBEZWxlaGFudHlcXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2E+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9oZWFkZXI+XFxuXFx0PC9kaXY+XFxuPC9kaXY+IC0tPlxcblxcbjxkaXYgaWQ9XFxcImhlYWRlclxcXCIgY2xhc3M9XFxcIi13YWxsXFxcIiBkYXRhLWtpbmQ9XFxcIndhbGxcXFwiIGRhdGEtem9vbT1cXFwieWVzXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaXRlbVxcXCI+XFxuXFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCIgPlxcblxcdFxcdFxcdDxpbWcgc3JjPVxcXCIvaW1nL21pY3Jvc2NvcGUuanBnXFxcIiBhbHQ9XFxcIk1pY3Jvc2NvcGVcXFwiPlxcblxcdFxcdDwvZmlndXJlPlxcblxcdFxcdDxoZWFkZXIgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4IC1vZmZzZXQyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aDEgY2xhc3M9XFxcInRrLWFsdGVybmF0ZS1nb3RoaWMtbm8tMy1kXFxcIj5CaWxsaW9uYWlyZXMgV2l0aCBCaWcgSWRlYXMgQXJlIFByaXZhdGl6aW5nIEFtZXJpY2FuIFNjaWVuY2U8L2gxPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoMiBjbGFzcz1cXFwidGstZnJlaWdodC10ZXh0LXByb1xcXCI+PHNtYWxsPlRpbWUtbGFwc2UgdmlkZW8gcHJvamVjdCBzZXQgaW4gWW9zZW1pdGUgTmF0aW9uYWwgUGFyaywgMjAxNDwvc21hbGw+PC9oMj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfcm91bmRfIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9zdGF0aWMwMS5ueXQuY29tL2ltYWdlcy8yMDEyLzAxLzA5L3RpbWVzdG9waWNzL2JpbGwtYnJvYWQvYmlsbC1icm9hZC1hcnRpY2xlSW5saW5lLmpwZ1xcXCIgYWx0PVxcXCJXSUxMSUFNIEouIEJST0FEXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2ZpZ3VyZT5UaGUgTmV3IFlvcmsgVGltZXMsIFdpbGxpYW0gQnJvYWQsIDxzbWFsbD5NYXJjaCAxNSwgMjAxNDwvc21hbGw+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvaGVhZGVyPlxcblxcdFxcdDxzZWN0aW9uIGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDYgLW9mZnNldDNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfbWFqb3JcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdExhc3QgQXByaWwsIFByZXNpZGVudCBPYmFtYSBhc3NlbWJsZWQgc29tZSBvZiB0aGUgbmF0aW9u4oCZcyBtb3N0IGF1Z3VzdCBzY2llbnRpZmljIGRpZ25pdGFyaWVzIGluIHRoZSBFYXN0IFJvb20gb2YgdGhlIFdoaXRlIEhvdXNlLiBKb2tpbmcgdGhhdCBoaXMgZ3JhZGVzIGluIHBoeXNpY3MgbWFkZSBoaW0gYSBkdWJpb3VzIGNhbmRpZGF0ZSBmb3Ig4oCcc2NpZW50aXN0IGluIGNoaWVmLOKAnSBoZSBzcG9rZSBvZiB1c2luZyB0ZWNobm9sb2dpY2FsIGlubm92YXRpb24g4oCcdG8gZ3JvdyBvdXIgZWNvbm9teeKAnSBhbmQgdW52ZWlsZWQg4oCcdGhlIG5leHQgZ3JlYXQgQW1lcmljYW4gcHJvamVjdOKAnTogYSAkMTAwIG1pbGxpb24gaW5pdGlhdGl2ZSB0byBwcm9iZSB0aGUgbXlzdGVyaWVzIG9mIHRoZSBodW1hbiBicmFpbi5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9zZWN0aW9uPlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxhcnRpY2xlPlxcblxcdFxcblxcdDxzZWN0aW9uIGlkPVxcXCJpbnRyb1xcXCIgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2IC1vZmZzZXQzXFxcIj5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRBbG9uZyB0aGUgd2F5LCBoZSBpbnZva2VkIHRoZSBnb3Zlcm5tZW504oCZcyBsZWFkaW5nIHJvbGUgaW4gYSBoaXN0b3J5IG9mIHNjaWVudGlmaWMgZ2xvcmllcywgZnJvbSBwdXR0aW5nIGEgbWFuIG9uIHRoZSBtb29uIHRvIGNyZWF0aW5nIHRoZSBJbnRlcm5ldC4gVGhlIEJyYWluIGluaXRpYXRpdmUsIGFzIGhlIGRlc2NyaWJlZCBpdCwgd291bGQgYmUgYSBjb250aW51YXRpb24gb2YgdGhhdCBncmFuZCB0cmFkaXRpb24sIGFuIGFtYml0aW91cyByZWJ1dHRhbCB0byBkZWVwIGN1dHMgaW4gZmVkZXJhbCBmaW5hbmNpbmcgZm9yIHNjaWVudGlmaWMgcmVzZWFyY2guXFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdDxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxwPuKAnFdlIGNhbuKAmXQgYWZmb3JkIHRvIG1pc3MgdGhlc2Ugb3Bwb3J0dW5pdGllcyB3aGlsZSB0aGUgcmVzdCBvZiB0aGUgd29ybGQgcmFjZXMgYWhlYWQs4oCdIE1yLiBPYmFtYSBzYWlkLiDigJxXZSBoYXZlIHRvIHNlaXplIHRoZW0uIEkgZG9u4oCZdCB3YW50IHRoZSBuZXh0IGpvYi1jcmVhdGluZyBkaXNjb3ZlcmllcyB0byBoYXBwZW4gaW4gQ2hpbmEgb3IgSW5kaWEgb3IgR2VybWFueS4gSSB3YW50IHRoZW0gdG8gaGFwcGVuIHJpZ2h0IGhlcmUu4oCdPC9wPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxzbWFsbD5Nci4gQmFyYWsgT2JhbWE8L3NtYWxsPlxcblxcdFxcdFxcdFxcdFxcdDwvYmxvY2txdW90ZT5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9zZWN0aW9uPlxcblxcblxcdDxzZWN0aW9uIGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0MlxcXCI+XFxuXFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9tYWpvclxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0QWJzZW50IGZyb20gaGlzIG5hcnJhdGl2ZSwgdGhvdWdoLCB3YXMgdGhlIGJhY2sgc3RvcnksIG9uZSB0aGF0IHVuZGVyc2NvcmVzIGEgcHJvZm91bmQgY2hhbmdlIHRha2luZyBwbGFjZSBpbiB0aGUgd2F5IHNjaWVuY2UgaXMgcGFpZCBmb3IgYW5kIHByYWN0aWNlZCBpbiBBbWVyaWNhLiBJbiBmYWN0LCB0aGUgZ292ZXJubWVudCBpbml0aWF0aXZlIGdyZXcgb3V0IG9mIHJpY2hseSBmaW5hbmNlZCBwcml2YXRlIHJlc2VhcmNoOiBBIGRlY2FkZSBiZWZvcmUsIFBhdWwgRy4gQWxsZW4sIGEgY28tZm91bmRlciBvZiBNaWNyb3NvZnQsIGhhZCBzZXQgdXAgYSBicmFpbiBzY2llbmNlIGluc3RpdHV0ZSBpbiBTZWF0dGxlLCB0byB3aGljaCBoZSBkb25hdGVkICQ1MDAgbWlsbGlvbiwgYW5kIEZyZWQgS2F2bGksIGEgdGVjaG5vbG9neSBhbmQgcmVhbCBlc3RhdGUgYmlsbGlvbmFpcmUsIGhhZCB0aGVuIGVzdGFibGlzaGVkIGJyYWluIGluc3RpdHV0ZXMgYXQgWWFsZSwgQ29sdW1iaWEgYW5kIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuIFNjaWVudGlzdHMgZnJvbSB0aG9zZSBwaGlsYW50aHJvcGllcywgaW4gdHVybiwgaGFkIGhlbHBlZCBkZXZpc2UgdGhlIE9iYW1hIGFkbWluaXN0cmF0aW9u4oCZcyBwbGFuLlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L3NlY3Rpb24+XFxuXFxuXFx0PHNlY3Rpb24gaWQ9XFxcIldlbmR5U2NobWlkdFxcXCIgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMCAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0XFx0PGZpZ3VyZSBkYXRhLXNweT1cXFwic2t5bGluZVxcXCJjbGFzcz1cXFwiLXRodW1ibmFpbCAtc2NhbGUtLVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL3N0YXRpYzAxLm55dC5jb20vaW1hZ2VzLzIwMTQvMDMvMTYvdXMvcHJpdmF0ZXNjaWVuY2UxL3ByaXZhdGVzY2llbmNlMS1zdXBlckp1bWJvLXYyLmpwZ1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PGZpZ2NhcHRpb24gY2xhc3M9XFxcIi10aHVtYm5haWwtY2FwdGlvbiBfbGVmdF9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoNCBzdHlsZT1cXFwibWFyZ2luLWJvdHRvbTogNXB4XFxcIj5XZW5keSBTY2htaWR0IGFuZCBoZXIgaHVzYmFuZCBhcmUgYWR2YW5jaW5nIG9jZWFuIHN0dWRpZXMuPC9oND5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8cD48c21hbGw+QsOpYXRyaWNlIGRlIEfDqWEgZm9yIFRoZSBOWVQ8L3NtYWxsPjwvcD5cXG5cXHRcXHRcXHRcXHRcXHQ8L2ZpZ2NhcHRpb24+XFxuXFx0XFx0XFx0XFx0PC9maWd1cmU+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0XFx0PCEtLSA8ZGl2IGNsYXNzPVxcXCItY29sNVxcXCI+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0QW1lcmljYW4gc2NpZW5jZSwgbG9uZyBhIHNvdXJjZSBvZiBuYXRpb25hbCBwb3dlciBhbmQgcHJpZGUsIGlzIGluY3JlYXNpbmdseSBiZWNvbWluZyBhIHByaXZhdGUgZW50ZXJwcmlzZS5cXG5cXG5cXHRcXHRcXHRcXHRcXHRJbiBXYXNoaW5ndG9uLCBidWRnZXQgY3V0cyBoYXZlIGxlZnQgdGhlIG5hdGlvbuKAmXMgcmVzZWFyY2ggY29tcGxleCByZWVsaW5nLiBMYWJzIGFyZSBjbG9zaW5nLiBTY2llbnRpc3RzIGFyZSBiZWluZyBsYWlkIG9mZi4gUHJvamVjdHMgYXJlIGJlaW5nIHB1dCBvbiB0aGUgc2hlbGYsIGVzcGVjaWFsbHkgaW4gdGhlIHJpc2t5LCBmcmVld2hlZWxpbmcgcmVhbG0gb2YgYmFzaWMgcmVzZWFyY2guIFlldCBmcm9tIFNpbGljb24gVmFsbGV5IHRvIFdhbGwgU3RyZWV0LCBzY2llbmNlIHBoaWxhbnRocm9weSBpcyBob3QsIGFzIG1hbnkgb2YgdGhlIHJpY2hlc3QgQW1lcmljYW5zIHNlZWsgdG8gcmVpbnZlbnQgdGhlbXNlbHZlcyBhcyBwYXRyb25zIG9mIHNvY2lhbCBwcm9ncmVzcyB0aHJvdWdoIHNjaWVuY2UgcmVzZWFyY2guXFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PiAtLT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L3NlY3Rpb24+XFxuXFxuXFx0PHNlY3Rpb24gaWQ9XFxcIkFtZXJpY2FuQnVzaW5lc3NcXFwiIGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiAtb2Zmc2V0M1xcXCI+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0QW1lcmljYW4gc2NpZW5jZSwgbG9uZyBhIHNvdXJjZSBvZiBuYXRpb25hbCBwb3dlciBhbmQgcHJpZGUsIGlzIGluY3JlYXNpbmdseSBiZWNvbWluZyBhIHByaXZhdGUgZW50ZXJwcmlzZS5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0SW4gV2FzaGluZ3RvbiwgYnVkZ2V0IGN1dHMgaGF2ZSBsZWZ0IHRoZSBuYXRpb27igJlzIHJlc2VhcmNoIGNvbXBsZXggcmVlbGluZy4gTGFicyBhcmUgY2xvc2luZy4gU2NpZW50aXN0cyBhcmUgYmVpbmcgbGFpZCBvZmYuIFByb2plY3RzIGFyZSBiZWluZyBwdXQgb24gdGhlIHNoZWxmLCBlc3BlY2lhbGx5IGluIHRoZSByaXNreSwgZnJlZXdoZWVsaW5nIHJlYWxtIG9mIGJhc2ljIHJlc2VhcmNoLiBZZXQgZnJvbSBTaWxpY29uIFZhbGxleSB0byBXYWxsIFN0cmVldCwgc2NpZW5jZSBwaGlsYW50aHJvcHkgaXMgaG90LCBhcyBtYW55IG9mIHRoZSByaWNoZXN0IEFtZXJpY2FucyBzZWVrIHRvIHJlaW52ZW50IHRoZW1zZWx2ZXMgYXMgcGF0cm9ucyBvZiBzb2NpYWwgcHJvZ3Jlc3MgdGhyb3VnaCBzY2llbmNlIHJlc2VhcmNoLlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRUaGUgcmVzdWx0IGlzIGEgbmV3IGNhbGN1bHVzIG9mIGluZmx1ZW5jZSBhbmQgcHJpb3JpdGllcyB0aGF0IHRoZSBzY2llbnRpZmljIGNvbW11bml0eSB2aWV3cyB3aXRoIGEgbWl4IG9mIGdyYXRpdHVkZSBhbmQgdHJlcGlkYXRpb24uXFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdOKAnEZvciBiZXR0ZXIgb3Igd29yc2Us4oCdIHNhaWQgU3RldmVuIEEuIEVkd2FyZHMsIGEgcG9saWN5IGFuYWx5c3QgYXQgdGhlIEFtZXJpY2FuIEFzc29jaWF0aW9uIGZvciB0aGUgQWR2YW5jZW1lbnQgb2YgU2NpZW5jZSwg4oCcdGhlIHByYWN0aWNlIG9mIHNjaWVuY2UgaW4gdGhlIDIxc3QgY2VudHVyeSBpcyBiZWNvbWluZyBzaGFwZWQgbGVzcyBieSBuYXRpb25hbCBwcmlvcml0aWVzIG9yIGJ5IHBlZXItcmV2aWV3IGdyb3VwcyBhbmQgbW9yZSBieSB0aGUgcGFydGljdWxhciBwcmVmZXJlbmNlcyBvZiBpbmRpdmlkdWFscyB3aXRoIGh1Z2UgYW1vdW50cyBvZiBtb25leS7igJ1cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0VGhleSBoYXZlIG1vdW50ZWQgYSBwcml2YXRlIHdhciBvbiBkaXNlYXNlLCB3aXRoIG5ldyBwcm90b2NvbHMgdGhhdCBicmVhayBkb3duIHdhbGxzIGJldHdlZW4gYWNhZGVtaWEgYW5kIGluZHVzdHJ5IHRvIHR1cm4gYmFzaWMgZGlzY292ZXJpZXMgaW50byBlZmZlY3RpdmUgdHJlYXRtZW50cy4gVGhleSBoYXZlIHJla2luZGxlZCB0cmFkaXRpb25zIG9mIHNjaWVudGlmaWMgZXhwbG9yYXRpb24gYnkgZmluYW5jaW5nIGh1bnRzIGZvciBkaW5vc2F1ciBib25lcyBhbmQgZ2lhbnQgc2VhIGNyZWF0dXJlcy4gVGhleSBhcmUgZXZlbiBiZWdpbm5pbmcgdG8gY2hhbGxlbmdlIFdhc2hpbmd0b24gaW4gdGhlIGNvc3RseSBnYW1lIG9mIGJpZyBzY2llbmNlLCB3aXRoIGlubm92YXRpdmUgc2hpcHMsIHVuZGVyc2VhIGNyYWZ0IGFuZCBnaWFudCB0ZWxlc2NvcGVzIOKAlCBhcyB3ZWxsIGFzIHRoZSBmaXJzdCBwcml2YXRlIG1pc3Npb24gdG8gZGVlcCBzcGFjZS5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0VGhlIG5ldyBwaGlsYW50aHJvcGlzdHMgcmVwcmVzZW50IHRoZSBicmVhZHRoIG9mIEFtZXJpY2FuIGJ1c2luZXNzLCBwZW9wbGUgbGlrZSBNaWNoYWVsIFIuIEJsb29tYmVyZywgdGhlIGZvcm1lciBOZXcgWW9yayBtYXlvciAoYW5kIGZvdW5kZXIgb2YgdGhlIG1lZGlhIGNvbXBhbnkgdGhhdCBiZWFycyBoaXMgbmFtZSksIEphbWVzIFNpbW9ucyAoaGVkZ2UgZnVuZHMpIGFuZCBEYXZpZCBILiBLb2NoIChvaWwgYW5kIGNoZW1pY2FscyksIGFtb25nIGh1bmRyZWRzIG9mIHdlYWx0aHkgZG9ub3JzLiBFc3BlY2lhbGx5IHByb21pbmVudCwgdGhvdWdoLCBhcmUgc29tZSBvZiB0aGUgYm9sZGVzdC1mYWNlIG5hbWVzIG9mIHRoZSB0ZWNoIHdvcmxkLCBhbW9uZyB0aGVtIEJpbGwgR2F0ZXMgKE1pY3Jvc29mdCksIEVyaWMgRS4gU2NobWlkdCAoR29vZ2xlKSBhbmQgTGF3cmVuY2UgSi4gRWxsaXNvbiAoT3JhY2xlKS5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0VGhpcyBpcyBwaGlsYW50aHJvcHkgaW4gdGhlIGFnZSBvZiB0aGUgbmV3IGVjb25vbXkg4oCUIGZpbmFuY2VkIHdpdGggaXRzIG91dHNpemUgcmljaGVzLCBwcmFjdGljZWQgYWNjb3JkaW5nIHRvIGl0cyBpbmRpdmlkdWFsaXN0aWMsIGVudHJlcHJlbmV1cmlhbCBjcmVlZC4gVGhlIGRvbm9ycyBhcmUgaW1wYXRpZW50IHdpdGggdGhlIGRlbGliZXJhdGUsIGFuZCBvZnRlbiBwb2xpdGljaXplZCwgcGFjZSBvZiBwdWJsaWMgc2NpZW5jZSwgdGhleSBzYXksIGFuZCB3aWxsaW5nIHRvIHRha2Ugcmlza3MgdGhhdCBnb3Zlcm5tZW50IGNhbm5vdCBvciBzaW1wbHkgd2lsbCBub3QgY29uc2lkZXIuXFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdFlldCB0aGF0IHBlcnNvbmFsIHNldHRpbmcgb2YgcHJpb3JpdGllcyBpcyBwcmVjaXNlbHkgd2hhdCB0cm91YmxlcyBzb21lIGluIHRoZSBzY2llbmNlIGVzdGFibGlzaG1lbnQuIE1hbnkgb2YgdGhlIHBhdHJvbnMsIHRoZXkgc2F5LCBhcmUgaWdub3JpbmcgYmFzaWMgcmVzZWFyY2gg4oCUIHRoZSBraW5kIHRoYXQgaW52ZXN0aWdhdGVzIHRoZSByaWRkbGVzIG9mIG5hdHVyZSBhbmQgaGFzIHByb2R1Y2VkIGNlbnR1cmllcyBvZiBicmVha3Rocm91Z2hzLCBldmVuIHdob2xlIGluZHVzdHJpZXMg4oCUIGZvciBhIGp1bWJsZSBvZiBwb3B1bGFyLCBmZWVsLWdvb2QgZmllbGRzIGxpa2UgZW52aXJvbm1lbnRhbCBzdHVkaWVzIGFuZCBzcGFjZSBleHBsb3JhdGlvbi5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0QXMgdGhlIHBvd2VyIG9mIHBoaWxhbnRocm9waWMgc2NpZW5jZSBoYXMgZ3Jvd24sIHNvIGhhcyB0aGUgcGl0Y2gsIGFuZCB0aGUgZWRnZSwgb2YgdGhlIGRlYmF0ZS4gTmF0dXJlLCBhIGZhbWlseSBvZiBsZWFkaW5nIHNjaWVuY2Ugam91cm5hbHMsIGhhcyBwdWJsaXNoZWQgYSBudW1iZXIgb2Ygd2FyeSBlZGl0b3JpYWxzLCBvbmUgd2FybmluZyB0aGF0IHdoaWxlIOKAnHdlIGFwcGxhdWQgYW5kIGZ1bGx5IHN1cHBvcnQgdGhlIGluamVjdGlvbiBvZiBtb3JlIHByaXZhdGUgbW9uZXkgaW50byBzY2llbmNlLOKAnSB0aGUgZmluYW5jaW5nIGNvdWxkIGFsc28g4oCcc2tldyByZXNlYXJjaOKAnSB0b3dhcmQgZmllbGRzIG1vcmUgdHJlbmR5IHRoYW4gY2VudHJhbC5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9zZWN0aW9uPlxcblxcblxcblxcdDxzZWN0aW9uIGlkPVxcXCJTZXJnZXlCcmluXFxcIiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDggLW9mZnNldDJcXFwiPlxcblxcdFxcdFxcdFxcdDxmaWd1cmUgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIGNsYXNzPVxcXCItdGh1bWJuYWlsIC1zY2FsZS0tXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vc3RhdGljMDEubnl0LmNvbS9pbWFnZXMvMjAxNC8wNS8zMC9idXNpbmVzcy9xdWFudHVtL3F1YW50dW0tYXJ0aWNsZUxhcmdlLmpwZ1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PGZpZ2NhcHRpb24gY2xhc3M9XFxcIi10aHVtYm5haWwtY2FwdGlvbiBfbGVmdF9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoNCBzdHlsZT1cXFwibWFyZ2luLWJvdHRvbTogNXB4XFxcIj48c21hbGw+UGhvdG8gYnkgQmVuIE1hcmdvdC9Bc3NvY2lhdGVkIFByZXNzPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdFxcdFxcdDwvZmlnY2FwdGlvbj5cXG5cXHRcXHRcXHRcXHQ8L2ZpZ3VyZT5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHRcXHQ8ZGl2IGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBjbGFzcz1cXFwiLWNvbDIgLWh1Z2VpbmMtLVxcXCI+XFxuXFx0XFx0XFx0XFx0PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX3JvdW5kXyBfbWlub3JcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL2FobWFkYWptaS8xMjguanBnXFxcIiBhbHQ9XFxcIlNlcmdleSBCcmluXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2ZpZ3VyZT5cXG5cXHRcXHRcXHRcXHQ8L2E+XFxuXFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9taW5vclxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGI+U2VyZ2V5IEJyaW48L2I+PGJyPlxcblxcdFxcdFxcdFxcdFxcdDxpPkdvb2dsZTwvaT48YnI+XFxuXFx0XFx0XFx0XFx0XFx0JDMxLjggYmlsbGlvbjxicj5cXG5cXHRcXHRcXHRcXHRcXHQ8cCBjbGFzcz1cXFwiX21pbm9yXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRQYXJraW5zb24ncyBkaXNlYXNlLCB3aGljaCBoaXMgbW90aGVyIGhhcyBhbmQgZm9yIHdoaWNoIGhlIGJlYXJzIGEgcmlza3kgZ2VuZS5cXG5cXHRcXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvc2VjdGlvbj5cXG5cXG5cXHQ8c2VjdGlvbiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDYgLW9mZnNldDNcXFwiPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdFRoZSBmaXJzdCBzdWNjZXNzIGNhbWUgd2l0aCBjeXN0aWMgZmlicm9zaXMsIHdoaWNoIGFyaXNlcyB3aGVuIGEgZmF1bHR5IGdlbmUgY2xvZ3MgdGhlIGx1bmdzIGFuZCBwYW5jcmVhcyB3aXRoIGEgc3RpY2t5IG11Y3VzLiBQZW9wbGUgd2l0aCBjeXN0aWMgZmlicm9zaXMgc3VmZmVyIGZyb20gY291Z2hpbmcsIGZhdGlndWUsIHBvb3IgZGlnZXN0aW9uIGFuZCBzbG93IGdyb3d0aCwgYW5kIGRpZSByZWxhdGl2ZWx5IHlvdW5nLlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRBcm91bmQgMjAwMCwgYSBzdXJnZSBvZiB3ZWFsdGh5IGRvbm9ycyBiZWdhbiBtYWtpbmcgbGFyZ2UgY29udHJpYnV0aW9ucyB0byB0aGUgQ3lzdGljIEZpYnJvc2lzIEZvdW5kYXRpb24uIFRvbSBhbmQgR2lubnkgSHVnaGVzIG9mIEdyZWVud2ljaCwgQ29ubi4sIGhhZCB0d28gZGF1Z2h0ZXJzIHdpdGggdGhlIGRpc2Vhc2UsIGFuZCBnYXZlIG1pbGxpb25zIG9mIGRvbGxhcnMuIFRoZSBmYW1pbHkgYWxzbyBwb3NlZCBpbiBzbmFwc2hvdHMgZm9yIHRoZSBmb3VuZGF0aW9u4oCZcyDigJxNaWxlc3RvbmVzIHRvIGEgQ3VyZeKAnSB1cGRhdGVzLCBhbmQgTXIuIEh1Z2hlcywgYSBiYW5rZXIsIGhlbHBlZCB0aGUgY2hhcml0eSBkZXZlbG9wIHN0cmF0ZWdpZXMgdG8gZXhwYW5kIGl0cyBmdW5kLXJhaXNpbmcuXFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvc2VjdGlvbj5cXG5cXG5cXG5cXHQ8ZGl2IGlkPVxcXCJEaXNlYXNlXFxcIiBjbGFzcz1cXFwiLXdhbGxcXFwiIGRhdGEta2luZD1cXFwid2FsbFxcXCIgZGF0YS16b29tPVxcXCJ5ZXNcXFwiIHN0eWxlPVxcXCJtYXJnaW4tdG9wOiA1MHB4O1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWl0ZW1cXFwiPlxcblxcdFxcdFxcdDx2aWRlbyBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCIgbXV0ZWQ9XFxcIlxcXCIgcHJlbG9hZD1cXFwiYXV0b1xcXCIgYXV0b3BsYXk9XFxcImF1dG9wbGF5XFxcIiBsb29wPVxcXCJsb29wXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c291cmNlIHNyYz1cXFwiLy9zZWN1cmUtYy52aW1lb2Nkbi5jb20vcC92aWRlby95b3NlbWl0ZV9oZF9paV9oZC53ZWJtXFxcIiB0eXBlPVxcXCJ2aWRlby93ZWJtXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c291cmNlIHNyYz1cXFwiLy9zZWN1cmUtYy52aW1lb2Nkbi5jb20vcC92aWRlby95b3NlbWl0ZV9oZF9paV9oZC5tcDRcXFwiIHR5cGU9XFxcInZpZGVvL21wNFxcXCI+XFxuXFx0XFx0XFx0PC92aWRlbz5cXG5cXHRcXHRcXHQ8aGVhZGVyIGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0MlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGgxIGNsYXNzPVxcXCJ0ay1hbHRlcm5hdGUtZ290aGljLW5vLTMtZFxcXCI+QSBGb2N1cyBvbiBEaXNlYXNlPC9oMT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8aDIgY2xhc3M9XFxcInRrLWZyZWlnaHQtdGV4dC1wcm9cXFwiPjxzbWFsbD5JZiB0aGUgbWFwIG9mIHRoZSB3b3JsZCBvZiBwcml2YXRlIHNjaWVuY2UgaGFzIHlldCB0byBiZSBkcmF3biwgb25lIHRoaW5nIGlzIGNsZWFyOiBNdWNoIG9mIHRoZSBtb25leSBpcyBnb2luZyBpbnRvIGNhbXBhaWducyBmb3IgYSBjdXJlLjwvc21hbGw+PC9oMj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2hlYWRlcj5cXG5cXHRcXHRcXHQ8c2VjdGlvbiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2IC1vZmZzZXQzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8cCBjbGFzcz1cXFwiX21ham9yXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRUaGlzIHByaXZhdGUgd2FyIG9uIGRpc2Vhc2UgaGFzIHJlc3VsdGVkIG5vdCBvbmx5IGluIHNpZ25pZmljYW50IGFkdmFuY2VzIGluIHRyZWF0bWVudCwgYnV0IGFsc28gaW4gd2hhdCBleHBlcnRzIGRlc2NyaWJlIGFzIGEgbWFqb3IgYnJlYWt0aHJvdWdoIGluIGhvdyBiaW9tZWRpY2FsIHJlc2VhcmNoIGlzIGRvbmUuIFRoZSBtZXRob2Qgb3BlbnMgdXAgYmxvY2thZ2VzIHRoYXQgaGF2ZSB0cmFkaXRpb25hbGx5IGtlcHQgYmFzaWMgZGlzY292ZXJpZXMgZnJvbSBiZWluZyB0dXJuZWQgaW50byBlZmZlY3RpdmUgdHJlYXRtZW50cyDigJQgZXNwZWNpYWxseSBmb3IgcmFyZSBkaXNlYXNlcyB0aGF0IGRydWcgY29tcGFuaWVzIGF2b2lkIGZvciBsYWNrIG9mIHBvdGVudGlhbCBwcm9maXQuXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfbWFqb3JcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdOKAnFdlIHRoaW5rIGl04oCZcyBwb3RlbnRpYWxseSB0cmFuc2Zvcm1hdGl2ZSzigJ0gc2FpZCBNYXJ5YW5uIFAuIEZlbGRtYW4sIGEgcHJvZmVzc29yIG9mIHB1YmxpYyBwb2xpY3kgYXQgdGhlIFVuaXZlcnNpdHkgb2YgTm9ydGggQ2Fyb2xpbmEgYXQgQ2hhcGVsIEhpbGwgd2hvIHN0dWRpZXMgdGhlIGFwcHJvYWNoLlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L3NlY3Rpb24+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFxuXFx0PHNlY3Rpb24gaWQ9XFxcImVuZFxcXCIgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiIHN0eWxlPVxcXCJtYXJnaW4tdG9wOiAwOyBwYWRkaW5nLXRvcDogNTBweFxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDYgLW9mZnNldDNcXFwiPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdFllYXIgYWZ0ZXIgeWVhciwgdGhlIGZvdW5kYXRpb24gaGVsZCBnYWxhcywgaGlrZXMsIHJ1bnMgYW5kIGdvbGYgdG91cm5hbWVudHMsIGV2ZW50dWFsbHkgcmFpc2luZyBtb3JlIHRoYW4gYSBxdWFydGVyLWJpbGxpb24gZG9sbGFycy4gV2l0aCBncmVhdCBza2lsbCwgaXQgdXNlZCB0aGUgbW9uZXkgdG8gZXN0YWJsaXNoIHBhcnRuZXJzaGlwcyBhY3Jvc3MgaW5kdXN0cnkgYW5kIGFjYWRlbWlhLCBzbWFzaGluZyB0aHJvdWdoIHRoZSB3YWxscyB0aGF0IHR5cGljYWxseSBmb3JtIGFyb3VuZCByZXNlYXJjaCB0ZWFtcy5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0QnkgZWFybHkgMjAxMiwgdGhlIGZpbmFuY2lhbCBzdXJnZSBwcm9kdWNlZCB0aGUgZmlyc3QgdHJlYXRtZW50IGZvciBhbiB1bmRlcmx5aW5nIGNhdXNlIG9mIGN5c3RpYyBmaWJyb3Npcy4gVGhlIGRydWcgY291bnRlcnMgYSBnZW5lIG11dGF0aW9uIHRoYXQgYWNjb3VudHMgZm9yIDQgcGVyY2VudCBvZiB0aGUgY2FzZXMgaW4gdGhlIFVuaXRlZCBTdGF0ZXMg4oCUIGFib3V0IDEsMjAwIHBlb3BsZS4gVGhlIG1lZGljYXRpb24gdGhpbm5lZCB0aGUgZGVhZGx5IG11Y3VzLCBsZXNzZW5pbmcgc3ltcHRvbXMgYW5kIGRyYXN0aWNhbGx5IGltcHJvdmluZyBxdWFsaXR5IG9mIGxpZmUuXFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvc2VjdGlvbj5cXG5cXG5cXHQ8c2VjdGlvbiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDggLW9mZnNldDJcXFwiPlxcblxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfbWFqb3JcXFwiPlxcblxcdFxcdFxcdFxcdFxcdE1lbGFub21hLCB0aGUgZGVhZGxpZXN0IG9mIHNraW4gY2FuY2VycywgYWxzbyBzdHJpa2VzIGFuZCBraWxscyB3aGl0ZXMgcHJlZmVyZW50aWFsbHkuIERlYnJhIEJsYWNrLCB3aWZlIG9mIHRoZSBmaW5hbmNpZXIgTGVvbiBCbGFjaywgc3Vydml2ZWQgYSBiYWQgc2NhcmUuIFNvb24gYWZ0ZXIsIHRoZSBjb3VwbGUgdGVhbWVkIHVwIHdpdGggTWljaGFlbCBSLiBNaWxrZW4sIHRoZSBmb3JtZXIganVuay1ib25kIGZpbmFuY2llciwgd2hvc2UgY2hhcml0eSBGYXN0ZXJDdXJlcyBnaXZlcyBhZHZpY2Ugb24gaG93IHRvIGFjY2VsZXJhdGUgcmVzZWFyY2gsIHRvIGZvdW5kIHRoZSBNZWxhbm9tYSBSZXNlYXJjaCBBbGxpYW5jZS4gSXQgcXVpY2tseSBiZWNhbWUgdGhlIHdvcmxk4oCZcyBsYXJnZXN0IHByaXZhdGUgc3BvbnNvciBvZiBtZWxhbm9tYSByZXNlYXJjaCwgYXdhcmRpbmcgbW9yZSB0aGFuICQ1MCBtaWxsaW9uIGZvciB3b3JrIGF0IFlhbGUsIENvbHVtYmlhIGFuZCBvdGhlciB1bml2ZXJzaXRpZXMuXFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdFxcdDxocj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L3NlY3Rpb24+XFxuXFxuPC9hcnRpY2xlPlxcblxcbjxhcnRpY2xlIGlkPVxcXCJjb21tZW50c1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0XFxuXFx0XFx0PGgxIGNsYXNzPVxcXCJ0ay1hbHRlcm5hdGUtZ290aGljLW5vLTMtZCBfY2VudGVyX1xcXCIgc3R5bGU9XFxcIm1hcmdpbi1ib3R0b206IDQ1cHhcXFwiPkNvbW1lbnRzPC9oMT5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiAtb2Zmc2V0M1xcXCI+XFxuXFx0XFx0XFxuXFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItY29tbWVudHNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsaSBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgY2xhc3M9XFxcIi1pdGVtIC1zY2FsZS0tXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciAtY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvc29mZmVzLzEyOC5qcGdcXFwiIGFsdD1cXFwic29mZmVzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXY+PGEgaHJlZj1cXFwiXFxcIiBjbGFzcz1cXFwiLWF2YXRhclxcXCI+U29mZmVzPC9hPiZuYnNwOyZuYnNwOzxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWVycm9yLSBfaGlkZGVuX1xcXCI+MTI8L3NwYW4+PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0WW91IGtub3cgd2hhdCBlbHNlIGlzIFxcXCJhcmNhbmVcXFwiLCAxNDAgY2hhcmFjdGVycy5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJfaGlkZGVuX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLXVwXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIF9zbWFsbCAtcHJpbWFyeS1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1yZXBseVxcXCI+PC9pPiBSZXBseTwvYT5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXR3aXR0ZXJcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mYWNlYm9va1xcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWdvb2dsZS1wbHVzXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFxuXFx0XFx0XFx0XFx0XFx0PGxpIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBjbGFzcz1cXFwiLWl0ZW0gLW9mZnNldDEgLXNjYWxlLS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9tYXJrZ2FtenkvMTI4LmpwZ1xcXCIgYWx0PVxcXCJtYXJrZ2FtenlcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdj48YSBocmVmPVxcXCJcXFwiIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5NYXJrZ2Ftenk8L2E+Jm5ic3A7Jm5ic3A7PHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS0gX2hpZGRlbl9cXFwiPjE2NTwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRNYXliZSBpdCBpcyBqdXN0IHRoZWlyIHdheSB0byBmb3JjZSB1c2VycyB0byB1c2UgdGhlIG9yaWdpbmFsIHR3aXR0ZXIgY2xpZW50LiBJbiBldmVyeSBvdGhlciBjbGllbnQgdGhlIFxcXCJmZWF0dXJlXFxcIiBsb29rcyBjb25mdXNpbmcgYW5kIHNvIHdlIGhhdmUgdG8gdXNlIHRoZSBvcmlnaW5hbCBjbGllbnRcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJfaGlkZGVuX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLXVwXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIF9zbWFsbCAtcHJpbWFyeS1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1yZXBseVxcXCI+PC9pPiBSZXBseTwvYT5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXR3aXR0ZXJcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mYWNlYm9va1xcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWdvb2dsZS1wbHVzXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFxuXFx0XFx0XFx0XFx0XFx0PGxpIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBjbGFzcz1cXFwiLWl0ZW0gLW9mZnNldDEgLXNjYWxlLS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci90ZWNsYXJvLzEyOC5qcGdcXFwiIGFsdD1cXFwiVGVjbGFyb1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2PjxhIGhyZWY9XFxcIlxcXCIgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPlRlY2xhcm88L2E+Jm5ic3A7Jm5ic3A7PHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtZGFyay0gX2hpZGRlbl9cXFwiPjY3PC9zcGFuPjwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdEluIG15IG9waW5pb24gKGFuZCBhcyBhIFVJIGFuZCBVWCBkZXNpZ25lciksIHRoaXMgaXMgYSBzdGVwIGluIHRoZSByaWdodCBkaXJlY3Rpb24uIEV2ZW4gd2hlbiB2aWV3aW5nIHRob3NlIGV4YW1wbGVzIGFib3ZlLCB0aGUgY29udGV4dCBpc24ndCBoaW5kZXJlZCB3aGVuIEAgaXNuJ3QgcHJlc2VudCBhbmQgbWFrZXMgdGhlIGNvbnZlcnNhdGlvbiBtb3JlIGxlZ2libGUuXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiX2hpZGRlbl9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi11cFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWNoZXZyb24tZG93blxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfc21hbGwgLXByaW1hcnktXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtcmVwbHlcXFwiPjwvaT4gUmVwbHk8L2E+XFxuXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10d2l0dGVyXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZmFjZWJvb2tcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1nb29nbGUtcGx1c1xcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2xpPlxcblxcblxcdFxcdFxcdFxcdFxcdDxsaSBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgY2xhc3M9XFxcIi1pdGVtIC1vZmZzZXQyIC1zY2FsZS0tXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciAtY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvZWR3ZWxsYnJvb2svMTI4LmpwZ1xcXCIgYWx0PVxcXCJFZHdlbGxicm9va1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2PjxhIGhyZWY9XFxcIlxcXCIgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPkVkd2VsbGJyb29rPC9hPiZuYnNwOyZuYnNwOzxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWRhcmstIF9oaWRkZW5fXFxcIj42Nzwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRTdXJlIHRoZXkgYXJlIHRoaW5raW5nIGFib3V0IHJlbW92aW5nIEByZXBsaWVzIGJ1dCB0aGUgY29uY2VwdCBvZiByZXBseWluZyB3aWxsIHN0aWxsIGV4aXN0LiBJdCdzIGp1c3QgdGhlIGRldGFpbHMgb2Ygd2hvIHlvdSBhcmUgcmVwbHlpbmcgdG8gd2lsbCBiZSBjb250YWluZWQgaW4gbWV0YWRhdGEgYW5kIG5vdCBpbiB0aGUgYm9keSBvZiB0aGUgdHdlZXQuIFRoaXMgaXMgZ29vZCBhcyBpdCB3aWxsIGZyZWUgdXAgbW9yZSBjaGFyYWN0ZXJzIGZvciB0aGUgdHdlZXQuIEhvd2V2ZXIgSSdtIHN1cmUgaXQgd2lsbCBhbHNvIGxlYWQgdG8gcGVvcGxlIGJlaW5nIHVuc3VyZSBvZiB3aGV0aGVyIGEgdHdlZXQgd2lsbCBiZSBkaXJlY3RlZCBhdCBvbmUgcGVyc29uIG9yIHRoZWlyIHdob2xlIHRpbWVsaW5lIGluIHRoZSBzYW1lIHdheSBhcyBwZW9wbGUgb2Z0ZW4gbWlzdGFrZW5seSBwb3N0IGEgRE0gdG8gdGhlaXIgdGltZWxpbmUuXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiX2hpZGRlbl9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi11cFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWNoZXZyb24tZG93blxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfc21hbGwgLXByaW1hcnktXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtcmVwbHlcXFwiPjwvaT4gUmVwbHk8L2E+XFxuXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10d2l0dGVyXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZmFjZWJvb2tcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1nb29nbGUtcGx1c1xcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2xpPlxcblxcblxcdFxcdFxcdFxcdFxcdDxsaSBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgY2xhc3M9XFxcIi1pdGVtIC1zY2FsZS0tXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciAtY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdj48YSBocmVmPVxcXCJcXFwiIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5LcnlzdGFsZmlzdGVyPC9hPiZuYnNwOyZuYnNwOzxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLXByaW1hcnktIF9oaWRkZW5fXFxcIj4xNjc8L3NwYW4+PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0TWF5YmUgaXQgaXMganVzdCB0aGVpciB3YXkgdG8gZm9yY2UgdXNlcnMgdG8gdXNlIHRoZSBvcmlnaW5hbCB0d2l0dGVyIGNsaWVudC4gSW4gZXZlcnkgb3RoZXIgY2xpZW50IHRoZSBcXFwiZmVhdHVyZVxcXCIgbG9va3MgY29uZnVzaW5nIGFuZCBzbyB3ZSBoYXZlIHRvIHVzZSB0aGUgb3JpZ2luYWwgY2xpZW50XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiX2hpZGRlbl9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi11cFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWNoZXZyb24tZG93blxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfc21hbGwgLXByaW1hcnktXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtcmVwbHlcXFwiPjwvaT4gUmVwbHk8L2E+XFxuXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10d2l0dGVyXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZmFjZWJvb2tcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1nb29nbGUtcGx1c1xcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdFxcdDwvdWw+XFxuXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PC9kaXY+XFxuXFxuXFx0PC9kaXY+XFxuXFxuPC9hcnRpY2xlPlwifSxcInVwZ3JhZGVCcm93c2VyXCI6XCI8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuPGgxIHN0eWxlPVxcXCJ0ZXh0LWFsaWduOiBjZW50ZXJcXFwiPlBsZWFzZSwgdXBncmFkZSB5b3VyIGJyb3dzZXIhPC9oMT5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRBY3R1YWxseSBNYXhtZXJ0a2l0IHBhcnRseSBzdXBwb3J0cyBpZSA3LjAgYW5kIDguMCwgYnV0IEkgY2FuJ3QgcHJvbWlzZSB5b3UgdGhhdCBpdCB3aWxsIHdvcmsgd2VsbC4gU28gSSBkZWNpZGVkIHRvIGhpZGUgZG9jdW1lbnRhdGlvbiBmb3IgSUU4IGFuZCBwcmV2aW91cyB2ZXJzaW9ucy4gSG9wZSBmb3IgeW91ciB1bmRlcnN0YW5kaW5nLlxcbjwvYmxvY2txdW90ZT5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L2Rpdj5cXG5cIixcIm1haW5cIjpcIjxoZWFkZXIgY2xhc3M9XFxcIi1uYXZiYXIgZGV2LW5hdmJhclxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgX2hpZGRlbi10YWJsZXRzXyBfaGlkZGVuLXBob25lc19cXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPjxhIGhyZWY9XFxcIi9cXFwiIGNsYXNzPVxcXCJkZXYtbG9nb1xcXCI+PGltZyBpdGVtcHJvcD1cXFwiaW1hZ2VcXFwiIHNyYz1cXFwiL2ltZy9sb2dvLnBuZ1xcXCI+PC9hPjwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxuYXYgcm9sZT1cXFwibWVudVxcXCIgaWQ9XFxcIm1haW5tZW51XFxcIiBjbGFzcz1cXFwiLWNvbDYgX2hpZGRlbi10YWJsZXRzXyBfaGlkZGVuLXBob25lc19cXFwiPjwvbmF2PlxcblxcblxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBfaGlkZGVuLWRlc2t0b3BzXyBfaGlkZGVuLWxhcmdlLWRlc2t0b3BzX1xcXCIgc3R5bGU9XFxcInRleHQtYWxpZ246IGNlbnRlclxcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+PGEgaHJlZj1cXFwiL1xcXCIgY2xhc3M9XFxcImRldi1sb2dvXFxcIj48aW1nIHNyYz1cXFwiL2ltZy9sb2dvLnBuZ1xcXCI+PC9hPjwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgaWQ9XFxcIm1vYmlsZW1lbnVcXFwiIGNsYXNzPVxcXCJkZXYtbW9iaWxlLW1lbnUgLWNvbDEyIF9oaWRkZW4tZGVza3RvcHNfIF9oaWRkZW4tbGFyZ2UtZGVza3RvcHNfXFxcIj48L2Rpdj5cXG5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNSBfaGlkZGVuLXRhYmxldHNfIF9oaWRkZW4tcGhvbmVzX1xcXCI+XFxuXFx0XFx0XFx0XFx0PHNwYW4gaWQ9XFxcInNvY2lhbC10d2l0dGVyXFxcIj48L3NwYW4+XFxuXFx0XFx0XFx0XFx0PHNwYW4gaWQ9XFxcInNvY2lhbC1mYWNlYm9va1xcXCI+PC9zcGFuPlxcblxcdFxcdFxcdFxcdDxzcGFuIGlkPVxcXCJzb2NpYWwtZ2l0aHViXFxcIj48L3NwYW4+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9oZWFkZXI+XFxuXFxuPGRpdiBpZD1cXFwibG9hZGVyXFxcIiBjbGFzcz1cXFwiZGV2LWxvYWRlciAtc2hhZGVyIF9yZXNwb25zaXZlXyAtZmFkZWluLS0gX2FjdGl2ZV9cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXNxdWFyZSBfcmVzcG9uc2l2ZV8gX2h1Z2VcXFwiPjwvZGl2PlxcbjwvZGl2PlxcblxcbjxtYWluIGlkPVxcXCJtYWluY29udGVudFxcXCI+XFxuXFxuPC9tYWluPlxcblxcbjxmb290ZXI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDYgLW9mZnNldDNcXFwiPlxcblxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfY2VudGVyX1xcXCI+PHNwYW4gaXRlbXByb3A9XFxcIm5hbWVcXFwiPk1heG1lcnRraXQ8L3NwYW4+IG1hZGUgZm9yIGFsbCBnb29kIHBlb3BsZSBieSA8YSBocmVmPVxcXCJtYWlsdG86e3thdXRob3IuZW1haWx9fVxcXCI+PHNwYW4gaXRlbXByb3A9XFxcImF1dGhvclxcXCIgaXRlbXNjb3BlIGl0ZW10eXBlPVxcXCJodHRwOi8vc2NoZW1hLm9yZy9QZXJzb25cXFwiPjxzcGFuIGl0ZW1wcm9wPVxcXCJuYW1lXFxcIj57e2F1dGhvci5uYW1lfX08L3NwYW4+PC9zcGFuPjwvYT4uPC9wPlxcblxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfY2VudGVyX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4tYm9yZGVyZWQgX21pbm9yIC1pbmZvLVxcXCIgaHJlZj1cXFwiaHR0cDovL3R3aXR0ZXIuY29tL3ZtYXhtZXJ0XFxcIiBkYXRhLWJ5cGFzcz48aSBjbGFzcz1cXFwiZmEgZmEtdHdpdHRlclxcXCI+PC9pPiB0d2l0dGVyPC9hPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuLWJvcmRlcmVkIF9taW5vciAtcHJpbWFyeS1cXFwiIGhyZWY9XFxcImh0dHA6Ly9mYWNlYm9vay5jb20vdmV0cmVua28ubWF4aW1cXFwiIGRhdGEtYnlwYXNzPjxpIGNsYXNzPVxcXCJmYSBmYS1mYWNlYm9va1xcXCI+PC9pPiBmYWNlYm9vazwvYT5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0bi1ib3JkZXJlZCBfbWlub3IgLWRhcmstXFxcIiBocmVmPVxcXCJodHRwOi8vZ2l0aHViLmNvbS9tYXhtZXJ0XFxcIiBkYXRhLWJ5cGFzcz48aSBjbGFzcz1cXFwiZmEgZmEtZ2l0aHViXFxcIj48L2k+IGdpdGh1YjwvYT5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0bi1ib3JkZXJlZCBfbWlub3IgLWVycm9yLVxcXCIgaHJlZj1cXFwiaHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vK01heGltVmV0cmVua28/cmVsPWF1dGhvclxcXCIgZGF0YS1ieXBhc3M+PGkgY2xhc3M9XFxcImZhIGZhLWdvb2dsZVxcXCI+PC9pPiBnb29nbGUrPC9hPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuLWJvcmRlcmVkIF9taW5vciAta2l0LVxcXCIgaHJlZj1cXFwibWFpbHRvOnt7YXV0aG9yLmVtYWlsfX1cXFwiIGRhdGEtYnlwYXNzPjxpIGNsYXNzPVxcXCJmYSBmYS1lbnZlbG9wZS1vXFxcIj48L2k+IGVtYWlsPC9hPlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHQ8cCBjbGFzcz1cXFwiX2NlbnRlcl9cXFwiPkNvZGUgbGljZW5zZWQgdW5kZXIgPGEgcmVsPVxcXCJsaWNlbnNlXFxcIiBocmVmPVxcXCJodHRwczovL2dpdGh1Yi5jb20vbWF4bWVydC9tYXhtZXJ0a2l0L2Jsb2IvbWFzdGVyL0xJQ0VOU0VcXFwiIHRhcmdldD1cXFwiX2JsYW5rXFxcIiBkYXRhLWJ5cGFzcz5NSVQ8L2E+LCBkb2N1bWVudGF0aW9uIHVuZGVyIDxhIGhyZWY9XFxcImh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC9cXFwiIGRhdGEtYnlwYXNzPkNDIEJZIDMuMDwvYT4uPC9wPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcImRldl9jZW50ZXJfXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcImRldi1saW5rc1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdHZlci4ge3t2ZXJzaW9ufX1cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCJ7e3JlcG9zaXRvcnkudXJsfX1cXFwiIGRhdGEtYnlwYXNzPmdpdGh1YjwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCJ7e2J1Z3MudXJsfX1cXFwiIGRhdGEtYnlwYXNzPmlzc3VlczwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCJ7e3JlcG9zaXRvcnkucmVsZWFzZXN9fVxcXCIgZGF0YS1ieXBhc3M+cmVsZWFzZXM8L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgaHJlZj1cXFwiL2NoYW5nZWxvZ1xcXCI+Y2hhbmdlbG9nPC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcImh0dHA6Ly9vbGQubWF4bWVydC5jb21cXFwiIGRhdGEtYnlwYXNzPm9sZCB2ZXJzaW9uPC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Zvb3Rlcj5cXG5cIixcImVycm9yNDA0XCI6XCI8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIiBzdHlsZT1cXFwicGFkZGluZzogMjAwcHggMFxcXCI+XFxuXFx0PGgxIGNsYXNzPVxcXCJfY2VudGVyX1xcXCI+XFxuXFx0XFx0PHNwYW4gY2xhc3M9XFxcImRldi1mb250LXJhbGV3YXlcXFwiPjQwNDwvc3Bhbj4mbmJzcDs8c3BhbiBjbGFzcz1cXFwiZGV2LWZvbnQtbG9ic3RlclxcXCI+VGhlIHBhZ2UgaXMgbm90IGZvdW5kPC9zcGFuPlxcblxcdDwvaDE+XFxuPC9kaXY+XFxuXCJ9Il19 +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlcyI6WyIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcGFjay9fcHJlbHVkZS5qcyIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9hcHAuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL2NvbGxlY3Rpb252aWV3cy9jb250ZW50LmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9jb2xsZWN0aW9udmlld3MvaGVhZGVyL21lbnUuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL2NvbGxlY3Rpb252aWV3cy9zaWRlYmFyL21lbnUuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL2NvbmZpZy5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvY29udGVudHMuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL2xheW91dHMvaW5kZXguY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL2xheW91dHMvcGFnZXMvNDA0LmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9sYXlvdXRzL3BhZ2VzL2Jhc2ljLmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9sYXlvdXRzL3BhZ2VzL2NoYW5nZWxvZy5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvbGF5b3V0cy9wYWdlcy9jb21wb25lbnRzLmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9sYXlvdXRzL3BhZ2VzL2V4YW1wbGVzLmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9sYXlvdXRzL3BhZ2VzL2luZGV4LmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9sYXlvdXRzL3BhZ2VzL3N0YXJ0LmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9sYXlvdXRzL3BhZ2VzL3V0aWxpdGllcy5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvbGF5b3V0cy9wYWdlcy93aWRnZXRzLmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS9tb2RlbHMvaGVhZGVyL3NvY2lhbC5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvbW9kZWxzL3BhZ2VzL2luZGV4L3Nlcmllcy5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvbW9kZWxzL3BhZ2VzL3NvY2lhbC5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvbW9kZWxzL3NpZGViYXIvbWVudS5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvcm91dGVycy9yb3V0ZXIuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL3ZpZXdzL2NvbnRlbnQuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL3ZpZXdzL2hlYWRlci9tZW51LmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS92aWV3cy9oZWFkZXIvc29jaWFsLmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2NvZmZlZS92aWV3cy9wYWdlcy9pbmRleC9zZXJpZXMuY29mZmVlIiwiL1VzZXJzL21heG1lcnQvUHJvamVjdHMvbWF4bWVydGtpdC9tYWluL2RvY3MvY29mZmVlL3ZpZXdzL3BhZ2VzL3NvY2lhbC5jb2ZmZWUiLCIvVXNlcnMvbWF4bWVydC9Qcm9qZWN0cy9tYXhtZXJ0a2l0L21haW4vZG9jcy9jb2ZmZWUvdmlld3Mvc2lkZWJhci9tZW51LmNvZmZlZSIsIi9Vc2Vycy9tYXhtZXJ0L1Byb2plY3RzL21heG1lcnRraXQvbWFpbi9kb2NzL2pzL3RlbXBsYXRlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBLElBQUEsK0NBQUE7O0FBQUEsMEJBQUEsR0FBNkIsU0FBQSxHQUFBO0FBQzVCLE1BQUEsVUFBQTtBQUFBLEVBQUEsRUFBQSxHQUFLLENBQUEsQ0FBTCxDQUFBO0FBQ0EsRUFBQSxJQUFHLFNBQVMsQ0FBQyxPQUFWLEtBQXFCLDZCQUF4QjtBQUNDLElBQUEsRUFBQSxHQUFLLFNBQVMsQ0FBQyxTQUFmLENBQUE7QUFBQSxJQUNBLEVBQUEsR0FBUyxJQUFBLE1BQUEsQ0FBTyw0QkFBUCxDQURULENBQUE7QUFFQSxJQUFBLElBQThCLG1CQUE5QjtBQUFBLE1BQUEsRUFBQSxHQUFLLFVBQUEsQ0FBVyxN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YSxDQUFqQixDQUFBOzs7O0FDQUEiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3Rocm93IG5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIil9dmFyIGY9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGYuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sZixmLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSIsImdldEludGVybmV0RXhwbG9yZXJWZXJzaW9uID0gLT5cblx0cnYgPSAtMSAjIFJldHVybiB2YWx1ZSBhc3N1bWVzIGZhaWx1cmUuXG5cdGlmIG5hdmlnYXRvci5hcHBOYW1lIGlzIFwiTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyXCJcblx0XHR1YSA9IG5hdmlnYXRvci51c2VyQWdlbnRcblx0XHRyZSA9IG5ldyBSZWdFeHAoXCJNU0lFIChbMC05XXsxLH1bLjAtOV17MCx9KVwiKVxuXHRcdHJ2ID0gcGFyc2VGbG9hdChSZWdFeHAuJDEpXHRpZiByZS5leGVjKHVhKT9cblx0ZWxzZVxuXHRcdHJ2ID0gMFxuXHRydlxuXG5CYWNrYm9uZS5NYXJpb25ldHRlLlJlbmRlcmVyLnJlbmRlciA9ICh0ZW1wbGF0ZSwgZGF0YSkgLT5cblx0TXVzdGFjaGUudG9faHRtbCh0ZW1wbGF0ZSwgZGF0YSk7XG5cbiQuYXBwID0gbmV3IE1hcmlvbmV0dGUuQXBwbGljYXRpb24oKVxuJC5hcHAuY29uZmlnID0gcmVxdWlyZSgnLi9jb25maWcnKS5jb25maWdcbiQuYXBwLmNvbnRlbnRzID0gcmVxdWlyZSgnLi9jb250ZW50cycpXG4kLmFwcC50ZW1wbGF0ZXMgPSByZXF1aXJlKCcuLi9qcy90ZW1wbGF0ZXMuanMnKS5tb2R1bGVcblxuIyBJbml0aWFsaXplIGJhY2tib25lIHdyZXFyIDEuMiB3aXRoIHJhZGlvLCBkb250IHN1cHBvcnQgaW4gY3VycmVudCB2ZXJzaW9uIG9mIG1hcmlvbmV0dGVcbiQuYXBwLmNvbW1hbmRzID0gQmFja2JvbmUuV3JlcXIucmFkaW8uY29tbWFuZHNcblxuUmVnaW9uSW5kZXggPSByZXF1aXJlKFwiLi9sYXlvdXRzL2luZGV4XCIpLm1vZHVsZVxuUm91dGVyID0gcmVxdWlyZShcIi4vcm91dGVycy9yb3V0ZXJcIikubW9kdWxlXG5cbiQuYXBwLmFkZFJlZ2lvbnNcblx0bWFpbjogJyNhcHAnXG5cbiQuYXBwLmFkZEluaXRpYWxpemVyIC0+XG5cdCQuYXBwLnJvdXRlciA9IG5ldyBSb3V0ZXIoKVxuXHQkLmFwcC5yb3V0ZXIub24gJ3JvdXRlJywgLT5cblx0XHQkLmFwcC52ZW50LnRyaWdnZXIgJ3JvdXRlJ1xuXG5cdHZlciA9IGdldEludGVybmV0RXhwbG9yZXJWZXJzaW9uKClcblx0aWYgdmVyID49IDkuMCBvciB2ZXIgaXMgMFxuXHRcdHB1c2hTdGF0ZSA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNlYXJjaCgvXFwjXFwhL2kpIGlzIC0xXG5cdFx0QmFja2JvbmUuaGlzdG9yeS5zdGFydFxuXHRcdFx0cHVzaFN0YXRlOiBwdXNoU3RhdGVcblx0XHRcdHNpbGVudDogb2ZmXG5cblx0ZWxzZVxuXHRcdCQoJyNhcHAnKS5odG1sICQuYXBwLnRlbXBsYXRlcy51cGdyYWRlQnJvd3NlclxuXG5cdCMgTWFrZSBhbGwgaHJlZnMgdXNlIEJhY2tib25lIGhpc3RvcnkgYW5kIHJvdXRlclxuXHQkKGRvY3VtZW50KS5vbiBcImNsaWNrXCIsIFwiYTpub3QoW2RhdGEtYnlwYXNzXSlcIiwgKGV2dCkgLT5cblx0XHRldnQucHJldmVudERlZmF1bHQoKVxuXHRcdGhyZWYgPVxuXHRcdFx0cHJvcDogJCh0aGlzKS5wcm9wKFwiaHJlZlwiKVxuXHRcdFx0YXR0cjogJCh0aGlzKS5hdHRyKFwiaHJlZlwiKVxuXG5cdFx0cm9vdCA9IGxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgbG9jYXRpb24uaG9zdFxuXHRcdGlmIGhyZWYucHJvcCBhbmQgaHJlZi5wcm9wLnNsaWNlKDAsIHJvb3QubGVuZ3RoKSBpcyByb290XG5cdFx0XHRldnQucHJldmVudERlZmF1bHQoKVxuXHRcdFx0QmFja2JvbmUuaGlzdG9yeS5uYXZpZ2F0ZSBocmVmLmF0dHIsIHRydWVcblxuXG4kLmFwcC5tYWluLnNob3cgbmV3IFJlZ2lvbkluZGV4KClcblxuXG4kLmFwcC5zdGFydCgpXG4iLCJyZXBsYWNlVGFnID0gKHRhZykgLT5cbiAgICB0YWdzVG9SZXBsYWNlW3RhZ10gb3IgdGFnXG5cbnNhZmVfdGFnc19yZXBsYWNlID0gKHN0cikgLT5cbiAgICBzdHIucmVwbGFjZSAvWyY8Pl0vZywgcmVwbGFjZVRhZ1xuXG50YWdzVG9SZXBsYWNlID1cbiAgICBcIiZcIjogXCImYW1wO1wiXG4gICAgXCI8XCI6IFwiJmx0O1wiXG4gICAgXCI+XCI6IFwiJmd0O1wiXG5cblxuVmlld0NvbnRlbnQgPSByZXF1aXJlKCcuLi92aWV3cy9jb250ZW50JykubW9kdWxlXG5cbkNvbGxlY3Rpb25Db250ZW50ID0gQmFja2JvbmUuQ29sbGVjdGlvbi5leHRlbmQoKVxuXG5leHBvcnRzLm1vZHVsZSA9IE1hcmlvbmV0dGUuQ29sbGVjdGlvblZpZXcuZXh0ZW5kXG4gICAgaXRlbVZpZXc6IFZpZXdDb250ZW50XG4gICAgY29sbGVjdGlvbjogbmV3IENvbGxlY3Rpb25Db250ZW50KClcblxuICAgIGluaXRpYWxpemU6IC0+XG4gICAgICAgIEBsaXN0ZW5UbyAkLmFwcC52ZW50LCAncm91dGUnLCBAcmVzZXRDb2xsZWN0aW9uXG4gICAgICAgIEBsaXN0ZW5UbyBALCBcImNvbGxlY3Rpb246cmVuZGVyZWRcIiwgQGhpZ2hsaWdodENvZGVcblxuICAgIHRvQ29sbGVjdGlvbjogKCBjb250ZW50cywgb2JqZWN0KSAtPlxuICAgICAgICByZXN1bHQgPSBbXVxuXG4gICAgICAgIGZvciBrZXksIHZhbHVlIGluIGNvbnRlbnRzXG4gICAgICAgICAgICBpZiBrZXkuaW5jbHVkZT8gYW5kIGtleS5pbmNsdWRlLmxlbmd0aFxuICAgICAgICAgICAgICAgIGlubmVyID0gb2JqZWN0WyBrZXkubmFtZSBdXG5cbiAgICAgICAgICAgICAgICBmb3IgbWVudUl0ZW0gaW4ga2V5LmluY2x1ZGVcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2hcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lbnU6IG1lbnVJdGVtLm1lbnVcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IG1lbnVJdGVtLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IG1lbnVJdGVtLnBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpbm5lclsgbWVudUl0ZW0ubmFtZSBdXG5cbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaFxuICAgICAgICAgICAgICAgICAgICBtZW51OiBrZXkubWVudVxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBrZXkubmFtZVxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBrZXkucGF0aFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb2JqZWN0WyBrZXkubmFtZSBdXG4gICAgICAgIHJlc3VsdFxuXG4gICAgcmVzZXRDb2xsZWN0aW9uOiAtPlxuICAgICAgICBAY29sbGVjdGlvbi5yZXNldCBAdG9Db2xsZWN0aW9uICQuYXBwLmNvbnRlbnRzWyBCYWNrYm9uZS5oaXN0b3J5LnRlbXBsYXRlcyBdLCAkLmFwcC50ZW1wbGF0ZXMua2l0WyBCYWNrYm9uZS5oaXN0b3J5LnRlbXBsYXRlcyBdXG5cbiAgICBvblJlbmRlcjogLT5cbiAgICAgICAgaWYgJC5hcHAubWFpbi5jdXJyZW50Vmlldy5jb250ZW50LmN1cnJlbnRWaWV3P1xuXG4gICAgICAgICAgICBAbWVudSA9ICQuYXBwLm1haW4uY3VycmVudFZpZXcuY29udGVudC5jdXJyZW50Vmlldy5zaWRlYmFyLiRlbFxuICAgICAgICAgICAgc2V0VGltZW91dCA9PlxuICAgICAgICAgICAgICAgIGlmIEBtZW51WzBdLmRhdGE/IGFuZCBAbWVudVswXS5kYXRhWydraXRTY3JvbGxzcHknXT9cbiAgICAgICAgICAgICAgICAgICAgQG1lbnVbMF0uZGF0YVsna2l0U2Nyb2xsc3B5J10ucmVmcmVzaCgpXG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBAbWVudVswXS5zY3JvbGxzcHlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogJy5kZXYtbWFpbi1jb250ZW50J1xuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAxNVxuICAgICAgICAgICAgLCAxMDBcblxuICAgIG9uQmVmb3JlQ2xvc2U6IC0+XG4gICAgICAgIEBtZW51WzBdLmRhdGFbJ2tpdFNjcm9sbHNweSddLmRlc3Ryb3koKVxuXG4gICAgaGlnaGxpZ2h0Q29kZTogLT5cbiAgICAgICAgJGVsZW1lbnRzID0gQCRlbC5maW5kKCdbaGxqc10nKVxuICAgICAgICBjb3VudCA9ICRlbGVtZW50cy5sZW5ndGhcblxuICAgICAgICAkZWxlbWVudHMuZWFjaCAoIGluZGV4LCBwcmUgKSA9PlxuICAgICAgICAgICAgJHByZSA9ICQocHJlKVxuICAgICAgICAgICAgaHRtbCA9ICRwcmUuaHRtbCgpXG5cbiAgICAgICAgICAgIGlmIG5vdCAkcHJlLmhhc0NsYXNzICdsYW5nLWNvZmZlZXNjcmlwdCdcbiAgICAgICAgICAgICAgICAkKHByZSkuaHRtbCBzYWZlX3RhZ3NfcmVwbGFjZShodG1sKVxuXG4gICAgICAgICAgICBpZiAtLWNvdW50IDw9IDBcbiAgICAgICAgICAgICAgICBwcmV0dHlQcmludCgpXG4gICAgICAgICAgICAgICAgaWYgQG1lbnU/IGFuZCBAbWVudVswXS5kYXRhPyBhbmQgQG1lbnVbMF0uZGF0YVsna2l0U2Nyb2xsc3B5J10/XG4gICAgICAgICAgICAgICAgICAgIEBtZW51WzBdLmRhdGFbJ2tpdFNjcm9sbHNweSddLnJlZnJlc2goKVxuIiwiIyBNb2RlbE1lbnUgPSByZXF1aXJlKCcuLi8uLi9tb2RlbHMvc2lkZWJhci9tZW51JykubW9kdWxlXG5WaWV3TWVudSA9IHJlcXVpcmUoJy4uLy4uL3ZpZXdzL2hlYWRlci9tZW51JylcbiNcbiNcbmNvbGxlY3Rpb25EYXRhID0gW11cbl8uZWFjaCAkLmFwcC5jb250ZW50cywgKCB2YWwsIGtleSApIC0+XG4gICAgY29sbGVjdGlvbkRhdGEucHVzaFxuICAgICAgICBuYW1lOiBrZXlcblxuY29sbGVjdGlvbk1lbnUgPSBuZXcgQmFja2JvbmUuQ29sbGVjdGlvbiBjb2xsZWN0aW9uRGF0YVxuXG5cbiMgTWFpbiBtZW51IGluIGhlYWRlclxuIyBWaXNpYmxlIG9ubHkgb24gYmlnIHNjcmVlbnNcbmV4cG9ydHMubWFpbiA9IE1hcmlvbmV0dGUuQ29sbGVjdGlvblZpZXcuZXh0ZW5kXG4gICAgdGFnTmFtZTogXCJ1bFwiXG4gICAgY2xhc3NOYW1lOiAnLW1lbnUnXG4gICAgaXRlbVZpZXc6IFZpZXdNZW51Lm1haW5cbiAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uTWVudVxuICAgIGNoYW5uZWw6IEJhY2tib25lLldyZXFyLnJhZGlvLmNoYW5uZWwoICdtZW51JyApXG5cbiAgICBpbml0aWFsaXplOiAtPlxuXG4gICAgICAgIEBjaGFubmVsLmNvbW1hbmRzLnNldEhhbmRsZXIgJ2FjdGl2YXRlJywgKCBpZCApID0+XG4gICAgICAgICAgICBAJGVsLmZpbmQoJ2xpLl9hY3RpdmVfJykucmVtb3ZlQ2xhc3MgJ19hY3RpdmVfJ1xuICAgICAgICAgICAgaWYgaWQ/XG4gICAgICAgICAgICAgICAgJC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbW9iaWxlbWVudScsICdhY3RpdmF0ZScsIGlkXG4gICAgICAgICAgICAgICAgQCRlbC5maW5kKCBpZCApLnBhcmVudCgpLmFkZENsYXNzICdfYWN0aXZlXydcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAkLmFwcC5jb21tYW5kcy5leGVjdXRlICdtb2JpbGVtZW51JywgJ2FjdGl2YXRlJ1xuXG5cbiMgTW9iaWxlIG1lbnUgaW4gaGVhZGVyXG4jIFZpc2libGUgb25seSBvbiB0YWJsZXRzIGFuZCBwaG9uZXNcbmV4cG9ydHMubW9iaWxlID0gTWFyaW9uZXR0ZS5Db2xsZWN0aW9uVmlldy5leHRlbmRcbiAgICB0YWdOYW1lOiBcInVsXCJcbiAgICBjbGFzc05hbWU6ICctcGlsbHMgLWRhcmstJ1xuICAgIGl0ZW1WaWV3OiBWaWV3TWVudS5tb2JpbGVcbiAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uTWVudVxuICAgIGNoYW5uZWw6IEJhY2tib25lLldyZXFyLnJhZGlvLmNoYW5uZWwoICdtb2JpbGVtZW51JyApXG5cbiAgICBpbml0aWFsaXplOiAtPlxuXG4gICAgICAgIEBjaGFubmVsLmNvbW1hbmRzLnNldEhhbmRsZXIgJ2FjdGl2YXRlJywgKCBpZCApID0+XG4gICAgICAgICAgICBAJGVsLmZpbmQoJ2xpLl9hY3RpdmVfJykucmVtb3ZlQ2xhc3MgJ19hY3RpdmVfJ1xuICAgICAgICAgICAgaWYgaWQ/XG4gICAgICAgICAgICAgICAgQCRlbC5maW5kKCBpZCApLnBhcmVudCgpLmFkZENsYXNzICdfYWN0aXZlXydcbiIsIk1vZGVsTWVudSA9IHJlcXVpcmUoJy4uLy4uL21vZGVscy9zaWRlYmFyL21lbnUnKS5tb2RlbFxuVmlld01lbnVJdGVtID0gcmVxdWlyZSgnLi4vLi4vdmlld3Mvc2lkZWJhci9tZW51JykubW9kdWxlXG5cblxuQ29sbGVjdGlvbk1lbnUgPSBCYWNrYm9uZS5Db2xsZWN0aW9uLmV4dGVuZFxuICAgIG1vZGVsOiBNb2RlbE1lbnVcblxuY29sbGVjdGlvbk1lbnUgPSBuZXcgQ29sbGVjdGlvbk1lbnUoKVxuXG5cbmV4cG9ydHMubW9kdWxlID0gTWFyaW9uZXR0ZS5Db2xsZWN0aW9uVmlldy5leHRlbmRcbiAgICB0YWdOYW1lOiBcInVsXCJcbiAgICBjbGFzc05hbWU6ICctbGlzdC1ncm91cCAtcHJpbWFyeS0nXG4gICAgaXRlbVZpZXc6IFZpZXdNZW51SXRlbVxuICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25NZW51XG5cbiAgICBpbml0aWFsaXplOiAtPlxuICAgICAgICBAbGlzdGVuVG8gJC5hcHAudmVudCwgJ3JvdXRlJywgQHJlc2V0Q29sbGVjdGlvblxuICAgICAgICBAJGVsLmFwcGVuZCBcIjxsaSBjbGFzcz0nX3NtYWxsIF9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfJyBzdHlsZT0nbWFyZ2luLWJvdHRvbTogMTVweCc+PHNtYWxsIGNsYXNzPSdkZXYtbWVudS1zbWFsbCc+PGEgaHJlZj0nI21haW5tZW51JyBkYXRhLWJ5cGFzcz48aSBjbGFzcz0nZmEgZmEtYXJyb3ctdXAnPjwvaT4gb24gdG9wPC9hPjwvc21hbGw+PC9saT5cIlxuXG4gICAgcmVzZXRDb2xsZWN0aW9uOiAtPlxuICAgICAgICBAY29sbGVjdGlvbi5yZXNldCAkLmFwcC5jb250ZW50c1sgQmFja2JvbmUuaGlzdG9yeS50ZW1wbGF0ZXMgXVxuXG4gICAgb25CZWZvcmVDbG9zZTogLT5cbiAgICAgICAgQGVsLmRhdGFbJ2tpdEFmZml4J10uZGVzdHJveSgpXG4iLCJleHBvcnRzLmNvbmZpZyA9XG4gICAgYXBpOiBcIi9hcGkvMDFcIlxuIiwiZXhwb3J0cy5zdGFydCA9IFtcblx0e1xuXHRcdG5hbWU6IFwiZG93bmxvYWRcIlxuXHRcdHBhdGg6IFwiZG93bG9hZENvbW1vblwiXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwiZGlmZmVyZW5jZVwiXG5cdFx0cGF0aDogXCJkaWZmZXJlbmNlQ29tbW9uXCJcblx0fVxuXHR7XG5cdFx0bmFtZTogXCJzdHJ1Y3R1cmVcIlxuXHRcdHBhdGg6IFwiY29tbW9uU3RydWN0dXJlXCJcblx0XHRpbmNsdWRlOiBbXG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6ICdjb21tb24nXG5cdFx0XHRcdHBhdGg6ICdjb21tb25TdHJ1Y3R1cmUnXG5cdFx0XHRcdGludmlzaWJsZTogeWVzXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6ICdidWlsZCdcblx0XHRcdFx0cGF0aDogJ3N0cnVjdHVyZUJ1aWxkJ1xuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiAnc291cmNlcydcblx0XHRcdFx0cGF0aDogJ3N0cnVjdHVyZVNvdXJjZXMnXG5cdFx0XHR9XG5cdFx0XVxuXHR9XG5cdHtcblx0XHRuYW1lOiBcImhvd3RvXCJcblx0XHRwYXRoOiBcImNvbW1vbkhvd3RvXCJcblx0XHRpbmNsdWRlOiBbXG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6ICdjb21tb24nXG5cdFx0XHRcdHBhdGg6ICdjb21tb25Ib3d0bydcblx0XHRcdFx0aW52aXNpYmxlOiB5ZXNcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogJ2luc3RhbGwnXG5cdFx0XHRcdHBhdGg6ICdob3d0b0luc3RhbGwnXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6ICdidWlsZCdcblx0XHRcdFx0cGF0aDogJ2hvd3RvQnVpbGQnXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6ICd0aGVtZU1hbmFnZSdcblx0XHRcdFx0bWVudTogJ2FkZCBvciBlZGl0IHRoZW1lcydcblx0XHRcdFx0cGF0aDogJ2hvd3RvVGhlbWVNYW5hZ2UnXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6ICdzaXplTWFuYWdlJ1xuXHRcdFx0XHRtZW51OiAnYWRkIG9yIGVkaXQgc2l6ZXMnXG5cdFx0XHRcdHBhdGg6ICdob3d0b1NpemVNYW5hZ2UnXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6ICdlZGl0UHJlZml4ZXMnXG5cdFx0XHRcdG1lbnU6ICdjaGFuZ2UgbmFtZSBjb252ZW50aW9uJ1xuXHRcdFx0XHRwYXRoOiAnaG93dG9DaGFuZ2VOYW1lY29udmVudGlvbidcblx0XHRcdH1cblx0XHRdXG5cdH1cbl1cblxuXG5leHBvcnRzLmJhc2ljID0gW1xuXHR7XG5cdFx0bmFtZTogXCJ0eXBvZ3JhcGh5XCJcblx0XHRwYXRoOiBcInR5cG9Db21tb25cIlxuXHRcdGluY2x1ZGU6IFtcblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb21tb25cIlxuXHRcdFx0XHRwYXRoOiBcInR5cG9Db21tb25cIlxuXHRcdFx0XHRpbnZpc2libGU6IHllc1xuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcInJ0bFwiXG5cdFx0XHRcdHBhdGg6IFwidHlwb1J0bFwiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiaGVhZGluZ3NcIlxuXHRcdFx0XHRwYXRoOiBcInR5cG9IZWFkaW5nc1wiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiYm9keVwiXG5cdFx0XHRcdHBhdGg6IFwidHlwb0JvZHlcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImxpbmtzXCJcblx0XHRcdFx0cGF0aDogXCJ0eXBvTGlua3NcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImxpc3RzXCJcblx0XHRcdFx0cGF0aDogXCJ0eXBvTGlzdHNcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImNvZGVcIlxuXHRcdFx0XHRwYXRoOiBcInR5cG9Db2RlXCJcblx0XHRcdH1cblx0XHRdXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwiZ3JpZFwiXG5cdFx0cGF0aDogXCJncmlkQ29tbW9uXCJcblx0XHRpbmNsdWRlOiBbXG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiY29tbW9uXCJcblx0XHRcdFx0cGF0aDogXCJncmlkQ29tbW9uXCJcblx0XHRcdFx0aW52aXNpYmxlOiB5ZXNcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb250YWluZXJcIlxuXHRcdFx0XHRwYXRoOiBcImdyaWRDb250YWluZXJcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcInJvd1wiXG5cdFx0XHRcdHBhdGg6IFwiZ3JpZFJvd1wiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiY29sdW1uc1wiXG5cdFx0XHRcdHBhdGg6IFwiZ3JpZENvbHVtbnNcIlxuXHRcdFx0fVxuXHRcdF1cblx0fVxuXHR7XG5cdFx0bmFtZTogXCJ0YWJsZXNcIlxuXHRcdHBhdGg6IFwidGFibGVzQ29tbW9uXCJcblx0XHRpbmNsdWRlOiBbXG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiY29tbW9uXCJcblx0XHRcdFx0cGF0aDogXCJ0YWJsZXNDb21tb25cIlxuXHRcdFx0XHRpbnZpc2libGU6IHllc1xuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImJhc2ljXCJcblx0XHRcdFx0cGF0aDogXCJ0YWJsZXNiYXNpY1wiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwic3RyaXBlZFwiXG5cdFx0XHRcdHBhdGg6IFwidGFibGVzU3RyaXBlZFwiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiaG92ZXJlZFwiXG5cdFx0XHRcdHBhdGg6IFwidGFibGVzSG92ZXJlZFwiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwicm93c1wiXG5cdFx0XHRcdHBhdGg6IFwidGFibGVzUm93c1wiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiY2VsbHNcIlxuXHRcdFx0XHRwYXRoOiBcInRhYmxlc0NlbGxzXCJcblx0XHRcdH1cblx0XHRdXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwiZm9ybXNcIlxuXHRcdHBhdGg6IFwiZm9ybXNHcmlkXCJcblx0XHRpbmNsdWRlOiBbXG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiY29tbW9uXCJcblx0XHRcdFx0cGF0aDogXCJmb3Jtc0NvbW1vblwiXG5cdFx0XHRcdGludmlzaWJsZTogeWVzXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiZ3JpZFwiXG5cdFx0XHRcdHBhdGg6IFwiZm9ybXNHcmlkXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJmaWVsZHNcIlxuXHRcdFx0XHRwYXRoOiBcImZvcm1zRmllbGRzXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJmaWVsZHNldFwiXG5cdFx0XHRcdHBhdGg6IFwiZm9ybXNGaWVsZHNldFwiXG5cdFx0XHR9XG5cdFx0XVxuXHR9XG5dXG5cblxuZXhwb3J0cy53aWRnZXRzID0gW1xuXHR7XG5cdFx0bmFtZTogXCJidXR0b25zXCJcblx0XHRwYXRoOiBcImJ1dHRvbnNDb21tb25cIlxuXHRcdGluY2x1ZGU6IFtcblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb21tb25cIlxuXHRcdFx0XHRwYXRoOiBcImJ1dHRvbnNDb21tb25cIlxuXHRcdFx0XHRpbnZpc2libGU6IHllc1xuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcInRoZW1lc1wiXG5cdFx0XHRcdHBhdGg6IFwiYnV0dG9uc1RoZW1lc1wiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwic2l6ZXNcIlxuXHRcdFx0XHRwYXRoOiBcImJ1dHRvbnNTaXplc1wiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwic3RhdGVzXCJcblx0XHRcdFx0cGF0aDogXCJidXR0b25zU3RhdGVzXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJibG9ja3NcIlxuXHRcdFx0XHRwYXRoOiBcImJ1dHRvbnNCbG9ja3NcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImdob3N0XCJcblx0XHRcdFx0cGF0aDogXCJidXR0b25zR2hvc3RcIlxuXHRcdFx0fVxuXHRcdF1cblx0fVxuXHR7XG5cdFx0bmFtZTogXCJncm91cHNcIlxuXHRcdHBhdGg6IFwiZ3JvdXBzQ29tbW9uXCJcblx0XHRpbmNsdWRlOiBbXG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiY29tbW9uXCJcblx0XHRcdFx0cGF0aDogXCJncm91cHNDb21tb25cIlxuXHRcdFx0XHRpbnZpc2libGU6IHllc1xuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImJ1dHRvbnNcIlxuXHRcdFx0XHRwYXRoOiBcImdyb3Vwc0J1dHRvbnNcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImlucHV0c1wiXG5cdFx0XHRcdHBhdGg6IFwiZ3JvdXBzSW5wdXRzXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJhZGRvbnNcIlxuXHRcdFx0XHRwYXRoOiBcImdyb3Vwc0FkZG9uc1wiXG5cdFx0XHR9XG5cdFx0XVxuXHR9XG5cdHtcblx0XHRuYW1lOiBcImRyb3Bkb3duc1wiXG5cdFx0cGF0aDogXCJkcm9wZG93bnNDb21tb25cIlxuXHR9XG5cdHtcblx0XHRuYW1lOiBcIm5hdlwiXG5cdFx0cGF0aDogXCJuYXZDb21tb25cIlxuXHRcdGluY2x1ZGU6IFtcblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb21tb25cIlxuXHRcdFx0XHRwYXRoOiBcIm5hdkNvbW1vblwiXG5cdFx0XHRcdGludmlzaWJsZTogeWVzXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwibWVudVwiXG5cdFx0XHRcdHBhdGg6IFwibmF2TWVudVwiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwidGFic1wiXG5cdFx0XHRcdHBhdGg6IFwibmF2VGFic1wiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwicGlsbHNcIlxuXHRcdFx0XHRwYXRoOiBcIm5hdlBpbGxzXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJiYXJcIlxuXHRcdFx0XHRwYXRoOiBcIm5hdkJhclwiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwibGlzdC1ncm91cFwiXG5cdFx0XHRcdHBhdGg6IFwibmF2TGlzdEdyb3VwXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJidWxsZXRzXCJcblx0XHRcdFx0cGF0aDogXCJuYXZCdWxsZXRzXCJcblx0XHRcdH1cblx0XHRdXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwibGFiZWxzXCJcblx0XHRwYXRoOiBcImxhYmVsc0NvbW1vblwiXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwiYmFkZ2VzXCJcblx0XHRwYXRoOiBcImJhZGdlc0NvbW1vblwiXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwicHJvZ3Jlc3NcIlxuXHRcdHBhdGg6IFwicHJvZ3Jlc3NDb21tb25cIlxuXHRcdGluY2x1ZGU6IFtcblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb21tb25cIlxuXHRcdFx0XHRwYXRoOiBcInByb2dyZXNzQ29tbW9uXCJcblx0XHRcdH1cblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJzbGltXCJcblx0XHRcdFx0cGF0aDogXCJwcm9ncmVzc1NsaW1cIlxuXHRcdFx0fVxuXHRcdF1cblx0fVxuXHR7XG5cdFx0bmFtZTogXCJhbGVydHNcIlxuXHRcdHBhdGg6IFwiYWxlcnRzQ29tbW9uXCJcblx0fVxuXHR7XG5cdFx0bmFtZTogXCJ0aHVtYm5haWxzXCJcblx0XHRwYXRoOiBcInRodW1ibmFpbHNDb21tb25cIlxuXHRcdGluY2x1ZGU6IFtcblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb21tb25cIlxuXHRcdFx0XHRwYXRoOiBcInRodW1ibmFpbHNDb21tb25cIlxuXHRcdFx0XHRpbnZpc2libGU6IHllc1xuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImNhcHRpb25zXCJcblx0XHRcdFx0cGF0aDogXCJ0aHVtYm5haWxzQ2FwdGlvbnNcIlxuXHRcdFx0fVxuXHRcdF1cblx0fVxuXHR7XG5cdFx0bmFtZTogXCJhdmF0YXJzXCJcblx0XHRwYXRoOiBcImF2YXRhcnNDb21tb25cIlxuXHRcdGluY2x1ZGU6IFtcblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJjb21tb25cIlxuXHRcdFx0XHRwYXRoOiBcImF2YXRhcnNDb21tb25cIlxuXHRcdFx0XHRpbnZpc2libGU6IHllc1xuXHRcdFx0fVxuXHRcdF1cblx0fVxuXHR7XG5cdFx0bmFtZTogXCJjb21tZW50c1wiXG5cdFx0cGF0aDogXCJjb21tZW50c0NvbW1vblwiXG5cdFx0aW5jbHVkZTogW1xuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImNvbW1vblwiXG5cdFx0XHRcdHBhdGg6IFwiY29tbWVudHNDb21tb25cIlxuXHRcdFx0XHRpbnZpc2libGU6IHllc1xuXHRcdFx0fVxuXHRcdF1cblx0fVxuXHR7XG5cdFx0bmFtZTogXCJzcGlubmVyc1wiXG5cdFx0cGF0aDogXCJzcGlubmVyc0NvbW1vblwiXG5cdFx0aW5jbHVkZTogW1xuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcImNvbW1vblwiXG5cdFx0XHRcdHBhdGg6IFwic3Bpbm5lcnNDb21tb25cIlxuXHRcdFx0XHRpbnZpc2libGU6IHllc1xuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcInNxdWFyZVwiXG5cdFx0XHRcdHBhdGg6IFwic3Bpbm5lcnNTcXVhcmVcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcInJpbmdcIlxuXHRcdFx0XHRwYXRoOiBcInNwaW5uZXJzUmluZ1wiXG5cdFx0XHR9XG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiZmJcIlxuXHRcdFx0XHRwYXRoOiBcInNwaW5uZXJzRmJcIlxuXHRcdFx0fVxuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcIndhdmVzXCJcblx0XHRcdFx0cGF0aDogXCJzcGlubmVyc1dhdmVzXCJcblx0XHRcdH1cblx0XHRdXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwic2hhZGVyc1wiXG5cdFx0cGF0aDogXCJzaGFkZXJzQ29tbW9uXCJcblx0XHRpbmNsdWRlOiBbXG5cdFx0XHR7XG5cdFx0XHRcdG5hbWU6IFwiY29tbW9uXCJcblx0XHRcdFx0cGF0aDogXCJzaGFkZXJzQ29tbW9uXCJcblx0XHRcdFx0aW52aXNpYmxlOiB5ZXNcblx0XHRcdH1cblx0XHRdXG5cdH1cbl1cblxuZXhwb3J0cy51dGlsaXRpZXMgPSBbXG5cdHtcblx0XHRuYW1lOiBcInJlc3BvbnNpdmVcIlxuXHRcdHBhdGg6IFwicmVzcG9uc2l2ZUNvbW1vblwiXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwib3JkZXJcIlxuXHRcdHBhdGg6IFwib3JkZXJDb21tb25cIlxuXHR9XG5dXG5cblxuXG5leHBvcnRzLmNvbXBvbmVudHMgPSBbXG5cdHtcblx0XHRuYW1lOiBcImJ1dHRvblwiXG5cdFx0cGF0aDogXCJidXR0b25Db21tb25cIlxuXHR9XG5cdHtcblx0XHRuYW1lOiBcInBvcHVwXCJcblx0XHRwYXRoOiBcInBvcHVwQ29tbW9uXCJcblx0fVxuXHR7XG5cdFx0bmFtZTogXCJ0YWJzXCJcblx0XHRwYXRoOiBcInRhYnNDb21tb25cIlxuXHR9XG5cdHtcblx0XHRuYW1lOiBcIm1vZGFsXCJcblx0XHRwYXRoOiBcIm1vZGFsQ29tbW9uXCJcblx0fVxuXHR7XG5cdFx0bmFtZTogXCJzY3JvbGxzcHlcIlxuXHRcdHBhdGg6IFwic2Nyb2xsc3B5Q29tbW9uXCJcblx0fVxuXHR7XG5cdFx0bmFtZTogXCJhZmZpeFwiXG5cdFx0cGF0aDogXCJhZmZpeENvbW1vblwiXG5cdH1cblx0e1xuXHRcdG5hbWU6IFwid2FsbFwiXG5cdFx0cGF0aDogXCJ3YWxsQ29tbW9uXCJcblx0fVxuXHR7XG5cdFx0bmFtZTogXCJza3lsaW5lXCJcblx0XHRwYXRoOiBcInNreWxpbmVDb21tb25cIlxuXHR9XG5dXG4iLCJDb2xsZWN0aW9uVmlld01lbnUgPSByZXF1aXJlKCAnLi4vY29sbGVjdGlvbnZpZXdzL2hlYWRlci9tZW51JyApXG5WaWV3U29jaWFsQnV0dG9uID0gcmVxdWlyZSggJy4uL3ZpZXdzL2hlYWRlci9zb2NpYWwnIClcblxuXG5leHBvcnRzLm1vZHVsZSA9IE1hcmlvbmV0dGUuTGF5b3V0LmV4dGVuZFxuXG4gICAgdGVtcGxhdGU6ICQuYXBwLnRlbXBsYXRlcy5tYWluXG4gICAgbW9kZWw6IG5ldyBCYWNrYm9uZS5Nb2RlbCBraXRcblxuICAgIHJlZ2lvbnM6XG4gICAgICAgIG1lbnU6ICcjbWFpbm1lbnUnXG4gICAgICAgIG1vYmlsZW1lbnU6ICcjbW9iaWxlbWVudSdcbiAgICAgICAgY29udGVudDogJyNtYWluY29udGVudCdcblxuICAgICAgICBzb2NpYWxUd2l0dGVyOiAnI3NvY2lhbC10d2l0dGVyJ1xuICAgICAgICBzb2NpYWxGYWNlYm9vazogJyNzb2NpYWwtZmFjZWJvb2snXG4gICAgICAgIHNvY2lhbEdpdGh1YjogJyNzb2NpYWwtZ2l0aHViJ1xuXG4gICAgY2hhbm5lbDogQmFja2JvbmUuV3JlcXIucmFkaW8uY2hhbm5lbCggJ2xvYWRlcicgKVxuXG4gICAgaW5pdGlhbGl6ZTogLT5cblxuICAgICAgICBAY2hhbm5lbC5jb21tYW5kcy5zZXRIYW5kbGVyICdzdGFydCcsICggY29sb3IgKSA9PlxuICAgICAgICAgICAgaWYgQGxvYWRlcj9cbiAgICAgICAgICAgICAgICBpZiBjb2xvcj9cbiAgICAgICAgICAgICAgICAgICAgQGxvYWRlci5hdHRyICdzdHlsZScsXCJiYWNrZ3JvdW5kLWNvbG9yOiAje2NvbG9yfTtcIlxuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgQGxvYWRlci5yZW1vdmVBdHRyICdzdHlsZSdcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0ID0+XG4gICAgICAgICAgICAgICAgICAgIEBsb2FkZXIuYWRkQ2xhc3MgJ19hY3RpdmVfJ1xuICAgICAgICAgICAgICAgICwgMVxuXG4gICAgICAgIEBjaGFubmVsLmNvbW1hbmRzLnNldEhhbmRsZXIgJ2ZpbmlzaCcsID0+XG4gICAgICAgICAgICBpZiBAbG9hZGVyPyB0aGVuIEBsb2FkZXIucmVtb3ZlQ2xhc3MgJ19hY3RpdmVfJ1xuXG5cbiAgICBvblJlbmRlcjogLT5cbiAgICAgICAgQGxvYWRlciA9IEAkZWwuZmluZCAnI2xvYWRlcidcblxuICAgICAgICBAbWVudS5zaG93IG5ldyBDb2xsZWN0aW9uVmlld01lbnUubWFpbigpXG4gICAgICAgIEBtb2JpbGVtZW51LnNob3cgbmV3IENvbGxlY3Rpb25WaWV3TWVudS5tb2JpbGUoKVxuXG4gICAgICAgIEBzb2NpYWxUd2l0dGVyLnNob3cgbmV3IFZpZXdTb2NpYWxCdXR0b24udHdpdHRlcigpXG4gICAgICAgIEBzb2NpYWxGYWNlYm9vay5zaG93IG5ldyBWaWV3U29jaWFsQnV0dG9uLmZhY2Vib29rKClcbiAgICAgICAgQHNvY2lhbEdpdGh1Yi5zaG93IG5ldyBWaWV3U29jaWFsQnV0dG9uLmdpdGh1YigpXG4iLCJleHBvcnRzLm1vZHVsZSA9IE1hcmlvbmV0dGUuTGF5b3V0LmV4dGVuZFxuICAgIG1vZGVsOiBuZXcgQmFja2JvbmUuTW9kZWwga2l0XG4gICAgdGVtcGxhdGU6ICQuYXBwLnRlbXBsYXRlcy5lcnJvcjQwNCIsIkNvbGxlY3Rpb25WaWV3TWVudSA9IHJlcXVpcmUoICcuLi8uLi9jb2xsZWN0aW9udmlld3Mvc2lkZWJhci9tZW51JyApLm1vZHVsZVxuQ29sbGVjdGlvblZpZXdDb250ZW50ID0gcmVxdWlyZSggJy4uLy4uL2NvbGxlY3Rpb252aWV3cy9jb250ZW50JyApLm1vZHVsZVxuXG5WaWV3U29jaWFsID0gcmVxdWlyZSggJy4uLy4uL3ZpZXdzL3BhZ2VzL3NvY2lhbCcgKVxuXG5cbmV4cG9ydHMubW9kdWxlID0gTWFyaW9uZXR0ZS5MYXlvdXQuZXh0ZW5kXG5cbiAgICBtb2RlbDogbmV3IEJhY2tib25lLk1vZGVsIGtpdFxuXG4gICAgdGVtcGxhdGU6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuYmFzaWNcblxuICAgIHJlZ2lvbnM6XG4gICAgICAgIHNpZGViYXI6ICcjc2lkZWJhcidcbiAgICAgICAgY29udGVudDogJyNjb250ZW50J1xuXG4gICAgICAgIHNvY2lhbENvbnRyaWJ1dGU6ICcjc29jaWFsLWNvbnRyaWJ1dGUnXG5cblxuICAgIG9uUmVuZGVyOiAtPlxuXG4gICAgICAgIEBzaWRlYmFyLnNob3cgbmV3IENvbGxlY3Rpb25WaWV3TWVudSgpXG4gICAgICAgIEBjb250ZW50LnNob3cgbmV3IENvbGxlY3Rpb25WaWV3Q29udGVudCgpXG4gICAgICAgIEBzb2NpYWxDb250cmlidXRlLnNob3cgbmV3IFZpZXdTb2NpYWwuZ2l0aHViKClcblxuICAgICAgICBzZXRUaW1lb3V0ID0+XG4gICAgICAgICAgICBAc2lkZWJhci5jdXJyZW50Vmlldy4kZWxbMF0uYWZmaXgoIG9mZnNldDogLTI1IClcbiAgICAgICAgLCAxXG4gICAgICAgICQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ21lbnUnLCAnYWN0aXZhdGUnLCAnI2Jhc2ljJ1xuICAgICAgICAkLmFwcC5jb21tYW5kcy5leGVjdXRlICdsb2FkZXInLCAnZmluaXNoJ1xuIiwiZXhwb3J0cy5tb2R1bGUgPSBNYXJpb25ldHRlLkxheW91dC5leHRlbmRcbiAgICBtb2RlbDogbmV3IEJhY2tib25lLk1vZGVsIGtpdFxuICAgIHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmNoYW5nZWxvZyIsIkNvbGxlY3Rpb25WaWV3TWVudSA9IHJlcXVpcmUoICcuLi8uLi9jb2xsZWN0aW9udmlld3Mvc2lkZWJhci9tZW51JyApLm1vZHVsZVxuQ29sbGVjdGlvblZpZXdDb250ZW50ID0gcmVxdWlyZSggJy4uLy4uL2NvbGxlY3Rpb252aWV3cy9jb250ZW50JyApLm1vZHVsZVxuXG5WaWV3U29jaWFsID0gcmVxdWlyZSggJy4uLy4uL3ZpZXdzL3BhZ2VzL3NvY2lhbCcgKVxuXG5cbmV4cG9ydHMubW9kdWxlID0gTWFyaW9uZXR0ZS5MYXlvdXQuZXh0ZW5kXG5cblx0bW9kZWw6IG5ldyBCYWNrYm9uZS5Nb2RlbCBraXRcblxuXHR0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5jb21wb25lbnRzXG5cblx0cmVnaW9uczpcblx0XHRzaWRlYmFyOiAnI3NpZGViYXInXG5cdFx0Y29udGVudDogJyNjb250ZW50J1xuXHRcdHNvY2lhbENvbnRyaWJ1dGU6ICcjc29jaWFsLWNvbnRyaWJ1dGUnXG5cblxuXHRvblJlbmRlcjogLT5cblxuXHRcdEBzaWRlYmFyLnNob3cgbmV3IENvbGxlY3Rpb25WaWV3TWVudSgpXG5cdFx0QGNvbnRlbnQuc2hvdyBuZXcgQ29sbGVjdGlvblZpZXdDb250ZW50KClcblx0XHRAc29jaWFsQ29udHJpYnV0ZS5zaG93IG5ldyBWaWV3U29jaWFsLmdpdGh1YigpXG5cdFx0c2V0VGltZW91dCA9PlxuXHRcdFx0QHNpZGViYXIuY3VycmVudFZpZXcuJGVsWzBdLmFmZml4KCBvZmZzZXQ6IC0yNSApXG5cdFx0LCAxXG5cdFx0JC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbWVudScsICdhY3RpdmF0ZScsICcjY29tcG9uZW50cydcblx0XHQkLmFwcC5jb21tYW5kcy5leGVjdXRlICdsb2FkZXInLCAnZmluaXNoJ1xuXG5cdFx0IyMjXG5cdFx0XHRUT0RPOiBXVEY/IFJlbW92ZSBzZXRUaW1lb3V0LlxuXHRcdCMjI1xuXHRcdHNldFRpbWVvdXQgPT5cblx0XHRcdCMgSW5pdCBmaXJzdCBidXR0b25zIGJsb2NrXG5cdFx0XHRAJGVsLmZpbmQoICdbZGF0YS1ncm91cD1cImJiYlwiXSwgW2RhdGEtZ3JvdXA9XCJiYmIxXCJdLCAuYnRuLXNpbXBsZScgKS5lYWNoIChpbmRleCwgYnRuKSAtPlxuXHRcdFx0XHRidG4uYnV0dG9uKClcblxuXHRcdFx0IyBCdXR0b25zIHdpdGggYmVmb3JlXG5cdFx0XHQkKCcuYnRuLXdpdGgtYmVmb3JlJykuZWFjaCAoaW5kZXgsIGJ0bikgLT5cblx0XHRcdFx0YnRuLmJ1dHRvblxuXHRcdFx0XHRcdGJlZm9yZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdGQgPSAkLkRlZmVycmVkKClcblx0XHRcdFx0XHRcdEAkZWwgPSAkKEApXG5cdFx0XHRcdFx0XHRAJGVsLmh0bWwgJ0xvYWRpbmcuLi4nXG5cdFx0XHRcdFx0XHRAJGVsLmFkZENsYXNzICdfZGlzYWJsZWRfJ1xuXHRcdFx0XHRcdFx0c2V0VGltZW91dCAtPlxuXHRcdFx0XHRcdFx0XHRkLnJlc29sdmUoKVxuXHRcdFx0XHRcdFx0LDIwMDBcblx0XHRcdFx0XHRcdGQucHJvbWlzZSgpXG5cblx0XHRcdFx0XHRvbmFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdEAkZWwucmVtb3ZlQ2xhc3MgJ19kaXNhYmxlZF8nXG5cdFx0XHRcdFx0XHRAJGVsLmh0bWwgJ0NoZWNrZWQnXG5cblx0XHRcdFx0XHRvbnVuYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0QCRlbC5odG1sICdDaGVja2JveCdcblxuXHRcdFx0JCgnLnJhZGlvLXdpdGgtYmVmb3JlJykuZWFjaCAoaW5kZXgsIGJ0bikgLT5cblx0XHRcdFx0YnRuLmJ1dHRvblxuXHRcdFx0XHRcdGJlZm9yZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdGQgPSAkLkRlZmVycmVkKClcblx0XHRcdFx0XHRcdEAkZWwgPSAkKEApXG5cdFx0XHRcdFx0XHRAJGVsLmh0bWwgJ0xvYWRpbmcuLi4nXG5cdFx0XHRcdFx0XHRAJGVsLmFkZENsYXNzICdfZGlzYWJsZWRfJ1xuXHRcdFx0XHRcdFx0c2V0VGltZW91dCAtPlxuXHRcdFx0XHRcdFx0XHRkLnJlc29sdmUoKVxuXHRcdFx0XHRcdFx0LDIwMDBcblx0XHRcdFx0XHRcdGQucHJvbWlzZSgpXG5cblx0XHRcdFx0XHRvbmFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdGVsID0gJChAKVxuXHRcdFx0XHRcdFx0ZWwucmVtb3ZlQ2xhc3MgJ19kaXNhYmxlZF8nXG5cdFx0XHRcdFx0XHRlbC5odG1sICdDaGVja2VkJ1xuXG5cdFx0XHRcdFx0YmVmb3JlZGVhY3RpdmU6IC0+XG5cdFx0XHRcdFx0XHRkID0gJC5EZWZlcnJlZCgpXG5cdFx0XHRcdFx0XHRAJGVsID0gJChAKVxuXHRcdFx0XHRcdFx0QCRlbC5odG1sICdVbmNoZWNraW5nLi4uJ1xuXHRcdFx0XHRcdFx0QCRlbC5hZGRDbGFzcyAnX2Rpc2FibGVkXydcblx0XHRcdFx0XHRcdHNldFRpbWVvdXQgLT5cblx0XHRcdFx0XHRcdFx0ZC5yZXNvbHZlKClcblx0XHRcdFx0XHRcdCwzMDAwXG5cdFx0XHRcdFx0XHRkLnByb21pc2UoKVxuXG5cdFx0XHRcdFx0b25kZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdEAkZWwgPSAkKEApXG5cdFx0XHRcdFx0XHRAJGVsLnJlbW92ZUNsYXNzICdfZGlzYWJsZWRfJ1xuXHRcdFx0XHRcdFx0QCRlbC5odG1sICdSYWRpbydcblxuXG5cblxuXG5cblx0XHRcdCMgIyBQT1BVUFNcblx0XHRcdCQoJy5idG4tcG9wdXAtZGVtbycpLmVhY2ggKGluZGV4LCBwb3B1cCkgLT5cblx0XHRcdFx0cG9wdXAucG9wdXBcblx0XHRcdFx0XHRiZWZvcmVhY3RpdmU6IC0+XG5cdFx0XHRcdFx0XHQjIEdldCBwb3B1cCBjbGFzcyBpbnN0YW5jZVxuXHRcdFx0XHRcdFx0cG9wdXAgPSBAZGF0YVsna2l0UG9wdXAnXVxuXHRcdFx0XHRcdFx0IyBTZXQgbmV3IGNvbnRlbnRcblx0XHRcdFx0XHRcdHBvcHVwLmRpYWxvZy5pbm5lckhUTUwgPSBcIlNldCBjb250ZW50IGhlcmVcIlxuXG5cdFx0XHRcdFx0b25hY3RpdmU6IC0+XG5cdFx0XHRcdFx0XHQjIEFkZCBhY3RpdmUgY2xhc3MgdG8gdGhlIGJ1dHRvblxuXHRcdFx0XHRcdFx0QGRhdGFbJ2tpdFBvcHVwJ10uX2FkZENsYXNzICdfYWN0aXZlXydcblxuXHRcdFx0XHRcdG9uZGVhY3RpdmU6IC0+XG5cdFx0XHRcdFx0XHQjIFJlbW92ZSBhY3RpdmUgY2xhc3MgdG8gdGhlIGJ1dHRvblxuXHRcdFx0XHRcdFx0QGRhdGFbJ2tpdFBvcHVwJ10uX3JlbW92ZUNsYXNzICdfYWN0aXZlXydcblxuXHRcdFx0JCgnLmJ0bi1wb3B1cC1kZW1vLWxlZnQnKS5lYWNoIChpbmRleCwgcG9wdXApIC0+XG5cdFx0XHRcdHBvcHVwLnBvcHVwXG5cdFx0XHRcdFx0cG9zaXRpb246XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbDogJ21pZGRsZSdcblx0XHRcdFx0XHRcdGhvcml6b250YWw6ICdsZWZ0J1xuXHRcdFx0XHRcdGJlZm9yZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdHBvcHVwID0gQGRhdGFbJ2tpdFBvcHVwJ11cblx0XHRcdFx0XHRcdHBvcHVwLmRpYWxvZy5pbm5lckhUTUwgPSBcIlBvcHVwICN7cG9wdXAuX2lkfSB3aXRoIGR5bmFtaWMgY29udGVudCBSYW5kb20gbnVtYmVyICN7TWF0aC5yYW5kb20oKX1cIlxuXG5cdFx0XHRcdFx0b25hY3RpdmU6IC0+XG5cdFx0XHRcdFx0XHRAZGF0YVsna2l0UG9wdXAnXS5fYWRkQ2xhc3MgJ19hY3RpdmVfJ1xuXG5cdFx0XHRcdFx0b25kZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdEBkYXRhWydraXRQb3B1cCddLl9yZW1vdmVDbGFzcyAnX2FjdGl2ZV8nXG5cblx0XHRcdCQoJy5idG4tcG9wdXAtZGVtby1yaWdodCcpLmVhY2ggKGluZGV4LCBwb3B1cCkgLT5cblx0XHRcdFx0cG9wdXAucG9wdXBcblx0XHRcdFx0XHRwb3NpdGlvbjpcblx0XHRcdFx0XHRcdHZlcnRpY2FsOiAnbWlkZGxlJ1xuXHRcdFx0XHRcdFx0aG9yaXpvbnRhbDogJ3JpZ2h0J1xuXHRcdFx0XHRcdGJlZm9yZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdHBvcHVwID0gQGRhdGFbJ2tpdFBvcHVwJ11cblx0XHRcdFx0XHRcdHBvcHVwLmRpYWxvZy5pbm5lckhUTUwgPSBcIlBvcHVwICN7cG9wdXAuX2lkfSB3aXRoIGR5bmFtaWMgY29udGVudCBSYW5kb20gbnVtYmVyICN7TWF0aC5yYW5kb20oKX1cIlxuXG5cdFx0XHRcdFx0b25hY3RpdmU6IC0+XG5cdFx0XHRcdFx0XHRAZGF0YVsna2l0UG9wdXAnXS5fYWRkQ2xhc3MgJ19hY3RpdmVfJ1xuXG5cdFx0XHRcdFx0b25kZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdEBkYXRhWydraXRQb3B1cCddLl9yZW1vdmVDbGFzcyAnX2FjdGl2ZV8nXG5cblx0XHRcdCQoJy5idG4tcG9wdXAtZGVtby1ib3R0b20nKS5lYWNoIChpbmRleCwgcG9wdXApIC0+XG5cdFx0XHRcdHBvcHVwLnBvcHVwXG5cdFx0XHRcdFx0cG9zaXRpb246XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbDogJ2JvdHRvbSdcblx0XHRcdFx0XHRcdGhvcml6b250YWw6ICdjZW50ZXInXG5cdFx0XHRcdFx0YmVmb3JlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0cG9wdXAgPSBAZGF0YVsna2l0UG9wdXAnXVxuXHRcdFx0XHRcdFx0cG9wdXAuZGlhbG9nLmlubmVySFRNTCA9IFwiUG9wdXAgI3twb3B1cC5faWR9IHdpdGggZHluYW1pYyBjb250ZW50IFJhbmRvbSBudW1iZXIgI3tNYXRoLnJhbmRvbSgpfVwiXG5cblx0XHRcdFx0XHRvbmFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdEBkYXRhWydraXRQb3B1cCddLl9hZGRDbGFzcyAnX2FjdGl2ZV8nXG5cblx0XHRcdFx0XHRvbmRlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0QGRhdGFbJ2tpdFBvcHVwJ10uX3JlbW92ZUNsYXNzICdfYWN0aXZlXydcblxuXHRcdFx0JCgnLmJ0bi1wb3B1cC1kZW1vLWJvdHRvbS1yaWdodCcpLmVhY2ggKGluZGV4LCBwb3B1cCkgLT5cblx0XHRcdFx0cG9wdXAucG9wdXBcblx0XHRcdFx0XHRwb3NpdGlvbjpcblx0XHRcdFx0XHRcdHZlcnRpY2FsOiAnYm90dG9tJ1xuXHRcdFx0XHRcdFx0aG9yaXpvbnRhbDogJ3JpZ2h0J1xuXHRcdFx0XHRcdGJlZm9yZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdHBvcHVwID0gQGRhdGFbJ2tpdFBvcHVwJ11cblx0XHRcdFx0XHRcdHBvcHVwLmRpYWxvZy5pbm5lckhUTUwgPSBcIlBvcHVwICN7cG9wdXAuX2lkfSB3aXRoIGR5bmFtaWMgY29udGVudCBSYW5kb20gbnVtYmVyICN7TWF0aC5yYW5kb20oKX1cIlxuXG5cdFx0XHRcdFx0b25hY3RpdmU6IC0+XG5cdFx0XHRcdFx0XHRAZGF0YVsna2l0UG9wdXAnXS5fYWRkQ2xhc3MgJ19hY3RpdmVfJ1xuXG5cdFx0XHRcdFx0b25kZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdEBkYXRhWydraXRQb3B1cCddLl9yZW1vdmVDbGFzcyAnX2FjdGl2ZV8nXG5cblx0XHRcdCQoJy5idG4tcG9wdXAtZGVtby10b3AtbGVmdCcpLmVhY2ggKGluZGV4LCBwb3B1cCkgLT5cblx0XHRcdFx0cG9wdXAucG9wdXBcblx0XHRcdFx0XHRwb3NpdGlvbjpcblx0XHRcdFx0XHRcdHZlcnRpY2FsOiAndG9wJ1xuXHRcdFx0XHRcdFx0aG9yaXpvbnRhbDogJ2xlZnQnXG5cdFx0XHRcdFx0YmVmb3JlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0cG9wdXAgPSBAZGF0YVsna2l0UG9wdXAnXVxuXHRcdFx0XHRcdFx0cG9wdXAuZGlhbG9nLmlubmVySFRNTCA9IFwiUG9wdXAgI3twb3B1cC5faWR9IHdpdGggZHluYW1pYyBjb250ZW50IFJhbmRvbSBudW1iZXIgI3tNYXRoLnJhbmRvbSgpfVwiXG5cblx0XHRcdFx0XHRvbmFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdEBkYXRhWydraXRQb3B1cCddLl9hZGRDbGFzcyAnX2FjdGl2ZV8nXG5cblx0XHRcdFx0XHRvbmRlYWN0aXZlOiAtPlxuXHRcdFx0XHRcdFx0QGRhdGFbJ2tpdFBvcHVwJ10uX3JlbW92ZUNsYXNzICdfYWN0aXZlXydcblxuXG5cblxuXG5cdFx0XHQjIFRBQlNcblx0XHRcdEAkZWwuZmluZChcIltkYXRhLXRvZ2dsZT0ndGFicyddXCIpLmVhY2ggKGluZGV4LCB0YWJzKSAtPlxuXHRcdFx0XHR0YWJzLnRhYnMoKVxuXG5cblx0XHRcdCMgIyBNT0RBTFNcblx0XHRcdCQoJy5idG4tbW9kYWwtZmFzdCcpLmVhY2ggKGluZGV4LCBtb2RhbCkgLT5cblx0XHRcdFx0bW9kYWwubW9kYWwoKVxuXG5cdFx0XHQkKCcuYnRuLW1vZGFsMTIzJykuZWFjaCAoaW5kZXgsIG1vZGFsKSAtPlxuXHRcdFx0XHRtb2RhbC5tb2RhbFxuXHRcdFx0XHRcdGJlZm9yZWFjdGl2ZTogLT5cblx0XHRcdFx0XHRcdGQgPSAkLkRlZmVycmVkKClcblxuXHRcdFx0XHRcdFx0c2V0VGltZW91dCAtPlxuXHRcdFx0XHRcdFx0XHRkLnJlc29sdmUoKVxuXHRcdFx0XHRcdFx0LCAyMDAwXG5cblx0XHRcdFx0XHRcdGQucHJvbWlzZSgpXG5cblxuXG5cdFx0XHQjIFNDUk9MTFNQWVxuXHRcdFx0QCRlbC5maW5kKCdbZGF0YS1zcHk9XCJzY3JvbGxcIl0nKS5lYWNoIChpbmRleCwgc2Nyb2xsc3B5KSAtPlxuXHRcdFx0XHRzY3JvbGxzcHkuc2Nyb2xsc3B5XG5cdFx0XHRcdFx0b2Zmc2V0OiAxMDBcblxuXHRcdFx0IyBTS1lMSU5FXG5cdFx0XHRAJGVsLmZpbmQoJ1tkYXRhLXNweT1cInNreWxpbmVcIl0nKS5lYWNoIChpbmRleCwgc2t5bGluZSkgLT5cblx0XHRcdFx0c2t5bGluZS5za3lsaW5lXG5cdFx0XHRcdFx0ZGVsYXk6IC0+XG5cdFx0XHRcdFx0XHQyMDAwICogTWF0aC5yYW5kb20oKVxuXHRcdCwgMVxuIiwiIyBDb2xsZWN0aW9uVmlld01lbnUgPSByZXF1aXJlKCAnLi4vLi4vY29sbGVjdGlvbnZpZXdzL3NpZGViYXIvbWVudScgKS5tb2R1bGVcbiMgQ29sbGVjdGlvblZpZXdDb250ZW50ID0gcmVxdWlyZSggJy4uLy4uL2NvbGxlY3Rpb252aWV3cy9jb250ZW50JyApLm1vZHVsZVxuXG4jIFZpZXdTb2NpYWwgPSByZXF1aXJlKCAnLi4vLi4vdmlld3MvcGFnZXMvc29jaWFsJyApXG5cblxuZXhwb3J0cy5ibG9nID0gTWFyaW9uZXR0ZS5MYXlvdXQuZXh0ZW5kXG5cblx0bW9kZWw6IG5ldyBCYWNrYm9uZS5Nb2RlbCBraXRcblxuXHR0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLmV4YW1wbGVzLmJsb2dcblxuXHRyZWdpb25zOlxuXHRcdHNpZGViYXI6ICcjc2lkZWJhcidcblx0XHRjb250ZW50OiAnI2NvbnRlbnQnXG5cdFx0c29jaWFsQ29udHJpYnV0ZTogJyNzb2NpYWwtY29udHJpYnV0ZSdcblxuXG5cdG9uUmVuZGVyOiAtPlxuXG5cdFx0c2V0VGltZW91dCA9PlxuXHRcdFx0JCgnW2RhdGEta2luZD1cIndhbGxcIl0nKS5lYWNoIChpbmRleCwgd2FsbCkgLT5cblx0XHRcdFx0d2FsbC53YWxsKClcblx0XHQsIDFcblxuXHRcdHNldFRpbWVvdXQgPT5cblx0XHRcdCQoJ1tkYXRhLXNweT1cInNjcm9sbHNweVwiXScpLmVhY2ggKGluZGV4LCBzY3JvbGxzcHkpIC0+XG5cdFx0XHRcdHNjcm9sbHNweS5zY3JvbGxzcHkoIG9mZnNldDogXCI1MCVcIiApXG5cblx0XHRcdCQoJ1tkYXRhLXNweT1cInNreWxpbmVcIl0nKS5lYWNoIChpbmRleCwgc2t5bGluZSkgLT5cblx0XHRcdFx0c2t5bGluZS5za3lsaW5lXG5cdFx0XHRcdFx0ZGVsYXk6IC0+XG5cdFx0XHRcdFx0XHQyMDAwICogTWF0aC5yYW5kb20oKVxuXHRcdCwgNTAwXG5cblx0b25CZWZvcmVDbG9zZTogLT5cblx0XHQkKCdbZGF0YS1raW5kPVwid2FsbFwiXScpLmVhY2ggKGluZGV4LCB3YWxsKSAtPlxuXHRcdFx0d2FsbC5kYXRhWydraXRXYWxsJ10uZGVzdHJveSgpXG5cblx0XHQkKCdbZGF0YS1zcHk9XCJzY3JvbGxzcHlcIl0nKS5lYWNoIChpbmRleCwgc3B5KSAtPlxuXHRcdFx0c3B5LmRhdGFbJ2tpdFNjcm9sbHNweSddLmRlc3Ryb3koKVxuXG5cdFx0JCgnW2RhdGEtc3B5PVwic2t5bGluZVwiXScpLmVhY2ggKGluZGV4LCBza3kpIC0+XG5cdFx0XHRza3kuZGF0YVsna2l0U2t5bGluZSddLmRlc3Ryb3koKSIsIlZpZXdTb2NpYWwgPSByZXF1aXJlKCAnLi4vLi4vdmlld3MvcGFnZXMvc29jaWFsJyApXG5WaWV3U2VyaWVzID0gcmVxdWlyZSggJy4uLy4uL3ZpZXdzL3BhZ2VzL2luZGV4L3NlcmllcycgKVxuTW9kZWxTZXJpZXMgPSByZXF1aXJlKCAnLi4vLi4vbW9kZWxzL3BhZ2VzL2luZGV4L3NlcmllcycgKS5tb2RlbFxuXG5cblxud2lkZ2V0cyA9IFtcbiAgICB7XG4gICAgICAgIG5hbWU6ICctYXZhdGFyJ1xuICAgICAgICB0aGVtZXM6IG1raXQuYXZhdGFycy5jb21tb24udGhlbWVzXG4gICAgICAgIHNpemVzOiBta2l0LmF2YXRhcnMuY29tbW9uLnNpemVzXG4gICAgICAgIGJvZHk6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLndpZGdldHMuYXZhdGFyXG4gICAgfVxuICAgIHtcbiAgICAgICAgbmFtZTogJy1idG4nXG4gICAgICAgIHRoZW1lczogbWtpdC5idXR0b25zLmNvbW1vbi50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQuYnV0dG9ucy5jb21tb24uc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5idG5cbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLWJ0bi1naG9zdCdcbiAgICAgICAgdGhlbWVzOiBta2l0LmJ1dHRvbnMuZ2hvc3QudGhlbWVzXG4gICAgICAgIHNpemVzOiBta2l0LmJ1dHRvbnMuZ2hvc3Quc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5idG5cbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLWdyb3VwJ1xuICAgICAgICB0aGVtZXM6IG1raXQuZ3JvdXBzLmJ1dHRvbnMudGhlbWVzXG4gICAgICAgIHNpemVzOiBta2l0Lmdyb3Vwcy5idXR0b25zLnNpemVzXG4gICAgICAgIGJvZHk6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLndpZGdldHMuZ3JvdXBcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLWRyb3AnXG4gICAgICAgIHRoZW1lczogbWtpdC5kcm9wZG93bnMuY29tbW9uLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5kcm9wZG93bnMuY29tbW9uLnNpemVzXG4gICAgICAgIGJvZHk6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLndpZGdldHMuZHJvcGRvd25cbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLXRhYnMnXG4gICAgICAgIHRoZW1lczogbWtpdC5uYXYudGFicy50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQubmF2LnRhYnMuc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy50YWJzXG4gICAgfVxuICAgIHtcbiAgICAgICAgbmFtZTogJy1waWxscydcbiAgICAgICAgdGhlbWVzOiBta2l0Lm5hdi5waWxscy50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQubmF2LnBpbGxzLnNpemVzXG4gICAgICAgIGJvZHk6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLndpZGdldHMucGlsbHNcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLW1lbnUnXG4gICAgICAgIHRoZW1lczogbWtpdC5uYXYubWVudS50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQubmF2Lm1lbnUuc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5tZW51XG4gICAgfVxuICAgIHtcbiAgICAgICAgbmFtZTogJy1uYXZiYXInXG4gICAgICAgIHRoZW1lczogbWtpdC5uYXYuYmFyLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5uYXYuYmFyLnNpemVzXG4gICAgICAgIGJvZHk6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLndpZGdldHMubmF2YmFyXG4gICAgfVxuICAgIHtcbiAgICAgICAgbmFtZTogJy1saXN0LWdyb3VwJ1xuICAgICAgICB0aGVtZXM6IG1raXQubmF2Lmxpc3RHcm91cC50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQubmF2Lmxpc3RHcm91cC5zaXplc1xuICAgICAgICBib2R5OiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy53aWRnZXRzLmxpc3RHcm91cFxuICAgIH1cbiAgICB7XG4gICAgICAgIG5hbWU6ICctbGFiZWwnXG4gICAgICAgIHRoZW1lczogbWtpdC5sYWJlbHMuY29tbW9uLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5sYWJlbHMuY29tbW9uLnNpemVzXG4gICAgICAgIGJvZHk6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLndpZGdldHMubGFiZWxcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLWJhZGdlJ1xuICAgICAgICB0aGVtZXM6IG1raXQuYmFkZ2VzLmNvbW1vbi50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQuYmFkZ2VzLmNvbW1vbi5zaXplc1xuICAgICAgICBib2R5OiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy53aWRnZXRzLmJhZGdlXG4gICAgfVxuICAgIHtcbiAgICAgICAgbmFtZTogJy1wcm9ncmVzcydcbiAgICAgICAgdGhlbWVzOiBta2l0LnByb2dyZXNzLmNvbW1vbi50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQucHJvZ3Jlc3MuY29tbW9uLnNpemVzXG4gICAgICAgIGJvZHk6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLndpZGdldHMucHJvZ3Jlc3NcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLWFsZXJ0J1xuICAgICAgICB0aGVtZXM6IG1raXQuYWxlcnRzLmNvbW1vbi50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQuYWxlcnRzLmNvbW1vbi5zaXplc1xuICAgICAgICBib2R5OiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy53aWRnZXRzLmFsZXJ0XG4gICAgfVxuICAgIHtcbiAgICAgICAgbmFtZTogJy10aHVtYm5haWwnXG4gICAgICAgIHRoZW1lczogbWtpdC50aHVtYm5haWxzLmNvbW1vbi50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQudGh1bWJuYWlscy5jb21tb24uc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy50aHVtYm5haWxcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLXNwaW5uZXItc3F1YXJlJ1xuICAgICAgICB0aGVtZXM6IG1raXQuc3Bpbm5lcnMuc3F1YXJlLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5zcGlubmVycy5zcXVhcmUuc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5zcGlubmVyU3F1YXJlXG4gICAgfVxuICAgIHtcbiAgICAgICAgbmFtZTogJy1zcGlubmVyLXJpbmcnXG4gICAgICAgIHRoZW1lczogbWtpdC5zcGlubmVycy5yaW5nLnRoZW1lc1xuICAgICAgICBzaXplczogbWtpdC5zcGlubmVycy5yaW5nLnNpemVzXG4gICAgICAgIGJvZHk6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24ucGFnZXMuaW5kZXguc2VyaWVzLndpZGdldHMuc3Bpbm5lclJpbmdcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLXNwaW5uZXItZmInXG4gICAgICAgIHRoZW1lczogbWtpdC5zcGlubmVycy5mYi50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQuc3Bpbm5lcnMuZmIuc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5zcGlubmVyRmJcbiAgICB9XG4gICAge1xuICAgICAgICBuYW1lOiAnLXNwaW5uZXItd2F2ZXMnXG4gICAgICAgIHRoZW1lczogbWtpdC5zcGlubmVycy53YXZlcy50aGVtZXNcbiAgICAgICAgc2l6ZXM6IG1raXQuc3Bpbm5lcnMud2F2ZXMuc2l6ZXNcbiAgICAgICAgYm9keTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5zZXJpZXMud2lkZ2V0cy5zcGlubmVyV2F2ZXNcbiAgICB9XG5dXG5cblxuZXhwb3J0cy5tb2R1bGUgPSBNYXJpb25ldHRlLkxheW91dC5leHRlbmRcblxuICAgIG1vZGVsOiBuZXcgQmFja2JvbmUuTW9kZWwga2l0XG4gICAgc2VyaWVzTW9kZWw6IG5ldyBNb2RlbFNlcmllcyB3aWRnZXRzOiB3aWRnZXRzXG5cbiAgICB0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5pbmRleC5sYXlvdXRcblxuICAgIGV2ZW50czpcbiAgICAgICAgJ21vdXNlZW50ZXIgI3Nlcmllcy1oZWFkZXIsICNzZXJpZXMnOiAnc3RvcFRpbWVyJ1xuICAgICAgICAnbW91c2VsZWF2ZSAjc2VyaWVzLWhlYWRlciwgI3Nlcmllcyc6ICdzdGFydFRpbWVyJ1xuXG4gICAgcmVnaW9uczpcbiAgICAgICAgc29jaWFsQ29udHJpYnV0ZTogJyNzb2NpYWwtY29udHJpYnV0ZSdcbiAgICAgICAgc2VyaWVzSGVhZGVyOiAnI3Nlcmllcy1oZWFkZXInXG4gICAgICAgIHNlcmllczogJyNzZXJpZXMnXG5cbiAgICBpbml0aWFsaXplOiAtPlxuICAgICAgICBAbGlzdGVuVG8gQHNlcmllc01vZGVsLCAnY2hhbmdlOmFjdGl2ZSBjaGFuZ2U6dGhlbWVBY3RpdmUgY2hhbmdlOnNpemVBY3RpdmUnLCBAc2VyaWVzUmVzZXRcblxuICAgIG9uUmVuZGVyOiAtPlxuXG4gICAgICAgIEBzb2NpYWxDb250cmlidXRlLnNob3cgbmV3IFZpZXdTb2NpYWwuZ2l0aHViKClcbiAgICAgICAgQHNlcmllc0hlYWRlci5zaG93IG5ldyBWaWV3U2VyaWVzLmhlYWRlciBtb2RlbDogQHNlcmllc01vZGVsXG4gICAgICAgIEBzZXJpZXMuc2hvdyBuZXcgVmlld1Nlcmllcy5ib2R5IG1vZGVsOiBAc2VyaWVzTW9kZWxcblxuICAgICAgICBAc3RhcnRUaW1lcigpXG5cbiAgICAgICAgJC5hcHAuY29tbWFuZHMuZXhlY3V0ZSAnbWVudScsICdhY3RpdmF0ZScsICcjaW5kZXgnXG4gICAgICAgICQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ2xvYWRlcicsICdmaW5pc2gnXG5cblxuICAgICAgICBzZXRUaW1lb3V0ID0+XG4gICAgICAgICAgICBAJGVsLmZpbmQoJy5kZXYtdmVyc2lvbi1zcGlubmVyJykucmVwbGFjZVdpdGgga2l0LnZlcnNpb25cblxuICAgICAgICAgICAgIyBSdW4gd2FsbHNcbiAgICAgICAgICAgICQoJ1tkYXRhLWtpbmQ9XCJ3YWxsXCJdJykuZWFjaCAoaW5kZXgsIHdhbGwpIC0+XG4gICAgICAgICAgICAgICAgd2FsbC53YWxsKClcblxuICAgICAgICAgICAgJCgnW2RhdGEtc3B5PVwic2t5bGluZVwiXScpLmVhY2ggKGluZGV4LCBza3lsaW5lKSAtPlxuICAgICAgICAgICAgICAgIHNreWxpbmUuc2t5bGluZVxuICAgICAgICAgICAgICAgICAgICBkZWxheTogLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDIwMDAgKiBNYXRoLnJhbmRvbSgpXG4gICAgICAgICwxXG5cbiAgICBzdG9wVGltZXI6IC0+XG4gICAgICAgIGNsZWFySW50ZXJ2YWwgQHRpbWVyXG4gICAgICAgIEB0aW1lciA9IG51bGxcblxuICAgIHN0YXJ0VGltZXI6IC0+XG4gICAgICAgIEB0aW1lciA9IHNldEludGVydmFsID0+XG4gICAgICAgICAgICBAc2VyaWVzTW9kZWwucHJldigpXG4gICAgICAgICwgMjAwMFxuXG4gICAgc2VyaWVzUmVzZXQ6IC0+XG4gICAgICAgIGFjdGl2ZSA9IEBzZXJpZXNNb2RlbC5nZXQgJ2FjdGl2ZSdcbiAgICAgICAgdGhlbWVBY3RpdmUgPSBAc2VyaWVzTW9kZWwuZ2V0ICd0aGVtZUFjdGl2ZSdcbiAgICAgICAgc2l6ZUFjdGl2ZSA9IEBzZXJpZXNNb2RlbC5nZXQgJ3NpemVBY3RpdmUnXG5cbiAgICAgICAgd2lkZ2V0cyA9IEBzZXJpZXNNb2RlbC5nZXQgJ3dpZGdldHMnXG4gICAgICAgIEBzZXJpZXNNb2RlbC5zZXQgJ2JvZHknLCB3aWRnZXRzW2FjdGl2ZV0uYm9keVxuICAgICAgICBAc2VyaWVzTW9kZWwuc2V0ICduYW1lJywgd2lkZ2V0c1thY3RpdmVdLm5hbWVcbiAgICAgICAgQHNlcmllc01vZGVsLnNldCAndGhlbWUnLCB3aWRnZXRzW2FjdGl2ZV0udGhlbWVzW3RoZW1lQWN0aXZlXVxuICAgICAgICBAc2VyaWVzTW9kZWwuc2V0ICdzaXplJywgd2lkZ2V0c1thY3RpdmVdLnNpemVzW3NpemVBY3RpdmVdXG5cbiAgICAgICAgIyBAcmVuZGVyKClcblxuICAgIG9uQmVmb3JlQ2xvc2U6IC0+XG4gICAgICAgICQoJ1tkYXRhLWtpbmQ9XCJ3YWxsXCJdJykuZWFjaCAoaW5kZXgsIHdhbGwpIC0+XG4gICAgICAgICAgICB3YWxsLmRhdGFbJ2tpdFdhbGwnXS5kZXN0cm95KClcblxuICAgICAgICAkKCdbZGF0YS1zcHk9XCJza3lsaW5lXCJdJykuZWFjaCAoaW5kZXgsIHNreWxpbmUpIC0+XG4gICAgICAgICAgICBza3lsaW5lLmRhdGFbJ2tpdFNreWxpbmUnXS5kZXN0cm95KClcblxuICAgIG9uQ2xvc2U6IC0+XG4gICAgICAgIEBzdG9wVGltZXIoKVxuIiwiQ29sbGVjdGlvblZpZXdNZW51ID0gcmVxdWlyZSggJy4uLy4uL2NvbGxlY3Rpb252aWV3cy9zaWRlYmFyL21lbnUnICkubW9kdWxlXG5Db2xsZWN0aW9uVmlld0NvbnRlbnQgPSByZXF1aXJlKCAnLi4vLi4vY29sbGVjdGlvbnZpZXdzL2NvbnRlbnQnICkubW9kdWxlXG5cblZpZXdTb2NpYWwgPSByZXF1aXJlKCAnLi4vLi4vdmlld3MvcGFnZXMvc29jaWFsJyApXG5cblxuZXhwb3J0cy5tb2R1bGUgPSBNYXJpb25ldHRlLkxheW91dC5leHRlbmRcblxuICAgIG1vZGVsOiBuZXcgQmFja2JvbmUuTW9kZWwga2l0XG5cbiAgICB0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy5zdGFydFxuXG4gICAgcmVnaW9uczpcbiAgICAgICAgc2lkZWJhcjogJyNzaWRlYmFyJ1xuICAgICAgICBjb250ZW50OiAnI2NvbnRlbnQnXG5cbiAgICAgICAgc29jaWFsQ29udHJpYnV0ZTogJyNzb2NpYWwtY29udHJpYnV0ZSdcblxuXG4gICAgb25SZW5kZXI6IC0+XG5cbiAgICAgICAgQHNpZGViYXIuc2hvdyBuZXcgQ29sbGVjdGlvblZpZXdNZW51KClcbiAgICAgICAgQGNvbnRlbnQuc2hvdyBuZXcgQ29sbGVjdGlvblZpZXdDb250ZW50KClcbiAgICAgICAgQHNvY2lhbENvbnRyaWJ1dGUuc2hvdyBuZXcgVmlld1NvY2lhbC5naXRodWIoKVxuXG4gICAgICAgIHNldFRpbWVvdXQgPT5cbiAgICAgICAgICAgIEBzaWRlYmFyLmN1cnJlbnRWaWV3LiRlbFswXS5hZmZpeCggb2Zmc2V0OiAtMjUgKVxuICAgICAgICAsMVxuXG4gICAgICAgICQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ21lbnUnLCAnYWN0aXZhdGUnLCAnI3N0YXJ0J1xuICAgICAgICAkLmFwcC5jb21tYW5kcy5leGVjdXRlICdsb2FkZXInLCAnZmluaXNoJ1xuXG4gICAgICAgIHNldFRpbWVvdXQgPT5cbiAgICAgICAgICAgIEAkZWwuZmluZCgnLmRldi12ZXJzaW9uLXNwaW5uZXInKS5yZXBsYWNlV2l0aCBraXQudmVyc2lvblxuICAgICAgICAgICAgQCRlbC5maW5kKCcuZGV2LXZlcnNpb24taHJlZicpLmVhY2ggLT5cbiAgICAgICAgICAgICAgICBocmVmID0gJChAKS5hdHRyICdocmVmJ1xuICAgICAgICAgICAgICAgICQoQCkuYXR0ciAnaHJlZicsIGhyZWYucmVwbGFjZSgvXFx7XFx7dmVyc2lvblxcfVxcfS9nLCBraXQudmVyc2lvbilcblxuICAgICAgICAsMVxuIiwiQ29sbGVjdGlvblZpZXdNZW51ID0gcmVxdWlyZSggJy4uLy4uL2NvbGxlY3Rpb252aWV3cy9zaWRlYmFyL21lbnUnICkubW9kdWxlXG5Db2xsZWN0aW9uVmlld0NvbnRlbnQgPSByZXF1aXJlKCAnLi4vLi4vY29sbGVjdGlvbnZpZXdzL2NvbnRlbnQnICkubW9kdWxlXG5cblZpZXdTb2NpYWwgPSByZXF1aXJlKCAnLi4vLi4vdmlld3MvcGFnZXMvc29jaWFsJyApXG5cblxuZXhwb3J0cy5tb2R1bGUgPSBNYXJpb25ldHRlLkxheW91dC5leHRlbmRcblxuICAgIG1vZGVsOiBuZXcgQmFja2JvbmUuTW9kZWwga2l0XG5cbiAgICB0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5wYWdlcy51dGlsaXRpZXNcblxuICAgIHJlZ2lvbnM6XG4gICAgICAgIHNpZGViYXI6ICcjc2lkZWJhcidcbiAgICAgICAgY29udGVudDogJyNjb250ZW50J1xuXG4gICAgICAgIHNvY2lhbENvbnRyaWJ1dGU6ICcjc29jaWFsLWNvbnRyaWJ1dGUnXG5cblxuICAgIG9uUmVuZGVyOiAtPlxuXG4gICAgICAgIEBzaWRlYmFyLnNob3cgbmV3IENvbGxlY3Rpb25WaWV3TWVudSgpXG4gICAgICAgIEBjb250ZW50LnNob3cgbmV3IENvbGxlY3Rpb25WaWV3Q29udGVudCgpXG4gICAgICAgIEBzb2NpYWxDb250cmlidXRlLnNob3cgbmV3IFZpZXdTb2NpYWwuZ2l0aHViKClcbiAgICAgICAgc2V0VGltZW91dCA9PlxuICAgICAgICAgICAgQHNpZGViYXIuY3VycmVudFZpZXcuJGVsWzBdLmFmZml4KCBvZmZzZXQ6IC0yNSApXG4gICAgICAgICwgMVxuICAgICAgICAkLmFwcC5jb21tYW5kcy5leGVjdXRlICdtZW51JywgJ2FjdGl2YXRlJywgJyN1dGlsaXRpZXMnXG4gICAgICAgICQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ2xvYWRlcicsICdmaW5pc2gnXG4iLCJDb2xsZWN0aW9uVmlld01lbnUgPSByZXF1aXJlKCAnLi4vLi4vY29sbGVjdGlvbnZpZXdzL3NpZGViYXIvbWVudScgKS5tb2R1bGVcbkNvbGxlY3Rpb25WaWV3Q29udGVudCA9IHJlcXVpcmUoICcuLi8uLi9jb2xsZWN0aW9udmlld3MvY29udGVudCcgKS5tb2R1bGVcblxuVmlld1NvY2lhbCA9IHJlcXVpcmUoICcuLi8uLi92aWV3cy9wYWdlcy9zb2NpYWwnIClcblxuXG5leHBvcnRzLm1vZHVsZSA9IE1hcmlvbmV0dGUuTGF5b3V0LmV4dGVuZFxuXG4gICAgbW9kZWw6IG5ldyBCYWNrYm9uZS5Nb2RlbCBraXRcblxuICAgIHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLndpZGdldHNcblxuICAgIHJlZ2lvbnM6XG4gICAgICAgIHNpZGViYXI6ICcjc2lkZWJhcidcbiAgICAgICAgY29udGVudDogJyNjb250ZW50J1xuICAgICAgICBzb2NpYWxDb250cmlidXRlOiAnI3NvY2lhbC1jb250cmlidXRlJ1xuXG5cbiAgICBvblJlbmRlcjogLT5cblxuICAgICAgICBAc2lkZWJhci5zaG93IG5ldyBDb2xsZWN0aW9uVmlld01lbnUoKVxuICAgICAgICBAY29udGVudC5zaG93IG5ldyBDb2xsZWN0aW9uVmlld0NvbnRlbnQoKVxuICAgICAgICBAc29jaWFsQ29udHJpYnV0ZS5zaG93IG5ldyBWaWV3U29jaWFsLmdpdGh1YigpXG5cbiAgICAgICAgc2V0VGltZW91dCA9PlxuICAgICAgICAgICAgQHNpZGViYXIuY3VycmVudFZpZXcuZWwuYWZmaXgoIG9mZnNldDogLTI1IClcbiAgICAgICAgLCAxXG4gICAgICAgICQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ21lbnUnLCAnYWN0aXZhdGUnLCAnI3dpZGdldHMnXG4gICAgICAgICQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ2xvYWRlcicsICdmaW5pc2gnICAgXG4iLCJleHBvcnRzLnR3aXR0ZXIgPSBCYWNrYm9uZS5Nb2RlbC5leHRlbmRcbiAgICB1cmw6IC0+XG4gICAgICAgIFwiI3skLmFwcC5jb25maWcuYXBpfS9zb2NpYWwvdHdpdHRlci9zaGFyZXNcIlxuICAgIGRlZmF1bHRzOlxuICAgICAgICBzaWduOiBcInR3aXRcIlxuXG5cbmV4cG9ydHMuZmFjZWJvb2sgPSBCYWNrYm9uZS5Nb2RlbC5leHRlbmRcbiAgICB1cmw6IC0+XG4gICAgICAgIFwiI3skLmFwcC5jb25maWcuYXBpfS9zb2NpYWwvZmFjZWJvb2svc2hhcmVzXCJcbiAgICBkZWZhdWx0czpcbiAgICAgICAgc2lnbjogXCJzaGFyZVwiXG5cblxuZXhwb3J0cy5naXRodWIgPSBCYWNrYm9uZS5Nb2RlbC5leHRlbmRcbiAgICB1cmw6IC0+XG4gICAgICAgIFwiI3skLmFwcC5jb25maWcuYXBpfS9zb2NpYWwvZ2l0aHViL3dhdGNoXCJcbiAgICBkZWZhdWx0czpcbiAgICAgICAgc2lnbjogXCJ3YXRjaFwiXG4iLCJleHBvcnRzLm1vZGVsID0gQmFja2JvbmUuTW9kZWwuZXh0ZW5kXG5cdFxuXHRuZXh0OiAtPlxuXHRcdGFjdGl2ZSA9IEBnZXQoJ2FjdGl2ZScpXG5cdFx0dGhlbWVBY3RpdmUgPSBAZ2V0KCd0aGVtZUFjdGl2ZScpXG5cdFx0c2l6ZUFjdGl2ZSA9IEBnZXQoJ3NpemVBY3RpdmUnKVxuXHRcdHdpZGdldHMgPSBAZ2V0KCd3aWRnZXRzJylcblx0XHRsZW4gPSB3aWRnZXRzLmxlbmd0aFxuXHRcdGlmIHNpemVBY3RpdmUgPCB3aWRnZXRzW2FjdGl2ZV0udGhlbWVzLmxlbmd0aCAtIDFcblx0XHRcdEBzZXQoJ3NpemVBY3RpdmUnLCBzaXplQWN0aXZlICsgMSlcblx0XHRlbHNlXG5cdFx0XHRAc2V0KCdzaXplQWN0aXZlJywgMClcblx0XHRcdGlmIHRoZW1lQWN0aXZlIDwgd2lkZ2V0c1thY3RpdmVdLnRoZW1lcy5sZW5ndGggLSAxXG5cdFx0XHRcdEBzZXQoJ3RoZW1lQWN0aXZlJywgdGhlbWVBY3RpdmUgKyAxKVxuXHRcdFx0ZWxzZVxuXHRcdFx0XHRAc2V0KCd0aGVtZUFjdGl2ZScsIDApXG5cdFx0XHRcdGlmIGFjdGl2ZSA8IGxlbiAtIDEgdGhlbiBAc2V0KCAnYWN0aXZlJywgYWN0aXZlICsgMSkgZWxzZSBAc2V0KCAnYWN0aXZlJywgMClcblxuXHRwcmV2OiAtPlxuXHRcdGFjdGl2ZSA9IEBnZXQoJ2FjdGl2ZScpXG5cdFx0dGhlbWVBY3RpdmUgPSBAZ2V0KCd0aGVtZUFjdGl2ZScpXG5cdFx0c2l6ZUFjdGl2ZSA9IEBnZXQoJ3NpemVBY3RpdmUnKVxuXHRcdHdpZGdldHMgPSBAZ2V0KCd3aWRnZXRzJylcblx0XHRsZW4gPSB3aWRnZXRzLmxlbmd0aFxuXHRcdGlmIHNpemVBY3RpdmUgPCB3aWRnZXRzW2FjdGl2ZV0udGhlbWVzLmxlbmd0aCAtIDFcblx0XHRcdEBzZXQoJ3NpemVBY3RpdmUnLCBzaXplQWN0aXZlICsgMSlcblx0XHRlbHNlXG5cdFx0XHRAc2V0KCdzaXplQWN0aXZlJywgMClcblx0XHRcdGlmIHRoZW1lQWN0aXZlIDwgd2lkZ2V0c1thY3RpdmVdLnRoZW1lcy5sZW5ndGggLSAxXG5cdFx0XHRcdEBzZXQoJ3RoZW1lQWN0aXZlJywgdGhlbWVBY3RpdmUgKyAxKVxuXHRcdFx0ZWxzZVxuXHRcdFx0XHRAc2V0KCd0aGVtZUFjdGl2ZScsIDApXG5cdFx0XHRcdGlmIGFjdGl2ZSA+IDAgdGhlbiBAc2V0KCAnYWN0aXZlJywgYWN0aXZlIC0gMSkgZWxzZSBAc2V0KCAnYWN0aXZlJywgbGVuIC0gMSlcblxuXHRkZWZhdWx0czpcblx0XHRuYW1lOiAnJ1xuXHRcdHRoZW1lOiAnJ1xuXHRcdHNpemU6ICcnXG5cdFx0Ym9keTogJydcblx0XHR3aWRnZXRzOiBbXVxuXHRcdGFjdGl2ZTogMFxuXHRcdHRoZW1lQWN0aXZlOiAwXG5cdFx0c2l6ZUFjdGl2ZTogMCIsImV4cG9ydHMuZ2l0aHViID0gQmFja2JvbmUuTW9kZWwuZXh0ZW5kXG4gICAgdXJsOiAtPlxuICAgICAgICBcIiN7JC5hcHAuY29uZmlnLmFwaX0vc29jaWFsL2dpdGh1Yi9jb250cmlidXRlXCJcbiAgICBkZWZhdWx0czpcbiAgICAgICAgc2lnbjogXCJjb250cmlidXRlXCJcbiIsIlwidXNlIHN0cmljdFwiXG5cblxuZXhwb3J0cy5tb2RlbCA9IEJhY2tib25lLk1vZGVsLmV4dGVuZFxuICAgIGRlZmF1bHRzOlxuICAgICAgICBleGlzdEluY2x1ZGVzOiAtPlxuICAgICAgICAgICAgQGluY2x1ZGU/IGFuZCBAaW5jbHVkZS5sZW5ndGggPiAwIGFuZCBub3QgKCBAaW5jbHVkZS5sZW5ndGggaXMgMSBhbmQgQGluY2x1ZGVbMF0uaW52aXNpYmxlPyApXG4iLCJMYXlvdXRJbmRleCA9IHJlcXVpcmUoJy4uL2xheW91dHMvcGFnZXMvaW5kZXgnKS5tb2R1bGVcbkxheW91dFN0YXJ0ID0gcmVxdWlyZSgnLi4vbGF5b3V0cy9wYWdlcy9zdGFydCcpLm1vZHVsZVxuTGF5b3V0QmFzaWMgPSByZXF1aXJlKCcuLi9sYXlvdXRzL3BhZ2VzL2Jhc2ljJykubW9kdWxlXG5MYXlvdXRXaWRnZXRzID0gcmVxdWlyZSgnLi4vbGF5b3V0cy9wYWdlcy93aWRnZXRzJykubW9kdWxlXG5MYXlvdXRVdGlsaXRpZXMgPSByZXF1aXJlKCcuLi9sYXlvdXRzL3BhZ2VzL3V0aWxpdGllcycpLm1vZHVsZVxuTGF5b3V0Q29tcG9uZW50cyA9IHJlcXVpcmUoJy4uL2xheW91dHMvcGFnZXMvY29tcG9uZW50cycpLm1vZHVsZVxuTGF5b3V0Q2hhbmdlbG9nID0gcmVxdWlyZSgnLi4vbGF5b3V0cy9wYWdlcy9jaGFuZ2Vsb2cnKS5tb2R1bGVcbkxheW91dEV4YW1wbGVzID0gcmVxdWlyZSgnLi4vbGF5b3V0cy9wYWdlcy9leGFtcGxlcycpXG5MYXlvdXQ0MDQgPSByZXF1aXJlKCcuLi9sYXlvdXRzL3BhZ2VzLzQwNCcpLm1vZHVsZVxuXG5tYWluQ29udHJvbGxlciA9XG5cblxuY2hhbmdlRnJhZ21lbnQgPSAoIGZyYWdtZW50ICkgLT5cblx0aWYgZnJhZ21lbnRbMF0gaXMgJyEnXG5cdFx0ZnJhZ21lbnQucmVwbGFjZSAvXFwhXFwvL2csIFwiXCJcblx0ZWxzZVxuXHRcdGZyYWdtZW50XG5cblxuZXhwb3J0cy5tb2R1bGUgPSBNYXJpb25ldHRlLkFwcFJvdXRlci5leHRlbmRcblxuXHRjb250cm9sbGVyOiBtYWluQ29udHJvbGxlclxuXHR0aXRsZTogJCgndGl0bGUnKVxuXG5cdHJvdXRlczpcblx0XHQnJzogJ2luZGV4J1xuXHRcdCdzdGFydCc6ICdzdGFydCdcblx0XHQnYmFzaWMnOiAnYmFzaWMnXG5cdFx0J3dpZGdldHMnOiAnd2lkZ2V0cydcblx0XHQndXRpbGl0aWVzJzogJ3V0aWxpdGllcydcblx0XHQnY29tcG9uZW50cyc6ICdjb21wb25lbnRzJ1xuXHRcdCdjaGFuZ2Vsb2cnOiAnY2hhbmdlbG9nJ1xuXHRcdCdleGFtcGxlcy9ibG9nJzogJ2V4YW1wbGVzQmxvZydcblx0XHRcIiplcnJvclwiOiBcImVycm9yNDA0XCJcblx0aW5pdGlhbGl6ZTogLT5cblx0XHRAYmluZCAnYWxsJywgQF90cmFja1BhZ2V2aWV3XG5cblx0X3RyYWNrUGFnZXZpZXc6IC0+XG5cdFx0dXJsID0gQmFja2JvbmUuaGlzdG9yeS5nZXRGcmFnbWVudCgpXG5cdFx0aWYgIS9eXFwvLy50ZXN0KHVybCkgdGhlbiB1cmwgPSAnLycgKyB1cmxcblx0XHR3aW5kb3cuX2dhcT8ucHVzaChbJ190cmFja1BhZ2V2aWV3JywgdXJsXSlcblx0XHRpZiB3aW5kb3dbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddP1xuXHRcdFx0Z2EoJ3NlbmQnLCAncGFnZXZpZXcnLCB1cmwpXG5cblx0cm91dGU6IChyb3V0ZSwgbmFtZSwgY2FsbGJhY2spIC0+XG5cdFx0cm91dGUgPSBcIighLylcIiArIHJvdXRlXG5cdFx0cm91dGUgPSBAX3JvdXRlVG9SZWdFeHAocm91dGUpXHR1bmxlc3MgXy5pc1JlZ0V4cChyb3V0ZSlcblx0XHRpZiBfLmlzRnVuY3Rpb24obmFtZSlcblx0XHRcdGNhbGxiYWNrID0gbmFtZVxuXHRcdFx0bmFtZSA9IFwiXCJcblx0XHRcblx0XHRjYWxsYmFjayA9IHRoaXNbbmFtZV1cdHVubGVzcyBjYWxsYmFja1xuXHRcdHJvdXRlciA9IHRoaXNcblx0XHRCYWNrYm9uZS5oaXN0b3J5LnJvdXRlIHJvdXRlLCAoZnJhZ21lbnQpID0+XG5cdFx0XHQjIGlmIGZyYWdtZW50WzBdIGlzICchJyB0aGVuIGZyYWdtZW50ID0gZnJhZ21lbnQucmVwbGFjZSAvXFwhXFwvL2csIFwiXCJcblx0XHRcdGFyZ3MgPSByb3V0ZXIuX2V4dHJhY3RQYXJhbWV0ZXJzKHJvdXRlLCBmcmFnbWVudClcblx0XHRcdCQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ2xvYWRlcicsICdzdGFydCcsIEJhY2tib25lLmhpc3RvcnkuY29sb3Jcblx0XHRcdHNldFRpbWVvdXQgPT5cblx0XHRcdFx0cm91dGVyLmV4ZWN1dGUgY2FsbGJhY2ssIGFyZ3Ncblx0XHRcdFx0cm91dGVyLnRyaWdnZXIuYXBwbHkgcm91dGVyLCBbXCJyb3V0ZTpcIiArIG5hbWVdLmNvbmNhdChhcmdzKVxuXHRcdFx0XHRyb3V0ZXIudHJpZ2dlciBcInJvdXRlXCIsIG5hbWUsIGFyZ3Ncblx0XHRcdFx0QmFja2JvbmUuaGlzdG9yeS50cmlnZ2VyIFwicm91dGVcIiwgcm91dGVyLCBuYW1lLCBhcmdzXG5cdFx0XHRcdCQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ2xvYWRlcicsICdmaW5pc2gnXG5cdFx0XHQsIDUwXG5cdFx0XHRyZXR1cm5cblxuXHRcdHRoaXNcblxuXHRpbmRleDogLT5cblx0XHRAdGl0bGUuaHRtbChcIk1heG1lcnRraXRcIilcblx0XHRCYWNrYm9uZS5oaXN0b3J5LnRlbXBsYXRlcyA9ICdpbmRleCdcblx0XHQkLmFwcC5tYWluLmN1cnJlbnRWaWV3LmNvbnRlbnQuc2hvdyBuZXcgTGF5b3V0SW5kZXgoKVxuXG5cdHN0YXJ0OiAtPlxuXHRcdEB0aXRsZS5odG1sKFwiU3RhcnQgwrcgTWF4bWVydGtpdFwiKVxuXHRcdEJhY2tib25lLmhpc3RvcnkuY29sb3IgPSAnIzNmM2YzZidcblx0XHRCYWNrYm9uZS5oaXN0b3J5LnRlbXBsYXRlcyA9ICdzdGFydCdcblx0XHQkLmFwcC5tYWluLmN1cnJlbnRWaWV3LmNvbnRlbnQuc2hvdyBuZXcgTGF5b3V0U3RhcnQoKVxuXG5cdGJhc2ljOiAtPlxuXHRcdEB0aXRsZS5odG1sKFwiQmFzaWMgwrcgTWF4bWVydGtpdFwiKVxuXHRcdEJhY2tib25lLmhpc3RvcnkuY29sb3IgPSAnI2I2MmQ5Mydcblx0XHRCYWNrYm9uZS5oaXN0b3J5LnRlbXBsYXRlcyA9ICdiYXNpYydcblx0XHQkLmFwcC5tYWluLmN1cnJlbnRWaWV3LmNvbnRlbnQuc2hvdyBuZXcgTGF5b3V0QmFzaWMoKVxuXG5cdCMgd2lkZ2V0czogLT5cblx0IyAgICAgQmFja2JvbmUuaGlzdG9yeS5jb2xvciA9ICcjNDRhNGI2J1xuXHQjICAgICBCYWNrYm9uZS5oaXN0b3J5LnRlbXBsYXRlcyA9ICdiYXNpYydcblx0IyAgICAgJC5hcHAubWFpbi5jdXJyZW50Vmlldy5jb250ZW50LnNob3cgbmV3IExheW91dEJhc2ljKClcblxuXHR3aWRnZXRzOiAtPlxuXHRcdEB0aXRsZS5odG1sKFwiV2lkZ2V0cyDCtyBNYXhtZXJ0a2l0XCIpXG5cdFx0QmFja2JvbmUuaGlzdG9yeS50ZW1wbGF0ZXMgPSAnd2lkZ2V0cydcblx0XHRCYWNrYm9uZS5oaXN0b3J5LmNvbG9yID0gJyMzMDg3YWEnXG5cdFx0JC5hcHAubWFpbi5jdXJyZW50Vmlldy5jb250ZW50LnNob3cgbmV3IExheW91dFdpZGdldHMoKVxuXG5cdHV0aWxpdGllczogLT5cblx0XHRAdGl0bGUuaHRtbChcIlV0aWxpdGllcyDCtyBNYXhtZXJ0a2l0XCIpXG5cdFx0QmFja2JvbmUuaGlzdG9yeS50ZW1wbGF0ZXMgPSAndXRpbGl0aWVzJ1xuXHRcdEJhY2tib25lLmhpc3RvcnkuY29sb3IgPSAnIzk3MjgyMidcblx0XHQkLmFwcC5tYWluLmN1cnJlbnRWaWV3LmNvbnRlbnQuc2hvdyBuZXcgTGF5b3V0VXRpbGl0aWVzKClcblxuXHRjb21wb25lbnRzOiAtPlxuXHRcdEB0aXRsZS5odG1sKFwiQ29tcG9uZW50cyDCtyBNYXhtZXJ0a2l0XCIpXG5cdFx0QmFja2JvbmUuaGlzdG9yeS50ZW1wbGF0ZXMgPSAnY29tcG9uZW50cydcblx0XHRCYWNrYm9uZS5oaXN0b3J5LmNvbG9yID0gJyMyNWE4MDAnXG5cdFx0JC5hcHAubWFpbi5jdXJyZW50Vmlldy5jb250ZW50LnNob3cgbmV3IExheW91dENvbXBvbmVudHMoKVxuXG5cdGNoYW5nZWxvZzogLT5cblx0XHRAdGl0bGUuaHRtbChcIkNoYW5nZWxvZyDCtyBNYXhtZXJ0a2l0XCIpXG5cdFx0QmFja2JvbmUuaGlzdG9yeS50ZW1wbGF0ZXMgPSAnY2hhbmdlbG9nJ1xuXHRcdEJhY2tib25lLmhpc3RvcnkuY29sb3IgPSAnIzI1YTgwMCdcblx0XHQkLmFwcC5tYWluLmN1cnJlbnRWaWV3LmNvbnRlbnQuc2hvdyBuZXcgTGF5b3V0Q2hhbmdlbG9nKClcblxuXHRleGFtcGxlc0Jsb2c6IC0+XG5cdFx0QHRpdGxlLmh0bWwoXCJDaGFuZ2Vsb2cgwrcgTWF4bWVydGtpdFwiKVxuXHRcdEJhY2tib25lLmhpc3RvcnkudGVtcGxhdGVzID0gbnVsbFxuXHRcdEJhY2tib25lLmhpc3RvcnkuY29sb3IgPSAnIzI1YTgwMCdcblx0XHQkLmFwcC5tYWluLmN1cnJlbnRWaWV3LmNvbnRlbnQuc2hvdyBuZXcgTGF5b3V0RXhhbXBsZXMuYmxvZygpXG5cblx0ZXJyb3I0MDQ6IC0+XG5cdFx0QHRpdGxlLmh0bWwoXCI0MDQgwrcgTWF4bWVydGtpdFwiKVxuXHRcdCQuYXBwLmNvbW1hbmRzLmV4ZWN1dGUgJ21lbnUnLCAnYWN0aXZhdGUnXG5cdFx0JC5hcHAubWFpbi5jdXJyZW50Vmlldy5jb250ZW50LmNsb3NlKClcblx0XHQkLmFwcC5tYWluLmN1cnJlbnRWaWV3LmNvbnRlbnQuc2hvdyBuZXcgTGF5b3V0NDA0KClcbiIsIiMgcmVwbGFjZVRhZyA9ICh0YWcpIC0+XG4jICAgICB0YWdzVG9SZXBsYWNlW3RhZ10gb3IgdGFnXG4jXG4jIHNhZmVfdGFnc19yZXBsYWNlID0gKHN0cikgLT5cbiMgICAgIHN0ci5yZXBsYWNlIC9bJjw+XS9nLCByZXBsYWNlVGFnXG4jXG4jIHRhZ3NUb1JlcGxhY2UgPVxuIyAgICAgXCImXCI6IFwiJmFtcDtcIlxuIyAgICAgXCI8XCI6IFwiJmx0O1wiXG4jICAgICBcIj5cIjogXCImZ3Q7XCJcblxuZXhwb3J0cy5tb2R1bGUgPSBNYXJpb25ldHRlLkl0ZW1WaWV3LmV4dGVuZFxuICAgIHRhZ05hbWU6ICdzZWN0aW9uJ1xuICAgIHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhcnRpYWxzXG5cblxuICAgICMgb25SZW5kZXI6IC0+XG4gICAgIyAgICAgQCRlbC5maW5kKCdbaGxqc10nKS5lYWNoICggaW5kZXgsIHByZSApID0+XG4gICAgIyAgICAgICAgIGh0bWwgPSAkKHByZSkuaHRtbCgpXG4gICAgIyAgICAgICAgICQocHJlKS5odG1sIFwiPHByZT48Y29kZT4je3NhZmVfdGFnc19yZXBsYWNlKGh0bWwpfTwvY29kZT48L3ByZT5cIlxuICAgICMgICAgICAgICBobGpzLmhpZ2hsaWdodEJsb2NrKCQocHJlKS5maW5kKCdwcmUgY29kZScpWzBdKVxuIiwiZXhwb3J0cy5tYWluID0gTWFyaW9uZXR0ZS5JdGVtVmlldy5leHRlbmRcbiAgICB0YWdOYW1lOiBcImxpXCJcbiAgICB0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5oZWFkZXIubWVudS5pdGVtXG5cbmV4cG9ydHMubW9iaWxlID0gTWFyaW9uZXR0ZS5JdGVtVmlldy5leHRlbmRcbiAgICB0YWdOYW1lOiBcImxpXCJcbiAgICB0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5oZWFkZXIubWVudS5tb2JpbGVcbiIsIk1vZGVsU29jaWFsID0gcmVxdWlyZSgnLi4vLi4vbW9kZWxzL2hlYWRlci9zb2NpYWwnKVxuXG5leHBvcnRzLnR3aXR0ZXIgPSBNYXJpb25ldHRlLkl0ZW1WaWV3LmV4dGVuZFxuICAgIHRhZ05hbWU6IFwic3BhblwiXG4gICAgbW9kZWw6IG5ldyBNb2RlbFNvY2lhbC50d2l0dGVyKClcbiAgICB0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5oZWFkZXIuc29jaWFsLnR3aXR0ZXJcblxuICAgIGluaXRpYWxpemU6IC0+XG4gICAgICAgIEBsaXN0ZW5UbyBAbW9kZWwsICdzeW5jJywgQHJlbmRlclxuXG4gICAgICAgIEBtb2RlbC5mZXRjaFxuICAgICAgICAgICAgZGF0YTogJC5wYXJhbSh7IHVybDogXCJ3d3cubWF4bWVydC5jb21cIn0pXG5cblxuXG5cbmV4cG9ydHMuZmFjZWJvb2sgPSBNYXJpb25ldHRlLkl0ZW1WaWV3LmV4dGVuZFxuICAgIHRhZ05hbWU6IFwic3BhblwiXG4gICAgbW9kZWw6IG5ldyBNb2RlbFNvY2lhbC5mYWNlYm9vaygpXG4gICAgdGVtcGxhdGU6ICQuYXBwLnRlbXBsYXRlcy5jb21tb24uaGVhZGVyLnNvY2lhbC5mYWNlYm9va1xuXG4gICAgaW5pdGlhbGl6ZTogLT5cbiAgICAgICAgQGxpc3RlblRvIEBtb2RlbCwgJ3N5bmMnLCBAcmVuZGVyXG5cbiAgICAgICAgQG1vZGVsLmZldGNoXG4gICAgICAgICAgICBkYXRhOiAkLnBhcmFtKHsgdXJsOiBcInd3dy5tYXhtZXJ0LmNvbVwifSlcblxuXG5cbmV4cG9ydHMuZ2l0aHViID0gTWFyaW9uZXR0ZS5JdGVtVmlldy5leHRlbmRcbiAgICB0YWdOYW1lOiBcInNwYW5cIlxuICAgIG1vZGVsOiBuZXcgTW9kZWxTb2NpYWwuZ2l0aHViKClcbiAgICB0ZW1wbGF0ZTogJC5hcHAudGVtcGxhdGVzLmNvbW1vbi5oZWFkZXIuc29jaWFsLmdpdGh1YlxuXG4gICAgaW5pdGlhbGl6ZTogLT5cbiAgICAgICAgQGxpc3RlblRvIEBtb2RlbCwgJ3N5bmMnLCBAcmVuZGVyXG5cbiAgICAgICAgQG1vZGVsLmZldGNoXG4gICAgICAgICAgICBkYXRhOiAkLnBhcmFtKHsgb3duZXI6IFwibWF4bWVydFwiLCByZXBvOiBcIm1heG1lcnRraXRcIn0pXG4iLCIjIE1vZGVsU29jaWFsID0gcmVxdWlyZSgnLi4vLi4vLi4vbW9kZWxzL3BhZ2VzL3NvY2lhbCcpXG5cbmV4cG9ydHMuaGVhZGVyID0gTWFyaW9uZXR0ZS5JdGVtVmlldy5leHRlbmRcblx0IyBtb2RlbDogbmV3IE1vZGVsU29jaWFsLmdpdGh1YigpXG5cdHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy5oZWFkZXJcblxuXG5cdGluaXRpYWxpemU6IC0+XG5cdFx0IyBAbGlzdGVuVG8gQG1vZGVsLCAnY2hhbmdlJywgQHJlbmRlclxuXHRcdEBsaXN0ZW5UbyBAbW9kZWwsICdjaGFuZ2U6c2l6ZScsIEBzaXplQ2hhbmdlclxuXHRcdEBsaXN0ZW5UbyBAbW9kZWwsICdjaGFuZ2U6bmFtZScsIEBuYW1lQ2hhbmdlclxuXHRcdEBsaXN0ZW5UbyBAbW9kZWwsICdjaGFuZ2U6dGhlbWUnLCBAdGhlbWVDaGFuZ2VyXG5cdFxuXHRvblJlbmRlcjogLT5cblx0XHRAJGVsLmNzcyBvcGFjaXR5OiAwXG5cdFx0c2V0VGltZW91dCA9PlxuXHRcdFx0QCRlbC5hbmltYXRlIG9wYWNpdHk6IDFcblx0XHQsIDI1MDBcblx0XHRAJHNpemUgPSBAJGVsLmZpbmQgJyNzaXplJ1xuXHRcdEAkdGhlbWUgPSBAJGVsLmZpbmQgJyN0aGVtZSdcblx0XHRAJG5hbWUgPSBAJGVsLmZpbmQgJyNuYW1lJ1xuXG5cdFx0QCRzaXplLm9uICdjbGljaycsID0+XG5cdFx0XHR3aWRnZXRzID0gQG1vZGVsLmdldCAnd2lkZ2V0cydcblx0XHRcdGFjdGl2ZSA9IEBtb2RlbC5nZXQgJ2FjdGl2ZSdcblx0XHRcdHRoZW1lQWN0aXZlID0gQG1vZGVsLmdldCAndGhlbWVBY3RpdmUnXG5cdFx0XHRzaXplQWN0aXZlID0gQG1vZGVsLmdldCAnc2l6ZUFjdGl2ZSdcblxuXHRcdFx0aWYgc2l6ZUFjdGl2ZSA8IHdpZGdldHNbYWN0aXZlXS5zaXplcy5sZW5ndGggLSAxXG5cdFx0XHRcdEBtb2RlbC5zZXQgJ3NpemVBY3RpdmUnLCBzaXplQWN0aXZlICsgMVxuXHRcdFx0ZWxzZVxuXHRcdFx0XHRAbW9kZWwuc2V0ICdzaXplQWN0aXZlJywgMFxuXHRcdFx0XG5cdFx0XHRAc2l6ZUNoYW5nZXIoKVxuXG5cdFx0QCR0aGVtZS5vbiAnY2xpY2snLCA9PlxuXHRcdFx0d2lkZ2V0cyA9IEBtb2RlbC5nZXQgJ3dpZGdldHMnXG5cdFx0XHRhY3RpdmUgPSBAbW9kZWwuZ2V0ICdhY3RpdmUnXG5cdFx0XHR0aGVtZUFjdGl2ZSA9IEBtb2RlbC5nZXQgJ3RoZW1lQWN0aXZlJ1xuXHRcdFx0c2l6ZUFjdGl2ZSA9IEBtb2RlbC5nZXQgJ3NpemVBY3RpdmUnXG5cdFx0XHRcblx0XHRcdGlmIHRoZW1lQWN0aXZlIDwgd2lkZ2V0c1thY3RpdmVdLnRoZW1lcy5sZW5ndGggLSAxXG5cdFx0XHRcdEBtb2RlbC5zZXQgJ3RoZW1lQWN0aXZlJywgdGhlbWVBY3RpdmUgKyAxXG5cdFx0XHRlbHNlXG5cdFx0XHRcdEBtb2RlbC5zZXQgJ3RoZW1lQWN0aXZlJywgMFxuXHRcdFx0QHRoZW1lQ2hhbmdlcigpXG5cblx0XHRAJG5hbWUub24gJ2NsaWNrJywgPT5cblx0XHRcdHdpZGdldHMgPSBAbW9kZWwuZ2V0ICd3aWRnZXRzJ1xuXHRcdFx0YWN0aXZlID0gQG1vZGVsLmdldCAnYWN0aXZlJ1xuXHRcdFx0dGhlbWVBY3RpdmUgPSBAbW9kZWwuZ2V0ICd0aGVtZUFjdGl2ZSdcblx0XHRcdHNpemVBY3RpdmUgPSBAbW9kZWwuZ2V0ICdzaXplQWN0aXZlJ1xuXHRcdFx0XG5cdFx0XHRpZiBhY3RpdmUgPCB3aWRnZXRzLmxlbmd0aCAtIDFcblx0XHRcdFx0QG1vZGVsLnNldCAnYWN0aXZlJywgYWN0aXZlICsgMVxuXHRcdFx0ZWxzZVxuXHRcdFx0XHRAbW9kZWwuc2V0ICdhY3RpdmUnLCAwXG5cdFx0XHRAbmFtZUNoYW5nZXIoKVxuXHRcdFxuXHRcdCMgQHRoZW1lQ2hhbmdlcigpXG5cdFx0IyBAbmFtZUNoYW5nZXIoKVxuXHRcdCMgQHNpemVDaGFuZ2VyKClcblxuXHRzaXplQ2hhbmdlcjogLT5cblx0XHRAJHNpemUucmVtb3ZlQ2xhc3MgJy1zdGFydC0tJ1xuXHRcdEAkc2l6ZS5hZGRDbGFzcyAnLXN0b3AtLSdcblx0XHRcblx0XHRzZXRUaW1lb3V0ID0+XG5cdFx0XHRAJHNpemUucmVtb3ZlQ2xhc3MgJy1zdG9wLS0nXG5cdFx0XHRAJHNpemUuYWRkQ2xhc3MgJy1zdGFydC0tJ1xuXHRcdFx0QCRzaXplLmh0bWwgXCJfI3tAbW9kZWwuZ2V0ICdzaXplJ31cIlxuXHRcdCwgNTAwXG5cblx0dGhlbWVDaGFuZ2VyOiAtPlxuXHRcdEAkdGhlbWUucmVtb3ZlQ2xhc3MgJy1zdGFydC0tJ1xuXHRcdEAkdGhlbWUuYWRkQ2xhc3MgJy1zdG9wLS0nXG5cdFx0XG5cdFx0c2V0VGltZW91dCA9PlxuXHRcdFx0QCR0aGVtZS5yZW1vdmVDbGFzcyAnLXN0b3AtLSdcblx0XHRcdEAkdGhlbWUuYWRkQ2xhc3MgJy1zdGFydC0tJ1xuXHRcdFx0QCR0aGVtZS5odG1sIFwiLSN7QG1vZGVsLmdldCAndGhlbWUnfS1cIlxuXHRcdCwgNTAwXG5cblx0bmFtZUNoYW5nZXI6IC0+XG5cdFx0QCRuYW1lLnJlbW92ZUNsYXNzICctc3RhcnQtLSdcblx0XHRAJG5hbWUuYWRkQ2xhc3MgJy1zdG9wLS0nXG5cdFx0XG5cdFx0c2V0VGltZW91dCA9PlxuXHRcdFx0QCRuYW1lLnJlbW92ZUNsYXNzICctc3RvcC0tJ1xuXHRcdFx0QCRuYW1lLmFkZENsYXNzICctc3RhcnQtLSdcblx0XHRcdEAkbmFtZS5odG1sIEBtb2RlbC5nZXQgJ25hbWUnXG5cdFx0LCA1MDBcblxuXG5cblxuXG5cbmV4cG9ydHMuYm9keSA9IE1hcmlvbmV0dGUuSXRlbVZpZXcuZXh0ZW5kXG5cdGNsYXNzTmFtZTogJ2Rldi1zZXJpZXMtYm9keSAtZmFkZWluLS0nXG5cdHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLmluZGV4LnNlcmllcy5ib2R5XG5cblxuXHRpbml0aWFsaXplOiAtPlxuXHRcdEBsaXN0ZW5UbyBAbW9kZWwsICdjaGFuZ2U6bmFtZScsIEByZW5kZXJcblx0XHRAbGlzdGVuVG8gQG1vZGVsLCAnY2hhbmdlOnNpemUgY2hhbmdlOnRoZW1lJywgQGNoYW5nZXJcblxuXHRvblJlbmRlcjogLT5cblx0XHRAJGVsLmNzcyBkaXNwbGF5OiAnbm9uZSdcblx0XHRzZXRUaW1lb3V0ID0+XG5cdFx0XHRAJGVsLmZhZGVJbigpXG5cdFx0LCA1MDBcblx0XHRAY2hhbmdlcigpXG5cdFx0aWYgQCRlbFswXS5jaGlsZE5vZGVzWzBdP1xuXHRcdFx0JGVsID0gJChAJGVsWzBdLmNoaWxkTm9kZXNbMF0pXG5cdFx0XHQkZWwuZGF0YSAnY2xhc3NlcycsICRlbC5hdHRyICdjbGFzcydcblxuXHRjaGFuZ2VyOiAtPlxuXHRcdEAkZWwucmVtb3ZlQ2xhc3MgJy1zdGFydC0tJ1xuXHRcdEAkZWwuYWRkQ2xhc3MgJy1zdG9wLS0nXG5cblx0XHRzZXRUaW1lb3V0ID0+XG5cdFx0XHRAJGVsLnJlbW92ZUNsYXNzICctc3RvcC0tJ1xuXHRcdFx0QCRlbC5hZGRDbGFzcyAnLXN0YXJ0LS0nXG5cdFx0XHRpZiBAJGVsWzBdLmNoaWxkTm9kZXNbMF0/XG5cdFx0XHRcdCRlbCA9ICQoQCRlbFswXS5jaGlsZE5vZGVzWzBdKVxuXHRcdFx0XHQkZWwuYXR0cignY2xhc3MnLCAnJylcblx0XHRcdFx0JGVsLmF0dHIoJ2NsYXNzJywgJGVsLmRhdGEoJ2NsYXNzZXMnKSlcblx0XHRcdFx0JGVsLmFkZENsYXNzIEBtb2RlbC5nZXQgJ25hbWUnXG5cdFx0XHRcdCRlbC5hZGRDbGFzcyBcIi0je0Btb2RlbC5nZXQoJ3RoZW1lJyl9LVwiXG5cdFx0XHRcdCRlbC5hZGRDbGFzcyBcIl8je0Btb2RlbC5nZXQoJ3NpemUnKX1cIlxuXHRcdCwgNTAwXG5cdFx0IiwiTW9kZWxTb2NpYWwgPSByZXF1aXJlKCcuLi8uLi9tb2RlbHMvcGFnZXMvc29jaWFsJylcblxuZXhwb3J0cy5naXRodWIgPSBNYXJpb25ldHRlLkl0ZW1WaWV3LmV4dGVuZFxuICAgIHRhZ05hbWU6IFwic3BhblwiXG4gICAgbW9kZWw6IG5ldyBNb2RlbFNvY2lhbC5naXRodWIoKVxuICAgIHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnBhZ2VzLnNvY2lhbC5naXRodWJcblxuICAgIGluaXRpYWxpemU6IC0+XG4gICAgICAgIEBsaXN0ZW5UbyBAbW9kZWwsICdzeW5jJywgQHJlbmRlclxuXG4gICAgICAgIEBtb2RlbC5mZXRjaFxuICAgICAgICAgICAgZGF0YTogJC5wYXJhbSh7IG93bmVyOiBcIm1heG1lcnRcIiwgcmVwbzogXCJtYXhtZXJ0a2l0XCJ9KVxuIiwiZXhwb3J0cy5tb2R1bGUgPSBNYXJpb25ldHRlLkl0ZW1WaWV3LmV4dGVuZFxuICAgIHRhZ05hbWU6IFwibGlcIlxuICAgIHRlbXBsYXRlOiAkLmFwcC50ZW1wbGF0ZXMuY29tbW9uLnNpZGViYXIubWVudS5pdGVtXG4iLCJleHBvcnRzLm1vZHVsZSA9IHtcImNvbW1vblwiOntcInBhZ2VzXCI6e1wiaW5kZXhcIjp7XCJzZXJpZXNcIjp7XCJ3aWRnZXRzXCI6e1widGh1bWJuYWlsXCI6XCI8ZmlndXJlIHN0eWxlPVxcXCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAyMDBweFxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL2Zhcm05LnN0YXRpY2ZsaWNrci5jb20vODIzOC84NTE3NDE1NjU1X2FjMjIzMDM0YTdfYi5qcGdcXFwiPlxcblxcdDwvZGl2PlxcblxcdDxmaWdjYXB0aW9uIGNsYXNzPVxcXCItdGh1bWJuYWlsLWNhcHRpb25cXFwiPlxcblxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHRcXHQ8cD5HZWlzaGEgKOiKuOiAhT8pLCBnZWlrbyAo6Iq45a2QKSBvciBnZWlnaSAo6Iq45aaTKS48L3A+XFxuXFx0PC9maWdjYXB0aW9uPlxcbjwvZmlndXJlPlwiLFwidGFic1wiOlwiPHVsPlxcblxcdDxsaT48YT5UYWIgMTwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlRhYiAyPC9hPjwvbGk+XFxuXFx0PGxpPjxhPlRhYiAzPC9hPjwvbGk+XFxuXFx0PGxpIGRpc2FibGVkPVxcXCJcXFwiPjxhPlRhYiA0PC9hPjwvbGk+XFxuPC91bD5cIixcInNwaW5uZXJXYXZlc1wiOlwiPGRpdj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cIixcInNwaW5uZXJTcXVhcmVcIjpcIjxkaXY+PC9kaXY+XCIsXCJzcGlubmVyUmluZ1wiOlwiPGRpdj48L2Rpdj5cIixcInNwaW5uZXJGYlwiOlwiPGRpdj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cIixcInByb2dyZXNzXCI6XCI8ZGl2IHN0eWxlPVxcXCJ0ZXh0LWFsaWduOiBsZWZ0OyBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItYmFyXFxcIiBzdHlsZT1cXFwid2lkdGg6IDEyJVxcXCI+MTIgJTwvZGl2PlxcbjwvZGl2PlwiLFwicGlsbHNcIjpcIjx1bCBjbGFzcz1cXFwiX3Jlc3BvbnNpdmVfXFxcIiBzdHlsZT1cXFwiZGlzcGxheTogaW5saW5lLWJsb2NrOyB0ZXh0LWFsaWduOiBsZWZ0XFxcIj5cXG5cXHQ8bGk+PGE+UmVzcG9uc2l2ZTwvYT48L2xpPlxcblxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5QaWxsIDM8L2E+PC9saT5cXG5cXHQ8bGkgZGlzYWJsZWQ9XFxcIlxcXCI+PGE+UGlsbCA0PC9hPjwvbGk+XFxuPC91bD5cIixcIm5hdmJhclwiOlwiPGRpdiBzdHlsZT1cXFwiZGlzcGxheTpibG9jayFpbXBvcnRhbnRcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8L3VsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkA8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlwiLFwibWVudVwiOlwiPHVsIGNsYXNzPVxcXCJfaG92ZXJlZF9cXFwiIHN0eWxlPVxcXCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHRleHQtYWxpZ246IGxlZnRcXFwiPlxcblxcdDxsaT48YT5NZW51IDEgPGkgY2xhc3M9XFxcIi1hZGRvbiBmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPjwvbGk+XFxuXFx0PGxpPjxhPk1lbnUgMiA8aSBjbGFzcz1cXFwiLWFkZG9uXFxcIj7ijJhNPC9pPjwvYT48L2xpPlxcblxcdDxsaT5cXG5cXHRcXHQ8YT5NZW51IDMgPGkgY2xhc3M9XFxcIi1hZGRvbiBmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wXFxcIj5cXG5cXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51IF92ZXJ0aWNhbF9cXFwiPlxcblxcdFxcdFxcdFxcdDxsaT48YT5NZW51IHdpdGggbG9uZyBuYW1lIDxpIGNsYXNzPVxcXCItYWRkb25cXFwiPuKMmE08L2k+PC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPlxcblxcdFxcdFxcdFxcdFxcdDxhPk1lbnUgMiA8aSBjbGFzcz1cXFwiLWFkZG9uIGZhIGZhLWNhcmV0LXJpZ2h0XFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIF9yaWdodF9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGE+TWVudSAzPC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8L3VsPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvbGk+XFxuPC91bD5cIixcImxpc3RHcm91cFwiOlwiPHVsIHN0eWxlPVxcXCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHRleHQtYWxpZ246IGxlZnRcXFwiPlxcblxcdDxsaT48YT5NZW51IDE8L2E+PC9saT5cXG5cXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0PGxpPjxhPk1lbnUgMzwvYT48L2xpPlxcbjwvdWw+XCIsXCJsYWJlbFwiOlwiPHNwYW4+bGFiZWw8L3NwYW4+XCIsXCJncm91cFwiOlwiPGRpdiBzdHlsZT1cXFwiZGlzcGxheTogaW5saW5lLWJsb2NrXFxcIj48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWxlZnRcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG4gX2FjdGl2ZV9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1jZW50ZXJcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1yaWdodFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWp1c3RpZnlcXFwiPjwvaT48L2E+PC9kaXY+XCIsXCJkcm9wZG93blwiOlwiPGRpdiBjbGFzcz1cXFwiX2JvdHRvbV8gX2Rldi1jbGVhcl9cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRIZWFkZXJcXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0RHJvcGRvd24gQm90dG9tXFxuXFx0PC9kaXY+XFxuPC9kaXY+XCIsXCJidG5cIjpcIjxhPkJ1dHRvbjwvYT5cIixcImJhZGdlXCI6XCI8c3Bhbj5iYWRnZTwvc3Bhbj5cIixcImF2YXRhclwiOlwiPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIl9ib3JkZXJlZF9cXFwiPlxcblxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPjxpbWcgc3JjPVxcXCJodHRwczovL2ZiY2RuLXByb2ZpbGUtYS5ha2FtYWloZC5uZXQvaHByb2ZpbGUtYWstZnJjMy90MS4wLTEvYzAuMjguMTUwLjE1MC8zNTA3OV8xMDM1ODUwMjMwMjg1MjhfNDU5MjkxMF9hLmpwZ1xcXCIgYWx0PVxcXCJtYXhtZXJ0XFxcIj48L2ZpZ3VyZT5Adm1heG1lcnRcXG48L2E+XCIsXCJhbGVydFwiOlwiPGRpdiBjbGFzcz1cXFwiLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWNsb3NlIC1idG4gX3Vuc3R5bGVkX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRpbWVzXFxcIj48L2k+PC9hPlxcblxcdEhlYWRzIHVwISBUaGlzIGFsZXJ0IG5lZWRzIHlvdXIgYXR0ZW50aW9uLCBidXQgaXQncyBub3Qgc3VwZXIgaW1wb3J0YW50LlxcbjwvZGl2PlwifSxcImhlYWRlclwiOlwiPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDYgZGV2LWNhcmQtaG9sZGVyXFxcIj5cXG5cXHRcXHQ8aDQgY2xhc3M9XFxcImRldi1mb250LXJhbGV3YXkgX2NlbnRlcl9cXFwiPndpZGdldDwvaDQ+XFxuXFx0XFx0PGRpdiBpZD1cXFwibmFtZVxcXCIgY2xhc3M9XFxcImRldi1jYXJkIC1odWdlaW5jLS1cXFwiPlxcblxcdFxcdFxcdHt7bmFtZX19XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgZGV2LXBsdXMgX3Zpc2libGUtZGVza3RvcHNfIF92aXNpYmxlLWxhcmdlLWRlc2t0b3BzX1xcXCI+XFxuXFx0XFx0K1xcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIGRldi1jYXJkLWhvbGRlclxcXCI+XFxuXFx0XFx0PGg0IGNsYXNzPVxcXCJkZXYtZm9udC1yYWxld2F5IF9jZW50ZXJfXFxcIj50aGVtZTwvaDQ+XFxuXFx0XFx0PGRpdiBpZD1cXFwidGhlbWVcXFwiIGNsYXNzPVxcXCJkZXYtY2FyZCAtaHVnZWluYy0tXFxcIj5cXG5cXHRcXHRcXHQte3t0aGVtZX19LVxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIGRldi1wbHVzIF92aXNpYmxlLWRlc2t0b3BzXyBfdmlzaWJsZS1sYXJnZS1kZXNrdG9wc19cXFwiPlxcblxcdFxcdCtcXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMiBkZXYtY2FyZC1ob2xkZXJcXFwiPlxcblxcdFxcdDxoNCBjbGFzcz1cXFwiZGV2LWZvbnQtcmFsZXdheSBfY2VudGVyX1xcXCI+c2l6ZTwvaDQ+XFxuXFx0XFx0PGRpdiBpZD1cXFwic2l6ZVxcXCIgY2xhc3M9XFxcImRldi1jYXJkIC1odWdlaW5jLS1cXFwiPlxcblxcdFxcdFxcdF97e3NpemV9fVxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlwiLFwiYm9keVwiOlwie3t7Ym9keX19fVwifSxcImxheW91dFwiOlwiPHNlY3Rpb24gY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtaW5kZXhcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtaG9sZGVyXFxcIj5cXG5cXHRcXHQ8dmlkZW8gY2xhc3M9XFxcImRldi12aWRlby1ibG9ja1xcXCIgYXV0b3BsYXk9XFxcImF1dG9wbGF5XFxcIiBsb29wPVxcXCJpbmZpbml0ZVxcXCIgcG9zdGVyPVxcXCIvaW1nL2Fic3RyYWN0LmpwZ1xcXCIgd2lkdGg9XFxcIjEwNjdcXFwiIGhlaWdodD1cXFwiNjAwXFxcIj5cXG5cXHRcXHRcXHQ8c291cmNlIHNyYz1cXFwiL21lZGlhL2xhbmRpbmcubXA0XFxcIiB0eXBlPVxcXCJ2aWRlby9tcDRcXFwiPlxcblxcdFxcdFxcdDxzb3VyY2Ugc3JjPVxcXCIvbWVkaWEvbGFuZGluZy53ZWJtXFxcIiB0eXBlPVxcXCJ2aWRlby93ZWJtXFxcIj5cXG5cXHRcXHRcXHQ8c291cmNlIHNyYz1cXFwiL21lZGlhL2xhbmRpbmcub2d2XFxcIiB0eXBlPVxcXCJ2aWRlby9vZ3ZcXFwiPlxcblxcdFxcdFxcdDxpbWcgc3JjPVxcXCIvaW1nL2Fic3RyYWN0LmpwZ1xcXCI+XFxuXFx0XFx0PC92aWRlbz5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8cCBjbGFzcz1cXFwiX2NlbnRlcl8gZGV2LWxvZ29iaWdcXFwiPjxpbWcgc3JjPVxcXCIvaW1nL2xvZ29iaWcucG5nXFxcIj48L3A+XFxuXFx0XFx0XFx0XFx0PGgxIGNsYXNzPVxcXCJkZXYtZm9udC1sb2JzdGVyIF9jZW50ZXJfXFxcIj5NYXhtZXJ0a2l0PC9oMT5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJkZXYtdmVyc2lvblxcXCI+PHNtYWxsIGl0ZW1wcm9wPVxcXCJkYXRlUHVibGlzaGVkXFxcIiBjb250ZW50PVxcXCJ7e2J1aWxkRGF0ZX19XFxcIj52ZXIuIDxzcGFuIGl0ZW1wcm9wPVxcXCJzb2Z0d2FyZVZlcnNpb25cXFwiPnt7dmVyc2lvbn19PC9zcGFuPiwgYnVpbGRlZCB7e2J1aWxkRGF0ZX19PC9zbWFsbD48L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCJkZXYtYWRkaXRpb25hbFxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuPHA+Rm91bmQgYSB0ZXh0IG9yIGNvZGUgZXJyb3I/IFBsZWFzZSwgZmVlbCBmcmVlIHRvPC9wPlxcbjxzcGFuIGlkPVxcXCJzb2NpYWwtY29udHJpYnV0ZVxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcblxcdDwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyIGRldi1kZXNjcmlwdGlvblxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDggLW9mZnNldDJcXFwiPlxcblxcdFxcdFxcdDxoMSBjbGFzcz1cXFwiX2NlbnRlcl9cXFwiPkZsdWlkLiBJbnZpc2libGUuIEludmluY2libGUuPC9oMT5cXG5cXHRcXHRcXHQ8cCBjbGFzcz1cXFwiX21ham9yIF9jZW50ZXJfXFxcIiBpdGVtcHJvcD1cXFwiZGVzY3JpcHRpb25cXFwiPlxcblxcdFxcdFxcdFxcdE1heG1lcnRraXQgaXMgdGhlIG1vc3QgY3VzdG9taXphYmxlIGFuZCBlYXNpZXN0IGZvciB1c2FnZSBmcmFtZXdvcmsgeW91J3ZlIGV2ZXIgc2Vlbi5cXG5cXHRcXHRcXHQ8L3A+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCIgc3R5bGU9XFxcIm1hcmdpbi10b3A6IDI1cHhcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHQ8aDM+UGFja2FnZSBtYW5hZ2VyPC9oMz5cXG5cXHRcXHRcXHQ8cD5SdW4gPGNvZGU+JCBndWxwPC9jb2RlPiBhbmQgZWRpdCA8Yj5ta2l0Lmpzb248L2I+LCBwYWNrYWdlIG1hbmFnZXIgd2lsbCBpbnN0YWxsIGFuZCB1bmluc3RhbGwgc2l6ZXMgYW5kIHRoZW1lcyBmb3Igd2lkZ2V0cy4gSXQgd2lsbCByZWR1Y2UgZmlsZSBzaXplIGFuZCByZXRyb2ZpdCBtYXhtZXJ0a2l0IGZvciB5b3UuPC9wPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHQ8aDM+UHJlcHJvY2Vzc29yIFNhc3M8L2gzPlxcblxcdFxcdFxcdDxwPkFsbCBjc3MgYnVpbGQgd2l0aCBTYXNzLiBNYXhtZXJ0a2l0IHVzZXMgYWxsIHBvd2VyZnVsbCBmZWF0dXJlcyBwcm92aWRpbmcgYnkgU2Fzcywgc3VjaCBhcyBsaXN0cyBhbmQgbWFwcy48L3A+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdDxoMz5FYXN5IHRvIHJlbWVtYmVyPC9oMz5cXG5cXHRcXHRcXHQ8cD5DbGFzc2VzIG5hbWVzIGNvbnZlY3Rpb24gKDxiPkJ1dCB5b3UgY2FuIGNoYW5nZSBhbGwgcHJlZml4ZXMgYW5kIHBvc3RmaXhlcyB0byBhbGwgY2xhc3NlczwvYj4pLiA8Y29kZT4tbmFtZTwvY29kZT4gZm9yIHdpZGdldHMsIDxjb2RlPi1uYW1lLTwvY29kZT4gZm9yIHRoZW1lcywgPGNvZGU+X25hbWU8L2NvZGU+IGZvciBzaXplcywgPGNvZGU+X25hbWVfPC9jb2RlPiBmb3IgbW9kaWZpZXJzLCA8Y29kZT4tbmFtZS0tPC9jb2RlPiBmb3IgYW5pbWF0aW9ucy48L3A+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdDxoMz5FYXN5IHRvIGFwcGVuZCBhbmQgZWRpdDwvaDM+XFxuXFx0XFx0XFx0PHA+SXQncyByZWFsbHkgZWFzeSB0byBhcHBlbmQgYW5kIGVkaXQgbmV3IHRoZW1lcywgc2l6ZXMsIGFuaW1hdGlvbnMgYW5kIHdpZGdldHMuIEp1c3QgZ28gdGhyb3VnaCA8YSBocmVmPVxcXCIvc3RhcnQjY29tbW9uSG93dG9cXFwiPmhvdyB0bzwvYT4gc2VjdGlvbi48L3A+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCIgc3R5bGU9XFxcIm1hcmdpbi10b3A6IDI1cHhcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4IC1vZmZzZXQyXFxcIj5cXG5cXHRcXHRcXHQ8aDIgY2xhc3M9XFxcIl9jZW50ZXJfXFxcIj5ObyBqUXVlcnk8L2gyPlxcblxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfbWFqb3IgX2NlbnRlcl9cXFwiPllvdSBkb24ndCBuZWVkIGpRdWVyeSB0byB1c2UgTWF4bWVydGtpdCBqYXZhc2NyaXB0IHBsdWdpbnMuIFRoZXkgYXJlIGluY3JlZGlibHkgZmFzdC48L3A+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCIgc3R5bGU9XFxcIm1hcmdpbi10b3A6IDI1cHhcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4IC1vZmZzZXQyXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGg0PlNlbWFudGljPC9oND5cXG5cXHRcXHRcXHRcXHRcXHQ8cCBjbGFzcz1cXFwiX25vcm1hbFxcXCI+TWF4bWVydGtpdCBjYW4gYmUgdXNlZCB3aXRoIGNvbXBsZXRlbHkgc2VtYW50aWMgbWFya3VwLiBXcml0ZSBjbGVhbiBjb2RlIHdpdGhvdXQgc2FjcmlmaWNpbmcgYW55IHV0aWxpdHkgb3IgY29udmVuaWVuY2UuPC9wPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aDQ+UmVzcG9uc2l2ZTwvaDQ+XFxuXFx0XFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9ub3JtYWxcXFwiPk1heG1lcnRraXQgaXMgcmVzcG9uc2l2ZSBmcmFtZXdvcmssIGFuZCBpdCBwZXJtZWF0ZXMgZXZlcnkgYXNwZWN0IG9mIHRoZSBmcmFtZXdvcmsuIEJ1aWxkIGZvciBldmVyeSBkZXZpY2Ugd2l0aCBlYXNlLjwvcD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGg0PlJlYWRhYmxlPC9oND5cXG5cXHRcXHRcXHRcXHRcXHQ8cCBjbGFzcz1cXFwiX25vcm1hbFxcXCI+TWF4bWVydGtpdCBpcyB3cml0dGVuIHdpdGggaHVtYW5zIGluIG1pbmQsIGFuZCBpcyBlYXN5IHRvIHJlYWQgZXZlbiBpZiB5b3UgZG9u4oCZdCBrbm93IG11Y2ggY29kZS48L3A+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxoND5SYXBpZCBwcm90b3R5cGluZzwvaDQ+XFxuXFx0XFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9ub3JtYWxcXFwiPk1heG1lcnRraXQgYWxsb3dzIHlvdSB0byBzd2lmdGx5IHByb3RvdHlwZSB5b3VyIGlkZWFzIHNvIHlvdSBjYW4gc3RhcnQgdGVzdGluZyBzb29uZXIgdGhhbiBsYXRlci48L3A+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXdhbGwgZGV2LXdhbGxcXFwiIGRhdGEta2luZD1cXFwid2FsbFxcXCIgZGF0YS16b29tPVxcXCJ0cnVlXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaXRlbVxcXCI+XFxuXFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCIgPlxcblxcdFxcdFxcdDxpbWcgc3JjPVxcXCIvaW1nL21pY3Jvc2NvcGUuanBnXFxcIiBhbHQ9XFxcIkV4YW1wbGVzXFxcIj5cXG5cXHRcXHQ8L2ZpZ3VyZT5cXG5cXHRcXHQ8aGVhZGVyIGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0MlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGgxIGNsYXNzPVxcXCJkZXYtZm9udC1sb2JzdGVyIF9jZW50ZXJfXFxcIj5FeGFtcGxlczwvaDE+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGgyIGNsYXNzPVxcXCJkZXYtZm9udC1yYWxld2F5IF9jZW50ZXJfXFxcIj48c21hbGw+QmVhdXRpZnVsIGV4YW1wbGVzIG9mIHVzaW5nIG1heG1lcnRraXQ8L3NtYWxsPjwvaDI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9jZW50ZXJfXFxcIj48c21hbGwgc3R5bGU9XFxcIm9wYWNpdHk6IDAuNDsgZm9udC13ZWlnaHQ6IDEwMFxcXCI+VGhlcmUgYXJlIGZldyBvZiB0aGVtLCBidXQgSSdsbCBhZGQgc29tZSBtb3JlIHNvb24uPC9zbWFsbD48L3A+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9jZW50ZXJfXFxcIiBzdHlsZT1cXFwibWFyZ2luLXRvcDogMjBweFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIGhyZWY9XFxcIi9leGFtcGxlcy9ibG9nXFxcIiBjbGFzcz1cXFwiLWJ0bi1naG9zdCAtc2NhbGUtLVxcXCI+YmxvZzwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9oZWFkZXI+XFxuXFx0XFx0PCEtLSA8c2VjdGlvbiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2IC1vZmZzZXQzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aDIgY2xhc3M9XFxcImRldi1mb250LXJhbGV3YXkgX2NlbnRlcl9cXFwiPkEgZmV3IGV4YW1wbGVzIGFyZSBoZXJlPC9oMj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8cCBjbGFzcz1cXFwiX21ham9yIF9jZW50ZXJfXFxcIiBzdHlsZT1cXFwiZm9udC13ZWlnaHQ6IDEwMFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0WW91IHdpbGwgYmUgYWJsZSB0byBjcmVhdGUgYXdlc29tZSBzaXRlcyB3aXRoIHRoZWVzZSBleGFtcGxlcy5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGEgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIGhyZWY9XFxcIi9leGFtcGxlcy9ibG9nXFxcIiBjbGFzcz1cXFwiLWJ0bi1naG9zdCAtc2NhbGUtLVxcXCI+YmxvZzwvYT5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L3NlY3Rpb24+IC0tPlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4IC1vZmZzZXQyXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiL2ltZy9kZXZpY2VzLnBuZ1xcXCI+XFxuXFx0XFx0XFx0PCEtLSA8ZmlnY2FwdGlvbiBjbGFzcz1cXFwiLXRodW1ibmFpbC1jYXB0aW9uXFxcIj5cXG5cXHRcXHRcXHQ8aDQ+R2Vpc2hhIDxzbWFsbD5LeW90bywgSmFwYW48L3NtYWxsPjwvaDQ+XFxuXFx0XFx0XFx0PHA+R2Vpc2hhICjoirjogIU/KSwgZ2Vpa28gKOiKuOWtkCkgb3IgZ2VpZ2kgKOiKuOWmkykgYXJlIHRyYWRpdGlvbmFsIEphcGFuZXNlIGZlbWFsZSBlbnRlcnRhaW5lcnMgd2hvIGFjdCBhcyBob3N0ZXNzZXMgYW5kIHdob3NlIHNraWxscyBpbmNsdWRlIHBlcmZvcm1pbmcgdmFyaW91cyBKYXBhbmVzZSBhcnRzIHN1Y2ggYXMgY2xhc3NpY2FsIG11c2ljLCBkYW5jZSBhbmQgZ2FtZXMuPC9wPlxcblxcdFxcdFxcdDwvZmlnY2FwdGlvbj4gLS0+XFxuXFx0XFx0XFx0PC9maWd1cmU+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPG1haW4gY2xhc3M9XFxcIi1jb250YWluZXIgZGV2LW1haW4tY29udGVudFxcXCI+XFxuXFx0PGFydGljbGUgY2xhc3M9XFxcImRldi1zZXJpZXNcXFwiPlxcblxcdFxcdDxzZWN0aW9uIGNsYXNzPVxcXCItcm93XFxcIiBpZD1cXFwic2VyaWVzLWhlYWRlclxcXCI+XFxuXFx0XFx0PC9zZWN0aW9uPlxcblxcdFxcdDxzZWN0aW9uIGNsYXNzPVxcXCItcm93XFxcIiBpZD1cXFwic2VyaWVzXFxcIj5cXG5cXHRcXHQ8L3NlY3Rpb24+XFxuXFx0PC9hcnRpY2xlPlxcbjwvbWFpbj5cXG5cIn0sXCJzb2NpYWxcIjp7XCJnaXRodWJcIjpcIjxhIGhyZWY9XFxcImh0dHBzOi8vZ2l0aHViLmNvbS9tYXhtZXJ0L21heG1lcnRraXQvZm9ya1xcXCIgY2xhc3M9XFxcIi1idG4tYm9yZGVyZWQgX21pbm9yXFxcIiB0YXJnZXQ9XFxcIl9ibGFua1xcXCIgZGF0YS1ieXBhc3M+XFxuPGkgY2xhc3M9XFxcImZhIGZhLWdpdGh1YlxcXCI+PC9pPiZuYnNwOzxiPnt7c2lnbn19PC9iPlxcbnt7I2NvdW50fX17e2NvdW50fX17ey9jb3VudH19XFxue3teY291bnR9fVxcbjxzcGFuIGNsYXNzPVxcXCItc3Bpbm5lci1mYiBfdGlueVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9zcGFuPlxcbnt7L2NvdW50fX1cXG48L2E+XFxuXCJ9LFwid2lkZ2V0c1wiOlwiPHNlY3Rpb24gY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtd2lkZ2V0c1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LWluc3RydWN0aW9ucy1ob2xkZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcbjxoMSBjbGFzcz1cXFwiZGV2LWZvbnQtbG9ic3RlciBfY2VudGVyX1xcXCI+V2lkZ2V0cyA8c21hbGwgY2xhc3M9XFxcImRldi1mb250LXJhbGV3YXlcXFwiPkNvbXBvbmVudHM8L3NtYWxsPjwvaDE+XFxuPHAgaXRlbXByb3A9XFxcImRlc2NyaXB0aW9uXFxcIiBjbGFzcz1cXFwiZGV2LWluc3RydWN0aW9ucy1kZXNjcmlwdGlvbiBfY2VudGVyX1xcXCI+TWF4bWVydGtpdCB3aWRnZXRzIGFsbG93IHlvdSB0byBjdXN0b21pemUgYW5kIG1ha2UgeW91ciBwcm9qZWN0IGFsaXZlLjwvcD5cXG48ZGl2IGNsYXNzPVxcXCJkZXYtdmVyc2lvblxcXCI+PHNtYWxsIGl0ZW1wcm9wPVxcXCJkYXRlUHVibGlzaGVkXFxcIiBjb250ZW50PVxcXCJ7e2J1aWxkRGF0ZX19XFxcIj52ZXIuIDxzcGFuIGl0ZW1wcm9wPVxcXCJzb2Z0d2FyZVZlcnNpb25cXFwiPnt7dmVyc2lvbn19PC9zcGFuPiwgYnVpbGRlZCB7e2J1aWxkRGF0ZX19PC9zbWFsbD48L2Rpdj5cXG48Zm9ybSBhY3Rpb249XFxcImh0dHBzOi8vd3d3LnBheXBhbC5jb20vY2dpLWJpbi93ZWJzY3JcXFwiIG1ldGhvZD1cXFwicG9zdFxcXCIgdGFyZ2V0PVxcXCJfdG9wXFxcIiBzdHlsZT1cXFwidGV4dC1hbGlnbjpjZW50ZXI7IG1hcmdpbi10b3A6IDEwcHhcXFwiPlxcbjxpbnB1dCB0eXBlPVxcXCJoaWRkZW5cXFwiIG5hbWU9XFxcImNtZFxcXCIgdmFsdWU9XFxcIl9zLXhjbGlja1xcXCI+XFxuPGlucHV0IHR5cGU9XFxcImhpZGRlblxcXCIgbmFtZT1cXFwiZW5jcnlwdGVkXFxcIiB2YWx1ZT1cXFwiLS0tLS1CRUdJTiBQS0NTNy0tLS0tTUlJSE53WUpLb1pJaHZjTkFRY0VvSUlIS0RDQ0J5UUNBUUV4Z2dFd01JSUJMQUlCQURDQmxEQ0JqakVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQkFnVEFrTkJNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SUXdFZ1lEVlFRS0V3dFFZWGxRWVd3Z1NXNWpMakVUTUJFR0ExVUVDeFFLYkdsMlpWOWpaWEowY3pFUk1BOEdBMVVFQXhRSWJHbDJaVjloY0dreEhEQWFCZ2txaGtpRzl3MEJDUUVXRFhKbFFIQmhlWEJoYkM1amIyMENBUUF3RFFZSktvWklodmNOQVFFQkJRQUVnWUNDcUFBa21jQzkra0VpQzQxaC8wb2Vhc0dnbzBrSnBCbE1MZmY3WjViL3dSWlRsTGprS0I2L0JJN3ZGZEM2K01naVlrTHFSci9SaGNmZjdIWW9qOE1aRVRhK0ZFaDVJekozWFNRemMzSERhcE5QK1JYR20xYVBvRFFRcnQyTUVqanVJQjlWRnlxVTBPWlJjOGFnczk3RXM3WEtTZEpXY0xmSnNuNXpwSXY4R3pFTE1Ba0dCU3NPQXdJYUJRQXdnYlFHQ1NxR1NJYjNEUUVIQVRBVUJnZ3Foa2lHOXcwREJ3UUlsRDdKcXpUTXpwNkFnWkJsT3MweTVOV1BGam9Gbkllbm4yUUlsby92MGdVVmZYR1RtcllKdERiQlhMZncycUR1RDRxZjhjQjh6SW14UzM2RkV1Z2xtbXEwNC9sdmMyYTIvSUVsaVZSTm9zczhnRXFucTBVYWJWSGZjM2tUMjRKaCtIODVyTm1iQ3Q0aThPbGR2K0lqZUtPMmpGdmdPenRHeHFybTdMcGx6N3dJa2JDa0xJbXlJbVo5eE9iMWxKN2UzMGNnd0lZRXRlVTduWWVnZ2dPSE1JSURnekNDQXV5Z0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRVUZBRENCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjB3SGhjTk1EUXdNakV6TVRBeE16RTFXaGNOTXpVd01qRXpNVEF4TXpFMVdqQ0JqakVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQkFnVEFrTkJNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SUXdFZ1lEVlFRS0V3dFFZWGxRWVd3Z1NXNWpMakVUTUJFR0ExVUVDeFFLYkdsMlpWOWpaWEowY3pFUk1BOEdBMVVFQXhRSWJHbDJaVjloY0dreEhEQWFCZ2txaGtpRzl3MEJDUUVXRFhKbFFIQmhlWEJoYkM1amIyMHdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTUZIVHQzOFJNeExYSnlPMlNtUytOZGw3MlQ3b0tKNHU0dXcrNmF3bnRBTFdoMDNQZXdtSUp1emJBTFNjc1RTNHNab1MxZktjaUJHb2gxMWdJZkh6eWx2a2ROZS9oSmw2Ni9SR3FyajVyRmIwOHNBQUJOVHpEVGlxcU5wSmVCc1lzL2MyYWlHb3pwdFgyUmxuQmt0SCtTVU5wQWFqVzcyNE52Mld2aGlmNnNGQWdNQkFBR2pnZTR3Z2Vzd0hRWURWUjBPQkJZRUZKYWZmTHZHYnhlOVdUOVMxd29iN0JEV1pKUnJNSUc3QmdOVkhTTUVnYk13Z2JDQUZKYWZmTHZHYnhlOVdUOVMxd29iN0JEV1pKUnJvWUdVcElHUk1JR09NUXN3Q1FZRFZRUUdFd0pWVXpFTE1Ba0dBMVVFQ0JNQ1EwRXhGakFVQmdOVkJBY1REVTF2ZFc1MFlXbHVJRlpwWlhjeEZEQVNCZ05WQkFvVEMxQmhlVkJoYkNCSmJtTXVNUk13RVFZRFZRUUxGQXBzYVhabFgyTmxjblJ6TVJFd0R3WURWUVFERkFoc2FYWmxYMkZ3YVRFY01Cb0dDU3FHU0liM0RRRUpBUllOY21WQWNHRjVjR0ZzTG1OdmJZSUJBREFNQmdOVkhSTUVCVEFEQVFIL01BMEdDU3FHU0liM0RRRUJCUVVBQTRHQkFJRmZPbGFhZ0ZybDcxK2pxNk9LaWRiV0ZTRStRNEZxUk92ZGdJT050aCs4a1NLLy9ZLzRpaHVFNFltdnpuNWNlRTNTL2lCU1FRTWp5dmIrczJUV2JRWUR3Y3AxMjlPUEliRDllcGRyNHRKT1VOaVNvanc3Qkh3WVJpUGg1OFMxeEdsRmdIRlh3ckVCYjNkZ05iTVVhK3U0cWVjdHNNQVhwVkhuRDl3SXlmbUhNWUlCbWpDQ0FaWUNBUUV3Z1pRd2dZNHhDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJRXdKRFFURVdNQlFHQTFVRUJ4TU5UVzkxYm5SaGFXNGdWbWxsZHpFVU1CSUdBMVVFQ2hNTFVHRjVVR0ZzSUVsdVl5NHhFekFSQmdOVkJBc1VDbXhwZG1WZlkyVnlkSE14RVRBUEJnTlZCQU1VQ0d4cGRtVmZZWEJwTVJ3d0dnWUpLb1pJaHZjTkFRa0JGZzF5WlVCd1lYbHdZV3d1WTI5dEFnRUFNQWtHQlNzT0F3SWFCUUNnWFRBWUJna3Foa2lHOXcwQkNRTXhDd1lKS29aSWh2Y05BUWNCTUJ3R0NTcUdTSWIzRFFFSkJURVBGdzB4TkRBMU1Ua3lNalF6TWpsYU1DTUdDU3FHU0liM0RRRUpCREVXQkJSM3MzYnhoYVpRdzV5T2dyN2dUQTkydWp3N3BUQU5CZ2txaGtpRzl3MEJBUUVGQUFTQmdGTFJmS2EyRko2Y2dBZE5JdTRhbTErL3JOSWVreWs3M0lMallxaTh5eXpmNVg3Y05pM05tZkhqSmpRRFB4REl6b2dneCt2S1R6bFg5ZnFJeEtnc0RMOW5SUU5JTms1eW9LN0srNTBMa2RmNS94OEtreWdob3hnQTRzVGlIeDBFd2RiblVERG1ndmhVaXRhRFBibWh3a0VOVkt6bVZHaGpwbFMwRkhuMmpUOGotLS0tLUVORCBQS0NTNy0tLS0tXFxuXFxcIj5cXG48aW5wdXQgdHlwZT1cXFwic3VibWl0XFxcIiBjbGFzcz1cXFwiLWJ0bi1ib3JkZXJlZCBfbWlub3IgZGV2LWRvbmF0ZS1idG5cXFwiIHNyYz1cXFwiaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vZW5fVVMvaS9idG4vYnRuX2RvbmF0ZV9MRy5naWZcXFwiIG5hbWU9XFxcInN1Ym1pdFxcXCIgYWx0PVxcXCJQYXlQYWwgLSBUaGUgc2FmZXIsIGVhc2llciB3YXkgdG8gcGF5IG9ubGluZSFcXFwiIHZhbHVlPVxcXCJkb25hdGUgZm9yIGdvb2dsZSBnbGFzc1xcXCI+XFxuPC9mb3JtPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcImRldi1hZGRpdGlvbmFsXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG48cD5Gb3VuZCBhIHRleHQgb3IgY29kZSBlcnJvcj8gUGxlYXNlLCBmZWVsIGZyZWUgdG88L3A+XFxuPHNwYW4gaWQ9XFxcInNvY2lhbC1jb250cmlidXRlXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9zZWN0aW9uPlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXIgZGV2LW1haW4tY29udGVudFxcXCI+XFxuPGFzaWRlIGNsYXNzPVxcXCItY29sMyBkZXYtc2lkZWJhci1tZW51IF9yaWdodC1kZXNrdG9wc18gX3JpZ2h0LWxhcmdlLWRlc2t0b3BzX1xcXCI+XFxuPG5hdiBpZD1cXFwic2lkZWJhclxcXCI+PC9uYXY+XFxuPGhyIGNsYXNzPVxcXCJfaGlkZGVuLWRlc2t0b3BzXyBfaGlkZGVuLWxhcmdlLWRlc2t0b3BzX1xcXCI+XFxuPC9hc2lkZT5cXG48YXJ0aWNsZSBpZD1cXFwiY29udGVudFxcXCIgY2xhc3M9XFxcIi1jb2w5IF9sZWZ0LWRlc2t0b3BzXyBfbGVmdC1sYXJnZS1kZXNrdG9wc19cXFwiPjwvYXJ0aWNsZT5cXG48L2Rpdj5cXG5cIixcInV0aWxpdGllc1wiOlwiPHNlY3Rpb24gY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtdXRpbGl0aWVzXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCJkZXYtaW5zdHJ1Y3Rpb25zLWhvbGRlclxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuPGgxIGNsYXNzPVxcXCJkZXYtZm9udC1sb2JzdGVyIF9jZW50ZXJfXFxcIj5VdGlsaXRpZXMgPHNtYWxsIGNsYXNzPVxcXCJkZXYtZm9udC1yYWxld2F5XFxcIj5Db21wb25lbnRzPC9zbWFsbD48L2gxPlxcbjxwIGl0ZW1wcm9wPVxcXCJkZXNjcmlwdGlvblxcXCIgY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtZGVzY3JpcHRpb24gX2NlbnRlcl9cXFwiPk1heG1lcnRraXQgdXRpbGl0aWVzIG1ha2UgeW91ciBkZXZlbG9wbWVudCBtdWNoIGVhc2llci48L3A+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LXZlcnNpb25cXFwiPjxzbWFsbCBpdGVtcHJvcD1cXFwiZGF0ZVB1Ymxpc2hlZFxcXCIgY29udGVudD1cXFwie3tidWlsZERhdGV9fVxcXCI+dmVyLiA8c3BhbiBpdGVtcHJvcD1cXFwic29mdHdhcmVWZXJzaW9uXFxcIj57e3ZlcnNpb259fTwvc3Bhbj4sIGJ1aWxkZWQge3tidWlsZERhdGV9fTwvc21hbGw+PC9kaXY+XFxuPGZvcm0gYWN0aW9uPVxcXCJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyXFxcIiBtZXRob2Q9XFxcInBvc3RcXFwiIHRhcmdldD1cXFwiX3RvcFxcXCIgc3R5bGU9XFxcInRleHQtYWxpZ246Y2VudGVyOyBtYXJnaW4tdG9wOiAxMHB4XFxcIj5cXG48aW5wdXQgdHlwZT1cXFwiaGlkZGVuXFxcIiBuYW1lPVxcXCJjbWRcXFwiIHZhbHVlPVxcXCJfcy14Y2xpY2tcXFwiPlxcbjxpbnB1dCB0eXBlPVxcXCJoaWRkZW5cXFwiIG5hbWU9XFxcImVuY3J5cHRlZFxcXCIgdmFsdWU9XFxcIi0tLS0tQkVHSU4gUEtDUzctLS0tLU1JSUhOd1lKS29aSWh2Y05BUWNFb0lJSEtEQ0NCeVFDQVFFeGdnRXdNSUlCTEFJQkFEQ0JsRENCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjBDQVFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lDQ3FBQWttY0M5K2tFaUM0MWgvMG9lYXNHZ28wa0pwQmxNTGZmN1o1Yi93UlpUbExqa0tCNi9CSTd2RmRDNitNZ2lZa0xxUnIvUmhjZmY3SFlvajhNWkVUYStGRWg1SXpKM1hTUXpjM0hEYXBOUCtSWEdtMWFQb0RRUXJ0Mk1Famp1SUI5VkZ5cVUwT1pSYzhhZ3M5N0VzN1hLU2RKV2NMZkpzbjV6cEl2OEd6RUxNQWtHQlNzT0F3SWFCUUF3Z2JRR0NTcUdTSWIzRFFFSEFUQVVCZ2dxaGtpRzl3MERCd1FJbEQ3SnF6VE16cDZBZ1pCbE9zMHk1TldQRmpvRm5JZW5uMlFJbG8vdjBnVVZmWEdUbXJZSnREYkJYTGZ3MnFEdUQ0cWY4Y0I4eklteFMzNkZFdWdsbW1xMDQvbHZjMmEyL0lFbGlWUk5vc3M4Z0VxbnEwVWFiVkhmYzNrVDI0SmgrSDg1ck5tYkN0NGk4T2xkditJamVLTzJqRnZnT3p0R3hxcm03THBsejd3SWtiQ2tMSW15SW1aOXhPYjFsSjdlMzBjZ3dJWUV0ZVU3blllZ2dnT0hNSUlEZ3pDQ0F1eWdBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUVVGQURDQmpqRUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWtOQk1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldhV1YzTVJRd0VnWURWUVFLRXd0UVlYbFFZV3dnU1c1akxqRVRNQkVHQTFVRUN4UUtiR2wyWlY5alpYSjBjekVSTUE4R0ExVUVBeFFJYkdsMlpWOWhjR2t4SERBYUJna3Foa2lHOXcwQkNRRVdEWEpsUUhCaGVYQmhiQzVqYjIwd0hoY05NRFF3TWpFek1UQXhNekUxV2hjTk16VXdNakV6TVRBeE16RTFXakNCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjB3Z1o4d0RRWUpLb1pJaHZjTkFRRUJCUUFEZ1kwQU1JR0pBb0dCQU1GSFR0MzhSTXhMWEp5TzJTbVMrTmRsNzJUN29LSjR1NHV3KzZhd250QUxXaDAzUGV3bUlKdXpiQUxTY3NUUzRzWm9TMWZLY2lCR29oMTFnSWZIenlsdmtkTmUvaEpsNjYvUkdxcmo1ckZiMDhzQUFCTlR6RFRpcXFOcEplQnNZcy9jMmFpR296cHRYMlJsbkJrdEgrU1VOcEFhalc3MjROdjJXdmhpZjZzRkFnTUJBQUdqZ2U0d2dlc3dIUVlEVlIwT0JCWUVGSmFmZkx2R2J4ZTlXVDlTMXdvYjdCRFdaSlJyTUlHN0JnTlZIU01FZ2JNd2diQ0FGSmFmZkx2R2J4ZTlXVDlTMXdvYjdCRFdaSlJyb1lHVXBJR1JNSUdPTVFzd0NRWURWUVFHRXdKVlV6RUxNQWtHQTFVRUNCTUNRMEV4RmpBVUJnTlZCQWNURFUxdmRXNTBZV2x1SUZacFpYY3hGREFTQmdOVkJBb1RDMUJoZVZCaGJDQkpibU11TVJNd0VRWURWUVFMRkFwc2FYWmxYMk5sY25Sek1SRXdEd1lEVlFRREZBaHNhWFpsWDJGd2FURWNNQm9HQ1NxR1NJYjNEUUVKQVJZTmNtVkFjR0Y1Y0dGc0xtTnZiWUlCQURBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxR1NJYjNEUUVCQlFVQUE0R0JBSUZmT2xhYWdGcmw3MStqcTZPS2lkYldGU0UrUTRGcVJPdmRnSU9OdGgrOGtTSy8vWS80aWh1RTRZbXZ6bjVjZUUzUy9pQlNRUU1qeXZiK3MyVFdiUVlEd2NwMTI5T1BJYkQ5ZXBkcjR0Sk9VTmlTb2p3N0JId1lSaVBoNThTMXhHbEZnSEZYd3JFQmIzZGdOYk1VYSt1NHFlY3RzTUFYcFZIbkQ5d0l5Zm1ITVlJQm1qQ0NBWllDQVFFd2daUXdnWTR4Q3pBSkJnTlZCQVlUQWxWVE1Rc3dDUVlEVlFRSUV3SkRRVEVXTUJRR0ExVUVCeE1OVFc5MWJuUmhhVzRnVm1sbGR6RVVNQklHQTFVRUNoTUxVR0Y1VUdGc0lFbHVZeTR4RXpBUkJnTlZCQXNVQ214cGRtVmZZMlZ5ZEhNeEVUQVBCZ05WQkFNVUNHeHBkbVZmWVhCcE1Sd3dHZ1lKS29aSWh2Y05BUWtCRmcxeVpVQndZWGx3WVd3dVkyOXRBZ0VBTUFrR0JTc09Bd0lhQlFDZ1hUQVlCZ2txaGtpRzl3MEJDUU14Q3dZSktvWklodmNOQVFjQk1Cd0dDU3FHU0liM0RRRUpCVEVQRncweE5EQTFNVGt5TWpRek1qbGFNQ01HQ1NxR1NJYjNEUUVKQkRFV0JCUjNzM2J4aGFaUXc1eU9ncjdnVEE5MnVqdzdwVEFOQmdrcWhraUc5dzBCQVFFRkFBU0JnRkxSZkthMkZKNmNnQWROSXU0YW0xKy9yTklla3lrNzNJTGpZcWk4eXl6ZjVYN2NOaTNObWZIakpqUURQeERJem9nZ3grdktUemxYOWZxSXhLZ3NETDluUlFOSU5rNXlvSzdLKzUwTGtkZjUveDhLa3lnaG94Z0E0c1RpSHgwRXdkYm5VRERtZ3ZoVWl0YURQYm1od2tFTlZLem1WR2hqcGxTMEZIbjJqVDhqLS0tLS1FTkQgUEtDUzctLS0tLVxcblxcXCI+XFxuPGlucHV0IHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcIi1idG4tYm9yZGVyZWQgX21pbm9yIGRldi1kb25hdGUtYnRuXFxcIiBzcmM9XFxcImh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL2VuX1VTL2kvYnRuL2J0bl9kb25hdGVfTEcuZ2lmXFxcIiBuYW1lPVxcXCJzdWJtaXRcXFwiIGFsdD1cXFwiUGF5UGFsIC0gVGhlIHNhZmVyLCBlYXNpZXIgd2F5IHRvIHBheSBvbmxpbmUhXFxcIiB2YWx1ZT1cXFwiZG9uYXRlIGZvciBnb29nbGUgZ2xhc3NcXFwiPlxcbjwvZm9ybT5cXG48L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJkZXYtYWRkaXRpb25hbFxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuPHA+Rm91bmQgYSB0ZXh0IG9yIGNvZGUgZXJyb3I/IFBsZWFzZSwgZmVlbCBmcmVlIHRvPC9wPlxcbjxzcGFuIGlkPVxcXCJzb2NpYWwtY29udHJpYnV0ZVxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyIGRldi1tYWluLWNvbnRlbnRcXFwiPlxcbjxhc2lkZSBjbGFzcz1cXFwiLWNvbDMgZGV2LXNpZGViYXItbWVudSBfcmlnaHQtZGVza3RvcHNfIF9yaWdodC1sYXJnZS1kZXNrdG9wc19cXFwiPlxcbjxuYXYgaWQ9XFxcInNpZGViYXJcXFwiPjwvbmF2PlxcbjxociBjbGFzcz1cXFwiX2hpZGRlbi1kZXNrdG9wc18gX2hpZGRlbi1sYXJnZS1kZXNrdG9wc19cXFwiPlxcbjwvYXNpZGU+XFxuPGFydGljbGUgaWQ9XFxcImNvbnRlbnRcXFwiIGNsYXNzPVxcXCItY29sOSBfbGVmdC1kZXNrdG9wc18gX2xlZnQtbGFyZ2UtZGVza3RvcHNfXFxcIj48L2FydGljbGU+XFxuPC9kaXY+XFxuXCIsXCJzdGFydFwiOlwiPHNlY3Rpb24gY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtc3RhcnRcXFwiPlxcbjxkaXYgY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtaG9sZGVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG48aDEgY2xhc3M9XFxcImRldi1mb250LWxvYnN0ZXIgX2NlbnRlcl9cXFwiPlBoaWxvc29waHkgPHNtYWxsIGNsYXNzPVxcXCJkZXYtZm9udC1yYWxld2F5XFxcIj5TdGFydDwvc21hbGw+PC9oMT5cXG48cCBpdGVtcHJvcD1cXFwiZGVzY3JpcHRpb25cXFwiIGNsYXNzPVxcXCJkZXYtaW5zdHJ1Y3Rpb25zLWRlc2NyaXB0aW9uIF9jZW50ZXJfXFxcIj5BbGwgeW91IG5lZWQgdG8ga25vdyB0byBzdGFydCBhIG5ldyBwcm9qZWN0IHdpdGggTWF4bWVydGtpdC48L3A+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LXZlcnNpb25cXFwiPjxzbWFsbCBpdGVtcHJvcD1cXFwiZGF0ZVB1Ymxpc2hlZFxcXCIgY29udGVudD1cXFwie3tidWlsZERhdGV9fVxcXCI+dmVyLiA8c3BhbiBpdGVtcHJvcD1cXFwic29mdHdhcmVWZXJzaW9uXFxcIj57e3ZlcnNpb259fTwvc3Bhbj4sIGJ1aWxkZWQge3tidWlsZERhdGV9fTwvc21hbGw+PC9kaXY+XFxuPGZvcm0gYWN0aW9uPVxcXCJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyXFxcIiBtZXRob2Q9XFxcInBvc3RcXFwiIHRhcmdldD1cXFwiX3RvcFxcXCIgc3R5bGU9XFxcInRleHQtYWxpZ246Y2VudGVyOyBtYXJnaW4tdG9wOiAxMHB4XFxcIj5cXG48aW5wdXQgdHlwZT1cXFwiaGlkZGVuXFxcIiBuYW1lPVxcXCJjbWRcXFwiIHZhbHVlPVxcXCJfcy14Y2xpY2tcXFwiPlxcbjxpbnB1dCB0eXBlPVxcXCJoaWRkZW5cXFwiIG5hbWU9XFxcImVuY3J5cHRlZFxcXCIgdmFsdWU9XFxcIi0tLS0tQkVHSU4gUEtDUzctLS0tLU1JSUhOd1lKS29aSWh2Y05BUWNFb0lJSEtEQ0NCeVFDQVFFeGdnRXdNSUlCTEFJQkFEQ0JsRENCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjBDQVFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lDQ3FBQWttY0M5K2tFaUM0MWgvMG9lYXNHZ28wa0pwQmxNTGZmN1o1Yi93UlpUbExqa0tCNi9CSTd2RmRDNitNZ2lZa0xxUnIvUmhjZmY3SFlvajhNWkVUYStGRWg1SXpKM1hTUXpjM0hEYXBOUCtSWEdtMWFQb0RRUXJ0Mk1Famp1SUI5VkZ5cVUwT1pSYzhhZ3M5N0VzN1hLU2RKV2NMZkpzbjV6cEl2OEd6RUxNQWtHQlNzT0F3SWFCUUF3Z2JRR0NTcUdTSWIzRFFFSEFUQVVCZ2dxaGtpRzl3MERCd1FJbEQ3SnF6VE16cDZBZ1pCbE9zMHk1TldQRmpvRm5JZW5uMlFJbG8vdjBnVVZmWEdUbXJZSnREYkJYTGZ3MnFEdUQ0cWY4Y0I4eklteFMzNkZFdWdsbW1xMDQvbHZjMmEyL0lFbGlWUk5vc3M4Z0VxbnEwVWFiVkhmYzNrVDI0SmgrSDg1ck5tYkN0NGk4T2xkditJamVLTzJqRnZnT3p0R3hxcm03THBsejd3SWtiQ2tMSW15SW1aOXhPYjFsSjdlMzBjZ3dJWUV0ZVU3blllZ2dnT0hNSUlEZ3pDQ0F1eWdBd0lCQWdJQkFEQU5CZ2txaGtpRzl3MEJBUVVGQURDQmpqRUxNQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdUQWtOQk1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldhV1YzTVJRd0VnWURWUVFLRXd0UVlYbFFZV3dnU1c1akxqRVRNQkVHQTFVRUN4UUtiR2wyWlY5alpYSjBjekVSTUE4R0ExVUVBeFFJYkdsMlpWOWhjR2t4SERBYUJna3Foa2lHOXcwQkNRRVdEWEpsUUhCaGVYQmhiQzVqYjIwd0hoY05NRFF3TWpFek1UQXhNekUxV2hjTk16VXdNakV6TVRBeE16RTFXakNCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjB3Z1o4d0RRWUpLb1pJaHZjTkFRRUJCUUFEZ1kwQU1JR0pBb0dCQU1GSFR0MzhSTXhMWEp5TzJTbVMrTmRsNzJUN29LSjR1NHV3KzZhd250QUxXaDAzUGV3bUlKdXpiQUxTY3NUUzRzWm9TMWZLY2lCR29oMTFnSWZIenlsdmtkTmUvaEpsNjYvUkdxcmo1ckZiMDhzQUFCTlR6RFRpcXFOcEplQnNZcy9jMmFpR296cHRYMlJsbkJrdEgrU1VOcEFhalc3MjROdjJXdmhpZjZzRkFnTUJBQUdqZ2U0d2dlc3dIUVlEVlIwT0JCWUVGSmFmZkx2R2J4ZTlXVDlTMXdvYjdCRFdaSlJyTUlHN0JnTlZIU01FZ2JNd2diQ0FGSmFmZkx2R2J4ZTlXVDlTMXdvYjdCRFdaSlJyb1lHVXBJR1JNSUdPTVFzd0NRWURWUVFHRXdKVlV6RUxNQWtHQTFVRUNCTUNRMEV4RmpBVUJnTlZCQWNURFUxdmRXNTBZV2x1SUZacFpYY3hGREFTQmdOVkJBb1RDMUJoZVZCaGJDQkpibU11TVJNd0VRWURWUVFMRkFwc2FYWmxYMk5sY25Sek1SRXdEd1lEVlFRREZBaHNhWFpsWDJGd2FURWNNQm9HQ1NxR1NJYjNEUUVKQVJZTmNtVkFjR0Y1Y0dGc0xtTnZiWUlCQURBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxR1NJYjNEUUVCQlFVQUE0R0JBSUZmT2xhYWdGcmw3MStqcTZPS2lkYldGU0UrUTRGcVJPdmRnSU9OdGgrOGtTSy8vWS80aWh1RTRZbXZ6bjVjZUUzUy9pQlNRUU1qeXZiK3MyVFdiUVlEd2NwMTI5T1BJYkQ5ZXBkcjR0Sk9VTmlTb2p3N0JId1lSaVBoNThTMXhHbEZnSEZYd3JFQmIzZGdOYk1VYSt1NHFlY3RzTUFYcFZIbkQ5d0l5Zm1ITVlJQm1qQ0NBWllDQVFFd2daUXdnWTR4Q3pBSkJnTlZCQVlUQWxWVE1Rc3dDUVlEVlFRSUV3SkRRVEVXTUJRR0ExVUVCeE1OVFc5MWJuUmhhVzRnVm1sbGR6RVVNQklHQTFVRUNoTUxVR0Y1VUdGc0lFbHVZeTR4RXpBUkJnTlZCQXNVQ214cGRtVmZZMlZ5ZEhNeEVUQVBCZ05WQkFNVUNHeHBkbVZmWVhCcE1Sd3dHZ1lKS29aSWh2Y05BUWtCRmcxeVpVQndZWGx3WVd3dVkyOXRBZ0VBTUFrR0JTc09Bd0lhQlFDZ1hUQVlCZ2txaGtpRzl3MEJDUU14Q3dZSktvWklodmNOQVFjQk1Cd0dDU3FHU0liM0RRRUpCVEVQRncweE5EQTFNVGt5TWpRek1qbGFNQ01HQ1NxR1NJYjNEUUVKQkRFV0JCUjNzM2J4aGFaUXc1eU9ncjdnVEE5MnVqdzdwVEFOQmdrcWhraUc5dzBCQVFFRkFBU0JnRkxSZkthMkZKNmNnQWROSXU0YW0xKy9yTklla3lrNzNJTGpZcWk4eXl6ZjVYN2NOaTNObWZIakpqUURQeERJem9nZ3grdktUemxYOWZxSXhLZ3NETDluUlFOSU5rNXlvSzdLKzUwTGtkZjUveDhLa3lnaG94Z0E0c1RpSHgwRXdkYm5VRERtZ3ZoVWl0YURQYm1od2tFTlZLem1WR2hqcGxTMEZIbjJqVDhqLS0tLS1FTkQgUEtDUzctLS0tLVxcblxcXCI+XFxuPGlucHV0IHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcIi1idG4tYm9yZGVyZWQgX21pbm9yIGRldi1kb25hdGUtYnRuXFxcIiBzcmM9XFxcImh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL2VuX1VTL2kvYnRuL2J0bl9kb25hdGVfTEcuZ2lmXFxcIiBuYW1lPVxcXCJzdWJtaXRcXFwiIGFsdD1cXFwiUGF5UGFsIC0gVGhlIHNhZmVyLCBlYXNpZXIgd2F5IHRvIHBheSBvbmxpbmUhXFxcIiB2YWx1ZT1cXFwiZG9uYXRlIGZvciBnb29nbGUgZ2xhc3NcXFwiPlxcbjwvZm9ybT5cXG48L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJkZXYtYWRkaXRpb25hbFxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuPHA+Rm91bmQgYSB0ZXh0IG9yIGNvZGUgZXJyb3I/IFBsZWFzZSwgZmVlbCBmcmVlIHRvPC9wPlxcbjxzcGFuIGlkPVxcXCJzb2NpYWwtY29udHJpYnV0ZVxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyIGRldi1tYWluLWNvbnRlbnRcXFwiPlxcbjxhc2lkZSBjbGFzcz1cXFwiLWNvbDMgZGV2LXNpZGViYXItbWVudSBfcmlnaHQtZGVza3RvcHNfIF9yaWdodC1sYXJnZS1kZXNrdG9wc19cXFwiPlxcbjxuYXYgaWQ9XFxcInNpZGViYXJcXFwiPjwvbmF2PlxcbjxociBjbGFzcz1cXFwiX2hpZGRlbi1kZXNrdG9wc18gX2hpZGRlbi1sYXJnZS1kZXNrdG9wc19cXFwiPlxcbjwvYXNpZGU+XFxuPGFydGljbGUgaWQ9XFxcImNvbnRlbnRcXFwiIGNsYXNzPVxcXCItY29sOSBfbGVmdC1kZXNrdG9wc18gX2xlZnQtbGFyZ2UtZGVza3RvcHNfXFxcIj48L2FydGljbGU+XFxuPC9kaXY+XFxuXCIsXCJsYXlvdXRcIjpcIjxzZWN0aW9uIGNsYXNzPVxcXCJkZXYtaW5zdHJ1Y3Rpb25zLWluZGV4XFxcIj5cXG48ZGl2IGNsYXNzPVxcXCJkZXYtaW5zdHJ1Y3Rpb25zLWhvbGRlclxcXCI+XFxuPHZpZGVvIGNsYXNzPVxcXCJkZXYtdmlkZW8tYmxvY2tcXFwiIGF1dG9wbGF5IGxvb3A+XFxuPHNvdXJjZSBzcmM9XFxcIi9tZWRpYS9sYW5kaW5nLm1wNFxcXCIgdHlwZT1cXFwidmlkZW8vbXA0XFxcIj5cXG48c291cmNlIHNyYz1cXFwiL21lZGlhL2xhbmRpbmcud2VibVxcXCIgdHlwZT1cXFwidmlkZW8vd2VibVxcXCI+XFxuPHNvdXJjZSBzcmM9XFxcIi9tZWRpYS9sYW5kaW5nLm9nZ1xcXCIgdHlwZT1cXFwidmlkZW8vb2dnXFxcIj5cXG48L3ZpZGVvPlxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcbjxoMSBjbGFzcz1cXFwiZGV2LWZvbnQtbG9ic3RlciBfY2VudGVyX1xcXCI+TWF4bWVydGtpdDwvaDE+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LXZlcnNpb25cXFwiPjxzbWFsbCBpdGVtcHJvcD1cXFwiZGF0ZVB1Ymxpc2hlZFxcXCIgY29udGVudD1cXFwie3tidWlsZERhdGV9fVxcXCI+dmVyLiA8c3BhbiBpdGVtcHJvcD1cXFwic29mdHdhcmVWZXJzaW9uXFxcIj57e3ZlcnNpb259fTwvc3Bhbj4sIGJ1aWxkZWQge3tidWlsZERhdGV9fTwvc21hbGw+PC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LWFkZGl0aW9uYWxcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcbjxwPkZvdW5kIGEgdGV4dCBvciBjb2RlIGVycm9yPyBQbGVhc2UsIGZlZWwgZnJlZSB0bzwvcD5cXG48c3BhbiBpZD1cXFwic29jaWFsLWNvbnRyaWJ1dGVcXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L3NlY3Rpb24+XFxuXFxuXFxuPGFydGljbGUgY2xhc3M9XFxcIi1jb250YWluZXIgZGV2LW1haW4tY29udGVudFxcXCI+XFxuXFxuPC9hcnRpY2xlPlxcblwiLFwiY29tcG9uZW50c1wiOlwiPHNlY3Rpb24gY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtY29tcG9uZW50c1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LWluc3RydWN0aW9ucy1ob2xkZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcbjxoMSBjbGFzcz1cXFwiZGV2LWZvbnQtbG9ic3RlciBfY2VudGVyX1xcXCI+SmF2YXNjcmlwdCA8c21hbGwgY2xhc3M9XFxcImRldi1mb250LXJhbGV3YXlcXFwiPkNvbXBvbmVudHM8L3NtYWxsPjwvaDE+XFxuPHAgaXRlbXByb3A9XFxcImRlc2NyaXB0aW9uXFxcIiBjbGFzcz1cXFwiZGV2LWluc3RydWN0aW9ucy1kZXNjcmlwdGlvbiBfY2VudGVyX1xcXCI+SmF2YXNjcmlwdCBwbHVnaW5zIGZvciBNYXhtZXJ0a2l0IHRvIG1ha2UgeW91ciBwcm9qZWN0IGFsaXZlLjwvcD5cXG48ZGl2IGNsYXNzPVxcXCJkZXYtdmVyc2lvblxcXCI+PHNtYWxsIGl0ZW1wcm9wPVxcXCJkYXRlUHVibGlzaGVkXFxcIiBjb250ZW50PVxcXCJ7e2J1aWxkRGF0ZX19XFxcIj52ZXIuIDxzcGFuIGl0ZW1wcm9wPVxcXCJzb2Z0d2FyZVZlcnNpb25cXFwiPnt7dmVyc2lvbn19PC9zcGFuPiwgYnVpbGRlZCB7e2J1aWxkRGF0ZX19PC9zbWFsbD48L2Rpdj5cXG48Zm9ybSBhY3Rpb249XFxcImh0dHBzOi8vd3d3LnBheXBhbC5jb20vY2dpLWJpbi93ZWJzY3JcXFwiIG1ldGhvZD1cXFwicG9zdFxcXCIgdGFyZ2V0PVxcXCJfdG9wXFxcIiBzdHlsZT1cXFwidGV4dC1hbGlnbjpjZW50ZXI7IG1hcmdpbi10b3A6IDEwcHhcXFwiPlxcbjxpbnB1dCB0eXBlPVxcXCJoaWRkZW5cXFwiIG5hbWU9XFxcImNtZFxcXCIgdmFsdWU9XFxcIl9zLXhjbGlja1xcXCI+XFxuPGlucHV0IHR5cGU9XFxcImhpZGRlblxcXCIgbmFtZT1cXFwiZW5jcnlwdGVkXFxcIiB2YWx1ZT1cXFwiLS0tLS1CRUdJTiBQS0NTNy0tLS0tTUlJSE53WUpLb1pJaHZjTkFRY0VvSUlIS0RDQ0J5UUNBUUV4Z2dFd01JSUJMQUlCQURDQmxEQ0JqakVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQkFnVEFrTkJNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SUXdFZ1lEVlFRS0V3dFFZWGxRWVd3Z1NXNWpMakVUTUJFR0ExVUVDeFFLYkdsMlpWOWpaWEowY3pFUk1BOEdBMVVFQXhRSWJHbDJaVjloY0dreEhEQWFCZ2txaGtpRzl3MEJDUUVXRFhKbFFIQmhlWEJoYkM1amIyMENBUUF3RFFZSktvWklodmNOQVFFQkJRQUVnWUNDcUFBa21jQzkra0VpQzQxaC8wb2Vhc0dnbzBrSnBCbE1MZmY3WjViL3dSWlRsTGprS0I2L0JJN3ZGZEM2K01naVlrTHFSci9SaGNmZjdIWW9qOE1aRVRhK0ZFaDVJekozWFNRemMzSERhcE5QK1JYR20xYVBvRFFRcnQyTUVqanVJQjlWRnlxVTBPWlJjOGFnczk3RXM3WEtTZEpXY0xmSnNuNXpwSXY4R3pFTE1Ba0dCU3NPQXdJYUJRQXdnYlFHQ1NxR1NJYjNEUUVIQVRBVUJnZ3Foa2lHOXcwREJ3UUlsRDdKcXpUTXpwNkFnWkJsT3MweTVOV1BGam9Gbkllbm4yUUlsby92MGdVVmZYR1RtcllKdERiQlhMZncycUR1RDRxZjhjQjh6SW14UzM2RkV1Z2xtbXEwNC9sdmMyYTIvSUVsaVZSTm9zczhnRXFucTBVYWJWSGZjM2tUMjRKaCtIODVyTm1iQ3Q0aThPbGR2K0lqZUtPMmpGdmdPenRHeHFybTdMcGx6N3dJa2JDa0xJbXlJbVo5eE9iMWxKN2UzMGNnd0lZRXRlVTduWWVnZ2dPSE1JSURnekNDQXV5Z0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRVUZBRENCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjB3SGhjTk1EUXdNakV6TVRBeE16RTFXaGNOTXpVd01qRXpNVEF4TXpFMVdqQ0JqakVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQkFnVEFrTkJNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SUXdFZ1lEVlFRS0V3dFFZWGxRWVd3Z1NXNWpMakVUTUJFR0ExVUVDeFFLYkdsMlpWOWpaWEowY3pFUk1BOEdBMVVFQXhRSWJHbDJaVjloY0dreEhEQWFCZ2txaGtpRzl3MEJDUUVXRFhKbFFIQmhlWEJoYkM1amIyMHdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTUZIVHQzOFJNeExYSnlPMlNtUytOZGw3MlQ3b0tKNHU0dXcrNmF3bnRBTFdoMDNQZXdtSUp1emJBTFNjc1RTNHNab1MxZktjaUJHb2gxMWdJZkh6eWx2a2ROZS9oSmw2Ni9SR3FyajVyRmIwOHNBQUJOVHpEVGlxcU5wSmVCc1lzL2MyYWlHb3pwdFgyUmxuQmt0SCtTVU5wQWFqVzcyNE52Mld2aGlmNnNGQWdNQkFBR2pnZTR3Z2Vzd0hRWURWUjBPQkJZRUZKYWZmTHZHYnhlOVdUOVMxd29iN0JEV1pKUnJNSUc3QmdOVkhTTUVnYk13Z2JDQUZKYWZmTHZHYnhlOVdUOVMxd29iN0JEV1pKUnJvWUdVcElHUk1JR09NUXN3Q1FZRFZRUUdFd0pWVXpFTE1Ba0dBMVVFQ0JNQ1EwRXhGakFVQmdOVkJBY1REVTF2ZFc1MFlXbHVJRlpwWlhjeEZEQVNCZ05WQkFvVEMxQmhlVkJoYkNCSmJtTXVNUk13RVFZRFZRUUxGQXBzYVhabFgyTmxjblJ6TVJFd0R3WURWUVFERkFoc2FYWmxYMkZ3YVRFY01Cb0dDU3FHU0liM0RRRUpBUllOY21WQWNHRjVjR0ZzTG1OdmJZSUJBREFNQmdOVkhSTUVCVEFEQVFIL01BMEdDU3FHU0liM0RRRUJCUVVBQTRHQkFJRmZPbGFhZ0ZybDcxK2pxNk9LaWRiV0ZTRStRNEZxUk92ZGdJT050aCs4a1NLLy9ZLzRpaHVFNFltdnpuNWNlRTNTL2lCU1FRTWp5dmIrczJUV2JRWUR3Y3AxMjlPUEliRDllcGRyNHRKT1VOaVNvanc3Qkh3WVJpUGg1OFMxeEdsRmdIRlh3ckVCYjNkZ05iTVVhK3U0cWVjdHNNQVhwVkhuRDl3SXlmbUhNWUlCbWpDQ0FaWUNBUUV3Z1pRd2dZNHhDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJRXdKRFFURVdNQlFHQTFVRUJ4TU5UVzkxYm5SaGFXNGdWbWxsZHpFVU1CSUdBMVVFQ2hNTFVHRjVVR0ZzSUVsdVl5NHhFekFSQmdOVkJBc1VDbXhwZG1WZlkyVnlkSE14RVRBUEJnTlZCQU1VQ0d4cGRtVmZZWEJwTVJ3d0dnWUpLb1pJaHZjTkFRa0JGZzF5WlVCd1lYbHdZV3d1WTI5dEFnRUFNQWtHQlNzT0F3SWFCUUNnWFRBWUJna3Foa2lHOXcwQkNRTXhDd1lKS29aSWh2Y05BUWNCTUJ3R0NTcUdTSWIzRFFFSkJURVBGdzB4TkRBMU1Ua3lNalF6TWpsYU1DTUdDU3FHU0liM0RRRUpCREVXQkJSM3MzYnhoYVpRdzV5T2dyN2dUQTkydWp3N3BUQU5CZ2txaGtpRzl3MEJBUUVGQUFTQmdGTFJmS2EyRko2Y2dBZE5JdTRhbTErL3JOSWVreWs3M0lMallxaTh5eXpmNVg3Y05pM05tZkhqSmpRRFB4REl6b2dneCt2S1R6bFg5ZnFJeEtnc0RMOW5SUU5JTms1eW9LN0srNTBMa2RmNS94OEtreWdob3hnQTRzVGlIeDBFd2RiblVERG1ndmhVaXRhRFBibWh3a0VOVkt6bVZHaGpwbFMwRkhuMmpUOGotLS0tLUVORCBQS0NTNy0tLS0tXFxuXFxcIj5cXG48aW5wdXQgdHlwZT1cXFwic3VibWl0XFxcIiBjbGFzcz1cXFwiLWJ0bi1ib3JkZXJlZCBfbWlub3IgZGV2LWRvbmF0ZS1idG5cXFwiIHNyYz1cXFwiaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vZW5fVVMvaS9idG4vYnRuX2RvbmF0ZV9MRy5naWZcXFwiIG5hbWU9XFxcInN1Ym1pdFxcXCIgYWx0PVxcXCJQYXlQYWwgLSBUaGUgc2FmZXIsIGVhc2llciB3YXkgdG8gcGF5IG9ubGluZSFcXFwiIHZhbHVlPVxcXCJkb25hdGUgZm9yIGdvb2dsZSBnbGFzc1xcXCI+XFxuPC9mb3JtPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcImRldi1hZGRpdGlvbmFsXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG48cD5Gb3VuZCBhIHRleHQgb3IgY29kZSBlcnJvcj8gUGxlYXNlLCBmZWVsIGZyZWUgdG88L3A+XFxuPHNwYW4gaWQ9XFxcInNvY2lhbC1jb250cmlidXRlXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9zZWN0aW9uPlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXIgZGV2LW1haW4tY29udGVudFxcXCI+XFxuPGFzaWRlIGNsYXNzPVxcXCItY29sMyBkZXYtc2lkZWJhci1tZW51IF9yaWdodC1kZXNrdG9wc18gX3JpZ2h0LWxhcmdlLWRlc2t0b3BzX1xcXCI+XFxuPG5hdiBpZD1cXFwic2lkZWJhclxcXCI+PC9uYXY+XFxuPGhyIGNsYXNzPVxcXCJfaGlkZGVuLWRlc2t0b3BzXyBfaGlkZGVuLWxhcmdlLWRlc2t0b3BzX1xcXCI+XFxuPC9hc2lkZT5cXG48YXJ0aWNsZSBpZD1cXFwiY29udGVudFxcXCIgY2xhc3M9XFxcIi1jb2w5IF9sZWZ0LWRlc2t0b3BzXyBfbGVmdC1sYXJnZS1kZXNrdG9wc19cXFwiPjwvYXJ0aWNsZT5cXG48L2Rpdj5cXG5cIixcImNoYW5nZWxvZ1wiOlwiPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lciBkZXYtY2hhbmdlbG9nXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTJcXFwiPlxcblxcdFxcdFxcdDxzZWN0aW9uPlxcblxcdFxcdFxcdFxcdDxoMT48YSBocmVmPVxcXCJodHRwczovL2dpdGh1Yi5jb20vbWF4bWVydC9tYXhtZXJ0a2l0L3JlbGVhc2VzXFxcIiBkYXRhLWJ5cGFzcz5DaGFuZ2Vsb2c8L2E+PC9oMT5cXG5cXHRcXHRcXHRcXHQ8cD5BbGwgY2hhbmdlbG9nIHlvdSBjYW4gb2JzZXJ2ZSBvbiB0aGUgPGEgaHJlZj1cXFwiaHR0cHM6Ly9naXRodWIuY29tL21heG1lcnQvbWF4bWVydGtpdC9yZWxlYXNlc1xcXCIgZGF0YS1ieXBhc3M+Z2l0aHViPC9hPi48L3A+XFxuXFx0XFx0XFx0PC9zZWN0aW9uPlxcblxcdFxcdFxcblxcdFxcdFxcdDxzZWN0aW9uPlxcblxcdFxcdFxcdFxcdDxoMj5Sb2FkbWFwPC9oMj5cXG5cXG5cXHRcXHRcXHRcXHQ8YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRJZiB5b3Ugd2FudCB0byBzaGFyZSBhbiBpZGVhIG9mIGltcHJvdmVtZW50LCBwbGVhc2UgPGEgaHJlZj1cXFwiaHR0cHM6Ly9naXRodWIuY29tL21heG1lcnQvbWF4bWVydGtpdC9pc3N1ZXM/bGFiZWxzPWZlYXR1cmUmcGFnZT0xJnN0YXRlPW9wZW5cXFwiIGRhdGEtYnlwYXNzPmNyZWF0ZSBpc3N1ZTwvYT4gd2l0aCB0YWcgPGNvZGU+ZmVhdHVyZTwvY29kZT4uXFxuXFx0XFx0XFx0XFx0PC9ibG9ja3F1b3RlPlxcblxcblxcdFxcdFxcdFxcdDxzZWN0aW9uPlxcblxcdFxcdFxcdFxcdFxcdDxoMz52LiAxLjAuNTwvaDM+XFxuXFx0XFx0XFx0XFx0XFx0PHVsPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BZGQganMgY2Fyb3VzZWwgY29tcG9uZW50PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIG1vcmUgZXhhbXBsZXM8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5CdWdmaXhlczwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L3NlY3Rpb24+XFxuXFxuXFx0XFx0XFx0XFx0PHNlY3Rpb24gY2xhc3M9XFxcImRldi1yb2FkbWFwLWRvbmVcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxoMz52LiAxLjAuNDwvaDM+XFxuXFx0XFx0XFx0XFx0XFx0PHVsPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BZGQgZWFzaWVyIGpxdWVyeSBzdXBwb3J0IHdpdGggbmF0aXZlIGphdmFzY3JpcHQgcGx1Z2lucyBpbiBtYXhtZXJ0a2l0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIHNsaW0gcHJvZ3Jlc3MgYmFyPC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIGV4YW1wbGUgb2YgdGhlIGJsb2c8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BZGQganMgd2FsbCBjb21wb25lbnQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BZGQganMgc2t5bGluZSBjb21wb25lbnQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5CdWdmaXhlczwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L3NlY3Rpb24+XFxuXFxuXFx0XFx0XFx0XFx0PHNlY3Rpb24gY2xhc3M9XFxcImRldi1yb2FkbWFwLWRvbmVcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxoMz52LiAxLjAuMzwvaDM+XFxuXFx0XFx0XFx0XFx0XFx0PHVsPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BZGQgPGNvZGU+LWF2YXRhcjwvY29kZT4gd2lkZ2V0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QWRkIDxjb2RlPi1jb21tZW50PC9jb2RlPiB3aWRnZXQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BZGQgZHJvcGRvd24gPGNvZGU+LWZvb3RlcjwvY29kZT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BZGQgPGNvZGU+X3JvdW5kXzwvY29kZT4gbW9kaWZpZXIgdG8gYWxsIGJ1dHRvbnM8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BZGQgYm9yZGVyZWQgPGNvZGU+YTwvY29kZT4gdGFnIHdpdGggdW5kZXJsaW5lPC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+UmVuYW1lIDxjb2RlPi1idG4tYm9yZGVyZWQ8L2NvZGU+IHRvIDxjb2RlPi1idG4tZ2hvc3Q8L2NvZGU+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+UmVuYW1lIDxjb2RlPi1zcGlubmVyLWNpcmNsZTwvY29kZT4gdG8gPGNvZGU+LXNwaW5uZXItcmluZzwvY29kZT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5CdWdmaXhlczwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L3NlY3Rpb24+XFxuXFx0XFx0XFx0XFx0PHNlY3Rpb24gY2xhc3M9XFxcImRldi1yb2FkbWFwLWRvbmVcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxoMz52LiAxLjAuMjwvaDM+XFxuXFx0XFx0XFx0XFx0XFx0PHVsPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5ObyBqcXVlcnkgaW4gbWF4bWVydGtpdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPlNlbGVuaXVtIHRlc3RzIHN1cHBvcnQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BZGQgY2lyY2xlIHNwaW5uZXI8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5CdWdmaXhlczwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L3NlY3Rpb24+XFxuXFx0XFx0XFx0XFx0PHNlY3Rpb24gY2xhc3M9XFxcImRldi1yb2FkbWFwLWRvbmVcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxoMz52LiAxLjAuMTwvaDM+XFxuXFx0XFx0XFx0XFx0XFx0PHVsPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BZGQgPGI+aG93dG88L2I+IHZpZGVvczwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPkFkZCA8Yj5DRE48L2I+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+QnVnZml4ZXM8L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9zZWN0aW9uPlxcblxcdFxcdFxcdDwvc2VjdGlvbj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cIixcImJhc2ljXCI6XCI8c2VjdGlvbiBjbGFzcz1cXFwiZGV2LWluc3RydWN0aW9ucy1iYXNpY1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiZGV2LWluc3RydWN0aW9ucy1ob2xkZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcbjxoMSBjbGFzcz1cXFwiZGV2LWZvbnQtbG9ic3RlciBfY2VudGVyX1xcXCI+QmFzaWMgPHNtYWxsIGNsYXNzPVxcXCJkZXYtZm9udC1yYWxld2F5XFxcIj5Db21wb25lbnRzPC9zbWFsbD48L2gxPlxcbjxwIGl0ZW1wcm9wPVxcXCJkZXNjcmlwdGlvblxcXCIgY2xhc3M9XFxcImRldi1pbnN0cnVjdGlvbnMtZGVzY3JpcHRpb24gX2NlbnRlcl9cXFwiPkdyaWQsIHR5cG9ncmFwaHksIHRhYmxlcyBhbmQgZm9ybXMuIEFsbCB5b3UnbGwgbmVlZCB0byBzdGFydCBhIG5ldyBwcm9qZWN0LjwvcD5cXG48ZGl2IGNsYXNzPVxcXCJkZXYtdmVyc2lvblxcXCI+PHNtYWxsIGl0ZW1wcm9wPVxcXCJkYXRlUHVibGlzaGVkXFxcIiBjb250ZW50PVxcXCJ7e2J1aWxkRGF0ZX19XFxcIj52ZXIuIDxzcGFuIGl0ZW1wcm9wPVxcXCJzb2Z0d2FyZVZlcnNpb25cXFwiPnt7dmVyc2lvbn19PC9zcGFuPiwgYnVpbGRlZCB7e2J1aWxkRGF0ZX19PC9zbWFsbD48L2Rpdj5cXG48Zm9ybSBhY3Rpb249XFxcImh0dHBzOi8vd3d3LnBheXBhbC5jb20vY2dpLWJpbi93ZWJzY3JcXFwiIG1ldGhvZD1cXFwicG9zdFxcXCIgdGFyZ2V0PVxcXCJfdG9wXFxcIiBzdHlsZT1cXFwidGV4dC1hbGlnbjpjZW50ZXI7IG1hcmdpbi10b3A6IDEwcHhcXFwiPlxcbjxpbnB1dCB0eXBlPVxcXCJoaWRkZW5cXFwiIG5hbWU9XFxcImNtZFxcXCIgdmFsdWU9XFxcIl9zLXhjbGlja1xcXCI+XFxuPGlucHV0IHR5cGU9XFxcImhpZGRlblxcXCIgbmFtZT1cXFwiZW5jcnlwdGVkXFxcIiB2YWx1ZT1cXFwiLS0tLS1CRUdJTiBQS0NTNy0tLS0tTUlJSE53WUpLb1pJaHZjTkFRY0VvSUlIS0RDQ0J5UUNBUUV4Z2dFd01JSUJMQUlCQURDQmxEQ0JqakVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQkFnVEFrTkJNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SUXdFZ1lEVlFRS0V3dFFZWGxRWVd3Z1NXNWpMakVUTUJFR0ExVUVDeFFLYkdsMlpWOWpaWEowY3pFUk1BOEdBMVVFQXhRSWJHbDJaVjloY0dreEhEQWFCZ2txaGtpRzl3MEJDUUVXRFhKbFFIQmhlWEJoYkM1amIyMENBUUF3RFFZSktvWklodmNOQVFFQkJRQUVnWUNDcUFBa21jQzkra0VpQzQxaC8wb2Vhc0dnbzBrSnBCbE1MZmY3WjViL3dSWlRsTGprS0I2L0JJN3ZGZEM2K01naVlrTHFSci9SaGNmZjdIWW9qOE1aRVRhK0ZFaDVJekozWFNRemMzSERhcE5QK1JYR20xYVBvRFFRcnQyTUVqanVJQjlWRnlxVTBPWlJjOGFnczk3RXM3WEtTZEpXY0xmSnNuNXpwSXY4R3pFTE1Ba0dCU3NPQXdJYUJRQXdnYlFHQ1NxR1NJYjNEUUVIQVRBVUJnZ3Foa2lHOXcwREJ3UUlsRDdKcXpUTXpwNkFnWkJsT3MweTVOV1BGam9Gbkllbm4yUUlsby92MGdVVmZYR1RtcllKdERiQlhMZncycUR1RDRxZjhjQjh6SW14UzM2RkV1Z2xtbXEwNC9sdmMyYTIvSUVsaVZSTm9zczhnRXFucTBVYWJWSGZjM2tUMjRKaCtIODVyTm1iQ3Q0aThPbGR2K0lqZUtPMmpGdmdPenRHeHFybTdMcGx6N3dJa2JDa0xJbXlJbVo5eE9iMWxKN2UzMGNnd0lZRXRlVTduWWVnZ2dPSE1JSURnekNDQXV5Z0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRVUZBRENCampFTE1Ba0dBMVVFQmhNQ1ZWTXhDekFKQmdOVkJBZ1RBa05CTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUlF3RWdZRFZRUUtFd3RRWVhsUVlXd2dTVzVqTGpFVE1CRUdBMVVFQ3hRS2JHbDJaVjlqWlhKMGN6RVJNQThHQTFVRUF4UUliR2wyWlY5aGNHa3hIREFhQmdrcWhraUc5dzBCQ1FFV0RYSmxRSEJoZVhCaGJDNWpiMjB3SGhjTk1EUXdNakV6TVRBeE16RTFXaGNOTXpVd01qRXpNVEF4TXpFMVdqQ0JqakVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQkFnVEFrTkJNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SUXdFZ1lEVlFRS0V3dFFZWGxRWVd3Z1NXNWpMakVUTUJFR0ExVUVDeFFLYkdsMlpWOWpaWEowY3pFUk1BOEdBMVVFQXhRSWJHbDJaVjloY0dreEhEQWFCZ2txaGtpRzl3MEJDUUVXRFhKbFFIQmhlWEJoYkM1amIyMHdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTUZIVHQzOFJNeExYSnlPMlNtUytOZGw3MlQ3b0tKNHU0dXcrNmF3bnRBTFdoMDNQZXdtSUp1emJBTFNjc1RTNHNab1MxZktjaUJHb2gxMWdJZkh6eWx2a2ROZS9oSmw2Ni9SR3FyajVyRmIwOHNBQUJOVHpEVGlxcU5wSmVCc1lzL2MyYWlHb3pwdFgyUmxuQmt0SCtTVU5wQWFqVzcyNE52Mld2aGlmNnNGQWdNQkFBR2pnZTR3Z2Vzd0hRWURWUjBPQkJZRUZKYWZmTHZHYnhlOVdUOVMxd29iN0JEV1pKUnJNSUc3QmdOVkhTTUVnYk13Z2JDQUZKYWZmTHZHYnhlOVdUOVMxd29iN0JEV1pKUnJvWUdVcElHUk1JR09NUXN3Q1FZRFZRUUdFd0pWVXpFTE1Ba0dBMVVFQ0JNQ1EwRXhGakFVQmdOVkJBY1REVTF2ZFc1MFlXbHVJRlpwWlhjeEZEQVNCZ05WQkFvVEMxQmhlVkJoYkNCSmJtTXVNUk13RVFZRFZRUUxGQXBzYVhabFgyTmxjblJ6TVJFd0R3WURWUVFERkFoc2FYWmxYMkZ3YVRFY01Cb0dDU3FHU0liM0RRRUpBUllOY21WQWNHRjVjR0ZzTG1OdmJZSUJBREFNQmdOVkhSTUVCVEFEQVFIL01BMEdDU3FHU0liM0RRRUJCUVVBQTRHQkFJRmZPbGFhZ0ZybDcxK2pxNk9LaWRiV0ZTRStRNEZxUk92ZGdJT050aCs4a1NLLy9ZLzRpaHVFNFltdnpuNWNlRTNTL2lCU1FRTWp5dmIrczJUV2JRWUR3Y3AxMjlPUEliRDllcGRyNHRKT1VOaVNvanc3Qkh3WVJpUGg1OFMxeEdsRmdIRlh3ckVCYjNkZ05iTVVhK3U0cWVjdHNNQVhwVkhuRDl3SXlmbUhNWUlCbWpDQ0FaWUNBUUV3Z1pRd2dZNHhDekFKQmdOVkJBWVRBbFZUTVFzd0NRWURWUVFJRXdKRFFURVdNQlFHQTFVRUJ4TU5UVzkxYm5SaGFXNGdWbWxsZHpFVU1CSUdBMVVFQ2hNTFVHRjVVR0ZzSUVsdVl5NHhFekFSQmdOVkJBc1VDbXhwZG1WZlkyVnlkSE14RVRBUEJnTlZCQU1VQ0d4cGRtVmZZWEJwTVJ3d0dnWUpLb1pJaHZjTkFRa0JGZzF5WlVCd1lYbHdZV3d1WTI5dEFnRUFNQWtHQlNzT0F3SWFCUUNnWFRBWUJna3Foa2lHOXcwQkNRTXhDd1lKS29aSWh2Y05BUWNCTUJ3R0NTcUdTSWIzRFFFSkJURVBGdzB4TkRBMU1Ua3lNalF6TWpsYU1DTUdDU3FHU0liM0RRRUpCREVXQkJSM3MzYnhoYVpRdzV5T2dyN2dUQTkydWp3N3BUQU5CZ2txaGtpRzl3MEJBUUVGQUFTQmdGTFJmS2EyRko2Y2dBZE5JdTRhbTErL3JOSWVreWs3M0lMallxaTh5eXpmNVg3Y05pM05tZkhqSmpRRFB4REl6b2dneCt2S1R6bFg5ZnFJeEtnc0RMOW5SUU5JTms1eW9LN0srNTBMa2RmNS94OEtreWdob3hnQTRzVGlIeDBFd2RiblVERG1ndmhVaXRhRFBibWh3a0VOVkt6bVZHaGpwbFMwRkhuMmpUOGotLS0tLUVORCBQS0NTNy0tLS0tXFxuXFxcIj5cXG48aW5wdXQgdHlwZT1cXFwic3VibWl0XFxcIiBjbGFzcz1cXFwiLWJ0bi1ib3JkZXJlZCBfbWlub3IgZGV2LWRvbmF0ZS1idG5cXFwiIHNyYz1cXFwiaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vZW5fVVMvaS9idG4vYnRuX2RvbmF0ZV9MRy5naWZcXFwiIG5hbWU9XFxcInN1Ym1pdFxcXCIgYWx0PVxcXCJQYXlQYWwgLSBUaGUgc2FmZXIsIGVhc2llciB3YXkgdG8gcGF5IG9ubGluZSFcXFwiIHZhbHVlPVxcXCJkb25hdGUgZm9yIGdvb2dsZSBnbGFzc1xcXCI+XFxuPC9mb3JtPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcImRldi1hZGRpdGlvbmFsXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG48cD5Gb3VuZCBhIHRleHQgb3IgY29kZSBlcnJvcj8gUGxlYXNlLCBmZWVsIGZyZWUgdG88L3A+XFxuPHNwYW4gaWQ9XFxcInNvY2lhbC1jb250cmlidXRlXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9zZWN0aW9uPlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXIgZGV2LW1haW4tY29udGVudFxcXCI+XFxuPGFzaWRlIGNsYXNzPVxcXCItY29sMyBkZXYtc2lkZWJhci1tZW51IF9yaWdodC1kZXNrdG9wc18gX3JpZ2h0LWxhcmdlLWRlc2t0b3BzX1xcXCI+XFxuPG5hdiBpZD1cXFwic2lkZWJhclxcXCI+PC9uYXY+XFxuPGhyIGNsYXNzPVxcXCJfaGlkZGVuLWRlc2t0b3BzXyBfaGlkZGVuLWxhcmdlLWRlc2t0b3BzX1xcXCI+XFxuPC9hc2lkZT5cXG48YXJ0aWNsZSBpZD1cXFwiY29udGVudFxcXCIgY2xhc3M9XFxcIi1jb2w5IF9sZWZ0LWRlc2t0b3BzXyBfbGVmdC1sYXJnZS1kZXNrdG9wc19cXFwiPjwvYXJ0aWNsZT5cXG48L2Rpdj5cXG5cIn0sXCJzaWRlYmFyXCI6e1wibWVudVwiOntcImxheW91dFwiOlwiXCIsXCJpdGVtXCI6XCI8YSBocmVmPVxcXCIje3twYXRofX1cXFwiIGRhdGEtYnlwYXNzPnt7I21lbnV9fXt7bWVudX19e3svbWVudX19e3tebWVudX19e3tuYW1lfX17ey9tZW51fX08L2E+XFxue3sjZXhpc3RJbmNsdWRlc319XFxuPHVsIGNsYXNzPVxcXCItbGlzdC1ncm91cFxcXCI+XFxue3sjaW5jbHVkZX19XFxue3teaW52aXNpYmxlfX1cXG48bGk+XFxuPGEgZGF0YS1ieXBhc3MgaHJlZj1cXFwiI3t7cGF0aH19XFxcIj57eyNtZW51fX17e21lbnV9fXt7L21lbnV9fXt7Xm1lbnV9fXt7bmFtZX19e3svbWVudX19PC9hPlxcbjwvbGk+XFxue3svaW52aXNpYmxlfX1cXG57ey9pbmNsdWRlfX1cXG48L3VsPlxcbnt7L2V4aXN0SW5jbHVkZXN9fVxcblwifX0sXCJoZWFkZXJcIjp7XCJzb2NpYWxcIjp7XCJ0d2l0dGVyXCI6XCI8YSBocmVmPVxcXCJodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC90d2VldD8mdGV4dD0lMjNNYXhtZXJ0a2l0IGlzIGEgZnVsbHkgY3VzdG9taXphYmxlICUyM2NzcyAlMjNmcmFtZXdvcmsgYmFzZWQgb24gJTIzd2lkZ2V0LW1vZGlmaWVycyBjb2Rpbmcgc3R5bGUuIE5ldyBlbmRsZXNzICUyM2ZlYXR1cmVzLiZ1cmw9aHR0cDovL21heG1lcnQuY29tXFxcIiB0YXJnZXQ9XFxcIl9ibGFua1xcXCIgY2xhc3M9XFxcIi1idG4tYm9yZGVyZWQgLWluZm8tIF9taW5vclxcXCIgZGF0YS1ieXBhc3M+XFxuPGkgY2xhc3M9XFxcImZhIGZhLXR3aXR0ZXJcXFwiPjwvaT4mbmJzcDs8Yj57e3NpZ259fTwvYj5cXG57eyNjb3VudH19e3tjb3VudH19e3svY291bnR9fVxcbnt7XmNvdW50fX1cXG48c3BhbiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgX3RpbnkgLWluZm8tXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L3NwYW4+XFxue3svY291bnR9fVxcbjwvYT5cXG5cIixcImdpdGh1YlwiOlwiPGEgaHJlZj1cXFwiaHR0cHM6Ly9naXRodWIuY29tL21heG1lcnQvbWF4bWVydGtpdFxcXCIgY2xhc3M9XFxcIi1idG4tYm9yZGVyZWQgLWRhcmstIF9taW5vclxcXCIgZGF0YS1ieXBhc3M+XFxuPGkgY2xhc3M9XFxcImZhIGZhLWdpdGh1YlxcXCI+PC9pPiZuYnNwOzxiPnt7c2lnbn19PC9iPlxcbnt7I2NvdW50fX17e2NvdW50fX17ey9jb3VudH19XFxue3teY291bnR9fVxcbjxzcGFuIGNsYXNzPVxcXCItc3Bpbm5lci1mYiBfdGlueSAtZGFyay1cXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvc3Bhbj5cXG57ey9jb3VudH19XFxuPC9hPlxcblwiLFwiZmFjZWJvb2tcIjpcIjxhaHJlZj1cXFwiamF2YXNjcmlwdDogdm9pZCgwKVxcXCIgY2xhc3M9XFxcIi1idG4tYm9yZGVyZWQgLXByaW1hcnktIF9taW5vclxcXCIgb25DbGljaz1cXFwid2luZG93Lm9wZW4oJ2h0dHA6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/cz0xMDAmYW1wO3BbdGl0bGVdPU1heG1lcnRraXQgY3NzLWZyYW1ld29yayZhbXA7cFtzdW1tYXJ5XT1NYXhtZXJ0a2l0IGlzIGEgZnVsbHkgY3VzdG9taXphYmxlIGNzcyBmcmFtZXdvcmsgYmFzZWQgb24gd2lkZ2V0LW1vZGlmaWVycyBjb2Rpbmcgc3R5bGUuIENoZWNrIG91dCBuZXcgZW5kbGVzcyBmZWF0dXJlcy4mYW1wO3BbdXJsXT1odHRwOi8vbWF4bWVydC5jb20mYW1wO3BbaW1hZ2VzXVswXT1odHRwJTNBJTJGJTJGbWF4bWVydC5jb20lMkZpbWFnZXMlMkZiZyUyRnJvYm90LmpwZycsJ3NoYXJlcicsJ3Rvb2xiYXI9MCxzdGF0dXM9MCx3aWR0aD01NDgsaGVpZ2h0PTMyNScpXFxcIiA+XFxuPGkgY2xhc3M9XFxcImZhIGZhLWZhY2Vib29rXFxcIj48L2k+Jm5ic3A7PGI+e3tzaWdufX08L2I+XFxue3sjY291bnR9fXt7Y291bnR9fXt7L2NvdW50fX1cXG57e15jb3VudH19XFxuPHNwYW4gY2xhc3M9XFxcIi1zcGlubmVyLWZiIF90aW55IC1wcmltYXJ5LVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9zcGFuPlxcbnt7L2NvdW50fX1cXG48L2E+XFxuXCJ9LFwibWVudVwiOntcIm1vYmlsZVwiOlwiPGEgaWQ9XFxcInt7bmFtZX19XFxcIiBocmVmPVxcXCIve3tuYW1lfX1cXFwiPnt7bmFtZX19PC9hPlxcblwiLFwiaXRlbVwiOlwiPGEgaWQ9XFxcInt7bmFtZX19XFxcIiBocmVmPVxcXCIve3tuYW1lfX1cXFwiPnt7bmFtZX19PC9hPlxcblwifX0sXCJwYXJ0aWFsc1wiOlwie3sjdmFsdWV9fVxcblxcdDxkaXYgaWQ9XFxcInt7cGF0aH19XFxcIj5cXG5cXHRcXHR7e3t2YWx1ZX19fVxcbnt7L3ZhbHVlfX1cXG5cXG57eyNpbmNsdWRlc319XFxuXFx0e3sjdmFsdWV9fVxcblxcdFxcdDxkaXYgaWQ9XFxcInt7cGF0aH19XFxcIj5cXG5cXHRcXHRcXHR7e3t2YWx1ZX19fVxcblxcdFxcdDwvZGl2PlxcblxcdHt7L3ZhbHVlfX1cXG57ey9pbmNsdWRlc319XFxuXFxue3sjdmFsdWV9fVxcblxcdDwvZGl2Plxcbnt7L3ZhbHVlfX1cXG5cIixcIm1lbnVcIjpcIjx1bD5cXG5cXHQ8bGkgbmctcmVwZWF0PSdpdGVtIGluIGl0ZW1zJz5cXG5cXHRcXHQ8YSBocmVmPVxcXCIvI3t7aXRlbS5uYW1lfX1cXFwiPnt7aXRlbS5uYW1lfX08L2E+XFxuXFx0PC9saT5cXG48L3VsPlwifSxcImtpdFwiOntcIndpZGdldHNcIjp7XCJ0aHVtYm5haWxzXCI6e1wiY29tbW9uXCI6XCI8aDE+VGh1bWJuYWlsczwvaDE+XFxuXFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiR0aHVtYm5haWwtY2xhc3M6IFxcXCItdGh1bWJuYWlsXFxcIiAhZ2xvYmFsXFxuJHRodW1ibmFpbC1pbWFnZS1iYWNrZ3JvdW5kOiAjZmZmIC8vIFdoZW4gaW1hZ2UgaXMgc3RpbGwgbG9hZGluZyB0aGlzIGJhY2tncm91bmQgd2lsbCBiZSBzaG93bjwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG5cXG5cXG48cD5cXG5cXHRDbGFzcyA8Y29kZT4tdGh1bWJuYWlsPC9jb2RlPi4gVGh1bWJuYWlscyBhcmUgcmVzcG9uc2l2ZSAoIDxjb2RlPndpZHRoOiAxMDAlPC9jb2RlPiBhbmQgPGNvZGU+aGVpZ2h0OiBhdXRvPC9jb2RlPiApLiBUcnkgdG8gY2hhbmdlIHNjcmVlbiBzaXplLlxcbjwvcD5cXG5cXG48cD5cXG5cXHRBbHNvIHlvdSBjYW4gYWRkIHNoYWRvd3MuXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi10aHVtYm5haWwgLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL2Zhcm05LnN0YXRpY2ZsaWNrci5jb20vODIzOC84NTE3NDE1NjU1X2FjMjIzMDM0YTdfYi5qcGdcXFwiPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbCAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTQuc3RhdGljZmxpY2tyLmNvbS8zMjM3LzMxMzEwMzc1OTZfZDg4OWFhMDMyMF96LmpwZ1xcXCI+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPHA+XFxuXFx0SWYgeW91IHdhbnQgdG8gYWRkIHNvbWUgaW5saW5lIHRodW1ibmFpbHMsIHVzZSA8YSBocmVmPVxcXCIvbWFpbiNncmlkXFxcIj5ncmlkPC9hPi4gSXQgYWxzbyByZXNwb25zaXplLiBUcnkgdG8gY2hhbmdlIHNjcmVlbiBzaXplLlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbCAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTkuc3RhdGljZmxpY2tyLmNvbS84MjM4Lzg1MTc0MTU2NTVfYWMyMjMwMzRhN19iLmpwZ1xcXCI+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsIC1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtNC5zdGF0aWNmbGlja3IuY29tLzMyNzkvMjgyNDYyMDI3OV80ZWZkYTZiOGNmX2IuanBnXFxcIj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8aDQ+R2Vpc2hhIDxzbWFsbD5LeW90bywgSmFwYW48L3NtYWxsPjwvaDQ+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi10aHVtYm5haWwgLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL2Zhcm0zLnN0YXRpY2ZsaWNrci5jb20vMjY1MS8zNzQzOTIyMTE5X2Y3MTQwZjAxYzhfei5qcGdcXFwiPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsIC1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtOS5zdGF0aWNmbGlja3IuY29tLzgyMzgvODUxNzQxNTY1NV9hYzIyMzAzNGE3X2IuanBnXFxcIj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8aDQ+R2Vpc2hhIDxzbWFsbD5LeW90bywgSmFwYW48L3NtYWxsPjwvaDQ+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi10aHVtYm5haWwgLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL2Zhcm00LnN0YXRpY2ZsaWNrci5jb20vMzI3OS8yODI0NjIwMjc5XzRlZmRhNmI4Y2ZfYi5qcGdcXFwiPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbCAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTMuc3RhdGljZmxpY2tyLmNvbS8yNjUxLzM3NDM5MjIxMTlfZjcxNDBmMDFjOF96LmpwZ1xcXCI+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdDwvZGl2PlxcblxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwiY2FwdGlvbnNcIjpcIjwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IENBUFRJT05TID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDI+Q2FwdGlvbjwvaDI+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JHRodW1ibmFpbC1jYXB0aW9uLWNsYXNzOiAjeyR0aHVtYm5haWwtY2xhc3N9I3skY2FwdGlvbi1jbGFzc31cXG4kdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZzogJGJhc2UtcGFkZGluZy12ZXJ0aWNhbCAqIDJcXG4kdGh1bWJuYWlsLWNhcHRpb24tZm9udC1zaXplOiA4MCU8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuXFxuPCEtLSA9PT09PT09PT09PT0gREVTQ1JJUFRJT04gLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcblxcdEFkZCB3aWRnZXQgPGNvZGU+LXRodW1ibmFpbC1jYXB0aW9uPC9jb2RlPiB0byBhZGQgY2FwdGlvbiB0byBpbWFnZS4gRG9uJ3QgZm9yZ2V0IGFib3V0IHRoZW1lcyBhbmQgc2l6ZXMuXFxuPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdFVzZSBzZW1hbnRpYyBlbGVtZW50cyA8Y29kZT4mbHQ7ZmlndXJlJmd0OzwvY29kZT4gYW5kIDxjb2RlPiZsdDtmaWdjYXB0aW9uJmd0OzwvY29kZT4hXFxuPC9ibG9ja3F1b3RlPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTkuc3RhdGljZmxpY2tyLmNvbS84MjM4Lzg1MTc0MTU2NTVfYWMyMjMwMzRhN19iLmpwZ1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PGZpZ2NhcHRpb24gY2xhc3M9XFxcIi10aHVtYm5haWwtY2FwdGlvblxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxwPkdlaXNoYSAo6Iq46ICFPyksIGdlaWtvICjoirjlrZApIG9yIGdlaWdpICjoirjlppMpIGFyZSB0cmFkaXRpb25hbCBKYXBhbmVzZSBmZW1hbGUgZW50ZXJ0YWluZXJzIHdobyBhY3QgYXMgaG9zdGVzc2VzIGFuZCB3aG9zZSBza2lsbHMgaW5jbHVkZSBwZXJmb3JtaW5nIHZhcmlvdXMgSmFwYW5lc2UgYXJ0cyBzdWNoIGFzIGNsYXNzaWNhbCBtdXNpYywgZGFuY2UgYW5kIGdhbWVzLjwvcD5cXG5cXHRcXHRcXHRcXHRcXHQ8L2ZpZ2NhcHRpb24+XFxuXFx0XFx0XFx0XFx0PC9maWd1cmU+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtNC5zdGF0aWNmbGlja3IuY29tLzMyNzkvMjgyNDYyMDI3OV80ZWZkYTZiOGNmX2IuanBnXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZmlnY2FwdGlvbiBjbGFzcz1cXFwiLXRodW1ibmFpbC1jYXB0aW9uIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxwPkdlaXNoYSAo6Iq46ICFPyksIGdlaWtvICjoirjlrZApIG9yIGdlaWdpICjoirjlppMpIGFyZSB0cmFkaXRpb25hbCBKYXBhbmVzZSBmZW1hbGUgZW50ZXJ0YWluZXJzIHdobyBhY3QgYXMgaG9zdGVzc2VzIGFuZCB3aG9zZSBza2lsbHMgaW5jbHVkZSBwZXJmb3JtaW5nIHZhcmlvdXMgSmFwYW5lc2UgYXJ0cyBzdWNoIGFzIGNsYXNzaWNhbCBtdXNpYywgZGFuY2UgYW5kIGdhbWVzLjwvcD5cXG5cXHRcXHRcXHRcXHRcXHQ8L2ZpZ2NhcHRpb24+XFxuXFx0XFx0XFx0XFx0PC9maWd1cmU+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtMy5zdGF0aWNmbGlja3IuY29tLzI2NTEvMzc0MzkyMjExOV9mNzE0MGYwMWM4X3ouanBnXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZmlnY2FwdGlvbiBjbGFzcz1cXFwiLXRodW1ibmFpbC1jYXB0aW9uIC1lcnJvci1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8cD5HZWlzaGEgKOiKuOiAhT8pLCBnZWlrbyAo6Iq45a2QKSBvciBnZWlnaSAo6Iq45aaTKSBhcmUgdHJhZGl0aW9uYWwgSmFwYW5lc2UgZmVtYWxlIGVudGVydGFpbmVycyB3aG8gYWN0IGFzIGhvc3Rlc3NlcyBhbmQgd2hvc2Ugc2tpbGxzIGluY2x1ZGUgcGVyZm9ybWluZyB2YXJpb3VzIEphcGFuZXNlIGFydHMgc3VjaCBhcyBjbGFzc2ljYWwgbXVzaWMsIGRhbmNlIGFuZCBnYW1lcy48L3A+XFxuXFx0XFx0XFx0XFx0XFx0PC9maWdjYXB0aW9uPlxcblxcdFxcdFxcdFxcdDwvZmlndXJlPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtOS5zdGF0aWNmbGlja3IuY29tLzgyMzgvODUxNzQxNTY1NV9hYzIyMzAzNGE3X2IuanBnXFxcIj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZmlnY2FwdGlvbiBjbGFzcz1cXFwiLXRodW1ibmFpbC1jYXB0aW9uXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aDQ+R2Vpc2hhIDxzbWFsbD5LeW90bywgSmFwYW48L3NtYWxsPjwvaDQ+XFxuXFx0XFx0XFx0XFx0PHA+R2Vpc2hhICjoirjogIU/KSwgZ2Vpa28gKOiKuOWtkCkgb3IgZ2VpZ2kgKOiKuOWmkykgYXJlIHRyYWRpdGlvbmFsIEphcGFuZXNlIGZlbWFsZSBlbnRlcnRhaW5lcnMgd2hvIGFjdCBhcyBob3N0ZXNzZXMgYW5kIHdob3NlIHNraWxscyBpbmNsdWRlIHBlcmZvcm1pbmcgdmFyaW91cyBKYXBhbmVzZSBhcnRzIHN1Y2ggYXMgY2xhc3NpY2FsIG11c2ljLCBkYW5jZSBhbmQgZ2FtZXMuPC9wPlxcblxcdFxcdFxcdDwvZmlnY2FwdGlvbj5cXG5cXHRcXHQ8L2ZpZ3VyZT5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL2Zhcm00LnN0YXRpY2ZsaWNrci5jb20vMzI3OS8yODI0NjIwMjc5XzRlZmRhNmI4Y2ZfYi5qcGdcXFwiPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxmaWdjYXB0aW9uIGNsYXNzPVxcXCItdGh1bWJuYWlsLWNhcHRpb24gLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aDQ+R2Vpc2hhIDxzbWFsbD5LeW90bywgSmFwYW48L3NtYWxsPjwvaDQ+XFxuXFx0XFx0XFx0XFx0PHA+R2Vpc2hhICjoirjogIU/KSwgZ2Vpa28gKOiKuOWtkCkgb3IgZ2VpZ2kgKOiKuOWmkykgYXJlIHRyYWRpdGlvbmFsIEphcGFuZXNlIGZlbWFsZSBlbnRlcnRhaW5lcnMgd2hvIGFjdCBhcyBob3N0ZXNzZXMgYW5kIHdob3NlIHNraWxscyBpbmNsdWRlIHBlcmZvcm1pbmcgdmFyaW91cyBKYXBhbmVzZSBhcnRzIHN1Y2ggYXMgY2xhc3NpY2FsIG11c2ljLCBkYW5jZSBhbmQgZ2FtZXMuPC9wPlxcblxcdFxcdFxcdDwvZmlnY2FwdGlvbj5cXG5cXHRcXHQ8L2ZpZ3VyZT5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL2Zhcm0zLnN0YXRpY2ZsaWNrci5jb20vMjY1MS8zNzQzOTIyMTE5X2Y3MTQwZjAxYzhfei5qcGdcXFwiPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxmaWdjYXB0aW9uIGNsYXNzPVxcXCItdGh1bWJuYWlsLWNhcHRpb24gLWVycm9yLVxcXCI+XFxuXFx0XFx0XFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdFxcdDxwPkdlaXNoYSAo6Iq46ICFPyksIGdlaWtvICjoirjlrZApIG9yIGdlaWdpICjoirjlppMpIGFyZSB0cmFkaXRpb25hbCBKYXBhbmVzZSBmZW1hbGUgZW50ZXJ0YWluZXJzIHdobyBhY3QgYXMgaG9zdGVzc2VzIGFuZCB3aG9zZSBza2lsbHMgaW5jbHVkZSBwZXJmb3JtaW5nIHZhcmlvdXMgSmFwYW5lc2UgYXJ0cyBzdWNoIGFzIGNsYXNzaWNhbCBtdXNpYywgZGFuY2UgYW5kIGdhbWVzLjwvcD5cXG5cXHRcXHRcXHQ8L2ZpZ2NhcHRpb24+XFxuXFx0XFx0PC9maWd1cmU+XFxuXFx0PC9kaXY+XFxuXFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgzPkNhcHRpb24gcG9zaXRpb248L2gzPlxcblxcbjxwPlxcblxcdFRvIGNoYW5nZSBpdCBqdXN0IGFkZCBtb2RpZmllcnMgPGNvZGU+X2xlZnRfPC9jb2RlPiBhbmQgPGNvZGU+X3JpZ2h0XzwvY29kZT4uIENhcHRpb25zIGFyZSByZXNwb25zaXZlLCB0cnkgdG8gY2hhbmdlIHdpbmRvdyB3aWR0aC5cXG48L3A+XFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+TGVmdCBhbmQgcmlnaHQgY2FwdGlvbnMgYXJlIGFic29sdXRlIHBvc2l0aW9uZWQuIFNvIGl0IGxvb2tzIGdyZWF0IGlmIHRoZXJlIGlzIG5vdGhpbmcgb24gbGVmdCBvciByaWdodCBzaWRlIG9mIHRoZSB0aHVtYm5haWwuPC9ibG9ja3F1b3RlPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4IC1vZmZzZXQ0XFxcIiBzdHlsZT1cXFwicG9zaXRpb246IHJlbGF0aXZlXFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItc2hhZG93LWN1cnZlLVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtOS5zdGF0aWNmbGlja3IuY29tLzgyMzgvODUxNzQxNTY1NV9hYzIyMzAzNGE3X2IuanBnXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZmlnY2FwdGlvbiBjbGFzcz1cXFwiLXRodW1ibmFpbC1jYXB0aW9uIF9sZWZ0X1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxwPkdlaXNoYSAo6Iq46ICFPyksIGdlaWtvICjoirjlrZApIG9yIGdlaWdpICjoirjlppMpIGFyZSB0cmFkaXRpb25hbCBKYXBhbmVzZSBmZW1hbGUgZW50ZXJ0YWluZXJzLjwvcD5cXG5cXHRcXHRcXHRcXHRcXHQ8L2ZpZ2NhcHRpb24+XFxuXFx0XFx0XFx0XFx0PC9maWd1cmU+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIiBzdHlsZT1cXFwicG9zaXRpb246IHJlbGF0aXZlXFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItc2hhZG93LWN1cnZlLVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtNC5zdGF0aWNmbGlja3IuY29tLzMyNzkvMjgyNDYyMDI3OV80ZWZkYTZiOGNmX2IuanBnXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZmlnY2FwdGlvbiBjbGFzcz1cXFwiLXRodW1ibmFpbC1jYXB0aW9uIF9yaWdodF8gLWVycm9yLVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxwPkdlaXNoYSAo6Iq46ICFPyksIGdlaWtvICjoirjlrZApIG9yIGdlaWdpICjoirjlppMpIGFyZSB0cmFkaXRpb25hbCBKYXBhbmVzZSBmZW1hbGUgZW50ZXJ0YWluZXJzLjwvcD5cXG5cXHRcXHRcXHRcXHRcXHQ8L2ZpZ2NhcHRpb24+XFxuXFx0XFx0XFx0XFx0PC9maWd1cmU+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0NFxcXCIgc3R5bGU9XFxcInBvc2l0aW9uOiByZWxhdGl2ZVxcXCI+XFxuXFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXNoYWRvdy1jdXJ2ZS1cXFwiPlxcblxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vZmFybTkuc3RhdGljZmxpY2tyLmNvbS84MjM4Lzg1MTc0MTU2NTVfYWMyMjMwMzRhN19iLmpwZ1xcXCI+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGZpZ2NhcHRpb24gY2xhc3M9XFxcIi10aHVtYm5haWwtY2FwdGlvbiBfbGVmdF9cXFwiPlxcblxcdFxcdFxcdFxcdDxoND5HZWlzaGEgPHNtYWxsPkt5b3RvLCBKYXBhbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHRcXHQ8cD5HZWlzaGEgKOiKuOiAhT8pLCBnZWlrbyAo6Iq45a2QKSBvciBnZWlnaSAo6Iq45aaTKSBhcmUgdHJhZGl0aW9uYWwgSmFwYW5lc2UgZmVtYWxlIGVudGVydGFpbmVycy48L3A+XFxuXFx0XFx0XFx0PC9maWdjYXB0aW9uPlxcblxcdFxcdDwvZmlndXJlPlxcblxcdDwvZGl2PlxcblxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIiBzdHlsZT1cXFwicG9zaXRpb246IHJlbGF0aXZlXFxcIj5cXG5cXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItc2hhZG93LWN1cnZlLVxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9mYXJtNC5zdGF0aWNmbGlja3IuY29tLzMyNzkvMjgyNDYyMDI3OV80ZWZkYTZiOGNmX2IuanBnXFxcIj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZmlnY2FwdGlvbiBjbGFzcz1cXFwiLXRodW1ibmFpbC1jYXB0aW9uIF9yaWdodF8gLWVycm9yLVxcXCI+XFxuXFx0XFx0XFx0XFx0PGg0PkdlaXNoYSA8c21hbGw+S3lvdG8sIEphcGFuPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdFxcdDxwPkdlaXNoYSAo6Iq46ICFPyksIGdlaWtvICjoirjlrZApIG9yIGdlaWdpICjoirjlppMpIGFyZSB0cmFkaXRpb25hbCBKYXBhbmVzZSBmZW1hbGUgZW50ZXJ0YWluZXJzLjwvcD5cXG5cXHRcXHRcXHQ8L2ZpZ2NhcHRpb24+XFxuXFx0XFx0PC9maWd1cmU+XFxuXFx0PC9kaXY+XFxuXFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XCJ9LFwic3Bpbm5lcnNcIjp7XCJ3YXZlc1wiOlwiPGgzPldhdmVzIHNwaW5uZXI8L2gzPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuPGg0PlZhcmlhYmxlczwvaDQ+XFxuPGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JHNwaW5uZXItd2F2ZXMtY2xhc3M6IFxcXCIjeyRzcGlubmVyLWNsYXNzfS13YXZlc1xcXCJcXG4kc3Bpbm5lci13YXZlcy1zaXplOiAzMHB4XFxuJHNwaW5uZXItd2F2ZXMtZGVnOiAyNWRlZzwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG48cD5KdXN0IGFkZCBjbGFzcyA8Y29kZT4tc3Bpbm5lci13YXZlczwvY29kZT4uPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItZXJyb3ItXFxcIj5Zb3UgbmVlZCB0byBhZGQgPGNvZGU+LWFkZG9uPC9jb2RlPiBlbGVtZW50cyBpbnNpZGUgdGhpcyBzcGlubmVyLjxicj5cXG5UaGUgcXVhbnRpdHkgaXMgdW5saW1pdGVkLlxcbjwvYmxvY2txdW90ZT5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtcHJpbWFyeS1cXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtZXJyb3ItXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtd2FybmluZy1cXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuXFxuPGEgY2xhc3M9XFxcIi1idG5cXFwiPldpdGggc3Bpbm5lclxcbjxzcGFuIGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtZGFyay0gX3NtYWxsXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9zcGFuPlxcbjwvYT5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXdhdmVzIC1wcmltYXJ5LVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXdhdmVzIC1lcnJvci1cXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXdhdmVzIC13YXJuaW5nLVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG5cXG48YSBjbGFzcz1cXFwiLWJ0blxcXCI+V2l0aCBzcGlubmVyXFxuPHNwYW4gY2xhc3M9XFxcIi1zcGlubmVyLXdhdmVzIC1kYXJrLSBfc21hbGxcXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L3NwYW4+XFxuPC9hPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcbjxwPkFkZCBzaXplIG1vZGlmaWVyczwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtcHJpbWFyeS0gX3NtYWxsXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItd2F2ZXMgLWVycm9yLSBfYmlnXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtd2FybmluZy0gX2RpdmluZVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXdhdmVzIC1wcmltYXJ5LSBfc21hbGxcXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci13YXZlcyAtZXJyb3ItIF9iaWdcXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXdhdmVzIC13YXJuaW5nLSBfZGl2aW5lXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwic3F1YXJlXCI6XCI8aDM+U3F1YXJlIHNwaW5uZXI8L2gzPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuPGg0PlZhcmlhYmxlczwvaDQ+XFxuPGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JHNwaW5uZXItc3F1YXJlLWNsYXNzOiBcXFwiI3skc3Bpbm5lci1jbGFzc30tc3F1YXJlXFxcIlxcbiRzcGlubmVyLXNxdWFyZS1zaXplOiAzMHB4XFxuPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcbjxwPkp1c3QgYWRkIGNsYXNzIDxjb2RlPi1zcGlubmVyLWZiPC9jb2RlPjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLXByaW1hcnktXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLXdhcm5pbmctXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLWluZm8tXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLWRhcmstXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLWVycm9yLVxcXCI+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLXByaW1hcnktXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLXdhcm5pbmctXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLWluZm8tXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLWRhcmstXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLWVycm9yLVxcXCI+PC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuPHA+QWRkIHNpemUgbW9kaWZpZXJzPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXNxdWFyZSBfdGlueSAtaW5mby1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXNxdWFyZSBfc21hbGwgLXByaW1hcnktXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgX21pbm9yIC13YXJuaW5nLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIF9ub3JtYWwgLWluZm8tXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgX21ham9yIC1kYXJrLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIF9iaWcgLWVycm9yLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIF9odWdlIC1wcmltYXJ5LVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIF9naWFudCAtd2FybmluZy1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXNxdWFyZSBfZGl2aW5lIC13YXJuaW5nLVxcXCI+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLXByaW1hcnktXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLXdhcm5pbmctXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLWluZm8tXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLWRhcmstXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgLWVycm9yLVxcXCI+PC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJyaW5nXCI6XCI8aDM+UmluZyBzcGlubmVyPC9oMz5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcbjxoND5WYXJpYWJsZXM8L2g0PlxcbjxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRzcGlubmVyLXJpbmctY2xhc3M6IFxcXCIjeyRzcGlubmVyLWNsYXNzfS1yaW5nXFxcIlxcbiRzcGlubmVyLXJpbmctc2l6ZTogMzBweFxcbjwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG48cD5KdXN0IGFkZCBjbGFzcyA8Y29kZT4tc3Bpbm5lci1yaW5nPC9jb2RlPjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIC1wcmltYXJ5LVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyAtd2FybmluZy1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgLWluZm8tXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIC1kYXJrLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyAtZXJyb3ItXFxcIj48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgLXByaW1hcnktXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIC13YXJuaW5nLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyAtaW5mby1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgLWRhcmstXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIC1lcnJvci1cXFwiPjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcbjxwPkFkZCBzaXplIG1vZGlmaWVyczwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIF90aW55IC1pbmZvLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyBfc21hbGwgLXByaW1hcnktXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIF9taW5vciAtd2FybmluZy1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgX25vcm1hbCAtaW5mby1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgX21ham9yIC1kYXJrLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyBfYmlnIC1lcnJvci1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgX2h1Z2UgLXByaW1hcnktXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIF9naWFudCAtd2FybmluZy1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgX2RpdmluZSAtd2FybmluZy1cXFwiPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyAtcHJpbWFyeS1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgLXdhcm5pbmctXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1yaW5nIC1pbmZvLVxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItcmluZyAtZGFyay1cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLXJpbmcgLWVycm9yLVxcXCI+PC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJmYlwiOlwiPGgzPkZiIHNwaW5uZXI8L2gzPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuPGg0PlZhcmlhYmxlczwvaDQ+XFxuPGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JHNwaW5uZXItZmItY2xhc3M6IFxcXCIjeyRzcGlubmVyLWNsYXNzfS1mYlxcXCJcXG4kc3Bpbm5lci1mYi1zaXplOiAzMHB4XFxuJHNwaW5uZXItZmItbWF4LWFkZG9uczogMTA8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuPHA+SnVzdCBhZGQgY2xhc3MgPGNvZGU+LXNwaW5uZXItZmI8L2NvZGU+LlRoaXMgaXMgYSBmYi1saWtlIHNwaW5uZXIuPC9wPlxcblxcbjxibG9ja3F1b3RlcyBjbGFzcz1cXFwiLWVycm9yLVxcXCI+WW91IG5lZWQgdG8gYWRkIDxjb2RlPi1hZGRvbjwvY29kZT4gZWxlbWVudHMgaW5zaWRlIHRoaXMgc3Bpbm5lci4gVGhlIHF1YW50aXR5IGlzIGxpbWl0ZWQgYnkgc2FzcyB2YXJpYWJsZSA8Y29kZT4kc3Bpbm5lci1mYi1tYXgtYWRkb25zPC9jb2RlPi48L2Jsb2NrcXVvdGVzPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLWZiIC1wcmltYXJ5LVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuJm5ic3A7XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgLWVycm9yLVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1mYiAtd2FybmluZy1cXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS1cXFwiPldpdGggc3Bpbm5lclxcbjxzcGFuIGNsYXNzPVxcXCItc3Bpbm5lci1mYiBfc21hbGxcXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L3NwYW4+XFxuPC9hPlxcblxcbjwvZGl2PlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgLXByaW1hcnktXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1mYiAtZXJyb3ItXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLWZiIC13YXJuaW5nLVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcblxcbjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+V2l0aCBzcGlubmVyXFxuPHNwYW4gY2xhc3M9XFxcIi1zcGlubmVyLWZiIF9zbWFsbFxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvc3Bhbj5cXG48L2E+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuPHA+QWRkIHNpemUgbW9kaWZpZXJzPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLWZiIC1wcmltYXJ5LSBfc21hbGxcXFwiPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcbiZuYnNwO1xcbiZuYnNwO1xcbiZuYnNwO1xcbiZuYnNwO1xcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLWZiIC1lcnJvci0gX2JpZ1xcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48L2Rpdj5cXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG4mbmJzcDtcXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1mYiAtd2FybmluZy0gX2RpdmluZVxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgLXByaW1hcnktIF9zbWFsbFxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgLWVycm9yLSBfYmlnXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1zcGlubmVyLWZiIC13YXJuaW5nLSBfZGl2aW5lXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJjb21tb25cIjpcIjxoMT5TcGlubmVyczwvaDE+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG48aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuPHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPiRzcGlubmVyLWNsYXNzOiBcXFwiLXNwaW5uZXJcXFwiICFnbG9iYWw8L3ByZT5cXG48L3A+XFxuXFxuPHA+U3Bpbm5lciBpcyBhbiBlbGVtZW50IHNob3dzIHRoYXQgcHJvY2VzcyBpcyBleGVjdXRpbmcgKGFueSBvbmUsIGZvciBleGFtcGxlIDxiPmxvYWRpbmc8L2I+IHByb2Nlc3MpPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcbklmIHlvdSB3YW50IHRvIHBvc2l0aW9uIHlvdXIgc3Bpbm5lciBpbiB0aGUgY2VudGVyIG9mIGFueSByZWxhdGl2ZSBlbGVtZW50LCBhZGQgPGNvZGU+X3Jlc3BvbnNpdmVfPC9jb2RlPiBtb2RpZmllciB0byB0aGUgc3Bpbm5lci5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+XFxuSW4gc29tZSBzcGlubmVycyB5b3UnbGwgbmVlZCB0byBhZGQgPGNvZGU+LWFkZG9uPC9jb2RlPiBlbGVtZW50cyBpbnNpZGUgdG8gYWRkIHNwaW5uZXIgYmxvY2tzLlxcbjwvYmxvY2txdW90ZT5cXG5cIn0sXCJzaGFkZXJzXCI6e1wiY29tbW9uXCI6XCI8aDE+U2hhZGVyczwvaDE+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG48aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuPGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JHNoYWRlci1jbGFzczogXFxcIi1zaGFkZXJcXFwiICFnbG9iYWxcXG4kc2hhZGVyLXotaW5kZXg6IDEwMCAhZ2xvYmFsPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcbjxwPlNoYWRlciBpcyBhIGJhY2tncm91bmQgZWxlbWVudCBmb3IgYW55IGNvbnRlbnQsIGZvciBleGFtcGxlIGEgbW9kYWwgd2luZG93LjwvcD5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLWVycm9yLVxcXCI+XFxuSGlkZGVuIGJ5IGRlZmF1bHQuIEFkZCBtb2RpZmllciA8Y29kZT5fYWN0aXZlXzwvY29kZT4gdG8gc2hvdyB1cC48YnI+XFxuRG9udCd0IGhhdmUgYW55IHNpemVzLlxcbjwvYmxvY2txdW90ZT5cXG5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXdhcm5pbmctXFxcIj5cXG5Vc2UgbW9kaWZpZXIgPGNvZGU+X3Jlc3BvbnNpdmVfPC9jb2RlPiB0byBtYWtlIHNoYWRlciA8Y29kZT5wb3NpdGlvbjogZml4ZWQ8L2NvZGU+Ljxicj5cXG5CeSBkZWZhdWx0IHNoYWRlciBpcyA8Y29kZT5wb3NpdGlvbjogYWJzb2x1dGU8L2NvZGU+XFxuPC9ibG9ja3F1b3RlPlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcbkNvbnRlbnQgdW5kZXIgc2hhZGVyLlxcbjxkaXYgY2xhc3M9XFxcIi1zaGFkZXIgLXByaW1hcnktIF9hY3RpdmVfXFxcIj48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPkNvbnRlbnQgdW5kZXIgc2hhZGVyLlxcbjxkaXYgY2xhc3M9XFxcIi1zaGFkZXIgLXByaW1hcnktXFxcIj48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG48cD5Gb3IgZXhhbXBsZSBhZGQgbG9hZGVyLjwvcD5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5Db250ZW50IHVuZGVyIHNoYWRlci5cXG48ZGl2IGNsYXNzPVxcXCItc2hhZGVyIC13YXJuaW5nLSBfYWN0aXZlX1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItZmIgX3Jlc3BvbnNpdmVfXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItYWRkb25cXFwiPjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L2Rpdj5cXG48L2Rpdj5cXG48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPkNvbnRlbnQgdW5kZXIgc2hhZGVyLlxcbjxkaXYgY2xhc3M9XFxcIi1zaGFkZXIgLXdhcm5pbmctIF9hY3RpdmVfXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1mYiBfcmVzcG9uc2l2ZV9cXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItYWRkb25cXFwiPjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvcHJlPjwvZGl2PjwvZGl2PlxcbjwvZGl2PlxcblxcblxcblxcblxcbjxwPkFkZCBtb2RpZmllciA8Y29kZT5fc2hhZGVkXzwvY29kZT4gdG8gbWFrZSBzaGFkZXIgdHJhbnNwYXJlbnQuPC9wPlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcbkNvbnRlbnQgdW5kZXIgc2hhZGVyLlxcbjxkaXYgY2xhc3M9XFxcIi1zaGFkZXIgLXdhcm5pbmctIF9zaGFkZWRfIF9hY3RpdmVfXFxcIj48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgX3Jlc3BvbnNpdmVfXFxcIj48L2Rpdj48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPkNvbnRlbnQgdW5kZXIgc2hhZGVyLlxcbjxkaXYgY2xhc3M9XFxcIi1zaGFkZXIgLXdhcm5pbmctIF9zaGFkZWRfIF9hY3RpdmVfXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItc3Bpbm5lci1zcXVhcmUgX3Jlc3BvbnNpdmVfXFxcIj48L2Rpdj5cXG48L2Rpdj5cXG5cXG48L3ByZT48L2Rpdj5cXG5cIn0sXCJwcm9ncmVzc1wiOntcInNsaW1cIjpcIjwhLS0gPT09PT09PT09PT09IFBST0dSRVNTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDE+U2xpbTwvaDE+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JHByb2dyZXNzLXNsaW0tY2xhc3M6IFxcXCItcHJvZ3Jlc3Mtc2xpbVxcXCIgIWdsb2JhbFxcbiRwcm9ncmVzcy1zbGltLWJhci1jbGFzczogXFxcIi1iYXJcXFwiICFnbG9iYWxcXG4kcHJvZ3Jlc3Mtc2xpbS1iYXItaGVpZ2h0OiA3cHhcXG4kcHJvZ3Jlc3Mtc2xpbS1ib3JkZXItcmFkaXVzOiAwcHggIWdsb2JhbFxcbiRwcm9ncmVzcy1zbGltLWJvcmRlci13aWR0aDogMHB4ICFnbG9iYWxcXG4kcHJvZ3Jlc3Mtc2xpbS1ib3JkZXItc3R5bGU6IHNvbGlkICFnbG9iYWw8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuXFxuXFxuPHA+XFxuXFx0VXNlIHdpZGdldCBjbGFzcyA8Y29kZT4tcHJvZ3Jlc3Mtc2xpbTwvY29kZT4uIEFwcGx5IHRoZW1lcyBhbmQgc2l6ZXMuIEFwcGVuZCA8Y29kZT4tYmFyPC9jb2RlPiBpbnNpZGUgPGNvZGU+LXByb2dyZXNzLXNsaW08L2NvZGU+LlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcHJvZ3Jlc3Mtc2xpbSBfdGlueSAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1wcm9ncmVzcy1zbGltIF9zbWFsbCAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1wcm9ncmVzcy1zbGltIF9taW5vciAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1wcm9ncmVzcy1zbGltIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWJhclxcXCIgc3R5bGU9XFxcIndpZHRoOiAxMiVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLXdhcm5pbmctXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI1JVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtZXJyb3ItXFxcIiBzdHlsZT1cXFwid2lkdGg6IDUlXFxcIj48L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXByb2dyZXNzLXNsaW0gX21ham9yIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWJhclxcXCIgc3R5bGU9XFxcIndpZHRoOiAxMiVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLXdhcm5pbmctXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI1JVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtZXJyb3ItXFxcIiBzdHlsZT1cXFwid2lkdGg6IDUlXFxcIj48L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXByb2dyZXNzLXNsaW0gX2JpZyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXByb2dyZXNzLXNsaW0gX3RpbnkgLXByaW1hcnktXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItYmFyXFxcIiBzdHlsZT1cXFwid2lkdGg6IDEyJVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtd2FybmluZy1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjUlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC1lcnJvci1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogNSVcXFwiPjwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1wcm9ncmVzcy1zbGltIF9zbWFsbCAtcHJpbWFyeS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXByb2dyZXNzLXNsaW0gX21pbm9yIC1wcmltYXJ5LVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWJhclxcXCIgc3R5bGU9XFxcIndpZHRoOiAxMiVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLXdhcm5pbmctXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI1JVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtZXJyb3ItXFxcIiBzdHlsZT1cXFwid2lkdGg6IDUlXFxcIj48L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcHJvZ3Jlc3Mtc2xpbSAtcHJpbWFyeS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj48L2Rpdj48ZGl2IGNsYXNzPVxcXCItYmFyIC13YXJuaW5nLVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyNSVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXByb2dyZXNzLXNsaW0gX21ham9yIC1wcmltYXJ5LVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWJhclxcXCIgc3R5bGU9XFxcIndpZHRoOiAxMiVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLXdhcm5pbmctXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI1JVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtZXJyb3ItXFxcIiBzdHlsZT1cXFwid2lkdGg6IDUlXFxcIj48L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcHJvZ3Jlc3Mtc2xpbSBfYmlnIC1wcmltYXJ5LVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWJhclxcXCIgc3R5bGU9XFxcIndpZHRoOiAxMiVcXFwiPjwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLXdhcm5pbmctXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI1JVxcXCI+PC9kaXY+PGRpdiBjbGFzcz1cXFwiLWJhciAtZXJyb3ItXFxcIiBzdHlsZT1cXFwid2lkdGg6IDUlXFxcIj48L2Rpdj5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIixcImNvbW1vblwiOlwiPCEtLSA9PT09PT09PT09PT0gUFJPR1JFU1MgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMT5Qcm9ncmVzczwvaDE+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JHByb2dyZXNzLWNsYXNzOiBcXFwiLXByb2dyZXNzXFxcIiAhZ2xvYmFsXFxuJHByb2dyZXNzLWJhci1jbGFzczogXFxcIi1iYXJcXFwiICFnbG9iYWxcXG4kcHJvZ3Jlc3MtYmFyLXBhZGRpbmctdmVydGljYWw6ICRiYXNlLXBhZGRpbmctdmVydGljYWwgLyAzXFxuJHByb2dyZXNzLWJhci1wYWRkaW5nLWhvcml6b250YWw6ICRiYXNlLXBhZGRpbmctaG9yaXpvbnRhbCAvIDEuNVxcbiRwcm9ncmVzcy1mb250LXdlaWdodDogNjAwICFnbG9iYWxcXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogNHB4ICFnbG9iYWxcXG4kcHJvZ3Jlc3MtYm9yZGVyLXdpZHRoOiAwcHggIWdsb2JhbFxcbiRwcm9ncmVzcy1ib3JkZXItc3R5bGU6IHNvbGlkICFnbG9iYWxcXG4kcHJvZ3Jlc3MtcGFkZGluZzogM3B4ICFnbG9iYWxcXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogI2ZmZiAhZ2xvYmFsPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcblxcblxcbjxwPlxcblxcdFVzZSB3aWRnZXQgY2xhc3MgPGNvZGU+LXByb2dyZXNzPC9jb2RlPi4gQXBwbHkgdGhlbWVzIGFuZCBzaXplcy4gQXBwZW5kIDxjb2RlPi1iYXI8L2NvZGU+IGluc2lkZSA8Y29kZT4tcHJvZ3Jlc3M8L2NvZGU+LlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcHJvZ3Jlc3MgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYmFyXFxcIiBzdHlsZT1cXFwid2lkdGg6IDEyJVxcXCI+MTIgJTwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLXdhcm5pbmctXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI1JVxcXCI+MjUgJTwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLWVycm9yLVxcXCIgc3R5bGU9XFxcIndpZHRoOiA1JVxcXCI+U29tZXRoaW5nIGdvZXMgd3Jvbmc8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXByb2dyZXNzIF9kaXZpbmUgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYmFyXFxcIiBzdHlsZT1cXFwid2lkdGg6IDEyJVxcXCI+MTIgJTwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcHJvZ3Jlc3MgLXByaW1hcnktIC1zaGFkb3ctY3VydmUtXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYmFyXFxcIiBzdHlsZT1cXFwid2lkdGg6IDQyJVxcXCI+cHJvZ3Jlc3Mgd2l0aCBzaGFkb3cgNDIgJTwvZGl2PjxkaXYgY2xhc3M9XFxcIi1iYXIgLXdhcm5pbmctXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI1JVxcXCI+MjUgJTwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcHJvZ3Jlc3MgLXByaW1hcnktIC1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWJhclxcXCIgc3R5bGU9XFxcIndpZHRoOiA0MiVcXFwiPnByb2dyZXNzIHdpdGggc2hhZG93IDQyICU8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1wcm9ncmVzcyAtcHJpbWFyeS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1iYXJcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMTIlXFxcIj4xMiAlPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWJhciAtd2FybmluZy1cXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjUlXFxcIj4yNSAlPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWJhciAtZXJyb3ItXFxcIiBzdHlsZT1cXFwid2lkdGg6IDUlXFxcIj5Tb21ldGhpbmcgZ29lcyB3cm9uZzwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1wcm9ncmVzcyBfZGl2aW5lIC1wcmltYXJ5LVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWJhclxcXCIgc3R5bGU9XFxcIndpZHRoOiAxMiVcXFwiPjEyICU8L2Rpdj5cXG48L2Rpdj5cXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIn0sXCJuYXZcIjp7XCJ0YWJzXCI6XCI8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBUQUJTID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDI+VGFiczwvaDI+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JG5hdi10YWJzLWNsYXNzOiBcXFwiLXRhYnNcXFwiICFnbG9iYWxcXG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAxcHggIWdsb2JhbFxcbiRuYXYtdGFicy1pdGVtcy1wYWRkaW5nLXZlcnRpY2FsOiAkYmFzZS1wYWRkaW5nLXZlcnRpY2FsXFxuJG5hdi10YWJzLWl0ZW1zLXBhZGRpbmctaG9yaXpvbnRhbDogJGJhc2UtcGFkZGluZy1ob3Jpem9udGFsXFxuJG5hdi10YWJzLWl0ZW1zLWJvcmRlci1yYWRpdXM6IDNweDwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG5cXG48IS0tID09PT09PT09PT09PSBERVNDUklQVElPTiAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPGgzPkJhc2ljIHVzZTwvaDM+XFxuPHA+XFxuXFx0VXNlIHRhYnMgY2xhc3MgPGNvZGU+LXRhYnM8L2NvZGU+LlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi10YWJzXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDEgPGkgY2xhc3M9XFxcImZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5UYWIgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLXRhYnMgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDEgPGkgY2xhc3M9XFxcImZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dWwgY2xhc3M9XFxcIi10YWJzXFxcIj5cXG5cXHQ8bGk+PGE+VGFiIDEgPGkgY2xhc3M9XFxcImZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+PC9saT5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMjwvYT48L2xpPlxcblxcdDxsaT48YT5UYWIgMzwvYT48L2xpPlxcblxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcbjwvdWw+XFxuXFxuPHVsIGNsYXNzPVxcXCItdGFicyAtcHJpbWFyeS1cXFwiPlxcblxcdDxsaT48YT5UYWIgMSA8aSBjbGFzcz1cXFwiZmEgZmEtY2FyZXQtZG93blxcXCI+PC9pPjwvYT48L2xpPlxcblxcdDxsaT48YT5UYWIgMjwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlRhYiAzPC9hPjwvbGk+XFxuXFx0PGxpIGRpc2FibGVkPjxhPlRhYiA0PC9hPjwvbGk+XFxuPC91bD48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG5cXG48cD5cXG5cXHRBcHBseSB0aGVtZSBjbGFzc2VzIHRvIGl0ZW0gZWxlbWVudCA8Y29kZT4mbHQ7bGkmZ3Q7PC9jb2RlPi5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItdGFic1xcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlXyAtZXJyb3ItXFxcIj48YT5UYWIgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5UYWIgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLXRhYnMgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDE8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dWwgY2xhc3M9XFxcIi10YWJzXFxcIj5cXG5cXHQ8bGk+PGE+VGFiIDE8L2E+PC9saT5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfIC1lcnJvci1cXFwiPjxhPlRhYiAyPC9hPjwvbGk+XFxuXFx0PGxpPjxhPlRhYiAzPC9hPjwvbGk+XFxuXFx0PGxpIGRpc2FibGVkPjxhPlRhYiA0PC9hPjwvbGk+XFxuPC91bD5cXG5cXG48dWwgY2xhc3M9XFxcIi10YWJzIC1wcmltYXJ5LVxcXCI+XFxuXFx0PGxpPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0PGxpIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPjxhPlRhYiAyPC9hPjwvbGk+XFxuXFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG48L3VsPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcblxcbjxoMz5WZXJ0aWNhbCB0YWJzPC9oMz5cXG5cXG48cD5cXG5cXHRVc2UgbW9kaWZpZXIgPGNvZGU+X3ZlcnRpY2FsXzwvY29kZT4gd2l0aCBtb2RpZmllcnMgPGNvZGU+X2xlZnRfPC9jb2RlPiBhbmQgPGNvZGU+X3JpZ2h0XzwvY29kZT4uIENvbWJpbmUgdGFicyB3aXRoIDxhIGhyZWY9XFxcIi9tYWluI2dyaWRcXFwiPmdyaWQ8L2E+LlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItdGFicyBfdmVydGljYWxfXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+PGE+VGFiIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaT48YT5UYWIgMzwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdFxcdENvbnRlbnQgb2YgdGhlIHNlY29uZCB0YWIuXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi10YWJzIF92ZXJ0aWNhbF8gLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+PGE+VGFiIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMzwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdFxcdENvbnRlbnQgb2YgdGhlIHRoaXJkIHRhYi5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdFxcdENvbnRlbnQgb2YgdGhlIHNlY29uZCB0YWIuXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXRhYnMgX3JpZ2h0XyBfdmVydGljYWxfXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+PGE+VGFiIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaT48YT5UYWIgMzwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHRDb250ZW50IG9mIHRoZSB0aGlyZCB0YWIuXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXRhYnMgX3JpZ2h0XyBfdmVydGljYWxfIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPjxhPlRhYiAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLXRhYnMgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+VGFiIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRDb250ZW50IG9mIHRoZSBzZWNvbmQgdGFiLlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi10YWJzIF92ZXJ0aWNhbF8gLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDE8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdENvbnRlbnQgb2YgdGhlIHRoaXJkIHRhYi5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0Q29udGVudCBvZiB0aGUgc2Vjb25kIHRhYi5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItdGFicyBfcmlnaHRfIF92ZXJ0aWNhbF9cXFwiPlxcblxcdFxcdFxcdDxsaT48YT5UYWIgMTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlRhYiAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPlRhYiAzPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGRpc2FibGVkPjxhPlRhYiA0PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0Q29udGVudCBvZiB0aGUgdGhpcmQgdGFiLlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi10YWJzIF9yaWdodF8gX3ZlcnRpY2FsXyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxsaT48YT5UYWIgMTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5UYWIgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlRhYiAzPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGRpc2FibGVkPjxhPlRhYiA0PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cIixcInBpbGxzXCI6XCI8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBQSUxMUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPlBpbGxzPC9oMj5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kbmF2LXBpbGxzLWNsYXNzOiBcXFwiLXBpbGxzXFxcIiAhZ2xvYmFsXFxuJG5hdi1waWxscy1ib3JkZXItd2lkdGg6IDFweCAhZ2xvYmFsXFxuJG5hdi1waWxscy1pdGVtcy1wYWRkaW5nLXZlcnRpY2FsOiAkYmFzZS1wYWRkaW5nLXZlcnRpY2FsXFxuJG5hdi1waWxscy1pdGVtcy1wYWRkaW5nLWhvcml6b250YWw6ICRiYXNlLXBhZGRpbmctaG9yaXpvbnRhbFxcbiRuYXYtcGlsbHMtaXRlbXMtYm9yZGVyLXJhZGl1czogM3B4XFxuJG5hdi1waWxscy1pdGVtcy1tYXJnaW4tcmlnaHQ6IDFweDwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG48aDM+QmFzaWMgdXNlPC9oMz5cXG48cD5cXG5cXHRVc2Ugd2lkZ2V0IDxjb2RlPi1waWxsczwvY29kZT4uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+UGlsbCAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPlBpbGwgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5QaWxsIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+UGlsbCAzPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGRpc2FibGVkPjxhPlBpbGwgNDwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dWwgY2xhc3M9XFxcIi1waWxsc1xcXCI+XFxuXFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlBpbGwgMjwvYT48L2xpPlxcblxcdDxsaT48YT5QaWxsIDM8L2E+PC9saT5cXG5cXHQ8bGkgZGlzYWJsZWQ+PGE+UGlsbCA0PC9hPjwvbGk+XFxuPC91bD5cXG48dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHQ8bGk+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+UGlsbCAzPC9hPjwvbGk+XFxuXFx0PGxpIGRpc2FibGVkPjxhPlBpbGwgNDwvYT48L2xpPlxcbjwvdWw+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPHA+XFxuXFx0QXBwbHkgdGhlbWUgY2xhc3NlcyB0byBpdGVtIGVsZW1lbnQgPGNvZGU+Jmx0O2xpJmd0OzwvY29kZT4uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+UGlsbCAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlXyAtZXJyb3ItXFxcIj48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+UGlsbCAzPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGRpc2FibGVkPjxhPlBpbGwgNDwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiLXdhcm5pbmctXFxcIj48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5QaWxsIDM8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGlzYWJsZWQ+PGE+UGlsbCA0PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bCBjbGFzcz1cXFwiLXBpbGxzXFxcIj5cXG5cXHQ8bGk+PGE+UGlsbCAxPC9hPjwvbGk+XFxuXFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlXyAtZXJyb3ItXFxcIj48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHQ8bGk+PGE+UGlsbCAzPC9hPjwvbGk+XFxuXFx0PGxpIGRpc2FibGVkPjxhPlBpbGwgNDwvYT48L2xpPlxcbjwvdWw+XFxuPHVsIGNsYXNzPVxcXCItcGlsbHMgLXByaW1hcnktXFxcIj5cXG5cXHQ8bGk+PGE+UGlsbCAxPC9hPjwvbGk+XFxuXFx0PGxpIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPjxhPlBpbGwgMjwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlBpbGwgMzwvYT48L2xpPlxcblxcdDxsaSBkaXNhYmxlZD48YT5QaWxsIDQ8L2E+PC9saT5cXG48L3VsPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcblxcbjxoMz5WZXJ0aWNhbCBwaWxsczwvaDM+XFxuXFxuPHA+XFxuXFx0VXNlIG1vZGlmaWVyIDxjb2RlPl92ZXJ0aWNhbF88L2NvZGU+LlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyBfdmVydGljYWxfXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+UGlsbCAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPlBpbGwgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5QaWxsIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItcGlsbHMgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlBpbGwgMjwvYT48L2xpPlxcblxcdDxsaT48YT5QaWxsIDM8L2E+PC9saT5cXG5cXHQ8bGkgZGlzYWJsZWQ+PGE+UGlsbCA0PC9hPjwvbGk+XFxuPC91bD48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIixcIm1lbnVcIjpcIjwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE1FTlUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMj5NZW51PC9oMj5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kbmF2LW1lbnUtY2xhc3M6IFxcXCItbWVudVxcXCIgIWdsb2JhbFxcbiRuYXYtbWVudS1pdGVtcy1wYWRkaW5nLXZlcnRpY2FsOiAkYmFzZS1wYWRkaW5nLXZlcnRpY2FsICFnbG9iYWxcXG4kbmF2LW1lbnUtaXRlbXMtcGFkZGluZy1ob3Jpem9udGFsOiAkYmFzZS1wYWRkaW5nLWhvcml6b250YWwgIWdsb2JhbFxcbiRuYXYtbWVudS1pdGVtcy1ib3JkZXItd2lkdGg6IDFweCAhZ2xvYmFsXFxuJG5hdi1tZW51LWl0ZW1zLWJvcmRlci1yYWRpdXM6IDBweCAhZ2xvYmFsXFxuJG5hdi1tZW51LWl0ZW1zLW1hcmdpbjogMXB4ICFnbG9iYWw8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuXFxuPCEtLSA9PT09PT09PT09PT0gREVTQ1JJUFRJT04gLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxoMz5CYXNpYyB1c2U8L2gzPlxcbjxwPlxcblxcdFVzZSBtZW51IGNsYXNzIDxjb2RlPi1tZW51PC9jb2RlPi5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudVxcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+TWVudSAzPC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bCBjbGFzcz1cXFwiLW1lbnVcXFwiPlxcblxcdDxsaT48YT5NZW51IDE8L2E+PC9saT5cXG5cXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0PGxpPjxhPk1lbnUgMzwvYT48L2xpPlxcbjwvdWw+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuPHA+XFxuXFx0QWRkIHRoZW1lcy5cXG48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudSAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDE8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMzwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dWwgY2xhc3M9XFxcIi1tZW51IC1wcmltYXJ5LVxcXCI+XFxuXFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHQ8bGk+PGE+TWVudSAzPC9hPjwvbGk+XFxuPC91bD48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG48aDM+VmVydGljYWwgbWVudTwvaDM+XFxuXFxuPHA+XFxuXFx0VG8gbWFrZSBpdCB2ZXJ0aWNhbCBhZGQgbW9kaWZpZXIgPGNvZGU+X3ZlcnRpY2FsXzwvY29kZT4uXFxuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+TWVudSAzPC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bCBjbGFzcz1cXFwiLW1lbnUgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHQ8bGk+PGE+TWVudSAzPC9hPjwvbGk+XFxuPC91bD48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48aDM+QWRkb248L2gzPlxcbjxwPlxcblxcdFVzZSBjbGFzcyA8Y29kZT4tYWRkb248L2NvZGU+IHRvIGFkZCBhbiBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgbWVudSB0byB0aGUgcmlnaHQuXFxuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+TWVudSAxIDxpIGNsYXNzPVxcXCItYWRkb24gZmEgZmEtY2FyZXQtZG93blxcXCI+PC9pPjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDIgPGkgY2xhc3M9XFxcIi1hZGRvblxcXCI+4oyYTTwvaT48L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+PGE+TWVudSAzIDxpIGNsYXNzPVxcXCItYWRkb24gZmEgZmEtc3RhclxcXCI+PC9pPjwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dWwgY2xhc3M9XFxcIi1tZW51IC1wcmltYXJ5LVxcXCI+XFxuXFx0PGxpPjxhPk1lbnUgMSA8aSBjbGFzcz1cXFwiLWFkZG9uIGZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+PC9saT5cXG5cXHQ8bGk+PGE+TWVudSAyIDxpIGNsYXNzPVxcXCItYWRkb25cXFwiPuKMmE08L2k+PC9hPjwvbGk+XFxuXFx0PGxpIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPjxhPk1lbnUgMyA8aSBjbGFzcz1cXFwiLWFkZG9uIGZhIGZhLXN0YXJcXFwiPjwvaT48L2E+PC9saT5cXG48L3VsPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcblxcblxcbjxoMz5BZGQgcmVzcG9uc2l2ZW5lc3M8L2gzPlxcblxcbjxwPlxcblxcdFRvIG1ha2UgbWVudSByZXNwb25zaXZlIGp1c3QgYWRkIG1vZGlmaWVyIDxjb2RlPl9yZXNwb25zaXZlXzwvY29kZT4uIFRyeSB0byBjaGFuZ2Ugd2luZG93IHNpemUgdG8gc2VlIGVmZmVjdC4gSXQgd2lsbCBiZWNvbWUgdmVydGljYWwgb24gc21hbGwgZGV2aWNlcy4gQnV0IHlvdSBzdGlsbCBuZWVkIG1hbnVhbGx5IGNvbmZpZ3VyYXRlIHN1Ym1lbnVzIHBvc2l0aW9uLiBSZWFkIGFib3V0IHRoYXQgYmVsb3cuXFxuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgLXByaW1hcnktIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMSA8aSBjbGFzcz1cXFwiLWFkZG9uIGZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+TWVudSAyIDxpIGNsYXNzPVxcXCItYWRkb25cXFwiPuKMmE08L2k+PC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPjxhPk1lbnUgMyA8aSBjbGFzcz1cXFwiLWFkZG9uIGZhIGZhLXN0YXJcXFwiPjwvaT48L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItbWVudSAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8bGk+PGE+TWVudSAxIDxpIGNsYXNzPVxcXCItYWRkb24gZmEgZmEtY2FyZXQtZG93blxcXCI+PC9pPjwvYT48L2xpPlxcblxcdDxsaT48YT5NZW51IDIgPGkgY2xhc3M9XFxcIi1hZGRvblxcXCI+4oyYTTwvaT48L2E+PC9saT5cXG5cXHQ8bGkgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+PGE+TWVudSAzIDxpIGNsYXNzPVxcXCItYWRkb24gZmEgZmEtc3RhclxcXCI+PC9pPjwvYT48L2xpPlxcbjwvdWw+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgzPkFkZCBzdWJtZW51czwvaDM+XFxuXFxuPHA+XFxuXFx0VG8gYWRkIHN1Ym1lbnUganVzdCBhZGQgd2lkZ2V0IDxjb2RlPi1kcm9wPC9jb2RlPiB3aXRoIDxjb2RlPi1tZW51PC9jb2RlPiBpbnNpZGUuXFxuPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdFRvIGNoYW5nZSBkcm9wZG93biBwb3NpdGlvbiB1c2UgcG9zaXRpb24gbW9kaWZpZXJzIDxjb2RlPl90b3BfPC9jb2RlPiwgPGNvZGU+X2JvdHRvbV88L2NvZGU+LCA8Y29kZT5fbGVmdF88L2NvZGU+LCA8Y29kZT5fcmlnaHRfPC9jb2RlPi4gRm9yIG1vcmUgaW5mb3JtYXRpb24gbG9vayA8YSBocmVmPVxcXCIjZHJvcGRvd25zQ29tbW9uXFxcIiBkYXRhLWJ5cGFzcz5kcm9wZG93biBzZWN0aW9uPC9hPi5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPHA+RHJvcGRvd24gd2lsbCBiZSB2aXNpYmxlIG9ubHkgaWYgcGFyZW50IGl0ZW0gaXMgPGNvZGU+X2FjdGl2ZV88L2NvZGU+LiBJZiB5b3Ugd2FudCB0byBtYWtlIGl0IHZpc2libGUgb24gPGNvZGU+OmhvdmVyPC9jb2RlPiwgYWRkIG1vZGlmaWVyIDxjb2RlPl9ob3ZlcmVkXzwvY29kZT4gdG8gdGhlIHJvb3QgPGNvZGU+LW1lbnU8L2NvZGU+LjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51IC1wcmltYXJ5LSBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdFxcdFxcdDxsaT48YT5ObyBob3ZlcmVkPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHQ8YT5NZW51IDMgPGkgY2xhc3M9XFxcIi1hZGRvbiBmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51IF92ZXJ0aWNhbF9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IHdpdGggbG9uZyBuYW1lIDxpIGNsYXNzPVxcXCItYWRkb25cXFwiPuKMmE08L2k+PC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhPk1lbnUgMiA8aSBjbGFzcz1cXFwiLWFkZG9uIGZhIGZhLWNhcmV0LXJpZ2h0XFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIF9yaWdodF9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGE+TWVudSAzPC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDM8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudSAtcHJpbWFyeS0gX2hvdmVyZWRfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0XFx0XFx0PGxpPjxhPldpdGggaG92ZXJlZDwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0PGE+TWVudSAzIDxpIGNsYXNzPVxcXCItYWRkb24gZmEgZmEtY2FyZXQtZG93blxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZHJvcCAtZmFkZWluLS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgX3ZlcnRpY2FsX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgd2l0aCBsb25nIG5hbWUgPGkgY2xhc3M9XFxcIi1hZGRvblxcXCI+4oyYTTwvaT48L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGE+TWVudSAyIDxpIGNsYXNzPVxcXCItYWRkb24gZmEgZmEtY2FyZXQtcmlnaHRcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgX3JpZ2h0X1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudSBfdmVydGljYWxfXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YT5NZW51IDM8L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMzwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItbWVudSAtcHJpbWFyeS1cXFwiPlxcblxcdDxsaT48YT5ObyBob3ZlcmVkPC9hPjwvbGk+XFxuXFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdDxsaT5cXG5cXHRcXHQ8YT5NZW51IDMgPGkgY2xhc3M9XFxcIi1hZGRvbiBmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wXFxcIj5cXG5cXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51IF92ZXJ0aWNhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSB3aXRoIGxvbmcgbmFtZSA8aSBjbGFzcz1cXFwiLWFkZG9uXFxcIj7ijJhNPC9pPjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHRcXHQ8YT5NZW51IDIgPGkgY2xhc3M9XFxcIi1hZGRvbiBmYSBmYS1jYXJldC1yaWdodFxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZHJvcCBfcmlnaHRfXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51IF92ZXJ0aWNhbF9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhPk1lbnUgMzwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAzPC9hPjwvbGk+XFxuXFx0XFx0XFx0PC91bD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2xpPlxcbjwvdWw+XFxuXFxuPHVsIGNsYXNzPVxcXCItbWVudSAtcHJpbWFyeS0gX2hvdmVyZWRfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PGxpPjxhPldpdGggaG92ZXJlZDwvYT48L2xpPlxcblxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHQ8bGk+XFxuXFx0XFx0PGE+TWVudSAzIDxpIGNsYXNzPVxcXCItYWRkb24gZmEgZmEtY2FyZXQtZG93blxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZHJvcFxcXCI+XFxuXFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudSBfdmVydGljYWxfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSB3aXRoIGxvbmcgbmFtZSA8aSBjbGFzcz1cXFwiLWFkZG9uXFxcIj7ijJhNPC9pPjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHRcXHQ8YT5NZW51IDIgPGkgY2xhc3M9XFxcIi1hZGRvbiBmYSBmYS1jYXJldC1yaWdodFxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZHJvcCBfcmlnaHRfXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51IF92ZXJ0aWNhbF9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhPk1lbnUgMzwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAzPC9hPjwvbGk+XFxuXFx0XFx0XFx0PC91bD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2xpPlxcbjwvdWw+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJsaXN0LWdyb3VwXCI6XCI8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBOQVZCQVIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMj5MaXN0IGdyb3VwPC9oMj5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kbmF2LWxpc3QtZ3JvdXAtY2xhc3M6IFxcXCItbGlzdC1ncm91cFxcXCIgIWdsb2JhbFxcbiRuYXYtbGlzdC1ncm91cC1pdGVtcy1wYWRkaW5nLXZlcnRpY2FsOiAkYmFzZS1wYWRkaW5nLXZlcnRpY2FsIC8gMiAhZ2xvYmFsXFxuJG5hdi1saXN0LWdyb3VwLWl0ZW1zLXBhZGRpbmctaG9yaXpvbnRhbDogJGJhc2UtcGFkZGluZy1ob3Jpem9udGFsICFnbG9iYWxcXG4kbmF2LWxpc3QtZ3JvdXAtaXRlbXMtYm9yZGVyLXdpZHRoOiAxcHggIWdsb2JhbFxcbiRuYXYtbGlzdC1ncm91cC1pdGVtcy1hY3RpdmUtYm9yZGVyLXdpZHRoOiAycHggIWdsb2JhbFxcbiRuYXYtbGlzdC1ncm91cC1pdGVtcy1tYXJnaW46IDFweCAhZ2xvYmFsPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcblxcbjwhLS0gPT09PT09PT09PT09IERFU0NSSVBUSU9OIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48aDM+QmFzaWMgdXNlPC9oMz5cXG48cD5cXG5cXHRVc2UgY2xhc3MgPGNvZGU+LWxpc3QtZ3JvdXA8L2NvZGU+LlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1saXN0LWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5NZW51IDM8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLWxpc3QtZ3JvdXAgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHQ8YT5NZW51IDM8L2E+XFxuXFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbGlzdC1ncm91cFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDM8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bCBjbGFzcz1cXFwiLWxpc3QtZ3JvdXBcXFwiPlxcblxcdDxsaT48YT5NZW51IDE8L2E+PC9saT5cXG5cXHQ8bGk+PGE+TWVudSAyPC9hPjwvbGk+XFxuXFx0PGxpPjxhPk1lbnUgMzwvYT48L2xpPlxcbjwvdWw+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJjb21tb25cIjpcIjxoMT5OYXY8L2gxPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPiRuYXYtaXRlbTogbGkgIWdsb2JhbDwvcHJlPjwvZGl2PjwvcD5cXG5cXG5cXG5cXG5cXG5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXdhcm5pbmctXFxcIj5cXG5cXHRVc2UgbW9kaWZpZXIgPGNvZGU+X3Jlc3BvbnNpdmVfPC9jb2RlPiB0byBtYWtlIGFsbCBuYXZzIHJlc3BvbnNpdmUuPGJyPlxcblxcdEl0IG1lYW5zIHdoZW4gc2NyZWVuIHJlc29sdXRpb24gYmVjb21lIGxlc3MgdGhlbiA8Yj45OTJweDwvYj4sIHRoZW4gYWxsIG5hdnMgYmVjb21lIGp1c3RpZnllZC5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItdGFicyBfanVzdGlmeV9cXFwiPlxcblxcdFxcdFxcdDxsaT48YT5KdXN0aWZpZWQ8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5UYWIgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LSBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdFxcdFxcdDxsaT48YT5SZXNwb25zaXZlPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhPlBpbGwgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlBpbGwgMzwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkaXNhYmxlZD48YT5QaWxsIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItdGFicyBfanVzdGlmeV9cXFwiPlxcblxcdDxsaT48YT5KdXN0aWZpZWQ8L2E+PC9saT5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YT5UYWIgMjwvYT48L2xpPlxcblxcdDxsaT48YT5UYWIgMzwvYT48L2xpPlxcblxcdDxsaSBkaXNhYmxlZD48YT5UYWIgNDwvYT48L2xpPlxcbjwvdWw+XFxuPHVsIGNsYXNzPVxcXCItdGFicyAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8bGk+PGE+UmVzcG9uc2l2ZTwvYT48L2xpPlxcblxcdDxsaT48YT5UYWIgMjwvYT48L2xpPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhPlRhYiAzPC9hPjwvbGk+XFxuXFx0PGxpIGRpc2FibGVkPjxhPlRhYiA0PC9hPjwvbGk+XFxuPC91bD48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cIixcImJ1bGxldHNcIjpcIjwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE5BVkJBUiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPkJ1bGxldHM8L2gyPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRuYXYtYnVsbGV0cy1jbGFzczogXFxcIi1idWxsZXRzXFxcIiAhZ2xvYmFsXFxuJG5hdi1idWxsZXRzLWl0ZW06IFxcXCJsaVxcXCIgIWdsb2JhbFxcbiRuYXYtYnVsbGV0cy1pdGVtLXNpemU6IDEwcHggIWdsb2JhbDwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG5cXG48IS0tID09PT09PT09PT09PSBERVNDUklQVElPTiAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPGgzPkJhc2ljIHVzZTwvaDM+XFxuPHA+XFxuXFx0VXNlIGNsYXNzIDxjb2RlPi1idWxsZXRzPC9jb2RlPiB3aXRoIDxjb2RlPiZsdDt1bCZndDs8L2NvZGU+LiBBbmQgPGNvZGU+Jmx0O3NtYWxsJmd0OzwvY29kZT4gZm9yIHNpZ24uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLWJ1bGxldHNcXFwiPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcImRhdGEtYnlwYXNzPjxzbWFsbD5OYW1lIDE8L3NtYWxsPjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCIgZGF0YS1ieXBhc3M+PHNtYWxsPk5hbWUgMjwvc21hbGw+PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItYnVsbGV0cyAtcHJpbWFyeS0gX2ludmVydF8gX2h1Z2VcXFwiPlxcblxcdFxcdFxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCJkYXRhLWJ5cGFzcz48c21hbGw+TmFtZSAxPC9zbWFsbD48L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiIGRhdGEtYnlwYXNzPjxzbWFsbD5OYW1lIDI8L3NtYWxsPjwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLWJ1bGxldHMgLWVycm9yLSBfaW52ZXJ0X1xcXCI+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiZGF0YS1ieXBhc3M+PHNtYWxsPk5hbWUgMTwvc21hbGw+PC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIiBkYXRhLWJ5cGFzcz48c21hbGw+TmFtZSAyPC9zbWFsbD48L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItYnVsbGV0c1xcXCI+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIj48c21hbGw+TmFtZSAxPC9zbWFsbD48L2E+PC9saT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiPjxzbWFsbD5OYW1lIDI8L3NtYWxsPjwvYT48L2xpPlxcbjwvdWw+XFxuXFxuPHVsIGNsYXNzPVxcXCItYnVsbGV0cyAtcHJpbWFyeS0gX2ludmVydF8gX2h1Z2VcXFwiPlxcblxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCIgPjxzbWFsbD5OYW1lIDE8L3NtYWxsPjwvYT48L2xpPlxcblxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCI+PHNtYWxsPk5hbWUgMjwvc21hbGw+PC9hPjwvbGk+XFxuPC91bD5cXG5cXG48dWwgY2xhc3M9XFxcIi1idWxsZXRzIC1lcnJvci0gX2ludmVydF9cXFwiPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIiA+PHNtYWxsPk5hbWUgMTwvc21hbGw+PC9hPjwvbGk+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIj48c21hbGw+TmFtZSAyPC9zbWFsbD48L2E+PC9saT5cXG48L3VsPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxwPlxcblxcdElmIHlvdSB3YW50IHRvIHB1dCB5b3VyIGJ1bGxldHMgaW5zaWRlIHNvbWUgPGNvZGU+cG9zaXRpb246IHJlbGF0aXZlPC9jb2RlPiBjb250YWluZXIsIHVzZSBtb2RpZmllciA8Y29kZT5fZml4ZWRfPC9jb2RlPiBhbmQgcG9zaXRpb24gbW9kaWZpZXJzIDxjb2RlPl9sZWZ0XzwvY29kZT4sIDxjb2RlPl9jZW50ZXJfPC9jb2RlPiwgPGNvZGU+X3JpZ2h0XzwvY29kZT4gYW5kIDxjb2RlPl90b3BfPC9jb2RlPiwgPGNvZGU+X21pZGRsZV88L2NvZGU+LCA8Y29kZT5fYm90dG9tXzwvY29kZT4uXFxuPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPlxcblxcdElmIHlvdSB3YW50IHRvIG1ha2UgeW91ciBidWxsZXRzIDxjb2RlPnBvc2l0aW9uOiBmaXhlZDwvY29kZT4gKGZvciBleGFtcGxlIGxpa2UgYSA8YSBocmVmPVxcXCIvZXhhbXBsZXMvYmxvZ1xcXCI+Z2xvYmFsIG5hdmlnYXRpb24gd2l0aCBwYXJhbGxheDwvYT4pLCB5b3UnbGwgbmVlZCB0byBhZGQgdGhpcyBzdHlsZSBieSB5b3VyIG93biBvciBhZGQgPGNvZGU+c3R5bGU9XFxcInBvc2l0aW9uOiBmaXhlZDtcXFwiPC9jb2RlPiB0byBidWxsZXRzLlxcbjwvYmxvY2txdW90ZT5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIiBzdHlsZT1cXFwiaGVpZ2h0OiAzMDBweDtcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLWJ1bGxldHMgX3ZlcnRpY2FsXyBfZml4ZWRfIF9sZWZ0XyBfbWlkZGxlX1xcXCI+XFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiZGF0YS1ieXBhc3M+PHNtYWxsPk5hbWUgMTwvc21hbGw+PC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIiBkYXRhLWJ5cGFzcz48c21hbGw+TmFtZSAyPC9zbWFsbD48L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLWJ1bGxldHMgX3ZlcnRpY2FsXyBfZml4ZWRfIF9yaWdodF8gX21pZGRsZV9cXFwiPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcImRhdGEtYnlwYXNzPjxzbWFsbD5OYW1lIDE8L3NtYWxsPjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCIgZGF0YS1ieXBhc3M+PHNtYWxsPk5hbWUgMjwvc21hbGw+PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1idWxsZXRzIF9maXhlZF8gX2NlbnRlcl8gX3RvcF9cXFwiPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcImRhdGEtYnlwYXNzPjxzbWFsbD5OYW1lIDE8L3NtYWxsPjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCIgZGF0YS1ieXBhc3M+PHNtYWxsPk5hbWUgMjwvc21hbGw+PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi1idWxsZXRzIF9maXhlZF8gX2NlbnRlcl8gX2JvdHRvbV9cXFwiPlxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcImRhdGEtYnlwYXNzPjxzbWFsbD5OYW1lIDE8L3NtYWxsPjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCIgZGF0YS1ieXBhc3M+PHNtYWxsPk5hbWUgMjwvc21hbGw+PC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bCBjbGFzcz1cXFwiLWJ1bGxldHMgX3ZlcnRpY2FsXyBfZml4ZWRfIF9sZWZ0XyBfbWlkZGxlX1xcXCI+XFxuXFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiID48c21hbGw+TmFtZSAxPC9zbWFsbD48L2E+PC9saT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiPjxzbWFsbD5OYW1lIDI8L3NtYWxsPjwvYT48L2xpPlxcbjwvdWw+XFxuXFxuPHVsIGNsYXNzPVxcXCItYnVsbGV0cyBfdmVydGljYWxfIF9maXhlZF8gX3JpZ2h0XyBfbWlkZGxlX1xcXCI+XFxuXFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiID48c21hbGw+TmFtZSAxPC9zbWFsbD48L2E+PC9saT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI25hdkJ1bGxldHNcXFwiPjxzbWFsbD5OYW1lIDI8L3NtYWxsPjwvYT48L2xpPlxcbjwvdWw+XFxuXFxuPHVsIGNsYXNzPVxcXCItYnVsbGV0cyBfZml4ZWRfIF9jZW50ZXJfIF90b3BfXFxcIj5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9hY3RpdmVfXFxcIj48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCIgPjxzbWFsbD5OYW1lIDE8L3NtYWxsPjwvYT48L2xpPlxcblxcdDxsaT48YSBocmVmPVxcXCIjbmF2QnVsbGV0c1xcXCI+PHNtYWxsPk5hbWUgMjwvc21hbGw+PC9hPjwvbGk+XFxuPC91bD5cXG5cXG48dWwgY2xhc3M9XFxcIi1idWxsZXRzIF9maXhlZF8gX2NlbnRlcl8gX2JvdHRvbV9cXFwiPlxcblxcdDxsaSBjbGFzcz1cXFwiX2FjdGl2ZV9cXFwiPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIiA+PHNtYWxsPk5hbWUgMTwvc21hbGw+PC9hPjwvbGk+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNuYXZCdWxsZXRzXFxcIj48c21hbGw+TmFtZSAyPC9zbWFsbD48L2E+PC9saT5cXG48L3VsPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwiYmFyXCI6XCI8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBOQVZCQVIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMj5OYXZiYXI8L2gyPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRuYXYtYmFyLWNsYXNzOiBcXFwiLW5hdmJhclxcXCIgIWdsb2JhbFxcbiRuYXYtYmFyLWhlaWdodDogNTBweCAhZ2xvYmFsXFxuJG5hdi1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAkYmFzZS1wYWRkaW5nLWhvcml6b250YWwgIWdsb2JhbFxcbiRuYXYtYmFyLWJvcmRlci13aWR0aDogMXB4ICFnbG9iYWxcXG4kbmF2LWJhci1zdHlsZTogc29saWQgIWdsb2JhbFxcbiRuYXYtYmFyLWJvcmRlci1yYWRpdXM6IDNweCAhZ2xvYmFsXFxuXFxuLy8gSXQncyBvbmx5IGZvIF90b3BfIG9yIF9ib3R0b21fIG5hdmJhcnMuIE5lZWQgdG8gYmUgb3ZlciBkcm9wZG93bnMuXFxuJG5hdi1iYXItei1pbmRleDogJGRyb3Bkb3duLXotaW5kZXggKyAxXFxuXFxuJG5hdi1iYXItdG9nZ2xlLWNsYXNzOiAjeyRuYXYtYmFyLWNsYXNzfS10b2dnbGU8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuXFxuPCEtLSA9PT09PT09PT09PT0gREVTQ1JJUFRJT04gLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxoMz5CYXNpYyB1c2U8L2gzPlxcbjxwPlxcblxcdFVzZSBuYXZiYXIgY2xhc3MgPGNvZGU+LW5hdmJhcjwvY29kZT4uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1uYXZiYXJcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkA8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1uYXZiYXJcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aC1sYXJnZVxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGgtbGlzdFxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZm9udFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWJvbGRcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1pdGFsaWNcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWxlZnRcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1jZW50ZXJcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1yaWdodFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWp1c3RpZnlcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItbmF2YmFyXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudVxcXCI+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8L3VsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PC91bD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5APC9zcGFuPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItbmF2YmFyXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGgtbGFyZ2VcXFwiPjwvaT48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aFxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoLWxpc3RcXFwiPjwvaT48L2E+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWZvbnRcXFwiPjwvaT48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gX2FjdGl2ZV9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1ib2xkXFxcIj48L2k+PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtaXRhbGljXFxcIj48L2k+PC9hPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1sZWZ0XFxcIj48L2k+PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tY2VudGVyXFxcIj48L2k+PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tcmlnaHRcXFwiPjwvaT48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gX2FjdGl2ZV9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1qdXN0aWZ5XFxcIj48L2k+PC9hPlxcblxcdDwvZGl2PlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcblxcblxcbjxoMz5HcmlkIGFuZCBuYXZiYXI8L2gzPlxcblxcbjxwPlxcblxcdEFkZCB0aGUgPGEgaHJlZj1cXFwiL21haW4jZ3JpZFxcXCI+Z3JpZDwvYT4gaW5zaWRlIHRoZSA8Y29kZT4tbmF2YmFyPC9jb2RlPiB0byBhbGxpZ24gZWxlbWVudHMuIEFkZCA8Y29kZT4taGVhZGVyPC9jb2RlPiB0byB0aGUgPGNvZGU+LW5hdmJhcjwvY29kZT4uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1uYXZiYXJcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5IZWFkZXI8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1uYXZiYXIgLXByaW1hcnktXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudVxcXCI+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8L3VsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0PC91bD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG48aDM+Q2hhbmdlIHRoZW1lczwvaDM+XFxuXFxuPHA+XFxuXFx0SWYgeW91IGFwcGx5IGEgdGhlbWUgdG8gdGhlIDxjb2RlPi1uYXZiYXI8L2NvZGU+LCB0aGVtZSBvZiBldmVyeSBlbGVtZW50IGluc2lkZSB3aWxsIGNoYW5nZS5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLW5hdmJhciAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkA8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLW5hdmJhciAtcHJpbWFyeS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8L3VsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkA8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxoMz5DaGFuZ2Ugc2l6ZTwvaDM+XFxuXFxuPHA+XFxuXFx0QXBwbHkgc2l6ZSB0byB0aGUgPGNvZGU+LW5hdmJhcjwvY29kZT4gdG8gY2hhbmdlIHNpemVzIG9mIHRoZSBlbGVtZW50cyBpbnNpZGUuXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1uYXZiYXIgX21pbm9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItbmF2YmFyIF9ub3JtYWxcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDVcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1uYXZiYXIgX21ham9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PHVsIGNsYXNzPVxcXCItbWVudVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1waWxscyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDE8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+UGlsbCAyPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PC91bD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItbmF2YmFyIF9iaWdcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDVcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLW5hdmJhciBfbWlub3JcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1XFxcIj5cXG5cXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1tZW51XFxcIj5cXG5cXHRcXHRcXHRcXHQ8bGk+PGE+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPk1lbnUgMjwvYT48L2xpPlxcblxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDVcXFwiPlxcblxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiLXBpbGxzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0PGxpPjxhPlBpbGwgMTwvYT48L2xpPlxcblxcdFxcdFxcdFxcdDxsaT48YT5QaWxsIDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8L3VsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1uYXZiYXIgX25vcm1hbFxcXCI+XFxuXFx0Li4uXFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLW5hdmJhciBfbWFqb3JcXFwiPlxcblxcdC4uLlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1uYXZiYXIgX2JpZ1xcXCI+XFxuXFx0Li4uXFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgzPkZpeGVkIG5hdmJhcjwvaDM+XFxuPHA+XFxuXFx0VXNlIG1vZGlmaWVycyA8Y29kZT5fdG9wXzwvY29kZT4gYW5kIDxjb2RlPl9ib3R0b21fPC9jb2RlPiB0byBzdGljayBuYXZiYXIgdG8gdG9wIG9yIGJvdHRvbS5cXG48L3A+XFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+XFxuXFx0RG8gbm90IGZvcmdldCB0byBzZXQgcGFkZGluZyB0byB0aGUgbmF2YmFyIGNvbnRhaW5lci4gUGFkZGluZyBzaG91bGQgYmUgZXF1YWwgb3IgbW9yZSB0aGVuIDxjb2RlPi1uYXZiYXI8L2NvZGU+IGhlaWdodC5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLW5hdmJhciBfdG9wX1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoLWxhcmdlXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGhcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aC1saXN0XFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mb250XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYm9sZFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWl0YWxpY1xcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tbGVmdFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWNlbnRlclxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLXJpZ2h0XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tanVzdGlmeVxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1uYXZiYXIgX3RvcF9cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aC1sYXJnZVxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoXFxcIj48L2k+PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGgtbGlzdFxcXCI+PC9pPjwvYT5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZm9udFxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWJvbGRcXFwiPjwvaT48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1pdGFsaWNcXFwiPjwvaT48L2E+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWxlZnRcXFwiPjwvaT48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1jZW50ZXJcXFwiPjwvaT48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1yaWdodFxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWp1c3RpZnlcXFwiPjwvaT48L2E+XFxuXFx0PC9kaXY+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgzPlJlc3BvbnNpdmUgbmF2YmFyPC9oMz5cXG48cD5cXG5cXHRGaXJzdCBvZiBhbGwgcmVhZCBhYm91dCA8YSBocmVmPVxcXCIvbWFpbiNyZXNwb25zaXZlXFxcIj5yZXNwb25zaXZlIHV0aWxpdGllczwvYT4uIEFmdGVyIHlvdSB1bmRlcnN0YW5kIHJlc3BvbnNpdmVuZXNzLCBpdCB3aWxsIGJlIGVhc2llciB0byB1bmRlcnN0YW5kIGhvdyB0byBjcmVhdGUgcmVzcG9uc2l2ZSBuYXZiYXIuXFxuPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPlxcblxcdFRoZXJlIGlzIG5vIG1hZ2ljLCBidXQgaXQncyB2ZXJ5IHNpbXBsZSEgVHJ1c3QgbWUhIExvb2sgYXQgdGhlIGNvbW1lbnRzIGluIHRoZSBjb2RlLiBXaXRoIHRob3NlIGNsYXNzZXMgeW91IGNhbiBoaWRlIG1lbnUgZXZlbiBmb3Igbm90IGxhcmdlIGRlc2t0b3BzIG9yIGp1c3QgZm9yIHBob25lcy4gSXQncyB2ZXJ5IGZsZXhpYmxlIHRlY2huaXF1ZS5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLW5hdmJhciAtcm93XFxcIj5cXG5cXHRcXHRcXHQ8IS0tIEhlYWRlciBpcyBhbHdheXMgdmlzaWJsZS4gRG9udCBzZXQgYW55IHZpc2libGUvaGlkZGVuIG1vZGlmaWVycy4gLS0+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPkhlYWRlciBoZXJlPC9kaXY+XFxuXFxuXFx0XFx0XFx0XFx0PCEtLSAtbmF2YmFyLXRvZ2dsZSBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkIGVsZW1lbnQuIEFkZCBpdCB0byB0aGUgY29sdW1uIHdpdGggaGVhZGVyLiBXZSB3YW50IHRvIHNob3cgaXQgb25seSBvbiBwaG9uZXMgYW5kIHRhYmxldHMgLS0+XFxuXFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1uYXZiYXItdG9nZ2xlIF9oaWRkZW4tZGVza3RvcHNfIF9oaWRkZW4tbGFyZ2UtZGVza3RvcHNfIC1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aC1saXN0XFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdDwhLS0gV2UgZG9uJ3Qgd2FudCB0byBzZWUgaXQgb24gdGFibGVzIGFuZCBwaG9uZXMgLS0+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDkgX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aC1sYXJnZVxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGgtbGlzdFxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZm9udFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWJvbGRcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1pdGFsaWNcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItbmF2YmFyIC1yb3dcXFwiPlxcblxcblxcdDwhLS0gSGVhZGVyIGlzIGFsd2F5cyB2aXNpYmxlLiBEb250IHNldCBhbnkgdmlzaWJsZS9oaWRkZW4gbW9kaWZpZXJzLiAtLT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+SGVhZGVyIGhlcmU8L2Rpdj5cXG5cXG5cXHRcXHQ8IS0tIC1uYXZiYXItdG9nZ2xlIGlzIGFic29sdXRlIHBvc2l0aW9uZWQgZWxlbWVudC4gQWRkIGl0IHRvIHRoZSBjb2x1bW4gd2l0aCBoZWFkZXIuIFdlIHdhbnQgdG8gc2hvdyBpdCBvbmx5IG9uIHBob25lcyBhbmQgdGFibGV0cy4gRG9uJ3QgZm9yZ2V0IHRvIGFkZCBqYXZhc2NyaXB0IGNvZGUgdG8gc2hvdyBtZW51IG9uIGNsaWNrLiAtLT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLW5hdmJhci10b2dnbGUgX2hpZGRlbi1kZXNrdG9wc18gX2hpZGRlbi1sYXJnZS1kZXNrdG9wc18gLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoLWxpc3RcXFwiPjwvaT48L2E+XFxuXFxuXFx0PC9kaXY+XFxuXFxuXFx0PCEtLSBXZSBkb24ndCB3YW50IHRvIHNlZSB0aGlzIG1lbnUgb24gdGFibGVzIGFuZCBwaG9uZXMuLS0+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDkgX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aC1sYXJnZVxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRoXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGgtbGlzdFxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZm9udFxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWJvbGRcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1pdGFsaWNcXFwiPjwvaT48L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFxuXFx0PC9kaXY+XFxuXFxuPC9kaXY+PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwifSxcImdyb3Vwc1wiOntcImlucHV0c1wiOlwiPCEtLSA9PT09PT09PT09PT0gQlVUVE9OUyBCTE9DSyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgzPklucHV0cyBpbnNpZGUgZ3JvdXA8L2gzPlxcblxcbjxwPlxcblxcdDxwPkFkZCA8Y29kZT4mbHQ7aW5wdXQgdHlwZT1cXFwidGV4dFxcXCImZ3Q7PC9jb2RlPiBvciA8Y29kZT4tZmllbGQ8L2NvZGU+cyBpbnNpZGUgZ3JvdXAuPC9wPlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PjxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2Pjxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxzZWxlY3Q+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMTwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDI8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHQ8L3NlbGVjdD5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgLXByaW1hcnktXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cCAtcHJpbWFyeS1cXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+XFxuXFx0XFx0PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+XFxuXFx0XFx0PHNlbGVjdD5cXG5cXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdDwvc2VsZWN0PlxcblxcdDwvZm9ybT5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48cD5Vc2Ugc2l6ZSBjbGFzc2VzIFVzZSBzaXplIGNsYXNzZXMgPGNvZGU+X3Rpbnk8L2NvZGU+LCA8Y29kZT5fc21hbGw8L2NvZGU+LCA8Y29kZT5fbWlub3I8L2NvZGU+LCA8Y29kZT5fbm9ybWFsPC9jb2RlPiwgPGNvZGU+X21ham9yPC9jb2RlPiwgPGNvZGU+X25vcm1hbDwvY29kZT4sIDxjb2RlPl9iaWc8L2NvZGU+LCA8Y29kZT5faHVnZTwvY29kZT4sIDxjb2RlPl9kaXZpbmU8L2NvZGU+IHdpdGggPGNvZGU+Jmx0Oy1ncm91cCZndDs8L2NvZGU+IHRvIHNldCBzaXplLjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX2RpdmluZSAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHQ8L2Rpdj48YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9odWdlIC1wcmltYXJ5LSBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2Pjxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX2JpZyAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHQ8L2Rpdj48YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9tYWpvciAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHQ8L2Rpdj48YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9ub3JtYWwgLXByaW1hcnktIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0XFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX2RpdmluZSAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj48YnI+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9odWdlIC1wcmltYXJ5LSBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2Pjxicj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX2JpZyAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj48YnI+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9tYWpvciAtcHJpbWFyeS0gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj48YnI+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9ub3JtYWwgLXByaW1hcnktIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PGZvcm0+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHQ8L2Zvcm0+XFxuPC9kaXY+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuPHA+XFxuXFx0TWFrZSBhIGdyb3VwIHN0cmV0Y2ggYXQgdGhlIHNhbWUgc2l6ZSB0byBzcGFuIHRoZSBlbnRpcmUgd2lkdGggb2YgaXRzIHBhcmVudC4gVXNlIG1vZGlmaWVyIDxjb2RlPl9qdXN0aWZ5XzwvY29kZT4uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfZGl2aW5lIC1wcmltYXJ5LSBfanVzdGlmeV9cXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2Pjxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX2h1Z2UgLXByaW1hcnktIF9qdXN0aWZ5X1xcXCI+XFxuXFx0XFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxzZWxlY3Q+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMTwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDI8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHQ8L3NlbGVjdD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0PC9kaXY+PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfYmlnIC1wcmltYXJ5LSBfanVzdGlmeV9cXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2Pjxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX21ham9yIC1wcmltYXJ5LSBfanVzdGlmeV9cXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2Pjxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX25vcm1hbCAtcHJpbWFyeS0gX2p1c3RpZnlfXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PHNlbGVjdD5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1ncm91cCBfZGl2aW5lIC1wcmltYXJ5LSBfanVzdGlmeV9cXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cCBfaHVnZSAtcHJpbWFyeS0gX2p1c3RpZnlfXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+XFxuXFx0XFx0XFx0PHNlbGVjdD5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX2JpZyAtcHJpbWFyeS0gX2p1c3RpZnlfXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+XFxuXFx0XFx0XFx0PHNlbGVjdD5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX21ham9yIC1wcmltYXJ5LSBfanVzdGlmeV9cXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cCBfbm9ybWFsIC1wcmltYXJ5LSBfanVzdGlmeV9cXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcblxcbjxwPlxcblxcdDxwPk9yIGFkZCB0aGVtZSB0byB0aGUgaW5uZXIgZWxlbWVudC48L3A+XFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktXFxcIj5CdXR0b248L2E+PGRpdiBjbGFzcz1cXFwiLWZpZWxkIC1lcnJvci1cXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+QnV0dG9uPC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZCAtZXJyb3ItXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PjwvZGl2PlxcblxcbjwvZGl2PlwiLFwiY29tbW9uXCI6XCI8IS0tID09PT09PT09PT09PSBHUk9VUFMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMT5Hcm91cHM8L2gxPlxcblxcbjxwPkdyb3VwIGEgc2VyaWVzIG9mIGJ1dHRvbnMgdG9nZXRoZXIgb24gYSBzaW5nbGUgbGluZSB3aXRoIHRoZSBidXR0b24gZ3JvdXAuIFVzZSBjbGFzcyA8Y29kZT4tZ3JvdXA8L2NvZGU+IHRvIGNyZWF0ZSBpdC48L3A+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVmFyaWFibGVzIC0tPlxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kZ3JvdXAtY2xhc3M6IFxcXCItZ3JvdXBcXFwiICFnbG9iYWxcXG5cXG4kZ3JvdXAtYWRkb24tY2xhc3M6ICRhZGRvbi1jbGFzcyAhZ2xvYmFsPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPlxcblxcdFVzZSBtb2RpZmllciA8Y29kZT5fcmVzcG9uc2l2ZV88L2NvZGU+IHRvIG1ha2UgZ3JvdXBzIHJlc3BvbnNpdmUuPGJyPlxcblxcdEl0IG1lYW5zIHdoZW4gc2NyZWVuIHJlc29sdXRpb24gYmVjb21lIGxlc3MgdGhlbiA8Yj45OTJweDwvYj4sIHRoZW4gYWxsIGdyb3VwcyBiZWNvbWUganVzdGlmeWVkLlxcbjwvYmxvY2txdW90ZT5cXG5cXG48aDM+UmVzcG9uc2l2ZTwvaDM+XFxuXFxuPHA+SnVzdCBtYWtlIHNjcmVlbiByZXNvbHV0aW9uIGxlc3MgdGhhbiA8Yj45OTJweDwvYj4uPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+bm90IHJlc3BvbnNpdmU8L3NwYW4+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1sZWZ0XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tY2VudGVyXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tcmlnaHRcXFwiPjwvaT48L2E+XFxuXFx0XFx0PC9kaXY+PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPml0IGlzIHJlc3BvbnNpdmU8L3NwYW4+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1sZWZ0XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tY2VudGVyXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tcmlnaHRcXFwiPjwvaT48L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPm5vdCByZXNwb25zaXZlPC9zcGFuPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tbGVmdFxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWNlbnRlclxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLXJpZ2h0XFxcIj48L2k+PC9hPlxcbjwvZGl2Pjxicj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5yZXNwb25zaXZlPC9zcGFuPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tbGVmdFxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWNlbnRlclxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLXJpZ2h0XFxcIj48L2k+PC9hPlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwiYnV0dG9uc1wiOlwiPCEtLSA9PT09PT09PT09PT0gQlVUVE9OUyBCTE9DSyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgzPkJ1dHRvbnMgaW5zaWRlIGdyb3VwPC9oMz5cXG5cXG48cD5cXG5cXHRBZGQgPGNvZGU+LWJ0bjwvY29kZT4gYnV0dG9ucyBpbnNpZGUgZ3JvdXAuXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1sZWZ0XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tY2VudGVyXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tcmlnaHRcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1hbGlnbi1qdXN0aWZ5XFxcIj48L2k+PC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mb250XFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYm9sZFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWl0YWxpY1xcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRodW1icy11cFxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC13YXJuaW5nLVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXN0YXJcXFwiPjwvaT48L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tbGVmdFxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLWNlbnRlclxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWFsaWduLXJpZ2h0XFxcIj48L2k+PC9hPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYWxpZ24tanVzdGlmeVxcXCI+PC9pPjwvYT5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZm9udFxcXCI+PC9pPjwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWJvbGRcXFwiPjwvaT48L2E+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1pdGFsaWNcXFwiPjwvaT48L2E+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aHVtYnMtdXBcXFwiPjwvaT48L2E+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0biAtd2FybmluZy1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1zdGFyXFxcIj48L2k+PC9hPlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxwPlxcblxcdE1ha2UgYSBncm91cCBvZiBidXR0b25zIHN0cmV0Y2ggYXQgdGhlIHNhbWUgc2l6ZSB0byBzcGFuIHRoZSBlbnRpcmUgd2lkdGggb2YgaXRzIHBhcmVudC4gVXNlIG1vZGlmaWVyIDxjb2RlPl9qdXN0aWZ5XzwvY29kZT4uXFxuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfanVzdGlmeV9cXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+PGEgY2xhc3M9XFxcIi1idG4gX2FjdGl2ZV9cXFwiPkJ1dHRvbjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9qdXN0aWZ5X1xcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+QnV0dG9uPC9hPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxhIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj5CdXR0b248L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+QnV0dG9uPC9hPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+QnV0dG9uPC9hPlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxwPlxcblxcdENyZWF0ZSBkcm9wZG93bnMgKEkgZG9uJ3QgdXNlIGEgSlMgaW4gdGhpcyBleGFtcGxlLCB0aGlzIGlzIGp1c3QgYSB2aWV3KS5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+RHJvcGRvd24gPGkgY2xhc3M9XFxcImZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+RHJvcGRvd248L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdDwvZGl2Pjxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5MaWtlPC9hPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRodW1icy1vLXVwXFxcIj48L2k+PC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPllvdSBsaWtlZCBpdDwvYT48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX2FjdGl2ZV9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aHVtYnMtby11cFxcXCI+PC9pPjwvYT5cXG5cXHRcXHQ8L2Rpdj48YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+U3RhcjwvYT48YSBjbGFzcz1cXFwiLWJ0biAtd2FybmluZy1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1zdGFyXFxcIj48L2k+PC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPllvdSBsaWtlZCBpdDwvYT48YSBjbGFzcz1cXFwiLWJ0biAtd2FybmluZy0gX2FjdGl2ZV9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1zdGFyXFxcIj48L2k+PC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+RHJvcGRvd24gPGkgY2xhc3M9XFxcImZhIGZhLWNhcmV0LWRvd25cXFwiPjwvaT48L2E+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+RHJvcGRvd248L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPlxcbjwvZGl2Pjxicj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5MaWtlPC9hPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRodW1icy1vLXVwXFxcIj48L2k+PC9hPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPllvdSBsaWtlZCBpdDwvYT48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX2FjdGl2ZV9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aHVtYnMtby11cFxcXCI+PC9pPjwvYT5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cIixcImFkZG9uc1wiOlwiPCEtLSA9PT09PT09PT09PT0gQURET05TIEJMT0NLIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDM+QWRkb25zIGluc2lkZSBncm91cDwvaDM+XFxuXFxuPHA+XFxuXFx0PHA+QWRkPGNvZGU+LWFkZG9uPC9jb2RlPiBpbnNpZGUgZ3JvdXAuPC9wPlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPmUtbWFpbDwvc3Bhbj48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPmUtbWFpbDwvc3Bhbj48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHRcXHRcXHQ8L2Zvcm0+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCAtZXJyb3ItXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5lLW1haWw8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgLXdhcm5pbmctXFxcIj5cXG5cXHRcXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5lLW1haWw8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkFkZG9uPC9zcGFuPjxhIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2E+XFxuXFx0XFx0XFx0PC9mb3JtPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkFkZG9uPC9zcGFuPjxhIGNsYXNzPVxcXCItYnRuIC13YXJuaW5nLVxcXCI+QnV0dG9uPC9hPlxcblxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0PGZvcm0+XFxuXFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+ZS1tYWlsPC9zcGFuPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXAgLXByaW1hcnktXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5lLW1haWw8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cCAtZXJyb3ItXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5lLW1haWw8L3NwYW4+PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCI+PC9kaXY+XFxuXFx0PC9mb3JtPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cCAtd2FybmluZy1cXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPmUtbWFpbDwvc3Bhbj48ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPjxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIj48L2Rpdj5cXG5cXHQ8L2Zvcm0+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHQ8Zm9ybT5cXG5cXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj5BZGRvbjwvc3Bhbj48YSBjbGFzcz1cXFwiLWJ0blxcXCI+QnV0dG9uPC9hPlxcblxcdDwvZm9ybT5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxmb3JtPlxcblxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPkFkZG9uPC9zcGFuPjxhIGNsYXNzPVxcXCItYnRuIC13YXJuaW5nLVxcXCI+QnV0dG9uPC9hPlxcblxcdDwvZm9ybT5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG48aDM+Q29tYmluZSE8L2gzPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0XFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+QDwvc3Bhbj48YSBjbGFzcz1cXFwiLWJ0blxcXCI+bWVAbWF4bWVydC5jb208L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPjxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdFxcdFxcdDwvZm9ybT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0PGZvcm0+XFxuXFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+QDwvc3Bhbj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+bWVAbWF4bWVydC5jb208L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jYXJldC1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+PGlucHV0IHR5cGU9XFxcInRleHRcXFwiPjwvZGl2PlxcblxcdDwvZm9ybT5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cIn0sXCJjb21tZW50c1wiOntcImNvbW1vblwiOlwiPGgxPkNvbW1lbnRzPC9oMT5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcbjxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG48ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kY29tbWVudHMtY2xhc3M6IFxcXCItY29tbWVudHNcXFwiICFnbG9iYWxcXG4kY29tbWVudHMtaXRlbS1tYXJnaW4tYm90dG9tOiAyNXB4ICFnbG9iYWw8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuPHA+QWRkIDxjb2RlPi1jb21tZW50czwvY29kZT4gdG8gdGhlIGNvbnRhaW5lci4gVXNlIGdsb2JhbCBjbGFzcyA8Y29kZT4taXRlbTwvY29kZT4gaW5zaWRlLiBJbnNpZGUgZWFjaCA8Y29kZT4taXRlbTwvY29kZT4gYWRkIDxjb2RlPi1jb250ZW50PC9jb2RlPiB3aWRnZXQuPC9wPlxcbjxwPkFkZCA8Y29kZT4tYXZhdGFyPC9jb2RlPiBpbnNpZGUgPGNvZGU+LWNvbnRlbnQ8L2NvZGU+IGJsb2Nrcy48L3A+XFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1pbmZvLVxcXCI+SW5zaWRlIDxjb2RlPi1pdGVtPC9jb2RlPnMgeW91IGNhbiBhZGQgYmxvY2tzIHdpdGggbW9kaWZpZXIgPGNvZGU+X2hpZGRlbl88L2NvZGU+LiBUaG9zZSBibG9ja3Mgd2lsbCBhcHBlYXIgb25seSB3aGVuIHVzZXIgaG92ZXIgdGhlIGNvbW1lbnQuPC9ibG9ja3F1b3RlPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcbjx1bCBjbGFzcz1cXFwiLWNvbW1lbnRzXFxcIj5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIi1pdGVtXFxcIj5cXG5cXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciAtY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvc29mZmVzLzEyOC5qcGdcXFwiIGFsdD1cXFwic29mZmVzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2E+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXY+PGEgaHJlZiBjbGFzcz1cXFwiLWF2YXRhclxcXCI+U29mZmVzPC9hPiZuYnNwOyZuYnNwOzxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWVycm9yLSBfaGlkZGVuX1xcXCI+MTI8L3NwYW4+PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0WW91IGtub3cgd2hhdCBlbHNlIGlzIFxcXCJhcmNhbmVcXFwiLCAxNDAgY2hhcmFjdGVycy5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJfaGlkZGVuX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLXVwXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIF9zbWFsbCAtcHJpbWFyeS1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1yZXBseVxcXCI+PC9pPiBSZXBseTwvYT5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXR3aXR0ZXJcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mYWNlYm9va1xcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWdvb2dsZS1wbHVzXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvbGk+XFxuXFxuXFx0XFx0XFx0PGxpIGNsYXNzPVxcXCItaXRlbSAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0XFx0PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL21hcmtnYW16eS8xMjguanBnXFxcIiBhbHQ9XFxcIm1hcmtnYW16eVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2PjxhIGhyZWYgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPk1hcmtnYW16eTwvYT4mbmJzcDsmbmJzcDs8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1wcmltYXJ5LSBfaGlkZGVuX1xcXCI+MTY1PC9zcGFuPjwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdE1heWJlIGl0IGlzIGp1c3QgdGhlaXIgd2F5IHRvIGZvcmNlIHVzZXJzIHRvIHVzZSB0aGUgb3JpZ2luYWwgdHdpdHRlciBjbGllbnQuIEluIGV2ZXJ5IG90aGVyIGNsaWVudCB0aGUgXFxcImZlYXR1cmVcXFwiIGxvb2tzIGNvbmZ1c2luZyBhbmQgc28gd2UgaGF2ZSB0byB1c2UgdGhlIG9yaWdpbmFsIGNsaWVudFxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIl9oaWRkZW5fXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWNoZXZyb24tdXBcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLWRvd25cXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gX3NtYWxsIC1wcmltYXJ5LVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXJlcGx5XFxcIj48L2k+IFJlcGx5PC9hPlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdHdpdHRlclxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWZhY2Vib29rXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZ29vZ2xlLXBsdXNcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9saT5cXG5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIi1pdGVtIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciAtY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvdGVjbGFyby8xMjguanBnXFxcIiBhbHQ9XFxcIlRlY2xhcm9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvYT5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdj48YSBocmVmIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5UZWNsYXJvPC9hPiZuYnNwOyZuYnNwOzxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWRhcmstIF9oaWRkZW5fXFxcIj42Nzwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRJbiBteSBvcGluaW9uIChhbmQgYXMgYSBVSSBhbmQgVVggZGVzaWduZXIpLCB0aGlzIGlzIGEgc3RlcCBpbiB0aGUgcmlnaHQgZGlyZWN0aW9uLiBFdmVuIHdoZW4gdmlld2luZyB0aG9zZSBleGFtcGxlcyBhYm92ZSwgdGhlIGNvbnRleHQgaXNuJ3QgaGluZGVyZWQgd2hlbiBAIGlzbid0IHByZXNlbnQgYW5kIG1ha2VzIHRoZSBjb252ZXJzYXRpb24gbW9yZSBsZWdpYmxlLlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIl9oaWRkZW5fXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWNoZXZyb24tdXBcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLWRvd25cXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gX3NtYWxsIC1wcmltYXJ5LVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXJlcGx5XFxcIj48L2k+IFJlcGx5PC9hPlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdHdpdHRlclxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWZhY2Vib29rXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZ29vZ2xlLXBsdXNcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9saT5cXG5cXG5cXHRcXHRcXHQ8bGkgY2xhc3M9XFxcIi1pdGVtIC1vZmZzZXQyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciAtY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvZWR3ZWxsYnJvb2svMTI4LmpwZ1xcXCIgYWx0PVxcXCJFZHdlbGxicm9va1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2PjxhIGhyZWYgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPkVkd2VsbGJyb29rPC9hPiZuYnNwOyZuYnNwOzxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWRhcmstIF9oaWRkZW5fXFxcIj42Nzwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRTdXJlIHRoZXkgYXJlIHRoaW5raW5nIGFib3V0IHJlbW92aW5nIEByZXBsaWVzIGJ1dCB0aGUgY29uY2VwdCBvZiByZXBseWluZyB3aWxsIHN0aWxsIGV4aXN0LiBJdCdzIGp1c3QgdGhlIGRldGFpbHMgb2Ygd2hvIHlvdSBhcmUgcmVwbHlpbmcgdG8gd2lsbCBiZSBjb250YWluZWQgaW4gbWV0YWRhdGEgYW5kIG5vdCBpbiB0aGUgYm9keSBvZiB0aGUgdHdlZXQuIFRoaXMgaXMgZ29vZCBhcyBpdCB3aWxsIGZyZWUgdXAgbW9yZSBjaGFyYWN0ZXJzIGZvciB0aGUgdHdlZXQuIEhvd2V2ZXIgSSdtIHN1cmUgaXQgd2lsbCBhbHNvIGxlYWQgdG8gcGVvcGxlIGJlaW5nIHVuc3VyZSBvZiB3aGV0aGVyIGEgdHdlZXQgd2lsbCBiZSBkaXJlY3RlZCBhdCBvbmUgcGVyc29uIG9yIHRoZWlyIHdob2xlIHRpbWVsaW5lIGluIHRoZSBzYW1lIHdheSBhcyBwZW9wbGUgb2Z0ZW4gbWlzdGFrZW5seSBwb3N0IGEgRE0gdG8gdGhlaXIgdGltZWxpbmUuXFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiX2hpZGRlbl9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi11cFxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWNoZXZyb24tZG93blxcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfc21hbGwgLXByaW1hcnktXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtcmVwbHlcXFwiPjwvaT4gUmVwbHk8L2E+XFxuXFxuXFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10d2l0dGVyXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZmFjZWJvb2tcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1nb29nbGUtcGx1c1xcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2xpPlxcblxcblxcdFxcdFxcdDxsaSBjbGFzcz1cXFwiLWl0ZW1cXFwiPlxcblxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2PjxhIGhyZWYgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPktyeXN0YWxmaXN0ZXI8L2E+Jm5ic3A7Jm5ic3A7PHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS0gX2hpZGRlbl9cXFwiPjE2Nzwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRNYXliZSBpdCBpcyBqdXN0IHRoZWlyIHdheSB0byBmb3JjZSB1c2VycyB0byB1c2UgdGhlIG9yaWdpbmFsIHR3aXR0ZXIgY2xpZW50LiBJbiBldmVyeSBvdGhlciBjbGllbnQgdGhlIFxcXCJmZWF0dXJlXFxcIiBsb29rcyBjb25mdXNpbmcgYW5kIHNvIHdlIGhhdmUgdG8gdXNlIHRoZSBvcmlnaW5hbCBjbGllbnRcXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJfaGlkZGVuX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLXVwXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIF9zbWFsbCAtcHJpbWFyeS1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1yZXBseVxcXCI+PC9pPiBSZXBseTwvYT5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXR3aXR0ZXJcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mYWNlYm9va1xcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWdvb2dsZS1wbHVzXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0PC91bD5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bCBjbGFzcz1cXFwiLWNvbW1lbnRzXFxcIj5cXG5cXHQ8bGkgY2xhc3M9XFxcIi1pdGVtXFxcIj5cXG5cXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciAtY29udGVudFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvc29mZmVzLzEyOC5qcGdcXFwiIGFsdD1cXFwic29mZmVzXFxcIj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2E+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdDxkaXY+PGEgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPlNvZmZlczwvYT48c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1lcnJvci0gX2hpZGRlbl9cXFwiPjEyPC9zcGFuPjwvZGl2PlxcblxcdFxcdFxcdENvbW1lbnQgdGV4dCBoZXJlXFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiX2hpZGRlbl9cXFwiPlxcblxcdFxcdFxcdFxcdEJ1dHRvbnMgaGVyZVxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvbGk+XFxuXFxuXFx0PGxpIGNsYXNzPVxcXCItaXRlbSAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL21hcmtnYW16eS8xMjguanBnXFxcIiBhbHQ9XFxcIm1hcmtnYW16eVxcXCI+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2PjxhIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5NYXJrZ2Ftenk8L2E+PHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS0gX2hpZGRlbl9cXFwiPjE2NTwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRDb21tZW50IHRleHQgaGVyZVxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIl9oaWRkZW5fXFxcIj5cXG5cXHRcXHRcXHRcXHRCdXR0b25zIGhlcmVcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2xpPlxcblxcblxcdDxsaSBjbGFzcz1cXFwiLWl0ZW0gLW9mZnNldDFcXFwiPlxcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci90ZWNsYXJvLzEyOC5qcGdcXFwiIGFsdD1cXFwiVGVjbGFyb1xcXCI+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2PjxhIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5UZWNsYXJvPC9hPjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWRhcmstIF9oaWRkZW5fXFxcIj42Nzwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRDb21tZW50IHRleHQgaGVyZVxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIl9oaWRkZW5fXFxcIj5cXG5cXHRcXHRcXHRcXHRCdXR0b25zIGhlcmVcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2xpPlxcblxcblxcdDxsaSBjbGFzcz1cXFwiLWl0ZW0gLW9mZnNldDJcXFwiPlxcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9lZHdlbGxicm9vay8xMjguanBnXFxcIiBhbHQ9XFxcIkVkd2VsbGJyb29rXFxcIj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2E+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdDxkaXY+PGEgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPkVkd2VsbGJyb29rPC9hPjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWRhcmstIF9oaWRkZW5fXFxcIj42Nzwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRDb21tZW50IHRleHQgaGVyZVxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIl9oaWRkZW5fXFxcIj5cXG5cXHRcXHRcXHRcXHRCdXR0b25zIGhlcmVcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2xpPlxcblxcblxcdDxsaSBjbGFzcz1cXFwiLWl0ZW1cXFwiPlxcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9hPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2PjxhIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5LcnlzdGFsZmlzdGVyPC9hPjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLXByaW1hcnktIF9oaWRkZW5fXFxcIj4xNjc8L3NwYW4+PC9kaXY+XFxuXFx0XFx0XFx0Q29tbWVudCB0ZXh0IGhlcmVcXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJfaGlkZGVuX1xcXCI+XFxuXFx0XFx0XFx0XFx0QnV0dG9ucyBoZXJlXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9saT5cXG5cXHQ8L3VsPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblwifSxcImJ1dHRvbnNcIjp7XCJ0aGVtZXNcIjpcIjwhLS0gPT09PT09PT09PT09IFRIRU1FUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgzPlRoZW1lczwvaDM+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0blxcXCI+RGVmYXVsdDwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gLXByaW1hcnktXFxcIj5QcmltYXJ5PC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtZXJyb3ItXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtcmVwZWF0XFxcIj48L2k+IEVycm9yPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtaW5mby1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1iZWxsXFxcIj48L2k+IEluZm88L2J1dHRvbj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBfdW5zdHlsZWRfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYmVsbFxcXCI+PC9pPlByaW1hcnk8L2J1dHRvbj5cXG5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxidXR0b24gY2xhc3M9XFxcIi1idG5cXFwiPkRlZmF1bHQ8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+UHJpbWFyeTwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gLWVycm9yLVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXJlcGVhdFxcXCI+PC9pPiBFcnJvcjwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gLWluZm8tXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtYmVsbFxcXCI+PC9pPiBJbmZvPC9idXR0b24+XFxuPGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX3Vuc3R5bGVkX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWdpZnRcXFwiPjwvaT5QcmltYXJ5PC9idXR0b24+PC9wcmU+PC9kaXY+XFxuXFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPGgzPkRpc2FibGVkIGJ1dHRvbnM8L2gzPlxcblxcbjxwPlxcblxcdDxwPlVzZSBtb2RpZmllciA8Y29kZT5fZGlzYWJsZWRfPC9jb2RlPiBvciBzZXQgYXR0cmlidXRlIDxjb2RlPltkaXNhYmxlZF08L2NvZGU+LjwvcD5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfZGlzYWJsZWRfXFxcIj5XaXRoIG1vZGlmaWVyPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0blxcXCIgZGlzYWJsZWQ+V2l0aCBhdHRyaWJ1dGU8L2J1dHRvbj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9kaXNhYmxlZF8gLXByaW1hcnktXFxcIj5QcmltYXJ5IG1vZGlmaWVyPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS1cXFwiIGRpc2FibGVkPlByaW1hcnkgYXR0cmlidXRlPC9idXR0b24+XFxuXFx0XFx0XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9kaXNhYmxlZF9cXFwiPldpdGggbW9kaWZpZXI8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuXFxcIiBkaXNhYmxlZD5XaXRoIGF0dHJpYnV0ZTwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gX2Rpc2FibGVkXyAtcHJpbWFyeS1cXFwiPlByaW1hcnkgbW9kaWZpZXI8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCIgZGlzYWJsZWQ+UHJpbWFyeSBhdHRyaWJ1dGU8L2J1dHRvbj48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cIixcInN0YXRlc1wiOlwiPCEtLSA9PT09PT09PT09PT0gU1RBVEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDM+Q2hhbmdlIHN0YXRlczwvaDM+XFxuXFxuPHA+XFxuXFx0PHA+VXNlIG1vZGlmaWVycyA8Y29kZT5fYWN0aXZlXzwvY29kZT4gYW5kIDxjb2RlPl9ob3ZlcmVkXzwvY29kZT4gdG8gY2hhbmdlIGJ1dHRvbnMgc3RhdGVzLjwvcD5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0blxcXCI+RGVmYXVsdDwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX2hvdmVyZWRfXFxcIj5Ib3ZlcmVkPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+QWN0aXZlPC9idXR0b24+XFxuXFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS1cXFwiPkRlZmF1bHQ8L2J1dHRvbj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9ob3ZlcmVkXyAtcHJpbWFyeS1cXFwiPkhvdmVyZWQ8L2J1dHRvbj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfIC1wcmltYXJ5LVxcXCI+QWN0aXZlPC9idXR0b24+XFxuXFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuXFxcIj5EZWZhdWx0PC9idXR0b24+XFxuPGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfaG92ZXJlZF9cXFwiPkhvdmVyZWQ8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9hY3RpdmVfXFxcIj5BY3RpdmU8L2J1dHRvbj5cXG5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+RGVmYXVsdDwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gX2hvdmVyZWRfIC1wcmltYXJ5LVxcXCI+SG92ZXJlZDwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gX2FjdGl2ZV8gLXByaW1hcnktXFxcIj5BY3RpdmU8L2J1dHRvbj48L2Rpdj5cXG5cXG48L2Rpdj5cIixcInNpemVzXCI6XCI8IS0tID09PT09PT09PT09PSBTSVpFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgzPlNpemVzPC9oMz5cXG5cXG48cD5cXG5cXHQ8cD5Vc2Ugc2l6ZSBjbGFzc2VzIDxjb2RlPl90aW55PC9jb2RlPiwgPGNvZGU+X3NtYWxsPC9jb2RlPiwgPGNvZGU+X21pbm9yPC9jb2RlPiwgPGNvZGU+X25vcm1hbDwvY29kZT4sIDxjb2RlPl9tYWpvcjwvY29kZT4sIDxjb2RlPl9ub3JtYWw8L2NvZGU+LCA8Y29kZT5fYmlnPC9jb2RlPiwgPGNvZGU+X2h1Z2U8L2NvZGU+LCA8Y29kZT5fZGl2aW5lPC9jb2RlPiB3aXRoIDxjb2RlPi1idG48L2NvZGU+IHRvIHNldCBidXR0b24ncyBzaXplLjwvcD5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfdGlueVxcXCI+VGlueTwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX3NtYWxsXFxcIj5TbWFsbDwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX21pbm9yXFxcIj5NaW5vcjwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX25vcm1hbCAtcHJpbWFyeS1cXFwiPk5vcm1hbDwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX21ham9yIC1lcnJvci1cXFwiPk1ham9yPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfYmlnIC1pbmZvLVxcXCI+QmlnPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfaHVnZSAtaW5mby1cXFwiPkh1Z2U8L2J1dHRvbj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9kaXZpbmUgLWluZm8tXFxcIj5EaXZpbmU8L2J1dHRvbj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxidXR0b24gY2xhc3M9XFxcIi1idG4gX3RpbnlcXFwiPlRpbnk8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9zbWFsbFxcXCI+U21hbGw8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9taW5vclxcXCI+TWlub3I8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9ub3JtYWwgLXByaW1hcnktXFxcIj5Ob3JtYWw8L2J1dHRvbj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF9tYWpvciAtZXJyb3ItXFxcIj5NYWpvcjwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gX2JpZyAtaW5mby1cXFwiPkJpZzwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gX2h1Z2UgLWluZm8tXFxcIj5IdWdlPC9idXR0b24+XFxuPGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfZGl2aW5lIC1pbmZvLVxcXCI+RGl2aW5lPC9idXR0b24+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XCIsXCJnaG9zdFwiOlwiPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gQlVUVE9OUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPGgxPkdob3N0IGJ1dHRvbnM8L2gxPlxcblxcblxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRidXR0b24tZ2hvc3QtY2xhc3M6IFxcXCIjeyRidXR0b24tY2xhc3N9LWdob3N0XFxcIiAhZ2xvYmFsXFxuJGJ1dHRvbi1naG9zdC1mb250LXdlaWdodDogMjAwICFnbG9iYWxcXG4kYnV0dG9uLWdob3N0LW1pbi1mb250LXNpemU6IDlweCAhZ2xvYmFsXFxuJGJ1dHRvbi1naG9zdC1ib3JkZXItcmFkaXVzOiAzcHggIWdsb2JhbFxcbiRidXR0b24tZ2hvc3QtYm9yZGVyLXdpZHRoOiAzcHggIWdsb2JhbDwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG5cXG48IS0tID09PT09PT09PT09PSBERVNDUklQVElPTiAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+VXNlIGJ1dHRvbiBjbGFzcyA8Y29kZT4tYnRuLWdob3N0PC9jb2RlPiB0byBjcmVhdGUgZ3JlYXQgYnV0dG9ucy48L3A+XFxuXFxuPHA+VXNlIHRoZW1lIGNsYXNzZXMgKHlvdSBjYW4gaW5jbHVkZSBhbnkgdGhlbWUsIHNvIHRoZW1lcyBjbGFzcyBuYW1lcyBjYW4gYmUgZGlmZmVyZW50KSA8Y29kZT4tcHJpbWFyeS08L2NvZGU+LCA8Y29kZT4tZXJyb3ItPC9jb2RlPiwgPGNvZGU+LXN1Y2Nlc3MtPC9jb2RlPiwgZXRjLiB3aXRoIDxjb2RlPiZsdDtidXR0b24mZ3Q7PC9jb2RlPiBvciA8Y29kZT4mbHQ7aW5wdXQgdHlwZT1cXFwiYnV0dG9uXFxcIiZndDs8L2NvZGU+IHRvIHNldCB0aGVtZS48L3A+XFxuXFxuPHA+XFxuXFx0QXMgYWx3YXlzIHRvIHVzZSBmb250LWF3ZXNvbWUgaWNvbnMgeW91IG5lZWQgdG86XFxuXFx0PHVsPlxcblxcdFxcdDxsaT5hZGQgPGNvZGU+Jmx0O2xpbmsgaHJlZj1cXFwiLy9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC4wLjMvY3NzL2ZvbnQtYXdlc29tZS5jc3NcXFwiIHJlbD1cXFwic3R5bGVzaGVldFxcXCImZ3Q7PC9jb2RlPiB0byB5b3VyIDxjb2RlPiZsdDtoZWFkJmd0OzwvY29kZT4gKGJ1dCBpdCdzIGJldHRlciB0byBkb3dubG9hZCBhbmQgaW5jbHVkZSBpdCBpbnRvIHlvdSBwcm9qZWN0KTs8L2xpPlxcblxcdFxcdDxsaT51c2UgY2xhc3MgPGNvZGU+ZmE8L2NvZGU+IGZvciBpY29uczs8L2xpPlxcblxcdFxcdDxsaT5sb29rIGF0IDxhIGhyZWY9XFxcImh0dHA6Ly9mb3J0YXdlc29tZS5naXRodWIuaW8vRm9udC1Bd2Vzb21lL1xcXCI+Zm9udC1hd2Vzb21lPC9hPiBwYWdlIGZvciBkb2N1bWVudGF0aW9uIG9yIHVzZSA8YSBocmVmPVxcXCJodHRwOi8vZm9ydGF3ZXNvbWUuZ2l0aHViLmlvL0ZvbnQtQXdlc29tZS9jaGVhdHNoZWV0L1xcXCI+Zm9udC1hd2Vzb21lIGNoZWF0c2hlZXQ8L2E+LjwvbGk+XFxuXFx0PC91bD5cXG48L3A+XFxuXFxuXFxuXFxuXFxuXFxuPCEtLSA9PT09PT09PT09PT0gQlVUVE9OIFRBR1MgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxoMz5CdXR0b24gdGFnczwvaDM+XFxuPHA+XFxuXFx0VXNlIGNsYXNzIDxjb2RlPi1idG4tZ2hvc3Q8L2NvZGU+IHdpdGggPGNvZGU+Jmx0O2EmZ3Q7PC9jb2RlPiwgPGNvZGU+Jmx0O2lucHV0Jmd0OzwvY29kZT4gYW5kIDxjb2RlPiZsdDtidXR0b24mZ3Q7PC9jb2RlPi5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0bi1naG9zdCAtcHJpbWFyeS1cXFwiPkJ1dHRvbjwvYnV0dG9uPlxcblxcdFxcdDxpbnB1dCB0eXBlPVxcXCJidXR0b25cXFwiIGNsYXNzPVxcXCItYnRuLWdob3N0IC1wcmltYXJ5LVxcXCIgdmFsdWU9XFxcIklucHV0XFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0bi1naG9zdCAtcHJpbWFyeS1cXFwiPkxpbms8L2E+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YnV0dG9uIGNsYXNzPVxcXCItYnRuLWdob3N0IC1wcmltYXJ5LVxcXCI+QnV0dG9uPC9idXR0b24+XFxuPGlucHV0IHR5cGU9XFxcImJ1dHRvblxcXCIgY2xhc3M9XFxcIi1idG4tZ2hvc3QgLXByaW1hcnktXFxcIiB2YWx1ZT1cXFwiSW5wdXRcXFwiPlxcbjxhIGNsYXNzPVxcXCItYnRuLWdob3N0IC1wcmltYXJ5LVxcXCI+TGluazwvYT48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG48aDM+Um91bmRlZDwvaDM+XFxuPHA+QWRkIDxjb2RlPl9yb3VuZF88L2NvZGU+IG1vZGlmaWVyIHRvIHJvdW5kIGJ1dHRvbjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuLWdob3N0IC1wcmltYXJ5LSBfcm91bmRfXFxcIj5Sb3VuZCBidXR0b248L2J1dHRvbj5cXG5cXHRcXHQ8aW5wdXQgdHlwZT1cXFwiYnV0dG9uXFxcIiBjbGFzcz1cXFwiLWJ0bi1naG9zdCAtcHJpbWFyeS0gX3JvdW5kX1xcXCIgdmFsdWU9XFxcIlJvdW5kIGlucHV0XFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0bi1naG9zdCAtcHJpbWFyeS0gX3JvdW5kX1xcXCI+Um91bmQgbGluazwvYT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxidXR0b24gY2xhc3M9XFxcIi1idG4tZ2hvc3QgLXByaW1hcnktIF9yb3VuZF9cXFwiPlJvdW5kIGJ1dHRvbjwvYnV0dG9uPlxcbjxpbnB1dCB0eXBlPVxcXCJidXR0b25cXFwiIGNsYXNzPVxcXCItYnRuLWdob3N0IC1wcmltYXJ5LSBfcm91bmRfXFxcIiB2YWx1ZT1cXFwiUm91bmQgaW5wdXRcXFwiPlxcbjxhIGNsYXNzPVxcXCItYnRuLWdob3N0IC1wcmltYXJ5LSBfcm91bmRfXFxcIj5Sb3VuZCBsaW5rPC9hPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwiY29tbW9uXCI6XCI8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBCVVRUT05TID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48aDE+QnV0dG9uczwvaDE+XFxuXFxuXFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JGJ1dHRvbi1jbGFzczogXFxcIi1idG5cXFwiICFnbG9iYWxcXG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiAyMDAgIWdsb2JhbFxcbiRidXR0b24tbWluLWZvbnQtc2l6ZTogOXB4ICFnbG9iYWxcXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDNweCAhZ2xvYmFsXFxuJGJ1dHRvbi1ib3JkZXItd2lkdGg6IDFweCAhZ2xvYmFsPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcblxcbjwhLS0gPT09PT09PT09PT09IERFU0NSSVBUSU9OIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5Vc2UgYnV0dG9uIGNsYXNzIDxjb2RlPi1idG48L2NvZGU+IHRvIGNyZWF0ZSBncmVhdCBidXR0b25zLjwvcD5cXG5cXG48cD5Vc2UgdGhlbWUgY2xhc3NlcyAoeW91IGNhbiBpbmNsdWRlIGFueSB0aGVtZSwgc28gdGhlbWVzIGNsYXNzIG5hbWVzIGNhbiBiZSBkaWZmZXJlbnQpIDxjb2RlPi1wcmltYXJ5LTwvY29kZT4sIDxjb2RlPi1lcnJvci08L2NvZGU+LCA8Y29kZT4tc3VjY2Vzcy08L2NvZGU+LCBldGMuIHdpdGggPGNvZGU+Jmx0O2J1dHRvbiZndDs8L2NvZGU+IG9yIDxjb2RlPiZsdDtpbnB1dCB0eXBlPVxcXCJidXR0b25cXFwiJmd0OzwvY29kZT4gdG8gc2V0IHRoZW1lLjwvcD5cXG5cXG48cD5cXG5cXHRBcyBhbHdheXMgdG8gdXNlIGZvbnQtYXdlc29tZSBpY29ucyB5b3UgbmVlZCB0bzpcXG5cXHQ8dWw+XFxuXFx0XFx0PGxpPmFkZCA8Y29kZT4mbHQ7bGluayBocmVmPVxcXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjAuMy9jc3MvZm9udC1hd2Vzb21lLmNzc1xcXCIgcmVsPVxcXCJzdHlsZXNoZWV0XFxcIiZndDs8L2NvZGU+IHRvIHlvdXIgPGNvZGU+Jmx0O2hlYWQmZ3Q7PC9jb2RlPiAoYnV0IGl0J3MgYmV0dGVyIHRvIGRvd25sb2FkIGFuZCBpbmNsdWRlIGl0IGludG8geW91IHByb2plY3QpOzwvbGk+XFxuXFx0XFx0PGxpPnVzZSBjbGFzcyA8Y29kZT5mYTwvY29kZT4gZm9yIGljb25zOzwvbGk+XFxuXFx0XFx0PGxpPmxvb2sgYXQgPGEgaHJlZj1cXFwiaHR0cDovL2ZvcnRhd2Vzb21lLmdpdGh1Yi5pby9Gb250LUF3ZXNvbWUvXFxcIj5mb250LWF3ZXNvbWU8L2E+IHBhZ2UgZm9yIGRvY3VtZW50YXRpb24gb3IgdXNlIDxhIGhyZWY9XFxcImh0dHA6Ly9mb3J0YXdlc29tZS5naXRodWIuaW8vRm9udC1Bd2Vzb21lL2NoZWF0c2hlZXQvXFxcIj5mb250LWF3ZXNvbWUgY2hlYXRzaGVldDwvYT4uPC9saT5cXG5cXHQ8L3VsPlxcbjwvcD5cXG5cXG5cXG5cXG5cXG5cXG48IS0tID09PT09PT09PT09PSBCVVRUT04gVEFHUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPGgzPkJ1dHRvbiB0YWdzPC9oMz5cXG48cD5cXG5cXHRVc2UgY2xhc3MgPGNvZGU+LWJ0bjwvY29kZT4gd2l0aCA8Y29kZT4mbHQ7YSZndDs8L2NvZGU+LCA8Y29kZT4mbHQ7aW5wdXQmZ3Q7PC9jb2RlPiBhbmQgPGNvZGU+Jmx0O2J1dHRvbiZndDs8L2NvZGU+LlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuXFxcIj5CdXR0b248L2J1dHRvbj5cXG5cXHRcXHQ8aW5wdXQgdHlwZT1cXFwiYnV0dG9uXFxcIiBjbGFzcz1cXFwiLWJ0blxcXCIgdmFsdWU9XFxcIklucHV0XFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+TGluazwvYT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxidXR0b24gY2xhc3M9XFxcIi1idG5cXFwiPkJ1dHRvbjwvYnV0dG9uPlxcbjxpbnB1dCB0eXBlPVxcXCJidXR0b25cXFwiIGNsYXNzPVxcXCItYnRuXFxcIiB2YWx1ZT1cXFwiSW5wdXRcXFwiPlxcbjxhIGNsYXNzPVxcXCItYnRuXFxcIj5MaW5rPC9hPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcbjxoMz5Sb3VuZGVkPC9oMz5cXG48cD5BZGQgPGNvZGU+X3JvdW5kXzwvY29kZT4gbW9kaWZpZXIgdG8gcm91bmQgYnV0dG9uPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX3JvdW5kX1xcXCI+Um91bmQgYnV0dG9uPC9idXR0b24+XFxuXFx0XFx0PGlucHV0IHR5cGU9XFxcImJ1dHRvblxcXCIgY2xhc3M9XFxcIi1idG4gX3JvdW5kX1xcXCIgdmFsdWU9XFxcIlJvdW5kIGlucHV0XFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfcm91bmRfXFxcIj5Sb3VuZCBsaW5rPC9hPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biBfcm91bmRfXFxcIj5Sb3VuZCBidXR0b248L2J1dHRvbj5cXG48aW5wdXQgdHlwZT1cXFwiYnV0dG9uXFxcIiBjbGFzcz1cXFwiLWJ0biBfcm91bmRfXFxcIiB2YWx1ZT1cXFwiUm91bmQgaW5wdXRcXFwiPlxcbjxhIGNsYXNzPVxcXCItYnRuIF9yb3VuZF9cXFwiPlJvdW5kIGxpbms8L2E+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJibG9ja3NcIjpcIjwhLS0gPT09PT09PT09PT09IEJVVFRPTlMgQkxPQ0sgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMz5CbG9jayBsZXZlbCBidXR0b25zPC9oMz5cXG5cXG48cD5cXG5cXHQ8cD5DcmVhdGUgYmxvY2sgbGV2ZWwgYnV0dG9ucyDigJQgdGhvc2UgdGhhdCBzcGFuIHRoZSBmdWxsIHdpZHRoIG9mIGEgcGFyZW50IOKAlCBieSBhZGRpbmcgPGNvZGU+X3ZlcnRpY2FsXzwvY29kZT4uPC9wPlxcbjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8YnV0dG9uIGNsYXNzPVxcXCItYnRuIF92ZXJ0aWNhbF9cXFwiPkJ1dHRvbjwvYnV0dG9uPlxcblxcdFxcdDxidXR0b24gY2xhc3M9XFxcIi1idG4gX3ZlcnRpY2FsX1xcXCI+QnV0dG9uPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX3ZlcnRpY2FsX1xcXCI+QnV0dG9uPC9idXR0b24+XFxuXFx0XFx0PGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX3ZlcnRpY2FsX1xcXCIgZGlzYWJsZWQ+QnV0dG9uPC9idXR0b24+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5cXG48YnV0dG9uIGNsYXNzPVxcXCItYnRuIF92ZXJ0aWNhbF9cXFwiPkJ1dHRvbjwvYnV0dG9uPlxcbjxidXR0b24gY2xhc3M9XFxcIi1idG4gX3ZlcnRpY2FsX1xcXCI+QnV0dG9uPC9idXR0b24+XFxuPGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX3ZlcnRpY2FsX1xcXCI+QnV0dG9uPC9idXR0b24+XFxuPGJ1dHRvbiBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gX3ZlcnRpY2FsX1xcXCIgZGlzYWJsZWQ+QnV0dG9uPC9idXR0b24+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XCJ9LFwiYXZhdGFyc1wiOntcImNvbW1vblwiOlwiPGgxPkF2YXRhcnM8L2gxPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZBUklBQkxFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuPHA+XFxuPGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcbjxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRhdmF0YXItY2xhc3M6IFxcXCItYXZhdGFyXFxcIiAhZ2xvYmFsXFxuJGF2YXRhci1ib3JkZXItcmFkaXVzOiAzcHggIWdsb2JhbFxcbiRhdmF0YXItYm9yZGVyLXdpZHRoOiA0cHggIWdsb2JhbFxcbiRhdmF0YXItYm9yZGVyLXN0eWxlOiBzb2xpZCAhZ2xvYmFsXFxuJGF2YXRhci1tYXJnaW46IDAuNmVtICFnbG9iYWxcXG4kYXZhdGFyLXNpemU6IDY0cHggIWdsb2JhbDwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG48cD5JbmNsdWRlIDxjb2RlPi10aHVtYm5haWw8L2NvZGU+IHdpZGdldCBpbnNpZGUgPGNvZGU+LWF2YXRhcjwvY29kZT4uPC9wPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdFRoZSA8Y29kZT4tdGh1bWJuYWlsPC9jb2RlPiB3aWxsIGJlIGhpZGRlbiBvbiBkZXZpY2VzIHdpdGggcmVzb2x1dGlvbiBzbWFsbGVyIHRoYW4gNzY4cHguXFxuPC9ibG9ja3F1b3RlPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG5cXHRcXHQ8L2E+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhclxcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuPC9hPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcbjxwPkFkZCBtb2RpZmllciA8Y29kZT5fcm91bmRfPC9jb2RlPiB0byBtYWtlIGF2YXRhciByb3VuZGVkLjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfcm91bmRfXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG5cXHRcXHQ8L2E+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfcm91bmRfXFxcIj5cXG5cXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG48L2E+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPGgzPlNpemVzPC9oMz5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfdGlueVxcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcImtyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdFxcdFxcdDwvZmlndXJlPkBrcnlzdGFsZmlzdGVyXFxuXFx0XFx0PC9hPlxcblxcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva29sYWdlLzEyOC5qcGdcXFwiIGFsdD1cXFwia29sYWdlXFxcIj5cXG5cXHRcXHRcXHQ8L2ZpZ3VyZT5Aa29sYWdlXFxuXFx0XFx0PC9hPlxcblxcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9taW5vclxcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvbWljaHplbi8xMjguanBnXFxcIiBhbHQ9XFxcIm1pY2h6ZW5cXFwiPlxcblxcdFxcdFxcdDwvZmlndXJlPkBtaWNoemVuXFxuXFx0XFx0PC9hPlxcblxcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9ub3JtYWxcXFwiPlxcblxcdFxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL2F4ZWwvMTI4LmpwZ1xcXCIgYWx0PVxcXCJheGVsXFxcIj5cXG5cXHRcXHRcXHQ8L2ZpZ3VyZT5AYXhlbFxcblxcdFxcdDwvYT5cXG5cXG5cXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfbWFqb3JcXFwiPlxcblxcdFxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL3ZpY3RvcmVyaXhvbi8xMjguanBnXFxcIiBhbHQ9XFxcInZpY3RvcmVyaXhvblxcXCI+XFxuXFx0XFx0XFx0PC9maWd1cmU+QHZpY3RvcmVyaXhvblxcblxcdFxcdDwvYT5cXG5cXG5cXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfYmlnXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9tYXJrZ2FtenkvMTI4LmpwZ1xcXCIgYWx0PVxcXCJtYXJrZ2FtenlcXFwiPlxcblxcdFxcdFxcdDwvZmlndXJlPkBtYXJrZ2FtenlcXG5cXHRcXHQ8L2E+XFxuXFxuXFx0XFx0PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX2h1Z2VcXFwiPlxcblxcdFxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL21yamFtZXNub2JsZS8xMjguanBnXFxcIiBhbHQ9XFxcIm1yamFtZXNub2JsZVxcXCI+XFxuXFx0XFx0XFx0PC9maWd1cmU+QG1yamFtZXNub2JsZVxcblxcdFxcdDwvYT5cXG5cXG5cXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfZGl2aW5lXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9saWFuZy8xMjguanBnXFxcIiBhbHQ9XFxcImxpYW5nXFxcIj5cXG5cXHRcXHRcXHQ8L2ZpZ3VyZT5AbGlhbmdcXG5cXHRcXHQ8L2E+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfdGlueVxcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcImtyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdDwvZmlndXJlPkBrcnlzdGFsZmlzdGVyXFxuPC9hPlxcblxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9zbWFsbFxcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva29sYWdlLzEyOC5qcGdcXFwiIGFsdD1cXFwia29sYWdlXFxcIj5cXG5cXHQ8L2ZpZ3VyZT5Aa29sYWdlXFxuPC9hPlxcblxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9taW5vclxcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvbWljaHplbi8xMjguanBnXFxcIiBhbHQ9XFxcIm1pY2h6ZW5cXFwiPlxcblxcdDwvZmlndXJlPkBtaWNoemVuXFxuPC9hPlxcblxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9ub3JtYWxcXFwiPlxcblxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL2F4ZWwvMTI4LmpwZ1xcXCIgYWx0PVxcXCJheGVsXFxcIj5cXG5cXHQ8L2ZpZ3VyZT5AYXhlbFxcbjwvYT5cXG5cXG48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfbWFqb3JcXFwiPlxcblxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL3ZpY3RvcmVyaXhvbi8xMjguanBnXFxcIiBhbHQ9XFxcInZpY3RvcmVyaXhvblxcXCI+XFxuXFx0PC9maWd1cmU+QHZpY3RvcmVyaXhvblxcbjwvYT5cXG5cXG48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfYmlnXFxcIj5cXG5cXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9tYXJrZ2FtenkvMTI4LmpwZ1xcXCIgYWx0PVxcXCJtYXJrZ2FtenlcXFwiPlxcblxcdDwvZmlndXJlPkBtYXJrZ2FtenlcXG48L2E+XFxuXFxuPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX2h1Z2VcXFwiPlxcblxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL21yamFtZXNub2JsZS8xMjguanBnXFxcIiBhbHQ9XFxcIm1yamFtZXNub2JsZVxcXCI+XFxuXFx0PC9maWd1cmU+QG1yamFtZXNub2JsZVxcbjwvYT5cXG5cXG48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfZGl2aW5lXFxcIj5cXG5cXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9saWFuZy8xMjguanBnXFxcIiBhbHQ9XFxcImxpYW5nXFxcIj5cXG5cXHQ8L2ZpZ3VyZT5AbGlhbmdcXG48L2E+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuPGgzPkJvcmRlcmVkIGFuZCB0aGVtZXM8L2gzPlxcbjxwPkFkZCBtb2RpZmllciA8Y29kZT5fYm9yZGVyZWRfPC9jb2RlPi48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX2JvcmRlcmVkX1xcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdFxcdFxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuXFx0XFx0PC9hPiZuYnNwOyZuYnNwO1xcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9ib3JkZXJlZF8gLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG5cXHRcXHQ8L2E+Jm5ic3A7Jm5ic3A7XFxuXFx0XFx0PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX3JvdW5kXyBfYm9yZGVyZWRfIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdFxcdFxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuXFx0XFx0PC9hPlxcbjwvZGl2PlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX2JvcmRlcmVkX1xcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuPC9hPlxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9ib3JkZXJlZF8gLXByaW1hcnktXFxcIj5cXG5cXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG48L2E+XFxuPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX3JvdW5kXyBfYm9yZGVyZWRfIC1wcmltYXJ5LVxcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuPC9hPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcbjxoMz5Qb3NpdGlvbjwvaDM+XFxuPHA+QWRkIG1vZGlmaWVycyA8Y29kZT5fdG9wXzwvY29kZT4gb3IgPGNvZGU+X2JvdHRvbV88L2NvZGU+LjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfdG9wX1xcXCI+XFxuXFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdFxcdFxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuXFx0XFx0PC9hPiZuYnNwOyZuYnNwO1xcblxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9ib3R0b21fXFxcIj5cXG5cXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG5cXHRcXHQ8L2E+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfdG9wX1xcXCI+XFxuXFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIva3J5c3RhbGZpc3Rlci8xMjguanBnXFxcIiBhbHQ9XFxcIktyeXN0YWxmaXN0ZXJcXFwiPlxcblxcdDwvZmlndXJlPkBLcnlzdGFsZmlzdGVyXFxuPC9hPlxcbjxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9ib3R0b21fXFxcIj5cXG5cXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0PC9maWd1cmU+QEtyeXN0YWxmaXN0ZXJcXG48L2E+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XCJ9LFwibGF5b3V0XCI6XCI8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIiBzdHlsZT1cXFwibWFyZ2luLWJvdHRvbTogMTIwMHB4OyBwb3NpdGlvbjogcmVsYXRpdmVcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w5XFxcIj5cXG5cXHRcXHQ8ZGl2IHBhcnRpYWxzPVxcXCJ3aWRnZXRzXFxcIj48L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0PGRpdiBzdWJtZW51PVxcXCJ3aWRnZXRzXFxcIj48L2Rpdj5cXHRcXG5cXHQ8L2Rpdj5cXG5cXG48L2Rpdj5cIixcImxhYmVsc1wiOlwiPCEtLSA9PT09PT09PT09PT0gTEFCRUxTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDE+TGFiZWxzPC9oMT5cXG5cXG48IS0tID09PT09PT09PT09PSBWQVJJQUJMRVMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcbjxwPlxcblxcdDxoND5HbG9iYWwgdmFyaWFibGVzPC9oND5cXG5cXHQ8ZGl2PjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kbGFiZWwtY2xhc3M6IFxcXCItbGFiZWxcXFwiICFnbG9iYWxcXG4kbGFiZWwtZm9udC13ZWlnaHQ6IDMwMCAhZ2xvYmFsXFxuJGxhYmVsLWJvcmRlci1yYWRpdXM6IDJweCAhZ2xvYmFsXFxuJGxhYmVsLWJvcmRlci13aWR0aDogMXB4ICFnbG9iYWxcXG4kbGFiZWwtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZ2xvYmFsXFxuJGxhYmVsLXBhZGRpbmctdmVydGljYWw6ICRiYXNlLXBhZGRpbmctdmVydGljYWwgLyAzXFxuJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDogJGJhc2UtcGFkZGluZy1ob3Jpem9udGFsIC8gMS41PC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcblxcblxcbjxwPlxcblxcdFVzZSB3aWRnZXQgY2xhc3MgPGNvZGU+LWxhYmVsPC9jb2RlPi4gQXBwbHkgdGhlbWVzIGFuZCBzaXplcy5cXG48L3A+XFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1lcnJvci1cXFwiPlxcblxcdExhYmVscyB3b24ndCBzZWxmIGNvbGxhcHNlIGluIDxiPkludGVybmV0IEV4cGxvcmVyIDg8L2I+IGJlY2F1c2UgaXQgbGFja3Mgc3VwcG9ydCBmb3IgdGhlIDxjb2RlPjplbXB0eTwvY29kZT4gc2VsZWN0b3IuXFxuPC9ibG9ja3F1b3RlPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxwPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItbGFiZWxcXFwiPmRlZmF1bHQ8L3NwYW4+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1sYWJlbCAtcHJpbWFyeS1cXFwiPnByaW1hcnk8L3NwYW4+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1sYWJlbCAtZXJyb3ItXFxcIj5lcnJvcjwvc3Bhbj5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWxhYmVsIC13YXJuaW5nLVxcXCI+d2FybmluZzwvc3Bhbj5cXG5cXHRcXHQ8L3A+XFxuXFx0XFx0PHA+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1sYWJlbFxcXCI+bm9ybWFsPC9zcGFuPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItbGFiZWwgX21ham9yXFxcIj5tYWpvcjwvc3Bhbj5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWxhYmVsIF9iaWcgLXByaW1hcnktXFxcIj5iaWc8L3NwYW4+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1sYWJlbCBfaHVnZSAtZXJyb3ItXFxcIj5odWdlPC9zcGFuPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItbGFiZWwgX2RpdmluZSAtd2FybmluZy1cXFwiPmRpdmluZTwvc3Bhbj5cXG5cXHRcXHQ8L3A+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48c3BhbiBjbGFzcz1cXFwiLWxhYmVsXFxcIj5kZWZhdWx0PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItbGFiZWwgLXByaW1hcnktXFxcIj5wcmltYXJ5PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItbGFiZWwgLWVycm9yLVxcXCI+ZXJyb3I8L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1sYWJlbCAtd2FybmluZy1cXFwiPndhcm5pbmc8L3NwYW4+XFxuXFxuPHNwYW4gY2xhc3M9XFxcIi1sYWJlbFxcXCI+bm9ybWFsPC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItbGFiZWwgX21ham9yXFxcIj5tYWpvcjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWxhYmVsIF9iaWcgLXByaW1hcnktXFxcIj5iaWc8L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1sYWJlbCBfaHVnZSAtZXJyb3ItXFxcIj5odWdlPC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItbGFiZWwgX2RpdmluZSAtd2FybmluZy1cXFwiPmRpdmluZTwvc3Bhbj5cXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIixcImRyb3Bkb3duc1wiOlwiPGgxPkRyb3Bkb3duczwvaDE+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JGRyb3Bkb3duLWNsYXNzOiBcXFwiLWRyb3BcXFwiICFnbG9iYWxcXG4kZHJvcGRvd24tei1pbmRleDogMTAwMFxcbiRkcm9wZG93bi1iYWNrZ3JvdW5kLWRlZmF1bHQ6ICNmZmZcXG4kZHJvcGRvd24tYm9yZGVyLWRlZmF1bHQ6ICNmZmZcXG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAwcHhcXG4kZHJvcGRvd24tYm9yZGVyLXN0eWxlOiBzb2xpZFxcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAzcHhcXG4kZHJvcGRvd24tYXJyb3ctc2l6ZTogMTRweFxcbiRkcm9wZG93bi1hcnJvdy1ib3JkZXItd2lkdGg6IDFweFxcbiRkcm9wZG93bi1jb250ZW50LXBhZGRpbmctdmVydGljYWw6IDE1cHhcXG4kZHJvcGRvd24tY29udGVudC1wYWRkaW5nLWhvcml6b250YWw6IDE1cHhcXG4kZHJvcGRvd24tc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoIzAwMCwgLjEpPC9wcmU+PC9kaXY+XFxuPC9wPlxcblxcblxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIF9kZXYtY2xlYXJfXFxcIj5cXG5cXHRcXHRcXHREcm9wIHdpdGhvdXQgY29udGVudCBibG9jay48YnI+XFxuXFx0XFx0XFx0R3JlYXQgd2l0aCBtZW51cyBhbmQgb3RoZXIgbmF2aWdhdGlvbiBzdHVmZi5cXG5cXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZHJvcCBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdERyb3Agd2l0aCBjb250ZW50IGJsb2NrLjxicj5cXG5cXHRcXHRcXHRcXHRHcmVhdCB3aXRoIHRleHQsIGluZm9ybWF0aW9uLCBwaWN0dXJlcyBhbmQgb3RoZXIgc3R1ZmYuXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItZHJvcCBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0RHJvcCB3aXRob3V0IGNvbnRlbnQgYmxvY2suPGJyPlxcblxcdEdyZWF0IHdpdGggbWVudXMgYW5kIG90aGVyIG5hdmlnYXRpb24gc3R1ZmYuXFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWRyb3AgX2Rldi1jbGVhcl9cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHREcm9wIHdpdGggY29udGVudCBibG9jay48YnI+XFxuXFx0XFx0R3JlYXQgd2l0aCB0ZXh0LCBpbmZvcm1hdGlvbiwgcGljdHVyZXMgYW5kIG90aGVyIHN0dWZmLlxcblxcdDwvZGl2PlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcbjxoMz5Qb3NpdGlvbiBvZiBkcm9wZG93bnMuIEFycm93cy48L2gzPlxcbjxwPlxcblxcdFRvIHNldCBwb3NpdGlvbiBvZiB0aGUgZHJvcGRvd24gcmVsYXRpdmUgdG8gcGFyZW50IGVsZW1lbnQgdXNlIG1vZGlmaWVycyA8Y29kZT5fdG9wXzwvY29kZT4sIDxjb2RlPl9ib3R0b21fPC9jb2RlPiwgPGNvZGU+X2xlZnRfPC9jb2RlPiBhbmQgPGNvZGU+X3JpZ2h0XzwvY29kZT4uXFxuPC9wPlxcbjxwPlxcblxcdFVzZSBhcnJvdyB3aWRnZXQgPGNvZGU+LWFycm93PC9jb2RlPi5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gX2Rldi1jbGVhcl9cXFwiPlxcblxcdFxcdFxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0VG9wXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgX2JvdHRvbV8gX2Rldi1jbGVhcl9cXFwiPlxcblxcdFxcdFxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0Qm90dG9tXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgX3JpZ2h0XyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRSaWdodFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIF9sZWZ0XyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRMZWZ0XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgLXByaW1hcnktIF90b3BfIF9kZXYtY2xlYXJfXFxcIj5cXG5cXHRcXHRcXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdFRvcFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIC1wcmltYXJ5LSBfYm90dG9tXyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRCb3R0b21cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZHJvcCAtcHJpbWFyeS0gX3JpZ2h0XyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRSaWdodFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIC1wcmltYXJ5LSBfbGVmdF8gX2Rldi1jbGVhcl9cXFwiPlxcblxcdFxcdFxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0TGVmdFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWRyb3AgX3RvcF9cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0VG9wXFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWRyb3AgX2JvdHRvbV9cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0Qm90dG9tXFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWRyb3AgX3JpZ2h0X1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRSaWdodFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1kcm9wIF9sZWZ0X1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRMZWZ0XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWRyb3AgLXByaW1hcnktIF90b3BfXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFRvcFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1kcm9wIC1wcmltYXJ5LSBfYm90dG9tX1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRCb3R0b21cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItZHJvcCAtcHJpbWFyeS0gX3JpZ2h0X1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRSaWdodFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1kcm9wIC1wcmltYXJ5LSBfbGVmdF9cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0TGVmdFxcblxcdDwvZGl2PlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxoMz5IZWFkZXJzIGFuZCBjb250ZW50cy48L2gzPlxcbjxwPlxcblxcdEp1c3QgYWRkIHdpZGdldCA8Y29kZT4taGVhZGVyPC9jb2RlPiB0byB0aGUgZHJvcC4gQW5kIGFkZCBzZXZlcmFsIDxjb2RlPi1jb250ZW50PC9jb2RlPnMuXFxuPC9wPlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIC1wcmltYXJ5LSBfdG9wXyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHREcm9wZG93biBUb3BcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0Rm9vdGVyXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgX2JvdHRvbV8gX2Rldi1jbGVhcl9cXFwiPlxcblxcdFxcdFxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0RHJvcGRvd24gQm90dG9tXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdEZvb3RlclxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIC1lcnJvci0gX3JpZ2h0XyBfZGV2LWNsZWFyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHREcm9wZG93biBSaWdodFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kcm9wIC13YXJuaW5nLSBfbGVmdF8gX2Rldi1jbGVhcl9cXFwiPlxcblxcdFxcdFxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0RHJvcGRvd24gTGVmdFxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWRyb3AgLXByaW1hcnktIF90b3BfXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0SGVhZGVyXFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdERyb3Bkb3duIFRvcFxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGb290ZXJcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItZHJvcCBfYm90dG9tX1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdEhlYWRlclxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHREcm9wZG93biBCb3R0b21cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0Rm9vdGVyXFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWRyb3AgLWVycm9yLSBfcmlnaHRfXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0SGVhZGVyXFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdERyb3Bkb3duIFJpZ2h0XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWRyb3AgLXdhcm5pbmctIF9sZWZ0X1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdEhlYWRlclxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHREcm9wZG93biBMZWZ0XFxuXFx0PC9kaXY+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJiYWRnZXNcIjpcIjwhLS0gPT09PT09PT09PT09IEJBREdFUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgxPkJhZGdlczwvaDE+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JGJhZGdlLWNsYXNzOiBcXFwiLWJhZGdlXFxcIiAhZ2xvYmFsXFxuJGJhZGdlLWZvbnQtd2VpZ2h0OiA2MDAgIWdsb2JhbFxcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiA1MHB4ICFnbG9iYWxcXG4kYmFkZ2UtYm9yZGVyLXdpZHRoOiAwcHggIWdsb2JhbFxcbiRiYWRnZS1ib3JkZXItc3R5bGU6IHNvbGlkICFnbG9iYWxcXG4kYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbDogZmxvb3IoJGJhc2UtcGFkZGluZy12ZXJ0aWNhbCAvIDQpXFxuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogZmxvb3IoJGJhc2UtcGFkZGluZy1ob3Jpem9udGFsIC8gMik8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuXFxuXFxuPHA+XFxuXFx0VXNlIHdpZGdldCBjbGFzcyA8Y29kZT4tYmFkZ2U8L2NvZGU+LiBBcHBseSB0aGVtZXMgYW5kIHNpemVzLlxcbjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8cD5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWJhZGdlXFxcIj4zMjQ8L3NwYW4+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjMyNDwvc3Bhbj5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1lcnJvci1cXFwiPjMyNDwvc3Bhbj5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC13YXJuaW5nLVxcXCI+MzI0PC9zcGFuPlxcblxcdFxcdDwvcD5cXG5cXHRcXHQ8cD5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1wcmltYXJ5LVxcXCI+MzI0PC9zcGFuPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgX21ham9yIC1wcmltYXJ5LVxcXCI+MzI0PC9zcGFuPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgX2JpZyAtcHJpbWFyeS1cXFwiPjMyNDwvc3Bhbj5cXG5cXHRcXHRcXHQ8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIF9odWdlIC1wcmltYXJ5LVxcXCI+MzI0PC9zcGFuPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgX2RpdmluZSAtcHJpbWFyeS1cXFwiPjMyNDwvc3Bhbj5cXG5cXHRcXHQ8L3A+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48c3BhbiBjbGFzcz1cXFwiLWJhZGdlXFxcIj5kZWZhdWx0PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLXByaW1hcnktXFxcIj5wcmltYXJ5PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLWVycm9yLVxcXCI+ZXJyb3I8L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtd2FybmluZy1cXFwiPndhcm5pbmc8L3NwYW4+XFxuXFxuPHNwYW4gY2xhc3M9XFxcIi1iYWRnZVxcXCI+bm9ybWFsPC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgX21ham9yXFxcIj5tYWpvcjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWJhZGdlIF9iaWcgLXByaW1hcnktXFxcIj5iaWc8L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSBfaHVnZSAtZXJyb3ItXFxcIj5odWdlPC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgX2RpdmluZSAtd2FybmluZy1cXFwiPmRpdmluZTwvc3Bhbj5cXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG48cD5cXG5cXHRVc2UgYmFkZ2VzIGluc2lkZSBvdGhlciB3aWRnZXRzLlxcbjwvcD5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLWVycm9yLVxcXCI+XFxuXFx0QmFkZ2VzIHdvbid0IHNlbGYgY29sbGFwc2UgaW4gPGI+SW50ZXJuZXQgRXhwbG9yZXIgODwvYj4gYmVjYXVzZSBpdCBsYWNrcyBzdXBwb3J0IGZvciB0aGUgPGNvZGU+OmVtcHR5PC9jb2RlPiBzZWxlY3Rvci5cXG48L2Jsb2NrcXVvdGU+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPkluYm94IDxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLXByaW1hcnktXFxcIj4xMjwvc3Bhbj48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktXFxcIj5JbmJveCA8c3BhbiBjbGFzcz1cXFwiLWJhZGdlXFxcIj4xMjwvc3Bhbj48L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLWVycm9yLVxcXCI+SW5ib3ggPHNwYW4gY2xhc3M9XFxcIi1iYWRnZVxcXCI+MTI8L3NwYW4+PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC13YXJuaW5nLVxcXCI+RW1wdHkgYmFkZ2UgaXMgaGVyZSA8c3BhbiBjbGFzcz1cXFwiLWJhZGdlXFxcIj48L3NwYW4+PC9hPlxcblxcblxcdFxcdDxicj5cXG5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi10YWJzIF9iaWdcXFwiPlxcblxcdFxcdFxcdDxsaT48YT5UYWIgPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjEyPC9zcGFuPjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5UYWI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+VGFiPC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXG5cXHRcXHQ8YnI+XFxuXFxuXFx0XFx0PHVsIGNsYXNzPVxcXCItcGlsbHNcXFwiPlxcblxcdFxcdFxcdDxsaT48YT5QaWxsIDxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLXByaW1hcnktXFxcIj4xMjwvc3Bhbj48L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGE+UGlsbDwvYT48L2xpPlxcblxcdFxcdFxcdDxsaT48YT5QaWxsPC9hPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXG5cXHRcXHQ8YnI+XFxuXFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBfYWN0aXZlX1xcXCI+SW5ib3ggPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjEyPC9zcGFuPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+U2VudCA8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1wcmltYXJ5LVxcXCI+Mjwvc3Bhbj48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPkRyYWZ0cyA8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1wcmltYXJ5LVxcXCI+PC9zcGFuPjwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxhIGNsYXNzPVxcXCItYnRuXFxcIj5JbmJveCA8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1wcmltYXJ5LVxcXCI+MTI8L3NwYW4+PC9hPlxcbjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LVxcXCI+SW5ib3ggPHNwYW4gY2xhc3M9XFxcIi1iYWRnZVxcXCI+MTI8L3NwYW4+PC9hPlxcbjxhIGNsYXNzPVxcXCItYnRuIC1lcnJvci1cXFwiPkluYm94IDxzcGFuIGNsYXNzPVxcXCItYmFkZ2VcXFwiPjEyPC9zcGFuPjwvYT5cXG48YSBjbGFzcz1cXFwiLWJ0biAtd2FybmluZy1cXFwiPkVtcHR5IGJhZGdlIGlzIGhlcmUgPHNwYW4gY2xhc3M9XFxcIi1iYWRnZVxcXCI+PC9zcGFuPjwvYT5cXG5cXG48dWwgY2xhc3M9XFxcIi10YWJzIF9iaWdcXFwiPlxcblxcdDxsaT48YT5UYWIgPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjEyPC9zcGFuPjwvYT48L2xpPlxcblxcdDxsaT48YT5UYWI8L2E+PC9saT5cXG5cXHQ8bGk+PGE+VGFiPC9hPjwvbGk+XFxuPC91bD5cXG5cXG48dWwgY2xhc3M9XFxcIi1waWxsc1xcXCI+XFxuXFx0PGxpPjxhPlBpbGwgPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjEyPC9zcGFuPjwvYT48L2xpPlxcblxcdDxsaT48YT5QaWxsPC9hPjwvbGk+XFxuXFx0PGxpPjxhPlBpbGw8L2E+PC9saT5cXG48L3VsPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG4gX2FjdGl2ZV9cXFwiPkluYm94IDxzcGFuIGNsYXNzPVxcXCItYmFkZ2UgLXByaW1hcnktXFxcIj4xMjwvc3Bhbj48L2E+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPlNlbnQgPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjI8L3NwYW4+PC9hPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj5EcmFmdHMgPHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS1cXFwiPjwvc3Bhbj48L2E+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXCIsXCJhbGVydHNcIjpcIjwhLS0gPT09PT09PT09PT09IEFMRVJUUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgxPkFsZXJ0czwvaDE+XFxuXFxuPCEtLSA9PT09PT09PT09PT0gVkFSSUFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PGRpdj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JGFsZXJ0LWNsYXNzOiBcXFwiLWFsZXJ0XFxcIiAhZ2xvYmFsXFxuJGFsZXJ0LWJvcmRlci1yYWRpdXM6IDNweCAhZ2xvYmFsXFxuJGFsZXJ0LWJvcmRlci13aWR0aDogMXB4ICFnbG9iYWxcXG4kYWxlcnQtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZ2xvYmFsXFxuJGFsZXJ0LXBhZGRpbmctdmVydGljYWw6ICRiYXNlLXBhZGRpbmctdmVydGljYWxcXG4kYWxlcnQtcGFkZGluZy1ob3Jpem9udGFsOiAkYmFzZS1wYWRkaW5nLWhvcml6b250YWxcXG5cXHQ8L3ByZT48L2Rpdj5cXG48L3A+XFxuXFxuPHA+XFxuXFx0VXNlIHdpZGdldCBjbGFzcyA8Y29kZT4tYWxlcnQ8L2NvZGU+LiBBcHBseSB0aGVtZXMgYW5kIHNpemVzLiBZb3UgY2FuIGFwcGx5IDxjb2RlPi1zaGFkb3ctLi4uLTwvY29kZT4gdG8gYWRkIHNoYWRvdyB0byB0aGUgYWxlcnQuXFxuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1hbGVydCAtc2hhZG93LWN1cnZlLVxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1jbG9zZSAtYnRuIF91bnN0eWxlZF9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aW1lc1xcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHROb3RoaW5nIGltcG9ydGFudCBoZXJlLlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYWxlcnQgLXByaW1hcnktIC1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1jbG9zZSAtYnRuIF91bnN0eWxlZF9cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS10aW1lc1xcXCI+PC9pPjwvYT5cXG5cXHRcXHRcXHRIZWFkcyB1cCEgVGhpcyBhbGVydCBuZWVkcyB5b3VyIGF0dGVudGlvbiwgYnV0IGl0J3Mgbm90IHN1cGVyIGltcG9ydGFudC5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWFsZXJ0IC1lcnJvci0gLXNoYWRvdy1jdXJ2ZS1cXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItY2xvc2UgLWJ0biBfdW5zdHlsZWRfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGltZXNcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0T2ggc25hcCEgQ2hhbmdlIGEgZmV3IHRoaW5ncyB1cCBhbmQgdHJ5IHN1Ym1pdHRpbmcgYWdhaW4uXFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1hbGVydCAtd2FybmluZy0gLXNoYWRvdy1saWZ0ZWQtXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWNsb3NlIC1idG4gX3Vuc3R5bGVkX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRpbWVzXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFdhcm5pbmchIEJldHRlciBjaGVjayB5b3Vyc2VsZiwgeW91J3JlIG5vdCBsb29raW5nIHRvbyBnb29kLlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWFsZXJ0IC1zaGFkb3ctY3VydmUtXFxcIj5cXG5cXHQ8YSBjbGFzcz1cXFwiLWNsb3NlIC1idG4gX3Vuc3R5bGVkX1xcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXRpbWVzXFxcIj48L2k+PC9hPlxcblxcdE5vdGhpbmcgaW1wb3J0YW50IGhlcmUuXFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWFsZXJ0IC1wcmltYXJ5LSAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItY2xvc2UgLWJ0biBfdW5zdHlsZWRfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGltZXNcXFwiPjwvaT48L2E+XFxuXFx0SGVhZHMgdXAhIFRoaXMgYWxlcnQgbmVlZHMgeW91ciBhdHRlbnRpb24sIGJ1dCBpdCdzIG5vdCBzdXBlciBpbXBvcnRhbnQuXFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWFsZXJ0IC1lcnJvci0gLXNoYWRvdy1jdXJ2ZS1cXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItY2xvc2UgLWJ0biBfdW5zdHlsZWRfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGltZXNcXFwiPjwvaT48L2E+XFxuXFx0T2ggc25hcCEgQ2hhbmdlIGEgZmV3IHRoaW5ncyB1cCBhbmQgdHJ5IHN1Ym1pdHRpbmcgYWdhaW4uXFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWFsZXJ0IC13YXJuaW5nLSAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItY2xvc2UgLWJ0biBfdW5zdHlsZWRfXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdGltZXNcXFwiPjwvaT48L2E+XFxuXFx0V2FybmluZyEgQmV0dGVyIGNoZWNrIHlvdXJzZWxmLCB5b3UncmUgbm90IGxvb2tpbmcgdG9vIGdvb2QuXFxuPC9kaXY+XFxuPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuPGgzPlxcblxcdEFwcGx5IHRoZW1lcyBhbmQgc2l6ZXMuXFxuPC9oMz5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYWxlcnQgLXByaW1hcnktIC1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0SGVhZHMgdXAhIFRoaXMgYWxlcnQgbmVlZHMgeW91ciBhdHRlbnRpb24sIGJ1dCBpdCdzIG5vdCBzdXBlciBpbXBvcnRhbnQuXFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1hbGVydCBfbWFqb3IgLXdhcm5pbmctIC1zaGFkb3ctY3VydmUtXFxcIj5cXG5cXHRcXHRcXHRXYXJuaW5nISBCZXR0ZXIgY2hlY2sgeW91cnNlbGYsIHlvdSdyZSBub3QgbG9va2luZyB0b28gZ29vZC5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWFsZXJ0IF9iaWcgLWVycm9yLSAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdE9oIHNuYXAhIENoYW5nZSBhIGZldyB0aGluZ3MgdXAgYW5kIHRyeSBzdWJtaXR0aW5nIGFnYWluLlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxicj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItYWxlcnQgX2h1Z2UgLXNoYWRvdy1jdXJ2ZS1cXFwiPlxcblxcdFxcdFxcdE5vdGhpbmcgaW1wb3J0YW50IGhlcmUuXFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGJyPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1hbGVydCBfZGl2aW5lIC1wcmltYXJ5LSAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdEhlYWRzIHVwISBUaGlzIGFsZXJ0IG5lZWRzIHlvdXIgYXR0ZW50aW9uLCBidXQgaXQncyBub3Qgc3VwZXIgaW1wb3J0YW50LlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWFsZXJ0IC1wcmltYXJ5LSAtc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdEhlYWRzIHVwISBUaGlzIGFsZXJ0IG5lZWRzIHlvdXIgYXR0ZW50aW9uLCBidXQgaXQncyBub3Qgc3VwZXIgaW1wb3J0YW50LlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1hbGVydCBfbWFqb3IgLXByaW1hcnktIC1zaGFkb3ctY3VydmUtXFxcIj4uLi48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItYWxlcnQgX2JpZyAtcHJpbWFyeS0gLXNoYWRvdy1saWZ0ZWQtXFxcIj4uLi48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItYWxlcnQgX2h1Z2UgLXByaW1hcnktIC1zaGFkb3ctY3VydmUtXFxcIj4uLi48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItYWxlcnQgX2RpdmluZSAtcHJpbWFyeS0gLXNoYWRvdy1saWZ0ZWQtXFxcIj4uLi48L2Rpdj5cXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIn0sXCJzdGFydFwiOntcInN0cnVjdHVyZVwiOntcInNvdXJjZXNcIjpcIjxoMj5Tb3VyY2VzIGZpbGUgc3RydWN0dXJlPC9oMj5cXG5cXG48dWwgY2xhc3M9XFxcImRldi1maWxldHJlZVxcXCI+XFxuPGxpPjxiPm1heG1lcnRraXQ8L2I+L1xcbjx1bD5cXG48bGk+bWtpdC5qc29uIDxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGEgLWVycm9yLVxcXCI+aGVyZSB5b3UgY2FuIGNoYW5nZSB0aGVtZXMgYW5kIHNpemVzIGZvciBldmVyeSB3aWRnZXQ8L3NtYWxsPjwvbGk+XFxuPGxpPjxiPmJ1aWxkPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmJ1aWxkZWQgdmVyc2lvbiBvZiBtYXhtZXJ0a2l0PC9zbWFsbD5cXG48dWw+XFxuPGxpPjxiPmNzczwvYj5cXG48dWw+XFxuPGxpPlxcbm1heG1lcnRraXQuY3NzXFxuPC9saT5cXG48bGk+XFxubWF4bWVydGtpdC5taW4teHh4eHh4eHguY3NzIDxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPm1pbmlmaWVkLCBnemlwcGVkIGFuZCByZXZ2ZWQgdmVyc2lvbiB0byBjbGVhciB1c2VyIGNhY2hlLjwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxubWF4bWVydGtpdC5taW4uY3NzIDxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPm1pbmlmaWVkIGFuZCBnemlwcGVkLiBVc2UgcmV2dmVkIHZlcnNpb24gdG8gcHJldmVudCB1c2VycyB1c2luZyBjYWNoZWQgY3NzLjwvc21hbGw+XFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuXFxuPGxpPjxiPmpzPC9iPlxcbjx1bD5cXG48bGk+XFxubWF4bWVydGtpdC5qc1xcbjwvbGk+XFxuPGxpPlxcbm1heG1lcnRraXQubWluLXh4eHh4eHh4LmpzIDxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPm1pbmlmaWVkLCBnemlwcGVkIGFuZCByZXZ2ZWQgdmVyc2lvbiB0byBjbGVhciB1c2VyIGNhY2hlLjwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxubWF4bWVydGtpdC5taW4uanMgPHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+bWluaWZpZWQgYW5kIGd6aXBwZWQuIFVzZSByZXZ2ZWQgdmVyc2lvbiB0byBwcmV2ZW50IHVzZXJzIHVzaW5nIGNhY2hlZCBjc3MuPC9zbWFsbD5cXG48L2xpPlxcbjwvdWw+XFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuXFxuPGxpPjxiPmNvZmZlZTwvYj48c21hbGwgY2xhc3M9XFxcImRldi1tZXRhIC1lcnJvci1cXFwiPmFsbCBtYXhtZXJ0a2l0IGNvZmZlZSBmaWxlczwvc21hbGw+XFxuPHVsPlxcbjxsaT5tYXhtZXJ0a2l0LmNvZmZlZVxcbjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmluY2x1ZGVzIGFsbCBtYWluIGhlbHBlcnMgdXNpbmcgaW4gZXZlcnkgcGx1Z2luLiBQcm90b3R5cGUgZm9yIGFsbCBwbHVnaW5zLjwvc21hbGw+XFxuPC9saT5cXG48bGk+YWZmaXguY29mZmVlPC9saT5cXG48bGk+YnV0dG9uLmNvZmZlZTwvbGk+XFxuPGxpPm1vZGFsLmNvZmZlZTwvbGk+XFxuPGxpPnBvcHVwLmNvZmZlZTwvbGk+XFxuPGxpPnNjcm9sbHNweS5jb2ZmZWU8L2xpPlxcbjxsaT50YWJzLmNvZmZlZTwvbGk+XFxuPC91bD5cXG48L2xpPlxcblxcbjxsaT48Yj5zYXNzPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGEgLWVycm9yLVxcXCI+YWxsIG1heG1lcnRraXQgc2FzcyBmaWxlczwvc21hbGw+XFxuPHVsPlxcbjxsaT5cXG48Yj5hbmltYXRpb25zPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmFsbCBhbmltYXRpb25zIGZvciBhbGwgd2lkZ2V0cyBzdG9yZXMgaGVyZTwvc21hbGw+XFxuPHVsPlxcbjxsaT5cXG48Yj5wdXNoZXM8L2I+PHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+b25seSBhbmltYXRpb25zIGZvciBwdXNoZXMgPGI+KG5vdCB1c2luZyByaWdodCBub3QpPC9iPjwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxuLi4uXFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuPGxpPlxcbjxiPmNvbW1vbjwvYj48c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj5nbG9iYWwgdmFyaWFibGVzLCByZXNldCwgaW5pdCwgbW9kaWZpZXJzIGxpc3QsIG1peGlucyBhbmQgdXRpbGl0aWVzIHN0b3JlcyBoZXJlPC9zbWFsbD5cXG48L2xpPlxcbjxsaT5cXG48Yj5zaXplczwvYj48c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj51c2FibGUgc2l6ZXMsIHJlbWViZXIgdGhhdCB5b3UgbmVlZCB0byBpbmNsdWRlIHNpemVzIGZvciBlYWNoIHdpZGdldCBzZXBhcmF0ZWxseTwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxuPGI+dGhlbWVzPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPnVzYWJsZSB0aGVtZXMsIHJlbWViZXIgdGhhdCB5b3UgbmVlZCB0byBpbmNsdWRlIHRoZW1lcyBmb3IgZWFjaCB3aWRnZXQgc2VwYXJhdGVsbHk8L3NtYWxsPlxcbjwvbGk+XFxuPGxpPlxcbjxiPndpZGdldHM8L2I+PHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+YWxsIHdpZGdldHMgYXJlIGhlcmU8L3NtYWxsPlxcbjx1bD5cXG48bGk+XFxuX3dpZGdldC1uYW1lLnNhc3MgPHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+aW1wb3J0IGZpbGVzIGZyb20gZm9sZGVyIDxiPndpZGdldC1uYW1lPC9iPjsgdGhlcmUgbWF5IGJlIGRpZmZlcmVudCB0eXBlcyBvciBwYXJ0cyBvZiB3aWRnZXQgPGI+d2lkZ2V0LW5hbWU8L2I+Ljwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxuPGI+d2lkZ2V0LW5hbWU8L2I+PHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+dHlwZXMgb3IgcGFydHMgb2Ygd2lkZ2V0IDxiPndpZGdldC1uYW1lPC9iPjwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxuLi4uXFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuPGxpPlxcbm1haW4uc2FzcyA8c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj50aGUgb25seSBjb21waWxpbmcgZmlsZTsgaW1wb3J0cyBhbGwgbWF4bWVydGtpdCBzdHVmZjwvc21hbGw+XFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuXFxuPGxpPlxcbjxiPmpzPC9iPlxcbjx1bD5cXG48bGk+XFxubWF4bWVydGtpdC5qcyA8c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj48Yj5ub3QgbWluaWZpZWQ8L2I+IG1heG1lcnRraXQganMgcGx1Z2luczwvc21hbGw+XFxuPC9saT5cXG48bGk+XFxuPGIgY2xhc3M9XFxcImRldi1tZXRhXFxcIj5ib3dlcjwvYj5cXG48L2xpPlxcbjwvdWw+XFxuPC9saT5cXG5cXG48bGk+XFxuPGI+Y3NzPC9iPlxcbjx1bD5cXG48bGk+XFxubWFpbi5jc3MgPHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+PGI+bm90IG1pbmlmaWVkPC9iPiBjc3Mgb2YgdGhlIG1heG1lcnRraXQ8L3NtYWxsPlxcbjwvbGk+XFxuPC91bD5cXG48L2xpPlxcblxcbjxsaT48Yj5kb2NzPC9iPlxcbjx1bD5cXG48bGk+PGI+Y29mZmVlPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmRvY3VtZW50YXRpb24gYXBwPC9zbWFsbD5cXG48dWw+XFxuPGxpPi4uLjwvbGk+XFxuPGxpPmNvbnRlbnRzLmNvZmZlZVxcbjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPm1haW4gbWVudSBhbmQgYXBwbGljYXRpb24gY29udGVudHM8L3NtYWxsPlxcbjwvbGk+XFxuPC91bD5cXG48L2xpPlxcblxcbjxsaT48Yj5jc3M8L2I+PHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+bWF4bWVydGtpdCBhbmQgZGV2ZWxvcGVyIGNzczwvc21hbGw+PC9saT5cXG48bGk+PGI+aW1nPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmltYWdlcyBuZWVkZWQgZm9yIGRvY3M8L3NtYWxsPjwvbGk+XFxuPGxpPjxiPmpzPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmFsbCBqcyBmb3IgZG9jdW1lbnRhdGlvbjwvc21hbGw+XFxuPHVsPlxcbjxsaT48Yj5ib3dlcjwvYj5cXG48c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj5ib3dlciBsaWJyYXJpZXMgZm9yIGRvY3VtZW50YXRpb24uPC9zbWFsbD5cXG48L2xpPlxcbjxsaT48Yj5saWJzPC9iPlxcbjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPm5vdCBib3dlcmVkIGxpYnJhcmllcyBmb3IgZG9jdW1lbnRhdGlvbi48L3NtYWxsPlxcbjwvbGk+XFxuPGxpPmFwcC5qcyA8c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj5tYWluIGFwcC48L3NtYWxsPjwvbGk+XFxuPGxpPm1heG1lcnRraXQuanM8L2xpPlxcbjxsaT50ZW1wbGF0ZXMuanMgPHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+YWxsIGNvbXBpbGVkIHRlbXBsYXRlcyBmb3IgZG9jcy48L3NtYWxsPjwvbGk+XFxuPGxpPi4uLjwvbGk+XFxuPC91bD5cXG48L2xpPlxcblxcbjxsaT48Yj5zYXNzPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmRldmVsb3BlciBzYXNzLCBvbmx5IGZvciBkb2NzLjwvc21hbGw+PC9saT5cXG48bGk+PGI+c2VydmVyPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPnNlcnZlciBhcHAgb24gbm9kZWpzIGZvciBkb2NzLjwvc21hbGw+PC9saT5cXG48bGk+PGI+dGVtcGxhdGVzPC9iPjxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPnRlbXBsYXRlcyBmb3IgZG9jczwvc21hbGw+XFxuPHVsPlxcbjxsaT48Yj5jb21tb248L2I+PHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+YmFzZSB0ZW1wbGF0ZXMgZm9yIGFwcGxpY2F0aW9uPC9zbWFsbD48L2xpPlxcbjxsaT48Yj5raXQ8L2I+PHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YSAtZXJyb3ItXFxcIj48Yj5hbGwgZG9jdW1lbnRhdGlvbiB0ZW1wbGF0ZXMgYXJlIGhlcmU7IGlmIHlvdSB3YW50IHRvIGZpeCB0ZXh0IGVycm9ycyBpbiBkb2NzLCBjb250cmlidXRlIGFuZCBmaXggdGhlbSBoZXJlPC9iPjwvc21hbGw+PC9saT5cXG48bGk+NDA0Lmh0bWw8L2xpPlxcbjxsaT5tYWluLmh0bWw8L2xpPlxcbjwvdWw+XFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuXFxuPGxpPlxcbjxiPnRlc3Q8L2I+XFxuPC9saT5cXG5cXG48bGk+XFxudG9kby5tZCA8c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj5hbGwgdG9kb3MgdHJvdWdoIGFsbCBtYXhtZXJ0a2l0IGpzIGZpbGVzPC9zbWFsbD5cXG48L2xpPlxcbjwvdWw+XFxuPC9saT5cXG48L3VsPlxcblwiLFwiY29tbW9uXCI6XCI8aDE+U3RydWN0dXJlPC9oMT5cXG5cXG48cCBjbGFzcz1cXFwiX2JpZ1xcXCI+VGhlcmUgYXJlIHR3byBkb3dubG9hZGFibGUgZm9ybSBvZiBtYXhtZXJ0a2l0OiBidWlsZCBhbmQgc291cmNlcy4gSW4gZWFjaCBjYXNlIHlvdSdsbCBoYXZlIGRpZmZlcmVudCBmaWxlIHN0cnVjdHVyZS48L3A+XFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+XFxuTm90ZSB0aGF0IE1heG1lcnRraXQgamF2YXNjcmlwdCBwbHVnaW5zIDxiPkRPTidUIHJlcXVpcmU8L2I+IGpRdWVyeSBmcm9tIHZlcnNpb24gMS4wLjIgKHNlZSA8YSBocmVmPVxcXCIvY2hhbmdlbG9nXFxcIj5jaGFuZ2Vsb2c8L2E+KS5cXG48YnI+XFxuVG8gY29tcGlsZSBtYXhtZXJ0a2l0LnNhc3MgeW91J2xsIG5lZWQgYSA8YSBocmVmPVxcXCJodHRwOi8vYm91cmJvbi5pby9cXFwiIGRhdGEtYnlwYXNzPkJvdXJib248L2E+IGFuZCA8YSBocmVmPVxcXCJodHRwOi8vbmVhdC5ib3VyYm9uLmlvL1xcXCIgZGF0YS1ieXBhc3M+TmVhdDwvYT4uIEp1c3QgdXNlIGJvd2VyIHRvIGluc3RhbGwgaXQgKHNlZSBpbnN0cnVjdGlvbnMgYmVsb3cpLlxcbjwvYmxvY2txdW90ZT5cXG5cIixcImJ1aWxkXCI6XCI8aDI+UHJlYnVpbGRlZCBmaWxlIHN0cnVjdHVyZTwvaDI+XFxuXFxuPHA+RXZlcnl0aGluZyBpcyB2ZXJ5IGVhc3kgaGVyZS4gSnVzdCBpbmNsdWRlIDxiPm1pbjwvYj4gZmlsZXMgdG8geW91ciBwcm9qZWN0LjwvcD5cXG5cXG48dWwgY2xhc3M9XFxcImRldi1maWxldHJlZVxcXCI+XFxuPGxpPjxiPm1heG1lcnRraXQ8L2I+L1xcbjx1bD5cXG48bGk+PGI+Y3NzPC9iPi9cXG48dWwgY2xhc3M9XFxcIlxcXCI+XFxuPGxpPm1heG1lcnRraXQuY3NzPC9saT5cXG48bGk+bWF4bWVydGtpdC5taW4uY3NzIDxzbWFsbCBjbGFzcz1cXFwiZGV2LW1ldGFcXFwiPmd6aXBwZWQgYnVpbGRlZCB2ZXJzaW9uIG9mIG1heG1lcnRraXQsIGluY2x1ZGVzIGFsbCB0aGVtZXMgYW5kIGFsbCBzaXplcyBmb3IgZWFjaCB3aWRnZXQuPC9zbWFsbD48L2xpPlxcbjwvdWw+XFxuPC9saT5cXG48bGk+PGI+anM8L2I+L1xcbjx1bCBjbGFzcz1cXFwiXFxcIj5cXG48bGk+bWF4bWVydGtpdC5qcyA8c21hbGwgY2xhc3M9XFxcImRldi1tZXRhXFxcIj5jb25jYXRlbmF0ZWQgbWF4bWVydGtpdCBwbHVnaW5zLjwvc21hbGw+PC9saT5cXG48bGk+bWF4bWVydGtpdC5taW4uanMgPHNtYWxsIGNsYXNzPVxcXCJkZXYtbWV0YVxcXCI+bWluaWZpZWQgYW5kIGd6aXBwZWQuPC9zbWFsbD48L2xpPlxcbjwvdWw+XFxuPC9saT5cXG48L3VsPlxcbjwvbGk+XFxuPC91bD5cXG5cIn0sXCJob3d0b1wiOntcInRoZW1lTWFuYWdlXCI6XCI8aDM+QWRkIGFuZCBtYW5hZ2UgdGhlbWVzPC9oMz5cXG5cXG48cD5cXG5cXHQ8aWZyYW1lIHdpZHRoPVxcXCI1NjBcXFwiIGhlaWdodD1cXFwiNDIwXFxcIiBzcmM9XFxcIi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3B3eG1rb0F1SWNJXFxcIiBmcmFtZWJvcmRlcj1cXFwiMFxcXCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPlxcbjwvcD5cXG5cXG48cD5cXG5cXHRGaXJzdCB5b3UgbmVlZCB0byBydW4gPGNvZGU+JCBndWxwPC9jb2RlPi4gUmVhZCBhYm91dCB0aGlzIGluIDxhIGhyZWY9XFxcIi9zdGFydCNob3d0b0J1aWxkXFxcIiBkYXRhLWJ5cGFzcz5ob3cgdG8gYnVpbGQ8L2E+IHNlY3Rpb24uXFxuPC9wPlxcblxcbjxwPlxcblxcdFRvIGVkaXQgdGhlbWVzIGp1c3QgZG86XFxuXFx0PG9sPlxcblxcdFxcdDxsaT5cXG5cXHRcXHRcXHRHbyB0byA8Yj5zYXNzL3RoZW1lczwvYj4gZm9sZGVyLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdE9wZW4gdGhlbWUgZmlsZS5cXG5cXHRcXHQ8L2xpPlxcblxcdFxcdDxsaT5cXG5cXHRcXHRcXHRFZGl0IDxjb2RlPiR0aGVtZTwvY29kZT4gdmFyaWFibGUuXFxuXFx0XFx0PC9saT5cXG5cXHQ8L29sPlxcbjwvcD5cXG5cXG5cXG48cD5cXG5cXHRUbyBhZGQgYSBuZXcgdGhlbWVzIGRvOlxcblxcdDxvbD5cXG5cXHRcXHQ8bGk+XFxuXFx0XFx0XFx0R28gdG8gPGI+c2Fzcy90aGVtZXM8L2I+IGZvbGRlci5cXG5cXHRcXHQ8L2xpPlxcblxcdFxcdDxsaT5cXG5cXHRcXHRcXHREdWJsaWNhdGUgYW55IHRoZW1lIGZpbGUgKG9yIHVzZSB0aGlzIGdpc3QgJm1kYXNoOyA8YSBocmVmPVxcXCJodHRwczovL2dpc3QuZ2l0aHViLmNvbS9tYXhtZXJ0L2FiYzk3ODg3NDg3NTYwODIyNWU3XFxcIiB0YXJnZXQ9XFxcIl9ibGFua1xcXCIgZGF0YS1ieXBhc3M+bWF4bWVydGtpdFRoZW1lPC9hPikuIFJlbWVtYmVyIHRoYXQgZmlsZW5hbWUgc2hvdWxkIGJlZ2luIHdpdGggdW5kZXJzY29yZSAoPGI+XzwvYj4pLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdEVkaXQgPGNvZGU+JHRoZW1lPC9jb2RlPiB2YXJpYWJsZS5cXG5cXHRcXHQ8L2xpPlxcblxcdFxcdDxsaT5cXG5cXHRcXHRcXHRJbmNsdWRlIHRoZW1lIGZpbGUgaW4gPGI+c2Fzcy9tYWluLnNhc3M8L2I+XFxuXFx0XFx0PC9saT5cXG5cXHRcXHQ8bGk+XFxuXFx0XFx0XFx0QWRkIHRoZW1lIHRvIHdpZGdldHMgaW4gPGI+bWtpdC5qc29uPC9iPlxcblxcdFxcdDwvbGk+XFxuXFx0PC9vbD5cXG48L3A+XFxuXCIsXCJzaXplTWFuYWdlXCI6XCI8aDM+QWRkIGFuZCBtYW5hZ2Ugc2l6ZXM8L2gzPlxcblxcbjxwPlxcblxcdDxpZnJhbWUgd2lkdGg9XFxcIjU2MFxcXCIgaGVpZ2h0PVxcXCIzMTVcXFwiIHNyYz1cXFwiLy93d3cueW91dHViZS5jb20vZW1iZWQvaVNUTjRhSXJCSElcXFwiIGZyYW1lYm9yZGVyPVxcXCIwXFxcIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+XFxuPC9wPlxcblxcbjxwPlxcblxcdEZpcnN0IHlvdSBuZWVkIHRvIHJ1biA8Y29kZT4kIGd1bHA8L2NvZGU+LiBSZWFkIGFib3V0IHRoaXMgaW4gPGEgaHJlZj1cXFwiL3N0YXJ0I2hvd3RvQnVpbGRcXFwiIGRhdGEtYnlwYXNzPmhvdyB0byBidWlsZDwvYT4gc2VjdGlvbi5cXG48L3A+XFxuXFxuPHA+XFxuXFx0VG8gZWRpdCBzaXplcyBqdXN0IGRvOlxcblxcdDxvbD5cXG5cXHRcXHQ8bGk+XFxuXFx0XFx0XFx0R28gdG8gPGI+c2Fzcy9zaXplczwvYj4gZm9sZGVyLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdE9wZW4gc2l6ZSBmaWxlLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdEVkaXQgPGNvZGU+JHNpemU8L2NvZGU+IHZhcmlhYmxlLlxcblxcdFxcdDwvbGk+XFxuXFx0PC9vbD5cXG48L3A+XFxuXFxuXFxuPHA+XFxuXFx0VG8gYWRkIGEgbmV3IHNpemVzIGRvOlxcblxcdDxvbD5cXG5cXHRcXHQ8bGk+XFxuXFx0XFx0XFx0R28gdG8gPGI+c2Fzcy9zaXplczwvYj4gZm9sZGVyLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdER1YmxpY2F0ZSBhbnkgc2l6ZSBmaWxlIChvciB1c2UgdGhpcyBnaXN0ICZtZGFzaDsgPGEgaHJlZj1cXFwiaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vbWF4bWVydC9kMTA2NTk5ZDZhMDhkYjFiMjEyMlxcXCIgdGFyZ2V0PVxcXCJfYmxhbmtcXFwiIGRhdGEtYnlwYXNzPm1heG1lcnRraXRTaXplPC9hPikuIFJlbWVtYmVyIHRoYXQgZmlsZW5hbWUgc2hvdWxkIGJlZ2luIHdpdGggdW5kZXJzY29yZSAoPGI+XzwvYj4pLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdEVkaXQgPGNvZGU+JHNpemU8L2NvZGU+IHZhcmlhYmxlLlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdEluY2x1ZGUgc2l6ZSBmaWxlIGluIDxiPnNhc3MvbWFpbi5zYXNzPC9iPlxcblxcdFxcdDwvbGk+XFxuXFx0XFx0PGxpPlxcblxcdFxcdFxcdEFkZCBzaXplIHRvIHdpZGdldHMgaW4gPGI+bWtpdC5qc29uPC9iPlxcblxcdFxcdDwvbGk+XFxuXFx0PC9vbD5cXG48L3A+XFxuXCIsXCJpbnN0YWxsXCI6XCI8aDM+SW5zdGFsbDwvaDM+XFxuPHA+WW91IGNhbiBkbyBpdCBpbiBzZXZlcmFsIHdheXMuIEdvIHRvIHNlY3Rpb24gPGEgaHJlZj1cXFwiI2Rvd2xvYWRDb21tb25cXFwiIGRhdGEtYnlwYXNzPmRvd25sb2FkPC9hPi48L3A+XCIsXCJlZGl0UHJlZml4ZXNcIjpcIjxoMz5DaGFuZ2UgbmFtZSBjb252ZW50aW9uPC9oMz5cXG5cXG48cD5cXG5NYXliZSB5b3UgZG9uJ3Qgd2FudCB0byB1c2UgcHJlZml4ZXMgYW5kIHBvc3RmaXhlcyB0byBjbGFzcyBuYW1lcyBvZiBtYXhtZXJ0a2l0LiBGb3IgZXhhbXBsZSBpbnN0ZWFkIG9mIDxjb2RlPi1idG48L2NvZGU+IHVzZSA8Y29kZT53LWJ0bjwvY29kZT4gb3IganN1dCA8Y29kZT5idG48L2NvZGU+LlxcbjwvcD5cXG5cXG48cD5cXG5UbyBkbyB0aGF0IGVkaXQgZmlsZSA8Yj5zYXNzPC9iPi88Yj5jb21tb248L2I+LzxiPl9jb252ZW50aW9uLnNhc3M8L2I+LiBZb3Ugd2lsbCBmaW5kIHByZWZpeGVzIGFuZCBwb3N0Zml4ZXMgZm9yIGFsbCBtYXhtZXJ0a2l0IGVsZW1lbnRzIHRoZXJlLlxcbjwvcD5cXG5cXG48cD5cXG5Gb3IgZXhhbXBsZSB0byB1c2UgZm9yIHdpZGdldHMgcHJlZml4IDxjb2RlPnctPC9jb2RlPiwganVzdCBhZGRcXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuPHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRwcmVmLXdpZGdldDogXFxcInctXFxcIlxcbiRwb3N0LXdpZGdldDogXFxcIlxcXCI8L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIixcImNvbW1vblwiOlwiPGgxPkhvd3RvPzwvaDE+XFxuXFxuPHAgY2xhc3M9XFxcIl9iaWdcXFwiPkhlcmUgSSdsbCB0ZWxsIHlvdSBob3cgdG8gZG8gZGlmZmVyZW50IHRoaW5ncy4gUGxlYXNlLCA8YSBocmVmPVxcXCJodHRwczovL2dpdGh1Yi5jb20vbWF4bWVydC9tYXhtZXJ0a2l0L2lzc3Vlc1xcXCIgZGF0YS1ieXBhc3M+YWRkIG5ldyBpc3N1ZSB3aXRoIGxhYmVsIDxjb2RlPnF1ZXN0aW9uPC9jb2RlPjwvYT4gYW5kIEknbGwgYWRkIGFuc3dlcnMgaGVyZS48L3A+XCIsXCJidWlsZFwiOlwiPGgzPkJ1aWxkPC9oMz5cXG5cXG48cD5cXG5cXHQ8aWZyYW1lIHdpZHRoPVxcXCI1NjBcXFwiIGhlaWdodD1cXFwiMzE1XFxcIiBzcmM9XFxcIi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL1RldEJlMUxZWWVRXFxcIiBmcmFtZWJvcmRlcj1cXFwiMFxcXCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPlxcbjwvcD5cXG5cXG48cD5cXG5cXHQ8dWw+XFxuXFx0XFx0PGxpPkRvd25sb2FkIHNvdXJjZXMuPC9saT5cXG5cXHRcXHQ8bGk+SW4gdGVybWluYWwgZG86XFxuXFx0XFx0XFx0PG9sPlxcblxcdFxcdFxcdFxcdDxsaT5nbyB0byB5b3Ugc291cmNlcyBmb2xkZXI7PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+cnVuIDxjb2RlPm5wbSBpbnN0YWxsPC9jb2RlPjs8L2xpPlxcblxcdFxcdFxcdFxcdDxsaT5ydW4gPGNvZGU+Ym93ZXIgaW5zdGFsbDwvY29kZT47PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+Z28gdG8gPGI+ZG9jczwvYj4gZm9sZGVyIHdpdGggY29tbWFuZCA8Y29kZT5jZCBkb2NzPC9jb2RlPjs8L2xpPlxcblxcdFxcdFxcdFxcdDxsaT5ydW4gPGNvZGU+Ym93ZXIgaW5zdGFsbDwvY29kZT47PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+Z28gYmFjayB0byB5b3VyIHNvdXJjZXMgZm9sZGVyIGJ5IHR5cGluZyA8Y29kZT5jZCAuLjwvY29kZT47PC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+cnVuIDxjb2RlPmd1bHA8L2NvZGU+LjwvbGk+XFxuXFx0XFx0XFx0PC9vbD5cXG5cXHRcXHQ8L2xpPlxcblxcdFxcdDxsaT5JbiB5b3UgYnJvd3NlciBnbyB0byA8Y29kZT5odHRwOi8vMTI3LjAuMC4xOjMzMzMvPC9jb2RlPjwvbGk+XFxuXFx0PC91bD5cXG5cXG5cXHRJZiB5b3Ugd2FudCB0byBidWxkIG1pbmlmaWVkIHNvdXJjZXMsIGluIHN1YnN0ZXAgPGI+NzwvYj4gcnVuIDxjb2RlPmd1bHAgYnVpbGQ8L2NvZGU+LlxcbjwvcD5cXG5cIn0sXCJkb3dubG9hZFwiOlwiPHNlY3Rpb24+XFxuPGgxPkRvd25sb2FkPC9oMT5cXG5cXG48cCBjbGFzcz1cXFwiX2JpZ1xcXCI+VGhlcmUgYXJlIHNldmVyYWwgd2F5cyB0byBkb3dubG9hZCBhbmQgdXNlIG1heG1lcnRraXQuIFRoZSByZWNvbW1lbmRlZCBvbmUgaXMgdG8gZG93bmxvYWQgYWxsIHNvdXJjZXMgYW5kIGJ1aWxkIGZyYW1ld29yayB0aGF0IHN1aXRlcyBvbmx5IHlvdS4gSXQgd2lsbCBiZSBlYXNpZXIsIGxpZ2h0ZXIgYW5kIGZhc3RlciB0aGFuIGFueSBmcmFtZXdvcmsuPC9wPjxicj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItY29sNVxcXCI+XFxuPHA+PGEgaHJlZj1cXFwiaHR0cHM6Ly9naXRodWIuY29tL21heG1lcnQvbWF4bWVydGtpdC9yZWxlYXNlcy9kb3dubG9hZC92e3t2ZXJzaW9ufX0vbWF4bWVydGtpdC12e3t2ZXJzaW9ufX0tYnVpbGQuemlwXFxcIiBjbGFzcz1cXFwiZGV2LXZlcnNpb24taHJlZiAtYnRuLWJvcmRlcmVkIF9iaWcgLXByaW1hcnktXFxcIiBkYXRhLWJ5cGFzcz5HZXQgYnVpbGQgPHNwYW4gY2xhc3M9XFxcImRldi12ZXJzaW9uLXNwaW5uZXIgLXByaW1hcnktIC1zcGlubmVyLWZiIF9zbWFsbFxcXCI+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjwvc3Bhbj48L2E+PC9wPlxcbjxwPlxcbkNvbXBpbGVkIGFuZCBtaW5pZmllZCBDU1MgYW5kIEpTLCBub3RoaW5nIG1vcmUuIEJ1aWxkIGluY2x1ZGVzIGFsbCB0aGVtZXMgYW5kIGFsbCBzaXplcyBmb3IgZXZlcnkgd2lkZ2V0IGluIG1heG1lcnRraXQuIEl0IHByZXR0eSBoZWF2eS5cXG48L3A+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbDUgLW9mZnNldDFcXFwiPlxcbjxwPjxhIGhyZWY9XFxcImh0dHBzOi8vZ2l0aHViLmNvbS9tYXhtZXJ0L21heG1lcnRraXQvYXJjaGl2ZS92e3t2ZXJzaW9ufX0uemlwXFxcIiBjbGFzcz1cXFwiZGV2LXZlcnNpb24taHJlZiAtYnRuLWJvcmRlcmVkIF9iaWcgLXByaW1hcnktXFxcIiBkYXRhLWJ5cGFzcz5HZXQgc291cmNlcyA8c3BhbiBjbGFzcz1cXFwiZGV2LXZlcnNpb24tc3Bpbm5lciAtcHJpbWFyeS0gLXNwaW5uZXItZmIgX3NtYWxsXFxcIj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPHNwYW4gY2xhc3M9XFxcIi1hZGRvblxcXCI+PC9zcGFuPlxcbjxzcGFuIGNsYXNzPVxcXCItYWRkb25cXFwiPjwvc3Bhbj5cXG48c3BhbiBjbGFzcz1cXFwiLWFkZG9uXFxcIj48L3NwYW4+XFxuPC9zcGFuPjwvYT48L3A+XFxuPHA+XFxuSW5jbHVkZXMgYWxsIGRvY3MgYW5kIGFsbCBzb3VyY2VzLiBBbHNvIGluY2x1ZGVzIGJ1aWxkLiBTZWUgaW5zdHJ1Y3Rpb25zIGhvdyB0byB1c2UgYW5kIGNvbXBpbGUgYmVsb3cuIDxiPlJlcXVpcmUgc29tZSBlYXNpZXN0IGluc3RhbGxhdGlvbnM8L2I+LiBBZnRlciB0aGF0IHlvdSdsbCBoYXZlIHRoaXMgc2l0ZSBvbiB5b3VyIGRlc2t0b3AuXFxuPC9wPlxcbjwvZGl2PlxcbjwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cXG5cXG5cXG48c2VjdGlvbj5cXG48aDI+Q0ROPC9oMj5cXG5cXG48cD5QbGVhc2UsIHVzZSBDRE4gbGlua3MgdG8ganVzdCBpbmNsdWRlIG1heG1lcnRraXQgdG8geW91ciBwcm9qZWN0cy48L3A+XFxuXFxuPHByZSBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj4mbHQ7IS0tIExhdGVzdCBjb21waWxlZCBhbmQgbWluaWZpZWQgQ1NTIC0tJmd0O1xcbiZsdDtsaW5rIHJlbD1cXFwic3R5bGVzaGVldFxcXCIgaHJlZj1cXFwiLy9jZG4uanNkZWxpdnIubmV0L21heG1lcnRraXQve3t2ZXJzaW9ufX0vY3NzL21heG1lcnRraXQuY3NzXFxcIiZndDtcXG5cXG4mbHQ7IS0tIExhdGVzdCBjb21waWxlZCBhbmQgbWluaWZpZWQgSmF2YVNjcmlwdCAtLSZndDtcXG4mbHQ7c2NyaXB0IHNyYz1cXFwiLy9jZG4uanNkZWxpdnIubmV0L21heG1lcnRraXQve3t2ZXJzaW9ufX0vanMvbWF4bWVydGtpdC5qc1xcXCImZ3Q7Jmx0Oy9zY3JpcHQmZ3Q7PC9wcmU+XFxuPC9zZWN0aW9uPlxcblxcblxcblxcblxcbjxzZWN0aW9uPlxcbjxoMj5Cb3dlcjwvaDI+XFxuXFxuPHA+SW5zdGFsbCBhbmQgbWFuYWdlIHdpdGggQm93ZXI8L3A+XFxuXFxuPHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWJhc2hcXFwiPiQgYm93ZXIgaW5zdGFsbCBtYXhtZXJ0a2l0PC9wcmU+XFxuPC9zZWN0aW9uPlxcblwiLFwiZGlmZmVyZW5jZVwiOlwiPGgxPkRpZmZlcmVuY2U8L2gxPlxcblxcbjxwPlxcblxcdDxzcGFuIGNsYXNzPVxcXCJfaHVnZVxcXCI+XFxuXFx0XFx0VGhlcmUgYXJlIHNvbWUgYmFzaWMgZGlmZmVyZW5jZXMgd2l0aCBvdGhlciBmcmFtZXdvcmtzLlxcblxcdDwvc3Bhbj5cXG48L3A+XFxuXFxuPG9sPlxcbjxsaT5cXG5cXHQ8Yj5BdXRvIGJ1aWxkIHRoZW1lcyBhbmQgc2l6ZXM8L2I+LiBKdXN0IGVkaXQgPGNvZGU+bWtpdC5qc29uPC9jb2RlPiB0byBhZGQgb3IgcmVtb3ZlIHRoZW1lIG9yIHNpemUgdG8gYW55IHdpZGdldC5cXG48L2xpPlxcbjxsaT5cXG48Yj5Nb2R1bGFyaXR5PC9iPi4gRXhjbHVkZSBhbnkgc2FzcyB3aWRnZXQgZnJvbSBtYXhtZXJ0a2l0IGFuZCBldmVyeXRoaW5nIHdpbGwgd29yayB3ZWxsLlxcbjwvbGk+XFxuPCEtLSA8bGk+XFxuPHA+PGI+QW55IHRoZW1lIHRvIGFueSB3aWRnZXQ8L2I+LiBMb29rIGF0IHRoZSBmaWxlIHN0cnVjdHVyZSBvZiB0aGUgbWF4bWVydGtpdC4gWW91IHdpbGwgZmluZCBvdXQgdGhhdCBlYWNoIHdpZGdldCBoYXMgZm9sZGVyIHdpdGggPGNvZGU+X3RoZW1lcy5zYXNzPC9jb2RlPiBmaWxlIGluc2lkZS4gVGhpcyBmaWxlIHN0b3JlcyBhbGwgdGhlbWVzIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoaXMgd2lkZ2V0LjwvcD5cXG48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+XFxuJHRoZW1lczogKCBkZWZhdWx0IHByaW1hcnkgZXJyb3IgaW5mbyB3YXJuaW5nIGRhcmsgKVxcbjwvcHJlPlxcbjxwPkNoYW5nZSBpdCBhbmQgdXNlIHdpdGggY3VycmVudCB3aWRnZXQgb25seSB0aGVtZXMgeW91IHdhbnQuPC9wPlxcbjwvbGk+XFxuPGxpPlxcbjxwPjxiPkFueSBzaXplIHRvIGFueSB3aWRnZXQ8L2I+LiBFYWNoIHdpZGdldCBoYXMgZm9sZGVyIHdpdGggPGNvZGU+X3NpemVzLnNhc3M8L2NvZGU+IGZpbGUgaW5zaWRlLiBUaGlzIGZpbGUgc3RvcmVzIGFsbCBzaXplcyB5b3Ugd2FudCB0byBhcHBseSB0byB0aGlzIHdpZGdldC48L3A+XFxuPHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPlxcbiRzaXplczogKCBzbWFsbCBtaW5vciBub3JtYWwgbWFqb3IgYmlnIGh1Z2UgZGl2aW5lIClcXG48L3ByZT5cXG48cD5DaGFuZ2UgaXQgYW5kIHVzZSB3aXRoIGN1cnJlbnQgd2lkZ2V0IG9ubHkgc2l6ZXMgeW91IHdhbnQuPC9wPlxcbjwvbGk+IC0tPlxcbjxsaT48Yj5OYW1lc3BhY2VzPC9iPi5cXG5cXHQ8dWw+XFxuXFx0XFx0XFx0PGxpPjxpPi13aWRnZXQ8L2k+ICZtZGFzaDsgd2lkZ2V0LCBmb3IgZXhhbXBsZSA8Y29kZT4tYnRuPC9jb2RlPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxpPi10aGVtZS08L2k+ICZtZGFzaDsgdGhlbWUsIGZvciBleGFtcGxlIDxjb2RlPi1wcmltYXJ5LTwvY29kZT48L2xpPlxcblxcdFxcdFxcdDxsaT48aT5fc2l6ZTwvaT4gJm1kYXNoOyBzaXplLCBmb3IgZXhhbXBsZSA8Y29kZT5fbWFqb3I8L2NvZGU+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGk+X21vZGlmaWVyXzwvaT4gJm1kYXNoOyBtb2RpZmllciwgZm9yIGV4YW1wbGUgPGNvZGU+X2FjdGl2ZV88L2NvZGU+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGk+LWFuaW1hdGlvbi0tPC9pPiAmbWRhc2g7IGFuaW1hdGlvbiwgZm9yIGV4YW1wbGUgPGNvZGU+LWZhZGVpbi0tPC9jb2RlPjwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHRcXHQ8YnI+XFxuXFx0XFx0PHA+RnJvbSBub3cgeW91IHJlYWxseSBjYW4gc2F5IHdoYXQgaGFwcGVuIGJlbG93PC9wPlxcblxcdFxcdFxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dWwgY2xhc3M9XFxcIi1tZW51IC1wcmltYXJ5LVxcXCI+XFxuXFx0PGxpIGNsYXNzPVxcXCJfYWN0aXZlX1xcXCI+XFxuXFx0XFx0PGE+TWVudSBpdGVtIDE8L2E+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRyb3AgLWRvb3ItLVxcXCI+XFxuXFx0XFx0XFx0Li4uXFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9saT5cXG5cXHQ8bGk+XFxuXFx0XFx0PGE+TWVudSBpdGVtIDE8L2E+XFxuXFx0PC9saT5cXG5cXHQ8bGkgY2xhc3M9XFxcIl9kaXNhYmxlZF9cXFwiPlxcblxcdFxcdDxhPk1lbnUgaXRlbSAxPC9hPlxcblxcdDwvbGk+XFxuPC91bD48L3ByZT5cXG48L2xpPlxcbjwvb2w+XFxuXCJ9LFwiYmFzaWNcIjp7XCJ0eXBvZ3JhcGh5XCI6e1wicnRsXCI6XCI8aDI+UlRMIChyaWdodCB0byBsZWZ0KSBzdXBwb3J0PC9oMj5cXG5cXG48cD5cXG5UaGVyZSBpcyBhIFJUTCBzdXBwb3J0IGluIG1heG1lcnRraXQuIEp1c3QgdXNlIDxjb2RlPmRpcj1cXFwicnRsXFxcIjwvY29kZT4gd2l0aCBibG9jayBlbGVtZW50cy5cXG48L3A+XFxuXFxuPGJsb2NrcXVvdGUgY2l0ZT1cXFwiaHR0cDovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy9kL2RpcmVjdGlvbi9cXFwiIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcbkZvciBtb3JlIGluZm9ybWF0aW9uIGdvIHRvIDxhIGhyZWY9XFxcImh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3Byb3BlcnRpZXMvZC9kaXJlY3Rpb24vXFxcIiBkYXRhLWJ5cGFzcz5jc3MtdHJpY2tzPC9hPi5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuPGRpdiBkaXI9XFxcInJ0bFxcXCI+XFxuVGhpcyB0ZXh0IHdpbGwgZ28gcmlnaHQgdG8gbGVmdC5cXG48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPlxcbjxkaXYgZGlyPVxcXCJydGxcXFwiPlxcblRoaXMgdGV4dCB3aWxsIGdvIHJpZ2h0IHRvIGxlZnQuXFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPHA+XFxuVG8gdXNlIGluc2lkZSBpbmxpbmUgZWxlbWVudHMgdXNlIHRhZyA8Y29kZT5iZG88L2NvZGU+OlxcbjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG48cD48YmRvIGRpcj1cXFwicnRsXFxcIj5UaGlzIHRleHQgd2lsbCBnbyByaWdodCB0byBsZWZ0LjwvYmRvPjwvcD5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxwPjxiZG8gZGlyPVxcXCJydGxcXFwiPlRoaXMgdGV4dCB3aWxsIGdvIHJpZ2h0IHRvIGxlZnQuPC9iZG8+PC9wPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwibGlzdHNcIjpcIjwhLS0gPT09PT09PT09PT09IExJU1RTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDI+TGlzdHM8L2gyPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZhcmlhYmxlcyAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczo8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRsaXN0LWl0ZW0taW5saW5lLXBhZGRpbmc6IDVweDwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG5cXG5cXG48aDM+VW5vcmRlcmVkPC9oMz5cXG48cD5BIGxpc3Qgb2YgaXRlbXMgaW4gd2hpY2ggdGhlIG9yZGVyIGRvZXMgbm90IGV4cGxpY2l0bHkgbWF0dGVyLjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dWw+XFxuXFx0XFx0PGxpPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0PC9saT5cXG5cXHRcXHQ8bGk+Q29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0PC9saT5cXG5cXHRcXHQ8bGk+SW50ZWdlciBtb2xlc3RpZSBsb3JlbSBhdCBtYXNzYTwvbGk+XFxuXFx0XFx0PGxpPkZhY2lsaXNpcyBpbiBwcmV0aXVtIG5pc2wgYWxpcXVldDwvbGk+XFxuXFx0XFx0PGxpPk51bGxhIHZvbHV0cGF0IGFsaXF1YW0gdmVsaXRcXG5cXHRcXHRcXHQ8dWw+XFxuXFx0XFx0XFx0XFx0PGxpPlBoYXNlbGx1cyBpYWN1bGlzIG5lcXVlPC9saT5cXG5cXHRcXHRcXHRcXHQ8bGk+UHVydXMgc29kYWxlcyB1bHRyaWNpZXM8L2xpPlxcblxcdFxcdFxcdFxcdDxsaT5WZXN0aWJ1bHVtIGxhb3JlZXQgcG9ydHRpdG9yIHNlbTwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPlZlc3RpYnVsdW0gbGFvcmVldCBwb3J0dGl0b3Igc2VtXFxuXFx0XFx0XFx0XFx0XFx0PHVsPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5QaGFzZWxsdXMgaWFjdWxpcyBuZXF1ZTwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPlB1cnVzIHNvZGFsZXMgdWx0cmljaWVzPC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+VmVzdGlidWx1bSBsYW9yZWV0IHBvcnR0aXRvciBzZW08L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5BYyB0cmlzdGlxdWUgbGliZXJvIHZvbHV0cGF0IGF0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0PGxpPkFjIHRyaXN0aXF1ZSBsaWJlcm8gdm9sdXRwYXQgYXQ8L2xpPlxcblxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0PC9saT5cXG5cXHRcXHQ8bGk+RmF1Y2lidXMgcG9ydGEgbGFjdXMgZnJpbmdpbGxhIHZlbDwvbGk+XFxuXFx0XFx0PGxpPkFlbmVhbiBzaXQgYW1ldCBlcmF0IG51bmM8L2xpPlxcblxcdFxcdDxsaT5FZ2V0IHBvcnR0aXRvciBsb3JlbTwvbGk+XFxuXFx0XFx0PC91bD5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx1bD5cXG48bGk+Li4uPC9saT5cXG48bGk+Li4uXFxuXFx0PHVsPlxcblxcdFxcdDxsaT4uLi48L2xpPlxcblxcdDwvdWw+XFxuPC9saT5cXG48L3VsPjwvcHJlPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxoMz5PcmRlcmVkPC9oMz5cXG48cD5BIGxpc3Qgb2YgaXRlbXMgaW4gd2hpY2ggdGhlIG9yZGVyIGRvZXMgZXhwbGljaXRseSBtYXR0ZXIuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxvbD5cXG5cXHRcXHRcXHQ8bGk+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8L2xpPlxcblxcdFxcdFxcdDxsaT5Db25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQ8L2xpPlxcblxcdFxcdFxcdDxsaT5JbnRlZ2VyIG1vbGVzdGllIGxvcmVtIGF0IG1hc3NhPC9saT5cXG5cXHRcXHRcXHQ8bGk+RmFjaWxpc2lzIGluIHByZXRpdW0gbmlzbCBhbGlxdWV0PC9saT5cXG5cXHRcXHRcXHQ8bGk+TnVsbGEgdm9sdXRwYXQgYWxpcXVhbSB2ZWxpdFxcblxcdFxcdFxcdFxcdDxvbD5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+UGhhc2VsbHVzIGlhY3VsaXMgbmVxdWU8L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaT5QdXJ1cyBzb2RhbGVzIHVsdHJpY2llczwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPlZlc3RpYnVsdW0gbGFvcmVldCBwb3J0dGl0b3Igc2VtPC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+VmVzdGlidWx1bSBsYW9yZWV0IHBvcnR0aXRvciBzZW1cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8dWw+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPlBoYXNlbGx1cyBpYWN1bGlzIG5lcXVlPC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+UHVydXMgc29kYWxlcyB1bHRyaWNpZXM8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT5WZXN0aWJ1bHVtIGxhb3JlZXQgcG9ydHRpdG9yIHNlbTwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPkFjIHRyaXN0aXF1ZSBsaWJlcm8gdm9sdXRwYXQgYXQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+QWMgdHJpc3RpcXVlIGxpYmVybyB2b2x1dHBhdCBhdDwvbGk+XFxuXFx0XFx0XFx0XFx0PC9vbD5cXG5cXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdDxsaT5GYXVjaWJ1cyBwb3J0YSBsYWN1cyBmcmluZ2lsbGEgdmVsPC9saT5cXG5cXHRcXHRcXHQ8bGk+QWVuZWFuIHNpdCBhbWV0IGVyYXQgbnVuYzwvbGk+XFxuXFx0XFx0XFx0PGxpPkVnZXQgcG9ydHRpdG9yIGxvcmVtPC9saT5cXG5cXHRcXHQ8L29sPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PG9sPlxcbjxsaT4uLi48L2xpPlxcbjxsaT4uLi5cXG5cXHQ8b2w+XFxuXFx0XFx0PGxpPi4uLjwvbGk+XFxuXFx0PC9vbD5cXG48L2xpPlxcbjwvb2w+PC9wcmU+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuPGgzPlVuc3R5bGVkPC9oMz5cXG48cD5Vc2UgbW9kaWZpZXIgY2xhc3MgPGNvZGU+X3Vuc3R5bGVkXzwvY29kZT4gdG8gcmVtb3ZlIHRoZSBkZWZhdWx0IDxjb2RlPmxpc3Qtc3R5bGU8L2NvZGU+IGFuZCBsZWZ0IG1hcmdpbiBvbiBsaXN0IGl0ZW1zIChpbW1lZGlhdGUgY2hpbGRyZW4gb25seSkuIDxiPlRoaXMgb25seSBhcHBsaWVzIHRvIGltbWVkaWF0ZSBjaGlsZHJlbiBsaXN0IGl0ZW1zPC9iPiwgbWVhbmluZyB5b3Ugd2lsbCBuZWVkIHRvIGFkZCB0aGUgY2xhc3MgZm9yIGFueSBuZXN0ZWQgbGlzdHMgYXMgd2VsbC48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PG9sIGNsYXNzPVxcXCJfdW5zdHlsZWRfXFxcIj5cXG5cXHRcXHRcXHQ8bGk+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8L2xpPlxcblxcdFxcdFxcdDxsaT5Db25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQ8L2xpPlxcblxcdFxcdFxcdDxsaT5JbnRlZ2VyIG1vbGVzdGllIGxvcmVtIGF0IG1hc3NhPC9saT5cXG5cXHRcXHRcXHQ8bGk+RmFjaWxpc2lzIGluIHByZXRpdW0gbmlzbCBhbGlxdWV0PC9saT5cXG5cXHRcXHRcXHQ8bGk+TnVsbGEgdm9sdXRwYXQgYWxpcXVhbSB2ZWxpdFxcblxcdFxcdFxcdFxcdDxvbD5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+UGhhc2VsbHVzIGlhY3VsaXMgbmVxdWU8L2xpPlxcblxcdFxcdFxcdFxcdFxcdDxsaT5QdXJ1cyBzb2RhbGVzIHVsdHJpY2llczwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0PGxpPlZlc3RpYnVsdW0gbGFvcmVldCBwb3J0dGl0b3Igc2VtPC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+VmVzdGlidWx1bSBsYW9yZWV0IHBvcnR0aXRvciBzZW1cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8dWw+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPlBoYXNlbGx1cyBpYWN1bGlzIG5lcXVlPC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8bGk+UHVydXMgc29kYWxlcyB1bHRyaWNpZXM8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxsaT5WZXN0aWJ1bHVtIGxhb3JlZXQgcG9ydHRpdG9yIHNlbTwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGxpPkFjIHRyaXN0aXF1ZSBsaWJlcm8gdm9sdXRwYXQgYXQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvdWw+XFxuXFx0XFx0XFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8bGk+QWMgdHJpc3RpcXVlIGxpYmVybyB2b2x1dHBhdCBhdDwvbGk+XFxuXFx0XFx0XFx0XFx0PC9vbD5cXG5cXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdDxsaT5GYXVjaWJ1cyBwb3J0YSBsYWN1cyBmcmluZ2lsbGEgdmVsPC9saT5cXG5cXHRcXHRcXHQ8bGk+QWVuZWFuIHNpdCBhbWV0IGVyYXQgbnVuYzwvbGk+XFxuXFx0XFx0XFx0PGxpPkVnZXQgcG9ydHRpdG9yIGxvcmVtPC9saT5cXG5cXHRcXHQ8L29sPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PG9sIGNsYXNzPVxcXCJfdW5zdHlsZWRfXFxcIj5cXG48bGk+Li4uPC9saT5cXG48bGk+Li4uXFxuXFx0PG9sPlxcblxcdFxcdDxsaT4uLi48L2xpPlxcblxcdDwvb2w+XFxuPC9saT5cXG48L29sPjwvcHJlPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcblxcbjxoMz5Ib3Jpem9udGFsPC9oMz5cXG48cD5Vc2UgbW9kaWZpZXIgY2xhc3MgPGNvZGU+X2hvcml6b250YWxfPC9jb2RlPiB0byBwbGFjZSBhbGwgbGlzdCBpdGVtcyBvbiBhIHNpbmdsZSBsaW5lIHdpdGggPGNvZGU+ZGlzcGxheTogaW5saW5lLWJsb2NrPC9jb2RlPiBhbmQgc29tZSBsaWdodCBwYWRkaW5nLjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8b2wgY2xhc3M9XFxcIl9ob3Jpem9udGFsX1xcXCI+XFxuXFx0XFx0XFx0PGxpPkxvcmVtPC9saT5cXG5cXHRcXHRcXHQ8bGk+Q29uc2VjdGV0dXI8L2xpPlxcblxcdFxcdFxcdDxsaT5JbnRlZ2VyPC9saT5cXG5cXHRcXHRcXHQ8bGk+RmFjaWxpc2lzPC9saT5cXG5cXHRcXHRcXHQ8bGk+TnVsbGE8L2xpPlxcblxcdFxcdFxcdDxsaT5GYXVjaWJ1czwvbGk+XFxuXFx0XFx0XFx0PGxpPkFlbmVhbjwvbGk+XFxuXFx0XFx0XFx0PGxpPkVnZXQ8L2xpPlxcblxcdFxcdDwvb2w+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48b2wgY2xhc3M9XFxcIl9ob3Jpem9udGFsX1xcXCI+XFxuXFx0PGxpPkxvcmVtPC9saT5cXG5cXHQ8bGk+Q29uc2VjdGV0dXI8L2xpPlxcblxcdDxsaT5JbnRlZ2VyPC9saT5cXG5cXHQ8bGk+RmFjaWxpc2lzPC9saT5cXG5cXHQ8bGk+TnVsbGE8L2xpPlxcblxcdDxsaT5GYXVjaWJ1czwvbGk+XFxuXFx0PGxpPkFlbmVhbjwvbGk+XFxuXFx0PGxpPkVnZXQ8L2xpPlxcbjwvb2w+PC9wcmU+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgyPkRlc2NyaXB0aW9uPC9oMj5cXG48cD5BIGxpc3Qgb2YgdGVybXMgd2l0aCB0aGVpciBhc3NvY2lhdGVkIGRlc2NyaXB0aW9ucy48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRsPlxcblxcdFxcdFxcdDxkdD5EZXNjcmlwdGlvbiBsaXN0czwvZHQ+XFxuXFx0XFx0XFx0PGRkPkEgZGVzY3JpcHRpb24gbGlzdCBpcyBwZXJmZWN0IGZvciBkZWZpbmluZyB0ZXJtcy48L2RkPlxcblxcdFxcdDwvZGw+XFxuXFx0XFx0PGRsPlxcblxcdFxcdFxcdDxkdD5EZXNjcmlwdGlvbiBsaXN0czwvZHQ+XFxuXFx0XFx0XFx0PGRkPlZlc3RpYnVsdW0gaWQgbGlndWxhIHBvcnRhIGZlbGlzIGV1aXNtb2Qgc2VtcGVyIGVnZXQgbGFjaW5pYSBvZGlvIHNlbSBuZWMgZWxpdC48L2RkPlxcblxcdFxcdFxcdDxkZD5Eb25lYyBpZCBlbGl0IG5vbiBtaSBwb3J0YSBncmF2aWRhIGF0IGVnZXQgbWV0dXMuPC9kZD5cXG5cXHRcXHQ8L2RsPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRsPlxcblxcdDxkdD5EZXNjcmlwdGlvbiBsaXN0czwvZHQ+XFxuXFx0PGRkPkEgZGVzY3JpcHRpb24gbGlzdCBpcyBwZXJmZWN0IGZvciBkZWZpbmluZyB0ZXJtcy48L2RkPlxcbjwvZGw+XFxuPGRsPlxcblxcdDxkdD5EZXNjcmlwdGlvbiBsaXN0czwvZHQ+XFxuXFx0PGRkPlZlc3RpYnVsdW0gaWQgbGlndWxhIHBvcnRhIGZlbGlzIGV1aXNtb2Qgc2VtcGVyIGVnZXQgbGFjaW5pYSBvZGlvIHNlbSBuZWMgZWxpdC48L2RkPlxcblxcdDxkZD5Eb25lYyBpZCBlbGl0IG5vbiBtaSBwb3J0YSBncmF2aWRhIGF0IGVnZXQgbWV0dXMuPC9kZD5cXG48L2RsPjwvcHJlPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxoMz5Ib3Jpem9udGFsPC9oMz5cXG48cD5Vc2UgbW9kaWZpZXIgY2xhc3MgPGNvZGU+X2hvcml6b250YWxfPC9jb2RlPnRvIG1ha2UgdGVybXMgYW5kIGRlc2NyaXB0aW9ucyBpbjxjb2RlPiZsdDtkbCZndDs8L2NvZGU+IGxpbmUgdXAgc2lkZS1ieS1zaWRlLiBSZXNwb25zaXZlLjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGwgY2xhc3M9XFxcIl9ob3Jpem9udGFsX1xcXCI+XFxuXFx0XFx0XFx0PGR0PkRlc2NyaXB0aW9uIGxpc3RzPC9kdD5cXG5cXHRcXHRcXHQ8ZGQ+QSBkZXNjcmlwdGlvbiBsaXN0IGlzIHBlcmZlY3QgZm9yIGRlZmluaW5nIHRlcm1zLjwvZGQ+XFxuXFx0XFx0PC9kbD5cXG5cXHRcXHQ8ZGwgY2xhc3M9XFxcIl9ob3Jpem9udGFsX1xcXCI+XFxuXFx0XFx0XFx0PGR0IHRpdGxlPVxcXCJEZXNjcmlwdGlvbiBsaXN0cyB3aXRoIHZlcnktdmVyeS12ZXJ5IGxvbmcgdGl0bGVcXFwiPkRlc2NyaXB0aW9uIGxpc3RzIHdpdGggdmVyeS12ZXJ5LXZlcnkgbG9uZyB0aXRsZTwvZHQ+XFxuXFx0XFx0XFx0PGRkPlZlc3RpYnVsdW0gaWQgbGlndWxhIHBvcnRhIGZlbGlzIGV1aXNtb2Qgc2VtcGVyIGVnZXQgbGFjaW5pYSBvZGlvIHNlbSBuZWMgZWxpdC48L2RkPlxcblxcdFxcdFxcdDxkZD5Eb25lYyBpZCBlbGl0IG5vbiBtaSBwb3J0YSBncmF2aWRhIGF0IGVnZXQgbWV0dXMuPC9kZD5cXG5cXHRcXHQ8L2RsPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRsIGNsYXNzPVxcXCJfaG9yaXpvbnRhbF9cXFwiPlxcblxcdDxkdD5EZXNjcmlwdGlvbiBsaXN0czwvZHQ+XFxuXFx0PGRkPkEgZGVzY3JpcHRpb24gbGlzdCBpcyBwZXJmZWN0IGZvciBkZWZpbmluZyB0ZXJtcy48L2RkPlxcbjwvZGw+XFxuXFx0PGRsIGNsYXNzPVxcXCJfaG9yaXpvbnRhbF9cXFwiPlxcblxcdDxkdCB0aXRsZT1cXFwiRGVzY3JpcHRpb24gbGlzdHMgd2l0aCB2ZXJ5LXZlcnktdmVyeSBsb25nIHRpdGxlXFxcIj5EZXNjcmlwdGlvbiBsaXN0cyB3aXRoIHZlcnktdmVyeS12ZXJ5IGxvbmcgdGl0bGU8L2R0PlxcblxcdDxkZD5WZXN0aWJ1bHVtIGlkIGxpZ3VsYSBwb3J0YSBmZWxpcyBldWlzbW9kIHNlbXBlciBlZ2V0IGxhY2luaWEgb2RpbyBzZW0gbmVjIGVsaXQuPC9kZD5cXG5cXHQ8ZGQ+RG9uZWMgaWQgZWxpdCBub24gbWkgcG9ydGEgZ3JhdmlkYSBhdCBlZ2V0IG1ldHVzLjwvZGQ+XFxuPC9kbD48L3ByZT48L2Rpdj5cXG48L2Rpdj5cXG5cIixcImxpbmtzXCI6XCI8IS0tID09PT09PT09PT09PSBIRUFESU5HUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPkxpbmtzPC9oMj5cXG48cD5BZGQgYmVhdXRpZnVsIHVuZGVybGluZSB0byB5b3VyIGxpbmtzLiBVc2UgPGNvZGU+Li1saW5rLWhhbmc8L2NvZGU+PC9wPlxcblxcbjxzZWN0aW9uPlxcblxcdDwhLS0gPT09PT09PT09PT09IFZhcmlhYmxlcyAtLT5cXG5cXHQ8cD5cXG5cXHRcXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczo8L2g0PlxcblxcdFxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiR0eXBvLWxpbmstaGFuZy1jbGFzczogXFxcIi1saW5rLWhhbmdcXFwiICFnbG9iYWxcXG5cXHQkdHlwby1saW5rLWhhbmctdW5kZXJsaW5lLWhlaWdodDogMXB4ICFnbG9iYWw8L3ByZT48L2Rpdj5cXG5cXHQ8L3A+XFxuXFxuXFx0PHA+XFxuXFx0XFx0PGJsb2NrcXVvdGUgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+PGI+SW1wb3J0YW50ITwvYj4gSWYgeW91IHVzZSA8Y29kZT4tbGluay1oYW5nPC9jb2RlPiB3aXRoIHRhZyA8Y29kZT4mbHQ7YSZndDs8L2NvZGU+LCB0aGUgY29sb3Igb2YgdGFnIHdpbGwgbm90IGJlIGNoYW5nZWQuIFlvdSdsbCBuZWVkIHRvIGNoYW5nZSBpdCBtYW51YWxseS4gSSBkaWQgaXQgdG8gbm90IHRvIGJyZWFrIHVzZXIncyBjc3MuPC9ibG9ja3F1b3RlPlxcblxcdDwvcD5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNlxcXCI+XFxuXFx0XFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIi1saW5rLWhhbmcgLWVycm9yLSBfaHVnZVxcXCI+SGFuZyBMaW5rIGlzIGhlcmU8L3NwYW4+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPlxcblxcdFxcdFxcdFxcdFdpdGggdGFnIDxjb2RlPiZsdDthJmd0OzwvY29kZT4geW91J2xsIG5lZWQgdG8gY2hhbmdlIHRleHQgY29sb3Igb2YgdGhlIGxpbmsgbWFudWFsbHk6XFxuXFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9iaWdcXFwiPjxhIGNsYXNzPVxcXCItbGluay1oYW5nIC13YXJuaW5nLVxcXCIgaHJlZj1cXFwiXFxcIj5IYW5nIExpbmsgaXMgaGVyZTwvYT48L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2XFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHNwYW4gY2xhc3M9XFxcIi1saW5rLWhhbmcgLWVycm9yLSBfaHVnZVxcXCI+SGFuZyBMaW5rIGlzIGhlcmU8L3NwYW4+PC9wcmU+PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YSBjbGFzcz1cXFwiLWxpbmstaGFuZyAtd2FybmluZy1cXFwiIGhyZWY9XFxcIlxcXCI+SGFuZyBMaW5rIGlzIGhlcmU8L2E+PC9wcmU+PC9kaXY+PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9zZWN0aW9uPlxcblxcbjxzZWN0aW9uPlxcblxcdDxoMz5JbiBibG9jayBhbmQgaW5saW5lIHRhZ3M8L2gzPlxcblxcblxcdDxwPlB1dCA8Y29kZT4tbGluay1oYW5nPC9jb2RlPiBpbnNpZGUgZWxlbWVudHMgPGNvZGU+YjwvY29kZT4sIDxjb2RlPmk8L2NvZGU+LCA8Y29kZT5zbWFsbDwvY29kZT4sIDxjb2RlPnA8L2NvZGU+IGFuZCA8Y29kZT5zcGFuPC9jb2RlPi4gVGhlIHN0eWxlcyB3aWxsIGFwbHkgdG8gdGhlIGlubmVyIDxjb2RlPi1saW5rLWhhbmc8L2NvZGU+IGF1dG9tYXRpY2FsbHkuPC9wPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCJfaHVnZVxcXCI+VGhlcmUgaXMgPHNwYW4gY2xhc3M9XFxcIi1saW5rLWhhbmdcXFwiPkhhbmcgTGluazwvc3Bhbj4gaW5zaWRlIHRoaXMgc3Bhbi48L3NwYW4+PGJyPlxcblxcdFxcdFxcdDxwIGNsYXNzPVxcXCItaW5mby0gX2JpZ1xcXCI+SW5mbyBiaWcgcGFyYWdyYXBoIHdpdGggPHNwYW4gY2xhc3M9XFxcIi1saW5rLWhhbmdcXFwiPkhhbmcgTGluazwvc3Bhbj4gaW5zaWRlLjwvcD5cXG5cXHRcXHRcXHQ8c21hbGwgY2xhc3M9XFxcIi13YXJuaW5nLVxcXCI+V2FybmluZyBzbWFsbCB0YWcgd2l0aCA8c3BhbiBjbGFzcz1cXFwiLWxpbmstaGFuZ1xcXCI+SGFuZyBMaW5rPC9zcGFuPiBpbnNpZGUgPC9zbWFsbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxzcGFuIGNsYXNzPVxcXCJfaHVnZVxcXCI+VGhlcmUgaXMgPHNwYW4gY2xhc3M9XFxcIi1saW5rLWhhbmdcXFwiPkhhbmcgTGluazwvc3Bhbj4gaW5zaWRlIHRoaXMgc3Bhbjwvc3Bhbj48YnI+XFxuPHAgY2xhc3M9XFxcIi1pbmZvLSBfYmlnXFxcIj5JbmZvIGJpZyBwYXJhZ3JhcGggd2l0aCA8c3BhbiBjbGFzcz1cXFwiLWxpbmstaGFuZ1xcXCI+SGFuZyBMaW5rPC9zcGFuPiBpbnNpZGUuPC9wPlxcbjxzbWFsbCBjbGFzcz1cXFwiLXdhcm5pbmctXFxcIj5XYXJuaW5nIHNtYWxsIHRhZyB3aXRoIDxzcGFuIGNsYXNzPVxcXCItbGluay1oYW5nXFxcIj5IYW5nIExpbms8L3NwYW4+IGluc2lkZSA8L3NtYWxsPjwvcHJlPlxcblxcdDwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cXG5cXG48c2VjdGlvbj5cXG5cXHQ8aDMgY2xhc3M9XFxcImRldi1oLXByb2JsZW1zXFxcIj5Qcm9ibGVtczwvaDM+XFxuXFx0PHA+XFxuXFx0XFx0V2hlbiB5b3UgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kLCB5b3UgY2FuIHNlZSB0aGUgYXJ0aWZhY3RzLlxcblxcdDwvcD5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIiBzdHlsZT1cXFwiYmFja2dyb3VuZC1jb2xvcjogI2NjY1xcXCI+XFxuXFx0XFx0XFx0PHNwYW4gY2xhc3M9XFxcIl9odWdlXFxcIj5UaGVyZSBpcyA8c3BhbiBjbGFzcz1cXFwiLWxpbmstaGFuZ1xcXCI+SGFuZyBMaW5rPC9zcGFuPiBpbnNpZGUgdGhpcyBzcGFuLjwvc3Bhbj48YnI+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PHA+VG8gZml4IHRoYXQsIGFkZCA8Y29kZT50ZXh0LXNoYWRvdzogLjFlbSAwIDAgY29sb3ItaGVyZSwgLS4xZW0gMCAwIGNvbG9yLWhlcmU8L2NvZGU+IHRvIHlvdXIgPGNvZGU+LWxpbmstaGFuZzwvY29kZT4gaW4gdGhlIGJsb2NrIHdpdGggYmFja2dyb3VuZC48L3A+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCIgc3R5bGU9XFxcImJhY2tncm91bmQtY29sb3I6ICNjY2NcXFwiPlxcblxcdFxcdFxcdDxzcGFuIGNsYXNzPVxcXCJfaHVnZVxcXCI+VGhlcmUgaXMgPHNwYW4gY2xhc3M9XFxcIi1saW5rLWhhbmdcXFwiIHN0eWxlPVxcXCJ0ZXh0LXNoYWRvdzogLjFlbSAwIDAgI2NjYywgMCAwLCAtLjFlbSAwIDAgI2NjY1xcXCI+SGFuZyBMaW5rPC9zcGFuPiBpbnNpZGUgdGhpcyBzcGFuLjwvc3Bhbj48YnI+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IHN0eWxlPVxcXCJiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjXFxcIj5cXG5cXHQ8c3BhbiBjbGFzcz1cXFwiX2h1Z2VcXFwiPlRoZXJlIGlzIDxzcGFuIGNsYXNzPVxcXCItbGluay1oYW5nXFxcIiBzdHlsZT1cXFwidGV4dC1zaGFkb3c6IC4xZW0gMCAwICNjY2MsIC0uMWVtIDAgMCAjY2NjXFxcIj5IYW5nIExpbms8L3NwYW4+IGluc2lkZSB0aGlzIHNwYW4uPC9zcGFuPlxcbjwvZGl2PjwvcHJlPlxcblxcdDwvZGl2Plxcbjwvc2VjdGlvbj5cIixcImhlYWRpbmdzXCI6XCI8IS0tID09PT09PT09PT09PSBIRUFESU5HUyAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPkhlYWRpbmdzPC9oMj5cXG48cD5TcGVjaWZpZXMgaGVhZGluZy4gVXNlIDxjb2RlPmgjPC9jb2RlPiBvciBjbGFzcyA8Y29kZT4uLWgjPC9jb2RlPjxzbWFsbD4oIyAtIG51bWJlciAxLi42KTwvc21hbGw+PC9wPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZhcmlhYmxlcyAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczo8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRoZWFkaW5ncy1jbGFzczogXFxcIi1oXFxcIlxcblxcbiRoZWFkaW5ncy1oMS1mb250LXNpemU6IGZsb29yKCRiYXNlLWZvbnQtc2l6ZSAqIDIuNikgIWdsb2JhbFxcbiRoZWFkaW5ncy1oMi1mb250LXNpemU6IGZsb29yKCRiYXNlLWZvbnQtc2l6ZSAqIDIuMTUpICFnbG9iYWxcXG4kaGVhZGluZ3MtaDMtZm9udC1zaXplOiBmbG9vcigkYmFzZS1mb250LXNpemUgKiAxLjcpICFnbG9iYWxcXG4kaGVhZGluZ3MtaDQtZm9udC1zaXplOiBmbG9vcigkYmFzZS1mb250LXNpemUgKiAxLjI1KSAhZ2xvYmFsXFxuJGhlYWRpbmdzLWg1LWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICFnbG9iYWxcXG4kaGVhZGluZ3MtaDYtZm9udC1zaXplOiBmbG9vcigkYmFzZS1mb250LXNpemUgKiAwLjg1KSAhZ2xvYmFsXFxuXFxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjEgIWdsb2JhbFxcblxcbiRoZWFkaW5ncy1mb250LXdlaWdodDogNTAwICFnbG9iYWxcXG4kaGVhZGluZ3MtZm9udC13ZWlnaHQtc21hbGw6IDUwMCAhZ2xvYmFsXFxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFnbG9iYWxcXG4kaGVhZGluZ3MtY29sb3I6IGluaGVyaXQgIWdsb2JhbFxcbiRoZWFkaW5ncy1pbmplY3Rpb24tY29sb3I6ICM5OTkgIWdsb2JhbDwvcHJlPjwvZGl2PlxcbjwvcD5cXG5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNlxcXCI+XFxuXFx0XFx0XFx0PGgxPkhlYWRpbmcgMTwvaDE+XFxuXFx0XFx0XFx0PGgyPkhlYWRpbmcgMjwvaDI+XFxuXFx0XFx0XFx0PGgzPkhlYWRpbmcgMzwvaDM+XFxuXFx0XFx0XFx0PGg0PkhlYWRpbmcgNDwvaDQ+XFxuXFx0XFx0XFx0PGg1PkhlYWRpbmcgNTwvaDU+XFxuXFx0XFx0XFx0PGg2PkhlYWRpbmcgNjwvaDY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oMVxcXCI+SGVhZGluZyAxPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWgyXFxcIj5IZWFkaW5nIDI8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaDNcXFwiPkhlYWRpbmcgMzwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oNFxcXCI+SGVhZGluZyA0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWg1XFxcIj5IZWFkaW5nIDU8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaDZcXFwiPkhlYWRpbmcgNjwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNlxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxoMT5IZWFkaW5nIDE8L2gxPlxcbjxoMj5IZWFkaW5nIDI8L2gyPlxcbjxoMz5IZWFkaW5nIDM8L2gzPlxcbjxoND5IZWFkaW5nIDQ8L2g0PlxcbjxoNT5IZWFkaW5nIDU8L2g1PlxcbjxoNj5IZWFkaW5nIDY8L2g2PjwvcHJlPjwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2XFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLWgxXFxcIj5IZWFkaW5nIDE8L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItaDJcXFwiPkhlYWRpbmcgMjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1oM1xcXCI+SGVhZGluZyAzPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLWg0XFxcIj5IZWFkaW5nIDQ8L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItaDVcXFwiPkhlYWRpbmcgNTwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1oNlxcXCI+SGVhZGluZyA2PC9kaXY+PC9wcmU+PC9kaXY+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuPGgzPkluamVjdGlvbnMgaW5zaWRlIGhlYWRpbmdzPC9oMz5cXG5Vc2Ugc2l6ZSBjbGFzc2VzPGJyPlxcbjxjb2RlPl90aW55PC9jb2RlPixcXG48Y29kZT5fc21hbGw8L2NvZGU+LFxcbjxjb2RlPl9taW5vcjwvY29kZT4sXFxuPGNvZGU+X25vcm1hbDwvY29kZT4sXFxuPGNvZGU+X21ham9yPC9jb2RlPixcXG48Y29kZT5fbm9ybWFsPC9jb2RlPixcXG48Y29kZT5fYmlnPC9jb2RlPixcXG48Y29kZT5faHVnZTwvY29kZT4sXFxuPGNvZGU+X2RpdmluZTwvY29kZT5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNlxcXCI+XFxuXFx0XFx0XFx0PGg0PkhlYWRpbmcgNCA8c21hbGwgY2xhc3M9XFxcIl9zbWFsbFxcXCI+c21hbGwgaW5qZWN0aW9uPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdDxoND5IZWFkaW5nIDQgPHNtYWxsIGNsYXNzPVxcXCJfbWlub3JcXFwiPm1pbm9yIGluamVjdGlvbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHQ8aDQ+SGVhZGluZyA0IDxzbWFsbCBjbGFzcz1cXFwiX25vcm1hbFxcXCI+bm9ybWFsIGluamVjdGlvbjwvc21hbGw+PC9oND5cXG5cXHRcXHRcXHQ8aDQ+SGVhZGluZyA0IDxzbWFsbD5ubyBjbGFzcyBpbmplY3Rpb248L3NtYWxsPjwvaDQ+XFxuXFx0XFx0XFx0PGg0PkhlYWRpbmcgNCA8c21hbGwgY2xhc3M9XFxcIl9tYWpvclxcXCI+bWFqb3IgaW5qZWN0aW9uPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdDxoND5IZWFkaW5nIDQgPHNtYWxsIGNsYXNzPVxcXCJfYmlnXFxcIj5iaWcgaW5qZWN0aW9uPC9zbWFsbD48L2g0PlxcblxcdFxcdFxcdDxoND5IZWFkaW5nIDQgPHNtYWxsIGNsYXNzPVxcXCJfaHVnZVxcXCI+aHVnZSBpbmplY3Rpb248L3NtYWxsPjwvaDQ+XFxuXFx0XFx0XFx0PGg0PkhlYWRpbmcgNCA8c21hbGwgY2xhc3M9XFxcIl9kaXZpbmVcXFwiPmRpdmluZSBpbmplY3Rpb248L3NtYWxsPjwvaDQ+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPlxcblxcdFxcdFxcdDxoMT5IZWFkaW5nIDEgPHNtYWxsIGNsYXNzPVxcXCJfc21hbGxcXFwiPnNtYWxsIGluamVjdGlvbjwvc21hbGw+PC9oMT5cXG5cXHRcXHRcXHQ8aDE+SGVhZGluZyAxIDxzbWFsbCBjbGFzcz1cXFwiX25vcm1hbFxcXCI+bm9ybWFsIGluamVjdGlvbjwvc21hbGw+PC9oMT5cXG5cXHRcXHRcXHQ8aDE+SGVhZGluZyAxIDxzbWFsbCBjbGFzcz1cXFwiX21ham9yXFxcIj5tYWpvciBpbmplY3Rpb248L3NtYWxsPjwvaDE+XFxuXFx0XFx0XFx0PGgxPkhlYWRpbmcgMSA8c21hbGwgY2xhc3M9XFxcIl9odWdlXFxcIj5odWdlIGluamVjdGlvbjwvc21hbGw+PC9oMT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48aDQ+SGVhZGluZyA0IDxzbWFsbCBjbGFzcz1cXFwiX3RpbnlcXFwiPnRpbnkgaW5qZWN0aW9uPC9zbWFsbD48L2g0PlxcbjxoND5IZWFkaW5nIDQgPHNtYWxsIGNsYXNzPVxcXCJfc21hbGxcXFwiPnNtYWxsIGluamVjdGlvbjwvc21hbGw+PC9oND5cXG48aDQ+SGVhZGluZyA0IDxzbWFsbCBjbGFzcz1cXFwiX21pbm9yXFxcIj5taW5vciBpbmplY3Rpb248L3NtYWxsPjwvaDQ+XFxuPGg0PkhlYWRpbmcgNCA8c21hbGwgY2xhc3M9XFxcIl9ub3JtYWxcXFwiPm5vcm1hbCBpbmplY3Rpb248L3NtYWxsPjwvaDQ+XFxuPGg0PkhlYWRpbmcgNCA8c21hbGw+bm8gY2xhc3MgaW5qZWN0aW9uPC9zbWFsbD48L2g0PlxcbjxoND5IZWFkaW5nIDQgPHNtYWxsIGNsYXNzPVxcXCJfbWFqb3JcXFwiPm1ham9yIGluamVjdGlvbjwvc21hbGw+PC9oND5cXG48aDQ+SGVhZGluZyA0IDxzbWFsbCBjbGFzcz1cXFwiX2JpZ1xcXCI+YmlnIGluamVjdGlvbjwvc21hbGw+PC9oND5cXG48aDQ+SGVhZGluZyA0IDxzbWFsbCBjbGFzcz1cXFwiX2h1Z2VcXFwiPmh1Z2UgaW5qZWN0aW9uPC9zbWFsbD48L2g0PlxcbjxoND5IZWFkaW5nIDQgPHNtYWxsIGNsYXNzPVxcXCJfZGl2aW5lXFxcIj5kaXZpbmUgaW5qZWN0aW9uPC9zbWFsbD48L2g0PjwvcHJlPjwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2XFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGgxPkhlYWRpbmcgMSA8c21hbGwgY2xhc3M9XFxcIl90aW55XFxcIj50aW55IGluamVjdGlvbjwvc21hbGw+PC9oMT5cXG48aDE+SGVhZGluZyAxIDxzbWFsbCBjbGFzcz1cXFwiX25vcm1hbFxcXCI+bm9ybWFsIGluamVjdGlvbjwvc21hbGw+PC9oMT5cXG48aDE+SGVhZGluZyAxIDxzbWFsbCBjbGFzcz1cXFwiX21ham9yXFxcIj5tYWpvciBpbmplY3Rpb248L3NtYWxsPjwvaDE+XFxuPGgxPkhlYWRpbmcgMSA8c21hbGwgY2xhc3M9XFxcIl9odWdlXFxcIj5odWdlIGluamVjdGlvbjwvc21hbGw+PC9oMT48L3ByZT48L2Rpdj48L2Rpdj5cXG48L2Rpdj5cXG5cIixcImNvbW1vblwiOlwiPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0PGgxPlR5cG9ncmFwaHk8L2gxPlxcbjwvZGl2PlxcblwiLFwiY29kZVwiOlwiPCEtLSA9PT09PT09PT09PT0gQ09ERSAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPkNvZGU8L2gyPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZhcmlhYmxlcyAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczo8L2g0PlxcblxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kY29kZS1ib3JkZXI6IDBweCBzb2xpZCByZ2JhKDAsMCwwLC4wNSlcXG4kY29kZS1jb2xvcjogI2M3MjU0ZVxcbiRjb2RlLWJhY2tncm91bmQ6ICNmOWYyZjRcXG4kY29kZS1mb250LXNpemU6IDkwJVxcbiRjb2RlLXBhZGRpbmc6IDFweCA0cHhcXG4kY29kZS1ib3JkZXItcmFkaXVzOiAycHhcXG5cXG4kcHJlLWJnOiAjZjVmNWY1XFxuJHByZS1jb2xvcjogIzc3N1xcbiRwcmUtYm9yZGVyLWNvbG9yOiAjY2NjXFxuJHByZS1ib3JkZXItcmFkaXVzOiAzcHg8L3ByZT5cXG48L3A+XFxuXFxuXFxuPGgzPklubGluZTwvaDM+XFxuPHA+V3JhcCBpbmxpbmUgc25pcHBldHMgb2YgY29kZSB3aXRoIDxjb2RlPiZsdDtjb2RlJmd0OzwvY29kZT4uPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdEZvciBleGFtcGxlLCA8Y29kZT4mbHQ7c2VjdGlvbiZndDs8L2NvZGU+IHNob3VsZCBiZSB3cmFwcGVkIGFzIGlubGluZS5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPkZvciBleGFtcGxlLCA8Y29kZT4mbHQ7c2VjdGlvbiZndDs8L2NvZGU+IHNob3VsZCBiZSB3cmFwcGVkIGFzIGlubGluZS48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG48aDM+QmxvY2s8L2gzPlxcbjxwPlVzZSA8Y29kZT4mbHQ7cHJlJmd0OzwvY29kZT4gZm9yIG11bHRpcGxlIGxpbmVzIG9mIGNvZGUuIEJlIHN1cmUgdG8gZXNjYXBlIGFueSBhbmdsZSBicmFja2V0cyBpbiB0aGUgY29kZSBmb3IgcHJvcGVyIHJlbmRlcmluZy48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHByZT4mbHQ7cCZndDtTYW1wbGUgdGV4dCBoZXJlLi4uJmx0Oy9wJmd0OzwvcHJlPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHByZT4mbHQ7cCZndDtTYW1wbGUgdGV4dCBoZXJlLi4uJmx0Oy9wJmd0OzwvcHJlPjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblwiLFwiYm9keVwiOlwiPCEtLSA9PT09PT09PT09PT0gVFlQT0dSQVBIWSBCT0RZIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDI+Qm9keTwvaDI+XFxuPHA+QWxsIGNvbW1vbiB0YWdzLjwvcD5cXG5cXG48IS0tID09PT09PT09PT09PSBWYXJpYWJsZXMgLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM6PC9oND5cXG5cXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JGJvZHktYi1mb250LXdlaWdodDogNzAwICFnbG9iYWxcXG4kYm9keS1pLWZvbnQtc3R5bGU6IGl0YWxpYyAhZ2xvYmFsXFxuJGJvZHktc21hbGwtZm9udC1zaXplOiA4NSUgIWdsb2JhbFxcblxcbiRhYmJyLWluaXRpYWxpc20tY2xhc3M6IFxcXCItaW5pdGlhbGlzbVxcXCIgIWdsb2JhbFxcblxcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogODAlICFnbG9iYWw8L3ByZT5cXG48L3A+XFxuXFxuXFxuPGgzPkJvbGQ8L2gzPlxcbjxwPkZvciBlbXBoYXNpemluZyBhIHNuaXBwZXQgb2YgdGV4dCB3aXRoIGEgaGVhdmllciBmb250LXdlaWdodC48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGI+VGhpcyBpcyBib2xkIHRleHQ8L2I+PGJyPlxcblxcdFxcdDxzdHJvbmc+VGhpcyBpcyBib2xkIHRleHQ8L3N0cm9uZz5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDZcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48Yj5UaGlzIGlzIGJvbGQgdGV4dDwvYj5cXG48c3Ryb25nPlRoaXMgaXMgYm9sZCB0ZXh0PC9zdHJvbmc+PC9wcmU+PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGgzPkl0YWxpYzwvaDM+XFxuPHA+Rm9yIGVtcGhhc2l6aW5nIGEgc25pcHBldCBvZiB0ZXh0IHdpdGggaXRhbGljcy48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGk+VGhpcyBpcyBpdGFsaWMgdGV4dDwvaT48YnI+XFxuXFx0XFx0PGVtPlRoaXMgaXMgaXRhbGljIHRleHQ8L2VtPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNlxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxpPlRoaXMgaXMgaXRhbGljIHRleHQ8L2k+XFxuPGVtPlRoaXMgaXMgaXRhbGljIHRleHQ8L2VtPjwvcHJlPjwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxoMz5TbWFsbDwvaDM+XFxuPHA+Rm9yIGRlLWVtcGhhc2l6aW5nIGlubGluZSBvciBibG9ja3Mgb2YgdGV4dCwgdXNlIHRoZSA8Y29kZT4mbHQ7c21hbGwmZ3Q7PC9jb2RlPiB0YWcgdG8gc2V0IHRleHQgYXQgODUlIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQuIEhlYWRpbmcgZWxlbWVudHMgcmVjZWl2ZSB0aGVpciBvd24gZm9udC1zaXplIGZvciBuZXN0ZWQgPGNvZGU+Jmx0O3NtYWxsJmd0OzwvY29kZT4gZWxlbWVudHMuPC9wPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdE5vcm1hbCBhbmQgPHNtYWxsPnNtYWxsIHRleHQ8L3NtYWxsPjxicj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPk5vcm1hbCBhbmQgPHNtYWxsPnNtYWxsIHRleHQ8L3NtYWxsPjwvcHJlPjwvZGl2PlxcbjwvZGl2PlxcblxcblxcbjxoMz5TaXplcyB3aXRoIGlubGluZSBlbGVtZW50czwvaDM+XFxuPHA+XFxuXFx0VXNlIHNpemUgY2xhc3Nlc1xcblxcdDxjb2RlPl90aW55PC9jb2RlPixcXG5cXHQ8Y29kZT5fc21hbGw8L2NvZGU+LFxcblxcdDxjb2RlPl9taW5vcjwvY29kZT4sXFxuXFx0PGNvZGU+X25vcm1hbDwvY29kZT4sXFxuXFx0PGNvZGU+X21ham9yPC9jb2RlPixcXG5cXHQ8Y29kZT5fbm9ybWFsPC9jb2RlPixcXG5cXHQ8Y29kZT5fYmlnPC9jb2RlPixcXG5cXHQ8Y29kZT5faHVnZTwvY29kZT4sXFxuXFx0PGNvZGU+X2RpdmluZTwvY29kZT5cXG5cXHR3aXRoIGlubGluZSBlbGVtZW50cyB0byBzZXQgc2l6ZS5cXG48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0Tm9ybWFsIHRleHQgd2l0aCA8c3BhbiBjbGFzcz1cXFwiX21pbm9yXFxcIj5fbWFqb3IgdGV4dDwvc3Bhbj4sIGFuZCBoZXJlIGlzIDxpIGNsYXNzPVxcXCJfYmlnXFxcIj5fYmlnIGl0YWxpYyB0ZXh0PC9pPiwgYW5kIDxiIGNsYXNzPVxcXCJfaHVnZVxcXCI+X2h1Z2UgYm9sZDwvYj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPk5vcm1hbCB0ZXh0IHdpdGggPHNwYW4gY2xhc3M9XFxcIl9taW5vclxcXCI+X21ham9yIHRleHQ8L3NwYW4+LCBhbmQgaGVyZSBpcyA8aSBjbGFzcz1cXFwiX2JpZ1xcXCI+X2JpZyBpdGFsaWMgdGV4dDwvaT4sIGFuZCA8YiBjbGFzcz1cXFwiX2h1Z2VcXFwiPl9odWdlIGJvbGQ8L2I+PC9wcmU+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGgzPlRoZW1lcyB3aXRoIGlubGluZSBlbGVtZW50czwvaDM+XFxuPHA+XFxuXFx0VXNlIHRoZW1lIGNsYXNzZXMgKHlvdSBjYW4gaW5jbHVkZSBhbnkgdGhlbWUsIHNvIHRoZW1lcyBjbGFzcyBuYW1lcyBjYW4gYmUgZGlmZmVyZW50KVxcblxcdDxjb2RlPi1wcmltYXJ5LTwvY29kZT4sXFxuXFx0PGNvZGU+LWVycm9yLTwvY29kZT4sXFxuXFx0PGNvZGU+LXN1Y2Nlc3MtPC9jb2RlPlxcblxcblxcdHdpdGggaW5saW5lIGVsZW1lbnRzIHRvIHNldCB0aGVtZS5cXG48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0Tm9ybWFsIHRleHQgd2l0aCA8c3BhbiBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj4tcHJpbWFyeS0gdGV4dDwvc3Bhbj4sIDxpIGNsYXNzPVxcXCItZXJyb3ItXFxcIj5pIC1lcnJvci0gdGV4dDwvaT4sIDxiIGNsYXNzPVxcXCItc3VjY2Vzcy1cXFwiPmIgLXN1Y2Nlc3MtIHRleHQ8L2I+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5Ob3JtYWwgdGV4dCB3aXRoIDxzcGFuIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPi1wcmltYXJ5LSB0ZXh0PC9zcGFuPiwgPGkgY2xhc3M9XFxcIi1lcnJvci1cXFwiPmkgLWVycm9yLSB0ZXh0PC9pPiwgPGIgY2xhc3M9XFxcIi1zdWNjZXNzLVxcXCI+YiAtc3VjY2Vzcy0gdGV4dDwvYj48L3ByZT48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48aDM+TW9kaWZpZXJzIHdpdGggaW5saW5lIGVsZW1lbnRzPC9oMz5cXG48cD5cXG5cXHRVc2UgbW9kaWZpZXIgY2xhc3NlcyA8Y29kZT5fbGVmdF88L2NvZGU+LCA8Y29kZT5fY2VudGVyXzwvY29kZT4sIDxjb2RlPl9yaWdodF88L2NvZGU+LCA8Y29kZT5fanVzdGlmeV88L2NvZGU+IHdpdGggaW5saW5lIGVsZW1lbnRzIHRvIHJlYWxpZ24gdGV4dC5cXG48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHAgY2xhc3M9XFxcIl9sZWZ0X1xcXCI+bGVmdDwvcD5cXG5cXHRcXHQ8cCBjbGFzcz1cXFwiX2NlbnRlcl9cXFwiPmNlbnRlcjwvcD5cXG5cXHRcXHQ8cCBjbGFzcz1cXFwiX3JpZ2h0X1xcXCI+cmlnaHQ8L3A+XFxuXFx0XFx0PHAgY2xhc3M9XFxcIl9qdXN0aWZ5X1xcXCI+SnVzdGlmeSBpcyBpbiB0aGlzIGJsb2NrISBMb3JlbSBJcHN1bSBpcyBzaW1wbHkgZHVtbXkgdGV4dCBvZiB0aGUgcHJpbnRpbmcgYW5kIHR5cGVzZXR0aW5nIGluZHVzdHJ5LiBMb3JlbSBJcHN1bSBoYXMgYmVlbiB0aGUgaW5kdXN0cnkncyBzdGFuZGFyZCBkdW1teSB0ZXh0IGV2ZXIgc2luY2UgdGhlIDE1MDBzLCB3aGVuIGFuIHVua25vd24gcHJpbnRlciB0b29rIGEgZ2FsbGV5IG9mIHR5cGUgYW5kIHNjcmFtYmxlZCBpdCB0byBtYWtlIGEgdHlwZSBzcGVjaW1lbiBib29rLiBJdCBoYXMgc3Vydml2ZWQgbm90IG9ubHkgZml2ZSBjZW50dXJpZXMsIGJ1dCBhbHNvIHRoZSBsZWFwIGludG8gZWxlY3Ryb25pYyB0eXBlc2V0dGluZywgcmVtYWluaW5nIGVzc2VudGlhbGx5IHVuY2hhbmdlZC4gSXQgd2FzIHBvcHVsYXJpc2VkIGluIHRoZSAxOTYwcyB3aXRoIHRoZSByZWxlYXNlIG9mIExldHJhc2V0IHNoZWV0cyBjb250YWluaW5nIExvcmVtIElwc3VtIHBhc3NhZ2VzLCBhbmQgbW9yZSByZWNlbnRseSB3aXRoIGRlc2t0b3AgcHVibGlzaGluZyBzb2Z0d2FyZSBsaWtlIEFsZHVzIFBhZ2VNYWtlciBpbmNsdWRpbmcgdmVyc2lvbnMgb2YgTG9yZW0gSXBzdW0uPC9wPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHAgY2xhc3M9XFxcIl9sZWZ0X1xcXCI+bGVmdDwvcD5cXG48cCBjbGFzcz1cXFwiX2NlbnRlcl9cXFwiPmNlbnRlcjwvcD5cXG48cCBjbGFzcz1cXFwiX3JpZ2h0X1xcXCI+cmlnaHQ8L3A+XFxuPHAgY2xhc3M9XFxcIl9qdXN0aWZ5X1xcXCI+SnVzdGlmeSBpcyBpbiB0aGlzIGJsb2NrISAuLi48L3A+PC9wcmU+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgzPkFiYnJldmlhdGlvbjwvaDM+XFxuQWJicmV2aWF0aW9ucyB3aXRoIGEgdGl0bGUgYXR0cmlidXRlIGhhdmUgYSBsaWdodCBkb3R0ZWQgYm90dG9tIGJvcmRlciBhbmQgYSBoZWxwIGN1cnNvciBvbiBob3ZlciwgcHJvdmlkaW5nIGFkZGl0aW9uYWwgY29udGV4dCBvbiBob3Zlci4gSWYgeW91IHVzZSBpbml0aWFsaXNtLCB1c2UgPGNvZGU+LWluaXRpYWxpc208L2NvZGU+IGNsYXNzLlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxhYmJyIHRpdGxlPVxcXCJhdHRyaWJ1dGVcXFwiPmF0dHI8L2FiYnI+LCA8YWJiciBjbGFzcz1cXFwiLWluaXRpYWxpc21cXFwiIHRpdGxlPVxcXCJIeXBlclRleHQgTWFya3VwIExhbmd1YWdlXFxcIj5IVE1MPC9hYmJyPlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGFiYnIgdGl0bGU9XFxcImF0dHJpYnV0ZVxcXCI+YXR0cjwvYWJicj4sIDxhYmJyIGNsYXNzPVxcXCItaW5pdGlhbGlzbVxcXCIgdGl0bGU9XFxcIkh5cGVyVGV4dCBNYXJrdXAgTGFuZ3VhZ2VcXFwiPkhUTUw8L2FiYnI+PC9wcmU+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGgzPkFkZHJlc3M8L2gzPlxcbkFiYnJldmlhdGlvbnMgd2l0aCBhIHRpdGxlIGF0dHJpYnV0ZSBoYXZlIGEgbGlnaHQgZG90dGVkIGJvdHRvbSBib3JkZXIgYW5kIGEgaGVscCBjdXJzb3Igb24gaG92ZXIsIHByb3ZpZGluZyBhZGRpdGlvbmFsIGNvbnRleHQgb24gaG92ZXIuIElmIHlvdSB1c2UgaW5pdGlhbGlzbSwgdXNlIDxjb2RlPi1pbml0aWFsaXNtPC9jb2RlPiBjbGFzcy5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8YWRkcmVzcz5cXG5cXHRcXHRcXHQ8c3Ryb25nPlR3aXR0ZXIsIEluYy48L3N0cm9uZz48YnI+XFxuXFx0XFx0XFx0Nzk1IEZvbHNvbSBBdmUsIFN1aXRlIDYwMDxicj5cXG5cXHRcXHRcXHRTYW4gRnJhbmNpc2NvLCBDQSA5NDEwNzxicj5cXG5cXHRcXHRcXHQ8YWJiciB0aXRsZT1cXFwiUGhvbmVcXFwiPlA6PC9hYmJyPiAoMTIzKSA0NTYtNzg5MFxcblxcdFxcdDwvYWRkcmVzcz5cXG5cXHRcXHQ8YWRkcmVzcz5cXG5cXHRcXHRcXHQ8c3Ryb25nPkZ1bGwgTmFtZTwvc3Ryb25nPjxicj5cXG5cXHRcXHRcXHQ8YSBocmVmPVxcXCJtYWlsdG86I1xcXCI+Zmlyc3QubGFzdEBleGFtcGxlLmNvbTwvYT5cXG5cXHRcXHQ8L2FkZHJlc3M+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YWRkcmVzcz5cXG5cXHQ8c3Ryb25nPlR3aXR0ZXIsIEluYy48L3N0cm9uZz48YnI+XFxuXFx0Nzk1IEZvbHNvbSBBdmUsIFN1aXRlIDYwMDxicj5cXG5cXHRTYW4gRnJhbmNpc2NvLCBDQSA5NDEwNzxicj5cXG5cXHQ8YWJiciB0aXRsZT1cXFwiUGhvbmVcXFwiPlA6PC9hYmJyPiAoMTIzKSA0NTYtNzg5MFxcbjwvYWRkcmVzcz5cXG48YWRkcmVzcz5cXG5cXHQ8c3Ryb25nPkZ1bGwgTmFtZTwvc3Ryb25nPjxicj5cXG5cXHQ8YSBocmVmPVxcXCJtYWlsdG86I1xcXCI+Zmlyc3QubGFzdEBleGFtcGxlLmNvbTwvYT5cXG48L2FkZHJlc3M+PC9wcmU+PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGgzPkJsb2NrcXVvdGU8L2gzPlxcbjxwPlN0eWxlIGFuZCBjb250ZW50IGNoYW5nZXMgZm9yIHNpbXBsZSB2YXJpYXRpb25zIG9uIGEgc3RhbmRhcmQgPGNvZGU+Jmx0O2Jsb2NrcXVvdGUmZ3Q7PC9jb2RlPi48L3A+XFxuPHA+VXNlIG1vZGlmaWVyIGNsYXNzZXMgPGNvZGU+X2xlZnRfPC9jb2RlPiBhbmQgPGNvZGU+X3JpZ2h0XzwvY29kZT4gdG8gcmVhbGlnbiBibG9ja3F1b3RlLjxicj48L3A+XFxuPHA+VXNlIHRoZW1lIGNsYXNzZXMgKHlvdSBjYW4gaW5jbHVkZSBhbnkgdGhlbWUsIHNvIHRoZW1lcyBjbGFzcyBuYW1lcyBjYW4gYmUgZGlmZmVyZW50KSA8Y29kZT4tcHJpbWFyeS08L2NvZGU+LCA8Y29kZT4tZXJyb3ItPC9jb2RlPiwgPGNvZGU+LXN1Y2Nlc3MtPC9jb2RlPiB3aXRoIGJsb2NrcXVvdGVzIHRvIHNldCB0aGVtZS48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGJsb2NrcXVvdGU+XFxuXFx0XFx0XFx0PHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gSW50ZWdlciBwb3N1ZXJlIGVyYXQgYSBhbnRlLjwvcD5cXG5cXHRcXHRcXHQ8c21hbGw+U29tZW9uZSBmYW1vdXMgaW4gPGNpdGUgdGl0bGU9XFxcIlNvdXJjZSBUaXRsZVxcXCI+U291cmNlIFRpdGxlPC9jaXRlPjwvc21hbGw+XFxuXFx0XFx0PC9ibG9ja3F1b3RlPlxcblxcdFxcdDxibG9ja3F1b3RlIGNsYXNzPVxcXCJfcmlnaHRfXFxcIj5cXG5cXHRcXHRcXHQ8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBJbnRlZ2VyIHBvc3VlcmUgZXJhdCBhIGFudGUuPC9wPlxcblxcdFxcdFxcdDxzbWFsbD5Tb21lb25lIGZhbW91cyBpbiA8Y2l0ZSB0aXRsZT1cXFwiU291cmNlIFRpdGxlXFxcIj5Tb3VyY2UgVGl0bGU8L2NpdGU+PC9zbWFsbD5cXG5cXHRcXHQ8L2Jsb2NrcXVvdGU+XFxuXFx0XFx0PGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gSW50ZWdlciBwb3N1ZXJlIGVyYXQgYSBhbnRlLjwvcD5cXG5cXHRcXHRcXHQ8c21hbGw+U29tZW9uZSBmYW1vdXMgaW4gPGNpdGUgdGl0bGU9XFxcIlNvdXJjZSBUaXRsZVxcXCI+U291cmNlIFRpdGxlPC9jaXRlPjwvc21hbGw+XFxuXFx0XFx0PC9ibG9ja3F1b3RlPlxcblxcdFxcdDxibG9ja3F1b3RlIGNsYXNzPVxcXCItZXJyb3ItIF9yaWdodF9cXFwiPlxcblxcdFxcdFxcdDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEludGVnZXIgcG9zdWVyZSBlcmF0IGEgYW50ZS48L3A+XFxuXFx0XFx0XFx0PHNtYWxsPlNvbWVvbmUgZmFtb3VzIGluIDxjaXRlIHRpdGxlPVxcXCJTb3VyY2UgVGl0bGVcXFwiPlNvdXJjZSBUaXRsZTwvY2l0ZT48L3NtYWxsPlxcblxcdFxcdDwvYmxvY2txdW90ZT5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxibG9ja3F1b3RlPlxcblxcdDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEludGVnZXIgcG9zdWVyZSBlcmF0IGEgYW50ZS48L3A+XFxuXFx0PHNtYWxsPlNvbWVvbmUgZmFtb3VzIGluIDxjaXRlIHRpdGxlPVxcXCJTb3VyY2UgVGl0bGVcXFwiPlNvdXJjZSBUaXRsZTwvY2l0ZT48L3NtYWxsPlxcbjwvYmxvY2txdW90ZT5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiX3JpZ2h0X1xcXCI+XFxuXFx0PHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gSW50ZWdlciBwb3N1ZXJlIGVyYXQgYSBhbnRlLjwvcD5cXG5cXHQ8c21hbGw+U29tZW9uZSBmYW1vdXMgaW4gPGNpdGUgdGl0bGU9XFxcIlNvdXJjZSBUaXRsZVxcXCI+U291cmNlIFRpdGxlPC9jaXRlPjwvc21hbGw+XFxuPC9ibG9ja3F1b3RlPlxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEludGVnZXIgcG9zdWVyZSBlcmF0IGEgYW50ZS48L3A+XFxuXFx0PHNtYWxsPlNvbWVvbmUgZmFtb3VzIGluIDxjaXRlIHRpdGxlPVxcXCJTb3VyY2UgVGl0bGVcXFwiPlNvdXJjZSBUaXRsZTwvY2l0ZT48L3NtYWxsPlxcbjwvYmxvY2txdW90ZT5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLWVycm9yLSBfcmlnaHRfXFxcIj5cXG5cXHQ8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBJbnRlZ2VyIHBvc3VlcmUgZXJhdCBhIGFudGUuPC9wPlxcblxcdDxzbWFsbD5Tb21lb25lIGZhbW91cyBpbiA8Y2l0ZSB0aXRsZT1cXFwiU291cmNlIFRpdGxlXFxcIj5Tb3VyY2UgVGl0bGU8L2NpdGU+PC9zbWFsbD5cXG48L2Jsb2NrcXVvdGU+PC9wcmU+PC9kaXY+XFxuPC9kaXY+XFxuXCJ9LFwidGFibGVzXCI6e1wic3RyaXBlZFwiOlwiPCEtLSA9PT09PT09PT09PT0gU1RSSVBFRCAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPlN0cmlwZWQ8L2gyPlxcbjxwPlVzZSBtb2RpZmllciBjbGFzcyA8Y29kZT5fc3RyaXBlZF88L2NvZGU+IHRvIGFkZCB6ZWJyYS1zdHJpcGluZyB0byBhbnkgdGFibGUgcm93IHdpdGhpbiB0aGUgPGNvZGU+Jmx0O3Rib2R5Jmd0OzwvY29kZT4uPC9wPlxcblxcblxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9zdHJpcGVkX1xcXCI+XFxuXFx0XFx0XFx0PHRoZWFkPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+IzwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkZpcnN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5MYXN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5Vc2VybmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3RoZWFkPlxcblxcdFxcdFxcdDx0Ym9keT5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjE8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5NYXJrPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+T3R0bzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBtZG88L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4yPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+SmFjb2I8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5UaG9ybnRvbjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBmYXQ8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4zPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TGFycnk8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD50aGUgQmlyZDwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkB0d2l0dGVyPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGJvZHk+XFxuXFx0XFx0PC90YWJsZT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9zdHJpcGVkX1xcXCI+XFxuXFxuPC90YWJsZT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG48cD5Db21iaW5lIG1vZGlmaWVyIGFuZCB0aGVtZXMgY2xhc3Nlcy48L3A+XFxuXFxuXFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHRhYmxlIGNsYXNzPVxcXCItdGFibGUgLXByaW1hcnktIF9zdHJpcGVkXyBfaG9yaXpvbnRhbF9cXFwiPlxcblxcdFxcdFxcdDx0aGVhZD5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPiM8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5GaXJzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+TGFzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+VXNlcm5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90aGVhZD5cXG5cXHRcXHRcXHQ8dGJvZHk+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4xPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TWFyazwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk90dG88L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AbWRvPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkphY29iPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+VGhvcm50b248L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AZmF0PC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkxhcnJ5PC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+dGhlIEJpcmQ8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AdHdpdHRlcjwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3Rib2R5PlxcblxcdFxcdDwvdGFibGU+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dGFibGUgY2xhc3M9XFxcIi10YWJsZSAtcHJpbWFyeS0gX3N0cmlwZWRfIF9ob3Jpem9udGFsX1xcXCI+XFxuXFxuPC90YWJsZT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cIixcInJvd3NcIjpcIjwhLS0gPT09PT09PT09PT09IFJPV1MgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMj5Sb3dzPC9oMj5cXG48cD5Vc2UgdGhlbWUgY2xhc3NlcyAoeW91IGNhbiBpbmNsdWRlIGFueSB0aGVtZSwgc28gdGhlbWVzIGNsYXNzIG5hbWVzIGNhbiBiZSBkaWZmZXJlbnQpIDxjb2RlPi1wcmltYXJ5LTwvY29kZT4sIDxjb2RlPi1lcnJvci08L2NvZGU+LCA8Y29kZT4tc3VjY2Vzcy08L2NvZGU+IHdpdGggPGNvZGU+Li10YWJsZTwvY29kZT4gdG8gc2V0IHRoZW1lIHRvIDxjb2RlPiZsdDt0ciZndDs8L2NvZGU+LjwvcD5cXG5cXG5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dGFibGUgY2xhc3M9XFxcIi10YWJsZVxcXCI+XFxuXFx0XFx0XFx0PHRoZWFkPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+IzwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkZpcnN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5MYXN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5Vc2VybmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3RoZWFkPlxcblxcdFxcdFxcdDx0Ym9keT5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjE8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5NYXJrPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+T3R0bzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBtZG88L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4yPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+SmFjb2I8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5UaG9ybnRvbjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBmYXQ8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4zPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TGFycnk8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD50aGUgQmlyZDwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkB0d2l0dGVyPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGJvZHk+XFxuXFx0XFx0PC90YWJsZT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlXFxcIj5cXG48dGJvZHk+XFxuXFx0PHRyPlxcblxcblxcdDwvdHI+XFxuXFx0PHRyIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcblxcdDwvdHI+XFxuXFx0PHRyPlxcblxcblxcdDwvdHI+XFxuPC90Ym9keT5cXG48L3RhYmxlPjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblwiLFwiaG92ZXJlZFwiOlwiPCEtLSA9PT09PT09PT09PT0gSE9WRVJFRCAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgyPkhvdmVyZWQ8L2gyPlxcbjxwPlVzZSBtb2RpZmllciBjbGFzcyA8Y29kZT5faG92ZXJlZF88L2NvZGU+IHRvIGFkZCBoaWdobGlnaHQgdG8gaG92ZXJlZCB0YWJsZSByb3cgd2l0aGluIHRoZSA8Y29kZT4mbHQ7dGJvZHkmZ3Q7PC9jb2RlPi48L3A+XFxuXFxuXFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvdmVyZWRfXFxcIj5cXG5cXHRcXHRcXHQ8dGhlYWQ+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0aD4jPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+Rmlyc3QgTmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkxhc3QgTmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPlVzZXJuYW1lPC90aD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGhlYWQ+XFxuXFx0XFx0XFx0PHRib2R5PlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MTwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk1hcms8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5PdHRvPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QG1kbzwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjI8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5KYWNvYjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPlRob3JudG9uPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QGZhdDwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjM8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5MYXJyeTwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPnRoZSBCaXJkPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QHR3aXR0ZXI8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90Ym9keT5cXG5cXHRcXHQ8L3RhYmxlPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvdmVyZWRfXFxcIj5cXG5cXG48L3RhYmxlPjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblxcblxcblxcbjxwPkNvbWJpbmUgbW9kaWZpZXIgYW5kIHRoZW1lcyBjbGFzc2VzLjwvcD5cXG5cXG5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dGFibGUgY2xhc3M9XFxcIi10YWJsZSAtcHJpbWFyeS0gX2hvdmVyZWRfIF9ob3Jpem9udGFsX1xcXCI+XFxuXFx0XFx0XFx0PHRoZWFkPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+IzwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkZpcnN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5MYXN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5Vc2VybmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3RoZWFkPlxcblxcdFxcdFxcdDx0Ym9keT5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjE8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5NYXJrPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+T3R0bzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBtZG88L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4yPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+SmFjb2I8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5UaG9ybnRvbjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBmYXQ8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4zPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TGFycnk8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD50aGUgQmlyZDwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkB0d2l0dGVyPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGJvZHk+XFxuXFx0XFx0PC90YWJsZT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIC1wcmltYXJ5LSBfaG92ZXJlZF8gX2hvcml6b250YWxfXFxcIj5cXG5cXG48L3RhYmxlPjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblwiLFwiY29tbW9uXCI6XCI8aDE+VGFibGVzPC9oMT5cXG5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiR0YWJsZS1jbGFzczogXFxcIi10YWJsZVxcXCIgIWdsb2JhbFxcbiR0YWJsZS1jZWxsLXBhZGRpbmc6IDhweCAhZ2xvYmFsPC9wcmU+XFxuPC9wPlxcblwiLFwiY2VsbHNcIjpcIjwhLS0gPT09PT09PT09PT09IENFTExTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDI+Q2VsbHM8L2gyPlxcbjxwPlVzZSB0aGVtZSBjbGFzc2VzICh5b3UgY2FuIGluY2x1ZGUgYW55IHRoZW1lLCBzbyB0aGVtZXMgY2xhc3MgbmFtZXMgY2FuIGJlIGRpZmZlcmVudCkgPGNvZGU+LXByaW1hcnktPC9jb2RlPiwgPGNvZGU+LWVycm9yLTwvY29kZT4sIDxjb2RlPi1zdWNjZXNzLTwvY29kZT4gdG8gc2V0IHRoZW1lIHRvIDxjb2RlPiZsdDt0ZCZndDs8L2NvZGU+LjwvcD5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dGFibGUgY2xhc3M9XFxcIi10YWJsZVxcXCI+XFxuXFx0XFx0XFx0PHRoZWFkPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+IzwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkZpcnN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5MYXN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5Vc2VybmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3RoZWFkPlxcblxcdFxcdFxcdDx0Ym9keT5cXG5cXHRcXHRcXHRcXHQ8dHIgY2xhc3M9XFxcIi1kZWZhdWx0LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjE8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5NYXJrPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+T3R0bzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBtZG88L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4yPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+SmFjb2I8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5UaG9ybnRvbjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBmYXQ8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4zPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TGFycnk8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD50aGUgQmlyZDwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPkB0d2l0dGVyPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGJvZHk+XFxuXFx0XFx0PC90YWJsZT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlXFxcIj5cXG48dGJvZHk+XFxuXFx0PHRyIGNsYXNzPVxcXCItZGVmYXVsdC1cXFwiPlxcblxcdFxcdDx0ZD4xPC90ZD5cXG5cXHRcXHQ8dGQ+TWFyazwvdGQ+XFxuXFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPk90dG88L3RkPlxcblxcdFxcdDx0ZD5AbWRvPC90ZD5cXG5cXHQ8L3RyPlxcblxcdDx0cj5cXG5cXHRcXHQ8dGQ+MjwvdGQ+XFxuXFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPkphY29iPC90ZD5cXG5cXHRcXHQ8dGQ+VGhvcm50b248L3RkPlxcblxcdFxcdDx0ZD5AZmF0PC90ZD5cXG5cXHQ8L3RyPlxcblxcdDx0cj5cXG5cXHRcXHQ8dGQ+MzwvdGQ+XFxuXFx0XFx0PHRkPkxhcnJ5PC90ZD5cXG5cXHRcXHQ8dGQ+dGhlIEJpcmQ8L3RkPlxcblxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5AdHdpdHRlcjwvdGQ+XFxuXFx0PC90cj5cXG48L3Rib2R5PlxcbjwvdGFibGU+PC9wcmU+PC9kaXY+XFxuXFxuXFxuPC9kaXY+XFxuXCIsXCJiYXNpY1wiOlwiPCEtLSA9PT09PT09PT09PT0gQkFTSUMgVEFCTEVTIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDI+QmFzaWMgdXNhZ2U8L2gyPlxcblxcbjxwPlVzZSBjbGFzcyA8Y29kZT4tcm93PC9jb2RlPi4gRGVzaWduYXRlcyB0aGUgZWxlbWVudCBhcyBhIHJvdyBvZiBjb2x1bW5zIGluIHRoZSBncmlkIGxheW91dC48L3A+XFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0PGI+Rm9yIG1vYmlsZTwvYj4gYWRkIG1vZGlmaWVyIDxjb2RlPl9yZXNwb25zaXZlXzwvY29kZT4uIFRoaXMgd2lsbCBzZXQgZm9yIHRhYmxlIDxjb2RlPmZvbnQtc2l6ZTogMC45ZW08L2NvZGU+LiBBbmQgZG9uJ3QgZm9yZ2V0IHRvIGhpZGUgbWlub3IgY2VsbHMgb24gbW9iaWxlIHdpdGggPGEgaHJlZj1cXFwiL3V0aWxpdGllc1xcXCI+bWF4bWVydGtpdCByZXNwb25zaXZlIHV0aWxpdGllczwvYT4uXFxuPC9ibG9ja3F1b3RlPlxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0XFx0XFx0PHRoZWFkPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+IzwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkZpcnN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5MYXN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5Vc2VybmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3RoZWFkPlxcblxcdFxcdFxcdDx0Ym9keT5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjE8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5NYXJrPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+T3R0bzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBtZG88L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4yPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+SmFjb2I8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5UaG9ybnRvbjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBmYXQ8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4zPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TGFycnk8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD50aGUgQmlyZDwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkB0d2l0dGVyPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGJvZHk+XFxuXFx0XFx0PC90YWJsZT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlXFxcIj5cXG48dGhlYWQ+XFxuXFx0PHRyPlxcblxcdFxcdDx0aD4jPC90aD5cXG5cXHRcXHQ8dGg+Rmlyc3QgTmFtZTwvdGg+XFxuXFx0XFx0PHRoPkxhc3QgTmFtZTwvdGg+XFxuXFx0XFx0PHRoPlVzZXJuYW1lPC90aD5cXG5cXHQ8L3RyPlxcbjwvdGhlYWQ+XFxuPHRib2R5PlxcblxcdDx0cj5cXG5cXHRcXHQ8dGQ+MTwvdGQ+XFxuXFx0XFx0PHRkPk1hcms8L3RkPlxcblxcdFxcdDx0ZD5PdHRvPC90ZD5cXG5cXHRcXHQ8dGQ+QG1kbzwvdGQ+XFxuXFx0PC90cj5cXG5cXHQ8dHI+XFxuXFx0XFx0PHRkPjI8L3RkPlxcblxcdFxcdDx0ZD5KYWNvYjwvdGQ+XFxuXFx0XFx0PHRkPlRob3JudG9uPC90ZD5cXG5cXHRcXHQ8dGQ+QGZhdDwvdGQ+XFxuXFx0PC90cj5cXG5cXHQ8dHI+XFxuXFx0XFx0PHRkPjM8L3RkPlxcblxcdFxcdDx0ZD5MYXJyeTwvdGQ+XFxuXFx0XFx0PHRkPnRoZSBCaXJkPC90ZD5cXG5cXHRcXHQ8dGQ+QHR3aXR0ZXI8L3RkPlxcblxcdDwvdHI+XFxuPC90Ym9keT5cXG48L3RhYmxlPjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxoMz5Ib3Jpem9udGFsIGJvcmRlcjwvaDM+XFxuPHA+VXNlIG1vZGlmaWVyIGNsYXNzIDxjb2RlPl9ob3Jpem9udGFsXzwvY29kZT4gdG8gYWRkIGhvcml6b250YWwgZGl2aWRlcnMuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsX1xcXCI+XFxuXFx0XFx0XFx0PHRoZWFkPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+IzwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkZpcnN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5MYXN0IE5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5Vc2VybmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3RoZWFkPlxcblxcdFxcdFxcdDx0Ym9keT5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjE8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5NYXJrPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+T3R0bzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBtZG88L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4yPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+SmFjb2I8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5UaG9ybnRvbjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkBmYXQ8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4zPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TGFycnk8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD50aGUgQmlyZDwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkB0d2l0dGVyPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGJvZHk+XFxuXFx0XFx0PC90YWJsZT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsX1xcXCI+XFxuXFxuPC90YWJsZT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48aDM+VmVydGljYWwgYm9yZGVyPC9oMz5cXG48cD5Vc2UgbW9kaWZpZXIgY2xhc3MgPGNvZGU+X3ZlcnRpY2FsXzwvY29kZT4gdG8gYWRkIHZlcnRpY2FsIGRpdmlkZXJzLjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfdmVydGljYWxfXFxcIj5cXG5cXHRcXHRcXHQ8dGhlYWQ+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0aD4jPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+Rmlyc3QgTmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkxhc3QgTmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPlVzZXJuYW1lPC90aD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGhlYWQ+XFxuXFx0XFx0XFx0PHRib2R5PlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MTwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk1hcms8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5PdHRvPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QG1kbzwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjI8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5KYWNvYjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPlRob3JudG9uPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QGZhdDwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjM8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5MYXJyeTwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPnRoZSBCaXJkPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QHR3aXR0ZXI8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90Ym9keT5cXG5cXHRcXHQ8L3RhYmxlPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX3ZlcnRpY2FsX1xcXCI+XFxuXFxuPC90YWJsZT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG48aDM+Q29tYmluZSBtb2RpZmllcnM8L2gzPlxcbjxwPkNvbWJpbmUgbW9kaWZpZXJzIDxjb2RlPl92ZXJ0aWNhbF88L2NvZGU+IGFuZCA8Y29kZT5faG9yaXpvbnRhbF88L2NvZGU+IHRvIGFkZCBpbnNpZGUgZGl2aWRlcnMuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF92ZXJ0aWNhbF8gX2hvcml6b250YWxfXFxcIj5cXG5cXHRcXHRcXHQ8dGhlYWQ+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0aD4jPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+Rmlyc3QgTmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPkxhc3QgTmFtZTwvdGg+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPlVzZXJuYW1lPC90aD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdDwvdGhlYWQ+XFxuXFx0XFx0XFx0PHRib2R5PlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MTwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk1hcms8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5PdHRvPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QG1kbzwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjI8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5KYWNvYjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPlRob3JudG9uPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QGZhdDwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPjM8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5MYXJyeTwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPnRoZSBCaXJkPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+QHR3aXR0ZXI8L3RkPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90Ym9keT5cXG5cXHRcXHQ8L3RhYmxlPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX3ZlcnRpY2FsXyBfaG9yaXpvbnRhbF9cXFwiPlxcblxcbjwvdGFibGU+PC9wcmU+PC9kaXY+XFxuXFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgzPkJvcmRlcmVkPC9oMz5cXG48cD5Vc2UgbW9kaWZpZXIgY2xhc3MgPGNvZGU+X2JvcmRlcmVkXzwvY29kZT4gZm9yIGJvcmRlcnMgb24gYWxsIHNpZGVzIG9mIHRoZSB0YWJsZSBhbmQgY2VsbHMuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ib3JkZXJlZF9cXFwiPlxcblxcdFxcdFxcdDx0aGVhZD5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPiM8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5GaXJzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+TGFzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+VXNlcm5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90aGVhZD5cXG5cXHRcXHRcXHQ8dGJvZHk+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4xPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TWFyazwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk90dG88L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AbWRvPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkphY29iPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+VGhvcm50b248L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AZmF0PC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkxhcnJ5PC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+dGhlIEJpcmQ8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AdHdpdHRlcjwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3Rib2R5PlxcblxcdFxcdDwvdGFibGU+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfYm9yZGVyZWRfXFxcIj5cXG5cXG48L3RhYmxlPjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxoMz5Vc2UgdGhlbWVzPC9oMz5cXG48cD5Vc2UgdGhlbWUgY2xhc3NlcyAoeW91IGNhbiBpbmNsdWRlIGFueSB0aGVtZSwgc28gdGhlbWVzIGNsYXNzIG5hbWVzIGNhbiBiZSBkaWZmZXJlbnQpIDxjb2RlPi1wcmltYXJ5LTwvY29kZT4sIDxjb2RlPi1lcnJvci08L2NvZGU+LCA8Y29kZT4tc3VjY2Vzcy08L2NvZGU+IHdpdGggPGNvZGU+Li10YWJsZTwvY29kZT4gdG8gc2V0IHRoZW1lLjwvcD5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfdmVydGljYWxfIF9ob3Jpem9udGFsXyAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdDx0aGVhZD5cXG5cXHRcXHRcXHRcXHQ8dHI+XFxuXFx0XFx0XFx0XFx0XFx0PHRoPiM8L3RoPlxcblxcdFxcdFxcdFxcdFxcdDx0aD5GaXJzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+TGFzdCBOYW1lPC90aD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGg+VXNlcm5hbWU8L3RoPlxcblxcdFxcdFxcdFxcdDwvdHI+XFxuXFx0XFx0XFx0PC90aGVhZD5cXG5cXHRcXHRcXHQ8dGJvZHk+XFxuXFx0XFx0XFx0XFx0PHRyPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD4xPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+TWFyazwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPk90dG88L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AbWRvPC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MjwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkphY29iPC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+VGhvcm50b248L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AZmF0PC90ZD5cXG5cXHRcXHRcXHRcXHQ8L3RyPlxcblxcdFxcdFxcdFxcdDx0cj5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+MzwvdGQ+XFxuXFx0XFx0XFx0XFx0XFx0PHRkPkxhcnJ5PC90ZD5cXG5cXHRcXHRcXHRcXHRcXHQ8dGQ+dGhlIEJpcmQ8L3RkPlxcblxcdFxcdFxcdFxcdFxcdDx0ZD5AdHdpdHRlcjwvdGQ+XFxuXFx0XFx0XFx0XFx0PC90cj5cXG5cXHRcXHRcXHQ8L3Rib2R5PlxcblxcdFxcdDwvdGFibGU+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48dGFibGUgY2xhc3M9XFxcIi10YWJsZSAtcHJpbWFyeS0gX3ZlcnRpY2FsXyBfaG9yaXpvbnRhbF9cXFwiPlxcblxcbjwvdGFibGU+PC9wcmU+PC9kaXY+XFxuXFxuXFxuPC9kaXY+XFxuXCJ9LFwiZ3JpZFwiOntcInJvd1wiOlwiPCEtLSA9PT09PT09PT09PT0gUk9XIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDM+Um93PC9oMz5cXG5cXG48IS0tID09PT09PT09PT09PSBWYXJpYWJsZXMgLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRyb3ctY2xhc3M6IC1yb3cgIWdsb2JhbDwvcHJlPlxcbjwvZGl2PlxcbjwvcD5cXG5cXG48cD5Vc2UgY2xhc3MgPGNvZGU+LXJvdzwvY29kZT4uIERlc2lnbmF0ZXMgdGhlIGVsZW1lbnQgYXMgYSByb3cgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZCBsYXlvdXQuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRcXHRUaGlzIGlzIGZpcnN0IHJvdy5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93IHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0XFx0VGhpcyBpcyBzZWNvbmQgcm93LlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvdyByb3ctY29sb3JcXFwiPlxcblxcdFxcdFRoaXMgaXMgZmlyc3Qgcm93LlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRUaGlzIGlzIHNlY29uZCByb3cuXFxuXFx0PC9kaXY+XFxuPC9kaXY+PC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0VXNlIG1vZGlmaWVyIDxjb2RlPl9qdXN0aWZ5XzwvY29kZT4gdG8gcHJldmVudCBtb2JpbGUgdmlldyBvZiB0aGUgZ3JpZC5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyBfanVzdGlmeV8gcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3JcXFwiPktlZXAgZ3JpZCBzdHJ1Y3R1cmUgaW4gbW9iaWxlPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yXFxcIj5LZWVwIGdyaWQgc3RydWN0dXJlIGluIG1vYmlsZTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvclxcXCI+S2VlcCBncmlkIHN0cnVjdHVyZSBpbiBtb2JpbGU8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93IHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yXFxcIj5Eb24ndCBrZWVwIGdyaWQgc3RydWN0dXJlIGluIG1vYmlsZTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvclxcXCI+RG9uJ3Qga2VlcCBncmlkIHN0cnVjdHVyZSBpbiBtb2JpbGU8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3JcXFwiPkRvbid0IGtlZXAgZ3JpZCBzdHJ1Y3R1cmUgaW4gbW9iaWxlPC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj48ZGl2IGNsYXNzPVxcXCItcm93IF9qdXN0aWZ5XyByb3ctY29sb3JcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvclxcXCI+S2VlcCBncmlkIHN0cnVjdHVyZSBpbiBtb2JpbGU8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3JcXFwiPktlZXAgZ3JpZCBzdHJ1Y3R1cmUgaW4gbW9iaWxlPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yXFxcIj5LZWVwIGdyaWQgc3RydWN0dXJlIGluIG1vYmlsZTwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgcm93LWNvbG9yXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3JcXFwiPkRvbid0IGtlZXAgZ3JpZCBzdHJ1Y3R1cmUgaW4gbW9iaWxlPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yXFxcIj5Eb24ndCBrZWVwIGdyaWQgc3RydWN0dXJlIGluIG1vYmlsZTwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvclxcXCI+RG9uJ3Qga2VlcCBncmlkIHN0cnVjdHVyZSBpbiBtb2JpbGU8L2Rpdj5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIixcImNvbnRhaW5lclwiOlwiPCEtLSA9PT09PT09PT09PT0gQ09OVEFJTkVSIC0tPlxcbjwhLS0gPT09PT09PT09PT09PT09PT09PT09PSAtLT5cXG5cXG48aDI+Q29udGFpbmVyPC9oMj5cXG48cD5cXG5cXHQ8Yj5HbG9iYWwgdmFyaWFibGVzPC9iPlxcblxcdDxkaXY+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRjb250YWluZXItY2xhc3M6IC1jb250YWluZXIgIWdsb2JhbDwvcHJlPjwvZGl2PlxcbjwvcD5cXG48cD5Vc2UgY2xhc3MgPGNvZGU+LWNvbnRhaW5lcjwvY29kZT4gdG8gbW92ZSBibG9jayB0byB0aGUgY2VudGVyIGluIHRoZSB2aWV3cG9ydCwgY2xlYXIgaXRzIGZsb2F0cywgYW5kIHNldCBpdHMgbWF4LXdpZHRoLjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+Li4uPC9kaXY+PC9wcmU+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0VXNlIG1vZGlmaWVyIDxjb2RlPl9maXhlZF88L2NvZGU+IHRvIGNhbmNlbCByZXNwb25zaXZlbmVzcy5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXIgX2ZpeGVkX1xcXCI+Li4ud2lkdGggaXMgYWx3YXlzIDk5MnB4Li4uPC9kaXY+PC9wcmU+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXCIsXCJjb21tb25cIjpcIjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdDxoMT5HcmlkPC9oMT5cXG48L2Rpdj5cXG5cIixcImNvbHVtbnNcIjpcIjwhLS0gPT09PT09PT09PT09IEdSSUQgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMz5Db2x1bW5zPC9oMz5cXG5cXG48IS0tID09PT09PT09PT09PSBWYXJpYWJsZXMgLS0+XFxuPHA+XFxuXFx0PGI+R2xvYmFsIHZhcmlhYmxlczwvYj5cXG5cXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctc2Fzc1xcXCI+JGNvbHVtbi1jbGFzczogLWNvbCAhZ2xvYmFsXFxuJGNvbHVtbi1xdWFudGl0eTogMTIgIWdsb2JhbFxcbiRvZmZzZXQtY2xhc3M6IC1vZmZzZXQgIWdsb2JhbDwvcHJlPlxcbjwvcD5cXG5cXG48cD5Vc2UgY2xhc3MgPGNvZGU+Li1jb2wjPC9jb2RlPjxzbWFsbD4oIyAtIG51bWJlciAxLi4kY29sdW1uLXF1YW50aXR5KTwvc21hbGw+LiBTcGVjaWZpZXMgY29sdW1ucyBvZiB0aGUgZ3JpZC48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyByb3ctY29sb3JcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIGNvbHVtbi1jb2xvclxcXCI+LWNvbDE8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSBjb2x1bW4tY29sb3JcXFwiPi1jb2wxPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgY29sdW1uLWNvbG9yXFxcIj4tY29sMTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIGNvbHVtbi1jb2xvclxcXCI+LWNvbDE8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSBjb2x1bW4tY29sb3JcXFwiPi1jb2wxPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgY29sdW1uLWNvbG9yXFxcIj4tY29sMTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIGNvbHVtbi1jb2xvclxcXCI+LWNvbDE8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSBjb2x1bW4tY29sb3JcXFwiPi1jb2wxPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgY29sdW1uLWNvbG9yXFxcIj4tY29sMTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIGNvbHVtbi1jb2xvclxcXCI+LWNvbDE8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSBjb2x1bW4tY29sb3JcXFwiPi1jb2wxPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgY29sdW1uLWNvbG9yXFxcIj4tY29sMTwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMiBjb2x1bW4tY29sb3JcXFwiPi1jb2wyPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDIgY29sdW1uLWNvbG9yXFxcIj4tY29sMjwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIGNvbHVtbi1jb2xvclxcXCI+LWNvbDI8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMiBjb2x1bW4tY29sb3JcXFwiPi1jb2wyPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDIgY29sdW1uLWNvbG9yXFxcIj4tY29sMjwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIGNvbHVtbi1jb2xvclxcXCI+LWNvbDI8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93IHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgY29sdW1uLWNvbG9yXFxcIj4tY29sMzwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIGNvbHVtbi1jb2xvclxcXCI+LWNvbDM8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyBjb2x1bW4tY29sb3JcXFwiPi1jb2wzPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgY29sdW1uLWNvbG9yXFxcIj4tY29sMzwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3JcXFwiPi1jb2w0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yXFxcIj4tY29sNDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0IGNvbHVtbi1jb2xvclxcXCI+LWNvbDQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93IHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDUgY29sdW1uLWNvbG9yXFxcIj4tY29sNTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIGNvbHVtbi1jb2xvclxcXCI+LWNvbDI8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNSBjb2x1bW4tY29sb3JcXFwiPi1jb2w1PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyByb3ctY29sb3JcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2IGNvbHVtbi1jb2xvclxcXCI+LWNvbDY8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiBjb2x1bW4tY29sb3JcXFwiPi1jb2w2PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyByb3ctY29sb3JcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4IGNvbHVtbi1jb2xvclxcXCI+LWNvbDg8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3JcXFwiPi1jb2w0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+LWNvbDE8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+LWNvbDE8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+LWNvbDE8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+LWNvbDE8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+LWNvbDE8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+LWNvbDE8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+LWNvbDE8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+LWNvbDE8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+LWNvbDE8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+LWNvbDE8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+LWNvbDE8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+LWNvbDE8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+LWNvbDI8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+LWNvbDI8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+LWNvbDI8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+LWNvbDI8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+LWNvbDI8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+LWNvbDI8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+LWNvbDM8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+LWNvbDM8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+LWNvbDM8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+LWNvbDM8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+LWNvbDQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+LWNvbDQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+LWNvbDQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNVxcXCI+LWNvbDU8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+LWNvbDI8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNVxcXCI+LWNvbDU8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNlxcXCI+LWNvbDY8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNlxcXCI+LWNvbDY8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+LWNvbDg8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+LWNvbDQ8L2Rpdj5cXG48L2Rpdj48L3ByZT5cXG5cXG48L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48aDM+T3JkZXI8L2gzPlxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItd2FybmluZy1cXFwiPlxcblxcdFlvdSBjYW4gY2hhbmdlIG9yZGVyIG9mIHRoZSBjb2x1bW5zIG9uIGRpZmZlcmVudCBkZXZpY2VzLiBMb29rIGF0IDxhIGhyZWY9XFxcIi91dGlsaXRpZXMjb3JkZXJDb21tb25cXFwiPlV0aWxpdGllcyBvcmRlcjwvYT4uXFxuPC9ibG9ja3F1b3RlPlxcblxcblxcblxcbjxoMz5PZmZzZXRzPC9oMz5cXG48cD5Vc2UgY2xhc3MgPGNvZGU+Li1vZmZzZXQjPC9jb2RlPi4gVGhlc2UgY2xhc3NlcyBpbmNyZWFzZSB0aGUgbGVmdCBtYXJnaW4gb2YgYSBjb2x1bW4gYnkgPGNvZGU+IzwvY29kZT4gY29sdW1ucy48L3A+XFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyByb3ctY29sb3JcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIGNvbHVtbi1jb2xvclxcXCI+LWNvbDI8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMiAtb2Zmc2V0MiBjb2x1bW4tY29sb3JcXFwiPi1jb2wyIC1vZmZzZXQyPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDIgY29sdW1uLWNvbG9yXFxcIj4tY29sMjwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyIGNvbHVtbi1jb2xvclxcXCI+LWNvbDI8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMiBjb2x1bW4tY29sb3JcXFwiPi1jb2wyPC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyByb3ctY29sb3JcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2IC1vZmZzZXQ2IGNvbHVtbi1jb2xvclxcXCI+LWNvbDYgLW9mZnNldDY8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93IHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDYgLW9mZnNldDMgY29sdW1uLWNvbG9yXFxcIj4tY29sNiAtb2Zmc2V0MzwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPi1jb2wyPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDIgLW9mZnNldDJcXFwiPi1jb2wyIC1vZmZzZXQyPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPi1jb2wyPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPi1jb2wyPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPi1jb2wyPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDYgLW9mZnNldDZcXFwiPi1jb2w2IC1vZmZzZXQ2PC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDYgLW9mZnNldDNcXFwiPi1jb2w2IC1vZmZzZXQzPC9kaXY+XFxuPC9kaXY+PC9wcmU+XFxuPC9kaXY+XFxuXFxuPC9kaXY+XFxuXCJ9LFwiZm9ybXNcIjp7XCJncmlkXCI6XCI8IS0tID09PT09PT09PT09PSBHUklEIEZPUk0gLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMz5CdWlsZCBmb3JtIGdyaWQ8L2gzPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZhcmlhYmxlcyAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRmb3JtLWlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFnbG9iYWxcXG4kZm9ybS1pbnB1dC1ib3JkZXItcmFkaXVzOiAwICFnbG9iYWxcXG4kZm9ybS1sYWJlbC1jdXJzb3I6IHBvaW50ZXIgIWdsb2JhbFxcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAyMDAgIWdsb2JhbFxcblxcbiRmb3JtLWNvbHVtbi1tYXJnaW4tYm90dG9tOiA0cHggIWdsb2JhbDwvcHJlPlxcbjwvcD5cXG5cXG48IS0tID09PT09PT09PT09PSBEZXNjcmlwdGlvbiAtLT5cXG48cD5Eb250J3QgZm9yZ2V0IHRvIHVzZSA8Y29kZT5mb3I9XFxcIiNpZC1pbnB1dC1uYW1lXFxcIjwvY29kZT4gd2l0aCA8Y29kZT4mbHQ7bGFiZWwmZ3Q7PC9jb2RlPiwgaXQgaXNuJ3QgbmVjZXNzYXJ5LCBidXQgaXQncyBhIGdvb2QgcHJhY3RpY2UuPC9wPlxcblxcbjxwPlxcblxcdENyZWF0aW5nIGEgZm9ybSBpcyBkZXNpZ25lZCB0byBiZSBlYXN5IGFuZCBmbGV4aWJsZS4gRm9ybXMgYXJlIGJ1aWx0IHdpdGggYSBjb21iaW5hdGlvbiBvZiBzdGFuZGFyZCBmb3JtIGVsZW1lbnRzLCBhcyB3ZWxsIGFzIHRoZSBHcmlkICg8Y29kZT4tcm93PC9jb2RlPiBhbmQgPGNvZGU+LWNvbCM8L2NvZGU+KS4gRm9ybSBlbGVtZW50cyBpbiBGb3VuZGF0aW9uIGFyZSBzdHlsZWQgYmFzZWQgb24gdGhlaXIgdHlwZSBhdHRyaWJ1dGUgcmF0aGVyIHRoYW4gYSBjbGFzcywgYW5kIGNhbiBiZSBzaXplZCBpbiBhIGNvdXBsZSBvZiB3YXlzOlxcblxcdDx1bD5cXG5cXHRcXHQ8bGk+WW91IGNhbiBzaXplIGlucHV0cyB1c2luZyBjb2x1bW4gc2l6ZXMgPGNvZGU+LWNvbCM8L2NvZGU+PC9saT5cXG5cXHRcXHQ8bGk+WW91IGNhbiBjcmVhdGUgcm93IGVsZW1lbnRzIGluc2lkZSB5b3VyIGZvcm0gYW5kIHVzZSBjb2x1bW5zIGZvciB0aGUgZm9ybSwgaW5jbHVkaW5nIGlucHV0cywgbGFiZWxzIGFuZCBtb3JlLiBSb3dzIGluc2lkZSBhIGZvcm0gaW5oZXJpdCBzb21lIHNwZWNpYWwgcGFkZGluZyB0byBldmVuIHVwIGlucHV0IHNwYWNpbmcuPC9saT5cXG5cXHQ8L3VsPlxcblxcdFRvIHVuZGVyc3RhbmQgaG93IHRvIHVzZSBHcmlkLCBwbGVhc2UgbG9vayBhdCA8YSBocmVmPVxcXCIjZ3JpZFxcXCI+Z3JpZCBzZWN0aW9uPC9hPi5cXG48L3A+XFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFxuXFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDFcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsMVxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsMVxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDJcXFwiPlBhc3N3b3JkczwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWwyXFxcIiB0eXBlPVxcXCJwYXNzd29yZFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsM1xcXCIgdHlwZT1cXFwicGFzc3dvcmRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Zvcm0+XFxuXFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48Zm9ybT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwzXFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWwzXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgLW9mZnNldDFcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsNFxcXCI+UGFzc3dvcmRzPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sM1xcXCI+XFxuXFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDRcXFwiIHR5cGU9XFxcInBhc3N3b3JkXFxcIi8+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWw1XFxcIiB0eXBlPVxcXCJwYXNzd29yZFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZm9ybT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXG5cXHRcXHQ8Zm9ybT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWw2XFxcIj5JbnB1dCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDZcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWw3XFxcIj5JbnB1dCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDdcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWw4XFxcIj4mbmJzcDs8L2xhYmVsPlxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWw4XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsOVxcXCI+SW5wdXQgbGFiZWw8L2xhYmVsPlxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWw5XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsMTBcXFwiPlNlbGVjdCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0XFx0PHNlbGVjdCBjbGFzcz1cXFwiLXByaW1hcnktXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxMFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMTwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDI8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHQ8L3NlbGVjdD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwxMVxcXCI+U2VsZWN0IGxhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHRcXHQ8c2VsZWN0IGlkPVxcXCJpbnB1dC1sYWJlbDExXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1IC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDEyXFxcIj5JbnB1dCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDEyXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsMTNcXFwiPklucHV0IGxhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsMTNcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwxMFxcXCI+U2VsZWN0IGxhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHRcXHQ8c2VsZWN0IGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDEwXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDExXFxcIj5TZWxlY3QgbGFiZWw8L2xhYmVsPlxcblxcdFxcdFxcdFxcdFxcdDxzZWxlY3QgaWQ9XFxcImlucHV0LWxhYmVsMTFcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgLW9mZnNldDFcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbD5DaGVjayByYWRpb2J1dHRvbjwvbGFiZWw+XFxuXFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IHR5cGU9XFxcInJhZGlvXFxcIiBuYW1lPVxcXCJpbnB1dHJhZGlvXFxcIiB2YWx1ZT1cXFwiMTIzNFxcXCIgaWQ9XFxcImlucHV0LXJhZGlvMVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtcmFkaW8xXFxcIj5SYWRpbyAxPC9sYWJlbD5cXG5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgdHlwZT1cXFwicmFkaW9cXFwiIG5hbWU9XFxcImlucHV0cmFkaW9cXFwiIHZhbHVlPVxcXCIxMjM0NVxcXCIgaWQ9XFxcImlucHV0LXJhZGlvMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtcmFkaW8yXFxcIj5SYWRpbyAyPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsPkNoZWNrIGNoZWNrYm94PC9sYWJlbD5cXG5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgdHlwZT1cXFwiY2hlY2tib3hcXFwiIG5hbWU9XFxcImlucHV0Y2hlY2tib3hcXFwiIHZhbHVlPVxcXCJSZWRcXFwiIGlkPVxcXCJpbnB1dC1jaGVja2JveDFcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWNoZWNrYm94MVxcXCI+Q2hlY2tib3ggMTwvbGFiZWw+XFxuXFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IHR5cGU9XFxcImNoZWNrYm94XFxcIiBuYW1lPVxcXCJpbnB1dGNoZWNrYm94XFxcIiB2YWx1ZT1cXFwiUmVkXFxcIiBpZD1cXFwiaW5wdXQtY2hlY2tib3gyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1jaGVja2JveDJcXFwiPkNoZWNrYm94IDI8L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwidGV4dGFyZWExXFxcIj5MYWJlbCBmb3IgdGV4dGFyZWE8L2xhYmVsPlxcblxcdFxcdFxcdFxcdFxcdDx0ZXh0YXJlYSBpZD1cXFwidGV4dGFyZWExXFxcIj48L3RleHRhcmVhPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZm9ybT5cXG5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxmb3JtPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDZcXFwiPklucHV0IGxhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsNlxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDdcXFwiPklucHV0IGxhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsN1xcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDhcXFwiPiZuYnNwOzwvbGFiZWw+XFxuXFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDhcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWw5XFxcIj5JbnB1dCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDlcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwxMFxcXCI+U2VsZWN0IGxhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHQ8c2VsZWN0IGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDEwXFxcIj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAxPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMjwvb3B0aW9uPlxcblxcdFxcdFxcdDwvc2VsZWN0PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDExXFxcIj5TZWxlY3QgbGFiZWw8L2xhYmVsPlxcblxcdFxcdFxcdDxzZWxlY3QgaWQ9XFxcImlucHV0LWxhYmVsMTFcXFwiPlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDUgLW9mZnNldDFcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsMTJcXFwiPklucHV0IGxhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsMTJcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtbGFiZWwxM1xcXCI+SW5wdXQgbGFiZWw8L2xhYmVsPlxcblxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWwxM1xcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDEwXFxcIj5TZWxlY3QgbGFiZWw8L2xhYmVsPlxcblxcdFxcdFxcdDxzZWxlY3QgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCIgaWQ9XFxcImlucHV0LWxhYmVsMTBcXFwiPlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWxhYmVsMTFcXFwiPlNlbGVjdCBsYWJlbDwvbGFiZWw+XFxuXFx0XFx0XFx0PHNlbGVjdCBpZD1cXFwiaW5wdXQtbGFiZWwxMVxcXCI+XFxuXFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMTwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDI8L29wdGlvbj5cXG5cXHRcXHRcXHQ8L3NlbGVjdD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyAtb2Zmc2V0MVxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsPkNoZWNrIHJhZGlvYnV0dG9uPC9sYWJlbD5cXG5cXG5cXHRcXHRcXHQ8aW5wdXQgdHlwZT1cXFwicmFkaW9cXFwiIG5hbWU9XFxcImlucHV0cmFkaW9cXFwiIHZhbHVlPVxcXCIxMjM0XFxcIiBpZD1cXFwiaW5wdXQtcmFkaW8xXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1yYWRpbzFcXFwiPlJhZGlvIDE8L2xhYmVsPlxcblxcblxcdFxcdFxcdDxpbnB1dCB0eXBlPVxcXCJyYWRpb1xcXCIgbmFtZT1cXFwiaW5wdXRyYWRpb1xcXCIgdmFsdWU9XFxcIjEyMzQ1XFxcIiBpZD1cXFwiaW5wdXQtcmFkaW8yXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1yYWRpbzJcXFwiPlJhZGlvIDI8L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWw+Q2hlY2sgY2hlY2tib3g8L2xhYmVsPlxcblxcblxcdFxcdFxcdDxpbnB1dCB0eXBlPVxcXCJjaGVja2JveFxcXCIgbmFtZT1cXFwiaW5wdXRjaGVja2JveFxcXCIgdmFsdWU9XFxcIlJlZFxcXCIgaWQ9XFxcImlucHV0LWNoZWNrYm94MVxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGZvcj1cXFwiaW5wdXQtY2hlY2tib3gxXFxcIj5DaGVja2JveCAxPC9sYWJlbD5cXG5cXG5cXHRcXHRcXHQ8aW5wdXQgdHlwZT1cXFwiY2hlY2tib3hcXFwiIG5hbWU9XFxcImlucHV0Y2hlY2tib3hcXFwiIHZhbHVlPVxcXCJSZWRcXFwiIGlkPVxcXCJpbnB1dC1jaGVja2JveDJcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBmb3I9XFxcImlucHV0LWNoZWNrYm94MlxcXCI+Q2hlY2tib3ggMjwvbGFiZWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJ0ZXh0YXJlYTFcXFwiPkxhYmVsIGZvciB0ZXh0YXJlYTwvbGFiZWw+XFxuXFx0XFx0XFx0PHRleHRhcmVhIGlkPVxcXCJ0ZXh0YXJlYTFcXFwiPjwvdGV4dGFyZWE+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9mb3JtPjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblxcblxcblxcblxcblxcbjxwPlVzZSB0aGVtZSBjbGFzc2VzICh5b3UgY2FuIGluY2x1ZGUgYW55IHRoZW1lLCBzbyB0aGVtZXMgY2xhc3MgbmFtZXMgY2FuIGJlIGRpZmZlcmVudCkgPGNvZGU+LXByaW1hcnktPC9jb2RlPiwgPGNvZGU+LWVycm9yLTwvY29kZT4sIDxjb2RlPi1zdWNjZXNzLTwvY29kZT4sIGV0Yy4gd2l0aCA8Y29kZT4mbHQ7aW5wdXQmZ3Q7PC9jb2RlPiB0byBzZXQgdGhlbWUuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcblxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDE0XFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiLXByaW1hcnktXFxcIiBwbGFjZWhvbGRlcj1cXFwiLXByaW1hcnktXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDE1XFxcIj5QYXNzd29yZHM8L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIi1lcnJvci1cXFwiIHBsYWNlaG9sZGVyPVxcXCItZXJyb3ItXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNVxcXCIgdHlwZT1cXFwicGFzc3dvcmRcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDE2XFxcIiB0eXBlPVxcXCJwYXNzd29yZFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZm9ybT5cXG5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxmb3JtPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDE0XFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiLXByaW1hcnktXFxcIiBwbGFjZWhvbGRlcj1cXFwiLXByaW1hcnktXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgZm9yPVxcXCJpbnB1dC1sYWJlbDE1XFxcIj5QYXNzd29yZHM8L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIi1lcnJvci1cXFwiIHBsYWNlaG9sZGVyPVxcXCItZXJyb3ItXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNVxcXCIgdHlwZT1cXFwicGFzc3dvcmRcXFwiLz5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDE2XFxcIiB0eXBlPVxcXCJwYXNzd29yZFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZm9ybT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG48cD5Vc2Ugc2l6ZSBjbGFzc2VzIFVzZSBzaXplIGNsYXNzZXMgPGNvZGU+X3Rpbnk8L2NvZGU+LCA8Y29kZT5fc21hbGw8L2NvZGU+LCA8Y29kZT5fbWlub3I8L2NvZGU+LCA8Y29kZT5fbm9ybWFsPC9jb2RlPiwgPGNvZGU+X21ham9yPC9jb2RlPiwgPGNvZGU+X25vcm1hbDwvY29kZT4sIDxjb2RlPl9iaWc8L2NvZGU+LCA8Y29kZT5faHVnZTwvY29kZT4sIDxjb2RlPl9kaXZpbmU8L2NvZGU+IHdpdGggPGNvZGU+Jmx0O2lucHV0Jmd0OzwvY29kZT4gdG8gc2V0IHNpemUuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcblxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9taW5vclxcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDE0XFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDhcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX21pbm9yXFxcIiBwbGFjZWhvbGRlcj1cXFwiX21pbm9yXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9ub3JtYWxcXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9ub3JtYWxcXFwiIHBsYWNlaG9sZGVyPVxcXCJfbm9ybWFsXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9tYWpvclxcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDE0XFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDhcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX21ham9yXFxcIiBwbGFjZWhvbGRlcj1cXFwiX21ham9yXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9iaWdcXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9iaWdcXFwiIHBsYWNlaG9sZGVyPVxcXCJfYmlnXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9odWdlXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfaHVnZVxcXCIgcGxhY2Vob2xkZXI9XFxcIl9odWdlXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9kaXZpbmVcXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9kaXZpbmVcXFwiIHBsYWNlaG9sZGVyPVxcXCJfZGl2aW5lXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZm9ybT5cXG5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxmb3JtPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9taW5vclxcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDE0XFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDhcXFwiPlxcblxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX21pbm9yXFxcIiBwbGFjZWhvbGRlcj1cXFwiX21pbm9yXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9ub3JtYWxcXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9ub3JtYWxcXFwiIHBsYWNlaG9sZGVyPVxcXCJfbm9ybWFsXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9tYWpvclxcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDE0XFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDhcXFwiPlxcblxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX21ham9yXFxcIiBwbGFjZWhvbGRlcj1cXFwiX21ham9yXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9iaWdcXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9iaWdcXFwiIHBsYWNlaG9sZGVyPVxcXCJfYmlnXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9odWdlXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfaHVnZVxcXCIgcGxhY2Vob2xkZXI9XFxcIl9odWdlXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9kaXZpbmVcXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9kaXZpbmVcXFwiIHBsYWNlaG9sZGVyPVxcXCJfZGl2aW5lXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZm9ybT48L3ByZT48L2Rpdj5cXG5cXG5cXG48L2Rpdj5cXG5cIixcImZpZWxkc2V0XCI6XCI8IS0tID09PT09PT09PT09PSBERVNDUklQVElPTiAtLT5cXG48IS0tID09PT09PT09PT09PT09PT09PT09PT0gLS0+XFxuXFxuPGgzPkZpZWxkc2V0PC9oMz5cXG5cXG48IS0tID09PT09PT09PT09PSBWYXJpYWJsZXMgLS0+XFxuPHA+XFxuXFx0PGg0Pkdsb2JhbCB2YXJpYWJsZXM8L2g0PlxcblxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1zYXNzXFxcIj4kZm9ybS1maWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKSAhZ2xvYmFsXFxuJGZvcm0tZmllbGRzZXQtcGFkZGluZy12ZXJ0aWNhbDogJGJhc2UtbGluZS1oZWlnaHQtY29tcCAhZ2xvYmFsXFxuJGZvcm0tZmllbGRzZXQtcGFkZGluZy1ob3Jpem9udGFsOiAkYmFzZS1saW5lLWhlaWdodC1jb21wICFnbG9iYWxcXG4kZm9ybS1sZWdlbmQtcGFkZGluZzogN3B4ICFnbG9iYWw8L3ByZT5cXG48L3A+XFxuXFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFxuXFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0PGZpZWxkc2V0PlxcblxcdFxcdFxcdFxcdDxsZWdlbmQ+RmllbGRzZXQgTGVnZW5kPC9sZWdlbmQ+XFxuXFxuXFx0XFx0XFx0XFx0PGxhYmVsPklucHV0IExhYmVsPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8aW5wdXQgdHlwZT1cXFwidGV4dFxcXCIgcGxhY2Vob2xkZXI9XFxcIklucHV0cyBhbmQgb3RoZXIgZm9ybSBlbGVtZW50cyBnbyBpbnNpZGUuLi5cXFwiPlxcblxcdFxcdFxcdDwvZmllbGRzZXQ+XFxuXFx0XFx0PC9mb3JtPlxcblxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGZvcm0+XFxuXFx0PGZpZWxkc2V0PlxcblxcdFxcdDxsZWdlbmQ+RmllbGRzZXQgTGVnZW5kPC9sZWdlbmQ+XFxuXFxuXFx0XFx0PGxhYmVsPklucHV0IExhYmVsPC9sYWJlbD5cXG5cXHRcXHQ8aW5wdXQgdHlwZT1cXFwidGV4dFxcXCIgcGxhY2Vob2xkZXI9XFxcIklucHV0cyBhbmQgb3RoZXIgZm9ybSBlbGVtZW50cyBnbyBpbnNpZGUuLi5cXFwiPlxcblxcdDwvZmllbGRzZXQ+XFxuPC9mb3JtPjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblwiLFwiZmllbGRzXCI6XCI8IS0tID09PT09PT09PT09PSBGSUVMRFMgLS0+XFxuPCEtLSA9PT09PT09PT09PT09PT09PT09PT09IC0tPlxcblxcbjxoMz5GaWVsZHM8L2gzPlxcblxcbjwhLS0gPT09PT09PT09PT09IFZhcmlhYmxlcyAtLT5cXG48cD5cXG5cXHQ8aDQ+R2xvYmFsIHZhcmlhYmxlczwvaDQ+XFxuXFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLXNhc3NcXFwiPiRmb3JtLWZpZWxkLWNsYXNzOiBcXFwiLWZpZWxkXFxcIlxcbiRmb3JtLWZpZWxkLWJvcmRlci13aWR0aDogM3B4XFxuJGZvcm0tZmllbGQtYm9yZGVyLXJhZGl1czogM3B4PC9wcmU+XFxuPC9wPlxcblxcblxcbjwhLS0gPT09PT09PT09PT09IERlc2NyaXB0aW9uIC0tPlxcblxcbjxwPldoYXQgaXMgZmlsZWQ/IEZpZWxkIGlzIGFuIGVsZW1lbnQgd2l0aCBjbGFzcyA8Y29kZT4tZmllbGQ8L2NvZGU+IGFuZCA8Y29kZT4mbHQ7aW5wdXQmZ3Q7PC9jb2RlPiBpbnNpZGUuIEl0IGRvZXNuJ3QgaGFzIG5ldyBmdW5jdGlvbnMsIGp1c3QgbG9va3MgcHJldHRpZXIuPC9wPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcblxcdFxcdDxmb3JtPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9ob3Jpem9udGFsX1xcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDIwXFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGlucHV0IGlkPVxcXCJpbnB1dC1sYWJlbDIwXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEgLW9mZnNldDFcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBjbGFzcz1cXFwiX2hvcml6b250YWxfXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMjFcXFwiPlBhc3N3b3JkczwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1maWVsZCAtcHJpbWFyeS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWwyMVxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxzZWxlY3Q+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PG9wdGlvbj5PcHRpb24gMTwvb3B0aW9uPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDI8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L3NlbGVjdD5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Zvcm0+XFxuXFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPlxcblxcdFxcdFxcdDxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48Zm9ybT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMVxcXCI+XFxuXFx0XFx0XFx0PGxhYmVsIGNsYXNzPVxcXCJfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwyMFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPlxcblxcdFxcdFxcdFxcdDxpbnB1dCBpZD1cXFwiaW5wdXQtbGFiZWwyMFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9ob3Jpem9udGFsX1xcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDIxXFxcIj5QYXNzd29yZHM8L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGQgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW5wdXQgaWQ9XFxcImlucHV0LWxhYmVsMjFcXFwiIHR5cGU9XFxcInRleHRcXFwiLz5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMlxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c2VsZWN0PlxcblxcdFxcdFxcdFxcdFxcdDxvcHRpb24+T3B0aW9uIDE8L29wdGlvbj5cXG5cXHRcXHRcXHRcXHRcXHQ8b3B0aW9uPk9wdGlvbiAyPC9vcHRpb24+XFxuXFx0XFx0XFx0XFx0PC9zZWxlY3Q+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9mb3JtPjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxwPlVzZSBzaXplIGNsYXNzZXMgVXNlIHNpemUgY2xhc3NlcyA8Y29kZT5fdGlueTwvY29kZT4sIDxjb2RlPl9zbWFsbDwvY29kZT4sIDxjb2RlPl9taW5vcjwvY29kZT4sIDxjb2RlPl9ub3JtYWw8L2NvZGU+LCA8Y29kZT5fbWFqb3I8L2NvZGU+LCA8Y29kZT5fbm9ybWFsPC9jb2RlPiwgPGNvZGU+X2JpZzwvY29kZT4sIDxjb2RlPl9odWdlPC9jb2RlPiwgPGNvZGU+X2RpdmluZTwvY29kZT4gd2l0aCA8Y29kZT4mbHQ7aW5wdXQmZ3Q7PC9jb2RlPiB0byBzZXQgc2l6ZS48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFxuXFx0XFx0PGZvcm0+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBjbGFzcz1cXFwiX21pbm9yIF9ob3Jpem9udGFsX1xcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDE0XFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDhcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfbWlub3JcXFwiIHBsYWNlaG9sZGVyPVxcXCJfbWlub3JcXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDE0XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBjbGFzcz1cXFwiX25vcm1hbCBfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGQgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9ub3JtYWxcXFwiIHBsYWNlaG9sZGVyPVxcXCJfbm9ybWFsXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9tYWpvciBfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGQgLWVycm9yLVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfbWFqb3JcXFwiIHBsYWNlaG9sZGVyPVxcXCJfbWFqb3JcXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDE0XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBjbGFzcz1cXFwiX2JpZyBfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX2JpZ1xcXCIgcGxhY2Vob2xkZXI9XFxcIl9iaWdcXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDE0XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBjbGFzcz1cXFwiX2h1Z2UgX2hvcml6b250YWxfXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9odWdlXFxcIiBwbGFjZWhvbGRlcj1cXFwiX2h1Z2VcXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDE0XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxsYWJlbCBjbGFzcz1cXFwiX2RpdmluZSBfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX2RpdmluZVxcXCIgcGxhY2Vob2xkZXI9XFxcIl9kaXZpbmVcXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDE0XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9mb3JtPlxcblxcblxcdDwvZGl2PlxcblxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGZvcm0+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBjbGFzcz1cXFwiX21pbm9yIF9ob3Jpem9udGFsX1xcXCIgZm9yPVxcXCJpbnB1dC1sYWJlbDE0XFxcIj5Mb2dpbjwvbGFiZWw+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDhcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1maWVsZFxcXCI+XFxuXFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfbWlub3JcXFwiIHBsYWNlaG9sZGVyPVxcXCJfbWlub3JcXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDE0XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBjbGFzcz1cXFwiX25vcm1hbCBfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGQgLXByaW1hcnktXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9ub3JtYWxcXFwiIHBsYWNlaG9sZGVyPVxcXCJfbm9ybWFsXFxcIiBpZD1cXFwiaW5wdXQtbGFiZWwxNFxcXCIgdHlwZT1cXFwidGV4dFxcXCIvPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wyXFxcIj5cXG5cXHRcXHRcXHQ8bGFiZWwgY2xhc3M9XFxcIl9tYWpvciBfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGQgLWVycm9yLVxcXCI+XFxuXFx0XFx0XFx0XFx0PGlucHV0IGNsYXNzPVxcXCJfbWFqb3JcXFwiIHBsYWNlaG9sZGVyPVxcXCJfbWFqb3JcXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDE0XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBjbGFzcz1cXFwiX2JpZyBfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPlxcblxcdFxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX2JpZ1xcXCIgcGxhY2Vob2xkZXI9XFxcIl9iaWdcXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDE0XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBjbGFzcz1cXFwiX2h1Z2UgX2hvcml6b250YWxfXFxcIiBmb3I9XFxcImlucHV0LWxhYmVsMTRcXFwiPkxvZ2luPC9sYWJlbD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWZpZWxkXFxcIj5cXG5cXHRcXHRcXHRcXHQ8aW5wdXQgY2xhc3M9XFxcIl9odWdlXFxcIiBwbGFjZWhvbGRlcj1cXFwiX2h1Z2VcXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDE0XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDJcXFwiPlxcblxcdFxcdFxcdDxsYWJlbCBjbGFzcz1cXFwiX2RpdmluZSBfaG9yaXpvbnRhbF9cXFwiIGZvcj1cXFwiaW5wdXQtbGFiZWwxNFxcXCI+TG9naW48L2xhYmVsPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZmllbGRcXFwiPlxcblxcdFxcdFxcdFxcdDxpbnB1dCBjbGFzcz1cXFwiX2RpdmluZVxcXCIgcGxhY2Vob2xkZXI9XFxcIl9kaXZpbmVcXFwiIGlkPVxcXCJpbnB1dC1sYWJlbDE0XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIi8+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9mb3JtPjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblwiLFwiY29tbW9uXCI6XCI8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHQ8aDE+Rm9ybXM8L2gxPlxcbjwvZGl2PlxcblwifX0sXCJ1dGlsaXRpZXNcIjp7XCJyZXNwb25zaXZlXCI6XCI8aDE+UmVzcG9uc2l2ZSB1dGlsaXRpZXM8L2gxPlxcblxcblxcbjxwPlxcblxcdEZvciBmYXN0ZXIgbW9iaWxlLWZyaWVuZGx5IGRldmVsb3BtZW50LCB1c2UgdGhlc2UgdXRpbGl0eSBjbGFzc2VzIGZvciBzaG93aW5nIGFuZCBoaWRpbmcgY29udGVudCBieSBkZXZpY2UgdmlhIG1lZGlhIHF1ZXJ5LiBBbHNvIGluY2x1ZGVkIGFyZSB1dGlsaXR5IGNsYXNzZXMgZm9yIHRvZ2dsaW5nIGNvbnRlbnQgd2hlbiBwcmludGVkLlxcbjwvcD5cXG5cXG48cD5cXG5cXHRUcnkgdG8gdXNlIHRoZXNlIG9uIGEgbGltaXRlZCBiYXNpcyBhbmQgYXZvaWQgY3JlYXRpbmcgZW50aXJlbHkgZGlmZmVyZW50IHZlcnNpb25zIG9mIHRoZSBzYW1lIHNpdGUuIEluc3RlYWQsIHVzZSB0aGVtIHRvIGNvbXBsZW1lbnQgZWFjaCBkZXZpY2UncyBwcmVzZW50YXRpb24uIDxiPlJlc3BvbnNpdmUgdXRpbGl0aWVzIGFyZSBjdXJyZW50bHkgb25seSBhdmFpbGFibGUgZm9yIGJsb2NrIGFuZCB0YWJsZSB0b2dnbGluZzwvYj4uIFVzZSB3aXRoIGlubGluZSBhbmQgdGFibGUgZWxlbWVudHMgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQuXFxuPC9wPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF92ZXJ0aWNhbF9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPjwvdGg+XFxuXFx0XFx0XFx0PHRoIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+bW9iaWxlPC90aD5cXG5cXHRcXHRcXHQ8dGggY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj50YWJsZXRzPC90aD5cXG5cXHRcXHRcXHQ8dGggY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5kZXNrdG9wczwvdGg+XFxuXFx0XFx0XFx0PHRoIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+bGFyZ2UgZGVza3RvcHM8L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Y29kZT4uX3Zpc2libGUtcGhvbmVzXzwvY29kZT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktIF9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj52aXNpYmxlPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIiBkaXNhYmxlZD5oaWRkZW48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiIGRpc2FibGVkPmhpZGRlbjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGNvZGU+Ll92aXNpYmxlLXRhYmxldHNfPC9jb2RlPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LSBfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+dmlzaWJsZTwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIiBkaXNhYmxlZD5oaWRkZW48L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Y29kZT4uX3Zpc2libGUtZGVza3RvcHNfPC9jb2RlPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIiBkaXNhYmxlZD5oaWRkZW48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktIF9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj52aXNpYmxlPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIiBkaXNhYmxlZD5oaWRkZW48L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Y29kZT4uX3Zpc2libGUtbGFyZ2UtZGVza3RvcHNfPC9jb2RlPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIiBkaXNhYmxlZD5oaWRkZW48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiIGRpc2FibGVkPmhpZGRlbjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS0gX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPnZpc2libGU8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Y29kZT4uX2hpZGRlbi1waG9uZXNfPC9jb2RlPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LSBfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+dmlzaWJsZTwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS0gX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPnZpc2libGU8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktIF9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj52aXNpYmxlPC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGNvZGU+Ll9oaWRkZW4tdGFibGV0c188L2NvZGU+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LSBfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+dmlzaWJsZTwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCIgZGlzYWJsZWQ+aGlkZGVuPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LSBfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+dmlzaWJsZTwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS0gX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPnZpc2libGU8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Y29kZT4uX2hpZGRlbi1kZXNrdG9wc188L2NvZGU+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LSBfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+dmlzaWJsZTwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS0gX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPnZpc2libGU8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiIGRpc2FibGVkPmhpZGRlbjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS0gX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPnZpc2libGU8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Y29kZT4uX2hpZGRlbi1sYXJnZS1kZXNrdG9wc188L2NvZGU+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIi1wcmltYXJ5LSBfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+dmlzaWJsZTwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCItcHJpbWFyeS0gX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPnZpc2libGU8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiLXByaW1hcnktIF9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj52aXNpYmxlPC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIiBkaXNhYmxlZD5oaWRkZW48L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcbjxoMz5UZXN0IHJlc3BvbnNpdmU8L2gzPlxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIF9kZXYtaW52aXNpYmlsaXR5X1xcXCI+PGRpdiBjbGFzcz1cXFwiX3Zpc2libGUtcGhvbmVzXyBfZGV2LXZpc2liaWxpdHlfXFxcIj5WaXNpYmxlIG9uIHBob25lczwvZGl2PkhpZGRlbiBvbiBwaG9uZXM8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyBfZGV2LWludmlzaWJpbGl0eV9cXFwiPjxkaXYgY2xhc3M9XFxcIl92aXNpYmxlLXRhYmxldHNfIF9kZXYtdmlzaWJpbGl0eV9cXFwiPlZpc2libGUgb24gdGFibGV0czwvZGl2PkhpZGRlbiBvbiB0YWJsZXRzPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgX2Rldi1pbnZpc2liaWxpdHlfXFxcIj48ZGl2IGNsYXNzPVxcXCJfdmlzaWJsZS1kZXNrdG9wc18gX2Rldi12aXNpYmlsaXR5X1xcXCI+VmlzaWJsZSBvbiBkZXNrdG9wczwvZGl2PkhpZGRlbiBvbiBkZXNrdG9wczwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIF9kZXYtaW52aXNpYmlsaXR5X1xcXCI+PGRpdiBjbGFzcz1cXFwiX3Zpc2libGUtbGFyZ2UtZGVza3RvcHNfIF9kZXYtdmlzaWJpbGl0eV9cXFwiPlZpc2libGUgb24gbGFyZ2U8L2Rpdj5IaWRkZW4gb24gbGFyZ2U8L2Rpdj5cXG48L2Rpdj5cXG48YnI+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgX2Rldi1pbnZpc2liaWxpdHlfXFxcIj48ZGl2IGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2Rldi12aXNpYmlsaXR5X1xcXCI+SGlkZGVuIG9uIHBob25lczwvZGl2PlZpc2libGUgb24gcGhvbmVzPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgX2Rldi1pbnZpc2liaWxpdHlfXFxcIj48ZGl2IGNsYXNzPVxcXCJfaGlkZGVuLXRhYmxldHNfIF9kZXYtdmlzaWJpbGl0eV9cXFwiPkhpZGRlbiBvbiB0YWJsZXRzPC9kaXY+VmlzaWJsZSBvbiB0YWJsZXRzPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgX2Rldi1pbnZpc2liaWxpdHlfXFxcIj48ZGl2IGNsYXNzPVxcXCJfaGlkZGVuLWRlc2t0b3BzXyBfZGV2LXZpc2liaWxpdHlfXFxcIj5IaWRkZW4gb24gZGVza3RvcHM8L2Rpdj5WaXNpYmxlIG9uIGRlc2t0b3BzPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgX2Rldi1pbnZpc2liaWxpdHlfXFxcIj48ZGl2IGNsYXNzPVxcXCJfaGlkZGVuLWxhcmdlLWRlc2t0b3BzXyBfZGV2LXZpc2liaWxpdHlfXFxcIj5IaWRkZW4gb24gbGFyZ2UgZGVza3RvcHM8L2Rpdj5WaXNpYmxlIG9uIGxhcmdlPC9kaXY+XFxuPC9kaXY+XFxuPGJyPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2IF9kZXYtaW52aXNpYmlsaXR5X1xcXCI+PGRpdiBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c18gX2Rldi12aXNpYmlsaXR5X1xcXCI+VmlzaWJsZSBvbiBhbGwgZGVza3RvcHM8L2Rpdj5IaWRkZW4gb24gcGhvbmVzIGFuZCB0YWJsZXRzPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgX2Rldi1pbnZpc2liaWxpdHlfXFxcIj48ZGl2IGNsYXNzPVxcXCJfaGlkZGVuLWRlc2t0b3BzXyBfZGV2LXZpc2liaWxpdHlfXFxcIj5WaXNpYmxlIG9uIGRlc2t0b3BzPC9kaXY+SGlkZGVuIG9uIGRlc2t0b3BzPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgX2Rldi1pbnZpc2liaWxpdHlfXFxcIj48ZGl2IGNsYXNzPVxcXCJfaGlkZGVuLWxhcmdlLWRlc2t0b3BzXyBfZGV2LXZpc2liaWxpdHlfXFxcIj5IaWRkZW4gb24gbGFyZ2UgZGVza3RvcHM8L2Rpdj5WaXNpYmxlIG9uIGxhcmdlPC9kaXY+XFxuPC9kaXY+XFxuXCIsXCJvcmRlclwiOlwiPGgxPkNoYW5naW5nIG9yZGVyPC9oMT5cXG5cXG5cXG48cD5cXG5cXHRJZiB5b3Ugd2FudCB0byBjaGFuZ2Ugb3JkZXIgb2YgYW55IGZsb2F0aW5nIGVsZW1lbnRzICggZm9yIGV4YW1wbGUgZ3JpZCApLCB1c2UgdGhpcyBtb2RpZmllcnMuXFxuPC9wPlxcblxcbjxwPlxcblxcdEluIHRoaXMgZXhhbXBsZSBjb2x1bW5zIHdpbGwgc3dhcCB3aGlsZSB5b3UgcmVzaXppbmcgd2luZG93IG9yIHVzZSBtb2JpbGUgYnJvd3Nlci5cXG48L3A+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyBfanVzdGlmeV8gcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3IgX3JpZ2h0LWRlc2t0b3BzXyBfcmlnaHQtbGFyZ2UtZGVza3RvcHNfXFxcIj5yaWdodCBvbiBiaWc8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3IgX3JpZ2h0LWRlc2t0b3BzXyBfcmlnaHQtbGFyZ2UtZGVza3RvcHNfXFxcIj5jZW50ZXI8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNCBjb2x1bW4tY29sb3IgX2xlZnQtZGVza3RvcHNfIF9sZWZ0LWxhcmdlLWRlc2t0b3BzX1xcXCI+bGVmdCBvbiBiaWc8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1yb3cgX2p1c3RpZnlfIHJvdy1jb2xvclxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yIF9yaWdodC1kZXNrdG9wc18gX3JpZ2h0LWxhcmdlLWRlc2t0b3BzX1xcXCI+cmlnaHQgb24gYmlnPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yIF9yaWdodC1kZXNrdG9wc18gX3JpZ2h0LWxhcmdlLWRlc2t0b3BzX1xcXCI+Y2VudGVyPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yIF9sZWZ0LWRlc2t0b3BzXyBfbGVmdC1sYXJnZS1kZXNrdG9wc19cXFwiPmxlZnQgb24gYmlnPC9kaXY+XFxuPC9kaXY+PC9wcmU+XFxuXFx0PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvdyBfanVzdGlmeV8gcm93LWNvbG9yXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyBjb2x1bW4tY29sb3IgX3JpZ2h0LWRlc2t0b3BzXyBfcmlnaHQtbGFyZ2UtZGVza3RvcHNfXFxcIj5yaWdodCBvbiBiaWc8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyBjb2x1bW4tY29sb3IgX2xlZnQtZGVza3RvcHNfIF9sZWZ0LWxhcmdlLWRlc2t0b3BzXyBfcmlnaHQtdGFibGV0c18gX3JpZ2h0LXBob25lc19cXFwiPmxlZnQgb24gYmlnPC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgY29sdW1uLWNvbG9yIF9sZWZ0LXRhYmxldHNfIF9sZWZ0LXBob25lc19cXFwiPmNlbnRlcjwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIGNvbHVtbi1jb2xvciBfbGVmdC1kZXNrdG9wc18gX2xlZnQtbGFyZ2UtZGVza3RvcHNfXFxcIj5jZW50ZXIgMjwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj5cXG5cXHRcXHQ8cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXJvdyBfanVzdGlmeV8gcm93LWNvbG9yXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyBjb2x1bW4tY29sb3IgX3JpZ2h0LWRlc2t0b3BzXyBfcmlnaHQtbGFyZ2UtZGVza3RvcHNfXFxcIj5yaWdodCBvbiBiaWc8L2Rpdj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMyBjb2x1bW4tY29sb3IgX2xlZnQtZGVza3RvcHNfIF9sZWZ0LWxhcmdlLWRlc2t0b3BzXyBfcmlnaHQtdGFibGV0c18gX3JpZ2h0LXBob25lc19cXFwiPmxlZnQgb24gYmlnPC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDMgY29sdW1uLWNvbG9yIF9sZWZ0LXRhYmxldHNfIF9sZWZ0LXBob25lc19cXFwiPmNlbnRlcjwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wzIGNvbHVtbi1jb2xvciBfbGVmdC1kZXNrdG9wc18gX2xlZnQtbGFyZ2UtZGVza3RvcHNfXFxcIj5jZW50ZXIgMjwvZGl2PlxcbjwvZGl2PjwvcHJlPlxcblxcdDwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcbjxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgX2p1c3RpZnlfIHJvdy1jb2xvclxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yIF9yaWdodC1kZXNrdG9wc18gX3JpZ2h0LWxhcmdlLWRlc2t0b3BzX1xcXCI+TWVudTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4IGNvbHVtbi1jb2xvciBfbGVmdC1kZXNrdG9wc18gX2xlZnQtbGFyZ2UtZGVza3RvcHNfXFxcIj5NYWluIGNvbnRlbnQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+XFxuXFx0XFx0PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1yb3cgX2p1c3RpZnlfIHJvdy1jb2xvclxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDQgY29sdW1uLWNvbG9yIF9yaWdodC1kZXNrdG9wc18gX3JpZ2h0LWxhcmdlLWRlc2t0b3BzX1xcXCI+TWVudTwvZGl2PlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4IGNvbHVtbi1jb2xvciBfbGVmdC1kZXNrdG9wc18gX2xlZnQtbGFyZ2UtZGVza3RvcHNfXFxcIj5NYWluIGNvbnRlbnQ8L2Rpdj5cXG48L2Rpdj48L3ByZT5cXG5cXHQ8L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIn0sXCJjb21wb25lbnRzXCI6e1wid2FsbFwiOlwiXFx0PGgxPldhbGw8L2gxPlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxwPk1ha2UgYSBwYXJhbGxheCBlZmZlY3Qgd2l0aCBpbWFnZSBvciB2aWRlbyBiYWNrZ3JvdW5kPC9wPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdExvb2sgYXQgdGhlIDxhIGhyZWY9XFxcIi9leGFtcGxlcy9ibG9nXFxcIiB0YXJnZXQ9XFxcIl9ibGFua1xcXCIgZGF0YS1ieXBhc3M+ZXhhbXBsZTwvYT4uIFdhbGxzIHdpdGggdmlkZW8gYW5kIGltYWdlIGJhY2tncm91bmRzIGNvZGUgYmVsb3cuXFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPndhbGxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcXFwiW2RhdGEta2luZD0nd2FsbCddXFxcIilcXG5mb3Igd2wgaW4gd2FsbHNcXG5cXHR3bC53YWxsKCk8L3ByZT48L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi13YWxsXFxcIiBkYXRhLWtpbmQ9XFxcIndhbGxcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1pdGVtXFxcIj5cXG5cXHRcXHQ8IS0tIEFkZCBhIHZpZGVvIGJhY2tncm91bmQgaGVyZSB3aXRoIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIiAtLT5cXG5cXHRcXHQ8dmlkZW8gY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiIG11dGVkPVxcXCJcXFwiIHByZWxvYWQ9XFxcImF1dG9cXFwiIGF1dG9wbGF5PVxcXCJhdXRvcGxheVxcXCIgbG9vcD1cXFwibG9vcFxcXCI+XFxuXFx0XFx0XFx0PHNvdXJjZSBzcmM9XFxcIi8vc2VjdXJlLWMudmltZW9jZG4uY29tL3AvdmlkZW8veW9zZW1pdGVfaGRfaWlfaGQud2VibVxcXCIgdHlwZT1cXFwidmlkZW8vd2VibVxcXCI+XFxuXFx0XFx0XFx0PHNvdXJjZSBzcmM9XFxcIi8vc2VjdXJlLWMudmltZW9jZG4uY29tL3AvdmlkZW8veW9zZW1pdGVfaGRfaWlfaGQubXA0XFxcIiB0eXBlPVxcXCJ2aWRlby9tcDRcXFwiPlxcblxcdFxcdDwvdmlkZW8+XFxuXFxuXFx0XFx0PCEtLSBUaGlzIGlzIGEgaGVhZGVyIG9mIHRoZSB3YWxsIC0tPlxcblxcdFxcdDxoZWFkZXIgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdDwhLS0gVXNlIGdyaWQgc3lzdGVtIGluc2lkZSB0byBiZWF1dGlmdWwgdmlldyAtLT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0MlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PCEtLSBBZGQgY29udGVudCBoZXJlIC0tPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoMT5Zb3NlbWl0ZTwvaDE+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGgyPjxzbWFsbD5UaW1lLWxhcHNlIHZpZGVvIHByb2plY3Qgc2V0IGluIFlvc2VtaXRlIE5hdGlvbmFsIFBhcmssIDIwMTQ8L3NtYWxsPjwvaDI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PCEtLSBZb3UgY2FuIGFkZCBvdGhlciB3aWRnZXRzIGluc2lkZS4gQXZhdGFyIGluIHRoYXQgY2FzZSAtLT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWF2YXRhciBfcm91bmRfIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9zMS53cC5jb20vd3AtY29udGVudC90aGVtZXMvdmlwL3RpbWVsaWZlL2ltYWdlcy9saWZlX2xvZ28ucG5nXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2ZpZ3VyZT5UaGUgTElGRSwgQ29saW4gRGVsZWhhbnR5XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvaGVhZGVyPlxcblxcdDwvZGl2PlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGRpdiBjbGFzcz1cXFwiLXdhbGxcXFwiIGRhdGEta2luZD1cXFwid2FsbFxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWl0ZW1cXFwiPlxcblxcdFxcdDwhLS0gQWRkIGFuIGltYWdlIGJhY2tncm91bmQgaGVyZSB3aXRoIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIiAtLT5cXG5cXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIiA+XFxuXFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vZDI2MmlsYjUxaGx0eDAuY2xvdWRmcm9udC5uZXQvZml0L3QvMjAwMC8xNjAwL2dyYWR2LzI5LzgxLzU1LzEqazZtTk5SWXBuWXc0QjBnbnd0LXNwZy5qcGVnXFxcIiBhbHQ9XFxcIlxcXCI+XFxuXFx0XFx0PC9maWd1cmU+XFxuXFxuXFx0XFx0PCEtLSBUaGlzIGlzIGEgaGVhZGVyIG9mIHRoZSB3YWxsIC0tPlxcblxcdFxcdDxoZWFkZXIgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdDwhLS0gVXNlIGdyaWQgc3lzdGVtIGluc2lkZSB0byBiZWF1dGlmdWwgdmlldyAtLT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0MlxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PCEtLSBBZGQgY29udGVudCBoZXJlIC0tPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoMT5Zb3NlbWl0ZTwvaDE+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGgyPjxzbWFsbD5UaW1lLWxhcHNlIHZpZGVvIHByb2plY3Qgc2V0IGluIFlvc2VtaXRlIE5hdGlvbmFsIFBhcmssIDIwMTQ8L3NtYWxsPjwvaDI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PCEtLSBZb3UgY2FuIGFkZCBvdGhlciB3aWRnZXRzIGluc2lkZS4gQXZhdGFyIGluIHRoYXQgY2FzZSAtLT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWF2YXRhciBfcm91bmRfIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9zMS53cC5jb20vd3AtY29udGVudC90aGVtZXMvdmlwL3RpbWVsaWZlL2ltYWdlcy9saWZlX2xvZ28ucG5nXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2ZpZ3VyZT5UaGUgTElGRSwgQ29saW4gRGVsZWhhbnR5XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvaGVhZGVyPlxcblxcdDwvZGl2PlxcbjwvZGl2PjwvcHJlPjwvZGl2PlxcblxcbjwvZGl2PlxcblxcblxcblxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPllvdSBjYW4gYWRkIGEgY29udGVudCBhZnRlciA8Y29kZT4mbHQ7aGVhZGVyJmd0OzwvY29kZT48L2Jsb2NrcXVvdGU+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0TG9vayBhdCB0aGUgPGEgaHJlZj1cXFwiL2V4YW1wbGVzL2Jsb2dcXFwiIHRhcmdldD1cXFwiX2JsYW5rXFxcIiBkYXRhLWJ5cGFzcz5leGFtcGxlPC9hPi4gV2FsbHMgd2l0aCB2aWRlbyBhbmQgaW1hZ2UgYmFja2dyb3VuZHMgY29kZSBiZWxvdy5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi13YWxsXFxcIiBkYXRhLWtpbmQ9XFxcIndhbGxcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1pdGVtXFxcIj5cXG5cXHRcXHQ8IS0tIEFkZCBhbiBpbWFnZSBiYWNrZ3JvdW5kIGhlcmUgd2l0aCBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCIgLS0+XFxuXFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCIgPlxcblxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL2QyNjJpbGI1MWhsdHgwLmNsb3VkZnJvbnQubmV0L2ZpdC90LzIwMDAvMTYwMC9ncmFkdi8yOS84MS81NS8xKms2bU5OUllwbll3NEIwZ253dC1zcGcuanBlZ1xcXCIgYWx0PVxcXCJcXFwiPlxcblxcdFxcdDwvZmlndXJlPlxcblxcblxcdFxcdDwhLS0gVGhpcyBpcyBhIGhlYWRlciBvZiB0aGUgd2FsbCAtLT5cXG5cXHRcXHQ8aGVhZGVyIGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHQ8IS0tIFVzZSBncmlkIHN5c3RlbSBpbnNpZGUgdG8gYmVhdXRpZnVsIHZpZXcgLS0+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDggLW9mZnNldDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwhLS0gQWRkIGNvbnRlbnQgaGVyZSAtLT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aDE+WW9zZW1pdGU8L2gxPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoMj48c21hbGw+VGltZS1sYXBzZSB2aWRlbyBwcm9qZWN0IHNldCBpbiBZb3NlbWl0ZSBOYXRpb25hbCBQYXJrLCAyMDE0PC9zbWFsbD48L2gyPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwhLS0gWW91IGNhbiBhZGQgb3RoZXIgd2lkZ2V0cyBpbnNpZGUuIEF2YXRhciBpbiB0aGF0IGNhc2UgLS0+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1hdmF0YXIgX3JvdW5kXyBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vczEud3AuY29tL3dwLWNvbnRlbnQvdGhlbWVzL3ZpcC90aW1lbGlmZS9pbWFnZXMvbGlmZV9sb2dvLnBuZ1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9maWd1cmU+VGhlIExJRkUsIENvbGluIERlbGVoYW50eVxcblxcdFxcdFxcdFxcdFxcdFxcdDwvYT5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2hlYWRlcj5cXG5cXG5cXHRcXHQ8IS0tIEFkZCBhIC1jb250ZW50IGFmdGVyIGhlYWRlci4gQWRkIGFueSBjb250ZW50IGluc2lkZSBpdC4gLS0+XFxuXFx0XFx0PHNlY3Rpb24gY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXG5cXHRcXHRcXHQ8IS0tIFlvdSBjYW4gdXNlIGdyaWQgc3lzdGVtIGluc2lkZSAtLT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiAtb2Zmc2V0M1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0QSBsb3Qgb2YgY29udGVudCBoZXJlLlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdDwvc2VjdGlvbj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG48aDI+UHJvcGVydGllczwvaDI+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+TmFtZTwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlZmF1bHQ8L3RoPlxcblxcdFxcdFxcdDx0aCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+a2luZDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWtpbmQnICkgb3IgJ3dhbGwnPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0U2V0IHdhbGxpbmcgdHlwZS5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD50YXJnZXQ8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS10YXJnZXQnICkgb3IgJy4tdGh1bWJuYWlsJzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdDxiPlN0cmluZzwvYj4uIFNlbGVjdG9yIGZvciB0aGUgc2Nyb2xsaW5nIGJhY2tncm91bmQgZWxlbWVudC4gRm9yIGV4YW1wbGUgPGNvZGU+Jmx0O2ZpZ3VyZSZndDs8L2NvZGU+IG9yIDxjb2RlPiZsdDt2aWRlbyZndDs8L2NvZGU+IG9yIDxjb2RlPiN2aWRlby1pZDwvY29kZT4uXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+aGVhZGVyPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtaGVhZGVyJyApIG9yICcuLWhlYWRlcic8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Yj5TdHJpbmc8L2I+LiBTZWxlY3RvciBmb3IgdGhlIGhlYWRlciBpbnNpZGUgd2FsbC5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5oZWFkZXJGYWRlPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtZmFkZScgKSBvciB5ZXM8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Yj5Cb29sZWFuPC9iPi4gSGlkZSBoZWFkZXIgd2hpbGUgc2Nyb2xsaW5nIG91dC5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5zcGVlZDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLXNwZWVkJyApIG9yIDAuNzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdDxiPk51bWJlciBiZXR3ZWVuIDAgYW5kIDE8L2I+LiAxIOKAkyBiYWNrZ3JvdW5kIGVsZW1lbnQgc3RhbmRzLCAwIOKAkyBlbGVtZW50IHNjcm9sbHMgYXMgdXN1YWwuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+em9vbTwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLXpvb20nICkgb3Igbm88L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Yj5Cb29sZWFuPC9iPi4gWm9vbSBiYWNrZ3JvdW5kIGVsZW1lbnQgd2hpbGUgc2Nyb2xsaW5nLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPmhlaWdodDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWhlaWdodCcgKSBvciAnMTAwJSc8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Yj5TdHJpbmcgb3IgTnVtYmVyPC9iPi4gSGVpZ2h0IG9mIHRoZSB3YWxsLiBJbnNpZGUgc2hvdWxkIGJlIG1lYXN1cmVzIGxpa2UgJSBvciBweC4gSWYgbnVtYmVyIHRoYW4gaXQgd2lsbCB1c2UgcHguXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+b25Nb2JpbGU8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1vbi1tb2JpbGUnICkgb3Igbm88L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHREZWFjdGl2YXRlIHdhbGwgb24gbW9iaWxlIGRldmljZXMuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG48aDI+TWV0aG9kczwvaDI+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+TWV0aG9kPC90aD5cXG5cXHRcXHRcXHQ8dGg+RGVzY3JpcHRpb248L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5zdGFydDwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5BY3RpdmF0ZSB3YWxsLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5zdG9wPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkRlYXRpdmF0ZSB3YWxsLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5yZWZyZXNoPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlJlZnJlc2ggYWxsIHBvc2l0aW9ucyBhbmQgc2l6ZXMuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmRlc3Ryb3k8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+RGVzdHJveSBjdXJyZW50IGluc3RhbmNlLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcblxcbjxoMj5FdmVudHM8L2gyPlxcblxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdEluc2lkZSBlYWNoIG1ldGhvZCB0byBnZXQgd2FsbCBlbGVtZW50IHVzZSA8Y29kZT5APC9jb2RlPiBvciA8Y29kZT50aGlzPC9jb2RlPiBpbiBqcy4gQ2xhc3MgaW5zdGFuY2UgYWx3YXlzIHN0b3JlcyBpbiBkYXRhIGF0dHJpYnV0ZSBvZiB0aGUgd2FsbCBlbGVtZW50IDxjb2RlPkBkYXRhWydraXRXYWxsJ108L2NvZGU+IG9yIDxjb2RlPnRoaXMuZGF0YVsna2l0V2FsbCddPC9jb2RlPiBpbiBqcy4gVG8gZ2V0IHdhbGwgZWxlbWVudCBkbyA8Y29kZT5AZGF0YVsna2l0V2FsbCddLmVsPC9jb2RlPi4gVG8gZ2V0IHdhbGwgYmFja2dyb3VuZCBlbGVtZW50IGRvIDxjb2RlPkBkYXRhWydraXRXYWxsJ10udGFyZ2V0PC9jb2RlPi5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+TWV0aG9kPC90aD5cXG5cXHRcXHRcXHQ8dGg+RGVzY3JpcHRpb248L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5iZWZvcmVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBiZWZvcmUgYWN0aXZhdGUgdGhlIHdhbGwuIElmIGl0IHJldHVybnMgPGNvZGU+ZGVmZXJyZWQucHJvbWlzZSgpPC9jb2RlPiwgdGhlbiB3YWxsIHdpbGwgbm90IHN0YXJ0IHRpbGwgPGNvZGU+ZGVmZXJyZWQucmVzb2x2ZSgpPC9jb2RlPiwgYW5kIHdvdW4ndCBzdGFydCBpZiA8Y29kZT5kZWZlcnJlZC5yZWplY3QoKTwvY29kZT4uPC9wPlxcblxcdFxcdFxcdFxcdDxwIGxhbmd1YWdlPVxcXCJjb2ZmZWVzY3JpcHRcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy53YWxsJykud2FsbFxcblxcdGJlZm9yZWFjdGl2ZTogLT5cXG5cXHRcXHRkID0gJC5EZWZlcnJlZCgpXFxuXFxuXFx0XFx0Y29uc29sZS5sb2cgQFxcblxcdFxcdCMgVGhlIHdhbGwgd2lsbCBiZSBpbiB0aGUgbG9nXFxuXFx0XFx0IyBzbyB5b3UgY2FuLCBmb3IgZXhhbXBsZSwgYWRkIGNsYXNzZXNcXG5cXHRcXHQjIHRvIGRpc2FibGUgdGhlIHdhbGxcXG5cXG5cXHRcXHRjb25zb2xlLmxvZyBAZGF0YVsna2l0V2FsbCddXFxuXFx0XFx0IyBUaGUgaW5zdGFuY2Ugb2YgV2FsbCBjbGFzcyB3aWxsIGluIGxvZ1xcblxcdFxcdCMgc28gdG8gZ2V0IHdhbGwgZWxlbWVudCB5b3UgbmVlZCB0byBkb1xcblxcdFxcdHdhbGwgPSBAZGF0YVsna2l0V2FsbCddXFxuXFx0XFx0d2FsbC5fYWRkQ2xhc3MgJ3NvbWUtY2xhc3MnXFxuXFxuXFx0XFx0IyBEbyBzb21ldGhpbmcgaGVyZSBiZWZvcmUgYWN0aXZhdGUgd2FsbFxcblxcdFxcdCMgaW4gdGhpcyBjYXNlIGl0IHdpbGwgc3RhcnQgaW4gMiBzZWNvbmRzXFxuXFx0XFx0c2V0VGltZW91dCAtPlxcblxcdFxcdFxcdGQucmVzb2x2ZSgpXFxuXFx0XFx0LCAyMDAwXFxuXFx0XFx0IyBFbmQgb2YgeW91ciBjb2RlXFxuXFxuXFx0XFx0ZC5wcm9taXNlKClcXG48L3ByZT48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+b25hY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBhZnRlciB3YWxsIHN0YXJ0ZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmZhaWxhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBpZiBzdGFydGluZyBmYWlsZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmJlZm9yZWRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkNhbGwgdGhpcyBmdW5jdGlvbiBiZWZvcmUgd2FsbCBzdG9wcGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5vbmRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkNhbGwgdGhpcyBmdW5jdGlvbiBhZnRlciB3YWxsIHN0b3BwZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmZhaWxkZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGlmIHN0b3BwaW5nIGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG48L2Rpdj5cXG5cIixcInRhYnNcIjpcIjxkaXYgaWQ9XFxcIm1haW4tY29udGVudFxcXCIgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdDxoMT5UYWJzPC9oMT5cXG5cXG5cXG5cXHQ8YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRcXHRUYWJzIGJ1dHRvbnMgYW5kIHRhYnMgY29udGVudCBtYXkgYmUgYW55d2hlcmUgaW4gdGhlIGRvbSwgeW91IDxiPmRvbid0IG5lZWQgdG8gY29sbGVjdCB0aGVtIGluIG9uZSBkb20gZWxlbWVudDwvYj4uIEl0IGlzIGFuIGFuYWxvZyBvZiBidXR0b24gcGx1Z2luIHdpdGggPGNvZGU+ZGF0YS10eXBlPVxcXCJyYWRpb1xcXCI8L2NvZGU+LlxcblxcdDwvYmxvY2txdW90ZT5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8dWwgY2xhc3M9XFxcIi10YWJzIC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGxpIGRhdGEtdG9nZ2xlPVxcXCJ0YWJzXFxcIiBkYXRhLWdyb3VwPVxcXCJ0YWJzMVxcXCIgZGF0YS10YXJnZXQ9XFxcIiNjb250ZW50MVxcXCI+PGE+VGFiIDE8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGkgZGF0YS10b2dnbGU9XFxcInRhYnNcXFwiIGRhdGEtZ3JvdXA9XFxcInRhYnMxXFxcIiBkYXRhLXRhcmdldD1cXFwiI2NvbnRlbnQyXFxcIj48YT5UYWIgMjwvYT48L2xpPlxcblxcdFxcdFxcdDxsaSBkYXRhLXRvZ2dsZT1cXFwidGFic1xcXCIgZGF0YS1ncm91cD1cXFwidGFiczFcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjY29udGVudDNcXFwiPjxhPlRhYiAzPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpIGRhdGEtdG9nZ2xlPVxcXCJ0YWJzXFxcIiBkYXRhLWdyb3VwPVxcXCJ0YWJzMVxcXCIgZGF0YS10YXJnZXQ9XFxcIiNjb250ZW50NFxcXCI+PGE+VGFiIDQ8L2E+PC9saT5cXG5cXHRcXHQ8L3VsPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiIHN0eWxlPVxcXCJwYWRkaW5nOiAxNXB4XFxcIiB0YWJzPlxcblxcdFxcdFxcdDxkaXYgaWQ9XFxcImNvbnRlbnQxXFxcIiBjbGFzcz1cXFwiLWNvbDEyXFxcIj5Db250ZW50IGZvciB0YWIgMTwvZGl2PlxcblxcdFxcdFxcdDxkaXYgaWQ9XFxcImNvbnRlbnQyXFxcIiBjbGFzcz1cXFwiLWNvbDEyXFxcIj5Db250ZW50IGZvciB0YWIgMjwvZGl2PlxcblxcdFxcdFxcdDxkaXYgaWQ9XFxcImNvbnRlbnQzXFxcIiBjbGFzcz1cXFwiLWNvbDEyXFxcIj5Db250ZW50IGZvciB0YWIgMzwvZGl2PlxcblxcdFxcdFxcdDxkaXYgaWQ9XFxcImNvbnRlbnQ0XFxcIiBjbGFzcz1cXFwiLWNvbDEyXFxcIj5Db250ZW50IGZvciB0YWIgNDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItdGFicyAtcHJpbWFyeS1cXFwiPlxcblxcdDxsaSBkYXRhLXRvZ2dsZT1cXFwidGFic1xcXCIgZGF0YS1ncm91cD1cXFwidGFiczFcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjY29udGVudDFcXFwiPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0PGxpIGRhdGEtdG9nZ2xlPVxcXCJ0YWJzXFxcIiBkYXRhLWdyb3VwPVxcXCJ0YWJzMVxcXCIgZGF0YS10YXJnZXQ9XFxcIiNjb250ZW50MlxcXCI+PGE+VGFiIDI8L2E+PC9saT5cXG5cXHQ8bGkgZGF0YS10b2dnbGU9XFxcInRhYnNcXFwiIGRhdGEtZ3JvdXA9XFxcInRhYnMxXFxcIiBkYXRhLXRhcmdldD1cXFwiI2NvbnRlbnQzXFxcIj48YT5UYWIgMzwvYT48L2xpPlxcblxcdDxsaSBkYXRhLXRvZ2dsZT1cXFwidGFic1xcXCIgZGF0YS1ncm91cD1cXFwidGFiczFcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjY29udGVudDRcXFwiPjxhPlRhYiA0PC9hPjwvbGk+XFxuPC91bD5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGlkPVxcXCJjb250ZW50MVxcXCIgY2xhc3M9XFxcIi1jb2wxMlxcXCI+Q29udGVudCBmb3IgdGFiIDE8L2Rpdj5cXG5cXHQ8ZGl2IGlkPVxcXCJjb250ZW50MlxcXCIgY2xhc3M9XFxcIi1jb2wxMlxcXCI+Q29udGVudCBmb3IgdGFiIDI8L2Rpdj5cXG5cXHQ8ZGl2IGlkPVxcXCJjb250ZW50M1xcXCIgY2xhc3M9XFxcIi1jb2wxMlxcXCI+Q29udGVudCBmb3IgdGFiIDM8L2Rpdj5cXG5cXHQ8ZGl2IGlkPVxcXCJjb250ZW50NFxcXCIgY2xhc3M9XFxcIi1jb2wxMlxcXCI+Q29udGVudCBmb3IgdGFiIDQ8L2Rpdj5cXG48L2Rpdj5cXG48L3ByZT48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+dGFicyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXFxcIltkYXRhLXRvZ2dsZT0ndGFicyddXFxcIilcXG5mb3IgdGFiIGluIHRhYnNcXG5cXHR0YWIudGFicygpXFxuPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuPGgyPlByb3BlcnRpZXM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk5hbWU8L3RoPlxcblxcdFxcdFxcdDx0aD5EZWZhdWx0PC90aD5cXG5cXHRcXHRcXHQ8dGggY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnRvZ2dsZTwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLXRvZ2dsZScgKSBvciAndGFicyc8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRTZXQgdG9nZ2xlIHR5cGUuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+dGFyZ2V0PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtdGFyZ2V0JyApIG9yIG51bGw8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRTZWxlY3RvciB0byBmaW5kIHRoZSBjb250ZW50IG9mIHRoYXQgdGFiIGJ1dHRvbi5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5ncm91cDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWdyb3VwJyApIG9yIG51bGw8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHROYW1lIG9mIHRoZSB0YWJzIGdyb3VwLiBVc2VzIHRvIGRlYWN0aXZhdGUgb3RoZXIgdGFicyBpbiB0aGUgZ3JvdXAsIHdoZW4gb25lIHRhYiB3YXMgYWN0aXZhdGVkLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPmV2ZW50PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtZXZlbnQnICkgb3IgXFxcImNsaWNrXFxcIjwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFRoaXMgZXZlbnQgd2lsbCBiZSB1c2VkIHRvIGFjdGl2YXRlL2RlYWN0aXZhdGUgYnV0dG9uLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPmluaXRpYWw8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1pbml0aWFsJyApIG9yIDA8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHROdW1iZXIgb2YgdGhlIHRhYiB0byBhY3RpdmF0ZSBhZnRlciBpbml0aWFsaXphdGlvbi5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcbjxoMj5NZXRob2RzPC9oMj5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5NZXRob2Q8L3RoPlxcblxcdFxcdFxcdDx0aD5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmFjdGl2YXRlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkFjdGl2YXRlIGJ1dHRvbi48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZGVhY3RpdmF0ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5EZWFjdGl2YXRlIGJ1dHRvbi48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZW5hYmxlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkVuYWJsZSBidXR0b24sIGV2ZW50cyB3aWxsIHdvcmsuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmRpc2FibGU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+RGlzYWJsZSBidXR0b24sIGV2ZW50cyB3aWxsIG5vdCB3b3JrLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcbjxoMj5FdmVudHM8L2gyPlxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdEluc2lkZSBlYWNoIG1ldGhvZCB0byBnZXQgdGFiIHVzZSA8Y29kZT5APC9jb2RlPiBvciA8Y29kZT50aGlzPC9jb2RlPiBpbiBqcy4gQ2xhc3MgaW5zdGFuY2UgYWx3YXlzIHN0b3JlcyBpbiBkYXRhIGF0dHJpYnV0ZSBvZiB0aGUgdGFiIGVsZW1lbnQgPGNvZGU+QGRhdGFbJ2tpdFRhYnMnXTwvY29kZT4gb3IgPGNvZGU+dGhpcy5kYXRhWydraXRUYWJzJ108L2NvZGU+IGluIGpzLlxcbjwvYmxvY2txdW90ZT5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5NZXRob2Q8L3RoPlxcblxcdFxcdFxcdDx0aD5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmJlZm9yZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGJlZm9yZSBhY3RpdmF0ZSB0YWIuIElmIGl0IHJldHVybnMgPGNvZGU+ZGVmZXJyZWQucHJvbWlzZSgpPC9jb2RlPiwgdGhlbiB0YWIgd2lsbCBub3QgYWN0aXZhdGUgdGlsbCA8Y29kZT5kZWZlcnJlZC5yZXNvbHZlKCk8L2NvZGU+LCBhbmQgd291bid0IGFjdGl2YXRlIGF0IGFsbCBpZiA8Y29kZT5kZWZlcnJlZC5yZWplY3QoKTwvY29kZT4uIFlvdSBjYW4ganVzdCBnZXQgZGF0YSB3aXRoIGFqYXggaW5zdGVhZCBvZiB1c2luZyBkZWZlcnJlZC48L3A+XFxuXFx0XFx0XFx0XFx0PHAgbGFuZ3VhZ2U9XFxcImNvZmZlZXNjcmlwdFxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+dGFicyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50YWJzLXNlbGVjdG9yJylcXG5mb3IgdGFiIGluIHRhYnNcXG5cXHR0YWIudGFic1xcblxcdFxcdGJlZm9yZWFjdGl2ZTogLT5cXG5cXHRcXHRcXHRkID0gJC5EZWZlcnJlZCgpXFxuXFxuXFx0XFx0XFx0dGFiID0gQGRhdGFbJ2tpdFRhYnMnXVxcblxcdFxcdFxcdHRhYi5lbC5xdWVyeVNlbGVjdG9yKCdhJykuaW5uZXJIVE1MID0gJ0xvYWRpbmcuLi4nXFxuXFx0XFx0XFx0dGFiLl9hZGRDbGFzcyAnX2Rpc2FibGVkXydcXG5cXG5cXHRcXHRcXHRzZXRUaW1lb3V0IC0+XFxuXFx0XFx0XFx0XFx0ZC5yZXNvbHZlKClcXG5cXHRcXHRcXHQsMjAwMFxcblxcdFxcdFxcdGQucHJvbWlzZSgpXFxuXFxuXFx0XFx0b25hY3RpdmU6IC0+XFxuXFx0XFx0XFx0dGFiID0gQGRhdGFbJ2tpdFRhYnMnXVxcblxcdFxcdFxcdHRhYi5fcmVtb3ZlQ2xhc3MgJ19kaXNhYmxlZF8nXFxuXFx0XFx0XFx0dGFiLmVsLnF1ZXJ5U2VsZWN0b3IoJ2EnKS5pbm5lckhUTUwgPSAnQWN0aXZlIHRhYidcXG5cXG5cXHRcXHRvbmRlYWN0aXZlOiAtPlxcblxcdFxcdFxcdHRhYiA9IEBkYXRhWydraXRUYWJzJ11cXG5cXHRcXHRcXHR0YWIuZWwucXVlcnlTZWxlY3RvcignYScpLmlubmVySFRNTCA9ICdUYWInXFxuPC9wcmU+PC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgYWZ0ZXIgdGFiIGFjdGl2YXRpb24uPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmZhaWxhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBpZiBhY3RpdmF0aW9uIGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YmVmb3JlZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGJlZm9yZSBkZWFjdGl2YXRlIHRhYi48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+b25kZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5DYWxsIHRoaXMgZnVuY3Rpb24gYWZ0ZXIgZGVhY3RpdmF0ZSB0YWIuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmZhaWxkZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGlmIGRlYWN0aXZhdGlvbiBmYWlsZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuXFxuXFxuPC9kaXY+XFxuXCIsXCJza3lsaW5lXCI6XCJcXHQ8aDE+U2t5bGluZTwvaDE+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PHA+V2hlbiB0aGUgc2t5bGluZSBlbGVtZW50IGlzIGluIHZpc2libGUgcGFydCBvZiB0aGUgZG9jdW1lbnQsIHN0YXJ0cyBhbmltYXRpb24gdG8gc2hvdyBpdC48L3A+XFxuXFxuXFx0XFx0PGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+RG9uJ3QgZm9yZ2V0IHRvIGFkZCBhbmltYXRpb24gY2xhc3NlcyB0byB5b3VyIHNreWxpbmUgZWxlbWVudHMuPC9ibG9ja3F1b3RlPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy80OTk1ODIyOC8xODMwMjYzNDU1NjFmMjRmMGRlZTBmZTAyNjQ4YjdhNWRiZDc0YTZiLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNTg0NjY0NjIvNzU1ODZlN2M3NTZkYjNjOTUxYTAwOWZmNmE5ZTJjMzIwNmY2YWE2OS8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzUwMTA0OTUwL2VhNzNlZjBhMjI2ZTlmODFjYjU3YzA0MTg1ZDcxNmJjNWM5MjZhZTgvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8xOTUwMzQ5OS82OTk3NWE1ZjZjNTNhMDk4MzQyYWFkOTI4MTVjMmNmMjdhNTA3YzE2LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMzcyOTY5NzQvNzAwMWM0ODAyZDg1YjgzYTNlMGE0MmE1NGNjYjQyOTJjNjI3YmZjMS8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzUzMDU4ODY0L2IyM2JhODBhODUxNjM5ZGNhYjVhMjkwNWRiODM3MjEyMDY4NjVhZDkvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8xNTU1NTIwMy83NTZiMGFjNjNhNGEyZTA3ZGRlNTNiZjUxMDVhNjMyOTFiMTRkZTVmLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMzk2NjY2MjIvZWQ4MTJjZGEwZGQ2NjU2MjE0OWZlZDY1ODg1NTkwMWFiOWY3NmZjOC8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzY2NTU1NDk5L2NkZGI2NjJjN2RkYjlkYzIzMTllZTZjZmUzMzZmMGFmMGRlNjkxMTkvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81MzY2OTQyMC80OGQ3ZGM1NjY1NWVjMDU5NDRhYzY5YzIwN2MyMzIyODY2MGVjZjg4LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNDU3NzcyMzgvODM5NjFjNzBkMWM2MTdhZjAyZWRiYmNiMjcyZWJkNjMxZTdiNmYxZi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzE1NjU5NzkxLzBjZGIxZTYxMDE4ZjgzYjg1Njg4MGQyYWNjMTVhNTZjYTgxN2E2MDQvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy82MTMzOTUwL2Q1ODllNDczZjMyYjkwYjQ0NjE2OTliNWZkYmE1Nzk0MDEyM2M2YWYvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8zMzU2NDI3My85MmVlMTEzM2NkOWNiMTg4ZmFiNDczMWYxNjU0NmUxY2ZiNWNiY2QxLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNTc5NjY5MTAvYzU1YjljNjViOWExNGNkNGFmZWNkOGUyMzk0ODM5ZjdhYTY5MDlmOC8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzYwMjgyMzUwL2Q4ZDBlMTliMTcwZTZhM2E5N2Q4YTZhZTU1NDdmN2ZhYjMxYmE0YzMvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8xMjY2MzUzNy9jMGY5M2FiMzJiZDU0NmY4YjUwYmZjMzA5MDIxYjljYzMxOTAyMTA5LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMTMxMTQ3MDUvNTY5NGVmZGI1ZmUxYjY3MmY3NjljZDAzMjFkMWNjZDY3NDNmZmQ0My8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzYwNDAwMDU4L2MyNDA0MWQ1NjdjNjM1ZjNhOTcwOGM0MDcyNTZkYzM4YTYxNzI2NDYvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8yNjI1NjEwNy8zOWUwZjFiNDAzMzQ5ZWE1YzVkM2JiYWZhZmYwODRkOGRiNWI5YzFkLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNDUxMjk5NTYvMDg5MzA1NjkxNmFmNTQ3MTcxMmI0Nzk4M2JiNGIyZDljNWZlYzRiNi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzU1NDQ2MjY0L2U0NjU5Yjg0YmFlNDBkM2QwYjA3NDgzZDRhNzQ1NDE3MThmZjBlOTYvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy80MDA3OTUzNC9iMTEzMjdkMGY0YWRhZWJjZjcxOGJkMzgxNDVlZGExODI2NTFiNmQ1LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNTg2Njk2ODQvNGRiNDI3NGE5ZGI0NTI5ZDRiMjdlMTNiYWQyY2Q4ODVhNjUzOTJkOS8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzU0MDk2MDIyL2Y5NDM1MGEyMDMzNmQ3MGNkMGU3MTc3MTE1NGJmNzAzZTI3OGM2NTQvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8yNjUxMDMzMS82MzQxYmNlOWJiYWJhNjJhMDI2YmY0MDNlMjFhYTNlNTVmZWUwMzQyLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMjM5NjEwNTcvOTA3MGQwNzYzNmMyNWZkZjQ4MTdlZjI0OTA1MGYwODkxZTUwZTEzYi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzUxMzAyNTgyLzU3ZDE4Y2ViZjAwMTMzYzVkNmNkMzM5NGZjMzYzYmJiYWU4YWM2MTkvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLXNjYWxlLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy82ODg0NDcvNGM4MGUxZGFhYTM1MDRkZDFkNzFmYTk2MTkyNDliN2M4NDMxMTE0Zi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzU0OTEwNDIvNjE5NWRjOTA3YWNiMmMxZDU1OGU3MWU4MjU5YWQ2NTQ3ZGYyMWZiNy8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItc2NhbGUtLVxcXCI+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj5cXG48aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcIlxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG48aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcIlxcXCIgY2xhc3M9XFxcIi1zY2FsZS0tXFxcIj5cXG4uLi48L3ByZT48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+c2t5bGluZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFxcXCJbZGF0YS1zcHk9J3NreWxpbmUnXVxcXCIpXFxuZm9yIHNreSBpbiBza3lsaW5lc1xcblxcdHNreS5za3lsaW5lXFxuXFx0XFx0ZGVsYXk6IC0+XFxuXFx0XFx0XFx0MjAwMCAqIE1hdGgucmFuZG9tKClcXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG48cCBjbGFzcz1cXFwiX2JpZ1xcXCI+TGV0J3MgY2hhbmdlIGFuaW1hdGlvbiB0byA8Y29kZT4tbmV3c3BhcGVyLS08L2NvZGU+LjwvcD5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNDk5NTgyMjgvMTgzMDI2MzQ1NTYxZjI0ZjBkZWUwZmUwMjY0OGI3YTVkYmQ3NGE2Yi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81ODQ2NjQ2Mi83NTU4NmU3Yzc1NmRiM2M5NTFhMDA5ZmY2YTllMmMzMjA2ZjZhYTY5LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzUwMTA0OTUwL2VhNzNlZjBhMjI2ZTlmODFjYjU3YzA0MTg1ZDcxNmJjNWM5MjZhZTgvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMTk1MDM0OTkvNjk5NzVhNWY2YzUzYTA5ODM0MmFhZDkyODE1YzJjZjI3YTUwN2MxNi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8zNzI5Njk3NC83MDAxYzQ4MDJkODViODNhM2UwYTQyYTU0Y2NiNDI5MmM2MjdiZmMxLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzUzMDU4ODY0L2IyM2JhODBhODUxNjM5ZGNhYjVhMjkwNWRiODM3MjEyMDY4NjVhZDkvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMTU1NTUyMDMvNzU2YjBhYzYzYTRhMmUwN2RkZTUzYmY1MTA1YTYzMjkxYjE0ZGU1Zi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy8zOTY2NjYyMi9lZDgxMmNkYTBkZDY2NTYyMTQ5ZmVkNjU4ODU1OTAxYWI5Zjc2ZmM4LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzY2NTU1NDk5L2NkZGI2NjJjN2RkYjlkYzIzMTllZTZjZmUzMzZmMGFmMGRlNjkxMTkvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNTM2Njk0MjAvNDhkN2RjNTY2NTVlYzA1OTQ0YWM2OWMyMDdjMjMyMjg2NjBlY2Y4OC8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy80NTc3NzIzOC84Mzk2MWM3MGQxYzYxN2FmMDJlZGJiY2IyNzJlYmQ2MzFlN2I2ZjFmLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzE1NjU5NzkxLzBjZGIxZTYxMDE4ZjgzYjg1Njg4MGQyYWNjMTVhNTZjYTgxN2E2MDQvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNjEzMzk1MC9kNTg5ZTQ3M2YzMmI5MGI0NDYxNjk5YjVmZGJhNTc5NDAxMjNjNmFmLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzMzNTY0MjczLzkyZWUxMTMzY2Q5Y2IxODhmYWI0NzMxZjE2NTQ2ZTFjZmI1Y2JjZDEvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNTc5NjY5MTAvYzU1YjljNjViOWExNGNkNGFmZWNkOGUyMzk0ODM5ZjdhYTY5MDlmOC8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy82MDI4MjM1MC9kOGQwZTE5YjE3MGU2YTNhOTdkOGE2YWU1NTQ3ZjdmYWIzMWJhNGMzLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzEyNjYzNTM3L2MwZjkzYWIzMmJkNTQ2ZjhiNTBiZmMzMDkwMjFiOWNjMzE5MDIxMDkvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMTMxMTQ3MDUvNTY5NGVmZGI1ZmUxYjY3MmY3NjljZDAzMjFkMWNjZDY3NDNmZmQ0My8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy82MDQwMDA1OC9jMjQwNDFkNTY3YzYzNWYzYTk3MDhjNDA3MjU2ZGMzOGE2MTcyNjQ2LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzI2MjU2MTA3LzM5ZTBmMWI0MDMzNDllYTVjNWQzYmJhZmFmZjA4NGQ4ZGI1YjljMWQvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNDUxMjk5NTYvMDg5MzA1NjkxNmFmNTQ3MTcxMmI0Nzk4M2JiNGIyZDljNWZlYzRiNi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81NTQ0NjI2NC9lNDY1OWI4NGJhZTQwZDNkMGIwNzQ4M2Q0YTc0NTQxNzE4ZmYwZTk2LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzQwMDc5NTM0L2IxMTMyN2QwZjRhZGFlYmNmNzE4YmQzODE0NWVkYTE4MjY1MWI2ZDUvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvNTg2Njk2ODQvNGRiNDI3NGE5ZGI0NTI5ZDRiMjdlMTNiYWQyY2Q4ODVhNjUzOTJkOS8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81NDA5NjAyMi9mOTQzNTBhMjAzMzZkNzBjZDBlNzE3NzExNTRiZjcwM2UyNzhjNjU0LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzI2NTEwMzMxLzYzNDFiY2U5YmJhYmE2MmEwMjZiZjQwM2UyMWFhM2U1NWZlZTAzNDIvMy5qcGc/dj0wXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG5cXHRcXHQ8aW1nIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBzdHlsZT1cXFwid2lkdGg6IDI4MHB4OyBoZWlnaHQ6IDI4MHB4XFxcIiBzcmM9XFxcImh0dHA6Ly9wcGNkbi41MDBweC5vcmcvMjM5NjEwNTcvOTA3MGQwNzYzNmMyNWZkZjQ4MTdlZjI0OTA1MGYwODkxZTUwZTEzYi8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdFxcdDxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiaHR0cDovL3BwY2RuLjUwMHB4Lm9yZy81MTMwMjU4Mi81N2QxOGNlYmYwMDEzM2M1ZDZjZDMzOTRmYzM2M2JiYmFlOGFjNjE5LzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzY4ODQ0Ny80YzgwZTFkYWFhMzUwNGRkMWQ3MWZhOTYxOTI0OWI3Yzg0MzExMTRmLzMuanBnP3Y9MFxcXCIgY2xhc3M9XFxcIi1uZXdzcGFwZXItLVxcXCI+XFxuXFx0XFx0PGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJodHRwOi8vcHBjZG4uNTAwcHgub3JnLzU0OTEwNDIvNjE5NWRjOTA3YWNiMmMxZDU1OGU3MWU4MjU5YWQ2NTQ3ZGYyMWZiNy8zLmpwZz92PTBcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+XFxuPGltZyBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgc3R5bGU9XFxcIndpZHRoOiAyODBweDsgaGVpZ2h0OiAyODBweFxcXCIgc3JjPVxcXCJcXFwiIGNsYXNzPVxcXCItbmV3c3BhcGVyLS1cXFwiPlxcbjxpbWcgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIHN0eWxlPVxcXCJ3aWR0aDogMjgwcHg7IGhlaWdodDogMjgwcHhcXFwiIHNyYz1cXFwiXFxcIiBjbGFzcz1cXFwiLW5ld3NwYXBlci0tXFxcIj5cXG4uLi48L3ByZT48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+c2t5bGluZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFxcXCJbZGF0YS1zcHk9J3NreWxpbmUnXVxcXCIpXFxuZm9yIHNreSBpbiBza3lsaW5lc1xcblxcdHNreS5za3lsaW5lXFxuXFx0XFx0ZGVsYXk6IC0+XFxuXFx0XFx0XFx0MjAwMCAqIE1hdGgucmFuZG9tKClcXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG48aDI+UHJvcGVydGllczwvaDI+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+TmFtZTwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlZmF1bHQ8L3RoPlxcblxcdFxcdFxcdDx0aCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+c3B5PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtc3B5JyApIG9yICdza3lsaW5lJzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFNldCB0b2dnbGUgdHlwZSBvZiB0aGUgZWxlbWVudC5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5vZmZzZXQ8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1vZmZzZXQnICkgb3IgNTwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdDxjb2RlPk51bWJlcjwvY29kZT4uIFZlcnRpY2FsIG9mZnNldCB0byBzdGFydCBzaG93aW5nIHNjcm9sbHNweSBlbGVtZW50cyBiZWZvcmUgb3IgYWZ0ZXIgdGhleSBhcmUgdmlzaWJsZS5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5kZWxheTwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWRlbGF5JyApIG9yIDMwMDwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdDxjb2RlPk51bWJlcjwvY29kZT4gb3IgPGNvZGU+RnVuY3Rpb248L2NvZGU+LCByZXR1cm5pbmcgbnVtYmVyLiBEZWxheSBiZWZvcmUgc2hvd2luZy5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5vbmNlPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtb25jZScgKSBvciBubzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdDxjb2RlPkJvb2xlYW48L2NvZGU+LCBzaG93IGp1c3Qgb25jZSBhbmQgZG9uJ3QgaGlkZSBlbGVtZW50IGFueW1vcmUuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+b25Nb2JpbGU8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1vbi1tb2JpbGUnICkgb3Igbm88L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRTdG9wIFNreWxpbmUgcGx1Z2luIG9uIG1vYmlsZSBkZXZpY2VzLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuXFxuPGgyPk1ldGhvZHM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk1ldGhvZDwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YWN0aXZhdGU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+QWN0aXZhdGUgY3VycmVudCBza3lsaW5lIGVsZW1lbnQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmRlYWN0aXZhdGU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+RGVhY3RpdmF0ZSBjdXJyZW50IHNreWxpbmUgZWxlbWVudC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+c3RhcnQ8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U3RhcnQgbGlzdGVuaW5nIHNjcm9sbCBldmVudHMuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPnN0b3A8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U3RvcCBsaXN0ZW5pbmcgc2Nyb2xsIGVmZmVjdHMuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPnJlZnJlc2g8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+UmVmcmVzaCBzaXplcyBhbmQgcG9zaXRpb24gb2YgdGhlIHNreWxpbmUgZWxlbWVudC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG5cXG48aDI+RXZlbnRzPC9oMj5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRJbnNpZGUgZWFjaCBtZXRob2QgdG8gZ2V0IHNreWxpbmUgdXNlIDxjb2RlPkA8L2NvZGU+IG9yIDxjb2RlPnRoaXM8L2NvZGU+IGluIGpzLiBDbGFzcyBpbnN0YW5jZSBhbHdheXMgc3RvcmVzIGluIGRhdGEgYXR0cmlidXRlIG9mIHRoZSBza3lsaW5lIGVsZW1lbnQgPGNvZGU+QGRhdGFbJ2tpdFNreWxpbmUnXTwvY29kZT4gb3IgPGNvZGU+dGhpcy5kYXRhWydraXRTa3lsaW5lJ108L2NvZGU+IGluIGpzLlxcbjwvYmxvY2txdW90ZT5cXG5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5FdmVudDwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YmVmb3JlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgYmVmb3JlIHN0YXJ0IHNreWxpbmUuIElmIGl0IHJldHVybnMgPGNvZGU+ZGVmZXJyZWQucHJvbWlzZSgpPC9jb2RlPiwgdGhlbiBza3lsaW5lIHdpbGwgbm90IHN0YXJ0IHRpbGwgPGNvZGU+ZGVmZXJyZWQucmVzb2x2ZSgpPC9jb2RlPiwgYW5kIHdvdW4ndCBzdGFydCBhdCBhbGwgaWYgPGNvZGU+ZGVmZXJyZWQucmVqZWN0KCk8L2NvZGU+LiBZb3UgY2FuIGp1c3QgZ2V0IGRhdGEgd2l0aCBhamF4IGluc3RlYWQgb2YgdXNpbmcgZGVmZXJyZWQuPC9wPlxcblxcdFxcdFxcdFxcdDxwIGxhbmd1YWdlPVxcXCJjb2ZmZWVzY3JpcHRcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPnNreWxpbmVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcXFwiLnJhZGlvLXdpdGgtYmVmb3JlXFxcIilcXG5mb3IgYnRuIGluIHNreWxpbmVzXFxuXFx0YmVmb3JlYWN0aXZlOiAtPlxcblxcdFxcdGQgPSAkLkRlZmVycmVkKClcXG5cXHRcXHRza3lsaW5lID0gQGRhdGFbJ2tpdFNreWxpbmUnXVxcblxcdFxcdHNreWxpbmUuX2FkZENsYXNzICdfZGlzYWJsZWRfJ1xcblxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdCwyMDAwXFxuXFx0XFx0ZC5wcm9taXNlKClcXG5cXG5cXHRvbmFjdGl2ZTogLT5cXG5cXHRcXHRza3lsaW5lID0gQGRhdGFbJ2tpdFNreWxpbmUnXVxcblxcdFxcdHNreWxpbmUuX3JlbW92ZUNsYXNzICdfZGlzYWJsZWRfJ1xcblxcblxcdGJlZm9yZWRlYWN0aXZlOiAtPlxcblxcdFxcdGQgPSAkLkRlZmVycmVkKClcXG5cXHRcXHRza3lsaW5lID0gQGRhdGFbJ2tpdFNreWxpbmUnXVxcblxcdFxcdHNreWxpbmUuX2FkZENsYXNzICdfZGlzYWJsZWRfJ1xcblxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdCwzMDAwXFxuXFx0XFx0ZC5wcm9taXNlKClcXG5cXG5cXHRvbmRlYWN0aXZlOiAtPlxcblxcdFxcdHNreWxpbmUgPSBAZGF0YVsna2l0U2t5bGluZSddXFxuXFx0XFx0c2t5bGluZS5fcmVtb3ZlQ2xhc3MgJ19kaXNhYmxlZF8nXFxuPC9wcmU+PC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgYWZ0ZXIgc2t5bGluZSBzdGFydC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZmFpbGFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGlmIHN0YXJ0IGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YmVmb3JlZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGJlZm9yZSBzdG9wIHNreWxpbmUuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGFmdGVyIHN0b3Agc2t5bGluZS48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZmFpbGRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgc3RvcCBmYWlsZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXCIsXCJzY3JvbGxzcHlcIjpcIjxkaXYgaWQ9XFxcIm1haW4tY29udGVudFxcXCIgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdDxoMT5TY3JvbGxzcHk8L2gxPlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDx1bCBjbGFzcz1cXFwiLW1lbnUgLXByaW1hcnktXFxcIiBkYXRhLXNweT1cXFwic2Nyb2xsXFxcIiBkYXRhLXRhcmdldD1cXFwiI3Njcm9sbHNweS10YXJnZXRcXFwiPlxcblxcdFxcdFxcdDxsaT48YSBocmVmPVxcXCIjbWVudS1pdGVtMVxcXCIgZGF0YS1ieXBhc3M+TWVudSAxPC9hPjwvbGk+XFxuXFx0XFx0XFx0PGxpPjxhIGhyZWY9XFxcIiNtZW51LWl0ZW0yXFxcIiBkYXRhLWJ5cGFzcz5NZW51IDI8L2E+PC9saT5cXG5cXHRcXHRcXHQ8bGk+PGEgaHJlZj1cXFwiI21lbnUtaXRlbTNcXFwiIGRhdGEtYnlwYXNzPk1lbnUgMzwvYT48L2xpPlxcblxcdFxcdDwvdWw+XFxuXFx0XFx0PGRpdiBpZD1cXFwic2Nyb2xsc3B5LXRhcmdldFxcXCIgc3R5bGU9XFxcImhlaWdodDogMjAwcHg7IG92ZXJmbG93LXk6IHNjcm9sbFxcXCI+XFxuXFx0XFx0XFx0PGRpdiBzdHlsZT1cXFwiaGVpZ2h0OiAxMDAwcHhcXFwiPlxcblxcdFxcdFxcdFxcdDxoNCBpZD1cXFwibWVudS1pdGVtMVxcXCI+TWVudSAxPC9oND5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRKYXBhbiBMaXN0ZW5pL2TKksmZy4hww6ZuLyAoSmFwYW5lc2U6IOaXpeacrCBOaXBwb24gb3IgTmlob247IGZvcm1hbGx5IOaXpeacrOWbvSBBYm91dCB0aGlzIHNvdW5kIE5pcHBvbi1rb2t1IG9yIE5paG9uLWtva3UsIGxpdGVyYWxseSBcXFwidGhlIFN0YXRlIG9mIEphcGFuXFxcIikgaXMgYW4gaXNsYW5kIG5hdGlvbiBpbiBFYXN0IEFzaWEuIExvY2F0ZWQgaW4gdGhlIFBhY2lmaWMgT2NlYW4sIGl0IGxpZXMgdG8gdGhlIGVhc3Qgb2YgdGhlIFNlYSBvZiBKYXBhbiwgQ2hpbmEsIE5vcnRoIEtvcmVhLCBTb3V0aCBLb3JlYSBhbmQgUnVzc2lhLCBzdHJldGNoaW5nIGZyb20gdGhlIFNlYSBvZiBPa2hvdHNrIGluIHRoZSBub3J0aCB0byB0aGUgRWFzdCBDaGluYSBTZWEgYW5kIFRhaXdhbiBpbiB0aGUgc291dGguIFRoZSBjaGFyYWN0ZXJzIHRoYXQgbWFrZSB1cCBKYXBhbidzIG5hbWUgbWVhbiBcXFwic3VuLW9yaWdpblxcXCIsIHdoaWNoIGlzIHdoeSB0aGUgY291bnRyeSBpcyBzb21ldGltZXMgcmVmZXJyZWQgdG8gYXMgdGhlIFxcXCJMYW5kIG9mIHRoZSBSaXNpbmcgU3VuXFxcIi4gSmFwYW4gaXMgYW4gYXJjaGlwZWxhZ28gb2YgNiw4NTIgaXNsYW5kcywgdGhlIGZvdXIgbGFyZ2VzdCBiZWluZyBIb25zaHUsIEhva2thaWRvLCBLeXVzaHUgYW5kIFNoaWtva3UuIFRvZ2V0aGVyLCB0aGVzZSBmb3VyIGlzbGFuZHMgaG9sZCBhYm91dCA5NyBwZXJjZW50IG9mIHRoZSBjb3VudHJ5J3MgbGFuZCBhcmVhLiBKYXBhbiBoYXMgdGhlIHdvcmxkJ3MgdGVudGgtbGFyZ2VzdCBwb3B1bGF0aW9uLCB3aXRoIG1vcmUgdGhhbiAxMjYgbWlsbGlvbiBwZW9wbGUuIEhvbnNoxasncyBHcmVhdGVyIFRva3lvIEFyZWEgaW5jbHVkZXMgdGhlIGRlIGZhY3RvIGNhcGl0YWwgY2l0eSBvZiBUb2t5byBhbmQgc2V2ZXJhbCBzdXJyb3VuZGluZyBwcmVmZWN0dXJlcy4gSXQgaXMgdGhlIGxhcmdlc3QgbWV0cm9wb2xpdGFuIGFyZWEgaW4gdGhlIHdvcmxkLCB3aXRoIG1vcmUgdGhhbiAzMCBtaWxsaW9uIHJlc2lkZW50cy5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFxuXFx0XFx0XFx0XFx0PGg0IGlkPVxcXCJtZW51LWl0ZW0yXFxcIj5NZW51IDI8L2g0PlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdEphcGFuIExpc3RlbmkvZMqSyZnLiHDDpm4vIChKYXBhbmVzZTog5pel5pysIE5pcHBvbiBvciBOaWhvbjsgZm9ybWFsbHkg5pel5pys5Zu9IEFib3V0IHRoaXMgc291bmQgTmlwcG9uLWtva3Ugb3IgTmlob24ta29rdSwgbGl0ZXJhbGx5IFxcXCJ0aGUgU3RhdGUgb2YgSmFwYW5cXFwiKSBpcyBhbiBpc2xhbmQgbmF0aW9uIGluIEVhc3QgQXNpYS4gTG9jYXRlZCBpbiB0aGUgUGFjaWZpYyBPY2VhbiwgaXQgbGllcyB0byB0aGUgZWFzdCBvZiB0aGUgU2VhIG9mIEphcGFuLCBDaGluYSwgTm9ydGggS29yZWEsIFNvdXRoIEtvcmVhIGFuZCBSdXNzaWEsIHN0cmV0Y2hpbmcgZnJvbSB0aGUgU2VhIG9mIE9raG90c2sgaW4gdGhlIG5vcnRoIHRvIHRoZSBFYXN0IENoaW5hIFNlYSBhbmQgVGFpd2FuIGluIHRoZSBzb3V0aC4gVGhlIGNoYXJhY3RlcnMgdGhhdCBtYWtlIHVwIEphcGFuJ3MgbmFtZSBtZWFuIFxcXCJzdW4tb3JpZ2luXFxcIiwgd2hpY2ggaXMgd2h5IHRoZSBjb3VudHJ5IGlzIHNvbWV0aW1lcyByZWZlcnJlZCB0byBhcyB0aGUgXFxcIkxhbmQgb2YgdGhlIFJpc2luZyBTdW5cXFwiLiBKYXBhbiBpcyBhbiBhcmNoaXBlbGFnbyBvZiA2LDg1MiBpc2xhbmRzLCB0aGUgZm91ciBsYXJnZXN0IGJlaW5nIEhvbnNodSwgSG9ra2FpZG8sIEt5dXNodSBhbmQgU2hpa29rdS4gVG9nZXRoZXIsIHRoZXNlIGZvdXIgaXNsYW5kcyBob2xkIGFib3V0IDk3IHBlcmNlbnQgb2YgdGhlIGNvdW50cnkncyBsYW5kIGFyZWEuIEphcGFuIGhhcyB0aGUgd29ybGQncyB0ZW50aC1sYXJnZXN0IHBvcHVsYXRpb24sIHdpdGggbW9yZSB0aGFuIDEyNiBtaWxsaW9uIHBlb3BsZS4gSG9uc2jFqydzIEdyZWF0ZXIgVG9reW8gQXJlYSBpbmNsdWRlcyB0aGUgZGUgZmFjdG8gY2FwaXRhbCBjaXR5IG9mIFRva3lvIGFuZCBzZXZlcmFsIHN1cnJvdW5kaW5nIHByZWZlY3R1cmVzLiBJdCBpcyB0aGUgbGFyZ2VzdCBtZXRyb3BvbGl0YW4gYXJlYSBpbiB0aGUgd29ybGQsIHdpdGggbW9yZSB0aGFuIDMwIG1pbGxpb24gcmVzaWRlbnRzLlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXG5cXHRcXHRcXHRcXHQ8aDQgaWQ9XFxcIm1lbnUtaXRlbTNcXFwiPk1lbnUgMzwvaDQ+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0SmFwYW4gTGlzdGVuaS9kypLJmcuIcMOmbi8gKEphcGFuZXNlOiDml6XmnKwgTmlwcG9uIG9yIE5paG9uOyBmb3JtYWxseSDml6XmnKzlm70gQWJvdXQgdGhpcyBzb3VuZCBOaXBwb24ta29rdSBvciBOaWhvbi1rb2t1LCBsaXRlcmFsbHkgXFxcInRoZSBTdGF0ZSBvZiBKYXBhblxcXCIpIGlzIGFuIGlzbGFuZCBuYXRpb24gaW4gRWFzdCBBc2lhLiBMb2NhdGVkIGluIHRoZSBQYWNpZmljIE9jZWFuLCBpdCBsaWVzIHRvIHRoZSBlYXN0IG9mIHRoZSBTZWEgb2YgSmFwYW4sIENoaW5hLCBOb3J0aCBLb3JlYSwgU291dGggS29yZWEgYW5kIFJ1c3NpYSwgc3RyZXRjaGluZyBmcm9tIHRoZSBTZWEgb2YgT2tob3RzayBpbiB0aGUgbm9ydGggdG8gdGhlIEVhc3QgQ2hpbmEgU2VhIGFuZCBUYWl3YW4gaW4gdGhlIHNvdXRoLiBUaGUgY2hhcmFjdGVycyB0aGF0IG1ha2UgdXAgSmFwYW4ncyBuYW1lIG1lYW4gXFxcInN1bi1vcmlnaW5cXFwiLCB3aGljaCBpcyB3aHkgdGhlIGNvdW50cnkgaXMgc29tZXRpbWVzIHJlZmVycmVkIHRvIGFzIHRoZSBcXFwiTGFuZCBvZiB0aGUgUmlzaW5nIFN1blxcXCIuIEphcGFuIGlzIGFuIGFyY2hpcGVsYWdvIG9mIDYsODUyIGlzbGFuZHMsIHRoZSBmb3VyIGxhcmdlc3QgYmVpbmcgSG9uc2h1LCBIb2trYWlkbywgS3l1c2h1IGFuZCBTaGlrb2t1LiBUb2dldGhlciwgdGhlc2UgZm91ciBpc2xhbmRzIGhvbGQgYWJvdXQgOTcgcGVyY2VudCBvZiB0aGUgY291bnRyeSdzIGxhbmQgYXJlYS4gSmFwYW4gaGFzIHRoZSB3b3JsZCdzIHRlbnRoLWxhcmdlc3QgcG9wdWxhdGlvbiwgd2l0aCBtb3JlIHRoYW4gMTI2IG1pbGxpb24gcGVvcGxlLiBIb25zaMWrJ3MgR3JlYXRlciBUb2t5byBBcmVhIGluY2x1ZGVzIHRoZSBkZSBmYWN0byBjYXBpdGFsIGNpdHkgb2YgVG9reW8gYW5kIHNldmVyYWwgc3Vycm91bmRpbmcgcHJlZmVjdHVyZXMuIEl0IGlzIHRoZSBsYXJnZXN0IG1ldHJvcG9saXRhbiBhcmVhIGluIHRoZSB3b3JsZCwgd2l0aCBtb3JlIHRoYW4gMzAgbWlsbGlvbiByZXNpZGVudHMuXFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PHVsIGNsYXNzPVxcXCItbWVudSAtcHJpbWFyeS1cXFwiIGRhdGEtc3B5PVxcXCJzY3JvbGxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjc2Nyb2xsc3B5LXRhcmdldFxcXCI+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNtZW51LWl0ZW0xXFxcIj5NZW51IDE8L2E+PC9saT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI21lbnUtaXRlbTJcXFwiPk1lbnUgMjwvYT48L2xpPlxcblxcdDxsaT48YSBocmVmPVxcXCIjbWVudS1pdGVtM1xcXCI+TWVudSAzPC9hPjwvbGk+XFxuPC91bD48L3ByZT48L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgaWQ9XFxcInNjcm9sbHNweS10YXJnZXRcXFwiIHN0eWxlPVxcXCJoZWlnaHQ6IDIwMHB4OyBvdmVyZmxvdy15OiBzY3JvbGxcXFwiPlxcblxcdDxkaXYgc3R5bGU9XFxcImhlaWdodDogMTAwMHB4XFxcIj5cXG5cXHRcXHQ8aDQgaWQ9XFxcIm1lbnUtaXRlbTFcXFwiPk1lbnUgMTwvaDQ+XFxuXFx0XFx0PHA+XFxuXFx0XFx0XFx0SmFwYW4gTGlzdGVuaS9kypLJmcuIcMOmbi8gKEphcGFuZXNlOiDml6XmnKwgTmlwcG9uIG9yIE5paG9uOy4uLlxcblxcdFxcdDwvcD5cXG5cXG5cXHRcXHQ8aDQgaWQ9XFxcIm1lbnUtaXRlbTJcXFwiPk1lbnUgMjwvaDQ+XFxuXFx0XFx0PHA+XFxuXFx0XFx0XFx0SmFwYW4gTGlzdGVuaS9kypLJmcuIcMOmbi8gKEphcGFuZXNlOiDml6XmnKwgTmlwcG9uIG9yIE5paG9uOy4uLlxcblxcdFxcdDwvcD5cXG5cXG5cXHRcXHQ8aDQgaWQ9XFxcIm1lbnUtaXRlbTNcXFwiPk1lbnUgMzwvaDQ+XFxuXFx0XFx0PHA+XFxuXFx0XFx0XFx0SmFwYW4gTGlzdGVuaS9kypLJmcuIcMOmbi8gKEphcGFuZXNlOiDml6XmnKwgTmlwcG9uIG9yIE5paG9uOy4uLlxcblxcdFxcdDwvcD5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj48L3ByZT48L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtc3B5PVxcXCJzY3JvbGxcXFwiXScpLnNjcm9sbHNweVxcblxcdG9mZnNldDogMTAwPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuXFxuXFxuXFxuPGgyPlByb3BlcnRpZXM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk5hbWU8L3RoPlxcblxcdFxcdFxcdDx0aD5EZWZhdWx0PC90aD5cXG5cXHRcXHRcXHQ8dGggY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnNweTwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLXNweScgKSBvciAnc2Nyb2xsJzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFNldCBzcHlpbmcgdHlwZS5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD50YXJnZXQ8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS10YXJnZXQnICkgb3IgJ2JvZHknPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0TGlzdGVuIHRvIGV2ZW50IDxjb2RlPnNjcm9sbDwvY29kZT4gb2YgdGhpcyBlbGVtZW50LiBBbGwgc3B5aW5nIGJsb2NrcyBhcmUgaW5zaWRlLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPm9mZnNldDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLW9mZnNldCcgKSBvciA1PC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0VmVydGljYWwgb2Zmc2V0IG9mIHRoZSBlbGVtZW50IGluIHRleHQgdG8gZmlyZSB0aGUgYWN0aXZhdGlvbiAoZm9yIGV4YW1wbGUgYWN0aXZhdGUgbWVudSB3aGVuIHRoZSBoZWFkZXIgd2lsbCBiZSA1cHggYWJvdmUgdGhlIHRvcCBvZiB0aGUgc2NyZWVuKS5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5lbGVtZW50czwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWVsZW1lbnRzJyApIG9yICdsaSBhJzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFNlbGVjdG9yIHRvIHNweSB0aG9zZSBlbGVtZW50cyBpbnNpZGUgQCAoc3B5LCBvciBtZW51IGluIG91ciBjYXNlKS5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5lbGVtZW50c0F0dHI8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1lbGVtZW50cy1hdHRyJyApIG9yICdocmVmJzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdEF0dHJpYnV0ZSBvZiBlYWNoIGVsZW1lbnQgd2l0aCBJRCBvZiB0aGUgdGFyZ2V0LlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPm9uTW9iaWxlPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtb24tbW9iaWxlJyApIG9yIG5vPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0RGVhY3RpdmF0ZSBzcHkgb24gbW9iaWxlIGRldmljZXMuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG48aDI+TWV0aG9kczwvaDI+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+TWV0aG9kPC90aD5cXG5cXHRcXHRcXHQ8dGg+RGVzY3JpcHRpb248L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5zdGFydDwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5BY3RpdmF0ZSBzcHkuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPnN0b3A8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+RGVhdGl2YXRlIHNweS48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+cmVmcmVzaDwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5SZWZyZXNoIGFsbCBtZW51IGl0ZW1zIGFuZCBwb3NpdGlvbnMgb2YgdGFyZ2V0cy48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG5cXG48aDI+RXZlbnRzPC9oMj5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRJbnNpZGUgZWFjaCBtZXRob2QgdG8gZ2V0IG1lbnUgZWxlbWVudCB1c2UgPGNvZGU+QDwvY29kZT4gb3IgPGNvZGU+dGhpczwvY29kZT4gaW4ganMuIENsYXNzIGluc3RhbmNlIGFsd2F5cyBzdG9yZXMgaW4gZGF0YSBhdHRyaWJ1dGUgb2YgdGhlIG1lbnUgZWxlbWVudCA8Y29kZT5AZGF0YVsna2l0U2Nyb2xsc3B5J108L2NvZGU+IG9yIDxjb2RlPnRoaXMuZGF0YVsna2l0U2Nyb2xsc3B5J108L2NvZGU+IGluIGpzLiBUbyBnZXQgc2Nyb2xsc3B5IGVsZW1lbnQgKG1lbnUpIGRvIDxjb2RlPkBkYXRhWydraXRTY3JvbGxzcHknXS5lbDwvY29kZT4uIFRvIGdldCBzY3JvbGxzcHkgc2Nyb2xsIGJsb2NrIGRvIDxjb2RlPkBkYXRhWydraXRTY3JvbGxzcHknXS50YXJnZXQ8L2NvZGU+LlxcbjwvYmxvY2txdW90ZT5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5NZXRob2Q8L3RoPlxcblxcdFxcdFxcdDx0aD5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmJlZm9yZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGJlZm9yZSBhY3RpdmF0ZSB0aGUgc3B5LiBJZiBpdCByZXR1cm5zIDxjb2RlPmRlZmVycmVkLnByb21pc2UoKTwvY29kZT4sIHRoZW4gc3B5IHdpbGwgbm90IHN0YXJ0IHRpbGwgPGNvZGU+ZGVmZXJyZWQucmVzb2x2ZSgpPC9jb2RlPiwgYW5kIHdvdW4ndCBzdGFydCBpZiA8Y29kZT5kZWZlcnJlZC5yZWplY3QoKTwvY29kZT4uPC9wPlxcblxcdFxcdFxcdFxcdDxwIGxhbmd1YWdlPVxcXCJjb2ZmZWVzY3JpcHRcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zcHktdGhpcy1tZW51Jykuc2Nyb2xsc3B5XFxuXFx0YmVmb3JlYWN0aXZlOiAtPlxcblxcdFxcdGQgPSAkLkRlZmVycmVkKClcXG5cXG5cXHRcXHRjb25zb2xlLmxvZyBAXFxuXFx0XFx0IyBUaGUgc3B5IChtZW51KSB3aWxsIGJlIGluIHRoZSBsb2dcXG5cXHRcXHQjIHNvIHlvdSBjYW4sIGZvciBleGFtcGxlLCBhZGQgY2xhc3Nlc1xcblxcdFxcdCMgdG8gZGlzYWJsZSB0aGUgc3B5aW5nIG1lbnVcXG5cXG5cXHRcXHRjb25zb2xlLmxvZyBAZGF0YVsna2l0U2Nyb2xsc3B5J11cXG5cXHRcXHQjIFRoZSBpbnN0YW5jZSBvZiBTY3JvbGxzcHkgY2xhc3Mgd2lsbCBpbiBsb2dcXG5cXHRcXHQjIHNvIHRvIGdldCBzY3JvbGxzcHkgZWxlbWVudCB5b3UgbmVlZCB0byBkb1xcblxcdFxcdHNweSA9IEBkYXRhWydraXRTY3JvbGxzcHknXVxcblxcdFxcdHNweS5fYWRkQ2xhc3MgJ19kaXNhYmxlZF8nXFxuXFxuXFx0XFx0IyBEbyBzb21ldGhpbmcgaGVyZSBiZWZvcmUgYWN0aXZhdGUgc2Nyb2xsc3B5XFxuXFx0XFx0IyBpbiB0aGlzIGNhc2UgaXQgd2lsbCBzdGFydCBpbiAyIHNlY29uZHNcXG5cXHRcXHRzZXRUaW1lb3V0IC0+XFxuXFx0XFx0XFx0ZC5yZXNvbHZlKClcXG5cXHRcXHQsIDIwMDBcXG5cXHRcXHQjIEVuZCBvZiB5b3VyIGNvZGVcXG5cXG5cXHRcXHRkLnByb21pc2UoKVxcbjwvcHJlPjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5vbmFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGFmdGVyIHNweSBzdGFydGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5mYWlsYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgc3RhcnRpbmcgZmFpbGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5iZWZvcmVkZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5DYWxsIHRoaXMgZnVuY3Rpb24gYmVmb3JlIHNweSBzdG9wcGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5vbmRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkNhbGwgdGhpcyBmdW5jdGlvbiBhZnRlciBzcHkgc3RvcHBlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZmFpbGRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgc3RvcHBpbmcgZmFpbGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcbjwvZGl2PlxcblwiLFwicG9wdXBcIjpcIjxkaXYgaWQ9XFxcIm1haW4tY29udGVudFxcXCIgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdDxoMT5Qb3B1cDwvaDE+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdDxoMz5IVE1MIFBvcHVwPC9oMz5cXG5cXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRVc2Ugd2lkZ2V0cyA8Y29kZT4tZHJvcGRvd248L2NvZGU+IG9yIDxjb2RlPi10b29sdGlwPC9jb2RlPlxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRUbyBzZXQgYW5pbWF0aW9uIHRvIHRoZSBkaWFsb2cgd2luZG93IGFkZCBhbmltYXRpb24gbmFtZTogPGNvZGU+LWZhZGVpbi0tPC9jb2RlPiwgPGNvZGU+LWZhbGwtLTwvY29kZT4sIDxjb2RlPi1mbGlwaG9yaXpvbnRhbC0tPC9jb2RlPiwgPGNvZGU+LWZsb3B2ZXJ0aWNhbC0tPC9jb2RlPiwgPGNvZGU+LXNsaWRlaW4tLTwvY29kZT4sIDxjb2RlPi1zY2FsZWluLS08L2NvZGU+LCA8Y29kZT4tbmV3c3BhcGVyLS08L2NvZGU+LlxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0PGgzPkhUTUwgQnV0dG9uPC9oMz5cXG5cXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRBZGQgZGF0YSBhdHRyaWJ1dGVzIHRvIGFueSB3aWRnZXQgPGNvZGU+ZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIjwvY29kZT4gYW5kIDxjb2RlPmRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAxXFxcIjwvY29kZT4uIFRoZSBwbHVnaW4gd2lsbCBmaW5kIHN1Y2ggYnV0dG9ucyBhdXRvbWF0aWNhbGx5LiBJbiA8Y29kZT5kYXRhLXRhcmdldDwvY29kZT4geW91IGNhbiBzZXQgY2xhc3NlcyBvciBpZHMuXFxuXFx0XFx0XFx0PC9wPlxcblxcdFxcdDwvZGl2PlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w0XFxcIj5cXG5cXHRcXHRcXHQ8aDM+Q29mZmVzY3JpcHQ8L2gzPlxcblxcdFxcdFxcdDxwPlNpbXBsZSB3YXk6PC9wPlxcblxcdFxcdFxcdDxwPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPmVsLnBvcHVwKCk8L3ByZT48L3A+PHA+TW9yZSBjb21wbGljYXRlZDo8L3A+XFxuXFx0XFx0XFx0PHA+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+ZWwucG9wdXBcXG5cXHRiZWZvcmVhY3RpdmU6IC0+XFxuXFx0XFx0IyBHZXQgcG9wdXAgY2xhc3MgaW5zdGFuY2VcXG5cXHRcXHRwb3B1cCA9IEBkYXRhWydraXRQb3B1cCddXFxuXFx0XFx0IyBTZXQgbmV3IGNvbnRlbnRcXG5cXHRcXHRwb3B1cC5kaWFsb2cuaW5uZXJIVE1MID0gXFxcIlNldCBjb250ZW50IGhlcmVcXFwiXFxuXFxuXFx0b25hY3RpdmU6IC0+XFxuXFx0XFx0IyBBZGQgYWN0aXZlIGNsYXNzIHRvIHRoZSBidXR0b25cXG5cXHRcXHRAX2FkZENsYXNzICdfYWN0aXZlXydcXG5cXG5cXHRvbmRlYWN0aXZlOiAtPlxcblxcdFxcdCMgUmVtb3ZlIGFjdGl2ZSBjbGFzcyB0byB0aGUgYnV0dG9uXFxuXFx0XFx0QF9yZW1vdmVDbGFzcyAnX2FjdGl2ZV8nPC9wcmU+PC9wPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIHZpZXdcXFwiPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tcG9wdXAtZGVtb1xcXCIgZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwLWRlbW9cXFwiPmNvcm5lcjwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtZXJyb3ItIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzJcXFwiPmRvb3I8L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzNcXFwiPmZhZGVpbjwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtZXJyb3ItIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzRcXFwiPmZhbGw8L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzVcXFwiPmZsaXBob3Jpem9udGFsPC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1lcnJvci0gYnRuLXBvcHVwLWRlbW9cXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1kZW1vNlxcXCI+ZmxpcHZlcnRpY2FsPC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tcG9wdXAtZGVtb1xcXCIgZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwLWRlbW83XFxcIj5odWdlaW5jPC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1lcnJvci0gYnRuLXBvcHVwLWRlbW9cXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1kZW1vOFxcXCI+bmV3c3BhcGVyPC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tcG9wdXAtZGVtb1xcXCIgZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwLWRlbW85XFxcIj5zY2FsZTwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLXBvcHVwLWRlbW9cXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1kZW1vMTFcXFwiPnNsaWRlZG93bjwvYT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzEzXFxcIj5Ub3A8L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vLWxlZnRcXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1kZW1vMTRcXFwiPkxlZnQ8L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vLXJpZ2h0XFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzE1XFxcIj5SaWdodDwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLXBvcHVwLWRlbW8tYm90dG9tXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtZGVtbzE2XFxcIj5Cb3R0b208L2E+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vLWJvdHRvbS1yaWdodFxcXCIgZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwLWRlbW8xN1xcXCI+Qm90dG9tIHJpZ2h0PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tcG9wdXAtZGVtby10b3AtbGVmdFxcXCIgZGF0YS10b2dnbGU9XFxcInBvcHVwXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwLWRlbW8xOFxcXCI+VG9wIGxlZnQ8L2E+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLXBvcHVwLWRlbW9cXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1kZW1vXFxcIj5PcGVuIHBvcHVwPC9hPlxcbjxhIGNsYXNzPVxcXCItYnRuIC1lcnJvci0gYnRuLXBvcHVwLWRlbW9cXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1kZW1vMlxcXCI+T3BlbiBwb3B1cDwvYT5cXG4uLi5cXG48L3ByZT48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgaWQ9XFxcInBvcHVwLWRlbW9cXFwiIGNsYXNzPVxcXCItZHJvcCBfdG9wXyAtcHJpbWFyeS0gLWZsaXBob3Jpem9udGFsLS0gLWVsYXN0aWMtLVxcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGbGlwIGhvcml6b250YWwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vMlxcXCIgY2xhc3M9XFxcIi1kcm9wIF90b3BfIC1lcnJvci0gLXNjYWxlaW4tLSAtZWxhc3RpYy0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZhbGwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG4uLi5cXG48L3ByZT48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJ0bi1wb3B1cC1kZW1vJykucG9wdXBcXG5cXHRiZWZvcmVhY3RpdmU6IC0+XFxuXFx0XFx0cG9wdXAgPSBAZGF0YVsna2l0UG9wdXAnXVxcblxcdFxcdHBvcHVwLmRpYWxvZy5pbm5lckhUTUwgPSBcXFwiUG9wdXAgI3twb3B1cC5faWR9IHdpdGggZHluYW1pYyBjb250ZW50PGJyPlJhbmRvbSBudW1iZXIgI3tNYXRoLnJhbmRvbSgpfVxcXCJcXG5cXG5cXHRvbmFjdGl2ZTogLT5cXG5cXHRcXHRAX2FkZENsYXNzICdfYWN0aXZlXydcXG5cXG5cXHRvbmRlYWN0aXZlOiAtPlxcblxcdFxcdEBfcmVtb3ZlQ2xhc3MgJ19hY3RpdmVfJ1xcblxcblxcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5idG4tcG9wdXAtZGVtby1sZWZ0JykucG9wdXBcXG5cXHRwb3NpdGlvbjpcXG5cXHRcXHR2ZXJ0aWNhbDogJ21pZGRsZSdcXG5cXHRcXHRob3Jpem9udGFsOiAnbGVmdCdcXG5cXHRiZWZvcmVhY3RpdmU6IC0+XFxuXFx0XFx0cG9wdXAgPSBAZGF0YVsna2l0UG9wdXAnXVxcblxcdFxcdHBvcHVwLmRpYWxvZy5pbm5lckhUTUwgPSBcXFwiUG9wdXAgI3twb3B1cC5faWR9IHdpdGggZHluYW1pYyBjb250ZW50PGJyPlJhbmRvbSBudW1iZXIgI3tNYXRoLnJhbmRvbSgpfVxcXCJcXG5cXG5cXHRvbmFjdGl2ZTogLT5cXG5cXHRcXHRAX2FkZENsYXNzICdfYWN0aXZlXydcXG5cXG5cXHRvbmRlYWN0aXZlOiAtPlxcblxcdFxcdEBfcmVtb3ZlQ2xhc3MgJ19hY3RpdmVfJ1xcblxcbi4uLlxcbjwvcHJlPjwvZGl2PlxcblxcblxcbjwvZGl2PlxcblxcblxcbjxoMj5Qcm9wZXJ0aWVzPC9oMj5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5OYW1lPC90aD5cXG5cXHRcXHRcXHQ8dGg+RGVmYXVsdDwvdGg+XFxuXFx0XFx0XFx0PHRoIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+RGVzY3JpcHRpb248L3RoPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90aGVhZD5cXG5cXHQ8dGJvZHk+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD50YXJnZXQ8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT4gQGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtdGFyZ2V0JyApIG9yIG51bGw8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRGaW5kIGVsZW1lbnQgd2l0aCB0aGlzIHNlbGVjdG9yIGFuZCB3b3JrIHdpdGggaXQgYXMgYSBwb3B1cCB3aW5kb3cuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+dG9nZ2xlPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtdG9nZ2xlJyApIG9yICdwb3B1cCc8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRTZXQgdG9nZ2xlIHR5cGUuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+ZGlhbG9nPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtZGlhbG9nJyApIG9yIFxcXCIuLWNvbnRlbnRcXFwiPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0U2VsZWN0b3IgdG8gZmluZCBkaWFsb2cgYmxvZyBpbnNpZGUgcG9wdXAuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+ZXZlbnQ8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1ldmVudCcgKSBvciBcXFwiY2xpY2tcXFwiPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0VGhpcyBldmVudCB3aWxsIGJlIHVzZWQgdG8gb3BlbiBwb3B1cC48L2NvZGU+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+ZXZlbnRDbG9zZTwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWV2ZW50LWNsb3NlJyApIG9yIFxcXCJjbGlja1xcXCI8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRFdmVudCBmb3IgY2xvc2VyIGVsZW1lbnQgdG8gY2xvc2UgcG9wdXAuIENsb3NlciBlbGVtZW50IHNob3VsZCBiZSBhbnl3aGVyZSBpbiB0aGUgRE9NIHdpdGggYXR0cmlidXRlIDxjb2RlPmRhdGEtZGlzbWlzcz1cXFwidGFyZ2V0LXNlbGVjdG9yXFxcIjwvY29kZT4uXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+YXV0b09wZW48L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCdkYXRhLWF1dG9vcGVuJykgb3Igbm88L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRPcGVuIHBvcHVwIGFmdGVyIGluaXRpYWxpemF0aW9uLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnBvc2l0aW9uPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+e1xcblxcdFxcdFxcdFxcdHZlcnRpY2FsOiBAZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1wb3NpdGlvbi12ZXJ0aWNhbCcgKSBvciAndG9wJyxcXG5cXHRcXHRcXHRcXHRob3Jpem9udGFsOiBAZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1wb3NpdGlvbi1ob3Jpem9udGFsJyApIG9yICdjZW50ZXInXFxuXFx0XFx0XFx0fTwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFBvcHVwIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBidXR0b24uPGJyPlxcblxcdFxcdFxcdFxcdHZlcnRpY2FsOiA8Y29kZT4ndG9wJzwvY29kZT4gLyA8Y29kZT4nbWlkZGxlJzwvY29kZT4gLyA8Y29kZT4nYm90dG9tJzwvY29kZT48YnI+XFxuXFx0XFx0XFx0XFx0aG9yaXpvbnRhbDogPGNvZGU+J2xlZnQnPC9jb2RlPiAvIDxjb2RlPidjZW50ZXInPC9jb2RlPiAvIDxjb2RlPidyaWdodCc8L2NvZGU+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+b2Zmc2V0PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PGk+XFxuXFx0XFx0XFx0XFx0XFx0aG9yaXpvbnRhbDogQGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtb2Zmc2V0LWhvcml6b250YWwnICkgb3IgMDxicj5cXG5cXHRcXHRcXHRcXHRcXHR2ZXJ0aWNhbDogQGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtb2Zmc2V0LXZlcnRpY2FsJyApIG9yIDBcXG5cXHRcXHRcXHRcXHQ8L2k+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRJbiA8Y29kZT5weDwvY29kZT4uIE9mZnNldCByZWxhdGl2ZSB0byA8Y29kZT5wb3NpdGlvbjwvY29kZT4uXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+Y2xvc2VVbmZvY3VzPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PGk+XFxuXFx0XFx0XFx0XFx0XFx0QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtY2xvc2UtdW5mb2N1cycgKSBvciBub1xcblxcdFxcdFxcdFxcdDwvaT5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdENsb3NlIHBvcHVwIGlmIGNsaWNrIG91dHNpZGUgb2YgaXQuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+Y2xvc2VPblJlc2l6ZTwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxpPlxcblxcdFxcdFxcdFxcdFxcdEBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWNsb3NlLXJlc2l6ZScgKSBvciB5ZXNcXG5cXHRcXHRcXHRcXHQ8L2k+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRDbG9zZSBwb3B1cCB3aGVuIGJyb3dzZXIgd2luZG93IHJlc2l6aW5nLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnNlbGZpc2g8L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8aT5cXG5cXHRcXHRcXHRcXHRcXHRAZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1zZWxmaXNoJyApIG9yIHllc1xcblxcdFxcdFxcdFxcdDwvaT5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdENsb3NlIGFsbCBwb3B1cHMgd2hlbiBvcGVucyB0aGlzIG9uZS5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcbjxoMj5NZXRob2RzPC9oMj5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5NZXRob2Q8L3RoPlxcblxcdFxcdFxcdDx0aD5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9wZW48L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+T3BlbiBwb3B1cC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+Y2xvc2U8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2xvc2UgcG9wdXAuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmVuYWJsZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TdGFydCBsaXN0ZW5pbmcgdG8gdGhlIGV2ZW50cy48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZGlzYWJsZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TdG9wIGxpc3RlbmluZyB0byB0aGUgZXZlbnRzLiBQb3B1cCB3aWxsIHN0YXkgaW4gY3VycmVudCBzdGF0dXMgKG9wZW5lZCBvciBjbG9zZWQpIGFuZCB3aWxsIG5vdCB3b3JrIGFueW1vcmUuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPnNldFBvc2l0aW9uPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlJlZnJlc2ggcG9zaXRpb24gb2YgdGhlIHBvcHVwIHJlbGF0aXZlIHRvIHRoZSBidXR0b24uPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuPGgyPkV2ZW50czwvaDI+XFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0SW5zaWRlIGVhY2ggbWV0aG9kIHRvIGdldCBidXR0b24gdXNlIDxjb2RlPkA8L2NvZGU+IG9yIDxjb2RlPnRoaXM8L2NvZGU+IGluIGpzLiBDbGFzcyBpbnN0YW5jZSBhbHdheXMgc3RvcmVzIGluIGRhdGEgYXR0cmlidXRlIG9mIHRoZSBidXR0b24gZWxlbWVudCA8Y29kZT5AZGF0YVsna2l0UG9wdXAnXTwvY29kZT4gb3IgPGNvZGU+dGhpcy5kYXRhWydraXRQb3B1cCddPC9jb2RlPiBpbiBqcy4gVG8gZ2V0IHBvcHVwIHdpbmRvdyBlbGVtZW50IGRvIDxjb2RlPkBkYXRhWydraXRQb3B1cCddLnRhcmdldDwvY29kZT4uXFxuPC9ibG9ja3F1b3RlPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk1ldGhvZDwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5iZWZvcmVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+dW5kZWZpbmVkPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBiZWZvcmUgcG9wdXAgb3BlbnMuIElmIGl0IHJldHVybnMgPGNvZGU+ZGVmZXJyZWQucHJvbWlzZSgpPC9jb2RlPiwgdGhlbiBwb3B1cCB3aWxsIG5vdCBvcGVuIHRpbGwgPGNvZGU+ZGVmZXJyZWQucmVzb2x2ZSgpPC9jb2RlPiwgYW5kIHdvdW4ndCBvcGVuIGlmIDxjb2RlPmRlZmVycmVkLnJlamVjdCgpPC9jb2RlPi4gWW91IGNhbiBqdXN0IGdldCBkYXRhIHdpdGggYWpheCBmb3IgcG9wdXAuPC9wPlxcblxcdFxcdFxcdFxcdDxwIGxhbmd1YWdlPVxcXCJjb2ZmZWVzY3JpcHRcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5idG4tcG9wdXAnKS5wb3B1cFxcblxcdGJlZm9yZWFjdGl2ZTogLT5cXG5cXHRcXHRkID0gJC5EZWZlcnJlZCgpXFxuXFxuXFx0XFx0Y29uc29sZS5sb2cgQFxcblxcdFxcdCMgVGhlIGJ1dHRvbiBlbGVtZW50IHdpbGwgYmUgaW4gdGhlIGxvZ1xcblxcdFxcdCMgc28geW91IGNhbiBhZGQgb3IgcmVtb3ZlIGNsYXNzZXMgZWFzaWx5XFxuXFx0XFx0IyBmb3IgZXhhbXBsZSB0byBkaXNhYmxlIGJ1dHRvbiB3aGlsZSBnZXR0aW5nIGRhdGEgZm9yIHBvcHVwIHdpbmRvd1xcblxcblxcdFxcdGNvbnNvbGUubG9nIEBkYXRhWydraXRQb3B1cCddXFxuXFx0XFx0IyBUaGUgaW5zdGFuY2Ugb2YgTW9kYWwgY2xhc3Mgd2lsbCBpbiBsb2dcXG5cXHRcXHQjIHNvIHRvIGdldCBwb3B1cCB3aW5kb3cgZWxlbWVudCB5b3UgbmVlZCB0byBkb1xcblxcdFxcdHBvcHVwID0gQGRhdGFbJ2tpdFBvcHVwJ10udGFyZ2V0XFxuXFxuXFx0XFx0IyBUbyBnZXQgcG9wdXAgZWxlbWVudCBkb1xcblxcdFxcdGNvbnNvbGUubG9nIHBvcHVwLnRhcmdldFxcblxcblxcdFxcdCMgVG8gZ2V0IHBvcHVwIGRpYWxvZyBlbGVtZW50IGRvXFxuXFx0XFx0Y29uc29sZS5sb2cgcG9wdXAuZGlhbG9nXFxuXFxuXFx0XFx0IyBEbyBzb21ldGhpbmcgaGVyZSBiZWZvcmUgb3BlbiB3aW5kb3dcXG5cXHRcXHQjIGluIHRoaXMgY2FzZSBpdCB3aWxsIG9wZW4gcG9wdXAgd2luZG93IGFmdGVyIDIgc2Vjb25kc1xcblxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdCwgMjAwMFxcblxcdFxcdCMgRW5kIG9mIHlvdXIgY29kZVxcblxcblxcdFxcdGQucHJvbWlzZSgpXFxuPC9wcmU+PC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgYWZ0ZXIgcG9wdXAgb3BlbnMuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmZhaWxhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBpZiBhY3RpdmF0aW9uIGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YmVmb3JlZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGJlZm9yZSBwb3B1cCBjbG9zZXMuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGFmdGVyIHBvcHVwIGNsb3Nlcy48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZmFpbGRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgZGVhY3RpdmF0aW9uIGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vXFxcIiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gLXByaW1hcnktIC1jb3JuZXItLVxcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGbGlwIGhvcml6b250YWwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vMlxcXCIgY2xhc3M9XFxcIi1kcm9wIF90b3BfIC1wcmltYXJ5LSAtZG9vci0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZsaXAgaG9yaXpvbnRhbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW8zXFxcIiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gLWVycm9yLSAtZmFkZWluLS1cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0RmFsbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW80XFxcIiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gLWVycm9yLSAtZmFsbC0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZhbGwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vNVxcXCIgY2xhc3M9XFxcIi1kcm9wIF90b3BfIC1lcnJvci0gLWZsaXBob3Jpem9udGFsLS1cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0RmFsbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW82XFxcIiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gLWVycm9yLSAtZmxpcHZlcnRpY2FsLS1cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0RmFsbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW83XFxcIiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gLWVycm9yLSAtaHVnZWluYy0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZhbGwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vOFxcXCIgY2xhc3M9XFxcIi1kcm9wIF90b3BfIC1lcnJvci0gLW5ld3NwYXBlci0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZhbGwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vOVxcXCIgY2xhc3M9XFxcIi1kcm9wIF90b3BfIC1lcnJvci0gLXNjYWxlLS1cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0RmFsbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW8xMFxcXCIgY2xhc3M9XFxcIi1kcm9wIF90b3BfIC1lcnJvci0gLWJsdXItLVxcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGYWxsIHBvcHVwXFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBpZD1cXFwicG9wdXAtZGVtbzExXFxcIiBjbGFzcz1cXFwiLWRyb3AgX3RvcF8gLXByaW1hcnktIC1zbGlkZWRvd24tLVxcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGbGlwIGhvcml6b250YWwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vMTJcXFwiIGNsYXNzPVxcXCItZHJvcCBfdG9wXyAtcHJpbWFyeS0gLXNsaWRlaW4tLVxcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGbGlwIGhvcml6b250YWwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vMTNcXFwiIGNsYXNzPVxcXCItZHJvcCBfdG9wXyAtcHJpbWFyeS0gLWZhZGVpbi0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZsaXAgaG9yaXpvbnRhbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW8xNFxcXCIgY2xhc3M9XFxcIi1kcm9wIF9sZWZ0XyAtcHJpbWFyeS0gLWZhZGVpbi0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZsaXAgaG9yaXpvbnRhbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW8xNVxcXCIgY2xhc3M9XFxcIi1kcm9wIF9yaWdodF8gLXByaW1hcnktIC1mYWRlaW4tLVxcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRGbGlwIGhvcml6b250YWwgcG9wdXBcXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cC1kZW1vMTZcXFwiIGNsYXNzPVxcXCItZHJvcCBfcmlnaHRfIF90b3BfIC1wcmltYXJ5LSAtZmFkZWluLS1cXFwiPlxcblxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0RmxpcCBob3Jpem9udGFsIHBvcHVwXFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBpZD1cXFwicG9wdXAtZGVtbzE3XFxcIiBjbGFzcz1cXFwiLWRyb3AgX3JpZ2h0XyBfdG9wXyAtcHJpbWFyeS0gLWZhZGVpbi0tXFxcIj5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZsaXAgaG9yaXpvbnRhbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcInBvcHVwLWRlbW8xOFxcXCIgY2xhc3M9XFxcIi1kcm9wIF9sZWZ0XyBfYm90dG9tXyAtcHJpbWFyeS0gLWZhZGVpbi0tXFxcIiBwb3B1cD5cXG5cXHQ8aSBjbGFzcz1cXFwiLWFycm93XFxcIj48L2k+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdEZsaXAgaG9yaXpvbnRhbCBwb3B1cFxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblwiLFwibW9kYWxcIjpcIjxkaXYgaWQ9XFxcIm1haW4tY29udGVudFxcXCIgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdDxoMT5Nb2RhbDwvaDE+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdDxoMz5IVE1MIE1vZGFsPC9oMz5cXG5cXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRVc2Ugd2lkZ2V0IGNsYXNzIDxjb2RlPi1tb2RhbDwvY29kZT4gdG8gYWRkIGJhY2tkcm9wLiBJbnNpZGUgdGhpcyBiYWNrZHJvcCBhZGQgPGNvZGU+LWhvbGRlcjwvY29kZT4gdG8gc2V0IGRpYWxvZyB3aW5kb3cgaW4gdGhlIGNlbnRlci4gSW5zaWRlIDxjb2RlPi1ob2xkZXI8L2NvZGU+IGFkZCA8Y29kZT4tZGlhbG9nPC9jb2RlPiB0byBjcmVhdGUgZGlhbG9nIHdpbmRvdy4gVXNlIDxjb2RlPi1oZWFkZXI8L2NvZGU+LCA8Y29kZT4tY29udGVudDwvY29kZT4gYW5kIDxjb2RlPi1mb290ZXI8L2NvZGU+IGluc2lkZS5cXG5cXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0VG8gc2V0IGFuaW1hdGlvbiB0byB0aGUgZGlhbG9nIHdpbmRvdyBhZGQgYW5pbWF0aW9uIG5hbWU6IDxjb2RlPi1mYWRlaW4tLTwvY29kZT4sIDxjb2RlPi1mYWxsLS08L2NvZGU+LCA8Y29kZT4tZmxpcGhvcml6b250YWwtLTwvY29kZT4sIDxjb2RlPi1mbG9wdmVydGljYWwtLTwvY29kZT4sIDxjb2RlPi1zbGlkZWluLS08L2NvZGU+LCA8Y29kZT4tc2NhbGVpbi0tPC9jb2RlPiwgPGNvZGU+LW5ld3NwYXBlci0tPC9jb2RlPi5cXG5cXHRcXHRcXHQ8L3A+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDRcXFwiPlxcblxcdFxcdFxcdDxoMz5IVE1MIEJ1dHRvbjwvaDM+XFxuXFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0QWRkIGRhdGEgYXR0cmlidXRlcyB0byBhbnkgd2lkZ2V0IDxjb2RlPmRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCI8L2NvZGU+IGFuZCA8Y29kZT5kYXRhLXRhcmdldD1cXFwiI21vZGFsMVxcXCI8L2NvZGU+LiBUaGUgcGx1Z2luIHdpbGwgZmluZCBzdWNoIGJ1dHRvbnMgYXV0b21hdGljYWxseS4gSW4gPGNvZGU+ZGF0YS10YXJnZXQ8L2NvZGU+IHlvdSBjYW4gc2V0IGNsYXNzZXMgb3IgaWRzLlxcblxcdFxcdFxcdDwvcD5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNFxcXCI+XFxuXFx0XFx0XFx0PGgzPkNvZmZlc2NyaXB0PC9oMz5cXG5cXHRcXHRcXHQ8cD5TaW1wbGUgd2F5OjwvcD5cXG5cXHRcXHRcXHQ8cD48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj5lbC5tb2RhbCgpPC9wcmU+PC9wPjxwPk1vcmUgY29tcGxpY2F0ZWQ6PC9wPlxcblxcdFxcdFxcdDxwPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPmVsLm1vZGFsXFxuXFx0dGFyZ2V0OiAnLm1vZGFsMTIzJ1xcblxcdHRvZ2dsZTogJ21vZGFsJ1xcblxcdGV2ZW50OiAnY2xpY2snXFxuXFx0ZXZlbnRDbG9zZTogJ2NsaWNrJ1xcblxcdGJhY2tkcm9wOiB5ZXM8L3ByZT48L3A+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLXJvdyBleGFtcGxlLWJsb2NrXFxcIj5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgdmlld1xcXCI+XFxuXFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbDEyM1xcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsMVxcXCI+T3BlbiBtb2RhbCB3aXRoIDJzIGRlbGF5PC9hPlxcblxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwtZmFzdFxcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsMVxcXCI+T3BlbiBtb2RhbCBpbW1lZGlhdGVseTwvYT5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwxMjNcXFwiIGRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNtb2RhbDFcXFwiPk9wZW4gbW9kYWwgd2l0aCAycyBkZWxheTwvYT5cXG48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLW1vZGFsLWZhc3RcXFwiIGRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNtb2RhbDFcXFwiPk9wZW4gbW9kYWwgaW1tZWRpYXRlbHk8L2E+XFxuPC9wcmU+PC9kaXY+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGlkPVxcXCJtb2RhbDFcXFwiIGNsYXNzPVxcXCItbW9kYWxcXFwiIG1vZGFsPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ob2xkZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kaWFsb2cgLWNvbDYgLXByaW1hcnktIC1mYWxsLS0gLWVsYXN0aWMtLVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0XFx0XFx0PHN2ZyBjbGFzcz1cXFwiLWNsb3NlXFxcIiBkYXRhLWRpc21pc3M9XFxcIm1vZGFsXFxcIiB4PVxcXCIwcHhcXFwiIHk9XFxcIjBweFxcXCIgdmlld2JveD1cXFwiMCAwIDYwMCA2MDBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxjaXJjbGUgY3g9XFxcIjMwMFxcXCIgY3k9XFxcIjMwMFxcXCIgcj1cXFwiMjYwXFxcIj48L2NpcmNsZT5cXG5cXHRcXHRcXHRcXHRcXHQ8cG9seWdvbiBwb2ludHM9XFxcIjQzNC40NDQsMjExLjQ1NCAzODkuODA5LDE2Ni44MTkgMzAwLjQ5NiwyNTYuMTMxIDIxMS40MzQsMTY3LjA2OSAxNjYuODgyLDIxMS42MjEgMjU1Ljk0NCwzMDAuNjg0IDE2Ni42MzgsMzg5Ljk5IDIxMS4yNzMsNDM0LjYyNiAzMDAuNTgsMzQ1LjMxOSAzODkuNjQyLDQzNC4zODIgNDM0LjE5NCwzODkuODMgMzQ1LjEzMiwzMDAuNzY3IFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvc3ZnPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXG5cXHRcXHRcXHRcXHQ8cD5DcmFzIG1hdHRpcyBjb25zZWN0ZXR1ciBwdXJ1cyBzaXQgYW1ldCBmZXJtZW50dW0uIENyYXMganVzdG8gb2RpbywgZGFwaWJ1cyBhYyBmYWNpbGlzaXMgaW4sIGVnZXN0YXMgZWdldCBxdWFtLiBNb3JiaSBsZW8gcmlzdXMsIHBvcnRhIGFjIGNvbnNlY3RldHVyIGFjLCB2ZXN0aWJ1bHVtIGF0IGVyb3MuPC9wPlxcblxcdFxcdFxcdFxcdDxwPlByYWVzZW50IGNvbW1vZG8gY3Vyc3VzIG1hZ25hLCB2ZWwgc2NlbGVyaXNxdWUgbmlzbCBjb25zZWN0ZXR1ciBldC4gVml2YW11cyBzYWdpdHRpcyBsYWN1cyB2ZWwgYXVndWUgbGFvcmVldCBydXRydW0gZmF1Y2lidXMgZG9sb3IgYXVjdG9yLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5BZW5lYW4gbGFjaW5pYSBiaWJlbmR1bSBudWxsYSBzZWQgY29uc2VjdGV0dXIuIFByYWVzZW50IGNvbW1vZG8gY3Vyc3VzIG1hZ25hLCB2ZWwgc2NlbGVyaXNxdWUgbmlzbCBjb25zZWN0ZXR1ciBldC4gRG9uZWMgc2VkIG9kaW8gZHVpLiBEb25lYyB1bGxhbWNvcnBlciBudWxsYSBub24gbWV0dXMgYXVjdG9yIGZyaW5naWxsYS48L3A+XFxuXFx0XFx0XFx0XFx0PHA+Q3JhcyBtYXR0aXMgY29uc2VjdGV0dXIgcHVydXMgc2l0IGFtZXQgZmVybWVudHVtLiBDcmFzIGp1c3RvIG9kaW8sIGRhcGlidXMgYWMgZmFjaWxpc2lzIGluLCBlZ2VzdGFzIGVnZXQgcXVhbS4gTW9yYmkgbGVvIHJpc3VzLCBwb3J0YSBhYyBjb25zZWN0ZXR1ciBhYywgdmVzdGlidWx1bSBhdCBlcm9zLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS1kaXNtaXNzPVxcXCJtb2RhbFxcXCI+Q2xvc2U8L2E+XFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj5kb3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5idG4tbW9kYWwtZmFzdCcpLm1vZGFsKClcXG5kb3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5idG4tbW9kYWwxMjMnKS5tb2RhbFxcblxcdGJlZm9yZWFjdGl2ZTogLT5cXG5cXHRcXHRkID0gJC5EZWZlcnJlZCgpXFxuXFxuXFx0XFx0c2V0VGltZW91dCAtPlxcblxcdFxcdFxcdGQucmVzb2x2ZSgpXFxuXFx0XFx0LCAyMDAwXFxuXFxuXFx0XFx0ZC5wcm9taXNlKClcXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG48aDI+UHJvcGVydGllczwvaDI+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+TmFtZTwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlZmF1bHQ8L3RoPlxcblxcdFxcdFxcdDx0aCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+dG9nZ2xlPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtdG9nZ2xlJyApIG9yICdtb2RhbCc8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRTZXQgdG9nZ2xlIHR5cGUuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+dGFyZ2V0PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtdGFyZ2V0JyApIG9yIG51bGw8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRGaW5kIGVsZW1lbnQgd2l0aCB0aGlzIHNlbGVjdG9yIGFuZCB3b3JrIHdpdGggaXQgYXMgYSBtb2RhbCB3aW5kb3cuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+ZGlhbG9nPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtZGlhbG9nJyApIG9yIFxcXCIuLWRpYWxvZ1xcXCI8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRTZWxlY3RvciB0byBmaW5kIGRpYWxvZyBibG9jayBpbnNpZGUgdGFyZ2V0IChtb2RhbCB3aW5kb3cpLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPmV2ZW50PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtZXZlbnQnICkgb3IgXFxcImNsaWNrXFxcIjwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFRoaXMgZXZlbnQgd2lsbCBiZSB1c2VkIHRvIG9wZW4gbW9kYWwgd2luZG93LjwvY29kZT5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5ldmVudENsb3NlPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtZXZlbnQtY2xvc2UnICkgb3IgXFxcImNsaWNrXFxcIjwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFRoaXMgZXZlbnQgd2lsbCBiZSB1c2VkIHRvIGNsb3NlIHdpbmRvdy4gV2lsbCBsaXN0ZW4gb24gZWxlbWVudHMgd2l0aCA8Y29kZT5kYXRhLWRpc21pc3M9XFxcIi5tb2RhbFxcXCI8L2NvZGU+IHRvIGNsb3NlIG1vZGFsIHdpbmRvdyB3aXRoIHNlbGVjdG9yIDxjb2RlPi5tb2RhbDwvY29kZT4uXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+YmFja2Ryb3A8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCdkYXRhLWJhY2tkcm9wJykgb3Igbm88L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRDbG9zZSBtb2RhbCB3aW5kb3cgd2hlbiBjbGlja2VkIG9uIHRoZSBiYWNrZHJvcC5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5wdXNoPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1wdXNoJykgb3Igbm88L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8Yj5OT1QgVEVTVEVEPC9iPi4gVGhlIHNlbGVjdG9yIG9mIHRoZSBjb250YWluZXIgd2l0aCBXSE9MRSBjb250ZW50LCBleGNlcHQgbW9kYWwgd2luZG93LCB0byB1c2UgcHVzaCBhbmltYXRpb24uXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+YXV0b09wZW48L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCdkYXRhLWF1dG9vcGVuJykgb3Igbm88L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRPcGVuIG1vZGFsIGFmdGVyIGluaXRpYWxpemUuXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+c2VsZmlzaDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtc2VsZmlzaCcpIG9yIHllczwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdENsb3NlIGFsbCBNb2RhbCBpbnN0YW5jZXMgYWZ0ZXIgY3VycmVudCBpbnN0YW5jZSBpbml0aWFsaXplZC5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5oaWRlU2Nyb2xsPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1oaWRlLXNjcm9sbCcpIG9yIHllczwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdEhpZGUgc2Nyb2xsIG9mIHRoZSBjb250YWluZXIgZWxlbWVudCB3aGVuIG1vZGFsIHdpbmRvdyBhcHBlYXJzLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuPGgyPk1ldGhvZHM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk1ldGhvZDwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+b3BlbjwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5PcGVuIG1vZGFsIHdpbmRvdy48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+Y2xvc2U8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2xvc2UgbW9kYWwgd2luZG93LjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5lbmFibGU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U3RhcnQgbGlzdGVuaW5nIHRvIHRoZSBldmVudHMuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmRpc2FibGU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U3RvcCBsaXN0ZW5pbmcgdG8gdGhlIGV2ZW50cy4gTW9kYWwgd2luZG93IHdpbGwgc3RheSBpbiBjdXJyZW50IHN0YXR1cyAob3BlbmVkIG9yIGNsb3NlZCkgYW5kIHdpbGwgbm90IHdvcmsgYW55bW9yZS48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG5cXG48aDI+RXZlbnRzPC9oMj5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRJbnNpZGUgZWFjaCBtZXRob2QgdG8gZ2V0IGJ1dHRvbiB1c2UgPGNvZGU+QDwvY29kZT4gb3IgPGNvZGU+dGhpczwvY29kZT4gaW4ganMuIENsYXNzIGluc3RhbmNlIGFsd2F5cyBzdG9yZXMgaW4gZGF0YSBhdHRyaWJ1dGUgb2YgdGhlIGJ1dHRvbiBlbGVtZW50IDxjb2RlPkBkYXRhWydraXRNb2RhbCddPC9jb2RlPiBvciA8Y29kZT50aGlzLmRhdGFbJ2tpdE1vZGFsJ108L2NvZGU+IGluIGpzLiBUbyBnZXQgbW9kYWwgd2luZG93IGVsZW1lbnQgZG8gPGNvZGU+QGRhdGFbJ2tpdE1vZGFsJ10uZWw8L2NvZGU+LlxcbjwvYmxvY2txdW90ZT5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5NZXRob2Q8L3RoPlxcblxcdFxcdFxcdDx0aD5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmJlZm9yZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGJlZm9yZSB3aW5kb3cgb3BlbnMuIElmIGl0IHJldHVybnMgPGNvZGU+ZGVmZXJyZWQucHJvbWlzZSgpPC9jb2RlPiwgdGhlbiBtb2RhbCB3aW5kb3cgd2lsbCBub3Qgb3BlbiB0aWxsIDxjb2RlPmRlZmVycmVkLnJlc29sdmUoKTwvY29kZT4sIGFuZCB3b3VuJ3Qgb3BlbiBpZiA8Y29kZT5kZWZlcnJlZC5yZWplY3QoKTwvY29kZT4uIFlvdSBjYW4ganVzdCBnZXQgZGF0YSB3aXRoIGFqYXggZm9yIG1vZGFsIHdpbmRvdy48L3A+XFxuXFx0XFx0XFx0XFx0PHAgbGFuZ3VhZ2U9XFxcImNvZmZlZXNjcmlwdFxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWNvZmZlZXNjcmlwdFxcXCI+bW9kYWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcXFwiW2RhdGEtdG9nZ2xlPSdtb2RhbCddXFxcIilcXG5mb3IgbWQgaW4gbW9kYWxzXFxuXFx0bWQubW9kYWxcXG5cXHRcXHRiZWZvcmVvcGVuOiAtPlxcblxcdFxcdFxcdGQgPSAkLkRlZmVycmVkKClcXG5cXG5cXHRcXHRcXHRjb25zb2xlLmxvZyBAXFxuXFx0XFx0XFx0IyBUaGUgYnV0dG9uIHdpbGwgYmUgaW4gdGhlIGxvZ1xcblxcdFxcdFxcdCMgc28geW91IGNhbiBhZGQgc29tZXRoaW5nIGxpa2VcXG5cXG5cXHRcXHRcXHRjb25zb2xlLmxvZyBAZGF0YVsna2l0TW9kYWwnXVxcblxcdFxcdFxcdCMgVGhlIGluc3RhbmNlIG9mIE1vZGFsIGNsYXNzIHdpbGwgaW4gbG9nXFxuXFx0XFx0XFx0IyBzbyB0byBnZXQgbW9kYWwgd2luZG93IGVsZW1lbnQgeW91IG5lZWQgdG8gZG9cXG5cXHRcXHRcXHRtb2RhbCA9IEBkYXRhWydraXRNb2RhbCddXFxuXFx0XFx0XFx0IyBGcm9tIG5vdyB5b3UgY2FuIGFjY2VzcyB0byB0aGUgYnV0dG9uIGJ5XFxuXFx0XFx0XFx0Y29uc29sZS5sb2cgbW9kYWwuZWxcXG5cXHRcXHRcXHQjIEFuZCB0byB0aGUgbW9kYWwgd2luZG93IGVsZW1lbnQgYnlcXG5cXHRcXHRcXHRjb25zb2xlLmxvZyBtb2RhbC50YXJnZXRcXG5cXG5cXHRcXHRcXHQjIERvIHNvbWV0aGluZyBoZXJlIGJlZm9yZSBvcGVuIHdpbmRvd1xcblxcdFxcdFxcdCMgaW4gdGhpcyBjYXNlIGl0IHdpbGwgb3BlbiBtb2RhbCB3aW5kb3cgYWZ0ZXIgMiBzZWNvbmRzXFxuXFx0XFx0XFx0c2V0VGltZW91dCAtPlxcblxcdFxcdFxcdFxcdGQucmVzb2x2ZSgpXFxuXFx0XFx0XFx0LCAyMDAwXFxuXFx0XFx0XFx0IyBFbmQgb2YgeW91ciBjb2RlXFxuXFxuXFx0XFx0XFx0ZC5wcm9taXNlKClcXG48L3ByZT48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+b25hY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBhZnRlciBtb2RhbCB3aW5kb3cgb3BlbnMuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmZhaWxhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBpZiBhY3RpdmF0aW9uIGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YmVmb3JlZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGJlZm9yZSBtb2RhbCB3aW5kb3cgY2xvc2VzLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5vbmRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkNhbGwgdGhpcyBmdW5jdGlvbiBhZnRlciBtb2RhbCB3aW5kb3cgY2xvc2VzLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5mYWlsZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBpZiBhY3RpdmF0aW9uIGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG5cXG5cXG48aDI+QW5pbWF0aW9uczwvaDI+XFxuPHA+XFxuXFx0VXNlIHdpZGdldCBkaWZmZXJlbnQgYW5pbWF0aW9ucy4gQWRkIGNsYXNzZXMgdG8gdGhlIDxjb2RlPi1kaWFsb2c8L2NvZGU+LlxcbjwvcD5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLW1vZGFsLWZhc3RcXFwiIGRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNtb2RhbC1mYWRlaW5cXFwiPkZhZGUgaW48L2E+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtZmxpcGhvcml6b250YWxcXFwiPkZsaXAgaG9yaXpvbnRhbDwvYT5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLW1vZGFsLWZhc3RcXFwiIGRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNtb2RhbC1mbGlwdmVydGljYWxcXFwiPkZsaXAgdmVydGljYWw8L2E+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtbmV3c3BhcGVyXFxcIj5OZXdzcGFwZXI8L2E+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtY29ybmVyXFxcIj5Db3JuZXI8L2E+XFxuXFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtZG9vclxcXCI+RG9vcjwvYT5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLW1vZGFsLWZhc3RcXFwiIGRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNtb2RhbC1mYWxsXFxcIj5GYWxsPC9hPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwtZmFzdFxcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsLWh1Z2VpbmNcXFwiPkh1Z2VpbmM8L2E+XFxuXFx0PC9kaXY+XFxuXFxuXFxuXFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLW1vZGFsLWZhc3RcXFwiIGRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNtb2RhbC1mYWRlaW5cXFwiPkZhZGUgaW48L2E+XFxuPGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtZmxpcGhvcml6b250YWxcXFwiPkZsaXAgaG9yaXpvbnRhbDwvYT5cXG48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLW1vZGFsLWZhc3RcXFwiIGRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNtb2RhbC1mbGlwdmVydGljYWxcXFwiPkZsaXAgdmVydGljYWw8L2E+XFxuPGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtbmV3c3BhcGVyXFxcIj5OZXdzcGFwZXI8L2E+XFxuPGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtY29ybmVyXFxcIj5Db3JuZXI8L2E+XFxuPGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1tb2RhbC1mYXN0XFxcIiBkYXRhLXRvZ2dsZT1cXFwibW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwtZG9vclxcXCI+RG9vcjwvYT5cXG48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLW1vZGFsLWZhc3RcXFwiIGRhdGEtdG9nZ2xlPVxcXCJtb2RhbFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNtb2RhbC1mYWxsXFxcIj5GYWxsPC9hPlxcbjxhIGNsYXNzPVxcXCItYnRuIC1wcmltYXJ5LSBidG4tbW9kYWwtZmFzdFxcXCIgZGF0YS10b2dnbGU9XFxcIm1vZGFsXFxcIiBkYXRhLXRhcmdldD1cXFwiI21vZGFsLWh1Z2VpbmNcXFwiPkh1Z2VpbmM8L2E+XFxuPC9wcmU+PC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1odG1sXFxcIj48ZGl2IGlkPVxcXCJtb2RhbC1mYWRlaW5cXFwiIGNsYXNzPVxcXCItbW9kYWwgLWZhZGVpbi0tXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaG9sZGVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZGlhbG9nIC1jb2w2IC1wcmltYXJ5LSAtZmFkZWluLS0gLWVsYXN0aWMtLVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0XFx0XFx0PHN2ZyBjbGFzcz1cXFwiLWNsb3NlXFxcIiBkYXRhLWRpc21pc3M9XFxcIm1vZGFsXFxcIiB4PVxcXCIwcHhcXFwiIHk9XFxcIjBweFxcXCIgdmlld0JveD1cXFwiMCAwIDYwMCA2MDBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxjaXJjbGUgY3g9XFxcIjMwMFxcXCIgY3k9XFxcIjMwMFxcXCIgcj1cXFwiMjYwXFxcIj48L2NpcmNsZT5cXG5cXHRcXHRcXHRcXHRcXHQ8cG9seWdvbiBwb2ludHM9XFxcIjQzNC40NDQsMjExLjQ1NCAzODkuODA5LDE2Ni44MTkgMzAwLjQ5NiwyNTYuMTMxIDIxMS40MzQsMTY3LjA2OSAxNjYuODgyLDIxMS42MjEgMjU1Ljk0NCwzMDAuNjg0IDE2Ni42MzgsMzg5Ljk5IDIxMS4yNzMsNDM0LjYyNiAzMDAuNTgsMzQ1LjMxOSAzODkuNjQyLDQzNC4zODIgNDM0LjE5NCwzODkuODMgMzQ1LjEzMiwzMDAuNzY3IFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvc3ZnPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHQuLi5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGlkPVxcXCJtb2RhbC1mbGlwaG9yaXpvbnRhbFxcXCIgY2xhc3M9XFxcIi1tb2RhbCAtZmFkZWluLS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ob2xkZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kaWFsb2cgLWNvbDYgLXByaW1hcnktIC1mbGlwaG9yaXpvbnRhbC0tIC1lbGFzdGljLS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxzdmcgY2xhc3M9XFxcIi1jbG9zZVxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtZmxpcGhvcml6b250YWxcXFwiIHg9XFxcIjBweFxcXCIgeT1cXFwiMHB4XFxcIiB2aWV3Qm94PVxcXCIwIDAgNjAwIDYwMFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGNpcmNsZSBjeD1cXFwiMzAwXFxcIiBjeT1cXFwiMzAwXFxcIiByPVxcXCIyNjBcXFwiPjwvY2lyY2xlPlxcblxcdFxcdFxcdFxcdFxcdDxwb2x5Z29uIHBvaW50cz1cXFwiNDM0LjQ0NCwyMTEuNDU0IDM4OS44MDksMTY2LjgxOSAzMDAuNDk2LDI1Ni4xMzEgMjExLjQzNCwxNjcuMDY5IDE2Ni44ODIsMjExLjYyMSAyNTUuOTQ0LDMwMC42ODQgMTY2LjYzOCwzODkuOTkgMjExLjI3Myw0MzQuNjI2IDMwMC41OCwzNDUuMzE5IDM4OS42NDIsNDM0LjM4MiA0MzQuMTk0LDM4OS44MyAzNDUuMTMyLDMwMC43NjcgXFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9zdmc+XFxuXFx0XFx0XFx0XFx0SGVhZGVyXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdC4uLlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcbjwvcHJlPjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj5tb2RhbHMgPSBkb3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5idG4tbW9kYWwtZmFzdCcpXFxuZm9yIG1vZGFsIGluIG1vZGFsc1xcblxcdG1vZGFsLm1vZGFsKClcXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRGb3IgdGhlIHdob2xlIGxpc3Qgb2YgcG9zc2libGUgYW5pbWF0aW9ucyBsb29rIGF0IDxhIGhyZWY9XFxcIi9hbmltYXRpb25zXFxcIj5hbmltYXRpb25zIGNvbXBvbmVudHM8L2E+LlxcbjwvYmxvY2txdW90ZT5cXG5cXG5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48ZGl2IGlkPVxcXCJtb2RhbDFcXFwiIGNsYXNzPVxcXCItbW9kYWwgLWh1Z2VpbmMtLVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhvbGRlclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRpYWxvZyAtY29sNiAtcHJpbWFyeS0gXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3ZnIGNsYXNzPVxcXCItY2xvc2VcXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsMVxcXCIgeD1cXFwiMHB4XFxcIiB5PVxcXCIwcHhcXFwiIHZpZXdCb3g9XFxcIjAgMCA2MDAgNjAwXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8Y2lyY2xlIGN4PVxcXCIzMDBcXFwiIGN5PVxcXCIzMDBcXFwiIHI9XFxcIjI2MFxcXCI+PC9jaXJjbGU+XFxuXFx0XFx0XFx0XFx0XFx0PHBvbHlnb24gcG9pbnRzPVxcXCI0MzQuNDQ0LDIxMS40NTQgMzg5LjgwOSwxNjYuODE5IDMwMC40OTYsMjU2LjEzMSAyMTEuNDM0LDE2Ny4wNjkgMTY2Ljg4MiwyMTEuNjIxIDI1NS45NDQsMzAwLjY4NCAxNjYuNjM4LDM4OS45OSAyMTEuMjczLDQzNC42MjYgMzAwLjU4LDM0NS4zMTkgMzg5LjY0Miw0MzQuMzgyIDQzNC4xOTQsMzg5LjgzIDM0NS4xMzIsMzAwLjc2NyBcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L3N2Zz5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFxuXFx0XFx0XFx0XFx0PHA+Q3JhcyBtYXR0aXMgY29uc2VjdGV0dXIgcHVydXMgc2l0IGFtZXQgZmVybWVudHVtLiBDcmFzIGp1c3RvIG9kaW8sIGRhcGlidXMgYWMgZmFjaWxpc2lzIGluLCBlZ2VzdGFzIGVnZXQgcXVhbS4gTW9yYmkgbGVvIHJpc3VzLCBwb3J0YSBhYyBjb25zZWN0ZXR1ciBhYywgdmVzdGlidWx1bSBhdCBlcm9zLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLXBvcHVwLWRlbW9cXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1pbm1vZGFsLWRlbW9cXFwiPk9wZW4gcG9wdXA8L2E+XFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbDFcXFwiPkNsb3NlPC9hPlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8ZGl2IGlkPVxcXCJwb3B1cC1pbm1vZGFsLWRlbW9cXFwiIGNsYXNzPVxcXCItZHJvcCBfcmlnaHRfIC1wcmltYXJ5LSAtZmFkZWluLS1cXFwiPlxcblxcdFxcdFxcdDxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0RmxpcCBob3Jpem9udGFsIHBvcHVwXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBpZD1cXFwibW9kYWwtZmFkZWluXFxcIiBjbGFzcz1cXFwiLW1vZGFsIC1mYWRlaW4tLVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhvbGRlclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRpYWxvZyAtY29sNiAtcHJpbWFyeS0gLWZhZGVpbi0tIC1lbGFzdGljLS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxzdmcgY2xhc3M9XFxcIi1jbG9zZVxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtZmFkZWluXFxcIiB4PVxcXCIwcHhcXFwiIHk9XFxcIjBweFxcXCIgdmlld0JveD1cXFwiMCAwIDYwMCA2MDBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxjaXJjbGUgY3g9XFxcIjMwMFxcXCIgY3k9XFxcIjMwMFxcXCIgcj1cXFwiMjYwXFxcIj48L2NpcmNsZT5cXG5cXHRcXHRcXHRcXHRcXHQ8cG9seWdvbiBwb2ludHM9XFxcIjQzNC40NDQsMjExLjQ1NCAzODkuODA5LDE2Ni44MTkgMzAwLjQ5NiwyNTYuMTMxIDIxMS40MzQsMTY3LjA2OSAxNjYuODgyLDIxMS42MjEgMjU1Ljk0NCwzMDAuNjg0IDE2Ni42MzgsMzg5Ljk5IDIxMS4yNzMsNDM0LjYyNiAzMDAuNTgsMzQ1LjMxOSAzODkuNjQyLDQzNC4zODIgNDM0LjE5NCwzODkuODMgMzQ1LjEzMiwzMDAuNzY3IFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvc3ZnPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXG5cXHRcXHRcXHRcXHQ8cD5DcmFzIG1hdHRpcyBjb25zZWN0ZXR1ciBwdXJ1cyBzaXQgYW1ldCBmZXJtZW50dW0uIENyYXMganVzdG8gb2RpbywgZGFwaWJ1cyBhYyBmYWNpbGlzaXMgaW4sIGVnZXN0YXMgZWdldCBxdWFtLiBNb3JiaSBsZW8gcmlzdXMsIHBvcnRhIGFjIGNvbnNlY3RldHVyIGFjLCB2ZXN0aWJ1bHVtIGF0IGVyb3MuPC9wPlxcblxcdFxcdFxcdFxcdDxwPlByYWVzZW50IGNvbW1vZG8gY3Vyc3VzIG1hZ25hLCB2ZWwgc2NlbGVyaXNxdWUgbmlzbCBjb25zZWN0ZXR1ciBldC4gVml2YW11cyBzYWdpdHRpcyBsYWN1cyB2ZWwgYXVndWUgbGFvcmVldCBydXRydW0gZmF1Y2lidXMgZG9sb3IgYXVjdG9yLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5BZW5lYW4gbGFjaW5pYSBiaWJlbmR1bSBudWxsYSBzZWQgY29uc2VjdGV0dXIuIFByYWVzZW50IGNvbW1vZG8gY3Vyc3VzIG1hZ25hLCB2ZWwgc2NlbGVyaXNxdWUgbmlzbCBjb25zZWN0ZXR1ciBldC4gRG9uZWMgc2VkIG9kaW8gZHVpLiBEb25lYyB1bGxhbWNvcnBlciBudWxsYSBub24gbWV0dXMgYXVjdG9yIGZyaW5naWxsYS48L3A+XFxuXFx0XFx0XFx0XFx0PHA+Q3JhcyBtYXR0aXMgY29uc2VjdGV0dXIgcHVydXMgc2l0IGFtZXQgZmVybWVudHVtLiBDcmFzIGp1c3RvIG9kaW8sIGRhcGlidXMgYWMgZmFjaWxpc2lzIGluLCBlZ2VzdGFzIGVnZXQgcXVhbS4gTW9yYmkgbGVvIHJpc3VzLCBwb3J0YSBhYyBjb25zZWN0ZXR1ciBhYywgdmVzdGlidWx1bSBhdCBlcm9zLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtZmFkZWluXFxcIj5DbG9zZTwvYT5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBpZD1cXFwibW9kYWwtZmxpcGhvcml6b250YWxcXFwiIGNsYXNzPVxcXCItbW9kYWwgLWZhZGVpbi0tXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaG9sZGVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZGlhbG9nIC1jb2w2IC1wcmltYXJ5LSAtZmxpcGhvcml6b250YWwtLSAtZWxhc3RpYy0tXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3ZnIGNsYXNzPVxcXCItY2xvc2VcXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsLWZsaXBob3Jpem9udGFsXFxcIiB4PVxcXCIwcHhcXFwiIHk9XFxcIjBweFxcXCIgdmlld0JveD1cXFwiMCAwIDYwMCA2MDBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxjaXJjbGUgY3g9XFxcIjMwMFxcXCIgY3k9XFxcIjMwMFxcXCIgcj1cXFwiMjYwXFxcIj48L2NpcmNsZT5cXG5cXHRcXHRcXHRcXHRcXHQ8cG9seWdvbiBwb2ludHM9XFxcIjQzNC40NDQsMjExLjQ1NCAzODkuODA5LDE2Ni44MTkgMzAwLjQ5NiwyNTYuMTMxIDIxMS40MzQsMTY3LjA2OSAxNjYuODgyLDIxMS42MjEgMjU1Ljk0NCwzMDAuNjg0IDE2Ni42MzgsMzg5Ljk5IDIxMS4yNzMsNDM0LjYyNiAzMDAuNTgsMzQ1LjMxOSAzODkuNjQyLDQzNC4zODIgNDM0LjE5NCwzODkuODMgMzQ1LjEzMiwzMDAuNzY3IFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvc3ZnPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXG5cXHRcXHRcXHRcXHQ8cD5DcmFzIG1hdHRpcyBjb25zZWN0ZXR1ciBwdXJ1cyBzaXQgYW1ldCBmZXJtZW50dW0uIENyYXMganVzdG8gb2RpbywgZGFwaWJ1cyBhYyBmYWNpbGlzaXMgaW4sIGVnZXN0YXMgZWdldCBxdWFtLiBNb3JiaSBsZW8gcmlzdXMsIHBvcnRhIGFjIGNvbnNlY3RldHVyIGFjLCB2ZXN0aWJ1bHVtIGF0IGVyb3MuPC9wPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbC1mbGlwaG9yaXpvbnRhbFxcXCI+Q2xvc2U8L2E+XFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblxcbjxkaXYgaWQ9XFxcIm1vZGFsLWZsaXB2ZXJ0aWNhbFxcXCIgY2xhc3M9XFxcIi1tb2RhbCAtZmFkZWluLS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ob2xkZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kaWFsb2cgLWNvbDYgLXByaW1hcnktIC1mbGlwdmVydGljYWwtLSAtZWxhc3RpYy0tXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3ZnIGNsYXNzPVxcXCItY2xvc2VcXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsLWZsaXB2ZXJ0aWNhbFxcXCIgeD1cXFwiMHB4XFxcIiB5PVxcXCIwcHhcXFwiIHZpZXdCb3g9XFxcIjAgMCA2MDAgNjAwXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8Y2lyY2xlIGN4PVxcXCIzMDBcXFwiIGN5PVxcXCIzMDBcXFwiIHI9XFxcIjI2MFxcXCI+PC9jaXJjbGU+XFxuXFx0XFx0XFx0XFx0XFx0PHBvbHlnb24gcG9pbnRzPVxcXCI0MzQuNDQ0LDIxMS40NTQgMzg5LjgwOSwxNjYuODE5IDMwMC40OTYsMjU2LjEzMSAyMTEuNDM0LDE2Ny4wNjkgMTY2Ljg4MiwyMTEuNjIxIDI1NS45NDQsMzAwLjY4NCAxNjYuNjM4LDM4OS45OSAyMTEuMjczLDQzNC42MjYgMzAwLjU4LDM0NS4zMTkgMzg5LjY0Miw0MzQuMzgyIDQzNC4xOTQsMzg5LjgzIDM0NS4xMzIsMzAwLjc2NyBcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L3N2Zz5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFxuXFx0XFx0XFx0XFx0PHA+Q3JhcyBtYXR0aXMgY29uc2VjdGV0dXIgcHVydXMgc2l0IGFtZXQgZmVybWVudHVtLiBDcmFzIGp1c3RvIG9kaW8sIGRhcGlidXMgYWMgZmFjaWxpc2lzIGluLCBlZ2VzdGFzIGVnZXQgcXVhbS4gTW9yYmkgbGVvIHJpc3VzLCBwb3J0YSBhYyBjb25zZWN0ZXR1ciBhYywgdmVzdGlidWx1bSBhdCBlcm9zLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtZmxpcHZlcnRpY2FsXFxcIj5DbG9zZTwvYT5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBpZD1cXFwibW9kYWwtbmV3c3BhcGVyXFxcIiBjbGFzcz1cXFwiLW1vZGFsIC1mYWRlaW4tLVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhvbGRlclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRpYWxvZyAtY29sNiAtcHJpbWFyeS0gLW5ld3NwYXBlci0tIC1lbGFzdGljLS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxzdmcgY2xhc3M9XFxcIi1jbG9zZVxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtbmV3c3BhcGVyXFxcIiB4PVxcXCIwcHhcXFwiIHk9XFxcIjBweFxcXCIgdmlld0JveD1cXFwiMCAwIDYwMCA2MDBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxjaXJjbGUgY3g9XFxcIjMwMFxcXCIgY3k9XFxcIjMwMFxcXCIgcj1cXFwiMjYwXFxcIj48L2NpcmNsZT5cXG5cXHRcXHRcXHRcXHRcXHQ8cG9seWdvbiBwb2ludHM9XFxcIjQzNC40NDQsMjExLjQ1NCAzODkuODA5LDE2Ni44MTkgMzAwLjQ5NiwyNTYuMTMxIDIxMS40MzQsMTY3LjA2OSAxNjYuODgyLDIxMS42MjEgMjU1Ljk0NCwzMDAuNjg0IDE2Ni42MzgsMzg5Ljk5IDIxMS4yNzMsNDM0LjYyNiAzMDAuNTgsMzQ1LjMxOSAzODkuNjQyLDQzNC4zODIgNDM0LjE5NCwzODkuODMgMzQ1LjEzMiwzMDAuNzY3IFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvc3ZnPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXG5cXHRcXHRcXHRcXHQ8cD5DcmFzIG1hdHRpcyBjb25zZWN0ZXR1ciBwdXJ1cyBzaXQgYW1ldCBmZXJtZW50dW0uIENyYXMganVzdG8gb2RpbywgZGFwaWJ1cyBhYyBmYWNpbGlzaXMgaW4sIGVnZXN0YXMgZWdldCBxdWFtLiBNb3JiaSBsZW8gcmlzdXMsIHBvcnRhIGFjIGNvbnNlY3RldHVyIGFjLCB2ZXN0aWJ1bHVtIGF0IGVyb3MuPC9wPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbC1uZXdzcGFwZXJcXFwiPkNsb3NlPC9hPlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJtb2RhbC1jb3JuZXJcXFwiIGNsYXNzPVxcXCItbW9kYWwgLWZhZGVpbi0tXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaG9sZGVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZGlhbG9nIC1jb2w2IC1wcmltYXJ5LSAtY29ybmVyLS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxzdmcgY2xhc3M9XFxcIi1jbG9zZVxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtY29ybmVyXFxcIiB4PVxcXCIwcHhcXFwiIHk9XFxcIjBweFxcXCIgdmlld0JveD1cXFwiMCAwIDYwMCA2MDBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxjaXJjbGUgY3g9XFxcIjMwMFxcXCIgY3k9XFxcIjMwMFxcXCIgcj1cXFwiMjYwXFxcIj48L2NpcmNsZT5cXG5cXHRcXHRcXHRcXHRcXHQ8cG9seWdvbiBwb2ludHM9XFxcIjQzNC40NDQsMjExLjQ1NCAzODkuODA5LDE2Ni44MTkgMzAwLjQ5NiwyNTYuMTMxIDIxMS40MzQsMTY3LjA2OSAxNjYuODgyLDIxMS42MjEgMjU1Ljk0NCwzMDAuNjg0IDE2Ni42MzgsMzg5Ljk5IDIxMS4yNzMsNDM0LjYyNiAzMDAuNTgsMzQ1LjMxOSAzODkuNjQyLDQzNC4zODIgNDM0LjE5NCwzODkuODMgMzQ1LjEzMiwzMDAuNzY3IFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvc3ZnPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXG5cXHRcXHRcXHRcXHQ8cD5DcmFzIG1hdHRpcyBjb25zZWN0ZXR1ciBwdXJ1cyBzaXQgYW1ldCBmZXJtZW50dW0uIENyYXMganVzdG8gb2RpbywgZGFwaWJ1cyBhYyBmYWNpbGlzaXMgaW4sIGVnZXN0YXMgZWdldCBxdWFtLiBNb3JiaSBsZW8gcmlzdXMsIHBvcnRhIGFjIGNvbnNlY3RldHVyIGFjLCB2ZXN0aWJ1bHVtIGF0IGVyb3MuPC9wPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbC1jb3JuZXJcXFwiPkNsb3NlPC9hPlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG48ZGl2IGlkPVxcXCJtb2RhbC1mYWxsXFxcIiBjbGFzcz1cXFwiLW1vZGFsIC1mYWRlaW4tLVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhvbGRlclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRpYWxvZyAtY29sNiAtcHJpbWFyeS0gLWZhbGwtLSAtZWxhc3RpYy0tXFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3ZnIGNsYXNzPVxcXCItY2xvc2VcXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsLWZhbGxcXFwiIHg9XFxcIjBweFxcXCIgeT1cXFwiMHB4XFxcIiB2aWV3Qm94PVxcXCIwIDAgNjAwIDYwMFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGNpcmNsZSBjeD1cXFwiMzAwXFxcIiBjeT1cXFwiMzAwXFxcIiByPVxcXCIyNjBcXFwiPjwvY2lyY2xlPlxcblxcdFxcdFxcdFxcdFxcdDxwb2x5Z29uIHBvaW50cz1cXFwiNDM0LjQ0NCwyMTEuNDU0IDM4OS44MDksMTY2LjgxOSAzMDAuNDk2LDI1Ni4xMzEgMjExLjQzNCwxNjcuMDY5IDE2Ni44ODIsMjExLjYyMSAyNTUuOTQ0LDMwMC42ODQgMTY2LjYzOCwzODkuOTkgMjExLjI3Myw0MzQuNjI2IDMwMC41OCwzNDUuMzE5IDM4OS42NDIsNDM0LjM4MiA0MzQuMTk0LDM4OS44MyAzNDUuMTMyLDMwMC43NjcgXFxcIi8+XFxuXFx0XFx0XFx0XFx0PC9zdmc+XFxuXFx0XFx0XFx0XFx0SGVhZGVyXFxuXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcblxcdFxcdFxcdFxcdDxwPkNyYXMgbWF0dGlzIGNvbnNlY3RldHVyIHB1cnVzIHNpdCBhbWV0IGZlcm1lbnR1bS4gQ3JhcyBqdXN0byBvZGlvLCBkYXBpYnVzIGFjIGZhY2lsaXNpcyBpbiwgZWdlc3RhcyBlZ2V0IHF1YW0uIE1vcmJpIGxlbyByaXN1cywgcG9ydGEgYWMgY29uc2VjdGV0dXIgYWMsIHZlc3RpYnVsdW0gYXQgZXJvcy48L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsLWZhbGxcXFwiPkNsb3NlPC9hPlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG48ZGl2IGlkPVxcXCJtb2RhbC1kb29yXFxcIiBjbGFzcz1cXFwiLW1vZGFsIC1mYWRlaW4tLVxcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLWhvbGRlclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWRpYWxvZyAtY29sNiAtcHJpbWFyeS0gLWRvb3ItLVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0XFx0XFx0PHN2ZyBjbGFzcz1cXFwiLWNsb3NlXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbC1kb29yXFxcIiB4PVxcXCIwcHhcXFwiIHk9XFxcIjBweFxcXCIgdmlld0JveD1cXFwiMCAwIDYwMCA2MDBcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxjaXJjbGUgY3g9XFxcIjMwMFxcXCIgY3k9XFxcIjMwMFxcXCIgcj1cXFwiMjYwXFxcIj48L2NpcmNsZT5cXG5cXHRcXHRcXHRcXHRcXHQ8cG9seWdvbiBwb2ludHM9XFxcIjQzNC40NDQsMjExLjQ1NCAzODkuODA5LDE2Ni44MTkgMzAwLjQ5NiwyNTYuMTMxIDIxMS40MzQsMTY3LjA2OSAxNjYuODgyLDIxMS42MjEgMjU1Ljk0NCwzMDAuNjg0IDE2Ni42MzgsMzg5Ljk5IDIxMS4yNzMsNDM0LjYyNiAzMDAuNTgsMzQ1LjMxOSAzODkuNjQyLDQzNC4zODIgNDM0LjE5NCwzODkuODMgMzQ1LjEzMiwzMDAuNzY3IFxcXCIvPlxcblxcdFxcdFxcdFxcdDwvc3ZnPlxcblxcdFxcdFxcdFxcdEhlYWRlclxcblxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXG5cXHRcXHRcXHRcXHQ8cD5DcmFzIG1hdHRpcyBjb25zZWN0ZXR1ciBwdXJ1cyBzaXQgYW1ldCBmZXJtZW50dW0uIENyYXMganVzdG8gb2RpbywgZGFwaWJ1cyBhYyBmYWNpbGlzaXMgaW4sIGVnZXN0YXMgZWdldCBxdWFtLiBNb3JiaSBsZW8gcmlzdXMsIHBvcnRhIGFjIGNvbnNlY3RldHVyIGFjLCB2ZXN0aWJ1bHVtIGF0IGVyb3MuPC9wPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbC1kb29yXFxcIj5DbG9zZTwvYT5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuXFxuPGRpdiBpZD1cXFwibW9kYWwtaHVnZWluY1xcXCIgY2xhc3M9XFxcIi1tb2RhbCAtZmFkZWluLS1cXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1ob2xkZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1kaWFsb2cgLWNvbDYgLXByaW1hcnktIC1odWdlaW5jLS1cXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxzdmcgY2xhc3M9XFxcIi1jbG9zZVxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtaHVnZWluY1xcXCIgeD1cXFwiMHB4XFxcIiB5PVxcXCIwcHhcXFwiIHZpZXdCb3g9XFxcIjAgMCA2MDAgNjAwXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8Y2lyY2xlIGN4PVxcXCIzMDBcXFwiIGN5PVxcXCIzMDBcXFwiIHI9XFxcIjI2MFxcXCI+PC9jaXJjbGU+XFxuXFx0XFx0XFx0XFx0XFx0PHBvbHlnb24gcG9pbnRzPVxcXCI0MzQuNDQ0LDIxMS40NTQgMzg5LjgwOSwxNjYuODE5IDMwMC40OTYsMjU2LjEzMSAyMTEuNDM0LDE2Ny4wNjkgMTY2Ljg4MiwyMTEuNjIxIDI1NS45NDQsMzAwLjY4NCAxNjYuNjM4LDM4OS45OSAyMTEuMjczLDQzNC42MjYgMzAwLjU4LDM0NS4zMTkgMzg5LjY0Miw0MzQuMzgyIDQzNC4xOTQsMzg5LjgzIDM0NS4xMzIsMzAwLjc2NyBcXFwiLz5cXG5cXHRcXHRcXHRcXHQ8L3N2Zz5cXG5cXHRcXHRcXHRcXHRIZWFkZXJcXG5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFxuXFx0XFx0XFx0XFx0PHA+Q3JhcyBtYXR0aXMgY29uc2VjdGV0dXIgcHVydXMgc2l0IGFtZXQgZmVybWVudHVtLiBDcmFzIGp1c3RvIG9kaW8sIGRhcGlidXMgYWMgZmFjaWxpc2lzIGluLCBlZ2VzdGFzIGVnZXQgcXVhbS4gTW9yYmkgbGVvIHJpc3VzLCBwb3J0YSBhYyBjb25zZWN0ZXR1ciBhYywgdmVzdGlidWx1bSBhdCBlcm9zLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwtaHVnZWluY1xcXCI+Q2xvc2U8L2E+XFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZGl2PlxcblwiLFwiYnV0dG9uXCI6XCI8ZGl2IGlkPVxcXCJtYWluLWNvbnRlbnRcXFwiIGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHQ8aDE+QnV0dG9uPC9oMT5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBidG4tc2ltcGxlXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIj5CdXR0b24gMTwvYT5cXG5cXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0biBidG4tc2ltcGxlXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIj5CdXR0b24gMjwvYT5cXG5cXG5cXHRcXHQ8YnI+XFxuXFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCIgZGF0YS10eXBlPVxcXCJyYWRpb1xcXCIgZGF0YS1ncm91cD1cXFwiYmJiXFxcIj5SYWRpbyAxPC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcInJhZGlvXFxcIiBkYXRhLWdyb3VwPVxcXCJiYmJcXFwiPlJhZGlvIDI8L2E+XFxuXFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwXFxcIj5cXG5cXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCIgZGF0YS10eXBlPVxcXCJjaGVja2JveFxcXCIgZGF0YS1ncm91cD1cXFwiYmJiMVxcXCI+Q2hlY2tib3g8L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiIGRhdGEtdG9nZ2xlPVxcXCJidXR0b25cXFwiIGRhdGEtdHlwZT1cXFwiY2hlY2tib3hcXFwiIGRhdGEtZ3JvdXA9XFxcImJiYjFcXFwiPkNoZWNrYm94PC9hPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctaHRtbFxcXCI+PGEgY2xhc3M9XFxcIi1idG5cXFwiIGRhdGEtdG9nZ2xlPVxcXCJidXR0b25cXFwiPkJ1dHRvbiAxPC9hPlxcbjxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIj5CdXR0b24gMjwvYT5cXG5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcInJhZGlvXFxcIiBkYXRhLWdyb3VwPVxcXCJiYmJcXFwiPlJhZGlvIDE8L2E+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiIGRhdGEtdG9nZ2xlPVxcXCJidXR0b25cXFwiIGRhdGEtdHlwZT1cXFwicmFkaW9cXFwiIGRhdGEtZ3JvdXA9XFxcImJiYlxcXCI+UmFkaW8gMjwvYT5cXG48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcImNoZWNrYm94XFxcIiBkYXRhLWdyb3VwPVxcXCJiYmIxXFxcIj5DaGVja2JveDwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCIgZGF0YS10eXBlPVxcXCJjaGVja2JveFxcXCIgZGF0YS1ncm91cD1cXFwiYmJiMVxcXCI+Q2hlY2tib3g8L2E+XFxuPC9kaXY+XFxuPC9wcmU+PC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPmJ1dHRvbnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFxcXCJbZGF0YS10b2dnbGU9J2J1dHRvbiddXFxcIilcXG5mb3IgYnRuIGluIGJ1dHRvbnNcXG5cXHRidG4uYnV0dG9uKClcXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIGJ0bi13aXRoLWJlZm9yZVxcXCIgZGF0YS10b2dnbGU9XFxcImJ1dHRvblxcXCIgZGF0YS10eXBlPVxcXCJjaGVja2JveFxcXCIgZGF0YS1ncm91cD1cXFwiYmJiM1xcXCI+Q2hlY2tib3g8L2E+PGEgY2xhc3M9XFxcIi1idG4gYnRuLXdpdGgtYmVmb3JlXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcImNoZWNrYm94XFxcIiBkYXRhLWdyb3VwPVxcXCJiYmIzXFxcIj5DaGVja2JveDwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG4gYnRuLXdpdGgtYmVmb3JlXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcImNoZWNrYm94XFxcIiBkYXRhLWdyb3VwPVxcXCJiYmIzXFxcIj5DaGVja2JveDwvYT5cXG5cXHQ8YSBjbGFzcz1cXFwiLWJ0biBidG4td2l0aC1iZWZvcmVcXFwiIGRhdGEtdG9nZ2xlPVxcXCJidXR0b25cXFwiIGRhdGEtdHlwZT1cXFwiY2hlY2tib3hcXFwiIGRhdGEtZ3JvdXA9XFxcImJiYjNcXFwiPkNoZWNrYm94PC9hPlxcbjwvZGl2PlxcbjwvcHJlPjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcIi1jb2wxMiBleGFtcGxlXFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj5idXR0b25zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcXFwiW2RhdGEtdG9nZ2xlPSdidXR0b24nXVxcXCIpXFxuZm9yIGJ0biBpbiBidXR0b25zXFxuXFx0YnRuLmJ1dHRvblxcblxcdFxcdGJlZm9yZWFjdGl2ZTogLT5cXG5cXHRcXHRcXHRkID0gJC5EZWZlcnJlZCgpXFxuXFx0XFx0XFx0YnV0dG9uID0gQGRhdGFbJ2tpdEJ1dHRvbiddXFxuXFx0XFx0XFx0YnV0dG9uLmVsLmlubmVySFRNTCA9ICdMb2FkaW5nLi4uJ1xcblxcdFxcdFxcdGJ1dHRvbi5fYWRkQ2xhc3MgJ19kaXNhYmxlZF8nXFxuXFx0XFx0XFx0c2V0VGltZW91dCAtPlxcblxcdFxcdFxcdFxcdGQucmVzb2x2ZSgpXFxuXFx0XFx0XFx0LDIwMDBcXG5cXHRcXHRcXHRkLnByb21pc2UoKVxcblxcblxcdFxcdG9uYWN0aXZlOiAtPlxcblxcdFxcdFxcdGJ1dHRvbiA9IEBkYXRhWydraXRCdXR0b24nXVxcblxcdFxcdFxcdGJ1dHRvbi5lbC5fcmVtb3ZlQ2xhc3MgJ19kaXNhYmxlZF8nXFxuXFx0XFx0XFx0YnV0dG9uLmVsLmlubmVySFRNTCA9ICdDaGVja2VkJ1xcblxcblxcdFxcdG9uZGVhY3RpdmU6IC0+XFxuXFx0XFx0XFx0YnV0dG9uID0gQGRhdGFbJ2tpdEJ1dHRvbiddXFxuXFx0XFx0XFx0YnV0dG9uLmVsLmlubmVySFRNTCA9ICdDaGVja2JveCdcXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48ZGl2IGNsYXNzPVxcXCItcm93IGV4YW1wbGUtYmxvY2tcXFwiPlxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb2wxMiB2aWV3XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXBcXFwiPlxcblxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIHJhZGlvLXdpdGgtYmVmb3JlXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcInJhZGlvXFxcIiBkYXRhLWdyb3VwPVxcXCJiYmIyXFxcIj5SYWRpbyAxPC9hPjxhIGNsYXNzPVxcXCItYnRuIHJhZGlvLXdpdGgtYmVmb3JlXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcInJhZGlvXFxcIiBkYXRhLWdyb3VwPVxcXCJiYmIyXFxcIj5SYWRpbyAyPC9hPjxhIGNsYXNzPVxcXCItYnRuIHJhZGlvLXdpdGgtYmVmb3JlXFxcIiBkYXRhLXRvZ2dsZT1cXFwiYnV0dG9uXFxcIiBkYXRhLXR5cGU9XFxcInJhZGlvXFxcIiBkYXRhLWdyb3VwPVxcXCJiYmIyXFxcIiBidXR0b24+UmFkaW8gMzwvYT5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29sMTIgZXhhbXBsZVxcXCI+PHByZSBobGpzIGNsYXNzPVxcXCJwcmV0dHlwcmludCBsYW5nLWh0bWxcXFwiPjxkaXYgY2xhc3M9XFxcIi1ncm91cFxcXCI+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG4gcmFkaW8td2l0aC1iZWZvcmVcXFwiIGRhdGEtdG9nZ2xlPVxcXCJidXR0b25cXFwiIGRhdGEtdHlwZT1cXFwicmFkaW9cXFwiIGRhdGEtZ3JvdXA9XFxcImJiYjJcXFwiPlJhZGlvIDE8L2E+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG4gcmFkaW8td2l0aC1iZWZvcmVcXFwiIGRhdGEtdG9nZ2xlPVxcXCJidXR0b25cXFwiIGRhdGEtdHlwZT1cXFwicmFkaW9cXFwiIGRhdGEtZ3JvdXA9XFxcImJiYjJcXFwiPlJhZGlvIDI8L2E+XFxuXFx0PGEgY2xhc3M9XFxcIi1idG4gcmFkaW8td2l0aC1iZWZvcmVcXFwiIGRhdGEtdG9nZ2xlPVxcXCJidXR0b25cXFwiIGRhdGEtdHlwZT1cXFwicmFkaW9cXFwiIGRhdGEtZ3JvdXA9XFxcImJiYjJcXFwiPlJhZGlvIDM8L2E+XFxuPC9kaXY+XFxuPC9wcmU+PC9kaXY+XFxuXFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPmJ1dHRvbnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFxcXCIucmFkaW8td2l0aC1iZWZvcmVcXFwiKVxcbmZvciBidG4gaW4gYnV0dG9uc1xcblxcdGJlZm9yZWFjdGl2ZTogLT5cXG5cXHRcXHRkID0gJC5EZWZlcnJlZCgpXFxuXFx0XFx0YnV0dG9uID0gQGRhdGFbJ2tpdEJ1dHRvbiddXFxuXFx0XFx0YnV0dG9uLmVsLmlubmVySFRNTCA9ICdMb2FkaW5nLi4uJ1xcblxcdFxcdGJ1dHRvbi5fYWRkQ2xhc3MgJ19kaXNhYmxlZF8nXFxuXFx0XFx0c2V0VGltZW91dCAtPlxcblxcdFxcdFxcdGQucmVzb2x2ZSgpXFxuXFx0XFx0LDIwMDBcXG5cXHRcXHRkLnByb21pc2UoKVxcblxcblxcdG9uYWN0aXZlOiAtPlxcblxcdFxcdGJ1dHRvbiA9IEBkYXRhWydraXRCdXR0b24nXVxcblxcdFxcdGJ1dHRvbi5lbC5pbm5lckhUTUwgPSAnQ2hlY2tlZCdcXG5cXHRcXHRidXR0b24uX3JlbW92ZUNsYXNzICdfZGlzYWJsZWRfJ1xcblxcblxcdGJlZm9yZWRlYWN0aXZlOiAtPlxcblxcdFxcdGQgPSAkLkRlZmVycmVkKClcXG5cXHRcXHRidXR0b24gPSBAZGF0YVsna2l0QnV0dG9uJ11cXG5cXHRcXHRidXR0b24uZWwuaW5uZXJIVE1MID0gJ1VuY2hlY2tpbmcuLi4nXFxuXFx0XFx0YnV0dG9uLl9hZGRDbGFzcyAnX2Rpc2FibGVkXydcXG5cXHRcXHRzZXRUaW1lb3V0IC0+XFxuXFx0XFx0XFx0ZC5yZXNvbHZlKClcXG5cXHRcXHQsMzAwMFxcblxcdFxcdGQucHJvbWlzZSgpXFxuXFxuXFx0b25kZWFjdGl2ZTogLT5cXG5cXHRcXHRidXR0b24gPSBAZGF0YVsna2l0QnV0dG9uJ11cXG5cXHRcXHRidXR0b24uX3JlbW92ZUNsYXNzICdfZGlzYWJsZWRfJ1xcblxcdFxcdGJ1dHRvbi5lbC5pbm5lckhUTUwgPSAnUmFkaW8nXFxuPC9wcmU+PC9kaXY+XFxuXFxuPC9kaXY+XFxuXFxuXFxuXFxuXFxuPGgyPlByb3BlcnRpZXM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk5hbWU8L3RoPlxcblxcdFxcdFxcdDx0aD5EZWZhdWx0PC90aD5cXG5cXHRcXHRcXHQ8dGggY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnRvZ2dsZTwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLXRvZ2dsZScgKSBvciAnYnV0dG9uJzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFNldCB0b2dnbGUgdHlwZSBvZiB0aGUgZWxlbWVudC5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD50eXBlPC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtdHlwZScgKSBvciAnYnV0dG9uJzwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdDxjb2RlPmJ1dHRvbjwvY29kZT4sIDxjb2RlPnJhZGlvPC9jb2RlPiwgPGNvZGU+Y2hlY2tib3g8L2NvZGU+LiBEZWZpbmUgYnV0dG9uJ3MgYmVoYXZpb3VyLiBJZiA8Y29kZT5yYWRpbzwvY29kZT4sIHRoZW4gd2lsbCB1bmNoZWNrIGFsbCBidXR0b25zIGZyb20gaXQncyBncm91cC5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD5ncm91cDwvdGQ+XFxuXFx0XFx0XFx0PHRkPjxpPkBlbC5nZXRBdHRyaWJ1dGUoICdkYXRhLWdyb3VwJyApIG9yIG5vPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0PGNvZGU+U3RyaW5nPC9jb2RlPi4gVXNlcyBmb3IgPGNvZGU+dHlwZTogcmFkaW88L2NvZGU+LCBqdXN0IHR5cGUgYW55IG5hbWUgZm9yIGdyb3VwIG9mIHJhZGlvYnV0dG9ucyBvciBjaGVja2JveGVzLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPmV2ZW50PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtZXZlbnQnICkgb3IgXFxcImNsaWNrXFxcIjwvaT48L3RkPlxcblxcdFxcdFxcdDx0ZCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPlxcblxcdFxcdFxcdFxcdFRoaXMgZXZlbnQgd2lsbCBiZSB1c2VkIHRvIGFjdGl2YXRlL2RlYWN0aXZhdGUgYnV0dG9uLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPnNlbGZpc2g8L3RkPlxcblxcdFxcdFxcdDx0ZD48aT5AZWwuZ2V0QXR0cmlidXRlKCAnZGF0YS1zZWxmaXNoJyApIG9yIG5vPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0RGVhY3RpdmF0ZSBhbGwgaW5zdGFuY2VzIG9mIEJ1dHRvbiB3aGVuIGN1cnJlbnQgaW5zdGFuY2UgYWN0aXZhdGVkLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuPGgyPk1ldGhvZHM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk1ldGhvZDwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YWN0aXZhdGU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+QWN0aXZhdGUgYnV0dG9uLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5kZWFjdGl2YXRlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkRlYWN0aXZhdGUgYnV0dG9uLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5lbmFibGU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+RW5hYmxlIGJ1dHRvbiwgZXZlbnRzIHdpbGwgd29yay48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+ZGlzYWJsZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5EaXNhYmxlIGJ1dHRvbiwgZXZlbnRzIHdpbGwgbm90IHdvcmsuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuXFxuPGgyPkV2ZW50czwvaDI+XFxuXFxuPGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0SW5zaWRlIGVhY2ggbWV0aG9kIHRvIGdldCBidXR0b24gdXNlIDxjb2RlPkA8L2NvZGU+IG9yIDxjb2RlPnRoaXM8L2NvZGU+IGluIGpzLiBDbGFzcyBpbnN0YW5jZSBhbHdheXMgc3RvcmVzIGluIGRhdGEgYXR0cmlidXRlIG9mIHRoZSBidXR0b24gZWxlbWVudCA8Y29kZT5AZGF0YVsna2l0QnV0dG9uJ108L2NvZGU+IG9yIDxjb2RlPnRoaXMuZGF0YVsna2l0QnV0dG9uJ108L2NvZGU+IGluIGpzLlxcbjwvYmxvY2txdW90ZT5cXG5cXG5cXG48dGFibGUgY2xhc3M9XFxcIi10YWJsZSBfaG9yaXpvbnRhbF8gX3Jlc3BvbnNpdmVfXFxcIj5cXG5cXHQ8dGhlYWQ+XFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0aD5FdmVudDwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+YmVmb3JlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgYmVmb3JlIGFjdGl2YXRlIGJ1dHRvbi4gSWYgaXQgcmV0dXJucyA8Y29kZT5kZWZlcnJlZC5wcm9taXNlKCk8L2NvZGU+LCB0aGVuIGJ1dHRvbiB3aWxsIG5vdCBhY3RpdmF0ZSB0aWxsIDxjb2RlPmRlZmVycmVkLnJlc29sdmUoKTwvY29kZT4sIGFuZCB3b3VuJ3QgYWN0aXZhdGUgYXQgYWxsIGlmIDxjb2RlPmRlZmVycmVkLnJlamVjdCgpPC9jb2RlPi4gWW91IGNhbiBqdXN0IGdldCBkYXRhIHdpdGggYWpheCBpbnN0ZWFkIG9mIHVzaW5nIGRlZmVycmVkLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cCBsYW5ndWFnZT1cXFwiY29mZmVlc2NyaXB0XFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj5idXR0b25zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcXFwiLnJhZGlvLXdpdGgtYmVmb3JlXFxcIilcXG5mb3IgYnRuIGluIGJ1dHRvbnNcXG5cXHRiZWZvcmVhY3RpdmU6IC0+XFxuXFx0XFx0ZCA9ICQuRGVmZXJyZWQoKVxcblxcdFxcdGJ1dHRvbiA9IEBkYXRhWydraXRCdXR0b24nXVxcblxcdFxcdGJ1dHRvbi5lbC5pbm5lckhUTUwgPSAnTG9hZGluZy4uLidcXG5cXHRcXHRidXR0b24uX2FkZENsYXNzICdfZGlzYWJsZWRfJ1xcblxcdFxcdHNldFRpbWVvdXQgLT5cXG5cXHRcXHRcXHRkLnJlc29sdmUoKVxcblxcdFxcdCwyMDAwXFxuXFx0XFx0ZC5wcm9taXNlKClcXG5cXG5cXHRvbmFjdGl2ZTogLT5cXG5cXHRcXHRidXR0b24gPSBAZGF0YVsna2l0QnV0dG9uJ11cXG5cXHRcXHRidXR0b24uZWwuaW5uZXJIVE1MID0gJ0NoZWNrZWQnXFxuXFx0XFx0YnV0dG9uLl9yZW1vdmVDbGFzcyAnX2Rpc2FibGVkXydcXG5cXG5cXHRiZWZvcmVkZWFjdGl2ZTogLT5cXG5cXHRcXHRkID0gJC5EZWZlcnJlZCgpXFxuXFx0XFx0YnV0dG9uID0gQGRhdGFbJ2tpdEJ1dHRvbiddXFxuXFx0XFx0YnV0dG9uLmVsLmlubmVySFRNTCA9ICdVbmNoZWNraW5nLi4uJ1xcblxcdFxcdGJ1dHRvbi5fYWRkQ2xhc3MgJ19kaXNhYmxlZF8nXFxuXFx0XFx0c2V0VGltZW91dCAtPlxcblxcdFxcdFxcdGQucmVzb2x2ZSgpXFxuXFx0XFx0LDMwMDBcXG5cXHRcXHRkLnByb21pc2UoKVxcblxcblxcdG9uZGVhY3RpdmU6IC0+XFxuXFx0XFx0YnV0dG9uID0gQGRhdGFbJ2tpdEJ1dHRvbiddXFxuXFx0XFx0YnV0dG9uLl9yZW1vdmVDbGFzcyAnX2Rpc2FibGVkXydcXG5cXHRcXHRidXR0b24uZWwuaW5uZXJIVE1MID0gJ1JhZGlvJ1xcbjwvcHJlPjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5vbmFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGFmdGVyIGJ1dHRvbiBhY3RpdmF0aW9uLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5mYWlsYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgYWN0aXZhdGlvbiBmYWlsZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmJlZm9yZWRlYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPkNhbGwgdGhpcyBmdW5jdGlvbiBiZWZvcmUgZGVhY3RpdmF0ZSBidXR0b24uPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGFmdGVyIGRlYWN0aXZhdGUgYnV0dG9uLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5mYWlsZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBpZiBkZWFjdGl2YXRpb24gZmFpbGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFx0PC90Ym9keT5cXG48L3RhYmxlPlxcblxcblxcblxcbjwvZGl2PlxcblwiLFwiYWZmaXhcIjpcIjxkaXYgaWQ9XFxcIm1haW4tY29udGVudFxcXCIgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdDxoMT5BZmZpeDwvaDE+XFxuXFxuXFx0PHA+VGhlIHN1Ym5hdmlnYXRpb24gb24gdGhlIHJpZ2h0IGlzIGEgbGl2ZSBkZW1vIG9mIHRoZSBhZmZpeCBwbHVnaW4uPC9wPlxcblxcblxcdDxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdFxcdFRvIG1vdmUgeW91ciBhZmZpeCBibG9jayBpbnNpZGUgc29tZSBwYXJlbnQsIGp1c3QgYWRkIDxjb2RlPnBvc2l0aW9uOiByZWxhdGl2ZTwvY29kZT4gdG8gdGhhdCBwYXJlbnQuXFxuXFx0PC9ibG9ja3F1b3RlPlxcblxcblxcblxcblxcblxcdDxkaXYgY2xhc3M9XFxcIi1yb3cgZXhhbXBsZS1ibG9ja1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbDEyIGV4YW1wbGVcXFwiPjxwcmUgaGxqcyBjbGFzcz1cXFwicHJldHR5cHJpbnQgbGFuZy1jb2ZmZWVzY3JpcHRcXFwiPmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXFxcIiNhZmZpeC1lbFxcXCIpLmFmZml4KHsgb2Zmc2V0OiAtMjUgfSlcXG48L3ByZT48L2Rpdj5cXG5cXG48L2Rpdj5cXG5cXG5cXG48aDI+UHJvcGVydGllczwvaDI+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+TmFtZTwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlZmF1bHQ8L3RoPlxcblxcdFxcdFxcdDx0aCBjbGFzcz1cXFwiX2hpZGRlbi1waG9uZXNfIF9oaWRkZW4tdGFibGV0c19cXFwiPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+c3B5PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1zcHknKSBvciAnYWZmaXgnPC9pPjwvdGQ+XFxuXFx0XFx0XFx0PHRkIGNsYXNzPVxcXCJfaGlkZGVuLXBob25lc18gX2hpZGRlbi10YWJsZXRzX1xcXCI+XFxuXFx0XFx0XFx0XFx0U2V0IHR5cGUgb2Ygc3B5aW5nXFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+b2Zmc2V0PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+PGk+QGVsLmdldEF0dHJpYnV0ZSggJ2RhdGEtb2Zmc2V0JyApIG9yIDU8L2k+PC90ZD5cXG5cXHRcXHRcXHQ8dGQgY2xhc3M9XFxcIl9oaWRkZW4tcGhvbmVzXyBfaGlkZGVuLXRhYmxldHNfXFxcIj5cXG5cXHRcXHRcXHRcXHRJbiA8Y29kZT5weDwvY29kZT4uIEFmZml4J3MgYmxvY2sgb2Zmc2V0IGZyb20gdG9wLlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3Rib2R5PlxcbjwvdGFibGU+XFxuXFxuXFxuPGgyPk1ldGhvZHM8L2gyPlxcblxcbjx0YWJsZSBjbGFzcz1cXFwiLXRhYmxlIF9ob3Jpem9udGFsXyBfcmVzcG9uc2l2ZV9cXFwiPlxcblxcdDx0aGVhZD5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRoPk1ldGhvZDwvdGg+XFxuXFx0XFx0XFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGhlYWQ+XFxuXFx0PHRib2R5PlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+c3RhcnQ8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+QWN0aXZhdGUgYWZmaXg8L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+c3RvcDwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5EZWF0aXZhdGUgYWZmaXg8L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG48aDI+RXZlbnRzPC9oMj5cXG5cXG48YmxvY2txdW90ZSBjbGFzcz1cXFwiLXByaW1hcnktXFxcIj5cXG5cXHRJbnNpZGUgZWFjaCBldmVudCBmdW5jdGlvbiBvZiBhZmZpeCBlbGVtZW50IHVzZSA8Y29kZT5APC9jb2RlPiBvciA8Y29kZT50aGlzPC9jb2RlPiBpbiBqcy4gQ2xhc3MgaW5zdGFuY2UgYWx3YXlzIHN0b3JlcyBpbiBkYXRhIGF0dHJpYnV0ZSBvZiB0aGUgYWZmaXggZWxlbWVudCA8Y29kZT5AZGF0YVsna2l0QWZmaXgnXTwvY29kZT4gb3IgPGNvZGU+dGhpcy5kYXRhWydraXRBZmZpeCddPC9jb2RlPiBpbiBqcy5cXG48L2Jsb2NrcXVvdGU+XFxuXFxuPHRhYmxlIGNsYXNzPVxcXCItdGFibGUgX2hvcml6b250YWxfIF9yZXNwb25zaXZlX1xcXCI+XFxuXFx0PHRoZWFkPlxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGg+RXZlbnQ8L3RoPlxcblxcdFxcdFxcdDx0aD5EZXNjcmlwdGlvbjwvdGg+XFxuXFx0XFx0PC90cj5cXG5cXHQ8L3RoZWFkPlxcblxcdDx0Ym9keT5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmJlZm9yZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGJlZm9yZSBzdGFydCBhZmZpeC4gSWYgaXQgcmV0dXJucyA8Y29kZT5kZWZlcnJlZC5wcm9taXNlKCk8L2NvZGU+LCB0aGVuIGFmZml4IHdpbGwgbm90IHN0YXJ0IHRpbGwgPGNvZGU+ZGVmZXJyZWQucmVzb2x2ZSgpPC9jb2RlPiwgYW5kIHdvdW4ndCBzdGFydCBhdCBhbGwgaWYgPGNvZGU+ZGVmZXJyZWQucmVqZWN0KCk8L2NvZGU+LiBZb3UgY2FuIGp1c3QgZ2V0IGRhdGEgd2l0aCBhamF4IGZvciB5b3VyIGFmZml4IGJsb2NrLjwvcD5cXG5cXHRcXHRcXHRcXHQ8cCBsYW5ndWFnZT1cXFwiY29mZmVlc2NyaXB0XFxcIj48cHJlIGhsanMgY2xhc3M9XFxcInByZXR0eXByaW50IGxhbmctY29mZmVlc2NyaXB0XFxcIj5lbC5hZmZpeFxcblxcdGJlZm9yZWFjdGl2ZTogLT5cXG5cXHRcXHRkID0gJC5EZWZlcnJlZCgpXFxuXFxuXFx0XFx0Y29uc29sZS5sb2cgQFxcblxcdFxcdCMgVGhlIGFmZml4IERPTSBlbGVtZW50IHdpbGwgYmUgaW4gdGhlIGxvZ1xcblxcblxcdFxcdGNvbnNvbGUubG9nIEBkYXRhWydraXRBZmZpeCddXFxuXFx0XFx0IyBUaGUgaW5zdGFuY2Ugb2YgQWZmaXggY2xhc3Mgd2lsbCBpbiBsb2dcXG5cXG5cXHRcXHQjIERvIHNvbWV0aGluZyBoZXJlIGJlZm9yZSBzdGFydCBhZmZpeFxcblxcdFxcdCMgaW4gdGhpcyBjYXNlIGl0IHdpbGwgc3RhcnQgYWZ0ZXIgMiBzZWNvbmRzXFxuXFx0XFx0c2V0VGltZW91dCAtPlxcblxcdFxcdFxcdGQucmVzb2x2ZSgpXFxuXFx0XFx0LCAyMDAwXFxuXFx0XFx0IyBFbmQgb2YgeW91ciBjb2RlXFxuXFxuXFx0XFx0ZC5wcm9taXNlKClcXG48L3ByZT48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcblxcblxcdFxcdDx0cj5cXG5cXHRcXHRcXHQ8dGQ+PGI+b25hY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+U2V0IGEgZnVuY3Rpb24gdG8gY2FsbCBpdCBhZnRlciBhZmZpeCBzdGFydGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5mYWlsYWN0aXZlPC9iPjwvdGQ+XFxuXFx0XFx0XFx0PHRkPlxcblxcdFxcdFxcdFxcdDxwPlNldCBhIGZ1bmN0aW9uIHRvIGNhbGwgaXQgaWYgc3RhcnRpbmcgZmFpbGVkLjwvcD5cXG5cXHRcXHRcXHQ8L3RkPlxcblxcdFxcdDwvdHI+XFxuXFxuXFx0XFx0PHRyPlxcblxcdFxcdFxcdDx0ZD48Yj5iZWZvcmVkZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5DYWxsIHRoaXMgZnVuY3Rpb24gYmVmb3JlIGFmZml4IHN0b3BwZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPm9uZGVhY3RpdmU8L2I+PC90ZD5cXG5cXHRcXHRcXHQ8dGQ+XFxuXFx0XFx0XFx0XFx0PHA+Q2FsbCB0aGlzIGZ1bmN0aW9uIGFmdGVyIGFmZml4IHN0b3BwZWQuPC9wPlxcblxcdFxcdFxcdDwvdGQ+XFxuXFx0XFx0PC90cj5cXG5cXG5cXHRcXHQ8dHI+XFxuXFx0XFx0XFx0PHRkPjxiPmZhaWxkZWFjdGl2ZTwvYj48L3RkPlxcblxcdFxcdFxcdDx0ZD5cXG5cXHRcXHRcXHRcXHQ8cD5TZXQgYSBmdW5jdGlvbiB0byBjYWxsIGl0IGlmIHN0b3BwaW5nIGZhaWxlZC48L3A+XFxuXFx0XFx0XFx0PC90ZD5cXG5cXHRcXHQ8L3RyPlxcblxcdDwvdGJvZHk+XFxuPC90YWJsZT5cXG5cXG5cXG48L2Rpdj5cXG5cIn19LFwidGVzdHNcIjp7XCJsYXlvdXRcIjpcIjxodG1sPlxcbjxoZWFkPlxcbjx0aXRsZT5NYWluIHRlc3QgbGF5b3V0PC90aXRsZT5cXG48c3R5bGUgdHlwZT1cXFwidGV4dC9jc3NcXFwiIG1lZGlhPVxcXCJzY3JlZW5cXFwiPlxcbmJvZHksIGh0bWwgeyBoZWlnaHQ6MjAwMHB4OyB9XFxuPC9zdHlsZT5cXG48L2hlYWQ+XFxuPGJvZHk+XFxuPGRpdiBpZD1cXFwiY29udGFpbmVyXFxcIiBzdHlsZT1cXFwicG9zaXRpb246cmVsYXRpdmU7IHRvcDo1MHB4O1xcXCI+XFxuPGRpdiBpZD1cXFwiYWZmaXhcXFwiPjwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInRlc3RpbmctYnV0dG9uc1xcXCI+XFxuPGEgaWQ9XFxcInRlc3QtYnV0dG9uXFxcIiBkYXRhLWdyb3VwPVxcXCJ0ZXN0LWJ1dHRvbnMxXFxcIj5UZXN0IGJ1dHRvbjwvYT5cXG48YSBpZD1cXFwidGVzdC1idXR0b24yXFxcIiBkYXRhLWdyb3VwPVxcXCJ0ZXN0LWJ1dHRvbnMyXFxcIj5UZXN0IGJ1dHRvbjwvYT5cXG48L2Rpdj5cXG5cXG5cXG5cXG5cXG48YSBocmVmPVxcXCJcXFwiIGlkPVxcXCJidXR0b24tbW9kYWxcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwxXFxcIj5PcGVuIG1vZGFsPC9hPlxcbjxhIGhyZWY9XFxcIlxcXCIgaWQ9XFxcImJ1dHRvbi1tb2RhbDJcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjbW9kYWwyXFxcIj5PcGVuIG1vZGFsIDI8L2E+XFxuXFxuPGRpdiBpZD1cXFwibW9kYWwxXFxcIiBjbGFzcz1cXFwiLW1vZGFsIC1odWdlaW5jLS0gXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaG9sZGVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZGlhbG9nIC1jb2w2IC1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0XFx0XFx0PHN2ZyBjbGFzcz1cXFwiLWNsb3NlXFxcIiBkYXRhLWRpc21pc3M9XFxcIiNtb2RhbDFcXFwiIHg9XFxcIjBweFxcXCIgeT1cXFwiMHB4XFxcIiB2aWV3Ym94PVxcXCIwIDAgNjAwIDYwMFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGNpcmNsZSBjeD1cXFwiMzAwXFxcIiBjeT1cXFwiMzAwXFxcIiByPVxcXCIyNjBcXFwiPjwvY2lyY2xlPlxcblxcdFxcdFxcdFxcdFxcdDxwb2x5Z29uIHBvaW50cz1cXFwiNDM0LjQ0NCwyMTEuNDU0IDM4OS44MDksMTY2LjgxOSAzMDAuNDk2LDI1Ni4xMzEgMjExLjQzNCwxNjcuMDY5IDE2Ni44ODIsMjExLjYyMSAyNTUuOTQ0LDMwMC42ODQgMTY2LjYzOCwzODkuOTkgMjExLjI3Myw0MzQuNjI2IDMwMC41OCwzNDUuMzE5IDM4OS42NDIsNDM0LjM4MiA0MzQuMTk0LDM4OS44MyAzNDUuMTMyLDMwMC43NjcgXFxcIj48L3BvbHlnb24+XFxuXFx0XFx0XFx0XFx0PC9zdmc+XFxuXFx0XFx0XFx0XFx0SGVhZGVyXFxuXFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcblxcdFxcdFxcdFxcdDxwPkNyYXMgbWF0dGlzIGNvbnNlY3RldHVyIHB1cnVzIHNpdCBhbWV0IGZlcm1lbnR1bS4gQ3JhcyBqdXN0byBvZGlvLCBkYXBpYnVzIGFjIGZhY2lsaXNpcyBpbiwgZWdlc3RhcyBlZ2V0IHF1YW0uIE1vcmJpIGxlbyByaXN1cywgcG9ydGEgYWMgY29uc2VjdGV0dXIgYWMsIHZlc3RpYnVsdW0gYXQgZXJvcy48L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gLXByaW1hcnktIGJ0bi1wb3B1cC1kZW1vXFxcIiBkYXRhLXRvZ2dsZT1cXFwicG9wdXBcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAtaW5tb2RhbC1kZW1vXFxcIj5PcGVuIHBvcHVwPC9hPlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwxXFxcIj5DbG9zZTwvYT5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0XFx0PGRpdiBpZD1cXFwicG9wdXAtaW5tb2RhbC1kZW1vXFxcIiBjbGFzcz1cXFwiLWRyb3AgLXByaW1hcnktIC1mYWRlaW4tLSBfdG9wXyBfY2VudGVyX1xcXCI+XFxuXFx0XFx0XFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRGbGlwIGhvcml6b250YWwgcG9wdXBcXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGlkPVxcXCJtb2RhbDJcXFwiIGNsYXNzPVxcXCItbW9kYWwgLWh1Z2VpbmMtLSBcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1ob2xkZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1kaWFsb2cgLWNvbDYgLXByaW1hcnktXFxcIj5cXG48ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj5cXG48c3ZnIGNsYXNzPVxcXCItY2xvc2VcXFwiIGRhdGEtZGlzbWlzcz1cXFwiI21vZGFsMlxcXCIgeD1cXFwiMHB4XFxcIiB5PVxcXCIwcHhcXFwiIHZpZXdib3g9XFxcIjAgMCA2MDAgNjAwXFxcIj5cXG48Y2lyY2xlIGN4PVxcXCIzMDBcXFwiIGN5PVxcXCIzMDBcXFwiIHI9XFxcIjI2MFxcXCI+PC9jaXJjbGU+XFxuPHBvbHlnb24gcG9pbnRzPVxcXCI0MzQuNDQ0LDIxMS40NTQgMzg5LjgwOSwxNjYuODE5IDMwMC40OTYsMjU2LjEzMSAyMTEuNDM0LDE2Ny4wNjkgMTY2Ljg4MiwyMTEuNjIxIDI1NS45NDQsMzAwLjY4NCAxNjYuNjM4LDM4OS45OSAyMTEuMjczLDQzNC42MjYgMzAwLjU4LDM0NS4zMTkgMzg5LjY0Miw0MzQuMzgyIDQzNC4xOTQsMzg5LjgzIDM0NS4xMzIsMzAwLjc2NyBcXFwiPjwvcG9seWdvbj5cXG48L3N2Zz5cXG5IZWFkZXJcXG5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFxuPHA+Q3JhcyBtYXR0aXMgY29uc2VjdGV0dXIgcHVydXMgc2l0IGFtZXQgZmVybWVudHVtLiBDcmFzIGp1c3RvIG9kaW8sIGRhcGlidXMgYWMgZmFjaWxpc2lzIGluLCBlZ2VzdGFzIGVnZXQgcXVhbS4gTW9yYmkgbGVvIHJpc3VzLCBwb3J0YSBhYyBjb25zZWN0ZXR1ciBhYywgdmVzdGlidWx1bSBhdCBlcm9zLjwvcD5cXG48cD5cXG48YSBjbGFzcz1cXFwiLWJ0biAtcHJpbWFyeS0gYnRuLXBvcHVwLWRlbW9cXFwiIGRhdGEtdG9nZ2xlPVxcXCJwb3B1cFxcXCIgZGF0YS10YXJnZXQ9XFxcIiNwb3B1cC1pbm1vZGFsLWRlbW8yXFxcIj5PcGVuIHBvcHVwPC9hPlxcbjwvcD5cXG48cD5cXG48YSBjbGFzcz1cXFwiLWJ0blxcXCIgZGF0YS1kaXNtaXNzPVxcXCIjbW9kYWwyXFxcIj5DbG9zZTwvYT5cXG48L3A+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBpZD1cXFwicG9wdXAtaW5tb2RhbC1kZW1vMlxcXCIgY2xhc3M9XFxcIi1kcm9wIC1wcmltYXJ5LSAtZmFkZWluLS0gX3RvcF8gX2NlbnRlcl9cXFwiPlxcbjxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG48ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuRmxpcCBob3Jpem9udGFsIHBvcHVwXFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBpZD1cXFwiY29udGFpbmVyLXBvcHVwXFxcIiBzdHlsZT1cXFwicG9zaXRpb246cmVsYXRpdmU7IHRvcDo1MHB4O1xcXCI+XFxuPGEgaHJlZj1cXFwiXFxcIiBpZD1cXFwiYnV0dG9uLXBvcHVwXFxcIiBkYXRhLXRhcmdldD1cXFwiI3BvcHVwXFxcIiBzdHlsZT1cXFwicG9zaXRpb246cmVsYXRpdmU7IHRvcDoxMHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiAyMHB4O1xcXCI+T3BlbiBwb3B1cDwvYT5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cFxcXCIgY2xhc3M9XFxcIi1kcm9wIC1lcnJvci0gLWZsaXBob3Jpem9udGFsLS0gX3RvcF8gX2NlbnRlcl9cXFwiIHN0eWxlPVxcXCJwb3NpdGlvbjpyZWxhdGl2ZTsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDUwMHB4O1xcXCI+XFxuXFx0PGkgY2xhc3M9XFxcIi1hcnJvd1xcXCI+PC9pPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5TZXQgY29udGVudCBoZXJlPC9kaXY+XFxuPC9kaXY+XFxuPC9kaXY+XFxuXFxuPGRpdiBpZD1cXFwiY29udGFpbmVyLXBvcHVwMlxcXCIgc3R5bGU9XFxcInBvc2l0aW9uOnJlbGF0aXZlOyB0b3A6NTBweDtcXFwiPlxcbjxhIGhyZWY9XFxcIlxcXCIgaWQ9XFxcImJ1dHRvbi1wb3B1cDJcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjcG9wdXAyXFxcIiBzdHlsZT1cXFwicG9zaXRpb246cmVsYXRpdmU7IHRvcDoxMHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiAyMHB4O1xcXCI+T3BlbiBwb3B1cDwvYT5cXG5cXG48ZGl2IGlkPVxcXCJwb3B1cDJcXFwiIGNsYXNzPVxcXCItZHJvcCAtZXJyb3ItIC1mbGlwaG9yaXpvbnRhbC0tIF90b3BfIF9jZW50ZXJfXFxcIiBzdHlsZT1cXFwicG9zaXRpb246cmVsYXRpdmU7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiA1MDBweDtcXFwiPlxcbjxpIGNsYXNzPVxcXCItYXJyb3dcXFwiPjwvaT5cXG48ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+U2V0IGNvbnRlbnQgaGVyZTwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2Plxcblxcblxcblxcbjx1bCBpZD1cXFwic2Nyb2xsc3B5XFxcIj5cXG48bGk+PGEgaHJlZj1cXFwiI3NweTFcXFwiPlNweSAxPC9hPjwvbGk+XFxuPGxpPjxhIGhyZWY9XFxcIiNzcHkyXFxcIj5TcHkgMjwvYT48L2xpPlxcbjxsaT48YSBocmVmPVxcXCIjc3B5M1xcXCI+U3B5IDM8L2E+PC9saT5cXG48bGk+PGEgaHJlZj1cXFwiI3NweTRcXFwiPlNweSA0PC9hPjwvbGk+XFxuPC91bD5cXG48ZGl2IGlkPVxcXCJzcHkxXFxcIj5cXG5TcHkgMVxcbjwvZGl2PlxcbjxkaXYgaWQ9XFxcInNweTJcXFwiPlxcblNweSAyXFxuPC9kaXY+XFxuPGRpdiBpZD1cXFwic3B5M1xcXCI+XFxuU3B5IDNcXG48L2Rpdj5cXG48ZGl2IGlkPVxcXCJzcHk0XFxcIj5cXG5TcHkgNFxcbjwvZGl2Plxcblxcblxcbjx1bCBjbGFzcz1cXFwiLXRhYnMgLXByaW1hcnktXFxcIj5cXG5cXHQ8bGkgaWQ9XFxcInRhYnMxXFxcIiBkYXRhLXRvZ2dsZT1cXFwidGFic1xcXCIgZGF0YS1ncm91cD1cXFwidGFiczFcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjY29udGVudDFcXFwiPjxhPlRhYiAxPC9hPjwvbGk+XFxuXFx0PGxpIGlkPVxcXCJ0YWJzMlxcXCIgZGF0YS10b2dnbGU9XFxcInRhYnNcXFwiIGRhdGEtZ3JvdXA9XFxcInRhYnMxXFxcIiBkYXRhLXRhcmdldD1cXFwiI2NvbnRlbnQyXFxcIj48YT5UYWIgMjwvYT48L2xpPlxcblxcdDxsaSBpZD1cXFwidGFiczNcXFwiIGRhdGEtdG9nZ2xlPVxcXCJ0YWJzXFxcIiBkYXRhLWdyb3VwPVxcXCJ0YWJzMVxcXCIgZGF0YS10YXJnZXQ9XFxcIiNjb250ZW50M1xcXCI+PGE+VGFiIDM8L2E+PC9saT5cXG5cXHQ8bGkgaWQ9XFxcInRhYnM0XFxcIiBkYXRhLXRvZ2dsZT1cXFwidGFic1xcXCIgZGF0YS1ncm91cD1cXFwidGFiczFcXFwiIGRhdGEtdGFyZ2V0PVxcXCIjY29udGVudDRcXFwiPjxhPlRhYiA0PC9hPjwvbGk+XFxuPC91bD5cXG48ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHQ8ZGl2IGlkPVxcXCJjb250ZW50MVxcXCIgY2xhc3M9XFxcIi1jb2wxMlxcXCI+Q29udGVudCBmb3IgdGFiIDE8L2Rpdj5cXG5cXHQ8ZGl2IGlkPVxcXCJjb250ZW50MlxcXCIgY2xhc3M9XFxcIi1jb2wxMlxcXCI+Q29udGVudCBmb3IgdGFiIDI8L2Rpdj5cXG5cXHQ8ZGl2IGlkPVxcXCJjb250ZW50M1xcXCIgY2xhc3M9XFxcIi1jb2wxMlxcXCI+Q29udGVudCBmb3IgdGFiIDM8L2Rpdj5cXG5cXHQ8ZGl2IGlkPVxcXCJjb250ZW50NFxcXCIgY2xhc3M9XFxcIi1jb2wxMlxcXCI+Q29udGVudCBmb3IgdGFiIDQ8L2Rpdj5cXG48L2Rpdj5cXG5cXG5cXG5cXG48ZGl2IGlkPVxcXCJ3YWxsXFxcIiBjbGFzcz1cXFwiLXdhbGxcXFwiIGRhdGEta2luZD1cXFwid2FsbFxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWl0ZW1cXFwiPlxcbjx2aWRlbyBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCIgbXV0ZWQ9XFxcIlxcXCIgcHJlbG9hZD1cXFwiYXV0b1xcXCIgYXV0b3BsYXk9XFxcImF1dG9wbGF5XFxcIiBsb29wPVxcXCJsb29wXFxcIj5cXG48c291cmNlIHNyYz1cXFwiLy9zZWN1cmUtYy52aW1lb2Nkbi5jb20vcC92aWRlby95b3NlbWl0ZV9oZF9paV9oZC53ZWJtXFxcIiB0eXBlPVxcXCJ2aWRlby93ZWJtXFxcIj5cXG48c291cmNlIHNyYz1cXFwiLy9zZWN1cmUtYy52aW1lb2Nkbi5jb20vcC92aWRlby95b3NlbWl0ZV9oZF9paV9oZC5tcDRcXFwiIHR5cGU9XFxcInZpZGVvL21wNFxcXCI+XFxuPC92aWRlbz5cXG48IS0tIDxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiID5cXG48aW1nIHNyYz1cXFwiaHR0cHM6Ly9kMjYyaWxiNTFobHR4MC5jbG91ZGZyb250Lm5ldC9maXQvdC8yMDAwLzE2MDAvZ3JhZHYvMjkvODEvNTUvMSprNm1OTlJZcG5ZdzRCMGdud3Qtc3BnLmpwZWdcXFwiIGFsdD1cXFwiXFxcIj5cXG48L2ZpZ3VyZT4gLS0+XFxuPGhlYWRlciBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuPGRpdiBjbGFzcz1cXFwiLWNvbDggLW9mZnNldDJcXFwiPlxcbjxoMSBjbGFzcz1cXFwidGstYWx0ZXJuYXRlLWdvdGhpYy1uby0zLWRcXFwiPllvc2VtaXRlPC9oMT5cXG48aDIgY2xhc3M9XFxcInRrLWZyZWlnaHQtdGV4dC1wcm9cXFwiPjxzbWFsbD5UaW1lLWxhcHNlIHZpZGVvIHByb2plY3Qgc2V0IGluIFlvc2VtaXRlIE5hdGlvbmFsIFBhcmssIDIwMTQ8L3NtYWxsPjwvaDI+XFxuPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgX3JvdW5kXyBfc21hbGxcXFwiPlxcbjxmaWd1cmUgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcbjxpbWcgc3JjPVxcXCJodHRwOi8vczEud3AuY29tL3dwLWNvbnRlbnQvdGhlbWVzL3ZpcC90aW1lbGlmZS9pbWFnZXMvbGlmZV9sb2dvLnBuZ1xcXCIgYWx0PVxcXCJMaWZlXFxcIj5cXG48L2ZpZ3VyZT5UaGUgTElGRSwgQ29saW4gRGVsZWhhbnR5XFxuPC9hPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvaGVhZGVyPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvYm9keT5cXG48L2h0bWw+XFxuXCJ9LFwiZXhhbXBsZXNcIjp7XCJibG9nXCI6XCI8c3R5bGU+XFxuXFx0Li13YWxsIHtcXG5cXHRcXHRjb2xvcjogI2ZmZjtcXG5cXHR9XFxuXFx0Li13YWxsIGEgeyBjb2xvcjogI2VlZTsgfVxcblxcdC4td2FsbCAuLWhlYWRlciBoMXtcXG5cXHRcXHRmb250LXNpemU6IDRlbTtcXG5cXHR9XFxuXFxuXFx0c2VjdGlvbiB7XFxuXFx0XFx0bWFyZ2luLXRvcDogNTBweDtcXG5cXHR9XFxuXFxuLypcXHQuZGV2LWJsb2ctcG9zdHtcXG5cXHRcXHRmb250LXNpemU6IFxcblxcdH0qL1xcbjwvc3R5bGU+XFxuXFxuPHVsIGNsYXNzPVxcXCItYnVsbGV0cyBfZml4ZWRfIF92ZXJ0aWNhbF8gX2xlZnRfIF9taWRkbGVfXFxcIiBkYXRhLXNweT1cXFwic2Nyb2xsc3B5XFxcIiBzdHlsZT1cXFwicG9zaXRpb246IGZpeGVkXFxcIj5cXG5cXHQ8IS0tIDxsaT48YSBocmVmPVxcXCIjd2FsbDFcXFwiIGRhdGEtYnlwYXNzPjxzbWFsbD5Zb3NlbWl0ZTwvc21hbGw+PC9hPjwvbGk+IC0tPlxcblxcdDxsaT48YSBocmVmPVxcXCIjaGVhZGVyXFxcIiBkYXRhLWJ5cGFzcz48c21hbGw+SGVhZGVyPC9zbWFsbD48L2E+PC9saT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI2ludHJvXFxcIiBkYXRhLWludmVydD1cXFwidHJ1ZVxcXCIgZGF0YS1ieXBhc3M+PHNtYWxsPkludHJvZHVjdGlvbjwvc21hbGw+PC9hPjwvbGk+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNXZW5keVNjaG1pZHRcXFwiIGRhdGEtaW52ZXJ0PVxcXCJ0cnVlXFxcIiBkYXRhLWJ5cGFzcz48c21hbGw+V2VuZHkgU2NobWlkdDwvc21hbGw+PC9hPjwvbGk+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNBbWVyaWNhbkJ1c2luZXNzXFxcIiBkYXRhLWludmVydD1cXFwidHJ1ZVxcXCIgZGF0YS1ieXBhc3M+PHNtYWxsPkFtZXJpY2FuIGJ1c2luZXNzPC9zbWFsbD48L2E+PC9saT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI1NlcmdleUJyaW5cXFwiIGRhdGEtaW52ZXJ0PVxcXCJ0cnVlXFxcIiBkYXRhLWJ5cGFzcz48c21hbGw+U2VyZ2V5IEJyaW48L3NtYWxsPjwvYT48L2xpPlxcblxcdDxsaT48YSBocmVmPVxcXCIjRGlzZWFzZVxcXCIgZGF0YS1ieXBhc3M+PHNtYWxsPkEgZm9jdXMgb24gZGlzZWFzZTwvc21hbGw+PC9hPjwvbGk+XFxuXFx0PGxpPjxhIGhyZWY9XFxcIiNlbmRcXFwiIGRhdGEtaW52ZXJ0PVxcXCJ0cnVlXFxcIiBkYXRhLWJ5cGFzcz48c21hbGw+U3RvcnkgZW5kPC9zbWFsbD48L2E+PC9saT5cXG5cXHQ8bGk+PGEgaHJlZj1cXFwiI2NvbW1lbnRzXFxcIiBkYXRhLWludmVydD1cXFwidHJ1ZVxcXCIgZGF0YS1ieXBhc3M+PHNtYWxsPkNvbW1lbnRzPC9zbWFsbD48L2E+PC9saT5cXG48L3VsPlxcblxcbjwhLS0gPGRpdiBpZD1cXFwid2FsbDFcXFwiIGNsYXNzPVxcXCItd2FsbFxcXCIgZGF0YS1raW5kPVxcXCJ3YWxsXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItaXRlbVxcXCI+XFxuXFx0XFx0PHZpZGVvIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIiBtdXRlZD1cXFwiXFxcIiBwcmVsb2FkPVxcXCJhdXRvXFxcIiBhdXRvcGxheT1cXFwiYXV0b3BsYXlcXFwiIGxvb3A9XFxcImxvb3BcXFwiPlxcblxcdFxcdFxcdDxzb3VyY2Ugc3JjPVxcXCIvL3NlY3VyZS1jLnZpbWVvY2RuLmNvbS9wL3ZpZGVvL3lvc2VtaXRlX2hkX2lpX2hkLndlYm1cXFwiIHR5cGU9XFxcInZpZGVvL3dlYm1cXFwiPlxcblxcdFxcdFxcdDxzb3VyY2Ugc3JjPVxcXCIvL3NlY3VyZS1jLnZpbWVvY2RuLmNvbS9wL3ZpZGVvL3lvc2VtaXRlX2hkX2lpX2hkLm1wNFxcXCIgdHlwZT1cXFwidmlkZW8vbXA0XFxcIj5cXG5cXHRcXHQ8L3ZpZGVvPlxcblxcdFxcdDxoZWFkZXIgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4IC1vZmZzZXQyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8aDEgY2xhc3M9XFxcInRrLWFsdGVybmF0ZS1nb3RoaWMtbm8tMy1kXFxcIj5Zb3NlbWl0ZTwvaDE+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGgyIGNsYXNzPVxcXCJ0ay1mcmVpZ2h0LXRleHQtcHJvXFxcIj48c21hbGw+VGltZS1sYXBzZSB2aWRlbyBwcm9qZWN0IHNldCBpbiBZb3NlbWl0ZSBOYXRpb25hbCBQYXJrLCAyMDE0PC9zbWFsbD48L2gyPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9yb3VuZF8gX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL3MxLndwLmNvbS93cC1jb250ZW50L3RoZW1lcy92aXAvdGltZWxpZmUvaW1hZ2VzL2xpZmVfbG9nby5wbmdcXFwiIGFsdD1cXFwiTGlmZVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9maWd1cmU+VGhlIExJRkUsIENvbGluIERlbGVoYW50eVxcblxcdFxcdFxcdFxcdFxcdFxcdDwvYT5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2hlYWRlcj5cXG5cXHQ8L2Rpdj5cXG48L2Rpdj4gLS0+XFxuXFxuPGRpdiBpZD1cXFwiaGVhZGVyXFxcIiBjbGFzcz1cXFwiLXdhbGxcXFwiIGRhdGEta2luZD1cXFwid2FsbFxcXCIgZGF0YS16b29tPVxcXCJ5ZXNcXFwiPlxcblxcdDxkaXYgY2xhc3M9XFxcIi1pdGVtXFxcIj5cXG5cXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIiA+XFxuXFx0XFx0XFx0PGltZyBzcmM9XFxcIi9pbWcvbWljcm9zY29wZS5qcGdcXFwiIGFsdD1cXFwiTWljcm9zY29wZVxcXCI+XFxuXFx0XFx0PC9maWd1cmU+XFxuXFx0XFx0PGhlYWRlciBjbGFzcz1cXFwiLWhlYWRlclxcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDggLW9mZnNldDJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxoMSBjbGFzcz1cXFwidGstYWx0ZXJuYXRlLWdvdGhpYy1uby0zLWRcXFwiPkJpbGxpb25haXJlcyBXaXRoIEJpZyBJZGVhcyBBcmUgUHJpdmF0aXppbmcgQW1lcmljYW4gU2NpZW5jZTwvaDE+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGgyIGNsYXNzPVxcXCJ0ay1mcmVpZ2h0LXRleHQtcHJvXFxcIj48c21hbGw+VGltZS1sYXBzZSB2aWRlbyBwcm9qZWN0IHNldCBpbiBZb3NlbWl0ZSBOYXRpb25hbCBQYXJrLCAyMDE0PC9zbWFsbD48L2gyPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIF9yb3VuZF8gX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZmlndXJlIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cDovL3N0YXRpYzAxLm55dC5jb20vaW1hZ2VzLzIwMTIvMDEvMDkvdGltZXN0b3BpY3MvYmlsbC1icm9hZC9iaWxsLWJyb2FkLWFydGljbGVJbmxpbmUuanBnXFxcIiBhbHQ9XFxcIldJTExJQU0gSi4gQlJPQURcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZmlndXJlPlRoZSBOZXcgWW9yayBUaW1lcywgV2lsbGlhbSBCcm9hZCwgPHNtYWxsPk1hcmNoIDE1LCAyMDE0PC9zbWFsbD5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2E+XFxuXFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9oZWFkZXI+XFxuXFx0XFx0PHNlY3Rpb24gY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiAtb2Zmc2V0M1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9tYWpvclxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0TGFzdCBBcHJpbCwgUHJlc2lkZW50IE9iYW1hIGFzc2VtYmxlZCBzb21lIG9mIHRoZSBuYXRpb27igJlzIG1vc3QgYXVndXN0IHNjaWVudGlmaWMgZGlnbml0YXJpZXMgaW4gdGhlIEVhc3QgUm9vbSBvZiB0aGUgV2hpdGUgSG91c2UuIEpva2luZyB0aGF0IGhpcyBncmFkZXMgaW4gcGh5c2ljcyBtYWRlIGhpbSBhIGR1YmlvdXMgY2FuZGlkYXRlIGZvciDigJxzY2llbnRpc3QgaW4gY2hpZWYs4oCdIGhlIHNwb2tlIG9mIHVzaW5nIHRlY2hub2xvZ2ljYWwgaW5ub3ZhdGlvbiDigJx0byBncm93IG91ciBlY29ub2154oCdIGFuZCB1bnZlaWxlZCDigJx0aGUgbmV4dCBncmVhdCBBbWVyaWNhbiBwcm9qZWN04oCdOiBhICQxMDAgbWlsbGlvbiBpbml0aWF0aXZlIHRvIHByb2JlIHRoZSBteXN0ZXJpZXMgb2YgdGhlIGh1bWFuIGJyYWluLlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L3NlY3Rpb24+XFxuXFx0PC9kaXY+XFxuPC9kaXY+XFxuXFxuPGFydGljbGU+XFxuXFx0XFxuXFx0PHNlY3Rpb24gaWQ9XFxcImludHJvXFxcIiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDYgLW9mZnNldDNcXFwiPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdEFsb25nIHRoZSB3YXksIGhlIGludm9rZWQgdGhlIGdvdmVybm1lbnTigJlzIGxlYWRpbmcgcm9sZSBpbiBhIGhpc3Rvcnkgb2Ygc2NpZW50aWZpYyBnbG9yaWVzLCBmcm9tIHB1dHRpbmcgYSBtYW4gb24gdGhlIG1vb24gdG8gY3JlYXRpbmcgdGhlIEludGVybmV0LiBUaGUgQnJhaW4gaW5pdGlhdGl2ZSwgYXMgaGUgZGVzY3JpYmVkIGl0LCB3b3VsZCBiZSBhIGNvbnRpbnVhdGlvbiBvZiB0aGF0IGdyYW5kIHRyYWRpdGlvbiwgYW4gYW1iaXRpb3VzIHJlYnV0dGFsIHRvIGRlZXAgY3V0cyBpbiBmZWRlcmFsIGZpbmFuY2luZyBmb3Igc2NpZW50aWZpYyByZXNlYXJjaC5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0PGJsb2NrcXVvdGUgY2xhc3M9XFxcIi1wcmltYXJ5LVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PHA+4oCcV2UgY2Fu4oCZdCBhZmZvcmQgdG8gbWlzcyB0aGVzZSBvcHBvcnR1bml0aWVzIHdoaWxlIHRoZSByZXN0IG9mIHRoZSB3b3JsZCByYWNlcyBhaGVhZCzigJ0gTXIuIE9iYW1hIHNhaWQuIOKAnFdlIGhhdmUgdG8gc2VpemUgdGhlbS4gSSBkb27igJl0IHdhbnQgdGhlIG5leHQgam9iLWNyZWF0aW5nIGRpc2NvdmVyaWVzIHRvIGhhcHBlbiBpbiBDaGluYSBvciBJbmRpYSBvciBHZXJtYW55LiBJIHdhbnQgdGhlbSB0byBoYXBwZW4gcmlnaHQgaGVyZS7igJ08L3A+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PHNtYWxsPk1yLiBCYXJhayBPYmFtYTwvc21hbGw+XFxuXFx0XFx0XFx0XFx0XFx0PC9ibG9ja3F1b3RlPlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L3NlY3Rpb24+XFxuXFxuXFx0PHNlY3Rpb24gY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4IC1vZmZzZXQyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8cCBjbGFzcz1cXFwiX21ham9yXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRBYnNlbnQgZnJvbSBoaXMgbmFycmF0aXZlLCB0aG91Z2gsIHdhcyB0aGUgYmFjayBzdG9yeSwgb25lIHRoYXQgdW5kZXJzY29yZXMgYSBwcm9mb3VuZCBjaGFuZ2UgdGFraW5nIHBsYWNlIGluIHRoZSB3YXkgc2NpZW5jZSBpcyBwYWlkIGZvciBhbmQgcHJhY3RpY2VkIGluIEFtZXJpY2EuIEluIGZhY3QsIHRoZSBnb3Zlcm5tZW50IGluaXRpYXRpdmUgZ3JldyBvdXQgb2YgcmljaGx5IGZpbmFuY2VkIHByaXZhdGUgcmVzZWFyY2g6IEEgZGVjYWRlIGJlZm9yZSwgUGF1bCBHLiBBbGxlbiwgYSBjby1mb3VuZGVyIG9mIE1pY3Jvc29mdCwgaGFkIHNldCB1cCBhIGJyYWluIHNjaWVuY2UgaW5zdGl0dXRlIGluIFNlYXR0bGUsIHRvIHdoaWNoIGhlIGRvbmF0ZWQgJDUwMCBtaWxsaW9uLCBhbmQgRnJlZCBLYXZsaSwgYSB0ZWNobm9sb2d5IGFuZCByZWFsIGVzdGF0ZSBiaWxsaW9uYWlyZSwgaGFkIHRoZW4gZXN0YWJsaXNoZWQgYnJhaW4gaW5zdGl0dXRlcyBhdCBZYWxlLCBDb2x1bWJpYSBhbmQgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gU2NpZW50aXN0cyBmcm9tIHRob3NlIHBoaWxhbnRocm9waWVzLCBpbiB0dXJuLCBoYWQgaGVscGVkIGRldmlzZSB0aGUgT2JhbWEgYWRtaW5pc3RyYXRpb27igJlzIHBsYW4uXFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvc2VjdGlvbj5cXG5cXG5cXHQ8c2VjdGlvbiBpZD1cXFwiV2VuZHlTY2htaWR0XFxcIiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEwIC1vZmZzZXQxXFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZmlndXJlIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcImNsYXNzPVxcXCItdGh1bWJuYWlsIC1zY2FsZS0tXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItc2hhZG93LWxpZnRlZC1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwOi8vc3RhdGljMDEubnl0LmNvbS9pbWFnZXMvMjAxNC8wMy8xNi91cy9wcml2YXRlc2NpZW5jZTEvcHJpdmF0ZXNjaWVuY2UxLXN1cGVySnVtYm8tdjIuanBnXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZmlnY2FwdGlvbiBjbGFzcz1cXFwiLXRodW1ibmFpbC1jYXB0aW9uIF9sZWZ0X1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGg0IHN0eWxlPVxcXCJtYXJnaW4tYm90dG9tOiA1cHhcXFwiPldlbmR5IFNjaG1pZHQgYW5kIGhlciBodXNiYW5kIGFyZSBhZHZhbmNpbmcgb2NlYW4gc3R1ZGllcy48L2g0PlxcblxcdFxcdFxcdFxcdFxcdFxcdDxwPjxzbWFsbD5Cw6lhdHJpY2UgZGUgR8OpYSBmb3IgVGhlIE5ZVDwvc21hbGw+PC9wPlxcblxcdFxcdFxcdFxcdFxcdDwvZmlnY2FwdGlvbj5cXG5cXHRcXHRcXHRcXHQ8L2ZpZ3VyZT5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHRcXHQ8IS0tIDxkaXYgY2xhc3M9XFxcIi1jb2w1XFxcIj5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRBbWVyaWNhbiBzY2llbmNlLCBsb25nIGEgc291cmNlIG9mIG5hdGlvbmFsIHBvd2VyIGFuZCBwcmlkZSwgaXMgaW5jcmVhc2luZ2x5IGJlY29taW5nIGEgcHJpdmF0ZSBlbnRlcnByaXNlLlxcblxcblxcdFxcdFxcdFxcdFxcdEluIFdhc2hpbmd0b24sIGJ1ZGdldCBjdXRzIGhhdmUgbGVmdCB0aGUgbmF0aW9u4oCZcyByZXNlYXJjaCBjb21wbGV4IHJlZWxpbmcuIExhYnMgYXJlIGNsb3NpbmcuIFNjaWVudGlzdHMgYXJlIGJlaW5nIGxhaWQgb2ZmLiBQcm9qZWN0cyBhcmUgYmVpbmcgcHV0IG9uIHRoZSBzaGVsZiwgZXNwZWNpYWxseSBpbiB0aGUgcmlza3ksIGZyZWV3aGVlbGluZyByZWFsbSBvZiBiYXNpYyByZXNlYXJjaC4gWWV0IGZyb20gU2lsaWNvbiBWYWxsZXkgdG8gV2FsbCBTdHJlZXQsIHNjaWVuY2UgcGhpbGFudGhyb3B5IGlzIGhvdCwgYXMgbWFueSBvZiB0aGUgcmljaGVzdCBBbWVyaWNhbnMgc2VlayB0byByZWludmVudCB0aGVtc2VsdmVzIGFzIHBhdHJvbnMgb2Ygc29jaWFsIHByb2dyZXNzIHRocm91Z2ggc2NpZW5jZSByZXNlYXJjaC5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+IC0tPlxcblxcdFxcdDwvZGl2PlxcblxcdDwvc2VjdGlvbj5cXG5cXG5cXHQ8c2VjdGlvbiBpZD1cXFwiQW1lcmljYW5CdXNpbmVzc1xcXCIgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2IC1vZmZzZXQzXFxcIj5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRBbWVyaWNhbiBzY2llbmNlLCBsb25nIGEgc291cmNlIG9mIG5hdGlvbmFsIHBvd2VyIGFuZCBwcmlkZSwgaXMgaW5jcmVhc2luZ2x5IGJlY29taW5nIGEgcHJpdmF0ZSBlbnRlcnByaXNlLlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRJbiBXYXNoaW5ndG9uLCBidWRnZXQgY3V0cyBoYXZlIGxlZnQgdGhlIG5hdGlvbuKAmXMgcmVzZWFyY2ggY29tcGxleCByZWVsaW5nLiBMYWJzIGFyZSBjbG9zaW5nLiBTY2llbnRpc3RzIGFyZSBiZWluZyBsYWlkIG9mZi4gUHJvamVjdHMgYXJlIGJlaW5nIHB1dCBvbiB0aGUgc2hlbGYsIGVzcGVjaWFsbHkgaW4gdGhlIHJpc2t5LCBmcmVld2hlZWxpbmcgcmVhbG0gb2YgYmFzaWMgcmVzZWFyY2guIFlldCBmcm9tIFNpbGljb24gVmFsbGV5IHRvIFdhbGwgU3RyZWV0LCBzY2llbmNlIHBoaWxhbnRocm9weSBpcyBob3QsIGFzIG1hbnkgb2YgdGhlIHJpY2hlc3QgQW1lcmljYW5zIHNlZWsgdG8gcmVpbnZlbnQgdGhlbXNlbHZlcyBhcyBwYXRyb25zIG9mIHNvY2lhbCBwcm9ncmVzcyB0aHJvdWdoIHNjaWVuY2UgcmVzZWFyY2guXFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdFRoZSByZXN1bHQgaXMgYSBuZXcgY2FsY3VsdXMgb2YgaW5mbHVlbmNlIGFuZCBwcmlvcml0aWVzIHRoYXQgdGhlIHNjaWVudGlmaWMgY29tbXVuaXR5IHZpZXdzIHdpdGggYSBtaXggb2YgZ3JhdGl0dWRlIGFuZCB0cmVwaWRhdGlvbi5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx04oCcRm9yIGJldHRlciBvciB3b3JzZSzigJ0gc2FpZCBTdGV2ZW4gQS4gRWR3YXJkcywgYSBwb2xpY3kgYW5hbHlzdCBhdCB0aGUgQW1lcmljYW4gQXNzb2NpYXRpb24gZm9yIHRoZSBBZHZhbmNlbWVudCBvZiBTY2llbmNlLCDigJx0aGUgcHJhY3RpY2Ugb2Ygc2NpZW5jZSBpbiB0aGUgMjFzdCBjZW50dXJ5IGlzIGJlY29taW5nIHNoYXBlZCBsZXNzIGJ5IG5hdGlvbmFsIHByaW9yaXRpZXMgb3IgYnkgcGVlci1yZXZpZXcgZ3JvdXBzIGFuZCBtb3JlIGJ5IHRoZSBwYXJ0aWN1bGFyIHByZWZlcmVuY2VzIG9mIGluZGl2aWR1YWxzIHdpdGggaHVnZSBhbW91bnRzIG9mIG1vbmV5LuKAnVxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRUaGV5IGhhdmUgbW91bnRlZCBhIHByaXZhdGUgd2FyIG9uIGRpc2Vhc2UsIHdpdGggbmV3IHByb3RvY29scyB0aGF0IGJyZWFrIGRvd24gd2FsbHMgYmV0d2VlbiBhY2FkZW1pYSBhbmQgaW5kdXN0cnkgdG8gdHVybiBiYXNpYyBkaXNjb3ZlcmllcyBpbnRvIGVmZmVjdGl2ZSB0cmVhdG1lbnRzLiBUaGV5IGhhdmUgcmVraW5kbGVkIHRyYWRpdGlvbnMgb2Ygc2NpZW50aWZpYyBleHBsb3JhdGlvbiBieSBmaW5hbmNpbmcgaHVudHMgZm9yIGRpbm9zYXVyIGJvbmVzIGFuZCBnaWFudCBzZWEgY3JlYXR1cmVzLiBUaGV5IGFyZSBldmVuIGJlZ2lubmluZyB0byBjaGFsbGVuZ2UgV2FzaGluZ3RvbiBpbiB0aGUgY29zdGx5IGdhbWUgb2YgYmlnIHNjaWVuY2UsIHdpdGggaW5ub3ZhdGl2ZSBzaGlwcywgdW5kZXJzZWEgY3JhZnQgYW5kIGdpYW50IHRlbGVzY29wZXMg4oCUIGFzIHdlbGwgYXMgdGhlIGZpcnN0IHByaXZhdGUgbWlzc2lvbiB0byBkZWVwIHNwYWNlLlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRUaGUgbmV3IHBoaWxhbnRocm9waXN0cyByZXByZXNlbnQgdGhlIGJyZWFkdGggb2YgQW1lcmljYW4gYnVzaW5lc3MsIHBlb3BsZSBsaWtlIE1pY2hhZWwgUi4gQmxvb21iZXJnLCB0aGUgZm9ybWVyIE5ldyBZb3JrIG1heW9yIChhbmQgZm91bmRlciBvZiB0aGUgbWVkaWEgY29tcGFueSB0aGF0IGJlYXJzIGhpcyBuYW1lKSwgSmFtZXMgU2ltb25zIChoZWRnZSBmdW5kcykgYW5kIERhdmlkIEguIEtvY2ggKG9pbCBhbmQgY2hlbWljYWxzKSwgYW1vbmcgaHVuZHJlZHMgb2Ygd2VhbHRoeSBkb25vcnMuIEVzcGVjaWFsbHkgcHJvbWluZW50LCB0aG91Z2gsIGFyZSBzb21lIG9mIHRoZSBib2xkZXN0LWZhY2UgbmFtZXMgb2YgdGhlIHRlY2ggd29ybGQsIGFtb25nIHRoZW0gQmlsbCBHYXRlcyAoTWljcm9zb2Z0KSwgRXJpYyBFLiBTY2htaWR0IChHb29nbGUpIGFuZCBMYXdyZW5jZSBKLiBFbGxpc29uIChPcmFjbGUpLlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRUaGlzIGlzIHBoaWxhbnRocm9weSBpbiB0aGUgYWdlIG9mIHRoZSBuZXcgZWNvbm9teSDigJQgZmluYW5jZWQgd2l0aCBpdHMgb3V0c2l6ZSByaWNoZXMsIHByYWN0aWNlZCBhY2NvcmRpbmcgdG8gaXRzIGluZGl2aWR1YWxpc3RpYywgZW50cmVwcmVuZXVyaWFsIGNyZWVkLiBUaGUgZG9ub3JzIGFyZSBpbXBhdGllbnQgd2l0aCB0aGUgZGVsaWJlcmF0ZSwgYW5kIG9mdGVuIHBvbGl0aWNpemVkLCBwYWNlIG9mIHB1YmxpYyBzY2llbmNlLCB0aGV5IHNheSwgYW5kIHdpbGxpbmcgdG8gdGFrZSByaXNrcyB0aGF0IGdvdmVybm1lbnQgY2Fubm90IG9yIHNpbXBseSB3aWxsIG5vdCBjb25zaWRlci5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0WWV0IHRoYXQgcGVyc29uYWwgc2V0dGluZyBvZiBwcmlvcml0aWVzIGlzIHByZWNpc2VseSB3aGF0IHRyb3VibGVzIHNvbWUgaW4gdGhlIHNjaWVuY2UgZXN0YWJsaXNobWVudC4gTWFueSBvZiB0aGUgcGF0cm9ucywgdGhleSBzYXksIGFyZSBpZ25vcmluZyBiYXNpYyByZXNlYXJjaCDigJQgdGhlIGtpbmQgdGhhdCBpbnZlc3RpZ2F0ZXMgdGhlIHJpZGRsZXMgb2YgbmF0dXJlIGFuZCBoYXMgcHJvZHVjZWQgY2VudHVyaWVzIG9mIGJyZWFrdGhyb3VnaHMsIGV2ZW4gd2hvbGUgaW5kdXN0cmllcyDigJQgZm9yIGEganVtYmxlIG9mIHBvcHVsYXIsIGZlZWwtZ29vZCBmaWVsZHMgbGlrZSBlbnZpcm9ubWVudGFsIHN0dWRpZXMgYW5kIHNwYWNlIGV4cGxvcmF0aW9uLlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRBcyB0aGUgcG93ZXIgb2YgcGhpbGFudGhyb3BpYyBzY2llbmNlIGhhcyBncm93biwgc28gaGFzIHRoZSBwaXRjaCwgYW5kIHRoZSBlZGdlLCBvZiB0aGUgZGViYXRlLiBOYXR1cmUsIGEgZmFtaWx5IG9mIGxlYWRpbmcgc2NpZW5jZSBqb3VybmFscywgaGFzIHB1Ymxpc2hlZCBhIG51bWJlciBvZiB3YXJ5IGVkaXRvcmlhbHMsIG9uZSB3YXJuaW5nIHRoYXQgd2hpbGUg4oCcd2UgYXBwbGF1ZCBhbmQgZnVsbHkgc3VwcG9ydCB0aGUgaW5qZWN0aW9uIG9mIG1vcmUgcHJpdmF0ZSBtb25leSBpbnRvIHNjaWVuY2Us4oCdIHRoZSBmaW5hbmNpbmcgY291bGQgYWxzbyDigJxza2V3IHJlc2VhcmNo4oCdIHRvd2FyZCBmaWVsZHMgbW9yZSB0cmVuZHkgdGhhbiBjZW50cmFsLlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L3NlY3Rpb24+XFxuXFxuXFxuXFx0PHNlY3Rpb24gaWQ9XFxcIlNlcmdleUJyaW5cXFwiIGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0MlxcXCI+XFxuXFx0XFx0XFx0XFx0PGZpZ3VyZSBkYXRhLXNweT1cXFwic2t5bGluZVxcXCIgY2xhc3M9XFxcIi10aHVtYm5haWwgLXNjYWxlLS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1zaGFkb3ctbGlmdGVkLVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHA6Ly9zdGF0aWMwMS5ueXQuY29tL2ltYWdlcy8yMDE0LzA1LzMwL2J1c2luZXNzL3F1YW50dW0vcXVhbnR1bS1hcnRpY2xlTGFyZ2UuanBnXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHQ8ZmlnY2FwdGlvbiBjbGFzcz1cXFwiLXRodW1ibmFpbC1jYXB0aW9uIF9sZWZ0X1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGg0IHN0eWxlPVxcXCJtYXJnaW4tYm90dG9tOiA1cHhcXFwiPjxzbWFsbD5QaG90byBieSBCZW4gTWFyZ290L0Fzc29jaWF0ZWQgUHJlc3M8L3NtYWxsPjwvaDQ+XFxuXFx0XFx0XFx0XFx0XFx0PC9maWdjYXB0aW9uPlxcblxcdFxcdFxcdFxcdDwvZmlndXJlPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdDxkaXYgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIGNsYXNzPVxcXCItY29sMiAtaHVnZWluYy0tXFxcIj5cXG5cXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiLWF2YXRhciBfcm91bmRfIF9taW5vclxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGZpZ3VyZSBjbGFzcz1cXFwiLXRodW1ibmFpbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGltZyBzcmM9XFxcImh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS91aWZhY2VzL2ZhY2VzL3R3aXR0ZXIvYWhtYWRham1pLzEyOC5qcGdcXFwiIGFsdD1cXFwiU2VyZ2V5IEJyaW5cXFwiPlxcblxcdFxcdFxcdFxcdFxcdDwvZmlndXJlPlxcblxcdFxcdFxcdFxcdDwvYT5cXG5cXHRcXHRcXHRcXHQ8cCBjbGFzcz1cXFwiX21pbm9yXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8Yj5TZXJnZXkgQnJpbjwvYj48YnI+XFxuXFx0XFx0XFx0XFx0XFx0PGk+R29vZ2xlPC9pPjxicj5cXG5cXHRcXHRcXHRcXHRcXHQkMzEuOCBiaWxsaW9uPGJyPlxcblxcdFxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfbWlub3JcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFBhcmtpbnNvbidzIGRpc2Vhc2UsIHdoaWNoIGhpcyBtb3RoZXIgaGFzIGFuZCBmb3Igd2hpY2ggaGUgYmVhcnMgYSByaXNreSBnZW5lLlxcblxcdFxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9zZWN0aW9uPlxcblxcblxcdDxzZWN0aW9uIGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiAtb2Zmc2V0M1xcXCI+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0VGhlIGZpcnN0IHN1Y2Nlc3MgY2FtZSB3aXRoIGN5c3RpYyBmaWJyb3Npcywgd2hpY2ggYXJpc2VzIHdoZW4gYSBmYXVsdHkgZ2VuZSBjbG9ncyB0aGUgbHVuZ3MgYW5kIHBhbmNyZWFzIHdpdGggYSBzdGlja3kgbXVjdXMuIFBlb3BsZSB3aXRoIGN5c3RpYyBmaWJyb3NpcyBzdWZmZXIgZnJvbSBjb3VnaGluZywgZmF0aWd1ZSwgcG9vciBkaWdlc3Rpb24gYW5kIHNsb3cgZ3Jvd3RoLCBhbmQgZGllIHJlbGF0aXZlbHkgeW91bmcuXFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdFxcdDxwPlxcblxcdFxcdFxcdFxcdFxcdEFyb3VuZCAyMDAwLCBhIHN1cmdlIG9mIHdlYWx0aHkgZG9ub3JzIGJlZ2FuIG1ha2luZyBsYXJnZSBjb250cmlidXRpb25zIHRvIHRoZSBDeXN0aWMgRmlicm9zaXMgRm91bmRhdGlvbi4gVG9tIGFuZCBHaW5ueSBIdWdoZXMgb2YgR3JlZW53aWNoLCBDb25uLiwgaGFkIHR3byBkYXVnaHRlcnMgd2l0aCB0aGUgZGlzZWFzZSwgYW5kIGdhdmUgbWlsbGlvbnMgb2YgZG9sbGFycy4gVGhlIGZhbWlseSBhbHNvIHBvc2VkIGluIHNuYXBzaG90cyBmb3IgdGhlIGZvdW5kYXRpb27igJlzIOKAnE1pbGVzdG9uZXMgdG8gYSBDdXJl4oCdIHVwZGF0ZXMsIGFuZCBNci4gSHVnaGVzLCBhIGJhbmtlciwgaGVscGVkIHRoZSBjaGFyaXR5IGRldmVsb3Agc3RyYXRlZ2llcyB0byBleHBhbmQgaXRzIGZ1bmQtcmFpc2luZy5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9zZWN0aW9uPlxcblxcblxcblxcdDxkaXYgaWQ9XFxcIkRpc2Vhc2VcXFwiIGNsYXNzPVxcXCItd2FsbFxcXCIgZGF0YS1raW5kPVxcXCJ3YWxsXFxcIiBkYXRhLXpvb209XFxcInllc1xcXCIgc3R5bGU9XFxcIm1hcmdpbi10b3A6IDUwcHg7XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaXRlbVxcXCI+XFxuXFx0XFx0XFx0PHZpZGVvIGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIiBtdXRlZD1cXFwiXFxcIiBwcmVsb2FkPVxcXCJhdXRvXFxcIiBhdXRvcGxheT1cXFwiYXV0b3BsYXlcXFwiIGxvb3A9XFxcImxvb3BcXFwiPlxcblxcdFxcdFxcdFxcdDxzb3VyY2Ugc3JjPVxcXCIvL3NlY3VyZS1jLnZpbWVvY2RuLmNvbS9wL3ZpZGVvL3lvc2VtaXRlX2hkX2lpX2hkLndlYm1cXFwiIHR5cGU9XFxcInZpZGVvL3dlYm1cXFwiPlxcblxcdFxcdFxcdFxcdDxzb3VyY2Ugc3JjPVxcXCIvL3NlY3VyZS1jLnZpbWVvY2RuLmNvbS9wL3ZpZGVvL3lvc2VtaXRlX2hkX2lpX2hkLm1wNFxcXCIgdHlwZT1cXFwidmlkZW8vbXA0XFxcIj5cXG5cXHRcXHRcXHQ8L3ZpZGVvPlxcblxcdFxcdFxcdDxoZWFkZXIgY2xhc3M9XFxcIi1oZWFkZXJcXFwiPlxcblxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcblxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w4IC1vZmZzZXQyXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8aDEgY2xhc3M9XFxcInRrLWFsdGVybmF0ZS1nb3RoaWMtbm8tMy1kXFxcIj5BIEZvY3VzIG9uIERpc2Vhc2U8L2gxPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxoMiBjbGFzcz1cXFwidGstZnJlaWdodC10ZXh0LXByb1xcXCI+PHNtYWxsPklmIHRoZSBtYXAgb2YgdGhlIHdvcmxkIG9mIHByaXZhdGUgc2NpZW5jZSBoYXMgeWV0IHRvIGJlIGRyYXduLCBvbmUgdGhpbmcgaXMgY2xlYXI6IE11Y2ggb2YgdGhlIG1vbmV5IGlzIGdvaW5nIGludG8gY2FtcGFpZ25zIGZvciBhIGN1cmUuPC9zbWFsbD48L2gyPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvaGVhZGVyPlxcblxcdFxcdFxcdDxzZWN0aW9uIGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLXJvd1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDYgLW9mZnNldDNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfbWFqb3JcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFRoaXMgcHJpdmF0ZSB3YXIgb24gZGlzZWFzZSBoYXMgcmVzdWx0ZWQgbm90IG9ubHkgaW4gc2lnbmlmaWNhbnQgYWR2YW5jZXMgaW4gdHJlYXRtZW50LCBidXQgYWxzbyBpbiB3aGF0IGV4cGVydHMgZGVzY3JpYmUgYXMgYSBtYWpvciBicmVha3Rocm91Z2ggaW4gaG93IGJpb21lZGljYWwgcmVzZWFyY2ggaXMgZG9uZS4gVGhlIG1ldGhvZCBvcGVucyB1cCBibG9ja2FnZXMgdGhhdCBoYXZlIHRyYWRpdGlvbmFsbHkga2VwdCBiYXNpYyBkaXNjb3ZlcmllcyBmcm9tIGJlaW5nIHR1cm5lZCBpbnRvIGVmZmVjdGl2ZSB0cmVhdG1lbnRzIOKAlCBlc3BlY2lhbGx5IGZvciByYXJlIGRpc2Vhc2VzIHRoYXQgZHJ1ZyBjb21wYW5pZXMgYXZvaWQgZm9yIGxhY2sgb2YgcG90ZW50aWFsIHByb2ZpdC5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9tYWpvclxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx04oCcV2UgdGhpbmsgaXTigJlzIHBvdGVudGlhbGx5IHRyYW5zZm9ybWF0aXZlLOKAnSBzYWlkIE1hcnlhbm4gUC4gRmVsZG1hbiwgYSBwcm9mZXNzb3Igb2YgcHVibGljIHBvbGljeSBhdCB0aGUgVW5pdmVyc2l0eSBvZiBOb3J0aCBDYXJvbGluYSBhdCBDaGFwZWwgSGlsbCB3aG8gc3R1ZGllcyB0aGUgYXBwcm9hY2guXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvc2VjdGlvbj5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG5cXG5cXG5cXG5cXHQ8c2VjdGlvbiBpZD1cXFwiZW5kXFxcIiBjbGFzcz1cXFwiLWNvbnRhaW5lclxcXCIgc3R5bGU9XFxcIm1hcmdpbi10b3A6IDA7IHBhZGRpbmctdG9wOiA1MHB4XFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiAtb2Zmc2V0M1xcXCI+XFxuXFx0XFx0XFx0XFx0PHA+XFxuXFx0XFx0XFx0XFx0XFx0WWVhciBhZnRlciB5ZWFyLCB0aGUgZm91bmRhdGlvbiBoZWxkIGdhbGFzLCBoaWtlcywgcnVucyBhbmQgZ29sZiB0b3VybmFtZW50cywgZXZlbnR1YWxseSByYWlzaW5nIG1vcmUgdGhhbiBhIHF1YXJ0ZXItYmlsbGlvbiBkb2xsYXJzLiBXaXRoIGdyZWF0IHNraWxsLCBpdCB1c2VkIHRoZSBtb25leSB0byBlc3RhYmxpc2ggcGFydG5lcnNoaXBzIGFjcm9zcyBpbmR1c3RyeSBhbmQgYWNhZGVtaWEsIHNtYXNoaW5nIHRocm91Z2ggdGhlIHdhbGxzIHRoYXQgdHlwaWNhbGx5IGZvcm0gYXJvdW5kIHJlc2VhcmNoIHRlYW1zLlxcblxcdFxcdFxcdFxcdDwvcD5cXG5cXHRcXHRcXHRcXHQ8cD5cXG5cXHRcXHRcXHRcXHRcXHRCeSBlYXJseSAyMDEyLCB0aGUgZmluYW5jaWFsIHN1cmdlIHByb2R1Y2VkIHRoZSBmaXJzdCB0cmVhdG1lbnQgZm9yIGFuIHVuZGVybHlpbmcgY2F1c2Ugb2YgY3lzdGljIGZpYnJvc2lzLiBUaGUgZHJ1ZyBjb3VudGVycyBhIGdlbmUgbXV0YXRpb24gdGhhdCBhY2NvdW50cyBmb3IgNCBwZXJjZW50IG9mIHRoZSBjYXNlcyBpbiB0aGUgVW5pdGVkIFN0YXRlcyDigJQgYWJvdXQgMSwyMDAgcGVvcGxlLiBUaGUgbWVkaWNhdGlvbiB0aGlubmVkIHRoZSBkZWFkbHkgbXVjdXMsIGxlc3NlbmluZyBzeW1wdG9tcyBhbmQgZHJhc3RpY2FsbHkgaW1wcm92aW5nIHF1YWxpdHkgb2YgbGlmZS5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0PC9kaXY+XFxuXFx0PC9zZWN0aW9uPlxcblxcblxcdDxzZWN0aW9uIGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sOCAtb2Zmc2V0MlxcXCI+XFxuXFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9tYWpvclxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0TWVsYW5vbWEsIHRoZSBkZWFkbGllc3Qgb2Ygc2tpbiBjYW5jZXJzLCBhbHNvIHN0cmlrZXMgYW5kIGtpbGxzIHdoaXRlcyBwcmVmZXJlbnRpYWxseS4gRGVicmEgQmxhY2ssIHdpZmUgb2YgdGhlIGZpbmFuY2llciBMZW9uIEJsYWNrLCBzdXJ2aXZlZCBhIGJhZCBzY2FyZS4gU29vbiBhZnRlciwgdGhlIGNvdXBsZSB0ZWFtZWQgdXAgd2l0aCBNaWNoYWVsIFIuIE1pbGtlbiwgdGhlIGZvcm1lciBqdW5rLWJvbmQgZmluYW5jaWVyLCB3aG9zZSBjaGFyaXR5IEZhc3RlckN1cmVzIGdpdmVzIGFkdmljZSBvbiBob3cgdG8gYWNjZWxlcmF0ZSByZXNlYXJjaCwgdG8gZm91bmQgdGhlIE1lbGFub21hIFJlc2VhcmNoIEFsbGlhbmNlLiBJdCBxdWlja2x5IGJlY2FtZSB0aGUgd29ybGTigJlzIGxhcmdlc3QgcHJpdmF0ZSBzcG9uc29yIG9mIG1lbGFub21hIHJlc2VhcmNoLCBhd2FyZGluZyBtb3JlIHRoYW4gJDUwIG1pbGxpb24gZm9yIHdvcmsgYXQgWWFsZSwgQ29sdW1iaWEgYW5kIG90aGVyIHVuaXZlcnNpdGllcy5cXG5cXHRcXHRcXHRcXHQ8L3A+XFxuXFx0XFx0XFx0XFx0PGhyPlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvc2VjdGlvbj5cXG5cXG48L2FydGljbGU+XFxuXFxuPGFydGljbGUgaWQ9XFxcImNvbW1lbnRzXFxcIj5cXG5cXHRcXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHRcXG5cXHRcXHQ8aDEgY2xhc3M9XFxcInRrLWFsdGVybmF0ZS1nb3RoaWMtbm8tMy1kIF9jZW50ZXJfXFxcIiBzdHlsZT1cXFwibWFyZ2luLWJvdHRvbTogNDVweFxcXCI+Q29tbWVudHM8L2gxPlxcblxcblxcdFxcdDxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w2IC1vZmZzZXQzXFxcIj5cXG5cXHRcXHRcXG5cXHRcXHRcXHRcXHQ8dWwgY2xhc3M9XFxcIi1jb21tZW50c1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0PGxpIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBjbGFzcz1cXFwiLWl0ZW0gLXNjYWxlLS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9zb2ZmZXMvMTI4LmpwZ1xcXCIgYWx0PVxcXCJzb2ZmZXNcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29udGVudFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdj48YSBocmVmPVxcXCJcXFwiIGNsYXNzPVxcXCItYXZhdGFyXFxcIj5Tb2ZmZXM8L2E+Jm5ic3A7Jm5ic3A7PHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtZXJyb3ItIF9oaWRkZW5fXFxcIj4xMjwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRZb3Uga25vdyB3aGF0IGVsc2UgaXMgXFxcImFyY2FuZVxcXCIsIDE0MCBjaGFyYWN0ZXJzLlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIl9oaWRkZW5fXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWNoZXZyb24tdXBcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLWRvd25cXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gX3NtYWxsIC1wcmltYXJ5LVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXJlcGx5XFxcIj48L2k+IFJlcGx5PC9hPlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdHdpdHRlclxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWZhY2Vib29rXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZ29vZ2xlLXBsdXNcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PC9saT5cXG5cXG5cXHRcXHRcXHRcXHRcXHQ8bGkgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIGNsYXNzPVxcXCItaXRlbSAtb2Zmc2V0MSAtc2NhbGUtLVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL21hcmtnYW16eS8xMjguanBnXFxcIiBhbHQ9XFxcIm1hcmtnYW16eVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2PjxhIGhyZWY9XFxcIlxcXCIgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPk1hcmtnYW16eTwvYT4mbmJzcDsmbmJzcDs8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1wcmltYXJ5LSBfaGlkZGVuX1xcXCI+MTY1PC9zcGFuPjwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdE1heWJlIGl0IGlzIGp1c3QgdGhlaXIgd2F5IHRvIGZvcmNlIHVzZXJzIHRvIHVzZSB0aGUgb3JpZ2luYWwgdHdpdHRlciBjbGllbnQuIEluIGV2ZXJ5IG90aGVyIGNsaWVudCB0aGUgXFxcImZlYXR1cmVcXFwiIGxvb2tzIGNvbmZ1c2luZyBhbmQgc28gd2UgaGF2ZSB0byB1c2UgdGhlIG9yaWdpbmFsIGNsaWVudFxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIl9oaWRkZW5fXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWNoZXZyb24tdXBcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLWRvd25cXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4gX3NtYWxsIC1wcmltYXJ5LVxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXJlcGx5XFxcIj48L2k+IFJlcGx5PC9hPlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1ncm91cCBfc21hbGxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtdHdpdHRlclxcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWZhY2Vib29rXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtZ29vZ2xlLXBsdXNcXFwiPjwvaT48L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0PC9saT5cXG5cXG5cXHRcXHRcXHRcXHRcXHQ8bGkgZGF0YS1zcHk9XFxcInNreWxpbmVcXFwiIGNsYXNzPVxcXCItaXRlbSAtb2Zmc2V0MSAtc2NhbGUtLVxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcIi1hdmF0YXIgLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi10aHVtYm5haWxcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxpbWcgc3JjPVxcXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vdWlmYWNlcy9mYWNlcy90d2l0dGVyL3RlY2xhcm8vMTI4LmpwZ1xcXCIgYWx0PVxcXCJUZWNsYXJvXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXY+PGEgaHJlZj1cXFwiXFxcIiBjbGFzcz1cXFwiLWF2YXRhclxcXCI+VGVjbGFybzwvYT4mbmJzcDsmbmJzcDs8c3BhbiBjbGFzcz1cXFwiLWJhZGdlIC1kYXJrLSBfaGlkZGVuX1xcXCI+Njc8L3NwYW4+PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0SW4gbXkgb3BpbmlvbiAoYW5kIGFzIGEgVUkgYW5kIFVYIGRlc2lnbmVyKSwgdGhpcyBpcyBhIHN0ZXAgaW4gdGhlIHJpZ2h0IGRpcmVjdGlvbi4gRXZlbiB3aGVuIHZpZXdpbmcgdGhvc2UgZXhhbXBsZXMgYWJvdmUsIHRoZSBjb250ZXh0IGlzbid0IGhpbmRlcmVkIHdoZW4gQCBpc24ndCBwcmVzZW50IGFuZCBtYWtlcyB0aGUgY29udmVyc2F0aW9uIG1vcmUgbGVnaWJsZS5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJfaGlkZGVuX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLXVwXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIF9zbWFsbCAtcHJpbWFyeS1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1yZXBseVxcXCI+PC9pPiBSZXBseTwvYT5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXR3aXR0ZXJcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mYWNlYm9va1xcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWdvb2dsZS1wbHVzXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFxuXFx0XFx0XFx0XFx0XFx0PGxpIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBjbGFzcz1cXFwiLWl0ZW0gLW9mZnNldDIgLXNjYWxlLS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9lZHdlbGxicm9vay8xMjguanBnXFxcIiBhbHQ9XFxcIkVkd2VsbGJyb29rXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbnRlbnRcXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxkaXY+PGEgaHJlZj1cXFwiXFxcIiBjbGFzcz1cXFwiLWF2YXRhclxcXCI+RWR3ZWxsYnJvb2s8L2E+Jm5ic3A7Jm5ic3A7PHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtZGFyay0gX2hpZGRlbl9cXFwiPjY3PC9zcGFuPjwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFN1cmUgdGhleSBhcmUgdGhpbmtpbmcgYWJvdXQgcmVtb3ZpbmcgQHJlcGxpZXMgYnV0IHRoZSBjb25jZXB0IG9mIHJlcGx5aW5nIHdpbGwgc3RpbGwgZXhpc3QuIEl0J3MganVzdCB0aGUgZGV0YWlscyBvZiB3aG8geW91IGFyZSByZXBseWluZyB0byB3aWxsIGJlIGNvbnRhaW5lZCBpbiBtZXRhZGF0YSBhbmQgbm90IGluIHRoZSBib2R5IG9mIHRoZSB0d2VldC4gVGhpcyBpcyBnb29kIGFzIGl0IHdpbGwgZnJlZSB1cCBtb3JlIGNoYXJhY3RlcnMgZm9yIHRoZSB0d2VldC4gSG93ZXZlciBJJ20gc3VyZSBpdCB3aWxsIGFsc28gbGVhZCB0byBwZW9wbGUgYmVpbmcgdW5zdXJlIG9mIHdoZXRoZXIgYSB0d2VldCB3aWxsIGJlIGRpcmVjdGVkIGF0IG9uZSBwZXJzb24gb3IgdGhlaXIgd2hvbGUgdGltZWxpbmUgaW4gdGhlIHNhbWUgd2F5IGFzIHBlb3BsZSBvZnRlbiBtaXN0YWtlbmx5IHBvc3QgYSBETSB0byB0aGVpciB0aW1lbGluZS5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJfaGlkZGVuX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLXVwXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIF9zbWFsbCAtcHJpbWFyeS1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1yZXBseVxcXCI+PC9pPiBSZXBseTwvYT5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXR3aXR0ZXJcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mYWNlYm9va1xcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWdvb2dsZS1wbHVzXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFxuXFx0XFx0XFx0XFx0XFx0PGxpIGRhdGEtc3B5PVxcXCJza3lsaW5lXFxcIiBjbGFzcz1cXFwiLWl0ZW0gLXNjYWxlLS1cXFwiPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCItYXZhdGFyIC1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItdGh1bWJuYWlsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8aW1nIHNyYz1cXFwiaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL3VpZmFjZXMvZmFjZXMvdHdpdHRlci9rcnlzdGFsZmlzdGVyLzEyOC5qcGdcXFwiIGFsdD1cXFwiS3J5c3RhbGZpc3RlclxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb250ZW50XFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2PjxhIGhyZWY9XFxcIlxcXCIgY2xhc3M9XFxcIi1hdmF0YXJcXFwiPktyeXN0YWxmaXN0ZXI8L2E+Jm5ic3A7Jm5ic3A7PHNwYW4gY2xhc3M9XFxcIi1iYWRnZSAtcHJpbWFyeS0gX2hpZGRlbl9cXFwiPjE2Nzwvc3Bhbj48L2Rpdj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRNYXliZSBpdCBpcyBqdXN0IHRoZWlyIHdheSB0byBmb3JjZSB1c2VycyB0byB1c2UgdGhlIG9yaWdpbmFsIHR3aXR0ZXIgY2xpZW50LiBJbiBldmVyeSBvdGhlciBjbGllbnQgdGhlIFxcXCJmZWF0dXJlXFxcIiBsb29rcyBjb25mdXNpbmcgYW5kIHNvIHdlIGhhdmUgdG8gdXNlIHRoZSBvcmlnaW5hbCBjbGllbnRcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCJfaGlkZGVuX1xcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWdyb3VwIF9zbWFsbFxcXCI+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1jaGV2cm9uLXVwXFxcIj48L2k+PC9hPjxhIGNsYXNzPVxcXCItYnRuXFxcIj48aSBjbGFzcz1cXFwiZmEgZmEtY2hldnJvbi1kb3duXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuIF9zbWFsbCAtcHJpbWFyeS1cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1yZXBseVxcXCI+PC9pPiBSZXBseTwvYT5cXG5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItZ3JvdXAgX3NtYWxsXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLXR3aXR0ZXJcXFwiPjwvaT48L2E+PGEgY2xhc3M9XFxcIi1idG5cXFwiPjxpIGNsYXNzPVxcXCJmYSBmYS1mYWNlYm9va1xcXCI+PC9pPjwvYT48YSBjbGFzcz1cXFwiLWJ0blxcXCI+PGkgY2xhc3M9XFxcImZhIGZhLWdvb2dsZS1wbHVzXFxcIj48L2k+PC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0PC91bD5cXG5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8L2Rpdj5cXG5cXG5cXHQ8L2Rpdj5cXG5cXG48L2FydGljbGU+XCJ9LFwidXBncmFkZUJyb3dzZXJcIjpcIjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1yb3dcXFwiPlxcbjxkaXYgY2xhc3M9XFxcIi1jb2w4XFxcIj5cXG48aDEgc3R5bGU9XFxcInRleHQtYWxpZ246IGNlbnRlclxcXCI+UGxlYXNlLCB1cGdyYWRlIHlvdXIgYnJvd3NlciE8L2gxPlxcbjxibG9ja3F1b3RlIGNsYXNzPVxcXCItcHJpbWFyeS1cXFwiPlxcblxcdEFjdHVhbGx5IE1heG1lcnRraXQgcGFydGx5IHN1cHBvcnRzIGllIDcuMCBhbmQgOC4wLCBidXQgSSBjYW4ndCBwcm9taXNlIHlvdSB0aGF0IGl0IHdpbGwgd29yayB3ZWxsLiBTbyBJIGRlY2lkZWQgdG8gaGlkZSBkb2N1bWVudGF0aW9uIGZvciBJRTggYW5kIHByZXZpb3VzIHZlcnNpb25zLiBIb3BlIGZvciB5b3VyIHVuZGVyc3RhbmRpbmcuXFxuPC9ibG9ja3F1b3RlPlxcbjwvZGl2PlxcbjwvZGl2PlxcbjwvZGl2PlxcblwiLFwibWFpblwiOlwiPGhlYWRlciBjbGFzcz1cXFwiLW5hdmJhciBkZXYtbmF2YmFyXFxcIj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sMSBfaGlkZGVuLXRhYmxldHNfIF9oaWRkZW4tcGhvbmVzX1xcXCI+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWhlYWRlclxcXCI+PGEgaHJlZj1cXFwiL1xcXCIgY2xhc3M9XFxcImRldi1sb2dvXFxcIj48aW1nIGl0ZW1wcm9wPVxcXCJpbWFnZVxcXCIgc3JjPVxcXCIvaW1nL2xvZ28ucG5nXFxcIj48L2E+PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PG5hdiByb2xlPVxcXCJtZW51XFxcIiBpZD1cXFwibWFpbm1lbnVcXFwiIGNsYXNzPVxcXCItY29sNiBfaGlkZGVuLXRhYmxldHNfIF9oaWRkZW4tcGhvbmVzX1xcXCI+PC9uYXY+XFxuXFxuXFxuXFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiLWNvbDEyIF9oaWRkZW4tZGVza3RvcHNfIF9oaWRkZW4tbGFyZ2UtZGVza3RvcHNfXFxcIiBzdHlsZT1cXFwidGV4dC1hbGlnbjogY2VudGVyXFxcIj5cXG5cXHRcXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItaGVhZGVyXFxcIj48YSBocmVmPVxcXCIvXFxcIiBjbGFzcz1cXFwiZGV2LWxvZ29cXFwiPjxpbWcgc3JjPVxcXCIvaW1nL2xvZ28ucG5nXFxcIj48L2E+PC9kaXY+XFxuXFx0XFx0XFx0PC9kaXY+XFxuXFx0XFx0XFx0PGRpdiBpZD1cXFwibW9iaWxlbWVudVxcXCIgY2xhc3M9XFxcImRldi1tb2JpbGUtbWVudSAtY29sMTIgX2hpZGRlbi1kZXNrdG9wc18gX2hpZGRlbi1sYXJnZS1kZXNrdG9wc19cXFwiPjwvZGl2PlxcblxcblxcdFxcdFxcdDxkaXYgY2xhc3M9XFxcIi1jb2w1IF9oaWRkZW4tdGFibGV0c18gX2hpZGRlbi1waG9uZXNfXFxcIj5cXG5cXHRcXHRcXHRcXHQ8c3BhbiBpZD1cXFwic29jaWFsLXR3aXR0ZXJcXFwiPjwvc3Bhbj5cXG5cXHRcXHRcXHRcXHQ8c3BhbiBpZD1cXFwic29jaWFsLWZhY2Vib29rXFxcIj48L3NwYW4+XFxuXFx0XFx0XFx0XFx0PHNwYW4gaWQ9XFxcInNvY2lhbC1naXRodWJcXFwiPjwvc3Bhbj5cXG5cXHRcXHRcXHQ8L2Rpdj5cXG5cXG5cXHRcXHQ8L2Rpdj5cXG5cXHQ8L2Rpdj5cXG48L2hlYWRlcj5cXG5cXG48ZGl2IGlkPVxcXCJsb2FkZXJcXFwiIGNsYXNzPVxcXCJkZXYtbG9hZGVyIC1zaGFkZXIgX3Jlc3BvbnNpdmVfIC1mYWRlaW4tLSBfYWN0aXZlX1xcXCI+XFxuXFx0PGRpdiBjbGFzcz1cXFwiLXNwaW5uZXItc3F1YXJlIF9yZXNwb25zaXZlXyBfaHVnZVxcXCI+PC9kaXY+XFxuPC9kaXY+XFxuXFxuPG1haW4gaWQ9XFxcIm1haW5jb250ZW50XFxcIj5cXG5cXG48L21haW4+XFxuXFxuPGZvb3Rlcj5cXG5cXHQ8ZGl2IGNsYXNzPVxcXCItY29udGFpbmVyXFxcIj5cXG5cXHRcXHQ8ZGl2IGNsYXNzPVxcXCItcm93XFxcIj5cXG5cXHRcXHRcXHQ8ZGl2IGNsYXNzPVxcXCItY29sNiAtb2Zmc2V0M1xcXCI+XFxuXFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9jZW50ZXJfXFxcIj48c3BhbiBpdGVtcHJvcD1cXFwibmFtZVxcXCI+TWF4bWVydGtpdDwvc3Bhbj4gbWFkZSBmb3IgYWxsIGdvb2QgcGVvcGxlIGJ5IDxhIGhyZWY9XFxcIm1haWx0bzp7e2F1dGhvci5lbWFpbH19XFxcIj48c3BhbiBpdGVtcHJvcD1cXFwiYXV0aG9yXFxcIiBpdGVtc2NvcGUgaXRlbXR5cGU9XFxcImh0dHA6Ly9zY2hlbWEub3JnL1BlcnNvblxcXCI+PHNwYW4gaXRlbXByb3A9XFxcIm5hbWVcXFwiPnt7YXV0aG9yLm5hbWV9fTwvc3Bhbj48L3NwYW4+PC9hPi48L3A+XFxuXFx0XFx0XFx0XFx0PHAgY2xhc3M9XFxcIl9jZW50ZXJfXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHQ8YSBjbGFzcz1cXFwiLWJ0bi1ib3JkZXJlZCBfbWlub3IgLWluZm8tXFxcIiBocmVmPVxcXCJodHRwOi8vdHdpdHRlci5jb20vdm1heG1lcnRcXFwiIGRhdGEtYnlwYXNzPjxpIGNsYXNzPVxcXCJmYSBmYS10d2l0dGVyXFxcIj48L2k+IHR3aXR0ZXI8L2E+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4tYm9yZGVyZWQgX21pbm9yIC1wcmltYXJ5LVxcXCIgaHJlZj1cXFwiaHR0cDovL2ZhY2Vib29rLmNvbS92ZXRyZW5rby5tYXhpbVxcXCIgZGF0YS1ieXBhc3M+PGkgY2xhc3M9XFxcImZhIGZhLWZhY2Vib29rXFxcIj48L2k+IGZhY2Vib29rPC9hPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuLWJvcmRlcmVkIF9taW5vciAtZGFyay1cXFwiIGhyZWY9XFxcImh0dHA6Ly9naXRodWIuY29tL21heG1lcnRcXFwiIGRhdGEtYnlwYXNzPjxpIGNsYXNzPVxcXCJmYSBmYS1naXRodWJcXFwiPjwvaT4gZ2l0aHViPC9hPlxcblxcdFxcdFxcdFxcdFxcdDxhIGNsYXNzPVxcXCItYnRuLWJvcmRlcmVkIF9taW5vciAtZXJyb3ItXFxcIiBocmVmPVxcXCJodHRwczovL3BsdXMuZ29vZ2xlLmNvbS8rTWF4aW1WZXRyZW5rbz9yZWw9YXV0aG9yXFxcIiBkYXRhLWJ5cGFzcz48aSBjbGFzcz1cXFwiZmEgZmEtZ29vZ2xlXFxcIj48L2k+IGdvb2dsZSs8L2E+XFxuXFx0XFx0XFx0XFx0XFx0PGEgY2xhc3M9XFxcIi1idG4tYm9yZGVyZWQgX21pbm9yIC1raXQtXFxcIiBocmVmPVxcXCJtYWlsdG86e3thdXRob3IuZW1haWx9fVxcXCIgZGF0YS1ieXBhc3M+PGkgY2xhc3M9XFxcImZhIGZhLWVudmVsb3BlLW9cXFwiPjwvaT4gZW1haWw8L2E+XFxuXFx0XFx0XFx0XFx0PC9wPlxcblxcdFxcdFxcdFxcdDxwIGNsYXNzPVxcXCJfY2VudGVyX1xcXCI+Q29kZSBsaWNlbnNlZCB1bmRlciA8YSByZWw9XFxcImxpY2Vuc2VcXFwiIGhyZWY9XFxcImh0dHBzOi8vZ2l0aHViLmNvbS9tYXhtZXJ0L21heG1lcnRraXQvYmxvYi9tYXN0ZXIvTElDRU5TRVxcXCIgdGFyZ2V0PVxcXCJfYmxhbmtcXFwiIGRhdGEtYnlwYXNzPk1JVDwvYT4sIGRvY3VtZW50YXRpb24gdW5kZXIgPGEgaHJlZj1cXFwiaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wL1xcXCIgZGF0YS1ieXBhc3M+Q0MgQlkgMy4wPC9hPi48L3A+XFxuXFx0XFx0XFx0XFx0PGRpdiBjbGFzcz1cXFwiZGV2X2NlbnRlcl9cXFwiPlxcblxcdFxcdFxcdFxcdFxcdDx1bCBjbGFzcz1cXFwiZGV2LWxpbmtzXFxcIj5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0dmVyLiB7e3ZlcnNpb259fVxcblxcdFxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcInt7cmVwb3NpdG9yeS51cmx9fVxcXCIgZGF0YS1ieXBhc3M+Z2l0aHViPC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcInt7YnVncy51cmx9fVxcXCIgZGF0YS1ieXBhc3M+aXNzdWVzPC9hPlxcblxcdFxcdFxcdFxcdFxcdFxcdDwvbGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PGxpPlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdDxhIGhyZWY9XFxcInt7cmVwb3NpdG9yeS5yZWxlYXNlc319XFxcIiBkYXRhLWJ5cGFzcz5yZWxlYXNlczwvYT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8L2xpPlxcblxcdFxcdFxcdFxcdFxcdFxcdDxsaT5cXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHQ8YSBocmVmPVxcXCIvY2hhbmdlbG9nXFxcIj5jaGFuZ2Vsb2c8L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHRcXHQ8bGk+XFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0PGEgaHJlZj1cXFwiaHR0cDovL29sZC5tYXhtZXJ0LmNvbVxcXCIgZGF0YS1ieXBhc3M+b2xkIHZlcnNpb248L2E+XFxuXFx0XFx0XFx0XFx0XFx0XFx0PC9saT5cXG5cXHRcXHRcXHRcXHRcXHQ8L3VsPlxcblxcdFxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdFxcdDwvZGl2PlxcblxcdFxcdDwvZGl2PlxcblxcdDwvZGl2PlxcbjwvZm9vdGVyPlxcblwiLFwiZXJyb3I0MDRcIjpcIjxkaXYgY2xhc3M9XFxcIi1jb250YWluZXJcXFwiIHN0eWxlPVxcXCJwYWRkaW5nOiAyMDBweCAwXFxcIj5cXG5cXHQ8aDEgY2xhc3M9XFxcIl9jZW50ZXJfXFxcIj5cXG5cXHRcXHQ8c3BhbiBjbGFzcz1cXFwiZGV2LWZvbnQtcmFsZXdheVxcXCI+NDA0PC9zcGFuPiZuYnNwOzxzcGFuIGNsYXNzPVxcXCJkZXYtZm9udC1sb2JzdGVyXFxcIj5UaGUgcGFnZSBpcyBub3QgZm91bmQ8L3NwYW4+XFxuXFx0PC9oMT5cXG48L2Rpdj5cXG5cIn0iXX0= diff --git a/docs/js/maxmertkit.js b/docs/js/maxmertkit.js index 878a569..1185aff 100644 --- a/docs/js/maxmertkit.js +++ b/docs/js/maxmertkit.js @@ -293,52 +293,27 @@ }; MaxmertkitHelpers.prototype._outerWidth = function(el) { - var style, width; + var width; el = el || this.el; width = el.offsetWidth; - try { - style = el.currentStyle || getComputedStyle(el); - } catch (_error) {} - if (style) { - if ((style.paddingLeft != null) && style.paddingLeft !== '') { - width += parseInt(style.paddingLeft); - } - if ((style.paddingRight != null) && style.paddingRight !== '') { - width += parseInt(style.paddingRight); - } - } return width; }; MaxmertkitHelpers.prototype._outerHeight = function(el) { - var height, style; + var height; el = el || this.el; height = el.offsetHeight; - try { - style = el.currentStyle || getComputedStyle(el); - } catch (_error) {} - if (style != null) { - if ((style.paddingTop != null) && style.paddingTop !== '') { - height += parseInt(style.paddingTop); - } - if ((style.paddingBottom != null) && style.paddingBottom !== '') { - height += parseInt(style.paddingBottom); - } - } return height; }; MaxmertkitHelpers.prototype._getPosition = function(el) { - var curleft, curtop, style; + var curleft, curtop; el = el || this.el; curleft = curtop = 0; + + /* FIXME: Not sure if it needed to calculate with style margin */ if (el.offsetParent) { while (true) { - - /* FIXME: Not sure if it needed to calculate with style margin */ - try { - style = el.currentStyle || getComputedStyle(el); - } catch (_error) {} curleft += el.offsetLeft; curtop += el.offsetTop; if (!(el = el.offsetParent)) { @@ -527,6 +502,7 @@ push: this.el.getAttribute('data-push') || false, autoOpen: this.el.getAttribute('data-autoopen') || false, selfish: this.el.getAttribute('data-selfish') || true, + hideScroll: this.el.getAttribute('data-hide-scroll') || true, beforeactive: function() {}, onactive: function() {}, failactive: function() {}, @@ -586,10 +562,10 @@ break; case 'backdrop': if (this.options.backdrop) { - this._removeEventListener(this.el, "click", this.backdropClickF); + this._removeEventListener(this.target, "click", this.backdropClickF); } if (value) { - this._addEventListener(this.el, "click", this.backdropClickF); + this._addEventListener(this.target, "click", this.backdropClickF); } break; case 'push': @@ -664,7 +640,7 @@ }; _backdropClick = function(event) { - if (this._hasClass('-modal', event.target) && this.opened) { + if (this._hasClass('-holder', event.target) && this.opened) { return this.close(); } }; @@ -700,7 +676,9 @@ if (this.push) { this._addClass('_perspective_', document.body); } - this._addClass('_no-scroll_', document.body); + if (this.options.hideScroll) { + this._addClass('_no-scroll_', document.body); + } this.target.style.display = 'table'; this._addClass('_visible_ -start--', this.target); this._addClass('_visible_ -start--', this.dialog); @@ -744,7 +722,9 @@ return function() { _this._removeClass('_visible_ -start-- -stop--', _this.target); _this._removeClass('_visible_ -start-- -stop--', _this.dialog); - _this._removeClass('_no-scroll_', document.body); + if (_this.options.hideScroll) { + _this._removeClass('_no-scroll_', document.body); + } if (_this.push) { _this._removeClass('_perspective_', document.body); } @@ -833,6 +813,7 @@ spy: this.el.getAttribute('data-spy') || _name, offset: this.el.getAttribute('data-offset') || 5, delay: this.el.getAttribute('data-delay') || 300, + once: this.el.getAttribute('data-once') || false, onMobile: this.el.getAttribute('data-on-mobile') || false, beforeactive: function() {}, onactive: function() {}, @@ -904,7 +885,10 @@ return function() { _this._addClass('-start--'); _this._removeClass('-stop--'); - return _this.active = true; + _this.active = true; + if (_this.options.once) { + return _this.stop(); + } }; })(this), delay); }; @@ -2441,7 +2425,7 @@ }; Popup.prototype.setPosition = function() { - var btnOffset, btnSize, newLeft, newTop, pos, scrollParentTarget, targetSize; + var arrow, arrowSize, btnOffset, btnSize, newLeft, newTop, pos, scrollParentTarget, targetSize; pos = this.el.getBoundingClientRect(); scrollParentTarget = this._getContainer(this.target); btnOffset = this._getPosition(); @@ -2455,6 +2439,11 @@ }; this.target.style.visibility = 'hidden'; this.target.style.display = 'block'; + arrow = this.target.querySelector('.-arrow'); + arrowSize = { + width: this._outerWidth(arrow), + height: this._outerHeight(arrow) + }; targetSize = { width: this._outerWidth(this.target), height: this._outerHeight(this.target) diff --git a/docs/js/templates.js b/docs/js/templates.js index d7e9df7..f44a958 100644 --- a/docs/js/templates.js +++ b/docs/js/templates.js @@ -1 +1 @@ -exports.module = {"common":{"pages":{"index":{"series":{"widgets":{"thumbnail":"
\n\t
\n\t\t\n\t
\n\t
\n\t\t

Geisha Kyoto, Japan

\n\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓).

\n\t
\n
","tabs":"","spinnerWaves":"
\n\n\n\n\n\n\n
","spinnerSquare":"
","spinnerRing":"
","spinnerFb":"
\n\n\n\n
","progress":"
\n\t
12 %
\n
","pills":"","navbar":"
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t@
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
","menu":"","listGroup":"","label":"label","group":"
","dropdown":"
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Bottom\n\t
\n
","btn":"Button","badge":"badge","avatar":"\n\t
\"maxmert\"
@vmaxmert\n
","alert":"
\n\t\n\tHeads up! This alert needs your attention, but it's not super important.\n
"},"header":"
\n\t
\n\t\t

widget

\n\t\t
\n\t\t\t{{name}}\n\t\t
\n\t
\n\t
\n\t\t+\n\t
\n\t
\n\t\t

theme

\n\t\t
\n\t\t\t-{{theme}}-\n\t\t
\n\t
\n\t
\n\t\t+\n\t
\n\t
\n\t\t

size

\n\t\t
\n\t\t\t_{{size}}\n\t\t
\n\t
\n
","body":"{{{body}}}"},"layout":"
\n\t
\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t

Maxmertkit

\n\t\t\t\t
ver. {{version}}, builded {{buildDate}}
\n\t\t\t
\n\t\t
\n\t\t
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t

Fluid. Invisible. Invincible.

\n\t\t\t

\n\t\t\t\tMaxmertkit is the most customizable and easiest for usage framework you've ever seen.\n\t\t\t

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t

Package manager

\n\t\t\t

Run $ gulp and edit mkit.json, package manager will install and uninstall sizes and themes for widgets. It will reduce file size and retrofit maxmertkit for you.

\n\t\t
\n\t\t
\n\t\t\t

Preprocessor Sass

\n\t\t\t

All css build with Sass. Maxmertkit uses all powerfull features providing by Sass, such as lists and maps.

\n\t\t
\n\t\t
\n\t\t\t

Easy to remember

\n\t\t\t

Classes names convection. -name for widgets, -name- for themes, _name for sizes, _name_ for modifiers, -name-- for animations.

\n\t\t
\n\t\t
\n\t\t\t

Easy to append and edit

\n\t\t\t

It's really easy to append and edit new themes, sizes, animations and widgets. Just go through how to section.

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t

No jQuery

\n\t\t\t

You don't need jQuery to use Maxmertkit javascript plugins. They are incredibly fast.

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Semantic

\n\t\t\t\t\t

Maxmertkit can be used with completely semantic markup. Write clean code without sacrificing any utility or convenience.

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Responsive

\n\t\t\t\t\t

Maxmertkit is responsive framework, and it permeates every aspect of the framework. Build for every device with ease.

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Readable

\n\t\t\t\t\t

Maxmertkit is written with humans in mind, and is easy to read even if you don’t know much code.

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Rapid prototyping

\n\t\t\t\t\t

Maxmertkit allows you to swiftly prototype your ideas so you can start testing sooner than later.

\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t\"Examples\"\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Examples

\n\t\t\t\t\t\t

Beautiful examples of using maxmertkit

\n\t\t\t\t\t\t

There are few of them, but I'll add some more soon.

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tblog\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t
\n
\n"},"social":{"github":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n"},"widgets":"
\n
\n
\n
\n

Widgets Components

\n

Maxmertkit widgets allow you to customize and make your project alive.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","utilities":"
\n
\n
\n
\n

Utilities Components

\n

Maxmertkit utilities make your development much easier.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","start":"
\n
\n
\n
\n

Philosophy Start

\n

All you need to know to start a new project with Maxmertkit.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","layout":"
\n
\n\n
\n
\n

Maxmertkit

\n
ver. {{version}}, builded {{buildDate}}
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n","components":"
\n
\n
\n
\n

Javascript Components

\n

Javascript plugins for Maxmertkit to make your project alive.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","changelog":"
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

Changelog

\n\t\t\t\t

All changelog you can observe on the github.

\n\t\t\t
\n\t\t\n\t\t\t
\n\t\t\t\t

Roadmap

\n\n\t\t\t\t
\n\t\t\t\t\tIf you want to share an idea of improvement, please create issue with tag feature.\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.5

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add js carousel component
  • \n\t\t\t\t\t\t
  • Add more examples
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.4

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add easier jquery support with native javascript plugins in maxmertkit
  • \n\t\t\t\t\t\t
  • Add slim progress bar
  • \n\t\t\t\t\t\t
  • Add example of the blog
  • \n\t\t\t\t\t\t
  • Add js wall component
  • \n\t\t\t\t\t\t
  • Add js skyline component
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.3

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add -avatar widget
  • \n\t\t\t\t\t\t
  • Add -comment widget
  • \n\t\t\t\t\t\t
  • Add dropdown -footer
  • \n\t\t\t\t\t\t
  • Add _round_ modifier to all buttons
  • \n\t\t\t\t\t\t
  • Add bordered a tag with underline
  • \n\t\t\t\t\t\t
  • Rename -btn-bordered to -btn-ghost
  • \n\t\t\t\t\t\t
  • Rename -spinner-circle to -spinner-ring
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.2

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • No jquery in maxmertkit
  • \n\t\t\t\t\t\t
  • Selenium tests support
  • \n\t\t\t\t\t\t
  • Add circle spinner
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.1

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add howto videos
  • \n\t\t\t\t\t\t
  • Add CDN
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n","basic":"
\n
\n
\n
\n

Basic Components

\n

Grid, typography, tables and forms. All you'll need to start a new project.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n"},"sidebar":{"menu":{"layout":"","item":"{{#menu}}{{menu}}{{/menu}}{{^menu}}{{name}}{{/menu}}\n{{#existIncludes}}\n\n{{/existIncludes}}\n"}},"header":{"social":{"twitter":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n","github":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n","facebook":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n"},"menu":{"mobile":"{{name}}\n","item":"{{name}}\n"}},"partials":"{{#value}}\n\t
\n\t\t{{{value}}}\n{{/value}}\n\n{{#includes}}\n\t{{#value}}\n\t\t
\n\t\t\t{{{value}}}\n\t\t
\n\t{{/value}}\n{{/includes}}\n\n{{#value}}\n\t
\n{{/value}}\n","menu":""},"kit":{"widgets":{"thumbnails":{"common":"

Thumbnails

\n\n

\n\t

Global variables

\n\t
$thumbnail-class: \"-thumbnail\" !global\n$thumbnail-image-background: #fff // When image is still loading this background will be shown
\n

\n\n\n\n

\n\tClass -thumbnail. Thumbnails are responsive ( width: 100% and height: auto ). Try to change screen size.\n

\n\n

\n\tAlso you can add shadows.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\n\n\t
\n\t\n
\n\n
\n\n\n\n

\n\tIf you want to add some inline thumbnails, use grid. It also responsize. Try to change screen size.\n

\n\n
\n\n\t
\n\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t

Geisha Kyoto, Japan

\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t

Geisha Kyoto, Japan

\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t

Geisha Kyoto, Japan

\n\t
\n\n
\n\n
\n","captions":"\n\n

Caption

\n\n\n\n

\n\t

Global variables

\n\t
$thumbnail-caption-class: #{$thumbnail-class}#{$caption-class}\n$thumbnail-caption-padding: $base-padding-vertical * 2\n$thumbnail-caption-font-size: 80%
\n

\n\n\n\n\n

\n\tAdd widget -thumbnail-caption to add caption to image. Don't forget about themes and sizes.\n

\n\n
\n\tUse semantic elements <figure> and <figcaption>!\n
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\t\t\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
\n\n\n\n\n\n\n\n

Caption position

\n\n

\n\tTo change it just add modifiers _left_ and _right_. Captions are responsive, try to change window width.\n

\n\n
Left and right captions are absolute positioned. So it looks great if there is nothing on left or right side of the thumbnail.
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\t\t\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
"},"spinners":{"waves":"

Waves spinner

\n\n\n\n

\n

Variables

\n
$spinner-waves-class: \"#{$spinner-class}-waves\"\n$spinner-waves-size: 30px\n$spinner-waves-deg: 25deg
\n

\n\n

Just add class -spinner-waves.

\n\n
You need to add -addon elements inside this spinner.
\nThe quantity is unlimited.\n
\n\n
\n\n
\n
\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n\n
\n\nWith spinner\n\n\n\n\n\n\n\n\n\n\n
\n\n\n
\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n\n
\n\nWith spinner\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n\n
\n
\n\n\n
\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n\n
\n\n
\n","square":"

Square spinner

\n\n\n\n

\n

Variables

\n
$spinner-square-class: \"#{$spinner-class}-square\"\n$spinner-square-size: 30px\n
\n

\n\n

Just add class -spinner-fb

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n","ring":"

Ring spinner

\n\n\n\n

\n

Variables

\n
$spinner-ring-class: \"#{$spinner-class}-ring\"\n$spinner-ring-size: 30px\n
\n

\n\n

Just add class -spinner-ring

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n","fb":"

Fb spinner

\n\n\n\n

\n

Variables

\n
$spinner-fb-class: \"#{$spinner-class}-fb\"\n$spinner-fb-size: 30px\n$spinner-fb-max-addons: 10
\n

\n\n

Just add class -spinner-fb.This is a fb-like spinner.

\n\nYou need to add -addon elements inside this spinner. The quantity is limited by sass variable $spinner-fb-max-addons.\n\n
\n\n
\n
\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n
\n \n \n \n \nWith spinner\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n
\n\n\n\n
\n\n
\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n
\n\nWith spinner\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n
\n
\n\n\n
\n\n\n\n
\n\n
\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n
\n\n
\n","common":"

Spinners

\n\n\n\n

\n

Global variables

\n
$spinner-class: \"-spinner\" !global
\n

\n\n

Spinner is an element shows that process is executing (any one, for example loading process)

\n\n
\nIf you want to position your spinner in the center of any relative element, add _responsive_ modifier to the spinner.\n
\n\n\n
\nIn some spinners you'll need to add -addon elements inside to add spinner blocks.\n
\n"},"shaders":{"common":"

Shaders

\n\n\n\n

\n

Global variables

\n
$shader-class: \"-shader\" !global\n$shader-z-index: 100 !global
\n

\n\n

Shader is a background element for any content, for example a modal window.

\n\n
\nHidden by default. Add modifier _active_ to show up.
\nDont't have any sizes.\n
\n\n\n
\nUse modifier _responsive_ to make shader position: fixed.
\nBy default shader is position: absolute\n
\n\n\n
\n\n
\nContent under shader.\n
\n
\n\n\n
Content under shader.\n
\n\n
\n\n\n

For example add loader.

\n\n\n
\n\n
\nContent under shader.\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
Content under shader.\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n

Add modifier _shaded_ to make shader transparent.

\n\n\n
\n\n
\nContent under shader.\n
\n
\n\n\n
Content under shader.\n
\n
\n
\n\n
\n"},"progress":{"slim":"\n\n\n

Slim

\n\n\n\n

\n\t

Global variables

\n\t
$progress-slim-class: \"-progress-slim\" !global\n$progress-slim-bar-class: \"-bar\" !global\n$progress-slim-bar-height: 7px\n$progress-slim-border-radius: 0px !global\n$progress-slim-border-width: 0px !global\n$progress-slim-border-style: solid !global
\n

\n\n\n\n

\n\tUse widget class -progress-slim. Apply themes and sizes. Append -bar inside -progress-slim.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n","common":"\n\n\n

Progress

\n\n\n\n

\n\t

Global variables

\n\t
$progress-class: \"-progress\" !global\n$progress-bar-class: \"-bar\" !global\n$progress-bar-padding-vertical: $base-padding-vertical / 3\n$progress-bar-padding-horizontal: $base-padding-horizontal / 1.5\n$progress-font-weight: 600 !global\n$progress-border-radius: 4px !global\n$progress-border-width: 0px !global\n$progress-border-style: solid !global\n$progress-padding: 3px !global\n$progress-background: #fff !global
\n

\n\n\n\n

\n\tUse widget class -progress. Apply themes and sizes. Append -bar inside -progress.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
12 %
25 %
Something goes wrong
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
12 %
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
progress with shadow 42 %
25 %
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
progress with shadow 42 %
\n\t\t
\n\t
\n\n\n\t
\n\t
12 %
\n\t
25 %
\n\t
Something goes wrong
\n
\n\n
\n\t
12 %
\n
\n
\n\n
\n"},"nav":{"tabs":"\n\n

Tabs

\n\n\n\n

\n\t

Global variables

\n\t
$nav-tabs-class: \"-tabs\" !global\n$nav-tabs-border-width: 1px !global\n$nav-tabs-items-padding-vertical: $base-padding-vertical\n$nav-tabs-items-padding-horizontal: $base-padding-horizontal\n$nav-tabs-items-border-radius: 3px
\n

\n\n\n\n\n

Basic use

\n

\n\tUse tabs class -tabs.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n
\n\n\n\n\n\n\n

\n\tApply theme classes to item element <li>.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n
\n\n\n\n\n\n

Vertical tabs

\n\n

\n\tUse modifier _vertical_ with modifiers _left_ and _right_. Combine tabs with grid.\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\tContent of the second tab.\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\tContent of the third tab.\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tContent of the second tab.\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tContent of the third tab.\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t\n\t
\n\t
\n\t\tContent of the second tab.\n\t
\n
\n\n
\n\t
\n\t\t\n\t
\n\t
\n\t\tContent of the third tab.\n\t
\n
\n\n
\n\t
\n\t\tContent of the second tab.\n\t
\n\t
\n\t\t\n\t
\n
\n\n
\n\t
\n\t\tContent of the third tab.\n\t
\n\t
\n\t\t\n\t
\n
\n","pills":"\n\n

Pills

\n\n\n\n

\n\t

Global variables

\n\t
$nav-pills-class: \"-pills\" !global\n$nav-pills-border-width: 1px !global\n$nav-pills-items-padding-vertical: $base-padding-vertical\n$nav-pills-items-padding-horizontal: $base-padding-horizontal\n$nav-pills-items-border-radius: 3px\n$nav-pills-items-margin-right: 1px
\n

\n\n

Basic use

\n

\n\tUse widget -pills.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n
\n\n
\n\n\n\n

\n\tApply theme classes to item element <li>.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n
\n\n
\n\n\n\n\n\n

Vertical pills

\n\n

\n\tUse modifier _vertical_.\n

\n\n
\n\t\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n","menu":"\n\n

Menu

\n\n\n\n

\n\t

Global variables

\n\t
$nav-menu-class: \"-menu\" !global\n$nav-menu-items-padding-vertical: $base-padding-vertical !global\n$nav-menu-items-padding-horizontal: $base-padding-horizontal !global\n$nav-menu-items-border-width: 1px !global\n$nav-menu-items-border-radius: 0px !global\n$nav-menu-items-margin: 1px !global
\n

\n\n\n\n\n

Basic use

\n

\n\tUse menu class -menu.\n

\n\n
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n\n

\n\tAdd themes.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n\n\n\n\n\n\n\n

Vertical menu

\n\n

\n\tTo make it vertical add modifier _vertical_.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n\n\n\n

Addon

\n

\n\tUse class -addon to add an additional information about this menu to the right.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t\n\n
\n\n\n\n\n\n\n\n

Add submenus

\n\n

\n\tTo add submenu just add widget -drop with -menu inside.\n

\n\n
\n\tTo change dropdown position use position modifiers _top_, _bottom_, _left_, _right_. For more information look dropdown section.\n
\n\n

Dropdown will be visible only if parent item is _active_. If you want to make it visible on :hover, add modifier _hovered_ to the root -menu.

\n\n
\n\n\t
\n\t\t
    \n\t\t\t
  • No hovered
  • \n\t\t\t
  • Menu 2
  • \n\t\t\t
  • \n\t\t\t\tMenu 3 \n\t\t\t\t
    \n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • Menu with long name ⌘M
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\tMenu 2 \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t\t\t
      • Menu 1
      • \n\t\t\t\t\t\t\t\t\t
      • Menu 2
      • \n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t\t\tMenu 3\n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • Menu 3
    • \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t
\n\t\t
\n\t\t
    \n\t\t\t
  • With hovered
  • \n\t\t\t
  • Menu 2
  • \n\t\t\t
  • \n\t\t\t\tMenu 3 \n\t\t\t\t
    \n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • Menu with long name ⌘M
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\tMenu 2 \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t\t\t
      • Menu 1
      • \n\t\t\t\t\t\t\t\t\t
      • Menu 2
      • \n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t\t\tMenu 3\n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • Menu 3
    • \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t
\n\t
\n\n\n\t
\n\n
\n\n
\n","list-group":"\n\n

List group

\n\n\n\n

\n\t

Global variables

\n\t
$nav-list-group-class: \"-list-group\" !global\n$nav-list-group-items-padding-vertical: $base-padding-vertical / 2 !global\n$nav-list-group-items-padding-horizontal: $base-padding-horizontal !global\n$nav-list-group-items-border-width: 1px !global\n$nav-list-group-items-active-border-width: 2px !global\n$nav-list-group-items-margin: 1px !global
\n

\n\n\n\n\n

Basic use

\n

\n\tUse class -list-group.\n

\n\n
\n\n\t
\n\t\t\n\n\t\t\n\t
\n\n\n\t
\n\n
\n","common":"

Nav

\n\n\n\n

\n\t

Global variables

\n\t
$nav-item: li !global

\n\n\n\n\n\n\n
\n\tUse modifier _responsive_ to make all navs responsive.
\n\tIt means when screen resolution become less then 992px, then all navs become justifyed.\n
\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n
\n\n
","bullets":"\n\n

Bullets

\n\n\n\n

\n\t

Global variables

\n\t
$nav-bullets-class: \"-bullets\" !global\n$nav-bullets-item: \"li\" !global\n$nav-bullets-item-size: 10px !global
\n

\n\n\n\n\n

Basic use

\n

\n\tUse class -bullets with <ul>. And <small> for sign.\n

\n\n
\n\n\t
\n\t\t\n\t
\n\n\t
\n\t\t\n\t
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n\n\n
\n\n
\n\n\n\n\n

\n\tIf you want to put your bullets inside some position: relative container, use modifier _fixed_ and position modifiers _left_, _center_, _right_ and _top_, _middle_, _bottom_.\n

\n\n
\n\tIf you want to make your bullets position: fixed (for example like a global navigation with parallax), you'll need to add this style by your own or add style=\"position: fixed;\" to bullets.\n
\n\n
\n\n\t
\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t
\n\n\n\t
\n\n\n\n\n\n
\n\n
","bar":"\n\n

Navbar

\n\n\n\n

\n\t

Global variables

\n\t
$nav-bar-class: \"-navbar\" !global\n$nav-bar-height: 50px !global\n$nav-bar-padding-horizontal: $base-padding-horizontal !global\n$nav-bar-border-width: 1px !global\n$nav-bar-style: solid !global\n$nav-bar-border-radius: 3px !global\n\n// It's only fo _top_ or _bottom_ navbars. Need to be over dropdowns.\n$nav-bar-z-index: $dropdown-z-index + 1\n\n$nav-bar-toggle-class: #{$nav-bar-class}-toggle
\n

\n\n\n\n\n

Basic use

\n

\n\tUse navbar class -navbar.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t@
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t@
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n
\n\n
\n\n\n\n\n\n\n

Grid and navbar

\n\n

\n\tAdd the grid inside the -navbar to allign elements. Add -header to the -navbar.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
Header
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n\n\n\n

Change themes

\n\n

\n\tIf you apply a theme to the -navbar, theme of every element inside will change.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t@
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t@
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n

Change size

\n\n

\n\tApply size to the -navbar to change sizes of the elements inside.\n

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t
\n
\n\n
\n\t...\n
\n\n
\n\t...\n
\n\n
\n\t...\n
\n\n
\n\n\n\n\n\n\n\n\n

Fixed navbar

\n

\n\tUse modifiers _top_ and _bottom_ to stick navbar to top or bottom.\n

\n
\n\tDo not forget to set padding to the navbar container. Padding should be equal or more then -navbar height.\n
\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n
\n\n
\n\n\n\n\n\n\n

Responsive navbar

\n

\n\tFirst of all read about responsive utilities. After you understand responsiveness, it will be easier to understand how to create responsive navbar.\n

\n\n
\n\tThere is no magic, but it's very simple! Trust me! Look at the comments in the code. With those classes you can hide menu even for not large desktops or just for phones. It's very flexible technique.\n
\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
Header here
\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\n\t\n\t
\n\t\t
Header here
\n\n\t\t\n\t\t\n\n\t
\n\n\t\n\t
\n\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\n\t
\n\n
>
\n\n
\n"},"groups":{"inputs":"\n\n\n

Inputs inside group

\n\n

\n\t

Add <input type=\"text\"> or -fields inside group.

\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
Button
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButtonButton\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton\n\t\t
\n\t\tButton\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton\n\t\t\n\t\tButton\n\t\t\n\t
\n
\n\n
\n\n\n\n\n

Use size classes Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with <-group> to set size.

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n
\n\n
\n\n\n\n\n

\n\tMake a group stretch at the same size to span the entire width of its parent. Use modifier _justify_.\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n\n

\n\t

Or add theme to the inner element.

\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton
\n\t
\n
\n\n
","common":"\n\n\n

Groups

\n\n

Group a series of buttons together on a single line with the button group. Use class -group to create it.

\n\n\n

\n\t

Global variables

\n\t
$group-class: \"-group\" !global\n\n$group-addon-class: $addon-class !global
\n

\n\n
\n\tUse modifier _responsive_ to make groups responsive.
\n\tIt means when screen resolution become less then 992px, then all groups become justifyed.\n
\n\n

Responsive

\n\n

Just make screen resolution less than 992px.

\n\n
\n\n\t
\n\t\t
\n\t\t\tnot responsive\n\t\t

\n\t\t
\n\t\t\tit is responsive\n\t\t
\n\t
\n\n\t
\n\tnot responsive\n\t\n\t\n\t\n

\n
\n\tresponsive\n\t\n\t\n\t\n
\n\n
\n","buttons":"\n\n\n

Buttons inside group

\n\n

\n\tAdd -btn buttons inside group.\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\n\t
\n\t\n\t\n\t\n\t\n
\n
\n\t\n\t\n\t\n
\n
\n\t\n
\n
\n\t\n
\n\n
\n\n\n\n\n

\n\tMake a group of buttons stretch at the same size to span the entire width of its parent. Use modifier _justify_.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t
\n\n\t\n\n
\n\n\n\n\n

\n\tCreate dropdowns (I don't use a JS in this example, this is just a view).\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\tDropdown \n\t\t
\n\t\t
\n\t\t\tDropdown\n\t\t

\n\t\t
\n\t\t\tLike\n\t\t
\n\t\t
\n\t\t\tYou liked it\n\t\t

\n\t\t
\n\t\t\tStar\n\t\t
\n\t\t
\n\t\t\tYou liked it\n\t\t
\n\t
\n\n\t
\n\tDropdown \n
\n
\n\tDropdown\n

\n
\n\tLike\n
\n
\n\n
","addons":"\n\n\n

Addons inside group

\n\n

\n\t

Add-addon inside group.

\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tAddonButton\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tAddonButton\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\tAddonButton\n\t
\n
\n
\n\t
\n\t\tAddonButton\n\t
\n
\n\n
\n\n\n\n\n\n

Combine!

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t@me@maxmert.com
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\t@\n\t\tme@maxmert.com\n\t\t\n\t\t
\n\t
\n
\n\n
"},"comments":{"common":"

Comments

\n\n\n\n

\n

Global variables

\n
$comments-class: \"-comments\" !global\n$comments-item-margin-bottom: 25px !global
\n

\n\n

Add -comments to the container. Use global class -item inside. Inside each -item add -content widget.

\n

Add -avatar inside -content blocks.

\n
Inside -items you can add blocks with modifier _hidden_. Those blocks will appear only when user hover the comment.
\n\n
\n\n
\n
    \n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"soffes\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Soffes  12
    \n\t\t\t\t\tYou know what else is \"arcane\", 140 characters.\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"markgamzy\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Markgamzy  165
    \n\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"Teclaro\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Teclaro  67
    \n\t\t\t\t\tIn my opinion (and as a UI and UX designer), this is a step in the right direction. Even when viewing those examples above, the context isn't hindered when @ isn't present and makes the conversation more legible.\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"Edwellbrook\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\tSure they are thinking about removing @replies but the concept of replying will still exist. It's just the details of who you are replying to will be contained in metadata and not in the body of the tweet. This is good as it will free up more characters for the tweet. However I'm sure it will also lead to people being unsure of whether a tweet will be directed at one person or their whole timeline in the same way as people often mistakenly post a DM to their timeline.\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"Krystalfister\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t
\n
\n\n\n
\n\n
\n\n"},"buttons":{"themes":"\n\n\n

Themes

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t
\n\n\n\t
\n\n\n\n
\n\n\n
\n\n\n\n

Disabled buttons

\n\n

\n\t

Use modifier _disabled_ or set attribute [disabled].

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n
\n\n\n
","states":"\n\n\n

Change states

\n\n

\n\t

Use modifiers _active_ and _hovered_ to change buttons states.

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\n\t
\n\n\n\t
\n\n\n\n\n\n\n
\n\n
","sizes":"\n\n\n

Sizes

\n\n

\n\t

Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with -btn to set button's size.

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n\n\n\n\n
\n\n
","ghost":"\n

Ghost buttons

\n\n\n\n\n\n

\n\t

Global variables

\n\t
$button-ghost-class: \"#{$button-class}-ghost\" !global\n$button-ghost-font-weight: 200 !global\n$button-ghost-min-font-size: 9px !global\n$button-ghost-border-radius: 3px !global\n$button-ghost-border-width: 3px !global
\n

\n\n\n\n\n

Use button class -btn-ghost to create great buttons.

\n\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success-, etc. with <button> or <input type=\"button\"> to set theme.

\n\n

\n\tAs always to use font-awesome icons you need to:\n\t

    \n\t\t
  • add <link href=\"//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css\" rel=\"stylesheet\"> to your <head> (but it's better to download and include it into you project);
  • \n\t\t
  • use class fa for icons;
  • \n\t\t
  • look at font-awesome page for documentation or use font-awesome cheatsheet.
  • \n\t
\n

\n\n\n\n\n\n\n\n

Button tags

\n

\n\tUse class -btn-ghost with <a>, <input> and <button>.\n

\n\n
\n\n\t
\n\t\t\n\t\t\n\t\tLink\n\t
\n\n\n\t
\n\nLink
\n\n
\n\n\n

Rounded

\n

Add _round_ modifier to round button

\n
\n\n\t
\n\t\t\n\t\t\n\t\tRound link\n\t
\n\n\n\t
\n\nRound link
\n\n
\n","common":"\n

Buttons

\n\n\n\n\n\n

\n\t

Global variables

\n\t
$button-class: \"-btn\" !global\n$button-font-weight: 200 !global\n$button-min-font-size: 9px !global\n$button-border-radius: 3px !global\n$button-border-width: 1px !global
\n

\n\n\n\n\n

Use button class -btn to create great buttons.

\n\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success-, etc. with <button> or <input type=\"button\"> to set theme.

\n\n

\n\tAs always to use font-awesome icons you need to:\n\t

    \n\t\t
  • add <link href=\"//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css\" rel=\"stylesheet\"> to your <head> (but it's better to download and include it into you project);
  • \n\t\t
  • use class fa for icons;
  • \n\t\t
  • look at font-awesome page for documentation or use font-awesome cheatsheet.
  • \n\t
\n

\n\n\n\n\n\n\n\n

Button tags

\n

\n\tUse class -btn with <a>, <input> and <button>.\n

\n\n
\n\n\t
\n\t\t\n\t\t\n\t\tLink\n\t
\n\n\n\t
\n\nLink
\n\n
\n\n\n

Rounded

\n

Add _round_ modifier to round button

\n
\n\n\t
\n\t\t\n\t\t\n\t\tRound link\n\t
\n\n\n\t
\n\nRound link
\n\n
\n","blocks":"\n\n\n

Block level buttons

\n\n

\n\t

Create block level buttons — those that span the full width of a parent — by adding _vertical_.

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\t
\n\n\n\n
\n\n
"},"avatars":{"common":"

Avatars

\n\n\n\n

\n

Global variables

\n
$avatar-class: \"-avatar\" !global\n$avatar-border-radius: 3px !global\n$avatar-border-width: 4px !global\n$avatar-border-style: solid !global\n$avatar-margin: 0.6em !global\n$avatar-size: 64px !global
\n

\n\n

Include -thumbnail widget inside -avatar.

\n\n
\n\tThe -thumbnail will be hidden on devices with resolution smaller than 768px.\n
\n\n\n\n

Add modifier _round_ to make avatar rounded.

\n\n\n\n\n

Sizes

\n\n\n\n\n\n\n

Bordered and themes

\n

Add modifier _bordered_.

\n\n\n\n\n\n

Position

\n

Add modifiers _top_ or _bottom_.

\n\n"},"layout":"
\n\n\t
\n\t\t
\n\t
\n\t
\n\t\t
\t\n\t
\n\n
","labels":"\n\n\n

Labels

\n\n\n\n

\n\t

Global variables

\n\t
$label-class: \"-label\" !global\n$label-font-weight: 300 !global\n$label-border-radius: 2px !global\n$label-border-width: 1px !global\n$label-border-style: solid !global\n$label-padding-vertical: $base-padding-vertical / 3\n$label-padding-horizontal: $base-padding-horizontal / 1.5
\n

\n\n\n\n

\n\tUse widget class -label. Apply themes and sizes.\n

\n
\n\tLabels won't self collapse in Internet Explorer 8 because it lacks support for the :empty selector.\n
\n
\n\n\t
\n\t\t

\n\t\t\tdefault\n\t\t\tprimary\n\t\t\terror\n\t\t\twarning\n\t\t

\n\t\t

\n\t\t\tnormal\n\t\t\tmajor\n\t\t\tbig\n\t\t\thuge\n\t\t\tdivine\n\t\t

\n\t
\n\n\n\t
default\nprimary\nerror\nwarning\n\nnormal\nmajor\nbig\nhuge\ndivine\n
\n\n
\n","dropdowns":"

Dropdowns

\n\n\n\n

\n\t

Global variables

\n\t
$dropdown-class: \"-drop\" !global\n$dropdown-z-index: 1000\n$dropdown-background-default: #fff\n$dropdown-border-default: #fff\n$dropdown-border-width: 0px\n$dropdown-border-style: solid\n$dropdown-border-radius: 3px\n$dropdown-arrow-size: 14px\n$dropdown-arrow-border-width: 1px\n$dropdown-content-padding-vertical: 15px\n$dropdown-content-padding-horizontal: 15px\n$dropdown-shadow: 0 3px 10px rgba(#000, .1)
\n

\n\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\tDrop without content block.
\n\t\t\tGreat with menus and other navigation stuff.\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\tDrop with content block.
\n\t\t\t\tGreat with text, information, pictures and other stuff.\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\tDrop without content block.
\n\tGreat with menus and other navigation stuff.\n
\n\n
\n\t
\n\t\tDrop with content block.
\n\t\tGreat with text, information, pictures and other stuff.\n\t
\n
\n\n
\n\n\n

Position of dropdowns. Arrows.

\n

\n\tTo set position of the dropdown relative to parent element use modifiers _top_, _bottom_, _left_ and _right_.\n

\n

\n\tUse arrow widget -arrow.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tTop\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tBottom\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tRight\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tLeft\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tTop\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tBottom\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tRight\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tLeft\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\n\t
\n\t\tTop\n\t
\n
\n\n
\n\t\n\t
\n\t\tBottom\n\t
\n
\n\n
\n\t\n\t
\n\t\tRight\n\t
\n
\n\n
\n\t\n\t
\n\t\tLeft\n\t
\n
\n\n
\n\t\n\t
\n\t\tTop\n\t
\n
\n\n
\n\t\n\t
\n\t\tBottom\n\t
\n
\n\n
\n\t\n\t
\n\t\tRight\n\t
\n
\n\n
\n\t\n\t
\n\t\tLeft\n\t
\n
\n\n
\n\n\n\n\n

Headers and contents.

\n

\n\tJust add widget -header to the drop. And add several -contents.\n

\n\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Top\n\t\t\t
\n\t\t\t
\n\t\t\t\tFooter\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Bottom\n\t\t\t
\n\t\t\t
\n\t\t\t\tFooter\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Right\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Left\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Top\n\t
\n\t
\n\t\tFooter\n\t
\n
\n\n
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Bottom\n\t
\n\t
\n\t\tFooter\n\t
\n
\n\n
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Right\n\t
\n
\n\n
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Left\n\t
\n
\n\n
\n","badges":"\n\n\n

Badges

\n\n\n\n

\n\t

Global variables

\n\t
$badge-class: \"-badge\" !global\n$badge-font-weight: 600 !global\n$badge-border-radius: 50px !global\n$badge-border-width: 0px !global\n$badge-border-style: solid !global\n$badge-padding-vertical: floor($base-padding-vertical / 4)\n$badge-padding-horizontal: floor($base-padding-horizontal / 2)
\n

\n\n\n\n

\n\tUse widget class -badge. Apply themes and sizes.\n

\n
\n\n\t
\n\t\t

\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t

\n\t\t

\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t

\n\t
\n\n\n\t
default\nprimary\nerror\nwarning\n\nnormal\nmajor\nbig\nhuge\ndivine\n
\n\n
\n\n\n

\n\tUse badges inside other widgets.\n

\n
\n\tBadges won't self collapse in Internet Explorer 8 because it lacks support for the :empty selector.\n
\n
\n\n\t
\n\t\tInbox 12\n\t\tInbox 12\n\t\tInbox 12\n\t\tEmpty badge is here \n\n\t\t
\n\n\t\t\n\n\t\t
\n\n\t\t\n\n\t\t
\n\n\t\t
\n\t\t\tInbox 12Sent 2Drafts \n\t\t
\n\t
\n\n\n\t\n\n
\n","alerts":"\n\n\n

Alerts

\n\n\n\n

\n\t

Global variables

\n\t
$alert-class: \"-alert\" !global\n$alert-border-radius: 3px !global\n$alert-border-width: 1px !global\n$alert-border-style: solid !global\n$alert-padding-vertical: $base-padding-vertical\n$alert-padding-horizontal: $base-padding-horizontal\n\t
\n

\n\n

\n\tUse widget class -alert. Apply themes and sizes. You can apply -shadow-...- to add shadow to the alert.\n

\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\tNothing important here.\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\tHeads up! This alert needs your attention, but it's not super important.\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\tOh snap! Change a few things up and try submitting again.\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\tWarning! Better check yourself, you're not looking too good.\n\t\t
\n\t
\n\n\n\t
\n\t\n\tNothing important here.\n
\n
\n\t\n\tHeads up! This alert needs your attention, but it's not super important.\n
\n
\n\t\n\tOh snap! Change a few things up and try submitting again.\n
\n
\n\t\n\tWarning! Better check yourself, you're not looking too good.\n
\n
\n\n
\n\n\n\n\n\n

\n\tApply themes and sizes.\n

\n
\n\n\t
\n\t\t
\n\t\t\tHeads up! This alert needs your attention, but it's not super important.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tWarning! Better check yourself, you're not looking too good.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tOh snap! Change a few things up and try submitting again.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tNothing important here.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tHeads up! This alert needs your attention, but it's not super important.\n\t\t
\n\t
\n\n\n\t
\n\tHeads up! This alert needs your attention, but it's not super important.\n
\n
...
\n
...
\n
...
\n
...
\n
\n\n
\n"},"start":{"structure":{"sources":"

Sources file structure

\n\n
    \n
  • maxmertkit/\n
      \n
    • mkit.json here you can change themes and sizes for every widget
    • \n
    • buildbuilded version of maxmertkit\n
        \n
      • css\n
          \n
        • \nmaxmertkit.css\n
        • \n
        • \nmaxmertkit.min-xxxxxxxx.css minified, gzipped and revved version to clear user cache.\n
        • \n
        • \nmaxmertkit.min.css minified and gzipped. Use revved version to prevent users using cached css.\n
        • \n
        \n
      • \n\n
      • js\n
          \n
        • \nmaxmertkit.js\n
        • \n
        • \nmaxmertkit.min-xxxxxxxx.js minified, gzipped and revved version to clear user cache.\n
        • \n
        • \nmaxmertkit.min.js minified and gzipped. Use revved version to prevent users using cached css.\n
        • \n
        \n
      • \n
      \n
    • \n\n
    • coffeeall maxmertkit coffee files\n
        \n
      • maxmertkit.coffee\nincludes all main helpers using in every plugin. Prototype for all plugins.\n
      • \n
      • affix.coffee
      • \n
      • button.coffee
      • \n
      • modal.coffee
      • \n
      • popup.coffee
      • \n
      • scrollspy.coffee
      • \n
      • tabs.coffee
      • \n
      \n
    • \n\n
    • sassall maxmertkit sass files\n
        \n
      • \nanimationsall animations for all widgets stores here\n
          \n
        • \npushesonly animations for pushes (not using right not)\n
        • \n
        • \n...\n
        • \n
        \n
      • \n
      • \ncommonglobal variables, reset, init, modifiers list, mixins and utilities stores here\n
      • \n
      • \nsizesusable sizes, remeber that you need to include sizes for each widget separatelly\n
      • \n
      • \nthemesusable themes, remeber that you need to include themes for each widget separatelly\n
      • \n
      • \nwidgetsall widgets are here\n
          \n
        • \n_widget-name.sass import files from folder widget-name; there may be different types or parts of widget widget-name.\n
        • \n
        • \nwidget-nametypes or parts of widget widget-name\n
        • \n
        • \n...\n
        • \n
        \n
      • \n
      • \nmain.sass the only compiling file; imports all maxmertkit stuff\n
      • \n
      \n
    • \n\n
    • \njs\n
        \n
      • \nmaxmertkit.js not minified maxmertkit js plugins\n
      • \n
      • \nbower\n
      • \n
      \n
    • \n\n
    • \ncss\n
        \n
      • \nmain.css not minified css of the maxmertkit\n
      • \n
      \n
    • \n\n
    • docs\n
        \n
      • coffeedocumentation app\n
          \n
        • ...
        • \n
        • contents.coffee\nmain menu and application contents\n
        • \n
        \n
      • \n\n
      • cssmaxmertkit and developer css
      • \n
      • imgimages needed for docs
      • \n
      • jsall js for documentation\n
          \n
        • bower\nbower libraries for documentation.\n
        • \n
        • libs\nnot bowered libraries for documentation.\n
        • \n
        • app.js main app.
        • \n
        • maxmertkit.js
        • \n
        • templates.js all compiled templates for docs.
        • \n
        • ...
        • \n
        \n
      • \n\n
      • sassdeveloper sass, only for docs.
      • \n
      • serverserver app on nodejs for docs.
      • \n
      • templatestemplates for docs\n
          \n
        • commonbase templates for application
        • \n
        • kitall documentation templates are here; if you want to fix text errors in docs, contribute and fix them here
        • \n
        • 404.html
        • \n
        • main.html
        • \n
        \n
      • \n
      \n
    • \n\n
    • \ntest\n
    • \n\n
    • \ntodo.md all todos trough all maxmertkit js files\n
    • \n
    \n
  • \n
\n","common":"

Structure

\n\n

There are two downloadable form of maxmertkit: build and sources. In each case you'll have different file structure.

\n\n
\nNote that Maxmertkit javascript plugins DON'T require jQuery from version 1.0.2 (see changelog).\n
\nTo compile maxmertkit.sass you'll need a Bourbon and Neat. Just use bower to install it (see instructions below).\n
\n","build":"

Prebuilded file structure

\n\n

Everything is very easy here. Just include min files to your project.

\n\n
    \n
  • maxmertkit/\n
      \n
    • css/\n
        \n
      • maxmertkit.css
      • \n
      • maxmertkit.min.css gzipped builded version of maxmertkit, includes all themes and all sizes for each widget.
      • \n
      \n
    • \n
    • js/\n
        \n
      • maxmertkit.js concatenated maxmertkit plugins.
      • \n
      • maxmertkit.min.js minified and gzipped.
      • \n
      \n
    • \n
    \n
  • \n
\n"},"howto":{"themeManage":"

Add and manage themes

\n\n

\n\t\n

\n\n

\n\tFirst you need to run $ gulp. Read about this in how to build section.\n

\n\n

\n\tTo edit themes just do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/themes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tOpen theme file.\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $theme variable.\n\t\t
  6. \n\t
\n

\n\n\n

\n\tTo add a new themes do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/themes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tDublicate any theme file (or use this gist — maxmertkitTheme). Remember that filename should begin with underscore (_).\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $theme variable.\n\t\t
  6. \n\t\t
  7. \n\t\t\tInclude theme file in sass/main.sass\n\t\t
  8. \n\t\t
  9. \n\t\t\tAdd theme to widgets in mkit.json\n\t\t
  10. \n\t
\n

\n","sizeManage":"

Add and manage sizes

\n\n

\n\t\n

\n\n

\n\tFirst you need to run $ gulp. Read about this in how to build section.\n

\n\n

\n\tTo edit sizes just do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/sizes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tOpen size file.\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $size variable.\n\t\t
  6. \n\t
\n

\n\n\n

\n\tTo add a new sizes do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/sizes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tDublicate any size file (or use this gist — maxmertkitSize). Remember that filename should begin with underscore (_).\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $size variable.\n\t\t
  6. \n\t\t
  7. \n\t\t\tInclude size file in sass/main.sass\n\t\t
  8. \n\t\t
  9. \n\t\t\tAdd size to widgets in mkit.json\n\t\t
  10. \n\t
\n

\n","install":"

Install

\n

You can do it in several ways. Go to section download.

","common":"

Howto?

\n\n

Here I'll tell you how to do different things. Please, add new issue with label question and I'll add answers here.

","build":"

Build

\n\n

\n\t\n

\n\n

\n\t

    \n\t\t
  • Download sources.
  • \n\t\t
  • In terminal do:\n\t\t\t
      \n\t\t\t\t
    1. go to you sources folder;
    2. \n\t\t\t\t
    3. run npm install;
    4. \n\t\t\t\t
    5. run bower install;
    6. \n\t\t\t\t
    7. go to docs folder with command cd docs;
    8. \n\t\t\t\t
    9. run bower install;
    10. \n\t\t\t\t
    11. go back to your sources folder by typing cd ..;
    12. \n\t\t\t\t
    13. run gulp.
    14. \n\t\t\t
    \n\t\t
  • \n\t\t
  • In you browser go to http://127.0.0.1:3333/
  • \n\t
\n\n\tIf you want to buld minified sources, in substep 7 run gulp build.\n

\n"},"download":"
\n

Download

\n\n

There are several ways to download and use maxmertkit. The recommended one is to download all sources and build framework that suites only you. It will be easier, lighter and faster than any framework.


\n\n
\n
\n

Get build \n\n\n\n\n\n\n\n

\n

\nCompiled and minified CSS and JS, nothing more. Build includes all themes and all sizes for every widget in maxmertkit. It pretty heavy.\n

\n
\n
\n

Get sources \n\n\n\n\n\n\n\n

\n

\nIncludes all docs and all sources. Also includes build. See instructions how to use and compile below. Require some easiest installations. After that you'll have this site on your desktop.\n

\n
\n
\n
\n\n\n\n
\n

CDN

\n\n

Please, use CDN links to just include maxmertkit to your projects.

\n\n
<!-- Latest compiled and minified CSS -->\n<link rel=\"stylesheet\" href=\"//cdn.jsdelivr.net/maxmertkit/{{version}}/css/maxmertkit.css\">\n\n<!-- Latest compiled and minified JavaScript -->\n<script src=\"//cdn.jsdelivr.net/maxmertkit/{{version}}/js/maxmertkit.js\"></script>
\n
\n\n\n\n\n
\n

Bower

\n\n

Install and manage with Bower

\n\n
$ bower install maxmertkit
\n
\n","difference":"

Difference

\n\n

\n\t\n\t\tThere are some basic differences with other frameworks.\n\t\n

\n\n
    \n
  1. \n\tAuto build themes and sizes. Just edit mkit.json to add or remove theme or size to any widget.\n
  2. \n
  3. \nModularity. Exclude any sass widget from maxmertkit and everything will work well.\n
  4. \n\n
  5. Namespaces.\n\t
      \n\t\t\t
    • -widget — widget, for example -btn
    • \n\t\t\t
    • -theme- — theme, for example -primary-
    • \n\t\t\t
    • _size — size, for example _major
    • \n\t\t\t
    • _modifier_ — modifier, for example _active_
    • \n\t\t\t
    • -animation-- — animation, for example -fadein--
    • \n\t\t
    \n\t\t
    \n\t\t

    From now you really can say what happen below

    \n\t\t\n\t\t
    \n
  6. \n
\n"},"basic":{"typography":{"rtl":"

RTL (right to left) support

\n\n

\nThere is a RTL support in maxmertkit. Just use dir=\"rtl\" with block elements.\n

\n\n
\nFor more information go to css-tricks.\n
\n\n
\n\n
\n
\nThis text will go right to left.\n
\n
\n\n\n
\n
\nThis text will go right to left.\n
\n\n
\n\n\n\n

\nTo use inside inline elements use tag bdo:\n

\n
\n\n
\n

This text will go right to left.

\n
\n\n\n

This text will go right to left.

\n\n
\n","lists":"\n\n\n

Lists

\n\n\n

\n\t

Global variables:

\n\t
$list-item-inline-padding: 5px
\n

\n\n\n\n

Unordered

\n

A list of items in which the order does not explicitly matter.

\n
\n\t
\n\t\t
    \n\t\t
  • Lorem ipsum dolor sit amet
  • \n\t\t
  • Consectetur adipiscing elit
  • \n\t\t
  • Integer molestie lorem at massa
  • \n\t\t
  • Facilisis in pretium nisl aliquet
  • \n\t\t
  • Nulla volutpat aliquam velit\n\t\t\t
      \n\t\t\t\t
    • Phasellus iaculis neque
    • \n\t\t\t\t
    • Purus sodales ultricies
    • \n\t\t\t\t
    • Vestibulum laoreet porttitor sem
    • \n\t\t\t\t
    • Vestibulum laoreet porttitor sem\n\t\t\t\t\t
        \n\t\t\t\t\t\t
      • Phasellus iaculis neque
      • \n\t\t\t\t\t\t
      • Purus sodales ultricies
      • \n\t\t\t\t\t\t
      • Vestibulum laoreet porttitor sem
      • \n\t\t\t\t\t\t
      • Ac tristique libero volutpat at
      • \n\t\t\t\t\t
      \n\t\t\t\t
    • \n\t\t\t\t
    • Ac tristique libero volutpat at
    • \n\t\t\t
    \n\t\t
  • \n\t\t
  • Faucibus porta lacus fringilla vel
  • \n\t\t
  • Aenean sit amet erat nunc
  • \n\t\t
  • Eget porttitor lorem
  • \n\t\t
\n\t
\n\t
    \n
  • ...
  • \n
  • ...\n\t
      \n\t\t
    • ...
    • \n\t
    \n
  • \n
\n
\n\n\n

Ordered

\n

A list of items in which the order does explicitly matter.

\n
\n\t
\n\t\t
    \n\t\t\t
  1. Lorem ipsum dolor sit amet
  2. \n\t\t\t
  3. Consectetur adipiscing elit
  4. \n\t\t\t
  5. Integer molestie lorem at massa
  6. \n\t\t\t
  7. Facilisis in pretium nisl aliquet
  8. \n\t\t\t
  9. Nulla volutpat aliquam velit\n\t\t\t\t
      \n\t\t\t\t\t
    1. Phasellus iaculis neque
    2. \n\t\t\t\t\t
    3. Purus sodales ultricies
    4. \n\t\t\t\t\t
    5. Vestibulum laoreet porttitor sem
    6. \n\t\t\t\t\t
    7. Vestibulum laoreet porttitor sem\n\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t
      • Phasellus iaculis neque
      • \n\t\t\t\t\t\t\t
      • Purus sodales ultricies
      • \n\t\t\t\t\t\t\t
      • Vestibulum laoreet porttitor sem
      • \n\t\t\t\t\t\t\t
      • Ac tristique libero volutpat at
      • \n\t\t\t\t\t\t
      \n\t\t\t\t\t
    8. \n\t\t\t\t\t
    9. Ac tristique libero volutpat at
    10. \n\t\t\t\t
    \n\t\t\t
  10. \n\t\t\t
  11. Faucibus porta lacus fringilla vel
  12. \n\t\t\t
  13. Aenean sit amet erat nunc
  14. \n\t\t\t
  15. Eget porttitor lorem
  16. \n\t\t
\n\t
\n\t
    \n
  1. ...
  2. \n
  3. ...\n\t
      \n\t\t
    1. ...
    2. \n\t
    \n
  4. \n
\n
\n\n\n\n\n

Unstyled

\n

Use modifier class _unstyled_ to remove the default list-style and left margin on list items (immediate children only). This only applies to immediate children list items, meaning you will need to add the class for any nested lists as well.

\n
\n\t
\n\t\t
    \n\t\t\t
  1. Lorem ipsum dolor sit amet
  2. \n\t\t\t
  3. Consectetur adipiscing elit
  4. \n\t\t\t
  5. Integer molestie lorem at massa
  6. \n\t\t\t
  7. Facilisis in pretium nisl aliquet
  8. \n\t\t\t
  9. Nulla volutpat aliquam velit\n\t\t\t\t
      \n\t\t\t\t\t
    1. Phasellus iaculis neque
    2. \n\t\t\t\t\t
    3. Purus sodales ultricies
    4. \n\t\t\t\t\t
    5. Vestibulum laoreet porttitor sem
    6. \n\t\t\t\t\t
    7. Vestibulum laoreet porttitor sem\n\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t
      • Phasellus iaculis neque
      • \n\t\t\t\t\t\t\t
      • Purus sodales ultricies
      • \n\t\t\t\t\t\t\t
      • Vestibulum laoreet porttitor sem
      • \n\t\t\t\t\t\t\t
      • Ac tristique libero volutpat at
      • \n\t\t\t\t\t\t
      \n\t\t\t\t\t
    8. \n\t\t\t\t\t
    9. Ac tristique libero volutpat at
    10. \n\t\t\t\t
    \n\t\t\t
  10. \n\t\t\t
  11. Faucibus porta lacus fringilla vel
  12. \n\t\t\t
  13. Aenean sit amet erat nunc
  14. \n\t\t\t
  15. Eget porttitor lorem
  16. \n\t\t
\n\t
\n\t
    \n
  1. ...
  2. \n
  3. ...\n\t
      \n\t\t
    1. ...
    2. \n\t
    \n
  4. \n
\n
\n\n\n\n

Horizontal

\n

Use modifier class _horizontal_ to place all list items on a single line with display: inline-block and some light padding.

\n
\n\t
\n\t\t
    \n\t\t\t
  1. Lorem
  2. \n\t\t\t
  3. Consectetur
  4. \n\t\t\t
  5. Integer
  6. \n\t\t\t
  7. Facilisis
  8. \n\t\t\t
  9. Nulla
  10. \n\t\t\t
  11. Faucibus
  12. \n\t\t\t
  13. Aenean
  14. \n\t\t\t
  15. Eget
  16. \n\t\t
\n\t
\n\t
    \n\t
  1. Lorem
  2. \n\t
  3. Consectetur
  4. \n\t
  5. Integer
  6. \n\t
  7. Facilisis
  8. \n\t
  9. Nulla
  10. \n\t
  11. Faucibus
  12. \n\t
  13. Aenean
  14. \n\t
  15. Eget
  16. \n
\n
\n\n\n\n\n\n\n\n\n

Description

\n

A list of terms with their associated descriptions.

\n
\n\t
\n\t\t
\n\t\t\t
Description lists
\n\t\t\t
A description list is perfect for defining terms.
\n\t\t
\n\t\t
\n\t\t\t
Description lists
\n\t\t\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t\t\t
Donec id elit non mi porta gravida at eget metus.
\n\t\t
\n\t
\n\t
\n\t
Description lists
\n\t
A description list is perfect for defining terms.
\n
\n
\n\t
Description lists
\n\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t
Donec id elit non mi porta gravida at eget metus.
\n
\n
\n\n\n

Horizontal

\n

Use modifier class _horizontal_to make terms and descriptions in<dl> line up side-by-side. Responsive.

\n
\n\t
\n\t\t
\n\t\t\t
Description lists
\n\t\t\t
A description list is perfect for defining terms.
\n\t\t
\n\t\t
\n\t\t\t
Description lists with very-very-very long title
\n\t\t\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t\t\t
Donec id elit non mi porta gravida at eget metus.
\n\t\t
\n\t
\n\t
\n\t
Description lists
\n\t
A description list is perfect for defining terms.
\n
\n\t
\n\t
Description lists with very-very-very long title
\n\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t
Donec id elit non mi porta gravida at eget metus.
\n
\n
\n","links":"\n\n\n

Links

\n

Add beautiful underline to your links. Use .-link-hang

\n\n
\n\t\n\t

\n\t\t

Global variables:

\n\t\t
$typo-link-hang-class: \"-link-hang\" !global\n\t$typo-link-hang-underline-height: 1px !global
\n\t

\n\n\t

\n\t\t

Important! If you use -link-hang with tag <a>, the color of tag will not be changed. You'll need to change it manually. I did it to not to break user's css.
\n\t

\n\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tHang Link is here\n\t\t\t
\n\t\t\t
\n\t\t\t\tWith tag <a> you'll need to change text color of the link manually:\n\t\t\t\t

Hang Link is here

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
Hang Link is here
\n\t\t\t
\n\t
\n
\n\n
\n\t

In block and inline tags

\n\n\t

Put -link-hang inside elements b, i, small, p and span. The styles will aply to the inner -link-hang automatically.

\n\n\t
\n\t\t
\n\t\t\tThere is Hang Link inside this span.
\n\t\t\t

Info big paragraph with Hang Link inside.

\n\t\t\tWarning small tag with Hang Link inside \n\t\t
\n\t\t
\n\t\t\t
There is Hang Link inside this span
\n

Info big paragraph with Hang Link inside.

\nWarning small tag with Hang Link inside
\n\t
\n
\n\n\n
\n\t

Problems

\n\t

\n\t\tWhen you change the background, you can see the artifacts.\n\t

\n\n\t
\n\t\t
\n\t\t\tThere is Hang Link inside this span.
\n\t\t
\n\t
\n\n\t

To fix that, add text-shadow: .1em 0 0 color-here, -.1em 0 0 color-here to your -link-hang in the block with background.

\n\t
\n\t\t
\n\t\t\tThere is Hang Link inside this span.
\n\t\t
\n\t\t
\n\t\t\t
\n\tThere is Hang Link inside this span.\n
\n\t
\n
","headings":"\n\n\n

Headings

\n

Specifies heading. Use h# or class .-h#(# - number 1..6)

\n\n\n

\n\t

Global variables:

\n\t
$headings-class: \"-h\"\n\n$headings-h1-font-size: floor($base-font-size * 2.6) !global\n$headings-h2-font-size: floor($base-font-size * 2.15) !global\n$headings-h3-font-size: floor($base-font-size * 1.7) !global\n$headings-h4-font-size: floor($base-font-size * 1.25) !global\n$headings-h5-font-size: $base-font-size !global\n$headings-h6-font-size: floor($base-font-size * 0.85) !global\n\n$headings-line-height: 1.1 !global\n\n$headings-font-weight: 500 !global\n$headings-font-weight-small: 500 !global\n$headings-font-family: inherit !global\n$headings-color: inherit !global\n$headings-injection-color: #999 !global
\n

\n\n\n\n
\n\t
\n\t\t
\n\t\t\t

Heading 1

\n\t\t\t

Heading 2

\n\t\t\t

Heading 3

\n\t\t\t

Heading 4

\n\t\t\t
Heading 5
\n\t\t\t
Heading 6
\n\t\t
\n\t\t
\n\t\t\t
Heading 1
\n\t\t\t
Heading 2
\n\t\t\t
Heading 3
\n\t\t\t
Heading 4
\n\t\t\t
Heading 5
\n\t\t\t
Heading 6
\n\t\t
\n\t
\n\t
\n\t\t

Heading 1

\n

Heading 2

\n

Heading 3

\n

Heading 4

\n
Heading 5
\n
Heading 6
\n\t\t
Heading 1
\n
Heading 2
\n
Heading 3
\n
Heading 4
\n
Heading 5
\n
Heading 6
\n
\n\n\n\n\n

Injections inside headings

\nUse size classes
\n_tiny,\n_small,\n_minor,\n_normal,\n_major,\n_normal,\n_big,\n_huge,\n_divine\n
\n\t
\n\t\t
\n\t\t\t

Heading 4 small injection

\n\t\t\t

Heading 4 minor injection

\n\t\t\t

Heading 4 normal injection

\n\t\t\t

Heading 4 no class injection

\n\t\t\t

Heading 4 major injection

\n\t\t\t

Heading 4 big injection

\n\t\t\t

Heading 4 huge injection

\n\t\t\t

Heading 4 divine injection

\n\t\t
\n\t\t
\n\t\t\t

Heading 1 small injection

\n\t\t\t

Heading 1 normal injection

\n\t\t\t

Heading 1 major injection

\n\t\t\t

Heading 1 huge injection

\n\t\t
\n\t
\n\t
\n\t\t

Heading 4 tiny injection

\n

Heading 4 small injection

\n

Heading 4 minor injection

\n

Heading 4 normal injection

\n

Heading 4 no class injection

\n

Heading 4 major injection

\n

Heading 4 big injection

\n

Heading 4 huge injection

\n

Heading 4 divine injection

\n\t\t

Heading 1 tiny injection

\n

Heading 1 normal injection

\n

Heading 1 major injection

\n

Heading 1 huge injection

\n
\n","common":"
\n\t

Typography

\n
\n","code":"\n\n\n

Code

\n\n\n

\n\t

Global variables:

\n\t
$code-border: 0px solid rgba(0,0,0,.05)\n$code-color: #c7254e\n$code-background: #f9f2f4\n$code-font-size: 90%\n$code-padding: 1px 4px\n$code-border-radius: 2px\n\n$pre-bg: #f5f5f5\n$pre-color: #777\n$pre-border-color: #ccc\n$pre-border-radius: 3px
\n

\n\n\n

Inline

\n

Wrap inline snippets of code with <code>.

\n
\n\n\n\t
\n\t\tFor example, <section> should be wrapped as inline.\n\t
\n\n\n\t
For example, <section> should be wrapped as inline.
\n\n
\n\n\n

Block

\n

Use <pre> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.

\n
\n\n\n\t
\n\t\t
<p>Sample text here...</p>
\n\t
\n\n\n\t
<p>Sample text here...</p>
\n\n
\n","body":"\n\n\n

Body

\n

All common tags.

\n\n\n

\n\t

Global variables:

\n\t
$body-b-font-weight: 700 !global\n$body-i-font-style: italic !global\n$body-small-font-size: 85% !global\n\n$abbr-initialism-class: \"-initialism\" !global\n\n$blockquote-small-font-size: 80% !global
\n

\n\n\n

Bold

\n

For emphasizing a snippet of text with a heavier font-weight.

\n
\n\t
\n\t\tThis is bold text
\n\t\tThis is bold text\n\t
\n\t
\n\t\t
This is bold text\nThis is bold text
\n\t
\n
\n\n

Italic

\n

For emphasizing a snippet of text with italics.

\n
\n\t
\n\t\tThis is italic text
\n\t\tThis is italic text\n\t
\n\t
\n\t\t
This is italic text\nThis is italic text
\n\t
\n
\n\n

Small

\n

For de-emphasizing inline or blocks of text, use the <small> tag to set text at 85% the size of the parent. Heading elements receive their own font-size for nested <small> elements.

\n
\n\t
\n\t\tNormal and small text
\n\t
\n\t
Normal and small text
\n
\n\n\n

Sizes with inline elements

\n

\n\tUse size classes\n\t_tiny,\n\t_small,\n\t_minor,\n\t_normal,\n\t_major,\n\t_normal,\n\t_big,\n\t_huge,\n\t_divine\n\twith inline elements to set size.\n

\n
\n\t
\n\t\tNormal text with _major text, and here is _big italic text, and _huge bold\n\t
\n\t
Normal text with _major text, and here is _big italic text, and _huge bold
\n
\n\n\n

Themes with inline elements

\n

\n\tUse theme classes (you can include any theme, so themes class names can be different)\n\t-primary-,\n\t-error-,\n\t-success-\n\n\twith inline elements to set theme.\n

\n
\n\t
\n\t\tNormal text with -primary- text, i -error- text, b -success- text\n\t
\n\t
Normal text with -primary- text, i -error- text, b -success- text
\n
\n\n\n

Modifiers with inline elements

\n

\n\tUse modifier classes _left_, _center_, _right_, _justify_ with inline elements to realign text.\n

\n
\n\t
\n\t\t

left

\n\t\t

center

\n\t\t

right

\n\t\t

Justify is in this block! Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

\n\t
\n\t

left

\n

center

\n

right

\n

Justify is in this block! ...

\n
\n\n\n\n\n\n\n\n\n

Abbreviation

\nAbbreviations with a title attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover. If you use initialism, use -initialism class.\n
\n\t
\n\t\tattr, HTML\n\t
\n\t
attr, HTML
\n
\n\n\n

Address

\nAbbreviations with a title attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover. If you use initialism, use -initialism class.\n
\n\t
\n\t\t
\n\t\t\tTwitter, Inc.
\n\t\t\t795 Folsom Ave, Suite 600
\n\t\t\tSan Francisco, CA 94107
\n\t\t\tP: (123) 456-7890\n\t\t
\n\t\t
\n\t\t\tFull Name
\n\t\t\tfirst.last@example.com\n\t\t
\n\t
\n\t
\n\tTwitter, Inc.
\n\t795 Folsom Ave, Suite 600
\n\tSan Francisco, CA 94107
\n\tP: (123) 456-7890\n
\n
\n\tFull Name
\n\tfirst.last@example.com\n
\n
\n\n\n

Blockquote

\n

Style and content changes for simple variations on a standard <blockquote>.

\n

Use modifier classes _left_ and _right_ to realign blockquote.

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- with blockquotes to set theme.

\n
\n\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t
\n\t
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n"},"tables":{"striped":"\n\n\n

Striped

\n

Use modifier class _striped_ to add zebra-striping to any table row within the <tbody>.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n\n\n\n

Combine modifier and themes classes.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n","rows":"\n\n\n

Rows

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- with .-table to set theme to <tr>.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n\t\n\n\t\n\t\n\n\t\n\t\n\n\t\n\n
\n\n\n
\n","hovered":"\n\n\n

Hovered

\n

Use modifier class _hovered_ to add highlight to hovered table row within the <tbody>.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n\n\n\n

Combine modifier and themes classes.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n","common":"

Tables

\n\n

\n\t

Global variables

\n\t
$table-class: \"-table\" !global\n$table-cell-padding: 8px !global
\n

\n","cells":"\n\n\n

Cells

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- to set theme to <td>.

\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\n\n
\n","basic":"\n\n\n

Basic usage

\n\n

Use class -row. Designates the element as a row of columns in the grid layout.

\n\n
\n\tFor mobile add modifier _responsive_. This will set for table font-size: 0.9em. And don't forget to hide minor cells on mobile with maxmertkit responsive utilities.\n
\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\n\n
\n\n\n\n\n

Horizontal border

\n

Use modifier class _horizontal_ to add horizontal dividers.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n\n\n\n\n

Vertical border

\n

Use modifier class _vertical_ to add vertical dividers.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n\n\n\n\n\n

Combine modifiers

\n

Combine modifiers _vertical_ and _horizontal_ to add inside dividers.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n\n\n\n\n\n\n

Bordered

\n

Use modifier class _bordered_ for borders on all sides of the table and cells.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n\n\n\n\n

Use themes

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- with .-table to set theme.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n"},"grid":{"row":"\n\n\n

Row

\n\n\n

\n\t

Global variables

\n\t
$row-class: -row !global
\n
\n

\n\n

Use class -row. Designates the element as a row of columns in the grid layout.

\n\n
\n\n\t
\n\t\t
\n\t\t\tThis is first row.\n\t\t
\n\t\t
\n\t\t\tThis is second row.\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t
\n\t\tThis is first row.\n\t
\n\t
\n\t\tThis is second row.\n\t
\n
\n\n
\n\n\n\n
\n\tUse modifier _justify_ to prevent mobile view of the grid.\n
\n\n
\n\n\t
\n\t\t
\n\t\t\t
Keep grid structure in mobile
\n\t\t\t
Keep grid structure in mobile
\n\t\t\t
Keep grid structure in mobile
\n\t\t
\n\t\t
\n\t\t\t
Don't keep grid structure in mobile
\n\t\t\t
Don't keep grid structure in mobile
\n\t\t\t
Don't keep grid structure in mobile
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t
Keep grid structure in mobile
\n\t
Keep grid structure in mobile
\n\t
Keep grid structure in mobile
\n
\n
\n\t
Don't keep grid structure in mobile
\n\t
Don't keep grid structure in mobile
\n\t
Don't keep grid structure in mobile
\n
\n\n
\n","container":"\n\n\n

Container

\n

\n\tGlobal variables\n\t

$container-class: -container !global
\n

\n

Use class -container to move block to the center in the viewport, clear its floats, and set its max-width.

\n
\n\t
\n\t\t
...
\n\t
\n
\n\n\n
\n\tUse modifier _fixed_ to cancel responsiveness.\n
\n\n
\n\t
\n\t\t
...width is always 992px...
\n\t
\n
\n","common":"
\n\t

Grid

\n
\n","columns":"\n\n\n

Columns

\n\n\n

\n\tGlobal variables\n\t

$column-class: -col !global\n$column-quantity: 12 !global\n$offset-class: -offset !global
\n

\n\n

Use class .-col#(# - number 1..$column-quantity). Specifies columns of the grid.

\n
\n\n\t
\n\t\t
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t
\n\n\t\t
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t
\n\n\t\t
\n\t\t\t
-col3
\n\t\t\t
-col3
\n\t\t\t
-col3
\n\t\t\t
-col3
\n\t\t
\n\n\t\t
\n\t\t\t
-col4
\n\t\t\t
-col4
\n\t\t\t
-col4
\n\t\t
\n\n\t\t
\n\t\t\t
-col5
\n\t\t\t
-col2
\n\t\t\t
-col5
\n\t\t
\n\n\t\t
\n\t\t\t
-col6
\n\t\t\t
-col6
\n\t\t
\n\n\t\t
\n\t\t\t
-col8
\n\t\t\t
-col4
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n
\n\n
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n
\n\n
\n\t
-col3
\n\t
-col3
\n\t
-col3
\n\t
-col3
\n
\n\n
\n\t
-col4
\n\t
-col4
\n\t
-col4
\n
\n\n
\n\t
-col5
\n\t
-col2
\n\t
-col5
\n
\n\n
\n\t
-col6
\n\t
-col6
\n
\n\n
\n\t
-col8
\n\t
-col4
\n
\n\n
\n
\n\n\n

Order

\n
\n\tYou can change order of the columns on different devices. Look at Utilities order.\n
\n\n\n\n

Offsets

\n

Use class .-offset#. These classes increase the left margin of a column by # columns.

\n
\n\t
\n\t\t
\n\t\t\t
-col2
\n\t\t\t
-col2 -offset2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t
\n\t\t
\n\t\t\t
-col6 -offset6
\n\t\t
\n\t\t
\n\t\t\t
-col6 -offset3
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t
-col2
\n\t
-col2 -offset2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n
\n
\n\t
-col6 -offset6
\n
\n
\n\t
-col6 -offset3
\n
\n
\n\n
\n"},"forms":{"grid":"\n\n\n

Build form grid

\n\n\n

\n\t

Global variables

\n\t
$form-input-font-family: inherit !global\n$form-input-border-radius: 0 !global\n$form-label-cursor: pointer !global\n$form-label-font-weight: 200 !global\n\n$form-column-margin-bottom: 4px !global
\n

\n\n\n

Dont't forget to use for=\"#id-input-name\" with <label>, it isn't necessary, but it's a good practice.

\n\n

\n\tCreating a form is designed to be easy and flexible. Forms are built with a combination of standard form elements, as well as the Grid (-row and -col#). Form elements in Foundation are styled based on their type attribute rather than a class, and can be sized in a couple of ways:\n\t

    \n\t\t
  • You can size inputs using column sizes -col#
  • \n\t\t
  • You can create row elements inside your form and use columns for the form, including inputs, labels and more. Rows inside a form inherit some special padding to even up input spacing.
  • \n\t
\n\tTo understand how to use Grid, please look at grid section.\n

\n\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n\n\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n\n\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success-, etc. with <input> to set theme.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n

Use size classes Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with <input> to set size.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n","fieldset":"\n\n\n

Fieldset

\n\n\n

\n\t

Global variables

\n\t
$form-fieldset-border: 1px solid rgba(0,0,0,.2) !global\n$form-fieldset-padding-vertical: $base-line-height-comp !global\n$form-fieldset-padding-horizontal: $base-line-height-comp !global\n$form-legend-padding: 7px !global
\n

\n\n\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\tFieldset Legend\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\tFieldset Legend\n\n\t\t\n\t\t\n\t
\n
\n\n\n
\n","fields":"\n\n\n

Fields

\n\n\n

\n\t

Global variables

\n\t
$form-field-class: \"-field\"\n$form-field-border-width: 3px\n$form-field-border-radius: 3px
\n

\n\n\n\n\n

What is filed? Field is an element with class -field and <input> inside. It doesn't has new functions, just looks prettier.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n\n

Use size classes Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with <input> to set size.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n","common":"
\n\t

Forms

\n
\n"}},"utilities":{"responsive":"

Responsive utilities

\n\n\n

\n\tFor faster mobile-friendly development, use these utility classes for showing and hiding content by device via media query. Also included are utility classes for toggling content when printed.\n

\n\n

\n\tTry to use these on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation. Responsive utilities are currently only available for block and table toggling. Use with inline and table elements is currently not supported.\n

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
mobiletabletsdesktopslarge desktops
._visible-phones_visiblehiddenhiddenhidden
._visible-tablets_hiddenvisiblehiddenhidden
._visible-desktops_hiddenhiddenvisiblehidden
._visible-large-desktops_hiddenhiddenhiddenvisible
._hidden-phones_hiddenvisiblevisiblevisible
._hidden-tablets_visiblehiddenvisiblevisible
._hidden-desktops_visiblevisiblehiddenvisible
._hidden-large-desktops_visiblevisiblevisiblehidden
\n\n\n

Test responsive

\n\n
\n\t
Visible on phones
Hidden on phones
\n\t
Visible on tablets
Hidden on tablets
\n\t
Visible on desktops
Hidden on desktops
\n\t
Visible on large
Hidden on large
\n
\n
\n
\n\t
Hidden on phones
Visible on phones
\n\t
Hidden on tablets
Visible on tablets
\n\t
Hidden on desktops
Visible on desktops
\n\t
Hidden on large desktops
Visible on large
\n
\n
\n
\n\t
Visible on all desktops
Hidden on phones and tablets
\n\t
Visible on desktops
Hidden on desktops
\n\t
Hidden on large desktops
Visible on large
\n
\n","order":"

Changing order

\n\n\n

\n\tIf you want to change order of any floating elements ( for example grid ), use this modifiers.\n

\n\n

\n\tIn this example columns will swap while you resizing window or use mobile browser.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
right on big
\n\t\t\t
center
\n\t\t\t
left on big
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
right on big
\n\t
center
\n\t
left on big
\n
\n\t
\n\n
\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t
right on big
\n\t\t\t
left on big
\n\t\t\t
center
\n\t\t\t
center 2
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
right on big
\n\t
left on big
\n\t
center
\n\t
center 2
\n
\n\t
\n\n
\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t
Menu
\n\t\t\t
Main content
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
Menu
\n\t
Main content
\n
\n\t
\n\n
\n"},"components":{"wall":"\t

Wall

\n\n\n\t
\n\t\t

Make a parallax effect with image or video background

\n\t
\n\n\n\t
\n\n\t
\n\t\tLook at the example. Walls with video and image backgrounds code below.\n\t
\n\n\n\t
walls = document.querySelectorAll(\"[data-kind='wall']\")\nfor wl in walls\n\twl.wall()
\n\n\t
\n\t
\n\t\t\n\t\t\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Yosemite

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
The LIFE, Colin Delehanty\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n\t
\n\t
\n\t\t\n\t\t
\n\t\t\t\"\"\n\t\t
\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Yosemite

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
The LIFE, Colin Delehanty\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n
You can add a content after <header>
\n\n
\n\n\t
\n\t\tLook at the example. Walls with video and image backgrounds code below.\n\t
\n\n\n\t
\n\t
\n\t\t\n\t\t
\n\t\t\t\"\"\n\t\t
\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Yosemite

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
The LIFE, Colin Delehanty\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t\n\t\t
\n\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tA lot of content here.\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n\n\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
kind@el.getAttribute( 'data-kind' ) or 'wall'\n\t\t\t\tSet walling type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or '.-thumbnail'\n\t\t\t\tString. Selector for the scrolling background element. For example <figure> or <video> or #video-id.\n\t\t\t
header@el.getAttribute( 'data-header' ) or '.-header'\n\t\t\t\tString. Selector for the header inside wall.\n\t\t\t
headerFade@el.getAttribute( 'data-fade' ) or yes\n\t\t\t\tBoolean. Hide header while scrolling out.\n\t\t\t
speed@el.getAttribute( 'data-speed' ) or 0.7\n\t\t\t\tNumber between 0 and 1. 1 – background element stands, 0 – element scrolls as usual.\n\t\t\t
zoom@el.getAttribute( 'data-zoom' ) or no\n\t\t\t\tBoolean. Zoom background element while scrolling.\n\t\t\t
height@el.getAttribute( 'data-height' ) or '100%'\n\t\t\t\tString or Number. Height of the wall. Inside should be measures like % or px. If number than it will use px.\n\t\t\t
onMobile@el.getAttribute( 'data-on-mobile' ) or no\n\t\t\t\tDeactivate wall on mobile devices.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
start\n\t\t\t\t

Activate wall.

\n\t\t\t
stop\n\t\t\t\t

Deativate wall.

\n\t\t\t
refresh\n\t\t\t\t

Refresh all positions and sizes.

\n\t\t\t
destroy\n\t\t\t\t

Destroy current instance.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get wall element use @ or this in js. Class instance always stores in data attribute of the wall element @data['kitWall'] or this.data['kitWall'] in js. To get wall element do @data['kitWall'].el. To get wall background element do @data['kitWall'].target.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate the wall. If it returns deferred.promise(), then wall will not start till deferred.resolve(), and woun't start if deferred.reject().

\n\t\t\t\t

document.querySelector('.wall').wall\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The wall will be in the log\n\t\t# so you can, for example, add classes\n\t\t# to disable the wall\n\n\t\tconsole.log @data['kitWall']\n\t\t# The instance of Wall class will in log\n\t\t# so to get wall element you need to do\n\t\twall = @data['kitWall']\n\t\twall._addClass 'some-class'\n\n\t\t# Do something here before activate wall\n\t\t# in this case it will start in 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after wall started.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if starting failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before wall stopped.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after wall stopped.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stopping failed.

\n\t\t\t
\n\n\n
\n","tabs":"
\n\t

Tabs

\n\n\n\t
\n\t\tTabs buttons and tabs content may be anywhere in the dom, you don't need to collect them in one dom element. It is an analog of button plugin with data-type=\"radio\".\n\t
\n\n\n\t
\n\n\t
\n\t\t\n\t\t
\n\t\t\t
Content for tab 1
\n\t\t\t
Content for tab 2
\n\t\t\t
Content for tab 3
\n\t\t\t
Content for tab 4
\n\t\t
\n\t
\n\n\n\t
\n
\n\t
Content for tab 1
\n\t
Content for tab 2
\n\t
Content for tab 3
\n\t
Content for tab 4
\n
\n
\n\n
tabs = document.querySelectorAll(\"[data-toggle='tabs']\")\nfor tab in tabs\n\ttab.tabs()\n
\n\n
\n\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
toggle@el.getAttribute( 'data-toggle' ) or 'tabs'\n\t\t\t\tSet toggle type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or null\n\t\t\t\tSelector to find the content of that tab button.\n\t\t\t
group@el.getAttribute( 'data-group' ) or null\n\t\t\t\tName of the tabs group. Uses to deactivate other tabs in the group, when one tab was activated.\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to activate/deactivate button.\n\t\t\t
initial@el.getAttribute( 'data-initial' ) or 0\n\t\t\t\tNumber of the tab to activate after initialization.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
activate\n\t\t\t\t

Activate button.

\n\t\t\t
deactivate\n\t\t\t\t

Deactivate button.

\n\t\t\t
enable\n\t\t\t\t

Enable button, events will work.

\n\t\t\t
disable\n\t\t\t\t

Disable button, events will not work.

\n\t\t\t
\n\n\n

Events

\n
\n\tInside each method to get tab use @ or this in js. Class instance always stores in data attribute of the tab element @data['kitTabs'] or this.data['kitTabs'] in js.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate tab. If it returns deferred.promise(), then tab will not activate till deferred.resolve(), and woun't activate at all if deferred.reject(). You can just get data with ajax instead of using deferred.

\n\t\t\t\t

tabs = document.querySelectorAll('.tabs-selector')\nfor tab in tabs\n\ttab.tabs\n\t\tbeforeactive: ->\n\t\t\td = $.Deferred()\n\n\t\t\ttab = @data['kitTabs']\n\t\t\ttab.el.querySelector('a').innerHTML = 'Loading...'\n\t\t\ttab._addClass '_disabled_'\n\n\t\t\tsetTimeout ->\n\t\t\t\td.resolve()\n\t\t\t,2000\n\t\t\td.promise()\n\n\t\tonactive: ->\n\t\t\ttab = @data['kitTabs']\n\t\t\ttab._removeClass '_disabled_'\n\t\t\ttab.el.querySelector('a').innerHTML = 'Active tab'\n\n\t\tondeactive: ->\n\t\t\ttab = @data['kitTabs']\n\t\t\ttab.el.querySelector('a').innerHTML = 'Tab'\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after tab activation.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before deactivate tab.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after deactivate tab.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if deactivation failed.

\n\t\t\t
\n\n\n\n\n
\n","skyline":"\t

Skyline

\n\n\n\t
\n\t\t

When the skyline element is in visible part of the document, starts animation to show it.

\n\n\t\t
Don't forget to add animation classes to your skyline elements.
\n\t
\n\n\n\t
\n\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n...
\n\n
skylines = document.querySelectorAll(\"[data-spy='skyline']\")\nfor sky in skylines\n\tsky.skyline\n\t\tdelay: ->\n\t\t\t2000 * Math.random()\n
\n\n
\n\n\n

Let's change animation to -newspaper--.

\n\n\n
\n\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n...
\n\n
skylines = document.querySelectorAll(\"[data-spy='skyline']\")\nfor sky in skylines\n\tsky.skyline\n\t\tdelay: ->\n\t\t\t2000 * Math.random()\n
\n\n
\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
spy@el.getAttribute( 'data-spy' ) or 'skyline'\n\t\t\t\tSet toggle type of the element.\n\t\t\t
offset@el.getAttribute( 'data-offset' ) or 5\n\t\t\t\tNumber. Vertical offset to start showing scrollspy elements before or after they are visible.\n\t\t\t
delay@el.getAttribute( 'data-delay' ) or 300\n\t\t\t\tNumber or Function, returning number. Delay before showing.\n\t\t\t
onMobile@el.getAttribute( 'data-on-mobile' ) or no\n\t\t\t\tStop Skyline plugin on mobile devices.\n\t\t\t
\n\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
activate\n\t\t\t\t

Activate current skyline element.

\n\t\t\t
deactivate\n\t\t\t\t

Deactivate current skyline element.

\n\t\t\t
start\n\t\t\t\t

Start listening scroll events.

\n\t\t\t
stop\n\t\t\t\t

Stop listening scroll effects.

\n\t\t\t
refresh\n\t\t\t\t

Refresh sizes and position of the skyline element.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get skyline use @ or this in js. Class instance always stores in data attribute of the skyline element @data['kitSkyline'] or this.data['kitSkyline'] in js.\n
\n\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
EventDescription
beforeactive\n\t\t\t\t

Set a function to call it before start skyline. If it returns deferred.promise(), then skyline will not start till deferred.resolve(), and woun't start at all if deferred.reject(). You can just get data with ajax instead of using deferred.

\n\t\t\t\t

skylines = document.querySelectorAll(\".radio-with-before\")\nfor btn in skylines\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,2000\n\t\td.promise()\n\n\tonactive: ->\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._removeClass '_disabled_'\n\n\tbeforedeactive: ->\n\t\td = $.Deferred()\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,3000\n\t\td.promise()\n\n\tondeactive: ->\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._removeClass '_disabled_'\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after skyline start.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if start failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before stop skyline.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after stop skyline.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stop failed.

\n\t\t\t
","scrollspy":"
\n\t

Scrollspy

\n\n\n\t
\n\t\t
\n\n\t\t
\n\t\t
\n\n\t\t
\n\t\t
\n\n\t\t
\n\t
\n\n\n\n\t
\n\n\t
\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

Menu 1

\n\t\t\t\t

\n\t\t\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon; formally 日本国 About this sound Nippon-koku or Nihon-koku, literally \"the State of Japan\") is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south. The characters that make up Japan's name mean \"sun-origin\", which is why the country is sometimes referred to as the \"Land of the Rising Sun\". Japan is an archipelago of 6,852 islands, the four largest being Honshu, Hokkaido, Kyushu and Shikoku. Together, these four islands hold about 97 percent of the country's land area. Japan has the world's tenth-largest population, with more than 126 million people. Honshū's Greater Tokyo Area includes the de facto capital city of Tokyo and several surrounding prefectures. It is the largest metropolitan area in the world, with more than 30 million residents.\n\t\t\t\t

\n\n\t\t\t\t

Menu 2

\n\t\t\t\t

\n\t\t\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon; formally 日本国 About this sound Nippon-koku or Nihon-koku, literally \"the State of Japan\") is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south. The characters that make up Japan's name mean \"sun-origin\", which is why the country is sometimes referred to as the \"Land of the Rising Sun\". Japan is an archipelago of 6,852 islands, the four largest being Honshu, Hokkaido, Kyushu and Shikoku. Together, these four islands hold about 97 percent of the country's land area. Japan has the world's tenth-largest population, with more than 126 million people. Honshū's Greater Tokyo Area includes the de facto capital city of Tokyo and several surrounding prefectures. It is the largest metropolitan area in the world, with more than 30 million residents.\n\t\t\t\t

\n\n\t\t\t\t

Menu 3

\n\t\t\t\t

\n\t\t\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon; formally 日本国 About this sound Nippon-koku or Nihon-koku, literally \"the State of Japan\") is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south. The characters that make up Japan's name mean \"sun-origin\", which is why the country is sometimes referred to as the \"Land of the Rising Sun\". Japan is an archipelago of 6,852 islands, the four largest being Honshu, Hokkaido, Kyushu and Shikoku. Together, these four islands hold about 97 percent of the country's land area. Japan has the world's tenth-largest population, with more than 126 million people. Honshū's Greater Tokyo Area includes the de facto capital city of Tokyo and several surrounding prefectures. It is the largest metropolitan area in the world, with more than 30 million residents.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\n\n\t
\n\n\t
\n\t
\n\t\t

Menu 1

\n\t\t

\n\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon;...\n\t\t

\n\n\t\t

Menu 2

\n\t\t

\n\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon;...\n\t\t

\n\n\t\t

Menu 3

\n\t\t

\n\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon;...\n\t\t

\n\t
\n
\n\n\t
document.querySelector('[data-spy=\"scroll\"]').scrollspy\n\toffset: 100
\n\n
\n\n\n\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
spy@el.getAttribute( 'data-spy' ) or 'scroll'\n\t\t\t\tSet spying type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or 'body'\n\t\t\t\tListen to event scroll of this element. All spying blocks are inside.\n\t\t\t
offset@el.getAttribute( 'data-offset' ) or 5\n\t\t\t\tVertical offset of the element in text to fire the activation (for example activate menu when the header will be 5px above the top of the screen).\n\t\t\t
elements@el.getAttribute( 'data-elements' ) or 'li a'\n\t\t\t\tSelector to spy those elements inside @ (spy, or menu in our case).\n\t\t\t
elementsAttr@el.getAttribute( 'data-elements-attr' ) or 'href'\n\t\t\t\tAttribute of each element with ID of the target.\n\t\t\t
onMobile@el.getAttribute( 'data-on-mobile' ) or no\n\t\t\t\tDeactivate spy on mobile devices.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
start\n\t\t\t\t

Activate spy.

\n\t\t\t
stop\n\t\t\t\t

Deativate spy.

\n\t\t\t
refresh\n\t\t\t\t

Refresh all menu items and positions of targets.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get menu element use @ or this in js. Class instance always stores in data attribute of the menu element @data['kitScrollspy'] or this.data['kitScrollspy'] in js. To get scrollspy element (menu) do @data['kitScrollspy'].el. To get scrollspy scroll block do @data['kitScrollspy'].target.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate the spy. If it returns deferred.promise(), then spy will not start till deferred.resolve(), and woun't start if deferred.reject().

\n\t\t\t\t

document.querySelector('.spy-this-menu').scrollspy\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The spy (menu) will be in the log\n\t\t# so you can, for example, add classes\n\t\t# to disable the spying menu\n\n\t\tconsole.log @data['kitScrollspy']\n\t\t# The instance of Scrollspy class will in log\n\t\t# so to get scrollspy element you need to do\n\t\tspy = @data['kitScrollspy']\n\t\tspy._addClass '_disabled_'\n\n\t\t# Do something here before activate scrollspy\n\t\t# in this case it will start in 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after spy started.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if starting failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before spy stopped.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after spy stopped.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stopping failed.

\n\t\t\t
\n\n\n
\n","popup":"
\n\t

Popup

\n\n\n\t
\n\t\t
\n\t\t\t

HTML Popup

\n\t\t\t

\n\t\t\t\tUse widgets -dropdown or -tooltip\n\t\t\t

\n\t\t\t

\n\t\t\t\tTo set animation to the dialog window add animation name: -fadein--, -fall--, -fliphorizontal--, -flopvertical--, -slidein--, -scalein--, -newspaper--.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

HTML Button

\n\t\t\t

\n\t\t\t\tAdd data attributes to any widget data-toggle=\"popup\" and data-target=\"#popup1\". The plugin will find such buttons automatically. In data-target you can set classes or ids.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

Coffescript

\n\t\t\t

Simple way:

\n\t\t\t

el.popup()

More complicated:

\n\t\t\t

el.popup\n\tbeforeactive: ->\n\t\t# Get popup class instance\n\t\tpopup = @data['kitPopup']\n\t\t# Set new content\n\t\tpopup.dialog.innerHTML = \"Set content here\"\n\n\tonactive: ->\n\t\t# Add active class to the button\n\t\t@_addClass '_active_'\n\n\tondeactive: ->\n\t\t# Remove active class to the button\n\t\t@_removeClass '_active_'

\n\t\t
\n\t
\n\n\n\n\t
\n\n\t
\n\t\tcorner\n\t\tdoor\n\t\tfadein\n\t\tfall\n\t\tfliphorizontal\n\t\tflipvertical\n\t\thugeinc\n\t\tnewspaper\n\t\tscale\n\t\tslidedown\n\t
\n\n\t
\n\t\tTop\n\t\tLeft\n\t\tRight\n\t\tBottom\n\t\tBottom right\n\t\tTop left\n\t
\n\n\n\t\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n...\n
\n\n
document.querySelector('.btn-popup-demo').popup\n\tbeforeactive: ->\n\t\tpopup = @data['kitPopup']\n\t\tpopup.dialog.innerHTML = \"Popup #{popup._id} with dynamic content
Random number #{Math.random()}\"\n\n\tonactive: ->\n\t\t@_addClass '_active_'\n\n\tondeactive: ->\n\t\t@_removeClass '_active_'\n\n\ndocument.querySelector('.btn-popup-demo-left').popup\n\tposition:\n\t\tvertical: 'middle'\n\t\thorizontal: 'left'\n\tbeforeactive: ->\n\t\tpopup = @data['kitPopup']\n\t\tpopup.dialog.innerHTML = \"Popup #{popup._id} with dynamic content
Random number #{Math.random()}\"\n\n\tonactive: ->\n\t\t@_addClass '_active_'\n\n\tondeactive: ->\n\t\t@_removeClass '_active_'\n\n...\n
\n\n\n
\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
target @el.getAttribute( 'data-target' ) or null\n\t\t\t\tFind element with this selector and work with it as a popup window.\n\t\t\t
toggle@el.getAttribute( 'data-toggle' ) or 'popup'\n\t\t\t\tSet toggle type.\n\t\t\t
dialog@el.getAttribute( 'data-dialog' ) or \".-content\"\n\t\t\t\tSelector to find dialog blog inside popup.\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to open popup.\n\t\t\t
eventClose@el.getAttribute( 'data-event-close' ) or \"click\"\n\t\t\t\tEvent for closer element to close popup. Closer element should be anywhere in the DOM with attribute data-dismiss=\"target-selector\".\n\t\t\t
autoOpen@el.getAttribute('data-autoopen') or no\n\t\t\t\tOpen popup after initialization.\n\t\t\t
position{\n\t\t\t\tvertical: @el.getAttribute( 'data-position-vertical' ) or 'top',\n\t\t\t\thorizontal: @el.getAttribute( 'data-position-horizontal' ) or 'center'\n\t\t\t}\n\t\t\t\tPopup position relative to the button.
\n\t\t\t\tvertical: 'top' / 'middle' / 'bottom'
\n\t\t\t\thorizontal: 'left' / 'center' / 'right'\n\t\t\t
offset\n\t\t\t\t\n\t\t\t\t\thorizontal: @el.getAttribute( 'data-offset-horizontal' ) or 0
\n\t\t\t\t\tvertical: @el.getAttribute( 'data-offset-vertical' ) or 0\n\t\t\t\t
\n\t\t\t
\n\t\t\t\tIn px. Offset relative to position.\n\t\t\t
closeUnfocus\n\t\t\t\t\n\t\t\t\t\t@el.getAttribute( 'data-close-unfocus' ) or no\n\t\t\t\t\n\t\t\t\n\t\t\t\tClose popup if click outside of it.\n\t\t\t
closeOnResize\n\t\t\t\t\n\t\t\t\t\t@el.getAttribute( 'data-close-resize' ) or yes\n\t\t\t\t\n\t\t\t\n\t\t\t\tClose popup when browser window resizing.\n\t\t\t
selfish\n\t\t\t\t\n\t\t\t\t\t@el.getAttribute( 'data-selfish' ) or yes\n\t\t\t\t\n\t\t\t\n\t\t\t\tClose all popups when opens this one.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
open\n\t\t\t\t

Open popup.

\n\t\t\t
close\n\t\t\t\t

Close popup.

\n\t\t\t
enable\n\t\t\t\t

Start listening to the events.

\n\t\t\t
disable\n\t\t\t\t

Stop listening to the events. Popup will stay in current status (opened or closed) and will not work anymore.

\n\t\t\t
setPosition\n\t\t\t\t

Refresh position of the popup relative to the button.

\n\t\t\t
\n\n\n

Events

\n\n
\n\tInside each method to get button use @ or this in js. Class instance always stores in data attribute of the button element @data['kitPopup'] or this.data['kitPopup'] in js. To get popup window element do @data['kitPopup'].target.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactiveundefined\n\t\t\t\t

Set a function to call it before popup opens. If it returns deferred.promise(), then popup will not open till deferred.resolve(), and woun't open if deferred.reject(). You can just get data with ajax for popup.

\n\t\t\t\t

document.querySelector('.btn-popup').popup\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The button element will be in the log\n\t\t# so you can add or remove classes easily\n\t\t# for example to disable button while getting data for popup window\n\n\t\tconsole.log @data['kitPopup']\n\t\t# The instance of Modal class will in log\n\t\t# so to get popup window element you need to do\n\t\tpopup = @data['kitPopup'].target\n\n\t\t# To get popup element do\n\t\tconsole.log popup.target\n\n\t\t# To get popup dialog element do\n\t\tconsole.log popup.dialog\n\n\t\t# Do something here before open window\n\t\t# in this case it will open popup window after 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after popup opens.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before popup closes.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after popup closes.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if deactivation failed.

\n\t\t\t
\n\n\n
\n\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n","modal":"
\n\t

Modal

\n\n\n\t
\n\t\t
\n\t\t\t

HTML Modal

\n\t\t\t

\n\t\t\t\tUse widget class -modal to add backdrop. Inside this backdrop add -holder to set dialog window in the center. Inside -holder add -dialog to create dialog window. Use -header, -content and -footer inside.\n\t\t\t

\n\t\t\t

\n\t\t\t\tTo set animation to the dialog window add animation name: -fadein--, -fall--, -fliphorizontal--, -flopvertical--, -slidein--, -scalein--, -newspaper--.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

HTML Button

\n\t\t\t

\n\t\t\t\tAdd data attributes to any widget data-toggle=\"modal\" and data-target=\"#modal1\". The plugin will find such buttons automatically. In data-target you can set classes or ids.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

Coffescript

\n\t\t\t

Simple way:

\n\t\t\t

el.modal()

More complicated:

\n\t\t\t

el.modal\n\ttarget: '.modal123'\n\ttoggle: 'modal'\n\tevent: 'click'\n\teventClose: 'click'\n\tbackdrop: yes

\n\t\t
\n\t
\n\n\n\n\n\t
\n\n\t\n\n\n\t\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

\n\t\t\t\t

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n
\n
doument.querySelector('.btn-modal-fast').modal()\ndoument.querySelector('.btn-modal123').modal\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\n\t\td.promise()\n
\n\n
\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
toggle@el.getAttribute( 'data-toggle' ) or 'modal'\n\t\t\t\tSet toggle type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or null\n\t\t\t\tFind element with this selector and work with it as a modal window.\n\t\t\t
dialog@el.getAttribute( 'data-dialog' ) or \".-dialog\"\n\t\t\t\tSelector to find dialog block inside target (modal window).\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to open modal window.\n\t\t\t
eventClose@el.getAttribute( 'data-event-close' ) or \"click\"\n\t\t\t\tThis event will be used to close window. Will listen on elements with data-dismiss=\".modal\" to close modal window with selector .modal.\n\t\t\t
backdrop@el.getAttribute('data-backdrop') or no\n\t\t\t\tClose modal window when clicked on the backdrop.\n\t\t\t
push@el.getAttribute('data-push') or no\n\t\t\t\tNOT TESTED. The selector of the container with WHOLE content, except modal window, to use push animation.\n\t\t\t
autoOpen@el.getAttribute('data-autoopen') or no\n\t\t\t\tOpen modal after initialize.\n\t\t\t
selfish@el.getAttribute('data-selfish') or yes\n\t\t\t\tClose all Modal instances after current instance initialized.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
open\n\t\t\t\t

Open modal window.

\n\t\t\t
close\n\t\t\t\t

Close modal window.

\n\t\t\t
enable\n\t\t\t\t

Start listening to the events.

\n\t\t\t
disable\n\t\t\t\t

Stop listening to the events. Modal window will stay in current status (opened or closed) and will not work anymore.

\n\t\t\t
\n\n\n\n

Events

\n
\n\tInside each method to get button use @ or this in js. Class instance always stores in data attribute of the button element @data['kitModal'] or this.data['kitModal'] in js. To get modal window element do @data['kitModal'].el.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before window opens. If it returns deferred.promise(), then modal window will not open till deferred.resolve(), and woun't open if deferred.reject(). You can just get data with ajax for modal window.

\n\t\t\t\t

modals = document.querySelectorAll(\"[data-toggle='modal']\")\nfor md in modals\n\tmd.modal\n\t\tbeforeopen: ->\n\t\t\td = $.Deferred()\n\n\t\t\tconsole.log @\n\t\t\t# The button will be in the log\n\t\t\t# so you can add something like\n\n\t\t\tconsole.log @data['kitModal']\n\t\t\t# The instance of Modal class will in log\n\t\t\t# so to get modal window element you need to do\n\t\t\tmodal = @data['kitModal']\n\t\t\t# From now you can access to the button by\n\t\t\tconsole.log modal.el\n\t\t\t# And to the modal window element by\n\t\t\tconsole.log modal.target\n\n\t\t\t# Do something here before open window\n\t\t\t# in this case it will open modal window after 2 seconds\n\t\t\tsetTimeout ->\n\t\t\t\td.resolve()\n\t\t\t, 2000\n\t\t\t# End of your code\n\n\t\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after modal window opens.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before modal window closes.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after modal window closes.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
\n\n\n\n\n

Animations

\n

\n\tUse widget different animations. Add classes to the -dialog.\n

\n
\n\n\t
\n\n\t\t\tFade in\n\t\t\tFlip horizontal\n\t\t\tFlip vertical\n\t\t\tNewspaper\n\t\t\tCorner\n\t\t\tDoor\n\t\t\tFall\n\t\t\tHugeinc\n\t
\n\n\n\t\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\t...\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\t...\n\t\t\t
\n\t\t
\n\t
\n
\n
\n\n
modals = doument.querySelectorAll('.btn-modal-fast')\nfor modal in modals\n\tmodal.modal()\n
\n\n
\n\n\n
\n\tFor the whole list of possible animations look at animations components.\n
\n\n\n\n
\n\n\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tOpen popup\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tFlip horizontal popup\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

\n\t\t\t\t

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n","button":"
\n\t

Button

\n\n\t
\n\n\t
\n\t\tButton 1\n\t\tButton 2\n\n\t\t
\n\n\t\t
\n\t\t\tRadio 1Radio 2\n\t\t
\n\n\t\t
\n\t\t\tCheckboxCheckbox\n\t\t
\n\t
\n\n\n\t
Button 1\nButton 2\n\n
\n\tRadio 1\n\tRadio 2\n
\n\n\n
\n\n
buttons = document.querySelectorAll(\"[data-toggle='button']\")\nfor btn in buttons\n\tbtn.button()\n
\n\n
\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\tCheckboxCheckbox\n\t\t
\n\t
\n\n\n\t
\n
\n\n
buttons = document.querySelectorAll(\"[data-toggle='button']\")\nfor btn in buttons\n\tbtn.button\n\t\tbeforeactive: ->\n\t\t\td = $.Deferred()\n\t\t\tbutton = @data['kitButton']\n\t\t\tbutton.el.innerHTML = 'Loading...'\n\t\t\tbutton._addClass '_disabled_'\n\t\t\tsetTimeout ->\n\t\t\t\td.resolve()\n\t\t\t,2000\n\t\t\td.promise()\n\n\t\tonactive: ->\n\t\t\tbutton = @data['kitButton']\n\t\t\tbutton.el._removeClass '_disabled_'\n\t\t\tbutton.el.innerHTML = 'Checked'\n\n\t\tondeactive: ->\n\t\t\tbutton = @data['kitButton']\n\t\t\tbutton.el.innerHTML = 'Checkbox'\n
\n\n
\n\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\tRadio 1Radio 2Radio 3\n\t\t
\n\t
\n\n\n\t
\n\tRadio 1\n\tRadio 2\n\tRadio 3\n
\n
\n\n
buttons = document.querySelectorAll(\".radio-with-before\")\nfor btn in buttons\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Loading...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,2000\n\t\td.promise()\n\n\tonactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Checked'\n\t\tbutton._removeClass '_disabled_'\n\n\tbeforedeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Unchecking...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,3000\n\t\td.promise()\n\n\tondeactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton._removeClass '_disabled_'\n\t\tbutton.el.innerHTML = 'Radio'\n
\n\n
\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
toggle@el.getAttribute( 'data-toggle' ) or 'button'\n\t\t\t\tSet toggle type of the element.\n\t\t\t
type@el.getAttribute( 'data-type' ) or 'button'\n\t\t\t\tbutton, radio, checkbox. Define button's behaviour. If radio, then will uncheck all buttons from it's group.\n\t\t\t
group@el.getAttribute( 'data-group' ) or no\n\t\t\t\tString. Uses for type: radio, just type any name for group of radiobuttons or checkboxes.\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to activate/deactivate button.\n\t\t\t
selfish@el.getAttribute( 'data-selfish' ) or no\n\t\t\t\tDeactivate all instances of Button when current instance activated.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
activate\n\t\t\t\t

Activate button.

\n\t\t\t
deactivate\n\t\t\t\t

Deactivate button.

\n\t\t\t
enable\n\t\t\t\t

Enable button, events will work.

\n\t\t\t
disable\n\t\t\t\t

Disable button, events will not work.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get button use @ or this in js. Class instance always stores in data attribute of the button element @data['kitButton'] or this.data['kitButton'] in js.\n
\n\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
EventDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate button. If it returns deferred.promise(), then button will not activate till deferred.resolve(), and woun't activate at all if deferred.reject(). You can just get data with ajax instead of using deferred.

\n\t\t\t\t

buttons = document.querySelectorAll(\".radio-with-before\")\nfor btn in buttons\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Loading...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,2000\n\t\td.promise()\n\n\tonactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Checked'\n\t\tbutton._removeClass '_disabled_'\n\n\tbeforedeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Unchecking...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,3000\n\t\td.promise()\n\n\tondeactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton._removeClass '_disabled_'\n\t\tbutton.el.innerHTML = 'Radio'\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after button activation.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before deactivate button.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after deactivate button.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if deactivation failed.

\n\t\t\t
\n\n\n\n
\n","affix":"
\n\t

Affix

\n\n\t

The subnavigation on the right is a live demo of the affix plugin.

\n\n\t
\n\t\tTo move your affix block inside some parent, just add position: relative to that parent.\n\t
\n\n\n\n\n\t
\n
document.querySelector(\"#affix-el\").affix({ offset: -25 })\n
\n\n
\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
spy@el.getAttribute('data-spy') or 'affix'\n\t\t\t\tSet type of spying\n\t\t\t
offset@el.getAttribute( 'data-offset' ) or 5\n\t\t\t\tIn px. Affix's block offset from top.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
start\n\t\t\t\t

Activate affix

\n\t\t\t
stop\n\t\t\t\t

Deativate affix

\n\t\t\t
\n\n\n

Events

\n\n
\n\tInside each event function of affix element use @ or this in js. Class instance always stores in data attribute of the affix element @data['kitAffix'] or this.data['kitAffix'] in js.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
EventDescription
beforeactive\n\t\t\t\t

Set a function to call it before start affix. If it returns deferred.promise(), then affix will not start till deferred.resolve(), and woun't start at all if deferred.reject(). You can just get data with ajax for your affix block.

\n\t\t\t\t

el.affix\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The affix DOM element will be in the log\n\n\t\tconsole.log @data['kitAffix']\n\t\t# The instance of Affix class will in log\n\n\t\t# Do something here before start affix\n\t\t# in this case it will start after 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after affix started.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if starting failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before affix stopped.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after affix stopped.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stopping failed.

\n\t\t\t
\n\n\n
\n"}},"tests":{"layout":"\n\nMain test layout\n\n\n\n
\n
\n
\n\n\n\n\n\nOpen modal\nOpen modal 2\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tOpen popup\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tFlip horizontal popup\n\t\t\t
\n\t\t
\n\t
\n
\n
\n
\n
\n
\n\n\n\n\nHeader\n\n
\n
\n\n

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n

\nOpen popup\n

\n

\nClose\n

\n
\n
\n
\n\n
\nFlip horizontal popup\n
\n
\n
\n
\n\n
\nOpen popup\n\n
\n\t\n\t
Set content here
\n
\n
\n\n
\nOpen popup\n\n
\n\n
Set content here
\n
\n
\n\n\n\n\n
\nSpy 1\n
\n
\nSpy 2\n
\n
\nSpy 3\n
\n
\nSpy 4\n
\n\n\n\n
\n\t
Content for tab 1
\n\t
Content for tab 2
\n\t
Content for tab 3
\n\t
Content for tab 4
\n
\n\n\n\n
\n
\n\n\n
\n
\n
\n
\n

Yosemite

\n

Time-lapse video project set in Yosemite National Park, 2014

\n\n
\n\"Life\"\n
The LIFE, Colin Delehanty\n
\n
\n
\n
\n
\n
\n
\n\n\n"},"examples":{"blog":"\n\n\n\n\n\n
\n\t
\n\t\t
\n\t\t\t\"Microscope\"\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Billionaires With Big Ideas Are Privatizing American Science

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\"WILLIAM\n\t\t\t\t\t\t\t
The New York Times, William Broad, March 15, 2014\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tLast April, President Obama assembled some of the nation’s most august scientific dignitaries in the East Room of the White House. Joking that his grades in physics made him a dubious candidate for “scientist in chief,” he spoke of using technological innovation “to grow our economy” and unveiled “the next great American project”: a $100 million initiative to probe the mysteries of the human brain.\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tAlong the way, he invoked the government’s leading role in a history of scientific glories, from putting a man on the moon to creating the Internet. The Brain initiative, as he described it, would be a continuation of that grand tradition, an ambitious rebuttal to deep cuts in federal financing for scientific research.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\t

“We can’t afford to miss these opportunities while the rest of the world races ahead,” Mr. Obama said. “We have to seize them. I don’t want the next job-creating discoveries to happen in China or India or Germany. I want them to happen right here.”

\n\t\t\t\t\t\tMr. Barak Obama\n\t\t\t\t\t
\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tAbsent from his narrative, though, was the back story, one that underscores a profound change taking place in the way science is paid for and practiced in America. In fact, the government initiative grew out of richly financed private research: A decade before, Paul G. Allen, a co-founder of Microsoft, had set up a brain science institute in Seattle, to which he donated $500 million, and Fred Kavli, a technology and real estate billionaire, had then established brain institutes at Yale, Columbia and the University of California. Scientists from those philanthropies, in turn, had helped devise the Obama administration’s plan.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Wendy Schmidt and her husband are advancing ocean studies.

\n\t\t\t\t\t\t

Béatrice de Géa for The NYT

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tAmerican science, long a source of national power and pride, is increasingly becoming a private enterprise.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tIn Washington, budget cuts have left the nation’s research complex reeling. Labs are closing. Scientists are being laid off. Projects are being put on the shelf, especially in the risky, freewheeling realm of basic research. Yet from Silicon Valley to Wall Street, science philanthropy is hot, as many of the richest Americans seek to reinvent themselves as patrons of social progress through science research.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThe result is a new calculus of influence and priorities that the scientific community views with a mix of gratitude and trepidation.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\t“For better or worse,” said Steven A. Edwards, a policy analyst at the American Association for the Advancement of Science, “the practice of science in the 21st century is becoming shaped less by national priorities or by peer-review groups and more by the particular preferences of individuals with huge amounts of money.”\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThey have mounted a private war on disease, with new protocols that break down walls between academia and industry to turn basic discoveries into effective treatments. They have rekindled traditions of scientific exploration by financing hunts for dinosaur bones and giant sea creatures. They are even beginning to challenge Washington in the costly game of big science, with innovative ships, undersea craft and giant telescopes — as well as the first private mission to deep space.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThe new philanthropists represent the breadth of American business, people like Michael R. Bloomberg, the former New York mayor (and founder of the media company that bears his name), James Simons (hedge funds) and David H. Koch (oil and chemicals), among hundreds of wealthy donors. Especially prominent, though, are some of the boldest-face names of the tech world, among them Bill Gates (Microsoft), Eric E. Schmidt (Google) and Lawrence J. Ellison (Oracle).\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThis is philanthropy in the age of the new economy — financed with its outsize riches, practiced according to its individualistic, entrepreneurial creed. The donors are impatient with the deliberate, and often politicized, pace of public science, they say, and willing to take risks that government cannot or simply will not consider.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tYet that personal setting of priorities is precisely what troubles some in the science establishment. Many of the patrons, they say, are ignoring basic research — the kind that investigates the riddles of nature and has produced centuries of breakthroughs, even whole industries — for a jumble of popular, feel-good fields like environmental studies and space exploration.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tAs the power of philanthropic science has grown, so has the pitch, and the edge, of the debate. Nature, a family of leading science journals, has published a number of wary editorials, one warning that while “we applaud and fully support the injection of more private money into science,” the financing could also “skew research” toward fields more trendy than central.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Photo by Ben Margot/Associated Press

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\"Sergey\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tSergey Brin
\n\t\t\t\t\tGoogle
\n\t\t\t\t\t$31.8 billion
\n\t\t\t\t\t

\n\t\t\t\t\t\tParkinson's disease, which his mother has and for which he bears a risky gene.\n\t\t\t\t\t

\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tThe first success came with cystic fibrosis, which arises when a faulty gene clogs the lungs and pancreas with a sticky mucus. People with cystic fibrosis suffer from coughing, fatigue, poor digestion and slow growth, and die relatively young.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tAround 2000, a surge of wealthy donors began making large contributions to the Cystic Fibrosis Foundation. Tom and Ginny Hughes of Greenwich, Conn., had two daughters with the disease, and gave millions of dollars. The family also posed in snapshots for the foundation’s “Milestones to a Cure” updates, and Mr. Hughes, a banker, helped the charity develop strategies to expand its fund-raising.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

A Focus on Disease

\n\t\t\t\t\t\t\t

If the map of the world of private science has yet to be drawn, one thing is clear: Much of the money is going into campaigns for a cure.

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\tThis private war on disease has resulted not only in significant advances in treatment, but also in what experts describe as a major breakthrough in how biomedical research is done. The method opens up blockages that have traditionally kept basic discoveries from being turned into effective treatments — especially for rare diseases that drug companies avoid for lack of potential profit.\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t“We think it’s potentially transformative,” said Maryann P. Feldman, a professor of public policy at the University of North Carolina at Chapel Hill who studies the approach.\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tYear after year, the foundation held galas, hikes, runs and golf tournaments, eventually raising more than a quarter-billion dollars. With great skill, it used the money to establish partnerships across industry and academia, smashing through the walls that typically form around research teams.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tBy early 2012, the financial surge produced the first treatment for an underlying cause of cystic fibrosis. The drug counters a gene mutation that accounts for 4 percent of the cases in the United States — about 1,200 people. The medication thinned the deadly mucus, lessening symptoms and drastically improving quality of life.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tMelanoma, the deadliest of skin cancers, also strikes and kills whites preferentially. Debra Black, wife of the financier Leon Black, survived a bad scare. Soon after, the couple teamed up with Michael R. Milken, the former junk-bond financier, whose charity FasterCures gives advice on how to accelerate research, to found the Melanoma Research Alliance. It quickly became the world’s largest private sponsor of melanoma research, awarding more than $50 million for work at Yale, Columbia and other universities.\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
\n\t\n\t
\n\t\t\n\t\t

Comments

\n\n\t\t
\n\t\t\t
\n\t\t\n\t\t\t\t
    \n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"soffes\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    Soffes  12
    \n\t\t\t\t\t\t\tYou know what else is \"arcane\", 140 characters.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"markgamzy\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    Markgamzy  165
    \n\t\t\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Teclaro\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    Teclaro  67
    \n\t\t\t\t\t\t\tIn my opinion (and as a UI and UX designer), this is a step in the right direction. Even when viewing those examples above, the context isn't hindered when @ isn't present and makes the conversation more legible.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Edwellbrook\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tSure they are thinking about removing @replies but the concept of replying will still exist. It's just the details of who you are replying to will be contained in metadata and not in the body of the tweet. This is good as it will free up more characters for the tweet. However I'm sure it will also lead to people being unsure of whether a tweet will be directed at one person or their whole timeline in the same way as people often mistakenly post a DM to their timeline.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Krystalfister\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\t\t\t\t
\n\n\t\t\t
\n\n\t\t
\n\n\t
\n\n
"},"upgradeBrowser":"
\n
\n
\n

Please, upgrade your browser!

\n
\n\tActually Maxmertkit partly supports ie 7.0 and 8.0, but I can't promise you that it will work well. So I decided to hide documentation for IE8 and previous versions. Hope for your understanding.\n
\n
\n
\n
\n","main":"
\n\t
\n\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\t\t
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

Maxmertkit made for all good people by {{author.name}}.

\n\t\t\t\t

\n\t\t\t\t\t twitter\n\t\t\t\t\t facebook\n\t\t\t\t\t github\n\t\t\t\t\t google+\n\t\t\t\t\t email\n\t\t\t\t

\n\t\t\t\t

Code licensed under MIT, documentation under CC BY 3.0.

\n\t\t\t\t
\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tver. {{version}}\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tgithub\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tissues\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\treleases\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tchangelog\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\told version\n\t\t\t\t\t\t
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n","error404":"
\n\t

\n\t\t404 The page is not found\n\t

\n
\n"} \ No newline at end of file +exports.module = {"common":{"pages":{"index":{"series":{"widgets":{"thumbnail":"
\n\t
\n\t\t\n\t
\n\t
\n\t\t

Geisha Kyoto, Japan

\n\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓).

\n\t
\n
","tabs":"","spinnerWaves":"
\n\n\n\n\n\n\n
","spinnerSquare":"
","spinnerRing":"
","spinnerFb":"
\n\n\n\n
","progress":"
\n\t
12 %
\n
","pills":"","navbar":"
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t@
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
","menu":"","listGroup":"","label":"label","group":"
","dropdown":"
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Bottom\n\t
\n
","btn":"Button","badge":"badge","avatar":"\n\t
\"maxmert\"
@vmaxmert\n
","alert":"
\n\t\n\tHeads up! This alert needs your attention, but it's not super important.\n
"},"header":"
\n\t
\n\t\t

widget

\n\t\t
\n\t\t\t{{name}}\n\t\t
\n\t
\n\t
\n\t\t+\n\t
\n\t
\n\t\t

theme

\n\t\t
\n\t\t\t-{{theme}}-\n\t\t
\n\t
\n\t
\n\t\t+\n\t
\n\t
\n\t\t

size

\n\t\t
\n\t\t\t_{{size}}\n\t\t
\n\t
\n
","body":"{{{body}}}"},"layout":"
\n\t
\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t

Maxmertkit

\n\t\t\t\t
ver. {{version}}, builded {{buildDate}}
\n\t\t\t
\n\t\t
\n\t\t
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t

Fluid. Invisible. Invincible.

\n\t\t\t

\n\t\t\t\tMaxmertkit is the most customizable and easiest for usage framework you've ever seen.\n\t\t\t

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t

Package manager

\n\t\t\t

Run $ gulp and edit mkit.json, package manager will install and uninstall sizes and themes for widgets. It will reduce file size and retrofit maxmertkit for you.

\n\t\t
\n\t\t
\n\t\t\t

Preprocessor Sass

\n\t\t\t

All css build with Sass. Maxmertkit uses all powerfull features providing by Sass, such as lists and maps.

\n\t\t
\n\t\t
\n\t\t\t

Easy to remember

\n\t\t\t

Classes names convection (But you can change all prefixes and postfixes to all classes). -name for widgets, -name- for themes, _name for sizes, _name_ for modifiers, -name-- for animations.

\n\t\t
\n\t\t
\n\t\t\t

Easy to append and edit

\n\t\t\t

It's really easy to append and edit new themes, sizes, animations and widgets. Just go through how to section.

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t

No jQuery

\n\t\t\t

You don't need jQuery to use Maxmertkit javascript plugins. They are incredibly fast.

\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Semantic

\n\t\t\t\t\t

Maxmertkit can be used with completely semantic markup. Write clean code without sacrificing any utility or convenience.

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Responsive

\n\t\t\t\t\t

Maxmertkit is responsive framework, and it permeates every aspect of the framework. Build for every device with ease.

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Readable

\n\t\t\t\t\t

Maxmertkit is written with humans in mind, and is easy to read even if you don’t know much code.

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Rapid prototyping

\n\t\t\t\t\t

Maxmertkit allows you to swiftly prototype your ideas so you can start testing sooner than later.

\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t\"Examples\"\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Examples

\n\t\t\t\t\t\t

Beautiful examples of using maxmertkit

\n\t\t\t\t\t\t

There are few of them, but I'll add some more soon.

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tblog\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t
\n
\n"},"social":{"github":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n"},"widgets":"
\n
\n
\n
\n

Widgets Components

\n

Maxmertkit widgets allow you to customize and make your project alive.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","utilities":"
\n
\n
\n
\n

Utilities Components

\n

Maxmertkit utilities make your development much easier.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","start":"
\n
\n
\n
\n

Philosophy Start

\n

All you need to know to start a new project with Maxmertkit.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","layout":"
\n
\n\n
\n
\n

Maxmertkit

\n
ver. {{version}}, builded {{buildDate}}
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n","components":"
\n
\n
\n
\n

Javascript Components

\n

Javascript plugins for Maxmertkit to make your project alive.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n","changelog":"
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

Changelog

\n\t\t\t\t

All changelog you can observe on the github.

\n\t\t\t
\n\t\t\n\t\t\t
\n\t\t\t\t

Roadmap

\n\n\t\t\t\t
\n\t\t\t\t\tIf you want to share an idea of improvement, please create issue with tag feature.\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.5

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add js carousel component
  • \n\t\t\t\t\t\t
  • Add more examples
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.4

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add easier jquery support with native javascript plugins in maxmertkit
  • \n\t\t\t\t\t\t
  • Add slim progress bar
  • \n\t\t\t\t\t\t
  • Add example of the blog
  • \n\t\t\t\t\t\t
  • Add js wall component
  • \n\t\t\t\t\t\t
  • Add js skyline component
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.3

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add -avatar widget
  • \n\t\t\t\t\t\t
  • Add -comment widget
  • \n\t\t\t\t\t\t
  • Add dropdown -footer
  • \n\t\t\t\t\t\t
  • Add _round_ modifier to all buttons
  • \n\t\t\t\t\t\t
  • Add bordered a tag with underline
  • \n\t\t\t\t\t\t
  • Rename -btn-bordered to -btn-ghost
  • \n\t\t\t\t\t\t
  • Rename -spinner-circle to -spinner-ring
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.2

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • No jquery in maxmertkit
  • \n\t\t\t\t\t\t
  • Selenium tests support
  • \n\t\t\t\t\t\t
  • Add circle spinner
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

v. 1.0.1

\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • Add howto videos
  • \n\t\t\t\t\t\t
  • Add CDN
  • \n\t\t\t\t\t\t
  • Bugfixes
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n","basic":"
\n
\n
\n
\n

Basic Components

\n

Grid, typography, tables and forms. All you'll need to start a new project.

\n
ver. {{version}}, builded {{buildDate}}
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n

Found a text or code error? Please, feel free to

\n\n
\n
\n
\n
\n
\n\n\n
\n\n
\n
\n"},"sidebar":{"menu":{"layout":"","item":"{{#menu}}{{menu}}{{/menu}}{{^menu}}{{name}}{{/menu}}\n{{#existIncludes}}\n\n{{/existIncludes}}\n"}},"header":{"social":{"twitter":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n","github":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n","facebook":"\n {{sign}}\n{{#count}}{{count}}{{/count}}\n{{^count}}\n\n\n\n\n\n{{/count}}\n\n"},"menu":{"mobile":"{{name}}\n","item":"{{name}}\n"}},"partials":"{{#value}}\n\t
\n\t\t{{{value}}}\n{{/value}}\n\n{{#includes}}\n\t{{#value}}\n\t\t
\n\t\t\t{{{value}}}\n\t\t
\n\t{{/value}}\n{{/includes}}\n\n{{#value}}\n\t
\n{{/value}}\n","menu":""},"kit":{"widgets":{"thumbnails":{"common":"

Thumbnails

\n\n

\n\t

Global variables

\n\t
$thumbnail-class: \"-thumbnail\" !global\n$thumbnail-image-background: #fff // When image is still loading this background will be shown
\n

\n\n\n\n

\n\tClass -thumbnail. Thumbnails are responsive ( width: 100% and height: auto ). Try to change screen size.\n

\n\n

\n\tAlso you can add shadows.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\n\n\t
\n\t\n
\n\n
\n\n\n\n

\n\tIf you want to add some inline thumbnails, use grid. It also responsize. Try to change screen size.\n

\n\n
\n\n\t
\n\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t

Geisha Kyoto, Japan

\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t

Geisha Kyoto, Japan

\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t

Geisha Kyoto, Japan

\n\t
\n\n
\n\n
\n","captions":"\n\n

Caption

\n\n\n\n

\n\t

Global variables

\n\t
$thumbnail-caption-class: #{$thumbnail-class}#{$caption-class}\n$thumbnail-caption-padding: $base-padding-vertical * 2\n$thumbnail-caption-font-size: 80%
\n

\n\n\n\n\n

\n\tAdd widget -thumbnail-caption to add caption to image. Don't forget about themes and sizes.\n

\n\n
\n\tUse semantic elements <figure> and <figcaption>!\n
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\t\t\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers who act as hostesses and whose skills include performing various Japanese arts such as classical music, dance and games.

\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
\n\n\n\n\n\n\n\n

Caption position

\n\n

\n\tTo change it just add modifiers _left_ and _right_. Captions are responsive, try to change window width.\n

\n\n
Left and right captions are absolute positioned. So it looks great if there is nothing on left or right side of the thumbnail.
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\t\t\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Geisha Kyoto, Japan

\n\t\t\t\t

Geisha (芸者?), geiko (芸子) or geigi (芸妓) are traditional Japanese female entertainers.

\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
"},"spinners":{"waves":"

Waves spinner

\n\n\n\n

\n

Variables

\n
$spinner-waves-class: \"#{$spinner-class}-waves\"\n$spinner-waves-size: 30px\n$spinner-waves-deg: 25deg
\n

\n\n

Just add class -spinner-waves.

\n\n
You need to add -addon elements inside this spinner.
\nThe quantity is unlimited.\n
\n\n
\n\n
\n
\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n\n
\n\nWith spinner\n\n\n\n\n\n\n\n\n\n\n
\n\n\n
\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n\n
\n\nWith spinner\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n\n
\n
\n\n\n
\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n\n
\n\n
\n","square":"

Square spinner

\n\n\n\n

\n

Variables

\n
$spinner-square-class: \"#{$spinner-class}-square\"\n$spinner-square-size: 30px\n
\n

\n\n

Just add class -spinner-fb

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n","ring":"

Ring spinner

\n\n\n\n

\n

Variables

\n
$spinner-ring-class: \"#{$spinner-class}-ring\"\n$spinner-ring-size: 30px\n
\n

\n\n

Just add class -spinner-ring

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n","fb":"

Fb spinner

\n\n\n\n

\n

Variables

\n
$spinner-fb-class: \"#{$spinner-class}-fb\"\n$spinner-fb-size: 30px\n$spinner-fb-max-addons: 10
\n

\n\n

Just add class -spinner-fb.This is a fb-like spinner.

\n\nYou need to add -addon elements inside this spinner. The quantity is limited by sass variable $spinner-fb-max-addons.\n\n
\n\n
\n
\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n
\n \n \n \n \nWith spinner\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\n
\n\n\n\n
\n\n
\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n
\n\nWith spinner\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n

Add size modifiers

\n\n
\n\n
\n
\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n
\n \n \n \n \n
\n\n\n\n\n\n\n\n
\n
\n\n\n
\n\n\n\n
\n\n
\n\n\n\n\n\n
\n\n
\n\n\n\n\n\n\n\n
\n\n
\n","common":"

Spinners

\n\n\n\n

\n

Global variables

\n
$spinner-class: \"-spinner\" !global
\n

\n\n

Spinner is an element shows that process is executing (any one, for example loading process)

\n\n
\nIf you want to position your spinner in the center of any relative element, add _responsive_ modifier to the spinner.\n
\n\n\n
\nIn some spinners you'll need to add -addon elements inside to add spinner blocks.\n
\n"},"shaders":{"common":"

Shaders

\n\n\n\n

\n

Global variables

\n
$shader-class: \"-shader\" !global\n$shader-z-index: 100 !global
\n

\n\n

Shader is a background element for any content, for example a modal window.

\n\n
\nHidden by default. Add modifier _active_ to show up.
\nDont't have any sizes.\n
\n\n\n
\nUse modifier _responsive_ to make shader position: fixed.
\nBy default shader is position: absolute\n
\n\n\n
\n\n
\nContent under shader.\n
\n
\n\n\n
Content under shader.\n
\n\n
\n\n\n

For example add loader.

\n\n\n
\n\n
\nContent under shader.\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
Content under shader.\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n

Add modifier _shaded_ to make shader transparent.

\n\n\n
\n\n
\nContent under shader.\n
\n
\n\n\n
Content under shader.\n
\n
\n
\n\n
\n"},"progress":{"slim":"\n\n\n

Slim

\n\n\n\n

\n\t

Global variables

\n\t
$progress-slim-class: \"-progress-slim\" !global\n$progress-slim-bar-class: \"-bar\" !global\n$progress-slim-bar-height: 7px\n$progress-slim-border-radius: 0px !global\n$progress-slim-border-width: 0px !global\n$progress-slim-border-style: solid !global
\n

\n\n\n\n

\n\tUse widget class -progress-slim. Apply themes and sizes. Append -bar inside -progress-slim.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\t
\n
\n\n
\n","common":"\n\n\n

Progress

\n\n\n\n

\n\t

Global variables

\n\t
$progress-class: \"-progress\" !global\n$progress-bar-class: \"-bar\" !global\n$progress-bar-padding-vertical: $base-padding-vertical / 3\n$progress-bar-padding-horizontal: $base-padding-horizontal / 1.5\n$progress-font-weight: 600 !global\n$progress-border-radius: 4px !global\n$progress-border-width: 0px !global\n$progress-border-style: solid !global\n$progress-padding: 3px !global\n$progress-background: #fff !global
\n

\n\n\n\n

\n\tUse widget class -progress. Apply themes and sizes. Append -bar inside -progress.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
12 %
25 %
Something goes wrong
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
12 %
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
progress with shadow 42 %
25 %
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
progress with shadow 42 %
\n\t\t
\n\t
\n\n\n\t
\n\t
12 %
\n\t
25 %
\n\t
Something goes wrong
\n
\n\n
\n\t
12 %
\n
\n
\n\n
\n"},"nav":{"tabs":"\n\n

Tabs

\n\n\n\n

\n\t

Global variables

\n\t
$nav-tabs-class: \"-tabs\" !global\n$nav-tabs-border-width: 1px !global\n$nav-tabs-items-padding-vertical: $base-padding-vertical\n$nav-tabs-items-padding-horizontal: $base-padding-horizontal\n$nav-tabs-items-border-radius: 3px
\n

\n\n\n\n\n

Basic use

\n

\n\tUse tabs class -tabs.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n
\n\n\n\n\n\n\n

\n\tApply theme classes to item element <li>.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n
\n\n\n\n\n\n

Vertical tabs

\n\n

\n\tUse modifier _vertical_ with modifiers _left_ and _right_. Combine tabs with grid.\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\tContent of the second tab.\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\tContent of the third tab.\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tContent of the second tab.\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tContent of the third tab.\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t\n\t
\n\t
\n\t\tContent of the second tab.\n\t
\n
\n\n
\n\t
\n\t\t\n\t
\n\t
\n\t\tContent of the third tab.\n\t
\n
\n\n
\n\t
\n\t\tContent of the second tab.\n\t
\n\t
\n\t\t\n\t
\n
\n\n
\n\t
\n\t\tContent of the third tab.\n\t
\n\t
\n\t\t\n\t
\n
\n","pills":"\n\n

Pills

\n\n\n\n

\n\t

Global variables

\n\t
$nav-pills-class: \"-pills\" !global\n$nav-pills-border-width: 1px !global\n$nav-pills-items-padding-vertical: $base-padding-vertical\n$nav-pills-items-padding-horizontal: $base-padding-horizontal\n$nav-pills-items-border-radius: 3px\n$nav-pills-items-margin-right: 1px
\n

\n\n

Basic use

\n

\n\tUse widget -pills.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n
\n\n
\n\n\n\n

\n\tApply theme classes to item element <li>.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n
\n\n
\n\n\n\n\n\n

Vertical pills

\n\n

\n\tUse modifier _vertical_.\n

\n\n
\n\t\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n","menu":"\n\n

Menu

\n\n\n\n

\n\t

Global variables

\n\t
$nav-menu-class: \"-menu\" !global\n$nav-menu-items-padding-vertical: $base-padding-vertical !global\n$nav-menu-items-padding-horizontal: $base-padding-horizontal !global\n$nav-menu-items-border-width: 1px !global\n$nav-menu-items-border-radius: 0px !global\n$nav-menu-items-margin: 1px !global
\n

\n\n\n\n\n

Basic use

\n

\n\tUse menu class -menu.\n

\n\n
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n\n

\n\tAdd themes.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n\n\n\n\n\n\n\n

Vertical menu

\n\n

\n\tTo make it vertical add modifier _vertical_.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n
\n\n\n\n\n

Addon

\n

\n\tUse class -addon to add an additional information about this menu to the right.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t\n\n
\n\n\n\n\n\n\n

Add responsiveness

\n\n

\n\tTo make menu responsive just add modifier _responsive_. Try to change window size to see effect. It will become vertical on small devices. But you still need manually configurate submenus position. Read about that below.\n

\n
\n\n\t
\n\t\t\n\t
\n\n\n\t\n\n
\n\n\n\n\n\n\n

Add submenus

\n\n

\n\tTo add submenu just add widget -drop with -menu inside.\n

\n\n
\n\tTo change dropdown position use position modifiers _top_, _bottom_, _left_, _right_. For more information look dropdown section.\n
\n\n

Dropdown will be visible only if parent item is _active_. If you want to make it visible on :hover, add modifier _hovered_ to the root -menu.

\n\n
\n\n\t
\n\t\t
    \n\t\t\t
  • No hovered
  • \n\t\t\t
  • Menu 2
  • \n\t\t\t
  • \n\t\t\t\tMenu 3 \n\t\t\t\t
    \n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • Menu with long name ⌘M
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\tMenu 2 \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t\t\t
      • Menu 1
      • \n\t\t\t\t\t\t\t\t\t
      • Menu 2
      • \n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t\t\tMenu 3\n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • Menu 3
    • \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t
\n\t\t
\n\t\t
    \n\t\t\t
  • With hovered
  • \n\t\t\t
  • Menu 2
  • \n\t\t\t
  • \n\t\t\t\tMenu 3 \n\t\t\t\t
    \n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • Menu with long name ⌘M
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\tMenu 2 \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t\t\t
      • Menu 1
      • \n\t\t\t\t\t\t\t\t\t
      • Menu 2
      • \n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t\t\tMenu 3\n\t\t\t\t\t\t\t\t\t
      • \n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • Menu 3
    • \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t
\n\t
\n\n\n\t
\n\n
\n\n
\n","list-group":"\n\n

List group

\n\n\n\n

\n\t

Global variables

\n\t
$nav-list-group-class: \"-list-group\" !global\n$nav-list-group-items-padding-vertical: $base-padding-vertical / 2 !global\n$nav-list-group-items-padding-horizontal: $base-padding-horizontal !global\n$nav-list-group-items-border-width: 1px !global\n$nav-list-group-items-active-border-width: 2px !global\n$nav-list-group-items-margin: 1px !global
\n

\n\n\n\n\n

Basic use

\n

\n\tUse class -list-group.\n

\n\n
\n\n\t
\n\t\t\n\n\t\t\n\t
\n\n\n\t
\n\n
\n","common":"

Nav

\n\n\n\n

\n\t

Global variables

\n\t
$nav-item: li !global

\n\n\n\n\n\n\n
\n\tUse modifier _responsive_ to make all navs responsive.
\n\tIt means when screen resolution become less then 992px, then all navs become justifyed.\n
\n\n
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\t
\n\n\n\t
\n
\n\n
","bullets":"\n\n

Bullets

\n\n\n\n

\n\t

Global variables

\n\t
$nav-bullets-class: \"-bullets\" !global\n$nav-bullets-item: \"li\" !global\n$nav-bullets-item-size: 10px !global
\n

\n\n\n\n\n

Basic use

\n

\n\tUse class -bullets with <ul>. And <small> for sign.\n

\n\n
\n\n\t
\n\t\t\n\t
\n\n\t
\n\t\t\n\t
\n\n\t
\n\t\t\n\t
\n\n\n\t
\n\n\n\n
\n\n
\n\n\n\n\n

\n\tIf you want to put your bullets inside some position: relative container, use modifier _fixed_ and position modifiers _left_, _center_, _right_ and _top_, _middle_, _bottom_.\n

\n\n
\n\tIf you want to make your bullets position: fixed (for example like a global navigation with parallax), you'll need to add this style by your own or add style=\"position: fixed;\" to bullets.\n
\n\n
\n\n\t
\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t
\n\n\n\t
\n\n\n\n\n\n
\n\n
\n","bar":"\n\n

Navbar

\n\n\n\n

\n\t

Global variables

\n\t
$nav-bar-class: \"-navbar\" !global\n$nav-bar-height: 50px !global\n$nav-bar-padding-horizontal: $base-padding-horizontal !global\n$nav-bar-border-width: 1px !global\n$nav-bar-style: solid !global\n$nav-bar-border-radius: 3px !global\n\n// It's only fo _top_ or _bottom_ navbars. Need to be over dropdowns.\n$nav-bar-z-index: $dropdown-z-index + 1\n\n$nav-bar-toggle-class: #{$nav-bar-class}-toggle
\n

\n\n\n\n\n

Basic use

\n

\n\tUse navbar class -navbar.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t@
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t@
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n
\n\n
\n\n\n\n\n\n\n

Grid and navbar

\n\n

\n\tAdd the grid inside the -navbar to allign elements. Add -header to the -navbar.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
Header
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n\n\n\n

Change themes

\n\n

\n\tIf you apply a theme to the -navbar, theme of every element inside will change.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t@
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t@
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n

Change size

\n\n

\n\tApply size to the -navbar to change sizes of the elements inside.\n

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tButton\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\tButton\n\t\t
\n\t
\n
\n\n
\n\t...\n
\n\n
\n\t...\n
\n\n
\n\t...\n
\n\n
\n\n\n\n\n\n\n\n\n

Fixed navbar

\n

\n\tUse modifiers _top_ and _bottom_ to stick navbar to top or bottom.\n

\n
\n\tDo not forget to set padding to the navbar container. Padding should be equal or more then -navbar height.\n
\n\n
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t
\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n
\n\n
\n\n\n\n\n\n\n

Responsive navbar

\n

\n\tFirst of all read about responsive utilities. After you understand responsiveness, it will be easier to understand how to create responsive navbar.\n

\n\n
\n\tThere is no magic, but it's very simple! Trust me! Look at the comments in the code. With those classes you can hide menu even for not large desktops or just for phones. It's very flexible technique.\n
\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
Header here
\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n\n\n\t
\n\n\t\n\t
\n\t\t
Header here
\n\n\t\t\n\t\t\n\n\t
\n\n\t\n\t
\n\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\n\t
\n\n
>
\n\n
\n"},"groups":{"inputs":"\n\n\n

Inputs inside group

\n\n

\n\t

Add <input type=\"text\"> or -fields inside group.

\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
Button
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButtonButton\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton\n\t\t
\n\t\tButton\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton\n\t\t\n\t\tButton\n\t\t\n\t
\n
\n\n
\n\n\n\n\n

Use size classes Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with <-group> to set size.

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n

\n
\n\t
\n\t\tButton
\n\t
\n
\n\n
\n\n\n\n\n

\n\tMake a group stretch at the same size to span the entire width of its parent. Use modifier _justify_.\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t

\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n
\n\t
\n\t\tButton
\n\t\t\t\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n\n

\n\t

Or add theme to the inner element.

\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tButton
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\tButton
\n\t
\n
\n\n
","common":"\n\n\n

Groups

\n\n

Group a series of buttons together on a single line with the button group. Use class -group to create it.

\n\n\n

\n\t

Global variables

\n\t
$group-class: \"-group\" !global\n\n$group-addon-class: $addon-class !global
\n

\n\n
\n\tUse modifier _responsive_ to make groups responsive.
\n\tIt means when screen resolution become less then 992px, then all groups become justifyed.\n
\n\n

Responsive

\n\n

Just make screen resolution less than 992px.

\n\n
\n\n\t
\n\t\t
\n\t\t\tnot responsive\n\t\t

\n\t\t
\n\t\t\tit is responsive\n\t\t
\n\t
\n\n\t
\n\tnot responsive\n\t\n\t\n\t\n

\n
\n\tresponsive\n\t\n\t\n\t\n
\n\n
\n","buttons":"\n\n\n

Buttons inside group

\n\n

\n\tAdd -btn buttons inside group.\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\n\t
\n\t\n\t\n\t\n\t\n
\n
\n\t\n\t\n\t\n
\n
\n\t\n
\n
\n\t\n
\n\n
\n\n\n\n\n

\n\tMake a group of buttons stretch at the same size to span the entire width of its parent. Use modifier _justify_.\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t
\n\n\t\n\n
\n\n\n\n\n

\n\tCreate dropdowns (I don't use a JS in this example, this is just a view).\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\tDropdown \n\t\t
\n\t\t
\n\t\t\tDropdown\n\t\t

\n\t\t
\n\t\t\tLike\n\t\t
\n\t\t
\n\t\t\tYou liked it\n\t\t

\n\t\t
\n\t\t\tStar\n\t\t
\n\t\t
\n\t\t\tYou liked it\n\t\t
\n\t
\n\n\t
\n\tDropdown \n
\n
\n\tDropdown\n

\n
\n\tLike\n
\n
\n\n
","addons":"\n\n\n

Addons inside group

\n\n

\n\t

Add-addon inside group.

\n

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\te-mail
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tAddonButton\n\t\t\t
\n\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\tAddonButton\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\te-mail
\n\t
\n
\n
\n\t
\n\t\tAddonButton\n\t
\n
\n
\n\t
\n\t\tAddonButton\n\t
\n
\n\n
\n\n\n\n\n\n

Combine!

\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t@me@maxmert.com
\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t
\n\t\t@\n\t\tme@maxmert.com\n\t\t\n\t\t
\n\t
\n
\n\n
"},"comments":{"common":"

Comments

\n\n\n\n

\n

Global variables

\n
$comments-class: \"-comments\" !global\n$comments-item-margin-bottom: 25px !global
\n

\n\n

Add -comments to the container. Use global class -item inside. Inside each -item add -content widget.

\n

Add -avatar inside -content blocks.

\n
Inside -items you can add blocks with modifier _hidden_. Those blocks will appear only when user hover the comment.
\n\n
\n\n
\n
    \n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"soffes\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Soffes  12
    \n\t\t\t\t\tYou know what else is \"arcane\", 140 characters.\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"markgamzy\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Markgamzy  165
    \n\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"Teclaro\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    Teclaro  67
    \n\t\t\t\t\tIn my opinion (and as a UI and UX designer), this is a step in the right direction. Even when viewing those examples above, the context isn't hindered when @ isn't present and makes the conversation more legible.\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"Edwellbrook\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\tSure they are thinking about removing @replies but the concept of replying will still exist. It's just the details of who you are replying to will be contained in metadata and not in the body of the tweet. This is good as it will free up more characters for the tweet. However I'm sure it will also lead to people being unsure of whether a tweet will be directed at one person or their whole timeline in the same way as people often mistakenly post a DM to their timeline.\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\"Krystalfister\"\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t
\n
\n\n\n
\n\n
\n\n"},"buttons":{"themes":"\n\n\n

Themes

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t
\n\n\n\t
\n\n\n\n
\n\n\n
\n\n\n\n

Disabled buttons

\n\n

\n\t

Use modifier _disabled_ or set attribute [disabled].

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n
\n\n\n
","states":"\n\n\n

Change states

\n\n

\n\t

Use modifiers _active_ and _hovered_ to change buttons states.

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\n\t
\n\n\n\t
\n\n\n\n\n\n\n
\n\n
","sizes":"\n\n\n

Sizes

\n\n

\n\t

Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with -btn to set button's size.

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n\n\n\n\n
\n\n
","ghost":"\n

Ghost buttons

\n\n\n\n\n\n

\n\t

Global variables

\n\t
$button-ghost-class: \"#{$button-class}-ghost\" !global\n$button-ghost-font-weight: 200 !global\n$button-ghost-min-font-size: 9px !global\n$button-ghost-border-radius: 3px !global\n$button-ghost-border-width: 3px !global
\n

\n\n\n\n\n

Use button class -btn-ghost to create great buttons.

\n\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success-, etc. with <button> or <input type=\"button\"> to set theme.

\n\n

\n\tAs always to use font-awesome icons you need to:\n\t

    \n\t\t
  • add <link href=\"//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css\" rel=\"stylesheet\"> to your <head> (but it's better to download and include it into you project);
  • \n\t\t
  • use class fa for icons;
  • \n\t\t
  • look at font-awesome page for documentation or use font-awesome cheatsheet.
  • \n\t
\n

\n\n\n\n\n\n\n\n

Button tags

\n

\n\tUse class -btn-ghost with <a>, <input> and <button>.\n

\n\n
\n\n\t
\n\t\t\n\t\t\n\t\tLink\n\t
\n\n\n\t
\n\nLink
\n\n
\n\n\n

Rounded

\n

Add _round_ modifier to round button

\n
\n\n\t
\n\t\t\n\t\t\n\t\tRound link\n\t
\n\n\n\t
\n\nRound link
\n\n
\n","common":"\n

Buttons

\n\n\n\n\n\n

\n\t

Global variables

\n\t
$button-class: \"-btn\" !global\n$button-font-weight: 200 !global\n$button-min-font-size: 9px !global\n$button-border-radius: 3px !global\n$button-border-width: 1px !global
\n

\n\n\n\n\n

Use button class -btn to create great buttons.

\n\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success-, etc. with <button> or <input type=\"button\"> to set theme.

\n\n

\n\tAs always to use font-awesome icons you need to:\n\t

    \n\t\t
  • add <link href=\"//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css\" rel=\"stylesheet\"> to your <head> (but it's better to download and include it into you project);
  • \n\t\t
  • use class fa for icons;
  • \n\t\t
  • look at font-awesome page for documentation or use font-awesome cheatsheet.
  • \n\t
\n

\n\n\n\n\n\n\n\n

Button tags

\n

\n\tUse class -btn with <a>, <input> and <button>.\n

\n\n
\n\n\t
\n\t\t\n\t\t\n\t\tLink\n\t
\n\n\n\t
\n\nLink
\n\n
\n\n\n

Rounded

\n

Add _round_ modifier to round button

\n
\n\n\t
\n\t\t\n\t\t\n\t\tRound link\n\t
\n\n\n\t
\n\nRound link
\n\n
\n","blocks":"\n\n\n

Block level buttons

\n\n

\n\t

Create block level buttons — those that span the full width of a parent — by adding _vertical_.

\n

\n\n
\n\t\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\t
\n\n\n\n
\n\n
"},"avatars":{"common":"

Avatars

\n\n\n\n

\n

Global variables

\n
$avatar-class: \"-avatar\" !global\n$avatar-border-radius: 3px !global\n$avatar-border-width: 4px !global\n$avatar-border-style: solid !global\n$avatar-margin: 0.6em !global\n$avatar-size: 64px !global
\n

\n\n

Include -thumbnail widget inside -avatar.

\n\n
\n\tThe -thumbnail will be hidden on devices with resolution smaller than 768px.\n
\n\n\n\n

Add modifier _round_ to make avatar rounded.

\n\n\n\n\n

Sizes

\n\n\n\n\n\n\n

Bordered and themes

\n

Add modifier _bordered_.

\n\n\n\n\n\n

Position

\n

Add modifiers _top_ or _bottom_.

\n\n"},"layout":"
\n\n\t
\n\t\t
\n\t
\n\t
\n\t\t
\t\n\t
\n\n
","labels":"\n\n\n

Labels

\n\n\n\n

\n\t

Global variables

\n\t
$label-class: \"-label\" !global\n$label-font-weight: 300 !global\n$label-border-radius: 2px !global\n$label-border-width: 1px !global\n$label-border-style: solid !global\n$label-padding-vertical: $base-padding-vertical / 3\n$label-padding-horizontal: $base-padding-horizontal / 1.5
\n

\n\n\n\n

\n\tUse widget class -label. Apply themes and sizes.\n

\n
\n\tLabels won't self collapse in Internet Explorer 8 because it lacks support for the :empty selector.\n
\n
\n\n\t
\n\t\t

\n\t\t\tdefault\n\t\t\tprimary\n\t\t\terror\n\t\t\twarning\n\t\t

\n\t\t

\n\t\t\tnormal\n\t\t\tmajor\n\t\t\tbig\n\t\t\thuge\n\t\t\tdivine\n\t\t

\n\t
\n\n\n\t
default\nprimary\nerror\nwarning\n\nnormal\nmajor\nbig\nhuge\ndivine\n
\n\n
\n","dropdowns":"

Dropdowns

\n\n\n\n

\n\t

Global variables

\n\t
$dropdown-class: \"-drop\" !global\n$dropdown-z-index: 1000\n$dropdown-background-default: #fff\n$dropdown-border-default: #fff\n$dropdown-border-width: 0px\n$dropdown-border-style: solid\n$dropdown-border-radius: 3px\n$dropdown-arrow-size: 14px\n$dropdown-arrow-border-width: 1px\n$dropdown-content-padding-vertical: 15px\n$dropdown-content-padding-horizontal: 15px\n$dropdown-shadow: 0 3px 10px rgba(#000, .1)
\n

\n\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\tDrop without content block.
\n\t\t\tGreat with menus and other navigation stuff.\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\tDrop with content block.
\n\t\t\t\tGreat with text, information, pictures and other stuff.\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\tDrop without content block.
\n\tGreat with menus and other navigation stuff.\n
\n\n
\n\t
\n\t\tDrop with content block.
\n\t\tGreat with text, information, pictures and other stuff.\n\t
\n
\n\n
\n\n\n

Position of dropdowns. Arrows.

\n

\n\tTo set position of the dropdown relative to parent element use modifiers _top_, _bottom_, _left_ and _right_.\n

\n

\n\tUse arrow widget -arrow.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tTop\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tBottom\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tRight\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tLeft\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tTop\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tBottom\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tRight\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tLeft\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\n\t
\n\t\tTop\n\t
\n
\n\n
\n\t\n\t
\n\t\tBottom\n\t
\n
\n\n
\n\t\n\t
\n\t\tRight\n\t
\n
\n\n
\n\t\n\t
\n\t\tLeft\n\t
\n
\n\n
\n\t\n\t
\n\t\tTop\n\t
\n
\n\n
\n\t\n\t
\n\t\tBottom\n\t
\n
\n\n
\n\t\n\t
\n\t\tRight\n\t
\n
\n\n
\n\t\n\t
\n\t\tLeft\n\t
\n
\n\n
\n\n\n\n\n

Headers and contents.

\n

\n\tJust add widget -header to the drop. And add several -contents.\n

\n\n\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Top\n\t\t\t
\n\t\t\t
\n\t\t\t\tFooter\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Bottom\n\t\t\t
\n\t\t\t
\n\t\t\t\tFooter\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Right\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\tDropdown Left\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Top\n\t
\n\t
\n\t\tFooter\n\t
\n
\n\n
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Bottom\n\t
\n\t
\n\t\tFooter\n\t
\n
\n\n
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Right\n\t
\n
\n\n
\n\t\n\t
\n\t\tHeader\n\t
\n\t
\n\t\tDropdown Left\n\t
\n
\n\n
\n","badges":"\n\n\n

Badges

\n\n\n\n

\n\t

Global variables

\n\t
$badge-class: \"-badge\" !global\n$badge-font-weight: 600 !global\n$badge-border-radius: 50px !global\n$badge-border-width: 0px !global\n$badge-border-style: solid !global\n$badge-padding-vertical: floor($base-padding-vertical / 4)\n$badge-padding-horizontal: floor($base-padding-horizontal / 2)
\n

\n\n\n\n

\n\tUse widget class -badge. Apply themes and sizes.\n

\n
\n\n\t
\n\t\t

\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t

\n\t\t

\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t\t324\n\t\t

\n\t
\n\n\n\t
default\nprimary\nerror\nwarning\n\nnormal\nmajor\nbig\nhuge\ndivine\n
\n\n
\n\n\n

\n\tUse badges inside other widgets.\n

\n
\n\tBadges won't self collapse in Internet Explorer 8 because it lacks support for the :empty selector.\n
\n
\n\n\t
\n\t\tInbox 12\n\t\tInbox 12\n\t\tInbox 12\n\t\tEmpty badge is here \n\n\t\t
\n\n\t\t\n\n\t\t
\n\n\t\t\n\n\t\t
\n\n\t\t
\n\t\t\tInbox 12Sent 2Drafts \n\t\t
\n\t
\n\n\n\t\n\n
\n","alerts":"\n\n\n

Alerts

\n\n\n\n

\n\t

Global variables

\n\t
$alert-class: \"-alert\" !global\n$alert-border-radius: 3px !global\n$alert-border-width: 1px !global\n$alert-border-style: solid !global\n$alert-padding-vertical: $base-padding-vertical\n$alert-padding-horizontal: $base-padding-horizontal\n\t
\n

\n\n

\n\tUse widget class -alert. Apply themes and sizes. You can apply -shadow-...- to add shadow to the alert.\n

\n
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\tNothing important here.\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\tHeads up! This alert needs your attention, but it's not super important.\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\tOh snap! Change a few things up and try submitting again.\n\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\tWarning! Better check yourself, you're not looking too good.\n\t\t
\n\t
\n\n\n\t
\n\t\n\tNothing important here.\n
\n
\n\t\n\tHeads up! This alert needs your attention, but it's not super important.\n
\n
\n\t\n\tOh snap! Change a few things up and try submitting again.\n
\n
\n\t\n\tWarning! Better check yourself, you're not looking too good.\n
\n
\n\n
\n\n\n\n\n\n

\n\tApply themes and sizes.\n

\n
\n\n\t
\n\t\t
\n\t\t\tHeads up! This alert needs your attention, but it's not super important.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tWarning! Better check yourself, you're not looking too good.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tOh snap! Change a few things up and try submitting again.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tNothing important here.\n\t\t
\n\t\t
\n\t\t
\n\t\t\tHeads up! This alert needs your attention, but it's not super important.\n\t\t
\n\t
\n\n\n\t
\n\tHeads up! This alert needs your attention, but it's not super important.\n
\n
...
\n
...
\n
...
\n
...
\n
\n\n
\n"},"start":{"structure":{"sources":"

Sources file structure

\n\n
    \n
  • maxmertkit/\n
      \n
    • mkit.json here you can change themes and sizes for every widget
    • \n
    • buildbuilded version of maxmertkit\n
        \n
      • css\n
          \n
        • \nmaxmertkit.css\n
        • \n
        • \nmaxmertkit.min-xxxxxxxx.css minified, gzipped and revved version to clear user cache.\n
        • \n
        • \nmaxmertkit.min.css minified and gzipped. Use revved version to prevent users using cached css.\n
        • \n
        \n
      • \n\n
      • js\n
          \n
        • \nmaxmertkit.js\n
        • \n
        • \nmaxmertkit.min-xxxxxxxx.js minified, gzipped and revved version to clear user cache.\n
        • \n
        • \nmaxmertkit.min.js minified and gzipped. Use revved version to prevent users using cached css.\n
        • \n
        \n
      • \n
      \n
    • \n\n
    • coffeeall maxmertkit coffee files\n
        \n
      • maxmertkit.coffee\nincludes all main helpers using in every plugin. Prototype for all plugins.\n
      • \n
      • affix.coffee
      • \n
      • button.coffee
      • \n
      • modal.coffee
      • \n
      • popup.coffee
      • \n
      • scrollspy.coffee
      • \n
      • tabs.coffee
      • \n
      \n
    • \n\n
    • sassall maxmertkit sass files\n
        \n
      • \nanimationsall animations for all widgets stores here\n
          \n
        • \npushesonly animations for pushes (not using right not)\n
        • \n
        • \n...\n
        • \n
        \n
      • \n
      • \ncommonglobal variables, reset, init, modifiers list, mixins and utilities stores here\n
      • \n
      • \nsizesusable sizes, remeber that you need to include sizes for each widget separatelly\n
      • \n
      • \nthemesusable themes, remeber that you need to include themes for each widget separatelly\n
      • \n
      • \nwidgetsall widgets are here\n
          \n
        • \n_widget-name.sass import files from folder widget-name; there may be different types or parts of widget widget-name.\n
        • \n
        • \nwidget-nametypes or parts of widget widget-name\n
        • \n
        • \n...\n
        • \n
        \n
      • \n
      • \nmain.sass the only compiling file; imports all maxmertkit stuff\n
      • \n
      \n
    • \n\n
    • \njs\n
        \n
      • \nmaxmertkit.js not minified maxmertkit js plugins\n
      • \n
      • \nbower\n
      • \n
      \n
    • \n\n
    • \ncss\n
        \n
      • \nmain.css not minified css of the maxmertkit\n
      • \n
      \n
    • \n\n
    • docs\n
        \n
      • coffeedocumentation app\n
          \n
        • ...
        • \n
        • contents.coffee\nmain menu and application contents\n
        • \n
        \n
      • \n\n
      • cssmaxmertkit and developer css
      • \n
      • imgimages needed for docs
      • \n
      • jsall js for documentation\n
          \n
        • bower\nbower libraries for documentation.\n
        • \n
        • libs\nnot bowered libraries for documentation.\n
        • \n
        • app.js main app.
        • \n
        • maxmertkit.js
        • \n
        • templates.js all compiled templates for docs.
        • \n
        • ...
        • \n
        \n
      • \n\n
      • sassdeveloper sass, only for docs.
      • \n
      • serverserver app on nodejs for docs.
      • \n
      • templatestemplates for docs\n
          \n
        • commonbase templates for application
        • \n
        • kitall documentation templates are here; if you want to fix text errors in docs, contribute and fix them here
        • \n
        • 404.html
        • \n
        • main.html
        • \n
        \n
      • \n
      \n
    • \n\n
    • \ntest\n
    • \n\n
    • \ntodo.md all todos trough all maxmertkit js files\n
    • \n
    \n
  • \n
\n","common":"

Structure

\n\n

There are two downloadable form of maxmertkit: build and sources. In each case you'll have different file structure.

\n\n
\nNote that Maxmertkit javascript plugins DON'T require jQuery from version 1.0.2 (see changelog).\n
\nTo compile maxmertkit.sass you'll need a Bourbon and Neat. Just use bower to install it (see instructions below).\n
\n","build":"

Prebuilded file structure

\n\n

Everything is very easy here. Just include min files to your project.

\n\n
    \n
  • maxmertkit/\n
      \n
    • css/\n
        \n
      • maxmertkit.css
      • \n
      • maxmertkit.min.css gzipped builded version of maxmertkit, includes all themes and all sizes for each widget.
      • \n
      \n
    • \n
    • js/\n
        \n
      • maxmertkit.js concatenated maxmertkit plugins.
      • \n
      • maxmertkit.min.js minified and gzipped.
      • \n
      \n
    • \n
    \n
  • \n
\n"},"howto":{"themeManage":"

Add and manage themes

\n\n

\n\t\n

\n\n

\n\tFirst you need to run $ gulp. Read about this in how to build section.\n

\n\n

\n\tTo edit themes just do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/themes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tOpen theme file.\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $theme variable.\n\t\t
  6. \n\t
\n

\n\n\n

\n\tTo add a new themes do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/themes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tDublicate any theme file (or use this gist — maxmertkitTheme). Remember that filename should begin with underscore (_).\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $theme variable.\n\t\t
  6. \n\t\t
  7. \n\t\t\tInclude theme file in sass/main.sass\n\t\t
  8. \n\t\t
  9. \n\t\t\tAdd theme to widgets in mkit.json\n\t\t
  10. \n\t
\n

\n","sizeManage":"

Add and manage sizes

\n\n

\n\t\n

\n\n

\n\tFirst you need to run $ gulp. Read about this in how to build section.\n

\n\n

\n\tTo edit sizes just do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/sizes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tOpen size file.\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $size variable.\n\t\t
  6. \n\t
\n

\n\n\n

\n\tTo add a new sizes do:\n\t

    \n\t\t
  1. \n\t\t\tGo to sass/sizes folder.\n\t\t
  2. \n\t\t
  3. \n\t\t\tDublicate any size file (or use this gist — maxmertkitSize). Remember that filename should begin with underscore (_).\n\t\t
  4. \n\t\t
  5. \n\t\t\tEdit $size variable.\n\t\t
  6. \n\t\t
  7. \n\t\t\tInclude size file in sass/main.sass\n\t\t
  8. \n\t\t
  9. \n\t\t\tAdd size to widgets in mkit.json\n\t\t
  10. \n\t
\n

\n","install":"

Install

\n

You can do it in several ways. Go to section download.

","editPrefixes":"

Change name convention

\n\n

\nMaybe you don't want to use prefixes and postfixes to class names of maxmertkit. For example instead of -btn use w-btn or jsut btn.\n

\n\n

\nTo do that edit file sass/common/_convention.sass. You will find prefixes and postfixes for all maxmertkit elements there.\n

\n\n

\nFor example to use for widgets prefix w-, just add\n

\n\n
\n\n
\n
$pref-widget: \"w-\"\n$post-widget: \"\"
\n\n
\n","common":"

Howto?

\n\n

Here I'll tell you how to do different things. Please, add new issue with label question and I'll add answers here.

","build":"

Build

\n\n

\n\t\n

\n\n

\n\t

    \n\t\t
  • Download sources.
  • \n\t\t
  • In terminal do:\n\t\t\t
      \n\t\t\t\t
    1. go to you sources folder;
    2. \n\t\t\t\t
    3. run npm install;
    4. \n\t\t\t\t
    5. run bower install;
    6. \n\t\t\t\t
    7. go to docs folder with command cd docs;
    8. \n\t\t\t\t
    9. run bower install;
    10. \n\t\t\t\t
    11. go back to your sources folder by typing cd ..;
    12. \n\t\t\t\t
    13. run gulp.
    14. \n\t\t\t
    \n\t\t
  • \n\t\t
  • In you browser go to http://127.0.0.1:3333/
  • \n\t
\n\n\tIf you want to buld minified sources, in substep 7 run gulp build.\n

\n"},"download":"
\n

Download

\n\n

There are several ways to download and use maxmertkit. The recommended one is to download all sources and build framework that suites only you. It will be easier, lighter and faster than any framework.


\n\n
\n
\n

Get build \n\n\n\n\n\n\n\n

\n

\nCompiled and minified CSS and JS, nothing more. Build includes all themes and all sizes for every widget in maxmertkit. It pretty heavy.\n

\n
\n
\n

Get sources \n\n\n\n\n\n\n\n

\n

\nIncludes all docs and all sources. Also includes build. See instructions how to use and compile below. Require some easiest installations. After that you'll have this site on your desktop.\n

\n
\n
\n
\n\n\n\n
\n

CDN

\n\n

Please, use CDN links to just include maxmertkit to your projects.

\n\n
<!-- Latest compiled and minified CSS -->\n<link rel=\"stylesheet\" href=\"//cdn.jsdelivr.net/maxmertkit/{{version}}/css/maxmertkit.css\">\n\n<!-- Latest compiled and minified JavaScript -->\n<script src=\"//cdn.jsdelivr.net/maxmertkit/{{version}}/js/maxmertkit.js\"></script>
\n
\n\n\n\n\n
\n

Bower

\n\n

Install and manage with Bower

\n\n
$ bower install maxmertkit
\n
\n","difference":"

Difference

\n\n

\n\t\n\t\tThere are some basic differences with other frameworks.\n\t\n

\n\n
    \n
  1. \n\tAuto build themes and sizes. Just edit mkit.json to add or remove theme or size to any widget.\n
  2. \n
  3. \nModularity. Exclude any sass widget from maxmertkit and everything will work well.\n
  4. \n\n
  5. Namespaces.\n\t
      \n\t\t\t
    • -widget — widget, for example -btn
    • \n\t\t\t
    • -theme- — theme, for example -primary-
    • \n\t\t\t
    • _size — size, for example _major
    • \n\t\t\t
    • _modifier_ — modifier, for example _active_
    • \n\t\t\t
    • -animation-- — animation, for example -fadein--
    • \n\t\t
    \n\t\t
    \n\t\t

    From now you really can say what happen below

    \n\t\t\n\t\t
    \n
  6. \n
\n"},"basic":{"typography":{"rtl":"

RTL (right to left) support

\n\n

\nThere is a RTL support in maxmertkit. Just use dir=\"rtl\" with block elements.\n

\n\n
\nFor more information go to css-tricks.\n
\n\n
\n\n
\n
\nThis text will go right to left.\n
\n
\n\n\n
\n
\nThis text will go right to left.\n
\n\n
\n\n\n\n

\nTo use inside inline elements use tag bdo:\n

\n
\n\n
\n

This text will go right to left.

\n
\n\n\n

This text will go right to left.

\n\n
\n","lists":"\n\n\n

Lists

\n\n\n

\n\t

Global variables:

\n\t
$list-item-inline-padding: 5px
\n

\n\n\n\n

Unordered

\n

A list of items in which the order does not explicitly matter.

\n
\n\t
\n\t\t
    \n\t\t
  • Lorem ipsum dolor sit amet
  • \n\t\t
  • Consectetur adipiscing elit
  • \n\t\t
  • Integer molestie lorem at massa
  • \n\t\t
  • Facilisis in pretium nisl aliquet
  • \n\t\t
  • Nulla volutpat aliquam velit\n\t\t\t
      \n\t\t\t\t
    • Phasellus iaculis neque
    • \n\t\t\t\t
    • Purus sodales ultricies
    • \n\t\t\t\t
    • Vestibulum laoreet porttitor sem
    • \n\t\t\t\t
    • Vestibulum laoreet porttitor sem\n\t\t\t\t\t
        \n\t\t\t\t\t\t
      • Phasellus iaculis neque
      • \n\t\t\t\t\t\t
      • Purus sodales ultricies
      • \n\t\t\t\t\t\t
      • Vestibulum laoreet porttitor sem
      • \n\t\t\t\t\t\t
      • Ac tristique libero volutpat at
      • \n\t\t\t\t\t
      \n\t\t\t\t
    • \n\t\t\t\t
    • Ac tristique libero volutpat at
    • \n\t\t\t
    \n\t\t
  • \n\t\t
  • Faucibus porta lacus fringilla vel
  • \n\t\t
  • Aenean sit amet erat nunc
  • \n\t\t
  • Eget porttitor lorem
  • \n\t\t
\n\t
\n\t
    \n
  • ...
  • \n
  • ...\n\t
      \n\t\t
    • ...
    • \n\t
    \n
  • \n
\n
\n\n\n

Ordered

\n

A list of items in which the order does explicitly matter.

\n
\n\t
\n\t\t
    \n\t\t\t
  1. Lorem ipsum dolor sit amet
  2. \n\t\t\t
  3. Consectetur adipiscing elit
  4. \n\t\t\t
  5. Integer molestie lorem at massa
  6. \n\t\t\t
  7. Facilisis in pretium nisl aliquet
  8. \n\t\t\t
  9. Nulla volutpat aliquam velit\n\t\t\t\t
      \n\t\t\t\t\t
    1. Phasellus iaculis neque
    2. \n\t\t\t\t\t
    3. Purus sodales ultricies
    4. \n\t\t\t\t\t
    5. Vestibulum laoreet porttitor sem
    6. \n\t\t\t\t\t
    7. Vestibulum laoreet porttitor sem\n\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t
      • Phasellus iaculis neque
      • \n\t\t\t\t\t\t\t
      • Purus sodales ultricies
      • \n\t\t\t\t\t\t\t
      • Vestibulum laoreet porttitor sem
      • \n\t\t\t\t\t\t\t
      • Ac tristique libero volutpat at
      • \n\t\t\t\t\t\t
      \n\t\t\t\t\t
    8. \n\t\t\t\t\t
    9. Ac tristique libero volutpat at
    10. \n\t\t\t\t
    \n\t\t\t
  10. \n\t\t\t
  11. Faucibus porta lacus fringilla vel
  12. \n\t\t\t
  13. Aenean sit amet erat nunc
  14. \n\t\t\t
  15. Eget porttitor lorem
  16. \n\t\t
\n\t
\n\t
    \n
  1. ...
  2. \n
  3. ...\n\t
      \n\t\t
    1. ...
    2. \n\t
    \n
  4. \n
\n
\n\n\n\n\n

Unstyled

\n

Use modifier class _unstyled_ to remove the default list-style and left margin on list items (immediate children only). This only applies to immediate children list items, meaning you will need to add the class for any nested lists as well.

\n
\n\t
\n\t\t
    \n\t\t\t
  1. Lorem ipsum dolor sit amet
  2. \n\t\t\t
  3. Consectetur adipiscing elit
  4. \n\t\t\t
  5. Integer molestie lorem at massa
  6. \n\t\t\t
  7. Facilisis in pretium nisl aliquet
  8. \n\t\t\t
  9. Nulla volutpat aliquam velit\n\t\t\t\t
      \n\t\t\t\t\t
    1. Phasellus iaculis neque
    2. \n\t\t\t\t\t
    3. Purus sodales ultricies
    4. \n\t\t\t\t\t
    5. Vestibulum laoreet porttitor sem
    6. \n\t\t\t\t\t
    7. Vestibulum laoreet porttitor sem\n\t\t\t\t\t\t
        \n\t\t\t\t\t\t\t
      • Phasellus iaculis neque
      • \n\t\t\t\t\t\t\t
      • Purus sodales ultricies
      • \n\t\t\t\t\t\t\t
      • Vestibulum laoreet porttitor sem
      • \n\t\t\t\t\t\t\t
      • Ac tristique libero volutpat at
      • \n\t\t\t\t\t\t
      \n\t\t\t\t\t
    8. \n\t\t\t\t\t
    9. Ac tristique libero volutpat at
    10. \n\t\t\t\t
    \n\t\t\t
  10. \n\t\t\t
  11. Faucibus porta lacus fringilla vel
  12. \n\t\t\t
  13. Aenean sit amet erat nunc
  14. \n\t\t\t
  15. Eget porttitor lorem
  16. \n\t\t
\n\t
\n\t
    \n
  1. ...
  2. \n
  3. ...\n\t
      \n\t\t
    1. ...
    2. \n\t
    \n
  4. \n
\n
\n\n\n\n

Horizontal

\n

Use modifier class _horizontal_ to place all list items on a single line with display: inline-block and some light padding.

\n
\n\t
\n\t\t
    \n\t\t\t
  1. Lorem
  2. \n\t\t\t
  3. Consectetur
  4. \n\t\t\t
  5. Integer
  6. \n\t\t\t
  7. Facilisis
  8. \n\t\t\t
  9. Nulla
  10. \n\t\t\t
  11. Faucibus
  12. \n\t\t\t
  13. Aenean
  14. \n\t\t\t
  15. Eget
  16. \n\t\t
\n\t
\n\t
    \n\t
  1. Lorem
  2. \n\t
  3. Consectetur
  4. \n\t
  5. Integer
  6. \n\t
  7. Facilisis
  8. \n\t
  9. Nulla
  10. \n\t
  11. Faucibus
  12. \n\t
  13. Aenean
  14. \n\t
  15. Eget
  16. \n
\n
\n\n\n\n\n\n\n\n\n

Description

\n

A list of terms with their associated descriptions.

\n
\n\t
\n\t\t
\n\t\t\t
Description lists
\n\t\t\t
A description list is perfect for defining terms.
\n\t\t
\n\t\t
\n\t\t\t
Description lists
\n\t\t\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t\t\t
Donec id elit non mi porta gravida at eget metus.
\n\t\t
\n\t
\n\t
\n\t
Description lists
\n\t
A description list is perfect for defining terms.
\n
\n
\n\t
Description lists
\n\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t
Donec id elit non mi porta gravida at eget metus.
\n
\n
\n\n\n

Horizontal

\n

Use modifier class _horizontal_to make terms and descriptions in<dl> line up side-by-side. Responsive.

\n
\n\t
\n\t\t
\n\t\t\t
Description lists
\n\t\t\t
A description list is perfect for defining terms.
\n\t\t
\n\t\t
\n\t\t\t
Description lists with very-very-very long title
\n\t\t\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t\t\t
Donec id elit non mi porta gravida at eget metus.
\n\t\t
\n\t
\n\t
\n\t
Description lists
\n\t
A description list is perfect for defining terms.
\n
\n\t
\n\t
Description lists with very-very-very long title
\n\t
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
\n\t
Donec id elit non mi porta gravida at eget metus.
\n
\n
\n","links":"\n\n\n

Links

\n

Add beautiful underline to your links. Use .-link-hang

\n\n
\n\t\n\t

\n\t\t

Global variables:

\n\t\t
$typo-link-hang-class: \"-link-hang\" !global\n\t$typo-link-hang-underline-height: 1px !global
\n\t

\n\n\t

\n\t\t

Important! If you use -link-hang with tag <a>, the color of tag will not be changed. You'll need to change it manually. I did it to not to break user's css.
\n\t

\n\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\tHang Link is here\n\t\t\t
\n\t\t\t
\n\t\t\t\tWith tag <a> you'll need to change text color of the link manually:\n\t\t\t\t

Hang Link is here

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
Hang Link is here
\n\t\t\t
\n\t
\n
\n\n
\n\t

In block and inline tags

\n\n\t

Put -link-hang inside elements b, i, small, p and span. The styles will aply to the inner -link-hang automatically.

\n\n\t
\n\t\t
\n\t\t\tThere is Hang Link inside this span.
\n\t\t\t

Info big paragraph with Hang Link inside.

\n\t\t\tWarning small tag with Hang Link inside \n\t\t
\n\t\t
\n\t\t\t
There is Hang Link inside this span
\n

Info big paragraph with Hang Link inside.

\nWarning small tag with Hang Link inside
\n\t
\n
\n\n\n
\n\t

Problems

\n\t

\n\t\tWhen you change the background, you can see the artifacts.\n\t

\n\n\t
\n\t\t
\n\t\t\tThere is Hang Link inside this span.
\n\t\t
\n\t
\n\n\t

To fix that, add text-shadow: .1em 0 0 color-here, -.1em 0 0 color-here to your -link-hang in the block with background.

\n\t
\n\t\t
\n\t\t\tThere is Hang Link inside this span.
\n\t\t
\n\t\t
\n\t\t\t
\n\tThere is Hang Link inside this span.\n
\n\t
\n
","headings":"\n\n\n

Headings

\n

Specifies heading. Use h# or class .-h#(# - number 1..6)

\n\n\n

\n\t

Global variables:

\n\t
$headings-class: \"-h\"\n\n$headings-h1-font-size: floor($base-font-size * 2.6) !global\n$headings-h2-font-size: floor($base-font-size * 2.15) !global\n$headings-h3-font-size: floor($base-font-size * 1.7) !global\n$headings-h4-font-size: floor($base-font-size * 1.25) !global\n$headings-h5-font-size: $base-font-size !global\n$headings-h6-font-size: floor($base-font-size * 0.85) !global\n\n$headings-line-height: 1.1 !global\n\n$headings-font-weight: 500 !global\n$headings-font-weight-small: 500 !global\n$headings-font-family: inherit !global\n$headings-color: inherit !global\n$headings-injection-color: #999 !global
\n

\n\n\n\n
\n\t
\n\t\t
\n\t\t\t

Heading 1

\n\t\t\t

Heading 2

\n\t\t\t

Heading 3

\n\t\t\t

Heading 4

\n\t\t\t
Heading 5
\n\t\t\t
Heading 6
\n\t\t
\n\t\t
\n\t\t\t
Heading 1
\n\t\t\t
Heading 2
\n\t\t\t
Heading 3
\n\t\t\t
Heading 4
\n\t\t\t
Heading 5
\n\t\t\t
Heading 6
\n\t\t
\n\t
\n\t
\n\t\t

Heading 1

\n

Heading 2

\n

Heading 3

\n

Heading 4

\n
Heading 5
\n
Heading 6
\n\t\t
Heading 1
\n
Heading 2
\n
Heading 3
\n
Heading 4
\n
Heading 5
\n
Heading 6
\n
\n\n\n\n\n

Injections inside headings

\nUse size classes
\n_tiny,\n_small,\n_minor,\n_normal,\n_major,\n_normal,\n_big,\n_huge,\n_divine\n
\n\t
\n\t\t
\n\t\t\t

Heading 4 small injection

\n\t\t\t

Heading 4 minor injection

\n\t\t\t

Heading 4 normal injection

\n\t\t\t

Heading 4 no class injection

\n\t\t\t

Heading 4 major injection

\n\t\t\t

Heading 4 big injection

\n\t\t\t

Heading 4 huge injection

\n\t\t\t

Heading 4 divine injection

\n\t\t
\n\t\t
\n\t\t\t

Heading 1 small injection

\n\t\t\t

Heading 1 normal injection

\n\t\t\t

Heading 1 major injection

\n\t\t\t

Heading 1 huge injection

\n\t\t
\n\t
\n\t
\n\t\t

Heading 4 tiny injection

\n

Heading 4 small injection

\n

Heading 4 minor injection

\n

Heading 4 normal injection

\n

Heading 4 no class injection

\n

Heading 4 major injection

\n

Heading 4 big injection

\n

Heading 4 huge injection

\n

Heading 4 divine injection

\n\t\t

Heading 1 tiny injection

\n

Heading 1 normal injection

\n

Heading 1 major injection

\n

Heading 1 huge injection

\n
\n","common":"
\n\t

Typography

\n
\n","code":"\n\n\n

Code

\n\n\n

\n\t

Global variables:

\n\t
$code-border: 0px solid rgba(0,0,0,.05)\n$code-color: #c7254e\n$code-background: #f9f2f4\n$code-font-size: 90%\n$code-padding: 1px 4px\n$code-border-radius: 2px\n\n$pre-bg: #f5f5f5\n$pre-color: #777\n$pre-border-color: #ccc\n$pre-border-radius: 3px
\n

\n\n\n

Inline

\n

Wrap inline snippets of code with <code>.

\n
\n\n\n\t
\n\t\tFor example, <section> should be wrapped as inline.\n\t
\n\n\n\t
For example, <section> should be wrapped as inline.
\n\n
\n\n\n

Block

\n

Use <pre> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.

\n
\n\n\n\t
\n\t\t
<p>Sample text here...</p>
\n\t
\n\n\n\t
<p>Sample text here...</p>
\n\n
\n","body":"\n\n\n

Body

\n

All common tags.

\n\n\n

\n\t

Global variables:

\n\t
$body-b-font-weight: 700 !global\n$body-i-font-style: italic !global\n$body-small-font-size: 85% !global\n\n$abbr-initialism-class: \"-initialism\" !global\n\n$blockquote-small-font-size: 80% !global
\n

\n\n\n

Bold

\n

For emphasizing a snippet of text with a heavier font-weight.

\n
\n\t
\n\t\tThis is bold text
\n\t\tThis is bold text\n\t
\n\t
\n\t\t
This is bold text\nThis is bold text
\n\t
\n
\n\n

Italic

\n

For emphasizing a snippet of text with italics.

\n
\n\t
\n\t\tThis is italic text
\n\t\tThis is italic text\n\t
\n\t
\n\t\t
This is italic text\nThis is italic text
\n\t
\n
\n\n

Small

\n

For de-emphasizing inline or blocks of text, use the <small> tag to set text at 85% the size of the parent. Heading elements receive their own font-size for nested <small> elements.

\n
\n\t
\n\t\tNormal and small text
\n\t
\n\t
Normal and small text
\n
\n\n\n

Sizes with inline elements

\n

\n\tUse size classes\n\t_tiny,\n\t_small,\n\t_minor,\n\t_normal,\n\t_major,\n\t_normal,\n\t_big,\n\t_huge,\n\t_divine\n\twith inline elements to set size.\n

\n
\n\t
\n\t\tNormal text with _major text, and here is _big italic text, and _huge bold\n\t
\n\t
Normal text with _major text, and here is _big italic text, and _huge bold
\n
\n\n\n

Themes with inline elements

\n

\n\tUse theme classes (you can include any theme, so themes class names can be different)\n\t-primary-,\n\t-error-,\n\t-success-\n\n\twith inline elements to set theme.\n

\n
\n\t
\n\t\tNormal text with -primary- text, i -error- text, b -success- text\n\t
\n\t
Normal text with -primary- text, i -error- text, b -success- text
\n
\n\n\n

Modifiers with inline elements

\n

\n\tUse modifier classes _left_, _center_, _right_, _justify_ with inline elements to realign text.\n

\n
\n\t
\n\t\t

left

\n\t\t

center

\n\t\t

right

\n\t\t

Justify is in this block! Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

\n\t
\n\t

left

\n

center

\n

right

\n

Justify is in this block! ...

\n
\n\n\n\n\n\n\n\n\n

Abbreviation

\nAbbreviations with a title attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover. If you use initialism, use -initialism class.\n
\n\t
\n\t\tattr, HTML\n\t
\n\t
attr, HTML
\n
\n\n\n

Address

\nAbbreviations with a title attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover. If you use initialism, use -initialism class.\n
\n\t
\n\t\t
\n\t\t\tTwitter, Inc.
\n\t\t\t795 Folsom Ave, Suite 600
\n\t\t\tSan Francisco, CA 94107
\n\t\t\tP: (123) 456-7890\n\t\t
\n\t\t
\n\t\t\tFull Name
\n\t\t\tfirst.last@example.com\n\t\t
\n\t
\n\t
\n\tTwitter, Inc.
\n\t795 Folsom Ave, Suite 600
\n\tSan Francisco, CA 94107
\n\tP: (123) 456-7890\n
\n
\n\tFull Name
\n\tfirst.last@example.com\n
\n
\n\n\n

Blockquote

\n

Style and content changes for simple variations on a standard <blockquote>.

\n

Use modifier classes _left_ and _right_ to realign blockquote.

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- with blockquotes to set theme.

\n
\n\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t\t
\n\t\t\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\t\t\tSomeone famous in Source Title\n\t\t
\n\t
\n\t
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n\t

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

\n\tSomeone famous in Source Title\n
\n
\n"},"tables":{"striped":"\n\n\n

Striped

\n

Use modifier class _striped_ to add zebra-striping to any table row within the <tbody>.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n\n\n\n

Combine modifier and themes classes.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n","rows":"\n\n\n

Rows

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- with .-table to set theme to <tr>.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n\t\n\n\t\n\t\n\n\t\n\t\n\n\t\n\n
\n\n\n
\n","hovered":"\n\n\n

Hovered

\n

Use modifier class _hovered_ to add highlight to hovered table row within the <tbody>.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n\n\n\n

Combine modifier and themes classes.

\n\n\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n","common":"

Tables

\n\n

\n\t

Global variables

\n\t
$table-class: \"-table\" !global\n$table-cell-padding: 8px !global
\n

\n","cells":"\n\n\n

Cells

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- to set theme to <td>.

\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\n\n
\n","basic":"\n\n\n

Basic usage

\n\n

Use class -row. Designates the element as a row of columns in the grid layout.

\n\n
\n\tFor mobile add modifier _responsive_. This will set for table font-size: 0.9em. And don't forget to hide minor cells on mobile with maxmertkit responsive utilities.\n
\n\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\n
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\n\n
\n\n\n\n\n

Horizontal border

\n

Use modifier class _horizontal_ to add horizontal dividers.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n\n\n\n\n

Vertical border

\n

Use modifier class _vertical_ to add vertical dividers.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n\n\n\n\n\n

Combine modifiers

\n

Combine modifiers _vertical_ and _horizontal_ to add inside dividers.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\n
\n\n\n
\n\n\n\n\n\n\n

Bordered

\n

Use modifier class _bordered_ for borders on all sides of the table and cells.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n\n\n\n\n

Use themes

\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success- with .-table to set theme.

\n\n
\n\n\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
\n\t
\n\n\n\t
\n\t\t
\n\n
\n\n\n
\n"},"grid":{"row":"\n\n\n

Row

\n\n\n

\n\t

Global variables

\n\t
$row-class: -row !global
\n
\n

\n\n

Use class -row. Designates the element as a row of columns in the grid layout.

\n\n
\n\n\t
\n\t\t
\n\t\t\tThis is first row.\n\t\t
\n\t\t
\n\t\t\tThis is second row.\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t
\n\t\tThis is first row.\n\t
\n\t
\n\t\tThis is second row.\n\t
\n
\n\n
\n\n\n\n
\n\tUse modifier _justify_ to prevent mobile view of the grid.\n
\n\n
\n\n\t
\n\t\t
\n\t\t\t
Keep grid structure in mobile
\n\t\t\t
Keep grid structure in mobile
\n\t\t\t
Keep grid structure in mobile
\n\t\t
\n\t\t
\n\t\t\t
Don't keep grid structure in mobile
\n\t\t\t
Don't keep grid structure in mobile
\n\t\t\t
Don't keep grid structure in mobile
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t
Keep grid structure in mobile
\n\t
Keep grid structure in mobile
\n\t
Keep grid structure in mobile
\n
\n
\n\t
Don't keep grid structure in mobile
\n\t
Don't keep grid structure in mobile
\n\t
Don't keep grid structure in mobile
\n
\n\n
\n","container":"\n\n\n

Container

\n

\n\tGlobal variables\n\t

$container-class: -container !global
\n

\n

Use class -container to move block to the center in the viewport, clear its floats, and set its max-width.

\n
\n\t
\n\t\t
...
\n\t
\n
\n\n\n
\n\tUse modifier _fixed_ to cancel responsiveness.\n
\n\n
\n\t
\n\t\t
...width is always 992px...
\n\t
\n
\n","common":"
\n\t

Grid

\n
\n","columns":"\n\n\n

Columns

\n\n\n

\n\tGlobal variables\n\t

$column-class: -col !global\n$column-quantity: 12 !global\n$offset-class: -offset !global
\n

\n\n

Use class .-col#(# - number 1..$column-quantity). Specifies columns of the grid.

\n
\n\n\t
\n\t\t
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t\t
-col1
\n\t\t
\n\n\t\t
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t
\n\n\t\t
\n\t\t\t
-col3
\n\t\t\t
-col3
\n\t\t\t
-col3
\n\t\t\t
-col3
\n\t\t
\n\n\t\t
\n\t\t\t
-col4
\n\t\t\t
-col4
\n\t\t\t
-col4
\n\t\t
\n\n\t\t
\n\t\t\t
-col5
\n\t\t\t
-col2
\n\t\t\t
-col5
\n\t\t
\n\n\t\t
\n\t\t\t
-col6
\n\t\t\t
-col6
\n\t\t
\n\n\t\t
\n\t\t\t
-col8
\n\t\t\t
-col4
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n\t
-col1
\n
\n\n
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n
\n\n
\n\t
-col3
\n\t
-col3
\n\t
-col3
\n\t
-col3
\n
\n\n
\n\t
-col4
\n\t
-col4
\n\t
-col4
\n
\n\n
\n\t
-col5
\n\t
-col2
\n\t
-col5
\n
\n\n
\n\t
-col6
\n\t
-col6
\n
\n\n
\n\t
-col8
\n\t
-col4
\n
\n\n
\n
\n\n\n

Order

\n
\n\tYou can change order of the columns on different devices. Look at Utilities order.\n
\n\n\n\n

Offsets

\n

Use class .-offset#. These classes increase the left margin of a column by # columns.

\n
\n\t
\n\t\t
\n\t\t\t
-col2
\n\t\t\t
-col2 -offset2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t\t
-col2
\n\t\t
\n\t\t
\n\t\t\t
-col6 -offset6
\n\t\t
\n\t\t
\n\t\t\t
-col6 -offset3
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t
-col2
\n\t
-col2 -offset2
\n\t
-col2
\n\t
-col2
\n\t
-col2
\n
\n
\n\t
-col6 -offset6
\n
\n
\n\t
-col6 -offset3
\n
\n
\n\n
\n"},"forms":{"grid":"\n\n\n

Build form grid

\n\n\n

\n\t

Global variables

\n\t
$form-input-font-family: inherit !global\n$form-input-border-radius: 0 !global\n$form-label-cursor: pointer !global\n$form-label-font-weight: 200 !global\n\n$form-column-margin-bottom: 4px !global
\n

\n\n\n

Dont't forget to use for=\"#id-input-name\" with <label>, it isn't necessary, but it's a good practice.

\n\n

\n\tCreating a form is designed to be easy and flexible. Forms are built with a combination of standard form elements, as well as the Grid (-row and -col#). Form elements in Foundation are styled based on their type attribute rather than a class, and can be sized in a couple of ways:\n\t

    \n\t\t
  • You can size inputs using column sizes -col#
  • \n\t\t
  • You can create row elements inside your form and use columns for the form, including inputs, labels and more. Rows inside a form inherit some special padding to even up input spacing.
  • \n\t
\n\tTo understand how to use Grid, please look at grid section.\n

\n\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n\n\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n\n\n

Use theme classes (you can include any theme, so themes class names can be different) -primary-, -error-, -success-, etc. with <input> to set theme.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n

Use size classes Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with <input> to set size.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t
\n
\n\n\n
\n","fieldset":"\n\n\n

Fieldset

\n\n\n

\n\t

Global variables

\n\t
$form-fieldset-border: 1px solid rgba(0,0,0,.2) !global\n$form-fieldset-padding-vertical: $base-line-height-comp !global\n$form-fieldset-padding-horizontal: $base-line-height-comp !global\n$form-legend-padding: 7px !global
\n

\n\n\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\tFieldset Legend\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t
\n\t\t
\n\t
\n\t\tFieldset Legend\n\n\t\t\n\t\t\n\t
\n
\n\n\n
\n","fields":"\n\n\n

Fields

\n\n\n

\n\t

Global variables

\n\t
$form-field-class: \"-field\"\n$form-field-border-width: 3px\n$form-field-border-radius: 3px
\n

\n\n\n\n\n

What is filed? Field is an element with class -field and <input> inside. It doesn't has new functions, just looks prettier.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\n\n\n\n

Use size classes Use size classes _tiny, _small, _minor, _normal, _major, _normal, _big, _huge, _divine with <input> to set size.

\n\n
\n\n\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t
\n\n\n\t\t
\n\t\t\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n","common":"
\n\t

Forms

\n
\n"}},"utilities":{"responsive":"

Responsive utilities

\n\n\n

\n\tFor faster mobile-friendly development, use these utility classes for showing and hiding content by device via media query. Also included are utility classes for toggling content when printed.\n

\n\n

\n\tTry to use these on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation. Responsive utilities are currently only available for block and table toggling. Use with inline and table elements is currently not supported.\n

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
mobiletabletsdesktopslarge desktops
._visible-phones_visiblehiddenhiddenhidden
._visible-tablets_hiddenvisiblehiddenhidden
._visible-desktops_hiddenhiddenvisiblehidden
._visible-large-desktops_hiddenhiddenhiddenvisible
._hidden-phones_hiddenvisiblevisiblevisible
._hidden-tablets_visiblehiddenvisiblevisible
._hidden-desktops_visiblevisiblehiddenvisible
._hidden-large-desktops_visiblevisiblevisiblehidden
\n\n\n

Test responsive

\n\n
\n\t
Visible on phones
Hidden on phones
\n\t
Visible on tablets
Hidden on tablets
\n\t
Visible on desktops
Hidden on desktops
\n\t
Visible on large
Hidden on large
\n
\n
\n
\n\t
Hidden on phones
Visible on phones
\n\t
Hidden on tablets
Visible on tablets
\n\t
Hidden on desktops
Visible on desktops
\n\t
Hidden on large desktops
Visible on large
\n
\n
\n
\n\t
Visible on all desktops
Hidden on phones and tablets
\n\t
Visible on desktops
Hidden on desktops
\n\t
Hidden on large desktops
Visible on large
\n
\n","order":"

Changing order

\n\n\n

\n\tIf you want to change order of any floating elements ( for example grid ), use this modifiers.\n

\n\n

\n\tIn this example columns will swap while you resizing window or use mobile browser.\n

\n\n
\n\n\t
\n\t\t
\n\t\t\t
right on big
\n\t\t\t
center
\n\t\t\t
left on big
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
right on big
\n\t
center
\n\t
left on big
\n
\n\t
\n\n
\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t
right on big
\n\t\t\t
left on big
\n\t\t\t
center
\n\t\t\t
center 2
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
right on big
\n\t
left on big
\n\t
center
\n\t
center 2
\n
\n\t
\n\n
\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\t
Menu
\n\t\t\t
Main content
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t
Menu
\n\t
Main content
\n
\n\t
\n\n
\n"},"components":{"wall":"\t

Wall

\n\n\n\t
\n\t\t

Make a parallax effect with image or video background

\n\t
\n\n\n\t
\n\n\t
\n\t\tLook at the example. Walls with video and image backgrounds code below.\n\t
\n\n\n\t
walls = document.querySelectorAll(\"[data-kind='wall']\")\nfor wl in walls\n\twl.wall()
\n\n\t
\n\t
\n\t\t\n\t\t\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Yosemite

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
The LIFE, Colin Delehanty\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n\t
\n\t
\n\t\t\n\t\t
\n\t\t\t\"\"\n\t\t
\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Yosemite

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
The LIFE, Colin Delehanty\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n
You can add a content after <header>
\n\n
\n\n\t
\n\t\tLook at the example. Walls with video and image backgrounds code below.\n\t
\n\n\n\t
\n\t
\n\t\t\n\t\t
\n\t\t\t\"\"\n\t\t
\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Yosemite

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
The LIFE, Colin Delehanty\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\n\t\t\n\t\t
\n\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tA lot of content here.\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
\n\t
\n
\n\n
\n\n\n\n\n\n\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
kind@el.getAttribute( 'data-kind' ) or 'wall'\n\t\t\t\tSet walling type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or '.-thumbnail'\n\t\t\t\tString. Selector for the scrolling background element. For example <figure> or <video> or #video-id.\n\t\t\t
header@el.getAttribute( 'data-header' ) or '.-header'\n\t\t\t\tString. Selector for the header inside wall.\n\t\t\t
headerFade@el.getAttribute( 'data-fade' ) or yes\n\t\t\t\tBoolean. Hide header while scrolling out.\n\t\t\t
speed@el.getAttribute( 'data-speed' ) or 0.7\n\t\t\t\tNumber between 0 and 1. 1 – background element stands, 0 – element scrolls as usual.\n\t\t\t
zoom@el.getAttribute( 'data-zoom' ) or no\n\t\t\t\tBoolean. Zoom background element while scrolling.\n\t\t\t
height@el.getAttribute( 'data-height' ) or '100%'\n\t\t\t\tString or Number. Height of the wall. Inside should be measures like % or px. If number than it will use px.\n\t\t\t
onMobile@el.getAttribute( 'data-on-mobile' ) or no\n\t\t\t\tDeactivate wall on mobile devices.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
start\n\t\t\t\t

Activate wall.

\n\t\t\t
stop\n\t\t\t\t

Deativate wall.

\n\t\t\t
refresh\n\t\t\t\t

Refresh all positions and sizes.

\n\t\t\t
destroy\n\t\t\t\t

Destroy current instance.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get wall element use @ or this in js. Class instance always stores in data attribute of the wall element @data['kitWall'] or this.data['kitWall'] in js. To get wall element do @data['kitWall'].el. To get wall background element do @data['kitWall'].target.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate the wall. If it returns deferred.promise(), then wall will not start till deferred.resolve(), and woun't start if deferred.reject().

\n\t\t\t\t

document.querySelector('.wall').wall\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The wall will be in the log\n\t\t# so you can, for example, add classes\n\t\t# to disable the wall\n\n\t\tconsole.log @data['kitWall']\n\t\t# The instance of Wall class will in log\n\t\t# so to get wall element you need to do\n\t\twall = @data['kitWall']\n\t\twall._addClass 'some-class'\n\n\t\t# Do something here before activate wall\n\t\t# in this case it will start in 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after wall started.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if starting failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before wall stopped.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after wall stopped.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stopping failed.

\n\t\t\t
\n\n\n
\n","tabs":"
\n\t

Tabs

\n\n\n\t
\n\t\tTabs buttons and tabs content may be anywhere in the dom, you don't need to collect them in one dom element. It is an analog of button plugin with data-type=\"radio\".\n\t
\n\n\n\t
\n\n\t
\n\t\t\n\t\t
\n\t\t\t
Content for tab 1
\n\t\t\t
Content for tab 2
\n\t\t\t
Content for tab 3
\n\t\t\t
Content for tab 4
\n\t\t
\n\t
\n\n\n\t
\n
\n\t
Content for tab 1
\n\t
Content for tab 2
\n\t
Content for tab 3
\n\t
Content for tab 4
\n
\n
\n\n
tabs = document.querySelectorAll(\"[data-toggle='tabs']\")\nfor tab in tabs\n\ttab.tabs()\n
\n\n
\n\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
toggle@el.getAttribute( 'data-toggle' ) or 'tabs'\n\t\t\t\tSet toggle type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or null\n\t\t\t\tSelector to find the content of that tab button.\n\t\t\t
group@el.getAttribute( 'data-group' ) or null\n\t\t\t\tName of the tabs group. Uses to deactivate other tabs in the group, when one tab was activated.\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to activate/deactivate button.\n\t\t\t
initial@el.getAttribute( 'data-initial' ) or 0\n\t\t\t\tNumber of the tab to activate after initialization.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
activate\n\t\t\t\t

Activate button.

\n\t\t\t
deactivate\n\t\t\t\t

Deactivate button.

\n\t\t\t
enable\n\t\t\t\t

Enable button, events will work.

\n\t\t\t
disable\n\t\t\t\t

Disable button, events will not work.

\n\t\t\t
\n\n\n

Events

\n
\n\tInside each method to get tab use @ or this in js. Class instance always stores in data attribute of the tab element @data['kitTabs'] or this.data['kitTabs'] in js.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate tab. If it returns deferred.promise(), then tab will not activate till deferred.resolve(), and woun't activate at all if deferred.reject(). You can just get data with ajax instead of using deferred.

\n\t\t\t\t

tabs = document.querySelectorAll('.tabs-selector')\nfor tab in tabs\n\ttab.tabs\n\t\tbeforeactive: ->\n\t\t\td = $.Deferred()\n\n\t\t\ttab = @data['kitTabs']\n\t\t\ttab.el.querySelector('a').innerHTML = 'Loading...'\n\t\t\ttab._addClass '_disabled_'\n\n\t\t\tsetTimeout ->\n\t\t\t\td.resolve()\n\t\t\t,2000\n\t\t\td.promise()\n\n\t\tonactive: ->\n\t\t\ttab = @data['kitTabs']\n\t\t\ttab._removeClass '_disabled_'\n\t\t\ttab.el.querySelector('a').innerHTML = 'Active tab'\n\n\t\tondeactive: ->\n\t\t\ttab = @data['kitTabs']\n\t\t\ttab.el.querySelector('a').innerHTML = 'Tab'\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after tab activation.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before deactivate tab.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after deactivate tab.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if deactivation failed.

\n\t\t\t
\n\n\n\n\n
\n","skyline":"\t

Skyline

\n\n\n\t
\n\t\t

When the skyline element is in visible part of the document, starts animation to show it.

\n\n\t\t
Don't forget to add animation classes to your skyline elements.
\n\t
\n\n\n\t
\n\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n...
\n\n
skylines = document.querySelectorAll(\"[data-spy='skyline']\")\nfor sky in skylines\n\tsky.skyline\n\t\tdelay: ->\n\t\t\t2000 * Math.random()\n
\n\n
\n\n\n

Let's change animation to -newspaper--.

\n\n\n
\n\n\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\n\n\t
\n\n\n...
\n\n
skylines = document.querySelectorAll(\"[data-spy='skyline']\")\nfor sky in skylines\n\tsky.skyline\n\t\tdelay: ->\n\t\t\t2000 * Math.random()\n
\n\n
\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
spy@el.getAttribute( 'data-spy' ) or 'skyline'\n\t\t\t\tSet toggle type of the element.\n\t\t\t
offset@el.getAttribute( 'data-offset' ) or 5\n\t\t\t\tNumber. Vertical offset to start showing scrollspy elements before or after they are visible.\n\t\t\t
delay@el.getAttribute( 'data-delay' ) or 300\n\t\t\t\tNumber or Function, returning number. Delay before showing.\n\t\t\t
once@el.getAttribute( 'data-once' ) or no\n\t\t\t\tBoolean, show just once and don't hide element anymore.\n\t\t\t
onMobile@el.getAttribute( 'data-on-mobile' ) or no\n\t\t\t\tStop Skyline plugin on mobile devices.\n\t\t\t
\n\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
activate\n\t\t\t\t

Activate current skyline element.

\n\t\t\t
deactivate\n\t\t\t\t

Deactivate current skyline element.

\n\t\t\t
start\n\t\t\t\t

Start listening scroll events.

\n\t\t\t
stop\n\t\t\t\t

Stop listening scroll effects.

\n\t\t\t
refresh\n\t\t\t\t

Refresh sizes and position of the skyline element.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get skyline use @ or this in js. Class instance always stores in data attribute of the skyline element @data['kitSkyline'] or this.data['kitSkyline'] in js.\n
\n\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
EventDescription
beforeactive\n\t\t\t\t

Set a function to call it before start skyline. If it returns deferred.promise(), then skyline will not start till deferred.resolve(), and woun't start at all if deferred.reject(). You can just get data with ajax instead of using deferred.

\n\t\t\t\t

skylines = document.querySelectorAll(\".radio-with-before\")\nfor btn in skylines\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,2000\n\t\td.promise()\n\n\tonactive: ->\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._removeClass '_disabled_'\n\n\tbeforedeactive: ->\n\t\td = $.Deferred()\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,3000\n\t\td.promise()\n\n\tondeactive: ->\n\t\tskyline = @data['kitSkyline']\n\t\tskyline._removeClass '_disabled_'\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after skyline start.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if start failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before stop skyline.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after stop skyline.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stop failed.

\n\t\t\t
\n","scrollspy":"
\n\t

Scrollspy

\n\n\n\t
\n\t\t
\n\n\t\t
\n\t\t
\n\n\t\t
\n\t\t
\n\n\t\t
\n\t
\n\n\n\n\t
\n\n\t
\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

Menu 1

\n\t\t\t\t

\n\t\t\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon; formally 日本国 About this sound Nippon-koku or Nihon-koku, literally \"the State of Japan\") is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south. The characters that make up Japan's name mean \"sun-origin\", which is why the country is sometimes referred to as the \"Land of the Rising Sun\". Japan is an archipelago of 6,852 islands, the four largest being Honshu, Hokkaido, Kyushu and Shikoku. Together, these four islands hold about 97 percent of the country's land area. Japan has the world's tenth-largest population, with more than 126 million people. Honshū's Greater Tokyo Area includes the de facto capital city of Tokyo and several surrounding prefectures. It is the largest metropolitan area in the world, with more than 30 million residents.\n\t\t\t\t

\n\n\t\t\t\t

Menu 2

\n\t\t\t\t

\n\t\t\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon; formally 日本国 About this sound Nippon-koku or Nihon-koku, literally \"the State of Japan\") is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south. The characters that make up Japan's name mean \"sun-origin\", which is why the country is sometimes referred to as the \"Land of the Rising Sun\". Japan is an archipelago of 6,852 islands, the four largest being Honshu, Hokkaido, Kyushu and Shikoku. Together, these four islands hold about 97 percent of the country's land area. Japan has the world's tenth-largest population, with more than 126 million people. Honshū's Greater Tokyo Area includes the de facto capital city of Tokyo and several surrounding prefectures. It is the largest metropolitan area in the world, with more than 30 million residents.\n\t\t\t\t

\n\n\t\t\t\t

Menu 3

\n\t\t\t\t

\n\t\t\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon; formally 日本国 About this sound Nippon-koku or Nihon-koku, literally \"the State of Japan\") is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south. The characters that make up Japan's name mean \"sun-origin\", which is why the country is sometimes referred to as the \"Land of the Rising Sun\". Japan is an archipelago of 6,852 islands, the four largest being Honshu, Hokkaido, Kyushu and Shikoku. Together, these four islands hold about 97 percent of the country's land area. Japan has the world's tenth-largest population, with more than 126 million people. Honshū's Greater Tokyo Area includes the de facto capital city of Tokyo and several surrounding prefectures. It is the largest metropolitan area in the world, with more than 30 million residents.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\n\n\t
\n\n\t
\n\t
\n\t\t

Menu 1

\n\t\t

\n\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon;...\n\t\t

\n\n\t\t

Menu 2

\n\t\t

\n\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon;...\n\t\t

\n\n\t\t

Menu 3

\n\t\t

\n\t\t\tJapan Listeni/dʒəˈpæn/ (Japanese: 日本 Nippon or Nihon;...\n\t\t

\n\t
\n
\n\n\t
document.querySelector('[data-spy=\"scroll\"]').scrollspy\n\toffset: 100
\n\n
\n\n\n\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
spy@el.getAttribute( 'data-spy' ) or 'scroll'\n\t\t\t\tSet spying type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or 'body'\n\t\t\t\tListen to event scroll of this element. All spying blocks are inside.\n\t\t\t
offset@el.getAttribute( 'data-offset' ) or 5\n\t\t\t\tVertical offset of the element in text to fire the activation (for example activate menu when the header will be 5px above the top of the screen).\n\t\t\t
elements@el.getAttribute( 'data-elements' ) or 'li a'\n\t\t\t\tSelector to spy those elements inside @ (spy, or menu in our case).\n\t\t\t
elementsAttr@el.getAttribute( 'data-elements-attr' ) or 'href'\n\t\t\t\tAttribute of each element with ID of the target.\n\t\t\t
onMobile@el.getAttribute( 'data-on-mobile' ) or no\n\t\t\t\tDeactivate spy on mobile devices.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
start\n\t\t\t\t

Activate spy.

\n\t\t\t
stop\n\t\t\t\t

Deativate spy.

\n\t\t\t
refresh\n\t\t\t\t

Refresh all menu items and positions of targets.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get menu element use @ or this in js. Class instance always stores in data attribute of the menu element @data['kitScrollspy'] or this.data['kitScrollspy'] in js. To get scrollspy element (menu) do @data['kitScrollspy'].el. To get scrollspy scroll block do @data['kitScrollspy'].target.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate the spy. If it returns deferred.promise(), then spy will not start till deferred.resolve(), and woun't start if deferred.reject().

\n\t\t\t\t

document.querySelector('.spy-this-menu').scrollspy\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The spy (menu) will be in the log\n\t\t# so you can, for example, add classes\n\t\t# to disable the spying menu\n\n\t\tconsole.log @data['kitScrollspy']\n\t\t# The instance of Scrollspy class will in log\n\t\t# so to get scrollspy element you need to do\n\t\tspy = @data['kitScrollspy']\n\t\tspy._addClass '_disabled_'\n\n\t\t# Do something here before activate scrollspy\n\t\t# in this case it will start in 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after spy started.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if starting failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before spy stopped.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after spy stopped.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stopping failed.

\n\t\t\t
\n\n\n
\n","popup":"
\n\t

Popup

\n\n\n\t
\n\t\t
\n\t\t\t

HTML Popup

\n\t\t\t

\n\t\t\t\tUse widgets -dropdown or -tooltip\n\t\t\t

\n\t\t\t

\n\t\t\t\tTo set animation to the dialog window add animation name: -fadein--, -fall--, -fliphorizontal--, -flopvertical--, -slidein--, -scalein--, -newspaper--.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

HTML Button

\n\t\t\t

\n\t\t\t\tAdd data attributes to any widget data-toggle=\"popup\" and data-target=\"#popup1\". The plugin will find such buttons automatically. In data-target you can set classes or ids.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

Coffescript

\n\t\t\t

Simple way:

\n\t\t\t

el.popup()

More complicated:

\n\t\t\t

el.popup\n\tbeforeactive: ->\n\t\t# Get popup class instance\n\t\tpopup = @data['kitPopup']\n\t\t# Set new content\n\t\tpopup.dialog.innerHTML = \"Set content here\"\n\n\tonactive: ->\n\t\t# Add active class to the button\n\t\t@_addClass '_active_'\n\n\tondeactive: ->\n\t\t# Remove active class to the button\n\t\t@_removeClass '_active_'

\n\t\t
\n\t
\n\n\n\n\t
\n\n\t
\n\t\tcorner\n\t\tdoor\n\t\tfadein\n\t\tfall\n\t\tfliphorizontal\n\t\tflipvertical\n\t\thugeinc\n\t\tnewspaper\n\t\tscale\n\t\tslidedown\n\t
\n\n\t
\n\t\tTop\n\t\tLeft\n\t\tRight\n\t\tBottom\n\t\tBottom right\n\t\tTop left\n\t
\n\n\n\t\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n...\n
\n\n
document.querySelector('.btn-popup-demo').popup\n\tbeforeactive: ->\n\t\tpopup = @data['kitPopup']\n\t\tpopup.dialog.innerHTML = \"Popup #{popup._id} with dynamic content
Random number #{Math.random()}\"\n\n\tonactive: ->\n\t\t@_addClass '_active_'\n\n\tondeactive: ->\n\t\t@_removeClass '_active_'\n\n\ndocument.querySelector('.btn-popup-demo-left').popup\n\tposition:\n\t\tvertical: 'middle'\n\t\thorizontal: 'left'\n\tbeforeactive: ->\n\t\tpopup = @data['kitPopup']\n\t\tpopup.dialog.innerHTML = \"Popup #{popup._id} with dynamic content
Random number #{Math.random()}\"\n\n\tonactive: ->\n\t\t@_addClass '_active_'\n\n\tondeactive: ->\n\t\t@_removeClass '_active_'\n\n...\n
\n\n\n
\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
target @el.getAttribute( 'data-target' ) or null\n\t\t\t\tFind element with this selector and work with it as a popup window.\n\t\t\t
toggle@el.getAttribute( 'data-toggle' ) or 'popup'\n\t\t\t\tSet toggle type.\n\t\t\t
dialog@el.getAttribute( 'data-dialog' ) or \".-content\"\n\t\t\t\tSelector to find dialog blog inside popup.\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to open popup.\n\t\t\t
eventClose@el.getAttribute( 'data-event-close' ) or \"click\"\n\t\t\t\tEvent for closer element to close popup. Closer element should be anywhere in the DOM with attribute data-dismiss=\"target-selector\".\n\t\t\t
autoOpen@el.getAttribute('data-autoopen') or no\n\t\t\t\tOpen popup after initialization.\n\t\t\t
position{\n\t\t\t\tvertical: @el.getAttribute( 'data-position-vertical' ) or 'top',\n\t\t\t\thorizontal: @el.getAttribute( 'data-position-horizontal' ) or 'center'\n\t\t\t}\n\t\t\t\tPopup position relative to the button.
\n\t\t\t\tvertical: 'top' / 'middle' / 'bottom'
\n\t\t\t\thorizontal: 'left' / 'center' / 'right'\n\t\t\t
offset\n\t\t\t\t\n\t\t\t\t\thorizontal: @el.getAttribute( 'data-offset-horizontal' ) or 0
\n\t\t\t\t\tvertical: @el.getAttribute( 'data-offset-vertical' ) or 0\n\t\t\t\t
\n\t\t\t
\n\t\t\t\tIn px. Offset relative to position.\n\t\t\t
closeUnfocus\n\t\t\t\t\n\t\t\t\t\t@el.getAttribute( 'data-close-unfocus' ) or no\n\t\t\t\t\n\t\t\t\n\t\t\t\tClose popup if click outside of it.\n\t\t\t
closeOnResize\n\t\t\t\t\n\t\t\t\t\t@el.getAttribute( 'data-close-resize' ) or yes\n\t\t\t\t\n\t\t\t\n\t\t\t\tClose popup when browser window resizing.\n\t\t\t
selfish\n\t\t\t\t\n\t\t\t\t\t@el.getAttribute( 'data-selfish' ) or yes\n\t\t\t\t\n\t\t\t\n\t\t\t\tClose all popups when opens this one.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
open\n\t\t\t\t

Open popup.

\n\t\t\t
close\n\t\t\t\t

Close popup.

\n\t\t\t
enable\n\t\t\t\t

Start listening to the events.

\n\t\t\t
disable\n\t\t\t\t

Stop listening to the events. Popup will stay in current status (opened or closed) and will not work anymore.

\n\t\t\t
setPosition\n\t\t\t\t

Refresh position of the popup relative to the button.

\n\t\t\t
\n\n\n

Events

\n\n
\n\tInside each method to get button use @ or this in js. Class instance always stores in data attribute of the button element @data['kitPopup'] or this.data['kitPopup'] in js. To get popup window element do @data['kitPopup'].target.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactiveundefined\n\t\t\t\t

Set a function to call it before popup opens. If it returns deferred.promise(), then popup will not open till deferred.resolve(), and woun't open if deferred.reject(). You can just get data with ajax for popup.

\n\t\t\t\t

document.querySelector('.btn-popup').popup\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The button element will be in the log\n\t\t# so you can add or remove classes easily\n\t\t# for example to disable button while getting data for popup window\n\n\t\tconsole.log @data['kitPopup']\n\t\t# The instance of Modal class will in log\n\t\t# so to get popup window element you need to do\n\t\tpopup = @data['kitPopup'].target\n\n\t\t# To get popup element do\n\t\tconsole.log popup.target\n\n\t\t# To get popup dialog element do\n\t\tconsole.log popup.dialog\n\n\t\t# Do something here before open window\n\t\t# in this case it will open popup window after 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after popup opens.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before popup closes.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after popup closes.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if deactivation failed.

\n\t\t\t
\n\n\n
\n\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFall popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n\n
\n\t\n\t
\n\t\tFlip horizontal popup\n\t
\n
\n","modal":"
\n\t

Modal

\n\n\n\t
\n\t\t
\n\t\t\t

HTML Modal

\n\t\t\t

\n\t\t\t\tUse widget class -modal to add backdrop. Inside this backdrop add -holder to set dialog window in the center. Inside -holder add -dialog to create dialog window. Use -header, -content and -footer inside.\n\t\t\t

\n\t\t\t

\n\t\t\t\tTo set animation to the dialog window add animation name: -fadein--, -fall--, -fliphorizontal--, -flopvertical--, -slidein--, -scalein--, -newspaper--.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

HTML Button

\n\t\t\t

\n\t\t\t\tAdd data attributes to any widget data-toggle=\"modal\" and data-target=\"#modal1\". The plugin will find such buttons automatically. In data-target you can set classes or ids.\n\t\t\t

\n\t\t
\n\t\t
\n\t\t\t

Coffescript

\n\t\t\t

Simple way:

\n\t\t\t

el.modal()

More complicated:

\n\t\t\t

el.modal\n\ttarget: '.modal123'\n\ttoggle: 'modal'\n\tevent: 'click'\n\teventClose: 'click'\n\tbackdrop: yes

\n\t\t
\n\t
\n\n\n\n\n\t
\n\n\t\n\n\n\t\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

\n\t\t\t\t

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n
\n
doument.querySelector('.btn-modal-fast').modal()\ndoument.querySelector('.btn-modal123').modal\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\n\t\td.promise()\n
\n\n
\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
toggle@el.getAttribute( 'data-toggle' ) or 'modal'\n\t\t\t\tSet toggle type.\n\t\t\t
target@el.getAttribute( 'data-target' ) or null\n\t\t\t\tFind element with this selector and work with it as a modal window.\n\t\t\t
dialog@el.getAttribute( 'data-dialog' ) or \".-dialog\"\n\t\t\t\tSelector to find dialog block inside target (modal window).\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to open modal window.\n\t\t\t
eventClose@el.getAttribute( 'data-event-close' ) or \"click\"\n\t\t\t\tThis event will be used to close window. Will listen on elements with data-dismiss=\".modal\" to close modal window with selector .modal.\n\t\t\t
backdrop@el.getAttribute('data-backdrop') or no\n\t\t\t\tClose modal window when clicked on the backdrop.\n\t\t\t
push@el.getAttribute('data-push') or no\n\t\t\t\tNOT TESTED. The selector of the container with WHOLE content, except modal window, to use push animation.\n\t\t\t
autoOpen@el.getAttribute('data-autoopen') or no\n\t\t\t\tOpen modal after initialize.\n\t\t\t
selfish@el.getAttribute('data-selfish') or yes\n\t\t\t\tClose all Modal instances after current instance initialized.\n\t\t\t
hideScroll@el.getAttribute('data-hide-scroll') or yes\n\t\t\t\tHide scroll of the container element when modal window appears.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
open\n\t\t\t\t

Open modal window.

\n\t\t\t
close\n\t\t\t\t

Close modal window.

\n\t\t\t
enable\n\t\t\t\t

Start listening to the events.

\n\t\t\t
disable\n\t\t\t\t

Stop listening to the events. Modal window will stay in current status (opened or closed) and will not work anymore.

\n\t\t\t
\n\n\n\n

Events

\n
\n\tInside each method to get button use @ or this in js. Class instance always stores in data attribute of the button element @data['kitModal'] or this.data['kitModal'] in js. To get modal window element do @data['kitModal'].el.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
beforeactive\n\t\t\t\t

Set a function to call it before window opens. If it returns deferred.promise(), then modal window will not open till deferred.resolve(), and woun't open if deferred.reject(). You can just get data with ajax for modal window.

\n\t\t\t\t

modals = document.querySelectorAll(\"[data-toggle='modal']\")\nfor md in modals\n\tmd.modal\n\t\tbeforeopen: ->\n\t\t\td = $.Deferred()\n\n\t\t\tconsole.log @\n\t\t\t# The button will be in the log\n\t\t\t# so you can add something like\n\n\t\t\tconsole.log @data['kitModal']\n\t\t\t# The instance of Modal class will in log\n\t\t\t# so to get modal window element you need to do\n\t\t\tmodal = @data['kitModal']\n\t\t\t# From now you can access to the button by\n\t\t\tconsole.log modal.el\n\t\t\t# And to the modal window element by\n\t\t\tconsole.log modal.target\n\n\t\t\t# Do something here before open window\n\t\t\t# in this case it will open modal window after 2 seconds\n\t\t\tsetTimeout ->\n\t\t\t\td.resolve()\n\t\t\t, 2000\n\t\t\t# End of your code\n\n\t\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after modal window opens.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before modal window closes.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after modal window closes.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
\n\n\n\n\n

Animations

\n

\n\tUse widget different animations. Add classes to the -dialog.\n

\n
\n\n\t
\n\n\t\t\tFade in\n\t\t\tFlip horizontal\n\t\t\tFlip vertical\n\t\t\tNewspaper\n\t\t\tCorner\n\t\t\tDoor\n\t\t\tFall\n\t\t\tHugeinc\n\t
\n\n\n\t\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\t...\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\t\t\t
\n\t\t\t
\n\t\t\t\t...\n\t\t\t
\n\t\t
\n\t
\n
\n
\n\n
modals = doument.querySelectorAll('.btn-modal-fast')\nfor modal in modals\n\tmodal.modal()\n
\n\n
\n\n\n
\n\tFor the whole list of possible animations look at animations components.\n
\n\n\n\n
\n\n\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tOpen popup\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tFlip horizontal popup\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

\n\t\t\t\t

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n
\n","button":"
\n\t

Button

\n\n\t
\n\n\t
\n\t\tButton 1\n\t\tButton 2\n\n\t\t
\n\n\t\t
\n\t\t\tRadio 1Radio 2\n\t\t
\n\n\t\t
\n\t\t\tCheckboxCheckbox\n\t\t
\n\t
\n\n\n\t
Button 1\nButton 2\n\n
\n\tRadio 1\n\tRadio 2\n
\n\n\n
\n\n
buttons = document.querySelectorAll(\"[data-toggle='button']\")\nfor btn in buttons\n\tbtn.button()\n
\n\n
\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\tCheckboxCheckbox\n\t\t
\n\t
\n\n\n\t
\n
\n\n
buttons = document.querySelectorAll(\"[data-toggle='button']\")\nfor btn in buttons\n\tbtn.button\n\t\tbeforeactive: ->\n\t\t\td = $.Deferred()\n\t\t\tbutton = @data['kitButton']\n\t\t\tbutton.el.innerHTML = 'Loading...'\n\t\t\tbutton._addClass '_disabled_'\n\t\t\tsetTimeout ->\n\t\t\t\td.resolve()\n\t\t\t,2000\n\t\t\td.promise()\n\n\t\tonactive: ->\n\t\t\tbutton = @data['kitButton']\n\t\t\tbutton.el._removeClass '_disabled_'\n\t\t\tbutton.el.innerHTML = 'Checked'\n\n\t\tondeactive: ->\n\t\t\tbutton = @data['kitButton']\n\t\t\tbutton.el.innerHTML = 'Checkbox'\n
\n\n
\n\n\n\n\n
\n\n\t
\n\t\t
\n\t\t\tRadio 1Radio 2Radio 3\n\t\t
\n\t
\n\n\n\t
\n\tRadio 1\n\tRadio 2\n\tRadio 3\n
\n
\n\n
buttons = document.querySelectorAll(\".radio-with-before\")\nfor btn in buttons\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Loading...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,2000\n\t\td.promise()\n\n\tonactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Checked'\n\t\tbutton._removeClass '_disabled_'\n\n\tbeforedeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Unchecking...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,3000\n\t\td.promise()\n\n\tondeactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton._removeClass '_disabled_'\n\t\tbutton.el.innerHTML = 'Radio'\n
\n\n
\n\n\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
toggle@el.getAttribute( 'data-toggle' ) or 'button'\n\t\t\t\tSet toggle type of the element.\n\t\t\t
type@el.getAttribute( 'data-type' ) or 'button'\n\t\t\t\tbutton, radio, checkbox. Define button's behaviour. If radio, then will uncheck all buttons from it's group.\n\t\t\t
group@el.getAttribute( 'data-group' ) or no\n\t\t\t\tString. Uses for type: radio, just type any name for group of radiobuttons or checkboxes.\n\t\t\t
event@el.getAttribute( 'data-event' ) or \"click\"\n\t\t\t\tThis event will be used to activate/deactivate button.\n\t\t\t
selfish@el.getAttribute( 'data-selfish' ) or no\n\t\t\t\tDeactivate all instances of Button when current instance activated.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
activate\n\t\t\t\t

Activate button.

\n\t\t\t
deactivate\n\t\t\t\t

Deactivate button.

\n\t\t\t
enable\n\t\t\t\t

Enable button, events will work.

\n\t\t\t
disable\n\t\t\t\t

Disable button, events will not work.

\n\t\t\t
\n\n\n\n

Events

\n\n
\n\tInside each method to get button use @ or this in js. Class instance always stores in data attribute of the button element @data['kitButton'] or this.data['kitButton'] in js.\n
\n\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
EventDescription
beforeactive\n\t\t\t\t

Set a function to call it before activate button. If it returns deferred.promise(), then button will not activate till deferred.resolve(), and woun't activate at all if deferred.reject(). You can just get data with ajax instead of using deferred.

\n\t\t\t\t

buttons = document.querySelectorAll(\".radio-with-before\")\nfor btn in buttons\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Loading...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,2000\n\t\td.promise()\n\n\tonactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Checked'\n\t\tbutton._removeClass '_disabled_'\n\n\tbeforedeactive: ->\n\t\td = $.Deferred()\n\t\tbutton = @data['kitButton']\n\t\tbutton.el.innerHTML = 'Unchecking...'\n\t\tbutton._addClass '_disabled_'\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t,3000\n\t\td.promise()\n\n\tondeactive: ->\n\t\tbutton = @data['kitButton']\n\t\tbutton._removeClass '_disabled_'\n\t\tbutton.el.innerHTML = 'Radio'\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after button activation.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if activation failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before deactivate button.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after deactivate button.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if deactivation failed.

\n\t\t\t
\n\n\n\n
\n","affix":"
\n\t

Affix

\n\n\t

The subnavigation on the right is a live demo of the affix plugin.

\n\n\t
\n\t\tTo move your affix block inside some parent, just add position: relative to that parent.\n\t
\n\n\n\n\n\t
\n
document.querySelector(\"#affix-el\").affix({ offset: -25 })\n
\n\n
\n\n\n

Properties

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
NameDefaultDescription
spy@el.getAttribute('data-spy') or 'affix'\n\t\t\t\tSet type of spying\n\t\t\t
offset@el.getAttribute( 'data-offset' ) or 5\n\t\t\t\tIn px. Affix's block offset from top.\n\t\t\t
\n\n\n

Methods

\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
MethodDescription
start\n\t\t\t\t

Activate affix

\n\t\t\t
stop\n\t\t\t\t

Deativate affix

\n\t\t\t
\n\n\n

Events

\n\n
\n\tInside each event function of affix element use @ or this in js. Class instance always stores in data attribute of the affix element @data['kitAffix'] or this.data['kitAffix'] in js.\n
\n\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
EventDescription
beforeactive\n\t\t\t\t

Set a function to call it before start affix. If it returns deferred.promise(), then affix will not start till deferred.resolve(), and woun't start at all if deferred.reject(). You can just get data with ajax for your affix block.

\n\t\t\t\t

el.affix\n\tbeforeactive: ->\n\t\td = $.Deferred()\n\n\t\tconsole.log @\n\t\t# The affix DOM element will be in the log\n\n\t\tconsole.log @data['kitAffix']\n\t\t# The instance of Affix class will in log\n\n\t\t# Do something here before start affix\n\t\t# in this case it will start after 2 seconds\n\t\tsetTimeout ->\n\t\t\td.resolve()\n\t\t, 2000\n\t\t# End of your code\n\n\t\td.promise()\n

\n\t\t\t
onactive\n\t\t\t\t

Set a function to call it after affix started.

\n\t\t\t
failactive\n\t\t\t\t

Set a function to call it if starting failed.

\n\t\t\t
beforedeactive\n\t\t\t\t

Call this function before affix stopped.

\n\t\t\t
ondeactive\n\t\t\t\t

Call this function after affix stopped.

\n\t\t\t
faildeactive\n\t\t\t\t

Set a function to call it if stopping failed.

\n\t\t\t
\n\n\n
\n"}},"tests":{"layout":"\n\nMain test layout\n\n\n\n
\n
\n
\n\n\n\n\n\nOpen modal\nOpen modal 2\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\tHeader\n\n\t\t\t
\n\t\t\t
\n\n\t\t\t\t

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n\t\t\t\t

\n\t\t\t\t\tOpen popup\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tClose\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\tFlip horizontal popup\n\t\t\t
\n\t\t
\n\t
\n
\n
\n
\n
\n
\n\n\n\n\nHeader\n\n
\n
\n\n

Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

\n

\nOpen popup\n

\n

\nClose\n

\n
\n
\n
\n\n
\nFlip horizontal popup\n
\n
\n
\n
\n\n
\nOpen popup\n\n
\n\t\n\t
Set content here
\n
\n
\n\n
\nOpen popup\n\n
\n\n
Set content here
\n
\n
\n\n\n\n\n
\nSpy 1\n
\n
\nSpy 2\n
\n
\nSpy 3\n
\n
\nSpy 4\n
\n\n\n\n
\n\t
Content for tab 1
\n\t
Content for tab 2
\n\t
Content for tab 3
\n\t
Content for tab 4
\n
\n\n\n\n
\n
\n\n\n
\n
\n
\n
\n

Yosemite

\n

Time-lapse video project set in Yosemite National Park, 2014

\n\n
\n\"Life\"\n
The LIFE, Colin Delehanty\n
\n
\n
\n
\n
\n
\n
\n\n\n"},"examples":{"blog":"\n\n\n\n\n\n
\n\t
\n\t\t
\n\t\t\t\"Microscope\"\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Billionaires With Big Ideas Are Privatizing American Science

\n\t\t\t\t\t\t

Time-lapse video project set in Yosemite National Park, 2014

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\"WILLIAM\n\t\t\t\t\t\t\t
The New York Times, William Broad, March 15, 2014\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tLast April, President Obama assembled some of the nation’s most august scientific dignitaries in the East Room of the White House. Joking that his grades in physics made him a dubious candidate for “scientist in chief,” he spoke of using technological innovation “to grow our economy” and unveiled “the next great American project”: a $100 million initiative to probe the mysteries of the human brain.\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n
\n\t\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tAlong the way, he invoked the government’s leading role in a history of scientific glories, from putting a man on the moon to creating the Internet. The Brain initiative, as he described it, would be a continuation of that grand tradition, an ambitious rebuttal to deep cuts in federal financing for scientific research.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\t

\n\t\t\t\t\t\t

“We can’t afford to miss these opportunities while the rest of the world races ahead,” Mr. Obama said. “We have to seize them. I don’t want the next job-creating discoveries to happen in China or India or Germany. I want them to happen right here.”

\n\t\t\t\t\t\tMr. Barak Obama\n\t\t\t\t\t
\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tAbsent from his narrative, though, was the back story, one that underscores a profound change taking place in the way science is paid for and practiced in America. In fact, the government initiative grew out of richly financed private research: A decade before, Paul G. Allen, a co-founder of Microsoft, had set up a brain science institute in Seattle, to which he donated $500 million, and Fred Kavli, a technology and real estate billionaire, had then established brain institutes at Yale, Columbia and the University of California. Scientists from those philanthropies, in turn, had helped devise the Obama administration’s plan.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Wendy Schmidt and her husband are advancing ocean studies.

\n\t\t\t\t\t\t

Béatrice de Géa for The NYT

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tAmerican science, long a source of national power and pride, is increasingly becoming a private enterprise.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tIn Washington, budget cuts have left the nation’s research complex reeling. Labs are closing. Scientists are being laid off. Projects are being put on the shelf, especially in the risky, freewheeling realm of basic research. Yet from Silicon Valley to Wall Street, science philanthropy is hot, as many of the richest Americans seek to reinvent themselves as patrons of social progress through science research.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThe result is a new calculus of influence and priorities that the scientific community views with a mix of gratitude and trepidation.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\t“For better or worse,” said Steven A. Edwards, a policy analyst at the American Association for the Advancement of Science, “the practice of science in the 21st century is becoming shaped less by national priorities or by peer-review groups and more by the particular preferences of individuals with huge amounts of money.”\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThey have mounted a private war on disease, with new protocols that break down walls between academia and industry to turn basic discoveries into effective treatments. They have rekindled traditions of scientific exploration by financing hunts for dinosaur bones and giant sea creatures. They are even beginning to challenge Washington in the costly game of big science, with innovative ships, undersea craft and giant telescopes — as well as the first private mission to deep space.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThe new philanthropists represent the breadth of American business, people like Michael R. Bloomberg, the former New York mayor (and founder of the media company that bears his name), James Simons (hedge funds) and David H. Koch (oil and chemicals), among hundreds of wealthy donors. Especially prominent, though, are some of the boldest-face names of the tech world, among them Bill Gates (Microsoft), Eric E. Schmidt (Google) and Lawrence J. Ellison (Oracle).\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tThis is philanthropy in the age of the new economy — financed with its outsize riches, practiced according to its individualistic, entrepreneurial creed. The donors are impatient with the deliberate, and often politicized, pace of public science, they say, and willing to take risks that government cannot or simply will not consider.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tYet that personal setting of priorities is precisely what troubles some in the science establishment. Many of the patrons, they say, are ignoring basic research — the kind that investigates the riddles of nature and has produced centuries of breakthroughs, even whole industries — for a jumble of popular, feel-good fields like environmental studies and space exploration.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tAs the power of philanthropic science has grown, so has the pitch, and the edge, of the debate. Nature, a family of leading science journals, has published a number of wary editorials, one warning that while “we applaud and fully support the injection of more private money into science,” the financing could also “skew research” toward fields more trendy than central.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Photo by Ben Margot/Associated Press

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\"Sergey\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tSergey Brin
\n\t\t\t\t\tGoogle
\n\t\t\t\t\t$31.8 billion
\n\t\t\t\t\t

\n\t\t\t\t\t\tParkinson's disease, which his mother has and for which he bears a risky gene.\n\t\t\t\t\t

\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tThe first success came with cystic fibrosis, which arises when a faulty gene clogs the lungs and pancreas with a sticky mucus. People with cystic fibrosis suffer from coughing, fatigue, poor digestion and slow growth, and die relatively young.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tAround 2000, a surge of wealthy donors began making large contributions to the Cystic Fibrosis Foundation. Tom and Ginny Hughes of Greenwich, Conn., had two daughters with the disease, and gave millions of dollars. The family also posed in snapshots for the foundation’s “Milestones to a Cure” updates, and Mr. Hughes, a banker, helped the charity develop strategies to expand its fund-raising.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\n\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

A Focus on Disease

\n\t\t\t\t\t\t\t

If the map of the world of private science has yet to be drawn, one thing is clear: Much of the money is going into campaigns for a cure.

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\tThis private war on disease has resulted not only in significant advances in treatment, but also in what experts describe as a major breakthrough in how biomedical research is done. The method opens up blockages that have traditionally kept basic discoveries from being turned into effective treatments — especially for rare diseases that drug companies avoid for lack of potential profit.\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t“We think it’s potentially transformative,” said Maryann P. Feldman, a professor of public policy at the University of North Carolina at Chapel Hill who studies the approach.\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tYear after year, the foundation held galas, hikes, runs and golf tournaments, eventually raising more than a quarter-billion dollars. With great skill, it used the money to establish partnerships across industry and academia, smashing through the walls that typically form around research teams.\n\t\t\t\t

\n\t\t\t\t

\n\t\t\t\t\tBy early 2012, the financial surge produced the first treatment for an underlying cause of cystic fibrosis. The drug counters a gene mutation that accounts for 4 percent of the cases in the United States — about 1,200 people. The medication thinned the deadly mucus, lessening symptoms and drastically improving quality of life.\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t
\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tMelanoma, the deadliest of skin cancers, also strikes and kills whites preferentially. Debra Black, wife of the financier Leon Black, survived a bad scare. Soon after, the couple teamed up with Michael R. Milken, the former junk-bond financier, whose charity FasterCures gives advice on how to accelerate research, to found the Melanoma Research Alliance. It quickly became the world’s largest private sponsor of melanoma research, awarding more than $50 million for work at Yale, Columbia and other universities.\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n
\n\n
\n\t\n\t
\n\t\t\n\t\t

Comments

\n\n\t\t
\n\t\t\t
\n\t\t\n\t\t\t\t
    \n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"soffes\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    Soffes  12
    \n\t\t\t\t\t\t\tYou know what else is \"arcane\", 140 characters.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"markgamzy\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    Markgamzy  165
    \n\t\t\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Teclaro\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    Teclaro  67
    \n\t\t\t\t\t\t\tIn my opinion (and as a UI and UX designer), this is a step in the right direction. Even when viewing those examples above, the context isn't hindered when @ isn't present and makes the conversation more legible.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Edwellbrook\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tSure they are thinking about removing @replies but the concept of replying will still exist. It's just the details of who you are replying to will be contained in metadata and not in the body of the tweet. This is good as it will free up more characters for the tweet. However I'm sure it will also lead to people being unsure of whether a tweet will be directed at one person or their whole timeline in the same way as people often mistakenly post a DM to their timeline.\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Krystalfister\"\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tMaybe it is just their way to force users to use the original twitter client. In every other client the \"feature\" looks confusing and so we have to use the original client\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t Reply\n\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\t\t\t\t
\n\n\t\t\t
\n\n\t\t
\n\n\t
\n\n
"},"upgradeBrowser":"
\n
\n
\n

Please, upgrade your browser!

\n
\n\tActually Maxmertkit partly supports ie 7.0 and 8.0, but I can't promise you that it will work well. So I decided to hide documentation for IE8 and previous versions. Hope for your understanding.\n
\n
\n
\n
\n","main":"
\n\t
\n\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\t\t
\n\t
\n
\n\n
\n\t
\n
\n\n
\n\n
\n\n
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

Maxmertkit made for all good people by {{author.name}}.

\n\t\t\t\t

\n\t\t\t\t\t twitter\n\t\t\t\t\t facebook\n\t\t\t\t\t github\n\t\t\t\t\t google+\n\t\t\t\t\t email\n\t\t\t\t

\n\t\t\t\t

Code licensed under MIT, documentation under CC BY 3.0.

\n\t\t\t\t
\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tver. {{version}}\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tgithub\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tissues\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\treleases\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\tchangelog\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\told version\n\t\t\t\t\t\t
  • \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n","error404":"
\n\t

\n\t\t404 The page is not found\n\t

\n
\n"} \ No newline at end of file diff --git a/docs/server/views/index.html b/docs/server/views/index.html index 31498c9..2c5bb16 100644 --- a/docs/server/views/index.html +++ b/docs/server/views/index.html @@ -27,16 +27,6 @@ - diff --git a/docs/templates/common/pages/index/layout.html b/docs/templates/common/pages/index/layout.html index 82f56a8..3d7ac53 100644 --- a/docs/templates/common/pages/index/layout.html +++ b/docs/templates/common/pages/index/layout.html @@ -45,7 +45,7 @@

Preprocessor Sass

Easy to remember

-

Classes names convection. -name for widgets, -name- for themes, _name for sizes, _name_ for modifiers, -name-- for animations.

+

Classes names convection (But you can change all prefixes and postfixes to all classes). -name for widgets, -name- for themes, _name for sizes, _name_ for modifiers, -name-- for animations.

Easy to append and edit

diff --git a/docs/templates/kit/components/modal.html b/docs/templates/kit/components/modal.html index 3d218cb..b6469f0 100644 --- a/docs/templates/kit/components/modal.html +++ b/docs/templates/kit/components/modal.html @@ -159,6 +159,13 @@

Properties

Close all Modal instances after current instance initialized. + + hideScroll + @el.getAttribute('data-hide-scroll') or yes + + Hide scroll of the container element when modal window appears. + + diff --git a/docs/templates/kit/components/scrollspy.html b/docs/templates/kit/components/scrollspy.html index d2fee16..0544670 100644 --- a/docs/templates/kit/components/scrollspy.html +++ b/docs/templates/kit/components/scrollspy.html @@ -20,9 +20,9 @@

Scrollspy

diff --git a/docs/templates/kit/components/skyline.html b/docs/templates/kit/components/skyline.html index 764929e..16ee6bf 100644 --- a/docs/templates/kit/components/skyline.html +++ b/docs/templates/kit/components/skyline.html @@ -146,6 +146,13 @@

Properties

Number or Function, returning number. Delay before showing. + + once + @el.getAttribute( 'data-once' ) or no + + Boolean, show just once and don't hide element anymore. + + onMobile @el.getAttribute( 'data-on-mobile' ) or no @@ -290,4 +297,4 @@

Events

- \ No newline at end of file + diff --git a/docs/templates/kit/start/howto/editPrefixes.html b/docs/templates/kit/start/howto/editPrefixes.html new file mode 100644 index 0000000..216a41a --- /dev/null +++ b/docs/templates/kit/start/howto/editPrefixes.html @@ -0,0 +1,21 @@ +

Change name convention

+ +

+ Maybe you don't want to use prefixes and postfixes to class names of maxmertkit. For example instead of -btn use w-btn or jsut btn. +

+ +

+ To do that edit file sass/common/_convention.sass. You will find prefixes and postfixes for all maxmertkit elements there. +

+ +

+ For example to use for widgets prefix w-, just add +

+ +
+ +
+
$pref-widget: "w-"
+$post-widget: ""
+ +
diff --git a/docs/templates/kit/widgets/nav/bullets.html b/docs/templates/kit/widgets/nav/bullets.html index 032a1df..f0ba019 100644 --- a/docs/templates/kit/widgets/nav/bullets.html +++ b/docs/templates/kit/widgets/nav/bullets.html @@ -23,22 +23,22 @@

Basic use

@@ -75,23 +75,23 @@

Basic use

@@ -116,4 +116,4 @@

Basic use

  • Name 2
  • -
    \ No newline at end of file +
    diff --git a/docs/templates/kit/widgets/nav/menu.html b/docs/templates/kit/widgets/nav/menu.html index 87d14bf..4ebe9e7 100644 --- a/docs/templates/kit/widgets/nav/menu.html +++ b/docs/templates/kit/widgets/nav/menu.html @@ -126,6 +126,34 @@

    Addon

    +

    Add responsiveness

    + +

    + To make menu responsive just add modifier _responsive_. Try to change window size to see effect. It will become vertical on small devices. But you still need manually configurate submenus position. Read about that below. +

    +
    + + + + + + +
    + + + + +

    Add submenus

    @@ -134,7 +162,7 @@

    Add submenus

    - To change dropdown position use position modifiers _top_, _bottom_, _left_, _right_. For more information look dropdown section. + To change dropdown position use position modifiers _top_, _bottom_, _left_, _right_. For more information look dropdown section.

    Dropdown will be visible only if parent item is _active_. If you want to make it visible on :hover, add modifier _hovered_ to the root -menu.

    @@ -142,7 +170,7 @@

    Add submenus

    -
      +
      -
        +
        • With hovered
        • Menu 2
        • @@ -202,7 +230,7 @@

          Add submenus

        • Menu 3
          -
            + -
              +
              • With hovered
              • Menu 2
              • diff --git a/js/maxmertkit.js b/js/maxmertkit.js index 878a569..1185aff 100644 --- a/js/maxmertkit.js +++ b/js/maxmertkit.js @@ -293,52 +293,27 @@ }; MaxmertkitHelpers.prototype._outerWidth = function(el) { - var style, width; + var width; el = el || this.el; width = el.offsetWidth; - try { - style = el.currentStyle || getComputedStyle(el); - } catch (_error) {} - if (style) { - if ((style.paddingLeft != null) && style.paddingLeft !== '') { - width += parseInt(style.paddingLeft); - } - if ((style.paddingRight != null) && style.paddingRight !== '') { - width += parseInt(style.paddingRight); - } - } return width; }; MaxmertkitHelpers.prototype._outerHeight = function(el) { - var height, style; + var height; el = el || this.el; height = el.offsetHeight; - try { - style = el.currentStyle || getComputedStyle(el); - } catch (_error) {} - if (style != null) { - if ((style.paddingTop != null) && style.paddingTop !== '') { - height += parseInt(style.paddingTop); - } - if ((style.paddingBottom != null) && style.paddingBottom !== '') { - height += parseInt(style.paddingBottom); - } - } return height; }; MaxmertkitHelpers.prototype._getPosition = function(el) { - var curleft, curtop, style; + var curleft, curtop; el = el || this.el; curleft = curtop = 0; + + /* FIXME: Not sure if it needed to calculate with style margin */ if (el.offsetParent) { while (true) { - - /* FIXME: Not sure if it needed to calculate with style margin */ - try { - style = el.currentStyle || getComputedStyle(el); - } catch (_error) {} curleft += el.offsetLeft; curtop += el.offsetTop; if (!(el = el.offsetParent)) { @@ -527,6 +502,7 @@ push: this.el.getAttribute('data-push') || false, autoOpen: this.el.getAttribute('data-autoopen') || false, selfish: this.el.getAttribute('data-selfish') || true, + hideScroll: this.el.getAttribute('data-hide-scroll') || true, beforeactive: function() {}, onactive: function() {}, failactive: function() {}, @@ -586,10 +562,10 @@ break; case 'backdrop': if (this.options.backdrop) { - this._removeEventListener(this.el, "click", this.backdropClickF); + this._removeEventListener(this.target, "click", this.backdropClickF); } if (value) { - this._addEventListener(this.el, "click", this.backdropClickF); + this._addEventListener(this.target, "click", this.backdropClickF); } break; case 'push': @@ -664,7 +640,7 @@ }; _backdropClick = function(event) { - if (this._hasClass('-modal', event.target) && this.opened) { + if (this._hasClass('-holder', event.target) && this.opened) { return this.close(); } }; @@ -700,7 +676,9 @@ if (this.push) { this._addClass('_perspective_', document.body); } - this._addClass('_no-scroll_', document.body); + if (this.options.hideScroll) { + this._addClass('_no-scroll_', document.body); + } this.target.style.display = 'table'; this._addClass('_visible_ -start--', this.target); this._addClass('_visible_ -start--', this.dialog); @@ -744,7 +722,9 @@ return function() { _this._removeClass('_visible_ -start-- -stop--', _this.target); _this._removeClass('_visible_ -start-- -stop--', _this.dialog); - _this._removeClass('_no-scroll_', document.body); + if (_this.options.hideScroll) { + _this._removeClass('_no-scroll_', document.body); + } if (_this.push) { _this._removeClass('_perspective_', document.body); } @@ -833,6 +813,7 @@ spy: this.el.getAttribute('data-spy') || _name, offset: this.el.getAttribute('data-offset') || 5, delay: this.el.getAttribute('data-delay') || 300, + once: this.el.getAttribute('data-once') || false, onMobile: this.el.getAttribute('data-on-mobile') || false, beforeactive: function() {}, onactive: function() {}, @@ -904,7 +885,10 @@ return function() { _this._addClass('-start--'); _this._removeClass('-stop--'); - return _this.active = true; + _this.active = true; + if (_this.options.once) { + return _this.stop(); + } }; })(this), delay); }; @@ -2441,7 +2425,7 @@ }; Popup.prototype.setPosition = function() { - var btnOffset, btnSize, newLeft, newTop, pos, scrollParentTarget, targetSize; + var arrow, arrowSize, btnOffset, btnSize, newLeft, newTop, pos, scrollParentTarget, targetSize; pos = this.el.getBoundingClientRect(); scrollParentTarget = this._getContainer(this.target); btnOffset = this._getPosition(); @@ -2455,6 +2439,11 @@ }; this.target.style.visibility = 'hidden'; this.target.style.display = 'block'; + arrow = this.target.querySelector('.-arrow'); + arrowSize = { + width: this._outerWidth(arrow), + height: this._outerHeight(arrow) + }; targetSize = { width: this._outerWidth(this.target), height: this._outerHeight(this.target) diff --git a/sass/animations/_blur.sass b/sass/animations/_blur.sass index 7585792..a1f9ad8 100644 --- a/sass/animations/_blur.sass +++ b/sass/animations/_blur.sass @@ -1,4 +1,4 @@ -$animations-blur-class: "-blur--" !global +$animations-blur-class: "#{$pref-anim}blur#{$post-anim}" !global $animations-blur-duration: 0.7s !global $animations-blur-timing-function: linear !global diff --git a/sass/animations/_common.sass b/sass/animations/_common.sass index cd57a84..801fbcd 100644 --- a/sass/animations/_common.sass +++ b/sass/animations/_common.sass @@ -1,3 +1,3 @@ -$animation-start-class: "-start--" !global -$animation-stop-class: "-stop--" !global +$animation-start-class: "#{$pref-anim}start#{$post-anim}" !global +$animation-stop-class: "#{$pref-anim}stop#{$post-anim}" !global // $animation-elastic-class: "-elastic--" !global diff --git a/sass/animations/_corner.sass b/sass/animations/_corner.sass index c7a8dc1..1b0a894 100644 --- a/sass/animations/_corner.sass +++ b/sass/animations/_corner.sass @@ -1,4 +1,4 @@ -$animations-corner-class: "-corner--" !global +$animations-corner-class: "#{$pref-anim}corner#{$post-anim}" !global $animations-corner-duration: 0.5s !global $animations-corner-timing-function: ease-in-out !global @@ -31,7 +31,7 @@ $animations-corner-delay: 0s !global // opacity: 0 // visibility: hidden // @include transition( opacity $animations-corner-duration forwards $animations-corner-timing-function, visibility $animations-corner-duration forwards $animations-corner-timing-function ) - + &.#{$animation-start-class} // opacity: 1 // visibility: visible @@ -45,4 +45,4 @@ $animations-corner-delay: 0s !global // visibility: hidden // & > div - @include animation( cornerOut $animations-corner-duration forwards $animations-corner-timing-function ) \ No newline at end of file + @include animation( cornerOut $animations-corner-duration forwards $animations-corner-timing-function ) diff --git a/sass/animations/_door.sass b/sass/animations/_door.sass index bdbbaf8..05f179b 100644 --- a/sass/animations/_door.sass +++ b/sass/animations/_door.sass @@ -1,4 +1,4 @@ -$animations-door-class: "-door--" !global +$animations-door-class: "#{$pref-anim}door#{$post-anim}" !global $animations-door-duration: 0.4s !global $animations-door-timing-function: ease-in-out !global @@ -32,7 +32,7 @@ $animations-door-delay: 0s !global // opacity: 0 // visibility: hidden // @include transition( opacity $animations-door-duration forwards $animations-door-timing-function, visibility $animations-door-duration forwards $animations-door-timing-function ) - + &.#{$animation-start-class} // opacity: 1 // visibility: visible @@ -46,4 +46,4 @@ $animations-door-delay: 0s !global // visibility: hidden // & > div - @include animation( doorOut $animations-door-duration forwards $animations-door-timing-function ) \ No newline at end of file + @include animation( doorOut $animations-door-duration forwards $animations-door-timing-function ) diff --git a/sass/animations/_fadein.sass b/sass/animations/_fadein.sass index 7b3891c..17478c5 100644 --- a/sass/animations/_fadein.sass +++ b/sass/animations/_fadein.sass @@ -1,4 +1,4 @@ -$animations-fadein-class: "-fadein--" !global +$animations-fadein-class: "#{$pref-anim}fadein#{$post-anim}" !global $animations-fadein-duration: 0.3s !global $animations-fadein-timing-function: ease-out !global $animations-fadein-delay: 0s !global diff --git a/sass/animations/_fall.sass b/sass/animations/_fall.sass index 86c7d0e..dbff48e 100644 --- a/sass/animations/_fall.sass +++ b/sass/animations/_fall.sass @@ -1,4 +1,4 @@ -$animations-fall-class: "-fall--" !global +$animations-fall-class: "#{$pref-anim}fall#{$post-anim}" !global $animations-fall-duration: 2s !global $animations-fall-timing-function: linear !global @@ -8,7 +8,7 @@ $animations-fall-delay: 0s !global @include exports("animations/fall") - + @include keyframes(fallIn) 0% @@ -620,12 +620,12 @@ $animations-fall-delay: 0s !global 100% opacity: 0 @include transform( translateZ(600px) rotateX(40deg) ) - + .#{$animations-fall-class} @include transform-origin( 50% 50% ) &.#{$animation-start-class} @include animation( fallIn $animations-fall-duration forwards $animations-fall-timing-function ) - + &.#{$animation-stop-class} - @include animation( fallOut $animations-fall-duration forwards $animations-fall-timing-function ) \ No newline at end of file + @include animation( fallOut $animations-fall-duration forwards $animations-fall-timing-function ) diff --git a/sass/animations/_fliphorizontal.sass b/sass/animations/_fliphorizontal.sass index d56dab1..d4c8db1 100644 --- a/sass/animations/_fliphorizontal.sass +++ b/sass/animations/_fliphorizontal.sass @@ -1,4 +1,4 @@ -$animations-flipHorizontal-class: "-fliphorizontal--" !global +$animations-flipHorizontal-class: "#{$pref-anim}fliphorizontal#{$post-anim}" !global $animations-flipHorizontal-duration: 1.5s !global $animations-flipHorizontal-timing-function: linear !global @@ -622,7 +622,7 @@ $animations-flipHorizontal-delay: 0s !global .#{$animations-flipHorizontal-class} - + &.#{$animation-start-class} @include animation( flipHorizontalIn $animations-flipHorizontal-duration forwards $animations-flipHorizontal-timing-function ) diff --git a/sass/animations/_flipvertical.sass b/sass/animations/_flipvertical.sass index f79ab7d..f76ed92 100644 --- a/sass/animations/_flipvertical.sass +++ b/sass/animations/_flipvertical.sass @@ -1,4 +1,4 @@ -$animations-flipVertical-class: "-flipvertical--" !global +$animations-flipVertical-class: "#{$pref-anim}flipvertical#{$post-anim}" !global $animations-flipVertical-duration: 1.5s !global $animations-flipVertical-timing-function: linear !global @@ -621,7 +621,7 @@ $animations-flipVertical-delay: 0s !global .#{$animations-flipVertical-class} - + &.#{$animation-start-class} @include animation( flipIn $animations-flipVertical-duration forwards $animations-flipVertical-timing-function ) diff --git a/sass/animations/_hugeinc.sass b/sass/animations/_hugeinc.sass index 31cce7e..1ba953f 100644 --- a/sass/animations/_hugeinc.sass +++ b/sass/animations/_hugeinc.sass @@ -1,4 +1,4 @@ -$animations-hugeinc-class: "-hugeinc--" !global +$animations-hugeinc-class: "#{$pref-anim}hugeinc#{$post-anim}" !global $animations-hugeinc-duration: 0.5s !global $animations-hugeinc-timing-function: ease-in-out !global @@ -31,7 +31,7 @@ $animations-hugeinc-delay: 0s !global // opacity: 0 // visibility: hidden // @include transition( opacity $animations-hugeinc-duration forwards $animations-hugeinc-timing-function, visibility $animations-hugeinc-duration forwards $animations-hugeinc-timing-function ) - + &.#{$animation-start-class} // opacity: 1 // visibility: visible diff --git a/sass/animations/_newspaper.sass b/sass/animations/_newspaper.sass index cc8c10a..5017e95 100644 --- a/sass/animations/_newspaper.sass +++ b/sass/animations/_newspaper.sass @@ -1,4 +1,4 @@ -$animations-newspaper-class: "-newspaper--" !global +$animations-newspaper-class: "#{$pref-anim}newspaper#{$post-anim}" !global $animations-newspaper-duration: 1.5s !global $animations-newspaper-timing-function: linear !global @@ -623,7 +623,7 @@ $animations-newspaper-delay: 0s !global .#{$animations-newspaper-class} - + &.#{$animation-start-class} @include animation( newspaperIn $animations-newspaper-duration forwards $animations-newspaper-timing-function ) diff --git a/sass/animations/_scale.sass b/sass/animations/_scale.sass index d8f9e6c..3b5d3ae 100644 --- a/sass/animations/_scale.sass +++ b/sass/animations/_scale.sass @@ -1,4 +1,4 @@ -$animations-scale-class: "-scale--" !global +$animations-scale-class: "#{$pref-anim}scale#{$post-anim}" !global $animations-scale-duration: 0.4s !global $animations-scale-timing-function: ease-in-out !global @@ -31,7 +31,7 @@ $animations-scale-delay: 0s !global // opacity: 0 // visibility: hidden // @include transition( opacity $animations-scale-duration forwards $animations-scale-timing-function, visibility $animations-scale-duration forwards $animations-scale-timing-function ) - + &.#{$animation-start-class} // opacity: 1 // visibility: visible @@ -45,4 +45,4 @@ $animations-scale-delay: 0s !global // visibility: hidden // & > div - @include animation( scaleOut $animations-scale-duration forwards $animations-scale-timing-function ) \ No newline at end of file + @include animation( scaleOut $animations-scale-duration forwards $animations-scale-timing-function ) diff --git a/sass/animations/_scalein.sass b/sass/animations/_scalein.sass index 2165782..59bc437 100644 --- a/sass/animations/_scalein.sass +++ b/sass/animations/_scalein.sass @@ -1,4 +1,4 @@ -$animations-scalein-class: "-scalein--" !global +$animations-scalein-class: "#{$pref-anim}scalein#{$post-anim}" !global $animations-scalein-duration: 0.2s !global $animations-scalein-elastic-duration: 0.8s !global @@ -9,7 +9,7 @@ $animations-scalein-delay: 0s !global @include exports("animations/scalein") - + @-webkit-keyframes slide-keyframes 0% -webkit-transform: scale(0.7) @@ -625,7 +625,7 @@ $animations-scalein-delay: 0s !global transform: scale(1) - + .#{$animations-scalein-class} opacity: 0 visibility: hidden @@ -636,7 +636,7 @@ $animations-scalein-delay: 0s !global // @include animation-play-state(paused) @include transform(scale(0.7)) - + &.#{$animation-start-class} @@ -646,4 +646,4 @@ $animations-scalein-delay: 0s !global @include transform(scale(1)) &.#{$animation-elastic-class} - @include animation(slide-keyframes $animations-scalein-elastic-duration forwards $animations-scalein-timing-function $animations-scalein-delay) \ No newline at end of file + @include animation(slide-keyframes $animations-scalein-elastic-duration forwards $animations-scalein-timing-function $animations-scalein-delay) diff --git a/sass/animations/_slideDown.sass b/sass/animations/_slideDown.sass index b143b35..8a86758 100644 --- a/sass/animations/_slideDown.sass +++ b/sass/animations/_slideDown.sass @@ -1,4 +1,4 @@ -$animations-slideDown-class: "-slidedown--" !global +$animations-slideDown-class: "#{$pref-anim}slidedown#{$post-anim}" !global $animations-slideDown-duration: 0.4s !global $animations-slideDown-timing-function: ease-in-out !global @@ -31,7 +31,7 @@ $animations-slideDown-delay: 0s !global // opacity: 0 // visibility: hidden // @include transition( opacity $animations-slideDown-duration forwards $animations-slideDown-timing-function, visibility $animations-slideDown-duration forwards $animations-slideDown-timing-function ) - + &.#{$animation-start-class} // opacity: 1 // visibility: visible @@ -45,4 +45,4 @@ $animations-slideDown-delay: 0s !global // visibility: hidden // & > div - @include animation( slideDownOut $animations-slideDown-duration forwards $animations-slideDown-timing-function ) \ No newline at end of file + @include animation( slideDownOut $animations-slideDown-duration forwards $animations-slideDown-timing-function ) diff --git a/sass/animations/_slidein.sass b/sass/animations/_slidein.sass index e1f433c..2f352ee 100644 --- a/sass/animations/_slidein.sass +++ b/sass/animations/_slidein.sass @@ -1,4 +1,4 @@ -$animations-slidein-class: "-slidein--" !global +$animations-slidein-class: "#{$pref-anim}slidein#{$post-anim}" !global $animations-slidein-duration: 0.2s !global $animations-slidein-timing-function: ease-out !global @@ -7,9 +7,9 @@ $animations-slidein-delay: 0s !global @include exports("animations/slidein") - - + + @-webkit-keyframes slidein-keyframes 0% -webkit-transform: translateY(200px) @@ -642,4 +642,4 @@ $animations-slidein-delay: 0s !global @include transform(translateX(0) translateY(0)) &.#{$animation-elastic-class} - @include animation(slidein-keyframes $animations-scalein-elastic-duration forwards $animations-scalein-timing-function $animations-slidein-delay) \ No newline at end of file + @include animation(slidein-keyframes $animations-scalein-elastic-duration forwards $animations-scalein-timing-function $animations-slidein-delay) diff --git a/sass/animations/pushes/_blur.sass b/sass/animations/pushes/_blur.sass index cfd8e73..88a5a56 100644 --- a/sass/animations/pushes/_blur.sass +++ b/sass/animations/pushes/_blur.sass @@ -1,4 +1,4 @@ -$animations-blur-class: "-push-blur--" !global +$animations-blur-class: "#{$pref-anim}push-blur#{$post-anim}" !global $animations-blur-duration: 0.2s !global $animations-blur-timing-function: linear !global @@ -13,13 +13,13 @@ $animations-blur-delay: 0s !global - + .#{$animations-blur-class} @include transition-property (all) @include transition-duration($animations-blur-duration) @include transition-timing-function($animations-blur-timing-function) @include transition-delay($animations-blur-delay) - + &.#{$animation-stop-class} -ms-filter: blur(0px) -webkit-filter: blur(0px) @@ -27,10 +27,10 @@ $animations-blur-delay: 0s !global -o-filter: blur(0px) filter: url(#blur3px) - + &.#{$animation-start-class} -ms-filter: blur(5px) -webkit-filter: blur(5px) -moz-filter: blur(5px) -o-filter: blur(5px) - filter: url(#blur5px) \ No newline at end of file + filter: url(#blur5px) diff --git a/sass/animations/pushes/_doorLeft.sass b/sass/animations/pushes/_doorLeft.sass index b75c1bd..f3c32e6 100644 --- a/sass/animations/pushes/_doorLeft.sass +++ b/sass/animations/pushes/_doorLeft.sass @@ -1,4 +1,4 @@ -$animations-pushDoorLeft-class: "-push-doorleft--" !global +$animations-pushDoorLeft-class: "#{$pref-anim}push-doorleft#{$post-anim}" !global $animations-pushDoorLeft-duration: 0.4s !global $animations-pushDoorLeft-timing-function: ease-in-out !global @@ -27,7 +27,7 @@ $animations-pushDoorLeft-delay: 0s !global // opacity: 0 // visibility: hidden // @include transition( opacity $animations-pushDoorLeft-duration forwards $animations-pushDoorLeft-timing-function, visibility $animations-pushDoorLeft-duration forwards $animations-pushDoorLeft-timing-function ) - + @include transform-origin( 50% 50% ) &.#{$animation-start-class} @@ -44,4 +44,4 @@ $animations-pushDoorLeft-delay: 0s !global // visibility: hidden // & > div - @include animation( pushDoorLeftOut $animations-pushDoorLeft-duration forwards $animations-pushDoorLeft-timing-function ) \ No newline at end of file + @include animation( pushDoorLeftOut $animations-pushDoorLeft-duration forwards $animations-pushDoorLeft-timing-function ) diff --git a/sass/animations/pushes/_doorRight.sass b/sass/animations/pushes/_doorRight.sass index 915ed50..657155b 100644 --- a/sass/animations/pushes/_doorRight.sass +++ b/sass/animations/pushes/_doorRight.sass @@ -1,4 +1,4 @@ -$animations-pushDoorRight-class: "-push-doorright--" !global +$animations-pushDoorRight-class: "#{$pref-anim}push-doorright#{$post-anim}" !global $animations-pushDoorRight-duration: 0.4s !global $animations-pushDoorRight-timing-function: ease-in-out !global @@ -27,7 +27,7 @@ $animations-pushDoorRight-delay: 0s !global // opacity: 0 // visibility: hidden // @include transition( opacity $animations-pushDoorRight-duration forwards $animations-pushDoorRight-timing-function, visibility $animations-pushDoorRight-duration forwards $animations-pushDoorRight-timing-function ) - + @include transform-origin( 50% 50% ) &.#{$animation-start-class} @@ -44,4 +44,4 @@ $animations-pushDoorRight-delay: 0s !global // visibility: hidden // & > div - @include animation( pushDoorRightOut $animations-pushDoorRight-duration forwards $animations-pushDoorRight-timing-function ) \ No newline at end of file + @include animation( pushDoorRightOut $animations-pushDoorRight-duration forwards $animations-pushDoorRight-timing-function ) diff --git a/sass/animations/pushes/_left.sass b/sass/animations/pushes/_left.sass index a20112b..fd8e892 100644 --- a/sass/animations/pushes/_left.sass +++ b/sass/animations/pushes/_left.sass @@ -1,4 +1,4 @@ -$animations-pushLeft-class: "-push-left--" !global +$animations-pushLeft-class: "#{$pref-anim}push-left#{$post-anim}" !global $animations-pushLeft-duration: 0.4s !global $animations-pushLeft-timing-function: ease-in-out !global @@ -27,7 +27,7 @@ $animations-pushLeft-delay: 0s !global // opacity: 0 // visibility: hidden // @include transition( opacity $animations-pushLeft-duration forwards $animations-pushLeft-timing-function, visibility $animations-pushLeft-duration forwards $animations-pushLeft-timing-function ) - + &.#{$animation-start-class} // opacity: 1 // visibility: visible @@ -41,4 +41,4 @@ $animations-pushLeft-delay: 0s !global // visibility: hidden // & > div - @include animation( pushLeftOut $animations-pushLeft-duration forwards $animations-pushLeft-timing-function ) \ No newline at end of file + @include animation( pushLeftOut $animations-pushLeft-duration forwards $animations-pushLeft-timing-function ) diff --git a/sass/animations/pushes/_right.sass b/sass/animations/pushes/_right.sass index 39a1cbf..47a0f02 100644 --- a/sass/animations/pushes/_right.sass +++ b/sass/animations/pushes/_right.sass @@ -1,4 +1,4 @@ -$animations-pushRight-class: "-push-right--" !global +$animations-pushRight-class: "#{$pref-anim}push-right#{$post-anim}" !global $animations-pushRight-duration: 0.4s !global $animations-pushRight-timing-function: ease-in-out !global @@ -27,7 +27,7 @@ $animations-pushRight-delay: 0s !global // opacity: 0 // visibility: hidden // @include transition( opacity $animations-pushRight-duration forwards $animations-pushRight-timing-function, visibility $animations-pushRight-duration forwards $animations-pushRight-timing-function ) - + &.#{$animation-start-class} // opacity: 1 // visibility: visible @@ -41,4 +41,4 @@ $animations-pushRight-delay: 0s !global // visibility: hidden // & > div - @include animation( pushRightOut $animations-pushRight-duration forwards $animations-pushRight-timing-function ) \ No newline at end of file + @include animation( pushRightOut $animations-pushRight-duration forwards $animations-pushRight-timing-function ) diff --git a/sass/animations/pushes/_scaleOut.sass b/sass/animations/pushes/_scaleOut.sass index a14fcb2..ae6f63b 100644 --- a/sass/animations/pushes/_scaleOut.sass +++ b/sass/animations/pushes/_scaleOut.sass @@ -1,4 +1,4 @@ -$animations-pushScaleout-class: "-push-scaleout--" !global +$animations-pushScaleout-class: "#{$pref-anim}push-scaleout#{$post-anim}" !global $animations-pushScaleout-duration: 0.4s !global $animations-pushScaleout-timing-function: ease-in-out !global @@ -27,7 +27,7 @@ $animations-pushScaleout-delay: 0s !global // opacity: 0 // visibility: hidden // @include transition( opacity $animations-pushScaleout-duration forwards $animations-pushScaleout-timing-function, visibility $animations-pushScaleout-duration forwards $animations-pushScaleout-timing-function ) - + &.#{$animation-start-class} // opacity: 1 // visibility: visible @@ -41,4 +41,4 @@ $animations-pushScaleout-delay: 0s !global // visibility: hidden // & > div - @include animation( pushScaleoutOut $animations-pushScaleout-duration forwards $animations-pushScaleout-timing-function ) \ No newline at end of file + @include animation( pushScaleoutOut $animations-pushScaleout-duration forwards $animations-pushScaleout-timing-function ) diff --git a/sass/common/_convention.sass b/sass/common/_convention.sass new file mode 100644 index 0000000..2459f5f --- /dev/null +++ b/sass/common/_convention.sass @@ -0,0 +1,19 @@ +// Widget prefix and postfix: -btn, -group +$pref-widget: "-" +$post-widget: "" + +// Theme: -primary- +$pref-theme: "-" +$post-theme: "-" + +// Size: _big +$pref-size: "_" +$post-size: "" + +// Modifier: _hover_ +$pref-modifier: "_" +$post-modifier: "_" + +// Animation: -fadein-- +$pref-anim: "-" +$post-anim: "--" diff --git a/sass/common/_modifiers.sass b/sass/common/_modifiers.sass index 02d233d..cddbfa0 100644 --- a/sass/common/_modifiers.sass +++ b/sass/common/_modifiers.sass @@ -1,32 +1,32 @@ $mod-responsive: "_responsive_" !global -$mod-left: "_left_" !global -$mod-center: "_center_" !global -$mod-middle: "_middle_" !global -$mod-right: "_right_" !global -$mod-justify: "_justify_" !global -$mod-top: "_top_" !global -$mod-bottom: "_bottom_" !global +$mod-left: "#{$pref-modifier}left#{$post-modifier}" !global +$mod-center: "#{$pref-modifier}center#{$post-modifier}" !global +$mod-middle: "#{$pref-modifier}middle#{$post-modifier}" !global +$mod-right: "#{$pref-modifier}right#{$post-modifier}" !global +$mod-justify: "#{$pref-modifier}justify#{$post-modifier}" !global +$mod-top: "#{$pref-modifier}top#{$post-modifier}" !global +$mod-bottom: "#{$pref-modifier}bottom#{$post-modifier}" !global -$mod-disabled: "_disabled_" !global +$mod-disabled: "#{$pref-modifier}disabled#{$post-modifier}" !global -$mod-unstyled: "_unstyled_" !global +$mod-unstyled: "#{$pref-modifier}unstyled#{$post-modifier}" !global -$mod-horizontal: "_horizontal_" !global -$mod-vertical: "_vertical_" !global -$mod-bordered: "_bordered_" !global -$mod-striped: "_striped_" !global -$mod-shaded: "_shaded_" !global -$mod-round: "_round_" !global +$mod-horizontal: "#{$pref-modifier}horizontal#{$post-modifier}" !global +$mod-vertical: "#{$pref-modifier}vertical#{$post-modifier}" !global +$mod-bordered: "#{$pref-modifier}bordered#{$post-modifier}" !global +$mod-striped: "#{$pref-modifier}striped#{$post-modifier}" !global +$mod-shaded: "#{$pref-modifier}shaded#{$post-modifier}" !global +$mod-round: "#{$pref-modifier}round#{$post-modifier}" !global -$mod-hovered: "_hovered_" !global -$mod-active: "_active_" !global -$mod-hidden: "_hidden_" !global -$mod-invert: "_invert_" !global +$mod-hovered: "#{$pref-modifier}hovered#{$post-modifier}" !global +$mod-active: "#{$pref-modifier}active#{$post-modifier}" !global +$mod-hidden: "#{$pref-modifier}hidden#{$post-modifier}" !global +$mod-invert: "#{$pref-modifier}invert#{$post-modifier}" !global // For now uses only in js Wall -$mod-visible: "_visible_" !global +$mod-visible: "#{$pref-modifier}visible#{$post-modifier}" !global // $mod-zoomable: "_zoomable_" !global // For now uses only with Grig and Nav Bullets -$mod-fixed: "_fixed_" !global +$mod-fixed: "#{$pref-modifier}fixed#{$post-modifier}" !global diff --git a/sass/common/_variables.sass b/sass/common/_variables.sass index 04f28a2..2f60fe1 100644 --- a/sass/common/_variables.sass +++ b/sass/common/_variables.sass @@ -1,13 +1,15 @@ $path-images: "/img/kit" !global $path-fonts: "/fonts" !global +@import "convention" + $base-font-family: "Helvetica" !global $base-font-size: 14px !global $base-line-height: 1.428571429 !global $base-line-height-comp: $base-font-size * $base-line-height -$base-padding-vertical: 6px !global +$base-padding-vertical: 8px !global $base-padding-horizontal: 12px !global @@ -39,12 +41,12 @@ $base-themes: () !global -$item-class: "-item" !global -$content-class: "-content" !global -$header-class: "-header" !global -$arrow-class: "-arrow" !global -$addon-class: "-addon" !global -$divider-class: "-divider" !global -$caption-class: "-caption" !global -$close-class: "-close" !global -$thumbnail-class: "-thumbnail" !global +$item-class: "#{$pref-widget}item#{$post-widget}" !global +$content-class: "#{$pref-widget}content#{$post-widget}" !global +$header-class: "#{$pref-widget}header#{$post-widget}" !global +$arrow-class: "#{$pref-widget}arrow#{$post-widget}" !global +$addon-class: "#{$pref-widget}addon#{$post-widget}" !global +$divider-class: "#{$pref-widget}divider#{$post-widget}" !global +$caption-class: "#{$pref-widget}caption#{$post-widget}" !global +$close-class: "#{$pref-widget}close#{$post-widget}" !global +$thumbnail-class: "#{$pref-widget}thumbnail#{$post-widget}" !global diff --git a/sass/widgets/_alerts.sass b/sass/widgets/_alerts.sass index 38a6876..2f4b277 100644 --- a/sass/widgets/_alerts.sass +++ b/sass/widgets/_alerts.sass @@ -1 +1 @@ -@import "alerts/common/common" \ No newline at end of file +@import "alerts/common/common" diff --git a/sass/widgets/alerts/common/_common.sass b/sass/widgets/alerts/common/_common.sass index f52a546..82c5957 100644 --- a/sass/widgets/alerts/common/_common.sass +++ b/sass/widgets/alerts/common/_common.sass @@ -69,14 +69,14 @@ @if $themeName == default @include alerts-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include alerts-theme-setter($thm) @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include alerts-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include alerts-size-setter($sz) &:empty diff --git a/sass/widgets/alerts/common/_variables.sass b/sass/widgets/alerts/common/_variables.sass index 81a0520..5efb230 100644 --- a/sass/widgets/alerts/common/_variables.sass +++ b/sass/widgets/alerts/common/_variables.sass @@ -1,6 +1,6 @@ -$alert-class: "-alert" !global +$alert-class: "#{$pref-widget}alert#{$post-widget}" !global $alert-border-radius: 3px !global $alert-border-width: 1px !global $alert-border-style: solid !global $alert-padding-vertical: $base-padding-vertical -$alert-padding-horizontal: $base-padding-horizontal \ No newline at end of file +$alert-padding-horizontal: $base-padding-horizontal diff --git a/sass/widgets/avatars/common/_common.sass b/sass/widgets/avatars/common/_common.sass index d079416..9e1b7e8 100644 --- a/sass/widgets/avatars/common/_common.sass +++ b/sass/widgets/avatars/common/_common.sass @@ -26,7 +26,7 @@ .#{$thumbnail-class} @include size( $avatar-size * $multiplier ) margin-right: $multiplier * $avatar-margin - + &.#{$mod-bordered} .#{$thumbnail-class} border-width: $avatar-border-width * $multiplier @@ -41,7 +41,7 @@ .#{$avatar-class} display: inline-block - + a text-decoration: none @@ -80,14 +80,14 @@ @if $themeName == default @include avatars-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include avatars-theme-setter($thm) @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include avatars-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include avatars-size-setter($sz) &:empty diff --git a/sass/widgets/avatars/common/_variables.sass b/sass/widgets/avatars/common/_variables.sass index d5084d9..9cefa51 100644 --- a/sass/widgets/avatars/common/_variables.sass +++ b/sass/widgets/avatars/common/_variables.sass @@ -1,6 +1,6 @@ -$avatar-class: "-avatar" !global +$avatar-class: "#{$pref-widget}avatar#{$post-widget}" !global $avatar-border-radius: 3px !global $avatar-border-width: 4px !global $avatar-border-style: solid !global $avatar-margin: 0.6em !global -$avatar-size: 64px !global \ No newline at end of file +$avatar-size: 64px !global diff --git a/sass/widgets/badges/common/_common.sass b/sass/widgets/badges/common/_common.sass index ec14a55..ca44190 100644 --- a/sass/widgets/badges/common/_common.sass +++ b/sass/widgets/badges/common/_common.sass @@ -49,20 +49,20 @@ @if $themeName == default @include badges-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include badges-theme-setter($thm) @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include badges-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include badges-size-setter($sz) // To nest sizes from parents elements @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) - ._#{$sizeName} + .#{$pref-size}#{$sizeName}#{$post-size} .#{$badge-class} - @extend .#{$badge-class}._#{$sizeName} !optional + @extend .#{$badge-class}.#{$pref-size}#{$sizeName}#{$post-size} !optional diff --git a/sass/widgets/badges/common/_variables.sass b/sass/widgets/badges/common/_variables.sass index 1e7f371..926a7e4 100644 --- a/sass/widgets/badges/common/_variables.sass +++ b/sass/widgets/badges/common/_variables.sass @@ -1,4 +1,4 @@ -$badge-class: "-badge" !global +$badge-class: "#{$pref-widget}badge#{$post-widget}" !global $badge-font-weight: 600 !global $badge-border-radius: 50px !global $badge-border-width: 0px !global diff --git a/sass/widgets/buttons/common/_common.sass b/sass/widgets/buttons/common/_common.sass index 204a727..6da4805 100644 --- a/sass/widgets/buttons/common/_common.sass +++ b/sass/widgets/buttons/common/_common.sass @@ -46,7 +46,11 @@ $name: map-get( $size, name) $multiplier: map-get( $size, multiplier) - font-size: $multiplier * $base-font-size + $sizer: $multiplier * $base-font-size + font-size: $sizer + $line-height: $sizer * $base-line-height + $base-padding-vertical * 2 + line-height: $sizer * $base-line-height - $button-border-width * 2 + height: $line-height &.#{$mod-round} border-radius: $multiplier * $base-font-size + 5 @@ -94,7 +98,7 @@ @if $themeName == default @include buttons-theme-button-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include buttons-theme-button-setter($thm) @@ -108,7 +112,7 @@ &.#{$mod-unstyled} background-color: transparent !important - border: 1px solid transparent !important + border: $button-border-width solid transparent !important box-shadow: none !important text-decoration: underline @@ -125,9 +129,26 @@ @if $sizeName == normal @include button-size-setter($sz) // font-size: $multilpyer * $base-font-size / 2 - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include button-size-setter($sz) // font-size: $multilpyer * $base-font-size a.#{$button-class} font-weight: normal + + input.#{$button-class}, button.#{$button-class} + &::-moz-focus-inner + border: 0 + padding: 0 + margin-top: -3px + margin-bottom: -3px + + // a.#{$button-class} + // &::-moz-focus-inner + // border: 0 + // padding: 0 + // margin-top: -1px + // margin-bottom: -1px + + // input.#{$button-class}, button.#{$button-class} + // line-height: normal!important diff --git a/sass/widgets/buttons/common/_variables.sass b/sass/widgets/buttons/common/_variables.sass index c132548..1bb5c5c 100644 --- a/sass/widgets/buttons/common/_variables.sass +++ b/sass/widgets/buttons/common/_variables.sass @@ -1,5 +1,5 @@ -$button-class: "-btn" !global +$button-class: "#{$pref-widget}btn#{$post-widget}" !global $button-font-weight: 200 !global $button-min-font-size: 9px !global $button-border-radius: 3px !global -$button-border-width: 1px !global \ No newline at end of file +$button-border-width: 1px !global diff --git a/sass/widgets/buttons/ghost/_common.sass b/sass/widgets/buttons/ghost/_common.sass index 2186e51..c8fee9e 100644 --- a/sass/widgets/buttons/ghost/_common.sass +++ b/sass/widgets/buttons/ghost/_common.sass @@ -51,8 +51,14 @@ $name: map-get( $size, name) $multiplier: map-get( $size, multiplier) - border-width: $multiplier * $button-ghost-border-width - font-size: $multiplier * $base-font-size + $brdr: $multiplier * $button-ghost-border-width + border-width: $brdr + + $sizer: $multiplier * $base-font-size + font-size: $sizer + $line-height: $sizer * $base-line-height + $base-padding-vertical * 2 + line-height: $sizer * $base-line-height - $brdr * 2 + height: $line-height @@ -71,7 +77,7 @@ @if $themeName == default @include buttons-theme-button-ghost-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include buttons-theme-button-ghost-setter($thm) @@ -80,7 +86,7 @@ @if $sizeName == normal @include button-ghost-size-setter($sz) // font-size: $multilpyer * $base-font-size / 2 - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include button-ghost-size-setter($sz) // font-size: $multilpyer * $base-font-size // diff --git a/sass/widgets/buttons/ghost/_variables.sass b/sass/widgets/buttons/ghost/_variables.sass index 5218ade..f486783 100644 --- a/sass/widgets/buttons/ghost/_variables.sass +++ b/sass/widgets/buttons/ghost/_variables.sass @@ -1,4 +1,4 @@ -$button-ghost-class: "#{$button-class}-ghost" !global +$button-ghost-class: "#{$pref-widget}btn-ghost#{$post-widget}" !global $button-ghost-font-weight: 200 !global $button-ghost-min-font-size: 9px !global $button-ghost-border-radius: 3px !global diff --git a/sass/widgets/comments/common/_variables.sass b/sass/widgets/comments/common/_variables.sass index 299de85..65ab43b 100644 --- a/sass/widgets/comments/common/_variables.sass +++ b/sass/widgets/comments/common/_variables.sass @@ -1,2 +1,2 @@ -$comments-class: "-comments" !global -$comments-item-margin-bottom: 25px !global \ No newline at end of file +$comments-class: "#{$pref-widget}comments#{$post-widget}" !global +$comments-item-margin-bottom: 25px !global diff --git a/sass/widgets/dropdowns/common/_common.sass b/sass/widgets/dropdowns/common/_common.sass index 75a25a1..1c86cff 100644 --- a/sass/widgets/dropdowns/common/_common.sass +++ b/sass/widgets/dropdowns/common/_common.sass @@ -247,5 +247,5 @@ @if $themeName == default @include dropdowns-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include dropdowns-theme-setter($thm) diff --git a/sass/widgets/dropdowns/common/_variables.sass b/sass/widgets/dropdowns/common/_variables.sass index 52199f4..1e8fe83 100644 --- a/sass/widgets/dropdowns/common/_variables.sass +++ b/sass/widgets/dropdowns/common/_variables.sass @@ -1,4 +1,4 @@ -$dropdown-class: "-drop" !global +$dropdown-class: "#{$pref-widget}drop#{$post-widget}" !global $dropdown-z-index: 1000 $dropdown-background-default: #fff $dropdown-border-default: #fff diff --git a/sass/widgets/forms/fields/_common.sass b/sass/widgets/forms/fields/_common.sass index b0435a5..59e4b4e 100644 --- a/sass/widgets/forms/fields/_common.sass +++ b/sass/widgets/forms/fields/_common.sass @@ -21,6 +21,18 @@ box-shadow: 0 0 15px rgba($background-color, 0.6) +@mixin forms-fields-size-setter($size) + $name: map-get( $size, name) + $multiplier: map-get( $size, multiplier) + + $sizer: $multiplier * $base-font-size + font-size: $sizer + $line-height: $sizer * $base-line-height + $base-padding-vertical * 2 - $form-field-border-width * 2 // - $form-input-border-width * 2 + line-height: $sizer * $base-line-height - $form-input-border-width * 2 + height: $line-height + // height: $base-line-height * $size + $size - $form-field-border-width * 2 + + @include exports("forms/fields") form .#{$form-field-class} @@ -29,26 +41,29 @@ border-style: solid border-radius: $form-field-border-radius - @each $themeName in $themes $thm: map-get( $base-themes, $themeName ) @if $themeName == default @include forms-theme-field-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include forms-theme-field-setter($thm) select, input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea - @extend input[type="text"].-#{$themeName}- !optional + @extend input[type="text"].#{$pref-theme}#{$themeName}#{$post-theme} !optional @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) // Change size only when class sets - &._#{$sizeName} + @if $sizeName == normal + select, input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea + @include forms-fields-size-setter($sz) + &.#{$pref-size}#{$sizeName}#{$post-size} select, input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea - @extend input[type="text"]._#{$sizeName} !optional + // @extend input[type="text"].#{$pref-size}#{$sizeName}#{$post-size} !optional + @include forms-fields-size-setter($sz) // To align fields and labels diff --git a/sass/widgets/forms/fields/_variables.sass b/sass/widgets/forms/fields/_variables.sass index a26a0c4..a89d0b5 100644 --- a/sass/widgets/forms/fields/_variables.sass +++ b/sass/widgets/forms/fields/_variables.sass @@ -1,4 +1,4 @@ // FIELDS -$form-field-class: "-field" +$form-field-class: "#{$pref-widget}field#{$post-widget}" $form-field-border-width: 3px -$form-field-border-radius: 3px \ No newline at end of file +$form-field-border-radius: 3px diff --git a/sass/widgets/forms/inputs/_common.sass b/sass/widgets/forms/inputs/_common.sass index 7dccc96..b4100c0 100644 --- a/sass/widgets/forms/inputs/_common.sass +++ b/sass/widgets/forms/inputs/_common.sass @@ -16,13 +16,19 @@ width: 100% + // &::-moz-focus-inner + // border: 0 + // padding: 3px + // margin-top: 3px + // margin-bottom: 3px + @mixin forms-theme-input-setter($theme) $color: map-get( $theme, color) $border-color: map-get( $theme, border-color) $background-color: map-get( $theme, background-color) - border: 1px solid $border-color + border: $form-input-border-width solid $border-color &:active, &:focus box-shadow: 0 0 10px rgba($background-color, 0.4) @@ -37,10 +43,8 @@ $border-color: map-get( $theme, border-color) $background-color: map-get( $theme, background-color) - border: 1px solid $border-color - background: rgba($background-color, .1) url('data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==') no-repeat - background-position-x: 97% - background-position-y: center + border: $form-input-border-width solid $border-color + background: rgba($background-color, .1) url('data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==') no-repeat 97% center &:active, &:focus box-shadow: 0 0 10px rgba($background-color, 0.4) @@ -51,25 +55,27 @@ $name: map-get( $size, name) $multiplier: map-get( $size, multiplier) - font-size: $multiplier * $base-font-size + $sizer: $multiplier * $base-font-size + font-size: $sizer + $line-height: $sizer * $base-line-height + $base-padding-vertical * 2 // - $form-input-border-width * 2 + line-height: $sizer * $base-line-height - $form-input-border-width * 2 + height: $line-height @include exports("forms/inputs") form - - - - - - .#{$row-class} margin-bottom: $base-line-height-comp - select, input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea + -webkit-appearance: none + -moz-appearance: none + -o-appearance: none + -ms-appearance: none + appearance: none vertical-align: middle @include forms-input-setter @@ -78,7 +84,7 @@ @if $themeName == default @include forms-theme-input-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include forms-theme-input-setter($thm) @include placeholder @@ -89,7 +95,7 @@ $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include forms-input-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include forms-input-size-setter($sz) @@ -108,12 +114,21 @@ select + -webkit-appearance: none + -moz-appearance: none + -ms-appearance: none + text-indent: 1px + text-overflow: '' + + &::-ms-expand + display: none + @each $themeName in $themes $thm: map-get( $base-themes, $themeName ) @if $themeName == default @include forms-theme-select-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include forms-theme-select-setter($thm) border-radius: 0 @@ -130,7 +145,7 @@ $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include forms-input-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include forms-input-size-setter($sz) @include text-overflow diff --git a/sass/widgets/forms/inputs/_variables.sass b/sass/widgets/forms/inputs/_variables.sass index 06327df..f063616 100644 --- a/sass/widgets/forms/inputs/_variables.sass +++ b/sass/widgets/forms/inputs/_variables.sass @@ -1,4 +1,5 @@ $form-input-font-family: inherit !global +$form-input-border-width: 1px !global $form-input-border-radius: 0 !global $form-label-cursor: pointer !global $form-label-font-weight: 200 !global diff --git a/sass/widgets/grid/_variables.sass b/sass/widgets/grid/_variables.sass index 74a8801..c7b8848 100644 --- a/sass/widgets/grid/_variables.sass +++ b/sass/widgets/grid/_variables.sass @@ -1,8 +1,8 @@ -$container-class: -container !global +$container-class: "#{$pref-widget}container#{$post-widget}" !global -$row-class: -row !global +$row-class: "#{$pref-widget}row#{$post-widget}" !global -$offset-class: -offset !global +$offset-class: "#{$pref-widget}offset#{$post-widget}" !global -$column-class: -col !global -$column-quantity: 12 !global \ No newline at end of file +$column-class: "#{$pref-widget}col#{$post-widget}" !global +$column-quantity: 12 !global diff --git a/sass/widgets/groups/addons/_common.sass b/sass/widgets/groups/addons/_common.sass index 5c1cca1..e889fd6 100644 --- a/sass/widgets/groups/addons/_common.sass +++ b/sass/widgets/groups/addons/_common.sass @@ -23,7 +23,11 @@ $name: map-get( $size, name) $multiplier: map-get( $size, multiplier) - font-size: $multiplier * $base-font-size + $sizer: $multiplier * $base-font-size + font-size: $sizer + $line-height: $sizer * $base-line-height + $base-padding-vertical * 2 + line-height: $sizer * $base-line-height + height: $line-height @include exports("groups/addons") @@ -58,7 +62,7 @@ @if $themeName == default @include groups-theme-addon-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include groups-theme-addon-setter($thm) @each $sizeName in $sizes @@ -66,7 +70,7 @@ @if $sizeName == normal @include groups-addon-size-setter($sz) // font-size: $multilpyer * $base-font-size / 2 - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include groups-addon-size-setter($sz) @@ -87,13 +91,13 @@ @each $themeName in $themes $thm: map-get( $base-themes, $themeName ) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} .#{$group-addon-class} - @extend .#{$group-addon-class}.-#{$themeName}- !optional + @extend .#{$group-addon-class}.#{$pref-theme}#{$themeName}#{$post-theme} !optional @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} .#{$group-addon-class} - @extend .#{$group-addon-class}._#{$sizeName} !optional + @extend .#{$group-addon-class}.#{$pref-size}#{$sizeName}#{$post-size} !optional diff --git a/sass/widgets/groups/buttons/_common.sass b/sass/widgets/groups/buttons/_common.sass index 971f635..8cca032 100644 --- a/sass/widgets/groups/buttons/_common.sass +++ b/sass/widgets/groups/buttons/_common.sass @@ -38,9 +38,9 @@ @each $themeName in $themes $thm: map-get( $base-themes, $themeName ) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} .#{$button-class} - @extend .#{$button-class}.-#{$themeName}- !optional + @extend .#{$button-class}.#{$pref-theme}#{$themeName}#{$post-theme} !optional &:active, &.#{$mod-active} box-shadow: inset 0 -15px 15px rgba(0,0,0,.1) @@ -49,6 +49,9 @@ @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) - &._#{$sizeName} + @if $sizeName == normal .#{$button-class} - @extend .#{$button-class}._#{$sizeName} !optional + @extend .#{$button-class}.#{$pref-size}#{$sizeName}#{$post-size} + &.#{$pref-size}#{$sizeName}#{$post-size} + .#{$button-class} + @extend .#{$button-class}.#{$pref-size}#{$sizeName}#{$post-size} !optional diff --git a/sass/widgets/groups/common/_variables.sass b/sass/widgets/groups/common/_variables.sass index 994e253..0a5633a 100644 --- a/sass/widgets/groups/common/_variables.sass +++ b/sass/widgets/groups/common/_variables.sass @@ -1,4 +1,4 @@ -$group-class: "-group" !global +$group-class: "#{$pref-widget}group#{$post-widget}" !global // $group-justified-margin-bottom: 7px !global -$group-addon-class: $addon-class !global \ No newline at end of file +$group-addon-class: $addon-class !global diff --git a/sass/widgets/groups/inputs/_common.sass b/sass/widgets/groups/inputs/_common.sass index 1ddad40..b217279 100644 --- a/sass/widgets/groups/inputs/_common.sass +++ b/sass/widgets/groups/inputs/_common.sass @@ -45,19 +45,19 @@ @each $themeName in $themes $thm: map-get( $base-themes, $themeName ) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} select, input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea - @extend input[type="text"].-#{$themeName}- !optional + @extend input[type="text"].#{$pref-theme}#{$themeName}#{$post-theme} !optional .#{$form-field-class} - @extend .#{$form-field-class}.-#{$themeName}- !optional + @extend .#{$form-field-class}.#{$pref-theme}#{$themeName}#{$post-theme} !optional @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} select, input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea - @extend input[type="text"]._#{$sizeName} !optional + @extend input[type="text"].#{$pref-size}#{$sizeName}#{$post-size} !optional .#{$form-field-class} - @extend .#{$form-field-class}._#{$sizeName} !optional + @extend .#{$form-field-class}.#{$pref-size}#{$sizeName}#{$post-size} !optional diff --git a/sass/widgets/labels/common/_common.sass b/sass/widgets/labels/common/_common.sass index bd1aa2d..b4be3aa 100644 --- a/sass/widgets/labels/common/_common.sass +++ b/sass/widgets/labels/common/_common.sass @@ -61,14 +61,14 @@ @if $themeName == default @include labels-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include labels-theme-setter($thm) @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include labels-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include labels-size-setter($sz) &:empty @@ -79,6 +79,6 @@ @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) - ._#{$sizeName} + .#{$pref-size}#{$sizeName}#{$post-size} .#{$label-class} - @extend .#{$label-class}._#{$sizeName} !optional + @extend .#{$label-class}.#{$pref-size}#{$sizeName}#{$post-size} !optional diff --git a/sass/widgets/labels/common/_variables.sass b/sass/widgets/labels/common/_variables.sass index b8d2db7..0ffb209 100644 --- a/sass/widgets/labels/common/_variables.sass +++ b/sass/widgets/labels/common/_variables.sass @@ -1,4 +1,4 @@ -$label-class: "-label" !global +$label-class: "#{$pref-widget}label#{$post-widget}" !global $label-font-weight: 300 !global $label-border-radius: 2px !global $label-border-width: 1px !global diff --git a/sass/widgets/modal/common/_common.sass b/sass/widgets/modal/common/_common.sass index 93d840e..e8b3fc1 100644 --- a/sass/widgets/modal/common/_common.sass +++ b/sass/widgets/modal/common/_common.sass @@ -166,7 +166,7 @@ $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include modal-close-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include modal-close-size-setter($sz) & > .-arrow @@ -243,7 +243,7 @@ $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include modal-header-close-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include modal-header-close-size-setter($sz) .#{$content-class} @@ -256,7 +256,7 @@ @if $themeName == default @include modal-header-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include modal-header-theme-setter($thm) & > .-holder @@ -276,7 +276,7 @@ @if $themeName == default @include modal-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include modal-theme-setter($thm) diff --git a/sass/widgets/modal/common/_variables.sass b/sass/widgets/modal/common/_variables.sass index dfb9bbb..95ec7b9 100644 --- a/sass/widgets/modal/common/_variables.sass +++ b/sass/widgets/modal/common/_variables.sass @@ -1,8 +1,8 @@ -$modal-class: "-modal" !global +$modal-class: "#{$pref-widget}modal#{$post-widget}" !global $modal-z-index: 1004 !global $modal-background-opacity: .8 !global $modal-padding-vertical: 30px !global -$modal-dialog-class: "-dialog" !global +$modal-dialog-class: "#{$pref-widget}dialog#{$post-widget}" !global $modal-dialog-border-radius: 7px !global // $modal-dialog-background: #fff !global $modal-dialog-padding-horizontal: 20px !global @@ -15,4 +15,4 @@ $modal-dialog-close-size: 38px !global // $modal-arrow-size: 18px // $modal-content-padding-vertical: 15px // $modal-content-padding-horizontal: 15px -// $modal-shadow: 0 3px 10px rgba(#000, .1) \ No newline at end of file +// $modal-shadow: 0 3px 10px rgba(#000, .1) diff --git a/sass/widgets/nav/bar/_common.sass b/sass/widgets/nav/bar/_common.sass index f6da5b9..9101c7a 100644 --- a/sass/widgets/nav/bar/_common.sass +++ b/sass/widgets/nav/bar/_common.sass @@ -118,21 +118,21 @@ @if $themeName == default @include nav-theme-bar-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include nav-theme-bar-setter($thm) @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} .#{$nav-menu-class} - @extend .#{$nav-menu-class}._#{$sizeName} !optional + @extend .#{$nav-menu-class}.#{$pref-size}#{$sizeName}#{$post-size} !optional .#{$nav-pills-class} - @extend .#{$nav-pills-class}._#{$sizeName} !optional + @extend .#{$nav-pills-class}.#{$pref-size}#{$sizeName}#{$post-size} !optional .#{$button-class} - @extend .#{$button-class}._#{$sizeName} !optional + @extend .#{$button-class}.#{$pref-size}#{$sizeName}#{$post-size} !optional .#{$group-class} - @extend .#{$group-class}._#{$sizeName} !optional + @extend .#{$group-class}.#{$pref-size}#{$sizeName}#{$post-size} !optional // ._no-scroll_ diff --git a/sass/widgets/nav/bar/_variables.sass b/sass/widgets/nav/bar/_variables.sass index a546821..c2474a1 100644 --- a/sass/widgets/nav/bar/_variables.sass +++ b/sass/widgets/nav/bar/_variables.sass @@ -1,4 +1,4 @@ -$nav-bar-class: "-navbar" !global +$nav-bar-class: "#{$pref-widget}navbar#{$post-widget}" !global $nav-bar-height: 50px !global $nav-bar-padding-horizontal: $base-padding-horizontal !global $nav-bar-border-width: 1px !global @@ -8,4 +8,4 @@ $nav-bar-border-radius: 3px !global // It's only fo _top_ or _bottom_ navbars. Need to be over dropdowns. $nav-bar-z-index: $dropdown-z-index + 1 -$nav-bar-toggle-class: #{$nav-bar-class}-toggle \ No newline at end of file +$nav-bar-toggle-class: #{$nav-bar-class}-toggle diff --git a/sass/widgets/nav/barFloat/_common.sass b/sass/widgets/nav/barFloat/_common.sass index 4bdbd2b..b936ef8 100644 --- a/sass/widgets/nav/barFloat/_common.sass +++ b/sass/widgets/nav/barFloat/_common.sass @@ -49,7 +49,7 @@ @if $themeName == default @include nav-theme-bar-float-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include nav-theme-bar-float-setter($thm) diff --git a/sass/widgets/nav/barFloat/_variables.sass b/sass/widgets/nav/barFloat/_variables.sass index e48d0c9..8151880 100644 --- a/sass/widgets/nav/barFloat/_variables.sass +++ b/sass/widgets/nav/barFloat/_variables.sass @@ -1,4 +1,4 @@ -$nav-bar-float-class: "-navbar-float" !global +$nav-bar-float-class: "#{$pref-widget}navbar-float#{$post-widget}" !global $nav-bar-float-border-width: 0px !global $nav-bar-float-border-radius: 0px !global -$nav-bar-float-background-opacity: .7 !global \ No newline at end of file +$nav-bar-float-background-opacity: .7 !global diff --git a/sass/widgets/nav/bullets/_common.sass b/sass/widgets/nav/bullets/_common.sass index a628a78..c2358de 100644 --- a/sass/widgets/nav/bullets/_common.sass +++ b/sass/widgets/nav/bullets/_common.sass @@ -17,7 +17,7 @@ a border-color: $border-color color: $white-color - + &.#{$mod-active} a background-color: $border-color @@ -30,7 +30,7 @@ a border-color: $color color: $color - + &.#{$mod-active} a background-color: $color @@ -59,7 +59,7 @@ #{$nav-bullets-item} display: inline-block position: relative - + a display: inline-block @@ -70,11 +70,11 @@ border-style: solid cursor: pointer opacity: .5 - + small display: none - + &.#{$mod-active} a @@ -162,12 +162,12 @@ @if $themeName == default @include nav-theme-bullets-item-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include nav-theme-bullets-item-setter($thm) @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include nav-size-bullets-item-setter($sz) - &._#{$sizeName} - @include nav-size-bullets-item-setter($sz) \ No newline at end of file + &.#{$pref-size}#{$sizeName}#{$post-size} + @include nav-size-bullets-item-setter($sz) diff --git a/sass/widgets/nav/bullets/_variables.sass b/sass/widgets/nav/bullets/_variables.sass index bfe69b7..a5c7e8a 100644 --- a/sass/widgets/nav/bullets/_variables.sass +++ b/sass/widgets/nav/bullets/_variables.sass @@ -1,6 +1,6 @@ -$nav-bullets-class: "-bullets" !global +$nav-bullets-class: "#{$pref-widget}bullets#{$post-widget}" !global $nav-bullets-margin: 25px !global $nav-bullets-zindex: 5 $nav-bullets-item: "li" !global $nav-bullets-item-size: 10px !global -$nav-bullets-item-margin: 4px !global \ No newline at end of file +$nav-bullets-item-margin: 4px !global diff --git a/sass/widgets/nav/common/_common.sass b/sass/widgets/nav/common/_common.sass index 5ba6dd8..d14c115 100644 --- a/sass/widgets/nav/common/_common.sass +++ b/sass/widgets/nav/common/_common.sass @@ -72,7 +72,7 @@ a @include nav-item-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} #{$nav-item} a @include nav-item-setter($sz) diff --git a/sass/widgets/nav/listGroup/_common.sass b/sass/widgets/nav/listGroup/_common.sass index f684c5f..a42fed1 100644 --- a/sass/widgets/nav/listGroup/_common.sass +++ b/sass/widgets/nav/listGroup/_common.sass @@ -69,6 +69,7 @@ & > .#{$nav-list-group-class} display: none padding-bottom: $nav-list-group-items-padding-vertical * 2 + @extend .#{$animation-stop-class} @@ -82,6 +83,7 @@ & > .#{$nav-list-group-class} display: block + @extend .#{$animation-start-class} #{$nav-item} @@ -114,5 +116,5 @@ @if $themeName == default @include nav-theme-list-group-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include nav-theme-list-group-setter($thm) diff --git a/sass/widgets/nav/listGroup/_variables.sass b/sass/widgets/nav/listGroup/_variables.sass index b94cccb..c7a6d2f 100644 --- a/sass/widgets/nav/listGroup/_variables.sass +++ b/sass/widgets/nav/listGroup/_variables.sass @@ -1,4 +1,4 @@ -$nav-list-group-class: "-list-group" !global +$nav-list-group-class: "#{$pref-widget}list-group#{$post-widget}" !global $nav-list-group-items-padding-vertical: $base-padding-vertical / 2 !global $nav-list-group-items-padding-horizontal: $base-padding-horizontal !global $nav-list-group-items-border-width: 1px !global diff --git a/sass/widgets/nav/menu/_common.sass b/sass/widgets/nav/menu/_common.sass index 16bdbb5..14602a7 100644 --- a/sass/widgets/nav/menu/_common.sass +++ b/sass/widgets/nav/menu/_common.sass @@ -44,6 +44,14 @@ & > a color: $white-color +@mixin nav-menu-vertical-setter + #{$nav-item} + margin-right: 0 + margin-bottom: $nav-tabs-items-margin + float: none + display: block + width: auto + @include exports("nav/menu") @@ -101,14 +109,13 @@ &.#{$mod-active} - & > a cursor: inherit @each $themeName in $themes $thm: map-get( $base-themes, $themeName ) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include nav-theme-menu-item-setter($thm) @@ -117,20 +124,22 @@ @if $themeName == default @include nav-theme-menu-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include nav-theme-menu-setter($thm) &.#{$mod-vertical} - - #{$nav-item} - margin-right: 0 - margin-bottom: $nav-tabs-items-margin - float: none + @include nav-menu-vertical-setter &.#{$mod-hovered} #{$nav-item}:hover & > .#{$dropdown-class} display: block @extend .#{$animation-start-class} + + + + @include media(new-breakpoint(max-width $base-screen-small 6)) + &.#{$mod-responsive} + @include nav-menu-vertical-setter diff --git a/sass/widgets/nav/menu/_variables.sass b/sass/widgets/nav/menu/_variables.sass index 7ebf3f9..2bce0b7 100644 --- a/sass/widgets/nav/menu/_variables.sass +++ b/sass/widgets/nav/menu/_variables.sass @@ -1,6 +1,6 @@ -$nav-menu-class: "-menu" !global +$nav-menu-class: "#{$pref-widget}menu#{$post-widget}" !global $nav-menu-items-padding-vertical: $base-padding-vertical !global $nav-menu-items-padding-horizontal: $base-padding-horizontal !global $nav-menu-items-border-width: 1px !global $nav-menu-items-border-radius: 0px !global -$nav-menu-items-margin: 1px !global \ No newline at end of file +$nav-menu-items-margin: 1px !global diff --git a/sass/widgets/nav/pills/_common.sass b/sass/widgets/nav/pills/_common.sass index 17b32c6..7d35bfd 100644 --- a/sass/widgets/nav/pills/_common.sass +++ b/sass/widgets/nav/pills/_common.sass @@ -53,7 +53,7 @@ @if $themeName == default @include nav-theme-pills-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include nav-theme-pills-setter($thm) #{$nav-item} @@ -86,7 +86,7 @@ @each $themeName in $themes $thm: map-get( $base-themes, $themeName ) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include nav-theme-pill-setter($thm) diff --git a/sass/widgets/nav/pills/_variables.sass b/sass/widgets/nav/pills/_variables.sass index a10996d..b24a9e4 100644 --- a/sass/widgets/nav/pills/_variables.sass +++ b/sass/widgets/nav/pills/_variables.sass @@ -1,6 +1,6 @@ -$nav-pills-class: "-pills" !global +$nav-pills-class: "#{$pref-widget}pills#{$post-widget}" !global $nav-pills-border-width: 1px !global $nav-pills-items-padding-vertical: $base-padding-vertical !global $nav-pills-items-padding-horizontal: $base-padding-horizontal !global $nav-pills-items-border-radius: 3px !global -$nav-pills-items-margin: 1px !global \ No newline at end of file +$nav-pills-items-margin: 1px !global diff --git a/sass/widgets/nav/tabs/_common.sass b/sass/widgets/nav/tabs/_common.sass index bfd9303..0815f97 100644 --- a/sass/widgets/nav/tabs/_common.sass +++ b/sass/widgets/nav/tabs/_common.sass @@ -67,7 +67,7 @@ @if $themeName == default @include nav-theme-tabs-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include nav-theme-tabs-setter($thm) #{$nav-item} @@ -100,7 +100,7 @@ @each $themeName in $themes $thm: map-get( $base-themes, $themeName ) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include nav-theme-tab-setter($thm) diff --git a/sass/widgets/nav/tabs/_variables.sass b/sass/widgets/nav/tabs/_variables.sass index 0cafe2e..be31244 100644 --- a/sass/widgets/nav/tabs/_variables.sass +++ b/sass/widgets/nav/tabs/_variables.sass @@ -1,6 +1,6 @@ -$nav-tabs-class: "-tabs" !global +$nav-tabs-class: "#{$pref-widget}tabs#{$post-widget}" !global $nav-tabs-border-width: 1px !global $nav-tabs-items-padding-vertical: $base-padding-vertical !global $nav-tabs-items-padding-horizontal: $base-padding-horizontal !global $nav-tabs-items-border-radius: 3px !global -$nav-tabs-items-margin: 1px !global \ No newline at end of file +$nav-tabs-items-margin: 1px !global diff --git a/sass/widgets/progress/common/_common.sass b/sass/widgets/progress/common/_common.sass index 815d9ee..ff0016b 100644 --- a/sass/widgets/progress/common/_common.sass +++ b/sass/widgets/progress/common/_common.sass @@ -44,23 +44,6 @@ .#{$progress-bar-class} font-size: floor($multiplier * $base-font-size * 0.8) -// @mixin progress-theme-bar-setter($size) -// @if nth($themes, $i) == "-default-" -// background-color: nth($themes-background-light-colors, $i) -// border-color: nth($themes-background-light-colors, $i) -// color: nth($themes-colors, $i) -// @else -// background-color: nth($themes-background-colors, $i) -// border-color: nth($themes-background-colors, $i) -// color: nth($themes-white-colors, $i) -// -// -// &.#{$mod-disabled}, &[disabled], fieldset[disabled] & -// color: rgba(nth($themes-white-colors, $i), .65) -// -// &.#{$mod-unstyled} -// color: nth($themes-colors, $i) - @include exports("progress/common") @@ -110,34 +93,17 @@ @if $themeName == default @include progress-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include progress-theme-setter($thm) @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include progress-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include progress-size-setter($sz) - // @each $theme in $themes - // $i: index($themes, $theme) - // - // @if $theme == "-default-" - // @include progress-theme-setter($i) - // - // &.#{$theme} - // @include progress-theme-setter($i) - // - // @each $size in $base-sizes-names - // $i: index($base-sizes-names, $size) - // @if #{$size} == "_normal" - // .#{$progress-bar-class} - // font-size: floor(nth($base-sizes-values, $i) * $base-font-size / 2 * 0.75) - // - // &.#{$size} - // .#{$progress-bar-class} - // font-size: floor(nth($base-sizes-values, $i) * $base-font-size * 0.75) + .#{$progress-bar-class} @@ -146,23 +112,5 @@ @if $themeName == default @include progress-bar-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include progress-bar-theme-setter($thm) - // @each $theme in $themes - // $i: index($themes, $theme) - // - // @if $theme == "-default-" - // @include progress-theme-bar-setter($i) - // - // &.#{$theme} - // @include progress-theme-bar-setter($i) - - - - // To nest sizes from parents elements - // @each $size in $base-sizes-names - // $i: index($base-sizes-names, $size) - - // .#{$size} - // .#{$progress-class} - // @extend .#{$progress-class}.#{$size} diff --git a/sass/widgets/progress/common/_variables.sass b/sass/widgets/progress/common/_variables.sass index c6f4a49..9d8b252 100644 --- a/sass/widgets/progress/common/_variables.sass +++ b/sass/widgets/progress/common/_variables.sass @@ -1,5 +1,5 @@ -$progress-class: "-progress" !global -$progress-bar-class: "-bar" !global +$progress-class: "#{$pref-widget}progress#{$post-widget}" !global +$progress-bar-class: "#{$pref-widget}bar#{$post-widget}" !global $progress-bar-padding-vertical: $base-padding-vertical / 3 $progress-bar-padding-horizontal: $base-padding-horizontal / 1.5 $progress-font-weight: 600 !global @@ -7,4 +7,4 @@ $progress-border-radius: 4px !global $progress-border-width: 0px !global $progress-border-style: solid !global $progress-padding: 3px !global -$progress-background: #fff !global \ No newline at end of file +$progress-background: #fff !global diff --git a/sass/widgets/progress/slim/_common.sass b/sass/widgets/progress/slim/_common.sass index 1136650..c184a31 100644 --- a/sass/widgets/progress/slim/_common.sass +++ b/sass/widgets/progress/slim/_common.sass @@ -45,5 +45,5 @@ $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include progress-slim-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include progress-slim-size-setter($sz) \ No newline at end of file diff --git a/sass/widgets/progress/slim/_variables.sass b/sass/widgets/progress/slim/_variables.sass index 940d74a..6e5ede3 100644 --- a/sass/widgets/progress/slim/_variables.sass +++ b/sass/widgets/progress/slim/_variables.sass @@ -1,6 +1,6 @@ -$progress-slim-class: "-progress-slim" !global -$progress-slim-bar-class: "-bar" !global +$progress-slim-class: "#{$pref-widget}progress-slim#{$post-widget}" !global +$progress-slim-bar-class: "#{$pref-widget}bar#{$post-widget}" !global $progress-slim-bar-height: 7px $progress-slim-border-radius: 0px !global $progress-slim-border-width: 0px !global -$progress-slim-border-style: solid !global \ No newline at end of file +$progress-slim-border-style: solid !global diff --git a/sass/widgets/push/common/_variables.sass b/sass/widgets/push/common/_variables.sass index f16f0ab..dc4e4d0 100644 --- a/sass/widgets/push/common/_variables.sass +++ b/sass/widgets/push/common/_variables.sass @@ -1 +1 @@ -$push-class: "-push" !global \ No newline at end of file +$push-class: "#{$pref-widget}push#{$post-widget}" !global diff --git a/sass/widgets/shaders/common/_common.sass b/sass/widgets/shaders/common/_common.sass index 4244f79..c5eea41 100644 --- a/sass/widgets/shaders/common/_common.sass +++ b/sass/widgets/shaders/common/_common.sass @@ -31,7 +31,7 @@ @if $themeName == default @include shader-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include shader-theme-setter($thm) &.#{$mod-active} diff --git a/sass/widgets/shaders/common/_variables.sass b/sass/widgets/shaders/common/_variables.sass index e9de7f7..f0d10e7 100644 --- a/sass/widgets/shaders/common/_variables.sass +++ b/sass/widgets/shaders/common/_variables.sass @@ -1,2 +1,2 @@ -$shader-class: "-shader" !global +$shader-class: "#{$pref-widget}shader#{$post-widget}" !global $shader-z-index: 100 !global diff --git a/sass/widgets/spinners/common/_variables.sass b/sass/widgets/spinners/common/_variables.sass index 0858a07..ca9aa29 100644 --- a/sass/widgets/spinners/common/_variables.sass +++ b/sass/widgets/spinners/common/_variables.sass @@ -1 +1 @@ -$spinner-class: "-spinner" !global +$spinner-class: "#{$pref-widget}spinner#{$post-widget}" !global diff --git a/sass/widgets/spinners/fb/_common.sass b/sass/widgets/spinners/fb/_common.sass index 92171a6..735ffef 100644 --- a/sass/widgets/spinners/fb/_common.sass +++ b/sass/widgets/spinners/fb/_common.sass @@ -67,12 +67,12 @@ @if $themeName == default @include spinner-fb-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include spinner-fb-theme-setter($thm) @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include spinner-fb-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include spinner-fb-size-setter($sz) diff --git a/sass/widgets/spinners/fb/_variables.sass b/sass/widgets/spinners/fb/_variables.sass index 28811f5..fbb5254 100644 --- a/sass/widgets/spinners/fb/_variables.sass +++ b/sass/widgets/spinners/fb/_variables.sass @@ -1,3 +1,3 @@ -$spinner-fb-class: "#{$spinner-class}-fb" +$spinner-fb-class: "#{$pref-widget}spinner-fb#{$post-widget}" $spinner-fb-size: 30px $spinner-fb-max-addons: 10 diff --git a/sass/widgets/spinners/ring/_common.sass b/sass/widgets/spinners/ring/_common.sass index 8ed7d7b..4c4ccf5 100644 --- a/sass/widgets/spinners/ring/_common.sass +++ b/sass/widgets/spinners/ring/_common.sass @@ -63,12 +63,12 @@ @if $themeName == default @include spinner-ring-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include spinner-ring-theme-setter($thm) @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include spinner-ring-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include spinner-ring-size-setter($sz) diff --git a/sass/widgets/spinners/ring/_variables.sass b/sass/widgets/spinners/ring/_variables.sass index 2cca95f..3e40143 100644 --- a/sass/widgets/spinners/ring/_variables.sass +++ b/sass/widgets/spinners/ring/_variables.sass @@ -1,2 +1,2 @@ -$spinner-ring-class: "#{$spinner-class}-ring" +$spinner-ring-class: "#{$pref-widget}spinner-ring#{$post-widget}" $spinner-ring-size: 30px diff --git a/sass/widgets/spinners/square/_common.sass b/sass/widgets/spinners/square/_common.sass index 01a4b80..70e5e77 100644 --- a/sass/widgets/spinners/square/_common.sass +++ b/sass/widgets/spinners/square/_common.sass @@ -55,12 +55,12 @@ @if $themeName == default @include spinner-square-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include spinner-square-theme-setter($thm) @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include spinner-square-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include spinner-square-size-setter($sz) diff --git a/sass/widgets/spinners/square/_variables.sass b/sass/widgets/spinners/square/_variables.sass index 43b2650..39dd135 100644 --- a/sass/widgets/spinners/square/_variables.sass +++ b/sass/widgets/spinners/square/_variables.sass @@ -1,2 +1,2 @@ -$spinner-square-class: "#{$spinner-class}-square" +$spinner-square-class: "#{$pref-widget}spinner-square#{$post-widget}" $spinner-square-size: 30px diff --git a/sass/widgets/spinners/waves/_common.sass b/sass/widgets/spinners/waves/_common.sass index 3ccd186..86275ed 100644 --- a/sass/widgets/spinners/waves/_common.sass +++ b/sass/widgets/spinners/waves/_common.sass @@ -72,12 +72,12 @@ @if $themeName == default @include spinner-waves-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include spinner-waves-theme-setter($thm) @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include spinner-waves-size-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include spinner-waves-size-setter($sz) diff --git a/sass/widgets/spinners/waves/_variables.sass b/sass/widgets/spinners/waves/_variables.sass index 56b6725..6de9ba6 100644 --- a/sass/widgets/spinners/waves/_variables.sass +++ b/sass/widgets/spinners/waves/_variables.sass @@ -1,4 +1,4 @@ -$spinner-waves-class: "#{$spinner-class}-waves" +$spinner-waves-class: "#{$pref-widget}spinner-waves#{$post-widget}" $spinner-waves-size: 30px $spinner-waves-deg: 25deg $spinner-waves-max-addons: 10 diff --git a/sass/widgets/tables/common/_cells.sass b/sass/widgets/tables/common/_cells.sass index 3f97071..897039f 100644 --- a/sass/widgets/tables/common/_cells.sass +++ b/sass/widgets/tables/common/_cells.sass @@ -22,7 +22,7 @@ @each $themeName in $themes $thm: map-get( $base-themes, $themeName ) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include tables-theme-cell-setter($thm) &[disabled] diff --git a/sass/widgets/tables/common/_common.sass b/sass/widgets/tables/common/_common.sass index 16d9742..557464d 100644 --- a/sass/widgets/tables/common/_common.sass +++ b/sass/widgets/tables/common/_common.sass @@ -77,7 +77,7 @@ @if $themeName == default @include tables-theme-horizontal-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include tables-theme-horizontal-setter($thm) @@ -88,7 +88,7 @@ @if $themeName == default @include tables-theme-vertical-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include tables-theme-vertical-setter($thm) &.#{$mod-bordered} @@ -99,7 +99,7 @@ @if $themeName == default @include tables-theme-wrap-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include tables-theme-wrap-setter($thm) diff --git a/sass/widgets/tables/common/_hovered.sass b/sass/widgets/tables/common/_hovered.sass index f188111..06ec0d5 100644 --- a/sass/widgets/tables/common/_hovered.sass +++ b/sass/widgets/tables/common/_hovered.sass @@ -23,5 +23,5 @@ @if $themeName == default @include tables-theme-hovered-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include tables-theme-hovered-setter($thm) diff --git a/sass/widgets/tables/common/_rows.sass b/sass/widgets/tables/common/_rows.sass index 7da7658..9379ba9 100644 --- a/sass/widgets/tables/common/_rows.sass +++ b/sass/widgets/tables/common/_rows.sass @@ -23,7 +23,7 @@ @each $themeName in $themes $thm: map-get( $base-themes, $themeName ) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include tables-theme-row-setter($thm) &[disabled] diff --git a/sass/widgets/tables/common/_striped.sass b/sass/widgets/tables/common/_striped.sass index 5d517d0..ec12df4 100644 --- a/sass/widgets/tables/common/_striped.sass +++ b/sass/widgets/tables/common/_striped.sass @@ -24,5 +24,5 @@ @if $themeName == default @include tables-theme-striped-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include tables-theme-striped-setter($thm) diff --git a/sass/widgets/tables/common/_variables.sass b/sass/widgets/tables/common/_variables.sass index 0ba01dd..2a00e79 100644 --- a/sass/widgets/tables/common/_variables.sass +++ b/sass/widgets/tables/common/_variables.sass @@ -1,3 +1,3 @@ -$table-class: "-table" !global +$table-class: "#{$pref-widget}table#{$post-widget}" !global -$table-cell-padding: 8px !global \ No newline at end of file +$table-cell-padding: 8px !global diff --git a/sass/widgets/thumbnails/common/_caption.sass b/sass/widgets/thumbnails/common/_caption.sass index 243c512..2c65400 100644 --- a/sass/widgets/thumbnails/common/_caption.sass +++ b/sass/widgets/thumbnails/common/_caption.sass @@ -43,7 +43,7 @@ @if $themeName == default @include thumbnails-theme-caption-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include thumbnails-theme-caption-setter($thm) diff --git a/sass/widgets/thumbnails/common/_variables.sass b/sass/widgets/thumbnails/common/_variables.sass index e7adf02..c9585a5 100644 --- a/sass/widgets/thumbnails/common/_variables.sass +++ b/sass/widgets/thumbnails/common/_variables.sass @@ -1,6 +1,6 @@ -$thumbnail-class: "-thumbnail" !global +$thumbnail-class: "#{$pref-widget}thumbnail#{$post-widget}" !global $thumbnail-image-background: #fff // When image is still loading this background will be shown $thumbnail-caption-class: #{$thumbnail-class}#{$caption-class} $thumbnail-caption-padding: $base-padding-vertical * 2 -$thumbnail-caption-font-size: 80% \ No newline at end of file +$thumbnail-caption-font-size: 80% diff --git a/sass/widgets/typography/body/_common.sass b/sass/widgets/typography/body/_common.sass index 935450c..3a91ea3 100644 --- a/sass/widgets/typography/body/_common.sass +++ b/sass/widgets/typography/body/_common.sass @@ -47,7 +47,7 @@ @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include typography-inline-size-setter($sz) // font-size: $multilpyer * $base-font-size @@ -61,7 +61,7 @@ @if $themeName == default @include typography-inline-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include typography-inline-theme-setter($thm) @@ -123,7 +123,7 @@ @if $themeName == default @include typography-blockquote-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include typography-blockquote-theme-setter($thm) @@ -139,7 +139,7 @@ @if $themeName == default @include typography-hr-theme-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include typography-hr-theme-setter($thm) *[dir="ltr"] diff --git a/sass/widgets/typography/body/_variables.sass b/sass/widgets/typography/body/_variables.sass index 9d1d947..dc3d4a7 100644 --- a/sass/widgets/typography/body/_variables.sass +++ b/sass/widgets/typography/body/_variables.sass @@ -3,7 +3,7 @@ $body-i-font-style: italic !global $body-small-font-size: 85% !global -$abbr-initialism-class: "-initialism" !global +$abbr-initialism-class: "#{$pref-widget}initialism#{$post-widget}" !global $blockquote-small-font-size: 80% !global diff --git a/sass/widgets/typography/headings/_common.sass b/sass/widgets/typography/headings/_common.sass index 8207758..84159c0 100644 --- a/sass/widgets/typography/headings/_common.sass +++ b/sass/widgets/typography/headings/_common.sass @@ -38,7 +38,7 @@ @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include typography-heading-size-setter($sz) h1, h2, h3 diff --git a/sass/widgets/typography/headings/_variables.sass b/sass/widgets/typography/headings/_variables.sass index eb88be7..58c1564 100644 --- a/sass/widgets/typography/headings/_variables.sass +++ b/sass/widgets/typography/headings/_variables.sass @@ -1,4 +1,4 @@ -$headings-class: "-h" +$headings-class: "#{$pref-widget}h#{$post-widget}" $headings-h1-font-size: floor($base-font-size * 2.6) !global $headings-h2-font-size: floor($base-font-size * 2.15) !global @@ -13,4 +13,4 @@ $headings-font-weight: 500 !global $headings-font-weight-small: 500 !global $headings-font-family: inherit !global $headings-color: inherit !global -$headings-injection-opacity: 0.5 !global \ No newline at end of file +$headings-injection-opacity: 0.5 !global diff --git a/sass/widgets/typography/linkhang/_common.sass b/sass/widgets/typography/linkhang/_common.sass index 9f958d0..104d390 100644 --- a/sass/widgets/typography/linkhang/_common.sass +++ b/sass/widgets/typography/linkhang/_common.sass @@ -41,7 +41,7 @@ @if $themeName == default @include typography-theme-link-hang-setter($thm) - &.-#{$themeName}- + &.#{$pref-theme}#{$themeName}#{$post-theme} @include typography-theme-link-hang-setter($thm) @@ -49,9 +49,9 @@ $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal @include typography-size-link-hang-setter($sz) - &._#{$sizeName} + &.#{$pref-size}#{$sizeName}#{$post-size} @include typography-size-link-hang-setter($sz) - + // Change size and theme inside inline elements b, i, small, p, span @@ -60,16 +60,16 @@ $thm: map-get( $base-themes, $themeName ) @if $themeName == default .#{$typo-link-hang-class} - @extend .#{$typo-link-hang-class}.-#{$themeName}- - &.-#{$themeName}- + @extend .#{$typo-link-hang-class}.#{$pref-theme}#{$themeName}#{$post-theme} + &.#{$pref-theme}#{$themeName}#{$post-theme} .#{$typo-link-hang-class} - @extend .#{$typo-link-hang-class}.-#{$themeName}- + @extend .#{$typo-link-hang-class}.#{$pref-theme}#{$themeName}#{$post-theme} @each $sizeName in $sizes $sz: map-get( $base-sizes, $sizeName ) @if $sizeName == normal .#{$typo-link-hang-class} - @extend .#{$typo-link-hang-class}._#{$sizeName} - &._#{$sizeName} + @extend .#{$typo-link-hang-class}.#{$pref-size}#{$sizeName}#{$post-size} + &.#{$pref-size}#{$sizeName}#{$post-size} .#{$typo-link-hang-class} - @extend .#{$typo-link-hang-class}._#{$sizeName} \ No newline at end of file + @extend .#{$typo-link-hang-class}.#{$pref-size}#{$sizeName}#{$post-size} diff --git a/sass/widgets/typography/linkhang/_variables.sass b/sass/widgets/typography/linkhang/_variables.sass index 4ce1552..4f481a9 100644 --- a/sass/widgets/typography/linkhang/_variables.sass +++ b/sass/widgets/typography/linkhang/_variables.sass @@ -1,2 +1,2 @@ -$typo-link-hang-class: "-link-hang" !global -$typo-link-hang-underline-height: 1px !global \ No newline at end of file +$typo-link-hang-class: "#{$pref-widget}link-hang#{$post-widget}" !global +$typo-link-hang-underline-height: 1px !global diff --git a/sass/widgets/wall/common/_variables.sass b/sass/widgets/wall/common/_variables.sass index ca41983..c4644b8 100644 --- a/sass/widgets/wall/common/_variables.sass +++ b/sass/widgets/wall/common/_variables.sass @@ -1,3 +1,3 @@ -$wall-class: "-wall" !global +$wall-class: "#{$pref-widget}wall#{$post-widget}" !global // $wall-video-class: "-wall-video" !global -// $wall-image-class: "-wall-image" !global \ No newline at end of file +// $wall-image-class: "-wall-image" !global diff --git a/todo.md b/todo.md index 86d517c..c257e9c 100644 --- a/todo.md +++ b/todo.md @@ -6,4 +6,4 @@ ### FIXMEs | Filename | line # | fixme |:--------:|:------:|:------: -| docs/js/maxmertkit.js | 338 | Not sure if it needed to calculate with style margin +| docs/js/maxmertkit.js | 314 | Not sure if it needed to calculate with style margin