.\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n margin-bottom: 20px;\n padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n text-decoration: none;\n color: @list-group-link-hover-color;\n background-color: @list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n.list-group-item {\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n background-color: @list-group-disabled-bg;\n color: @list-group-disabled-color;\n cursor: @cursor-disabled;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a&,\n button& {\n color: @color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: @panel-heading-padding;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: @panel-footer-padding;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n .border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-left: @panel-body-padding;\n padding-right: @panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n border-bottom-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n border: 0;\n margin-bottom: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid @panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: @border;\n }\n .badge {\n color: @heading-bg-color;\n background-color: @heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0) }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0,0,0,.5));\n background-clip: padding-box;\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal-background;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0,0,0,.5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-small;\n\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }\n &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }\n &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }\n &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n bottom: 0;\n right: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n",".reset-text() {\n font-family: @font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: @line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-base;\n\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n margin: 0; // reset heading margin\n padding: 8px 14px;\n font-size: @font-size-base;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n}\n.popover > .arrow {\n border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n border-width: @popover-arrow-width;\n content: \"\";\n}\n\n.popover {\n &.top > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n bottom: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-color;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n left: 1px;\n bottom: -@popover-arrow-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-color;\n }\n }\n &.bottom > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n top: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n top: 1px;\n margin-left: -@popover-arrow-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n bottom: -@popover-arrow-width;\n }\n }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n\n > .item {\n display: none;\n position: relative;\n .transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n &:extend(.img-responsive);\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n .transition-transform(~'0.6s ease-in-out');\n .backface-visibility(~'hidden');\n .perspective(1000px);\n\n &.next,\n &.active.right {\n .translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n .translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n .translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: @carousel-control-width;\n .opacity(@carousel-control-opacity);\n font-size: @carousel-control-font-size;\n color: @carousel-control-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n }\n &.right {\n left: auto;\n right: 0;\n #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n outline: 0;\n color: @carousel-control-color;\n text-decoration: none;\n .opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n }\n\n\n .icon-prev {\n &:before {\n content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid @carousel-indicator-border-color;\n border-radius: 10px;\n cursor: pointer;\n\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0,0,0,0); // IE9\n }\n .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: @carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: @carousel-caption-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: (@carousel-control-font-size * 1.5);\n height: (@carousel-control-font-size * 1.5);\n margin-top: (@carousel-control-font-size / -2);\n font-size: (@carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: (@carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: (@carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n","// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n","// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-xs-block {\n @media (max-width: @screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: @screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: @screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-sm-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-md-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline-block !important;\n }\n}\n\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n.visible-lg-block {\n @media (min-width: @screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: @screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: @screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n display: block !important;\n table& { display: table !important; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n"]}
\ No newline at end of file
diff --git a/resource/static/theme-server-status/css/dark.css b/resource/static/theme-server-status/css/dark.css
new file mode 100644
index 0000000000..844bfbb347
--- /dev/null
+++ b/resource/static/theme-server-status/css/dark.css
@@ -0,0 +1,132 @@
+body[theme="dark"] {
+ background: #212e36 url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PGZpbHRlciBpZD0iZGFya3JlYWRlci1pbWFnZS1maWx0ZXIiPjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwLjMzMyAtMC42NjcgLTAuNjY3IDAuMDAwIDEuMDAwIC0wLjY2NyAwLjMzMyAtMC42NjcgMC4wMDAgMS4wMDAgLTAuNjY3IC0wLjY2NyAwLjMzMyAwLjAwMCAxLjAwMCAwLjAwMCAwLjAwMCAwLjAwMCAxLjAwMCAwLjAwMCIgLz48L2ZpbHRlcj48L2RlZnM+PGltYWdlIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWx0ZXI9InVybCgjZGFya3JlYWRlci1pbWFnZS1maWx0ZXIpIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1nQUFBRElCQU1BQUFCZmRyT3RBQUFBTUZCTVZFWHc4UER4OGZIeTh2THo4L1AwOVBUMTlmWDI5dmIzOS9mNCtQajUrZm42K3ZyNysvdjgvUHo5L2YzKy92Ny8vLzlwVXFOWkFBQkxoMGxFUVZSNEFRWEJSMkJTQndNQTRBZFpoS29RTWdoVUpRbGtnSU1FTXJGS1FnWUpEckpEY0pCSmdOYVN4UWdPa3BCSnRVQTJXR1ZQYTZtdC9vNlQxdGFxSjdmV2szdWQyQTg0L2Q4SFRFZnRHaFRUa2s2ZmdRWlpPSkU4bklWclNQNnFQVDY0YkU1R0ZPWEUxcFVRbEMrSFRjZ0pUT0RNNDdjbmxkWWhPOFU3NDRyMTQzSUtMMk1RUTBWZkcwVWVoclZZSTh2eFZSMHBrOS9LMkErVnhnUUd6RVlNanVYTFBuZWVTQUhnaHRSWHBZaU42cHZWcDhmMXdZVE5tWDJnY0ROa0piaXFSRXBpK2IvQksvOXhpcldzcTNucytyYWdGcGNvOVJzMFJkSnJHZXg4MklPT2IzdmFveVhlUlVwb1RUTW91VnB2WE95NzUyWXJza013cjdUbDJmUVdoalVpTzFZa2VyY0JoUHBQdXNzQ2hPOFM2NEs1OUlrR01IWDNodDAzU0I5SURPWHNLWnIva0xGRGxQSys1TUw0eE1zNlpRbmthZmtQSmJsUE1uRmRYTC9nVktYNXhTUnZPUytHOUxhbEI1cjJTekwvNHlwVEU4R2FyZmFjbDJNYXcyUVU2MTFmdXpPUFlCb0FhSGMwYlN2V0RaSkUzUXcvWlYvRlFxaEJUQ0QrTVdsd1lDOUxOS2lweUJDN0doc3luOHZ1Y1dBUWJmZ0FTaW1FK2p4SFJ2TWNoRi93ZmEvcWpCaHJNSVZrYVFJbnNiT0RYK3YyMVVoODVmU0o5V2pPWmtwVGRPVjBidksvZVY1QXB5bWJEWTJJcGNJWEJRak1TcUNCM0VqOG94TzNBbnd0M0c0cWZ3SGxDZUh4a1l1NW9yQjAwL1NNWDNncEFSMWVaMVBVZ1dINkdod2NWMmJYQkJ2RkM5Sm83WkZHVXF5U2JnTkFnNFk1R1NuZWtxeUxxeThsTHp1bXhWTElJMEFlVFNSVHVJRm1kczdjSDA1bG5TaEF3UFdWUnBOM0VDVitBcGxhNDI5RkZMcnZ0YWtia1BGaVhEUEdoejBnYS91YXprWmx2bW9RUXpNaUc3c2RCV0hIQlIwL1BLMWhkVWRsNG14cnFGQkU2M282anFQbVJJdC9GSTRFQVhJeXdFTzEza2NoeGpOOUZuSjZFeWo3U2Rydms1MVR0VnhKeExhb1FUUXRiOUEvY2JSV0gzUHlPckxBbFY4NzUwTk1VVy9EeStSZmJNUDNtMzhZY3Z4aDkyclJ0N1BwOHZSSWtaZ29BVWtuYS9tWGg1UWo5YkZrT2pJL2hEZHVKSDBvQVh5ZTQwS3JyK1M0eFJDYjhvNjJCRGdhaGpZMmh1RDBoSWcvTE1wdXA1TGhuakNlTGtsNkxEK25tM1ZrOEVqSnBnRmxrdUVhOVpzRzlRUFpIdXZLNy9YZTBsUlFqeEJrK1ptN1JyRW1tcGhVSEtkNHB3RGJ3aEdQSkRLdFNaOEZLbHcyMGNrTjgrdFM3MGJoR3p6UFBmOUJ6UnQyWFpuMHVpcDhIdHpxeUFjQ3ZSLzl2b0ZYTW5GRHpXcUQva00xZGtGZm1NVko4a0E2d2pQNXdzTnVMbjJTaENzQXJzR1ZpVEJUNlI0cC9zWXNtYUNLTGRPblVXQ05GellhSzZBRGkxNldLWVkwMWszNXF0aTVqTGRUN0c3OGs5bzkrUnV1c2VQeTVRaU1YY2Q1T01YTFpJRk1lZ0w2eVJDOUUzT2I0TFVVUi9JMzI1SCtTZDZRN1k4NXI3a3Jub3lncllRc1NuZit5OGtmYXcxdlpuK2RvMFpINkVtT3VNU1lKUEFCM1IvbmpJVVRZQnJMQkx0UCtXWUJFMFhqMHZJL3BZdmduVDZrQ0cxNmFkK3hPZ2pLdDIrVStvYVZSZFhYbTVRanJVOGxPRlp6UEltODVBd01uODV1QVRNdjVpVUU5YWV4anBmcFhrYWRIMDdIWjRTdGlJYjBlMm5INXRZL3liY0tBREsxOE8rRkxWV1lLRktjWFJkYTBzQ1FqN0tQTzFTdmlqWHloUmhLTTJuNTNFbWU0UHFhdjdWWFB1dzZBdlBFK2NhMW5EczVQT2J3cTE2MkZJZ3dFRXNyUGhSOVkreWU0aUpzNDlta04zVXRDaUFHbUYrSnZCVlN5T0pkNm93WWdORHFqOU9GOTJyWTNZUi8wc1Y1bGtnQkZ1YTJhQkVVZExqSW0ybnpTQkJvNFByQ3ZqeFpqTVR1MWIxczRsVk51Z1duUzZSZzJnRVY3R3ZYMlRWa3hMWGRwYnB1K3JGRTlxbFF1U0NKOWhtN1pKSFNrOTExVVRtdjBIeGJ0dFc4Q3ZTNmZUcWFtaENmZ1hjWEJ3ZS9zN1diU3hEOXVXSEZkc2NTaUdLM2Q4ZFZQSnNxQnFGREN1SmFEWW4vVnJZSEN3dUl2T3Y2K0lBUm9vZ1hlMXVXdzNsbmVpUy9xMzlxbDcxakhXaGJDRXEvYTE1OVplY1JwK0s5U25kYWpIZ0U0Q01HYzU5TUdKdmdUNkhuWVRLTFpRL1Y0bDdDZFlrQ1ZON3NaRHhkS1VyK1gra21sVFZFM1N2RlBGQnZSZmJkN0dIUjhsN1c0YnBFbGl4Ni9uS296OWl4OFlyd3pjclFaNDVTV1BHT1NSWVUvMDlJMDVkZEg5eTB5dmd3em1ZMC9BY1VPQXVVL2JPeDZwOTdHdndHTDNZc2tHQ3N6b3JOZmFzdStYdm9WNW9xVVBYdHdISjRERmM5SEcwOG5TdUx3alZDeWlmaTFwWHNSN3BMVFowUERFWUxOMlFXeTYwUEhkNjU1aUJSYkpHRThOK3FyYjdNN3ppa0lOKzRsQnBOd2JVQUNGbGFnSGFpU2ZZa0N6ZlQ1WmxEVkdXQVNkdnNRRnhQaHl4YzZWWFNNbDJMdUlURkQ4bS9BTmFZUVF5ZGVWVzNkUWtXdzdNM0Z2eVMzU1JTUUNzdVdYdkw5SzRuMm1vdkpJOEY1OGtEZythTlhhMllpR2lySnlXUVRZY01SMGFBbU9NRVhQS1U2aTEzUE1FZXpLRUYyOFVUSGFZbDc3TGtRK0pXR1BvKzZac1ZkWkNnYm04Sm81WEZtUUdpcGo4aFduZkdSUFBaMlh5STMwMG1URnd6MEJ2d2oxdHd0WEp3WTh2TXNyOWRVNVFXVlhuWFhINml1S3N5eUtFbk5BTnRsbGpaejZOSVgrdXgvTnkvVGV5V3ZNdTlpRFdycjVNM2p2Y1JjUmFkbmFPUjUvdWc3RDdZdlRiMi9Cd29VcExtd09sdlVDV1B1MDdLVFNIOHQvbGQvcklEcU1sWUd6bEYvN0ZLdk1CMFYvREdNMlBMZEZwYnJGKzVJZnd5eEFieXlTNitmMjVUeW5obzdhZnM4UWVMditRamY1OUJUT1lHOUdSb1h3ellvcDhPNmM4MkxBVnFEYjBURHlBSVo4T25EUGE4S2lSU1VwbUJPa1JMbldmc1FGN3hYL1l6WS9rUDlVZE5lbXNmTG9FWnJtSW5vU01LSHFIcE52cFFXdk5YWU5uakpNK3VCTGhIeTB2RExHVlNiampCeUoyTjFTcVQ3YjZjOHdQSTBMcEdYbVpLcEsrYkEzMEhNT1ZSaVJHQStpdkoycmJJaUFaTCtaZUZRT2I1YzM4UnVYMk54MmV6bitiOFZwM3FYeUFYT2NIVWt4MzhlSk95ZUQxY3VuY2VZSE1JZ1N3RWV2clR1Z0xlRisvRHRVZzhxa010NHdFMGJxWXMyQ3kyVnZpY212SzB1OTA0K0ZDRThXUFBlS1JEVTFyNmVvbzhLZkZoOWd4aUk3V0hKQ2dmM3R2aHRCTVJxL1V2a1FZb0xWaXBIS3Q0QnNGbGQ3NUl1VFNXRWE4R0l0bkhrU1VlS2s0NEZTcmFQcEFZYnpRSzU2TVNvNkgxNDlyNTNxNVhTU2U0aTUrb081ejFMMVFhL0tLdlYxbHYvcHgvYVNMaDc5SmRXbXdRYWt5WmkrbzBkVlhnQ0p1Q0NacU45WTJ4SkNPelBwaHhTUzk5by9pcDNnb3U3eDdJQm5MUWxuNk5JZU4vOGhPMUhOQzZaYnJYdDNJQzVieVRRemRsM0dXSkc5TWZsSkduWkcreHA5ZFFiOUc0bW9JZ21qemRIMXdVTThkQXFWaW5zelRqNm1adnJSeXRaeml6dHNJVFFvMEk5R0lrNjB6eVhEUlRvNkpFdTcwek01RldIZ0RRaHZUaEFmcFl0cStXeDArNXNzS0dEL25RUjZFTFYyZStRUTkvS050ZkxRdVY4blNNaDZoOTQ5SW9CWUh0L2F0ZUl4dTZyZlptUWdQTjdCbnBTL1doTmQzalpLV28wYitHYU5FRkp0VzE2bWdSUXQzaXhOSmIxaHdPUkc3SmV5RDNGWVcrSmdraXZ4MHBqUk12UUZCeHhsRnFTMlREbUprU2RCMHBZOTYwYlVXajQ2dDB6OGlIU2FXMHhKL0RTNXAvQ1lkWFRIczR2QVcxSDRrcm4vQ3RzVVVaRG9rM3F6MUtaWXVza1JHMmpRU2lEekN0TGpUYmczNE9POUFEME5FajhScGxIVDVTeGg3S0I2bm42bldod1dPMjFjdDkrMjM2a1Bra2hmSys1YUI1NGIrQ1hhTFdZSVZSblJDcU1MUUFqa0xlc3QyUy9PUGFpTitxTkttdUlrOU13UDlKUlBRbHUya0lmVzE4QXRmZjhsSExXOHdIaXcxUXFyMEpDRHIzbERWOEdoRzNLZnpNYlYyOU45Yk9RYkJnenNtcHZudVZaSHhlc082M21aelhGcEV0NXliMzdCQTBacWJEK0xlNmVDMVNNTlByU2c5U1BRdkxOMmMwN2hRVDZoZkhUTXk2dVgvb1p1ZlI1YnBJeDJZR0l6YXRoQlQ5TlgzT05RMmsxWWJiY2UyUTUwenZJTk1uWlJjVmg0ZDI1NnovbmF6aHJvRGRselphUHFWckpPYkFHRm5YRU1Yd09ybVJEbS9HcEQ5M0p6NFpiUFJLRFA0aU5vVWFUV1RuSWNQODdhWGRJSVNIU2ZBbGJpa3Zka04vVXFCZVRtaGtaUjZWR0VCckxHblBLNzdOWlFiMXZBMVVZT1VzdFBEOWhMR25Jckw2QzlOa1dUQk82eXlseHM2MHdKVEJzZjdlemxzckNKSTBkVlVSRkcrbzEwYzhtYStMTWpUVnJURW1yNmtMeElzenRVL2s5RDdabTJZZWR6bmVJbFpzK0JhdzFoWTcwUCt1N3N4MHp2MkV6ZTJTY0xzbWNlNFB1WWNqdWNkQUVESGhSWEYzUVhCZFU4SUo0NVdjZ1UrcnhzNjE1d0s2bkJpR0d3U0wwU1UxWWNvMklNN0xmelo4R3BMNXRKVytYaG1uSEpOUHhRZlZnNUt3d0ZPVis5UndnVysvbWJQZEFpaW51aU90TkJzVXpEbVlwdjFhZ2V1dS9XZDhjMEw5NHd4Nk92cHZJYy9TRldvM05GWEdHcjVOaFVhSGRpVkJYcEJPNm9tWHk4NE5kLzVuTnJwRnNYWnhOeVNzTnlnVzNnOXBzZ2VEeTdzN056NWE0ZFh0Vnl4SzNVYkF6S1pLd3pEQTBicFBuZWxqZVZOTHd3eE54V1JZUk05THZaTHdmWE9kdjQ1TmFZNXlEMG5TZmUzaW9jN2crTVhFMVRqMDdLZ3RqdHpOV3IrUmRkSTVFeHBtSjA4R0V5NjBPUU5JOFlBdHZxcW9tcnJHUERJcWo2d3I0WTBSRHE5cjQrN0VlUm9IS0JqeUxSdlhha0xwYkJrM0JxZE5GZ2N3UEJraE1rMXFIb25MNEJoUm1MSk5CYi9SNTUzUEM2VjlEeThKWm5DeE16YUgyRlVRcFpMeFdWRXJtMURwNzFQTWx0b3pEcEpHdzYwbnRJVVc5SjZ4dWxnbWJtb3hYSDEwck5IZVpBUVN2elYwUlFib3pjT1hodzBKU1ZlNnhTeTNqM3FwaS9hMmtsNUdDZFVyMTJBZjVZY2grWmJXdmVVeVAvUGlzdnl4NUtlaWtaQm9iMDZGYnhZeHJYZ2dSWXpPUmpzUlJlbStaYU1xNTk4RkRWNzBsTFpwdFQ3VWQ3aXlBOVRocWhmaUFEZXE0aG0wcm9UVHE3QWJnK2Y0SXk5YXlGTDQ1UUk2eCs3SGlzc29mb1ZtVmhoQ2VpcVNidmQ2bXlEdmtQdVMxS1pDcFFVVFRsU2E4di9EaXdleVk4S1RMZjNYWmVMV1FvZkZLMjhORWk3QnROY3lsTWpKUU40T1lrSUVoc3NGRVBXV1dJWTNzVGxnMVhDYjQ3MXdhK01qaVhHbXpDUFJKUGFHMjQvWDUva2JsV3RyMFFFamNzZzZ6YXVwRGxhSjh4V1JCUHBLYmtpMjE5a1JzL0hnRlJHM2NwQWJhNkJqbCtQOUJyUGpwb3ZkYWd1a2JlbW9mbUJqRTRtaFJNRFhwNkVNKzJmSXRiVUJzNWdtdTlOekpGMXJ3Yk1wQy81VmNxSEgzK2x0YTRwb3Y1dXNEV1NTUzhzL3JiTzdtWi9TRURuTS94V2RuY3I4MkVXZmI0bEN4VldEa2JsVFBZSWIwRk0xaWxqRHR5MkNKOG1JcnZ4Z3N6S3hMVmlEYXg4SEpnM2dQSnRpdjZ2YVg3anlaNCt4a2dNaTkxVk9nY3pqcnFTZzUrQjRmcVRDNjdSZTVTTTZGdjFMeWhWaXZJb3RYdzBtNDFCdGNScTdjZUZoTGk4ZEc2cGlxOVo4cXU5SXdtZ0htZWI2bUhLRW9ROE9iVzVzalMxLzE1Y0VEdU9BaHA4Y3d0Y094TFRrTTVldGxZUUZ4alpSa0NoYXlicWN3RXRteGVXNzhZN0xLOXRNMVYvR2NkeThkOW5LV1Zwa1VGeXBqOWY4bUpYcWF4Qm45ZHl6Yjhvd3YyczdzNHo1UEVsMjVFUUFNcW9zT0lLb2JiMWN1N3NKOGsrWHlBejdDclQ2UmVKT2U2VDZFTVZzcjZSYlJXRDZ0Z3hCWlBpSHZQRVFBWjYvSEdKNEV5Y2VkUnh2VlFkSGNhWHdlemJlSURNNHlxdHZ2RnEwbTY5eU1ROUxpcDlpTmN2NUQ5M2ZUZlpHNW1nREk2OGRYcGNxQkZQMnpZWE1SeVFiWWRlSmRnRFJBZ2tMTlpQVDhRcGNtY0hYdFhXME1acXBhU1BaSVlqc3dTaitOd0lyTnFGczNuaFZiT3h3eGhmUEU5TEFVbkh1K0g4dzJvejZVVEpQdEJaMXNneWQ0Q3BaamcvbkcrY0hialVkVkxpQzlZWkV5cHNxelRnMjNuM0NRZk1QQUhlYnZTWWsyR3MwSk41Y0YxZVcya2R4VU5tajVqT1ZIZjR5Rm0wa2FEcmZSTHpSOVpOai9hTUExK2w2Uzl5VmxYMmJyeUhDZkJMalhOZVgxUDBtUFZoM0xJc2ZGMjZybDk3bDdIYlArK1NiNWtvRHdtMVRuR0FqTmtzSU5oMWVtQUZnOVFFRnU5UjhPMFBKRjczUjdaK0dQQy84QVQzenJHNVg4WnBmemJQTi9qZS9uenIvMzh6eEtreG9FVmVWQ2ZMRnl4M2hvbjNEcWZGK1hyTDJPWjluVUFmeDI2ek9hTmMzeGVqMzJvdTBzVDhIYVRSSnJOQXJTZ25DZjJtUlJxeG5nWlp6dVJ0UllGc3BNNkJUTnNFalZxV25BUVF1ZFk4L0dEWENLd0kyeEZMbDU5cDkrT25MeGVUT3FpQVhXMkUxbDRoeklQRUVKVFh2MVFxN2p2OEo2dTFYZ1huR21kRzN3K2NOdy9aaUxDUXJNa2hQRWdTWE5QWExya1U2TmVFdlFIcTNsTDJPam5wMk5pTC93OUF6Y3YvSEpITVdYODZleWlUNEo0dzFFd0hCZ1lseE1JWE1XSHROKzdaMjVDb0ttK1crUW1DbmtHenQzMU5xdzlJRGVMc1B5dTBjRHFjYnM1aFJ4NzZhOU5pQ2hxZ0lMZEx0MEdnQm1VRUpDSTBvd0lqcHZySnNiSmtJZExMekZ2em1uM3FtbnZTTHAxSS80M25OaGNHMExRVUZ2b3JmZEZod2tEeU9qRTlxRXR2Q0dZaU9Sbis3T0pFRHVuOHhwSVNvNVByRXF5Mi9ZWWhnZ1VhZUN0YlJVNWhmeThVRHJyOU00dkxNRHlaRUVUTStDWURaYkZMdE5hdTRoUCt4ZUI5RUZsbzZsVjRmY1h0N0ZERUhqNUFmWERGVVpGMnRJcGRZYnRtMnpWa2VVcFVHV3hBZzVXZEVHWXI1aEdEZElhMzJxZzJIMGx1VzZRVEZFNHd5Wjk2dlBXSm9EVWpZblpiL05lMWZTbzZwbEtKVVlMM1gzN2pGWXdFWllndzB5UGRPRDhZNHVOenEyUGl1MmZSNGtYSldjclZTMlZUbEYvN3NYQTBrSXl4ajc3UmtXYjAvWFp3S0FkY1EyWDNQQ3pWTFRROUtlSjUrY01CYjMyU3ZPeXhhRDdkZnFxRStGNUh0OWxBdnZiQWswbndLRUI0clhJbEFsYlcxWU1XWlB2anR3aC9TWmI3Sjczc1U4VlR5N1BBTGwzZ2Q3U3ZibFdtN280QjNZeUpFWlVwNXhMMVowUld2T2wrMkdwZWVtNWo3MHVTZG8zenNvK3RUcjZkN1RaWEJWREdhNW04aUc5ckF2a01DWXJpS2xOSnlHK0JFWnJnSms2SGF2ZG41c1JxdUFobzNpeW9USXZQYmRFa1J5bThZUlpCMkFtMktNeEZaK3V0VVpWbkJQeG43Ri9oM3BwUjExa2RkSkt2b0M0UmVzSEdqa1oyQ2pySm9xZHlIZW5hejRXcnZwZzdLcTVKZlpNUWJEZlI1OUlNK3BSVHdaclNEbFpzeVUwTFpQNk80ZnNCYkxZaFVJT3EwOS9TSVhzYUxkYnE5OERITVM1d00yRVY2WXJpWlBLa05Vcjh0em4xU3h4TVYyc3QzTzExdXlIYVZQcEJEemw4TXR4eUVZSHpOWHZsU1lNSFFtUWJtRzUyNmNNUE9Dc21mYmlDczNwU3hhbFBEK3lEZ0NLK0VjRmttRmpZODd6c3RtZjJ5Z29ObmdBbS9DVVVCS0h4TkZlOUJ6R1dHMGcvV2pBWmEyV2p0R3gzZHJnN1UwWFdPVUxveGl4OHVNUEFaOFVsbDljeE5DNDlBQmJQWTJvSVhDN2pVOWZpNE9nTURkSkVzQlRzWFprRUJtZFVabU5Ta0RIOXMrWjdGRFR0eHc1d0lVek9PamFtMk44djhqZnRTcmY3Qy9WWitZRWJCWEEra2M5VklYem01ZE9ITGhwalJFWUgrMXRIcXJ6dFdQUDlrRFZFMEdxL2NuU0s2blBpek1QR1BOSEpEVGx5R0JRaWJLMXZEak45bTZ1Sm1lajBxb3RpNUNJVGdsOUNwMTJ4S3BDVFNlSlJWNjY5Z3AxbkNxWnI2SWRQNHhleWNvTjVvZDkzTVZrSlY4V255WU9MalBseExnbC9QVzAvOW80UGQ2dm9QcWtsQ3g3RHNtYXd3Vnp6VzVDOVVKcHBpZ1BSdFAzMU1GSm4rSHJWNnBXZlRCdjRkVnpuZy9sK05jYm41Y1NzZG80NEl6eTJRZkd2R0VyVFA0MDBZRDQ2eE9XV0JSWEhDZUtRWnNUNFZtTmZVbU40T0tmTlh3TkZ6VGZZSVU3TlU4cTZKWFpzVUFXaHVZVER6d21CTHVKaU9CUzQxcVdKdHYvVk9QaXZWOER0RG1RZmErbDgzS1IyY2FDNnRmZTFHRHc5RkFQdE9vWVdlQ2x4SCs4TkZYRkZ6dEFxWDJ4NXlrY3Fiblgybm1PZzNXY29TVm5oTk9jME1yZkxXV3NIMUN3UElXSSt4amhCWjJEZFdlZy9HRTVDK3lJRG9NSXZQOGRub0N1NXR2WEcrTE9qMEtuS2lLT1BpYXRSMFpvRVRiL2x0by9aYU4wNmJmMDJ2R0IzMklVOXlvVmRXTnptd3o2cS83MFlHaStqcUpGLzJGbWpiUTRWUk5uSS95ZXVreHNZMEZiQTdGbHpwVkF4bW5Cei9VNEhUVVlEbDdyK1EzbXJTRlRlUHF3MHBqTlB0YjZiWjZXTzNzM0JwbmY5QTRDUHJFU0U4WitZTDMxdlQ5cTk3YXliZU42QXNNWCtFaTdGWk4rVlliazRza1pReEVtQ0ptZVpyem0rQXZEY1RpSkdzNjU1ZjBsS3R6VVpheHhVT3ZFamxhOTBDMkpRRkZFZmRYcTNBbDcrcFpTUGM4dk9BSjRiMkVrdnZTVVRWRUZPSGticit0RlRNU2JuczRTMTBQakJ0SFpzS0xTaG54NlBhbzY3TW9PVWdTaCtkM2JVMCsyRUZaeDZNcTQ5bVRzWnMzaXBJeFBhamhPcVpwQyszeDkzc3RJSVkwUGJuMm01ZFZiQldROXB3OWRCVnRqL0tSZTZVWU1MUDF2RlFtbmd4T1RxelV6L3dmQlhubWZlZ2VEVUZYMUI3NU8zeGRPTlN1MytFVGxXWlNwUjlVOUZDWGtPaXA0VXVLMzFZQk04ckRmRHA2ZDJSQmh4bUl0QkU3NlNZUmNlR2dKLzZtSCsxME1kenJ2TjVyUTVmdnpjVEV6VHZjMUlqWlZzNlVxeTV1UDVHajgyNFVQTFFjekdaKzZydlltYlRiWUZ4T3RlZmhvTlBPVHMya2N5ZlhXUlAzbjlFSTlJWmwyN05OL25OckVISjEwV0VMQ2RxSXFPRWR3VWkrVW9rRGJqTTFCaDZZdjBpNGtaTXJoU2FuSHJsK0h6RTlVdjYyT042OGZSUW1LRmh1cU44bm9kNXA1NHN6NHRENmJvNmM4a2xmbWFnM2VoRXVwcHd5NHNQTjloWTNUczlnbUFQSk5OYjEzNWZVYTkzK2VDYnJXMU8ySTdGK1gvU3hRUUJZRzE3VXc4ZnJZcG40TkxTZkNwbFh1WERrbDg3NmkwQ01kemlHNktWRFFlenR4ZlgvUU01b2xvTkxPN2VHQStQYjJ1cXNTN2lvRFpRUnNmb3cwaXhiVExnMm0zcTgrdFBJa2ZDMkxNcVJaaS9UMXZoVDJCdnpBWFREamVNK0J1L0I1YlZzT1FYSHMycTZFL1BzUTdZMVQ1Y0NSNHN1VkRmOHhWMmFVUWYzVGpIS245ZGR0aGUrSEQ1VkdwcmRKaVhNdnRLU0U0eVBFNUExR0FEMmQrYVorNUp2ZmpWdHdPYVVsZFFnWmcxUmJOd0xFZGdVU05xY0xSK3c1d1BESHhiTkJnQXBLRXBYRGZzRWUyVVBPdXFGaWVzK20rWURWbUtsZlBVc2poSFNTTUdSK240eXE5bHY1U3lyc3lkaFdHaXJwM05HSTlkck1vTXBoenNja2ZTRDdXV2hJczB0SkxiQlhUclJIVEVTRXEvUG8xUUo5N3NSNVI1L01SRHlMei9ocjFTUUFuUGlFcU02dUhBRUZuditEem9YWGU5ejZMTFdVRU1PMmNNTE9ZVnFaME9OZ1VmTHQxVktyVHh4U3I1azRIOTh1SEEycDYyb3VjdVVaclZQOFhEREllNmVLMFQ0WFlhbnhiTHgyV20zRlY0dXNmakZuclpaR2lVQnNISCs0RUFSd0VyaUtBMDVxWHJsVHR6ODk2WWVlanFZQW5aMEJwZk5RNGpyU1lsUHUxNTJ0bmt6TmV6UnIwdWp2ZnFFb0xkOUZadXFIOUhKZXBLRm9LVkZCalF6S2FEVGtUeG9BLzZEZGZ3cUFPUmxnU2F0K2FsK0pMMjViWTZzYjlvVzRIV2xYODlSeFlML2g1bllTVzNDNVEyeS84b0p4a1RWN2thZWVhLzY0ZXM1ai95TG9nNmZCRE5uQ2RZdVQ5bnc4OGhsOUN1b2M4M1FCK3RHT2NZMGNUalRhV1BvV2RTaUE0UnJuRTI0Tm83M2ZzaCs5TEdVTWorNDNUYnZ5amw3SEJnVEFtZzJJM0k1OGd6ZVBmOWViRTJ6ZGQrMGx4NWZlajRqRHZlajhod2htc1FLOHgvZThRdDlqQjhLNzQ3YnVDaFNrRU1EMUxpOXJDQmdhalZhMkc5WC9GV0xQNXQrMkVBSG0zZE5ZQU16V3RjVXdHWnNibmRyMk1uMng4M1haZ29md3FvL0hpTllkS2VkV28wSjBnUmN4YnZOSkZGNlg5VFJGVCttMjdjd3ZRZGdnWXZpYTd0bDZYK1RTTWprd0tkeDFlQldLa1NXaE5zM05PTENsWXJoVk0rdWFKN0tON3dXMVZEZ0tnUkRJU1ROczExZ3VOS055bFFxS3hlaWFyb0s0QllnYncvd1oxWURWaVZqajVmdTNLc09kYmlKVkllRXVtR3FuRG1EanYwYWlJTzZQRWw4Qkt6b25WblN0VEJGU1dCRWhzNVhaenY0L0RhSk00QkJMY2xYS2Z1SUxvNSt3WVQ0b1BZUnFtL2xDZGRqQUdIM05WUngvYWh2bnVad09jT3ozemFYWVp5SWlITUVDOUJRODJrZFV5MFhWUWdpUldTYzJCUGdPK2cxQ2NOWW5XdXoya1ltZ29ReGIzUUY2THZPd1RCN2ozQTZLdU80MlpTd0hDZ0UzTWQ4M08zT21qMzVrbWY1aW85NlBjWjRpSlBwUHhBanhsc05yWnhBVmJkL1JXdlhnM21HT2RzTDF1OXhQeS9GOGxGS2VBS3JoSitOLzFpK25LQTlsdFJaUWhpckczK0x3WGJ2eGh4c0hxWVVUNTlOUE5sRGcvS0RSSDJwWSs5aFJ1ckVrSzlQQUUxMEd4TUdQN2IrbDFCeDcwcWxtSThOZy9Yc1NLWlJxRE9hQlc4eWI5VU5SR1o0UlpZZ2hYa3haSmdraWpiQk9ZWmt4S2lFeGVsRGRFbHRuYmxxNWJlNXI2YWJxVE9CVVZHb2l0YzRsMUxEb3JVQ3hMWE1rSlcrZS9LVWNFMENEbXRxZzZRak5JUzM4QkJGQ3lheVlOTTNrellKVWlQQTNEN3ZJYlJmM1hTbTRVSktDN2tGVDhyMzhVc0RkZjhtZ2lBVGQ1NmlaVnBYRzk3UGJsSmJ3b004MHFiWWpXbkhLbVJVVU5PUzZCR3c1aDFEOU0zdWx5MVo2ZWxEOTJYbHJEQlJrWEY0QlhQdmdTK2t5Sk8xd2RtUlRPNTBmVzlkZ0EzallxMm5SK2VmTnlqS1c3ODE3eGRnTEowa2p1bGdUbnZ2Q25hd0c0MXZNQ3dxM3NpTURhL0RBUjRHNTdQcFhSQjY3VkZPbWNOTlBQV2hYSFgwZHh5UDVvdGsvamhDUE5hZ0xKblZSYzJHV1lMekhOZWdHaHVwdW5IbmxVQ2J6Mjg4WnI0M0krRExUR1lvdDdpNGVCMDJmNG10WW53VnplcGZmcjlLRG1ueW9kR21Pb3V3MzlaNWZ1YnlYMnIvdjZkeVVoZis5RSs5T3RPN3dJTWJOMDFPV2JWMFZlNm52RVZlRSswbjZ3bHhXVmtwdXdMNlp1Qm1Wc2xIdnNDNE93SXQ0Z1RvWGFyT05GdTZ0Qmt6VVR6dlJrWWY2RlNJUHJQUkY4ZWlqRndsSHIvNU5Hc2hDalRXRnBpSGVJaG01MTFYZzQxbXIrSkpZbG0wVjNETVVCSjhjVGRZa1dTWDhLRFpGOVpKay94WDQxOFYxSVJTdmhSMUJUdi9SWElRZWl0a1lrTFkzVkJIVzZ5SjdhcWxGQXVBNzh0clRtUjhMYkJKK3VIUzVEZzdBRVg1eVZTWEVLOXJrSWtMLytGVnpLS0F3bjBpZXFZUlZQRGVDTGNzMTRZTU94YVc0MXhjZk1KcGxHRUl6ZFlLcllPV3N6ZUdYZW9lMzl4UWd5Z2ZhM3h6bmRGY3JjS1hmZmJEdzRsaC9QaDVmM1AyelhGbmZhMDA5WE1hSitvVXhkZnB1ZWsyUUVlQmhWYk5hNm4rRmR4QXN4ZjAvUTA3WU9FM1hDN0w5dklXZ200anJoS0F3cGpka2tVc2g4N0d1YnViNjU3blUwZXhKdW1UOWNCUEhlWnArbTNocUZYOWwraDBsaUxwa2JnTDk4OG4vNHFpUTV3YnlTS3E0ZE5DbzNkQ2tKL0pmVkVLR1NvK1cwaHUxUVNkYkx6Qk5mYmxKUGNQeXJvYUxtdjdGZ3lEYXp5Q0hQOEFyS285ZWFJZHpMWklmTE96SWJ6OTlXM1BLZ0d3dk00TS9weXl1YXBpVTg2bG4wbG9PVUpsM3c1VzdPYVFNbDVmYUZ2QTVkTSsyL2l6TUo2ZkFtUlVoMkJLWE5HZlV2a2pGYjNtSGhVOURLYm5iQVdxV0hQNnQ4bXNCT21ybWNiYXh2QzZJdE1JRTRWaXdRZ1E5bG92UUwxQ2xCQUlpdlljU0tSRkZXTHpmQS83WnRvenNkY1ZtcmQ4d2xOYmQ5enpwWjY1NjF4YnpmS1A2M0ljUWVudHpicDc2YWVhTkQrUFgxYU54Q0M3ck5Sb25YMHdhV28xTnVXRGNxUExUZEZ4cFNtc3JEbnUxRm9URStXRG9lUzZFdlZmMGtSUUNMQ25CZnBvZzhTZyttOFByeW5RUU5mc00veVZMT3hYckhUQkk2dzgwaWhYRVJlVG9CUHp1bUl5OG0wOUZBZVd3NTlPWXNvbWZLakQ0K3ZSTWJFenNyd3lubVlMS3JlbnpUNHYvcmovWld4OUsxTTIyZU1wNlA4S3VYczhtb1VHSWpPYUtnVllTdFpMdlhsOGtvZ0VSMmRwUGlTZXlKREZYRjYzYjBQQzNjTVp3VW02WlhxSUVaVFV4MGN3K21RZ1RieWdPTnBFbzVaR2hrNWcxOEtpVTVQVFA4eHRwdFJkWHNEVVpBRFZpTGtlZEh5YmJMcDJLaW1KdXNXd1pnQmJNZnpvNEFYNkhtWGpIQlRnek80em8zM3Rac0pNK0VHZGk3cnp3WnZDL0ZSQzBJckNHR05LSWxuZ281U3V4SjVIb0cvOFhoK3c1ZkJuZmlhYU84M2xxTDc5ZlFhU0tSSWpjWmViNlhYS3U2azd4b1plMEppQXh4L3ByS0E4SEFNK01Ba0R4WTVjNVJTUW16UkN4UEZVNVZyK3F1SmlGNWhJQm1ybHRta1BIMXF0TjhqUjMreUlxQkowVlJscHU0YUI1Y2hlaklsbGs1SHJOOVQzTCtuZU9kSG5xVXFSbTNCQk1SMGVTUnhoN1lwbk9WMXlzUFYzbFZDWkVrenBRVW1taDgyaTBYTTBLS2hyK1BqcUZwWDhLNWFUQm1PMU5MbGViRzV3OU1aWVIxaWdmOTg5cnUrVmwvWm9mYk1vSmFzRXpxbWRtYVdQOW5nRVZvZVl6VE4yWDRDYTd6bCtjcVpGZXNMQnRsa3VJdG05L2VENit4eFV5UlBNMG9MVTJsQUluMDYvWXRrajJNaTBHYWtva0t0Qitzd29QVGJDZTcxSlBINlFyeWNUdTM3ZC9nTUNmS2dXcXpLZmxJb3pwYkZpeld5Z2IrSGpKMFdIK2RIQUJPM0cvTmcxblpsWWtLSWordHZ1cTVBdUZaakFxL2Q0WWRvT250RDlVZXJaREZBRmxqWFVLZWVRelRxeEloVnlhd0tKaHNGcHNEQTRhU09HRUhabWY2bWhld20vcVhRNUdKOFkyUzR6YS9kWTdmL3lUL1hyZzYxc2FjY1lZQzkydXpIa0ltdFgxVjA5WEtjY0lGWUZyU1JvU3RYU1p2VnN6RSsyVkVUazU5ZEJiNUphbzZoenVxN3pRd2NxaU9rcFZtVDc2aDRGT2c3UUR4YURwYWNxWElHQkd4NFlxRC9wNldCV082T2F0TC9NaTZsVjBXck5rR1hnZ1VYWjlTdmM5bHVsZDl4WW0wNkxEd3ZXd21yTk9xMXozMjRmZ2k0d2VOMGgrcm9aZWxnTS9ESTVla2JqUWdNWStQMzdTZGJKajZONHRwVWw3bS9tdEIzQ3JmTnQ4ZTZFY3NGVHpIWVJra3dEMTRzc0NValJNblAwaEdEQS81bFJQVkNwTzduNGF4L1ZZaWliSC9YRVNqdHVaVzkxQlNFS3BMSzNMUUQ4S2JiVXQ1aWhRL0s1aG9BWkVXb2lUNkRDaVljNE9aYnRRaFBaaHhpckMvNVYwQmZzMzFRSDVieDQ0b0xOY21mYkwvbFYvcWE5NkV5QXJuZk5GamlHTlpZKzB2RkFhdzVzblJwMUF6MjBkYzIzaGpJdlZMZk9obmZGKzB4OEZmOEtBUlgrMkIwUjlGSXNGWUVOT01LVVNCeWE1c3ROUDRURWgzT085dFovSVh6YzV2THgwS2dXNS9JTlVURlg3MWJYY1F2L09Nam1lRUZiN25PaVdiVkxUeUZiVFBZM3FBMFRaMHhKRS9SODA2aFliakNhSzdOWUM2bTRTZWRNN2cyU0NTUk53c0xEQ0YwaXJjQTRaTWF0N0lRb3hyYjYwMFpYbnV0cytEWDF1bFhKdStnS05LMkdRcTdNNjVzUUQ5ZVA0UFB2TnVtTkVGTWt6L04wcUpkbXFhQnYxTTFRcExQenE1QXYrLyt2aW4vU1JHaVF4WFdYdXlmdkpOSnp1OTlrbjl4VG5HUGhldTBmV1llTkFQaVRBTllLaFl4M2t4dDdSTGRUMkYzbSs2bGF6QkY0UHpGc3FSdy8yRlNaNVIwcUc4WWxPM0tjWU1yeDRpcWNET2RXdkI4aFZaVjd5Z2hNeHBlcGU3b2w5eXRPbWVUdWJKK3JzK09hL2RWVzU0bjc4VVhPRXIzMXZUY1ROVWtWenlvQmNJTzQrVE1ueDVFTFRNK1F1YjBSQ2ZQOG5PdlpySW9TMkN2dU14MUZjTmo4bTFxYjRzaDVNUUpjc09OUCtRS2cxT3NCbjZBc24xS0dIVWptbEJ4dm9ZN2FxbFJRR3p2WmhBRnRoQkZVemg5dC90VWs4Sm5VK2JVWDRialpIMEFkVHlReEtVS2IzZHFaTXduUkhKejZ0MU1VbExlbFVseVM1TkxlbWlNR1lLY24yb04wTTcycHdRc3gvcXlYMVNlVFBhOEZHMU96dmg5VGJuYS9hWjRTOTNTMjVUTjFXWUwzRHZVK3hkQTVvNEZjbmtMNjZDSDNqYjBzVUN6alBsYkpBWnNZalE2UnRuUk5SeUFhL3JnUVE4OGRSM01wbE9FZHcySCtwRXgwY0crMlNkRDV4dVJ6M1hjQ1ZXZ2VCZVI2K2NqSk5EckdVYjdrbzBwMGcyL21QNkpOQlFCY0dOcHp5WkVpYllJVmNub2ppZXgyN3FmQ2s3S2V5T2RkQkltQkZpZmFYR0tCRjhaZkpvV0s3N1FJd3Vsc3p3clFjalJQTmNmZ3p1SmpudG16WnJEYjl0VXVSQ1ZlYWZzejB6d2xIeC85VGZKRStBNHJqLzNTZkgrd2NRWWlTVXQrNjlhTTA1MTJPalFtaGpUTzlvY2FkalZ0LzZKQTA4WmpqbzFxd0RkV3Z0ZXlCNFYrWUNmUkpnSElnVGUrUitOVGJXK3dmK2lyWHBQb2VjMCswV1hwZ3VpZytUMUxEQUZ4Mkw0RWpTRkhEK0RsOUgzUCtIK3hKcC9xYmdaL21ldXVGd0l5dG1za2crWUhaQ05jSWF5d0JvWit0SHE5S0hKTTdQL1pRQi9wdk9XMHU2MThGb0wvNnJhTlZJVmhtK3JxblNqbGJVVG4wYzFZMk8zRzlrcm1URzRZcTdqV2NyUmlxV2c1VlFiTTVwSEx1TFlNdWhEK1B2TDUwdmhVYnZYVm52ZmVjRGg5Z3hqRTRoUk56eXhNc3lGYjdDZTliTkxsdUtRVTN3QW9KUTZCeEVsckFqRFdDUjZOSWlqTnQxcEVjOFhCSW5icDRkRE9tTmo1eTJ0SnIzKzl6VkVSODdORmxFYndaOUpua0E3eStrRmc4R2h3L1pCaDVwTnF3M080VXpsLzZ0Rk1FVFhYWnROaXRkNjhXcnl5NklmMXRPZjJ1aUpOVzltOXdKdThhamtUcWJTWXdDSmw0VEUySWlvd2hEcTJFT2NqNmpPdTlmamFWaEh5Zk81bjdVallaVVI2bklNSzZvYjN4UWZMU29CaHk1MUNHL3F2RTdncldWN3cwQzgvZHl5UGt6d0tqTGVZM2p3cWxzZWIyM1hFd0tDTlIxT09sZU45QUhEdmp5RU5DV2VTdTZ2aVkreXVrYnZ5MW5Kalk1c0R3c2JLUkJqeG1JZU5rdjN0dnpRa3ZPams1Y0tmWjNFVG5QNDE4bG9iSER1NUt6MEl3V2hkYjFraWMyWSs0T0liRk9zVGlPc3Y1VmtMRWdPQUhzOWlaRkNucGxtcmhWVEFIcHJIMWgyckJJVjFTTVdta09sUm41ZG9HeTNMTTNmU3gvdmlnbVZBdFRIUVp5RGN0M0tHKzJMdDJsVXRYZG1kdUR0YjdLVnFPSzRpbHppaU13bzI3dkR0YmlGQmREQ0ZpUy9yeitaa204WDBGdG5yOVh2TDlXKzZDU3Q1TVp6QWIrZVBOTWJMY2FwU0xGUmcyUUlYRlRYRGpnS2YrRmtPVE9PV1cxeHdZOXRRNkYrOHZocWpLV0JEdjZELzE0L0hETHZRaTBISmQ1eWRkZ21UcGtMWnJIYmlYOUoyU2JPdmZhTHRjNjN5emlrNGo2R1R1djVPTzVOVDdyU3BzRjRnUFlHTTBaVHV4R3BRTmlxUWpyZWtod2N1OUNURFhieVVPVnhGV0p3NVo5cHI3VXZJTUtOcjBTU0x0cFliZ3N1SmQ5TkpDY1B2YmZ1c1U2RlRJaXAwZGdHWFZmOVdvMG9xUEl4amlaa2hjdG96ckpuL1QvMDlvWVkrOXpjY01LdndPdzJoU1RXejhPNi9lVjBlZjZMZHJaWmVuTjlaNGZKU3QxVHdiaVdkbVpLRkN2ZVB6VVZKTUFYOHFJQzNxSXNsck1wZ1JPYU0rWU5SSmxiaHJVQnk4N1M3T0N3RVFhTFRlNVg2Sy9hdVlVUVg3dGlhUGxXMy9IR1JPZUlkekE1Q0xBK21qM1N0aGdHTnpzYUtDRlByTWJLdldscFRvaG1adjY5UTF5YTdTNC9LQm41eTBaZmgvN0QvMzY1UDFTckhpaXdONXd5Y1FQZFJ0M2t1eXpjeXVxdHpwT1pkditrY2JIK1hyMTRZL1hmUGlVSEN2YnNoTGorRzl6cldZaXJ0ZzhEeHNTMnF4UDBYbFo0YnROS2QwUkM4cXpkeXFNM1NZTFVDdzN6Z1Z5bEhmSjZRMHlZZlQ1RXBwb3QzYmhGbXQzQ3puTkhsOFhEM1Q3cGtRYTFwKzZIVkNobzFxeW5nMm1HMGR5SHplTHlsUWNRWEE4cnVuU3lYL0YwWkUrenl5MENia2cwcmNsZldPSzA4Zi9CTklLMVc2bDdCeVNQNFVxNDlWMysza0hvUFFtQ05uU2pCcEc5YnFuZkRLeEgxWnV5V2w4Q3luUk9ORlBUU0x6T1BEZmZGRW8xbHMyRmRPcjVWb2VEbFdQMnozdE56bEMxVjFvTldsa0pBNkUrOGd3QWRDdjg0M3VUcW9KSWc5TVY2RmV1OW9HVjM3WkpBb3NYcHJ2OWtOMXoyRWpkRDRYRUswajZPTkhhOGgzZmVXTk0yYkwyaWFXc2hrZXhsMnhUdG5KeTJ2em5MdDVhZmJDU25DbzFBK1FaVTZRWWgweDVKdUhsTklFdFc4dUYwZG16UUtxWDJYaHY2TlFVUGp6ejIwenJuNGs4K09DL1ZlUmwwNlBrOC9nWmQ0L1lQUEJrRmRkUCtOSkhaeERqYTc4V1lRSkRDS2tqbkdyc2tOcFM5dGRDL0IxRzZrQ3M2WWVtaldmalp5RHQ0V0d4SGhOMjhzYVlnWTM5OWxtUC9SaWxOQUtZUWd6Y2t1NUxIbUtXOG43d3A0eXl4M09ieThkaURWNGFOMTc3ZlM3K2orWWRqdHkzMGgrSGh1NFFlWEFGQ0RkaVdmZWFmbVJOUnZNM3A2K0EyV1FoNFJsaks4SHhvdUNiY2N5L3JieGkxdTlZUk51NEsxZWNXWG5iZnF6VGZZY29YZ2MycjBKZTF5RldjdTRsa3lkcm40MG9xZkp3bjlGQUNNNnhaYWx4cTdFZEJSYVNPV20zWU1aSlQ3UmtNMHp3a3Z2ek1zWmR6RmJEbnBycExuaThTb04wUDgxQ3RQZjQ4YnNKSm5DWjFKWVFJL0wwUzc3RS9RcHVpRUNtcGZ2YmdmY3p2OVowZWdBNnBOMUV2VGd1RDNmOUN1Ty83bVdYVUo1MjBZR3hvR2hMcmYzcXhQRVJSbWpnVElrelVvc3Jib3hWR0oxb0oxWkpIWHFSNEZYb1hsWWhpTVNQV1BFOEpGYTFINVhzVXgyVk8wQStvaXNiSE5SVVpseGo3RjFDQWN1UWg1VTdPemp4NmpOWkdITWVXYjk2dGRIWXVCeXNJSk9hL3A0aEpYVEU1bmlRMFdlelA1WlhSNGMxM1l3NDV1ZEJhb0JKN3BWNVVzVld3ZU5KdG9BVHRXK0ZwL25HeGMyVi85VnZWMXZzeVdUMEF0Z2xycC8xbFJ5ZlQzYW5hUURUVGhvbXlDQmowZStTbGJNUWk0NmQxZlJobVo2M2NMbHNkMUhYVmVuUnVmd2dJRjZFQmUxa21OQXZvN2VRWG91T2Rsc2pKR3daQnN5bTE2NkhyQmRhMGw3b2xHcFZYS1dHU01JRis3STlRZWxXVmExWmNVbFlIOU5wekNNUllEaEV1T1RXZ3d0MFUyNDA0UVJtSXRoNzFMb1dMaGRCbU9FazVZUTZXaVVlYm50WVNXOXZCNHMzSmRWZkg5emNJYkgxSEJrMXhhYlBqaktEeTl4ZVpMVDJkRTd6NVdweEdTRk13VzBZUW95ZHkvS2I5Y2I4dEs5bGlHbnRQeTROSGhCMzlMenNGNjhCVWY3SitlYTRuUTF6aHNZUHEwcDhKVVlpNFhrMmQ2amhTZmtSZ1N5UVFXZmhBODA0V1Y5Zzhsd1ozTmtrbG5YSHFuWlM0REVuYnF6K1JaNjNQQ3UrUkM5QjM3RHgwQ3N4MjZZUlpHelN3MTIzelNsUTdxQU9pQ204ZzV3N2FYUmgwdXRzM29ETjVZQ1gxYnByY0VPcm9VNXNZVkhVdWcyZjhpYlA2NmJhR1RnejlJdDlWM2ViczlzNFdQYTBISkdXOXBCeXBqYnRLK3JRS3RZMytIMmowdy9IanMvY0tkaFhVbWptR0hQUzRtb2xveVZXaHVnb0FkcVg0djFrODFSZzBsc3JqK1lxMVp4M3RWNDFJWjdQYnE2UFU0NFZ0cjNqSDhNMlhKNWw5Mjk4SkhvS0JNRkNiSWNndW5ZaVhSdkJiSy9XUGFuN3BRRGlnMnhQbWJzN3JhbWtnRm1hdEI2UXdxdHMvcWRFZ3hYNkJjck00c0FNRHBDUys2cnVWVzAzRjErejdhN2grdXEyY2lpeDdwMThUNkR1Ukd2NysvYnRvOU8rRVRXLzJ0L3pIWjd4dVBrYmVlVXJpa1pOdW9YaHBTWTlGUjBjSlFha1BKUEVoV0V2aklCanVJck9HNE9hWnNyVGtxTVp5emVYeE9QVkZnNnZmaW9HVEFVRmFtSjFNUGVTMVBwVXNzbmNGcldjU0xLRkY3NFhUWmljWjNWSllkSStEdWZLK0Y1VEs1akxXK2FIdElocDlHVVlmREhqazQzZEJ3RmJOa0c3UHMzL0xCWGVUL1RtRm9WeXZJM045NnZGM09tSWlRZk1SL0xPWmlmL2JXRzFBSWVFcXNzTFpFWkxzTTdiM3duV2J5b2JlWm1PUzZSR004aVR0aWhobXg3dXMxeXdNdnd3STdIK3Nld0VvOWFYNk1rZXVWVjRZRWx3cFlGZFJIMk9wN2VWUjVGa0YrZnRobkVXR1YxVXFvbitGWjUyUE5hSzBLYUVTeFRVVmVzaUVIS2Q3MDhMVHhrYk9rUE1MWm5admlybDJueVVTdE9ueDNwM0pDOEhxamU3MTE4SWR5MjdRbTM3aTF2L2dtOUpVL3pwT3QwekdjcW5sK2NGeXNSSU41aEpybkpGSzcxUVdKQ0RNMmdmVDVQYmRKL3FjYmE4bXlKYUZlQlBPRzluQU5LMlA4ekdOT1lmZytLaHVrRHVVV2FweDRDRExVVW9QK1FVQnlwRU5YMitmSEs3NUt0TExKeDhuWEVVTXZNZ0ZRZFVnczFpdmZCMUpkbkZpS2lNUlpoWUQ0N2EvOEpGRjdpaXBvdmpzSERXV1ZYMlJ5SEN5WFhsZXFtTWVCc2JnQjR0YlhrdlVoYU8zb1BSVzVMRFRZaXNyTmo0QVhUZSs3WnROVG1QMnVETjBxOWFjcVhxMFRST3dneFhJSmI3b2hOR3lrcFl4NE8xZnBnemxxbjk0NGJNWVo5OFI0cmpBMjIvVkhKN0NjNXY4RUhJY2oxSVBJbHMrb2RESjlXOEJoSmNjdXdnd3pKMWZJaHBHMlJYc1Z4Y1RiTExSbEZTVjY0VGp6ang5NXR3YVhPUlFUb2hKWjUwbmxIdVQyVVhDT09ySnhiNkkva1h1eXJEbkIweVNYemFpSy8yNXl1VDhvTnVlTmRVTE51WXN2Z1J3MUpWK2FacC9kWUF5MmdITGlUa0IxZDRNNDErR2FLYWRyL09LSVJGSWF5VzBhZk52Q1RLRmZ1NTNtNC9jS0hlOUxsNm41RHdZcHBkUlF1Vm4xWlRMNnVVSFo1SUprNDlIYW9tYzhmL3Q2R0JFMkxOUDB1MDcxTEo2Z1FyVGR5eUVOZnVFRlEvZEpCNysrOW5BQStjNTVCRjloSU5aZndHaHRTK0ZDaW5wNHBlOGNYOHh0ZjlpUFd5b0p1WDdieXZvbFc1d2dtL0lzdStkaGc5a0xoYVBGVG9HNk4zQVU2bWNvTmpIUkczOTNta1N2aDhiSmJjbU90QTBkRXEvOExlTlNjb05PcjFieGtIaTNYQS9KSnZIUzZadDNBUlNTWC9xbmN0dGNaU0VQZ3VVTEs5YytCL3ZScjVxZzh1THBtS1RwNU1RUVhnMjhvN1FlYldVY003czlGUTRPSWVKaVdHUllnK1RJekxyVnVJVVhZVTlkeVoxeXpJL3VDeVNTUE85cDhLU2RFTnVyNDh6UDBXQU9qWVpJOUMyVWU1bW92SUpJVDdGSE9kNXFTRFdOTmwxZmFtZ25ET2owa2xuNUhmelRoamk5ejgvT3Y1dUd4MHZKR09TZ3VuN3BndkRMV1JVK3JEeU0xSWZ0eU5hKy95SjN1bDNIc2RiRnVWWDd1M2NDWU1RU3dRSDYwcDhKZ0FNSGc3RFNzYS9sUnJMRWg3RHp1UnVXVHAzVEtRR0o5UWozamVOaXFKaVRmcWxSbW02T2dPeU1iZDlaM0ZIZFk2ZGdmZlJ6aTVTSDNBWUV1bElkZkpFdDB0bXBwSmZid2dGaWJIcTNBNmhrK2dYRW1Nd2srMWw4V0d2cG1ldTV2MlV5ZXczKzJJeklsR09KOG00UTVrWUppWFVuUjNYRE5hRkduMUpwbCtUeUZ2RUo0WEg3RHJYdmFjeUdHWUt4QXFmYUJYVSt2K3I1cGRodzlBanExT3Zza21PNlNldFF1OXFPdE1lbUtiZVkzWGlJOGxiMTBhL1VpaDE4eEgzZGlKZFhjNjRDRVk4d2d2Nm5INDduZFE5bnF5cGVxM2tYNVFwcWx3eDZEMHd1YTRkUStsL2JsMkQzUHU5L3BMa3Vab0xubFlHTlgrTWs0SnpaMU9UektuNEtheVFSMk9Lb2pMMmNVZDRTRXN3eEpZb01Hc2tjNWpHNWgvRjdkUVZiNWgrdHc4NEpsK2l6bGR2eFRvM3FQaUJHRnNDU3lVeXRhVjNacFU1dG9EeFVlVFNrTXFkdkY0cUlMZWhZMHNxS25ya2J5OUEvTFhRMkx1U0t4ZjdDcUk1ZSthR250UWlDalBpanUvWnl3LzF4dVJpMWZxY0t1RC9qeGNkK2VqcWIxMndjdW1uVUMvY1FuOUhuNDJ2eWFtUW93STdsWnYxZFVINTQ0V1NUNm1hQlpvcG5adlhmWEhEYzlNOGhQSVJXdnh2ellqTWVkcXdqRWFMS1k2dHR3ZG94NmdEb1NFSjZaa2tUd2xiZGxkZzhEbTNXNVhMcWZjZFo3cWJMeGRzQ09oM2Q4azdwZ05BYUxQVUkyV0VKby9KdUMvYU5RMDVrV2h1NEMwNjlPYW9Sa1E4aE9COEhlQ3VMazIyRzZVdHQ2WnhzRnlnM3Blb3QwMmZNcWViazdoWlpaR3g4VzE4Mi9udkVEanV5cE5WN2ZQY1RhZkdjOFJkVzc4aVZRV1NPK2svV0pEK1ZGc0ZhQ21qb0JhWE9XU25XWnNGZmt3M2t4MXlHcWtUZHduaVlzY0lNeTdtQXVPMDZzc3Z4Zmc1Tm1YS3crM0FXSHFBY1ZJYkkxbHQ5bmJ0dHM1ajZBSDFSdkJmbEphOFIvYS9VdmxrVVp4VWxIVXh1cGNEdVhTTjJxQ3VsMVcvSWRzNEhVcmZaWGxGNXd2UTRJQUxsVWRRNTZxTS96dXVkamZicXN4enBVOFdlT3RyOFVxTlkwcTMvb3AvRnpVcW1UQm9xWmZuQnVmbTNpTFE3NXVlbW4zclZGbFdscFlaWnlyRE14ck9NNXdFWGxkOExWNFc3UDJ0Wnc4VG9pcHRpV3BnT3hTSDhUTHIzMmMvRXV1TktpOXFCVjlyVGFzbTkrTzdSbHczcDNsclFzZXRuM1huaGN4aVdrcm9QNkFuUnVZVXhacDQrNTlBbVpVQks5WS9ORExybXB4Y1hCOGFyeFFrK2VKRUJIdDYxY1hOT044UzlQWlJyY3ZZVFBEWVMxWEF0RDlVMUpQdWxLZDkzdldhU2dXZEJ1cjYrS0p4cEhXUHkyOGRNWERNUjRHYjYvNFprMFhUajYzMXZoMWZRdFZIY3c1YVRMNVhUeUJOcEpDSTNZOGRlMHQ2N2RKamNLbTN5R25HNmRlTWJhMmwwWlh6cFNyQTJtR1NjRjF1Rkc3K2dBWWVGQytiYkw1TnVSVUUrR3hHZGNFalM2TEIwdkJlUTJ6TFY2N2d6Wi9tN2c3bVJrcC9ybGMrclFOVjZXM3JGK0NOUVRUZVJuRFpxMG1yK2EyZFcvVDRMVmtjbi9QWGIybzNYSWZ2cXQ1eG0veGJtQ3NlRjZtNHRIQ2Q4VDBsejA0TkVCMjVNU1RGTmpGejYzR2h1enJrbTBKZG4rS1Z6Y1R0VzhxcjRyVkhLeUZ2Y2t4VkRkSFVlcWlvaEFXVjBIMGRWNlVDM3k5SG5lSnIzdHpsK1h0SWprVDdrdjR0aU1yanY5RmFIZGs4YXJRMXpxOHpkWVAvRzFGWlY4cmpJbWR3WEVnMkhoSkp2TVZpbVhPMEJSWmp3NlZlOXNuUDB6dzhKNW5mWmRhNWVEZ2JvaitYcWRpbkdMcnd6WHk0NW1iN0NWaEJtKzBFOVFkS1NEZDdWWVhac1M2MktOYXk2Z1JQbmUzRlllRVArcm1ZaEovNzhmSmhnTXVUVjFmaEtOd1NBRUp4Z2RzUVJNakpZZGgxRDhaWHBYOFM5WHVocEZiS1hCWFg3aE1hWklFbG5BWm1SOGx1T29hVC9FUnE4NEMvdzJ1RDhqM2lOUW0xVlpVWFp6amhWTERiV2VhOHFLc2JhaUN5QUlQV1Jua2lQbENjSlF0V3cwc0h1Q3ZnYWxzQUswY3puZnBEaVNJcnVSOTA2aDZNcnl0b3ZkV09uMERmNytFSng4TmJyQXJLZ0p0UEVOWmhLc3BXdjdTUnZLd2ZPcE5sVVBQT1FoRFNXUjZLNDBMOXZCWXZmRVU5cHdnbUtpVWNZTUpYaG5yV2IrU0pUZGJOTlhKa1JxeXFDVU10RHBIZmh5YnU5OUI3NEg3Q1dTSVBwaEc5OHg2eG1pam1lRkJyeTBsV0NZaUdBTHozdWFzY0o1RzRvbGtlam40eDkzZmprRjhacnFxTm01R0xEdGl4U2VscVo4RlBOVlNJTWxvYVgyZXRLZS93a3JhTzVqeGV5Yk5udlYzbmFJSllNdlI4U2xqSlRTVWpVdVIzWmhqdDJKaTNFdXpaZEZCSmJmbVZ1S0JURVljb0tkWHhBeGJNaHNmU3Vnc1FsU0FxSzJNRlI2djdIN00yc2NRZkV6OHRtUTlQQ3dXRnIvRi9JYk4rVzlOMlRua3o2Q1ZaOFdyemsyMWZVM0dOWTcrT1ExRVN5K1UxWUFObXE2RUJ5bEhDdEpNUXpUaGZKUi9KSjBVS2NSVjJ1STZiNC82eXVMT2NuNjgwNXUwRU9aclhOT2dYQW52L2d5d3UyY3VkKzhVVEg3cE9DdVN2R2pmVzh5TXBvbUpzTGZyUHhPZFh4emlvYlZQV0xaUUVHZnloaXFCNUg2d1FrU2RpcExFQTduT0JtT0tKSmhDemtsNVpXVkxTUDZPbjVaNmJrbTJWU0ZqTEcvbXd1L3A1MU9rY1IydVUzNjVYK3dlREU3U0paUUhDNzhLVXI0NGp5bnlQdkhKazVDUGJVWjk1alVBWVhlRWxtaUVOZEN5UTJBSUZJbUJkbHp5WU1CMmJLem5uVzRyb1Rpd3d1NnM4OXVNcmVxNENvR254ZXVOa2c2L2g4V0V2bGZ2Wk16RVJZaHhUMmpRS05LQ1k5Nk1MS2RudjlSc25rWTBaTHZsSjRvSy8wZzgxN3NVck9TNWJKL3daQXpjbXNhVHAwY0hhWXROTjRIZWYxa0hNdmhQc2s4VkMrSlZQNUlFNzlmSlk1am42djFWV2g5alo5UEtseGtjSE9tZjNpSW9qaytmMVkzSHg4UXQrdHV5c3cxQUtBbTNYUE8wLzJjTDQrYmtoUm5ZYzlHK25wVDRvTVkxOUVlemNWMXlJL2ZnVkhwZ1JkeE0rMnZqUWc5QW54OExsR3RJT2NGaFVYOWpCTWttWUw4T2twM2N6NGs0ZUk2L2hwZFhkRjJOcTB1L1lqL1dXdVZ2UEZBSCtOcCtyS1VFS2ZURnNXRHFaazloY1BIUVVrazhtemVjRTJFWWJhUy9scy95cTYvTTg0WWFBMm1IMjRtZURMWkwrS3dPK0J0OXFBanZtOTgyd2Yyb09KUEdDU3VVUWwyWXMwdlIrb1RDS3VxSzVTTVlocENiVzlzWGxYc0hWbnhxaEVjV3d1TEdZYjQyZWdJOEpGQmo5TDl6alEyQzJKeG1ZY0dYZVRpNU1qeXdDMTkvclpMZGhBdzR0MDBwM2pQWksrbkFUTDRQUlZiUEJ3ZCs1Tmhld05seitjL0tFUHlrQ0lmdUpvVFgyYVBMNFI2RmJDT2lPclJSK1k4QTd0RDk3dGJJaGswWkdtZHp1STVlTldSbUhuWjMzK2RzbTUrUDhiMURqZkZGYnpIV2oyUm5PZ05aR3BmS21ZRExnb2ZXdkVBSkhTaUxqWkNiMGJGQ09xYlhLdkFhbkc4V1Q1WFArdGZZTEdRbzcxQjl1Wk5EejIzekZ4K0JsdnNFR3J3cVN2bGVsaGRid3EzVXh6MEcwb2cvaVdkWWl3NlJpbk5EdzJ6MXl2c0VlbG1pci9Gd0ZTTmF2MHRXRXluOGxkZ2VCa2hYMGs5WERrVm1OUHl1RUpvbW0vNmZRenhUSE5UajZyRVA0YUlWM1h2UlQrWHdMem5HTEppL3dPalEvdTdDVGE4OTJxQWpEUTRhb3JYK1lTdXZOeU5nVW5SeGd0UDBLWVpiL3MwWS9nYWdSSnVlVE1GWm5jRzFDK1hWQWVtQk1rQzhyZytrLzJhdkMxY2EyK1MrZ2YzYzBURFJNejRmYWxJc3dVTTZubDE0dDFHRXJRMzFpVXRYWTlsR204NWZ5NTVKY2NpTnErV2ZoMGhvVlRBUE1hS05weDZkQThLaXJXN1JVNUozWVN4a1YrRFI5NWE5c1B5YmNPT0k0Qk1XTURXZEVWWkdabzViOUhjRXV6aEpvUE9IZ1g0ZmdUN2k4UkdPbStZQ25sT1ZPZkdHTFRPR3dQeG1sQ1NVNWtYbDN1alhUS25EbVdSUGZkeEJkc0gvNWJNVnhWZXlkcGxRbjEwSW9zZ0h3K0VYd3Awa0ZPeC9PWWV6MTBHS21Mc002T2ZmRFdpYXViRTgra3ptMTY0OTBON2JXbzNNNEpOdjFxSmU4QThtd0w3S0VMMjVzUlhOSk54ZFJtZjFCK3ZaenJHYm5OTXB0VkdtdDJjc2xzdXRoM3dnZVBrVE4xMmExckY0OXJHWnZFRGRHWUVkUkxHaDZjOW1ObzJ4cm9tVXdDb3VxOEhCTXZRUEJpR0lsS0piYnFNVThzY3dxWWx3eTZMTU1vZHkxVElybVBTZGN5WXFQSjZWODI4YURqWjBqOFh1OGJ4Tm9NM0tialhUVzh1aU9kdHJvSkVKc1JZVFhVUWcrV0FqYnlURlpFRFFTbDBiTEd4MWFOelluMkFGTWdOT2NRSWsxRytVSThONnNnMytNdDhyMUg3TjNObFlIK3czWUJNakk4YlpvZ2g2T3pQZlJlS2w5WVE0ZTV5TGo4ZU5zNFBoVExaK01WRGtiVkJjYjBmWXBmNnlNNG1NSUYvWlhoU3ZOUTcwQjl6MFZzTGp4RVBXM0djVDdDNEFRZGdJOTRpckJtempwSklpc0g1N3JzaFp0MmRsUEZaNVNGRmlMcVgzbGR5bTRySzc0anJ4V0tXL1F0MjEvSmNiNjJyN2M1UmRJN2xheFZPazJwejdVZlpibGFmbURUNE96ck1ld1d1U21IRW9UNTcyQjlhN1R2SjFIekJUbmxZQTBRRzJrSEFmcGRZNmJxWXAxU2kvVk54WWZYUGdvaTdibDR4TGJic3p2VlVodERSN1cwZi9TdDY5aEEvUURtMWdnc3VJSE1zWG1SbzVHMllkS3EwSlQ5SXJKMEE1S1lIeVJYNWhQTmRSdU5PdWk1UnBaa2JDVW5GRmdRdHpvYThCSURYZVIvR3lWMHdzY29icGVjVW1qdEFqT21IT2phOHFvZE9oRWJFMTRWcUhzWkVTSDFXVXIzbldUOHV6MzR5eFJRdVJqWU90alEvYzlBcWJ5V21jWS9vY3RNUmt2MGRqVFE0bW54Rkl6U1ZLUWVLL0ZONVM4K2NjRGNvWnJoTURsdDFaZlU4M0VMbkU4TWp1QXVxYnFTT3BoYkdpbzVNTnYzdG8yYzAzbW5FTVdaQzFqWVc2U21NTG9GZWtSb0xqYm9kM1JSZVpQVFBQaWdtVVE5bkJBWElQRFN3OWphYmVXcUFOQ1AxV2VGRnlESFdFaUxLUDQ3U1d1K2xzbWN3UFNJTTlTcDNLbjdFRjJSSWZ3aFhuaFh1VmJiVXh2WmZiOFQvWkJVc25PTUR1NmYxWWlWaXkrWWpjdnFFSXl1dlJYc3ZGVmNqLzVKT0Z4TENUUEZvYlNSUExSejUwSThxUi80enYwbS9ZNi9jTWU0TENTOE1sUVl2UlBSVWJQVHdOOE5RTVgvZXBWSTV2aGR5M0NPWWlDdUZ4KzY0S2laMmkxT25DeWR1NUpBZndveVFwanQ0TGFZaVRsQ1hXRUpMdEtIVTdqWERCLzBiWStOR2JBSDJJOU5Ed25YM0tsS2hwOVlRN3p5eW1oeXU4aWFMQXhzWHEwdWdHdVFZZmN3Tmd2YVo3T0pxaDlyaGVOSHZScS83NjNWWDkxK3JZbkpJWVJsUGRac25mdTlabHFiZ29TSW91YllONWZCWGVwdWFuVkFTNndJUkdUQ1M2Z0gwbDBqc1lUUUVocUQ5Zk9mM0grbjRuTExCSUxsOE1zenlMeUhEZFQ5cXFMN2tIR0ZOQVkvY2Q2c0dTL0Nqc1ZMODh5RWMwMWtXTGYrck0vTnJGcmtxNFJoWFRPbS9rN25aYkhrckpDZmJmeldyT1VBaWw4WmhCRHlLVkZwcjVWZUgrcDFJOVVCdXYwVmptbml5Y3FFaUtHSlNHcE9na3IyRXVWcWdjU250dFFoQXA1Z1Vjd01HaDAvNWhidXVCUjNxd1BXaGZwVGQzTlR5dnpOaDRPcW1RRkwzT1prdEdBcVZLRE12blFSUXRnYTJLOFd6L09zNmNaMjB6am1NamxkdmNqUGU5Q0JyK3l1Q2wxSVkvaTc1dG53T1pTcFRnSHBWTVdMQlY0ZVRJZVBhaG1TVVFnUDFlZ3V0M0JHbTBPWGxVdjNWaE10RElLNXlJRDNQVDdDK0xlYTJ3dUVlOHRuWUxUK3BtK21qZk4wbE4vQU5KUzZIaHJSVWJ3U0tsR1JZdFU5dFRJd3R3K01BbkZybDc1Y0hBcis2bFNLZHhaalUwVFM2cStkeTlPejhkelB0VkNwQ1JzQmpVa0V5NVppZTdNME53WlRMYWxLMHB6UU1ueVBXOS9rbzJ0OHFYS2g0dmlUaS9aYWhjTEo1cTdYZUhOOE1WelBZTWxJQk04c1JDMlBYRGVoYzR0MiswKzcxQTJWM296MVdpek9GZXIxYjNVTDJiTzJQcXB2VVBQcllCSWNnZVdQL3REbVdHSStEYzJ0QWU0NTd0c0FYMTM5QWdkOVdHQlZLRW9TekJ1cWJGcnZXWTRVYzlKQzZpdVZxQ3F6dW5lOEpJelZRN1dNdG10RVd0U2twem1PYnRJdm85MzB2ZGwvWGtWcjVqY0FkMUl0YUVLSVVHWVVxb0JTaWhCbEovUVhmRlcvZDJ6dm9NMjZRaVI5WStxQ280czVjcXZVSFNvSkFCcktpYTlsZmxJWFJYSElxajVRZmJmMWp2aU5KMlExYkFSdDZFOEVVdHUxRHdNRXRjckgrV0xZYXV2cTAveldSOHJDS25GTVQ3TlJQVm9SNTJyeUdPUFFXTWJ0WlgvMjlDazZaK1JCQmJhRUVMUFcwZzJIRXFxOXJIWVkvbmdodUlXZUZqSmhtMWNyM2tuTFVwUWpKdVdPSXpGNGZrd1dLdmM4Nm5Jb3NzNGZGZGFlcmdKSTdDZWRBdlhsOXljeERZRnJmczJ5V2F2MGxKemJvK3c0UFBPWUNxS3pKRXV0MGtNbFpCb2huZlQ5Q3V3alRZaEZnOVlna0lMaG9GMEJEdEVHckp0YmlMdFJIdFZSSklEMFlOZ3lVUkJ0dTlia3M4dUpJY0hOTVVEb1FoUm56ckRiNFk1WEZhY0dVUUgvK0UwT0dISzB1cGtYSXZGZnN1aDk0UEhCTk9oSUZmbk12aCtpMG8yRFVpR2JJU3QrNmViUGV2NG1URlYxdkpzLzNXalVQVHBsZkRYaWJmM09JdElNVFF4cktHTzVURG1OcW8wNWc0RXh3NU5sOTBXWERXdlJiVmtVVmRMOGQ0NVFtK3RsOG55a0tqV0cxcktIOEh3ZlNwQmZncjdmdVV0YUNKMXoxK3A0ZWNaZkVuOFJibC93eHZhdXB6RlIxdG1JODR4UkpTeEhrR2ducEU0WTNLZmUyNzB2TEJLVG9ENWVzK1dwQVNhNkFMRmo2bDBqbmpWNFhuSzJuQnhlUFNqVmlUdUNuL25rdXNtN09rbko1WjgyZWZKaTBDUy9tL0kzOU9tcnpkWnl5QUJoYmhpZnBBdTFIVkVHZzlxTzJOa2I2Qk9UOHl0OWZQQjJmRUN1cW5wVU5KTGUvaHB4aDVEL084MDJQL0ZCdmJUTEdFSDdJU1BxM1NXVW5YNXBRZGhDKzV1TG8wSCtzODNIbHY5a0lyTjFpK3I0TVZUOW9Cekc3V2M4UGRCMlhKNFVuUzhzRHY3Y1lGK1ROZ1M4VzZ2KzhIQnViNWhsSVBXRWJvUkcydzg4UTg5bkVoT3dYNVYrK09KVkdzbWQwL2U3MlVaS3QyVDJueWk4QjV4R2hIaE10V0ZJT3IrNmp6SHppN2w3SmM2RFBNZFIvOEIwWGZUYUFsREQ5YjF4S2F4bVhQUEJ2amlxd3ZtcjBMNVpjTGVHZzR1SFpnb0NjazVhbExuMWIvVkRBWk51RktCbSt1SGF5VC9HSGFaZThBazhqdzFRK1ZXQzMwMVRKZFB2YWk3QnRNZHFRQ1lSMjdZbUIxWmdlUmUrRFVHOEtmQm9xdURHd1JBV3lERUpRck53eUJCdU55TDBoRGpIQmp6TDI1emc4VlorZnhzWjd2SityOWpXVHJoSld3RDYrOXVieHBQU1hDT2FldSs4OTVvcDV5by8vaWF2MW5QV0tWK2NHNjNhcVAxQ2luNm9QcjV3a0QxM053MFA2NFlYdVczRi9MNjdMYXBnRy82Y0lJQ3NTVEtreFhDdGlEalgrUzZJVlRJQU0zdnZZSEE0ZXR1VHVHSzV3T2ptbUV6T0M2a3EvelE3bm91bkRPaGJiNnR5azRGTnc2d0U1R3h4eTQ2ZVNJSERlbmVyekFzOCtFK0VjNmdJZER4dFdCbDJNNGJXMllqOGhZQVZod3NCblhCbzFtL2d4QisrcnBOZFhnd0w1TzNkdmlyYVhqRWNGM2NLdy9qejByQTNNMXJrekxFcmQrSmxLcHFWdnpVeEFUb3M5VFJuaUx2MVU5V1J2ZklNUFUvaFJjUlVzazJRdkxmVlMzZzBaNXNhWlVJUytQN0RNUVE1Q3RnT0pBRzlYUE42NWxPcTNlMXJKUDJOOVE2R3NHWTVYSFg2K1dTQitaU1p3a3NCSUJWQVRnUE81Q3ZCZWJWUjVyTmphSnJpUXJYVmtod2Q1NlVkQnhvc0gyd0lsak1JTXdYS1BuV2ptQzBmTUtmY0pUQTlidG1pdjdQRVNXVWYxQXZYOUEzRzRMcC8xUVk0dXRYQnlsUEs0N1hHdU9WcEh4b3NBWWZWMXRIYUJyVzB6SlpNNXlHSW9ZV1BOUFhaS2FncG5Za1FsUC9wYWtQa2NxSGFaLzUxR2krLzBOaHU3RmY3cG9XdWlUSkxiVithaU16UnlKdHlsN21YOTJmWThCakRySXpTSFM2RlNnaUo2UC82dnRrRzNtVnZXdlBiWmJXSjVxeUtLL1dBV0w1UEE2V3lKZE9MZnJ6K1c5cG9VZzl1ZFp0eFBZdXVRSWRWOUs2QWV4dkxibDkydThCTVpiL1JrWjVGN2VHWjBya0hhd28vMUcremZsek9nZzJ5VDlYQVE4bkJVVGNrQUNRczBOcmZPc0czN210a1dKZi9wVW9lNGpCOGZwakhmeTdCbStsaDE1ZUllVDdaSEVSOGhNeWhQNWxxYTgzeVhpak5LWTdKc3VqSFY0UzJMNXc5Uk5VNG8vS3BYenNtZndzMFBvc09YYjhvckx1ZXgrUGJpeDFiSUNxS0QvMWluWGUxNUlqVXRNSDFTek91Mkg3dHZvdk56M2s5WUIxbm01YTNlWHllcTYvNlJidTRiOHcrVFJmUC9DZ2RucXdDSzdvd21jM3lYTTlGR1ZaWDFnRGJlTEd4UWRGaXFpUFJxazFaOTB2TFl1TUUwaUpsamJsYlB0MFVRTmdGS2FPT0dpQTZuRUc2dWF3ZTY3eTBaMVNYUjJsNVFUWWhvTm5aRnljWlg4L2l4Q0s0akpmNWtrK0JOL0ZPVDlVNllZaDF3dFBWSzEvbEx4WGJ2Y3J4WlBEb2J0WWxQVjdWTGpDaitNSldWWXdDbmVXdXREMnlaWnpyczBBNnZpT3REOUx2OTBRc0lIeXZieTlHc0VjYWNGSERpbWJYbzV3VTVMdGJqRStDUnpCWGxVZnorTnJodU9WRjFjZDhjbmp2Rzd6Yk5HclNKYUoxWm5oL3ZQRXpxakRaZUE2bERHcnhPNjZOTEZKbXFrQTVIYytsU05HMmFCcWZza2pFaUZlaEFRVitXNU16YjNOci92UGRSRThjbDVkWkkvdGNlRVE1SCswK2JFc0dpVGFqU2t3QkpZSUFZMzZneTFLMWpKdnJiTksyMWdLMVkwRUZJWWg2djhhSGJyYUxUVEtJTi9udU4xZFVVTGxNdTBhSUc0ZVRtOHRuOGwvWU9NNTRZL25BUWU5dUU2Wlg5THorUTAreFZLQUJQditDNWQ1Y0g4NEpyL2EvemJYdmlqc2UzTjJGQ2lkOGgxbDdNM0gvOC93YVVtd3N2ZUg0Wm5ueVp0cnlVRkpFZEd0UDlDY1NWajc0VzQ3S25ZTEt0dDdITVNleTN4c29FbkhYalpyRWdiOWlVZ01ycUJJVlpzY3ErMTZ4V0RYbEgyMk1hV3Jia2FsQzJRZjZCSHFPV2dqbTFlamxLVVUwWCtkakUxNTBXUEJqWWRKeW5obzJFQkw2bm9UOU41dmVwV29XWWVIeStsUTFjLzJINW9xUXc3ejJWWFJ6MjhCVlhFWUlBbGhGWVJtRUUvL3dSUWNaZ285YVNSeXpsaEhVNVU5cmhYT1RjYmE4ZWFLdXk1M3p1YnpMWFkwcVE0UUo2dzNCamNJalA5VTdXTFAzQzlXenphRXN4V0RyWCttL3lyWFI1UTdiYkNmT2p0RXFTdmRXY3UwZXBBWk9VNjYzOFZab1FUdVV2V0NKZnI2VFg5SC9yMXlUNEpqK1VGQUFBQUFFbEZUa1N1UW1DQyIgLz48L3N2Zz4=') !important;
+ color: rgb(200, 195, 188);;;
+}
+
+body[theme="dark"] .navbar-brand {
+ color: #fff;
+}
+
+body[theme="dark"] .navbar-inverse, .nav.navbar-nav {
+ background-image: linear-gradient(rgb(60, 60, 60) 0px, rgb(34, 34, 34) 100%) !important;
+}
+
+body[theme="dark"] .navbar-inverse .navbar-brand {
+ color: #fff;
+}
+
+body[theme="dark"] .dropdown-menu {
+ list-style-image: initial;
+ background-color: rgb(24, 26, 27);
+ border-color: rgba(140, 130, 115, 0.15);
+ box-shadow: rgba(0, 0, 0, 0.18) 0px 6px 12px;
+}
+
+body[theme="dark"] .dropdown-menu > li > a {
+ color: rgb(200, 195, 188);
+}
+
+body[theme="dark"] .dropdown-menu > li > a:focus,
+body[theme="dark"] .dropdown-menu > li > a:hover {
+ background-color: rgb(37, 40, 42);
+ background-image: linear-gradient(rgb(30, 32, 33) 0px, rgb(37, 40, 42) 100%);
+}
+
+body[theme="dark"] .navbar-inverse .navbar-nav > .open > a:focus,
+body[theme="dark"] .navbar-inverse .navbar-nav > .open > a:hover,
+body[theme="dark"] .navbar-inverse .navbar-nav > .active > a,
+body[theme="dark"] .navbar-inverse .navbar-nav > .open > a {
+ background-image: none !important;
+ box-shadow: none !important;
+ background-color: transparent !important;
+}
+
+body[theme="dark"] .content {
+ background-image: initial;
+ background-color: rgb(24, 26, 27);
+ border-color: rgb(62, 67, 70);
+ box-shadow: rgba(0, 0, 0, 0.1) 0 1px 10px;
+ -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0 1px 10px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.1) 0 1px 10px;
+}
+
+body[theme="dark"] .table {
+ background-image: initial;
+ background-color: rgb(24, 26, 27);
+ border-color: #545b5e;
+}
+
+body[theme="dark"] .table-striped tbody > tr.even > td,
+body[theme="dark"] .table-striped tbody > tr.even > th {
+ background-color: rgb(24, 26, 27);;
+}
+
+body[theme="dark"] .table-striped tbody > tr.odd > td,
+body[theme="dark"] .table-striped tbody > tr.odd > th {
+ background-color: rgb(27, 30, 31);
+}
+
+body[theme="dark"] .progress {
+ background-image: linear-gradient(rgb(35, 38, 40) 0px, rgb(30, 32, 33) 100%);
+}
+
+body[theme="dark"] .progress-bar {
+ color: white;
+}
+
+body[theme="dark"] .progress-bar-success {
+ background-image: linear-gradient(rgb(77, 133, 58) 0px, rgb(54, 126, 54) 100%);
+}
+
+body[theme="dark"] .progress-bar-warning {
+ background-image: linear-gradient(rgb(153, 95, 13) 0px, rgb(181, 113, 15) 100%);
+}
+
+body[theme="dark"] .progress-bar-danger {
+ background-image: linear-gradient(rgb(148, 35, 32) 0px, rgb(161, 38, 35) 100%);
+}
+
+body[theme="dark"] .table > tbody > tr > td,
+body[theme="dark"] .table > tbody > tr > th,
+body[theme="dark"] .table > tfoot > tr > td,
+body[theme="dark"] .table > tfoot > tr > th,
+body[theme="dark"] .table > thead > tr > td,
+body[theme="dark"] .table > thead > tr > th {
+ border-top-color: rgb(58, 62, 65);
+}
+
+body[theme="dark"] .table > thead > tr > th {
+ border-bottom-color: rgb(58, 62, 65);
+}
+
+body[theme="dark"] .table-hover > tbody > tr:not(.expandRow):hover > td {
+ background-color: #222526;
+}
+
+body[theme="dark"] .table-striped > tbody > tr:nth-of-type(2n+1) {
+ background-color: rgb(27, 30, 31);
+}
+
+body[theme="dark"] .node-cell.status .status-icon.online {
+ background-image: linear-gradient(rgb(77, 133, 58) 0px, rgb(54, 126, 54) 100%);
+}
+
+body[theme="dark"] .node-cell.status .status-icon.offline {
+ background-color: grey;
+}
+
+body[theme="dark"] .service-status .danger {
+ background-image: linear-gradient(rgb(148, 35, 32) 0px, rgb(161, 38, 35) 100%);
+}
+
+body[theme="dark"] .service-status .good {
+ background-image: linear-gradient(rgb(77, 133, 58) 0px, rgb(54, 126, 54) 100%);
+}
+
+body[theme="dark"] .service-status .warning {
+ background-image: linear-gradient(rgb(153, 95, 13) 0px, rgb(181, 113, 15) 100%);
+}
+
+body[theme="dark"] .service-day-status-icon {
+ background-color: grey;
+}
\ No newline at end of file
diff --git a/resource/static/theme-server-status/css/light.css b/resource/static/theme-server-status/css/light.css
new file mode 100644
index 0000000000..d872d48ffa
--- /dev/null
+++ b/resource/static/theme-server-status/css/light.css
@@ -0,0 +1,78 @@
+body[theme="light"] {
+ background: #ebebeb url('data:image/png;base64,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') !important;
+}
+
+body[theme="light"] .navbar-brand {
+ color: #fff;
+}
+
+body[theme="light"] .navbar-inverse,
+body[theme="light"] .nav.navbar-nav {
+ background-image: linear-gradient(rgb(60, 60, 60) 0px, rgb(34, 34, 34) 100%) !important;
+}
+
+body[theme="light"] .navbar-inverse .navbar-brand {
+ color: #fff;
+}
+
+body[theme="light"] .content {
+ background: #ffffff;
+ border: 1px #cecece solid;
+ -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, .1);
+ -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, .1);
+ box-shadow: 0 1px 10px rgba(0, 0, 0, .1);
+}
+
+body[theme="light"] .table {
+ background: #ffffff;
+}
+
+body[theme="light"] .table-striped tbody > tr.even > td,
+body[theme="light"] .table-striped tbody > tr.even > th {
+ background-color: #F9F9F9;
+}
+
+body[theme="light"] .table-striped tbody > tr.odd > td,
+body[theme="light"] .table-striped tbody > tr.odd > th {
+ background-color: #FFF;
+}
+
+body[theme="light"] .progress-bar {
+ color: #000;
+}
+
+body[theme="light"] .table-hover > tbody > tr:hover > td {
+ background: #E6E6E6;
+}
+
+body[theme="light"] tr.even.expandRow > :hover {
+ background: #F9F9F9 !important;
+}
+
+body[theme="light"] tr.odd.expandRow > :hover {
+ background: #FFF !important;
+}
+
+body[theme="light"] .node-cell.status .status-icon.online {
+ background-color: rgb(92, 184, 92);
+}
+
+body[theme="light"] .node-cell.status .status-icon.offline {
+ background-color: grey;
+}
+
+body[theme="light"] .service-status .danger {
+ background-image: linear-gradient(rgb(217, 83, 79) 0px, rgb(204, 65, 62) 100%);
+}
+
+body[theme="light"] .service-status .good {
+ background-image: linear-gradient(rgb(92, 184, 92) 0px, rgb(68, 157, 68) 100%);
+}
+
+body[theme="light"] .service-status .warning {
+ background-image: linear-gradient(rgb(240, 173, 78) 0px, rgb(238, 162, 54) 100%);
+}
+
+body[theme="light"] .service-day-status-icon {
+ background-color: #ebebeb;
+}
\ No newline at end of file
diff --git a/resource/static/theme-server-status/css/main.css b/resource/static/theme-server-status/css/main.css
new file mode 100644
index 0000000000..c5f849897f
--- /dev/null
+++ b/resource/static/theme-server-status/css/main.css
@@ -0,0 +1,252 @@
+body {
+ padding-top: 70px !important;
+ padding-bottom: 30px !important;
+}
+
+/* 导航部分 开始*/
+.navbar {
+ min-height: 40px !important;
+}
+
+.navbar-collapse:not([aria-expanded]) .navbar-nav .dropdown-toggle {
+ margin-top: 18px;
+ padding: 0 !important;
+}
+
+.navbar-brand {
+ font-size: 20px;
+ text-align: center;
+}
+
+.node-cell-expand {
+ max-width: 420px;
+ word-break: break-all;
+}
+
+.node-cell-expand-label {
+ margin-right: 5px;
+}
+
+.dropdown .dropdown-toggle {
+ padding-bottom: 10px;
+ padding-top: 10px;
+}
+
+.dropdown {
+ margin-right: 10px;
+}
+
+.navbar-inverse, .nav.navbar-nav {
+ background-image: linear-gradient(rgb(60, 60, 60) 0px, rgb(34, 34, 34) 100%) !important;
+}
+
+.navbar-inverse .navbar-brand {
+ font-size: 20px;
+}
+
+/* 导航部分 结束 */
+
+/* 正文部分 开始 */
+.content {
+ padding: 20px;
+ border-radius: 5px;
+ margin-bottom: 20px;
+}
+
+.table {
+ margin-bottom: 0;
+ border-collapse: collapse;
+ border-radius: 3px;
+}
+
+.table th, .table td {
+ text-align: left;
+}
+
+.progress {
+ margin-bottom: 0;
+}
+
+.progress-bar {
+ text-align: center !important;
+ padding-left: 5px;
+}
+
+
+.expandRow > td {
+ padding: 0 !important;
+ border-top: 0 !important;
+}
+
+.node-cell.center {
+ text-align: center !important;
+}
+
+.node-cell.status .status-container {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 20px
+}
+
+.node-cell.status .status-icon {
+ width: 12px;
+ height: 12px;
+ border-radius: 50%;
+ text-align: center;
+}
+
+.node-cell.os .icon.windows {
+ margin-right: 0 !important;
+ width: 14px;
+}
+
+.node-cell.location .flag {
+ margin-right: 0 !important;
+}
+
+.node-cell.network {
+ min-width: 110px;
+ max-width: 110px;
+}
+
+.node-cell.cpu, .node-cell.ram, .node-cell.hdd {
+ min-width: 45px;
+ max-width: 90px;
+}
+
+/*正文结束*/
+
+/* 服务页 正文*/
+.service-status .delay-today {
+ display: flex;
+ align-items: center;
+ justify-content: left;
+}
+
+.service-status .delay-today > i {
+ width: 12px;
+ height: 12px;
+ border-radius: 50%;
+ text-align: center;
+ background-color: grey;
+ margin-right: 0.3em;
+}
+
+.service-day-status-icon {
+ display: inline-block;
+ width: 18px;
+ height: 18px;
+ margin-right: 4px;
+ border-radius: 3px;
+ box-shadow: inset 0 2px 2px rgba(0, 0, 0, .1);
+}
+
+.service-status {
+
+}
+
+/* 服务页 正文结束 */
+
+@media only screen and (max-width: 1200px) {
+ .node-cell.os,
+ .node-cell.location,
+ .node-cell.uptime {
+ display: none;
+ visibility: hidden;
+ }
+}
+
+@media only screen and (max-width: 720px) {
+ body {
+ font-size: 10px !important;
+ }
+
+ .content {
+ padding: 0;
+ }
+
+ .node-cell.os,
+ .node-cell.location,
+ .node-cell.uptime {
+ display: none;
+ visibility: hidden;
+ }
+
+ .service-day-status-icon {
+ width: 8px;
+ height: 8px;
+ margin-right: 2px;
+ border-radius: 3px;
+ }
+}
+
+@media only screen and (max-width: 620px) {
+ body {
+ font-size: 10px !important;
+ }
+
+ .content {
+ padding: 0;
+ }
+
+ .node-cell.type,
+ .node-cell.location,
+ .node-cell.uptime,
+ .node-cell.traffic {
+ display: none;
+ visibility: hidden;
+ }
+
+ .service-day-status-icon {
+ }
+}
+
+@media only screen and (max-width: 533px) {
+ body {
+ font-size: 10px !important;
+ }
+
+ .content {
+ padding: 0;
+ }
+
+ .node-cell.os,
+ .node-cell.location,
+ .node-cell.uptime,
+ .node-cell.traffic {
+ display: none;
+ visibility: hidden;
+ }
+
+ .service-day-status-icon {
+ }
+}
+
+@media only screen and (max-width: 450px) {
+ body {
+ font-size: 10px !important;
+ }
+
+ .content {
+ padding: 0;
+ }
+
+ .node-cell.type,
+ .node-cell.location,
+ .node-cell.uptime,
+ .node-cell.traffic {
+ display: none;
+ visibility: hidden;
+ }
+
+ .node-cell.cpu,
+ .node-cell.ram,
+ .node-cell.hdd {
+ min-width: 25px;
+ max-width: 50px;
+ }
+
+ .service-day-status-icon {
+ }
+}
diff --git a/resource/static/theme-server-status/js/bootstrap.min.js b/resource/static/theme-server-status/js/bootstrap.min.js
new file mode 100644
index 0000000000..9bcd2fccae
--- /dev/null
+++ b/resource/static/theme-server-status/js/bootstrap.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v3.3.7 (http://getbootstrap.com)
+ * Copyright 2011-2016 Twitter, Inc.
+ * Licensed under the MIT license
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j
document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth ',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m