From 02083af4a9e6ec7b7ff801111f7c4d38ff2ff019 Mon Sep 17 00:00:00 2001 From: "Timothy J. Warren" Date: Wed, 24 Sep 2014 17:57:25 -0400 Subject: [PATCH] Add Ink Framework --- public/css/font-awesome.css | 2036 ++ public/css/font-awesome.min.css | 1 + public/css/ink-flex.css | 9690 ++++++ public/css/ink-flex.min.css | 1 + public/css/ink-ie.css | 896 + public/css/ink-ie.min.css | 1 + public/css/ink-legacy.css | 4685 +++ public/css/ink-legacy.min.css | 1 + public/css/ink.css | 8518 ++++++ public/css/ink.min.css | 1 + public/css/quick-start.css | 52 + public/fonts/FontAwesome.otf | Bin 0 -> 61896 bytes public/fonts/Roboto/roboto-black-webfont.eot | Bin 0 -> 61336 bytes public/fonts/Roboto/roboto-black-webfont.ttf | Bin 0 -> 139052 bytes public/fonts/Roboto/roboto-black-webfont.woff | Bin 0 -> 72416 bytes .../Roboto/roboto-blackitalic-webfont.eot | Bin 0 -> 65364 bytes .../Roboto/roboto-blackitalic-webfont.ttf | Bin 0 -> 146172 bytes .../Roboto/roboto-blackitalic-webfont.woff | Bin 0 -> 76720 bytes public/fonts/Roboto/roboto-bold-webfont.eot | Bin 0 -> 57867 bytes public/fonts/Roboto/roboto-bold-webfont.ttf | Bin 0 -> 133184 bytes public/fonts/Roboto/roboto-bold-webfont.woff | Bin 0 -> 68560 bytes .../Roboto/roboto-bolditalic-webfont.eot | Bin 0 -> 63792 bytes .../Roboto/roboto-bolditalic-webfont.ttf | Bin 0 -> 141216 bytes .../Roboto/roboto-bolditalic-webfont.woff | Bin 0 -> 75208 bytes public/fonts/Roboto/roboto-italic-webfont.eot | Bin 0 -> 64020 bytes public/fonts/Roboto/roboto-italic-webfont.ttf | Bin 0 -> 145064 bytes .../fonts/Roboto/roboto-italic-webfont.woff | Bin 0 -> 75172 bytes public/fonts/Roboto/roboto-light-webfont.eot | Bin 0 -> 59940 bytes public/fonts/Roboto/roboto-light-webfont.ttf | Bin 0 -> 136772 bytes public/fonts/Roboto/roboto-light-webfont.woff | Bin 0 -> 70524 bytes .../Roboto/roboto-lightitalic-webfont.eot | Bin 0 -> 62991 bytes .../Roboto/roboto-lightitalic-webfont.ttf | Bin 0 -> 142436 bytes .../Roboto/roboto-lightitalic-webfont.woff | Bin 0 -> 74052 bytes public/fonts/Roboto/roboto-medium-webfont.eot | Bin 0 -> 59442 bytes public/fonts/Roboto/roboto-medium-webfont.ttf | Bin 0 -> 134672 bytes .../fonts/Roboto/roboto-medium-webfont.woff | Bin 0 -> 69940 bytes .../Roboto/roboto-mediumitalic-webfont.eot | Bin 0 -> 64497 bytes .../Roboto/roboto-mediumitalic-webfont.ttf | Bin 0 -> 144384 bytes .../Roboto/roboto-mediumitalic-webfont.woff | Bin 0 -> 75364 bytes .../fonts/Roboto/roboto-regular-webfont.eot | Bin 0 -> 62462 bytes .../fonts/Roboto/roboto-regular-webfont.ttf | Bin 0 -> 141952 bytes .../fonts/Roboto/roboto-regular-webfont.woff | Bin 0 -> 73760 bytes public/fonts/Roboto/roboto-thin-webfont.eot | Bin 0 -> 65274 bytes public/fonts/Roboto/roboto-thin-webfont.ttf | Bin 0 -> 145352 bytes public/fonts/Roboto/roboto-thin-webfont.woff | Bin 0 -> 75056 bytes .../Roboto/roboto-thinitalic-webfont.eot | Bin 0 -> 67602 bytes .../Roboto/roboto-thinitalic-webfont.ttf | Bin 0 -> 147648 bytes .../Roboto/roboto-thinitalic-webfont.woff | Bin 0 -> 78028 bytes .../robotocondensed-bold-webfont.eot | Bin 0 -> 59933 bytes .../robotocondensed-bold-webfont.ttf | Bin 0 -> 138308 bytes .../robotocondensed-bold-webfont.woff | Bin 0 -> 70720 bytes .../robotocondensed-bolditalic-webfont.eot | Bin 0 -> 62950 bytes .../robotocondensed-bolditalic-webfont.ttf | Bin 0 -> 141788 bytes .../robotocondensed-bolditalic-webfont.woff | Bin 0 -> 73920 bytes .../robotocondensed-italic-webfont.eot | Bin 0 -> 62316 bytes .../robotocondensed-italic-webfont.ttf | Bin 0 -> 140892 bytes .../robotocondensed-italic-webfont.woff | Bin 0 -> 73080 bytes .../robotocondensed-light-webfont.eot | Bin 0 -> 58850 bytes .../robotocondensed-light-webfont.ttf | Bin 0 -> 137952 bytes .../robotocondensed-light-webfont.woff | Bin 0 -> 69132 bytes .../robotocondensed-lightitalic-webfont.eot | Bin 0 -> 62028 bytes .../robotocondensed-lightitalic-webfont.ttf | Bin 0 -> 141608 bytes .../robotocondensed-lightitalic-webfont.woff | Bin 0 -> 72940 bytes .../robotocondensed-regular-webfont.eot | Bin 0 -> 58866 bytes .../robotocondensed-regular-webfont.ttf | Bin 0 -> 136872 bytes .../robotocondensed-regular-webfont.woff | Bin 0 -> 69056 bytes .../Roboto_slab/robotoslab-bold-webfont.eot | Bin 0 -> 84019 bytes .../Roboto_slab/robotoslab-bold-webfont.ttf | Bin 0 -> 189292 bytes .../Roboto_slab/robotoslab-bold-webfont.woff | Bin 0 -> 97412 bytes .../Roboto_slab/robotoslab-light-webfont.eot | Bin 0 -> 83685 bytes .../Roboto_slab/robotoslab-light-webfont.ttf | Bin 0 -> 196168 bytes .../Roboto_slab/robotoslab-light-webfont.woff | Bin 0 -> 98168 bytes .../robotoslab-regular-webfont.eot | Bin 0 -> 81709 bytes .../robotoslab-regular-webfont.ttf | Bin 0 -> 186116 bytes .../robotoslab-regular-webfont.woff | Bin 0 -> 95080 bytes .../Roboto_slab/robotoslab-thin-webfont.eot | Bin 0 -> 81813 bytes .../Roboto_slab/robotoslab-thin-webfont.ttf | Bin 0 -> 198212 bytes .../Roboto_slab/robotoslab-thin-webfont.woff | Bin 0 -> 96472 bytes public/fonts/fontawesome-webfont.eot | Bin 0 -> 37405 bytes public/fonts/fontawesome-webfont.ttf | Bin 0 -> 79076 bytes public/fonts/fontawesome-webfont.woff | Bin 0 -> 43572 bytes public/img/SAPOlogo.png | Bin 0 -> 2089 bytes public/img/favicon.ico | Bin 0 -> 318 bytes public/img/home_bkg.png | Bin 0 -> 331 bytes public/img/home_logo_IE.jpg | Bin 0 -> 58547 bytes public/img/icon_Sprite.png | Bin 0 -> 5201 bytes public/img/ink-favicon.ico | Bin 0 -> 1150 bytes public/img/logo_home.png | Bin 0 -> 46351 bytes public/img/splash.1024x748.png | Bin 0 -> 8024 bytes public/img/splash.320x460.png | Bin 0 -> 2651 bytes public/img/splash.768x1004.png | Bin 0 -> 6321 bytes public/img/touch-icon.114.png | Bin 0 -> 551 bytes public/img/touch-icon.16.png | Bin 0 -> 183 bytes public/img/touch-icon.256.png | Bin 0 -> 2338 bytes public/img/touch-icon.57.png | Bin 0 -> 394 bytes public/img/touch-icon.72.png | Bin 0 -> 506 bytes public/js/autoload.js | 154 + public/js/holder.js | 440 + public/js/html5shiv-printshiv.js | 11 + public/js/html5shiv.js | 8 + public/js/ink-all.js | 25166 ++++++++++++++++ public/js/ink-all.min.js | 10 + public/js/ink-all.min.map | 1 + public/js/ink-ui.js | 12105 ++++++++ public/js/ink-ui.min.js | 6 + public/js/ink-ui.min.map | 1 + public/js/ink.animate.js | 167 + public/js/ink.carousel.js | 479 + public/js/ink.close.js | 50 + public/js/ink.common.js | 1064 + public/js/ink.datepicker.js | 1453 + public/js/ink.draggable.js | 447 + public/js/ink.drawer.js | 218 + public/js/ink.dropdown.js | 199 + public/js/ink.droppable.js | 289 + public/js/ink.formvalidator-2.js | 921 + public/js/ink.formvalidator.js | 650 + public/js/ink.imagequery.js | 186 + public/js/ink.js | 13060 ++++++++ public/js/ink.lazyload.js | 196 + public/js/ink.min.js | 5 + public/js/ink.min.map | 1 + public/js/ink.modal.js | 537 + public/js/ink.pagination.js | 528 + public/js/ink.progressbar.js | 81 + public/js/ink.smoothscroller.js | 199 + public/js/ink.sortablelist.js | 261 + public/js/ink.spy.js | 151 + public/js/ink.stacker.js | 252 + public/js/ink.sticky.js | 276 + public/js/ink.swipe.js | 208 + public/js/ink.table.js | 695 + public/js/ink.tabs.js | 435 + public/js/ink.tagfield.js | 273 + public/js/ink.toggle.js | 259 + public/js/ink.tooltip.js | 457 + public/js/ink.treeview.js | 244 + public/js/ink.upload.js | 906 + public/js/modernizr-all.js | 1393 + public/js/modernizr.js | 4 + public/js/prettify.js | 29 + 141 files changed, 90357 insertions(+) create mode 100644 public/css/font-awesome.css create mode 100644 public/css/font-awesome.min.css create mode 100644 public/css/ink-flex.css create mode 100644 public/css/ink-flex.min.css create mode 100644 public/css/ink-ie.css create mode 100644 public/css/ink-ie.min.css create mode 100644 public/css/ink-legacy.css create mode 100644 public/css/ink-legacy.min.css create mode 100644 public/css/ink.css create mode 100644 public/css/ink.min.css create mode 100644 public/css/quick-start.css create mode 100644 public/fonts/FontAwesome.otf create mode 100644 public/fonts/Roboto/roboto-black-webfont.eot create mode 100644 public/fonts/Roboto/roboto-black-webfont.ttf create mode 100644 public/fonts/Roboto/roboto-black-webfont.woff create mode 100644 public/fonts/Roboto/roboto-blackitalic-webfont.eot create mode 100644 public/fonts/Roboto/roboto-blackitalic-webfont.ttf create mode 100644 public/fonts/Roboto/roboto-blackitalic-webfont.woff create mode 100644 public/fonts/Roboto/roboto-bold-webfont.eot create mode 100644 public/fonts/Roboto/roboto-bold-webfont.ttf create mode 100644 public/fonts/Roboto/roboto-bold-webfont.woff create mode 100644 public/fonts/Roboto/roboto-bolditalic-webfont.eot create mode 100644 public/fonts/Roboto/roboto-bolditalic-webfont.ttf create mode 100644 public/fonts/Roboto/roboto-bolditalic-webfont.woff create mode 100644 public/fonts/Roboto/roboto-italic-webfont.eot create mode 100644 public/fonts/Roboto/roboto-italic-webfont.ttf create mode 100644 public/fonts/Roboto/roboto-italic-webfont.woff create mode 100644 public/fonts/Roboto/roboto-light-webfont.eot create mode 100644 public/fonts/Roboto/roboto-light-webfont.ttf create mode 100644 public/fonts/Roboto/roboto-light-webfont.woff create mode 100644 public/fonts/Roboto/roboto-lightitalic-webfont.eot create mode 100644 public/fonts/Roboto/roboto-lightitalic-webfont.ttf create mode 100644 public/fonts/Roboto/roboto-lightitalic-webfont.woff create mode 100644 public/fonts/Roboto/roboto-medium-webfont.eot create mode 100644 public/fonts/Roboto/roboto-medium-webfont.ttf create mode 100644 public/fonts/Roboto/roboto-medium-webfont.woff create mode 100644 public/fonts/Roboto/roboto-mediumitalic-webfont.eot create mode 100644 public/fonts/Roboto/roboto-mediumitalic-webfont.ttf create mode 100644 public/fonts/Roboto/roboto-mediumitalic-webfont.woff create mode 100644 public/fonts/Roboto/roboto-regular-webfont.eot create mode 100644 public/fonts/Roboto/roboto-regular-webfont.ttf create mode 100644 public/fonts/Roboto/roboto-regular-webfont.woff create mode 100644 public/fonts/Roboto/roboto-thin-webfont.eot create mode 100644 public/fonts/Roboto/roboto-thin-webfont.ttf create mode 100644 public/fonts/Roboto/roboto-thin-webfont.woff create mode 100644 public/fonts/Roboto/roboto-thinitalic-webfont.eot create mode 100644 public/fonts/Roboto/roboto-thinitalic-webfont.ttf create mode 100644 public/fonts/Roboto/roboto-thinitalic-webfont.woff create mode 100644 public/fonts/Roboto_condensed/robotocondensed-bold-webfont.eot create mode 100644 public/fonts/Roboto_condensed/robotocondensed-bold-webfont.ttf create mode 100644 public/fonts/Roboto_condensed/robotocondensed-bold-webfont.woff create mode 100644 public/fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.eot create mode 100644 public/fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.ttf create mode 100644 public/fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.woff create mode 100644 public/fonts/Roboto_condensed/robotocondensed-italic-webfont.eot create mode 100644 public/fonts/Roboto_condensed/robotocondensed-italic-webfont.ttf create mode 100644 public/fonts/Roboto_condensed/robotocondensed-italic-webfont.woff create mode 100644 public/fonts/Roboto_condensed/robotocondensed-light-webfont.eot create mode 100644 public/fonts/Roboto_condensed/robotocondensed-light-webfont.ttf create mode 100644 public/fonts/Roboto_condensed/robotocondensed-light-webfont.woff create mode 100644 public/fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.eot create mode 100644 public/fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.ttf create mode 100644 public/fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.woff create mode 100644 public/fonts/Roboto_condensed/robotocondensed-regular-webfont.eot create mode 100644 public/fonts/Roboto_condensed/robotocondensed-regular-webfont.ttf create mode 100644 public/fonts/Roboto_condensed/robotocondensed-regular-webfont.woff create mode 100644 public/fonts/Roboto_slab/robotoslab-bold-webfont.eot create mode 100644 public/fonts/Roboto_slab/robotoslab-bold-webfont.ttf create mode 100644 public/fonts/Roboto_slab/robotoslab-bold-webfont.woff create mode 100644 public/fonts/Roboto_slab/robotoslab-light-webfont.eot create mode 100644 public/fonts/Roboto_slab/robotoslab-light-webfont.ttf create mode 100644 public/fonts/Roboto_slab/robotoslab-light-webfont.woff create mode 100644 public/fonts/Roboto_slab/robotoslab-regular-webfont.eot create mode 100644 public/fonts/Roboto_slab/robotoslab-regular-webfont.ttf create mode 100644 public/fonts/Roboto_slab/robotoslab-regular-webfont.woff create mode 100644 public/fonts/Roboto_slab/robotoslab-thin-webfont.eot create mode 100644 public/fonts/Roboto_slab/robotoslab-thin-webfont.ttf create mode 100644 public/fonts/Roboto_slab/robotoslab-thin-webfont.woff create mode 100644 public/fonts/fontawesome-webfont.eot create mode 100644 public/fonts/fontawesome-webfont.ttf create mode 100644 public/fonts/fontawesome-webfont.woff create mode 100644 public/img/SAPOlogo.png create mode 100644 public/img/favicon.ico create mode 100644 public/img/home_bkg.png create mode 100644 public/img/home_logo_IE.jpg create mode 100644 public/img/icon_Sprite.png create mode 100644 public/img/ink-favicon.ico create mode 100644 public/img/logo_home.png create mode 100644 public/img/splash.1024x748.png create mode 100644 public/img/splash.320x460.png create mode 100644 public/img/splash.768x1004.png create mode 100644 public/img/touch-icon.114.png create mode 100644 public/img/touch-icon.16.png create mode 100644 public/img/touch-icon.256.png create mode 100644 public/img/touch-icon.57.png create mode 100644 public/img/touch-icon.72.png create mode 100644 public/js/autoload.js create mode 100644 public/js/holder.js create mode 100644 public/js/html5shiv-printshiv.js create mode 100644 public/js/html5shiv.js create mode 100644 public/js/ink-all.js create mode 100644 public/js/ink-all.min.js create mode 100644 public/js/ink-all.min.map create mode 100644 public/js/ink-ui.js create mode 100644 public/js/ink-ui.min.js create mode 100644 public/js/ink-ui.min.map create mode 100644 public/js/ink.animate.js create mode 100644 public/js/ink.carousel.js create mode 100644 public/js/ink.close.js create mode 100644 public/js/ink.common.js create mode 100644 public/js/ink.datepicker.js create mode 100644 public/js/ink.draggable.js create mode 100644 public/js/ink.drawer.js create mode 100644 public/js/ink.dropdown.js create mode 100644 public/js/ink.droppable.js create mode 100644 public/js/ink.formvalidator-2.js create mode 100644 public/js/ink.formvalidator.js create mode 100644 public/js/ink.imagequery.js create mode 100644 public/js/ink.js create mode 100644 public/js/ink.lazyload.js create mode 100644 public/js/ink.min.js create mode 100644 public/js/ink.min.map create mode 100644 public/js/ink.modal.js create mode 100644 public/js/ink.pagination.js create mode 100644 public/js/ink.progressbar.js create mode 100644 public/js/ink.smoothscroller.js create mode 100644 public/js/ink.sortablelist.js create mode 100644 public/js/ink.spy.js create mode 100644 public/js/ink.stacker.js create mode 100644 public/js/ink.sticky.js create mode 100644 public/js/ink.swipe.js create mode 100644 public/js/ink.table.js create mode 100644 public/js/ink.tabs.js create mode 100644 public/js/ink.tagfield.js create mode 100644 public/js/ink.toggle.js create mode 100644 public/js/ink.tooltip.js create mode 100644 public/js/ink.treeview.js create mode 100644 public/js/ink.upload.js create mode 100644 public/js/modernizr-all.js create mode 100644 public/js/modernizr.js create mode 100644 public/js/prettify.js diff --git a/public/css/font-awesome.css b/public/css/font-awesome.css new file mode 100644 index 0000000..35bb02e --- /dev/null +++ b/public/css/font-awesome.css @@ -0,0 +1,2036 @@ +/*! + * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url("../fonts/fontawesome-webfont.eot?v=4.1.0"); + src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg"); + font-weight: normal; + font-style: normal; +} + +.fa { + display: inline-block; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -15%; +} + +.fa-2x { + font-size: 2em; +} + +.fa-3x { + font-size: 3em; +} + +.fa-4x { + font-size: 4em; +} + +.fa-5x { + font-size: 5em; +} + +.fa-fw { + width: 1.28571em; + text-align: center; +} + +.fa-ul { + padding-left: 0; + margin-left: 2.14286em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} + +.fa-li { + position: absolute; + left: -2.14286em; + width: 2.14286em; + top: 0.14286em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714em; +} + +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} + +.pull-right { + float: right; +} + +.pull-left { + float: left; +} + +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} + +.fa-spin { + -webkit-animation: spin 2s infinite linear; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} + +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(359deg); + } +} + +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(359deg); + } +} + +@-o-keyframes spin { + 0% { + -o-transform: rotate(0deg); + } + + 100% { + -o-transform: rotate(359deg); + } +} + +@keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); + transform: rotate(90deg); +} + +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg); +} + +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -moz-transform: rotate(270deg); + -ms-transform: rotate(270deg); + -o-transform: rotate(270deg); + transform: rotate(270deg); +} + +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0); + -webkit-transform: scale(-1, 1); + -moz-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + -o-transform: scale(-1, 1); + transform: scale(-1, 1); +} + +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: scale(1, -1); + -moz-transform: scale(1, -1); + -ms-transform: scale(1, -1); + -o-transform: scale(1, -1); + transform: scale(1, -1); +} + +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} + +.fa-stack-1x, .fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} + +.fa-stack-1x { + line-height: inherit; +} + +.fa-stack-2x { + font-size: 2em; +} + +.fa-inverse { + color: white; +} + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} + +.fa-music:before { + content: "\f001"; +} + +.fa-search:before { + content: "\f002"; +} + +.fa-envelope-o:before { + content: "\f003"; +} + +.fa-heart:before { + content: "\f004"; +} + +.fa-star:before { + content: "\f005"; +} + +.fa-star-o:before { + content: "\f006"; +} + +.fa-user:before { + content: "\f007"; +} + +.fa-film:before { + content: "\f008"; +} + +.fa-th-large:before { + content: "\f009"; +} + +.fa-th:before { + content: "\f00a"; +} + +.fa-th-list:before { + content: "\f00b"; +} + +.fa-check:before { + content: "\f00c"; +} + +.fa-times:before { + content: "\f00d"; +} + +.fa-search-plus:before { + content: "\f00e"; +} + +.fa-search-minus:before { + content: "\f010"; +} + +.fa-power-off:before { + content: "\f011"; +} + +.fa-signal:before { + content: "\f012"; +} + +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} + +.fa-trash-o:before { + content: "\f014"; +} + +.fa-home:before { + content: "\f015"; +} + +.fa-file-o:before { + content: "\f016"; +} + +.fa-clock-o:before { + content: "\f017"; +} + +.fa-road:before { + content: "\f018"; +} + +.fa-download:before { + content: "\f019"; +} + +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} + +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} + +.fa-inbox:before { + content: "\f01c"; +} + +.fa-play-circle-o:before { + content: "\f01d"; +} + +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} + +.fa-refresh:before { + content: "\f021"; +} + +.fa-list-alt:before { + content: "\f022"; +} + +.fa-lock:before { + content: "\f023"; +} + +.fa-flag:before { + content: "\f024"; +} + +.fa-headphones:before { + content: "\f025"; +} + +.fa-volume-off:before { + content: "\f026"; +} + +.fa-volume-down:before { + content: "\f027"; +} + +.fa-volume-up:before { + content: "\f028"; +} + +.fa-qrcode:before { + content: "\f029"; +} + +.fa-barcode:before { + content: "\f02a"; +} + +.fa-tag:before { + content: "\f02b"; +} + +.fa-tags:before { + content: "\f02c"; +} + +.fa-book:before { + content: "\f02d"; +} + +.fa-bookmark:before { + content: "\f02e"; +} + +.fa-print:before { + content: "\f02f"; +} + +.fa-camera:before { + content: "\f030"; +} + +.fa-font:before { + content: "\f031"; +} + +.fa-bold:before { + content: "\f032"; +} + +.fa-italic:before { + content: "\f033"; +} + +.fa-text-height:before { + content: "\f034"; +} + +.fa-text-width:before { + content: "\f035"; +} + +.fa-align-left:before { + content: "\f036"; +} + +.fa-align-center:before { + content: "\f037"; +} + +.fa-align-right:before { + content: "\f038"; +} + +.fa-align-justify:before { + content: "\f039"; +} + +.fa-list:before { + content: "\f03a"; +} + +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} + +.fa-indent:before { + content: "\f03c"; +} + +.fa-video-camera:before { + content: "\f03d"; +} + +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} + +.fa-pencil:before { + content: "\f040"; +} + +.fa-map-marker:before { + content: "\f041"; +} + +.fa-adjust:before { + content: "\f042"; +} + +.fa-tint:before { + content: "\f043"; +} + +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} + +.fa-share-square-o:before { + content: "\f045"; +} + +.fa-check-square-o:before { + content: "\f046"; +} + +.fa-arrows:before { + content: "\f047"; +} + +.fa-step-backward:before { + content: "\f048"; +} + +.fa-fast-backward:before { + content: "\f049"; +} + +.fa-backward:before { + content: "\f04a"; +} + +.fa-play:before { + content: "\f04b"; +} + +.fa-pause:before { + content: "\f04c"; +} + +.fa-stop:before { + content: "\f04d"; +} + +.fa-forward:before { + content: "\f04e"; +} + +.fa-fast-forward:before { + content: "\f050"; +} + +.fa-step-forward:before { + content: "\f051"; +} + +.fa-eject:before { + content: "\f052"; +} + +.fa-chevron-left:before { + content: "\f053"; +} + +.fa-chevron-right:before { + content: "\f054"; +} + +.fa-plus-circle:before { + content: "\f055"; +} + +.fa-minus-circle:before { + content: "\f056"; +} + +.fa-times-circle:before { + content: "\f057"; +} + +.fa-check-circle:before { + content: "\f058"; +} + +.fa-question-circle:before { + content: "\f059"; +} + +.fa-info-circle:before { + content: "\f05a"; +} + +.fa-crosshairs:before { + content: "\f05b"; +} + +.fa-times-circle-o:before { + content: "\f05c"; +} + +.fa-check-circle-o:before { + content: "\f05d"; +} + +.fa-ban:before { + content: "\f05e"; +} + +.fa-arrow-left:before { + content: "\f060"; +} + +.fa-arrow-right:before { + content: "\f061"; +} + +.fa-arrow-up:before { + content: "\f062"; +} + +.fa-arrow-down:before { + content: "\f063"; +} + +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} + +.fa-expand:before { + content: "\f065"; +} + +.fa-compress:before { + content: "\f066"; +} + +.fa-plus:before { + content: "\f067"; +} + +.fa-minus:before { + content: "\f068"; +} + +.fa-asterisk:before { + content: "\f069"; +} + +.fa-exclamation-circle:before { + content: "\f06a"; +} + +.fa-gift:before { + content: "\f06b"; +} + +.fa-leaf:before { + content: "\f06c"; +} + +.fa-fire:before { + content: "\f06d"; +} + +.fa-eye:before { + content: "\f06e"; +} + +.fa-eye-slash:before { + content: "\f070"; +} + +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} + +.fa-plane:before { + content: "\f072"; +} + +.fa-calendar:before { + content: "\f073"; +} + +.fa-random:before { + content: "\f074"; +} + +.fa-comment:before { + content: "\f075"; +} + +.fa-magnet:before { + content: "\f076"; +} + +.fa-chevron-up:before { + content: "\f077"; +} + +.fa-chevron-down:before { + content: "\f078"; +} + +.fa-retweet:before { + content: "\f079"; +} + +.fa-shopping-cart:before { + content: "\f07a"; +} + +.fa-folder:before { + content: "\f07b"; +} + +.fa-folder-open:before { + content: "\f07c"; +} + +.fa-arrows-v:before { + content: "\f07d"; +} + +.fa-arrows-h:before { + content: "\f07e"; +} + +.fa-bar-chart-o:before { + content: "\f080"; +} + +.fa-twitter-square:before { + content: "\f081"; +} + +.fa-facebook-square:before { + content: "\f082"; +} + +.fa-camera-retro:before { + content: "\f083"; +} + +.fa-key:before { + content: "\f084"; +} + +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} + +.fa-comments:before { + content: "\f086"; +} + +.fa-thumbs-o-up:before { + content: "\f087"; +} + +.fa-thumbs-o-down:before { + content: "\f088"; +} + +.fa-star-half:before { + content: "\f089"; +} + +.fa-heart-o:before { + content: "\f08a"; +} + +.fa-sign-out:before { + content: "\f08b"; +} + +.fa-linkedin-square:before { + content: "\f08c"; +} + +.fa-thumb-tack:before { + content: "\f08d"; +} + +.fa-external-link:before { + content: "\f08e"; +} + +.fa-sign-in:before { + content: "\f090"; +} + +.fa-trophy:before { + content: "\f091"; +} + +.fa-github-square:before { + content: "\f092"; +} + +.fa-upload:before { + content: "\f093"; +} + +.fa-lemon-o:before { + content: "\f094"; +} + +.fa-phone:before { + content: "\f095"; +} + +.fa-square-o:before { + content: "\f096"; +} + +.fa-bookmark-o:before { + content: "\f097"; +} + +.fa-phone-square:before { + content: "\f098"; +} + +.fa-twitter:before { + content: "\f099"; +} + +.fa-facebook:before { + content: "\f09a"; +} + +.fa-github:before { + content: "\f09b"; +} + +.fa-unlock:before { + content: "\f09c"; +} + +.fa-credit-card:before { + content: "\f09d"; +} + +.fa-rss:before { + content: "\f09e"; +} + +.fa-hdd-o:before { + content: "\f0a0"; +} + +.fa-bullhorn:before { + content: "\f0a1"; +} + +.fa-bell:before { + content: "\f0f3"; +} + +.fa-certificate:before { + content: "\f0a3"; +} + +.fa-hand-o-right:before { + content: "\f0a4"; +} + +.fa-hand-o-left:before { + content: "\f0a5"; +} + +.fa-hand-o-up:before { + content: "\f0a6"; +} + +.fa-hand-o-down:before { + content: "\f0a7"; +} + +.fa-arrow-circle-left:before { + content: "\f0a8"; +} + +.fa-arrow-circle-right:before { + content: "\f0a9"; +} + +.fa-arrow-circle-up:before { + content: "\f0aa"; +} + +.fa-arrow-circle-down:before { + content: "\f0ab"; +} + +.fa-globe:before { + content: "\f0ac"; +} + +.fa-wrench:before { + content: "\f0ad"; +} + +.fa-tasks:before { + content: "\f0ae"; +} + +.fa-filter:before { + content: "\f0b0"; +} + +.fa-briefcase:before { + content: "\f0b1"; +} + +.fa-arrows-alt:before { + content: "\f0b2"; +} + +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} + +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} + +.fa-cloud:before { + content: "\f0c2"; +} + +.fa-flask:before { + content: "\f0c3"; +} + +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} + +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} + +.fa-paperclip:before { + content: "\f0c6"; +} + +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} + +.fa-square:before { + content: "\f0c8"; +} + +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} + +.fa-list-ul:before { + content: "\f0ca"; +} + +.fa-list-ol:before { + content: "\f0cb"; +} + +.fa-strikethrough:before { + content: "\f0cc"; +} + +.fa-underline:before { + content: "\f0cd"; +} + +.fa-table:before { + content: "\f0ce"; +} + +.fa-magic:before { + content: "\f0d0"; +} + +.fa-truck:before { + content: "\f0d1"; +} + +.fa-pinterest:before { + content: "\f0d2"; +} + +.fa-pinterest-square:before { + content: "\f0d3"; +} + +.fa-google-plus-square:before { + content: "\f0d4"; +} + +.fa-google-plus:before { + content: "\f0d5"; +} + +.fa-money:before { + content: "\f0d6"; +} + +.fa-caret-down:before { + content: "\f0d7"; +} + +.fa-caret-up:before { + content: "\f0d8"; +} + +.fa-caret-left:before { + content: "\f0d9"; +} + +.fa-caret-right:before { + content: "\f0da"; +} + +.fa-columns:before { + content: "\f0db"; +} + +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} + +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} + +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} + +.fa-envelope:before { + content: "\f0e0"; +} + +.fa-linkedin:before { + content: "\f0e1"; +} + +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} + +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} + +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} + +.fa-comment-o:before { + content: "\f0e5"; +} + +.fa-comments-o:before { + content: "\f0e6"; +} + +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} + +.fa-sitemap:before { + content: "\f0e8"; +} + +.fa-umbrella:before { + content: "\f0e9"; +} + +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} + +.fa-lightbulb-o:before { + content: "\f0eb"; +} + +.fa-exchange:before { + content: "\f0ec"; +} + +.fa-cloud-download:before { + content: "\f0ed"; +} + +.fa-cloud-upload:before { + content: "\f0ee"; +} + +.fa-user-md:before { + content: "\f0f0"; +} + +.fa-stethoscope:before { + content: "\f0f1"; +} + +.fa-suitcase:before { + content: "\f0f2"; +} + +.fa-bell-o:before { + content: "\f0a2"; +} + +.fa-coffee:before { + content: "\f0f4"; +} + +.fa-cutlery:before { + content: "\f0f5"; +} + +.fa-file-text-o:before { + content: "\f0f6"; +} + +.fa-building-o:before { + content: "\f0f7"; +} + +.fa-hospital-o:before { + content: "\f0f8"; +} + +.fa-ambulance:before { + content: "\f0f9"; +} + +.fa-medkit:before { + content: "\f0fa"; +} + +.fa-fighter-jet:before { + content: "\f0fb"; +} + +.fa-beer:before { + content: "\f0fc"; +} + +.fa-h-square:before { + content: "\f0fd"; +} + +.fa-plus-square:before { + content: "\f0fe"; +} + +.fa-angle-double-left:before { + content: "\f100"; +} + +.fa-angle-double-right:before { + content: "\f101"; +} + +.fa-angle-double-up:before { + content: "\f102"; +} + +.fa-angle-double-down:before { + content: "\f103"; +} + +.fa-angle-left:before { + content: "\f104"; +} + +.fa-angle-right:before { + content: "\f105"; +} + +.fa-angle-up:before { + content: "\f106"; +} + +.fa-angle-down:before { + content: "\f107"; +} + +.fa-desktop:before { + content: "\f108"; +} + +.fa-laptop:before { + content: "\f109"; +} + +.fa-tablet:before { + content: "\f10a"; +} + +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} + +.fa-circle-o:before { + content: "\f10c"; +} + +.fa-quote-left:before { + content: "\f10d"; +} + +.fa-quote-right:before { + content: "\f10e"; +} + +.fa-spinner:before { + content: "\f110"; +} + +.fa-circle:before { + content: "\f111"; +} + +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} + +.fa-github-alt:before { + content: "\f113"; +} + +.fa-folder-o:before { + content: "\f114"; +} + +.fa-folder-open-o:before { + content: "\f115"; +} + +.fa-smile-o:before { + content: "\f118"; +} + +.fa-frown-o:before { + content: "\f119"; +} + +.fa-meh-o:before { + content: "\f11a"; +} + +.fa-gamepad:before { + content: "\f11b"; +} + +.fa-keyboard-o:before { + content: "\f11c"; +} + +.fa-flag-o:before { + content: "\f11d"; +} + +.fa-flag-checkered:before { + content: "\f11e"; +} + +.fa-terminal:before { + content: "\f120"; +} + +.fa-code:before { + content: "\f121"; +} + +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} + +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} + +.fa-location-arrow:before { + content: "\f124"; +} + +.fa-crop:before { + content: "\f125"; +} + +.fa-code-fork:before { + content: "\f126"; +} + +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} + +.fa-question:before { + content: "\f128"; +} + +.fa-info:before { + content: "\f129"; +} + +.fa-exclamation:before { + content: "\f12a"; +} + +.fa-superscript:before { + content: "\f12b"; +} + +.fa-subscript:before { + content: "\f12c"; +} + +.fa-eraser:before { + content: "\f12d"; +} + +.fa-puzzle-piece:before { + content: "\f12e"; +} + +.fa-microphone:before { + content: "\f130"; +} + +.fa-microphone-slash:before { + content: "\f131"; +} + +.fa-shield:before { + content: "\f132"; +} + +.fa-calendar-o:before { + content: "\f133"; +} + +.fa-fire-extinguisher:before { + content: "\f134"; +} + +.fa-rocket:before { + content: "\f135"; +} + +.fa-maxcdn:before { + content: "\f136"; +} + +.fa-chevron-circle-left:before { + content: "\f137"; +} + +.fa-chevron-circle-right:before { + content: "\f138"; +} + +.fa-chevron-circle-up:before { + content: "\f139"; +} + +.fa-chevron-circle-down:before { + content: "\f13a"; +} + +.fa-html5:before { + content: "\f13b"; +} + +.fa-css3:before { + content: "\f13c"; +} + +.fa-anchor:before { + content: "\f13d"; +} + +.fa-unlock-alt:before { + content: "\f13e"; +} + +.fa-bullseye:before { + content: "\f140"; +} + +.fa-ellipsis-h:before { + content: "\f141"; +} + +.fa-ellipsis-v:before { + content: "\f142"; +} + +.fa-rss-square:before { + content: "\f143"; +} + +.fa-play-circle:before { + content: "\f144"; +} + +.fa-ticket:before { + content: "\f145"; +} + +.fa-minus-square:before { + content: "\f146"; +} + +.fa-minus-square-o:before { + content: "\f147"; +} + +.fa-level-up:before { + content: "\f148"; +} + +.fa-level-down:before { + content: "\f149"; +} + +.fa-check-square:before { + content: "\f14a"; +} + +.fa-pencil-square:before { + content: "\f14b"; +} + +.fa-external-link-square:before { + content: "\f14c"; +} + +.fa-share-square:before { + content: "\f14d"; +} + +.fa-compass:before { + content: "\f14e"; +} + +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} + +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} + +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} + +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} + +.fa-gbp:before { + content: "\f154"; +} + +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} + +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} + +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} + +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} + +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} + +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} + +.fa-file:before { + content: "\f15b"; +} + +.fa-file-text:before { + content: "\f15c"; +} + +.fa-sort-alpha-asc:before { + content: "\f15d"; +} + +.fa-sort-alpha-desc:before { + content: "\f15e"; +} + +.fa-sort-amount-asc:before { + content: "\f160"; +} + +.fa-sort-amount-desc:before { + content: "\f161"; +} + +.fa-sort-numeric-asc:before { + content: "\f162"; +} + +.fa-sort-numeric-desc:before { + content: "\f163"; +} + +.fa-thumbs-up:before { + content: "\f164"; +} + +.fa-thumbs-down:before { + content: "\f165"; +} + +.fa-youtube-square:before { + content: "\f166"; +} + +.fa-youtube:before { + content: "\f167"; +} + +.fa-xing:before { + content: "\f168"; +} + +.fa-xing-square:before { + content: "\f169"; +} + +.fa-youtube-play:before { + content: "\f16a"; +} + +.fa-dropbox:before { + content: "\f16b"; +} + +.fa-stack-overflow:before { + content: "\f16c"; +} + +.fa-instagram:before { + content: "\f16d"; +} + +.fa-flickr:before { + content: "\f16e"; +} + +.fa-adn:before { + content: "\f170"; +} + +.fa-bitbucket:before { + content: "\f171"; +} + +.fa-bitbucket-square:before { + content: "\f172"; +} + +.fa-tumblr:before { + content: "\f173"; +} + +.fa-tumblr-square:before { + content: "\f174"; +} + +.fa-long-arrow-down:before { + content: "\f175"; +} + +.fa-long-arrow-up:before { + content: "\f176"; +} + +.fa-long-arrow-left:before { + content: "\f177"; +} + +.fa-long-arrow-right:before { + content: "\f178"; +} + +.fa-apple:before { + content: "\f179"; +} + +.fa-windows:before { + content: "\f17a"; +} + +.fa-android:before { + content: "\f17b"; +} + +.fa-linux:before { + content: "\f17c"; +} + +.fa-dribbble:before { + content: "\f17d"; +} + +.fa-skype:before { + content: "\f17e"; +} + +.fa-foursquare:before { + content: "\f180"; +} + +.fa-trello:before { + content: "\f181"; +} + +.fa-female:before { + content: "\f182"; +} + +.fa-male:before { + content: "\f183"; +} + +.fa-gittip:before { + content: "\f184"; +} + +.fa-sun-o:before { + content: "\f185"; +} + +.fa-moon-o:before { + content: "\f186"; +} + +.fa-archive:before { + content: "\f187"; +} + +.fa-bug:before { + content: "\f188"; +} + +.fa-vk:before { + content: "\f189"; +} + +.fa-weibo:before { + content: "\f18a"; +} + +.fa-renren:before { + content: "\f18b"; +} + +.fa-pagelines:before { + content: "\f18c"; +} + +.fa-stack-exchange:before { + content: "\f18d"; +} + +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} + +.fa-arrow-circle-o-left:before { + content: "\f190"; +} + +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} + +.fa-dot-circle-o:before { + content: "\f192"; +} + +.fa-wheelchair:before { + content: "\f193"; +} + +.fa-vimeo-square:before { + content: "\f194"; +} + +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} + +.fa-plus-square-o:before { + content: "\f196"; +} + +.fa-space-shuttle:before { + content: "\f197"; +} + +.fa-slack:before { + content: "\f198"; +} + +.fa-envelope-square:before { + content: "\f199"; +} + +.fa-wordpress:before { + content: "\f19a"; +} + +.fa-openid:before { + content: "\f19b"; +} + +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} + +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} + +.fa-yahoo:before { + content: "\f19e"; +} + +.fa-google:before { + content: "\f1a0"; +} + +.fa-reddit:before { + content: "\f1a1"; +} + +.fa-reddit-square:before { + content: "\f1a2"; +} + +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} + +.fa-stumbleupon:before { + content: "\f1a4"; +} + +.fa-delicious:before { + content: "\f1a5"; +} + +.fa-digg:before { + content: "\f1a6"; +} + +.fa-pied-piper-square:before, +.fa-pied-piper:before { + content: "\f1a7"; +} + +.fa-pied-piper-alt:before { + content: "\f1a8"; +} + +.fa-drupal:before { + content: "\f1a9"; +} + +.fa-joomla:before { + content: "\f1aa"; +} + +.fa-language:before { + content: "\f1ab"; +} + +.fa-fax:before { + content: "\f1ac"; +} + +.fa-building:before { + content: "\f1ad"; +} + +.fa-child:before { + content: "\f1ae"; +} + +.fa-paw:before { + content: "\f1b0"; +} + +.fa-spoon:before { + content: "\f1b1"; +} + +.fa-cube:before { + content: "\f1b2"; +} + +.fa-cubes:before { + content: "\f1b3"; +} + +.fa-behance:before { + content: "\f1b4"; +} + +.fa-behance-square:before { + content: "\f1b5"; +} + +.fa-steam:before { + content: "\f1b6"; +} + +.fa-steam-square:before { + content: "\f1b7"; +} + +.fa-recycle:before { + content: "\f1b8"; +} + +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} + +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} + +.fa-tree:before { + content: "\f1bb"; +} + +.fa-spotify:before { + content: "\f1bc"; +} + +.fa-deviantart:before { + content: "\f1bd"; +} + +.fa-soundcloud:before { + content: "\f1be"; +} + +.fa-database:before { + content: "\f1c0"; +} + +.fa-file-pdf-o:before { + content: "\f1c1"; +} + +.fa-file-word-o:before { + content: "\f1c2"; +} + +.fa-file-excel-o:before { + content: "\f1c3"; +} + +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} + +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} + +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} + +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} + +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} + +.fa-file-code-o:before { + content: "\f1c9"; +} + +.fa-vine:before { + content: "\f1ca"; +} + +.fa-codepen:before { + content: "\f1cb"; +} + +.fa-jsfiddle:before { + content: "\f1cc"; +} + +.fa-life-bouy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} + +.fa-circle-o-notch:before { + content: "\f1ce"; +} + +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} + +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} + +.fa-git-square:before { + content: "\f1d2"; +} + +.fa-git:before { + content: "\f1d3"; +} + +.fa-hacker-news:before { + content: "\f1d4"; +} + +.fa-tencent-weibo:before { + content: "\f1d5"; +} + +.fa-qq:before { + content: "\f1d6"; +} + +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} + +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} + +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} + +.fa-history:before { + content: "\f1da"; +} + +.fa-circle-thin:before { + content: "\f1db"; +} + +.fa-header:before { + content: "\f1dc"; +} + +.fa-paragraph:before { + content: "\f1dd"; +} + +.fa-sliders:before { + content: "\f1de"; +} + +.fa-share-alt:before { + content: "\f1e0"; +} + +.fa-share-alt-square:before { + content: "\f1e1"; +} + +.fa-bomb:before { + content: "\f1e2"; +} diff --git a/public/css/font-awesome.min.css b/public/css/font-awesome.min.css new file mode 100644 index 0000000..0b4da0b --- /dev/null +++ b/public/css/font-awesome.min.css @@ -0,0 +1 @@ +@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.1.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0) format("embedded-opentype"),url(../fonts/fontawesome-webfont.woff?v=4.1.0) format("woff"),url(../fonts/fontawesome-webfont.ttf?v=4.1.0) format("truetype"),url(../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-square:before,.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"} \ No newline at end of file diff --git a/public/css/ink-flex.css b/public/css/ink-flex.css new file mode 100644 index 0000000..3e5d7ef --- /dev/null +++ b/public/css/ink-flex.css @@ -0,0 +1,9690 @@ +@charset "UTF-8"; +/** + * Ink + * + * A set of tools for quick development of web interfaces. + * + * @package Ink + * @author Sapo Ink Team + * @license http://opensource.org/licenses/MIT MIT + * @link http://ink.sapo.pt + * @version 3.0.5 + */ +/** + * Ink class names prefix + * Used in all of Inks components root elements + */ +/** + * Grid class names + */ +/** + * Alerts class names + */ +/** + * Badges class names + */ +/** + * Buttons class names + */ +/** + * Forms class names + */ +/** + * Labels class names + */ +/** + * Navigation class names + */ +/** + * Dropdown class names + */ +/** + * Tables class names + */ +/** + * Images class names + */ +/** + * JS UI components classe names + */ +/** + * Sets the grids maximum width + * @var $grid-max-width (pixels|ems|percentage) + */ +/*! + * Sets the grids breakpoint + * + * To add a new break point you'll need to add an element to the list. + * + * Here's an example: ( class-name-prefix, minimum-width, maximum-width, gutter-width, no-media-query). + * + * media: media type. + * class-name-prefix: this is the prefix used in tons of inks classes i.e.: large-100, small-40, etc. + * minimum-width: (pixels|null) the minimum width for the breakpoint + * maximum-width: (pixels|null) the maximum width for the breakpoint + * gutter-width: (ems) the width for the gutters (space between grid columns) for the breakpoint + * no-media-query: (true|false) if you need to support IE8 set this to true on a single breakpoint. + * Since IE8 does not support the @media statement leaving one of the breakpoints + * outside a @media query let's you use the grid in IE8. + * + */ +.grid-order { + flex: 100%; +} + +.show-all { + display: inherit; +} + +.hide-all { + display: none !important; +} + +.no-margin { + margin: 0 !important; +} + +.no-padding { + padding: 0 !important; +} + +.push-left { + float: left; + -webkit-justify-content: flex-start; + -moz-justify-content: flex-start; + justify-content: flex-start; +} + +.push-center { + float: none !important; + margin-left: auto; + margin-right: auto; + -webkit-justify-content: center; + -moz-justify-content: center; + justify-content: center; +} + +.push-right { + float: right; + -webkit-justify-content: flex-end; + -moz-justify-content: flex-end; + justify-content: flex-end; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +.clearfix { + overflow: hidden; + *zoom: 1; + *zoom: 1; +} +.clearfix:after { + content: ""; + display: table; + clear: both; +} + +/*! normalize.css v3.0.0 | MIT License | git.io/normalize */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} +html * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +/** + * Remove default margin. + */ +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ +/** + * Correct `block` display not defined in IE 8/9. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +audio, +canvas, +progress, +video { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9. + * Hide the `template` element in IE, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ +/** + * Remove the gray background color from active links in IE 10. + */ +a { + background: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ +/** + * Address styling not present in IE 8/9, Safari 5, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + */ +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari 5 and Chrome. + */ +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari 5, and Chrome. + */ +h1 { + font-size: 2em; + margin: .67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -.5em; +} + +sub { + bottom: -.25em; +} + +/* Embedded content + ========================================================================== */ +/** + * Remove border when inside `a` element in IE 8/9. + */ +img { + border: 0; +} + +/** + * Correct overflow displayed oddly in IE 9. + */ +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ +/** + * Address margin not present in IE 8/9 and Safari 5. + */ +figure { + margin: 0; +} + +/** + * Address differences between Firefox and other browsers. + */ +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + */ +button, +input, +optgroup, +select, +textarea { + color: inherit; + /* 1 */ + font: inherit; + /* 2 */ + margin: 0; + /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10. + */ +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8+, and Opera + * Correct `select` style inheritance in Firefox. + */ +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ +input[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + /* 2 */ + box-sizing: border-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: .35em .625em .75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + border: 0; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9. + */ +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +.ink-alert.basic, .ink-alert.block { + font-size: .938em; + margin: 1em 0; + position: relative; + overflow: hidden; +} +.ink-alert.basic { + padding: 1em 3em 1em 1em; +} +.ink-alert.basic p { + margin: 0; +} +.ink-alert.basic .ink-close { + top: .55em; + *top: .2em; +} +.ink-alert.block { + font-size: 1em; +} +.ink-alert.block > h4 { + padding: 1em 3em 1em 1em; + font-size: .938em; + line-height: 1.5; + margin: 0; +} +.ink-alert.block p { + margin: 1.5em 1em; +} +.ink-alert.block ul { + list-style: inside; +} +.ink-alert .ink-dismiss { + position: absolute; + line-height: .56em; + font-size: 1.8em; + padding: 5px; + border: none; + background: none; + top: .5em; + *top: .2em; + right: .4em; +} + +.ink-badge { + padding: 0.2em 0.6em; + font-size: 0.813em; + margin-left: .6em; +} + +.ink-button { + -webkit-appearance: menuitem; + padding: 8px 12px; + cursor: pointer; + text-decoration: none; + text-align: center; + display: inline-block; + vertical-align: middle; + white-space: nowrap; + line-height: normal; +} +.ink-button + .ink-button { + margin-left: 5px; +} + +.button-group { + *zoom: 1; +} +.button-group > .ink-button { + float: left; + margin: 5px 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + -ms-border-radius: 0; + -o-border-radius: 0; + border-radius: 0; + border-left: none; +} +.button-group > .ink-button:hover, .button-group > .ink-button:active { + border-left: none; +} +.button-group > .ink-button:first-child { + -webkit-border-radius: 2px 0 0 2px; + -moz-border-radius: 2px 0 0 2px; + -ms-border-radius: 2px 0 0 2px; + -o-border-radius: 2px 0 0 2px; + border-radius: 2px 0 0 2px; + border-left: 1px solid #bfbfbf; +} +.button-group > .ink-button:last-child { + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + -ms-border-radius: 0 2px 2px 0; + -o-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; +} +.button-group:after { + content: ""; + display: table; + clear: both; +} + +.button-toolbar { + *zoom: 1; +} +.button-toolbar > .button-group { + margin-right: 10px; + float: left; +} +.button-toolbar:after { + content: ""; + display: table; + clear: both; +} + +.ink-form fieldset { + border: none; + margin-bottom: 1.5em; + padding: 0; + margin: 0; +} +.ink-form fieldset legend { + font-size: 1.438em; + font-weight: 700; + width: 100%; + border-bottom: 1px solid #ddd; +} +.ink-form fieldset legend + * { + -webkit-margin-top-collapse: separate; + margin: 2em 0; +} +.ink-form p.tip { + font-size: .875em; + color: #909090; + position: relative; + margin: .2em 0 0 .1em; +} +.ink-form p.label { + padding: 0; + margin: 0; + color: #555555; + white-space: normal; +} +.ink-form select, +.ink-form textarea, +.ink-form input[type="text"], +.ink-form input[type="password"], +.ink-form input[type="datetime"], +.ink-form input[type="datetime-local"], +.ink-form input[type="date"], +.ink-form input[type="month"], +.ink-form input[type="time"], +.ink-form input[type="week"], +.ink-form input[type="number"], +.ink-form input[type="email"], +.ink-form input[type="url"], +.ink-form input[type="search"], +.ink-form input[type="tel"], +.ink-form input[type="color"] { + font-family: "Roboto", Arial, Helvetica, sans-serif; + font-weight: 300; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + padding: 8px 6px; + border: 1px solid #c6c6c6; + resize: none; + background: white; + vertical-align: middle; +} +.ink-form select:focus, +.ink-form textarea:focus, +.ink-form input[type="text"]:focus, +.ink-form input[type="password"]:focus, +.ink-form input[type="datetime"]:focus, +.ink-form input[type="datetime-local"]:focus, +.ink-form input[type="date"]:focus, +.ink-form input[type="month"]:focus, +.ink-form input[type="time"]:focus, +.ink-form input[type="week"]:focus, +.ink-form input[type="number"]:focus, +.ink-form input[type="email"]:focus, +.ink-form input[type="url"]:focus, +.ink-form input[type="search"]:focus, +.ink-form input[type="tel"]:focus, +.ink-form input[type="color"]:focus { + outline: none; + border-color: rgba(153, 153, 153, 0.9); + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + outline: 0 none; +} +.ink-form select:disabled, +.ink-form textarea:disabled, +.ink-form input[type="text"]:disabled, +.ink-form input[type="password"]:disabled, +.ink-form input[type="datetime"]:disabled, +.ink-form input[type="datetime-local"]:disabled, +.ink-form input[type="date"]:disabled, +.ink-form input[type="month"]:disabled, +.ink-form input[type="time"]:disabled, +.ink-form input[type="week"]:disabled, +.ink-form input[type="number"]:disabled, +.ink-form input[type="email"]:disabled, +.ink-form input[type="url"]:disabled, +.ink-form input[type="search"]:disabled, +.ink-form input[type="tel"]:disabled, +.ink-form input[type="color"]:disabled { + background: #f2f2f2; + cursor: not-allowed; +} +.ink-form .input-file { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + padding: 6px; + border: 1px solid #c6c6c6; + background: white; + vertical-align: middle; + line-height: 1.2; +} +.ink-form .input-file input[type="file"] { + -webkit-border-radius: 0; + -moz-border-radius: 0; + -ms-border-radius: 0; + -o-border-radius: 0; + border-radius: 0; + border: none; + padding: 0; + background: none; + width: 100%; +} +.ink-form .ink-button { + margin: 0 5px; +} +.ink-form label { + cursor: pointer; +} +.ink-form select { + line-height: 2; + cursor: pointer; +} +.ink-form textarea { + min-height: 5em; +} +.ink-form .control-group { + line-height: 2; + margin-bottom: 1em; + *zoom: 1; +} +.ink-form .control-group:after { + content: ""; + display: table; + clear: both; +} +.ink-form .control-group .control { + position: relative; + *zoom: 1; +} +.ink-form .control-group .control:after { + content: ""; + display: table; + clear: both; +} +.ink-form .control-group .control > li { + margin: 0; + *zoom: 1; +} +.ink-form .control-group .control > li:after { + content: ""; + display: table; + clear: both; +} +.ink-form .control-group .control > input, .ink-form .control-group .control > select, .ink-form .control-group .control > textarea { + width: 100%; +} +.ink-form .control-group .control > input + [class^="icon-"], .ink-form .control-group .control > input + [class*=" icon-"], .ink-form .control-group .control > select + [class^="icon-"], .ink-form .control-group .control > select + [class*=" icon-"], .ink-form .control-group .control > textarea + [class^="icon-"], .ink-form .control-group .control > textarea + [class*=" icon-"] { + display: none; +} +.ink-form .control-group .control.append-button span, .ink-form .control-group .control.append-symbol span, .ink-form .control-group .control.prepend-button span, .ink-form .control-group .control.prepend-symbol span { + width: 100%; + position: relative; +} +.ink-form .control-group .control.append-button span > input, .ink-form .control-group .control.append-button span > select, .ink-form .control-group .control.append-button span > textarea, .ink-form .control-group .control.append-symbol span > input, .ink-form .control-group .control.append-symbol span > select, .ink-form .control-group .control.append-symbol span > textarea, .ink-form .control-group .control.prepend-button span > input, .ink-form .control-group .control.prepend-button span > select, .ink-form .control-group .control.prepend-button span > textarea, .ink-form .control-group .control.prepend-symbol span > input, .ink-form .control-group .control.prepend-symbol span > select, .ink-form .control-group .control.prepend-symbol span > textarea { + width: 100%; +} +.ink-form .control-group .control.append-button > input[type="submit"], .ink-form .control-group .control.append-button > input[type="button"], .ink-form .control-group .control.append-button > input[type="reset"], .ink-form .control-group .control.append-symbol > input[type="submit"], .ink-form .control-group .control.append-symbol > input[type="button"], .ink-form .control-group .control.append-symbol > input[type="reset"], .ink-form .control-group .control.prepend-button > input[type="submit"], .ink-form .control-group .control.prepend-button > input[type="button"], .ink-form .control-group .control.prepend-button > input[type="reset"], .ink-form .control-group .control.prepend-symbol > input[type="submit"], .ink-form .control-group .control.prepend-symbol > input[type="button"], .ink-form .control-group .control.prepend-symbol > input[type="reset"] { + width: auto; +} +.ink-form .control-group .control.append-button { + display: -webkit-flex; + display: flex; + display: -ms-flexbox; +} +.ink-form .control-group .control.append-button span { + display: table-cell; +} +.ink-form .control-group .control.append-button span > input, .ink-form .control-group .control.append-button span > select, .ink-form .control-group .control.append-button span > textarea { + -webkit-border-radius: 2px 0 0 2px; + -moz-border-radius: 2px 0 0 2px; + -ms-border-radius: 2px 0 0 2px; + -o-border-radius: 2px 0 0 2px; + border-radius: 2px 0 0 2px; +} +.ink-form .control-group .control.append-button .ink-button { + margin: 0; + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + -ms-border-radius: 0 2px 2px 0; + -o-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; + border-left: none; +} +.ink-form .control-group .control.prepend-button { + display: -webkit-flex; + display: flex; + display: -ms-flexbox; +} +.ink-form .control-group .control.prepend-button span { + display: table-cell; +} +.ink-form .control-group .control.prepend-button span > input, .ink-form .control-group .control.prepend-button span > select, .ink-form .control-group .control.prepend-button span > textarea { + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + -ms-border-radius: 0 2px 2px 0; + -o-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; +} +.ink-form .control-group .control.prepend-button .ink-button { + margin: 0; + -webkit-border-radius: 2px 0 0 2px; + -moz-border-radius: 2px 0 0 2px; + -ms-border-radius: 2px 0 0 2px; + -o-border-radius: 2px 0 0 2px; + border-radius: 2px 0 0 2px; + border-right: none; +} +.ink-form .control-group .control.append-symbol span { + display: block; +} +.ink-form .control-group .control.append-symbol span > input, .ink-form .control-group .control.append-symbol span > select, .ink-form .control-group .control.append-symbol span > textarea { + padding-right: 2.5em; +} +.ink-form .control-group .control.append-symbol span > [class^="fa-"], .ink-form .control-group .control.append-symbol span > [class*=" fa-"] { + position: absolute; + right: 1em; + top: .86em; + pointer-events: none; +} +.ink-form .control-group .control.prepend-symbol span { + display: block; +} +.ink-form .control-group .control.prepend-symbol span > input, .ink-form .control-group .control.prepend-symbol span > select, .ink-form .control-group .control.prepend-symbol span > textarea { + padding-left: 2.5em; +} +.ink-form .control-group .control.prepend-symbol span > [class^="fa-"], .ink-form .control-group .control.prepend-symbol span > [class*=" fa-"] { + position: absolute; + left: 1em; + top: .86em; + pointer-events: none; +} +.ink-form .control-group input[type="radio"], +.ink-form .control-group input[type="checkbox"] { + padding: 0; + margin: .55em 0; + border: none; + clear: left; + float: left; + cursor: pointer; +} +.ink-form .control-group input[type="radio"] + label, +.ink-form .control-group input[type="checkbox"] + label { + float: left; + margin: .25em 0 .25em .4em; +} +.ink-form .control-group .inline li { + padding: 0; +} +.ink-form .control-group .inline li label { + margin-right: 1em; +} +.ink-form .control-group.validation.error input, .ink-form .control-group.validation.error textarea, .ink-form .control-group.validation.error select { + outline: none; + border-color: rgba(200, 10, 16, 0.8); + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + border: 1px solid rgba(200, 10, 16, 0.5); +} +.ink-form .control-group.validation.error p.tip { + color: rgba(150, 7, 12, 0.55); +} +.ink-form .control-group.validation.warning input, .ink-form .control-group.validation.warning textarea, .ink-form .control-group.validation.warning select { + outline: none; + border-color: rgba(255, 156, 0, 0.9); + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + border: 1px solid rgba(255, 156, 0, 0.6); +} +.ink-form .control-group.validation.warning p.tip { + color: rgba(204, 125, 0, 0.6); +} +.ink-form .control-group.required label, .ink-form .control-group.required p.label { + color: #555555; +} +.ink-form .control-group.required label:after, .ink-form .control-group.required p.label:after { + content: "\f069"; + color: #c91111; + margin-left: .6em; + font-family: FontAwesome; + font-size: .75em; + width: 1.25em; +} +.ink-form .control-group.required ul.control label:after { + content: ""; +} + +.ink-grid { + width: auto; + max-width: 1440px; + margin: 0 auto; +} + +.order-1 { + order: 1; + -ms-flex-order: 1; +} + +.order-2 { + order: 2; + -ms-flex-order: 2; +} + +.order-3 { + order: 3; + -ms-flex-order: 3; +} + +.order-4 { + order: 4; + -ms-flex-order: 4; +} + +.order-5 { + order: 5; + -ms-flex-order: 5; +} + +.order-6 { + order: 6; + -ms-flex-order: 6; +} + +.order-7 { + order: 7; + -ms-flex-order: 7; +} + +.order-8 { + order: 8; + -ms-flex-order: 8; +} + +.order-9 { + order: 9; + -ms-flex-order: 9; +} + +.order-10 { + order: 10; + -ms-flex-order: 10; +} + +.all-5 { + width: 5%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-10 { + width: 10%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-15 { + width: 15%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-16 { + width: 16.66666%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-20 { + width: 20%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-25 { + width: 25%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-30 { + width: 30%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-33 { + width: 33.33333%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-35 { + width: 35%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-40 { + width: 40%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-45 { + width: 45%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-50 { + width: 50%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-55 { + width: 55%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-60 { + width: 60%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-65 { + width: 65%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-66 { + width: 66.66666%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-70 { + width: 70%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-75 { + width: 75%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-80 { + width: 80%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-85 { + width: 85%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-90 { + width: 90%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-95 { + width: 95%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-100 { + width: 100%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; +} + +.all-auto { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -ms-flex: 1; + flex: 1; +} + +@media screen and (min-width: 1261px) { + .ink-grid { + padding: 0 2em; + } + + .column-group.gutters { + margin-left: -2em; + } + .column-group.gutters > [class*=xlarge-], .column-group.gutters > [class*=all-], .column-group.gutters > .all-auto { + padding-left: 2em; + margin-bottom: 2em; + } + + .column-group.horizontal-gutters { + margin-left: -2em; + } + .column-group.horizontal-gutters > [class*=xlarge-], .column-group.horizontal-gutters > [class*=all-], .column-group.horizontal-gutters > .all-auto { + padding-left: 2em; + } + + .column-group.vertical-gutters > [class*=xlarge-], .column-group.vertical-gutters > [class*=all-], .column-group.vertical-gutters > .all-auto { + margin-bottom: 2em; + } + + .column-group.double-gutters { + margin-left: -4em; + } + .column-group.double-gutters > [class*=xlarge-], .column-group.double-gutters > [class*=all-], .column-group.double-gutters > .all-auto { + padding-left: 4em; + margin-bottom: 4em; + } + + .column-group.double-horizontal-gutters { + margin-left: -4em; + } + .column-group.double-horizontal-gutters > [class*=xlarge-], .column-group.double-horizontal-gutters > [class*=all-], .column-group.double-horizontal-gutters > .all-auto { + padding-left: 4em; + } + + .column-group.double-vertical-gutters > [class*=xlarge-], .column-group.double-vertical-gutters > [class*=all-], .column-group.double-vertical-gutters > .all-auto { + margin-bottom: 4em; + } + + .column-group.half-gutters { + margin-left: -1em; + } + .column-group.half-gutters > [class*=xlarge-], .column-group.half-gutters > [class*=all-], .column-group.half-gutters > .all-auto { + padding-left: 1em; + margin-bottom: 1em; + } + + .column-group.half-horizontal-gutters { + margin-left: -1em; + } + .column-group.half-horizontal-gutters > [class*=xlarge-], .column-group.half-horizontal-gutters > [class*=all-], .column-group.half-horizontal-gutters > .all-auto { + padding-left: 1em; + } + + .column-group.half-vertical-gutters > [class*=xlarge-], .column-group.half-vertical-gutters > [class*=all-], .column-group.half-vertical-gutters > .all-auto { + margin-bottom: 1em; + } + + .column-group.quarter-gutters { + margin-left: -0.5em; + } + .column-group.quarter-gutters > [class*=xlarge-], .column-group.quarter-gutters > [class*=all-], .column-group.quarter-gutters > .all-auto { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + + .column-group.quarter-horizontal-gutters { + margin-left: -0.5em; + } + .column-group.quarter-horizontal-gutters > [class*=xlarge-], .column-group.quarter-horizontal-gutters > [class*=all-], .column-group.quarter-horizontal-gutters > .all-auto { + padding-left: 0.5em; + } + + .column-group.quarter-vertical-gutters > [class*=xlarge-], .column-group.quarter-vertical-gutters > [class*=all-], .column-group.quarter-vertical-gutters > .all-auto { + margin-bottom: 0.5em; + } + + .column-group.xlarge-gutters { + margin-left: -2em; + } + .column-group.xlarge-gutters > [class*=xlarge-], .column-group.xlarge-gutters > [class*=all-], .column-group.xlarge-gutters > .all-auto { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + + .column-group.xlarge-horizontal-gutters { + margin-left: -2em; + } + .column-group.xlarge-horizontal-gutters > [class*=xlarge-], .column-group.xlarge-horizontal-gutters > [class*=all-], .column-group.xlarge-horizontal-gutters > .all-auto { + padding-left: 2em; + } + + .column-group.xlarge-vertical-gutters > [class*=xlarge-], .column-group.xlarge-vertical-gutters > [class*=all-], .column-group.xlarge-vertical-gutters > .all-auto { + margin-bottom: 2em; + } + + .column-group.xlarge-double-gutters { + margin-left: -4em; + } + .column-group.xlarge-double-gutters > [class*=xlarge-], .column-group.xlarge-double-gutters > [class*=all-], .column-group.xlarge-double-gutters > .all-auto { + padding-left: 4em; + margin-bottom: 4em; + } + + .column-group.xlarge-double-horizontal-gutters { + margin-left: -4em; + } + .column-group.xlarge-double-horizontal-gutters > [class*=xlarge-], .column-group.xlarge-double-horizontal-gutters > [class*=all-], .column-group.xlarge-double-horizontal-gutters > .all-auto { + padding-left: 4em; + } + + .column-group.xlarge-double-vertical-gutters > [class*=xlarge-], .column-group.xlarge-double-vertical-gutters > [class*=all-], .column-group.xlarge-double-vertical-gutters > .all-auto { + margin-bottom: 4em; + } + + .column-group.xlarge-half-gutters { + margin-left: -1em; + } + .column-group.xlarge-half-gutters > [class*=xlarge-], .column-group.xlarge-half-gutters > [class*=all-], .column-group.xlarge-half-gutters > .all-auto { + padding-left: 1em; + margin-bottom: 1em; + } + + .column-group.xlarge-half-horizontal-gutters { + margin-left: -1em; + } + .column-group.xlarge-half-horizontal-gutters > [class*=xlarge-], .column-group.xlarge-half-horizontal-gutters > [class*=all-], .column-group.xlarge-half-horizontal-gutters > .all-auto { + padding-left: 1em; + } + + .column-group.xlarge-half-vertical-gutters > [class*=xlarge-], .column-group.xlarge-half-vertical-gutters > [class*=all-], .column-group.xlarge-half-vertical-gutters > .all-auto { + margin-bottom: 1em; + } + + .column-group.xlarge-quarter-gutters { + margin-left: -0.5em; + } + .column-group.xlarge-quarter-gutters > [class*=xlarge-], .column-group.xlarge-quarter-gutters > [class*=all-], .column-group.xlarge-quarter-gutters > .all-auto { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + + .column-group.xlarge-quarter-horizontal-gutters { + margin-left: -0.5em; + } + .column-group.xlarge-quarter-horizontal-gutters > [class*=xlarge-], .column-group.xlarge-quarter-horizontal-gutters > [class*=all-], .column-group.xlarge-quarter-horizontal-gutters > .all-auto { + padding-left: 0.5em; + } + + .column-group.xlarge-quarter-vertical-gutters > [class*=xlarge-], .column-group.xlarge-quarter-vertical-gutters > [class*=all-], .column-group.xlarge-quarter-vertical-gutters > .all-auto { + margin-bottom: 0.5em; + } + + .column-group.xlarge-no-gutters { + margin-left: 0; + } + .column-group.xlarge-no-gutters > [class*=xlarge-], .column-group.xlarge-no-gutters > [class*=all-], .column-group.xlarge-no-gutters > .all-auto { + padding-left: 0; + margin-bottom: 0; + } + + .xlarge-5 { + width: 5%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-10 { + width: 10%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-15 { + width: 15%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-16 { + width: 16.66666%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-20 { + width: 20%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-25 { + width: 25%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-30 { + width: 30%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-33 { + width: 33.33333%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-35 { + width: 35%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-40 { + width: 40%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-45 { + width: 45%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-50 { + width: 50%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-55 { + width: 55%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-60 { + width: 60%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-65 { + width: 65%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-66 { + width: 66.66666%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-70 { + width: 70%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-75 { + width: 75%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-80 { + width: 80%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-85 { + width: 85%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-90 { + width: 90%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-95 { + width: 95%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-100 { + width: 100%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .xlarge-auto { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -ms-flex: 1; + flex: 1; + } + + .ink-flex, + .column-group { + display: -webkit-flex; + display: flex; + display: -ms-flexbox; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + list-style: none; + } + .ink-flex.xlarge-reverse, .ink-flex.reverse, + .column-group.xlarge-reverse, + .column-group.reverse { + -webkit-flex-direction: row-reverse; + -moz-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } + .ink-flex.xlarge-vertical, .ink-flex.vertical, + .column-group.xlarge-vertical, + .column-group.vertical { + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + } + .ink-flex.xlarge-vertical.xlarge-reverse, .ink-flex.vertical.reverse, + .column-group.xlarge-vertical.xlarge-reverse, + .column-group.vertical.reverse { + -webkit-flex-direction: column-reverse; + -moz-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + } + + .xlarge-order-1 { + order: 1; + -ms-flex-order: 1; + } + + .xlarge-order-2 { + order: 2; + -ms-flex-order: 2; + } + + .xlarge-order-3 { + order: 3; + -ms-flex-order: 3; + } + + .xlarge-order-4 { + order: 4; + -ms-flex-order: 4; + } + + .xlarge-order-5 { + order: 5; + -ms-flex-order: 5; + } + + .xlarge-order-6 { + order: 6; + -ms-flex-order: 6; + } + + .xlarge-order-7 { + order: 7; + -ms-flex-order: 7; + } + + .xlarge-order-8 { + order: 8; + -ms-flex-order: 8; + } + + .xlarge-order-9 { + order: 9; + -ms-flex-order: 9; + } + + .xlarge-order-10 { + order: 10; + -ms-flex-order: 10; + } + + .column-group .xlarge-auto { + -webkit-flex-basis: auto; + -ms-flex-basis: auto; + flex-basis: auto; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + } + + .push-top, + .xlarge-push-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -moz-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; + } + + .push-bottom, + .xlarge-push-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -moz-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; + } + + .push-middle, + .xlarge-push-middle { + -webkit-box-align: center; + -webkit-align-items: center; + -moz-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-align-self: flex-center; + -ms-flex-item-align: center; + align-self: center; + } + + .push-left, + .xlarge-push-left { + -webkit-justify-content: flex-start; + -moz-justify-content: flex-start; + -ms-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + float: left; + } + + .push-center, + .xlarge-push-center { + float: none !important; + -webkit-justify-content: center; + -moz-justify-content: center; + -ms-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + margin-left: auto; + margin-right: auto; + } + + .push-right, + .xlarge-push-right { + -webkit-justify-content: flex-end; + -moz-justify-content: flex-end; + -ms-justify-content: flex-end; + justify-content: flex-end; + -ms-flex-pack: end; + float: right; + } + + .xlarge-align-left { + text-align: left; + } + + .xlarge-align-center { + text-align: center; + } + + .xlarge-align-right { + text-align: right; + } + + .space { + margin: 2em; + } + + .xlarge-space { + margin: 2em; + } + + .padding { + padding: 2em; + } + + .xlarge-padding { + padding: 2em; + } + + .double-space { + margin: 4em; + } + + .xlarge-double-space { + margin: 4em; + } + + .double-padding { + padding: 4em; + } + + .xlarge-double-padding { + padding: 4em; + } + + .half-space { + margin: 1em; + } + + .xlarge-half-space { + margin: 1em; + } + + .half-padding { + padding: 1em; + } + + .xlarge-half-padding { + padding: 1em; + } + + .quarter-space { + margin: 0.5em; + } + + .xlarge-quarter-space { + margin: 0.5em; + } + + .quarter-padding { + padding: 0.5em; + } + + .xlarge-quarter-padding { + padding: 0.5em; + } + + .vertical-space { + margin-top: 2em; + margin-bottom: 2em; + } + + .xlarge-vertical-space { + margin-top: 2em; + margin-bottom: 2em; + } + + .vertical-padding { + padding-top: 2em; + padding-bottom: 2em; + } + + .xlarge-vertical-padding { + padding-top: 2em; + padding-bottom: 2em; + } + + .double-vertical-space { + margin-top: 4em; + margin-bottom: 4em; + } + + .xlarge-double-vertical-space { + margin-top: 4em; + margin-bottom: 4em; + } + + .double-vertical-padding { + padding-top: 4em; + padding-bottom: 4em; + } + + .xlarge-double-vertical-padding { + padding-top: 4em; + padding-bottom: 4em; + } + + .half-vertical-space { + margin-top: 1em; + margin-bottom: 1em; + } + + .xlarge-half-vertical-space { + margin-top: 1em; + margin-bottom: 1em; + } + + .half-vertical-padding { + padding-top: 1em; + padding-bottom: 1em; + } + + .xlarge-half-vertical-padding { + padding-top: 1em; + padding-bottom: 1em; + } + + .quarter-vertical-space { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + + .xlarge-quarter-vertical-space { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + + .quarter-vertical-padding { + padding-top: 0.5em; + padding-bottom: 0.5em; + } + + .xlarge-quarter-vertical-padding { + padding-top: 0.5em; + padding-bottom: 0.5em; + } + + .horizontal-space { + margin-left: 2em; + margin-right: 2em; + } + + .xlarge-horizontal-space { + margin-left: 2em; + margin-right: 2em; + } + + .horizontal-padding { + padding-left: 2em; + padding-right: 2em; + } + + .xlarge-horizontal-padding { + padding-left: 2em; + padding-right: 2em; + } + + .double-horizontal-space { + margin-left: 4em; + margin-right: 4em; + } + + .xlarge-double-horizontal-space { + margin-left: 4em; + margin-right: 4em; + } + + .double-horizontal-padding { + padding-left: 4em; + padding-right: 4em; + } + + .xlarge-double-horizontal-padding { + padding-left: 4em; + padding-right: 4em; + } + + .half-horizontal-space { + margin-left: 1em; + margin-right: 1em; + } + + .xlarge-half-horizontal-space { + margin-left: 1em; + margin-right: 1em; + } + + .half-horizontal-padding { + padding-left: 1em; + padding-right: 1em; + } + + .xlarge-half-horizontal-padding { + padding-left: 1em; + padding-right: 1em; + } + + .quarter-horizontal-space { + margin-left: 0.5em; + margin-right: 0.5em; + } + + .xlarge-quarter-horizontal-space { + margin-left: 0.5em; + margin-right: 0.5em; + } + + .quarter-horizontal-padding { + padding-left: 0.5em; + padding-right: 0.5em; + } + + .xlarge-quarter-horizontal-padding { + padding-left: 0.5em; + padding-right: 0.5em; + } + + .top-space { + margin-top: 2em; + } + + .xlarge-top-space { + margin-top: 2em; + } + + .top-padding { + padding-top: 2em; + } + + .xlarge-top-padding { + padding-top: 2em; + } + + .double-top-space { + margin-top: 4em; + } + + .xlarge-double-top-space { + margin-top: 4em; + } + + .double-top-padding { + padding-top: 4em; + } + + .xlarge-double-top-padding { + padding-top: 4em; + } + + .half-top-space { + margin-top: 1em; + } + + .xlarge-half-top-space { + margin-top: 1em; + } + + .half-top-padding { + padding-top: 1em; + } + + .xlarge-half-top-padding { + padding-top: 1em; + } + + .quarter-top-space { + margin-top: 0.5em; + } + + .xlarge-quarter-top-space { + margin-top: 0.5em; + } + + .quarter-top-padding { + padding-top: 0.5em; + } + + .xlarge-quarter-top-padding { + padding-top: 0.5em; + } + + .right-space { + margin-right: 2em; + } + + .xlarge-right-space { + margin-right: 2em; + } + + .right-padding { + padding-right: 2em; + } + + .xlarge-right-padding { + padding-right: 2em; + } + + .double-right-space { + margin-right: 4em; + } + + .xlarge-double-right-space { + margin-right: 4em; + } + + .double-right-padding { + padding-right: 4em; + } + + .xlarge-double-right-padding { + padding-right: 4em; + } + + .half-right-space { + margin-right: 1em; + } + + .xlarge-half-right-space { + margin-right: 1em; + } + + .half-right-padding { + padding-right: 1em; + } + + .xlarge-half-right-padding { + padding-right: 1em; + } + + .quarter-right-space { + margin-right: 0.5em; + } + + .xlarge-quarter-right-space { + margin-right: 0.5em; + } + + .quarter-right-padding { + padding-right: 0.5em; + } + + .xlarge-quarter-right-padding { + padding-right: 0.5em; + } + + .bottom-space { + margin-bottom: 2em; + } + + .xlarge-bottom-space { + margin-bottom: 2em; + } + + .bottom-padding { + padding-bottom: 2em; + } + + .xlarge-bottom-padding { + padding-bottom: 2em; + } + + .double-bottom-space { + margin-bottom: 4em; + } + + .xlarge-double-bottom-space { + margin-bottom: 4em; + } + + .double-bottom-padding { + padding-bottom: 4em; + } + + .xlarge-double-bottom-padding { + padding-bottom: 4em; + } + + .half-bottom-space { + margin-bottom: 1em; + } + + .xlarge-half-bottom-space { + margin-bottom: 1em; + } + + .half-bottom-padding { + padding-bottom: 1em; + } + + .xlarge-half-bottom-padding { + padding-bottom: 1em; + } + + .quarter-bottom-space { + margin-bottom: 0.5em; + } + + .xlarge-quarter-bottom-space { + margin-bottom: 0.5em; + } + + .quarter-bottom-padding { + padding-bottom: 0.5em; + } + + .xlarge-quarter-bottom-padding { + padding-bottom: 0.5em; + } + + .left-space { + margin-left: 2em; + } + + .xlarge-left-space { + margin-left: 2em; + } + + .left-padding { + padding-left: 2em; + } + + .xlarge-left-padding { + padding-left: 2em; + } + + .double-left-space { + margin-left: 4em; + } + + .xlarge-double-left-space { + margin-left: 4em; + } + + .double-left-padding { + padding-left: 4em; + } + + .xlarge-double-left-padding { + padding-left: 4em; + } + + .half-left-space { + margin-left: 1em; + } + + .xlarge-half-left-space { + margin-left: 1em; + } + + .half-left-padding { + padding-left: 1em; + } + + .xlarge-half-left-padding { + padding-left: 1em; + } + + .quarter-left-space { + margin-left: 0.5em; + } + + .xlarge-quarter-left-space { + margin-left: 0.5em; + } + + .quarter-left-padding { + padding-left: 0.5em; + } + + .xlarge-quarter-left-padding { + padding-left: 0.5em; + } + + .hide-xlarge { + display: none !important; + } + + .show-xlarge { + display: inherit !important; + } + + table.show-xlarge { + display: table; + } + + thead.show-xlarge { + display: table-header-group; + } + + tbody.show-xlarge { + display: table-row-group; + } + + tfoot.show-xlarge { + display: table-footer-group; + } + + tr.show-xlarge { + display: table-row; + } + + th.show-xlarge, + td.show-xlarge { + display: table-cell; + } +} +@media screen and (min-width: 961px) and (max-width: 1260px) { + .ink-grid { + padding: 0 1.75em; + } + + .column-group.gutters { + margin-left: -1.75em; + } + .column-group.gutters > [class*=large-], .column-group.gutters > [class*=all-], .column-group.gutters > .all-auto { + padding-left: 1.75em; + margin-bottom: 1.75em; + } + + .column-group.horizontal-gutters { + margin-left: -1.75em; + } + .column-group.horizontal-gutters > [class*=large-], .column-group.horizontal-gutters > [class*=all-], .column-group.horizontal-gutters > .all-auto { + padding-left: 1.75em; + } + + .column-group.vertical-gutters > [class*=large-], .column-group.vertical-gutters > [class*=all-], .column-group.vertical-gutters > .all-auto { + margin-bottom: 1.75em; + } + + .column-group.double-gutters { + margin-left: -3.5em; + } + .column-group.double-gutters > [class*=large-], .column-group.double-gutters > [class*=all-], .column-group.double-gutters > .all-auto { + padding-left: 3.5em; + margin-bottom: 3.5em; + } + + .column-group.double-horizontal-gutters { + margin-left: -3.5em; + } + .column-group.double-horizontal-gutters > [class*=large-], .column-group.double-horizontal-gutters > [class*=all-], .column-group.double-horizontal-gutters > .all-auto { + padding-left: 3.5em; + } + + .column-group.double-vertical-gutters > [class*=large-], .column-group.double-vertical-gutters > [class*=all-], .column-group.double-vertical-gutters > .all-auto { + margin-bottom: 3.5em; + } + + .column-group.half-gutters { + margin-left: -0.875em; + } + .column-group.half-gutters > [class*=large-], .column-group.half-gutters > [class*=all-], .column-group.half-gutters > .all-auto { + padding-left: 0.875em; + margin-bottom: 0.875em; + } + + .column-group.half-horizontal-gutters { + margin-left: -0.875em; + } + .column-group.half-horizontal-gutters > [class*=large-], .column-group.half-horizontal-gutters > [class*=all-], .column-group.half-horizontal-gutters > .all-auto { + padding-left: 0.875em; + } + + .column-group.half-vertical-gutters > [class*=large-], .column-group.half-vertical-gutters > [class*=all-], .column-group.half-vertical-gutters > .all-auto { + margin-bottom: 0.875em; + } + + .column-group.quarter-gutters { + margin-left: -0.4375em; + } + .column-group.quarter-gutters > [class*=large-], .column-group.quarter-gutters > [class*=all-], .column-group.quarter-gutters > .all-auto { + padding-left: 0.4375em; + margin-bottom: 0.4375em; + } + + .column-group.quarter-horizontal-gutters { + margin-left: -0.4375em; + } + .column-group.quarter-horizontal-gutters > [class*=large-], .column-group.quarter-horizontal-gutters > [class*=all-], .column-group.quarter-horizontal-gutters > .all-auto { + padding-left: 0.4375em; + } + + .column-group.quarter-vertical-gutters > [class*=large-], .column-group.quarter-vertical-gutters > [class*=all-], .column-group.quarter-vertical-gutters > .all-auto { + margin-bottom: 0.4375em; + } + + .column-group.large-gutters { + margin-left: -1.75em; + } + .column-group.large-gutters > [class*=large-], .column-group.large-gutters > [class*=all-], .column-group.large-gutters > .all-auto { + padding-left: 0.4375em; + margin-bottom: 0.4375em; + } + + .column-group.large-horizontal-gutters { + margin-left: -1.75em; + } + .column-group.large-horizontal-gutters > [class*=large-], .column-group.large-horizontal-gutters > [class*=all-], .column-group.large-horizontal-gutters > .all-auto { + padding-left: 1.75em; + } + + .column-group.large-vertical-gutters > [class*=large-], .column-group.large-vertical-gutters > [class*=all-], .column-group.large-vertical-gutters > .all-auto { + margin-bottom: 1.75em; + } + + .column-group.large-double-gutters { + margin-left: -3.5em; + } + .column-group.large-double-gutters > [class*=large-], .column-group.large-double-gutters > [class*=all-], .column-group.large-double-gutters > .all-auto { + padding-left: 3.5em; + margin-bottom: 3.5em; + } + + .column-group.large-double-horizontal-gutters { + margin-left: -3.5em; + } + .column-group.large-double-horizontal-gutters > [class*=large-], .column-group.large-double-horizontal-gutters > [class*=all-], .column-group.large-double-horizontal-gutters > .all-auto { + padding-left: 3.5em; + } + + .column-group.large-double-vertical-gutters > [class*=large-], .column-group.large-double-vertical-gutters > [class*=all-], .column-group.large-double-vertical-gutters > .all-auto { + margin-bottom: 3.5em; + } + + .column-group.large-half-gutters { + margin-left: -0.875em; + } + .column-group.large-half-gutters > [class*=large-], .column-group.large-half-gutters > [class*=all-], .column-group.large-half-gutters > .all-auto { + padding-left: 0.875em; + margin-bottom: 0.875em; + } + + .column-group.large-half-horizontal-gutters { + margin-left: -0.875em; + } + .column-group.large-half-horizontal-gutters > [class*=large-], .column-group.large-half-horizontal-gutters > [class*=all-], .column-group.large-half-horizontal-gutters > .all-auto { + padding-left: 0.875em; + } + + .column-group.large-half-vertical-gutters > [class*=large-], .column-group.large-half-vertical-gutters > [class*=all-], .column-group.large-half-vertical-gutters > .all-auto { + margin-bottom: 0.875em; + } + + .column-group.large-quarter-gutters { + margin-left: -0.4375em; + } + .column-group.large-quarter-gutters > [class*=large-], .column-group.large-quarter-gutters > [class*=all-], .column-group.large-quarter-gutters > .all-auto { + padding-left: 0.4375em; + margin-bottom: 0.4375em; + } + + .column-group.large-quarter-horizontal-gutters { + margin-left: -0.4375em; + } + .column-group.large-quarter-horizontal-gutters > [class*=large-], .column-group.large-quarter-horizontal-gutters > [class*=all-], .column-group.large-quarter-horizontal-gutters > .all-auto { + padding-left: 0.4375em; + } + + .column-group.large-quarter-vertical-gutters > [class*=large-], .column-group.large-quarter-vertical-gutters > [class*=all-], .column-group.large-quarter-vertical-gutters > .all-auto { + margin-bottom: 0.4375em; + } + + .column-group.large-no-gutters { + margin-left: 0; + } + .column-group.large-no-gutters > [class*=large-], .column-group.large-no-gutters > [class*=all-], .column-group.large-no-gutters > .all-auto { + padding-left: 0; + margin-bottom: 0; + } + + .large-5 { + width: 5%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-10 { + width: 10%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-15 { + width: 15%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-16 { + width: 16.66666%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-20 { + width: 20%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-25 { + width: 25%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-30 { + width: 30%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-33 { + width: 33.33333%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-35 { + width: 35%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-40 { + width: 40%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-45 { + width: 45%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-50 { + width: 50%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-55 { + width: 55%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-60 { + width: 60%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-65 { + width: 65%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-66 { + width: 66.66666%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-70 { + width: 70%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-75 { + width: 75%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-80 { + width: 80%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-85 { + width: 85%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-90 { + width: 90%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-95 { + width: 95%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-100 { + width: 100%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .large-auto { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -ms-flex: 1; + flex: 1; + } + + .ink-flex, + .column-group { + display: -webkit-flex; + display: flex; + display: -ms-flexbox; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + list-style: none; + } + .ink-flex.large-reverse, .ink-flex.reverse, + .column-group.large-reverse, + .column-group.reverse { + -webkit-flex-direction: row-reverse; + -moz-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } + .ink-flex.large-vertical, .ink-flex.vertical, + .column-group.large-vertical, + .column-group.vertical { + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + } + .ink-flex.large-vertical.large-reverse, .ink-flex.vertical.reverse, + .column-group.large-vertical.large-reverse, + .column-group.vertical.reverse { + -webkit-flex-direction: column-reverse; + -moz-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + } + + .large-order-1 { + order: 1; + -ms-flex-order: 1; + } + + .large-order-2 { + order: 2; + -ms-flex-order: 2; + } + + .large-order-3 { + order: 3; + -ms-flex-order: 3; + } + + .large-order-4 { + order: 4; + -ms-flex-order: 4; + } + + .large-order-5 { + order: 5; + -ms-flex-order: 5; + } + + .large-order-6 { + order: 6; + -ms-flex-order: 6; + } + + .large-order-7 { + order: 7; + -ms-flex-order: 7; + } + + .large-order-8 { + order: 8; + -ms-flex-order: 8; + } + + .large-order-9 { + order: 9; + -ms-flex-order: 9; + } + + .large-order-10 { + order: 10; + -ms-flex-order: 10; + } + + .column-group .large-auto { + -webkit-flex-basis: auto; + -ms-flex-basis: auto; + flex-basis: auto; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + } + + .push-top, + .large-push-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -moz-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; + } + + .push-bottom, + .large-push-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -moz-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; + } + + .push-middle, + .large-push-middle { + -webkit-box-align: center; + -webkit-align-items: center; + -moz-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-align-self: flex-center; + -ms-flex-item-align: center; + align-self: center; + } + + .push-left, + .large-push-left { + -webkit-justify-content: flex-start; + -moz-justify-content: flex-start; + -ms-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + float: left; + } + + .push-center, + .large-push-center { + float: none !important; + -webkit-justify-content: center; + -moz-justify-content: center; + -ms-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + margin-left: auto; + margin-right: auto; + } + + .push-right, + .large-push-right { + -webkit-justify-content: flex-end; + -moz-justify-content: flex-end; + -ms-justify-content: flex-end; + justify-content: flex-end; + -ms-flex-pack: end; + float: right; + } + + .large-align-left { + text-align: left; + } + + .large-align-center { + text-align: center; + } + + .large-align-right { + text-align: right; + } + + .space { + margin: 1.75em; + } + + .large-space { + margin: 1.75em; + } + + .padding { + padding: 1.75em; + } + + .large-padding { + padding: 1.75em; + } + + .double-space { + margin: 3.5em; + } + + .large-double-space { + margin: 3.5em; + } + + .double-padding { + padding: 3.5em; + } + + .large-double-padding { + padding: 3.5em; + } + + .half-space { + margin: 0.875em; + } + + .large-half-space { + margin: 0.875em; + } + + .half-padding { + padding: 0.875em; + } + + .large-half-padding { + padding: 0.875em; + } + + .quarter-space { + margin: 0.4375em; + } + + .large-quarter-space { + margin: 0.4375em; + } + + .quarter-padding { + padding: 0.4375em; + } + + .large-quarter-padding { + padding: 0.4375em; + } + + .vertical-space { + margin-top: 1.75em; + margin-bottom: 1.75em; + } + + .large-vertical-space { + margin-top: 1.75em; + margin-bottom: 1.75em; + } + + .vertical-padding { + padding-top: 1.75em; + padding-bottom: 1.75em; + } + + .large-vertical-padding { + padding-top: 1.75em; + padding-bottom: 1.75em; + } + + .double-vertical-space { + margin-top: 3.5em; + margin-bottom: 3.5em; + } + + .large-double-vertical-space { + margin-top: 3.5em; + margin-bottom: 3.5em; + } + + .double-vertical-padding { + padding-top: 3.5em; + padding-bottom: 3.5em; + } + + .large-double-vertical-padding { + padding-top: 3.5em; + padding-bottom: 3.5em; + } + + .half-vertical-space { + margin-top: 0.875em; + margin-bottom: 0.875em; + } + + .large-half-vertical-space { + margin-top: 0.875em; + margin-bottom: 0.875em; + } + + .half-vertical-padding { + padding-top: 0.875em; + padding-bottom: 0.875em; + } + + .large-half-vertical-padding { + padding-top: 0.875em; + padding-bottom: 0.875em; + } + + .quarter-vertical-space { + margin-top: 0.4375em; + margin-bottom: 0.4375em; + } + + .large-quarter-vertical-space { + margin-top: 0.4375em; + margin-bottom: 0.4375em; + } + + .quarter-vertical-padding { + padding-top: 0.4375em; + padding-bottom: 0.4375em; + } + + .large-quarter-vertical-padding { + padding-top: 0.4375em; + padding-bottom: 0.4375em; + } + + .horizontal-space { + margin-left: 1.75em; + margin-right: 1.75em; + } + + .large-horizontal-space { + margin-left: 1.75em; + margin-right: 1.75em; + } + + .horizontal-padding { + padding-left: 1.75em; + padding-right: 1.75em; + } + + .large-horizontal-padding { + padding-left: 1.75em; + padding-right: 1.75em; + } + + .double-horizontal-space { + margin-left: 3.5em; + margin-right: 3.5em; + } + + .large-double-horizontal-space { + margin-left: 3.5em; + margin-right: 3.5em; + } + + .double-horizontal-padding { + padding-left: 3.5em; + padding-right: 3.5em; + } + + .large-double-horizontal-padding { + padding-left: 3.5em; + padding-right: 3.5em; + } + + .half-horizontal-space { + margin-left: 0.875em; + margin-right: 0.875em; + } + + .large-half-horizontal-space { + margin-left: 0.875em; + margin-right: 0.875em; + } + + .half-horizontal-padding { + padding-left: 0.875em; + padding-right: 0.875em; + } + + .large-half-horizontal-padding { + padding-left: 0.875em; + padding-right: 0.875em; + } + + .quarter-horizontal-space { + margin-left: 0.4375em; + margin-right: 0.4375em; + } + + .large-quarter-horizontal-space { + margin-left: 0.4375em; + margin-right: 0.4375em; + } + + .quarter-horizontal-padding { + padding-left: 0.4375em; + padding-right: 0.4375em; + } + + .large-quarter-horizontal-padding { + padding-left: 0.4375em; + padding-right: 0.4375em; + } + + .top-space { + margin-top: 1.75em; + } + + .large-top-space { + margin-top: 1.75em; + } + + .top-padding { + padding-top: 1.75em; + } + + .large-top-padding { + padding-top: 1.75em; + } + + .double-top-space { + margin-top: 3.5em; + } + + .large-double-top-space { + margin-top: 3.5em; + } + + .double-top-padding { + padding-top: 3.5em; + } + + .large-double-top-padding { + padding-top: 3.5em; + } + + .half-top-space { + margin-top: 0.875em; + } + + .large-half-top-space { + margin-top: 0.875em; + } + + .half-top-padding { + padding-top: 0.875em; + } + + .large-half-top-padding { + padding-top: 0.875em; + } + + .quarter-top-space { + margin-top: 0.4375em; + } + + .large-quarter-top-space { + margin-top: 0.4375em; + } + + .quarter-top-padding { + padding-top: 0.4375em; + } + + .large-quarter-top-padding { + padding-top: 0.4375em; + } + + .right-space { + margin-right: 1.75em; + } + + .large-right-space { + margin-right: 1.75em; + } + + .right-padding { + padding-right: 1.75em; + } + + .large-right-padding { + padding-right: 1.75em; + } + + .double-right-space { + margin-right: 3.5em; + } + + .large-double-right-space { + margin-right: 3.5em; + } + + .double-right-padding { + padding-right: 3.5em; + } + + .large-double-right-padding { + padding-right: 3.5em; + } + + .half-right-space { + margin-right: 0.875em; + } + + .large-half-right-space { + margin-right: 0.875em; + } + + .half-right-padding { + padding-right: 0.875em; + } + + .large-half-right-padding { + padding-right: 0.875em; + } + + .quarter-right-space { + margin-right: 0.4375em; + } + + .large-quarter-right-space { + margin-right: 0.4375em; + } + + .quarter-right-padding { + padding-right: 0.4375em; + } + + .large-quarter-right-padding { + padding-right: 0.4375em; + } + + .bottom-space { + margin-bottom: 1.75em; + } + + .large-bottom-space { + margin-bottom: 1.75em; + } + + .bottom-padding { + padding-bottom: 1.75em; + } + + .large-bottom-padding { + padding-bottom: 1.75em; + } + + .double-bottom-space { + margin-bottom: 3.5em; + } + + .large-double-bottom-space { + margin-bottom: 3.5em; + } + + .double-bottom-padding { + padding-bottom: 3.5em; + } + + .large-double-bottom-padding { + padding-bottom: 3.5em; + } + + .half-bottom-space { + margin-bottom: 0.875em; + } + + .large-half-bottom-space { + margin-bottom: 0.875em; + } + + .half-bottom-padding { + padding-bottom: 0.875em; + } + + .large-half-bottom-padding { + padding-bottom: 0.875em; + } + + .quarter-bottom-space { + margin-bottom: 0.4375em; + } + + .large-quarter-bottom-space { + margin-bottom: 0.4375em; + } + + .quarter-bottom-padding { + padding-bottom: 0.4375em; + } + + .large-quarter-bottom-padding { + padding-bottom: 0.4375em; + } + + .left-space { + margin-left: 1.75em; + } + + .large-left-space { + margin-left: 1.75em; + } + + .left-padding { + padding-left: 1.75em; + } + + .large-left-padding { + padding-left: 1.75em; + } + + .double-left-space { + margin-left: 3.5em; + } + + .large-double-left-space { + margin-left: 3.5em; + } + + .double-left-padding { + padding-left: 3.5em; + } + + .large-double-left-padding { + padding-left: 3.5em; + } + + .half-left-space { + margin-left: 0.875em; + } + + .large-half-left-space { + margin-left: 0.875em; + } + + .half-left-padding { + padding-left: 0.875em; + } + + .large-half-left-padding { + padding-left: 0.875em; + } + + .quarter-left-space { + margin-left: 0.4375em; + } + + .large-quarter-left-space { + margin-left: 0.4375em; + } + + .quarter-left-padding { + padding-left: 0.4375em; + } + + .large-quarter-left-padding { + padding-left: 0.4375em; + } + + .hide-large { + display: none !important; + } + + .show-large { + display: inherit !important; + } + + table.show-large { + display: table; + } + + thead.show-large { + display: table-header-group; + } + + tbody.show-large { + display: table-row-group; + } + + tfoot.show-large { + display: table-footer-group; + } + + tr.show-large { + display: table-row; + } + + th.show-large, + td.show-large { + display: table-cell; + } +} +@media screen and (min-width: 641px) and (max-width: 960px) { + .ink-grid { + padding: 0 1.5em; + } + + .column-group.gutters { + margin-left: -1.5em; + } + .column-group.gutters > [class*=medium-], .column-group.gutters > [class*=all-], .column-group.gutters > .all-auto { + padding-left: 1.5em; + margin-bottom: 1.5em; + } + + .column-group.horizontal-gutters { + margin-left: -1.5em; + } + .column-group.horizontal-gutters > [class*=medium-], .column-group.horizontal-gutters > [class*=all-], .column-group.horizontal-gutters > .all-auto { + padding-left: 1.5em; + } + + .column-group.vertical-gutters > [class*=medium-], .column-group.vertical-gutters > [class*=all-], .column-group.vertical-gutters > .all-auto { + margin-bottom: 1.5em; + } + + .column-group.double-gutters { + margin-left: -3em; + } + .column-group.double-gutters > [class*=medium-], .column-group.double-gutters > [class*=all-], .column-group.double-gutters > .all-auto { + padding-left: 3em; + margin-bottom: 3em; + } + + .column-group.double-horizontal-gutters { + margin-left: -3em; + } + .column-group.double-horizontal-gutters > [class*=medium-], .column-group.double-horizontal-gutters > [class*=all-], .column-group.double-horizontal-gutters > .all-auto { + padding-left: 3em; + } + + .column-group.double-vertical-gutters > [class*=medium-], .column-group.double-vertical-gutters > [class*=all-], .column-group.double-vertical-gutters > .all-auto { + margin-bottom: 3em; + } + + .column-group.half-gutters { + margin-left: -0.75em; + } + .column-group.half-gutters > [class*=medium-], .column-group.half-gutters > [class*=all-], .column-group.half-gutters > .all-auto { + padding-left: 0.75em; + margin-bottom: 0.75em; + } + + .column-group.half-horizontal-gutters { + margin-left: -0.75em; + } + .column-group.half-horizontal-gutters > [class*=medium-], .column-group.half-horizontal-gutters > [class*=all-], .column-group.half-horizontal-gutters > .all-auto { + padding-left: 0.75em; + } + + .column-group.half-vertical-gutters > [class*=medium-], .column-group.half-vertical-gutters > [class*=all-], .column-group.half-vertical-gutters > .all-auto { + margin-bottom: 0.75em; + } + + .column-group.quarter-gutters { + margin-left: -0.375em; + } + .column-group.quarter-gutters > [class*=medium-], .column-group.quarter-gutters > [class*=all-], .column-group.quarter-gutters > .all-auto { + padding-left: 0.375em; + margin-bottom: 0.375em; + } + + .column-group.quarter-horizontal-gutters { + margin-left: -0.375em; + } + .column-group.quarter-horizontal-gutters > [class*=medium-], .column-group.quarter-horizontal-gutters > [class*=all-], .column-group.quarter-horizontal-gutters > .all-auto { + padding-left: 0.375em; + } + + .column-group.quarter-vertical-gutters > [class*=medium-], .column-group.quarter-vertical-gutters > [class*=all-], .column-group.quarter-vertical-gutters > .all-auto { + margin-bottom: 0.375em; + } + + .column-group.medium-gutters { + margin-left: -1.5em; + } + .column-group.medium-gutters > [class*=medium-], .column-group.medium-gutters > [class*=all-], .column-group.medium-gutters > .all-auto { + padding-left: 0.375em; + margin-bottom: 0.375em; + } + + .column-group.medium-horizontal-gutters { + margin-left: -1.5em; + } + .column-group.medium-horizontal-gutters > [class*=medium-], .column-group.medium-horizontal-gutters > [class*=all-], .column-group.medium-horizontal-gutters > .all-auto { + padding-left: 1.5em; + } + + .column-group.medium-vertical-gutters > [class*=medium-], .column-group.medium-vertical-gutters > [class*=all-], .column-group.medium-vertical-gutters > .all-auto { + margin-bottom: 1.5em; + } + + .column-group.medium-double-gutters { + margin-left: -3em; + } + .column-group.medium-double-gutters > [class*=medium-], .column-group.medium-double-gutters > [class*=all-], .column-group.medium-double-gutters > .all-auto { + padding-left: 3em; + margin-bottom: 3em; + } + + .column-group.medium-double-horizontal-gutters { + margin-left: -3em; + } + .column-group.medium-double-horizontal-gutters > [class*=medium-], .column-group.medium-double-horizontal-gutters > [class*=all-], .column-group.medium-double-horizontal-gutters > .all-auto { + padding-left: 3em; + } + + .column-group.medium-double-vertical-gutters > [class*=medium-], .column-group.medium-double-vertical-gutters > [class*=all-], .column-group.medium-double-vertical-gutters > .all-auto { + margin-bottom: 3em; + } + + .column-group.medium-half-gutters { + margin-left: -0.75em; + } + .column-group.medium-half-gutters > [class*=medium-], .column-group.medium-half-gutters > [class*=all-], .column-group.medium-half-gutters > .all-auto { + padding-left: 0.75em; + margin-bottom: 0.75em; + } + + .column-group.medium-half-horizontal-gutters { + margin-left: -0.75em; + } + .column-group.medium-half-horizontal-gutters > [class*=medium-], .column-group.medium-half-horizontal-gutters > [class*=all-], .column-group.medium-half-horizontal-gutters > .all-auto { + padding-left: 0.75em; + } + + .column-group.medium-half-vertical-gutters > [class*=medium-], .column-group.medium-half-vertical-gutters > [class*=all-], .column-group.medium-half-vertical-gutters > .all-auto { + margin-bottom: 0.75em; + } + + .column-group.medium-quarter-gutters { + margin-left: -0.375em; + } + .column-group.medium-quarter-gutters > [class*=medium-], .column-group.medium-quarter-gutters > [class*=all-], .column-group.medium-quarter-gutters > .all-auto { + padding-left: 0.375em; + margin-bottom: 0.375em; + } + + .column-group.medium-quarter-horizontal-gutters { + margin-left: -0.375em; + } + .column-group.medium-quarter-horizontal-gutters > [class*=medium-], .column-group.medium-quarter-horizontal-gutters > [class*=all-], .column-group.medium-quarter-horizontal-gutters > .all-auto { + padding-left: 0.375em; + } + + .column-group.medium-quarter-vertical-gutters > [class*=medium-], .column-group.medium-quarter-vertical-gutters > [class*=all-], .column-group.medium-quarter-vertical-gutters > .all-auto { + margin-bottom: 0.375em; + } + + .column-group.medium-no-gutters { + margin-left: 0; + } + .column-group.medium-no-gutters > [class*=medium-], .column-group.medium-no-gutters > [class*=all-], .column-group.medium-no-gutters > .all-auto { + padding-left: 0; + margin-bottom: 0; + } + + .medium-5 { + width: 5%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-10 { + width: 10%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-15 { + width: 15%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-16 { + width: 16.66666%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-20 { + width: 20%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-25 { + width: 25%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-30 { + width: 30%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-33 { + width: 33.33333%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-35 { + width: 35%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-40 { + width: 40%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-45 { + width: 45%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-50 { + width: 50%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-55 { + width: 55%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-60 { + width: 60%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-65 { + width: 65%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-66 { + width: 66.66666%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-70 { + width: 70%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-75 { + width: 75%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-80 { + width: 80%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-85 { + width: 85%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-90 { + width: 90%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-95 { + width: 95%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-100 { + width: 100%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .medium-auto { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -ms-flex: 1; + flex: 1; + } + + .ink-flex, + .column-group { + display: -webkit-flex; + display: flex; + display: -ms-flexbox; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + list-style: none; + } + .ink-flex.medium-reverse, .ink-flex.reverse, + .column-group.medium-reverse, + .column-group.reverse { + -webkit-flex-direction: row-reverse; + -moz-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } + .ink-flex.medium-vertical, .ink-flex.vertical, + .column-group.medium-vertical, + .column-group.vertical { + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + } + .ink-flex.medium-vertical.medium-reverse, .ink-flex.vertical.reverse, + .column-group.medium-vertical.medium-reverse, + .column-group.vertical.reverse { + -webkit-flex-direction: column-reverse; + -moz-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + } + + .medium-order-1 { + order: 1; + -ms-flex-order: 1; + } + + .medium-order-2 { + order: 2; + -ms-flex-order: 2; + } + + .medium-order-3 { + order: 3; + -ms-flex-order: 3; + } + + .medium-order-4 { + order: 4; + -ms-flex-order: 4; + } + + .medium-order-5 { + order: 5; + -ms-flex-order: 5; + } + + .medium-order-6 { + order: 6; + -ms-flex-order: 6; + } + + .medium-order-7 { + order: 7; + -ms-flex-order: 7; + } + + .medium-order-8 { + order: 8; + -ms-flex-order: 8; + } + + .medium-order-9 { + order: 9; + -ms-flex-order: 9; + } + + .medium-order-10 { + order: 10; + -ms-flex-order: 10; + } + + .column-group .medium-auto { + -webkit-flex-basis: auto; + -ms-flex-basis: auto; + flex-basis: auto; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + } + + .push-top, + .medium-push-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -moz-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; + } + + .push-bottom, + .medium-push-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -moz-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; + } + + .push-middle, + .medium-push-middle { + -webkit-box-align: center; + -webkit-align-items: center; + -moz-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-align-self: flex-center; + -ms-flex-item-align: center; + align-self: center; + } + + .push-left, + .medium-push-left { + -webkit-justify-content: flex-start; + -moz-justify-content: flex-start; + -ms-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + float: left; + } + + .push-center, + .medium-push-center { + float: none !important; + -webkit-justify-content: center; + -moz-justify-content: center; + -ms-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + margin-left: auto; + margin-right: auto; + } + + .push-right, + .medium-push-right { + -webkit-justify-content: flex-end; + -moz-justify-content: flex-end; + -ms-justify-content: flex-end; + justify-content: flex-end; + -ms-flex-pack: end; + float: right; + } + + .medium-align-left { + text-align: left; + } + + .medium-align-center { + text-align: center; + } + + .medium-align-right { + text-align: right; + } + + .space { + margin: 1.5em; + } + + .medium-space { + margin: 1.5em; + } + + .padding { + padding: 1.5em; + } + + .medium-padding { + padding: 1.5em; + } + + .double-space { + margin: 3em; + } + + .medium-double-space { + margin: 3em; + } + + .double-padding { + padding: 3em; + } + + .medium-double-padding { + padding: 3em; + } + + .half-space { + margin: 0.75em; + } + + .medium-half-space { + margin: 0.75em; + } + + .half-padding { + padding: 0.75em; + } + + .medium-half-padding { + padding: 0.75em; + } + + .quarter-space { + margin: 0.375em; + } + + .medium-quarter-space { + margin: 0.375em; + } + + .quarter-padding { + padding: 0.375em; + } + + .medium-quarter-padding { + padding: 0.375em; + } + + .vertical-space { + margin-top: 1.5em; + margin-bottom: 1.5em; + } + + .medium-vertical-space { + margin-top: 1.5em; + margin-bottom: 1.5em; + } + + .vertical-padding { + padding-top: 1.5em; + padding-bottom: 1.5em; + } + + .medium-vertical-padding { + padding-top: 1.5em; + padding-bottom: 1.5em; + } + + .double-vertical-space { + margin-top: 3em; + margin-bottom: 3em; + } + + .medium-double-vertical-space { + margin-top: 3em; + margin-bottom: 3em; + } + + .double-vertical-padding { + padding-top: 3em; + padding-bottom: 3em; + } + + .medium-double-vertical-padding { + padding-top: 3em; + padding-bottom: 3em; + } + + .half-vertical-space { + margin-top: 0.75em; + margin-bottom: 0.75em; + } + + .medium-half-vertical-space { + margin-top: 0.75em; + margin-bottom: 0.75em; + } + + .half-vertical-padding { + padding-top: 0.75em; + padding-bottom: 0.75em; + } + + .medium-half-vertical-padding { + padding-top: 0.75em; + padding-bottom: 0.75em; + } + + .quarter-vertical-space { + margin-top: 0.375em; + margin-bottom: 0.375em; + } + + .medium-quarter-vertical-space { + margin-top: 0.375em; + margin-bottom: 0.375em; + } + + .quarter-vertical-padding { + padding-top: 0.375em; + padding-bottom: 0.375em; + } + + .medium-quarter-vertical-padding { + padding-top: 0.375em; + padding-bottom: 0.375em; + } + + .horizontal-space { + margin-left: 1.5em; + margin-right: 1.5em; + } + + .medium-horizontal-space { + margin-left: 1.5em; + margin-right: 1.5em; + } + + .horizontal-padding { + padding-left: 1.5em; + padding-right: 1.5em; + } + + .medium-horizontal-padding { + padding-left: 1.5em; + padding-right: 1.5em; + } + + .double-horizontal-space { + margin-left: 3em; + margin-right: 3em; + } + + .medium-double-horizontal-space { + margin-left: 3em; + margin-right: 3em; + } + + .double-horizontal-padding { + padding-left: 3em; + padding-right: 3em; + } + + .medium-double-horizontal-padding { + padding-left: 3em; + padding-right: 3em; + } + + .half-horizontal-space { + margin-left: 0.75em; + margin-right: 0.75em; + } + + .medium-half-horizontal-space { + margin-left: 0.75em; + margin-right: 0.75em; + } + + .half-horizontal-padding { + padding-left: 0.75em; + padding-right: 0.75em; + } + + .medium-half-horizontal-padding { + padding-left: 0.75em; + padding-right: 0.75em; + } + + .quarter-horizontal-space { + margin-left: 0.375em; + margin-right: 0.375em; + } + + .medium-quarter-horizontal-space { + margin-left: 0.375em; + margin-right: 0.375em; + } + + .quarter-horizontal-padding { + padding-left: 0.375em; + padding-right: 0.375em; + } + + .medium-quarter-horizontal-padding { + padding-left: 0.375em; + padding-right: 0.375em; + } + + .top-space { + margin-top: 1.5em; + } + + .medium-top-space { + margin-top: 1.5em; + } + + .top-padding { + padding-top: 1.5em; + } + + .medium-top-padding { + padding-top: 1.5em; + } + + .double-top-space { + margin-top: 3em; + } + + .medium-double-top-space { + margin-top: 3em; + } + + .double-top-padding { + padding-top: 3em; + } + + .medium-double-top-padding { + padding-top: 3em; + } + + .half-top-space { + margin-top: 0.75em; + } + + .medium-half-top-space { + margin-top: 0.75em; + } + + .half-top-padding { + padding-top: 0.75em; + } + + .medium-half-top-padding { + padding-top: 0.75em; + } + + .quarter-top-space { + margin-top: 0.375em; + } + + .medium-quarter-top-space { + margin-top: 0.375em; + } + + .quarter-top-padding { + padding-top: 0.375em; + } + + .medium-quarter-top-padding { + padding-top: 0.375em; + } + + .right-space { + margin-right: 1.5em; + } + + .medium-right-space { + margin-right: 1.5em; + } + + .right-padding { + padding-right: 1.5em; + } + + .medium-right-padding { + padding-right: 1.5em; + } + + .double-right-space { + margin-right: 3em; + } + + .medium-double-right-space { + margin-right: 3em; + } + + .double-right-padding { + padding-right: 3em; + } + + .medium-double-right-padding { + padding-right: 3em; + } + + .half-right-space { + margin-right: 0.75em; + } + + .medium-half-right-space { + margin-right: 0.75em; + } + + .half-right-padding { + padding-right: 0.75em; + } + + .medium-half-right-padding { + padding-right: 0.75em; + } + + .quarter-right-space { + margin-right: 0.375em; + } + + .medium-quarter-right-space { + margin-right: 0.375em; + } + + .quarter-right-padding { + padding-right: 0.375em; + } + + .medium-quarter-right-padding { + padding-right: 0.375em; + } + + .bottom-space { + margin-bottom: 1.5em; + } + + .medium-bottom-space { + margin-bottom: 1.5em; + } + + .bottom-padding { + padding-bottom: 1.5em; + } + + .medium-bottom-padding { + padding-bottom: 1.5em; + } + + .double-bottom-space { + margin-bottom: 3em; + } + + .medium-double-bottom-space { + margin-bottom: 3em; + } + + .double-bottom-padding { + padding-bottom: 3em; + } + + .medium-double-bottom-padding { + padding-bottom: 3em; + } + + .half-bottom-space { + margin-bottom: 0.75em; + } + + .medium-half-bottom-space { + margin-bottom: 0.75em; + } + + .half-bottom-padding { + padding-bottom: 0.75em; + } + + .medium-half-bottom-padding { + padding-bottom: 0.75em; + } + + .quarter-bottom-space { + margin-bottom: 0.375em; + } + + .medium-quarter-bottom-space { + margin-bottom: 0.375em; + } + + .quarter-bottom-padding { + padding-bottom: 0.375em; + } + + .medium-quarter-bottom-padding { + padding-bottom: 0.375em; + } + + .left-space { + margin-left: 1.5em; + } + + .medium-left-space { + margin-left: 1.5em; + } + + .left-padding { + padding-left: 1.5em; + } + + .medium-left-padding { + padding-left: 1.5em; + } + + .double-left-space { + margin-left: 3em; + } + + .medium-double-left-space { + margin-left: 3em; + } + + .double-left-padding { + padding-left: 3em; + } + + .medium-double-left-padding { + padding-left: 3em; + } + + .half-left-space { + margin-left: 0.75em; + } + + .medium-half-left-space { + margin-left: 0.75em; + } + + .half-left-padding { + padding-left: 0.75em; + } + + .medium-half-left-padding { + padding-left: 0.75em; + } + + .quarter-left-space { + margin-left: 0.375em; + } + + .medium-quarter-left-space { + margin-left: 0.375em; + } + + .quarter-left-padding { + padding-left: 0.375em; + } + + .medium-quarter-left-padding { + padding-left: 0.375em; + } + + .hide-medium { + display: none !important; + } + + .show-medium { + display: inherit !important; + } + + table.show-medium { + display: table; + } + + thead.show-medium { + display: table-header-group; + } + + tbody.show-medium { + display: table-row-group; + } + + tfoot.show-medium { + display: table-footer-group; + } + + tr.show-medium { + display: table-row; + } + + th.show-medium, + td.show-medium { + display: table-cell; + } +} +@media screen and (min-width: 321px) and (max-width: 640px) { + .ink-grid { + padding: 0 1.25em; + } + + .column-group.gutters { + margin-left: -1.25em; + } + .column-group.gutters > [class*=small-], .column-group.gutters > [class*=all-], .column-group.gutters > .all-auto { + padding-left: 1.25em; + margin-bottom: 1.25em; + } + + .column-group.horizontal-gutters { + margin-left: -1.25em; + } + .column-group.horizontal-gutters > [class*=small-], .column-group.horizontal-gutters > [class*=all-], .column-group.horizontal-gutters > .all-auto { + padding-left: 1.25em; + } + + .column-group.vertical-gutters > [class*=small-], .column-group.vertical-gutters > [class*=all-], .column-group.vertical-gutters > .all-auto { + margin-bottom: 1.25em; + } + + .column-group.double-gutters { + margin-left: -2.5em; + } + .column-group.double-gutters > [class*=small-], .column-group.double-gutters > [class*=all-], .column-group.double-gutters > .all-auto { + padding-left: 2.5em; + margin-bottom: 2.5em; + } + + .column-group.double-horizontal-gutters { + margin-left: -2.5em; + } + .column-group.double-horizontal-gutters > [class*=small-], .column-group.double-horizontal-gutters > [class*=all-], .column-group.double-horizontal-gutters > .all-auto { + padding-left: 2.5em; + } + + .column-group.double-vertical-gutters > [class*=small-], .column-group.double-vertical-gutters > [class*=all-], .column-group.double-vertical-gutters > .all-auto { + margin-bottom: 2.5em; + } + + .column-group.half-gutters { + margin-left: -0.625em; + } + .column-group.half-gutters > [class*=small-], .column-group.half-gutters > [class*=all-], .column-group.half-gutters > .all-auto { + padding-left: 0.625em; + margin-bottom: 0.625em; + } + + .column-group.half-horizontal-gutters { + margin-left: -0.625em; + } + .column-group.half-horizontal-gutters > [class*=small-], .column-group.half-horizontal-gutters > [class*=all-], .column-group.half-horizontal-gutters > .all-auto { + padding-left: 0.625em; + } + + .column-group.half-vertical-gutters > [class*=small-], .column-group.half-vertical-gutters > [class*=all-], .column-group.half-vertical-gutters > .all-auto { + margin-bottom: 0.625em; + } + + .column-group.quarter-gutters { + margin-left: -0.3125em; + } + .column-group.quarter-gutters > [class*=small-], .column-group.quarter-gutters > [class*=all-], .column-group.quarter-gutters > .all-auto { + padding-left: 0.3125em; + margin-bottom: 0.3125em; + } + + .column-group.quarter-horizontal-gutters { + margin-left: -0.3125em; + } + .column-group.quarter-horizontal-gutters > [class*=small-], .column-group.quarter-horizontal-gutters > [class*=all-], .column-group.quarter-horizontal-gutters > .all-auto { + padding-left: 0.3125em; + } + + .column-group.quarter-vertical-gutters > [class*=small-], .column-group.quarter-vertical-gutters > [class*=all-], .column-group.quarter-vertical-gutters > .all-auto { + margin-bottom: 0.3125em; + } + + .column-group.small-gutters { + margin-left: -1.25em; + } + .column-group.small-gutters > [class*=small-], .column-group.small-gutters > [class*=all-], .column-group.small-gutters > .all-auto { + padding-left: 0.3125em; + margin-bottom: 0.3125em; + } + + .column-group.small-horizontal-gutters { + margin-left: -1.25em; + } + .column-group.small-horizontal-gutters > [class*=small-], .column-group.small-horizontal-gutters > [class*=all-], .column-group.small-horizontal-gutters > .all-auto { + padding-left: 1.25em; + } + + .column-group.small-vertical-gutters > [class*=small-], .column-group.small-vertical-gutters > [class*=all-], .column-group.small-vertical-gutters > .all-auto { + margin-bottom: 1.25em; + } + + .column-group.small-double-gutters { + margin-left: -2.5em; + } + .column-group.small-double-gutters > [class*=small-], .column-group.small-double-gutters > [class*=all-], .column-group.small-double-gutters > .all-auto { + padding-left: 2.5em; + margin-bottom: 2.5em; + } + + .column-group.small-double-horizontal-gutters { + margin-left: -2.5em; + } + .column-group.small-double-horizontal-gutters > [class*=small-], .column-group.small-double-horizontal-gutters > [class*=all-], .column-group.small-double-horizontal-gutters > .all-auto { + padding-left: 2.5em; + } + + .column-group.small-double-vertical-gutters > [class*=small-], .column-group.small-double-vertical-gutters > [class*=all-], .column-group.small-double-vertical-gutters > .all-auto { + margin-bottom: 2.5em; + } + + .column-group.small-half-gutters { + margin-left: -0.625em; + } + .column-group.small-half-gutters > [class*=small-], .column-group.small-half-gutters > [class*=all-], .column-group.small-half-gutters > .all-auto { + padding-left: 0.625em; + margin-bottom: 0.625em; + } + + .column-group.small-half-horizontal-gutters { + margin-left: -0.625em; + } + .column-group.small-half-horizontal-gutters > [class*=small-], .column-group.small-half-horizontal-gutters > [class*=all-], .column-group.small-half-horizontal-gutters > .all-auto { + padding-left: 0.625em; + } + + .column-group.small-half-vertical-gutters > [class*=small-], .column-group.small-half-vertical-gutters > [class*=all-], .column-group.small-half-vertical-gutters > .all-auto { + margin-bottom: 0.625em; + } + + .column-group.small-quarter-gutters { + margin-left: -0.3125em; + } + .column-group.small-quarter-gutters > [class*=small-], .column-group.small-quarter-gutters > [class*=all-], .column-group.small-quarter-gutters > .all-auto { + padding-left: 0.3125em; + margin-bottom: 0.3125em; + } + + .column-group.small-quarter-horizontal-gutters { + margin-left: -0.3125em; + } + .column-group.small-quarter-horizontal-gutters > [class*=small-], .column-group.small-quarter-horizontal-gutters > [class*=all-], .column-group.small-quarter-horizontal-gutters > .all-auto { + padding-left: 0.3125em; + } + + .column-group.small-quarter-vertical-gutters > [class*=small-], .column-group.small-quarter-vertical-gutters > [class*=all-], .column-group.small-quarter-vertical-gutters > .all-auto { + margin-bottom: 0.3125em; + } + + .column-group.small-no-gutters { + margin-left: 0; + } + .column-group.small-no-gutters > [class*=small-], .column-group.small-no-gutters > [class*=all-], .column-group.small-no-gutters > .all-auto { + padding-left: 0; + margin-bottom: 0; + } + + .small-5 { + width: 5%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-10 { + width: 10%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-15 { + width: 15%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-16 { + width: 16.66666%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-20 { + width: 20%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-25 { + width: 25%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-30 { + width: 30%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-33 { + width: 33.33333%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-35 { + width: 35%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-40 { + width: 40%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-45 { + width: 45%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-50 { + width: 50%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-55 { + width: 55%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-60 { + width: 60%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-65 { + width: 65%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-66 { + width: 66.66666%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-70 { + width: 70%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-75 { + width: 75%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-80 { + width: 80%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-85 { + width: 85%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-90 { + width: 90%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-95 { + width: 95%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-100 { + width: 100%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .small-auto { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -ms-flex: 1; + flex: 1; + } + + .ink-flex, + .column-group { + display: -webkit-flex; + display: flex; + display: -ms-flexbox; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + list-style: none; + } + .ink-flex.small-reverse, .ink-flex.reverse, + .column-group.small-reverse, + .column-group.reverse { + -webkit-flex-direction: row-reverse; + -moz-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } + .ink-flex.small-vertical, .ink-flex.vertical, + .column-group.small-vertical, + .column-group.vertical { + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + } + .ink-flex.small-vertical.small-reverse, .ink-flex.vertical.reverse, + .column-group.small-vertical.small-reverse, + .column-group.vertical.reverse { + -webkit-flex-direction: column-reverse; + -moz-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + } + + .small-order-1 { + order: 1; + -ms-flex-order: 1; + } + + .small-order-2 { + order: 2; + -ms-flex-order: 2; + } + + .small-order-3 { + order: 3; + -ms-flex-order: 3; + } + + .small-order-4 { + order: 4; + -ms-flex-order: 4; + } + + .small-order-5 { + order: 5; + -ms-flex-order: 5; + } + + .small-order-6 { + order: 6; + -ms-flex-order: 6; + } + + .small-order-7 { + order: 7; + -ms-flex-order: 7; + } + + .small-order-8 { + order: 8; + -ms-flex-order: 8; + } + + .small-order-9 { + order: 9; + -ms-flex-order: 9; + } + + .small-order-10 { + order: 10; + -ms-flex-order: 10; + } + + .column-group .small-auto { + -webkit-flex-basis: auto; + -ms-flex-basis: auto; + flex-basis: auto; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + } + + .push-top, + .small-push-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -moz-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; + } + + .push-bottom, + .small-push-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -moz-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; + } + + .push-middle, + .small-push-middle { + -webkit-box-align: center; + -webkit-align-items: center; + -moz-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-align-self: flex-center; + -ms-flex-item-align: center; + align-self: center; + } + + .push-left, + .small-push-left { + -webkit-justify-content: flex-start; + -moz-justify-content: flex-start; + -ms-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + float: left; + } + + .push-center, + .small-push-center { + float: none !important; + -webkit-justify-content: center; + -moz-justify-content: center; + -ms-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + margin-left: auto; + margin-right: auto; + } + + .push-right, + .small-push-right { + -webkit-justify-content: flex-end; + -moz-justify-content: flex-end; + -ms-justify-content: flex-end; + justify-content: flex-end; + -ms-flex-pack: end; + float: right; + } + + .small-align-left { + text-align: left; + } + + .small-align-center { + text-align: center; + } + + .small-align-right { + text-align: right; + } + + .space { + margin: 1.25em; + } + + .small-space { + margin: 1.25em; + } + + .padding { + padding: 1.25em; + } + + .small-padding { + padding: 1.25em; + } + + .double-space { + margin: 2.5em; + } + + .small-double-space { + margin: 2.5em; + } + + .double-padding { + padding: 2.5em; + } + + .small-double-padding { + padding: 2.5em; + } + + .half-space { + margin: 0.625em; + } + + .small-half-space { + margin: 0.625em; + } + + .half-padding { + padding: 0.625em; + } + + .small-half-padding { + padding: 0.625em; + } + + .quarter-space { + margin: 0.3125em; + } + + .small-quarter-space { + margin: 0.3125em; + } + + .quarter-padding { + padding: 0.3125em; + } + + .small-quarter-padding { + padding: 0.3125em; + } + + .vertical-space { + margin-top: 1.25em; + margin-bottom: 1.25em; + } + + .small-vertical-space { + margin-top: 1.25em; + margin-bottom: 1.25em; + } + + .vertical-padding { + padding-top: 1.25em; + padding-bottom: 1.25em; + } + + .small-vertical-padding { + padding-top: 1.25em; + padding-bottom: 1.25em; + } + + .double-vertical-space { + margin-top: 2.5em; + margin-bottom: 2.5em; + } + + .small-double-vertical-space { + margin-top: 2.5em; + margin-bottom: 2.5em; + } + + .double-vertical-padding { + padding-top: 2.5em; + padding-bottom: 2.5em; + } + + .small-double-vertical-padding { + padding-top: 2.5em; + padding-bottom: 2.5em; + } + + .half-vertical-space { + margin-top: 0.625em; + margin-bottom: 0.625em; + } + + .small-half-vertical-space { + margin-top: 0.625em; + margin-bottom: 0.625em; + } + + .half-vertical-padding { + padding-top: 0.625em; + padding-bottom: 0.625em; + } + + .small-half-vertical-padding { + padding-top: 0.625em; + padding-bottom: 0.625em; + } + + .quarter-vertical-space { + margin-top: 0.3125em; + margin-bottom: 0.3125em; + } + + .small-quarter-vertical-space { + margin-top: 0.3125em; + margin-bottom: 0.3125em; + } + + .quarter-vertical-padding { + padding-top: 0.3125em; + padding-bottom: 0.3125em; + } + + .small-quarter-vertical-padding { + padding-top: 0.3125em; + padding-bottom: 0.3125em; + } + + .horizontal-space { + margin-left: 1.25em; + margin-right: 1.25em; + } + + .small-horizontal-space { + margin-left: 1.25em; + margin-right: 1.25em; + } + + .horizontal-padding { + padding-left: 1.25em; + padding-right: 1.25em; + } + + .small-horizontal-padding { + padding-left: 1.25em; + padding-right: 1.25em; + } + + .double-horizontal-space { + margin-left: 2.5em; + margin-right: 2.5em; + } + + .small-double-horizontal-space { + margin-left: 2.5em; + margin-right: 2.5em; + } + + .double-horizontal-padding { + padding-left: 2.5em; + padding-right: 2.5em; + } + + .small-double-horizontal-padding { + padding-left: 2.5em; + padding-right: 2.5em; + } + + .half-horizontal-space { + margin-left: 0.625em; + margin-right: 0.625em; + } + + .small-half-horizontal-space { + margin-left: 0.625em; + margin-right: 0.625em; + } + + .half-horizontal-padding { + padding-left: 0.625em; + padding-right: 0.625em; + } + + .small-half-horizontal-padding { + padding-left: 0.625em; + padding-right: 0.625em; + } + + .quarter-horizontal-space { + margin-left: 0.3125em; + margin-right: 0.3125em; + } + + .small-quarter-horizontal-space { + margin-left: 0.3125em; + margin-right: 0.3125em; + } + + .quarter-horizontal-padding { + padding-left: 0.3125em; + padding-right: 0.3125em; + } + + .small-quarter-horizontal-padding { + padding-left: 0.3125em; + padding-right: 0.3125em; + } + + .top-space { + margin-top: 1.25em; + } + + .small-top-space { + margin-top: 1.25em; + } + + .top-padding { + padding-top: 1.25em; + } + + .small-top-padding { + padding-top: 1.25em; + } + + .double-top-space { + margin-top: 2.5em; + } + + .small-double-top-space { + margin-top: 2.5em; + } + + .double-top-padding { + padding-top: 2.5em; + } + + .small-double-top-padding { + padding-top: 2.5em; + } + + .half-top-space { + margin-top: 0.625em; + } + + .small-half-top-space { + margin-top: 0.625em; + } + + .half-top-padding { + padding-top: 0.625em; + } + + .small-half-top-padding { + padding-top: 0.625em; + } + + .quarter-top-space { + margin-top: 0.3125em; + } + + .small-quarter-top-space { + margin-top: 0.3125em; + } + + .quarter-top-padding { + padding-top: 0.3125em; + } + + .small-quarter-top-padding { + padding-top: 0.3125em; + } + + .right-space { + margin-right: 1.25em; + } + + .small-right-space { + margin-right: 1.25em; + } + + .right-padding { + padding-right: 1.25em; + } + + .small-right-padding { + padding-right: 1.25em; + } + + .double-right-space { + margin-right: 2.5em; + } + + .small-double-right-space { + margin-right: 2.5em; + } + + .double-right-padding { + padding-right: 2.5em; + } + + .small-double-right-padding { + padding-right: 2.5em; + } + + .half-right-space { + margin-right: 0.625em; + } + + .small-half-right-space { + margin-right: 0.625em; + } + + .half-right-padding { + padding-right: 0.625em; + } + + .small-half-right-padding { + padding-right: 0.625em; + } + + .quarter-right-space { + margin-right: 0.3125em; + } + + .small-quarter-right-space { + margin-right: 0.3125em; + } + + .quarter-right-padding { + padding-right: 0.3125em; + } + + .small-quarter-right-padding { + padding-right: 0.3125em; + } + + .bottom-space { + margin-bottom: 1.25em; + } + + .small-bottom-space { + margin-bottom: 1.25em; + } + + .bottom-padding { + padding-bottom: 1.25em; + } + + .small-bottom-padding { + padding-bottom: 1.25em; + } + + .double-bottom-space { + margin-bottom: 2.5em; + } + + .small-double-bottom-space { + margin-bottom: 2.5em; + } + + .double-bottom-padding { + padding-bottom: 2.5em; + } + + .small-double-bottom-padding { + padding-bottom: 2.5em; + } + + .half-bottom-space { + margin-bottom: 0.625em; + } + + .small-half-bottom-space { + margin-bottom: 0.625em; + } + + .half-bottom-padding { + padding-bottom: 0.625em; + } + + .small-half-bottom-padding { + padding-bottom: 0.625em; + } + + .quarter-bottom-space { + margin-bottom: 0.3125em; + } + + .small-quarter-bottom-space { + margin-bottom: 0.3125em; + } + + .quarter-bottom-padding { + padding-bottom: 0.3125em; + } + + .small-quarter-bottom-padding { + padding-bottom: 0.3125em; + } + + .left-space { + margin-left: 1.25em; + } + + .small-left-space { + margin-left: 1.25em; + } + + .left-padding { + padding-left: 1.25em; + } + + .small-left-padding { + padding-left: 1.25em; + } + + .double-left-space { + margin-left: 2.5em; + } + + .small-double-left-space { + margin-left: 2.5em; + } + + .double-left-padding { + padding-left: 2.5em; + } + + .small-double-left-padding { + padding-left: 2.5em; + } + + .half-left-space { + margin-left: 0.625em; + } + + .small-half-left-space { + margin-left: 0.625em; + } + + .half-left-padding { + padding-left: 0.625em; + } + + .small-half-left-padding { + padding-left: 0.625em; + } + + .quarter-left-space { + margin-left: 0.3125em; + } + + .small-quarter-left-space { + margin-left: 0.3125em; + } + + .quarter-left-padding { + padding-left: 0.3125em; + } + + .small-quarter-left-padding { + padding-left: 0.3125em; + } + + .hide-small { + display: none !important; + } + + .show-small { + display: inherit !important; + } + + table.show-small { + display: table; + } + + thead.show-small { + display: table-header-group; + } + + tbody.show-small { + display: table-row-group; + } + + tfoot.show-small { + display: table-footer-group; + } + + tr.show-small { + display: table-row; + } + + th.show-small, + td.show-small { + display: table-cell; + } +} +@media screen and (max-width: 320px) { + .ink-grid { + padding: 0 1em; + } + + .column-group.gutters { + margin-left: -1em; + } + .column-group.gutters > [class*=tiny-], .column-group.gutters > [class*=all-], .column-group.gutters > .all-auto { + padding-left: 1em; + margin-bottom: 1em; + } + + .column-group.horizontal-gutters { + margin-left: -1em; + } + .column-group.horizontal-gutters > [class*=tiny-], .column-group.horizontal-gutters > [class*=all-], .column-group.horizontal-gutters > .all-auto { + padding-left: 1em; + } + + .column-group.vertical-gutters > [class*=tiny-], .column-group.vertical-gutters > [class*=all-], .column-group.vertical-gutters > .all-auto { + margin-bottom: 1em; + } + + .column-group.double-gutters { + margin-left: -2em; + } + .column-group.double-gutters > [class*=tiny-], .column-group.double-gutters > [class*=all-], .column-group.double-gutters > .all-auto { + padding-left: 2em; + margin-bottom: 2em; + } + + .column-group.double-horizontal-gutters { + margin-left: -2em; + } + .column-group.double-horizontal-gutters > [class*=tiny-], .column-group.double-horizontal-gutters > [class*=all-], .column-group.double-horizontal-gutters > .all-auto { + padding-left: 2em; + } + + .column-group.double-vertical-gutters > [class*=tiny-], .column-group.double-vertical-gutters > [class*=all-], .column-group.double-vertical-gutters > .all-auto { + margin-bottom: 2em; + } + + .column-group.half-gutters { + margin-left: -0.5em; + } + .column-group.half-gutters > [class*=tiny-], .column-group.half-gutters > [class*=all-], .column-group.half-gutters > .all-auto { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + + .column-group.half-horizontal-gutters { + margin-left: -0.5em; + } + .column-group.half-horizontal-gutters > [class*=tiny-], .column-group.half-horizontal-gutters > [class*=all-], .column-group.half-horizontal-gutters > .all-auto { + padding-left: 0.5em; + } + + .column-group.half-vertical-gutters > [class*=tiny-], .column-group.half-vertical-gutters > [class*=all-], .column-group.half-vertical-gutters > .all-auto { + margin-bottom: 0.5em; + } + + .column-group.quarter-gutters { + margin-left: -0.25em; + } + .column-group.quarter-gutters > [class*=tiny-], .column-group.quarter-gutters > [class*=all-], .column-group.quarter-gutters > .all-auto { + padding-left: 0.25em; + margin-bottom: 0.25em; + } + + .column-group.quarter-horizontal-gutters { + margin-left: -0.25em; + } + .column-group.quarter-horizontal-gutters > [class*=tiny-], .column-group.quarter-horizontal-gutters > [class*=all-], .column-group.quarter-horizontal-gutters > .all-auto { + padding-left: 0.25em; + } + + .column-group.quarter-vertical-gutters > [class*=tiny-], .column-group.quarter-vertical-gutters > [class*=all-], .column-group.quarter-vertical-gutters > .all-auto { + margin-bottom: 0.25em; + } + + .column-group.tiny-gutters { + margin-left: -1em; + } + .column-group.tiny-gutters > [class*=tiny-], .column-group.tiny-gutters > [class*=all-], .column-group.tiny-gutters > .all-auto { + padding-left: 0.25em; + margin-bottom: 0.25em; + } + + .column-group.tiny-horizontal-gutters { + margin-left: -1em; + } + .column-group.tiny-horizontal-gutters > [class*=tiny-], .column-group.tiny-horizontal-gutters > [class*=all-], .column-group.tiny-horizontal-gutters > .all-auto { + padding-left: 1em; + } + + .column-group.tiny-vertical-gutters > [class*=tiny-], .column-group.tiny-vertical-gutters > [class*=all-], .column-group.tiny-vertical-gutters > .all-auto { + margin-bottom: 1em; + } + + .column-group.tiny-double-gutters { + margin-left: -2em; + } + .column-group.tiny-double-gutters > [class*=tiny-], .column-group.tiny-double-gutters > [class*=all-], .column-group.tiny-double-gutters > .all-auto { + padding-left: 2em; + margin-bottom: 2em; + } + + .column-group.tiny-double-horizontal-gutters { + margin-left: -2em; + } + .column-group.tiny-double-horizontal-gutters > [class*=tiny-], .column-group.tiny-double-horizontal-gutters > [class*=all-], .column-group.tiny-double-horizontal-gutters > .all-auto { + padding-left: 2em; + } + + .column-group.tiny-double-vertical-gutters > [class*=tiny-], .column-group.tiny-double-vertical-gutters > [class*=all-], .column-group.tiny-double-vertical-gutters > .all-auto { + margin-bottom: 2em; + } + + .column-group.tiny-half-gutters { + margin-left: -0.5em; + } + .column-group.tiny-half-gutters > [class*=tiny-], .column-group.tiny-half-gutters > [class*=all-], .column-group.tiny-half-gutters > .all-auto { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + + .column-group.tiny-half-horizontal-gutters { + margin-left: -0.5em; + } + .column-group.tiny-half-horizontal-gutters > [class*=tiny-], .column-group.tiny-half-horizontal-gutters > [class*=all-], .column-group.tiny-half-horizontal-gutters > .all-auto { + padding-left: 0.5em; + } + + .column-group.tiny-half-vertical-gutters > [class*=tiny-], .column-group.tiny-half-vertical-gutters > [class*=all-], .column-group.tiny-half-vertical-gutters > .all-auto { + margin-bottom: 0.5em; + } + + .column-group.tiny-quarter-gutters { + margin-left: -0.25em; + } + .column-group.tiny-quarter-gutters > [class*=tiny-], .column-group.tiny-quarter-gutters > [class*=all-], .column-group.tiny-quarter-gutters > .all-auto { + padding-left: 0.25em; + margin-bottom: 0.25em; + } + + .column-group.tiny-quarter-horizontal-gutters { + margin-left: -0.25em; + } + .column-group.tiny-quarter-horizontal-gutters > [class*=tiny-], .column-group.tiny-quarter-horizontal-gutters > [class*=all-], .column-group.tiny-quarter-horizontal-gutters > .all-auto { + padding-left: 0.25em; + } + + .column-group.tiny-quarter-vertical-gutters > [class*=tiny-], .column-group.tiny-quarter-vertical-gutters > [class*=all-], .column-group.tiny-quarter-vertical-gutters > .all-auto { + margin-bottom: 0.25em; + } + + .column-group.tiny-no-gutters { + margin-left: 0; + } + .column-group.tiny-no-gutters > [class*=tiny-], .column-group.tiny-no-gutters > [class*=all-], .column-group.tiny-no-gutters > .all-auto { + padding-left: 0; + margin-bottom: 0; + } + + .tiny-5 { + width: 5%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-10 { + width: 10%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-15 { + width: 15%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-16 { + width: 16.66666%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-20 { + width: 20%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-25 { + width: 25%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-30 { + width: 30%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-33 { + width: 33.33333%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-35 { + width: 35%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-40 { + width: 40%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-45 { + width: 45%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-50 { + width: 50%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-55 { + width: 55%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-60 { + width: 60%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-65 { + width: 65%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-66 { + width: 66.66666%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-70 { + width: 70%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-75 { + width: 75%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-80 { + width: 80%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-85 { + width: 85%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-90 { + width: 90%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-95 { + width: 95%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-100 { + width: 100%; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + } + + .tiny-auto { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -ms-flex: 1; + flex: 1; + } + + .ink-flex, + .column-group { + display: -webkit-flex; + display: flex; + display: -ms-flexbox; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + list-style: none; + } + .ink-flex.tiny-reverse, .ink-flex.reverse, + .column-group.tiny-reverse, + .column-group.reverse { + -webkit-flex-direction: row-reverse; + -moz-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } + .ink-flex.tiny-vertical, .ink-flex.vertical, + .column-group.tiny-vertical, + .column-group.vertical { + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + } + .ink-flex.tiny-vertical.tiny-reverse, .ink-flex.vertical.reverse, + .column-group.tiny-vertical.tiny-reverse, + .column-group.vertical.reverse { + -webkit-flex-direction: column-reverse; + -moz-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + } + + .tiny-order-1 { + order: 1; + -ms-flex-order: 1; + } + + .tiny-order-2 { + order: 2; + -ms-flex-order: 2; + } + + .tiny-order-3 { + order: 3; + -ms-flex-order: 3; + } + + .tiny-order-4 { + order: 4; + -ms-flex-order: 4; + } + + .tiny-order-5 { + order: 5; + -ms-flex-order: 5; + } + + .tiny-order-6 { + order: 6; + -ms-flex-order: 6; + } + + .tiny-order-7 { + order: 7; + -ms-flex-order: 7; + } + + .tiny-order-8 { + order: 8; + -ms-flex-order: 8; + } + + .tiny-order-9 { + order: 9; + -ms-flex-order: 9; + } + + .tiny-order-10 { + order: 10; + -ms-flex-order: 10; + } + + .column-group .tiny-auto { + -webkit-flex-basis: auto; + -ms-flex-basis: auto; + flex-basis: auto; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + } + + .push-top, + .tiny-push-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -moz-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; + } + + .push-bottom, + .tiny-push-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -moz-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; + } + + .push-middle, + .tiny-push-middle { + -webkit-box-align: center; + -webkit-align-items: center; + -moz-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-align-self: flex-center; + -ms-flex-item-align: center; + align-self: center; + } + + .push-left, + .tiny-push-left { + -webkit-justify-content: flex-start; + -moz-justify-content: flex-start; + -ms-justify-content: flex-start; + justify-content: flex-start; + -ms-flex-pack: start; + float: left; + } + + .push-center, + .tiny-push-center { + float: none !important; + -webkit-justify-content: center; + -moz-justify-content: center; + -ms-justify-content: center; + justify-content: center; + -ms-flex-pack: center; + margin-left: auto; + margin-right: auto; + } + + .push-right, + .tiny-push-right { + -webkit-justify-content: flex-end; + -moz-justify-content: flex-end; + -ms-justify-content: flex-end; + justify-content: flex-end; + -ms-flex-pack: end; + float: right; + } + + .tiny-align-left { + text-align: left; + } + + .tiny-align-center { + text-align: center; + } + + .tiny-align-right { + text-align: right; + } + + .space { + margin: 1em; + } + + .tiny-space { + margin: 1em; + } + + .padding { + padding: 1em; + } + + .tiny-padding { + padding: 1em; + } + + .double-space { + margin: 2em; + } + + .tiny-double-space { + margin: 2em; + } + + .double-padding { + padding: 2em; + } + + .tiny-double-padding { + padding: 2em; + } + + .half-space { + margin: 0.5em; + } + + .tiny-half-space { + margin: 0.5em; + } + + .half-padding { + padding: 0.5em; + } + + .tiny-half-padding { + padding: 0.5em; + } + + .quarter-space { + margin: 0.25em; + } + + .tiny-quarter-space { + margin: 0.25em; + } + + .quarter-padding { + padding: 0.25em; + } + + .tiny-quarter-padding { + padding: 0.25em; + } + + .vertical-space { + margin-top: 1em; + margin-bottom: 1em; + } + + .tiny-vertical-space { + margin-top: 1em; + margin-bottom: 1em; + } + + .vertical-padding { + padding-top: 1em; + padding-bottom: 1em; + } + + .tiny-vertical-padding { + padding-top: 1em; + padding-bottom: 1em; + } + + .double-vertical-space { + margin-top: 2em; + margin-bottom: 2em; + } + + .tiny-double-vertical-space { + margin-top: 2em; + margin-bottom: 2em; + } + + .double-vertical-padding { + padding-top: 2em; + padding-bottom: 2em; + } + + .tiny-double-vertical-padding { + padding-top: 2em; + padding-bottom: 2em; + } + + .half-vertical-space { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + + .tiny-half-vertical-space { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + + .half-vertical-padding { + padding-top: 0.5em; + padding-bottom: 0.5em; + } + + .tiny-half-vertical-padding { + padding-top: 0.5em; + padding-bottom: 0.5em; + } + + .quarter-vertical-space { + margin-top: 0.25em; + margin-bottom: 0.25em; + } + + .tiny-quarter-vertical-space { + margin-top: 0.25em; + margin-bottom: 0.25em; + } + + .quarter-vertical-padding { + padding-top: 0.25em; + padding-bottom: 0.25em; + } + + .tiny-quarter-vertical-padding { + padding-top: 0.25em; + padding-bottom: 0.25em; + } + + .horizontal-space { + margin-left: 1em; + margin-right: 1em; + } + + .tiny-horizontal-space { + margin-left: 1em; + margin-right: 1em; + } + + .horizontal-padding { + padding-left: 1em; + padding-right: 1em; + } + + .tiny-horizontal-padding { + padding-left: 1em; + padding-right: 1em; + } + + .double-horizontal-space { + margin-left: 2em; + margin-right: 2em; + } + + .tiny-double-horizontal-space { + margin-left: 2em; + margin-right: 2em; + } + + .double-horizontal-padding { + padding-left: 2em; + padding-right: 2em; + } + + .tiny-double-horizontal-padding { + padding-left: 2em; + padding-right: 2em; + } + + .half-horizontal-space { + margin-left: 0.5em; + margin-right: 0.5em; + } + + .tiny-half-horizontal-space { + margin-left: 0.5em; + margin-right: 0.5em; + } + + .half-horizontal-padding { + padding-left: 0.5em; + padding-right: 0.5em; + } + + .tiny-half-horizontal-padding { + padding-left: 0.5em; + padding-right: 0.5em; + } + + .quarter-horizontal-space { + margin-left: 0.25em; + margin-right: 0.25em; + } + + .tiny-quarter-horizontal-space { + margin-left: 0.25em; + margin-right: 0.25em; + } + + .quarter-horizontal-padding { + padding-left: 0.25em; + padding-right: 0.25em; + } + + .tiny-quarter-horizontal-padding { + padding-left: 0.25em; + padding-right: 0.25em; + } + + .top-space { + margin-top: 1em; + } + + .tiny-top-space { + margin-top: 1em; + } + + .top-padding { + padding-top: 1em; + } + + .tiny-top-padding { + padding-top: 1em; + } + + .double-top-space { + margin-top: 2em; + } + + .tiny-double-top-space { + margin-top: 2em; + } + + .double-top-padding { + padding-top: 2em; + } + + .tiny-double-top-padding { + padding-top: 2em; + } + + .half-top-space { + margin-top: 0.5em; + } + + .tiny-half-top-space { + margin-top: 0.5em; + } + + .half-top-padding { + padding-top: 0.5em; + } + + .tiny-half-top-padding { + padding-top: 0.5em; + } + + .quarter-top-space { + margin-top: 0.25em; + } + + .tiny-quarter-top-space { + margin-top: 0.25em; + } + + .quarter-top-padding { + padding-top: 0.25em; + } + + .tiny-quarter-top-padding { + padding-top: 0.25em; + } + + .right-space { + margin-right: 1em; + } + + .tiny-right-space { + margin-right: 1em; + } + + .right-padding { + padding-right: 1em; + } + + .tiny-right-padding { + padding-right: 1em; + } + + .double-right-space { + margin-right: 2em; + } + + .tiny-double-right-space { + margin-right: 2em; + } + + .double-right-padding { + padding-right: 2em; + } + + .tiny-double-right-padding { + padding-right: 2em; + } + + .half-right-space { + margin-right: 0.5em; + } + + .tiny-half-right-space { + margin-right: 0.5em; + } + + .half-right-padding { + padding-right: 0.5em; + } + + .tiny-half-right-padding { + padding-right: 0.5em; + } + + .quarter-right-space { + margin-right: 0.25em; + } + + .tiny-quarter-right-space { + margin-right: 0.25em; + } + + .quarter-right-padding { + padding-right: 0.25em; + } + + .tiny-quarter-right-padding { + padding-right: 0.25em; + } + + .bottom-space { + margin-bottom: 1em; + } + + .tiny-bottom-space { + margin-bottom: 1em; + } + + .bottom-padding { + padding-bottom: 1em; + } + + .tiny-bottom-padding { + padding-bottom: 1em; + } + + .double-bottom-space { + margin-bottom: 2em; + } + + .tiny-double-bottom-space { + margin-bottom: 2em; + } + + .double-bottom-padding { + padding-bottom: 2em; + } + + .tiny-double-bottom-padding { + padding-bottom: 2em; + } + + .half-bottom-space { + margin-bottom: 0.5em; + } + + .tiny-half-bottom-space { + margin-bottom: 0.5em; + } + + .half-bottom-padding { + padding-bottom: 0.5em; + } + + .tiny-half-bottom-padding { + padding-bottom: 0.5em; + } + + .quarter-bottom-space { + margin-bottom: 0.25em; + } + + .tiny-quarter-bottom-space { + margin-bottom: 0.25em; + } + + .quarter-bottom-padding { + padding-bottom: 0.25em; + } + + .tiny-quarter-bottom-padding { + padding-bottom: 0.25em; + } + + .left-space { + margin-left: 1em; + } + + .tiny-left-space { + margin-left: 1em; + } + + .left-padding { + padding-left: 1em; + } + + .tiny-left-padding { + padding-left: 1em; + } + + .double-left-space { + margin-left: 2em; + } + + .tiny-double-left-space { + margin-left: 2em; + } + + .double-left-padding { + padding-left: 2em; + } + + .tiny-double-left-padding { + padding-left: 2em; + } + + .half-left-space { + margin-left: 0.5em; + } + + .tiny-half-left-space { + margin-left: 0.5em; + } + + .half-left-padding { + padding-left: 0.5em; + } + + .tiny-half-left-padding { + padding-left: 0.5em; + } + + .quarter-left-space { + margin-left: 0.25em; + } + + .tiny-quarter-left-space { + margin-left: 0.25em; + } + + .quarter-left-padding { + padding-left: 0.25em; + } + + .tiny-quarter-left-padding { + padding-left: 0.25em; + } + + .hide-tiny { + display: none !important; + } + + .show-tiny { + display: inherit !important; + } + + table.show-tiny { + display: table; + } + + thead.show-tiny { + display: table-header-group; + } + + tbody.show-tiny { + display: table-row-group; + } + + tfoot.show-tiny { + display: table-footer-group; + } + + tr.show-tiny { + display: table-row; + } + + th.show-tiny, + td.show-tiny { + display: table-cell; + } +} +@media screen and (min-width: 1261px) { + html { + font-size: 1.08em; + } + html:after { + content: '[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]'; + display: none; + } +} +@media screen and (min-width: 961px) and (max-width: 1260px) { + html { + font-size: 1.05em; + } + html:after { + content: '[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]'; + display: none; + } +} +@media screen and (min-width: 641px) and (max-width: 960px) { + html { + font-size: 1em; + } + html:after { + content: '[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]'; + display: none; + } +} +@media screen and (min-width: 321px) and (max-width: 640px) { + html { + font-size: 0.98em; + } + html:after { + content: '[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]'; + display: none; + } +} +@media screen and (max-width: 320px) { + html { + font-size: 0.97em; + } + html:after { + content: '[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]'; + display: none; + } +} +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-thin-webfont.eot'); + src: url('../fonts/Roboto/roboto-thin-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-thin-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-thin-webfont.ttf') format('truetype'); + font-weight: 100; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-thinitalic-webfont.eot'); + src: url('../fonts/Roboto/roboto-thinitalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-thinitalic-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-thinitalic-webfont.ttf') format('truetype'); + font-weight: 100; + font-style: italic; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-light-webfont.eot'); + src: url('../fonts/Roboto/roboto-light-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-light-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-light-webfont.ttf') format('truetype'); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-lightitalic-webfont.eot'); + src: url('../fonts/Roboto/roboto-lightitalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-lightitalic-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-lightitalic-webfont.ttf') format('truetype'); + font-weight: 300; + font-style: italic; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-regular-webfont.eot'); + src: url('../fonts/Roboto/roboto-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-regular-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-regular-webfont.ttf') format('truetype'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-italic-webfont.eot'); + src: url('../fonts/Roboto/roboto-italic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-italic-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-italic-webfont.ttf') format('truetype'); + font-weight: 400; + font-style: italic; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-medium-webfont.eot'); + src: url('../fonts/Roboto/roboto-medium-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-medium-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-medium-webfont.ttf') format('truetype'); + font-weight: 500; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-mediumitalic-webfont.eot'); + src: url('../fonts/Roboto/roboto-mediumitalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-mediumitalic-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-mediumitalic-webfont.ttf') format('truetype'); + font-weight: 500; + font-style: italic; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-bold-webfont.eot'); + src: url('../fonts/Roboto/roboto-bold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-bold-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-bold-webfont.ttf') format('truetype'); + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-bolditalic-webfont.eot'); + src: url('../fonts/Roboto/roboto-bolditalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-bolditalic-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-bolditalic-webfont.ttf') format('truetype'); + font-weight: 700; + font-style: italic; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-black-webfont.eot'); + src: url('../fonts/Roboto/roboto-black-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-black-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-black-webfont.ttf') format('truetype'); + font-weight: 900; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-blackitalic-webfont.eot'); + src: url('../fonts/Roboto/roboto-blackitalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-blackitalic-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-blackitalic-webfont.ttf') format('truetype'); + font-weight: 900; + font-style: italic; +} + +@font-face { + font-family: "Roboto_condensed"; + src: url('../fonts/Roboto_condensed/robotocondensed-light-webfont.eot'); + src: url('../fonts/Roboto_condensed/robotocondensed-light-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_condensed/robotocondensed-light-webfont.woff') format('woff'), url('../fonts/Roboto_condensed/robotocondensed-light-webfont.ttf') format('truetype'); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: "Roboto_condensed"; + src: url('../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.eot'); + src: url('../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.woff') format('woff'), url('../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.ttf') format('truetype'); + font-weight: 300; + font-style: italic; +} + +@font-face { + font-family: "Roboto_condensed"; + src: url('../fonts/Roboto_condensed/robotocondensed-regular-webfont.eot'); + src: url('../fonts/Roboto_condensed/robotocondensed-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_condensed/robotocondensed-regular-webfont.woff') format('woff'), url('../fonts/Roboto_condensed/robotocondensed-regular-webfont.ttf') format('truetype'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: "Roboto_condensed"; + src: url('../fonts/Roboto_condensed/robotocondensed-italic-webfont.eot'); + src: url('../fonts/Roboto_condensed/robotocondensed-italic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_condensed/robotocondensed-italic-webfont.woff') format('woff'), url('../fonts/Roboto_condensed/robotocondensed-italic-webfont.ttf') format('truetype'); + font-weight: 400; + font-style: italic; +} + +@font-face { + font-family: "Roboto_condensed"; + src: url('../fonts/Roboto_condensed/robotocondensed-bold-webfont.eot'); + src: url('../fonts/Roboto_condensed/robotocondensed-bold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_condensed/robotocondensed-bold-webfont.woff') format('woff'), url('../fonts/Roboto_condensed/robotocondensed-bold-webfont.ttf') format('truetype'); + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: "Roboto_condensed"; + src: url('../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.eot'); + src: url('../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.woff') format('woff'), url('../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.ttf') format('truetype'); + font-weight: 700; + font-style: italic; +} + +@font-face { + font-family: "Roboto_slab"; + src: url('../fonts/Roboto_slab/robotoslab-thin-webfont.eot'); + src: url('../fonts/Roboto_slab/robotoslab-thin-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_slab/robotoslab-thin-webfont.woff') format('woff'), url('../fonts/Roboto_slab/robotoslab-thin-webfont.ttf') format('truetype'); + font-weight: 100; + font-style: normal; +} + +@font-face { + font-family: "Roboto_slab"; + src: url('../fonts/Roboto_slab/robotoslab-light-webfont.eot'); + src: url('../fonts/Roboto_slab/robotoslab-light-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_slab/robotoslab-light-webfont.woff') format('woff'), url('../fonts/Roboto_slab/robotoslab-light-webfont.ttf') format('truetype'); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: "Roboto_slab"; + src: url('../fonts/Roboto_slab/robotoslab-regular-webfont.eot'); + src: url('../fonts/Roboto_slab/robotoslab-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_slab/robotoslab-regular-webfont.woff') format('woff'), url('../fonts/Roboto_slab/robotoslab-regular-webfont.ttf') format('truetype'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: "Roboto_slab"; + src: url('../fonts/Roboto_slab/robotoslab-bold-webfont.eot'); + src: url('../fonts/Roboto_slab/robotoslab-bold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_slab/robotoslab-bold-webfont.woff') format('woff'), url('../fonts/Roboto_slab/robotoslab-bold-webfont.ttf') format('truetype'); + font-weight: 700; + font-style: normal; +} + +.ink-label { + padding: 0 0.35em; + white-space: nowrap; +} + +.ink-navigation { + overflow: visible; +} +.ink-navigation ul { + list-style-type: none; + padding: 0; + margin: 0; +} +.ink-navigation ul li { + margin: 0; +} + +.ink-navigation .breadcrumbs li { + line-height: 2.7em; + display: inline; +} +.ink-navigation .breadcrumbs li a { + display: inline; + padding: 0; +} +.ink-navigation .breadcrumbs li a:hover { + background: transparent; +} +.ink-navigation .breadcrumbs li.active a { + cursor: default; + text-decoration: none; +} +.ink-navigation .breadcrumbs li:first-child a { + padding-left: 1.2em; +} +.ink-navigation .breadcrumbs li:after { + content: '/'; + display: inline; + margin: 0 .7em; +} +.ink-navigation .breadcrumbs li:last-child:after { + content: ''; + display: none; +} + +.ink-dropdown, +.ink-navigation { + position: relative; +} +.ink-dropdown ul.dropdown-menu, +.ink-dropdown ul.dropdown, +.ink-navigation ul.dropdown-menu, +.ink-navigation ul.dropdown { + position: absolute; + top: 110%; + background: white; + z-index: 30; + border: 1px solid #d9d9d9; + height: auto; + width: auto; + min-width: 10em; + max-width: 12em; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + -webkit-box-shadow: rgba(100, 100, 100, 0.3) 0 0 1px 0; + -moz-box-shadow: rgba(100, 100, 100, 0.3) 0 0 1px 0; + box-shadow: rgba(100, 100, 100, 0.3) 0 0 1px 0; + padding: .3em 0; + margin-left: 0px; + padding: .35em 0; + font-size: .85em; +} +.ink-dropdown ul.dropdown-menu li, +.ink-dropdown ul.dropdown li, +.ink-navigation ul.dropdown-menu li, +.ink-navigation ul.dropdown li { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + -webkit-border-radius: none; + -moz-border-radius: none; + -ms-border-radius: none; + -o-border-radius: none; + border-radius: none; + width: auto; + height: auto; + min-height: auto; + display: list-item; + float: none; + margin: 0; + text-align: left; + text-transform: none; + padding: 0; + position: relative; + list-style-type: none; +} +.ink-dropdown ul.dropdown-menu li.separator-above, +.ink-dropdown ul.dropdown li.separator-above, +.ink-navigation ul.dropdown-menu li.separator-above, +.ink-navigation ul.dropdown li.separator-above { + padding-top: .35em; + margin-top: .35em; + border-top: 1px solid #d9d9d9; +} +.ink-dropdown ul.dropdown-menu li.separator-below, +.ink-dropdown ul.dropdown li.separator-below, +.ink-navigation ul.dropdown-menu li.separator-below, +.ink-navigation ul.dropdown li.separator-below { + padding-bottom: .35em; + margin-bottom: .35em; + border-bottom: 1px solid #d9d9d9; +} +.ink-dropdown ul.dropdown-menu li.heading, +.ink-dropdown ul.dropdown li.heading, +.ink-navigation ul.dropdown-menu li.heading, +.ink-navigation ul.dropdown li.heading { + font-weight: 700; + padding-bottom: .35em; + margin-bottom: .35em; + padding: .5em .8em; + color: #333333; +} +.ink-dropdown ul.dropdown-menu li a, +.ink-dropdown ul.dropdown li a, +.ink-navigation ul.dropdown-menu li a, +.ink-navigation ul.dropdown li a { + color: #444; + padding: .5em .8em; + display: block; + clear: both; +} +.ink-dropdown ul.dropdown-menu li a:hover, +.ink-dropdown ul.dropdown li a:hover, +.ink-navigation ul.dropdown-menu li a:hover, +.ink-navigation ul.dropdown li a:hover { + background: #f2f2f2; + text-decoration: none; +} +.ink-dropdown ul.dropdown-menu li.active a, +.ink-dropdown ul.dropdown li.active a, +.ink-navigation ul.dropdown-menu li.active a, +.ink-navigation ul.dropdown li.active a { + background: #999999; + color: white; +} +.ink-dropdown ul.dropdown-menu li.disabled a, +.ink-dropdown ul.dropdown li.disabled a, +.ink-navigation ul.dropdown-menu li.disabled a, +.ink-navigation ul.dropdown li.disabled a { + color: #b3b3b3; +} +.ink-dropdown ul.dropdown-menu li.disabled a:hover, +.ink-dropdown ul.dropdown li.disabled a:hover, +.ink-navigation ul.dropdown-menu li.disabled a:hover, +.ink-navigation ul.dropdown li.disabled a:hover { + background: transparent; + cursor: default; +} +.ink-dropdown ul.dropdown-menu li.submenu, +.ink-dropdown ul.dropdown li.submenu, +.ink-navigation ul.dropdown-menu li.submenu, +.ink-navigation ul.dropdown li.submenu { + overflow: visible; +} +.ink-dropdown ul.dropdown-menu li.submenu > a, +.ink-dropdown ul.dropdown li.submenu > a, +.ink-navigation ul.dropdown-menu li.submenu > a, +.ink-navigation ul.dropdown li.submenu > a { + white-space: nowrap; +} +.ink-dropdown ul.dropdown-menu li.submenu > a:after, +.ink-dropdown ul.dropdown li.submenu > a:after, +.ink-navigation ul.dropdown-menu li.submenu > a:after, +.ink-navigation ul.dropdown li.submenu > a:after { + content: "\f0da"; + width: auto; + margin-left: .8em; + font-family: FontAwesome; + color: #b3b3b3; +} +.ink-dropdown ul.dropdown-menu li.submenu:hover > a, +.ink-dropdown ul.dropdown li.submenu:hover > a, +.ink-navigation ul.dropdown-menu li.submenu:hover > a, +.ink-navigation ul.dropdown li.submenu:hover > a { + background: #f2f2f2; + text-decoration: none; +} +.ink-dropdown ul.dropdown-menu li.submenu:hover:hover > ul.dropdown-menu, .ink-dropdown ul.dropdown-menu li.submenu:hover:hover > ul.dropdown, +.ink-dropdown ul.dropdown li.submenu:hover:hover > ul.dropdown-menu, +.ink-dropdown ul.dropdown li.submenu:hover:hover > ul.dropdown, +.ink-navigation ul.dropdown-menu li.submenu:hover:hover > ul.dropdown-menu, +.ink-navigation ul.dropdown-menu li.submenu:hover:hover > ul.dropdown, +.ink-navigation ul.dropdown li.submenu:hover:hover > ul.dropdown-menu, +.ink-navigation ul.dropdown li.submenu:hover:hover > ul.dropdown { + display: block; +} +.ink-dropdown ul.dropdown-menu li.submenu > ul.dropdown-menu, .ink-dropdown ul.dropdown-menu li.submenu > ul.dropdown, +.ink-dropdown ul.dropdown li.submenu > ul.dropdown-menu, +.ink-dropdown ul.dropdown li.submenu > ul.dropdown, +.ink-navigation ul.dropdown-menu li.submenu > ul.dropdown-menu, +.ink-navigation ul.dropdown-menu li.submenu > ul.dropdown, +.ink-navigation ul.dropdown li.submenu > ul.dropdown-menu, +.ink-navigation ul.dropdown li.submenu > ul.dropdown { + font-size: inherit; + position: absolute; + top: -.36em; + left: 100%; + display: none; +} + +.ink-navigation ul.pagination { + overflow: hidden; + *zoom: 1; +} +.ink-navigation ul.pagination li { + line-height: 1.7; + float: left; +} +.ink-navigation ul.pagination li a { + padding: 0.5em 1em; + display: block; + float: left; +} +.ink-navigation ul.pagination.dotted li a { + display: block; + height: 1em; + width: 1em; + margin-right: .6em; + padding: 0; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; + text-indent: 99999px; +} +.ink-navigation ul.pagination.dotted li a:first-child, .ink-navigation ul.pagination.dotted li a:last-child { + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; +} +.ink-navigation ul.pagination.chevron li { + display: none; +} +.ink-navigation ul.pagination.chevron li.next, .ink-navigation ul.pagination.chevron li.previous { + display: block; +} +.ink-navigation ul.pagination.chevron li.next a, .ink-navigation ul.pagination.chevron li.previous a { + display: block; + position: absolute; + top: 35%; + padding: 0 .5em; + margin: 0; + font-family: FontAwesome; + font-size: 4em; +} +.ink-navigation ul.pagination.chevron li.next a span, .ink-navigation ul.pagination.chevron li.previous a span { + text-indent: -99999px; + display: inline-block; +} +.ink-navigation ul.pagination.chevron li.disabled a { + color: rgba(255, 255, 255, 0.6); + text-shadow: none; +} +.ink-navigation ul.pagination.chevron li.disabled a:hover, .ink-navigation ul.pagination.chevron li.disabled a:focus { + color: rgba(255, 255, 255, 0.6); +} +.ink-navigation ul.pagination.chevron li.previous a { + left: 0; +} +.ink-navigation ul.pagination.chevron li.previous a:after { + content: "\f137"; +} +.ink-navigation ul.pagination.chevron li.next a { + right: 0; +} +.ink-navigation ul.pagination.chevron li.next a:after { + content: "\f138"; +} + +.ink-navigation .pills { + overflow: hidden; + *zoom: 1; +} +.ink-navigation .pills li { + overflow: hidden; + display: block; + float: left; + margin: 0 .5em .5em 0; + line-height: 1.7; +} +.ink-navigation .pills li a { + display: block; + padding: 0.5em 1em; +} +.ink-navigation .pills li a:hover { + text-decoration: none; +} +.ink-navigation .pills li.active a, .ink-navigation .pills li.disabled a { + cursor: default; +} + +.ink-navigation ul { + *height: 100%; +} +.ink-navigation ul.menu { + *zoom: 1; +} +.ink-navigation ul.menu:after { + content: ""; + display: table; + clear: both; +} +.ink-navigation ul.menu li { + *height: 100%; +} +.ink-navigation ul.menu li:hover > ul.submenu { + display: block; +} +.ink-navigation ul.menu li ul.submenu { + display: none; + position: absolute; + z-index: 10; +} +.ink-navigation ul.menu li ul.submenu li a { + padding: 0.5em 1em; + display: block; + float: none; +} +.ink-navigation ul.menu.horizontal li { + float: left; + position: relative; +} +.ink-navigation ul.menu.horizontal li a { + padding: 0.5em 1em; + display: block; + line-height: 1.7; +} +.ink-navigation ul.menu.horizontal li .control { + margin-top: .3em; +} +.ink-navigation ul.menu.horizontal li ul.submenu { + min-width: 100%; + left: 0; + z-index: 50; + top: auto; + left: auto; +} +.ink-navigation ul.menu.horizontal li ul.submenu li { + float: none; +} +.ink-navigation ul.menu.horizontal li ul.submenu li .flyout { + position: absolute; + top: 0; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.menu.horizontal li ul.submenu li .flyout.left { + right: 100%; +} +.ink-navigation ul.menu.horizontal li ul.submenu li .flyout.right { + left: 100%; +} +.ink-navigation ul.menu.vertical li { + line-height: 1.7; + position: relative; +} +.ink-navigation ul.menu.vertical li a { + padding: 0.5em 1em; + display: block; +} +.ink-navigation ul.menu.vertical li ul.submenu { + position: relative; + top: auto; + left: auto; +} +.ink-navigation ul.menu.vertical li ul.submenu.flyout { + position: absolute; + min-width: 8em; + top: 0; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.menu.vertical li ul.submenu.flyout.left { + right: 100%; +} +.ink-navigation ul.menu.vertical li ul.submenu.flyout.right { + left: 100%; +} + +table.ink-table { + width: 100%; + border-collapse: collapse; + border-spacing: 0; +} +table.ink-table tr th { + padding: 5px 10px; + line-height: 1.3; +} +table.ink-table tr th[data-sortable="true"]:hover { + cursor: pointer; + text-decoration: underline; +} +table.ink-table tr th[data-sortable="true"]:hover i { + text-decoration: none; +} +table.ink-table tr th[data-sortable="true"] i { + padding-left: .5em; +} +table.ink-table tr td { + padding: 5px 10px; + line-height: 1.3; +} +table.ink-table.hover tbody tr:hover { + cursor: pointer; +} +table.ink-table.bordered { + border-collapse: separate; +} + +html { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +body { + color: #555555; + font-family: "Roboto", Arial, Helvetica, sans-serif; + line-height: 1.45; +} + +.fw-100, .fw-light { + font-weight: 100; +} + +.fw-300, .fw-thin { + font-weight: 300; +} + +.fw-400, .fw-regular { + font-weight: 400; +} + +.fw-500, .fw-medium { + font-weight: 500; +} + +.fw-700, .fw-bold { + font-weight: 700; +} + +.fw-900, .fw-black { + font-weight: 900; +} + +.condensed-300, .condensed-thin { + font-weight: 200; + font-family: Roboto_condensed, Arial, Helvetica, sans-serif; +} + +.condensed-400, .condensed-regular { + font-weight: 400; + font-family: Roboto_condensed, Arial, Helvetica, sans-serif; +} + +.condensed-700, .condensed-bold { + font-weight: 700; + font-family: Roboto_condensed, Arial, Helvetica, sans-serif; +} + +.slab-100, .slab-light { + font-weight: 100; + font-family: Roboto_slab, Arial, Helvetica, sans-serif; +} + +.slab-300, .slab-thin { + font-weight: 300; + font-family: Roboto_slab, Arial, Helvetica, sans-serif; +} + +.slab-400, .slab-regular { + font-weight: 400; + font-family: Roboto_slab, Arial, Helvetica, sans-serif; +} + +.slab-700, .slab-bold { + font-weight: 700; + font-family: Roboto_slab, Arial, Helvetica, sans-serif; +} + +.sans { + font-family: "Roboto", Arial, Helvetica, sans-serif; +} + +.serif { + font-family: Times, "Times New Roman", serif; +} + +.monospace { + font-family: Monaco, "Andale Mono", "Courier New", monospace; +} + +.condensed { + font-family: Roboto_condensed, Arial, Helvetica, sans-serif; +} + +.slab { + font-family: Roboto_slab, Arial, Helvetica, sans-serif; +} + +.italic { + font-style: italic; +} + +.uppercase { + text-transform: uppercase; +} + +.lowercase { + text-transform: lowercase; +} + +.capitalizer { + text-transform: capitalize; +} + +.fa { + font-size: 14px; +} + +a { + color: #6998c9; + text-decoration: none; + cursor: pointer; +} +a:hover { + color: #007ed5; + text-decoration: underline; +} + +h1 { + font-size: 2.2em; + margin-top: 0; + margin-bottom: 0.57539em; +} + +h2 { + font-size: 1.75em; + margin-top: 0; + margin-bottom: 0.72334em; +} + +h3 { + font-size: 1.5em; + margin-top: 0; + margin-bottom: 0.8439em; +} + +h4 { + font-size: 1.25em; + margin-top: 0; + margin-bottom: 1.01268em; +} + +h5 { + font-size: 1.1em; + margin-top: 0; + margin-bottom: 1.15077em; +} + +h6 { + font-size: 1.1em; + margin-top: 0; + margin-bottom: 1.15077em; +} + +p { + font-size: 1em; + margin-top: 0; + margin-bottom: 1.26585em; +} + +table { + font-size: 1em; + margin-top: 0; + margin-bottom: 1.26585em; +} + +h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, p:first-child { + margin-top: 0; +} + +/* Headings */ +h1, h2, h3, h4, h5, h6 { + color: #404040; + font-weight: 700; + line-height: 1.16; +} + +small { + color: #888888; +} + +input, textarea { + color: #666; +} + +h1 small, h2 small, h3 small, h4 small { + color: #bbb; + font-size: .6em; + font-weight: 100; + line-height: 1; +} + +mark { + background: #dae5f2; +} + +address { + color: #777777; + font-size: 1em; + line-height: 1.4; +} +address p { + margin-top: 0; +} +address h6 { + color: #555555; +} + +abbr:hover { + cursor: help; +} + +blockquote { + border-left: 4px solid #ddd; + padding-left: 25px; + margin: 1em 0; + font-weight: 200; + font-size: 1.1em; +} +blockquote small { + font-size: .9em; +} +blockquote small::before, blockquote small::after { + content: ' — '; +} + +.note { + font-size: .9em; + color: #777777; +} +.note strong { + color: #555555; +} + +.small { + font-size: .75em; +} + +.medium { + font-size: .85em; +} + +.large { + font-size: 1.2em; +} + +.extralarge { + font-size: 1.45em !important; +} + +hr { + border: 0; + border-top: 1px solid #ddd; + margin: 1em 0; +} + +.lead { + font-size: 1.1em; + font-weight: bold; +} + +ul, ol { + line-height: 1.4; + padding: 0 0 0 1.45em; + margin: 1em 0; +} +ul li, ol li { + margin: .5em 0; +} + +ul.unstyled { + list-style: none; + padding-left: 0em; +} +ul.unstyled ul { + list-style: disc outside; +} +ul.inline { + list-style: none; +} +ul.inline li { + display: inline-block; + padding: 0 .5em; +} +ul.inline li:first-child { + padding: 0 .5em 0 0; +} + +dl { + margin: 1em 0; +} +dl dt { + font-weight: bold; + margin: .5em 0; +} +dl dd { + margin: 0.5em 0 0.5em 25px; +} +dl.inline dt { + float: left; + clear: left; + text-align: right; + width: 180px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + margin: 0; +} +dl.inline dd { + margin: .5em 0 .5em 200px; +} + +figure.ink-image { + position: relative; + border: 1px solid #555555; +} +figure.ink-image > img { + width: 100%; +} +figure.ink-image > figcaption { + padding: 1em; + background: white; + line-height: 1.3; +} +figure.ink-image > figcaption.over-top, figure.ink-image > figcaption.over-bottom { + position: absolute; + width: 100%; + left: 0; + border: none; +} +figure.ink-image > figcaption.over-top.dark, figure.ink-image > figcaption.over-bottom.dark { + color: white; + background: rgba(0, 0, 0, 0.6); +} +figure.ink-image > figcaption.over-top { + top: 0; + background: rgba(255, 255, 255, 0.7); +} +figure.ink-image > figcaption.over-bottom { + bottom: 0; + background: rgba(255, 255, 255, 0.7); +} +figure.ink-image > figcaption.dark { + color: white; + background: #222222; +} + +img { + border: 0; + width: auto; + max-width: 100%; + vertical-align: top; +} + +.ink-alert.basic, .ink-alert.block { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-alert.basic { + background: rgba(255, 156, 0, 0.25); + color: #b87814; + border: 1px solid #b87814; +} +.ink-alert.basic .ink-dismiss { + color: #b87814; +} +.ink-alert.basic.success { + background: rgba(74, 155, 23, 0.25); + color: #38621d; + border: 1px solid #38621d; +} +.ink-alert.basic.success .ink-dismiss { + color: #38621d; +} +.ink-alert.basic.error { + background: rgba(201, 17, 17, 0.25); + color: #891e1e; + border: 1px solid #891e1e; +} +.ink-alert.basic.error .ink-dismiss { + color: #891e1e; +} +.ink-alert.basic.info { + background: rgba(15, 117, 218, 0.25); + color: #1e5b98; + border: 1px solid #1e5b98; +} +.ink-alert.basic.info .ink-dismiss { + color: #1e5b98; +} +.ink-alert.block { + border: 1px solid #b87814; + background: white; +} +.ink-alert.block > h4 { + background: rgba(255, 156, 0, 0.3); + color: #b87814; +} +.ink-alert.block .ink-dismiss { + color: #b87814; +} +.ink-alert.block.success { + border: 1px solid #38621d; + background: white; +} +.ink-alert.block.success > h4 { + background: rgba(74, 155, 23, 0.3); + color: #38621d; +} +.ink-alert.block.success .ink-dismiss { + color: #38621d; +} +.ink-alert.block.error { + border: 1px solid #891e1e; + background: white; +} +.ink-alert.block.error > h4 { + background: rgba(201, 17, 17, 0.3); + color: #891e1e; +} +.ink-alert.block.error .ink-dismiss { + color: #891e1e; +} +.ink-alert.block.info { + border: 1px solid #1e5b98; + background: white; +} +.ink-alert.block.info > h4 { + background: rgba(15, 117, 218, 0.3); + color: #1e5b98; +} +.ink-alert.block.info .ink-dismiss { + color: #1e5b98; +} +.ink-alert .ink-dismiss { + font-family: Arial, sans-serif; + font-weight: bold; + text-shadow: white 0 1px 0; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=25); + opacity: 0.25; +} +.ink-alert .ink-dismiss:hover { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); + opacity: 0.6; +} + +.ink-badge { + -webkit-border-radius: 8em; + -moz-border-radius: 8em; + -ms-border-radius: 8em; + -o-border-radius: 8em; + border-radius: 8em; + color: white; +} +.ink-badge.white { + background: white; + color: #555555; +} +.ink-badge.black { + background: black; +} +.ink-badge.orange { + background: #ff9c00; +} +.ink-badge.red { + background: #c91111; +} +.ink-badge.green { + background: #4a9b17; +} +.ink-badge.blue { + background: #0f75da; +} +.ink-badge.yellow { + background: #ffd500; + color: #555555; +} +.ink-badge.grey { + background: gray; +} +.ink-badge + .ink-badge { + margin-left: .2em; +} + +.ink-button { + background: #d9d9d9; + color: black; + border: 1px solid #bfbfbf; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + font-weight: 300; +} +.ink-button:hover, .ink-button:active { + text-decoration: none; + color: black; + background: #cccccc; + border: 1px solid #b3b3b3; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px; +} +.ink-button:focus { + outline: none; + background: #cccccc; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; +} +.ink-button[disabled] { + background: #e6e6e6; + border: 1px solid #e6e6e6; + color: #999999; +} +.ink-button[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.ink-button.blue { + color: white; + background: #0f75da; + border: 1px solid #0c63b9; +} +.ink-button.blue:hover, .ink-button.blue:active { + background: #0d68c2; + border: 1px solid #0a56a1; + color: white; + text-decoration: none; +} +.ink-button.blue:focus { + background: #0d68c2; +} +.ink-button.blue[disabled] { + background: rgba(15, 117, 218, 0.6); + border: 1px solid rgba(15, 117, 218, 0); + color: #0c5baa; +} +.ink-button.blue[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.ink-button.green { + color: white; + background: #4a9b17; + border: 1px solid #3e8313; +} +.ink-button.green:hover, .ink-button.green:active { + background: #3f8514; + border: 1px solid #336d10; + color: white; + text-decoration: none; +} +.ink-button.green:focus { + background: #3f8514; +} +.ink-button.green[disabled] { + background: rgba(74, 155, 23, 0.6); + border: 1px solid rgba(74, 155, 23, 0); + color: #356f10; +} +.ink-button.green[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.ink-button.orange { + color: white; + background: #ff9c00; + border: 1px solid #d88400; +} +.ink-button.orange:hover, .ink-button.orange:active { + background: #e68c00; + border: 1px solid #bf7400; + color: white; + text-decoration: none; +} +.ink-button.orange:focus { + background: #e68c00; +} +.ink-button.orange[disabled] { + background: rgba(255, 156, 0, 0.6); + border: 1px solid rgba(255, 156, 0, 0); + color: #cc7d00; +} +.ink-button.orange[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.ink-button.red { + color: white; + background: #c91111; + border: 1px solid #aa0e0e; +} +.ink-button.red:hover, .ink-button.red:active { + background: #b10f0f; + border: 1px solid #920c0c; + color: white; + text-decoration: none; +} +.ink-button.red:focus { + background: #b10f0f; +} +.ink-button.red[disabled] { + background: rgba(201, 17, 17, 0.6); + border: 1px solid rgba(201, 17, 17, 0); + color: #9a0d0d; +} +.ink-button.red[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.ink-button.black { + color: white; + background: #1a1a1a; + border: 1px solid #161616; +} +.ink-button.black:hover, .ink-button.black:active { + background: #0d0d0d; + border: 1px solid #090909; + color: white; + text-decoration: none; +} +.ink-button.black:focus { + background: #0d0d0d; +} +.ink-button.black[disabled] { + background: rgba(26, 26, 26, 0.6); + border: 1px solid rgba(26, 26, 26, 0); + color: black; +} +.ink-button.black[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.ink-button.white { + color: #555555; + background: white; + border: 1px solid #d8d8d8; +} +.ink-button.white:hover, .ink-button.white:active { + background: #f2f2f2; + border: 1px solid #cbcbcb; + color: #555555; + text-decoration: none; +} +.ink-button.white:focus { + background: #f2f2f2; +} +.ink-button.white[disabled] { + background: rgba(255, 255, 255, 0.6); + border: 1px solid rgba(255, 255, 255, 0); + color: #e6e6e6; +} +.ink-button.white[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.button-group > .ink-button[disabled] { + background: #e6e6e6; + border: 1px solid rgba(217, 217, 217, 0.6); +} +.button-group > .ink-button[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.button-group > .ink-button.blue:first-child { + border-left: #0c63b9; +} +.button-group > .ink-button.blue[disabled] { + background: rgba(15, 117, 218, 0.6); + border: 1px solid rgba(15, 117, 218, 0.3); +} +.button-group > .ink-button.green:first-child { + border-left: #3e8313; +} +.button-group > .ink-button.green[disabled] { + background: rgba(74, 155, 23, 0.6); + border: 1px solid rgba(74, 155, 23, 0.3); +} +.button-group > .ink-button.orange:first-child { + border-left: #d88400; +} +.button-group > .ink-button.orange[disabled] { + background: rgba(255, 156, 0, 0.6); + border: 1px solid rgba(255, 156, 0, 0.3); +} +.button-group > .ink-button.red:first-child { + border-left: #aa0e0e; +} +.button-group > .ink-button.red[disabled] { + background: rgba(201, 17, 17, 0.6); + border: 1px solid rgba(201, 17, 17, 0.3); +} +.button-group > .ink-button.black:first-child { + border-left: #161616; +} +.button-group > .ink-button.black[disabled] { + background: rgba(26, 26, 26, 0.6); + border: 1px solid rgba(26, 26, 26, 0.3); +} +.button-group > .ink-button.white:first-child { + border-left: #d8d8d8; +} +.button-group > .ink-button.white[disabled] { + background: rgba(255, 255, 255, 0.6); + border: 1px solid rgba(255, 255, 255, 0.3); +} + +.ink-label { + color: white; + font-weight: 300; + font-size: 0.938em; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-label.white { + background: white; + color: #555555; +} +.ink-label.black { + background: black; +} +.ink-label.orange { + background: #ff9c00; +} +.ink-label.red { + background: #c91111; +} +.ink-label.green { + background: #4a9b17; +} +.ink-label.blue { + background: #0f75da; +} +.ink-label.yellow { + background: #ffd500; + color: #555555; +} +.ink-label.grey { + background: gray; +} +.ink-label + .ink-label { + margin-left: .2em; +} + +.ink-navigation ul.breadcrumbs { + font-weight: 300; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.breadcrumbs li.active a { + background: none; + color: #999999; +} +.ink-navigation ul.breadcrumbs li.active a:hover { + cursor: default; + text-decoration: none; +} +.ink-navigation ul.breadcrumbs li a:hover { + background: none; + text-decoration: underline; +} +.ink-navigation ul.breadcrumbs.white { + background: white; +} +.ink-navigation ul.breadcrumbs.white li a, .ink-navigation ul.breadcrumbs.white li:after { + color: #555555; +} +.ink-navigation ul.breadcrumbs.white li.active a { + color: #cccccc; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.breadcrumbs.grey { + background: #d9d9d9; +} +.ink-navigation ul.breadcrumbs.grey li a, .ink-navigation ul.breadcrumbs.grey li:after { + color: #555555; +} +.ink-navigation ul.breadcrumbs.grey li.active a { + color: #a6a6a6; + text-shadow: #ededed 0 1px 0; +} +.ink-navigation ul.breadcrumbs.black { + background: #1a1a1a; +} +.ink-navigation ul.breadcrumbs.black li a, .ink-navigation ul.breadcrumbs.black li:after { + color: white; +} +.ink-navigation ul.breadcrumbs.black li.active a { + color: #666666; + text-shadow: black 0 -1px 0; +} +.ink-navigation ul.breadcrumbs.blue { + background: #1b75ce; +} +.ink-navigation ul.breadcrumbs.blue li a, .ink-navigation ul.breadcrumbs.blue li:after { + color: white; +} +.ink-navigation ul.breadcrumbs.blue li.active a { + color: #08427b; + text-shadow: #1884ef 0 1px 0; +} +.ink-navigation ul.breadcrumbs.orange { + background: #f2990d; +} +.ink-navigation ul.breadcrumbs.orange li a, .ink-navigation ul.breadcrumbs.orange li:after { + color: white; +} +.ink-navigation ul.breadcrumbs.orange li.active a { + color: #995e00; + text-shadow: #ffa81f 0 1px 0; +} +.ink-navigation ul.breadcrumbs.green { + background: #4c9220; +} +.ink-navigation ul.breadcrumbs.green li a, .ink-navigation ul.breadcrumbs.green li:after { + color: white; +} +.ink-navigation ul.breadcrumbs.green li.active a { + color: #20420a; + text-shadow: #57b61b 0 1px 0; +} +.ink-navigation ul.breadcrumbs.red { + background: #be1c1c; +} +.ink-navigation ul.breadcrumbs.red li a, .ink-navigation ul.breadcrumbs.red li:after { + color: white; +} +.ink-navigation ul.breadcrumbs.red li.active a { + color: #6b0909; + text-shadow: #e51313 0 1px 0; +} + +.ink-dropdown.blue ul.dropdown-menu li.active a { + background: #0f75da; + color: white; +} +.ink-dropdown.green ul.dropdown-menu li.active a { + background: #4a9b17; + color: white; +} +.ink-dropdown.orange ul.dropdown-menu li.active a { + background: #ff9c00; + color: white; +} +.ink-dropdown.red ul.dropdown-menu li.active a { + background: #c91111; + color: white; +} +.ink-dropdown.black ul.dropdown-menu li.active a { + background: #1a1a1a; + color: white; +} +.ink-dropdown.blue ul.dropdown-menu li.active a { + background: #0f75da; + color: white; +} + +.ink-navigation ul.menu { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.menu > li { + font-weight: 300; +} +.ink-navigation ul.menu > li.active a { + text-decoration: underline; +} +.ink-navigation ul.menu > li.heading { + font-weight: 500; +} +.ink-navigation ul.menu > li.disabled a { + color: #b3b3b3; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.menu > li.disabled a:hover { + cursor: default; + background: none; + text-decoration: none; +} +.ink-navigation ul.menu > li ul.submenu li { + font-size: .875em; +} +.ink-navigation ul.menu > li ul.submenu li a { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.vertical li a { + border-bottom: 1px solid rgba(0, 0, 0, 0.15); +} +.ink-navigation ul.menu.vertical li:first-child { + -webkit-border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -ms-border-radius: 2px 2px 0 0; + -o-border-radius: 2px 2px 0 0; + border-radius: 2px 2px 0 0; +} +.ink-navigation ul.menu.vertical li:first-child > a { + -webkit-border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -ms-border-radius: 2px 2px 0 0; + -o-border-radius: 2px 2px 0 0; + border-radius: 2px 2px 0 0; +} +.ink-navigation ul.menu.vertical li:last-child { + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; +} +.ink-navigation ul.menu.vertical li:last-child > a { + border-bottom: none; + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; +} +.ink-navigation ul.menu.vertical li:last-child .submenu { + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; +} +.ink-navigation ul.menu.vertical li:last-child .submenu.flyout { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.menu.vertical li:last-child .submenu li:last-child { + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; +} +.ink-navigation ul.menu.vertical li:last-child .submenu li:last-child a { + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; +} +.ink-navigation ul.menu.horizontal > li:first-child { + -webkit-border-radius: 2px 0 0 2px; + -moz-border-radius: 2px 0 0 2px; + -ms-border-radius: 2px 0 0 2px; + -o-border-radius: 2px 0 0 2px; + border-radius: 2px 0 0 2px; +} +.ink-navigation ul.menu.horizontal > li:first-child a { + -webkit-border-radius: 2px 0 0 2px; + -moz-border-radius: 2px 0 0 2px; + -ms-border-radius: 2px 0 0 2px; + -o-border-radius: 2px 0 0 2px; + border-radius: 2px 0 0 2px; +} +.ink-navigation ul.menu.horizontal > li:last-child { + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + -ms-border-radius: 0 2px 2px 0; + -o-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; +} +.ink-navigation ul.menu.horizontal > li:last-child a { + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + -ms-border-radius: 0 2px 2px 0; + -o-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; +} +.ink-navigation ul.menu.horizontal > li ul.submenu { + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; + background: white; +} +.ink-navigation ul.menu.horizontal > li ul.submenu li:last-child { + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; +} +.ink-navigation ul.menu.horizontal > li ul.submenu li:last-child a { + border-bottom: none; +} +.ink-navigation ul.menu.white { + background: white; +} +.ink-navigation ul.menu.white li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.white li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.white li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.white li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.white li.active { + background: #e6e6e6; +} +.ink-navigation ul.menu.white li.disabled a { + color: #cccccc; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.menu.white li a { + color: #555555; + text-decoration: none; +} +.ink-navigation ul.menu.white li a:hover { + background: #f2f2f2; +} +.ink-navigation ul.menu.grey { + background: #d9d9d9; +} +.ink-navigation ul.menu.grey li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.grey li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.grey li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.grey li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.grey li.active { + background: #bfbfbf; +} +.ink-navigation ul.menu.grey li.disabled a { + color: #a6a6a6; + text-shadow: #ededed 0 1px 0; +} +.ink-navigation ul.menu.grey li a { + color: #555555; + text-decoration: none; +} +.ink-navigation ul.menu.grey li a:hover { + background: #cccccc; +} +.ink-navigation ul.menu.black { + background: #1a1a1a; +} +.ink-navigation ul.menu.black li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.black li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.black li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.black li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.black li.active { + background: #333333; +} +.ink-navigation ul.menu.black li.disabled a { + color: #666666; + text-shadow: black 0 -1px 0; +} +.ink-navigation ul.menu.black li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.menu.black li a:hover { + background: #404040; +} +.ink-navigation ul.menu.blue { + background: #1b75ce; +} +.ink-navigation ul.menu.blue li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.blue li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.blue li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.blue li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.blue li.active { + background: #0c5baa; +} +.ink-navigation ul.menu.blue li.disabled a { + color: #08427b; + text-shadow: #2289f0 0 1px 0; +} +.ink-navigation ul.menu.blue li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.menu.blue li a:hover { + background: #0d68c2; +} +.ink-navigation ul.menu.green { + background: #4c9220; +} +.ink-navigation ul.menu.green li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.green li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.green li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.green li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.green li.active { + background: #356f10; +} +.ink-navigation ul.menu.green li.disabled a { + color: #20420a; + text-shadow: #5bbf1c 0 1px 0; +} +.ink-navigation ul.menu.green li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.menu.green li a:hover { + background: #3f8514; +} +.ink-navigation ul.menu.orange { + background: #f2990d; +} +.ink-navigation ul.menu.orange li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.orange li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.orange li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.orange li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.orange li.active { + background: #cc7d00; +} +.ink-navigation ul.menu.orange li.disabled a { + color: #995e00; + text-shadow: #ffac29 0 1px 0; +} +.ink-navigation ul.menu.orange li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.menu.orange li a:hover { + background: #e68c00; +} +.ink-navigation ul.menu.red { + background: #be1c1c; +} +.ink-navigation ul.menu.red li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.red li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.red li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.red li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.red li.active { + background: #9a0d0d; +} +.ink-navigation ul.menu.red li.disabled a { + color: #6b0909; + text-shadow: #eb1717 0 1px 0; +} +.ink-navigation ul.menu.red li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.menu.red li a:hover { + background: #b10f0f; +} + +.ink-navigation ul.pagination { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.pagination li { + font-weight: 300; +} +.ink-navigation ul.pagination li.active a { + text-decoration: underline; +} +.ink-navigation ul.pagination li.disabled a { + color: #b3b3b3; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.pagination li.disabled a:hover { + cursor: default; + background: none; + text-decoration: none; +} +.ink-navigation ul.pagination li:first-child, .ink-navigation ul.pagination li:first-child a { + -webkit-border-radius: 2px 0 0 2px; + -moz-border-radius: 2px 0 0 2px; + -ms-border-radius: 2px 0 0 2px; + -o-border-radius: 2px 0 0 2px; + border-radius: 2px 0 0 2px; +} +.ink-navigation ul.pagination li:last-child, .ink-navigation ul.pagination li:last-child a { + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + -ms-border-radius: 0 2px 2px 0; + -o-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; +} +.ink-navigation ul.pagination.white li { + background: white; +} +.ink-navigation ul.pagination.white li.active a { + background: #e6e6e6; +} +.ink-navigation ul.pagination.white li.disabled a { + color: #cccccc; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.pagination.white li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.white li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.white li a:hover { + background: #e6e6e6; +} +.ink-navigation ul.pagination.white li { + background: white; +} +.ink-navigation ul.pagination.white li.active a { + background: #e6e6e6; +} +.ink-navigation ul.pagination.white li.disabled a { + color: #cccccc; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.pagination.white li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.white li a { + color: #555555; + text-decoration: none; +} +.ink-navigation ul.pagination.white li a:hover { + background: #f2f2f2; +} +.ink-navigation ul.pagination.grey li { + background: #d9d9d9; +} +.ink-navigation ul.pagination.grey li.active a { + background: #bfbfbf; +} +.ink-navigation ul.pagination.grey li.disabled a { + color: #a6a6a6; + text-shadow: #ededed 0 1px 0; +} +.ink-navigation ul.pagination.grey li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.grey li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.grey li a:hover { + background: #bfbfbf; +} +.ink-navigation ul.pagination.grey li { + background: #d9d9d9; +} +.ink-navigation ul.pagination.grey li.active a { + background: #bfbfbf; +} +.ink-navigation ul.pagination.grey li.disabled a { + color: #a6a6a6; + text-shadow: #ededed 0 1px 0; +} +.ink-navigation ul.pagination.grey li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.grey li a { + color: #555555; + text-decoration: none; +} +.ink-navigation ul.pagination.grey li a:hover { + background: #cccccc; +} +.ink-navigation ul.pagination.black li { + background: #1a1a1a; +} +.ink-navigation ul.pagination.black li.active a { + background: black; +} +.ink-navigation ul.pagination.black li.disabled a { + color: black; + text-shadow: #2e2e2e 0 1px 0; +} +.ink-navigation ul.pagination.black li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.black li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.black li a:hover { + background: black; +} +.ink-navigation ul.pagination.black li { + background: #1a1a1a; +} +.ink-navigation ul.pagination.black li.active a { + background: #333333; +} +.ink-navigation ul.pagination.black li.disabled a { + color: #666666; + text-shadow: black 0 -1px 0; +} +.ink-navigation ul.pagination.black li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.black li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.black li a:hover { + background: #292929; +} +.ink-navigation ul.pagination.orange li { + background: #f2990d; +} +.ink-navigation ul.pagination.orange li.active a { + background: #cc7d00; +} +.ink-navigation ul.pagination.orange li.disabled a { + color: #995e00; + text-shadow: #ffac29 0 1px 0; +} +.ink-navigation ul.pagination.orange li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.orange li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.orange li a:hover { + background: #cc7d00; +} +.ink-navigation ul.pagination.orange li { + background: #f2990d; +} +.ink-navigation ul.pagination.orange li.active a { + background: #cc7d00; +} +.ink-navigation ul.pagination.orange li.disabled a { + color: #995e00; + text-shadow: #ffac29 0 1px 0; +} +.ink-navigation ul.pagination.orange li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.orange li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.orange li a:hover { + background: #e68c00; +} +.ink-navigation ul.pagination.blue li { + background: #1b75ce; +} +.ink-navigation ul.pagination.blue li.active a { + background: #0c5baa; +} +.ink-navigation ul.pagination.blue li.disabled a { + color: #08427b; + text-shadow: #2289f0 0 1px 0; +} +.ink-navigation ul.pagination.blue li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.blue li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.blue li a:hover { + background: #0c5baa; +} +.ink-navigation ul.pagination.blue li { + background: #1b75ce; +} +.ink-navigation ul.pagination.blue li.active a { + background: #0c5baa; +} +.ink-navigation ul.pagination.blue li.disabled a { + color: #08427b; + text-shadow: #2289f0 0 1px 0; +} +.ink-navigation ul.pagination.blue li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.blue li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.blue li a:hover { + background: #0d68c2; +} +.ink-navigation ul.pagination.green li { + background: #4c9220; +} +.ink-navigation ul.pagination.green li.active a { + background: #356f10; +} +.ink-navigation ul.pagination.green li.disabled a { + color: #20420a; + text-shadow: #5bbf1c 0 1px 0; +} +.ink-navigation ul.pagination.green li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.green li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.green li a:hover { + background: #356f10; +} +.ink-navigation ul.pagination.green li { + background: #4c9220; +} +.ink-navigation ul.pagination.green li.active a { + background: #356f10; +} +.ink-navigation ul.pagination.green li.disabled a { + color: #20420a; + text-shadow: #5bbf1c 0 1px 0; +} +.ink-navigation ul.pagination.green li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.green li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.green li a:hover { + background: #3f8514; +} +.ink-navigation ul.pagination.red li { + background: #be1c1c; +} +.ink-navigation ul.pagination.red li.active a { + background: #9a0d0d; +} +.ink-navigation ul.pagination.red li.disabled a { + color: #6b0909; + text-shadow: #eb1717 0 1px 0; +} +.ink-navigation ul.pagination.red li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.red li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.red li a:hover { + background: #9a0d0d; +} +.ink-navigation ul.pagination.red li { + background: #be1c1c; +} +.ink-navigation ul.pagination.red li.active a { + background: #9a0d0d; +} +.ink-navigation ul.pagination.red li.disabled a { + color: #6b0909; + text-shadow: #eb1717 0 1px 0; +} +.ink-navigation ul.pagination.red li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.red li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.red li a:hover { + background: #b10f0f; +} +.ink-navigation ul.pagination.dotted li { + background: none; +} +.ink-navigation ul.pagination.dotted li a { + background: #999999; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); + opacity: 0.5; +} +.ink-navigation ul.pagination.dotted li:hover a, .ink-navigation ul.pagination.dotted li.active a { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} +.ink-navigation ul.pagination.dotted.black li a { + background: #1a1a1a; +} +.ink-navigation ul.pagination.dotted.white li a { + background: white; +} +.ink-navigation ul.pagination.dotted.blue li a { + background: #1b75ce; +} +.ink-navigation ul.pagination.dotted.green li a { + background: #4c9220; +} +.ink-navigation ul.pagination.dotted.orange li a { + background: #f2990d; +} +.ink-navigation ul.pagination.dotted.red li a { + background: #be1c1c; +} +.ink-navigation ul.pagination.chevron li.next a, .ink-navigation ul.pagination.chevron li.previous a { + color: white; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); + opacity: 0.6; +} +.ink-navigation ul.pagination.chevron li.next a:hover, .ink-navigation ul.pagination.chevron li.next a:focus, .ink-navigation ul.pagination.chevron li.next a.active, .ink-navigation ul.pagination.chevron li.previous a:hover, .ink-navigation ul.pagination.chevron li.previous a:focus, .ink-navigation ul.pagination.chevron li.previous a.active { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); + opacity: 0.8; + text-decoration: none; + background: none; +} +.ink-navigation ul.pagination.chevron li.disabled a { + color: white; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); + opacity: 0.6; + text-shadow: none; +} +.ink-navigation ul.pagination.chevron li.disabled a:hover, .ink-navigation ul.pagination.chevron li.disabled a:focus { + color: white; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); + opacity: 0.6; +} +.ink-navigation ul.pagination.chevron.black li.next a, .ink-navigation ul.pagination.chevron.black li.previous a, .ink-navigation ul.pagination.chevron.black li.disabled a { + color: #1a1a1a; +} +.ink-navigation ul.pagination.chevron.grey li.next a, .ink-navigation ul.pagination.chevron.grey li.previous a, .ink-navigation ul.pagination.chevron.grey li.disabled a { + color: #d9d9d9; +} +.ink-navigation ul.pagination.chevron.blue li.next a, .ink-navigation ul.pagination.chevron.blue li.previous a, .ink-navigation ul.pagination.chevron.blue li.disabled a { + color: #1b75ce; +} +.ink-navigation ul.pagination.chevron.green li.next a, .ink-navigation ul.pagination.chevron.green li.previous a, .ink-navigation ul.pagination.chevron.green li.disabled a { + color: #4c9220; +} +.ink-navigation ul.pagination.chevron.orange li.next a, .ink-navigation ul.pagination.chevron.orange li.previous a, .ink-navigation ul.pagination.chevron.orange li.disabled a { + color: #f2990d; +} +.ink-navigation ul.pagination.chevron.red li.next a, .ink-navigation ul.pagination.chevron.red li.previous a, .ink-navigation ul.pagination.chevron.red li.disabled a { + color: #be1c1c; +} + +.ink-navigation ul.pills li { + background: white; + font-weight: 300; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.pills li a { + color: #555555; + background: none; +} +.ink-navigation ul.pills li a:hover { + background: #e6e6e6; +} +.ink-navigation ul.pills li.active a { + background: #e6e6e6; +} +.ink-navigation ul.pills li.disabled a { + color: #999999; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.pills li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.grey li { + background: #d9d9d9; +} +.ink-navigation ul.pills.grey li.active a { + background: #bfbfbf; +} +.ink-navigation ul.pills.grey li.disabled a { + color: #a6a6a6; + text-shadow: #ededed 0 1px 0; +} +.ink-navigation ul.pills.grey li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.grey li a { + color: #555555; +} +.ink-navigation ul.pills.grey li a:hover { + background: #cccccc; +} +.ink-navigation ul.pills.black li { + background: #1a1a1a; +} +.ink-navigation ul.pills.black li.active a { + background: #333333; +} +.ink-navigation ul.pills.black li.disabled a { + color: #666666; + text-shadow: black 0 -1px 0; +} +.ink-navigation ul.pills.black li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.black li a { + color: white; +} +.ink-navigation ul.pills.black li a:hover { + background: #292929; +} +.ink-navigation ul.pills.blue li { + background: #1b75ce; +} +.ink-navigation ul.pills.blue li.active a { + background: #0c5baa; +} +.ink-navigation ul.pills.blue li.disabled a { + color: #08427b; + text-shadow: #2289f0 0 1px 0; +} +.ink-navigation ul.pills.blue li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.blue li a { + color: white; +} +.ink-navigation ul.pills.blue li a:hover { + background: #0d68c2; +} +.ink-navigation ul.pills.green li { + background: #4c9220; +} +.ink-navigation ul.pills.green li.active a { + background: #356f10; +} +.ink-navigation ul.pills.green li.disabled a { + color: #20420a; + text-shadow: #5bbf1c 0 1px 0; +} +.ink-navigation ul.pills.green li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.green li a { + color: white; +} +.ink-navigation ul.pills.green li a:hover { + background: #3f8514; +} +.ink-navigation ul.pills.orange li { + background: #f2990d; +} +.ink-navigation ul.pills.orange li.active a { + background: #cc7d00; +} +.ink-navigation ul.pills.orange li.disabled a { + color: #995e00; + text-shadow: #ffac29 0 1px 0; +} +.ink-navigation ul.pills.orange li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.orange li a { + color: white; +} +.ink-navigation ul.pills.orange li a:hover { + background: #e68c00; +} +.ink-navigation ul.pills.red li { + background: #be1c1c; +} +.ink-navigation ul.pills.red li.active a { + background: #9a0d0d; +} +.ink-navigation ul.pills.red li.disabled a { + color: #6b0909; + text-shadow: #eb1717 0 1px 0; +} +.ink-navigation ul.pills.red li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.red li a { + color: white; +} +.ink-navigation ul.pills.red li a:hover { + background: #b10f0f; +} + +table.ink-table { + background: white; +} +table.ink-table tr th, table.ink-table tr td { + border-bottom: #bbbbbb 1px solid; + background: none; +} +table.ink-table tr:last-child td { + border-bottom: none; +} +table.ink-table tfoot tr th, table.ink-table tfoot tr td { + border-top: #bbbbbb 1px solid; +} +table.ink-table.alternating tbody tr:nth-child(odd) { + background-color: whitesmoke; +} +table.ink-table.hover tbody tr:hover { + background: #fefbd6; + color: #555555; +} +table.ink-table.bordered { + border: #bbbbbb 1px solid; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +table.ink-table.bordered tr th { + border-left: #bbbbbb 1px solid; +} +table.ink-table.bordered tr th:first-child { + border-left: none; +} +table.ink-table.bordered tr:last-child td { + border-bottom: none; +} +table.ink-table.bordered tr td { + border-left: #bbbbbb 1px solid; +} +table.ink-table.bordered tr td:first-child { + border-left: none; +} +table.ink-table tbody > tr.red td { + background: #c91111; + color: white; +} +table.ink-table tbody > tr.green td { + background: #4a9b17; + color: white; +} +table.ink-table tbody > tr.blue td { + background: #0f75da; + color: white; +} +table.ink-table tbody > tr.orange td { + background: #ff9c00; + color: white; +} +table.ink-table tbody > tr.black td { + background: black; + color: #cccccc; +} +table.ink-table tbody > tr.yellow td { + background: #ffd500; + color: black; +} + +.animated.slow { + animation-duration: 1s; +} +.animated.medium { + animation-duration: 0.5s; +} +.animated.fast { + animation-duration: 0.2s; +} + +.ink-carousel { + width: 100%; + position: relative; + overflow: hidden; + display: block; +} +.ink-carousel .stage { + left: 0; + height: auto !important; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; + list-style-type: none; + white-space: nowrap; + position: relative; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; +} +.ink-carousel .stage .slide { + position: relative; + display: inline-block; + vertical-align: top; + white-space: normal; + margin: 0; + float: none; + zoom: 1; + *display: inline; +} +.ink-carousel .ink-navigation { + position: static; +} + +.ink-carousel { + width: 100%; + position: relative; + overflow: hidden; + display: block; +} +.ink-carousel .stage { + left: 0; + height: auto !important; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; + list-style-type: none; + white-space: nowrap; + position: relative; + overflow: visible; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; +} +.ink-carousel .stage.column-group { + display: -webkit-block; + display: -moz-block; + display: block; + -webkit-flex-flow: none; + -moz-flex-flow: none; + flex-flow: none; +} +.ink-carousel .stage .slide { + position: relative; + display: inline-block; + vertical-align: top; + white-space: normal; + margin: 0; + float: none; + zoom: 1; + *display: inline; +} + +.ink-datepicker-wrapper { + position: relative; +} + +.ink-datepicker-calendar { + margin-top: 0; + position: absolute; +} +.ink-datepicker-calendar.right { + left: 100%; + top: 0; +} +.ink-datepicker-calendar.left { + right: 100%; + top: 0; +} +.ink-datepicker-calendar.bottom { + top: 100%; + left: 0; +} +.ink-datepicker-calendar.top { + bottom: 100%; + left: 0; +} + +.ink-datepicker-wrapper, .ink-datepicker-calendar { + display: inline; + display: inline-block; +} + +.ink-calendar { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + text-align: center; + padding: 0.3em; + min-width: 17.4em; + font-size: 13px; + -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0 1px 2px 0; + -moz-box-shadow: rgba(0, 0, 0, 0.4) 0 1px 2px 0; + box-shadow: rgba(0, 0, 0, 0.4) 0 1px 2px 0; + background: white; + z-index: 10; +} +.ink-calendar a { + text-decoration: none; +} +.ink-calendar li { + list-style: none inside; +} + +html.ink-modal-is-open .ink-calendar { + z-index: 101; +} + +.ink-calendar-top-options { + padding: 5px; + font-size: .813em; + cursor: pointer; +} +.ink-calendar-top-options .clean { + float: left; +} +.ink-calendar-top-options .close { + float: right; +} + +.ink-calendar-top { + line-height: 2em; + background: #e6e6e6; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-calendar-top div { + float: left; +} +.ink-calendar-top .ink-calendar-prev, +.ink-calendar-top .ink-calendar-next { + width: 10%; +} +.ink-calendar-top .ink-calendar-prev a, +.ink-calendar-top .ink-calendar-next a { + display: block; +} +.ink-calendar-top .ink-calendar-month_desc { + width: 80%; +} + +.ink-calendar-month, +.ink-calendar-year-selector, +.ink-calendar-month-selector { + margin-top: .5em; + padding-left: 0; +} +.ink-calendar-month li a, +.ink-calendar-year-selector li a, +.ink-calendar-month-selector li a { + margin: 0px; + line-height: 2em; + vertical-align: middle; + display: block; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + color: #444444; +} +.ink-calendar-month li a:hover, +.ink-calendar-year-selector li a:hover, +.ink-calendar-month-selector li a:hover { + background: #e6e6e6; +} +.ink-calendar-month li a.ink-calendar-on, .ink-calendar-month li a.ink-calendar-on:hover, +.ink-calendar-year-selector li a.ink-calendar-on, +.ink-calendar-year-selector li a.ink-calendar-on:hover, +.ink-calendar-month-selector li a.ink-calendar-on, +.ink-calendar-month-selector li a.ink-calendar-on:hover { + background: #0069d6; + color: white; +} +.ink-calendar-month li a.ink-calendar-off, .ink-calendar-month li a.ink-calendar-off:hover, +.ink-calendar-year-selector li a.ink-calendar-off, +.ink-calendar-year-selector li a.ink-calendar-off:hover, +.ink-calendar-month-selector li a.ink-calendar-off, +.ink-calendar-month-selector li a.ink-calendar-off:hover { + background: white; + color: #aaaaaa; + cursor: default; +} +.ink-calendar-month ul, +.ink-calendar-year-selector ul, +.ink-calendar-month-selector ul { + clear: both; + padding-left: 0; +} +.ink-calendar-month ul li, +.ink-calendar-year-selector ul li, +.ink-calendar-month-selector ul li { + width: 2.4em; + float: left; + text-align: center; + padding: 0; + margin: 0; +} + +.ink-calendar-year-selector ul li { + width: 25%; +} + +.ink-calendar-month-selector ul li { + width: 25%; +} + +.ink-calendar-year-selector, +.ink-calendar-month-selector { + display: none; +} + +.ink-calendar-off, .action_inactive { + color: #ddd !important; +} + +.ink-calendar-month .ink-calendar-header { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + padding-bottom: .5em; + margin-bottom: .5em; + color: #aaa; +} + +.ink-calendar-top, +.ink-calendar-middle, +.ink-calendar-top-options, +.ink-calendar-month .ink-calendar-header, +.ink-calendar-month .ink-calendar-middle ul { + *zoom: 1; +} +.ink-calendar-top:after, +.ink-calendar-middle:after, +.ink-calendar-top-options:after, +.ink-calendar-month .ink-calendar-header:after, +.ink-calendar-month .ink-calendar-middle ul:after { + content: ""; + display: table; + clear: both; +} + +body.ink-drawer { + max-width: 100%; +} +body.ink-drawer .left-drawer, +body.ink-drawer .right-drawer, +body.ink-drawer .content-drawer { + -webkit-transition-property: translate3d; + -moz-transition-property: translate3d; + -o-transition-property: translate3d; + transition-property: translate3d; + -webkit-transition-duration: 300ms; + -moz-transition-duration: 300ms; + -o-transition-duration: 300ms; + transition-duration: 300ms; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + -moz-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + -o-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); +} +body.ink-drawer .left-drawer { + left: -220px; +} +body.ink-drawer .right-drawer { + right: -220px; +} +body.ink-drawer .content-drawer { + width: 100%; +} +body.ink-drawer .left-drawer, +body.ink-drawer .right-drawer { + position: absolute; + top: 0; + z-index: 0; + display: none; + overflow-x: hidden; + overflow-y: auto; + width: 220px; + height: 100%; + -webkit-overflow-scrolling: touch; +} +body.ink-drawer .left-drawer.show, +body.ink-drawer .right-drawer.show { + display: block; +} +body.ink-drawer.push { + overflow: hidden; + width: 100%; + height: 100%; + position: fixed; +} +body.ink-drawer.push .content-drawer { + overflow: hidden; +} +body.ink-drawer.push.left .left-drawer, body.ink-drawer.push.left .content-drawer { + -webkit-transform: translate3d(220px, 0, 0); + -moz-transform: translate3d(220px, 0, 0); + -ms-transform: translate3d(220px, 0, 0); + -o-transform: translate3d(220px, 0, 0); + transform: translate3d(220px, 0, 0); +} +body.ink-drawer.push.right .right-drawer, body.ink-drawer.push.right .content-drawer { + -webkit-transform: translate3d(-220px, 0, 0); + -moz-transform: translate3d(-220px, 0, 0); + -ms-transform: translate3d(-220px, 0, 0); + -o-transform: translate3d(-220px, 0, 0); + transform: translate3d(-220px, 0, 0); +} +body.ink-drawer.over { + overflow: hidden; + -webkit-user-drag: none; +} +body.ink-drawer.over.left .left-drawer { + -webkit-transform: translate3d(220px, 0, 0); + -moz-transform: translate3d(220px, 0, 0); + -ms-transform: translate3d(220px, 0, 0); + -o-transform: translate3d(220px, 0, 0); + transform: translate3d(220px, 0, 0); +} +body.ink-drawer.over.right .right-drawer { + -webkit-transform: translate3d(-220px, 0, 0); + -moz-transform: translate3d(-220px, 0, 0); + -ms-transform: translate3d(-220px, 0, 0); + -o-transform: translate3d(-220px, 0, 0); + transform: translate3d(-220px, 0, 0); +} + +.ink-shade { + background: rgba(0, 0, 0, 0.8); + width: 100%; + height: 100%; + top: 0; + right: 0; + bottom: 0; + left: 0; + margin-top: 0; + position: fixed; + z-index: 100; + display: none; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); + opacity: 0; +} +.ink-shade.fade { + -webkit-transition: opacity 300ms; + -moz-transition: opacity 300ms; + -o-transition: opacity 300ms; + transition: opacity 300ms; +} +.ink-shade.visible { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} + +.ink-modal { + top: 50%; + left: 50%; + width: 90%; + height: 90%; + background: white; + z-index: 100; + position: absolute; + overflow: hidden; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; + -webkit-box-shadow: rgba(0, 0, 0, 0.8) 0 0 15px 0; + -moz-box-shadow: rgba(0, 0, 0, 0.8) 0 0 15px 0; + box-shadow: rgba(0, 0, 0, 0.8) 0 0 15px 0; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + *zoom: 1; +} +.ink-modal:after { + content: ""; + display: table; + clear: both; +} +.ink-modal > .modal-body { + padding: 1em; + overflow-y: auto; + overflow-x: hidden; + height: auto; +} +.ink-modal > .modal-body .ink-grid { + padding-left: 0; + padding-right: 0; + width: 100%; + min-width: 100%; +} +.ink-modal > .modal-header, .ink-modal > header { + border-bottom: 1px #e6e6e6 solid; + overflow: hidden; + -webkit-box-shadow: rgba(175, 175, 175, 0.2) 0 1px 2px 0; + -moz-box-shadow: rgba(175, 175, 175, 0.2) 0 1px 2px 0; + box-shadow: rgba(175, 175, 175, 0.2) 0 1px 2px 0; +} +.ink-modal > .modal-header > .modal-close, .ink-modal > header > .modal-close { + padding-top: 2px; + text-align: center; + color: white; + width: 26px; + height: 26px; + line-height: 1.2em; + border: 0; + background: #bfbfbf; + font-size: 0; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; + text-shadow: rgba(0, 0, 0, 0.6) 0 -1px 0; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); + opacity: 0.6; + float: right; +} +.ink-modal > .modal-header > .modal-close:after, .ink-modal > header > .modal-close:after { + content: "\f00d"; + font-family: FontAwesome; + font-size: medium; + line-height: 22px; +} +.ink-modal > .modal-header > .modal-close:hover, .ink-modal > header > .modal-close:hover { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} +.ink-modal > .modal-footer, .ink-modal > footer { + background: #e6e6e6; + margin-bottom: 0; + zoom: 1; + -webkit-box-shadow: rgba(175, 175, 175, 0.2) 0 -1px 2px 0; + -moz-box-shadow: rgba(175, 175, 175, 0.2) 0 -1px 2px 0; + box-shadow: rgba(175, 175, 175, 0.2) 0 -1px 2px 0; +} +.ink-modal > .modal-header, .ink-modal > header, .ink-modal > .modal-footer, .ink-modal > footer { + padding: .8em 1em .65em 1em; +} +.ink-modal > .modal-header:before, .ink-modal > .modal-header:after, .ink-modal > header:before, .ink-modal > header:after, .ink-modal > .modal-footer:before, .ink-modal > .modal-footer:after, .ink-modal > footer:before, .ink-modal > footer:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.ink-modal-open { + overflow: hidden; +} + +/* Progess bars */ +.ink-progress-bar { + margin-bottom: 1em; + overflow: hidden; + background: #f2f2f2; + position: relative; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + -webkit-box-shadow: 0, 1px, 3px, 0, rgba(0, 0, 0, 0.2), inset; + -moz-box-shadow: 0, 1px, 3px, 0, rgba(0, 0, 0, 0.2), inset; + box-shadow: 0, 1px, 3px, 0, rgba(0, 0, 0, 0.2), inset; +} +.ink-progress-bar .caption { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + line-height: 1.7; + text-align: center; + color: black; + font-size: 0.813em; + z-index: 10; +} +.ink-progress-bar .bar { + height: 1.3em; + text-shadow: rgba(0, 0, 0, 0.25), 0, 1px, 0; + -webkit-box-shadow: 0, 1px, 1px, 0, rgba(0, 0, 0, 0.1), inset; + -moz-box-shadow: 0, 1px, 1px, 0, rgba(0, 0, 0, 0.1), inset; + box-shadow: 0, 1px, 1px, 0, rgba(0, 0, 0, 0.1), inset; + -webkit-transition-property: width; + -moz-transition-property: width; + -o-transition-property: width; + transition-property: width; + -webkit-transition-duration: 0.6s; + -moz-transition-duration: 0.6s; + -o-transition-duration: 0.6s; + transition-duration: 0.6s; + -webkit-transition-timing-function: ease; + -moz-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; +} +.ink-progress-bar .bar.grey { + background: #cccccc; + color: #555555; +} +.ink-progress-bar .bar.green { + background: #4a9b17; + color: white; +} +.ink-progress-bar .bar.blue { + background: #0f75da; + color: white; +} +.ink-progress-bar .bar.red { + background: #c91111; + color: white; +} +.ink-progress-bar .bar.orange { + background: #ff9c00; + color: #555555; +} +.ink-progress-bar .bar.black { + background: black; + color: white; +} + +.dragging, .ink-sortable-list li { + cursor: move; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -o-user-select: none; + -ms-user-select: none; + user-select: none; + -ms-user-drag: none; + -moz-user-drag: none; + -khtml-user-drag: none; + -webkit-user-drag: none; + -o-user-drag: none; + user-drag: none; +} + +.drag, .ink-sortable-list li.placeholder { + -webkit-box-shadow: 0, 0px, 10px, 0, rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0, 0px, 10px, 0, rgba(0, 0, 0, 0.3); + box-shadow: 0, 0px, 10px, 0, rgba(0, 0, 0, 0.3); +} + +.ink-sortable-list li { + margin: 0; + border-bottom: 1px solid #ccc; + line-height: 40px; +} +.ink-sortable-list li:hover, .ink-sortable-list li.placeholder { + background: #cccccc; + background: rgba(204, 204, 204, 0.2); +} +.ink-sortable-list li .ink-label { + margin: 0 .8em; +} + +.ink-sticky-stuck { + position: fixed; +} + +/* Tabs */ +.ink-tabs .tabs-nav { + list-style: none; + padding: 0em; + *zoom: 1; +} +.ink-tabs .tabs-nav li { + line-height: 1.7; + position: relative; + margin: 0; +} +.ink-tabs .tabs-nav li a { + padding: 0.5em 1em; + display: block; +} +.ink-tabs .tabs-nav li a:hover { + background: #f0f0f0; +} +.ink-tabs .tabs-nav li.active a { + color: #555555; + cursor: default; + text-decoration: none; + background: white; + border: 1px solid #cccccc; +} +.ink-tabs .tabs-nav:after { + content: ""; + display: table; + clear: both; +} +.ink-tabs .tabs-content { + margin-top: 1.5em; + overflow: auto; +} +.ink-tabs.top > .tabs-nav { + border-bottom: 1px solid #cccccc; +} +.ink-tabs.top > .tabs-nav li { + float: left; +} +.ink-tabs.top > .tabs-nav li a { + margin-right: .4em; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + -ms-border-radius: 4px 4px 0 0; + -o-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +.ink-tabs.top > .tabs-nav li.active { + margin: 0 0 -2px 0; +} +.ink-tabs.top > .tabs-nav li.active a { + border-bottom-color: transparent; +} +.ink-tabs.bottom > .tabs-nav { + border-top: 1px solid #cccccc; +} +.ink-tabs.bottom > .tabs-nav li { + float: left; +} +.ink-tabs.bottom > .tabs-nav li a { + margin-right: .4em; + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + -ms-border-radius: 0 0 4px 4px; + -o-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +.ink-tabs.bottom > .tabs-nav li.active { + margin: -2px 0 0 0; +} +.ink-tabs.bottom > .tabs-nav li.active a { + border-top-color: transparent; +} +.ink-tabs.left > .tabs-nav { + border-right: 1px solid #cccccc; + float: left; + margin-right: 2em; +} +.ink-tabs.left > .tabs-nav li { + float: none; + text-align: right; +} +.ink-tabs.left > .tabs-nav li a { + margin-bottom: .4em; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + -ms-border-radius: 4px 0 0 4px; + -o-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.ink-tabs.left > .tabs-nav li.active { + margin: 0 -2px 0 0; +} +.ink-tabs.left > .tabs-nav li.active a { + border-right-color: transparent; +} +.ink-tabs.right > .tabs-nav { + border-left: 1px solid #cccccc; + float: right; + margin-left: 2em; +} +.ink-tabs.right > .tabs-nav li { + float: none; +} +.ink-tabs.right > .tabs-nav li a { + margin-bottom: .4em; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + -ms-border-radius: 0 4px 4px 0; + -o-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.ink-tabs.right > .tabs-nav li.active { + margin: 0 0 0 -2px; +} +.ink-tabs.right > .tabs-nav li.active a { + border-left-color: transparent; +} + +.ink-tagfield input[type="text"].new-tag-input { + background-color: #fff; + border: 1px solid #ccc; + line-height: 1em; + margin: 0; + padding: 5px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-tagfield input[type="text"].new-tag-input:focus { + -webkit-box-shadow: 0px, 0px, 0px, 3px, #eaeaea; + -moz-box-shadow: 0px, 0px, 0px, 3px, #eaeaea; + box-shadow: 0px, 0px, 0px, 3px, #eaeaea; + border: 1px solid #c3c3c3; +} +.ink-tagfield span.ink-tag { + background-color: #1b1b1b; + color: #eaeaea; + text-shadow: none; + font-size: .9em; + font-weight: normal; + border: 1px solid #000; + padding: 4px 6px; +} +.ink-tagfield span.ink-tag i.icon-remove { + color: #ccc; + font-size: .9em; + font-weight: normal; + margin-left: 4px; +} +.ink-tagfield span.ink-tag i.icon-remove:hover { + cursor: pointer; + color: red; +} + +.ink-tooltip { + display: inline-block; + position: relative; +} +.ink-tooltip > .content { + background: #f0f0f0; + padding: 0.5em 0.6em; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + font-size: 0.8em; + color: #8c8c8c; +} +.ink-tooltip > .arrow { + position: absolute; +} +.ink-tooltip > .arrow.up, .ink-tooltip > .arrow.down, .ink-tooltip > .arrow.left, .ink-tooltip > .arrow.right { + width: 0; + height: 0; +} +.ink-tooltip > .arrow.up { + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #f0f0f0; + top: -6px; + left: 50%; + margin-left: -3px; +} +.ink-tooltip > .arrow.down { + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-top: 6px solid #f0f0f0; + bottom: -5.45455px; + left: 50%; + margin-left: -3px; +} +.ink-tooltip > .arrow.right { + border-top: 6px solid transparent; + border-bottom: 6px solid transparent; + border-left: 6px solid #f0f0f0; + top: 50%; + right: -5.45455px; + margin-top: -6px; +} +.ink-tooltip > .arrow.left { + border-top: 6px solid transparent; + border-bottom: 6px solid transparent; + border-right: 6px solid #f0f0f0; + top: 50%; + left: -5.45455px; + margin-top: -6px; +} +.ink-tooltip.blue > .content { + background: #0f75da; + color: white; +} +.ink-tooltip.blue > .arrow.up { + border-bottom-color: #0f75da; +} +.ink-tooltip.blue > .arrow.down { + border-top-color: #0f75da; +} +.ink-tooltip.blue > .arrow.left { + border-right-color: #0f75da; +} +.ink-tooltip.blue > .arrow.right { + border-left-color: #0f75da; +} +.ink-tooltip.red > .content { + background: #c91111; + color: white; +} +.ink-tooltip.red > .arrow.up { + border-bottom-color: #c91111; +} +.ink-tooltip.red > .arrow.down { + border-top-color: #c91111; +} +.ink-tooltip.red > .arrow.left { + border-right-color: #c91111; +} +.ink-tooltip.red > .arrow.right { + border-left-color: #c91111; +} +.ink-tooltip.orange > .content { + background: #ff9c00; + color: white; +} +.ink-tooltip.orange > .arrow.up { + border-bottom-color: #ff9c00; +} +.ink-tooltip.orange > .arrow.down { + border-top-color: #ff9c00; +} +.ink-tooltip.orange > .arrow.left { + border-right-color: #ff9c00; +} +.ink-tooltip.orange > .arrow.right { + border-left-color: #ff9c00; +} +.ink-tooltip.green > .content { + background: #4a9b17; + color: white; +} +.ink-tooltip.green > .arrow.up { + border-bottom-color: #4a9b17; +} +.ink-tooltip.green > .arrow.down { + border-top-color: #4a9b17; +} +.ink-tooltip.green > .arrow.left { + border-right-color: #4a9b17; +} +.ink-tooltip.green > .arrow.right { + border-left-color: #4a9b17; +} +.ink-tooltip.black > .content { + background: black; + color: white; +} +.ink-tooltip.black > .arrow.up { + border-bottom-color: black; +} +.ink-tooltip.black > .arrow.down { + border-top-color: black; +} +.ink-tooltip.black > .arrow.left { + border-right-color: black; +} +.ink-tooltip.black > .arrow.right { + border-left-color: black; +} +.ink-tooltip.grey > .content { + background: #cccccc; + color: #333333; +} +.ink-tooltip.grey > .arrow.up { + border-bottom-color: #cccccc; +} +.ink-tooltip.grey > .arrow.down { + border-top-color: #cccccc; +} +.ink-tooltip.grey > .arrow.left { + border-right-color: #cccccc; +} +.ink-tooltip.grey > .arrow.right { + border-left-color: #cccccc; +} + +.ink-tree-view li { + list-style-type: none; +} +.ink-tree-view [data-open] > :before { + margin-left: -1.3em; + margin-right: .4em; + text-decoration: none; +} diff --git a/public/css/ink-flex.min.css b/public/css/ink-flex.min.css new file mode 100644 index 0000000..57c81df --- /dev/null +++ b/public/css/ink-flex.min.css @@ -0,0 +1 @@ +@charset "UTF-8";.grid-order{flex:100%}.show-all{display:inherit}.hide-all{display:none!important}.no-margin{margin:0!important}.no-padding{padding:0!important}.push-left{float:left;-webkit-justify-content:flex-start;-moz-justify-content:flex-start;justify-content:flex-start}.push-center{float:none!important;margin-left:auto;margin-right:auto;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center}.push-right{float:right;-webkit-justify-content:flex-end;-moz-justify-content:flex-end;justify-content:flex-end}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.clearfix{overflow:hidden;*zoom:1;*zoom:1}.clearfix:after{content:"";display:table;clear:both}html{font-family:sans-serif}html *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:0}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.ink-alert.basic,.ink-alert.block{font-size:.938em;margin:1em 0;position:relative;overflow:hidden}.ink-alert.basic{padding:1em 3em 1em 1em}.ink-alert.basic p{margin:0}.ink-alert.basic .ink-close{top:.55em;*top:.2em}.ink-alert.block{font-size:1em}.ink-alert.block>h4{padding:1em 3em 1em 1em;font-size:.938em;line-height:1.5;margin:0}.ink-alert.block p{margin:1.5em 1em}.ink-alert.block ul{list-style:inside}.ink-alert .ink-dismiss{position:absolute;line-height:.56em;font-size:1.8em;padding:5px;border:0;background:0 0;top:.5em;*top:.2em;right:.4em}.ink-badge{padding:.2em .6em;font-size:.813em;margin-left:.6em}.ink-button{-webkit-appearance:menuitem;padding:8px 12px;cursor:pointer;text-decoration:none;text-align:center;display:inline-block;vertical-align:middle;white-space:nowrap;line-height:normal}.ink-button+.ink-button{margin-left:5px}.button-group{*zoom:1}.button-group>.ink-button{float:left;margin:5px 0;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;border-left:0}.button-group>.ink-button:active,.button-group>.ink-button:hover{border-left:0}.button-group>.ink-button:first-child{-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;-ms-border-radius:2px 0 0 2px;-o-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;border-left:1px solid #bfbfbf}.button-group>.ink-button:last-child{-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;-ms-border-radius:0 2px 2px 0;-o-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.button-group:after{content:"";display:table;clear:both}.button-toolbar{*zoom:1}.button-toolbar>.button-group{margin-right:10px;float:left}.button-toolbar:after{content:"";display:table;clear:both}.ink-form fieldset{border:0;padding:0;margin:0}.ink-form fieldset legend{font-size:1.438em;font-weight:700;width:100%;border-bottom:1px solid #ddd}.ink-form fieldset legend+*{-webkit-margin-top-collapse:separate;margin:2em 0}.ink-form p.tip{font-size:.875em;color:#909090;position:relative;margin:.2em 0 0 .1em}.ink-form p.label{padding:0;margin:0;color:#555;white-space:normal}.ink-form input[type=color],.ink-form input[type=date],.ink-form input[type=datetime-local],.ink-form input[type=datetime],.ink-form input[type=email],.ink-form input[type=month],.ink-form input[type=number],.ink-form input[type=password],.ink-form input[type=search],.ink-form input[type=tel],.ink-form input[type=text],.ink-form input[type=time],.ink-form input[type=url],.ink-form input[type=week],.ink-form select,.ink-form textarea{font-family:Roboto,Arial,Helvetica,sans-serif;font-weight:300;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;padding:8px 6px;border:1px solid #c6c6c6;resize:none;background:#fff;vertical-align:middle}.ink-form input[type=color]:focus,.ink-form input[type=date]:focus,.ink-form input[type=datetime-local]:focus,.ink-form input[type=datetime]:focus,.ink-form input[type=email]:focus,.ink-form input[type=month]:focus,.ink-form input[type=number]:focus,.ink-form input[type=password]:focus,.ink-form input[type=search]:focus,.ink-form input[type=tel]:focus,.ink-form input[type=text]:focus,.ink-form input[type=time]:focus,.ink-form input[type=url]:focus,.ink-form input[type=week]:focus,.ink-form select:focus,.ink-form textarea:focus{border-color:rgba(153,153,153,.9);-webkit-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;-moz-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;outline:0 none}.ink-form input[type=color]:disabled,.ink-form input[type=date]:disabled,.ink-form input[type=datetime-local]:disabled,.ink-form input[type=datetime]:disabled,.ink-form input[type=email]:disabled,.ink-form input[type=month]:disabled,.ink-form input[type=number]:disabled,.ink-form input[type=password]:disabled,.ink-form input[type=search]:disabled,.ink-form input[type=tel]:disabled,.ink-form input[type=text]:disabled,.ink-form input[type=time]:disabled,.ink-form input[type=url]:disabled,.ink-form input[type=week]:disabled,.ink-form select:disabled,.ink-form textarea:disabled{background:#f2f2f2;cursor:not-allowed}.ink-form .input-file{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;padding:6px;border:1px solid #c6c6c6;background:#fff;vertical-align:middle;line-height:1.2}.ink-form .input-file input[type=file]{-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;border:0;padding:0;background:0 0;width:100%}.ink-form .ink-button{margin:0 5px}.ink-form label{cursor:pointer}.ink-form select{line-height:2;cursor:pointer}.ink-form textarea{min-height:5em}.ink-form .control-group{line-height:2;margin-bottom:1em;*zoom:1}.ink-form .control-group:after{content:"";display:table;clear:both}.ink-form .control-group .control{position:relative;*zoom:1}.ink-form .control-group .control:after{content:"";display:table;clear:both}.ink-form .control-group .control>li{margin:0;*zoom:1}.ink-form .control-group .control>li:after{content:"";display:table;clear:both}.ink-form .control-group .control>input,.ink-form .control-group .control>select,.ink-form .control-group .control>textarea{width:100%}.ink-form .control-group .control>input+[class*=" icon-"],.ink-form .control-group .control>input+[class^=icon-],.ink-form .control-group .control>select+[class*=" icon-"],.ink-form .control-group .control>select+[class^=icon-],.ink-form .control-group .control>textarea+[class*=" icon-"],.ink-form .control-group .control>textarea+[class^=icon-]{display:none}.ink-form .control-group .control.append-button span,.ink-form .control-group .control.append-symbol span,.ink-form .control-group .control.prepend-button span,.ink-form .control-group .control.prepend-symbol span{width:100%;position:relative}.ink-form .control-group .control.append-button span>input,.ink-form .control-group .control.append-button span>select,.ink-form .control-group .control.append-button span>textarea,.ink-form .control-group .control.append-symbol span>input,.ink-form .control-group .control.append-symbol span>select,.ink-form .control-group .control.append-symbol span>textarea,.ink-form .control-group .control.prepend-button span>input,.ink-form .control-group .control.prepend-button span>select,.ink-form .control-group .control.prepend-button span>textarea,.ink-form .control-group .control.prepend-symbol span>input,.ink-form .control-group .control.prepend-symbol span>select,.ink-form .control-group .control.prepend-symbol span>textarea{width:100%}.ink-form .control-group .control.append-button>input[type=button],.ink-form .control-group .control.append-button>input[type=reset],.ink-form .control-group .control.append-button>input[type=submit],.ink-form .control-group .control.append-symbol>input[type=button],.ink-form .control-group .control.append-symbol>input[type=reset],.ink-form .control-group .control.append-symbol>input[type=submit],.ink-form .control-group .control.prepend-button>input[type=button],.ink-form .control-group .control.prepend-button>input[type=reset],.ink-form .control-group .control.prepend-button>input[type=submit],.ink-form .control-group .control.prepend-symbol>input[type=button],.ink-form .control-group .control.prepend-symbol>input[type=reset],.ink-form .control-group .control.prepend-symbol>input[type=submit]{width:auto}.ink-form .control-group .control.append-button{display:-webkit-flex;display:flex;display:-ms-flexbox}.ink-form .control-group .control.append-button span{display:table-cell}.ink-form .control-group .control.append-button span>input,.ink-form .control-group .control.append-button span>select,.ink-form .control-group .control.append-button span>textarea{-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;-ms-border-radius:2px 0 0 2px;-o-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.ink-form .control-group .control.append-button .ink-button{margin:0;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;-ms-border-radius:0 2px 2px 0;-o-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;border-left:0}.ink-form .control-group .control.prepend-button{display:-webkit-flex;display:flex;display:-ms-flexbox}.ink-form .control-group .control.prepend-button span{display:table-cell}.ink-form .control-group .control.prepend-button span>input,.ink-form .control-group .control.prepend-button span>select,.ink-form .control-group .control.prepend-button span>textarea{-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;-ms-border-radius:0 2px 2px 0;-o-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.ink-form .control-group .control.prepend-button .ink-button{margin:0;-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;-ms-border-radius:2px 0 0 2px;-o-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;border-right:0}.ink-form .control-group .control.append-symbol span{display:block}.ink-form .control-group .control.append-symbol span>input,.ink-form .control-group .control.append-symbol span>select,.ink-form .control-group .control.append-symbol span>textarea{padding-right:2.5em}.ink-form .control-group .control.append-symbol span>[class*=" fa-"],.ink-form .control-group .control.append-symbol span>[class^=fa-]{position:absolute;right:1em;top:.86em;pointer-events:none}.ink-form .control-group .control.prepend-symbol span{display:block}.ink-form .control-group .control.prepend-symbol span>input,.ink-form .control-group .control.prepend-symbol span>select,.ink-form .control-group .control.prepend-symbol span>textarea{padding-left:2.5em}.ink-form .control-group .control.prepend-symbol span>[class*=" fa-"],.ink-form .control-group .control.prepend-symbol span>[class^=fa-]{position:absolute;left:1em;top:.86em;pointer-events:none}.ink-form .control-group input[type=checkbox],.ink-form .control-group input[type=radio]{padding:0;margin:.55em 0;border:0;clear:left;float:left;cursor:pointer}.ink-form .control-group input[type=checkbox]+label,.ink-form .control-group input[type=radio]+label{float:left;margin:.25em 0 .25em .4em}.ink-form .control-group .inline li{padding:0}.ink-form .control-group .inline li label{margin-right:1em}.ink-form .control-group.validation.error input,.ink-form .control-group.validation.error select,.ink-form .control-group.validation.error textarea{outline:0;-webkit-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;-moz-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;border:1px solid rgba(200,10,16,.5)}.ink-form .control-group.validation.error p.tip{color:rgba(150,7,12,.55)}.ink-form .control-group.validation.warning input,.ink-form .control-group.validation.warning select,.ink-form .control-group.validation.warning textarea{outline:0;-webkit-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;-moz-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;border:1px solid rgba(255,156,0,.6)}.ink-form .control-group.validation.warning p.tip{color:rgba(204,125,0,.6)}.ink-form .control-group.required label,.ink-form .control-group.required p.label{color:#555}.ink-form .control-group.required label:after,.ink-form .control-group.required p.label:after{content:"\f069";color:#c91111;margin-left:.6em;font-family:FontAwesome;font-size:.75em;width:1.25em}.ink-form .control-group.required ul.control label:after{content:""}.ink-grid{width:auto;max-width:1440px;margin:0 auto}.order-1{order:1;-ms-flex-order:1}.order-2{order:2;-ms-flex-order:2}.order-3{order:3;-ms-flex-order:3}.order-4{order:4;-ms-flex-order:4}.order-5{order:5;-ms-flex-order:5}.order-6{order:6;-ms-flex-order:6}.order-7{order:7;-ms-flex-order:7}.order-8{order:8;-ms-flex-order:8}.order-9{order:9;-ms-flex-order:9}.order-10{order:10;-ms-flex-order:10}.all-5{width:5%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-10{width:10%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-15{width:15%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-16{width:16.66666%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-20{width:20%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-25{width:25%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-30{width:30%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-33{width:33.33333%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-35{width:35%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-40{width:40%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-45{width:45%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-50{width:50%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-55{width:55%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-60{width:60%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-65{width:65%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-66{width:66.66666%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-70{width:70%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-75{width:75%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-80{width:80%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-85{width:85%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-90{width:90%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-95{width:95%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-100{width:100%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.all-auto{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}@media screen and (min-width:1261px){.ink-grid{padding:0 2em}.column-group.gutters{margin-left:-2em}.column-group.gutters>.all-auto,.column-group.gutters>[class*=all-],.column-group.gutters>[class*=xlarge-]{padding-left:2em;margin-bottom:2em}.column-group.horizontal-gutters{margin-left:-2em}.column-group.horizontal-gutters>.all-auto,.column-group.horizontal-gutters>[class*=all-],.column-group.horizontal-gutters>[class*=xlarge-]{padding-left:2em}.column-group.vertical-gutters>.all-auto,.column-group.vertical-gutters>[class*=all-],.column-group.vertical-gutters>[class*=xlarge-]{margin-bottom:2em}.column-group.double-gutters{margin-left:-4em}.column-group.double-gutters>.all-auto,.column-group.double-gutters>[class*=all-],.column-group.double-gutters>[class*=xlarge-]{padding-left:4em;margin-bottom:4em}.column-group.double-horizontal-gutters{margin-left:-4em}.column-group.double-horizontal-gutters>.all-auto,.column-group.double-horizontal-gutters>[class*=all-],.column-group.double-horizontal-gutters>[class*=xlarge-]{padding-left:4em}.column-group.double-vertical-gutters>.all-auto,.column-group.double-vertical-gutters>[class*=all-],.column-group.double-vertical-gutters>[class*=xlarge-]{margin-bottom:4em}.column-group.half-gutters{margin-left:-1em}.column-group.half-gutters>.all-auto,.column-group.half-gutters>[class*=all-],.column-group.half-gutters>[class*=xlarge-]{padding-left:1em;margin-bottom:1em}.column-group.half-horizontal-gutters{margin-left:-1em}.column-group.half-horizontal-gutters>.all-auto,.column-group.half-horizontal-gutters>[class*=all-],.column-group.half-horizontal-gutters>[class*=xlarge-]{padding-left:1em}.column-group.half-vertical-gutters>.all-auto,.column-group.half-vertical-gutters>[class*=all-],.column-group.half-vertical-gutters>[class*=xlarge-]{margin-bottom:1em}.column-group.quarter-gutters{margin-left:-.5em}.column-group.quarter-gutters>.all-auto,.column-group.quarter-gutters>[class*=all-],.column-group.quarter-gutters>[class*=xlarge-]{padding-left:.5em;margin-bottom:.5em}.column-group.quarter-horizontal-gutters{margin-left:-.5em}.column-group.quarter-horizontal-gutters>.all-auto,.column-group.quarter-horizontal-gutters>[class*=all-],.column-group.quarter-horizontal-gutters>[class*=xlarge-]{padding-left:.5em}.column-group.quarter-vertical-gutters>.all-auto,.column-group.quarter-vertical-gutters>[class*=all-],.column-group.quarter-vertical-gutters>[class*=xlarge-]{margin-bottom:.5em}.column-group.xlarge-gutters{margin-left:-2em}.column-group.xlarge-gutters>.all-auto,.column-group.xlarge-gutters>[class*=all-],.column-group.xlarge-gutters>[class*=xlarge-]{padding-left:.5em;margin-bottom:.5em}.column-group.xlarge-horizontal-gutters{margin-left:-2em}.column-group.xlarge-horizontal-gutters>.all-auto,.column-group.xlarge-horizontal-gutters>[class*=all-],.column-group.xlarge-horizontal-gutters>[class*=xlarge-]{padding-left:2em}.column-group.xlarge-vertical-gutters>.all-auto,.column-group.xlarge-vertical-gutters>[class*=all-],.column-group.xlarge-vertical-gutters>[class*=xlarge-]{margin-bottom:2em}.column-group.xlarge-double-gutters{margin-left:-4em}.column-group.xlarge-double-gutters>.all-auto,.column-group.xlarge-double-gutters>[class*=all-],.column-group.xlarge-double-gutters>[class*=xlarge-]{padding-left:4em;margin-bottom:4em}.column-group.xlarge-double-horizontal-gutters{margin-left:-4em}.column-group.xlarge-double-horizontal-gutters>.all-auto,.column-group.xlarge-double-horizontal-gutters>[class*=all-],.column-group.xlarge-double-horizontal-gutters>[class*=xlarge-]{padding-left:4em}.column-group.xlarge-double-vertical-gutters>.all-auto,.column-group.xlarge-double-vertical-gutters>[class*=all-],.column-group.xlarge-double-vertical-gutters>[class*=xlarge-]{margin-bottom:4em}.column-group.xlarge-half-gutters{margin-left:-1em}.column-group.xlarge-half-gutters>.all-auto,.column-group.xlarge-half-gutters>[class*=all-],.column-group.xlarge-half-gutters>[class*=xlarge-]{padding-left:1em;margin-bottom:1em}.column-group.xlarge-half-horizontal-gutters{margin-left:-1em}.column-group.xlarge-half-horizontal-gutters>.all-auto,.column-group.xlarge-half-horizontal-gutters>[class*=all-],.column-group.xlarge-half-horizontal-gutters>[class*=xlarge-]{padding-left:1em}.column-group.xlarge-half-vertical-gutters>.all-auto,.column-group.xlarge-half-vertical-gutters>[class*=all-],.column-group.xlarge-half-vertical-gutters>[class*=xlarge-]{margin-bottom:1em}.column-group.xlarge-quarter-gutters{margin-left:-.5em}.column-group.xlarge-quarter-gutters>.all-auto,.column-group.xlarge-quarter-gutters>[class*=all-],.column-group.xlarge-quarter-gutters>[class*=xlarge-]{padding-left:.5em;margin-bottom:.5em}.column-group.xlarge-quarter-horizontal-gutters{margin-left:-.5em}.column-group.xlarge-quarter-horizontal-gutters>.all-auto,.column-group.xlarge-quarter-horizontal-gutters>[class*=all-],.column-group.xlarge-quarter-horizontal-gutters>[class*=xlarge-]{padding-left:.5em}.column-group.xlarge-quarter-vertical-gutters>.all-auto,.column-group.xlarge-quarter-vertical-gutters>[class*=all-],.column-group.xlarge-quarter-vertical-gutters>[class*=xlarge-]{margin-bottom:.5em}.column-group.xlarge-no-gutters{margin-left:0}.column-group.xlarge-no-gutters>.all-auto,.column-group.xlarge-no-gutters>[class*=all-],.column-group.xlarge-no-gutters>[class*=xlarge-]{padding-left:0;margin-bottom:0}.xlarge-5{width:5%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-10{width:10%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-15{width:15%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-16{width:16.66666%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-20{width:20%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-25{width:25%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-30{width:30%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-33{width:33.33333%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-35{width:35%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-40{width:40%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-45{width:45%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-50{width:50%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-55{width:55%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-60{width:60%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-65{width:65%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-66{width:66.66666%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-70{width:70%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-75{width:75%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-80{width:80%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-85{width:85%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-90{width:90%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-95{width:95%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-100{width:100%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.xlarge-auto{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}.column-group,.ink-flex{display:-webkit-flex;display:flex;display:-ms-flexbox;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;list-style:none}.column-group.reverse,.column-group.xlarge-reverse,.ink-flex.reverse,.ink-flex.xlarge-reverse{-webkit-flex-direction:row-reverse;-moz-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.column-group.vertical,.column-group.xlarge-vertical,.ink-flex.vertical,.ink-flex.xlarge-vertical{-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.column-group.vertical.reverse,.column-group.xlarge-vertical.xlarge-reverse,.ink-flex.vertical.reverse,.ink-flex.xlarge-vertical.xlarge-reverse{-webkit-flex-direction:column-reverse;-moz-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.xlarge-order-1{order:1;-ms-flex-order:1}.xlarge-order-2{order:2;-ms-flex-order:2}.xlarge-order-3{order:3;-ms-flex-order:3}.xlarge-order-4{order:4;-ms-flex-order:4}.xlarge-order-5{order:5;-ms-flex-order:5}.xlarge-order-6{order:6;-ms-flex-order:6}.xlarge-order-7{order:7;-ms-flex-order:7}.xlarge-order-8{order:8;-ms-flex-order:8}.xlarge-order-9{order:9;-ms-flex-order:9}.xlarge-order-10{order:10;-ms-flex-order:10}.column-group .xlarge-auto{-webkit-flex-basis:auto;-ms-flex-basis:auto;flex-basis:auto;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1}.push-top,.xlarge-push-top{-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.push-bottom,.xlarge-push-bottom{-webkit-box-align:end;-webkit-align-items:flex-end;-moz-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.push-middle,.xlarge-push-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:flex-center;-ms-flex-item-align:center;align-self:center}.push-left,.xlarge-push-left{-webkit-justify-content:flex-start;-moz-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;-ms-flex-pack:start;float:left}.push-center,.xlarge-push-center{float:none!important;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center;-ms-flex-pack:center;margin-left:auto;margin-right:auto}.push-right,.xlarge-push-right{-webkit-justify-content:flex-end;-moz-justify-content:flex-end;-ms-justify-content:flex-end;justify-content:flex-end;-ms-flex-pack:end;float:right}.xlarge-align-left{text-align:left}.xlarge-align-center{text-align:center}.xlarge-align-right{text-align:right}.space,.xlarge-space{margin:2em}.padding,.xlarge-padding{padding:2em}.double-space,.xlarge-double-space{margin:4em}.double-padding,.xlarge-double-padding{padding:4em}.half-space,.xlarge-half-space{margin:1em}.half-padding,.xlarge-half-padding{padding:1em}.quarter-space,.xlarge-quarter-space{margin:.5em}.quarter-padding,.xlarge-quarter-padding{padding:.5em}.vertical-space,.xlarge-vertical-space{margin-top:2em;margin-bottom:2em}.vertical-padding,.xlarge-vertical-padding{padding-top:2em;padding-bottom:2em}.double-vertical-space,.xlarge-double-vertical-space{margin-top:4em;margin-bottom:4em}.double-vertical-padding,.xlarge-double-vertical-padding{padding-top:4em;padding-bottom:4em}.half-vertical-space,.xlarge-half-vertical-space{margin-top:1em;margin-bottom:1em}.half-vertical-padding,.xlarge-half-vertical-padding{padding-top:1em;padding-bottom:1em}.quarter-vertical-space,.xlarge-quarter-vertical-space{margin-top:.5em;margin-bottom:.5em}.quarter-vertical-padding,.xlarge-quarter-vertical-padding{padding-top:.5em;padding-bottom:.5em}.horizontal-space,.xlarge-horizontal-space{margin-left:2em;margin-right:2em}.horizontal-padding,.xlarge-horizontal-padding{padding-left:2em;padding-right:2em}.double-horizontal-space,.xlarge-double-horizontal-space{margin-left:4em;margin-right:4em}.double-horizontal-padding,.xlarge-double-horizontal-padding{padding-left:4em;padding-right:4em}.half-horizontal-space,.xlarge-half-horizontal-space{margin-left:1em;margin-right:1em}.half-horizontal-padding,.xlarge-half-horizontal-padding{padding-left:1em;padding-right:1em}.quarter-horizontal-space,.xlarge-quarter-horizontal-space{margin-left:.5em;margin-right:.5em}.quarter-horizontal-padding,.xlarge-quarter-horizontal-padding{padding-left:.5em;padding-right:.5em}.top-space,.xlarge-top-space{margin-top:2em}.top-padding,.xlarge-top-padding{padding-top:2em}.double-top-space,.xlarge-double-top-space{margin-top:4em}.double-top-padding,.xlarge-double-top-padding{padding-top:4em}.half-top-space,.xlarge-half-top-space{margin-top:1em}.half-top-padding,.xlarge-half-top-padding{padding-top:1em}.quarter-top-space,.xlarge-quarter-top-space{margin-top:.5em}.quarter-top-padding,.xlarge-quarter-top-padding{padding-top:.5em}.right-space,.xlarge-right-space{margin-right:2em}.right-padding,.xlarge-right-padding{padding-right:2em}.double-right-space,.xlarge-double-right-space{margin-right:4em}.double-right-padding,.xlarge-double-right-padding{padding-right:4em}.half-right-space,.xlarge-half-right-space{margin-right:1em}.half-right-padding,.xlarge-half-right-padding{padding-right:1em}.quarter-right-space,.xlarge-quarter-right-space{margin-right:.5em}.quarter-right-padding,.xlarge-quarter-right-padding{padding-right:.5em}.bottom-space,.xlarge-bottom-space{margin-bottom:2em}.bottom-padding,.xlarge-bottom-padding{padding-bottom:2em}.double-bottom-space,.xlarge-double-bottom-space{margin-bottom:4em}.double-bottom-padding,.xlarge-double-bottom-padding{padding-bottom:4em}.half-bottom-space,.xlarge-half-bottom-space{margin-bottom:1em}.half-bottom-padding,.xlarge-half-bottom-padding{padding-bottom:1em}.quarter-bottom-space,.xlarge-quarter-bottom-space{margin-bottom:.5em}.quarter-bottom-padding,.xlarge-quarter-bottom-padding{padding-bottom:.5em}.left-space,.xlarge-left-space{margin-left:2em}.left-padding,.xlarge-left-padding{padding-left:2em}.double-left-space,.xlarge-double-left-space{margin-left:4em}.double-left-padding,.xlarge-double-left-padding{padding-left:4em}.half-left-space,.xlarge-half-left-space{margin-left:1em}.half-left-padding,.xlarge-half-left-padding{padding-left:1em}.quarter-left-space,.xlarge-quarter-left-space{margin-left:.5em}.quarter-left-padding,.xlarge-quarter-left-padding{padding-left:.5em}.hide-xlarge{display:none!important}.show-xlarge{display:inherit!important}table.show-xlarge{display:table}thead.show-xlarge{display:table-header-group}tbody.show-xlarge{display:table-row-group}tfoot.show-xlarge{display:table-footer-group}tr.show-xlarge{display:table-row}td.show-xlarge,th.show-xlarge{display:table-cell}}@media screen and (min-width:961px) and (max-width:1260px){.ink-grid{padding:0 1.75em}.column-group.gutters{margin-left:-1.75em}.column-group.gutters>.all-auto,.column-group.gutters>[class*=all-],.column-group.gutters>[class*=large-]{padding-left:1.75em;margin-bottom:1.75em}.column-group.horizontal-gutters{margin-left:-1.75em}.column-group.horizontal-gutters>.all-auto,.column-group.horizontal-gutters>[class*=all-],.column-group.horizontal-gutters>[class*=large-]{padding-left:1.75em}.column-group.vertical-gutters>.all-auto,.column-group.vertical-gutters>[class*=all-],.column-group.vertical-gutters>[class*=large-]{margin-bottom:1.75em}.column-group.double-gutters{margin-left:-3.5em}.column-group.double-gutters>.all-auto,.column-group.double-gutters>[class*=all-],.column-group.double-gutters>[class*=large-]{padding-left:3.5em;margin-bottom:3.5em}.column-group.double-horizontal-gutters{margin-left:-3.5em}.column-group.double-horizontal-gutters>.all-auto,.column-group.double-horizontal-gutters>[class*=all-],.column-group.double-horizontal-gutters>[class*=large-]{padding-left:3.5em}.column-group.double-vertical-gutters>.all-auto,.column-group.double-vertical-gutters>[class*=all-],.column-group.double-vertical-gutters>[class*=large-]{margin-bottom:3.5em}.column-group.half-gutters{margin-left:-.875em}.column-group.half-gutters>.all-auto,.column-group.half-gutters>[class*=all-],.column-group.half-gutters>[class*=large-]{padding-left:.875em;margin-bottom:.875em}.column-group.half-horizontal-gutters{margin-left:-.875em}.column-group.half-horizontal-gutters>.all-auto,.column-group.half-horizontal-gutters>[class*=all-],.column-group.half-horizontal-gutters>[class*=large-]{padding-left:.875em}.column-group.half-vertical-gutters>.all-auto,.column-group.half-vertical-gutters>[class*=all-],.column-group.half-vertical-gutters>[class*=large-]{margin-bottom:.875em}.column-group.quarter-gutters{margin-left:-.4375em}.column-group.quarter-gutters>.all-auto,.column-group.quarter-gutters>[class*=all-],.column-group.quarter-gutters>[class*=large-]{padding-left:.4375em;margin-bottom:.4375em}.column-group.quarter-horizontal-gutters{margin-left:-.4375em}.column-group.quarter-horizontal-gutters>.all-auto,.column-group.quarter-horizontal-gutters>[class*=all-],.column-group.quarter-horizontal-gutters>[class*=large-]{padding-left:.4375em}.column-group.quarter-vertical-gutters>.all-auto,.column-group.quarter-vertical-gutters>[class*=all-],.column-group.quarter-vertical-gutters>[class*=large-]{margin-bottom:.4375em}.column-group.large-gutters{margin-left:-1.75em}.column-group.large-gutters>.all-auto,.column-group.large-gutters>[class*=all-],.column-group.large-gutters>[class*=large-]{padding-left:.4375em;margin-bottom:.4375em}.column-group.large-horizontal-gutters{margin-left:-1.75em}.column-group.large-horizontal-gutters>.all-auto,.column-group.large-horizontal-gutters>[class*=all-],.column-group.large-horizontal-gutters>[class*=large-]{padding-left:1.75em}.column-group.large-vertical-gutters>.all-auto,.column-group.large-vertical-gutters>[class*=all-],.column-group.large-vertical-gutters>[class*=large-]{margin-bottom:1.75em}.column-group.large-double-gutters{margin-left:-3.5em}.column-group.large-double-gutters>.all-auto,.column-group.large-double-gutters>[class*=all-],.column-group.large-double-gutters>[class*=large-]{padding-left:3.5em;margin-bottom:3.5em}.column-group.large-double-horizontal-gutters{margin-left:-3.5em}.column-group.large-double-horizontal-gutters>.all-auto,.column-group.large-double-horizontal-gutters>[class*=all-],.column-group.large-double-horizontal-gutters>[class*=large-]{padding-left:3.5em}.column-group.large-double-vertical-gutters>.all-auto,.column-group.large-double-vertical-gutters>[class*=all-],.column-group.large-double-vertical-gutters>[class*=large-]{margin-bottom:3.5em}.column-group.large-half-gutters{margin-left:-.875em}.column-group.large-half-gutters>.all-auto,.column-group.large-half-gutters>[class*=all-],.column-group.large-half-gutters>[class*=large-]{padding-left:.875em;margin-bottom:.875em}.column-group.large-half-horizontal-gutters{margin-left:-.875em}.column-group.large-half-horizontal-gutters>.all-auto,.column-group.large-half-horizontal-gutters>[class*=all-],.column-group.large-half-horizontal-gutters>[class*=large-]{padding-left:.875em}.column-group.large-half-vertical-gutters>.all-auto,.column-group.large-half-vertical-gutters>[class*=all-],.column-group.large-half-vertical-gutters>[class*=large-]{margin-bottom:.875em}.column-group.large-quarter-gutters{margin-left:-.4375em}.column-group.large-quarter-gutters>.all-auto,.column-group.large-quarter-gutters>[class*=all-],.column-group.large-quarter-gutters>[class*=large-]{padding-left:.4375em;margin-bottom:.4375em}.column-group.large-quarter-horizontal-gutters{margin-left:-.4375em}.column-group.large-quarter-horizontal-gutters>.all-auto,.column-group.large-quarter-horizontal-gutters>[class*=all-],.column-group.large-quarter-horizontal-gutters>[class*=large-]{padding-left:.4375em}.column-group.large-quarter-vertical-gutters>.all-auto,.column-group.large-quarter-vertical-gutters>[class*=all-],.column-group.large-quarter-vertical-gutters>[class*=large-]{margin-bottom:.4375em}.column-group.large-no-gutters{margin-left:0}.column-group.large-no-gutters>.all-auto,.column-group.large-no-gutters>[class*=all-],.column-group.large-no-gutters>[class*=large-]{padding-left:0;margin-bottom:0}.large-5{width:5%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-10{width:10%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-15{width:15%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-16{width:16.66666%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-20{width:20%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-25{width:25%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-30{width:30%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-33{width:33.33333%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-35{width:35%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-40{width:40%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-45{width:45%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-50{width:50%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-55{width:55%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-60{width:60%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-65{width:65%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-66{width:66.66666%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-70{width:70%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-75{width:75%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-80{width:80%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-85{width:85%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-90{width:90%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-95{width:95%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-100{width:100%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.large-auto{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}.column-group,.ink-flex{display:-webkit-flex;display:flex;display:-ms-flexbox;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;list-style:none}.column-group.large-reverse,.column-group.reverse,.ink-flex.large-reverse,.ink-flex.reverse{-webkit-flex-direction:row-reverse;-moz-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.column-group.large-vertical,.column-group.vertical,.ink-flex.large-vertical,.ink-flex.vertical{-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.column-group.large-vertical.large-reverse,.column-group.vertical.reverse,.ink-flex.large-vertical.large-reverse,.ink-flex.vertical.reverse{-webkit-flex-direction:column-reverse;-moz-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.large-order-1{order:1;-ms-flex-order:1}.large-order-2{order:2;-ms-flex-order:2}.large-order-3{order:3;-ms-flex-order:3}.large-order-4{order:4;-ms-flex-order:4}.large-order-5{order:5;-ms-flex-order:5}.large-order-6{order:6;-ms-flex-order:6}.large-order-7{order:7;-ms-flex-order:7}.large-order-8{order:8;-ms-flex-order:8}.large-order-9{order:9;-ms-flex-order:9}.large-order-10{order:10;-ms-flex-order:10}.column-group .large-auto{-webkit-flex-basis:auto;-ms-flex-basis:auto;flex-basis:auto;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1}.large-push-top,.push-top{-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.large-push-bottom,.push-bottom{-webkit-box-align:end;-webkit-align-items:flex-end;-moz-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.large-push-middle,.push-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:flex-center;-ms-flex-item-align:center;align-self:center}.large-push-left,.push-left{-webkit-justify-content:flex-start;-moz-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;-ms-flex-pack:start;float:left}.large-push-center,.push-center{float:none!important;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center;-ms-flex-pack:center;margin-left:auto;margin-right:auto}.large-push-right,.push-right{-webkit-justify-content:flex-end;-moz-justify-content:flex-end;-ms-justify-content:flex-end;justify-content:flex-end;-ms-flex-pack:end;float:right}.large-align-left{text-align:left}.large-align-center{text-align:center}.large-align-right{text-align:right}.large-space,.space{margin:1.75em}.large-padding,.padding{padding:1.75em}.double-space,.large-double-space{margin:3.5em}.double-padding,.large-double-padding{padding:3.5em}.half-space,.large-half-space{margin:.875em}.half-padding,.large-half-padding{padding:.875em}.large-quarter-space,.quarter-space{margin:.4375em}.large-quarter-padding,.quarter-padding{padding:.4375em}.large-vertical-space,.vertical-space{margin-top:1.75em;margin-bottom:1.75em}.large-vertical-padding,.vertical-padding{padding-top:1.75em;padding-bottom:1.75em}.double-vertical-space,.large-double-vertical-space{margin-top:3.5em;margin-bottom:3.5em}.double-vertical-padding,.large-double-vertical-padding{padding-top:3.5em;padding-bottom:3.5em}.half-vertical-space,.large-half-vertical-space{margin-top:.875em;margin-bottom:.875em}.half-vertical-padding,.large-half-vertical-padding{padding-top:.875em;padding-bottom:.875em}.large-quarter-vertical-space,.quarter-vertical-space{margin-top:.4375em;margin-bottom:.4375em}.large-quarter-vertical-padding,.quarter-vertical-padding{padding-top:.4375em;padding-bottom:.4375em}.horizontal-space,.large-horizontal-space{margin-left:1.75em;margin-right:1.75em}.horizontal-padding,.large-horizontal-padding{padding-left:1.75em;padding-right:1.75em}.double-horizontal-space,.large-double-horizontal-space{margin-left:3.5em;margin-right:3.5em}.double-horizontal-padding,.large-double-horizontal-padding{padding-left:3.5em;padding-right:3.5em}.half-horizontal-space,.large-half-horizontal-space{margin-left:.875em;margin-right:.875em}.half-horizontal-padding,.large-half-horizontal-padding{padding-left:.875em;padding-right:.875em}.large-quarter-horizontal-space,.quarter-horizontal-space{margin-left:.4375em;margin-right:.4375em}.large-quarter-horizontal-padding,.quarter-horizontal-padding{padding-left:.4375em;padding-right:.4375em}.large-top-space,.top-space{margin-top:1.75em}.large-top-padding,.top-padding{padding-top:1.75em}.double-top-space,.large-double-top-space{margin-top:3.5em}.double-top-padding,.large-double-top-padding{padding-top:3.5em}.half-top-space,.large-half-top-space{margin-top:.875em}.half-top-padding,.large-half-top-padding{padding-top:.875em}.large-quarter-top-space,.quarter-top-space{margin-top:.4375em}.large-quarter-top-padding,.quarter-top-padding{padding-top:.4375em}.large-right-space,.right-space{margin-right:1.75em}.large-right-padding,.right-padding{padding-right:1.75em}.double-right-space,.large-double-right-space{margin-right:3.5em}.double-right-padding,.large-double-right-padding{padding-right:3.5em}.half-right-space,.large-half-right-space{margin-right:.875em}.half-right-padding,.large-half-right-padding{padding-right:.875em}.large-quarter-right-space,.quarter-right-space{margin-right:.4375em}.large-quarter-right-padding,.quarter-right-padding{padding-right:.4375em}.bottom-space,.large-bottom-space{margin-bottom:1.75em}.bottom-padding,.large-bottom-padding{padding-bottom:1.75em}.double-bottom-space,.large-double-bottom-space{margin-bottom:3.5em}.double-bottom-padding,.large-double-bottom-padding{padding-bottom:3.5em}.half-bottom-space,.large-half-bottom-space{margin-bottom:.875em}.half-bottom-padding,.large-half-bottom-padding{padding-bottom:.875em}.large-quarter-bottom-space,.quarter-bottom-space{margin-bottom:.4375em}.large-quarter-bottom-padding,.quarter-bottom-padding{padding-bottom:.4375em}.large-left-space,.left-space{margin-left:1.75em}.large-left-padding,.left-padding{padding-left:1.75em}.double-left-space,.large-double-left-space{margin-left:3.5em}.double-left-padding,.large-double-left-padding{padding-left:3.5em}.half-left-space,.large-half-left-space{margin-left:.875em}.half-left-padding,.large-half-left-padding{padding-left:.875em}.large-quarter-left-space,.quarter-left-space{margin-left:.4375em}.large-quarter-left-padding,.quarter-left-padding{padding-left:.4375em}.hide-large{display:none!important}.show-large{display:inherit!important}table.show-large{display:table}thead.show-large{display:table-header-group}tbody.show-large{display:table-row-group}tfoot.show-large{display:table-footer-group}tr.show-large{display:table-row}td.show-large,th.show-large{display:table-cell}}@media screen and (min-width:641px) and (max-width:960px){.ink-grid{padding:0 1.5em}.column-group.gutters{margin-left:-1.5em}.column-group.gutters>.all-auto,.column-group.gutters>[class*=all-],.column-group.gutters>[class*=medium-]{padding-left:1.5em;margin-bottom:1.5em}.column-group.horizontal-gutters{margin-left:-1.5em}.column-group.horizontal-gutters>.all-auto,.column-group.horizontal-gutters>[class*=all-],.column-group.horizontal-gutters>[class*=medium-]{padding-left:1.5em}.column-group.vertical-gutters>.all-auto,.column-group.vertical-gutters>[class*=all-],.column-group.vertical-gutters>[class*=medium-]{margin-bottom:1.5em}.column-group.double-gutters{margin-left:-3em}.column-group.double-gutters>.all-auto,.column-group.double-gutters>[class*=all-],.column-group.double-gutters>[class*=medium-]{padding-left:3em;margin-bottom:3em}.column-group.double-horizontal-gutters{margin-left:-3em}.column-group.double-horizontal-gutters>.all-auto,.column-group.double-horizontal-gutters>[class*=all-],.column-group.double-horizontal-gutters>[class*=medium-]{padding-left:3em}.column-group.double-vertical-gutters>.all-auto,.column-group.double-vertical-gutters>[class*=all-],.column-group.double-vertical-gutters>[class*=medium-]{margin-bottom:3em}.column-group.half-gutters{margin-left:-.75em}.column-group.half-gutters>.all-auto,.column-group.half-gutters>[class*=all-],.column-group.half-gutters>[class*=medium-]{padding-left:.75em;margin-bottom:.75em}.column-group.half-horizontal-gutters{margin-left:-.75em}.column-group.half-horizontal-gutters>.all-auto,.column-group.half-horizontal-gutters>[class*=all-],.column-group.half-horizontal-gutters>[class*=medium-]{padding-left:.75em}.column-group.half-vertical-gutters>.all-auto,.column-group.half-vertical-gutters>[class*=all-],.column-group.half-vertical-gutters>[class*=medium-]{margin-bottom:.75em}.column-group.quarter-gutters{margin-left:-.375em}.column-group.quarter-gutters>.all-auto,.column-group.quarter-gutters>[class*=all-],.column-group.quarter-gutters>[class*=medium-]{padding-left:.375em;margin-bottom:.375em}.column-group.quarter-horizontal-gutters{margin-left:-.375em}.column-group.quarter-horizontal-gutters>.all-auto,.column-group.quarter-horizontal-gutters>[class*=all-],.column-group.quarter-horizontal-gutters>[class*=medium-]{padding-left:.375em}.column-group.quarter-vertical-gutters>.all-auto,.column-group.quarter-vertical-gutters>[class*=all-],.column-group.quarter-vertical-gutters>[class*=medium-]{margin-bottom:.375em}.column-group.medium-gutters{margin-left:-1.5em}.column-group.medium-gutters>.all-auto,.column-group.medium-gutters>[class*=all-],.column-group.medium-gutters>[class*=medium-]{padding-left:.375em;margin-bottom:.375em}.column-group.medium-horizontal-gutters{margin-left:-1.5em}.column-group.medium-horizontal-gutters>.all-auto,.column-group.medium-horizontal-gutters>[class*=all-],.column-group.medium-horizontal-gutters>[class*=medium-]{padding-left:1.5em}.column-group.medium-vertical-gutters>.all-auto,.column-group.medium-vertical-gutters>[class*=all-],.column-group.medium-vertical-gutters>[class*=medium-]{margin-bottom:1.5em}.column-group.medium-double-gutters{margin-left:-3em}.column-group.medium-double-gutters>.all-auto,.column-group.medium-double-gutters>[class*=all-],.column-group.medium-double-gutters>[class*=medium-]{padding-left:3em;margin-bottom:3em}.column-group.medium-double-horizontal-gutters{margin-left:-3em}.column-group.medium-double-horizontal-gutters>.all-auto,.column-group.medium-double-horizontal-gutters>[class*=all-],.column-group.medium-double-horizontal-gutters>[class*=medium-]{padding-left:3em}.column-group.medium-double-vertical-gutters>.all-auto,.column-group.medium-double-vertical-gutters>[class*=all-],.column-group.medium-double-vertical-gutters>[class*=medium-]{margin-bottom:3em}.column-group.medium-half-gutters{margin-left:-.75em}.column-group.medium-half-gutters>.all-auto,.column-group.medium-half-gutters>[class*=all-],.column-group.medium-half-gutters>[class*=medium-]{padding-left:.75em;margin-bottom:.75em}.column-group.medium-half-horizontal-gutters{margin-left:-.75em}.column-group.medium-half-horizontal-gutters>.all-auto,.column-group.medium-half-horizontal-gutters>[class*=all-],.column-group.medium-half-horizontal-gutters>[class*=medium-]{padding-left:.75em}.column-group.medium-half-vertical-gutters>.all-auto,.column-group.medium-half-vertical-gutters>[class*=all-],.column-group.medium-half-vertical-gutters>[class*=medium-]{margin-bottom:.75em}.column-group.medium-quarter-gutters{margin-left:-.375em}.column-group.medium-quarter-gutters>.all-auto,.column-group.medium-quarter-gutters>[class*=all-],.column-group.medium-quarter-gutters>[class*=medium-]{padding-left:.375em;margin-bottom:.375em}.column-group.medium-quarter-horizontal-gutters{margin-left:-.375em}.column-group.medium-quarter-horizontal-gutters>.all-auto,.column-group.medium-quarter-horizontal-gutters>[class*=all-],.column-group.medium-quarter-horizontal-gutters>[class*=medium-]{padding-left:.375em}.column-group.medium-quarter-vertical-gutters>.all-auto,.column-group.medium-quarter-vertical-gutters>[class*=all-],.column-group.medium-quarter-vertical-gutters>[class*=medium-]{margin-bottom:.375em}.column-group.medium-no-gutters{margin-left:0}.column-group.medium-no-gutters>.all-auto,.column-group.medium-no-gutters>[class*=all-],.column-group.medium-no-gutters>[class*=medium-]{padding-left:0;margin-bottom:0}.medium-5{width:5%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-10{width:10%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-15{width:15%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-16{width:16.66666%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-20{width:20%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-25{width:25%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-30{width:30%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-33{width:33.33333%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-35{width:35%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-40{width:40%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-45{width:45%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-50{width:50%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-55{width:55%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-60{width:60%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-65{width:65%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-66{width:66.66666%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-70{width:70%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-75{width:75%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-80{width:80%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-85{width:85%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-90{width:90%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-95{width:95%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-100{width:100%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.medium-auto{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}.column-group,.ink-flex{display:-webkit-flex;display:flex;display:-ms-flexbox;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;list-style:none}.column-group.medium-reverse,.column-group.reverse,.ink-flex.medium-reverse,.ink-flex.reverse{-webkit-flex-direction:row-reverse;-moz-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.column-group.medium-vertical,.column-group.vertical,.ink-flex.medium-vertical,.ink-flex.vertical{-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.column-group.medium-vertical.medium-reverse,.column-group.vertical.reverse,.ink-flex.medium-vertical.medium-reverse,.ink-flex.vertical.reverse{-webkit-flex-direction:column-reverse;-moz-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.medium-order-1{order:1;-ms-flex-order:1}.medium-order-2{order:2;-ms-flex-order:2}.medium-order-3{order:3;-ms-flex-order:3}.medium-order-4{order:4;-ms-flex-order:4}.medium-order-5{order:5;-ms-flex-order:5}.medium-order-6{order:6;-ms-flex-order:6}.medium-order-7{order:7;-ms-flex-order:7}.medium-order-8{order:8;-ms-flex-order:8}.medium-order-9{order:9;-ms-flex-order:9}.medium-order-10{order:10;-ms-flex-order:10}.column-group .medium-auto{-webkit-flex-basis:auto;-ms-flex-basis:auto;flex-basis:auto;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1}.medium-push-top,.push-top{-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.medium-push-bottom,.push-bottom{-webkit-box-align:end;-webkit-align-items:flex-end;-moz-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.medium-push-middle,.push-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:flex-center;-ms-flex-item-align:center;align-self:center}.medium-push-left,.push-left{-webkit-justify-content:flex-start;-moz-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;-ms-flex-pack:start;float:left}.medium-push-center,.push-center{float:none!important;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center;-ms-flex-pack:center;margin-left:auto;margin-right:auto}.medium-push-right,.push-right{-webkit-justify-content:flex-end;-moz-justify-content:flex-end;-ms-justify-content:flex-end;justify-content:flex-end;-ms-flex-pack:end;float:right}.medium-align-left{text-align:left}.medium-align-center{text-align:center}.medium-align-right{text-align:right}.medium-space,.space{margin:1.5em}.medium-padding,.padding{padding:1.5em}.double-space,.medium-double-space{margin:3em}.double-padding,.medium-double-padding{padding:3em}.half-space,.medium-half-space{margin:.75em}.half-padding,.medium-half-padding{padding:.75em}.medium-quarter-space,.quarter-space{margin:.375em}.medium-quarter-padding,.quarter-padding{padding:.375em}.medium-vertical-space,.vertical-space{margin-top:1.5em;margin-bottom:1.5em}.medium-vertical-padding,.vertical-padding{padding-top:1.5em;padding-bottom:1.5em}.double-vertical-space,.medium-double-vertical-space{margin-top:3em;margin-bottom:3em}.double-vertical-padding,.medium-double-vertical-padding{padding-top:3em;padding-bottom:3em}.half-vertical-space,.medium-half-vertical-space{margin-top:.75em;margin-bottom:.75em}.half-vertical-padding,.medium-half-vertical-padding{padding-top:.75em;padding-bottom:.75em}.medium-quarter-vertical-space,.quarter-vertical-space{margin-top:.375em;margin-bottom:.375em}.medium-quarter-vertical-padding,.quarter-vertical-padding{padding-top:.375em;padding-bottom:.375em}.horizontal-space,.medium-horizontal-space{margin-left:1.5em;margin-right:1.5em}.horizontal-padding,.medium-horizontal-padding{padding-left:1.5em;padding-right:1.5em}.double-horizontal-space,.medium-double-horizontal-space{margin-left:3em;margin-right:3em}.double-horizontal-padding,.medium-double-horizontal-padding{padding-left:3em;padding-right:3em}.half-horizontal-space,.medium-half-horizontal-space{margin-left:.75em;margin-right:.75em}.half-horizontal-padding,.medium-half-horizontal-padding{padding-left:.75em;padding-right:.75em}.medium-quarter-horizontal-space,.quarter-horizontal-space{margin-left:.375em;margin-right:.375em}.medium-quarter-horizontal-padding,.quarter-horizontal-padding{padding-left:.375em;padding-right:.375em}.medium-top-space,.top-space{margin-top:1.5em}.medium-top-padding,.top-padding{padding-top:1.5em}.double-top-space,.medium-double-top-space{margin-top:3em}.double-top-padding,.medium-double-top-padding{padding-top:3em}.half-top-space,.medium-half-top-space{margin-top:.75em}.half-top-padding,.medium-half-top-padding{padding-top:.75em}.medium-quarter-top-space,.quarter-top-space{margin-top:.375em}.medium-quarter-top-padding,.quarter-top-padding{padding-top:.375em}.medium-right-space,.right-space{margin-right:1.5em}.medium-right-padding,.right-padding{padding-right:1.5em}.double-right-space,.medium-double-right-space{margin-right:3em}.double-right-padding,.medium-double-right-padding{padding-right:3em}.half-right-space,.medium-half-right-space{margin-right:.75em}.half-right-padding,.medium-half-right-padding{padding-right:.75em}.medium-quarter-right-space,.quarter-right-space{margin-right:.375em}.medium-quarter-right-padding,.quarter-right-padding{padding-right:.375em}.bottom-space,.medium-bottom-space{margin-bottom:1.5em}.bottom-padding,.medium-bottom-padding{padding-bottom:1.5em}.double-bottom-space,.medium-double-bottom-space{margin-bottom:3em}.double-bottom-padding,.medium-double-bottom-padding{padding-bottom:3em}.half-bottom-space,.medium-half-bottom-space{margin-bottom:.75em}.half-bottom-padding,.medium-half-bottom-padding{padding-bottom:.75em}.medium-quarter-bottom-space,.quarter-bottom-space{margin-bottom:.375em}.medium-quarter-bottom-padding,.quarter-bottom-padding{padding-bottom:.375em}.left-space,.medium-left-space{margin-left:1.5em}.left-padding,.medium-left-padding{padding-left:1.5em}.double-left-space,.medium-double-left-space{margin-left:3em}.double-left-padding,.medium-double-left-padding{padding-left:3em}.half-left-space,.medium-half-left-space{margin-left:.75em}.half-left-padding,.medium-half-left-padding{padding-left:.75em}.medium-quarter-left-space,.quarter-left-space{margin-left:.375em}.medium-quarter-left-padding,.quarter-left-padding{padding-left:.375em}.hide-medium{display:none!important}.show-medium{display:inherit!important}table.show-medium{display:table}thead.show-medium{display:table-header-group}tbody.show-medium{display:table-row-group}tfoot.show-medium{display:table-footer-group}tr.show-medium{display:table-row}td.show-medium,th.show-medium{display:table-cell}}@media screen and (min-width:321px) and (max-width:640px){.ink-grid{padding:0 1.25em}.column-group.gutters{margin-left:-1.25em}.column-group.gutters>.all-auto,.column-group.gutters>[class*=all-],.column-group.gutters>[class*=small-]{padding-left:1.25em;margin-bottom:1.25em}.column-group.horizontal-gutters{margin-left:-1.25em}.column-group.horizontal-gutters>.all-auto,.column-group.horizontal-gutters>[class*=all-],.column-group.horizontal-gutters>[class*=small-]{padding-left:1.25em}.column-group.vertical-gutters>.all-auto,.column-group.vertical-gutters>[class*=all-],.column-group.vertical-gutters>[class*=small-]{margin-bottom:1.25em}.column-group.double-gutters{margin-left:-2.5em}.column-group.double-gutters>.all-auto,.column-group.double-gutters>[class*=all-],.column-group.double-gutters>[class*=small-]{padding-left:2.5em;margin-bottom:2.5em}.column-group.double-horizontal-gutters{margin-left:-2.5em}.column-group.double-horizontal-gutters>.all-auto,.column-group.double-horizontal-gutters>[class*=all-],.column-group.double-horizontal-gutters>[class*=small-]{padding-left:2.5em}.column-group.double-vertical-gutters>.all-auto,.column-group.double-vertical-gutters>[class*=all-],.column-group.double-vertical-gutters>[class*=small-]{margin-bottom:2.5em}.column-group.half-gutters{margin-left:-.625em}.column-group.half-gutters>.all-auto,.column-group.half-gutters>[class*=all-],.column-group.half-gutters>[class*=small-]{padding-left:.625em;margin-bottom:.625em}.column-group.half-horizontal-gutters{margin-left:-.625em}.column-group.half-horizontal-gutters>.all-auto,.column-group.half-horizontal-gutters>[class*=all-],.column-group.half-horizontal-gutters>[class*=small-]{padding-left:.625em}.column-group.half-vertical-gutters>.all-auto,.column-group.half-vertical-gutters>[class*=all-],.column-group.half-vertical-gutters>[class*=small-]{margin-bottom:.625em}.column-group.quarter-gutters{margin-left:-.3125em}.column-group.quarter-gutters>.all-auto,.column-group.quarter-gutters>[class*=all-],.column-group.quarter-gutters>[class*=small-]{padding-left:.3125em;margin-bottom:.3125em}.column-group.quarter-horizontal-gutters{margin-left:-.3125em}.column-group.quarter-horizontal-gutters>.all-auto,.column-group.quarter-horizontal-gutters>[class*=all-],.column-group.quarter-horizontal-gutters>[class*=small-]{padding-left:.3125em}.column-group.quarter-vertical-gutters>.all-auto,.column-group.quarter-vertical-gutters>[class*=all-],.column-group.quarter-vertical-gutters>[class*=small-]{margin-bottom:.3125em}.column-group.small-gutters{margin-left:-1.25em}.column-group.small-gutters>.all-auto,.column-group.small-gutters>[class*=all-],.column-group.small-gutters>[class*=small-]{padding-left:.3125em;margin-bottom:.3125em}.column-group.small-horizontal-gutters{margin-left:-1.25em}.column-group.small-horizontal-gutters>.all-auto,.column-group.small-horizontal-gutters>[class*=all-],.column-group.small-horizontal-gutters>[class*=small-]{padding-left:1.25em}.column-group.small-vertical-gutters>.all-auto,.column-group.small-vertical-gutters>[class*=all-],.column-group.small-vertical-gutters>[class*=small-]{margin-bottom:1.25em}.column-group.small-double-gutters{margin-left:-2.5em}.column-group.small-double-gutters>.all-auto,.column-group.small-double-gutters>[class*=all-],.column-group.small-double-gutters>[class*=small-]{padding-left:2.5em;margin-bottom:2.5em}.column-group.small-double-horizontal-gutters{margin-left:-2.5em}.column-group.small-double-horizontal-gutters>.all-auto,.column-group.small-double-horizontal-gutters>[class*=all-],.column-group.small-double-horizontal-gutters>[class*=small-]{padding-left:2.5em}.column-group.small-double-vertical-gutters>.all-auto,.column-group.small-double-vertical-gutters>[class*=all-],.column-group.small-double-vertical-gutters>[class*=small-]{margin-bottom:2.5em}.column-group.small-half-gutters{margin-left:-.625em}.column-group.small-half-gutters>.all-auto,.column-group.small-half-gutters>[class*=all-],.column-group.small-half-gutters>[class*=small-]{padding-left:.625em;margin-bottom:.625em}.column-group.small-half-horizontal-gutters{margin-left:-.625em}.column-group.small-half-horizontal-gutters>.all-auto,.column-group.small-half-horizontal-gutters>[class*=all-],.column-group.small-half-horizontal-gutters>[class*=small-]{padding-left:.625em}.column-group.small-half-vertical-gutters>.all-auto,.column-group.small-half-vertical-gutters>[class*=all-],.column-group.small-half-vertical-gutters>[class*=small-]{margin-bottom:.625em}.column-group.small-quarter-gutters{margin-left:-.3125em}.column-group.small-quarter-gutters>.all-auto,.column-group.small-quarter-gutters>[class*=all-],.column-group.small-quarter-gutters>[class*=small-]{padding-left:.3125em;margin-bottom:.3125em}.column-group.small-quarter-horizontal-gutters{margin-left:-.3125em}.column-group.small-quarter-horizontal-gutters>.all-auto,.column-group.small-quarter-horizontal-gutters>[class*=all-],.column-group.small-quarter-horizontal-gutters>[class*=small-]{padding-left:.3125em}.column-group.small-quarter-vertical-gutters>.all-auto,.column-group.small-quarter-vertical-gutters>[class*=all-],.column-group.small-quarter-vertical-gutters>[class*=small-]{margin-bottom:.3125em}.column-group.small-no-gutters{margin-left:0}.column-group.small-no-gutters>.all-auto,.column-group.small-no-gutters>[class*=all-],.column-group.small-no-gutters>[class*=small-]{padding-left:0;margin-bottom:0}.small-5{width:5%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-10{width:10%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-15{width:15%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-16{width:16.66666%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-20{width:20%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-25{width:25%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-30{width:30%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-33{width:33.33333%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-35{width:35%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-40{width:40%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-45{width:45%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-50{width:50%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-55{width:55%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-60{width:60%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-65{width:65%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-66{width:66.66666%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-70{width:70%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-75{width:75%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-80{width:80%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-85{width:85%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-90{width:90%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-95{width:95%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-100{width:100%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.small-auto{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}.column-group,.ink-flex{display:-webkit-flex;display:flex;display:-ms-flexbox;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;list-style:none}.column-group.reverse,.column-group.small-reverse,.ink-flex.reverse,.ink-flex.small-reverse{-webkit-flex-direction:row-reverse;-moz-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.column-group.small-vertical,.column-group.vertical,.ink-flex.small-vertical,.ink-flex.vertical{-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.column-group.small-vertical.small-reverse,.column-group.vertical.reverse,.ink-flex.small-vertical.small-reverse,.ink-flex.vertical.reverse{-webkit-flex-direction:column-reverse;-moz-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.small-order-1{order:1;-ms-flex-order:1}.small-order-2{order:2;-ms-flex-order:2}.small-order-3{order:3;-ms-flex-order:3}.small-order-4{order:4;-ms-flex-order:4}.small-order-5{order:5;-ms-flex-order:5}.small-order-6{order:6;-ms-flex-order:6}.small-order-7{order:7;-ms-flex-order:7}.small-order-8{order:8;-ms-flex-order:8}.small-order-9{order:9;-ms-flex-order:9}.small-order-10{order:10;-ms-flex-order:10}.column-group .small-auto{-webkit-flex-basis:auto;-ms-flex-basis:auto;flex-basis:auto;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1}.push-top,.small-push-top{-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.push-bottom,.small-push-bottom{-webkit-box-align:end;-webkit-align-items:flex-end;-moz-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.push-middle,.small-push-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:flex-center;-ms-flex-item-align:center;align-self:center}.push-left,.small-push-left{-webkit-justify-content:flex-start;-moz-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;-ms-flex-pack:start;float:left}.push-center,.small-push-center{float:none!important;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center;-ms-flex-pack:center;margin-left:auto;margin-right:auto}.push-right,.small-push-right{-webkit-justify-content:flex-end;-moz-justify-content:flex-end;-ms-justify-content:flex-end;justify-content:flex-end;-ms-flex-pack:end;float:right}.small-align-left{text-align:left}.small-align-center{text-align:center}.small-align-right{text-align:right}.small-space,.space{margin:1.25em}.padding,.small-padding{padding:1.25em}.double-space,.small-double-space{margin:2.5em}.double-padding,.small-double-padding{padding:2.5em}.half-space,.small-half-space{margin:.625em}.half-padding,.small-half-padding{padding:.625em}.quarter-space,.small-quarter-space{margin:.3125em}.quarter-padding,.small-quarter-padding{padding:.3125em}.small-vertical-space,.vertical-space{margin-top:1.25em;margin-bottom:1.25em}.small-vertical-padding,.vertical-padding{padding-top:1.25em;padding-bottom:1.25em}.double-vertical-space,.small-double-vertical-space{margin-top:2.5em;margin-bottom:2.5em}.double-vertical-padding,.small-double-vertical-padding{padding-top:2.5em;padding-bottom:2.5em}.half-vertical-space,.small-half-vertical-space{margin-top:.625em;margin-bottom:.625em}.half-vertical-padding,.small-half-vertical-padding{padding-top:.625em;padding-bottom:.625em}.quarter-vertical-space,.small-quarter-vertical-space{margin-top:.3125em;margin-bottom:.3125em}.quarter-vertical-padding,.small-quarter-vertical-padding{padding-top:.3125em;padding-bottom:.3125em}.horizontal-space,.small-horizontal-space{margin-left:1.25em;margin-right:1.25em}.horizontal-padding,.small-horizontal-padding{padding-left:1.25em;padding-right:1.25em}.double-horizontal-space,.small-double-horizontal-space{margin-left:2.5em;margin-right:2.5em}.double-horizontal-padding,.small-double-horizontal-padding{padding-left:2.5em;padding-right:2.5em}.half-horizontal-space,.small-half-horizontal-space{margin-left:.625em;margin-right:.625em}.half-horizontal-padding,.small-half-horizontal-padding{padding-left:.625em;padding-right:.625em}.quarter-horizontal-space,.small-quarter-horizontal-space{margin-left:.3125em;margin-right:.3125em}.quarter-horizontal-padding,.small-quarter-horizontal-padding{padding-left:.3125em;padding-right:.3125em}.small-top-space,.top-space{margin-top:1.25em}.small-top-padding,.top-padding{padding-top:1.25em}.double-top-space,.small-double-top-space{margin-top:2.5em}.double-top-padding,.small-double-top-padding{padding-top:2.5em}.half-top-space,.small-half-top-space{margin-top:.625em}.half-top-padding,.small-half-top-padding{padding-top:.625em}.quarter-top-space,.small-quarter-top-space{margin-top:.3125em}.quarter-top-padding,.small-quarter-top-padding{padding-top:.3125em}.right-space,.small-right-space{margin-right:1.25em}.right-padding,.small-right-padding{padding-right:1.25em}.double-right-space,.small-double-right-space{margin-right:2.5em}.double-right-padding,.small-double-right-padding{padding-right:2.5em}.half-right-space,.small-half-right-space{margin-right:.625em}.half-right-padding,.small-half-right-padding{padding-right:.625em}.quarter-right-space,.small-quarter-right-space{margin-right:.3125em}.quarter-right-padding,.small-quarter-right-padding{padding-right:.3125em}.bottom-space,.small-bottom-space{margin-bottom:1.25em}.bottom-padding,.small-bottom-padding{padding-bottom:1.25em}.double-bottom-space,.small-double-bottom-space{margin-bottom:2.5em}.double-bottom-padding,.small-double-bottom-padding{padding-bottom:2.5em}.half-bottom-space,.small-half-bottom-space{margin-bottom:.625em}.half-bottom-padding,.small-half-bottom-padding{padding-bottom:.625em}.quarter-bottom-space,.small-quarter-bottom-space{margin-bottom:.3125em}.quarter-bottom-padding,.small-quarter-bottom-padding{padding-bottom:.3125em}.left-space,.small-left-space{margin-left:1.25em}.left-padding,.small-left-padding{padding-left:1.25em}.double-left-space,.small-double-left-space{margin-left:2.5em}.double-left-padding,.small-double-left-padding{padding-left:2.5em}.half-left-space,.small-half-left-space{margin-left:.625em}.half-left-padding,.small-half-left-padding{padding-left:.625em}.quarter-left-space,.small-quarter-left-space{margin-left:.3125em}.quarter-left-padding,.small-quarter-left-padding{padding-left:.3125em}.hide-small{display:none!important}.show-small{display:inherit!important}table.show-small{display:table}thead.show-small{display:table-header-group}tbody.show-small{display:table-row-group}tfoot.show-small{display:table-footer-group}tr.show-small{display:table-row}td.show-small,th.show-small{display:table-cell}}@media screen and (max-width:320px){.ink-grid{padding:0 1em}.column-group.gutters{margin-left:-1em}.column-group.gutters>.all-auto,.column-group.gutters>[class*=all-],.column-group.gutters>[class*=tiny-]{padding-left:1em;margin-bottom:1em}.column-group.horizontal-gutters{margin-left:-1em}.column-group.horizontal-gutters>.all-auto,.column-group.horizontal-gutters>[class*=all-],.column-group.horizontal-gutters>[class*=tiny-]{padding-left:1em}.column-group.vertical-gutters>.all-auto,.column-group.vertical-gutters>[class*=all-],.column-group.vertical-gutters>[class*=tiny-]{margin-bottom:1em}.column-group.double-gutters{margin-left:-2em}.column-group.double-gutters>.all-auto,.column-group.double-gutters>[class*=all-],.column-group.double-gutters>[class*=tiny-]{padding-left:2em;margin-bottom:2em}.column-group.double-horizontal-gutters{margin-left:-2em}.column-group.double-horizontal-gutters>.all-auto,.column-group.double-horizontal-gutters>[class*=all-],.column-group.double-horizontal-gutters>[class*=tiny-]{padding-left:2em}.column-group.double-vertical-gutters>.all-auto,.column-group.double-vertical-gutters>[class*=all-],.column-group.double-vertical-gutters>[class*=tiny-]{margin-bottom:2em}.column-group.half-gutters{margin-left:-.5em}.column-group.half-gutters>.all-auto,.column-group.half-gutters>[class*=all-],.column-group.half-gutters>[class*=tiny-]{padding-left:.5em;margin-bottom:.5em}.column-group.half-horizontal-gutters{margin-left:-.5em}.column-group.half-horizontal-gutters>.all-auto,.column-group.half-horizontal-gutters>[class*=all-],.column-group.half-horizontal-gutters>[class*=tiny-]{padding-left:.5em}.column-group.half-vertical-gutters>.all-auto,.column-group.half-vertical-gutters>[class*=all-],.column-group.half-vertical-gutters>[class*=tiny-]{margin-bottom:.5em}.column-group.quarter-gutters{margin-left:-.25em}.column-group.quarter-gutters>.all-auto,.column-group.quarter-gutters>[class*=all-],.column-group.quarter-gutters>[class*=tiny-]{padding-left:.25em;margin-bottom:.25em}.column-group.quarter-horizontal-gutters{margin-left:-.25em}.column-group.quarter-horizontal-gutters>.all-auto,.column-group.quarter-horizontal-gutters>[class*=all-],.column-group.quarter-horizontal-gutters>[class*=tiny-]{padding-left:.25em}.column-group.quarter-vertical-gutters>.all-auto,.column-group.quarter-vertical-gutters>[class*=all-],.column-group.quarter-vertical-gutters>[class*=tiny-]{margin-bottom:.25em}.column-group.tiny-gutters{margin-left:-1em}.column-group.tiny-gutters>.all-auto,.column-group.tiny-gutters>[class*=all-],.column-group.tiny-gutters>[class*=tiny-]{padding-left:.25em;margin-bottom:.25em}.column-group.tiny-horizontal-gutters{margin-left:-1em}.column-group.tiny-horizontal-gutters>.all-auto,.column-group.tiny-horizontal-gutters>[class*=all-],.column-group.tiny-horizontal-gutters>[class*=tiny-]{padding-left:1em}.column-group.tiny-vertical-gutters>.all-auto,.column-group.tiny-vertical-gutters>[class*=all-],.column-group.tiny-vertical-gutters>[class*=tiny-]{margin-bottom:1em}.column-group.tiny-double-gutters{margin-left:-2em}.column-group.tiny-double-gutters>.all-auto,.column-group.tiny-double-gutters>[class*=all-],.column-group.tiny-double-gutters>[class*=tiny-]{padding-left:2em;margin-bottom:2em}.column-group.tiny-double-horizontal-gutters{margin-left:-2em}.column-group.tiny-double-horizontal-gutters>.all-auto,.column-group.tiny-double-horizontal-gutters>[class*=all-],.column-group.tiny-double-horizontal-gutters>[class*=tiny-]{padding-left:2em}.column-group.tiny-double-vertical-gutters>.all-auto,.column-group.tiny-double-vertical-gutters>[class*=all-],.column-group.tiny-double-vertical-gutters>[class*=tiny-]{margin-bottom:2em}.column-group.tiny-half-gutters{margin-left:-.5em}.column-group.tiny-half-gutters>.all-auto,.column-group.tiny-half-gutters>[class*=all-],.column-group.tiny-half-gutters>[class*=tiny-]{padding-left:.5em;margin-bottom:.5em}.column-group.tiny-half-horizontal-gutters{margin-left:-.5em}.column-group.tiny-half-horizontal-gutters>.all-auto,.column-group.tiny-half-horizontal-gutters>[class*=all-],.column-group.tiny-half-horizontal-gutters>[class*=tiny-]{padding-left:.5em}.column-group.tiny-half-vertical-gutters>.all-auto,.column-group.tiny-half-vertical-gutters>[class*=all-],.column-group.tiny-half-vertical-gutters>[class*=tiny-]{margin-bottom:.5em}.column-group.tiny-quarter-gutters{margin-left:-.25em}.column-group.tiny-quarter-gutters>.all-auto,.column-group.tiny-quarter-gutters>[class*=all-],.column-group.tiny-quarter-gutters>[class*=tiny-]{padding-left:.25em;margin-bottom:.25em}.column-group.tiny-quarter-horizontal-gutters{margin-left:-.25em}.column-group.tiny-quarter-horizontal-gutters>.all-auto,.column-group.tiny-quarter-horizontal-gutters>[class*=all-],.column-group.tiny-quarter-horizontal-gutters>[class*=tiny-]{padding-left:.25em}.column-group.tiny-quarter-vertical-gutters>.all-auto,.column-group.tiny-quarter-vertical-gutters>[class*=all-],.column-group.tiny-quarter-vertical-gutters>[class*=tiny-]{margin-bottom:.25em}.column-group.tiny-no-gutters{margin-left:0}.column-group.tiny-no-gutters>.all-auto,.column-group.tiny-no-gutters>[class*=all-],.column-group.tiny-no-gutters>[class*=tiny-]{padding-left:0;margin-bottom:0}.tiny-5{width:5%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-10{width:10%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-15{width:15%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-16{width:16.66666%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-20{width:20%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-25{width:25%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-30{width:30%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-33{width:33.33333%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-35{width:35%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-40{width:40%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-45{width:45%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-50{width:50%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-55{width:55%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-60{width:60%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-65{width:65%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-66{width:66.66666%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-70{width:70%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-75{width:75%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-80{width:80%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-85{width:85%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-90{width:90%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-95{width:95%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-100{width:100%;-webkit-flex-grow:0;-ms-flex-grow:0;flex-grow:0}.tiny-auto{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1}.column-group,.ink-flex{display:-webkit-flex;display:flex;display:-ms-flexbox;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;list-style:none}.column-group.reverse,.column-group.tiny-reverse,.ink-flex.reverse,.ink-flex.tiny-reverse{-webkit-flex-direction:row-reverse;-moz-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.column-group.tiny-vertical,.column-group.vertical,.ink-flex.tiny-vertical,.ink-flex.vertical{-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.column-group.tiny-vertical.tiny-reverse,.column-group.vertical.reverse,.ink-flex.tiny-vertical.tiny-reverse,.ink-flex.vertical.reverse{-webkit-flex-direction:column-reverse;-moz-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.tiny-order-1{order:1;-ms-flex-order:1}.tiny-order-2{order:2;-ms-flex-order:2}.tiny-order-3{order:3;-ms-flex-order:3}.tiny-order-4{order:4;-ms-flex-order:4}.tiny-order-5{order:5;-ms-flex-order:5}.tiny-order-6{order:6;-ms-flex-order:6}.tiny-order-7{order:7;-ms-flex-order:7}.tiny-order-8{order:8;-ms-flex-order:8}.tiny-order-9{order:9;-ms-flex-order:9}.tiny-order-10{order:10;-ms-flex-order:10}.column-group .tiny-auto{-webkit-flex-basis:auto;-ms-flex-basis:auto;flex-basis:auto;-webkit-flex-grow:1;-ms-flex-grow:1;flex-grow:1}.push-top,.tiny-push-top{-webkit-box-align:start;-webkit-align-items:flex-start;-moz-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.push-bottom,.tiny-push-bottom{-webkit-box-align:end;-webkit-align-items:flex-end;-moz-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.push-middle,.tiny-push-middle{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:flex-center;-ms-flex-item-align:center;align-self:center}.push-left,.tiny-push-left{-webkit-justify-content:flex-start;-moz-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;-ms-flex-pack:start;float:left}.push-center,.tiny-push-center{float:none!important;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center;-ms-flex-pack:center;margin-left:auto;margin-right:auto}.push-right,.tiny-push-right{-webkit-justify-content:flex-end;-moz-justify-content:flex-end;-ms-justify-content:flex-end;justify-content:flex-end;-ms-flex-pack:end;float:right}.tiny-align-left{text-align:left}.tiny-align-center{text-align:center}.tiny-align-right{text-align:right}.space,.tiny-space{margin:1em}.padding,.tiny-padding{padding:1em}.double-space,.tiny-double-space{margin:2em}.double-padding,.tiny-double-padding{padding:2em}.half-space,.tiny-half-space{margin:.5em}.half-padding,.tiny-half-padding{padding:.5em}.quarter-space,.tiny-quarter-space{margin:.25em}.quarter-padding,.tiny-quarter-padding{padding:.25em}.tiny-vertical-space,.vertical-space{margin-top:1em;margin-bottom:1em}.tiny-vertical-padding,.vertical-padding{padding-top:1em;padding-bottom:1em}.double-vertical-space,.tiny-double-vertical-space{margin-top:2em;margin-bottom:2em}.double-vertical-padding,.tiny-double-vertical-padding{padding-top:2em;padding-bottom:2em}.half-vertical-space,.tiny-half-vertical-space{margin-top:.5em;margin-bottom:.5em}.half-vertical-padding,.tiny-half-vertical-padding{padding-top:.5em;padding-bottom:.5em}.quarter-vertical-space,.tiny-quarter-vertical-space{margin-top:.25em;margin-bottom:.25em}.quarter-vertical-padding,.tiny-quarter-vertical-padding{padding-top:.25em;padding-bottom:.25em}.horizontal-space,.tiny-horizontal-space{margin-left:1em;margin-right:1em}.horizontal-padding,.tiny-horizontal-padding{padding-left:1em;padding-right:1em}.double-horizontal-space,.tiny-double-horizontal-space{margin-left:2em;margin-right:2em}.double-horizontal-padding,.tiny-double-horizontal-padding{padding-left:2em;padding-right:2em}.half-horizontal-space,.tiny-half-horizontal-space{margin-left:.5em;margin-right:.5em}.half-horizontal-padding,.tiny-half-horizontal-padding{padding-left:.5em;padding-right:.5em}.quarter-horizontal-space,.tiny-quarter-horizontal-space{margin-left:.25em;margin-right:.25em}.quarter-horizontal-padding,.tiny-quarter-horizontal-padding{padding-left:.25em;padding-right:.25em}.tiny-top-space,.top-space{margin-top:1em}.tiny-top-padding,.top-padding{padding-top:1em}.double-top-space,.tiny-double-top-space{margin-top:2em}.double-top-padding,.tiny-double-top-padding{padding-top:2em}.half-top-space,.tiny-half-top-space{margin-top:.5em}.half-top-padding,.tiny-half-top-padding{padding-top:.5em}.quarter-top-space,.tiny-quarter-top-space{margin-top:.25em}.quarter-top-padding,.tiny-quarter-top-padding{padding-top:.25em}.right-space,.tiny-right-space{margin-right:1em}.right-padding,.tiny-right-padding{padding-right:1em}.double-right-space,.tiny-double-right-space{margin-right:2em}.double-right-padding,.tiny-double-right-padding{padding-right:2em}.half-right-space,.tiny-half-right-space{margin-right:.5em}.half-right-padding,.tiny-half-right-padding{padding-right:.5em}.quarter-right-space,.tiny-quarter-right-space{margin-right:.25em}.quarter-right-padding,.tiny-quarter-right-padding{padding-right:.25em}.bottom-space,.tiny-bottom-space{margin-bottom:1em}.bottom-padding,.tiny-bottom-padding{padding-bottom:1em}.double-bottom-space,.tiny-double-bottom-space{margin-bottom:2em}.double-bottom-padding,.tiny-double-bottom-padding{padding-bottom:2em}.half-bottom-space,.tiny-half-bottom-space{margin-bottom:.5em}.half-bottom-padding,.tiny-half-bottom-padding{padding-bottom:.5em}.quarter-bottom-space,.tiny-quarter-bottom-space{margin-bottom:.25em}.quarter-bottom-padding,.tiny-quarter-bottom-padding{padding-bottom:.25em}.left-space,.tiny-left-space{margin-left:1em}.left-padding,.tiny-left-padding{padding-left:1em}.double-left-space,.tiny-double-left-space{margin-left:2em}.double-left-padding,.tiny-double-left-padding{padding-left:2em}.half-left-space,.tiny-half-left-space{margin-left:.5em}.half-left-padding,.tiny-half-left-padding{padding-left:.5em}.quarter-left-space,.tiny-quarter-left-space{margin-left:.25em}.quarter-left-padding,.tiny-quarter-left-padding{padding-left:.25em}.hide-tiny{display:none!important}.show-tiny{display:inherit!important}table.show-tiny{display:table}thead.show-tiny{display:table-header-group}tbody.show-tiny{display:table-row-group}tfoot.show-tiny{display:table-footer-group}tr.show-tiny{display:table-row}td.show-tiny,th.show-tiny{display:table-cell}}@media screen and (min-width:1261px){html{font-size:1.08em}html:after{content:'[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]';display:none}}@media screen and (min-width:961px) and (max-width:1260px){html{font-size:1.05em}html:after{content:'[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]';display:none}}@media screen and (min-width:641px) and (max-width:960px){html{font-size:1em}html:after{content:'[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]';display:none}}@media screen and (min-width:321px) and (max-width:640px){html{font-size:.98em}html:after{content:'[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]';display:none}}@media screen and (max-width:320px){html{font-size:.97em}html:after{content:'[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]';display:none}}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-thin-webfont.eot);src:url(../fonts/Roboto/roboto-thin-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-thin-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-thin-webfont.ttf) format('truetype');font-weight:100;font-style:normal}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-thinitalic-webfont.eot);src:url(../fonts/Roboto/roboto-thinitalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-thinitalic-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-thinitalic-webfont.ttf) format('truetype');font-weight:100;font-style:italic}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-light-webfont.eot);src:url(../fonts/Roboto/roboto-light-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-light-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-light-webfont.ttf) format('truetype');font-weight:300;font-style:normal}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-lightitalic-webfont.eot);src:url(../fonts/Roboto/roboto-lightitalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-lightitalic-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-lightitalic-webfont.ttf) format('truetype');font-weight:300;font-style:italic}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-regular-webfont.eot);src:url(../fonts/Roboto/roboto-regular-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-regular-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-regular-webfont.ttf) format('truetype');font-weight:400;font-style:normal}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-italic-webfont.eot);src:url(../fonts/Roboto/roboto-italic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-italic-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-italic-webfont.ttf) format('truetype');font-weight:400;font-style:italic}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-medium-webfont.eot);src:url(../fonts/Roboto/roboto-medium-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-medium-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-medium-webfont.ttf) format('truetype');font-weight:500;font-style:normal}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-mediumitalic-webfont.eot);src:url(../fonts/Roboto/roboto-mediumitalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-mediumitalic-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-mediumitalic-webfont.ttf) format('truetype');font-weight:500;font-style:italic}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-bold-webfont.eot);src:url(../fonts/Roboto/roboto-bold-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-bold-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-bold-webfont.ttf) format('truetype');font-weight:700;font-style:normal}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-bolditalic-webfont.eot);src:url(../fonts/Roboto/roboto-bolditalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-bolditalic-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-bolditalic-webfont.ttf) format('truetype');font-weight:700;font-style:italic}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-black-webfont.eot);src:url(../fonts/Roboto/roboto-black-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-black-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-black-webfont.ttf) format('truetype');font-weight:900;font-style:normal}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-blackitalic-webfont.eot);src:url(../fonts/Roboto/roboto-blackitalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-blackitalic-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-blackitalic-webfont.ttf) format('truetype');font-weight:900;font-style:italic}@font-face{font-family:Roboto_condensed;src:url(../fonts/Roboto_condensed/robotocondensed-light-webfont.eot);src:url(../fonts/Roboto_condensed/robotocondensed-light-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_condensed/robotocondensed-light-webfont.woff) format('woff'),url(../fonts/Roboto_condensed/robotocondensed-light-webfont.ttf) format('truetype');font-weight:300;font-style:normal}@font-face{font-family:Roboto_condensed;src:url(../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.eot);src:url(../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.woff) format('woff'),url(../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.ttf) format('truetype');font-weight:300;font-style:italic}@font-face{font-family:Roboto_condensed;src:url(../fonts/Roboto_condensed/robotocondensed-regular-webfont.eot);src:url(../fonts/Roboto_condensed/robotocondensed-regular-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_condensed/robotocondensed-regular-webfont.woff) format('woff'),url(../fonts/Roboto_condensed/robotocondensed-regular-webfont.ttf) format('truetype');font-weight:400;font-style:normal}@font-face{font-family:Roboto_condensed;src:url(../fonts/Roboto_condensed/robotocondensed-italic-webfont.eot);src:url(../fonts/Roboto_condensed/robotocondensed-italic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_condensed/robotocondensed-italic-webfont.woff) format('woff'),url(../fonts/Roboto_condensed/robotocondensed-italic-webfont.ttf) format('truetype');font-weight:400;font-style:italic}@font-face{font-family:Roboto_condensed;src:url(../fonts/Roboto_condensed/robotocondensed-bold-webfont.eot);src:url(../fonts/Roboto_condensed/robotocondensed-bold-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_condensed/robotocondensed-bold-webfont.woff) format('woff'),url(../fonts/Roboto_condensed/robotocondensed-bold-webfont.ttf) format('truetype');font-weight:700;font-style:normal}@font-face{font-family:Roboto_condensed;src:url(../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.eot);src:url(../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.woff) format('woff'),url(../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.ttf) format('truetype');font-weight:700;font-style:italic}@font-face{font-family:Roboto_slab;src:url(../fonts/Roboto_slab/robotoslab-thin-webfont.eot);src:url(../fonts/Roboto_slab/robotoslab-thin-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_slab/robotoslab-thin-webfont.woff) format('woff'),url(../fonts/Roboto_slab/robotoslab-thin-webfont.ttf) format('truetype');font-weight:100;font-style:normal}@font-face{font-family:Roboto_slab;src:url(../fonts/Roboto_slab/robotoslab-light-webfont.eot);src:url(../fonts/Roboto_slab/robotoslab-light-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_slab/robotoslab-light-webfont.woff) format('woff'),url(../fonts/Roboto_slab/robotoslab-light-webfont.ttf) format('truetype');font-weight:300;font-style:normal}@font-face{font-family:Roboto_slab;src:url(../fonts/Roboto_slab/robotoslab-regular-webfont.eot);src:url(../fonts/Roboto_slab/robotoslab-regular-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_slab/robotoslab-regular-webfont.woff) format('woff'),url(../fonts/Roboto_slab/robotoslab-regular-webfont.ttf) format('truetype');font-weight:400;font-style:normal}@font-face{font-family:Roboto_slab;src:url(../fonts/Roboto_slab/robotoslab-bold-webfont.eot);src:url(../fonts/Roboto_slab/robotoslab-bold-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_slab/robotoslab-bold-webfont.woff) format('woff'),url(../fonts/Roboto_slab/robotoslab-bold-webfont.ttf) format('truetype');font-weight:700;font-style:normal}.ink-label{padding:0 .35em;white-space:nowrap}.ink-navigation{overflow:visible}.ink-navigation ul{list-style-type:none;padding:0;margin:0}.ink-navigation ul li{margin:0}.ink-navigation .breadcrumbs li{line-height:2.7em;display:inline}.ink-navigation .breadcrumbs li a{display:inline;padding:0}.ink-navigation .breadcrumbs li a:hover{background:0 0}.ink-navigation .breadcrumbs li.active a{cursor:default;text-decoration:none}.ink-navigation .breadcrumbs li:first-child a{padding-left:1.2em}.ink-navigation .breadcrumbs li:after{content:'/';display:inline;margin:0 .7em}.ink-navigation .breadcrumbs li:last-child:after{content:'';display:none}.ink-dropdown,.ink-navigation{position:relative}.ink-dropdown ul.dropdown,.ink-dropdown ul.dropdown-menu,.ink-navigation ul.dropdown,.ink-navigation ul.dropdown-menu{position:absolute;top:110%;background:#fff;z-index:30;border:1px solid #d9d9d9;height:auto;width:auto;min-width:10em;max-width:12em;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:rgba(100,100,100,.3) 0 0 1px 0;-moz-box-shadow:rgba(100,100,100,.3) 0 0 1px 0;box-shadow:rgba(100,100,100,.3) 0 0 1px 0;margin-left:0;padding:.35em 0;font-size:.85em}.ink-dropdown ul.dropdown li,.ink-dropdown ul.dropdown-menu li,.ink-navigation ul.dropdown li,.ink-navigation ul.dropdown-menu li{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:none;-moz-border-radius:none;-ms-border-radius:none;-o-border-radius:none;border-radius:none;width:auto;height:auto;min-height:auto;display:list-item;float:none;margin:0;text-align:left;text-transform:none;padding:0;position:relative;list-style-type:none}.ink-dropdown ul.dropdown li.separator-above,.ink-dropdown ul.dropdown-menu li.separator-above,.ink-navigation ul.dropdown li.separator-above,.ink-navigation ul.dropdown-menu li.separator-above{padding-top:.35em;margin-top:.35em;border-top:1px solid #d9d9d9}.ink-dropdown ul.dropdown li.separator-below,.ink-dropdown ul.dropdown-menu li.separator-below,.ink-navigation ul.dropdown li.separator-below,.ink-navigation ul.dropdown-menu li.separator-below{padding-bottom:.35em;margin-bottom:.35em;border-bottom:1px solid #d9d9d9}.ink-dropdown ul.dropdown li.heading,.ink-dropdown ul.dropdown-menu li.heading,.ink-navigation ul.dropdown li.heading,.ink-navigation ul.dropdown-menu li.heading{font-weight:700;margin-bottom:.35em;padding:.5em .8em;color:#333}.ink-dropdown ul.dropdown li a,.ink-dropdown ul.dropdown-menu li a,.ink-navigation ul.dropdown li a,.ink-navigation ul.dropdown-menu li a{color:#444;padding:.5em .8em;display:block;clear:both}.ink-dropdown ul.dropdown li a:hover,.ink-dropdown ul.dropdown-menu li a:hover,.ink-navigation ul.dropdown li a:hover,.ink-navigation ul.dropdown-menu li a:hover{background:#f2f2f2;text-decoration:none}.ink-dropdown ul.dropdown li.active a,.ink-dropdown ul.dropdown-menu li.active a,.ink-navigation ul.dropdown li.active a,.ink-navigation ul.dropdown-menu li.active a{background:#999;color:#fff}.ink-dropdown ul.dropdown li.disabled a,.ink-dropdown ul.dropdown-menu li.disabled a,.ink-navigation ul.dropdown li.disabled a,.ink-navigation ul.dropdown-menu li.disabled a{color:#b3b3b3}.ink-dropdown ul.dropdown li.disabled a:hover,.ink-dropdown ul.dropdown-menu li.disabled a:hover,.ink-navigation ul.dropdown li.disabled a:hover,.ink-navigation ul.dropdown-menu li.disabled a:hover{background:0 0;cursor:default}.ink-dropdown ul.dropdown li.submenu,.ink-dropdown ul.dropdown-menu li.submenu,.ink-navigation ul.dropdown li.submenu,.ink-navigation ul.dropdown-menu li.submenu{overflow:visible}.ink-dropdown ul.dropdown li.submenu>a,.ink-dropdown ul.dropdown-menu li.submenu>a,.ink-navigation ul.dropdown li.submenu>a,.ink-navigation ul.dropdown-menu li.submenu>a{white-space:nowrap}.ink-dropdown ul.dropdown li.submenu>a:after,.ink-dropdown ul.dropdown-menu li.submenu>a:after,.ink-navigation ul.dropdown li.submenu>a:after,.ink-navigation ul.dropdown-menu li.submenu>a:after{content:"\f0da";width:auto;margin-left:.8em;font-family:FontAwesome;color:#b3b3b3}.ink-dropdown ul.dropdown li.submenu:hover>a,.ink-dropdown ul.dropdown-menu li.submenu:hover>a,.ink-navigation ul.dropdown li.submenu:hover>a,.ink-navigation ul.dropdown-menu li.submenu:hover>a{background:#f2f2f2;text-decoration:none}.ink-dropdown ul.dropdown li.submenu:hover:hover>ul.dropdown,.ink-dropdown ul.dropdown li.submenu:hover:hover>ul.dropdown-menu,.ink-dropdown ul.dropdown-menu li.submenu:hover:hover>ul.dropdown,.ink-dropdown ul.dropdown-menu li.submenu:hover:hover>ul.dropdown-menu,.ink-navigation ul.dropdown li.submenu:hover:hover>ul.dropdown,.ink-navigation ul.dropdown li.submenu:hover:hover>ul.dropdown-menu,.ink-navigation ul.dropdown-menu li.submenu:hover:hover>ul.dropdown,.ink-navigation ul.dropdown-menu li.submenu:hover:hover>ul.dropdown-menu{display:block}.ink-dropdown ul.dropdown li.submenu>ul.dropdown,.ink-dropdown ul.dropdown li.submenu>ul.dropdown-menu,.ink-dropdown ul.dropdown-menu li.submenu>ul.dropdown,.ink-dropdown ul.dropdown-menu li.submenu>ul.dropdown-menu,.ink-navigation ul.dropdown li.submenu>ul.dropdown,.ink-navigation ul.dropdown li.submenu>ul.dropdown-menu,.ink-navigation ul.dropdown-menu li.submenu>ul.dropdown,.ink-navigation ul.dropdown-menu li.submenu>ul.dropdown-menu{font-size:inherit;position:absolute;top:-.36em;left:100%;display:none}.ink-navigation ul.pagination{overflow:hidden;*zoom:1}.ink-navigation ul.pagination li{line-height:1.7;float:left}.ink-navigation ul.pagination li a{padding:.5em 1em;display:block;float:left}.ink-navigation ul.pagination.dotted li a{display:block;height:1em;width:1em;margin-right:.6em;padding:0;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%;text-indent:99999px}.ink-navigation ul.pagination.dotted li a:first-child,.ink-navigation ul.pagination.dotted li a:last-child{-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%}.ink-navigation ul.pagination.chevron li{display:none}.ink-navigation ul.pagination.chevron li.next,.ink-navigation ul.pagination.chevron li.previous{display:block}.ink-navigation ul.pagination.chevron li.next a,.ink-navigation ul.pagination.chevron li.previous a{display:block;position:absolute;top:35%;padding:0 .5em;margin:0;font-family:FontAwesome;font-size:4em}.ink-navigation ul.pagination.chevron li.next a span,.ink-navigation ul.pagination.chevron li.previous a span{text-indent:-99999px;display:inline-block}.ink-navigation ul.pagination.chevron li.previous a{left:0}.ink-navigation ul.pagination.chevron li.previous a:after{content:"\f137"}.ink-navigation ul.pagination.chevron li.next a{right:0}.ink-navigation ul.pagination.chevron li.next a:after{content:"\f138"}.ink-navigation .pills{overflow:hidden;*zoom:1}.ink-navigation .pills li{overflow:hidden;display:block;float:left;margin:0 .5em .5em 0;line-height:1.7}.ink-navigation .pills li a{display:block;padding:.5em 1em}.ink-navigation .pills li a:hover{text-decoration:none}.ink-navigation .pills li.active a,.ink-navigation .pills li.disabled a{cursor:default}.ink-navigation ul{*height:100%}.ink-navigation ul.menu{*zoom:1}.ink-navigation ul.menu:after{content:"";display:table;clear:both}.ink-navigation ul.menu li{*height:100%}.ink-navigation ul.menu li:hover>ul.submenu{display:block}.ink-navigation ul.menu li ul.submenu{display:none;position:absolute;z-index:10}.ink-navigation ul.menu li ul.submenu li a{padding:.5em 1em;display:block;float:none}.ink-navigation ul.menu.horizontal li{float:left;position:relative}.ink-navigation ul.menu.horizontal li a{padding:.5em 1em;display:block;line-height:1.7}.ink-navigation ul.menu.horizontal li .control{margin-top:.3em}.ink-navigation ul.menu.horizontal li ul.submenu{min-width:100%;z-index:50;top:auto;left:auto}.ink-navigation ul.menu.horizontal li ul.submenu li{float:none}.ink-navigation ul.menu.horizontal li ul.submenu li .flyout{position:absolute;top:0;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.menu.horizontal li ul.submenu li .flyout.left{right:100%}.ink-navigation ul.menu.horizontal li ul.submenu li .flyout.right{left:100%}.ink-navigation ul.menu.vertical li{line-height:1.7;position:relative}.ink-navigation ul.menu.vertical li a{padding:.5em 1em;display:block}.ink-navigation ul.menu.vertical li ul.submenu{position:relative;top:auto;left:auto}.ink-navigation ul.menu.vertical li ul.submenu.flyout{position:absolute;min-width:8em;top:0;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.menu.vertical li ul.submenu.flyout.left{right:100%}.ink-navigation ul.menu.vertical li ul.submenu.flyout.right{left:100%}table.ink-table{width:100%;border-collapse:collapse;border-spacing:0}table.ink-table tr th{padding:5px 10px;line-height:1.3}table.ink-table tr th[data-sortable=true]:hover{cursor:pointer;text-decoration:underline}table.ink-table tr th[data-sortable=true]:hover i{text-decoration:none}table.ink-table tr th[data-sortable=true] i{padding-left:.5em}table.ink-table tr td{padding:5px 10px;line-height:1.3}table.ink-table.hover tbody tr:hover{cursor:pointer}table.ink-table.bordered{border-collapse:separate}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{color:#555;font-family:Roboto,Arial,Helvetica,sans-serif;line-height:1.45}.fw-100,.fw-light{font-weight:100}.fw-300,.fw-thin{font-weight:300}.fw-400,.fw-regular{font-weight:400}.fw-500,.fw-medium{font-weight:500}.fw-700,.fw-bold{font-weight:700}.fw-900,.fw-black{font-weight:900}.condensed-300,.condensed-thin{font-weight:200;font-family:Roboto_condensed,Arial,Helvetica,sans-serif}.condensed-400,.condensed-regular{font-weight:400;font-family:Roboto_condensed,Arial,Helvetica,sans-serif}.condensed-700,.condensed-bold{font-weight:700;font-family:Roboto_condensed,Arial,Helvetica,sans-serif}.slab-100,.slab-light{font-weight:100;font-family:Roboto_slab,Arial,Helvetica,sans-serif}.slab-300,.slab-thin{font-weight:300;font-family:Roboto_slab,Arial,Helvetica,sans-serif}.slab-400,.slab-regular{font-weight:400;font-family:Roboto_slab,Arial,Helvetica,sans-serif}.slab-700,.slab-bold{font-weight:700;font-family:Roboto_slab,Arial,Helvetica,sans-serif}.sans{font-family:Roboto,Arial,Helvetica,sans-serif}.serif{font-family:Times,"Times New Roman",serif}.monospace{font-family:Monaco,"Andale Mono","Courier New",monospace}.condensed{font-family:Roboto_condensed,Arial,Helvetica,sans-serif}.slab{font-family:Roboto_slab,Arial,Helvetica,sans-serif}.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalizer{text-transform:capitalize}.fa{font-size:14px}a{color:#6998c9;text-decoration:none;cursor:pointer}a:hover{color:#007ed5;text-decoration:underline}h1{font-size:2.2em;margin-top:0;margin-bottom:.57539em}h2{font-size:1.75em;margin-top:0;margin-bottom:.72334em}h3{font-size:1.5em;margin-top:0;margin-bottom:.8439em}h4{font-size:1.25em;margin-top:0;margin-bottom:1.01268em}h5,h6{font-size:1.1em;margin-top:0;margin-bottom:1.15077em}p,table{font-size:1em;margin-top:0;margin-bottom:1.26585em}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,p:first-child{margin-top:0}h1,h2,h3,h4,h5,h6{color:#404040;font-weight:700;line-height:1.16}small{color:#888}input,textarea{color:#666}h1 small,h2 small,h3 small,h4 small{color:#bbb;font-size:.6em;font-weight:100;line-height:1}mark{background:#dae5f2}address{color:#777;font-size:1em;line-height:1.4}address p{margin-top:0}address h6{color:#555}abbr:hover{cursor:help}blockquote{border-left:4px solid #ddd;padding-left:25px;margin:1em 0;font-weight:200;font-size:1.1em}blockquote small{font-size:.9em}blockquote small::after,blockquote small::before{content:' — '}.note{font-size:.9em;color:#777}.note strong{color:#555}.small{font-size:.75em}.medium{font-size:.85em}.large{font-size:1.2em}.extralarge{font-size:1.45em!important}hr{border:0;border-top:1px solid #ddd;margin:1em 0}.lead{font-size:1.1em;font-weight:700}ol,ul{line-height:1.4;padding:0 0 0 1.45em;margin:1em 0}ol li,ul li{margin:.5em 0}ul.unstyled{list-style:none;padding-left:0}ul.unstyled ul{list-style:disc outside}ul.inline{list-style:none}ul.inline li{display:inline-block;padding:0 .5em}ul.inline li:first-child{padding:0 .5em 0 0}dl{margin:1em 0}dl dt{font-weight:700;margin:.5em 0}dl dd{margin:.5em 0 .5em 25px}dl.inline dt{float:left;clear:left;text-align:right;width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0}dl.inline dd{margin:.5em 0 .5em 200px}figure.ink-image{position:relative;border:1px solid #555}figure.ink-image>img{width:100%}figure.ink-image>figcaption{padding:1em;background:#fff;line-height:1.3}figure.ink-image>figcaption.over-bottom,figure.ink-image>figcaption.over-top{position:absolute;width:100%;left:0;border:0}figure.ink-image>figcaption.over-bottom.dark,figure.ink-image>figcaption.over-top.dark{color:#fff;background:rgba(0,0,0,.6)}figure.ink-image>figcaption.over-top{top:0;background:rgba(255,255,255,.7)}figure.ink-image>figcaption.over-bottom{bottom:0;background:rgba(255,255,255,.7)}figure.ink-image>figcaption.dark{color:#fff;background:#222}img{border:0;width:auto;max-width:100%;vertical-align:top}.ink-alert.basic,.ink-alert.block{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-alert.basic{background:rgba(255,156,0,.25);color:#b87814;border:1px solid #b87814}.ink-alert.basic .ink-dismiss{color:#b87814}.ink-alert.basic.success{background:rgba(74,155,23,.25);color:#38621d;border:1px solid #38621d}.ink-alert.basic.success .ink-dismiss{color:#38621d}.ink-alert.basic.error{background:rgba(201,17,17,.25);color:#891e1e;border:1px solid #891e1e}.ink-alert.basic.error .ink-dismiss{color:#891e1e}.ink-alert.basic.info{background:rgba(15,117,218,.25);color:#1e5b98;border:1px solid #1e5b98}.ink-alert.basic.info .ink-dismiss{color:#1e5b98}.ink-alert.block{border:1px solid #b87814;background:#fff}.ink-alert.block>h4{background:rgba(255,156,0,.3);color:#b87814}.ink-alert.block .ink-dismiss{color:#b87814}.ink-alert.block.success{border:1px solid #38621d;background:#fff}.ink-alert.block.success>h4{background:rgba(74,155,23,.3);color:#38621d}.ink-alert.block.success .ink-dismiss{color:#38621d}.ink-alert.block.error{border:1px solid #891e1e;background:#fff}.ink-alert.block.error>h4{background:rgba(201,17,17,.3);color:#891e1e}.ink-alert.block.error .ink-dismiss{color:#891e1e}.ink-alert.block.info{border:1px solid #1e5b98;background:#fff}.ink-alert.block.info>h4{background:rgba(15,117,218,.3);color:#1e5b98}.ink-alert.block.info .ink-dismiss{color:#1e5b98}.ink-alert .ink-dismiss{font-family:Arial,sans-serif;font-weight:700;text-shadow:#fff 0 1px 0;filter:alpha(Opacity=25);opacity:.25}.ink-alert .ink-dismiss:hover{filter:alpha(Opacity=60);opacity:.6}.ink-badge{-webkit-border-radius:8em;-moz-border-radius:8em;-ms-border-radius:8em;-o-border-radius:8em;border-radius:8em;color:#fff}.ink-badge.white{background:#fff;color:#555}.ink-badge.black{background:#000}.ink-badge.orange{background:#ff9c00}.ink-badge.red{background:#c91111}.ink-badge.green{background:#4a9b17}.ink-badge.blue{background:#0f75da}.ink-badge.yellow{background:#ffd500;color:#555}.ink-badge.grey{background:gray}.ink-badge+.ink-badge{margin-left:.2em}.ink-button{background:#d9d9d9;color:#000;border:1px solid #bfbfbf;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;font-weight:300}.ink-button:active,.ink-button:hover{text-decoration:none;color:#000;background:#ccc;border:1px solid #b3b3b3;-webkit-box-shadow:rgba(0,0,0,.2) 0 1px 1px;-moz-box-shadow:rgba(0,0,0,.2) 0 1px 1px;box-shadow:rgba(0,0,0,.2) 0 1px 1px}.ink-button:focus{outline:0;background:#ccc;-webkit-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;-moz-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;box-shadow:rgba(0,0,0,.2) 0 1px 1px inset}.ink-button[disabled]{background:#e6e6e6;border:1px solid #e6e6e6;color:#999}.ink-button[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ink-button.blue{color:#fff;background:#0f75da;border:1px solid #0c63b9}.ink-button.blue:active,.ink-button.blue:hover{background:#0d68c2;border:1px solid #0a56a1;color:#fff;text-decoration:none}.ink-button.blue:focus{background:#0d68c2}.ink-button.blue[disabled]{background:rgba(15,117,218,.6);border:1px solid rgba(15,117,218,0);color:#0c5baa}.ink-button.blue[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ink-button.green{color:#fff;background:#4a9b17;border:1px solid #3e8313}.ink-button.green:active,.ink-button.green:hover{background:#3f8514;border:1px solid #336d10;color:#fff;text-decoration:none}.ink-button.green:focus{background:#3f8514}.ink-button.green[disabled]{background:rgba(74,155,23,.6);border:1px solid rgba(74,155,23,0);color:#356f10}.ink-button.green[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ink-button.orange{color:#fff;background:#ff9c00;border:1px solid #d88400}.ink-button.orange:active,.ink-button.orange:hover{background:#e68c00;border:1px solid #bf7400;color:#fff;text-decoration:none}.ink-button.orange:focus{background:#e68c00}.ink-button.orange[disabled]{background:rgba(255,156,0,.6);border:1px solid rgba(255,156,0,0);color:#cc7d00}.ink-button.orange[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ink-button.red{color:#fff;background:#c91111;border:1px solid #aa0e0e}.ink-button.red:active,.ink-button.red:hover{background:#b10f0f;border:1px solid #920c0c;color:#fff;text-decoration:none}.ink-button.red:focus{background:#b10f0f}.ink-button.red[disabled]{background:rgba(201,17,17,.6);border:1px solid rgba(201,17,17,0);color:#9a0d0d}.ink-button.red[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ink-button.black{color:#fff;background:#1a1a1a;border:1px solid #161616}.ink-button.black:active,.ink-button.black:hover{background:#0d0d0d;border:1px solid #090909;color:#fff;text-decoration:none}.ink-button.black:focus{background:#0d0d0d}.ink-button.black[disabled]{background:rgba(26,26,26,.6);border:1px solid rgba(26,26,26,0);color:#000}.ink-button.black[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ink-button.white{color:#555;background:#fff;border:1px solid #d8d8d8}.ink-button.white:active,.ink-button.white:hover{background:#f2f2f2;border:1px solid #cbcbcb;color:#555;text-decoration:none}.ink-button.white:focus{background:#f2f2f2}.ink-button.white[disabled]{background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,0);color:#e6e6e6}.ink-button.white[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.button-group>.ink-button[disabled]{background:#e6e6e6;border:1px solid rgba(217,217,217,.6)}.button-group>.ink-button[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.button-group>.ink-button.blue:first-child{border-left:#0c63b9}.button-group>.ink-button.blue[disabled]{background:rgba(15,117,218,.6);border:1px solid rgba(15,117,218,.3)}.button-group>.ink-button.green:first-child{border-left:#3e8313}.button-group>.ink-button.green[disabled]{background:rgba(74,155,23,.6);border:1px solid rgba(74,155,23,.3)}.button-group>.ink-button.orange:first-child{border-left:#d88400}.button-group>.ink-button.orange[disabled]{background:rgba(255,156,0,.6);border:1px solid rgba(255,156,0,.3)}.button-group>.ink-button.red:first-child{border-left:#aa0e0e}.button-group>.ink-button.red[disabled]{background:rgba(201,17,17,.6);border:1px solid rgba(201,17,17,.3)}.button-group>.ink-button.black:first-child{border-left:#161616}.button-group>.ink-button.black[disabled]{background:rgba(26,26,26,.6);border:1px solid rgba(26,26,26,.3)}.button-group>.ink-button.white:first-child{border-left:#d8d8d8}.button-group>.ink-button.white[disabled]{background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.3)}.ink-label{color:#fff;font-weight:300;font-size:.938em;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-label.white{background:#fff;color:#555}.ink-label.black{background:#000}.ink-label.orange{background:#ff9c00}.ink-label.red{background:#c91111}.ink-label.green{background:#4a9b17}.ink-label.blue{background:#0f75da}.ink-label.yellow{background:#ffd500;color:#555}.ink-label.grey{background:gray}.ink-label+.ink-label{margin-left:.2em}.ink-navigation ul.breadcrumbs{font-weight:300;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.breadcrumbs li.active a{background:0 0;color:#999}.ink-navigation ul.breadcrumbs li.active a:hover{cursor:default;text-decoration:none}.ink-navigation ul.breadcrumbs li a:hover{background:0 0;text-decoration:underline}.ink-navigation ul.breadcrumbs.white{background:#fff}.ink-navigation ul.breadcrumbs.white li a,.ink-navigation ul.breadcrumbs.white li:after{color:#555}.ink-navigation ul.breadcrumbs.white li.active a{color:#ccc;text-shadow:#fff 0 1px 0}.ink-navigation ul.breadcrumbs.grey{background:#d9d9d9}.ink-navigation ul.breadcrumbs.grey li a,.ink-navigation ul.breadcrumbs.grey li:after{color:#555}.ink-navigation ul.breadcrumbs.grey li.active a{color:#a6a6a6;text-shadow:#ededed 0 1px 0}.ink-navigation ul.breadcrumbs.black{background:#1a1a1a}.ink-navigation ul.breadcrumbs.black li a,.ink-navigation ul.breadcrumbs.black li:after{color:#fff}.ink-navigation ul.breadcrumbs.black li.active a{color:#666;text-shadow:#000 0 -1px 0}.ink-navigation ul.breadcrumbs.blue{background:#1b75ce}.ink-navigation ul.breadcrumbs.blue li a,.ink-navigation ul.breadcrumbs.blue li:after{color:#fff}.ink-navigation ul.breadcrumbs.blue li.active a{color:#08427b;text-shadow:#1884ef 0 1px 0}.ink-navigation ul.breadcrumbs.orange{background:#f2990d}.ink-navigation ul.breadcrumbs.orange li a,.ink-navigation ul.breadcrumbs.orange li:after{color:#fff}.ink-navigation ul.breadcrumbs.orange li.active a{color:#995e00;text-shadow:#ffa81f 0 1px 0}.ink-navigation ul.breadcrumbs.green{background:#4c9220}.ink-navigation ul.breadcrumbs.green li a,.ink-navigation ul.breadcrumbs.green li:after{color:#fff}.ink-navigation ul.breadcrumbs.green li.active a{color:#20420a;text-shadow:#57b61b 0 1px 0}.ink-navigation ul.breadcrumbs.red{background:#be1c1c}.ink-navigation ul.breadcrumbs.red li a,.ink-navigation ul.breadcrumbs.red li:after{color:#fff}.ink-navigation ul.breadcrumbs.red li.active a{color:#6b0909;text-shadow:#e51313 0 1px 0}.ink-dropdown.green ul.dropdown-menu li.active a{background:#4a9b17;color:#fff}.ink-dropdown.orange ul.dropdown-menu li.active a{background:#ff9c00;color:#fff}.ink-dropdown.red ul.dropdown-menu li.active a{background:#c91111;color:#fff}.ink-dropdown.black ul.dropdown-menu li.active a{background:#1a1a1a;color:#fff}.ink-dropdown.blue ul.dropdown-menu li.active a{background:#0f75da;color:#fff}.ink-navigation ul.menu{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.menu>li{font-weight:300}.ink-navigation ul.menu>li.active a{text-decoration:underline}.ink-navigation ul.menu>li.heading{font-weight:500}.ink-navigation ul.menu>li.disabled a{color:#b3b3b3;text-shadow:#fff 0 1px 0}.ink-navigation ul.menu>li.disabled a:hover{cursor:default;background:0 0;text-decoration:none}.ink-navigation ul.menu>li ul.submenu li{font-size:.875em}.ink-navigation ul.menu>li ul.submenu li a{border-bottom:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.vertical li a{border-bottom:1px solid rgba(0,0,0,.15)}.ink-navigation ul.menu.vertical li:first-child,.ink-navigation ul.menu.vertical li:first-child>a{-webkit-border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-ms-border-radius:2px 2px 0 0;-o-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0}.ink-navigation ul.menu.vertical li:last-child{-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-ms-border-radius:0 0 2px 2px;-o-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px}.ink-navigation ul.menu.vertical li:last-child>a{border-bottom:0;-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-ms-border-radius:0 0 2px 2px;-o-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px}.ink-navigation ul.menu.vertical li:last-child .submenu{-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-ms-border-radius:0 0 2px 2px;-o-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px}.ink-navigation ul.menu.vertical li:last-child .submenu.flyout{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.menu.vertical li:last-child .submenu li:last-child,.ink-navigation ul.menu.vertical li:last-child .submenu li:last-child a{-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-ms-border-radius:0 0 2px 2px;-o-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px}.ink-navigation ul.menu.horizontal>li:first-child,.ink-navigation ul.menu.horizontal>li:first-child a{-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;-ms-border-radius:2px 0 0 2px;-o-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.ink-navigation ul.menu.horizontal>li:last-child,.ink-navigation ul.menu.horizontal>li:last-child a{-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;-ms-border-radius:0 2px 2px 0;-o-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.ink-navigation ul.menu.horizontal>li ul.submenu{-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-ms-border-radius:0 0 2px 2px;-o-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;background:#fff}.ink-navigation ul.menu.horizontal>li ul.submenu li:last-child{-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-ms-border-radius:0 0 2px 2px;-o-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px}.ink-navigation ul.menu.horizontal>li ul.submenu li:last-child a{border-bottom:0}.ink-navigation ul.menu.white{background:#fff}.ink-navigation ul.menu.white li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.white li ul.submenu li a{color:#555}.ink-navigation ul.menu.white li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.white li.disabled a:hover{background:0 0}.ink-navigation ul.menu.white li.active{background:#e6e6e6}.ink-navigation ul.menu.white li.disabled a{color:#ccc;text-shadow:#fff 0 1px 0}.ink-navigation ul.menu.white li a{color:#555;text-decoration:none}.ink-navigation ul.menu.white li a:hover{background:#f2f2f2}.ink-navigation ul.menu.grey{background:#d9d9d9}.ink-navigation ul.menu.grey li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.grey li ul.submenu li a{color:#555}.ink-navigation ul.menu.grey li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.grey li.disabled a:hover{background:0 0}.ink-navigation ul.menu.grey li.active{background:#bfbfbf}.ink-navigation ul.menu.grey li.disabled a{color:#a6a6a6;text-shadow:#ededed 0 1px 0}.ink-navigation ul.menu.grey li a{color:#555;text-decoration:none}.ink-navigation ul.menu.grey li a:hover{background:#ccc}.ink-navigation ul.menu.black{background:#1a1a1a}.ink-navigation ul.menu.black li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.black li ul.submenu li a{color:#555}.ink-navigation ul.menu.black li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.black li.disabled a:hover{background:0 0}.ink-navigation ul.menu.black li.active{background:#333}.ink-navigation ul.menu.black li.disabled a{color:#666;text-shadow:#000 0 -1px 0}.ink-navigation ul.menu.black li a{color:#fff;text-decoration:none}.ink-navigation ul.menu.black li a:hover{background:#404040}.ink-navigation ul.menu.blue{background:#1b75ce}.ink-navigation ul.menu.blue li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.blue li ul.submenu li a{color:#555}.ink-navigation ul.menu.blue li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.blue li.disabled a:hover{background:0 0}.ink-navigation ul.menu.blue li.active{background:#0c5baa}.ink-navigation ul.menu.blue li.disabled a{color:#08427b;text-shadow:#2289f0 0 1px 0}.ink-navigation ul.menu.blue li a{color:#fff;text-decoration:none}.ink-navigation ul.menu.blue li a:hover{background:#0d68c2}.ink-navigation ul.menu.green{background:#4c9220}.ink-navigation ul.menu.green li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.green li ul.submenu li a{color:#555}.ink-navigation ul.menu.green li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.green li.disabled a:hover{background:0 0}.ink-navigation ul.menu.green li.active{background:#356f10}.ink-navigation ul.menu.green li.disabled a{color:#20420a;text-shadow:#5bbf1c 0 1px 0}.ink-navigation ul.menu.green li a{color:#fff;text-decoration:none}.ink-navigation ul.menu.green li a:hover{background:#3f8514}.ink-navigation ul.menu.orange{background:#f2990d}.ink-navigation ul.menu.orange li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.orange li ul.submenu li a{color:#555}.ink-navigation ul.menu.orange li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.orange li.disabled a:hover{background:0 0}.ink-navigation ul.menu.orange li.active{background:#cc7d00}.ink-navigation ul.menu.orange li.disabled a{color:#995e00;text-shadow:#ffac29 0 1px 0}.ink-navigation ul.menu.orange li a{color:#fff;text-decoration:none}.ink-navigation ul.menu.orange li a:hover{background:#e68c00}.ink-navigation ul.menu.red{background:#be1c1c}.ink-navigation ul.menu.red li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.red li ul.submenu li a{color:#555}.ink-navigation ul.menu.red li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.red li.disabled a:hover{background:0 0}.ink-navigation ul.menu.red li.active{background:#9a0d0d}.ink-navigation ul.menu.red li.disabled a{color:#6b0909;text-shadow:#eb1717 0 1px 0}.ink-navigation ul.menu.red li a{color:#fff;text-decoration:none}.ink-navigation ul.menu.red li a:hover{background:#b10f0f}.ink-navigation ul.pagination{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.pagination li{font-weight:300}.ink-navigation ul.pagination li.active a{text-decoration:underline}.ink-navigation ul.pagination li.disabled a{color:#b3b3b3;text-shadow:#fff 0 1px 0}.ink-navigation ul.pagination li.disabled a:hover{cursor:default;background:0 0;text-decoration:none}.ink-navigation ul.pagination li:first-child,.ink-navigation ul.pagination li:first-child a{-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;-ms-border-radius:2px 0 0 2px;-o-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.ink-navigation ul.pagination li:last-child,.ink-navigation ul.pagination li:last-child a{-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;-ms-border-radius:0 2px 2px 0;-o-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.ink-navigation ul.pagination.white li{background:#fff}.ink-navigation ul.pagination.white li.active a{background:#e6e6e6}.ink-navigation ul.pagination.white li.disabled a{color:#ccc;text-shadow:#fff 0 1px 0}.ink-navigation ul.pagination.white li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.white li a{color:#555;text-decoration:none}.ink-navigation ul.pagination.white li a:hover{background:#f2f2f2}.ink-navigation ul.pagination.grey li{background:#d9d9d9}.ink-navigation ul.pagination.grey li.active a{background:#bfbfbf}.ink-navigation ul.pagination.grey li.disabled a{color:#a6a6a6;text-shadow:#ededed 0 1px 0}.ink-navigation ul.pagination.grey li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.grey li a{color:#555;text-decoration:none}.ink-navigation ul.pagination.grey li a:hover{background:#ccc}.ink-navigation ul.pagination.black li{background:#1a1a1a}.ink-navigation ul.pagination.black li.active a{background:#333}.ink-navigation ul.pagination.black li.disabled a{color:#666;text-shadow:#000 0 -1px 0}.ink-navigation ul.pagination.black li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.black li a{color:#fff;text-decoration:none}.ink-navigation ul.pagination.black li a:hover{background:#292929}.ink-navigation ul.pagination.orange li{background:#f2990d}.ink-navigation ul.pagination.orange li.active a{background:#cc7d00}.ink-navigation ul.pagination.orange li.disabled a{color:#995e00;text-shadow:#ffac29 0 1px 0}.ink-navigation ul.pagination.orange li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.orange li a{color:#fff;text-decoration:none}.ink-navigation ul.pagination.orange li a:hover{background:#e68c00}.ink-navigation ul.pagination.blue li{background:#1b75ce}.ink-navigation ul.pagination.blue li.active a{background:#0c5baa}.ink-navigation ul.pagination.blue li.disabled a{color:#08427b;text-shadow:#2289f0 0 1px 0}.ink-navigation ul.pagination.blue li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.blue li a{color:#fff;text-decoration:none}.ink-navigation ul.pagination.blue li a:hover{background:#0d68c2}.ink-navigation ul.pagination.green li{background:#4c9220}.ink-navigation ul.pagination.green li.active a{background:#356f10}.ink-navigation ul.pagination.green li.disabled a{color:#20420a;text-shadow:#5bbf1c 0 1px 0}.ink-navigation ul.pagination.green li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.green li a{color:#fff;text-decoration:none}.ink-navigation ul.pagination.green li a:hover{background:#3f8514}.ink-navigation ul.pagination.red li{background:#be1c1c}.ink-navigation ul.pagination.red li.active a{background:#9a0d0d}.ink-navigation ul.pagination.red li.disabled a{color:#6b0909;text-shadow:#eb1717 0 1px 0}.ink-navigation ul.pagination.red li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.red li a{color:#fff;text-decoration:none}.ink-navigation ul.pagination.red li a:hover{background:#b10f0f}.ink-navigation ul.pagination.dotted li{background:0 0}.ink-navigation ul.pagination.dotted li a{background:#999;filter:alpha(Opacity=50);opacity:.5}.ink-navigation ul.pagination.dotted li.active a,.ink-navigation ul.pagination.dotted li:hover a{filter:alpha(Opacity=100);opacity:1}.ink-navigation ul.pagination.dotted.black li a{background:#1a1a1a}.ink-navigation ul.pagination.dotted.white li a{background:#fff}.ink-navigation ul.pagination.dotted.blue li a{background:#1b75ce}.ink-navigation ul.pagination.dotted.green li a{background:#4c9220}.ink-navigation ul.pagination.dotted.orange li a{background:#f2990d}.ink-navigation ul.pagination.dotted.red li a{background:#be1c1c}.ink-navigation ul.pagination.chevron li.next a,.ink-navigation ul.pagination.chevron li.previous a{color:#fff;filter:alpha(Opacity=60);opacity:.6}.ink-navigation ul.pagination.chevron li.next a.active,.ink-navigation ul.pagination.chevron li.next a:focus,.ink-navigation ul.pagination.chevron li.next a:hover,.ink-navigation ul.pagination.chevron li.previous a.active,.ink-navigation ul.pagination.chevron li.previous a:focus,.ink-navigation ul.pagination.chevron li.previous a:hover{filter:alpha(Opacity=80);opacity:.8;text-decoration:none;background:0 0}.ink-navigation ul.pagination.chevron li.disabled a{color:#fff;filter:alpha(Opacity=60);opacity:.6;text-shadow:none}.ink-navigation ul.pagination.chevron li.disabled a:focus,.ink-navigation ul.pagination.chevron li.disabled a:hover{color:#fff;filter:alpha(Opacity=60);opacity:.6}.ink-navigation ul.pagination.chevron.black li.disabled a,.ink-navigation ul.pagination.chevron.black li.next a,.ink-navigation ul.pagination.chevron.black li.previous a{color:#1a1a1a}.ink-navigation ul.pagination.chevron.grey li.disabled a,.ink-navigation ul.pagination.chevron.grey li.next a,.ink-navigation ul.pagination.chevron.grey li.previous a{color:#d9d9d9}.ink-navigation ul.pagination.chevron.blue li.disabled a,.ink-navigation ul.pagination.chevron.blue li.next a,.ink-navigation ul.pagination.chevron.blue li.previous a{color:#1b75ce}.ink-navigation ul.pagination.chevron.green li.disabled a,.ink-navigation ul.pagination.chevron.green li.next a,.ink-navigation ul.pagination.chevron.green li.previous a{color:#4c9220}.ink-navigation ul.pagination.chevron.orange li.disabled a,.ink-navigation ul.pagination.chevron.orange li.next a,.ink-navigation ul.pagination.chevron.orange li.previous a{color:#f2990d}.ink-navigation ul.pagination.chevron.red li.disabled a,.ink-navigation ul.pagination.chevron.red li.next a,.ink-navigation ul.pagination.chevron.red li.previous a{color:#be1c1c}.ink-navigation ul.pills li{background:#fff;font-weight:300;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.pills li a{color:#555;background:0 0}.ink-navigation ul.pills li a:hover,.ink-navigation ul.pills li.active a{background:#e6e6e6}.ink-navigation ul.pills li.disabled a{color:#999;text-shadow:#fff 0 1px 0}.ink-navigation ul.pills li.disabled a:hover{background:0 0}.ink-navigation ul.pills.grey li{background:#d9d9d9}.ink-navigation ul.pills.grey li.active a{background:#bfbfbf}.ink-navigation ul.pills.grey li.disabled a{color:#a6a6a6;text-shadow:#ededed 0 1px 0}.ink-navigation ul.pills.grey li.disabled a:hover{background:0 0}.ink-navigation ul.pills.grey li a{color:#555}.ink-navigation ul.pills.grey li a:hover{background:#ccc}.ink-navigation ul.pills.black li{background:#1a1a1a}.ink-navigation ul.pills.black li.active a{background:#333}.ink-navigation ul.pills.black li.disabled a{color:#666;text-shadow:#000 0 -1px 0}.ink-navigation ul.pills.black li.disabled a:hover{background:0 0}.ink-navigation ul.pills.black li a{color:#fff}.ink-navigation ul.pills.black li a:hover{background:#292929}.ink-navigation ul.pills.blue li{background:#1b75ce}.ink-navigation ul.pills.blue li.active a{background:#0c5baa}.ink-navigation ul.pills.blue li.disabled a{color:#08427b;text-shadow:#2289f0 0 1px 0}.ink-navigation ul.pills.blue li.disabled a:hover{background:0 0}.ink-navigation ul.pills.blue li a{color:#fff}.ink-navigation ul.pills.blue li a:hover{background:#0d68c2}.ink-navigation ul.pills.green li{background:#4c9220}.ink-navigation ul.pills.green li.active a{background:#356f10}.ink-navigation ul.pills.green li.disabled a{color:#20420a;text-shadow:#5bbf1c 0 1px 0}.ink-navigation ul.pills.green li.disabled a:hover{background:0 0}.ink-navigation ul.pills.green li a{color:#fff}.ink-navigation ul.pills.green li a:hover{background:#3f8514}.ink-navigation ul.pills.orange li{background:#f2990d}.ink-navigation ul.pills.orange li.active a{background:#cc7d00}.ink-navigation ul.pills.orange li.disabled a{color:#995e00;text-shadow:#ffac29 0 1px 0}.ink-navigation ul.pills.orange li.disabled a:hover{background:0 0}.ink-navigation ul.pills.orange li a{color:#fff}.ink-navigation ul.pills.orange li a:hover{background:#e68c00}.ink-navigation ul.pills.red li{background:#be1c1c}.ink-navigation ul.pills.red li.active a{background:#9a0d0d}.ink-navigation ul.pills.red li.disabled a{color:#6b0909;text-shadow:#eb1717 0 1px 0}.ink-navigation ul.pills.red li.disabled a:hover{background:0 0}.ink-navigation ul.pills.red li a{color:#fff}.ink-navigation ul.pills.red li a:hover{background:#b10f0f}table.ink-table{background:#fff}table.ink-table tr td,table.ink-table tr th{border-bottom:#bbb 1px solid;background:0 0}table.ink-table tr:last-child td{border-bottom:0}table.ink-table tfoot tr td,table.ink-table tfoot tr th{border-top:#bbb 1px solid}table.ink-table.alternating tbody tr:nth-child(odd){background-color:#f5f5f5}table.ink-table.hover tbody tr:hover{background:#fefbd6;color:#555}table.ink-table.bordered{border:#bbb 1px solid;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}table.ink-table.bordered tr th{border-left:#bbb 1px solid}table.ink-table.bordered tr th:first-child{border-left:0}table.ink-table.bordered tr:last-child td{border-bottom:0}table.ink-table.bordered tr td{border-left:#bbb 1px solid}table.ink-table.bordered tr td:first-child{border-left:0}table.ink-table tbody>tr.red td{background:#c91111;color:#fff}table.ink-table tbody>tr.green td{background:#4a9b17;color:#fff}table.ink-table tbody>tr.blue td{background:#0f75da;color:#fff}table.ink-table tbody>tr.orange td{background:#ff9c00;color:#fff}table.ink-table tbody>tr.black td{background:#000;color:#ccc}table.ink-table tbody>tr.yellow td{background:#ffd500;color:#000}.animated.slow{animation-duration:1s}.animated.medium{animation-duration:.5s}.animated.fast{animation-duration:.2s}.ink-carousel .ink-navigation{position:static}.ink-carousel{width:100%;position:relative;overflow:hidden;display:block}.ink-carousel .stage{left:0;height:auto!important;margin-top:0;margin-bottom:0;padding-left:0;list-style-type:none;white-space:nowrap;position:relative;overflow:visible;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.ink-carousel .stage.column-group{display:-webkit-block;display:-moz-block;display:block;-webkit-flex-flow:none;-moz-flex-flow:none;flex-flow:none}.ink-carousel .stage .slide{position:relative;display:inline-block;vertical-align:top;white-space:normal;margin:0;float:none;zoom:1;*display:inline}.ink-datepicker-wrapper{position:relative}.ink-datepicker-calendar{margin-top:0;position:absolute}.ink-datepicker-calendar.right{left:100%;top:0}.ink-datepicker-calendar.left{right:100%;top:0}.ink-datepicker-calendar.bottom{top:100%;left:0}.ink-datepicker-calendar.top{bottom:100%;left:0}.ink-datepicker-calendar,.ink-datepicker-wrapper{display:inline;display:inline-block}.ink-calendar{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;text-align:center;padding:.3em;min-width:17.4em;font-size:13px;-webkit-box-shadow:rgba(0,0,0,.4) 0 1px 2px 0;-moz-box-shadow:rgba(0,0,0,.4) 0 1px 2px 0;box-shadow:rgba(0,0,0,.4) 0 1px 2px 0;background:#fff;z-index:10}.ink-calendar a{text-decoration:none}.ink-calendar li{list-style:none inside}html.ink-modal-is-open .ink-calendar{z-index:101}.ink-calendar-top-options{padding:5px;font-size:.813em;cursor:pointer}.ink-calendar-top-options .clean{float:left}.ink-calendar-top-options .close{float:right}.ink-calendar-top{line-height:2em;background:#e6e6e6;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-calendar-top div{float:left}.ink-calendar-top .ink-calendar-next,.ink-calendar-top .ink-calendar-prev{width:10%}.ink-calendar-top .ink-calendar-next a,.ink-calendar-top .ink-calendar-prev a{display:block}.ink-calendar-top .ink-calendar-month_desc{width:80%}.ink-calendar-month,.ink-calendar-month-selector,.ink-calendar-year-selector{margin-top:.5em;padding-left:0}.ink-calendar-month li a,.ink-calendar-month-selector li a,.ink-calendar-year-selector li a{margin:0;line-height:2em;vertical-align:middle;display:block;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;color:#444}.ink-calendar-month li a:hover,.ink-calendar-month-selector li a:hover,.ink-calendar-year-selector li a:hover{background:#e6e6e6}.ink-calendar-month li a.ink-calendar-on,.ink-calendar-month li a.ink-calendar-on:hover,.ink-calendar-month-selector li a.ink-calendar-on,.ink-calendar-month-selector li a.ink-calendar-on:hover,.ink-calendar-year-selector li a.ink-calendar-on,.ink-calendar-year-selector li a.ink-calendar-on:hover{background:#0069d6;color:#fff}.ink-calendar-month li a.ink-calendar-off,.ink-calendar-month li a.ink-calendar-off:hover,.ink-calendar-month-selector li a.ink-calendar-off,.ink-calendar-month-selector li a.ink-calendar-off:hover,.ink-calendar-year-selector li a.ink-calendar-off,.ink-calendar-year-selector li a.ink-calendar-off:hover{background:#fff;color:#aaa;cursor:default}.ink-calendar-month ul,.ink-calendar-month-selector ul,.ink-calendar-year-selector ul{clear:both;padding-left:0}.ink-calendar-month ul li,.ink-calendar-month-selector ul li,.ink-calendar-year-selector ul li{width:2.4em;float:left;text-align:center;padding:0;margin:0}.ink-calendar-month-selector ul li,.ink-calendar-year-selector ul li{width:25%}.ink-calendar-month-selector,.ink-calendar-year-selector{display:none}.action_inactive,.ink-calendar-off{color:#ddd!important}.ink-calendar-month .ink-calendar-header{border-bottom:1px solid rgba(0,0,0,.1);padding-bottom:.5em;margin-bottom:.5em;color:#aaa}.ink-calendar-middle,.ink-calendar-month .ink-calendar-header,.ink-calendar-month .ink-calendar-middle ul,.ink-calendar-top,.ink-calendar-top-options{*zoom:1}.ink-calendar-middle:after,.ink-calendar-month .ink-calendar-header:after,.ink-calendar-month .ink-calendar-middle ul:after,.ink-calendar-top-options:after,.ink-calendar-top:after{content:"";display:table;clear:both}body.ink-drawer{max-width:100%}body.ink-drawer .content-drawer,body.ink-drawer .left-drawer,body.ink-drawer .right-drawer{-webkit-transition-property:translate3d;-moz-transition-property:translate3d;-o-transition-property:translate3d;transition-property:translate3d;-webkit-transition-duration:300ms;-moz-transition-duration:300ms;-o-transition-duration:300ms;transition-duration:300ms;-webkit-transition-timing-function:cubic-bezier(0.86,0,.07,1);-moz-transition-timing-function:cubic-bezier(0.86,0,.07,1);-o-transition-timing-function:cubic-bezier(0.86,0,.07,1);transition-timing-function:cubic-bezier(0.86,0,.07,1)}body.ink-drawer .left-drawer{left:-220px}body.ink-drawer .right-drawer{right:-220px}body.ink-drawer .content-drawer{width:100%}body.ink-drawer .left-drawer,body.ink-drawer .right-drawer{position:absolute;top:0;z-index:0;display:none;overflow-x:hidden;overflow-y:auto;width:220px;height:100%;-webkit-overflow-scrolling:touch}body.ink-drawer .left-drawer.show,body.ink-drawer .right-drawer.show{display:block}body.ink-drawer.push{overflow:hidden;width:100%;height:100%;position:fixed}body.ink-drawer.push .content-drawer{overflow:hidden}body.ink-drawer.push.left .content-drawer,body.ink-drawer.push.left .left-drawer{-webkit-transform:translate3d(220px,0,0);-moz-transform:translate3d(220px,0,0);-ms-transform:translate3d(220px,0,0);-o-transform:translate3d(220px,0,0);transform:translate3d(220px,0,0)}body.ink-drawer.push.right .content-drawer,body.ink-drawer.push.right .right-drawer{-webkit-transform:translate3d(-220px,0,0);-moz-transform:translate3d(-220px,0,0);-ms-transform:translate3d(-220px,0,0);-o-transform:translate3d(-220px,0,0);transform:translate3d(-220px,0,0)}body.ink-drawer.over{overflow:hidden;-webkit-user-drag:none}body.ink-drawer.over.left .left-drawer{-webkit-transform:translate3d(220px,0,0);-moz-transform:translate3d(220px,0,0);-ms-transform:translate3d(220px,0,0);-o-transform:translate3d(220px,0,0);transform:translate3d(220px,0,0)}body.ink-drawer.over.right .right-drawer{-webkit-transform:translate3d(-220px,0,0);-moz-transform:translate3d(-220px,0,0);-ms-transform:translate3d(-220px,0,0);-o-transform:translate3d(-220px,0,0);transform:translate3d(-220px,0,0)}.ink-shade{background:rgba(0,0,0,.8);width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin-top:0;position:fixed;z-index:100;display:none;filter:alpha(Opacity=0);opacity:0}.ink-shade.fade{-webkit-transition:opacity 300ms;-moz-transition:opacity 300ms;-o-transition:opacity 300ms;transition:opacity 300ms}.ink-shade.visible{filter:alpha(Opacity=100);opacity:1}.ink-modal{top:50%;left:50%;width:90%;height:90%;background:#fff;z-index:100;position:absolute;overflow:hidden;filter:alpha(Opacity=100);opacity:1;-webkit-box-shadow:rgba(0,0,0,.8) 0 0 15px 0;-moz-box-shadow:rgba(0,0,0,.8) 0 0 15px 0;box-shadow:rgba(0,0,0,.8) 0 0 15px 0;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;*zoom:1}.ink-modal:after{content:"";display:table;clear:both}.ink-modal>.modal-body{padding:1em;overflow-y:auto;overflow-x:hidden;height:auto}.ink-modal>.modal-body .ink-grid{padding-left:0;padding-right:0;width:100%;min-width:100%}.ink-modal>.modal-header,.ink-modal>header{border-bottom:1px #e6e6e6 solid;overflow:hidden;-webkit-box-shadow:rgba(175,175,175,.2) 0 1px 2px 0;-moz-box-shadow:rgba(175,175,175,.2) 0 1px 2px 0;box-shadow:rgba(175,175,175,.2) 0 1px 2px 0}.ink-modal>.modal-header>.modal-close,.ink-modal>header>.modal-close{padding-top:2px;text-align:center;color:#fff;width:26px;height:26px;line-height:1.2em;border:0;background:#bfbfbf;font-size:0;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%;text-shadow:rgba(0,0,0,.6) 0 -1px 0;filter:alpha(Opacity=60);opacity:.6;float:right}.ink-modal>.modal-header>.modal-close:after,.ink-modal>header>.modal-close:after{content:"\f00d";font-family:FontAwesome;font-size:medium;line-height:22px}.ink-modal>.modal-header>.modal-close:hover,.ink-modal>header>.modal-close:hover{filter:alpha(Opacity=100);opacity:1}.ink-modal>.modal-footer,.ink-modal>footer{background:#e6e6e6;margin-bottom:0;zoom:1;-webkit-box-shadow:rgba(175,175,175,.2) 0 -1px 2px 0;-moz-box-shadow:rgba(175,175,175,.2) 0 -1px 2px 0;box-shadow:rgba(175,175,175,.2) 0 -1px 2px 0}.ink-modal>.modal-footer,.ink-modal>.modal-header,.ink-modal>footer,.ink-modal>header{padding:.8em 1em .65em}.ink-modal>.modal-footer:after,.ink-modal>.modal-footer:before,.ink-modal>.modal-header:after,.ink-modal>.modal-header:before,.ink-modal>footer:after,.ink-modal>footer:before,.ink-modal>header:after,.ink-modal>header:before{content:".";display:block;height:0;clear:both;visibility:hidden}.ink-modal-open{overflow:hidden}.ink-progress-bar{margin-bottom:1em;overflow:hidden;background:#f2f2f2;position:relative;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:0,1px,3px,0,rgba(0,0,0,.2),inset;-moz-box-shadow:0,1px,3px,0,rgba(0,0,0,.2),inset;box-shadow:0,1px,3px,0,rgba(0,0,0,.2),inset}.ink-progress-bar .caption{position:absolute;top:0;left:0;width:100%;height:100%;line-height:1.7;text-align:center;color:#000;font-size:.813em;z-index:10}.ink-progress-bar .bar{height:1.3em;text-shadow:rgba(0,0,0,.25),0,1px,0;-webkit-box-shadow:0,1px,1px,0,rgba(0,0,0,.1),inset;-moz-box-shadow:0,1px,1px,0,rgba(0,0,0,.1),inset;box-shadow:0,1px,1px,0,rgba(0,0,0,.1),inset;-webkit-transition-property:width;-moz-transition-property:width;-o-transition-property:width;transition-property:width;-webkit-transition-duration:.6s;-moz-transition-duration:.6s;-o-transition-duration:.6s;transition-duration:.6s;-webkit-transition-timing-function:ease;-moz-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.ink-progress-bar .bar.grey{background:#ccc;color:#555}.ink-progress-bar .bar.green{background:#4a9b17;color:#fff}.ink-progress-bar .bar.blue{background:#0f75da;color:#fff}.ink-progress-bar .bar.red{background:#c91111;color:#fff}.ink-progress-bar .bar.orange{background:#ff9c00;color:#555}.ink-progress-bar .bar.black{background:#000;color:#fff}.dragging,.ink-sortable-list li{cursor:move;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none;-ms-user-drag:none;-moz-user-drag:none;-khtml-user-drag:none;-webkit-user-drag:none;-o-user-drag:none;user-drag:none}.drag,.ink-sortable-list li.placeholder{-webkit-box-shadow:0,0,10px,0,rgba(0,0,0,.3);-moz-box-shadow:0,0,10px,0,rgba(0,0,0,.3);box-shadow:0,0,10px,0,rgba(0,0,0,.3)}.ink-sortable-list li{margin:0;border-bottom:1px solid #ccc;line-height:40px}.ink-sortable-list li.placeholder,.ink-sortable-list li:hover{background:#ccc;background:rgba(204,204,204,.2)}.ink-sortable-list li .ink-label{margin:0 .8em}.ink-sticky-stuck{position:fixed}.ink-tabs .tabs-nav{list-style:none;padding:0;*zoom:1}.ink-tabs .tabs-nav li{line-height:1.7;position:relative;margin:0}.ink-tabs .tabs-nav li a{padding:.5em 1em;display:block}.ink-tabs .tabs-nav li a:hover{background:#f0f0f0}.ink-tabs .tabs-nav li.active a{color:#555;cursor:default;text-decoration:none;background:#fff;border:1px solid #ccc}.ink-tabs .tabs-nav:after{content:"";display:table;clear:both}.ink-tabs .tabs-content{margin-top:1.5em;overflow:auto}.ink-tabs.top>.tabs-nav{border-bottom:1px solid #ccc}.ink-tabs.top>.tabs-nav li{float:left}.ink-tabs.top>.tabs-nav li a{margin-right:.4em;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.ink-tabs.top>.tabs-nav li.active{margin:0 0 -2px 0}.ink-tabs.top>.tabs-nav li.active a{border-bottom-color:transparent}.ink-tabs.bottom>.tabs-nav{border-top:1px solid #ccc}.ink-tabs.bottom>.tabs-nav li{float:left}.ink-tabs.bottom>.tabs-nav li a{margin-right:.4em;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.ink-tabs.bottom>.tabs-nav li.active{margin:-2px 0 0 0}.ink-tabs.bottom>.tabs-nav li.active a{border-top-color:transparent}.ink-tabs.left>.tabs-nav{border-right:1px solid #ccc;float:left;margin-right:2em}.ink-tabs.left>.tabs-nav li{float:none;text-align:right}.ink-tabs.left>.tabs-nav li a{margin-bottom:.4em;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;-ms-border-radius:4px 0 0 4px;-o-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.ink-tabs.left>.tabs-nav li.active{margin:0 -2px 0 0}.ink-tabs.left>.tabs-nav li.active a{border-right-color:transparent}.ink-tabs.right>.tabs-nav{border-left:1px solid #ccc;float:right;margin-left:2em}.ink-tabs.right>.tabs-nav li{float:none}.ink-tabs.right>.tabs-nav li a{margin-bottom:.4em;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;-ms-border-radius:0 4px 4px 0;-o-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.ink-tabs.right>.tabs-nav li.active{margin:0 0 0 -2px}.ink-tabs.right>.tabs-nav li.active a{border-left-color:transparent}.ink-tagfield input[type=text].new-tag-input{background-color:#fff;border:1px solid #ccc;line-height:1em;margin:0;padding:5px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-tagfield input[type=text].new-tag-input:focus{-webkit-box-shadow:0,0,0,3px,#eaeaea;-moz-box-shadow:0,0,0,3px,#eaeaea;box-shadow:0,0,0,3px,#eaeaea;border:1px solid #c3c3c3}.ink-tagfield span.ink-tag{background-color:#1b1b1b;color:#eaeaea;text-shadow:none;font-size:.9em;font-weight:400;border:1px solid #000;padding:4px 6px}.ink-tagfield span.ink-tag i.icon-remove{color:#ccc;font-size:.9em;font-weight:400;margin-left:4px}.ink-tagfield span.ink-tag i.icon-remove:hover{cursor:pointer;color:red}.ink-tooltip{display:inline-block;position:relative}.ink-tooltip>.content{background:#f0f0f0;padding:.5em .6em;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;font-size:.8em;color:#8c8c8c}.ink-tooltip>.arrow{position:absolute}.ink-tooltip>.arrow.down,.ink-tooltip>.arrow.left,.ink-tooltip>.arrow.right,.ink-tooltip>.arrow.up{width:0;height:0}.ink-tooltip>.arrow.up{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #f0f0f0;top:-6px;left:50%;margin-left:-3px}.ink-tooltip>.arrow.down{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #f0f0f0;bottom:-5.45455px;left:50%;margin-left:-3px}.ink-tooltip>.arrow.right{border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid #f0f0f0;top:50%;right:-5.45455px;margin-top:-6px}.ink-tooltip>.arrow.left{border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid #f0f0f0;top:50%;left:-5.45455px;margin-top:-6px}.ink-tooltip.blue>.content{background:#0f75da;color:#fff}.ink-tooltip.blue>.arrow.up{border-bottom-color:#0f75da}.ink-tooltip.blue>.arrow.down{border-top-color:#0f75da}.ink-tooltip.blue>.arrow.left{border-right-color:#0f75da}.ink-tooltip.blue>.arrow.right{border-left-color:#0f75da}.ink-tooltip.red>.content{background:#c91111;color:#fff}.ink-tooltip.red>.arrow.up{border-bottom-color:#c91111}.ink-tooltip.red>.arrow.down{border-top-color:#c91111}.ink-tooltip.red>.arrow.left{border-right-color:#c91111}.ink-tooltip.red>.arrow.right{border-left-color:#c91111}.ink-tooltip.orange>.content{background:#ff9c00;color:#fff}.ink-tooltip.orange>.arrow.up{border-bottom-color:#ff9c00}.ink-tooltip.orange>.arrow.down{border-top-color:#ff9c00}.ink-tooltip.orange>.arrow.left{border-right-color:#ff9c00}.ink-tooltip.orange>.arrow.right{border-left-color:#ff9c00}.ink-tooltip.green>.content{background:#4a9b17;color:#fff}.ink-tooltip.green>.arrow.up{border-bottom-color:#4a9b17}.ink-tooltip.green>.arrow.down{border-top-color:#4a9b17}.ink-tooltip.green>.arrow.left{border-right-color:#4a9b17}.ink-tooltip.green>.arrow.right{border-left-color:#4a9b17}.ink-tooltip.black>.content{background:#000;color:#fff}.ink-tooltip.black>.arrow.up{border-bottom-color:#000}.ink-tooltip.black>.arrow.down{border-top-color:#000}.ink-tooltip.black>.arrow.left{border-right-color:#000}.ink-tooltip.black>.arrow.right{border-left-color:#000}.ink-tooltip.grey>.content{background:#ccc;color:#333}.ink-tooltip.grey>.arrow.up{border-bottom-color:#ccc}.ink-tooltip.grey>.arrow.down{border-top-color:#ccc}.ink-tooltip.grey>.arrow.left{border-right-color:#ccc}.ink-tooltip.grey>.arrow.right{border-left-color:#ccc}.ink-tree-view li{list-style-type:none}.ink-tree-view [data-open]>:before{margin-left:-1.3em;margin-right:.4em;text-decoration:none} \ No newline at end of file diff --git a/public/css/ink-ie.css b/public/css/ink-ie.css new file mode 100644 index 0000000..6e7cfcf --- /dev/null +++ b/public/css/ink-ie.css @@ -0,0 +1,896 @@ +/** + * Ink + * + * A set of tools for quick development of web interfaces. + * + * @package Ink + * @author Sapo Ink Team + * @license http://opensource.org/licenses/MIT MIT + * @link http://ink.sapo.pt + * @version 3.0.5 + */ +/** + * Ink class names prefix + * Used in all of Inks components root elements + */ +/** + * Grid class names + */ +/** + * Alerts class names + */ +/** + * Badges class names + */ +/** + * Buttons class names + */ +/** + * Forms class names + */ +/** + * Labels class names + */ +/** + * Navigation class names + */ +/** + * Dropdown class names + */ +/** + * Tables class names + */ +/** + * Images class names + */ +/** + * JS UI components classe names + */ +/** + * Sets the grids maximum width + * @var $grid-max-width (pixels|ems|percentage) + */ +/*! + * Sets the grids breakpoint + * + * To add a new break point you'll need to add an element to the list. + * + * Here's an example: ( class-name-prefix, minimum-width, maximum-width, gutter-width, no-media-query). + * + * media: media type. + * class-name-prefix: this is the prefix used in tons of inks classes i.e.: large-100, small-40, etc. + * minimum-width: (pixels|null) the minimum width for the breakpoint + * maximum-width: (pixels|null) the maximum width for the breakpoint + * gutter-width: (ems) the width for the gutters (space between grid columns) for the breakpoint + * no-media-query: (true|false) if you need to support IE8 set this to true on a single breakpoint. + * Since IE8 does not support the @media statement leaving one of the breakpoints + * outside a @media query let's you use the grid in IE8. + * + */ +.ink-grid { + width: auto; + max-width: 1440px; + margin: 0 auto; +} + +.ink-grid { + padding: 0 1.75em; +} + +.column-group > [class*=large-] { + float: left; + clear: none; +} + +.large-5 { + width: 5%; +} + +.large-10 { + width: 10%; +} + +.large-15 { + width: 15%; +} + +.large-16 { + width: 16.66%; +} + +.large-20 { + width: 20%; +} + +.large-25 { + width: 25%; +} + +.large-30 { + width: 30%; +} + +.large-33 { + width: 33.33%; +} + +.large-35 { + width: 35%; +} + +.large-40 { + width: 40%; +} + +.large-45 { + width: 45%; +} + +.large-50 { + width: 50%; +} + +.large-55 { + width: 55%; +} + +.large-60 { + width: 60%; +} + +.large-65 { + width: 65%; +} + +.large-66 { + width: 66.66%; +} + +.large-70 { + width: 70%; +} + +.large-75 { + width: 75%; +} + +.large-80 { + width: 80%; +} + +.large-85 { + width: 85%; +} + +.large-90 { + width: 90%; +} + +.large-95 { + width: 95%; +} + +.large-100 { + width: 100%; +} + +[class*=large-100] { + float: none; + clear: both; +} + +.column-group { + *zoom: 1; +} +.column-group:after { + content: ""; + display: table; + clear: both; +} + +.column-group.gutters { + margin-left: -1.75em; +} +.column-group.gutters > [class*=large-], .column-group.gutters > [class*=all-] { + padding-left: 1.75em; + margin-bottom: 1.75em; +} + +.column-group.horizontal-gutters { + margin-left: -1.75em; +} +.column-group.horizontal-gutters > [class*=large-], .column-group.horizontal-gutters > [class*=all-] { + padding-left: 1.75em; +} + +.column-group.vertical-gutters > [class*=large-], .column-group.vertical-gutters > [class*=all-] { + margin-bottom: 1.75em; +} + +.column-group.double-gutters { + margin-left: -3.5em; +} +.column-group.double-gutters > [class*=large-], .column-group.double-gutters > [class*=all-] { + padding-left: 3.5em; + margin-bottom: 3.5em; +} + +.column-group.double-horizontal-gutters { + margin-left: -3.5em; +} +.column-group.double-horizontal-gutters > [class*=large-], .column-group.double-horizontal-gutters > [class*=all-] { + padding-left: 3.5em; +} + +.column-group.double-vertical-gutters > [class*=large-], .column-group.double-vertical-gutters > [class*=all-] { + margin-bottom: 3.5em; +} + +.column-group.half-gutters { + margin-left: -0.875em; +} +.column-group.half-gutters > [class*=large-], .column-group.half-gutters > [class*=all-] { + padding-left: 0.875em; + margin-bottom: 0.875em; +} + +.column-group.half-horizontal-gutters { + margin-left: -0.875em; +} +.column-group.half-horizontal-gutters > [class*=large-], .column-group.half-horizontal-gutters > [class*=all-] { + padding-left: 0.875em; +} + +.column-group.half-vertical-gutters > [class*=large-], .column-group.half-vertical-gutters > [class*=all-] { + margin-bottom: 0.875em; +} + +.column-group.quarter-gutters { + margin-left: -0.4375em; +} +.column-group.quarter-gutters > [class*=large-], .column-group.quarter-gutters > [class*=all-] { + padding-left: 0.4375em; + margin-bottom: 0.4375em; +} + +.column-group.quarter-horizontal-gutters { + margin-left: -0.4375em; +} +.column-group.quarter-horizontal-gutters > [class*=large-], .column-group.quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.4375em; +} + +.column-group.quarter-vertical-gutters > [class*=large-], .column-group.quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.4375em; +} + +.column-group.large-gutters { + margin-left: -1.75em; +} +.column-group.large-gutters > [class*=large-], .column-group.large-gutters > [class*=all-] { + padding-left: 1.75em; + margin-bottom: 1.75em; +} + +.column-group.large-horizontal-gutters { + margin-left: -1.75em; +} +.column-group.large-horizontal-gutters > [class*=large-], .column-group.large-horizontal-gutters > [class*=all-] { + padding-left: 1.75em; +} + +.column-group.large-vertical-gutters > [class*=large-], .column-group.large-vertical-gutters > [class*=all-] { + margin-bottom: 1.75em; +} + +.column-group.large-double-gutters { + margin-left: -3.5em; +} +.column-group.large-double-gutters > [class*=large-], .column-group.large-double-gutters > [class*=all-] { + padding-left: 3.5em; + margin-bottom: 3.5em; +} + +.column-group.large-double-horizontal-gutters { + margin-left: -3.5em; +} +.column-group.large-double-horizontal-gutters > [class*=large-], .column-group.large-double-horizontal-gutters > [class*=all-] { + padding-left: 3.5em; +} + +.column-group.large-double-vertical-gutters > [class*=large-], .column-group.large-double-vertical-gutters > [class*=all-] { + margin-bottom: 3.5em; +} + +.column-group.large-half-gutters { + margin-left: -0.875em; +} +.column-group.large-half-gutters > [class*=large-], .column-group.large-half-gutters > [class*=all-] { + padding-left: 0.875em; + margin-bottom: 0.875em; +} + +.column-group.large-half-horizontal-gutters { + margin-left: -0.875em; +} +.column-group.large-half-horizontal-gutters > [class*=large-], .column-group.large-half-horizontal-gutters > [class*=all-] { + padding-left: 0.875em; +} + +.column-group.large-half-vertical-gutters > [class*=large-], .column-group.large-half-vertical-gutters > [class*=all-] { + margin-bottom: 0.875em; +} + +.column-group.large-quarter-gutters { + margin-left: -0.4375em; +} +.column-group.large-quarter-gutters > [class*=large-], .column-group.large-quarter-gutters > [class*=all-] { + padding-left: 0.4375em; + margin-bottom: 0.4375em; +} + +.column-group.large-quarter-horizontal-gutters { + margin-left: -0.4375em; +} +.column-group.large-quarter-horizontal-gutters > [class*=large-], .column-group.large-quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.4375em; +} + +.column-group.large-quarter-vertical-gutters > [class*=large-], .column-group.large-quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.4375em; +} + +.column-group.large-no-gutters { + margin-left: 0; +} +.column-group.large-no-gutters > [class*=large-], .column-group.large-no-gutters > [class*=all-] { + padding-left: 0; + margin-bottom: 0; +} + +.ink-table td[class*=large-], .ink-table th[class*=large-], .ink-table tr[class*=large-], .ink-table thead[class*=large-], .ink-table tbody[class*=large-], .ink-table tfoot[class*=large-] { + float: none; +} + +.large-push-left { + float: left; +} + +.large-push-center { + float: none; + margin-left: auto; + margin-right: auto; +} + +.large-push-right { + float: right; +} + +.large-align-left { + text-align: left; +} + +.large-align-center { + text-align: center; +} + +.large-align-right { + text-align: right; +} + +.large-no-margin { + margin: 0 !important; +} + +.space { + margin: 1.75em; +} + +.large-space { + margin: 1.75em; +} + +.padding { + padding: 1.75em; +} + +.large-padding { + padding: 1.75em; +} + +.double-space { + margin: 3.5em; +} + +.large-double-space { + margin: 3.5em; +} + +.double-padding { + padding: 3.5em; +} + +.large-double-padding { + padding: 3.5em; +} + +.half-space { + margin: 0.875em; +} + +.large-half-space { + margin: 0.875em; +} + +.half-padding { + padding: 0.875em; +} + +.large-half-padding { + padding: 0.875em; +} + +.quarter-space { + margin: 0.4375em; +} + +.large-quarter-space { + margin: 0.4375em; +} + +.quarter-padding { + padding: 0.4375em; +} + +.large-quarter-padding { + padding: 0.4375em; +} + +.vertical-space { + margin-top: 1.75em; + margin-bottom: 1.75em; +} + +.large-vertical-space { + margin-top: 1.75em; + margin-bottom: 1.75em; +} + +.vertical-padding { + padding-top: 1.75em; + padding-bottom: 1.75em; +} + +.large-vertical-padding { + padding-top: 1.75em; + padding-bottom: 1.75em; +} + +.double-vertical-space { + margin-top: 3.5em; + margin-bottom: 3.5em; +} + +.large-double-vertical-space { + margin-top: 3.5em; + margin-bottom: 3.5em; +} + +.double-vertical-padding { + padding-top: 3.5em; + padding-bottom: 3.5em; +} + +.large-double-vertical-padding { + padding-top: 3.5em; + padding-bottom: 3.5em; +} + +.half-vertical-space { + margin-top: 0.875em; + margin-bottom: 0.875em; +} + +.large-half-vertical-space { + margin-top: 0.875em; + margin-bottom: 0.875em; +} + +.half-vertical-padding { + padding-top: 0.875em; + padding-bottom: 0.875em; +} + +.large-half-vertical-padding { + padding-top: 0.875em; + padding-bottom: 0.875em; +} + +.quarter-vertical-space { + margin-top: 0.4375em; + margin-bottom: 0.4375em; +} + +.large-quarter-vertical-space { + margin-top: 0.4375em; + margin-bottom: 0.4375em; +} + +.quarter-vertical-padding { + padding-top: 0.4375em; + padding-bottom: 0.4375em; +} + +.large-quarter-vertical-padding { + padding-top: 0.4375em; + padding-bottom: 0.4375em; +} + +.horizontal-space { + margin-left: 1.75em; + margin-right: 1.75em; +} + +.large-horizontal-space { + margin-left: 1.75em; + margin-right: 1.75em; +} + +.horizontal-padding { + padding-left: 1.75em; + padding-right: 1.75em; +} + +.large-horizontal-padding { + padding-left: 1.75em; + padding-right: 1.75em; +} + +.double-horizontal-space { + margin-left: 3.5em; + margin-right: 3.5em; +} + +.large-double-horizontal-space { + margin-left: 3.5em; + margin-right: 3.5em; +} + +.double-horizontal-padding { + padding-left: 3.5em; + padding-right: 3.5em; +} + +.large-double-horizontal-padding { + padding-left: 3.5em; + padding-right: 3.5em; +} + +.half-horizontal-space { + margin-left: 0.875em; + margin-right: 0.875em; +} + +.large-half-horizontal-space { + margin-left: 0.875em; + margin-right: 0.875em; +} + +.half-horizontal-padding { + padding-left: 0.875em; + padding-right: 0.875em; +} + +.large-half-horizontal-padding { + padding-left: 0.875em; + padding-right: 0.875em; +} + +.quarter-horizontal-space { + margin-left: 0.4375em; + margin-right: 0.4375em; +} + +.large-quarter-horizontal-space { + margin-left: 0.4375em; + margin-right: 0.4375em; +} + +.quarter-horizontal-padding { + padding-left: 0.4375em; + padding-right: 0.4375em; +} + +.large-quarter-horizontal-padding { + padding-left: 0.4375em; + padding-right: 0.4375em; +} + +.top-space { + margin-top: 1.75em; +} + +.large-top-space { + margin-top: 1.75em; +} + +.top-padding { + padding-top: 1.75em; +} + +.large-top-padding { + padding-top: 1.75em; +} + +.double-top-space { + margin-top: 3.5em; +} + +.large-double-top-space { + margin-top: 3.5em; +} + +.double-top-padding { + padding-top: 3.5em; +} + +.large-double-top-padding { + padding-top: 3.5em; +} + +.half-top-space { + margin-top: 0.875em; +} + +.large-half-top-space { + margin-top: 0.875em; +} + +.half-top-padding { + padding-top: 0.875em; +} + +.large-half-top-padding { + padding-top: 0.875em; +} + +.quarter-top-space { + margin-top: 0.4375em; +} + +.large-quarter-top-space { + margin-top: 0.4375em; +} + +.quarter-top-padding { + padding-top: 0.4375em; +} + +.large-quarter-top-padding { + padding-top: 0.4375em; +} + +.right-space { + margin-right: 1.75em; +} + +.large-right-space { + margin-right: 1.75em; +} + +.right-padding { + padding-right: 1.75em; +} + +.large-right-padding { + padding-right: 1.75em; +} + +.double-right-space { + margin-right: 3.5em; +} + +.large-double-right-space { + margin-right: 3.5em; +} + +.double-right-padding { + padding-right: 3.5em; +} + +.large-double-right-padding { + padding-right: 3.5em; +} + +.half-right-space { + margin-right: 0.875em; +} + +.large-half-right-space { + margin-right: 0.875em; +} + +.half-right-padding { + padding-right: 0.875em; +} + +.large-half-right-padding { + padding-right: 0.875em; +} + +.quarter-right-space { + margin-right: 0.4375em; +} + +.large-quarter-right-space { + margin-right: 0.4375em; +} + +.quarter-right-padding { + padding-right: 0.4375em; +} + +.large-quarter-right-padding { + padding-right: 0.4375em; +} + +.bottom-space { + margin-bottom: 1.75em; +} + +.large-bottom-space { + margin-bottom: 1.75em; +} + +.bottom-padding { + padding-bottom: 1.75em; +} + +.large-bottom-padding { + padding-bottom: 1.75em; +} + +.double-bottom-space { + margin-bottom: 3.5em; +} + +.large-double-bottom-space { + margin-bottom: 3.5em; +} + +.double-bottom-padding { + padding-bottom: 3.5em; +} + +.large-double-bottom-padding { + padding-bottom: 3.5em; +} + +.half-bottom-space { + margin-bottom: 0.875em; +} + +.large-half-bottom-space { + margin-bottom: 0.875em; +} + +.half-bottom-padding { + padding-bottom: 0.875em; +} + +.large-half-bottom-padding { + padding-bottom: 0.875em; +} + +.quarter-bottom-space { + margin-bottom: 0.4375em; +} + +.large-quarter-bottom-space { + margin-bottom: 0.4375em; +} + +.quarter-bottom-padding { + padding-bottom: 0.4375em; +} + +.large-quarter-bottom-padding { + padding-bottom: 0.4375em; +} + +.left-space { + margin-left: 1.75em; +} + +.large-left-space { + margin-left: 1.75em; +} + +.left-padding { + padding-left: 1.75em; +} + +.large-left-padding { + padding-left: 1.75em; +} + +.double-left-space { + margin-left: 3.5em; +} + +.large-double-left-space { + margin-left: 3.5em; +} + +.double-left-padding { + padding-left: 3.5em; +} + +.large-double-left-padding { + padding-left: 3.5em; +} + +.half-left-space { + margin-left: 0.875em; +} + +.large-half-left-space { + margin-left: 0.875em; +} + +.half-left-padding { + padding-left: 0.875em; +} + +.large-half-left-padding { + padding-left: 0.875em; +} + +.quarter-left-space { + margin-left: 0.4375em; +} + +.large-quarter-left-space { + margin-left: 0.4375em; +} + +.quarter-left-padding { + padding-left: 0.4375em; +} + +.large-quarter-left-padding { + padding-left: 0.4375em; +} + +.hide-large { + display: none !important; +} + +.show-large { + display: inherit !important; +} + +table.show-large { + display: table; +} + +thead.show-large { + display: table-header-group; +} + +tbody.show-large { + display: table-row-group; +} + +tfoot.show-large { + display: table-footer-group; +} + +tr.show-large { + display: table-row; +} + +th.show-large, +td.show-large { + display: table-cell; +} diff --git a/public/css/ink-ie.min.css b/public/css/ink-ie.min.css new file mode 100644 index 0000000..362447a --- /dev/null +++ b/public/css/ink-ie.min.css @@ -0,0 +1 @@ +.ink-grid{width:auto;max-width:1440px;margin:0 auto;padding:0 1.75em}.column-group>[class*=large-]{float:left;clear:none}.large-5{width:5%}.large-10{width:10%}.large-15{width:15%}.large-16{width:16.66%}.large-20{width:20%}.large-25{width:25%}.large-30{width:30%}.large-33{width:33.33%}.large-35{width:35%}.large-40{width:40%}.large-45{width:45%}.large-50{width:50%}.large-55{width:55%}.large-60{width:60%}.large-65{width:65%}.large-66{width:66.66%}.large-70{width:70%}.large-75{width:75%}.large-80{width:80%}.large-85{width:85%}.large-90{width:90%}.large-95{width:95%}.large-100{width:100%}[class*=large-100]{float:none;clear:both}.column-group{*zoom:1}.column-group:after{content:"";display:table;clear:both}.column-group.gutters{margin-left:-1.75em}.column-group.gutters>[class*=all-],.column-group.gutters>[class*=large-]{padding-left:1.75em;margin-bottom:1.75em}.column-group.horizontal-gutters{margin-left:-1.75em}.column-group.horizontal-gutters>[class*=all-],.column-group.horizontal-gutters>[class*=large-]{padding-left:1.75em}.column-group.vertical-gutters>[class*=all-],.column-group.vertical-gutters>[class*=large-]{margin-bottom:1.75em}.column-group.double-gutters{margin-left:-3.5em}.column-group.double-gutters>[class*=all-],.column-group.double-gutters>[class*=large-]{padding-left:3.5em;margin-bottom:3.5em}.column-group.double-horizontal-gutters{margin-left:-3.5em}.column-group.double-horizontal-gutters>[class*=all-],.column-group.double-horizontal-gutters>[class*=large-]{padding-left:3.5em}.column-group.double-vertical-gutters>[class*=all-],.column-group.double-vertical-gutters>[class*=large-]{margin-bottom:3.5em}.column-group.half-gutters{margin-left:-.875em}.column-group.half-gutters>[class*=all-],.column-group.half-gutters>[class*=large-]{padding-left:.875em;margin-bottom:.875em}.column-group.half-horizontal-gutters{margin-left:-.875em}.column-group.half-horizontal-gutters>[class*=all-],.column-group.half-horizontal-gutters>[class*=large-]{padding-left:.875em}.column-group.half-vertical-gutters>[class*=all-],.column-group.half-vertical-gutters>[class*=large-]{margin-bottom:.875em}.column-group.quarter-gutters{margin-left:-.4375em}.column-group.quarter-gutters>[class*=all-],.column-group.quarter-gutters>[class*=large-]{padding-left:.4375em;margin-bottom:.4375em}.column-group.quarter-horizontal-gutters{margin-left:-.4375em}.column-group.quarter-horizontal-gutters>[class*=all-],.column-group.quarter-horizontal-gutters>[class*=large-]{padding-left:.4375em}.column-group.quarter-vertical-gutters>[class*=all-],.column-group.quarter-vertical-gutters>[class*=large-]{margin-bottom:.4375em}.column-group.large-gutters{margin-left:-1.75em}.column-group.large-gutters>[class*=all-],.column-group.large-gutters>[class*=large-]{padding-left:1.75em;margin-bottom:1.75em}.column-group.large-horizontal-gutters{margin-left:-1.75em}.column-group.large-horizontal-gutters>[class*=all-],.column-group.large-horizontal-gutters>[class*=large-]{padding-left:1.75em}.column-group.large-vertical-gutters>[class*=all-],.column-group.large-vertical-gutters>[class*=large-]{margin-bottom:1.75em}.column-group.large-double-gutters{margin-left:-3.5em}.column-group.large-double-gutters>[class*=all-],.column-group.large-double-gutters>[class*=large-]{padding-left:3.5em;margin-bottom:3.5em}.column-group.large-double-horizontal-gutters{margin-left:-3.5em}.column-group.large-double-horizontal-gutters>[class*=all-],.column-group.large-double-horizontal-gutters>[class*=large-]{padding-left:3.5em}.column-group.large-double-vertical-gutters>[class*=all-],.column-group.large-double-vertical-gutters>[class*=large-]{margin-bottom:3.5em}.column-group.large-half-gutters{margin-left:-.875em}.column-group.large-half-gutters>[class*=all-],.column-group.large-half-gutters>[class*=large-]{padding-left:.875em;margin-bottom:.875em}.column-group.large-half-horizontal-gutters{margin-left:-.875em}.column-group.large-half-horizontal-gutters>[class*=all-],.column-group.large-half-horizontal-gutters>[class*=large-]{padding-left:.875em}.column-group.large-half-vertical-gutters>[class*=all-],.column-group.large-half-vertical-gutters>[class*=large-]{margin-bottom:.875em}.column-group.large-quarter-gutters{margin-left:-.4375em}.column-group.large-quarter-gutters>[class*=all-],.column-group.large-quarter-gutters>[class*=large-]{padding-left:.4375em;margin-bottom:.4375em}.column-group.large-quarter-horizontal-gutters{margin-left:-.4375em}.column-group.large-quarter-horizontal-gutters>[class*=all-],.column-group.large-quarter-horizontal-gutters>[class*=large-]{padding-left:.4375em}.column-group.large-quarter-vertical-gutters>[class*=all-],.column-group.large-quarter-vertical-gutters>[class*=large-]{margin-bottom:.4375em}.column-group.large-no-gutters{margin-left:0}.column-group.large-no-gutters>[class*=all-],.column-group.large-no-gutters>[class*=large-]{padding-left:0;margin-bottom:0}.ink-table tbody[class*=large-],.ink-table td[class*=large-],.ink-table tfoot[class*=large-],.ink-table th[class*=large-],.ink-table thead[class*=large-],.ink-table tr[class*=large-]{float:none}.large-push-left{float:left}.large-push-center{float:none;margin-left:auto;margin-right:auto}.large-push-right{float:right}.large-align-left{text-align:left}.large-align-center{text-align:center}.large-align-right{text-align:right}.large-no-margin{margin:0!important}.large-space,.space{margin:1.75em}.large-padding,.padding{padding:1.75em}.double-space,.large-double-space{margin:3.5em}.double-padding,.large-double-padding{padding:3.5em}.half-space,.large-half-space{margin:.875em}.half-padding,.large-half-padding{padding:.875em}.large-quarter-space,.quarter-space{margin:.4375em}.large-quarter-padding,.quarter-padding{padding:.4375em}.large-vertical-space,.vertical-space{margin-top:1.75em;margin-bottom:1.75em}.large-vertical-padding,.vertical-padding{padding-top:1.75em;padding-bottom:1.75em}.double-vertical-space,.large-double-vertical-space{margin-top:3.5em;margin-bottom:3.5em}.double-vertical-padding,.large-double-vertical-padding{padding-top:3.5em;padding-bottom:3.5em}.half-vertical-space,.large-half-vertical-space{margin-top:.875em;margin-bottom:.875em}.half-vertical-padding,.large-half-vertical-padding{padding-top:.875em;padding-bottom:.875em}.large-quarter-vertical-space,.quarter-vertical-space{margin-top:.4375em;margin-bottom:.4375em}.large-quarter-vertical-padding,.quarter-vertical-padding{padding-top:.4375em;padding-bottom:.4375em}.horizontal-space,.large-horizontal-space{margin-left:1.75em;margin-right:1.75em}.horizontal-padding,.large-horizontal-padding{padding-left:1.75em;padding-right:1.75em}.double-horizontal-space,.large-double-horizontal-space{margin-left:3.5em;margin-right:3.5em}.double-horizontal-padding,.large-double-horizontal-padding{padding-left:3.5em;padding-right:3.5em}.half-horizontal-space,.large-half-horizontal-space{margin-left:.875em;margin-right:.875em}.half-horizontal-padding,.large-half-horizontal-padding{padding-left:.875em;padding-right:.875em}.large-quarter-horizontal-space,.quarter-horizontal-space{margin-left:.4375em;margin-right:.4375em}.large-quarter-horizontal-padding,.quarter-horizontal-padding{padding-left:.4375em;padding-right:.4375em}.large-top-space,.top-space{margin-top:1.75em}.large-top-padding,.top-padding{padding-top:1.75em}.double-top-space,.large-double-top-space{margin-top:3.5em}.double-top-padding,.large-double-top-padding{padding-top:3.5em}.half-top-space,.large-half-top-space{margin-top:.875em}.half-top-padding,.large-half-top-padding{padding-top:.875em}.large-quarter-top-space,.quarter-top-space{margin-top:.4375em}.large-quarter-top-padding,.quarter-top-padding{padding-top:.4375em}.large-right-space,.right-space{margin-right:1.75em}.large-right-padding,.right-padding{padding-right:1.75em}.double-right-space,.large-double-right-space{margin-right:3.5em}.double-right-padding,.large-double-right-padding{padding-right:3.5em}.half-right-space,.large-half-right-space{margin-right:.875em}.half-right-padding,.large-half-right-padding{padding-right:.875em}.large-quarter-right-space,.quarter-right-space{margin-right:.4375em}.large-quarter-right-padding,.quarter-right-padding{padding-right:.4375em}.bottom-space,.large-bottom-space{margin-bottom:1.75em}.bottom-padding,.large-bottom-padding{padding-bottom:1.75em}.double-bottom-space,.large-double-bottom-space{margin-bottom:3.5em}.double-bottom-padding,.large-double-bottom-padding{padding-bottom:3.5em}.half-bottom-space,.large-half-bottom-space{margin-bottom:.875em}.half-bottom-padding,.large-half-bottom-padding{padding-bottom:.875em}.large-quarter-bottom-space,.quarter-bottom-space{margin-bottom:.4375em}.large-quarter-bottom-padding,.quarter-bottom-padding{padding-bottom:.4375em}.large-left-space,.left-space{margin-left:1.75em}.large-left-padding,.left-padding{padding-left:1.75em}.double-left-space,.large-double-left-space{margin-left:3.5em}.double-left-padding,.large-double-left-padding{padding-left:3.5em}.half-left-space,.large-half-left-space{margin-left:.875em}.half-left-padding,.large-half-left-padding{padding-left:.875em}.large-quarter-left-space,.quarter-left-space{margin-left:.4375em}.large-quarter-left-padding,.quarter-left-padding{padding-left:.4375em}.hide-large{display:none!important}.show-large{display:inherit!important}table.show-large{display:table}thead.show-large{display:table-header-group}tbody.show-large{display:table-row-group}tfoot.show-large{display:table-footer-group}tr.show-large{display:table-row}td.show-large,th.show-large{display:table-cell} \ No newline at end of file diff --git a/public/css/ink-legacy.css b/public/css/ink-legacy.css new file mode 100644 index 0000000..080dee2 --- /dev/null +++ b/public/css/ink-legacy.css @@ -0,0 +1,4685 @@ +/** + * Ink + * + * A set of tools for quick development of web interfaces. + * + * @package Ink + * @author Sapo Ink Team + * @license http://opensource.org/licenses/MIT MIT + * @link http://ink.sapo.pt + * @version 3.0.5 + */ +/** + * Ink class names prefix + * Used in all of Inks components root elements + */ +/** + * Grid class names + */ +/** + * Alerts class names + */ +/** + * Badges class names + */ +/** + * Buttons class names + */ +/** + * Forms class names + */ +/** + * Labels class names + */ +/** + * Navigation class names + */ +/** + * Dropdown class names + */ +/** + * Tables class names + */ +/** + * Images class names + */ +/** + * JS UI components classe names + */ +/** + * Sets the grids maximum width + * @var $grid-max-width (pixels|ems|percentage) + */ +/*! + * Sets the grids breakpoint + * + * To add a new break point you'll need to add an element to the list. + * + * Here's an example: ( class-name-prefix, minimum-width, maximum-width, gutter-width, no-media-query). + * + * media: media type. + * class-name-prefix: this is the prefix used in tons of inks classes i.e.: large-100, small-40, etc. + * minimum-width: (pixels|null) the minimum width for the breakpoint + * maximum-width: (pixels|null) the maximum width for the breakpoint + * gutter-width: (ems) the width for the gutters (space between grid columns) for the breakpoint + * no-media-query: (true|false) if you need to support IE8 set this to true on a single breakpoint. + * Since IE8 does not support the @media statement leaving one of the breakpoints + * outside a @media query let's you use the grid in IE8. + * + */ +.show-all { + display: inherit; +} + +.hide-all { + display: none !important; +} + +.no-margin { + margin: 0 !important; +} + +.no-padding { + padding: 0 !important; +} + +.push-left { + float: left; +} + +.push-center { + float: none !important; + margin-left: auto; + margin-right: auto; +} + +.push-right { + float: right; + -webkit-justify-content: flex-end; + -moz-justify-content: flex-end; + justify-content: flex-end; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +.clearfix { + *zoom: 1; + overflow: hidden; + *zoom: 1; +} +.clearfix:after { + content: ""; + display: table; + clear: both; +} + +html.no-flexbox, +html.no-flexboxlegacy { + font-size: 0.97em; +} +html.no-flexbox .ink-grid, +html.no-flexboxlegacy .ink-grid { + width: auto; + max-width: 1440px; + margin: 0 auto; +} +html.no-flexbox .all-5, +html.no-flexboxlegacy .all-5 { + width: 5%; + float: left; + clear: none; +} +html.no-flexbox .all-10, +html.no-flexboxlegacy .all-10 { + width: 10%; + float: left; + clear: none; +} +html.no-flexbox .all-15, +html.no-flexboxlegacy .all-15 { + width: 15%; + float: left; + clear: none; +} +html.no-flexbox .all-16, +html.no-flexboxlegacy .all-16 { + width: 16.66%; + float: left; + clear: none; +} +html.no-flexbox .all-20, +html.no-flexboxlegacy .all-20 { + width: 20%; + float: left; + clear: none; +} +html.no-flexbox .all-25, +html.no-flexboxlegacy .all-25 { + width: 25%; + float: left; + clear: none; +} +html.no-flexbox .all-30, +html.no-flexboxlegacy .all-30 { + width: 30%; + float: left; + clear: none; +} +html.no-flexbox .all-33, +html.no-flexboxlegacy .all-33 { + width: 33.33%; + float: left; + clear: none; +} +html.no-flexbox .all-35, +html.no-flexboxlegacy .all-35 { + width: 35%; + float: left; + clear: none; +} +html.no-flexbox .all-40, +html.no-flexboxlegacy .all-40 { + width: 40%; + float: left; + clear: none; +} +html.no-flexbox .all-45, +html.no-flexboxlegacy .all-45 { + width: 45%; + float: left; + clear: none; +} +html.no-flexbox .all-50, +html.no-flexboxlegacy .all-50 { + width: 50%; + float: left; + clear: none; +} +html.no-flexbox .all-55, +html.no-flexboxlegacy .all-55 { + width: 55%; + float: left; + clear: none; +} +html.no-flexbox .all-60, +html.no-flexboxlegacy .all-60 { + width: 60%; + float: left; + clear: none; +} +html.no-flexbox .all-65, +html.no-flexboxlegacy .all-65 { + width: 65%; + float: left; + clear: none; +} +html.no-flexbox .all-66, +html.no-flexboxlegacy .all-66 { + width: 66.66%; + float: left; + clear: none; +} +html.no-flexbox .all-70, +html.no-flexboxlegacy .all-70 { + width: 70%; + float: left; + clear: none; +} +html.no-flexbox .all-75, +html.no-flexboxlegacy .all-75 { + width: 75%; + float: left; + clear: none; +} +html.no-flexbox .all-80, +html.no-flexboxlegacy .all-80 { + width: 80%; + float: left; + clear: none; +} +html.no-flexbox .all-85, +html.no-flexboxlegacy .all-85 { + width: 85%; + float: left; + clear: none; +} +html.no-flexbox .all-90, +html.no-flexboxlegacy .all-90 { + width: 90%; + float: left; + clear: none; +} +html.no-flexbox .all-95, +html.no-flexboxlegacy .all-95 { + width: 95%; + float: left; + clear: none; +} +html.no-flexbox .all-100, +html.no-flexboxlegacy .all-100 { + width: 100%; + float: left; + clear: none; +} +html.no-flexbox [class~=all-100], +html.no-flexboxlegacy [class~=all-100] { + float: none; + clear: both; +} +@media screen and (min-width: 1261px) { + html.no-flexbox .ink-grid, + html.no-flexboxlegacy .ink-grid { + padding: 0 2em; + } + html.no-flexbox .column-group > [class*=xlarge-], + html.no-flexboxlegacy .column-group > [class*=xlarge-] { + float: left; + clear: none; + } + html.no-flexbox .xlarge-5, + html.no-flexboxlegacy .xlarge-5 { + width: 5%; + } + html.no-flexbox .xlarge-10, + html.no-flexboxlegacy .xlarge-10 { + width: 10%; + } + html.no-flexbox .xlarge-15, + html.no-flexboxlegacy .xlarge-15 { + width: 15%; + } + html.no-flexbox .xlarge-16, + html.no-flexboxlegacy .xlarge-16 { + width: 16.66%; + } + html.no-flexbox .xlarge-20, + html.no-flexboxlegacy .xlarge-20 { + width: 20%; + } + html.no-flexbox .xlarge-25, + html.no-flexboxlegacy .xlarge-25 { + width: 25%; + } + html.no-flexbox .xlarge-30, + html.no-flexboxlegacy .xlarge-30 { + width: 30%; + } + html.no-flexbox .xlarge-33, + html.no-flexboxlegacy .xlarge-33 { + width: 33.33%; + } + html.no-flexbox .xlarge-35, + html.no-flexboxlegacy .xlarge-35 { + width: 35%; + } + html.no-flexbox .xlarge-40, + html.no-flexboxlegacy .xlarge-40 { + width: 40%; + } + html.no-flexbox .xlarge-45, + html.no-flexboxlegacy .xlarge-45 { + width: 45%; + } + html.no-flexbox .xlarge-50, + html.no-flexboxlegacy .xlarge-50 { + width: 50%; + } + html.no-flexbox .xlarge-55, + html.no-flexboxlegacy .xlarge-55 { + width: 55%; + } + html.no-flexbox .xlarge-60, + html.no-flexboxlegacy .xlarge-60 { + width: 60%; + } + html.no-flexbox .xlarge-65, + html.no-flexboxlegacy .xlarge-65 { + width: 65%; + } + html.no-flexbox .xlarge-66, + html.no-flexboxlegacy .xlarge-66 { + width: 66.66%; + } + html.no-flexbox .xlarge-70, + html.no-flexboxlegacy .xlarge-70 { + width: 70%; + } + html.no-flexbox .xlarge-75, + html.no-flexboxlegacy .xlarge-75 { + width: 75%; + } + html.no-flexbox .xlarge-80, + html.no-flexboxlegacy .xlarge-80 { + width: 80%; + } + html.no-flexbox .xlarge-85, + html.no-flexboxlegacy .xlarge-85 { + width: 85%; + } + html.no-flexbox .xlarge-90, + html.no-flexboxlegacy .xlarge-90 { + width: 90%; + } + html.no-flexbox .xlarge-95, + html.no-flexboxlegacy .xlarge-95 { + width: 95%; + } + html.no-flexbox .xlarge-100, + html.no-flexboxlegacy .xlarge-100 { + width: 100%; + } + html.no-flexbox [class*=xlarge-100], + html.no-flexboxlegacy [class*=xlarge-100] { + float: none; + clear: both; + } + html.no-flexbox .column-group, + html.no-flexboxlegacy .column-group { + *zoom: 1; + } + html.no-flexbox .column-group:after, + html.no-flexboxlegacy .column-group:after { + content: ""; + display: table; + clear: both; + } + html.no-flexbox .column-group.gutters, + html.no-flexboxlegacy .column-group.gutters { + margin-left: -2em; + } + html.no-flexbox .column-group.gutters > [class*=xlarge-], html.no-flexbox .column-group.gutters > [class*=all-], + html.no-flexboxlegacy .column-group.gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.gutters > [class*=all-] { + padding-left: 2em; + margin-bottom: 2em; + } + html.no-flexbox .column-group.horizontal-gutters, + html.no-flexboxlegacy .column-group.horizontal-gutters { + margin-left: -2em; + } + html.no-flexbox .column-group.horizontal-gutters > [class*=xlarge-], html.no-flexbox .column-group.horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.horizontal-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.horizontal-gutters > [class*=all-] { + padding-left: 2em; + } + html.no-flexbox .column-group.vertical-gutters > [class*=xlarge-], html.no-flexbox .column-group.vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.vertical-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.vertical-gutters > [class*=all-] { + margin-bottom: 2em; + } + html.no-flexbox .column-group.double-gutters, + html.no-flexboxlegacy .column-group.double-gutters { + margin-left: -4em; + } + html.no-flexbox .column-group.double-gutters > [class*=xlarge-], html.no-flexbox .column-group.double-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.double-gutters > [class*=all-] { + padding-left: 4em; + margin-bottom: 4em; + } + html.no-flexbox .column-group.double-horizontal-gutters, + html.no-flexboxlegacy .column-group.double-horizontal-gutters { + margin-left: -4em; + } + html.no-flexbox .column-group.double-horizontal-gutters > [class*=xlarge-], html.no-flexbox .column-group.double-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-horizontal-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.double-horizontal-gutters > [class*=all-] { + padding-left: 4em; + } + html.no-flexbox .column-group.double-vertical-gutters > [class*=xlarge-], html.no-flexbox .column-group.double-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-vertical-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.double-vertical-gutters > [class*=all-] { + margin-bottom: 4em; + } + html.no-flexbox .column-group.half-gutters, + html.no-flexboxlegacy .column-group.half-gutters { + margin-left: -1em; + } + html.no-flexbox .column-group.half-gutters > [class*=xlarge-], html.no-flexbox .column-group.half-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.half-gutters > [class*=all-] { + padding-left: 1em; + margin-bottom: 1em; + } + html.no-flexbox .column-group.half-horizontal-gutters, + html.no-flexboxlegacy .column-group.half-horizontal-gutters { + margin-left: -1em; + } + html.no-flexbox .column-group.half-horizontal-gutters > [class*=xlarge-], html.no-flexbox .column-group.half-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-horizontal-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.half-horizontal-gutters > [class*=all-] { + padding-left: 1em; + } + html.no-flexbox .column-group.half-vertical-gutters > [class*=xlarge-], html.no-flexbox .column-group.half-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-vertical-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.half-vertical-gutters > [class*=all-] { + margin-bottom: 1em; + } + html.no-flexbox .column-group.quarter-gutters, + html.no-flexboxlegacy .column-group.quarter-gutters { + margin-left: -0.5em; + } + html.no-flexbox .column-group.quarter-gutters > [class*=xlarge-], html.no-flexbox .column-group.quarter-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.quarter-gutters > [class*=all-] { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + html.no-flexbox .column-group.quarter-horizontal-gutters, + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters { + margin-left: -0.5em; + } + html.no-flexbox .column-group.quarter-horizontal-gutters > [class*=xlarge-], html.no-flexbox .column-group.quarter-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.5em; + } + html.no-flexbox .column-group.quarter-vertical-gutters > [class*=xlarge-], html.no-flexbox .column-group.quarter-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-vertical-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.5em; + } + html.no-flexbox .column-group.xlarge-gutters, + html.no-flexboxlegacy .column-group.xlarge-gutters { + margin-left: -2em; + } + html.no-flexbox .column-group.xlarge-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-gutters > [class*=all-] { + padding-left: 2em; + margin-bottom: 2em; + } + html.no-flexbox .column-group.xlarge-horizontal-gutters, + html.no-flexboxlegacy .column-group.xlarge-horizontal-gutters { + margin-left: -2em; + } + html.no-flexbox .column-group.xlarge-horizontal-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-horizontal-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-horizontal-gutters > [class*=all-] { + padding-left: 2em; + } + html.no-flexbox .column-group.xlarge-vertical-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-vertical-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-vertical-gutters > [class*=all-] { + margin-bottom: 2em; + } + html.no-flexbox .column-group.xlarge-double-gutters, + html.no-flexboxlegacy .column-group.xlarge-double-gutters { + margin-left: -4em; + } + html.no-flexbox .column-group.xlarge-double-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-double-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-double-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-double-gutters > [class*=all-] { + padding-left: 4em; + margin-bottom: 4em; + } + html.no-flexbox .column-group.xlarge-double-horizontal-gutters, + html.no-flexboxlegacy .column-group.xlarge-double-horizontal-gutters { + margin-left: -4em; + } + html.no-flexbox .column-group.xlarge-double-horizontal-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-double-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-double-horizontal-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-double-horizontal-gutters > [class*=all-] { + padding-left: 4em; + } + html.no-flexbox .column-group.xlarge-double-vertical-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-double-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-double-vertical-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-double-vertical-gutters > [class*=all-] { + margin-bottom: 4em; + } + html.no-flexbox .column-group.xlarge-half-gutters, + html.no-flexboxlegacy .column-group.xlarge-half-gutters { + margin-left: -1em; + } + html.no-flexbox .column-group.xlarge-half-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-half-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-half-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-half-gutters > [class*=all-] { + padding-left: 1em; + margin-bottom: 1em; + } + html.no-flexbox .column-group.xlarge-half-horizontal-gutters, + html.no-flexboxlegacy .column-group.xlarge-half-horizontal-gutters { + margin-left: -1em; + } + html.no-flexbox .column-group.xlarge-half-horizontal-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-half-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-half-horizontal-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-half-horizontal-gutters > [class*=all-] { + padding-left: 1em; + } + html.no-flexbox .column-group.xlarge-half-vertical-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-half-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-half-vertical-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-half-vertical-gutters > [class*=all-] { + margin-bottom: 1em; + } + html.no-flexbox .column-group.xlarge-quarter-gutters, + html.no-flexboxlegacy .column-group.xlarge-quarter-gutters { + margin-left: -0.5em; + } + html.no-flexbox .column-group.xlarge-quarter-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-quarter-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-quarter-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-quarter-gutters > [class*=all-] { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + html.no-flexbox .column-group.xlarge-quarter-horizontal-gutters, + html.no-flexboxlegacy .column-group.xlarge-quarter-horizontal-gutters { + margin-left: -0.5em; + } + html.no-flexbox .column-group.xlarge-quarter-horizontal-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-quarter-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-quarter-horizontal-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.5em; + } + html.no-flexbox .column-group.xlarge-quarter-vertical-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-quarter-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-quarter-vertical-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.5em; + } + html.no-flexbox .column-group.xlarge-no-gutters, + html.no-flexboxlegacy .column-group.xlarge-no-gutters { + margin-left: 0; + } + html.no-flexbox .column-group.xlarge-no-gutters > [class*=xlarge-], html.no-flexbox .column-group.xlarge-no-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.xlarge-no-gutters > [class*=xlarge-], + html.no-flexboxlegacy .column-group.xlarge-no-gutters > [class*=all-] { + padding-left: 0; + margin-bottom: 0; + } + html.no-flexbox .ink-table td[class*=xlarge-], html.no-flexbox .ink-table th[class*=xlarge-], html.no-flexbox .ink-table tr[class*=xlarge-], html.no-flexbox .ink-table thead[class*=xlarge-], html.no-flexbox .ink-table tbody[class*=xlarge-], html.no-flexbox .ink-table tfoot[class*=xlarge-], + html.no-flexboxlegacy .ink-table td[class*=xlarge-], + html.no-flexboxlegacy .ink-table th[class*=xlarge-], + html.no-flexboxlegacy .ink-table tr[class*=xlarge-], + html.no-flexboxlegacy .ink-table thead[class*=xlarge-], + html.no-flexboxlegacy .ink-table tbody[class*=xlarge-], + html.no-flexboxlegacy .ink-table tfoot[class*=xlarge-] { + float: none; + } + html.no-flexbox .xlarge-push-left, + html.no-flexboxlegacy .xlarge-push-left { + float: left; + } + html.no-flexbox .xlarge-push-center, + html.no-flexboxlegacy .xlarge-push-center { + float: none; + margin-left: auto; + margin-right: auto; + } + html.no-flexbox .xlarge-push-right, + html.no-flexboxlegacy .xlarge-push-right { + float: right; + } + html.no-flexbox .xlarge-align-left, + html.no-flexboxlegacy .xlarge-align-left { + text-align: left; + } + html.no-flexbox .xlarge-align-center, + html.no-flexboxlegacy .xlarge-align-center { + text-align: center; + } + html.no-flexbox .xlarge-align-right, + html.no-flexboxlegacy .xlarge-align-right { + text-align: right; + } + html.no-flexbox .xlarge-no-margin, + html.no-flexboxlegacy .xlarge-no-margin { + margin: 0 !important; + } + html.no-flexbox .space, + html.no-flexboxlegacy .space { + margin: 2em; + } + html.no-flexbox .xlarge-space, + html.no-flexboxlegacy .xlarge-space { + margin: 2em; + } + html.no-flexbox .padding, + html.no-flexboxlegacy .padding { + padding: 2em; + } + html.no-flexbox .xlarge-padding, + html.no-flexboxlegacy .xlarge-padding { + padding: 2em; + } + html.no-flexbox .double-space, + html.no-flexboxlegacy .double-space { + margin: 4em; + } + html.no-flexbox .xlarge-double-space, + html.no-flexboxlegacy .xlarge-double-space { + margin: 4em; + } + html.no-flexbox .double-padding, + html.no-flexboxlegacy .double-padding { + padding: 4em; + } + html.no-flexbox .xlarge-double-padding, + html.no-flexboxlegacy .xlarge-double-padding { + padding: 4em; + } + html.no-flexbox .half-space, + html.no-flexboxlegacy .half-space { + margin: 1em; + } + html.no-flexbox .xlarge-half-space, + html.no-flexboxlegacy .xlarge-half-space { + margin: 1em; + } + html.no-flexbox .half-padding, + html.no-flexboxlegacy .half-padding { + padding: 1em; + } + html.no-flexbox .xlarge-half-padding, + html.no-flexboxlegacy .xlarge-half-padding { + padding: 1em; + } + html.no-flexbox .quarter-space, + html.no-flexboxlegacy .quarter-space { + margin: 0.5em; + } + html.no-flexbox .xlarge-quarter-space, + html.no-flexboxlegacy .xlarge-quarter-space { + margin: 0.5em; + } + html.no-flexbox .quarter-padding, + html.no-flexboxlegacy .quarter-padding { + padding: 0.5em; + } + html.no-flexbox .xlarge-quarter-padding, + html.no-flexboxlegacy .xlarge-quarter-padding { + padding: 0.5em; + } + html.no-flexbox .vertical-space, + html.no-flexboxlegacy .vertical-space { + margin-top: 2em; + margin-bottom: 2em; + } + html.no-flexbox .xlarge-vertical-space, + html.no-flexboxlegacy .xlarge-vertical-space { + margin-top: 2em; + margin-bottom: 2em; + } + html.no-flexbox .vertical-padding, + html.no-flexboxlegacy .vertical-padding { + padding-top: 2em; + padding-bottom: 2em; + } + html.no-flexbox .xlarge-vertical-padding, + html.no-flexboxlegacy .xlarge-vertical-padding { + padding-top: 2em; + padding-bottom: 2em; + } + html.no-flexbox .double-vertical-space, + html.no-flexboxlegacy .double-vertical-space { + margin-top: 4em; + margin-bottom: 4em; + } + html.no-flexbox .xlarge-double-vertical-space, + html.no-flexboxlegacy .xlarge-double-vertical-space { + margin-top: 4em; + margin-bottom: 4em; + } + html.no-flexbox .double-vertical-padding, + html.no-flexboxlegacy .double-vertical-padding { + padding-top: 4em; + padding-bottom: 4em; + } + html.no-flexbox .xlarge-double-vertical-padding, + html.no-flexboxlegacy .xlarge-double-vertical-padding { + padding-top: 4em; + padding-bottom: 4em; + } + html.no-flexbox .half-vertical-space, + html.no-flexboxlegacy .half-vertical-space { + margin-top: 1em; + margin-bottom: 1em; + } + html.no-flexbox .xlarge-half-vertical-space, + html.no-flexboxlegacy .xlarge-half-vertical-space { + margin-top: 1em; + margin-bottom: 1em; + } + html.no-flexbox .half-vertical-padding, + html.no-flexboxlegacy .half-vertical-padding { + padding-top: 1em; + padding-bottom: 1em; + } + html.no-flexbox .xlarge-half-vertical-padding, + html.no-flexboxlegacy .xlarge-half-vertical-padding { + padding-top: 1em; + padding-bottom: 1em; + } + html.no-flexbox .quarter-vertical-space, + html.no-flexboxlegacy .quarter-vertical-space { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + html.no-flexbox .xlarge-quarter-vertical-space, + html.no-flexboxlegacy .xlarge-quarter-vertical-space { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + html.no-flexbox .quarter-vertical-padding, + html.no-flexboxlegacy .quarter-vertical-padding { + padding-top: 0.5em; + padding-bottom: 0.5em; + } + html.no-flexbox .xlarge-quarter-vertical-padding, + html.no-flexboxlegacy .xlarge-quarter-vertical-padding { + padding-top: 0.5em; + padding-bottom: 0.5em; + } + html.no-flexbox .horizontal-space, + html.no-flexboxlegacy .horizontal-space { + margin-left: 2em; + margin-right: 2em; + } + html.no-flexbox .xlarge-horizontal-space, + html.no-flexboxlegacy .xlarge-horizontal-space { + margin-left: 2em; + margin-right: 2em; + } + html.no-flexbox .horizontal-padding, + html.no-flexboxlegacy .horizontal-padding { + padding-left: 2em; + padding-right: 2em; + } + html.no-flexbox .xlarge-horizontal-padding, + html.no-flexboxlegacy .xlarge-horizontal-padding { + padding-left: 2em; + padding-right: 2em; + } + html.no-flexbox .double-horizontal-space, + html.no-flexboxlegacy .double-horizontal-space { + margin-left: 4em; + margin-right: 4em; + } + html.no-flexbox .xlarge-double-horizontal-space, + html.no-flexboxlegacy .xlarge-double-horizontal-space { + margin-left: 4em; + margin-right: 4em; + } + html.no-flexbox .double-horizontal-padding, + html.no-flexboxlegacy .double-horizontal-padding { + padding-left: 4em; + padding-right: 4em; + } + html.no-flexbox .xlarge-double-horizontal-padding, + html.no-flexboxlegacy .xlarge-double-horizontal-padding { + padding-left: 4em; + padding-right: 4em; + } + html.no-flexbox .half-horizontal-space, + html.no-flexboxlegacy .half-horizontal-space { + margin-left: 1em; + margin-right: 1em; + } + html.no-flexbox .xlarge-half-horizontal-space, + html.no-flexboxlegacy .xlarge-half-horizontal-space { + margin-left: 1em; + margin-right: 1em; + } + html.no-flexbox .half-horizontal-padding, + html.no-flexboxlegacy .half-horizontal-padding { + padding-left: 1em; + padding-right: 1em; + } + html.no-flexbox .xlarge-half-horizontal-padding, + html.no-flexboxlegacy .xlarge-half-horizontal-padding { + padding-left: 1em; + padding-right: 1em; + } + html.no-flexbox .quarter-horizontal-space, + html.no-flexboxlegacy .quarter-horizontal-space { + margin-left: 0.5em; + margin-right: 0.5em; + } + html.no-flexbox .xlarge-quarter-horizontal-space, + html.no-flexboxlegacy .xlarge-quarter-horizontal-space { + margin-left: 0.5em; + margin-right: 0.5em; + } + html.no-flexbox .quarter-horizontal-padding, + html.no-flexboxlegacy .quarter-horizontal-padding { + padding-left: 0.5em; + padding-right: 0.5em; + } + html.no-flexbox .xlarge-quarter-horizontal-padding, + html.no-flexboxlegacy .xlarge-quarter-horizontal-padding { + padding-left: 0.5em; + padding-right: 0.5em; + } + html.no-flexbox .top-space, + html.no-flexboxlegacy .top-space { + margin-top: 2em; + } + html.no-flexbox .xlarge-top-space, + html.no-flexboxlegacy .xlarge-top-space { + margin-top: 2em; + } + html.no-flexbox .top-padding, + html.no-flexboxlegacy .top-padding { + padding-top: 2em; + } + html.no-flexbox .xlarge-top-padding, + html.no-flexboxlegacy .xlarge-top-padding { + padding-top: 2em; + } + html.no-flexbox .double-top-space, + html.no-flexboxlegacy .double-top-space { + margin-top: 4em; + } + html.no-flexbox .xlarge-double-top-space, + html.no-flexboxlegacy .xlarge-double-top-space { + margin-top: 4em; + } + html.no-flexbox .double-top-padding, + html.no-flexboxlegacy .double-top-padding { + padding-top: 4em; + } + html.no-flexbox .xlarge-double-top-padding, + html.no-flexboxlegacy .xlarge-double-top-padding { + padding-top: 4em; + } + html.no-flexbox .half-top-space, + html.no-flexboxlegacy .half-top-space { + margin-top: 1em; + } + html.no-flexbox .xlarge-half-top-space, + html.no-flexboxlegacy .xlarge-half-top-space { + margin-top: 1em; + } + html.no-flexbox .half-top-padding, + html.no-flexboxlegacy .half-top-padding { + padding-top: 1em; + } + html.no-flexbox .xlarge-half-top-padding, + html.no-flexboxlegacy .xlarge-half-top-padding { + padding-top: 1em; + } + html.no-flexbox .quarter-top-space, + html.no-flexboxlegacy .quarter-top-space { + margin-top: 0.5em; + } + html.no-flexbox .xlarge-quarter-top-space, + html.no-flexboxlegacy .xlarge-quarter-top-space { + margin-top: 0.5em; + } + html.no-flexbox .quarter-top-padding, + html.no-flexboxlegacy .quarter-top-padding { + padding-top: 0.5em; + } + html.no-flexbox .xlarge-quarter-top-padding, + html.no-flexboxlegacy .xlarge-quarter-top-padding { + padding-top: 0.5em; + } + html.no-flexbox .right-space, + html.no-flexboxlegacy .right-space { + margin-right: 2em; + } + html.no-flexbox .xlarge-right-space, + html.no-flexboxlegacy .xlarge-right-space { + margin-right: 2em; + } + html.no-flexbox .right-padding, + html.no-flexboxlegacy .right-padding { + padding-right: 2em; + } + html.no-flexbox .xlarge-right-padding, + html.no-flexboxlegacy .xlarge-right-padding { + padding-right: 2em; + } + html.no-flexbox .double-right-space, + html.no-flexboxlegacy .double-right-space { + margin-right: 4em; + } + html.no-flexbox .xlarge-double-right-space, + html.no-flexboxlegacy .xlarge-double-right-space { + margin-right: 4em; + } + html.no-flexbox .double-right-padding, + html.no-flexboxlegacy .double-right-padding { + padding-right: 4em; + } + html.no-flexbox .xlarge-double-right-padding, + html.no-flexboxlegacy .xlarge-double-right-padding { + padding-right: 4em; + } + html.no-flexbox .half-right-space, + html.no-flexboxlegacy .half-right-space { + margin-right: 1em; + } + html.no-flexbox .xlarge-half-right-space, + html.no-flexboxlegacy .xlarge-half-right-space { + margin-right: 1em; + } + html.no-flexbox .half-right-padding, + html.no-flexboxlegacy .half-right-padding { + padding-right: 1em; + } + html.no-flexbox .xlarge-half-right-padding, + html.no-flexboxlegacy .xlarge-half-right-padding { + padding-right: 1em; + } + html.no-flexbox .quarter-right-space, + html.no-flexboxlegacy .quarter-right-space { + margin-right: 0.5em; + } + html.no-flexbox .xlarge-quarter-right-space, + html.no-flexboxlegacy .xlarge-quarter-right-space { + margin-right: 0.5em; + } + html.no-flexbox .quarter-right-padding, + html.no-flexboxlegacy .quarter-right-padding { + padding-right: 0.5em; + } + html.no-flexbox .xlarge-quarter-right-padding, + html.no-flexboxlegacy .xlarge-quarter-right-padding { + padding-right: 0.5em; + } + html.no-flexbox .bottom-space, + html.no-flexboxlegacy .bottom-space { + margin-bottom: 2em; + } + html.no-flexbox .xlarge-bottom-space, + html.no-flexboxlegacy .xlarge-bottom-space { + margin-bottom: 2em; + } + html.no-flexbox .bottom-padding, + html.no-flexboxlegacy .bottom-padding { + padding-bottom: 2em; + } + html.no-flexbox .xlarge-bottom-padding, + html.no-flexboxlegacy .xlarge-bottom-padding { + padding-bottom: 2em; + } + html.no-flexbox .double-bottom-space, + html.no-flexboxlegacy .double-bottom-space { + margin-bottom: 4em; + } + html.no-flexbox .xlarge-double-bottom-space, + html.no-flexboxlegacy .xlarge-double-bottom-space { + margin-bottom: 4em; + } + html.no-flexbox .double-bottom-padding, + html.no-flexboxlegacy .double-bottom-padding { + padding-bottom: 4em; + } + html.no-flexbox .xlarge-double-bottom-padding, + html.no-flexboxlegacy .xlarge-double-bottom-padding { + padding-bottom: 4em; + } + html.no-flexbox .half-bottom-space, + html.no-flexboxlegacy .half-bottom-space { + margin-bottom: 1em; + } + html.no-flexbox .xlarge-half-bottom-space, + html.no-flexboxlegacy .xlarge-half-bottom-space { + margin-bottom: 1em; + } + html.no-flexbox .half-bottom-padding, + html.no-flexboxlegacy .half-bottom-padding { + padding-bottom: 1em; + } + html.no-flexbox .xlarge-half-bottom-padding, + html.no-flexboxlegacy .xlarge-half-bottom-padding { + padding-bottom: 1em; + } + html.no-flexbox .quarter-bottom-space, + html.no-flexboxlegacy .quarter-bottom-space { + margin-bottom: 0.5em; + } + html.no-flexbox .xlarge-quarter-bottom-space, + html.no-flexboxlegacy .xlarge-quarter-bottom-space { + margin-bottom: 0.5em; + } + html.no-flexbox .quarter-bottom-padding, + html.no-flexboxlegacy .quarter-bottom-padding { + padding-bottom: 0.5em; + } + html.no-flexbox .xlarge-quarter-bottom-padding, + html.no-flexboxlegacy .xlarge-quarter-bottom-padding { + padding-bottom: 0.5em; + } + html.no-flexbox .left-space, + html.no-flexboxlegacy .left-space { + margin-left: 2em; + } + html.no-flexbox .xlarge-left-space, + html.no-flexboxlegacy .xlarge-left-space { + margin-left: 2em; + } + html.no-flexbox .left-padding, + html.no-flexboxlegacy .left-padding { + padding-left: 2em; + } + html.no-flexbox .xlarge-left-padding, + html.no-flexboxlegacy .xlarge-left-padding { + padding-left: 2em; + } + html.no-flexbox .double-left-space, + html.no-flexboxlegacy .double-left-space { + margin-left: 4em; + } + html.no-flexbox .xlarge-double-left-space, + html.no-flexboxlegacy .xlarge-double-left-space { + margin-left: 4em; + } + html.no-flexbox .double-left-padding, + html.no-flexboxlegacy .double-left-padding { + padding-left: 4em; + } + html.no-flexbox .xlarge-double-left-padding, + html.no-flexboxlegacy .xlarge-double-left-padding { + padding-left: 4em; + } + html.no-flexbox .half-left-space, + html.no-flexboxlegacy .half-left-space { + margin-left: 1em; + } + html.no-flexbox .xlarge-half-left-space, + html.no-flexboxlegacy .xlarge-half-left-space { + margin-left: 1em; + } + html.no-flexbox .half-left-padding, + html.no-flexboxlegacy .half-left-padding { + padding-left: 1em; + } + html.no-flexbox .xlarge-half-left-padding, + html.no-flexboxlegacy .xlarge-half-left-padding { + padding-left: 1em; + } + html.no-flexbox .quarter-left-space, + html.no-flexboxlegacy .quarter-left-space { + margin-left: 0.5em; + } + html.no-flexbox .xlarge-quarter-left-space, + html.no-flexboxlegacy .xlarge-quarter-left-space { + margin-left: 0.5em; + } + html.no-flexbox .quarter-left-padding, + html.no-flexboxlegacy .quarter-left-padding { + padding-left: 0.5em; + } + html.no-flexbox .xlarge-quarter-left-padding, + html.no-flexboxlegacy .xlarge-quarter-left-padding { + padding-left: 0.5em; + } + html.no-flexbox .hide-xlarge, + html.no-flexboxlegacy .hide-xlarge { + display: none !important; + } + html.no-flexbox .show-xlarge, + html.no-flexboxlegacy .show-xlarge { + display: inherit !important; + } + html.no-flexbox table.show-xlarge, + html.no-flexboxlegacy table.show-xlarge { + display: table; + } + html.no-flexbox thead.show-xlarge, + html.no-flexboxlegacy thead.show-xlarge { + display: table-header-group; + } + html.no-flexbox tbody.show-xlarge, + html.no-flexboxlegacy tbody.show-xlarge { + display: table-row-group; + } + html.no-flexbox tfoot.show-xlarge, + html.no-flexboxlegacy tfoot.show-xlarge { + display: table-footer-group; + } + html.no-flexbox tr.show-xlarge, + html.no-flexboxlegacy tr.show-xlarge { + display: table-row; + } + html.no-flexbox th.show-xlarge, + html.no-flexbox td.show-xlarge, + html.no-flexboxlegacy th.show-xlarge, + html.no-flexboxlegacy td.show-xlarge { + display: table-cell; + } +} +@media screen and (min-width: 961px) and (max-width: 1260px) { + html.no-flexbox .ink-grid, + html.no-flexboxlegacy .ink-grid { + padding: 0 1.75em; + } + html.no-flexbox .column-group > [class*=large-], + html.no-flexboxlegacy .column-group > [class*=large-] { + float: left; + clear: none; + } + html.no-flexbox .large-5, + html.no-flexboxlegacy .large-5 { + width: 5%; + } + html.no-flexbox .large-10, + html.no-flexboxlegacy .large-10 { + width: 10%; + } + html.no-flexbox .large-15, + html.no-flexboxlegacy .large-15 { + width: 15%; + } + html.no-flexbox .large-16, + html.no-flexboxlegacy .large-16 { + width: 16.66%; + } + html.no-flexbox .large-20, + html.no-flexboxlegacy .large-20 { + width: 20%; + } + html.no-flexbox .large-25, + html.no-flexboxlegacy .large-25 { + width: 25%; + } + html.no-flexbox .large-30, + html.no-flexboxlegacy .large-30 { + width: 30%; + } + html.no-flexbox .large-33, + html.no-flexboxlegacy .large-33 { + width: 33.33%; + } + html.no-flexbox .large-35, + html.no-flexboxlegacy .large-35 { + width: 35%; + } + html.no-flexbox .large-40, + html.no-flexboxlegacy .large-40 { + width: 40%; + } + html.no-flexbox .large-45, + html.no-flexboxlegacy .large-45 { + width: 45%; + } + html.no-flexbox .large-50, + html.no-flexboxlegacy .large-50 { + width: 50%; + } + html.no-flexbox .large-55, + html.no-flexboxlegacy .large-55 { + width: 55%; + } + html.no-flexbox .large-60, + html.no-flexboxlegacy .large-60 { + width: 60%; + } + html.no-flexbox .large-65, + html.no-flexboxlegacy .large-65 { + width: 65%; + } + html.no-flexbox .large-66, + html.no-flexboxlegacy .large-66 { + width: 66.66%; + } + html.no-flexbox .large-70, + html.no-flexboxlegacy .large-70 { + width: 70%; + } + html.no-flexbox .large-75, + html.no-flexboxlegacy .large-75 { + width: 75%; + } + html.no-flexbox .large-80, + html.no-flexboxlegacy .large-80 { + width: 80%; + } + html.no-flexbox .large-85, + html.no-flexboxlegacy .large-85 { + width: 85%; + } + html.no-flexbox .large-90, + html.no-flexboxlegacy .large-90 { + width: 90%; + } + html.no-flexbox .large-95, + html.no-flexboxlegacy .large-95 { + width: 95%; + } + html.no-flexbox .large-100, + html.no-flexboxlegacy .large-100 { + width: 100%; + } + html.no-flexbox [class*=large-100], + html.no-flexboxlegacy [class*=large-100] { + float: none; + clear: both; + } + html.no-flexbox .column-group, + html.no-flexboxlegacy .column-group { + *zoom: 1; + } + html.no-flexbox .column-group:after, + html.no-flexboxlegacy .column-group:after { + content: ""; + display: table; + clear: both; + } + html.no-flexbox .column-group.gutters, + html.no-flexboxlegacy .column-group.gutters { + margin-left: -1.75em; + } + html.no-flexbox .column-group.gutters > [class*=large-], html.no-flexbox .column-group.gutters > [class*=all-], + html.no-flexboxlegacy .column-group.gutters > [class*=large-], + html.no-flexboxlegacy .column-group.gutters > [class*=all-] { + padding-left: 1.75em; + margin-bottom: 1.75em; + } + html.no-flexbox .column-group.horizontal-gutters, + html.no-flexboxlegacy .column-group.horizontal-gutters { + margin-left: -1.75em; + } + html.no-flexbox .column-group.horizontal-gutters > [class*=large-], html.no-flexbox .column-group.horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.horizontal-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.horizontal-gutters > [class*=all-] { + padding-left: 1.75em; + } + html.no-flexbox .column-group.vertical-gutters > [class*=large-], html.no-flexbox .column-group.vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.vertical-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.vertical-gutters > [class*=all-] { + margin-bottom: 1.75em; + } + html.no-flexbox .column-group.double-gutters, + html.no-flexboxlegacy .column-group.double-gutters { + margin-left: -3.5em; + } + html.no-flexbox .column-group.double-gutters > [class*=large-], html.no-flexbox .column-group.double-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.double-gutters > [class*=all-] { + padding-left: 3.5em; + margin-bottom: 3.5em; + } + html.no-flexbox .column-group.double-horizontal-gutters, + html.no-flexboxlegacy .column-group.double-horizontal-gutters { + margin-left: -3.5em; + } + html.no-flexbox .column-group.double-horizontal-gutters > [class*=large-], html.no-flexbox .column-group.double-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-horizontal-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.double-horizontal-gutters > [class*=all-] { + padding-left: 3.5em; + } + html.no-flexbox .column-group.double-vertical-gutters > [class*=large-], html.no-flexbox .column-group.double-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-vertical-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.double-vertical-gutters > [class*=all-] { + margin-bottom: 3.5em; + } + html.no-flexbox .column-group.half-gutters, + html.no-flexboxlegacy .column-group.half-gutters { + margin-left: -0.875em; + } + html.no-flexbox .column-group.half-gutters > [class*=large-], html.no-flexbox .column-group.half-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.half-gutters > [class*=all-] { + padding-left: 0.875em; + margin-bottom: 0.875em; + } + html.no-flexbox .column-group.half-horizontal-gutters, + html.no-flexboxlegacy .column-group.half-horizontal-gutters { + margin-left: -0.875em; + } + html.no-flexbox .column-group.half-horizontal-gutters > [class*=large-], html.no-flexbox .column-group.half-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-horizontal-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.half-horizontal-gutters > [class*=all-] { + padding-left: 0.875em; + } + html.no-flexbox .column-group.half-vertical-gutters > [class*=large-], html.no-flexbox .column-group.half-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-vertical-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.half-vertical-gutters > [class*=all-] { + margin-bottom: 0.875em; + } + html.no-flexbox .column-group.quarter-gutters, + html.no-flexboxlegacy .column-group.quarter-gutters { + margin-left: -0.4375em; + } + html.no-flexbox .column-group.quarter-gutters > [class*=large-], html.no-flexbox .column-group.quarter-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.quarter-gutters > [class*=all-] { + padding-left: 0.4375em; + margin-bottom: 0.4375em; + } + html.no-flexbox .column-group.quarter-horizontal-gutters, + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters { + margin-left: -0.4375em; + } + html.no-flexbox .column-group.quarter-horizontal-gutters > [class*=large-], html.no-flexbox .column-group.quarter-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.4375em; + } + html.no-flexbox .column-group.quarter-vertical-gutters > [class*=large-], html.no-flexbox .column-group.quarter-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-vertical-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.4375em; + } + html.no-flexbox .column-group.large-gutters, + html.no-flexboxlegacy .column-group.large-gutters { + margin-left: -1.75em; + } + html.no-flexbox .column-group.large-gutters > [class*=large-], html.no-flexbox .column-group.large-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-gutters > [class*=all-] { + padding-left: 1.75em; + margin-bottom: 1.75em; + } + html.no-flexbox .column-group.large-horizontal-gutters, + html.no-flexboxlegacy .column-group.large-horizontal-gutters { + margin-left: -1.75em; + } + html.no-flexbox .column-group.large-horizontal-gutters > [class*=large-], html.no-flexbox .column-group.large-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-horizontal-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-horizontal-gutters > [class*=all-] { + padding-left: 1.75em; + } + html.no-flexbox .column-group.large-vertical-gutters > [class*=large-], html.no-flexbox .column-group.large-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-vertical-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-vertical-gutters > [class*=all-] { + margin-bottom: 1.75em; + } + html.no-flexbox .column-group.large-double-gutters, + html.no-flexboxlegacy .column-group.large-double-gutters { + margin-left: -3.5em; + } + html.no-flexbox .column-group.large-double-gutters > [class*=large-], html.no-flexbox .column-group.large-double-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-double-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-double-gutters > [class*=all-] { + padding-left: 3.5em; + margin-bottom: 3.5em; + } + html.no-flexbox .column-group.large-double-horizontal-gutters, + html.no-flexboxlegacy .column-group.large-double-horizontal-gutters { + margin-left: -3.5em; + } + html.no-flexbox .column-group.large-double-horizontal-gutters > [class*=large-], html.no-flexbox .column-group.large-double-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-double-horizontal-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-double-horizontal-gutters > [class*=all-] { + padding-left: 3.5em; + } + html.no-flexbox .column-group.large-double-vertical-gutters > [class*=large-], html.no-flexbox .column-group.large-double-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-double-vertical-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-double-vertical-gutters > [class*=all-] { + margin-bottom: 3.5em; + } + html.no-flexbox .column-group.large-half-gutters, + html.no-flexboxlegacy .column-group.large-half-gutters { + margin-left: -0.875em; + } + html.no-flexbox .column-group.large-half-gutters > [class*=large-], html.no-flexbox .column-group.large-half-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-half-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-half-gutters > [class*=all-] { + padding-left: 0.875em; + margin-bottom: 0.875em; + } + html.no-flexbox .column-group.large-half-horizontal-gutters, + html.no-flexboxlegacy .column-group.large-half-horizontal-gutters { + margin-left: -0.875em; + } + html.no-flexbox .column-group.large-half-horizontal-gutters > [class*=large-], html.no-flexbox .column-group.large-half-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-half-horizontal-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-half-horizontal-gutters > [class*=all-] { + padding-left: 0.875em; + } + html.no-flexbox .column-group.large-half-vertical-gutters > [class*=large-], html.no-flexbox .column-group.large-half-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-half-vertical-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-half-vertical-gutters > [class*=all-] { + margin-bottom: 0.875em; + } + html.no-flexbox .column-group.large-quarter-gutters, + html.no-flexboxlegacy .column-group.large-quarter-gutters { + margin-left: -0.4375em; + } + html.no-flexbox .column-group.large-quarter-gutters > [class*=large-], html.no-flexbox .column-group.large-quarter-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-quarter-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-quarter-gutters > [class*=all-] { + padding-left: 0.4375em; + margin-bottom: 0.4375em; + } + html.no-flexbox .column-group.large-quarter-horizontal-gutters, + html.no-flexboxlegacy .column-group.large-quarter-horizontal-gutters { + margin-left: -0.4375em; + } + html.no-flexbox .column-group.large-quarter-horizontal-gutters > [class*=large-], html.no-flexbox .column-group.large-quarter-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-quarter-horizontal-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.4375em; + } + html.no-flexbox .column-group.large-quarter-vertical-gutters > [class*=large-], html.no-flexbox .column-group.large-quarter-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-quarter-vertical-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.4375em; + } + html.no-flexbox .column-group.large-no-gutters, + html.no-flexboxlegacy .column-group.large-no-gutters { + margin-left: 0; + } + html.no-flexbox .column-group.large-no-gutters > [class*=large-], html.no-flexbox .column-group.large-no-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.large-no-gutters > [class*=large-], + html.no-flexboxlegacy .column-group.large-no-gutters > [class*=all-] { + padding-left: 0; + margin-bottom: 0; + } + html.no-flexbox .ink-table td[class*=large-], html.no-flexbox .ink-table th[class*=large-], html.no-flexbox .ink-table tr[class*=large-], html.no-flexbox .ink-table thead[class*=large-], html.no-flexbox .ink-table tbody[class*=large-], html.no-flexbox .ink-table tfoot[class*=large-], + html.no-flexboxlegacy .ink-table td[class*=large-], + html.no-flexboxlegacy .ink-table th[class*=large-], + html.no-flexboxlegacy .ink-table tr[class*=large-], + html.no-flexboxlegacy .ink-table thead[class*=large-], + html.no-flexboxlegacy .ink-table tbody[class*=large-], + html.no-flexboxlegacy .ink-table tfoot[class*=large-] { + float: none; + } + html.no-flexbox .large-push-left, + html.no-flexboxlegacy .large-push-left { + float: left; + } + html.no-flexbox .large-push-center, + html.no-flexboxlegacy .large-push-center { + float: none; + margin-left: auto; + margin-right: auto; + } + html.no-flexbox .large-push-right, + html.no-flexboxlegacy .large-push-right { + float: right; + } + html.no-flexbox .large-align-left, + html.no-flexboxlegacy .large-align-left { + text-align: left; + } + html.no-flexbox .large-align-center, + html.no-flexboxlegacy .large-align-center { + text-align: center; + } + html.no-flexbox .large-align-right, + html.no-flexboxlegacy .large-align-right { + text-align: right; + } + html.no-flexbox .large-no-margin, + html.no-flexboxlegacy .large-no-margin { + margin: 0 !important; + } + html.no-flexbox .space, + html.no-flexboxlegacy .space { + margin: 1.75em; + } + html.no-flexbox .large-space, + html.no-flexboxlegacy .large-space { + margin: 1.75em; + } + html.no-flexbox .padding, + html.no-flexboxlegacy .padding { + padding: 1.75em; + } + html.no-flexbox .large-padding, + html.no-flexboxlegacy .large-padding { + padding: 1.75em; + } + html.no-flexbox .double-space, + html.no-flexboxlegacy .double-space { + margin: 3.5em; + } + html.no-flexbox .large-double-space, + html.no-flexboxlegacy .large-double-space { + margin: 3.5em; + } + html.no-flexbox .double-padding, + html.no-flexboxlegacy .double-padding { + padding: 3.5em; + } + html.no-flexbox .large-double-padding, + html.no-flexboxlegacy .large-double-padding { + padding: 3.5em; + } + html.no-flexbox .half-space, + html.no-flexboxlegacy .half-space { + margin: 0.875em; + } + html.no-flexbox .large-half-space, + html.no-flexboxlegacy .large-half-space { + margin: 0.875em; + } + html.no-flexbox .half-padding, + html.no-flexboxlegacy .half-padding { + padding: 0.875em; + } + html.no-flexbox .large-half-padding, + html.no-flexboxlegacy .large-half-padding { + padding: 0.875em; + } + html.no-flexbox .quarter-space, + html.no-flexboxlegacy .quarter-space { + margin: 0.4375em; + } + html.no-flexbox .large-quarter-space, + html.no-flexboxlegacy .large-quarter-space { + margin: 0.4375em; + } + html.no-flexbox .quarter-padding, + html.no-flexboxlegacy .quarter-padding { + padding: 0.4375em; + } + html.no-flexbox .large-quarter-padding, + html.no-flexboxlegacy .large-quarter-padding { + padding: 0.4375em; + } + html.no-flexbox .vertical-space, + html.no-flexboxlegacy .vertical-space { + margin-top: 1.75em; + margin-bottom: 1.75em; + } + html.no-flexbox .large-vertical-space, + html.no-flexboxlegacy .large-vertical-space { + margin-top: 1.75em; + margin-bottom: 1.75em; + } + html.no-flexbox .vertical-padding, + html.no-flexboxlegacy .vertical-padding { + padding-top: 1.75em; + padding-bottom: 1.75em; + } + html.no-flexbox .large-vertical-padding, + html.no-flexboxlegacy .large-vertical-padding { + padding-top: 1.75em; + padding-bottom: 1.75em; + } + html.no-flexbox .double-vertical-space, + html.no-flexboxlegacy .double-vertical-space { + margin-top: 3.5em; + margin-bottom: 3.5em; + } + html.no-flexbox .large-double-vertical-space, + html.no-flexboxlegacy .large-double-vertical-space { + margin-top: 3.5em; + margin-bottom: 3.5em; + } + html.no-flexbox .double-vertical-padding, + html.no-flexboxlegacy .double-vertical-padding { + padding-top: 3.5em; + padding-bottom: 3.5em; + } + html.no-flexbox .large-double-vertical-padding, + html.no-flexboxlegacy .large-double-vertical-padding { + padding-top: 3.5em; + padding-bottom: 3.5em; + } + html.no-flexbox .half-vertical-space, + html.no-flexboxlegacy .half-vertical-space { + margin-top: 0.875em; + margin-bottom: 0.875em; + } + html.no-flexbox .large-half-vertical-space, + html.no-flexboxlegacy .large-half-vertical-space { + margin-top: 0.875em; + margin-bottom: 0.875em; + } + html.no-flexbox .half-vertical-padding, + html.no-flexboxlegacy .half-vertical-padding { + padding-top: 0.875em; + padding-bottom: 0.875em; + } + html.no-flexbox .large-half-vertical-padding, + html.no-flexboxlegacy .large-half-vertical-padding { + padding-top: 0.875em; + padding-bottom: 0.875em; + } + html.no-flexbox .quarter-vertical-space, + html.no-flexboxlegacy .quarter-vertical-space { + margin-top: 0.4375em; + margin-bottom: 0.4375em; + } + html.no-flexbox .large-quarter-vertical-space, + html.no-flexboxlegacy .large-quarter-vertical-space { + margin-top: 0.4375em; + margin-bottom: 0.4375em; + } + html.no-flexbox .quarter-vertical-padding, + html.no-flexboxlegacy .quarter-vertical-padding { + padding-top: 0.4375em; + padding-bottom: 0.4375em; + } + html.no-flexbox .large-quarter-vertical-padding, + html.no-flexboxlegacy .large-quarter-vertical-padding { + padding-top: 0.4375em; + padding-bottom: 0.4375em; + } + html.no-flexbox .horizontal-space, + html.no-flexboxlegacy .horizontal-space { + margin-left: 1.75em; + margin-right: 1.75em; + } + html.no-flexbox .large-horizontal-space, + html.no-flexboxlegacy .large-horizontal-space { + margin-left: 1.75em; + margin-right: 1.75em; + } + html.no-flexbox .horizontal-padding, + html.no-flexboxlegacy .horizontal-padding { + padding-left: 1.75em; + padding-right: 1.75em; + } + html.no-flexbox .large-horizontal-padding, + html.no-flexboxlegacy .large-horizontal-padding { + padding-left: 1.75em; + padding-right: 1.75em; + } + html.no-flexbox .double-horizontal-space, + html.no-flexboxlegacy .double-horizontal-space { + margin-left: 3.5em; + margin-right: 3.5em; + } + html.no-flexbox .large-double-horizontal-space, + html.no-flexboxlegacy .large-double-horizontal-space { + margin-left: 3.5em; + margin-right: 3.5em; + } + html.no-flexbox .double-horizontal-padding, + html.no-flexboxlegacy .double-horizontal-padding { + padding-left: 3.5em; + padding-right: 3.5em; + } + html.no-flexbox .large-double-horizontal-padding, + html.no-flexboxlegacy .large-double-horizontal-padding { + padding-left: 3.5em; + padding-right: 3.5em; + } + html.no-flexbox .half-horizontal-space, + html.no-flexboxlegacy .half-horizontal-space { + margin-left: 0.875em; + margin-right: 0.875em; + } + html.no-flexbox .large-half-horizontal-space, + html.no-flexboxlegacy .large-half-horizontal-space { + margin-left: 0.875em; + margin-right: 0.875em; + } + html.no-flexbox .half-horizontal-padding, + html.no-flexboxlegacy .half-horizontal-padding { + padding-left: 0.875em; + padding-right: 0.875em; + } + html.no-flexbox .large-half-horizontal-padding, + html.no-flexboxlegacy .large-half-horizontal-padding { + padding-left: 0.875em; + padding-right: 0.875em; + } + html.no-flexbox .quarter-horizontal-space, + html.no-flexboxlegacy .quarter-horizontal-space { + margin-left: 0.4375em; + margin-right: 0.4375em; + } + html.no-flexbox .large-quarter-horizontal-space, + html.no-flexboxlegacy .large-quarter-horizontal-space { + margin-left: 0.4375em; + margin-right: 0.4375em; + } + html.no-flexbox .quarter-horizontal-padding, + html.no-flexboxlegacy .quarter-horizontal-padding { + padding-left: 0.4375em; + padding-right: 0.4375em; + } + html.no-flexbox .large-quarter-horizontal-padding, + html.no-flexboxlegacy .large-quarter-horizontal-padding { + padding-left: 0.4375em; + padding-right: 0.4375em; + } + html.no-flexbox .top-space, + html.no-flexboxlegacy .top-space { + margin-top: 1.75em; + } + html.no-flexbox .large-top-space, + html.no-flexboxlegacy .large-top-space { + margin-top: 1.75em; + } + html.no-flexbox .top-padding, + html.no-flexboxlegacy .top-padding { + padding-top: 1.75em; + } + html.no-flexbox .large-top-padding, + html.no-flexboxlegacy .large-top-padding { + padding-top: 1.75em; + } + html.no-flexbox .double-top-space, + html.no-flexboxlegacy .double-top-space { + margin-top: 3.5em; + } + html.no-flexbox .large-double-top-space, + html.no-flexboxlegacy .large-double-top-space { + margin-top: 3.5em; + } + html.no-flexbox .double-top-padding, + html.no-flexboxlegacy .double-top-padding { + padding-top: 3.5em; + } + html.no-flexbox .large-double-top-padding, + html.no-flexboxlegacy .large-double-top-padding { + padding-top: 3.5em; + } + html.no-flexbox .half-top-space, + html.no-flexboxlegacy .half-top-space { + margin-top: 0.875em; + } + html.no-flexbox .large-half-top-space, + html.no-flexboxlegacy .large-half-top-space { + margin-top: 0.875em; + } + html.no-flexbox .half-top-padding, + html.no-flexboxlegacy .half-top-padding { + padding-top: 0.875em; + } + html.no-flexbox .large-half-top-padding, + html.no-flexboxlegacy .large-half-top-padding { + padding-top: 0.875em; + } + html.no-flexbox .quarter-top-space, + html.no-flexboxlegacy .quarter-top-space { + margin-top: 0.4375em; + } + html.no-flexbox .large-quarter-top-space, + html.no-flexboxlegacy .large-quarter-top-space { + margin-top: 0.4375em; + } + html.no-flexbox .quarter-top-padding, + html.no-flexboxlegacy .quarter-top-padding { + padding-top: 0.4375em; + } + html.no-flexbox .large-quarter-top-padding, + html.no-flexboxlegacy .large-quarter-top-padding { + padding-top: 0.4375em; + } + html.no-flexbox .right-space, + html.no-flexboxlegacy .right-space { + margin-right: 1.75em; + } + html.no-flexbox .large-right-space, + html.no-flexboxlegacy .large-right-space { + margin-right: 1.75em; + } + html.no-flexbox .right-padding, + html.no-flexboxlegacy .right-padding { + padding-right: 1.75em; + } + html.no-flexbox .large-right-padding, + html.no-flexboxlegacy .large-right-padding { + padding-right: 1.75em; + } + html.no-flexbox .double-right-space, + html.no-flexboxlegacy .double-right-space { + margin-right: 3.5em; + } + html.no-flexbox .large-double-right-space, + html.no-flexboxlegacy .large-double-right-space { + margin-right: 3.5em; + } + html.no-flexbox .double-right-padding, + html.no-flexboxlegacy .double-right-padding { + padding-right: 3.5em; + } + html.no-flexbox .large-double-right-padding, + html.no-flexboxlegacy .large-double-right-padding { + padding-right: 3.5em; + } + html.no-flexbox .half-right-space, + html.no-flexboxlegacy .half-right-space { + margin-right: 0.875em; + } + html.no-flexbox .large-half-right-space, + html.no-flexboxlegacy .large-half-right-space { + margin-right: 0.875em; + } + html.no-flexbox .half-right-padding, + html.no-flexboxlegacy .half-right-padding { + padding-right: 0.875em; + } + html.no-flexbox .large-half-right-padding, + html.no-flexboxlegacy .large-half-right-padding { + padding-right: 0.875em; + } + html.no-flexbox .quarter-right-space, + html.no-flexboxlegacy .quarter-right-space { + margin-right: 0.4375em; + } + html.no-flexbox .large-quarter-right-space, + html.no-flexboxlegacy .large-quarter-right-space { + margin-right: 0.4375em; + } + html.no-flexbox .quarter-right-padding, + html.no-flexboxlegacy .quarter-right-padding { + padding-right: 0.4375em; + } + html.no-flexbox .large-quarter-right-padding, + html.no-flexboxlegacy .large-quarter-right-padding { + padding-right: 0.4375em; + } + html.no-flexbox .bottom-space, + html.no-flexboxlegacy .bottom-space { + margin-bottom: 1.75em; + } + html.no-flexbox .large-bottom-space, + html.no-flexboxlegacy .large-bottom-space { + margin-bottom: 1.75em; + } + html.no-flexbox .bottom-padding, + html.no-flexboxlegacy .bottom-padding { + padding-bottom: 1.75em; + } + html.no-flexbox .large-bottom-padding, + html.no-flexboxlegacy .large-bottom-padding { + padding-bottom: 1.75em; + } + html.no-flexbox .double-bottom-space, + html.no-flexboxlegacy .double-bottom-space { + margin-bottom: 3.5em; + } + html.no-flexbox .large-double-bottom-space, + html.no-flexboxlegacy .large-double-bottom-space { + margin-bottom: 3.5em; + } + html.no-flexbox .double-bottom-padding, + html.no-flexboxlegacy .double-bottom-padding { + padding-bottom: 3.5em; + } + html.no-flexbox .large-double-bottom-padding, + html.no-flexboxlegacy .large-double-bottom-padding { + padding-bottom: 3.5em; + } + html.no-flexbox .half-bottom-space, + html.no-flexboxlegacy .half-bottom-space { + margin-bottom: 0.875em; + } + html.no-flexbox .large-half-bottom-space, + html.no-flexboxlegacy .large-half-bottom-space { + margin-bottom: 0.875em; + } + html.no-flexbox .half-bottom-padding, + html.no-flexboxlegacy .half-bottom-padding { + padding-bottom: 0.875em; + } + html.no-flexbox .large-half-bottom-padding, + html.no-flexboxlegacy .large-half-bottom-padding { + padding-bottom: 0.875em; + } + html.no-flexbox .quarter-bottom-space, + html.no-flexboxlegacy .quarter-bottom-space { + margin-bottom: 0.4375em; + } + html.no-flexbox .large-quarter-bottom-space, + html.no-flexboxlegacy .large-quarter-bottom-space { + margin-bottom: 0.4375em; + } + html.no-flexbox .quarter-bottom-padding, + html.no-flexboxlegacy .quarter-bottom-padding { + padding-bottom: 0.4375em; + } + html.no-flexbox .large-quarter-bottom-padding, + html.no-flexboxlegacy .large-quarter-bottom-padding { + padding-bottom: 0.4375em; + } + html.no-flexbox .left-space, + html.no-flexboxlegacy .left-space { + margin-left: 1.75em; + } + html.no-flexbox .large-left-space, + html.no-flexboxlegacy .large-left-space { + margin-left: 1.75em; + } + html.no-flexbox .left-padding, + html.no-flexboxlegacy .left-padding { + padding-left: 1.75em; + } + html.no-flexbox .large-left-padding, + html.no-flexboxlegacy .large-left-padding { + padding-left: 1.75em; + } + html.no-flexbox .double-left-space, + html.no-flexboxlegacy .double-left-space { + margin-left: 3.5em; + } + html.no-flexbox .large-double-left-space, + html.no-flexboxlegacy .large-double-left-space { + margin-left: 3.5em; + } + html.no-flexbox .double-left-padding, + html.no-flexboxlegacy .double-left-padding { + padding-left: 3.5em; + } + html.no-flexbox .large-double-left-padding, + html.no-flexboxlegacy .large-double-left-padding { + padding-left: 3.5em; + } + html.no-flexbox .half-left-space, + html.no-flexboxlegacy .half-left-space { + margin-left: 0.875em; + } + html.no-flexbox .large-half-left-space, + html.no-flexboxlegacy .large-half-left-space { + margin-left: 0.875em; + } + html.no-flexbox .half-left-padding, + html.no-flexboxlegacy .half-left-padding { + padding-left: 0.875em; + } + html.no-flexbox .large-half-left-padding, + html.no-flexboxlegacy .large-half-left-padding { + padding-left: 0.875em; + } + html.no-flexbox .quarter-left-space, + html.no-flexboxlegacy .quarter-left-space { + margin-left: 0.4375em; + } + html.no-flexbox .large-quarter-left-space, + html.no-flexboxlegacy .large-quarter-left-space { + margin-left: 0.4375em; + } + html.no-flexbox .quarter-left-padding, + html.no-flexboxlegacy .quarter-left-padding { + padding-left: 0.4375em; + } + html.no-flexbox .large-quarter-left-padding, + html.no-flexboxlegacy .large-quarter-left-padding { + padding-left: 0.4375em; + } + html.no-flexbox .hide-large, + html.no-flexboxlegacy .hide-large { + display: none !important; + } + html.no-flexbox .show-large, + html.no-flexboxlegacy .show-large { + display: inherit !important; + } + html.no-flexbox table.show-large, + html.no-flexboxlegacy table.show-large { + display: table; + } + html.no-flexbox thead.show-large, + html.no-flexboxlegacy thead.show-large { + display: table-header-group; + } + html.no-flexbox tbody.show-large, + html.no-flexboxlegacy tbody.show-large { + display: table-row-group; + } + html.no-flexbox tfoot.show-large, + html.no-flexboxlegacy tfoot.show-large { + display: table-footer-group; + } + html.no-flexbox tr.show-large, + html.no-flexboxlegacy tr.show-large { + display: table-row; + } + html.no-flexbox th.show-large, + html.no-flexbox td.show-large, + html.no-flexboxlegacy th.show-large, + html.no-flexboxlegacy td.show-large { + display: table-cell; + } +} +@media screen and (min-width: 641px) and (max-width: 960px) { + html.no-flexbox .ink-grid, + html.no-flexboxlegacy .ink-grid { + padding: 0 1.5em; + } + html.no-flexbox .column-group > [class*=medium-], + html.no-flexboxlegacy .column-group > [class*=medium-] { + float: left; + clear: none; + } + html.no-flexbox .medium-5, + html.no-flexboxlegacy .medium-5 { + width: 5%; + } + html.no-flexbox .medium-10, + html.no-flexboxlegacy .medium-10 { + width: 10%; + } + html.no-flexbox .medium-15, + html.no-flexboxlegacy .medium-15 { + width: 15%; + } + html.no-flexbox .medium-16, + html.no-flexboxlegacy .medium-16 { + width: 16.66%; + } + html.no-flexbox .medium-20, + html.no-flexboxlegacy .medium-20 { + width: 20%; + } + html.no-flexbox .medium-25, + html.no-flexboxlegacy .medium-25 { + width: 25%; + } + html.no-flexbox .medium-30, + html.no-flexboxlegacy .medium-30 { + width: 30%; + } + html.no-flexbox .medium-33, + html.no-flexboxlegacy .medium-33 { + width: 33.33%; + } + html.no-flexbox .medium-35, + html.no-flexboxlegacy .medium-35 { + width: 35%; + } + html.no-flexbox .medium-40, + html.no-flexboxlegacy .medium-40 { + width: 40%; + } + html.no-flexbox .medium-45, + html.no-flexboxlegacy .medium-45 { + width: 45%; + } + html.no-flexbox .medium-50, + html.no-flexboxlegacy .medium-50 { + width: 50%; + } + html.no-flexbox .medium-55, + html.no-flexboxlegacy .medium-55 { + width: 55%; + } + html.no-flexbox .medium-60, + html.no-flexboxlegacy .medium-60 { + width: 60%; + } + html.no-flexbox .medium-65, + html.no-flexboxlegacy .medium-65 { + width: 65%; + } + html.no-flexbox .medium-66, + html.no-flexboxlegacy .medium-66 { + width: 66.66%; + } + html.no-flexbox .medium-70, + html.no-flexboxlegacy .medium-70 { + width: 70%; + } + html.no-flexbox .medium-75, + html.no-flexboxlegacy .medium-75 { + width: 75%; + } + html.no-flexbox .medium-80, + html.no-flexboxlegacy .medium-80 { + width: 80%; + } + html.no-flexbox .medium-85, + html.no-flexboxlegacy .medium-85 { + width: 85%; + } + html.no-flexbox .medium-90, + html.no-flexboxlegacy .medium-90 { + width: 90%; + } + html.no-flexbox .medium-95, + html.no-flexboxlegacy .medium-95 { + width: 95%; + } + html.no-flexbox .medium-100, + html.no-flexboxlegacy .medium-100 { + width: 100%; + } + html.no-flexbox [class*=medium-100], + html.no-flexboxlegacy [class*=medium-100] { + float: none; + clear: both; + } + html.no-flexbox .column-group, + html.no-flexboxlegacy .column-group { + *zoom: 1; + } + html.no-flexbox .column-group:after, + html.no-flexboxlegacy .column-group:after { + content: ""; + display: table; + clear: both; + } + html.no-flexbox .column-group.gutters, + html.no-flexboxlegacy .column-group.gutters { + margin-left: -1.5em; + } + html.no-flexbox .column-group.gutters > [class*=medium-], html.no-flexbox .column-group.gutters > [class*=all-], + html.no-flexboxlegacy .column-group.gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.gutters > [class*=all-] { + padding-left: 1.5em; + margin-bottom: 1.5em; + } + html.no-flexbox .column-group.horizontal-gutters, + html.no-flexboxlegacy .column-group.horizontal-gutters { + margin-left: -1.5em; + } + html.no-flexbox .column-group.horizontal-gutters > [class*=medium-], html.no-flexbox .column-group.horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.horizontal-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.horizontal-gutters > [class*=all-] { + padding-left: 1.5em; + } + html.no-flexbox .column-group.vertical-gutters > [class*=medium-], html.no-flexbox .column-group.vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.vertical-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.vertical-gutters > [class*=all-] { + margin-bottom: 1.5em; + } + html.no-flexbox .column-group.double-gutters, + html.no-flexboxlegacy .column-group.double-gutters { + margin-left: -3em; + } + html.no-flexbox .column-group.double-gutters > [class*=medium-], html.no-flexbox .column-group.double-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.double-gutters > [class*=all-] { + padding-left: 3em; + margin-bottom: 3em; + } + html.no-flexbox .column-group.double-horizontal-gutters, + html.no-flexboxlegacy .column-group.double-horizontal-gutters { + margin-left: -3em; + } + html.no-flexbox .column-group.double-horizontal-gutters > [class*=medium-], html.no-flexbox .column-group.double-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-horizontal-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.double-horizontal-gutters > [class*=all-] { + padding-left: 3em; + } + html.no-flexbox .column-group.double-vertical-gutters > [class*=medium-], html.no-flexbox .column-group.double-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-vertical-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.double-vertical-gutters > [class*=all-] { + margin-bottom: 3em; + } + html.no-flexbox .column-group.half-gutters, + html.no-flexboxlegacy .column-group.half-gutters { + margin-left: -0.75em; + } + html.no-flexbox .column-group.half-gutters > [class*=medium-], html.no-flexbox .column-group.half-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.half-gutters > [class*=all-] { + padding-left: 0.75em; + margin-bottom: 0.75em; + } + html.no-flexbox .column-group.half-horizontal-gutters, + html.no-flexboxlegacy .column-group.half-horizontal-gutters { + margin-left: -0.75em; + } + html.no-flexbox .column-group.half-horizontal-gutters > [class*=medium-], html.no-flexbox .column-group.half-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-horizontal-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.half-horizontal-gutters > [class*=all-] { + padding-left: 0.75em; + } + html.no-flexbox .column-group.half-vertical-gutters > [class*=medium-], html.no-flexbox .column-group.half-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-vertical-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.half-vertical-gutters > [class*=all-] { + margin-bottom: 0.75em; + } + html.no-flexbox .column-group.quarter-gutters, + html.no-flexboxlegacy .column-group.quarter-gutters { + margin-left: -0.375em; + } + html.no-flexbox .column-group.quarter-gutters > [class*=medium-], html.no-flexbox .column-group.quarter-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.quarter-gutters > [class*=all-] { + padding-left: 0.375em; + margin-bottom: 0.375em; + } + html.no-flexbox .column-group.quarter-horizontal-gutters, + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters { + margin-left: -0.375em; + } + html.no-flexbox .column-group.quarter-horizontal-gutters > [class*=medium-], html.no-flexbox .column-group.quarter-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.375em; + } + html.no-flexbox .column-group.quarter-vertical-gutters > [class*=medium-], html.no-flexbox .column-group.quarter-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-vertical-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.375em; + } + html.no-flexbox .column-group.medium-gutters, + html.no-flexboxlegacy .column-group.medium-gutters { + margin-left: -1.5em; + } + html.no-flexbox .column-group.medium-gutters > [class*=medium-], html.no-flexbox .column-group.medium-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-gutters > [class*=all-] { + padding-left: 1.5em; + margin-bottom: 1.5em; + } + html.no-flexbox .column-group.medium-horizontal-gutters, + html.no-flexboxlegacy .column-group.medium-horizontal-gutters { + margin-left: -1.5em; + } + html.no-flexbox .column-group.medium-horizontal-gutters > [class*=medium-], html.no-flexbox .column-group.medium-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-horizontal-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-horizontal-gutters > [class*=all-] { + padding-left: 1.5em; + } + html.no-flexbox .column-group.medium-vertical-gutters > [class*=medium-], html.no-flexbox .column-group.medium-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-vertical-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-vertical-gutters > [class*=all-] { + margin-bottom: 1.5em; + } + html.no-flexbox .column-group.medium-double-gutters, + html.no-flexboxlegacy .column-group.medium-double-gutters { + margin-left: -3em; + } + html.no-flexbox .column-group.medium-double-gutters > [class*=medium-], html.no-flexbox .column-group.medium-double-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-double-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-double-gutters > [class*=all-] { + padding-left: 3em; + margin-bottom: 3em; + } + html.no-flexbox .column-group.medium-double-horizontal-gutters, + html.no-flexboxlegacy .column-group.medium-double-horizontal-gutters { + margin-left: -3em; + } + html.no-flexbox .column-group.medium-double-horizontal-gutters > [class*=medium-], html.no-flexbox .column-group.medium-double-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-double-horizontal-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-double-horizontal-gutters > [class*=all-] { + padding-left: 3em; + } + html.no-flexbox .column-group.medium-double-vertical-gutters > [class*=medium-], html.no-flexbox .column-group.medium-double-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-double-vertical-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-double-vertical-gutters > [class*=all-] { + margin-bottom: 3em; + } + html.no-flexbox .column-group.medium-half-gutters, + html.no-flexboxlegacy .column-group.medium-half-gutters { + margin-left: -0.75em; + } + html.no-flexbox .column-group.medium-half-gutters > [class*=medium-], html.no-flexbox .column-group.medium-half-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-half-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-half-gutters > [class*=all-] { + padding-left: 0.75em; + margin-bottom: 0.75em; + } + html.no-flexbox .column-group.medium-half-horizontal-gutters, + html.no-flexboxlegacy .column-group.medium-half-horizontal-gutters { + margin-left: -0.75em; + } + html.no-flexbox .column-group.medium-half-horizontal-gutters > [class*=medium-], html.no-flexbox .column-group.medium-half-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-half-horizontal-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-half-horizontal-gutters > [class*=all-] { + padding-left: 0.75em; + } + html.no-flexbox .column-group.medium-half-vertical-gutters > [class*=medium-], html.no-flexbox .column-group.medium-half-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-half-vertical-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-half-vertical-gutters > [class*=all-] { + margin-bottom: 0.75em; + } + html.no-flexbox .column-group.medium-quarter-gutters, + html.no-flexboxlegacy .column-group.medium-quarter-gutters { + margin-left: -0.375em; + } + html.no-flexbox .column-group.medium-quarter-gutters > [class*=medium-], html.no-flexbox .column-group.medium-quarter-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-quarter-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-quarter-gutters > [class*=all-] { + padding-left: 0.375em; + margin-bottom: 0.375em; + } + html.no-flexbox .column-group.medium-quarter-horizontal-gutters, + html.no-flexboxlegacy .column-group.medium-quarter-horizontal-gutters { + margin-left: -0.375em; + } + html.no-flexbox .column-group.medium-quarter-horizontal-gutters > [class*=medium-], html.no-flexbox .column-group.medium-quarter-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-quarter-horizontal-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.375em; + } + html.no-flexbox .column-group.medium-quarter-vertical-gutters > [class*=medium-], html.no-flexbox .column-group.medium-quarter-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-quarter-vertical-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.375em; + } + html.no-flexbox .column-group.medium-no-gutters, + html.no-flexboxlegacy .column-group.medium-no-gutters { + margin-left: 0; + } + html.no-flexbox .column-group.medium-no-gutters > [class*=medium-], html.no-flexbox .column-group.medium-no-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.medium-no-gutters > [class*=medium-], + html.no-flexboxlegacy .column-group.medium-no-gutters > [class*=all-] { + padding-left: 0; + margin-bottom: 0; + } + html.no-flexbox .ink-table td[class*=medium-], html.no-flexbox .ink-table th[class*=medium-], html.no-flexbox .ink-table tr[class*=medium-], html.no-flexbox .ink-table thead[class*=medium-], html.no-flexbox .ink-table tbody[class*=medium-], html.no-flexbox .ink-table tfoot[class*=medium-], + html.no-flexboxlegacy .ink-table td[class*=medium-], + html.no-flexboxlegacy .ink-table th[class*=medium-], + html.no-flexboxlegacy .ink-table tr[class*=medium-], + html.no-flexboxlegacy .ink-table thead[class*=medium-], + html.no-flexboxlegacy .ink-table tbody[class*=medium-], + html.no-flexboxlegacy .ink-table tfoot[class*=medium-] { + float: none; + } + html.no-flexbox .medium-push-left, + html.no-flexboxlegacy .medium-push-left { + float: left; + } + html.no-flexbox .medium-push-center, + html.no-flexboxlegacy .medium-push-center { + float: none; + margin-left: auto; + margin-right: auto; + } + html.no-flexbox .medium-push-right, + html.no-flexboxlegacy .medium-push-right { + float: right; + } + html.no-flexbox .medium-align-left, + html.no-flexboxlegacy .medium-align-left { + text-align: left; + } + html.no-flexbox .medium-align-center, + html.no-flexboxlegacy .medium-align-center { + text-align: center; + } + html.no-flexbox .medium-align-right, + html.no-flexboxlegacy .medium-align-right { + text-align: right; + } + html.no-flexbox .medium-no-margin, + html.no-flexboxlegacy .medium-no-margin { + margin: 0 !important; + } + html.no-flexbox .space, + html.no-flexboxlegacy .space { + margin: 1.5em; + } + html.no-flexbox .medium-space, + html.no-flexboxlegacy .medium-space { + margin: 1.5em; + } + html.no-flexbox .padding, + html.no-flexboxlegacy .padding { + padding: 1.5em; + } + html.no-flexbox .medium-padding, + html.no-flexboxlegacy .medium-padding { + padding: 1.5em; + } + html.no-flexbox .double-space, + html.no-flexboxlegacy .double-space { + margin: 3em; + } + html.no-flexbox .medium-double-space, + html.no-flexboxlegacy .medium-double-space { + margin: 3em; + } + html.no-flexbox .double-padding, + html.no-flexboxlegacy .double-padding { + padding: 3em; + } + html.no-flexbox .medium-double-padding, + html.no-flexboxlegacy .medium-double-padding { + padding: 3em; + } + html.no-flexbox .half-space, + html.no-flexboxlegacy .half-space { + margin: 0.75em; + } + html.no-flexbox .medium-half-space, + html.no-flexboxlegacy .medium-half-space { + margin: 0.75em; + } + html.no-flexbox .half-padding, + html.no-flexboxlegacy .half-padding { + padding: 0.75em; + } + html.no-flexbox .medium-half-padding, + html.no-flexboxlegacy .medium-half-padding { + padding: 0.75em; + } + html.no-flexbox .quarter-space, + html.no-flexboxlegacy .quarter-space { + margin: 0.375em; + } + html.no-flexbox .medium-quarter-space, + html.no-flexboxlegacy .medium-quarter-space { + margin: 0.375em; + } + html.no-flexbox .quarter-padding, + html.no-flexboxlegacy .quarter-padding { + padding: 0.375em; + } + html.no-flexbox .medium-quarter-padding, + html.no-flexboxlegacy .medium-quarter-padding { + padding: 0.375em; + } + html.no-flexbox .vertical-space, + html.no-flexboxlegacy .vertical-space { + margin-top: 1.5em; + margin-bottom: 1.5em; + } + html.no-flexbox .medium-vertical-space, + html.no-flexboxlegacy .medium-vertical-space { + margin-top: 1.5em; + margin-bottom: 1.5em; + } + html.no-flexbox .vertical-padding, + html.no-flexboxlegacy .vertical-padding { + padding-top: 1.5em; + padding-bottom: 1.5em; + } + html.no-flexbox .medium-vertical-padding, + html.no-flexboxlegacy .medium-vertical-padding { + padding-top: 1.5em; + padding-bottom: 1.5em; + } + html.no-flexbox .double-vertical-space, + html.no-flexboxlegacy .double-vertical-space { + margin-top: 3em; + margin-bottom: 3em; + } + html.no-flexbox .medium-double-vertical-space, + html.no-flexboxlegacy .medium-double-vertical-space { + margin-top: 3em; + margin-bottom: 3em; + } + html.no-flexbox .double-vertical-padding, + html.no-flexboxlegacy .double-vertical-padding { + padding-top: 3em; + padding-bottom: 3em; + } + html.no-flexbox .medium-double-vertical-padding, + html.no-flexboxlegacy .medium-double-vertical-padding { + padding-top: 3em; + padding-bottom: 3em; + } + html.no-flexbox .half-vertical-space, + html.no-flexboxlegacy .half-vertical-space { + margin-top: 0.75em; + margin-bottom: 0.75em; + } + html.no-flexbox .medium-half-vertical-space, + html.no-flexboxlegacy .medium-half-vertical-space { + margin-top: 0.75em; + margin-bottom: 0.75em; + } + html.no-flexbox .half-vertical-padding, + html.no-flexboxlegacy .half-vertical-padding { + padding-top: 0.75em; + padding-bottom: 0.75em; + } + html.no-flexbox .medium-half-vertical-padding, + html.no-flexboxlegacy .medium-half-vertical-padding { + padding-top: 0.75em; + padding-bottom: 0.75em; + } + html.no-flexbox .quarter-vertical-space, + html.no-flexboxlegacy .quarter-vertical-space { + margin-top: 0.375em; + margin-bottom: 0.375em; + } + html.no-flexbox .medium-quarter-vertical-space, + html.no-flexboxlegacy .medium-quarter-vertical-space { + margin-top: 0.375em; + margin-bottom: 0.375em; + } + html.no-flexbox .quarter-vertical-padding, + html.no-flexboxlegacy .quarter-vertical-padding { + padding-top: 0.375em; + padding-bottom: 0.375em; + } + html.no-flexbox .medium-quarter-vertical-padding, + html.no-flexboxlegacy .medium-quarter-vertical-padding { + padding-top: 0.375em; + padding-bottom: 0.375em; + } + html.no-flexbox .horizontal-space, + html.no-flexboxlegacy .horizontal-space { + margin-left: 1.5em; + margin-right: 1.5em; + } + html.no-flexbox .medium-horizontal-space, + html.no-flexboxlegacy .medium-horizontal-space { + margin-left: 1.5em; + margin-right: 1.5em; + } + html.no-flexbox .horizontal-padding, + html.no-flexboxlegacy .horizontal-padding { + padding-left: 1.5em; + padding-right: 1.5em; + } + html.no-flexbox .medium-horizontal-padding, + html.no-flexboxlegacy .medium-horizontal-padding { + padding-left: 1.5em; + padding-right: 1.5em; + } + html.no-flexbox .double-horizontal-space, + html.no-flexboxlegacy .double-horizontal-space { + margin-left: 3em; + margin-right: 3em; + } + html.no-flexbox .medium-double-horizontal-space, + html.no-flexboxlegacy .medium-double-horizontal-space { + margin-left: 3em; + margin-right: 3em; + } + html.no-flexbox .double-horizontal-padding, + html.no-flexboxlegacy .double-horizontal-padding { + padding-left: 3em; + padding-right: 3em; + } + html.no-flexbox .medium-double-horizontal-padding, + html.no-flexboxlegacy .medium-double-horizontal-padding { + padding-left: 3em; + padding-right: 3em; + } + html.no-flexbox .half-horizontal-space, + html.no-flexboxlegacy .half-horizontal-space { + margin-left: 0.75em; + margin-right: 0.75em; + } + html.no-flexbox .medium-half-horizontal-space, + html.no-flexboxlegacy .medium-half-horizontal-space { + margin-left: 0.75em; + margin-right: 0.75em; + } + html.no-flexbox .half-horizontal-padding, + html.no-flexboxlegacy .half-horizontal-padding { + padding-left: 0.75em; + padding-right: 0.75em; + } + html.no-flexbox .medium-half-horizontal-padding, + html.no-flexboxlegacy .medium-half-horizontal-padding { + padding-left: 0.75em; + padding-right: 0.75em; + } + html.no-flexbox .quarter-horizontal-space, + html.no-flexboxlegacy .quarter-horizontal-space { + margin-left: 0.375em; + margin-right: 0.375em; + } + html.no-flexbox .medium-quarter-horizontal-space, + html.no-flexboxlegacy .medium-quarter-horizontal-space { + margin-left: 0.375em; + margin-right: 0.375em; + } + html.no-flexbox .quarter-horizontal-padding, + html.no-flexboxlegacy .quarter-horizontal-padding { + padding-left: 0.375em; + padding-right: 0.375em; + } + html.no-flexbox .medium-quarter-horizontal-padding, + html.no-flexboxlegacy .medium-quarter-horizontal-padding { + padding-left: 0.375em; + padding-right: 0.375em; + } + html.no-flexbox .top-space, + html.no-flexboxlegacy .top-space { + margin-top: 1.5em; + } + html.no-flexbox .medium-top-space, + html.no-flexboxlegacy .medium-top-space { + margin-top: 1.5em; + } + html.no-flexbox .top-padding, + html.no-flexboxlegacy .top-padding { + padding-top: 1.5em; + } + html.no-flexbox .medium-top-padding, + html.no-flexboxlegacy .medium-top-padding { + padding-top: 1.5em; + } + html.no-flexbox .double-top-space, + html.no-flexboxlegacy .double-top-space { + margin-top: 3em; + } + html.no-flexbox .medium-double-top-space, + html.no-flexboxlegacy .medium-double-top-space { + margin-top: 3em; + } + html.no-flexbox .double-top-padding, + html.no-flexboxlegacy .double-top-padding { + padding-top: 3em; + } + html.no-flexbox .medium-double-top-padding, + html.no-flexboxlegacy .medium-double-top-padding { + padding-top: 3em; + } + html.no-flexbox .half-top-space, + html.no-flexboxlegacy .half-top-space { + margin-top: 0.75em; + } + html.no-flexbox .medium-half-top-space, + html.no-flexboxlegacy .medium-half-top-space { + margin-top: 0.75em; + } + html.no-flexbox .half-top-padding, + html.no-flexboxlegacy .half-top-padding { + padding-top: 0.75em; + } + html.no-flexbox .medium-half-top-padding, + html.no-flexboxlegacy .medium-half-top-padding { + padding-top: 0.75em; + } + html.no-flexbox .quarter-top-space, + html.no-flexboxlegacy .quarter-top-space { + margin-top: 0.375em; + } + html.no-flexbox .medium-quarter-top-space, + html.no-flexboxlegacy .medium-quarter-top-space { + margin-top: 0.375em; + } + html.no-flexbox .quarter-top-padding, + html.no-flexboxlegacy .quarter-top-padding { + padding-top: 0.375em; + } + html.no-flexbox .medium-quarter-top-padding, + html.no-flexboxlegacy .medium-quarter-top-padding { + padding-top: 0.375em; + } + html.no-flexbox .right-space, + html.no-flexboxlegacy .right-space { + margin-right: 1.5em; + } + html.no-flexbox .medium-right-space, + html.no-flexboxlegacy .medium-right-space { + margin-right: 1.5em; + } + html.no-flexbox .right-padding, + html.no-flexboxlegacy .right-padding { + padding-right: 1.5em; + } + html.no-flexbox .medium-right-padding, + html.no-flexboxlegacy .medium-right-padding { + padding-right: 1.5em; + } + html.no-flexbox .double-right-space, + html.no-flexboxlegacy .double-right-space { + margin-right: 3em; + } + html.no-flexbox .medium-double-right-space, + html.no-flexboxlegacy .medium-double-right-space { + margin-right: 3em; + } + html.no-flexbox .double-right-padding, + html.no-flexboxlegacy .double-right-padding { + padding-right: 3em; + } + html.no-flexbox .medium-double-right-padding, + html.no-flexboxlegacy .medium-double-right-padding { + padding-right: 3em; + } + html.no-flexbox .half-right-space, + html.no-flexboxlegacy .half-right-space { + margin-right: 0.75em; + } + html.no-flexbox .medium-half-right-space, + html.no-flexboxlegacy .medium-half-right-space { + margin-right: 0.75em; + } + html.no-flexbox .half-right-padding, + html.no-flexboxlegacy .half-right-padding { + padding-right: 0.75em; + } + html.no-flexbox .medium-half-right-padding, + html.no-flexboxlegacy .medium-half-right-padding { + padding-right: 0.75em; + } + html.no-flexbox .quarter-right-space, + html.no-flexboxlegacy .quarter-right-space { + margin-right: 0.375em; + } + html.no-flexbox .medium-quarter-right-space, + html.no-flexboxlegacy .medium-quarter-right-space { + margin-right: 0.375em; + } + html.no-flexbox .quarter-right-padding, + html.no-flexboxlegacy .quarter-right-padding { + padding-right: 0.375em; + } + html.no-flexbox .medium-quarter-right-padding, + html.no-flexboxlegacy .medium-quarter-right-padding { + padding-right: 0.375em; + } + html.no-flexbox .bottom-space, + html.no-flexboxlegacy .bottom-space { + margin-bottom: 1.5em; + } + html.no-flexbox .medium-bottom-space, + html.no-flexboxlegacy .medium-bottom-space { + margin-bottom: 1.5em; + } + html.no-flexbox .bottom-padding, + html.no-flexboxlegacy .bottom-padding { + padding-bottom: 1.5em; + } + html.no-flexbox .medium-bottom-padding, + html.no-flexboxlegacy .medium-bottom-padding { + padding-bottom: 1.5em; + } + html.no-flexbox .double-bottom-space, + html.no-flexboxlegacy .double-bottom-space { + margin-bottom: 3em; + } + html.no-flexbox .medium-double-bottom-space, + html.no-flexboxlegacy .medium-double-bottom-space { + margin-bottom: 3em; + } + html.no-flexbox .double-bottom-padding, + html.no-flexboxlegacy .double-bottom-padding { + padding-bottom: 3em; + } + html.no-flexbox .medium-double-bottom-padding, + html.no-flexboxlegacy .medium-double-bottom-padding { + padding-bottom: 3em; + } + html.no-flexbox .half-bottom-space, + html.no-flexboxlegacy .half-bottom-space { + margin-bottom: 0.75em; + } + html.no-flexbox .medium-half-bottom-space, + html.no-flexboxlegacy .medium-half-bottom-space { + margin-bottom: 0.75em; + } + html.no-flexbox .half-bottom-padding, + html.no-flexboxlegacy .half-bottom-padding { + padding-bottom: 0.75em; + } + html.no-flexbox .medium-half-bottom-padding, + html.no-flexboxlegacy .medium-half-bottom-padding { + padding-bottom: 0.75em; + } + html.no-flexbox .quarter-bottom-space, + html.no-flexboxlegacy .quarter-bottom-space { + margin-bottom: 0.375em; + } + html.no-flexbox .medium-quarter-bottom-space, + html.no-flexboxlegacy .medium-quarter-bottom-space { + margin-bottom: 0.375em; + } + html.no-flexbox .quarter-bottom-padding, + html.no-flexboxlegacy .quarter-bottom-padding { + padding-bottom: 0.375em; + } + html.no-flexbox .medium-quarter-bottom-padding, + html.no-flexboxlegacy .medium-quarter-bottom-padding { + padding-bottom: 0.375em; + } + html.no-flexbox .left-space, + html.no-flexboxlegacy .left-space { + margin-left: 1.5em; + } + html.no-flexbox .medium-left-space, + html.no-flexboxlegacy .medium-left-space { + margin-left: 1.5em; + } + html.no-flexbox .left-padding, + html.no-flexboxlegacy .left-padding { + padding-left: 1.5em; + } + html.no-flexbox .medium-left-padding, + html.no-flexboxlegacy .medium-left-padding { + padding-left: 1.5em; + } + html.no-flexbox .double-left-space, + html.no-flexboxlegacy .double-left-space { + margin-left: 3em; + } + html.no-flexbox .medium-double-left-space, + html.no-flexboxlegacy .medium-double-left-space { + margin-left: 3em; + } + html.no-flexbox .double-left-padding, + html.no-flexboxlegacy .double-left-padding { + padding-left: 3em; + } + html.no-flexbox .medium-double-left-padding, + html.no-flexboxlegacy .medium-double-left-padding { + padding-left: 3em; + } + html.no-flexbox .half-left-space, + html.no-flexboxlegacy .half-left-space { + margin-left: 0.75em; + } + html.no-flexbox .medium-half-left-space, + html.no-flexboxlegacy .medium-half-left-space { + margin-left: 0.75em; + } + html.no-flexbox .half-left-padding, + html.no-flexboxlegacy .half-left-padding { + padding-left: 0.75em; + } + html.no-flexbox .medium-half-left-padding, + html.no-flexboxlegacy .medium-half-left-padding { + padding-left: 0.75em; + } + html.no-flexbox .quarter-left-space, + html.no-flexboxlegacy .quarter-left-space { + margin-left: 0.375em; + } + html.no-flexbox .medium-quarter-left-space, + html.no-flexboxlegacy .medium-quarter-left-space { + margin-left: 0.375em; + } + html.no-flexbox .quarter-left-padding, + html.no-flexboxlegacy .quarter-left-padding { + padding-left: 0.375em; + } + html.no-flexbox .medium-quarter-left-padding, + html.no-flexboxlegacy .medium-quarter-left-padding { + padding-left: 0.375em; + } + html.no-flexbox .hide-medium, + html.no-flexboxlegacy .hide-medium { + display: none !important; + } + html.no-flexbox .show-medium, + html.no-flexboxlegacy .show-medium { + display: inherit !important; + } + html.no-flexbox table.show-medium, + html.no-flexboxlegacy table.show-medium { + display: table; + } + html.no-flexbox thead.show-medium, + html.no-flexboxlegacy thead.show-medium { + display: table-header-group; + } + html.no-flexbox tbody.show-medium, + html.no-flexboxlegacy tbody.show-medium { + display: table-row-group; + } + html.no-flexbox tfoot.show-medium, + html.no-flexboxlegacy tfoot.show-medium { + display: table-footer-group; + } + html.no-flexbox tr.show-medium, + html.no-flexboxlegacy tr.show-medium { + display: table-row; + } + html.no-flexbox th.show-medium, + html.no-flexbox td.show-medium, + html.no-flexboxlegacy th.show-medium, + html.no-flexboxlegacy td.show-medium { + display: table-cell; + } +} +@media screen and (min-width: 321px) and (max-width: 640px) { + html.no-flexbox .ink-grid, + html.no-flexboxlegacy .ink-grid { + padding: 0 1.25em; + } + html.no-flexbox .column-group > [class*=small-], + html.no-flexboxlegacy .column-group > [class*=small-] { + float: left; + clear: none; + } + html.no-flexbox .small-5, + html.no-flexboxlegacy .small-5 { + width: 5%; + } + html.no-flexbox .small-10, + html.no-flexboxlegacy .small-10 { + width: 10%; + } + html.no-flexbox .small-15, + html.no-flexboxlegacy .small-15 { + width: 15%; + } + html.no-flexbox .small-16, + html.no-flexboxlegacy .small-16 { + width: 16.66%; + } + html.no-flexbox .small-20, + html.no-flexboxlegacy .small-20 { + width: 20%; + } + html.no-flexbox .small-25, + html.no-flexboxlegacy .small-25 { + width: 25%; + } + html.no-flexbox .small-30, + html.no-flexboxlegacy .small-30 { + width: 30%; + } + html.no-flexbox .small-33, + html.no-flexboxlegacy .small-33 { + width: 33.33%; + } + html.no-flexbox .small-35, + html.no-flexboxlegacy .small-35 { + width: 35%; + } + html.no-flexbox .small-40, + html.no-flexboxlegacy .small-40 { + width: 40%; + } + html.no-flexbox .small-45, + html.no-flexboxlegacy .small-45 { + width: 45%; + } + html.no-flexbox .small-50, + html.no-flexboxlegacy .small-50 { + width: 50%; + } + html.no-flexbox .small-55, + html.no-flexboxlegacy .small-55 { + width: 55%; + } + html.no-flexbox .small-60, + html.no-flexboxlegacy .small-60 { + width: 60%; + } + html.no-flexbox .small-65, + html.no-flexboxlegacy .small-65 { + width: 65%; + } + html.no-flexbox .small-66, + html.no-flexboxlegacy .small-66 { + width: 66.66%; + } + html.no-flexbox .small-70, + html.no-flexboxlegacy .small-70 { + width: 70%; + } + html.no-flexbox .small-75, + html.no-flexboxlegacy .small-75 { + width: 75%; + } + html.no-flexbox .small-80, + html.no-flexboxlegacy .small-80 { + width: 80%; + } + html.no-flexbox .small-85, + html.no-flexboxlegacy .small-85 { + width: 85%; + } + html.no-flexbox .small-90, + html.no-flexboxlegacy .small-90 { + width: 90%; + } + html.no-flexbox .small-95, + html.no-flexboxlegacy .small-95 { + width: 95%; + } + html.no-flexbox .small-100, + html.no-flexboxlegacy .small-100 { + width: 100%; + } + html.no-flexbox [class*=small-100], + html.no-flexboxlegacy [class*=small-100] { + float: none; + clear: both; + } + html.no-flexbox .column-group, + html.no-flexboxlegacy .column-group { + *zoom: 1; + } + html.no-flexbox .column-group:after, + html.no-flexboxlegacy .column-group:after { + content: ""; + display: table; + clear: both; + } + html.no-flexbox .column-group.gutters, + html.no-flexboxlegacy .column-group.gutters { + margin-left: -1.25em; + } + html.no-flexbox .column-group.gutters > [class*=small-], html.no-flexbox .column-group.gutters > [class*=all-], + html.no-flexboxlegacy .column-group.gutters > [class*=small-], + html.no-flexboxlegacy .column-group.gutters > [class*=all-] { + padding-left: 1.25em; + margin-bottom: 1.25em; + } + html.no-flexbox .column-group.horizontal-gutters, + html.no-flexboxlegacy .column-group.horizontal-gutters { + margin-left: -1.25em; + } + html.no-flexbox .column-group.horizontal-gutters > [class*=small-], html.no-flexbox .column-group.horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.horizontal-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.horizontal-gutters > [class*=all-] { + padding-left: 1.25em; + } + html.no-flexbox .column-group.vertical-gutters > [class*=small-], html.no-flexbox .column-group.vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.vertical-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.vertical-gutters > [class*=all-] { + margin-bottom: 1.25em; + } + html.no-flexbox .column-group.double-gutters, + html.no-flexboxlegacy .column-group.double-gutters { + margin-left: -2.5em; + } + html.no-flexbox .column-group.double-gutters > [class*=small-], html.no-flexbox .column-group.double-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.double-gutters > [class*=all-] { + padding-left: 2.5em; + margin-bottom: 2.5em; + } + html.no-flexbox .column-group.double-horizontal-gutters, + html.no-flexboxlegacy .column-group.double-horizontal-gutters { + margin-left: -2.5em; + } + html.no-flexbox .column-group.double-horizontal-gutters > [class*=small-], html.no-flexbox .column-group.double-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-horizontal-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.double-horizontal-gutters > [class*=all-] { + padding-left: 2.5em; + } + html.no-flexbox .column-group.double-vertical-gutters > [class*=small-], html.no-flexbox .column-group.double-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-vertical-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.double-vertical-gutters > [class*=all-] { + margin-bottom: 2.5em; + } + html.no-flexbox .column-group.half-gutters, + html.no-flexboxlegacy .column-group.half-gutters { + margin-left: -0.625em; + } + html.no-flexbox .column-group.half-gutters > [class*=small-], html.no-flexbox .column-group.half-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.half-gutters > [class*=all-] { + padding-left: 0.625em; + margin-bottom: 0.625em; + } + html.no-flexbox .column-group.half-horizontal-gutters, + html.no-flexboxlegacy .column-group.half-horizontal-gutters { + margin-left: -0.625em; + } + html.no-flexbox .column-group.half-horizontal-gutters > [class*=small-], html.no-flexbox .column-group.half-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-horizontal-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.half-horizontal-gutters > [class*=all-] { + padding-left: 0.625em; + } + html.no-flexbox .column-group.half-vertical-gutters > [class*=small-], html.no-flexbox .column-group.half-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-vertical-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.half-vertical-gutters > [class*=all-] { + margin-bottom: 0.625em; + } + html.no-flexbox .column-group.quarter-gutters, + html.no-flexboxlegacy .column-group.quarter-gutters { + margin-left: -0.3125em; + } + html.no-flexbox .column-group.quarter-gutters > [class*=small-], html.no-flexbox .column-group.quarter-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.quarter-gutters > [class*=all-] { + padding-left: 0.3125em; + margin-bottom: 0.3125em; + } + html.no-flexbox .column-group.quarter-horizontal-gutters, + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters { + margin-left: -0.3125em; + } + html.no-flexbox .column-group.quarter-horizontal-gutters > [class*=small-], html.no-flexbox .column-group.quarter-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.3125em; + } + html.no-flexbox .column-group.quarter-vertical-gutters > [class*=small-], html.no-flexbox .column-group.quarter-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-vertical-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.3125em; + } + html.no-flexbox .column-group.small-gutters, + html.no-flexboxlegacy .column-group.small-gutters { + margin-left: -1.25em; + } + html.no-flexbox .column-group.small-gutters > [class*=small-], html.no-flexbox .column-group.small-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-gutters > [class*=all-] { + padding-left: 1.25em; + margin-bottom: 1.25em; + } + html.no-flexbox .column-group.small-horizontal-gutters, + html.no-flexboxlegacy .column-group.small-horizontal-gutters { + margin-left: -1.25em; + } + html.no-flexbox .column-group.small-horizontal-gutters > [class*=small-], html.no-flexbox .column-group.small-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-horizontal-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-horizontal-gutters > [class*=all-] { + padding-left: 1.25em; + } + html.no-flexbox .column-group.small-vertical-gutters > [class*=small-], html.no-flexbox .column-group.small-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-vertical-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-vertical-gutters > [class*=all-] { + margin-bottom: 1.25em; + } + html.no-flexbox .column-group.small-double-gutters, + html.no-flexboxlegacy .column-group.small-double-gutters { + margin-left: -2.5em; + } + html.no-flexbox .column-group.small-double-gutters > [class*=small-], html.no-flexbox .column-group.small-double-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-double-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-double-gutters > [class*=all-] { + padding-left: 2.5em; + margin-bottom: 2.5em; + } + html.no-flexbox .column-group.small-double-horizontal-gutters, + html.no-flexboxlegacy .column-group.small-double-horizontal-gutters { + margin-left: -2.5em; + } + html.no-flexbox .column-group.small-double-horizontal-gutters > [class*=small-], html.no-flexbox .column-group.small-double-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-double-horizontal-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-double-horizontal-gutters > [class*=all-] { + padding-left: 2.5em; + } + html.no-flexbox .column-group.small-double-vertical-gutters > [class*=small-], html.no-flexbox .column-group.small-double-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-double-vertical-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-double-vertical-gutters > [class*=all-] { + margin-bottom: 2.5em; + } + html.no-flexbox .column-group.small-half-gutters, + html.no-flexboxlegacy .column-group.small-half-gutters { + margin-left: -0.625em; + } + html.no-flexbox .column-group.small-half-gutters > [class*=small-], html.no-flexbox .column-group.small-half-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-half-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-half-gutters > [class*=all-] { + padding-left: 0.625em; + margin-bottom: 0.625em; + } + html.no-flexbox .column-group.small-half-horizontal-gutters, + html.no-flexboxlegacy .column-group.small-half-horizontal-gutters { + margin-left: -0.625em; + } + html.no-flexbox .column-group.small-half-horizontal-gutters > [class*=small-], html.no-flexbox .column-group.small-half-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-half-horizontal-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-half-horizontal-gutters > [class*=all-] { + padding-left: 0.625em; + } + html.no-flexbox .column-group.small-half-vertical-gutters > [class*=small-], html.no-flexbox .column-group.small-half-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-half-vertical-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-half-vertical-gutters > [class*=all-] { + margin-bottom: 0.625em; + } + html.no-flexbox .column-group.small-quarter-gutters, + html.no-flexboxlegacy .column-group.small-quarter-gutters { + margin-left: -0.3125em; + } + html.no-flexbox .column-group.small-quarter-gutters > [class*=small-], html.no-flexbox .column-group.small-quarter-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-quarter-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-quarter-gutters > [class*=all-] { + padding-left: 0.3125em; + margin-bottom: 0.3125em; + } + html.no-flexbox .column-group.small-quarter-horizontal-gutters, + html.no-flexboxlegacy .column-group.small-quarter-horizontal-gutters { + margin-left: -0.3125em; + } + html.no-flexbox .column-group.small-quarter-horizontal-gutters > [class*=small-], html.no-flexbox .column-group.small-quarter-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-quarter-horizontal-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.3125em; + } + html.no-flexbox .column-group.small-quarter-vertical-gutters > [class*=small-], html.no-flexbox .column-group.small-quarter-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-quarter-vertical-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.3125em; + } + html.no-flexbox .column-group.small-no-gutters, + html.no-flexboxlegacy .column-group.small-no-gutters { + margin-left: 0; + } + html.no-flexbox .column-group.small-no-gutters > [class*=small-], html.no-flexbox .column-group.small-no-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.small-no-gutters > [class*=small-], + html.no-flexboxlegacy .column-group.small-no-gutters > [class*=all-] { + padding-left: 0; + margin-bottom: 0; + } + html.no-flexbox .ink-table td[class*=small-], html.no-flexbox .ink-table th[class*=small-], html.no-flexbox .ink-table tr[class*=small-], html.no-flexbox .ink-table thead[class*=small-], html.no-flexbox .ink-table tbody[class*=small-], html.no-flexbox .ink-table tfoot[class*=small-], + html.no-flexboxlegacy .ink-table td[class*=small-], + html.no-flexboxlegacy .ink-table th[class*=small-], + html.no-flexboxlegacy .ink-table tr[class*=small-], + html.no-flexboxlegacy .ink-table thead[class*=small-], + html.no-flexboxlegacy .ink-table tbody[class*=small-], + html.no-flexboxlegacy .ink-table tfoot[class*=small-] { + float: none; + } + html.no-flexbox .small-push-left, + html.no-flexboxlegacy .small-push-left { + float: left; + } + html.no-flexbox .small-push-center, + html.no-flexboxlegacy .small-push-center { + float: none; + margin-left: auto; + margin-right: auto; + } + html.no-flexbox .small-push-right, + html.no-flexboxlegacy .small-push-right { + float: right; + } + html.no-flexbox .small-align-left, + html.no-flexboxlegacy .small-align-left { + text-align: left; + } + html.no-flexbox .small-align-center, + html.no-flexboxlegacy .small-align-center { + text-align: center; + } + html.no-flexbox .small-align-right, + html.no-flexboxlegacy .small-align-right { + text-align: right; + } + html.no-flexbox .small-no-margin, + html.no-flexboxlegacy .small-no-margin { + margin: 0 !important; + } + html.no-flexbox .space, + html.no-flexboxlegacy .space { + margin: 1.25em; + } + html.no-flexbox .small-space, + html.no-flexboxlegacy .small-space { + margin: 1.25em; + } + html.no-flexbox .padding, + html.no-flexboxlegacy .padding { + padding: 1.25em; + } + html.no-flexbox .small-padding, + html.no-flexboxlegacy .small-padding { + padding: 1.25em; + } + html.no-flexbox .double-space, + html.no-flexboxlegacy .double-space { + margin: 2.5em; + } + html.no-flexbox .small-double-space, + html.no-flexboxlegacy .small-double-space { + margin: 2.5em; + } + html.no-flexbox .double-padding, + html.no-flexboxlegacy .double-padding { + padding: 2.5em; + } + html.no-flexbox .small-double-padding, + html.no-flexboxlegacy .small-double-padding { + padding: 2.5em; + } + html.no-flexbox .half-space, + html.no-flexboxlegacy .half-space { + margin: 0.625em; + } + html.no-flexbox .small-half-space, + html.no-flexboxlegacy .small-half-space { + margin: 0.625em; + } + html.no-flexbox .half-padding, + html.no-flexboxlegacy .half-padding { + padding: 0.625em; + } + html.no-flexbox .small-half-padding, + html.no-flexboxlegacy .small-half-padding { + padding: 0.625em; + } + html.no-flexbox .quarter-space, + html.no-flexboxlegacy .quarter-space { + margin: 0.3125em; + } + html.no-flexbox .small-quarter-space, + html.no-flexboxlegacy .small-quarter-space { + margin: 0.3125em; + } + html.no-flexbox .quarter-padding, + html.no-flexboxlegacy .quarter-padding { + padding: 0.3125em; + } + html.no-flexbox .small-quarter-padding, + html.no-flexboxlegacy .small-quarter-padding { + padding: 0.3125em; + } + html.no-flexbox .vertical-space, + html.no-flexboxlegacy .vertical-space { + margin-top: 1.25em; + margin-bottom: 1.25em; + } + html.no-flexbox .small-vertical-space, + html.no-flexboxlegacy .small-vertical-space { + margin-top: 1.25em; + margin-bottom: 1.25em; + } + html.no-flexbox .vertical-padding, + html.no-flexboxlegacy .vertical-padding { + padding-top: 1.25em; + padding-bottom: 1.25em; + } + html.no-flexbox .small-vertical-padding, + html.no-flexboxlegacy .small-vertical-padding { + padding-top: 1.25em; + padding-bottom: 1.25em; + } + html.no-flexbox .double-vertical-space, + html.no-flexboxlegacy .double-vertical-space { + margin-top: 2.5em; + margin-bottom: 2.5em; + } + html.no-flexbox .small-double-vertical-space, + html.no-flexboxlegacy .small-double-vertical-space { + margin-top: 2.5em; + margin-bottom: 2.5em; + } + html.no-flexbox .double-vertical-padding, + html.no-flexboxlegacy .double-vertical-padding { + padding-top: 2.5em; + padding-bottom: 2.5em; + } + html.no-flexbox .small-double-vertical-padding, + html.no-flexboxlegacy .small-double-vertical-padding { + padding-top: 2.5em; + padding-bottom: 2.5em; + } + html.no-flexbox .half-vertical-space, + html.no-flexboxlegacy .half-vertical-space { + margin-top: 0.625em; + margin-bottom: 0.625em; + } + html.no-flexbox .small-half-vertical-space, + html.no-flexboxlegacy .small-half-vertical-space { + margin-top: 0.625em; + margin-bottom: 0.625em; + } + html.no-flexbox .half-vertical-padding, + html.no-flexboxlegacy .half-vertical-padding { + padding-top: 0.625em; + padding-bottom: 0.625em; + } + html.no-flexbox .small-half-vertical-padding, + html.no-flexboxlegacy .small-half-vertical-padding { + padding-top: 0.625em; + padding-bottom: 0.625em; + } + html.no-flexbox .quarter-vertical-space, + html.no-flexboxlegacy .quarter-vertical-space { + margin-top: 0.3125em; + margin-bottom: 0.3125em; + } + html.no-flexbox .small-quarter-vertical-space, + html.no-flexboxlegacy .small-quarter-vertical-space { + margin-top: 0.3125em; + margin-bottom: 0.3125em; + } + html.no-flexbox .quarter-vertical-padding, + html.no-flexboxlegacy .quarter-vertical-padding { + padding-top: 0.3125em; + padding-bottom: 0.3125em; + } + html.no-flexbox .small-quarter-vertical-padding, + html.no-flexboxlegacy .small-quarter-vertical-padding { + padding-top: 0.3125em; + padding-bottom: 0.3125em; + } + html.no-flexbox .horizontal-space, + html.no-flexboxlegacy .horizontal-space { + margin-left: 1.25em; + margin-right: 1.25em; + } + html.no-flexbox .small-horizontal-space, + html.no-flexboxlegacy .small-horizontal-space { + margin-left: 1.25em; + margin-right: 1.25em; + } + html.no-flexbox .horizontal-padding, + html.no-flexboxlegacy .horizontal-padding { + padding-left: 1.25em; + padding-right: 1.25em; + } + html.no-flexbox .small-horizontal-padding, + html.no-flexboxlegacy .small-horizontal-padding { + padding-left: 1.25em; + padding-right: 1.25em; + } + html.no-flexbox .double-horizontal-space, + html.no-flexboxlegacy .double-horizontal-space { + margin-left: 2.5em; + margin-right: 2.5em; + } + html.no-flexbox .small-double-horizontal-space, + html.no-flexboxlegacy .small-double-horizontal-space { + margin-left: 2.5em; + margin-right: 2.5em; + } + html.no-flexbox .double-horizontal-padding, + html.no-flexboxlegacy .double-horizontal-padding { + padding-left: 2.5em; + padding-right: 2.5em; + } + html.no-flexbox .small-double-horizontal-padding, + html.no-flexboxlegacy .small-double-horizontal-padding { + padding-left: 2.5em; + padding-right: 2.5em; + } + html.no-flexbox .half-horizontal-space, + html.no-flexboxlegacy .half-horizontal-space { + margin-left: 0.625em; + margin-right: 0.625em; + } + html.no-flexbox .small-half-horizontal-space, + html.no-flexboxlegacy .small-half-horizontal-space { + margin-left: 0.625em; + margin-right: 0.625em; + } + html.no-flexbox .half-horizontal-padding, + html.no-flexboxlegacy .half-horizontal-padding { + padding-left: 0.625em; + padding-right: 0.625em; + } + html.no-flexbox .small-half-horizontal-padding, + html.no-flexboxlegacy .small-half-horizontal-padding { + padding-left: 0.625em; + padding-right: 0.625em; + } + html.no-flexbox .quarter-horizontal-space, + html.no-flexboxlegacy .quarter-horizontal-space { + margin-left: 0.3125em; + margin-right: 0.3125em; + } + html.no-flexbox .small-quarter-horizontal-space, + html.no-flexboxlegacy .small-quarter-horizontal-space { + margin-left: 0.3125em; + margin-right: 0.3125em; + } + html.no-flexbox .quarter-horizontal-padding, + html.no-flexboxlegacy .quarter-horizontal-padding { + padding-left: 0.3125em; + padding-right: 0.3125em; + } + html.no-flexbox .small-quarter-horizontal-padding, + html.no-flexboxlegacy .small-quarter-horizontal-padding { + padding-left: 0.3125em; + padding-right: 0.3125em; + } + html.no-flexbox .top-space, + html.no-flexboxlegacy .top-space { + margin-top: 1.25em; + } + html.no-flexbox .small-top-space, + html.no-flexboxlegacy .small-top-space { + margin-top: 1.25em; + } + html.no-flexbox .top-padding, + html.no-flexboxlegacy .top-padding { + padding-top: 1.25em; + } + html.no-flexbox .small-top-padding, + html.no-flexboxlegacy .small-top-padding { + padding-top: 1.25em; + } + html.no-flexbox .double-top-space, + html.no-flexboxlegacy .double-top-space { + margin-top: 2.5em; + } + html.no-flexbox .small-double-top-space, + html.no-flexboxlegacy .small-double-top-space { + margin-top: 2.5em; + } + html.no-flexbox .double-top-padding, + html.no-flexboxlegacy .double-top-padding { + padding-top: 2.5em; + } + html.no-flexbox .small-double-top-padding, + html.no-flexboxlegacy .small-double-top-padding { + padding-top: 2.5em; + } + html.no-flexbox .half-top-space, + html.no-flexboxlegacy .half-top-space { + margin-top: 0.625em; + } + html.no-flexbox .small-half-top-space, + html.no-flexboxlegacy .small-half-top-space { + margin-top: 0.625em; + } + html.no-flexbox .half-top-padding, + html.no-flexboxlegacy .half-top-padding { + padding-top: 0.625em; + } + html.no-flexbox .small-half-top-padding, + html.no-flexboxlegacy .small-half-top-padding { + padding-top: 0.625em; + } + html.no-flexbox .quarter-top-space, + html.no-flexboxlegacy .quarter-top-space { + margin-top: 0.3125em; + } + html.no-flexbox .small-quarter-top-space, + html.no-flexboxlegacy .small-quarter-top-space { + margin-top: 0.3125em; + } + html.no-flexbox .quarter-top-padding, + html.no-flexboxlegacy .quarter-top-padding { + padding-top: 0.3125em; + } + html.no-flexbox .small-quarter-top-padding, + html.no-flexboxlegacy .small-quarter-top-padding { + padding-top: 0.3125em; + } + html.no-flexbox .right-space, + html.no-flexboxlegacy .right-space { + margin-right: 1.25em; + } + html.no-flexbox .small-right-space, + html.no-flexboxlegacy .small-right-space { + margin-right: 1.25em; + } + html.no-flexbox .right-padding, + html.no-flexboxlegacy .right-padding { + padding-right: 1.25em; + } + html.no-flexbox .small-right-padding, + html.no-flexboxlegacy .small-right-padding { + padding-right: 1.25em; + } + html.no-flexbox .double-right-space, + html.no-flexboxlegacy .double-right-space { + margin-right: 2.5em; + } + html.no-flexbox .small-double-right-space, + html.no-flexboxlegacy .small-double-right-space { + margin-right: 2.5em; + } + html.no-flexbox .double-right-padding, + html.no-flexboxlegacy .double-right-padding { + padding-right: 2.5em; + } + html.no-flexbox .small-double-right-padding, + html.no-flexboxlegacy .small-double-right-padding { + padding-right: 2.5em; + } + html.no-flexbox .half-right-space, + html.no-flexboxlegacy .half-right-space { + margin-right: 0.625em; + } + html.no-flexbox .small-half-right-space, + html.no-flexboxlegacy .small-half-right-space { + margin-right: 0.625em; + } + html.no-flexbox .half-right-padding, + html.no-flexboxlegacy .half-right-padding { + padding-right: 0.625em; + } + html.no-flexbox .small-half-right-padding, + html.no-flexboxlegacy .small-half-right-padding { + padding-right: 0.625em; + } + html.no-flexbox .quarter-right-space, + html.no-flexboxlegacy .quarter-right-space { + margin-right: 0.3125em; + } + html.no-flexbox .small-quarter-right-space, + html.no-flexboxlegacy .small-quarter-right-space { + margin-right: 0.3125em; + } + html.no-flexbox .quarter-right-padding, + html.no-flexboxlegacy .quarter-right-padding { + padding-right: 0.3125em; + } + html.no-flexbox .small-quarter-right-padding, + html.no-flexboxlegacy .small-quarter-right-padding { + padding-right: 0.3125em; + } + html.no-flexbox .bottom-space, + html.no-flexboxlegacy .bottom-space { + margin-bottom: 1.25em; + } + html.no-flexbox .small-bottom-space, + html.no-flexboxlegacy .small-bottom-space { + margin-bottom: 1.25em; + } + html.no-flexbox .bottom-padding, + html.no-flexboxlegacy .bottom-padding { + padding-bottom: 1.25em; + } + html.no-flexbox .small-bottom-padding, + html.no-flexboxlegacy .small-bottom-padding { + padding-bottom: 1.25em; + } + html.no-flexbox .double-bottom-space, + html.no-flexboxlegacy .double-bottom-space { + margin-bottom: 2.5em; + } + html.no-flexbox .small-double-bottom-space, + html.no-flexboxlegacy .small-double-bottom-space { + margin-bottom: 2.5em; + } + html.no-flexbox .double-bottom-padding, + html.no-flexboxlegacy .double-bottom-padding { + padding-bottom: 2.5em; + } + html.no-flexbox .small-double-bottom-padding, + html.no-flexboxlegacy .small-double-bottom-padding { + padding-bottom: 2.5em; + } + html.no-flexbox .half-bottom-space, + html.no-flexboxlegacy .half-bottom-space { + margin-bottom: 0.625em; + } + html.no-flexbox .small-half-bottom-space, + html.no-flexboxlegacy .small-half-bottom-space { + margin-bottom: 0.625em; + } + html.no-flexbox .half-bottom-padding, + html.no-flexboxlegacy .half-bottom-padding { + padding-bottom: 0.625em; + } + html.no-flexbox .small-half-bottom-padding, + html.no-flexboxlegacy .small-half-bottom-padding { + padding-bottom: 0.625em; + } + html.no-flexbox .quarter-bottom-space, + html.no-flexboxlegacy .quarter-bottom-space { + margin-bottom: 0.3125em; + } + html.no-flexbox .small-quarter-bottom-space, + html.no-flexboxlegacy .small-quarter-bottom-space { + margin-bottom: 0.3125em; + } + html.no-flexbox .quarter-bottom-padding, + html.no-flexboxlegacy .quarter-bottom-padding { + padding-bottom: 0.3125em; + } + html.no-flexbox .small-quarter-bottom-padding, + html.no-flexboxlegacy .small-quarter-bottom-padding { + padding-bottom: 0.3125em; + } + html.no-flexbox .left-space, + html.no-flexboxlegacy .left-space { + margin-left: 1.25em; + } + html.no-flexbox .small-left-space, + html.no-flexboxlegacy .small-left-space { + margin-left: 1.25em; + } + html.no-flexbox .left-padding, + html.no-flexboxlegacy .left-padding { + padding-left: 1.25em; + } + html.no-flexbox .small-left-padding, + html.no-flexboxlegacy .small-left-padding { + padding-left: 1.25em; + } + html.no-flexbox .double-left-space, + html.no-flexboxlegacy .double-left-space { + margin-left: 2.5em; + } + html.no-flexbox .small-double-left-space, + html.no-flexboxlegacy .small-double-left-space { + margin-left: 2.5em; + } + html.no-flexbox .double-left-padding, + html.no-flexboxlegacy .double-left-padding { + padding-left: 2.5em; + } + html.no-flexbox .small-double-left-padding, + html.no-flexboxlegacy .small-double-left-padding { + padding-left: 2.5em; + } + html.no-flexbox .half-left-space, + html.no-flexboxlegacy .half-left-space { + margin-left: 0.625em; + } + html.no-flexbox .small-half-left-space, + html.no-flexboxlegacy .small-half-left-space { + margin-left: 0.625em; + } + html.no-flexbox .half-left-padding, + html.no-flexboxlegacy .half-left-padding { + padding-left: 0.625em; + } + html.no-flexbox .small-half-left-padding, + html.no-flexboxlegacy .small-half-left-padding { + padding-left: 0.625em; + } + html.no-flexbox .quarter-left-space, + html.no-flexboxlegacy .quarter-left-space { + margin-left: 0.3125em; + } + html.no-flexbox .small-quarter-left-space, + html.no-flexboxlegacy .small-quarter-left-space { + margin-left: 0.3125em; + } + html.no-flexbox .quarter-left-padding, + html.no-flexboxlegacy .quarter-left-padding { + padding-left: 0.3125em; + } + html.no-flexbox .small-quarter-left-padding, + html.no-flexboxlegacy .small-quarter-left-padding { + padding-left: 0.3125em; + } + html.no-flexbox .hide-small, + html.no-flexboxlegacy .hide-small { + display: none !important; + } + html.no-flexbox .show-small, + html.no-flexboxlegacy .show-small { + display: inherit !important; + } + html.no-flexbox table.show-small, + html.no-flexboxlegacy table.show-small { + display: table; + } + html.no-flexbox thead.show-small, + html.no-flexboxlegacy thead.show-small { + display: table-header-group; + } + html.no-flexbox tbody.show-small, + html.no-flexboxlegacy tbody.show-small { + display: table-row-group; + } + html.no-flexbox tfoot.show-small, + html.no-flexboxlegacy tfoot.show-small { + display: table-footer-group; + } + html.no-flexbox tr.show-small, + html.no-flexboxlegacy tr.show-small { + display: table-row; + } + html.no-flexbox th.show-small, + html.no-flexbox td.show-small, + html.no-flexboxlegacy th.show-small, + html.no-flexboxlegacy td.show-small { + display: table-cell; + } +} +@media screen and (max-width: 320px) { + html.no-flexbox .ink-grid, + html.no-flexboxlegacy .ink-grid { + padding: 0 1em; + } + html.no-flexbox .column-group > [class*=tiny-], + html.no-flexboxlegacy .column-group > [class*=tiny-] { + float: left; + clear: none; + } + html.no-flexbox .tiny-5, + html.no-flexboxlegacy .tiny-5 { + width: 5%; + } + html.no-flexbox .tiny-10, + html.no-flexboxlegacy .tiny-10 { + width: 10%; + } + html.no-flexbox .tiny-15, + html.no-flexboxlegacy .tiny-15 { + width: 15%; + } + html.no-flexbox .tiny-16, + html.no-flexboxlegacy .tiny-16 { + width: 16.66%; + } + html.no-flexbox .tiny-20, + html.no-flexboxlegacy .tiny-20 { + width: 20%; + } + html.no-flexbox .tiny-25, + html.no-flexboxlegacy .tiny-25 { + width: 25%; + } + html.no-flexbox .tiny-30, + html.no-flexboxlegacy .tiny-30 { + width: 30%; + } + html.no-flexbox .tiny-33, + html.no-flexboxlegacy .tiny-33 { + width: 33.33%; + } + html.no-flexbox .tiny-35, + html.no-flexboxlegacy .tiny-35 { + width: 35%; + } + html.no-flexbox .tiny-40, + html.no-flexboxlegacy .tiny-40 { + width: 40%; + } + html.no-flexbox .tiny-45, + html.no-flexboxlegacy .tiny-45 { + width: 45%; + } + html.no-flexbox .tiny-50, + html.no-flexboxlegacy .tiny-50 { + width: 50%; + } + html.no-flexbox .tiny-55, + html.no-flexboxlegacy .tiny-55 { + width: 55%; + } + html.no-flexbox .tiny-60, + html.no-flexboxlegacy .tiny-60 { + width: 60%; + } + html.no-flexbox .tiny-65, + html.no-flexboxlegacy .tiny-65 { + width: 65%; + } + html.no-flexbox .tiny-66, + html.no-flexboxlegacy .tiny-66 { + width: 66.66%; + } + html.no-flexbox .tiny-70, + html.no-flexboxlegacy .tiny-70 { + width: 70%; + } + html.no-flexbox .tiny-75, + html.no-flexboxlegacy .tiny-75 { + width: 75%; + } + html.no-flexbox .tiny-80, + html.no-flexboxlegacy .tiny-80 { + width: 80%; + } + html.no-flexbox .tiny-85, + html.no-flexboxlegacy .tiny-85 { + width: 85%; + } + html.no-flexbox .tiny-90, + html.no-flexboxlegacy .tiny-90 { + width: 90%; + } + html.no-flexbox .tiny-95, + html.no-flexboxlegacy .tiny-95 { + width: 95%; + } + html.no-flexbox .tiny-100, + html.no-flexboxlegacy .tiny-100 { + width: 100%; + } + html.no-flexbox [class*=tiny-100], + html.no-flexboxlegacy [class*=tiny-100] { + float: none; + clear: both; + } + html.no-flexbox .column-group, + html.no-flexboxlegacy .column-group { + *zoom: 1; + } + html.no-flexbox .column-group:after, + html.no-flexboxlegacy .column-group:after { + content: ""; + display: table; + clear: both; + } + html.no-flexbox .column-group.gutters, + html.no-flexboxlegacy .column-group.gutters { + margin-left: -1em; + } + html.no-flexbox .column-group.gutters > [class*=tiny-], html.no-flexbox .column-group.gutters > [class*=all-], + html.no-flexboxlegacy .column-group.gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.gutters > [class*=all-] { + padding-left: 1em; + margin-bottom: 1em; + } + html.no-flexbox .column-group.horizontal-gutters, + html.no-flexboxlegacy .column-group.horizontal-gutters { + margin-left: -1em; + } + html.no-flexbox .column-group.horizontal-gutters > [class*=tiny-], html.no-flexbox .column-group.horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.horizontal-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.horizontal-gutters > [class*=all-] { + padding-left: 1em; + } + html.no-flexbox .column-group.vertical-gutters > [class*=tiny-], html.no-flexbox .column-group.vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.vertical-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.vertical-gutters > [class*=all-] { + margin-bottom: 1em; + } + html.no-flexbox .column-group.double-gutters, + html.no-flexboxlegacy .column-group.double-gutters { + margin-left: -2em; + } + html.no-flexbox .column-group.double-gutters > [class*=tiny-], html.no-flexbox .column-group.double-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.double-gutters > [class*=all-] { + padding-left: 2em; + margin-bottom: 2em; + } + html.no-flexbox .column-group.double-horizontal-gutters, + html.no-flexboxlegacy .column-group.double-horizontal-gutters { + margin-left: -2em; + } + html.no-flexbox .column-group.double-horizontal-gutters > [class*=tiny-], html.no-flexbox .column-group.double-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-horizontal-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.double-horizontal-gutters > [class*=all-] { + padding-left: 2em; + } + html.no-flexbox .column-group.double-vertical-gutters > [class*=tiny-], html.no-flexbox .column-group.double-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.double-vertical-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.double-vertical-gutters > [class*=all-] { + margin-bottom: 2em; + } + html.no-flexbox .column-group.half-gutters, + html.no-flexboxlegacy .column-group.half-gutters { + margin-left: -0.5em; + } + html.no-flexbox .column-group.half-gutters > [class*=tiny-], html.no-flexbox .column-group.half-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.half-gutters > [class*=all-] { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + html.no-flexbox .column-group.half-horizontal-gutters, + html.no-flexboxlegacy .column-group.half-horizontal-gutters { + margin-left: -0.5em; + } + html.no-flexbox .column-group.half-horizontal-gutters > [class*=tiny-], html.no-flexbox .column-group.half-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-horizontal-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.half-horizontal-gutters > [class*=all-] { + padding-left: 0.5em; + } + html.no-flexbox .column-group.half-vertical-gutters > [class*=tiny-], html.no-flexbox .column-group.half-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.half-vertical-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.half-vertical-gutters > [class*=all-] { + margin-bottom: 0.5em; + } + html.no-flexbox .column-group.quarter-gutters, + html.no-flexboxlegacy .column-group.quarter-gutters { + margin-left: -0.25em; + } + html.no-flexbox .column-group.quarter-gutters > [class*=tiny-], html.no-flexbox .column-group.quarter-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.quarter-gutters > [class*=all-] { + padding-left: 0.25em; + margin-bottom: 0.25em; + } + html.no-flexbox .column-group.quarter-horizontal-gutters, + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters { + margin-left: -0.25em; + } + html.no-flexbox .column-group.quarter-horizontal-gutters > [class*=tiny-], html.no-flexbox .column-group.quarter-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.25em; + } + html.no-flexbox .column-group.quarter-vertical-gutters > [class*=tiny-], html.no-flexbox .column-group.quarter-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.quarter-vertical-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.25em; + } + html.no-flexbox .column-group.tiny-gutters, + html.no-flexboxlegacy .column-group.tiny-gutters { + margin-left: -1em; + } + html.no-flexbox .column-group.tiny-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-gutters > [class*=all-] { + padding-left: 1em; + margin-bottom: 1em; + } + html.no-flexbox .column-group.tiny-horizontal-gutters, + html.no-flexboxlegacy .column-group.tiny-horizontal-gutters { + margin-left: -1em; + } + html.no-flexbox .column-group.tiny-horizontal-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-horizontal-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-horizontal-gutters > [class*=all-] { + padding-left: 1em; + } + html.no-flexbox .column-group.tiny-vertical-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-vertical-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-vertical-gutters > [class*=all-] { + margin-bottom: 1em; + } + html.no-flexbox .column-group.tiny-double-gutters, + html.no-flexboxlegacy .column-group.tiny-double-gutters { + margin-left: -2em; + } + html.no-flexbox .column-group.tiny-double-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-double-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-double-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-double-gutters > [class*=all-] { + padding-left: 2em; + margin-bottom: 2em; + } + html.no-flexbox .column-group.tiny-double-horizontal-gutters, + html.no-flexboxlegacy .column-group.tiny-double-horizontal-gutters { + margin-left: -2em; + } + html.no-flexbox .column-group.tiny-double-horizontal-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-double-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-double-horizontal-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-double-horizontal-gutters > [class*=all-] { + padding-left: 2em; + } + html.no-flexbox .column-group.tiny-double-vertical-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-double-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-double-vertical-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-double-vertical-gutters > [class*=all-] { + margin-bottom: 2em; + } + html.no-flexbox .column-group.tiny-half-gutters, + html.no-flexboxlegacy .column-group.tiny-half-gutters { + margin-left: -0.5em; + } + html.no-flexbox .column-group.tiny-half-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-half-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-half-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-half-gutters > [class*=all-] { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + html.no-flexbox .column-group.tiny-half-horizontal-gutters, + html.no-flexboxlegacy .column-group.tiny-half-horizontal-gutters { + margin-left: -0.5em; + } + html.no-flexbox .column-group.tiny-half-horizontal-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-half-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-half-horizontal-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-half-horizontal-gutters > [class*=all-] { + padding-left: 0.5em; + } + html.no-flexbox .column-group.tiny-half-vertical-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-half-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-half-vertical-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-half-vertical-gutters > [class*=all-] { + margin-bottom: 0.5em; + } + html.no-flexbox .column-group.tiny-quarter-gutters, + html.no-flexboxlegacy .column-group.tiny-quarter-gutters { + margin-left: -0.25em; + } + html.no-flexbox .column-group.tiny-quarter-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-quarter-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-quarter-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-quarter-gutters > [class*=all-] { + padding-left: 0.25em; + margin-bottom: 0.25em; + } + html.no-flexbox .column-group.tiny-quarter-horizontal-gutters, + html.no-flexboxlegacy .column-group.tiny-quarter-horizontal-gutters { + margin-left: -0.25em; + } + html.no-flexbox .column-group.tiny-quarter-horizontal-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-quarter-horizontal-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-quarter-horizontal-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.25em; + } + html.no-flexbox .column-group.tiny-quarter-vertical-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-quarter-vertical-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-quarter-vertical-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.25em; + } + html.no-flexbox .column-group.tiny-no-gutters, + html.no-flexboxlegacy .column-group.tiny-no-gutters { + margin-left: 0; + } + html.no-flexbox .column-group.tiny-no-gutters > [class*=tiny-], html.no-flexbox .column-group.tiny-no-gutters > [class*=all-], + html.no-flexboxlegacy .column-group.tiny-no-gutters > [class*=tiny-], + html.no-flexboxlegacy .column-group.tiny-no-gutters > [class*=all-] { + padding-left: 0; + margin-bottom: 0; + } + html.no-flexbox .ink-table td[class*=tiny-], html.no-flexbox .ink-table th[class*=tiny-], html.no-flexbox .ink-table tr[class*=tiny-], html.no-flexbox .ink-table thead[class*=tiny-], html.no-flexbox .ink-table tbody[class*=tiny-], html.no-flexbox .ink-table tfoot[class*=tiny-], + html.no-flexboxlegacy .ink-table td[class*=tiny-], + html.no-flexboxlegacy .ink-table th[class*=tiny-], + html.no-flexboxlegacy .ink-table tr[class*=tiny-], + html.no-flexboxlegacy .ink-table thead[class*=tiny-], + html.no-flexboxlegacy .ink-table tbody[class*=tiny-], + html.no-flexboxlegacy .ink-table tfoot[class*=tiny-] { + float: none; + } + html.no-flexbox .tiny-push-left, + html.no-flexboxlegacy .tiny-push-left { + float: left; + } + html.no-flexbox .tiny-push-center, + html.no-flexboxlegacy .tiny-push-center { + float: none; + margin-left: auto; + margin-right: auto; + } + html.no-flexbox .tiny-push-right, + html.no-flexboxlegacy .tiny-push-right { + float: right; + } + html.no-flexbox .tiny-align-left, + html.no-flexboxlegacy .tiny-align-left { + text-align: left; + } + html.no-flexbox .tiny-align-center, + html.no-flexboxlegacy .tiny-align-center { + text-align: center; + } + html.no-flexbox .tiny-align-right, + html.no-flexboxlegacy .tiny-align-right { + text-align: right; + } + html.no-flexbox .tiny-no-margin, + html.no-flexboxlegacy .tiny-no-margin { + margin: 0 !important; + } + html.no-flexbox .space, + html.no-flexboxlegacy .space { + margin: 1em; + } + html.no-flexbox .tiny-space, + html.no-flexboxlegacy .tiny-space { + margin: 1em; + } + html.no-flexbox .padding, + html.no-flexboxlegacy .padding { + padding: 1em; + } + html.no-flexbox .tiny-padding, + html.no-flexboxlegacy .tiny-padding { + padding: 1em; + } + html.no-flexbox .double-space, + html.no-flexboxlegacy .double-space { + margin: 2em; + } + html.no-flexbox .tiny-double-space, + html.no-flexboxlegacy .tiny-double-space { + margin: 2em; + } + html.no-flexbox .double-padding, + html.no-flexboxlegacy .double-padding { + padding: 2em; + } + html.no-flexbox .tiny-double-padding, + html.no-flexboxlegacy .tiny-double-padding { + padding: 2em; + } + html.no-flexbox .half-space, + html.no-flexboxlegacy .half-space { + margin: 0.5em; + } + html.no-flexbox .tiny-half-space, + html.no-flexboxlegacy .tiny-half-space { + margin: 0.5em; + } + html.no-flexbox .half-padding, + html.no-flexboxlegacy .half-padding { + padding: 0.5em; + } + html.no-flexbox .tiny-half-padding, + html.no-flexboxlegacy .tiny-half-padding { + padding: 0.5em; + } + html.no-flexbox .quarter-space, + html.no-flexboxlegacy .quarter-space { + margin: 0.25em; + } + html.no-flexbox .tiny-quarter-space, + html.no-flexboxlegacy .tiny-quarter-space { + margin: 0.25em; + } + html.no-flexbox .quarter-padding, + html.no-flexboxlegacy .quarter-padding { + padding: 0.25em; + } + html.no-flexbox .tiny-quarter-padding, + html.no-flexboxlegacy .tiny-quarter-padding { + padding: 0.25em; + } + html.no-flexbox .vertical-space, + html.no-flexboxlegacy .vertical-space { + margin-top: 1em; + margin-bottom: 1em; + } + html.no-flexbox .tiny-vertical-space, + html.no-flexboxlegacy .tiny-vertical-space { + margin-top: 1em; + margin-bottom: 1em; + } + html.no-flexbox .vertical-padding, + html.no-flexboxlegacy .vertical-padding { + padding-top: 1em; + padding-bottom: 1em; + } + html.no-flexbox .tiny-vertical-padding, + html.no-flexboxlegacy .tiny-vertical-padding { + padding-top: 1em; + padding-bottom: 1em; + } + html.no-flexbox .double-vertical-space, + html.no-flexboxlegacy .double-vertical-space { + margin-top: 2em; + margin-bottom: 2em; + } + html.no-flexbox .tiny-double-vertical-space, + html.no-flexboxlegacy .tiny-double-vertical-space { + margin-top: 2em; + margin-bottom: 2em; + } + html.no-flexbox .double-vertical-padding, + html.no-flexboxlegacy .double-vertical-padding { + padding-top: 2em; + padding-bottom: 2em; + } + html.no-flexbox .tiny-double-vertical-padding, + html.no-flexboxlegacy .tiny-double-vertical-padding { + padding-top: 2em; + padding-bottom: 2em; + } + html.no-flexbox .half-vertical-space, + html.no-flexboxlegacy .half-vertical-space { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + html.no-flexbox .tiny-half-vertical-space, + html.no-flexboxlegacy .tiny-half-vertical-space { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + html.no-flexbox .half-vertical-padding, + html.no-flexboxlegacy .half-vertical-padding { + padding-top: 0.5em; + padding-bottom: 0.5em; + } + html.no-flexbox .tiny-half-vertical-padding, + html.no-flexboxlegacy .tiny-half-vertical-padding { + padding-top: 0.5em; + padding-bottom: 0.5em; + } + html.no-flexbox .quarter-vertical-space, + html.no-flexboxlegacy .quarter-vertical-space { + margin-top: 0.25em; + margin-bottom: 0.25em; + } + html.no-flexbox .tiny-quarter-vertical-space, + html.no-flexboxlegacy .tiny-quarter-vertical-space { + margin-top: 0.25em; + margin-bottom: 0.25em; + } + html.no-flexbox .quarter-vertical-padding, + html.no-flexboxlegacy .quarter-vertical-padding { + padding-top: 0.25em; + padding-bottom: 0.25em; + } + html.no-flexbox .tiny-quarter-vertical-padding, + html.no-flexboxlegacy .tiny-quarter-vertical-padding { + padding-top: 0.25em; + padding-bottom: 0.25em; + } + html.no-flexbox .horizontal-space, + html.no-flexboxlegacy .horizontal-space { + margin-left: 1em; + margin-right: 1em; + } + html.no-flexbox .tiny-horizontal-space, + html.no-flexboxlegacy .tiny-horizontal-space { + margin-left: 1em; + margin-right: 1em; + } + html.no-flexbox .horizontal-padding, + html.no-flexboxlegacy .horizontal-padding { + padding-left: 1em; + padding-right: 1em; + } + html.no-flexbox .tiny-horizontal-padding, + html.no-flexboxlegacy .tiny-horizontal-padding { + padding-left: 1em; + padding-right: 1em; + } + html.no-flexbox .double-horizontal-space, + html.no-flexboxlegacy .double-horizontal-space { + margin-left: 2em; + margin-right: 2em; + } + html.no-flexbox .tiny-double-horizontal-space, + html.no-flexboxlegacy .tiny-double-horizontal-space { + margin-left: 2em; + margin-right: 2em; + } + html.no-flexbox .double-horizontal-padding, + html.no-flexboxlegacy .double-horizontal-padding { + padding-left: 2em; + padding-right: 2em; + } + html.no-flexbox .tiny-double-horizontal-padding, + html.no-flexboxlegacy .tiny-double-horizontal-padding { + padding-left: 2em; + padding-right: 2em; + } + html.no-flexbox .half-horizontal-space, + html.no-flexboxlegacy .half-horizontal-space { + margin-left: 0.5em; + margin-right: 0.5em; + } + html.no-flexbox .tiny-half-horizontal-space, + html.no-flexboxlegacy .tiny-half-horizontal-space { + margin-left: 0.5em; + margin-right: 0.5em; + } + html.no-flexbox .half-horizontal-padding, + html.no-flexboxlegacy .half-horizontal-padding { + padding-left: 0.5em; + padding-right: 0.5em; + } + html.no-flexbox .tiny-half-horizontal-padding, + html.no-flexboxlegacy .tiny-half-horizontal-padding { + padding-left: 0.5em; + padding-right: 0.5em; + } + html.no-flexbox .quarter-horizontal-space, + html.no-flexboxlegacy .quarter-horizontal-space { + margin-left: 0.25em; + margin-right: 0.25em; + } + html.no-flexbox .tiny-quarter-horizontal-space, + html.no-flexboxlegacy .tiny-quarter-horizontal-space { + margin-left: 0.25em; + margin-right: 0.25em; + } + html.no-flexbox .quarter-horizontal-padding, + html.no-flexboxlegacy .quarter-horizontal-padding { + padding-left: 0.25em; + padding-right: 0.25em; + } + html.no-flexbox .tiny-quarter-horizontal-padding, + html.no-flexboxlegacy .tiny-quarter-horizontal-padding { + padding-left: 0.25em; + padding-right: 0.25em; + } + html.no-flexbox .top-space, + html.no-flexboxlegacy .top-space { + margin-top: 1em; + } + html.no-flexbox .tiny-top-space, + html.no-flexboxlegacy .tiny-top-space { + margin-top: 1em; + } + html.no-flexbox .top-padding, + html.no-flexboxlegacy .top-padding { + padding-top: 1em; + } + html.no-flexbox .tiny-top-padding, + html.no-flexboxlegacy .tiny-top-padding { + padding-top: 1em; + } + html.no-flexbox .double-top-space, + html.no-flexboxlegacy .double-top-space { + margin-top: 2em; + } + html.no-flexbox .tiny-double-top-space, + html.no-flexboxlegacy .tiny-double-top-space { + margin-top: 2em; + } + html.no-flexbox .double-top-padding, + html.no-flexboxlegacy .double-top-padding { + padding-top: 2em; + } + html.no-flexbox .tiny-double-top-padding, + html.no-flexboxlegacy .tiny-double-top-padding { + padding-top: 2em; + } + html.no-flexbox .half-top-space, + html.no-flexboxlegacy .half-top-space { + margin-top: 0.5em; + } + html.no-flexbox .tiny-half-top-space, + html.no-flexboxlegacy .tiny-half-top-space { + margin-top: 0.5em; + } + html.no-flexbox .half-top-padding, + html.no-flexboxlegacy .half-top-padding { + padding-top: 0.5em; + } + html.no-flexbox .tiny-half-top-padding, + html.no-flexboxlegacy .tiny-half-top-padding { + padding-top: 0.5em; + } + html.no-flexbox .quarter-top-space, + html.no-flexboxlegacy .quarter-top-space { + margin-top: 0.25em; + } + html.no-flexbox .tiny-quarter-top-space, + html.no-flexboxlegacy .tiny-quarter-top-space { + margin-top: 0.25em; + } + html.no-flexbox .quarter-top-padding, + html.no-flexboxlegacy .quarter-top-padding { + padding-top: 0.25em; + } + html.no-flexbox .tiny-quarter-top-padding, + html.no-flexboxlegacy .tiny-quarter-top-padding { + padding-top: 0.25em; + } + html.no-flexbox .right-space, + html.no-flexboxlegacy .right-space { + margin-right: 1em; + } + html.no-flexbox .tiny-right-space, + html.no-flexboxlegacy .tiny-right-space { + margin-right: 1em; + } + html.no-flexbox .right-padding, + html.no-flexboxlegacy .right-padding { + padding-right: 1em; + } + html.no-flexbox .tiny-right-padding, + html.no-flexboxlegacy .tiny-right-padding { + padding-right: 1em; + } + html.no-flexbox .double-right-space, + html.no-flexboxlegacy .double-right-space { + margin-right: 2em; + } + html.no-flexbox .tiny-double-right-space, + html.no-flexboxlegacy .tiny-double-right-space { + margin-right: 2em; + } + html.no-flexbox .double-right-padding, + html.no-flexboxlegacy .double-right-padding { + padding-right: 2em; + } + html.no-flexbox .tiny-double-right-padding, + html.no-flexboxlegacy .tiny-double-right-padding { + padding-right: 2em; + } + html.no-flexbox .half-right-space, + html.no-flexboxlegacy .half-right-space { + margin-right: 0.5em; + } + html.no-flexbox .tiny-half-right-space, + html.no-flexboxlegacy .tiny-half-right-space { + margin-right: 0.5em; + } + html.no-flexbox .half-right-padding, + html.no-flexboxlegacy .half-right-padding { + padding-right: 0.5em; + } + html.no-flexbox .tiny-half-right-padding, + html.no-flexboxlegacy .tiny-half-right-padding { + padding-right: 0.5em; + } + html.no-flexbox .quarter-right-space, + html.no-flexboxlegacy .quarter-right-space { + margin-right: 0.25em; + } + html.no-flexbox .tiny-quarter-right-space, + html.no-flexboxlegacy .tiny-quarter-right-space { + margin-right: 0.25em; + } + html.no-flexbox .quarter-right-padding, + html.no-flexboxlegacy .quarter-right-padding { + padding-right: 0.25em; + } + html.no-flexbox .tiny-quarter-right-padding, + html.no-flexboxlegacy .tiny-quarter-right-padding { + padding-right: 0.25em; + } + html.no-flexbox .bottom-space, + html.no-flexboxlegacy .bottom-space { + margin-bottom: 1em; + } + html.no-flexbox .tiny-bottom-space, + html.no-flexboxlegacy .tiny-bottom-space { + margin-bottom: 1em; + } + html.no-flexbox .bottom-padding, + html.no-flexboxlegacy .bottom-padding { + padding-bottom: 1em; + } + html.no-flexbox .tiny-bottom-padding, + html.no-flexboxlegacy .tiny-bottom-padding { + padding-bottom: 1em; + } + html.no-flexbox .double-bottom-space, + html.no-flexboxlegacy .double-bottom-space { + margin-bottom: 2em; + } + html.no-flexbox .tiny-double-bottom-space, + html.no-flexboxlegacy .tiny-double-bottom-space { + margin-bottom: 2em; + } + html.no-flexbox .double-bottom-padding, + html.no-flexboxlegacy .double-bottom-padding { + padding-bottom: 2em; + } + html.no-flexbox .tiny-double-bottom-padding, + html.no-flexboxlegacy .tiny-double-bottom-padding { + padding-bottom: 2em; + } + html.no-flexbox .half-bottom-space, + html.no-flexboxlegacy .half-bottom-space { + margin-bottom: 0.5em; + } + html.no-flexbox .tiny-half-bottom-space, + html.no-flexboxlegacy .tiny-half-bottom-space { + margin-bottom: 0.5em; + } + html.no-flexbox .half-bottom-padding, + html.no-flexboxlegacy .half-bottom-padding { + padding-bottom: 0.5em; + } + html.no-flexbox .tiny-half-bottom-padding, + html.no-flexboxlegacy .tiny-half-bottom-padding { + padding-bottom: 0.5em; + } + html.no-flexbox .quarter-bottom-space, + html.no-flexboxlegacy .quarter-bottom-space { + margin-bottom: 0.25em; + } + html.no-flexbox .tiny-quarter-bottom-space, + html.no-flexboxlegacy .tiny-quarter-bottom-space { + margin-bottom: 0.25em; + } + html.no-flexbox .quarter-bottom-padding, + html.no-flexboxlegacy .quarter-bottom-padding { + padding-bottom: 0.25em; + } + html.no-flexbox .tiny-quarter-bottom-padding, + html.no-flexboxlegacy .tiny-quarter-bottom-padding { + padding-bottom: 0.25em; + } + html.no-flexbox .left-space, + html.no-flexboxlegacy .left-space { + margin-left: 1em; + } + html.no-flexbox .tiny-left-space, + html.no-flexboxlegacy .tiny-left-space { + margin-left: 1em; + } + html.no-flexbox .left-padding, + html.no-flexboxlegacy .left-padding { + padding-left: 1em; + } + html.no-flexbox .tiny-left-padding, + html.no-flexboxlegacy .tiny-left-padding { + padding-left: 1em; + } + html.no-flexbox .double-left-space, + html.no-flexboxlegacy .double-left-space { + margin-left: 2em; + } + html.no-flexbox .tiny-double-left-space, + html.no-flexboxlegacy .tiny-double-left-space { + margin-left: 2em; + } + html.no-flexbox .double-left-padding, + html.no-flexboxlegacy .double-left-padding { + padding-left: 2em; + } + html.no-flexbox .tiny-double-left-padding, + html.no-flexboxlegacy .tiny-double-left-padding { + padding-left: 2em; + } + html.no-flexbox .half-left-space, + html.no-flexboxlegacy .half-left-space { + margin-left: 0.5em; + } + html.no-flexbox .tiny-half-left-space, + html.no-flexboxlegacy .tiny-half-left-space { + margin-left: 0.5em; + } + html.no-flexbox .half-left-padding, + html.no-flexboxlegacy .half-left-padding { + padding-left: 0.5em; + } + html.no-flexbox .tiny-half-left-padding, + html.no-flexboxlegacy .tiny-half-left-padding { + padding-left: 0.5em; + } + html.no-flexbox .quarter-left-space, + html.no-flexboxlegacy .quarter-left-space { + margin-left: 0.25em; + } + html.no-flexbox .tiny-quarter-left-space, + html.no-flexboxlegacy .tiny-quarter-left-space { + margin-left: 0.25em; + } + html.no-flexbox .quarter-left-padding, + html.no-flexboxlegacy .quarter-left-padding { + padding-left: 0.25em; + } + html.no-flexbox .tiny-quarter-left-padding, + html.no-flexboxlegacy .tiny-quarter-left-padding { + padding-left: 0.25em; + } + html.no-flexbox .hide-tiny, + html.no-flexboxlegacy .hide-tiny { + display: none !important; + } + html.no-flexbox .show-tiny, + html.no-flexboxlegacy .show-tiny { + display: inherit !important; + } + html.no-flexbox table.show-tiny, + html.no-flexboxlegacy table.show-tiny { + display: table; + } + html.no-flexbox thead.show-tiny, + html.no-flexboxlegacy thead.show-tiny { + display: table-header-group; + } + html.no-flexbox tbody.show-tiny, + html.no-flexboxlegacy tbody.show-tiny { + display: table-row-group; + } + html.no-flexbox tfoot.show-tiny, + html.no-flexboxlegacy tfoot.show-tiny { + display: table-footer-group; + } + html.no-flexbox tr.show-tiny, + html.no-flexboxlegacy tr.show-tiny { + display: table-row; + } + html.no-flexbox th.show-tiny, + html.no-flexbox td.show-tiny, + html.no-flexboxlegacy th.show-tiny, + html.no-flexboxlegacy td.show-tiny { + display: table-cell; + } +} +html.no-flexbox:after, +html.no-flexboxlegacy:after { + content: '[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]'; + display: none; +} +html.no-flexbox .ink-carousel, +html.no-flexboxlegacy .ink-carousel { + width: 100%; + position: relative; + overflow: hidden; + display: block; +} +html.no-flexbox .ink-carousel .stage, +html.no-flexboxlegacy .ink-carousel .stage { + left: 0; + height: auto !important; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; + list-style-type: none; + white-space: nowrap; + position: relative; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; +} +html.no-flexbox .ink-carousel .stage .slide, +html.no-flexboxlegacy .ink-carousel .stage .slide { + position: relative; + display: inline-block; + vertical-align: top; + white-space: normal; + margin: 0; + float: none; + zoom: 1; + *display: inline; +} +html.no-flexbox .ink-carousel .ink-navigation, +html.no-flexboxlegacy .ink-carousel .ink-navigation { + position: static; +} diff --git a/public/css/ink-legacy.min.css b/public/css/ink-legacy.min.css new file mode 100644 index 0000000..798ff98 --- /dev/null +++ b/public/css/ink-legacy.min.css @@ -0,0 +1 @@ +.show-all{display:inherit}.hide-all{display:none!important}.no-margin{margin:0!important}.no-padding{padding:0!important}.push-left{float:left}.push-center{float:none!important;margin-left:auto;margin-right:auto}.push-right{float:right;-webkit-justify-content:flex-end;-moz-justify-content:flex-end;justify-content:flex-end}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.clearfix{overflow:hidden;*zoom:1}.clearfix:after{content:"";display:table;clear:both}html.no-flexbox,html.no-flexboxlegacy{font-size:.97em}html.no-flexbox .ink-grid,html.no-flexboxlegacy .ink-grid{width:auto;max-width:1440px;margin:0 auto}html.no-flexbox .all-5,html.no-flexboxlegacy .all-5{width:5%;float:left;clear:none}html.no-flexbox .all-10,html.no-flexboxlegacy .all-10{width:10%;float:left;clear:none}html.no-flexbox .all-15,html.no-flexboxlegacy .all-15{width:15%;float:left;clear:none}html.no-flexbox .all-16,html.no-flexboxlegacy .all-16{width:16.66%;float:left;clear:none}html.no-flexbox .all-20,html.no-flexboxlegacy .all-20{width:20%;float:left;clear:none}html.no-flexbox .all-25,html.no-flexboxlegacy .all-25{width:25%;float:left;clear:none}html.no-flexbox .all-30,html.no-flexboxlegacy .all-30{width:30%;float:left;clear:none}html.no-flexbox .all-33,html.no-flexboxlegacy .all-33{width:33.33%;float:left;clear:none}html.no-flexbox .all-35,html.no-flexboxlegacy .all-35{width:35%;float:left;clear:none}html.no-flexbox .all-40,html.no-flexboxlegacy .all-40{width:40%;float:left;clear:none}html.no-flexbox .all-45,html.no-flexboxlegacy .all-45{width:45%;float:left;clear:none}html.no-flexbox .all-50,html.no-flexboxlegacy .all-50{width:50%;float:left;clear:none}html.no-flexbox .all-55,html.no-flexboxlegacy .all-55{width:55%;float:left;clear:none}html.no-flexbox .all-60,html.no-flexboxlegacy .all-60{width:60%;float:left;clear:none}html.no-flexbox .all-65,html.no-flexboxlegacy .all-65{width:65%;float:left;clear:none}html.no-flexbox .all-66,html.no-flexboxlegacy .all-66{width:66.66%;float:left;clear:none}html.no-flexbox .all-70,html.no-flexboxlegacy .all-70{width:70%;float:left;clear:none}html.no-flexbox .all-75,html.no-flexboxlegacy .all-75{width:75%;float:left;clear:none}html.no-flexbox .all-80,html.no-flexboxlegacy .all-80{width:80%;float:left;clear:none}html.no-flexbox .all-85,html.no-flexboxlegacy .all-85{width:85%;float:left;clear:none}html.no-flexbox .all-90,html.no-flexboxlegacy .all-90{width:90%;float:left;clear:none}html.no-flexbox .all-95,html.no-flexboxlegacy .all-95{width:95%;float:left;clear:none}html.no-flexbox .all-100,html.no-flexboxlegacy .all-100{width:100%;float:left;clear:none}html.no-flexbox [class~=all-100],html.no-flexboxlegacy [class~=all-100]{float:none;clear:both}@media screen and (min-width:1261px){html.no-flexbox .ink-grid,html.no-flexboxlegacy .ink-grid{padding:0 2em}html.no-flexbox .column-group>[class*=xlarge-],html.no-flexboxlegacy .column-group>[class*=xlarge-]{float:left;clear:none}html.no-flexbox .xlarge-5,html.no-flexboxlegacy .xlarge-5{width:5%}html.no-flexbox .xlarge-10,html.no-flexboxlegacy .xlarge-10{width:10%}html.no-flexbox .xlarge-15,html.no-flexboxlegacy .xlarge-15{width:15%}html.no-flexbox .xlarge-16,html.no-flexboxlegacy .xlarge-16{width:16.66%}html.no-flexbox .xlarge-20,html.no-flexboxlegacy .xlarge-20{width:20%}html.no-flexbox .xlarge-25,html.no-flexboxlegacy .xlarge-25{width:25%}html.no-flexbox .xlarge-30,html.no-flexboxlegacy .xlarge-30{width:30%}html.no-flexbox .xlarge-33,html.no-flexboxlegacy .xlarge-33{width:33.33%}html.no-flexbox .xlarge-35,html.no-flexboxlegacy .xlarge-35{width:35%}html.no-flexbox .xlarge-40,html.no-flexboxlegacy .xlarge-40{width:40%}html.no-flexbox .xlarge-45,html.no-flexboxlegacy .xlarge-45{width:45%}html.no-flexbox .xlarge-50,html.no-flexboxlegacy .xlarge-50{width:50%}html.no-flexbox .xlarge-55,html.no-flexboxlegacy .xlarge-55{width:55%}html.no-flexbox .xlarge-60,html.no-flexboxlegacy .xlarge-60{width:60%}html.no-flexbox .xlarge-65,html.no-flexboxlegacy .xlarge-65{width:65%}html.no-flexbox .xlarge-66,html.no-flexboxlegacy .xlarge-66{width:66.66%}html.no-flexbox .xlarge-70,html.no-flexboxlegacy .xlarge-70{width:70%}html.no-flexbox .xlarge-75,html.no-flexboxlegacy .xlarge-75{width:75%}html.no-flexbox .xlarge-80,html.no-flexboxlegacy .xlarge-80{width:80%}html.no-flexbox .xlarge-85,html.no-flexboxlegacy .xlarge-85{width:85%}html.no-flexbox .xlarge-90,html.no-flexboxlegacy .xlarge-90{width:90%}html.no-flexbox .xlarge-95,html.no-flexboxlegacy .xlarge-95{width:95%}html.no-flexbox .xlarge-100,html.no-flexboxlegacy .xlarge-100{width:100%}html.no-flexbox [class*=xlarge-100],html.no-flexboxlegacy [class*=xlarge-100]{float:none;clear:both}html.no-flexbox .column-group,html.no-flexboxlegacy .column-group{*zoom:1}html.no-flexbox .column-group:after,html.no-flexboxlegacy .column-group:after{content:"";display:table;clear:both}html.no-flexbox .column-group.gutters,html.no-flexboxlegacy .column-group.gutters{margin-left:-2em}html.no-flexbox .column-group.gutters>[class*=all-],html.no-flexbox .column-group.gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.gutters>[class*=all-],html.no-flexboxlegacy .column-group.gutters>[class*=xlarge-]{padding-left:2em;margin-bottom:2em}html.no-flexbox .column-group.horizontal-gutters,html.no-flexboxlegacy .column-group.horizontal-gutters{margin-left:-2em}html.no-flexbox .column-group.horizontal-gutters>[class*=all-],html.no-flexbox .column-group.horizontal-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.horizontal-gutters>[class*=xlarge-]{padding-left:2em}html.no-flexbox .column-group.vertical-gutters>[class*=all-],html.no-flexbox .column-group.vertical-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.vertical-gutters>[class*=xlarge-]{margin-bottom:2em}html.no-flexbox .column-group.double-gutters,html.no-flexboxlegacy .column-group.double-gutters{margin-left:-4em}html.no-flexbox .column-group.double-gutters>[class*=all-],html.no-flexbox .column-group.double-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.double-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-gutters>[class*=xlarge-]{padding-left:4em;margin-bottom:4em}html.no-flexbox .column-group.double-horizontal-gutters,html.no-flexboxlegacy .column-group.double-horizontal-gutters{margin-left:-4em}html.no-flexbox .column-group.double-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.double-horizontal-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.double-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-horizontal-gutters>[class*=xlarge-]{padding-left:4em}html.no-flexbox .column-group.double-vertical-gutters>[class*=all-],html.no-flexbox .column-group.double-vertical-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.double-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-vertical-gutters>[class*=xlarge-]{margin-bottom:4em}html.no-flexbox .column-group.half-gutters,html.no-flexboxlegacy .column-group.half-gutters{margin-left:-1em}html.no-flexbox .column-group.half-gutters>[class*=all-],html.no-flexbox .column-group.half-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.half-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-gutters>[class*=xlarge-]{padding-left:1em;margin-bottom:1em}html.no-flexbox .column-group.half-horizontal-gutters,html.no-flexboxlegacy .column-group.half-horizontal-gutters{margin-left:-1em}html.no-flexbox .column-group.half-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.half-horizontal-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.half-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-horizontal-gutters>[class*=xlarge-]{padding-left:1em}html.no-flexbox .column-group.half-vertical-gutters>[class*=all-],html.no-flexbox .column-group.half-vertical-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.half-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-vertical-gutters>[class*=xlarge-]{margin-bottom:1em}html.no-flexbox .column-group.quarter-gutters,html.no-flexboxlegacy .column-group.quarter-gutters{margin-left:-.5em}html.no-flexbox .column-group.quarter-gutters>[class*=all-],html.no-flexbox .column-group.quarter-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.quarter-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-gutters>[class*=xlarge-]{padding-left:.5em;margin-bottom:.5em}html.no-flexbox .column-group.quarter-horizontal-gutters,html.no-flexboxlegacy .column-group.quarter-horizontal-gutters{margin-left:-.5em}html.no-flexbox .column-group.quarter-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.quarter-horizontal-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.quarter-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-horizontal-gutters>[class*=xlarge-]{padding-left:.5em}html.no-flexbox .column-group.quarter-vertical-gutters>[class*=all-],html.no-flexbox .column-group.quarter-vertical-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.quarter-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-vertical-gutters>[class*=xlarge-]{margin-bottom:.5em}html.no-flexbox .column-group.xlarge-gutters,html.no-flexboxlegacy .column-group.xlarge-gutters{margin-left:-2em}html.no-flexbox .column-group.xlarge-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-gutters>[class*=xlarge-]{padding-left:2em;margin-bottom:2em}html.no-flexbox .column-group.xlarge-horizontal-gutters,html.no-flexboxlegacy .column-group.xlarge-horizontal-gutters{margin-left:-2em}html.no-flexbox .column-group.xlarge-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-horizontal-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-horizontal-gutters>[class*=xlarge-]{padding-left:2em}html.no-flexbox .column-group.xlarge-vertical-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-vertical-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-vertical-gutters>[class*=xlarge-]{margin-bottom:2em}html.no-flexbox .column-group.xlarge-double-gutters,html.no-flexboxlegacy .column-group.xlarge-double-gutters{margin-left:-4em}html.no-flexbox .column-group.xlarge-double-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-double-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-double-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-double-gutters>[class*=xlarge-]{padding-left:4em;margin-bottom:4em}html.no-flexbox .column-group.xlarge-double-horizontal-gutters,html.no-flexboxlegacy .column-group.xlarge-double-horizontal-gutters{margin-left:-4em}html.no-flexbox .column-group.xlarge-double-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-double-horizontal-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-double-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-double-horizontal-gutters>[class*=xlarge-]{padding-left:4em}html.no-flexbox .column-group.xlarge-double-vertical-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-double-vertical-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-double-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-double-vertical-gutters>[class*=xlarge-]{margin-bottom:4em}html.no-flexbox .column-group.xlarge-half-gutters,html.no-flexboxlegacy .column-group.xlarge-half-gutters{margin-left:-1em}html.no-flexbox .column-group.xlarge-half-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-half-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-half-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-half-gutters>[class*=xlarge-]{padding-left:1em;margin-bottom:1em}html.no-flexbox .column-group.xlarge-half-horizontal-gutters,html.no-flexboxlegacy .column-group.xlarge-half-horizontal-gutters{margin-left:-1em}html.no-flexbox .column-group.xlarge-half-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-half-horizontal-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-half-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-half-horizontal-gutters>[class*=xlarge-]{padding-left:1em}html.no-flexbox .column-group.xlarge-half-vertical-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-half-vertical-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-half-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-half-vertical-gutters>[class*=xlarge-]{margin-bottom:1em}html.no-flexbox .column-group.xlarge-quarter-gutters,html.no-flexboxlegacy .column-group.xlarge-quarter-gutters{margin-left:-.5em}html.no-flexbox .column-group.xlarge-quarter-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-quarter-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-quarter-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-quarter-gutters>[class*=xlarge-]{padding-left:.5em;margin-bottom:.5em}html.no-flexbox .column-group.xlarge-quarter-horizontal-gutters,html.no-flexboxlegacy .column-group.xlarge-quarter-horizontal-gutters{margin-left:-.5em}html.no-flexbox .column-group.xlarge-quarter-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-quarter-horizontal-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-quarter-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-quarter-horizontal-gutters>[class*=xlarge-]{padding-left:.5em}html.no-flexbox .column-group.xlarge-quarter-vertical-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-quarter-vertical-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-quarter-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-quarter-vertical-gutters>[class*=xlarge-]{margin-bottom:.5em}html.no-flexbox .column-group.xlarge-no-gutters,html.no-flexboxlegacy .column-group.xlarge-no-gutters{margin-left:0}html.no-flexbox .column-group.xlarge-no-gutters>[class*=all-],html.no-flexbox .column-group.xlarge-no-gutters>[class*=xlarge-],html.no-flexboxlegacy .column-group.xlarge-no-gutters>[class*=all-],html.no-flexboxlegacy .column-group.xlarge-no-gutters>[class*=xlarge-]{padding-left:0;margin-bottom:0}html.no-flexbox .ink-table tbody[class*=xlarge-],html.no-flexbox .ink-table td[class*=xlarge-],html.no-flexbox .ink-table tfoot[class*=xlarge-],html.no-flexbox .ink-table th[class*=xlarge-],html.no-flexbox .ink-table thead[class*=xlarge-],html.no-flexbox .ink-table tr[class*=xlarge-],html.no-flexboxlegacy .ink-table tbody[class*=xlarge-],html.no-flexboxlegacy .ink-table td[class*=xlarge-],html.no-flexboxlegacy .ink-table tfoot[class*=xlarge-],html.no-flexboxlegacy .ink-table th[class*=xlarge-],html.no-flexboxlegacy .ink-table thead[class*=xlarge-],html.no-flexboxlegacy .ink-table tr[class*=xlarge-]{float:none}html.no-flexbox .xlarge-push-left,html.no-flexboxlegacy .xlarge-push-left{float:left}html.no-flexbox .xlarge-push-center,html.no-flexboxlegacy .xlarge-push-center{float:none;margin-left:auto;margin-right:auto}html.no-flexbox .xlarge-push-right,html.no-flexboxlegacy .xlarge-push-right{float:right}html.no-flexbox .xlarge-align-left,html.no-flexboxlegacy .xlarge-align-left{text-align:left}html.no-flexbox .xlarge-align-center,html.no-flexboxlegacy .xlarge-align-center{text-align:center}html.no-flexbox .xlarge-align-right,html.no-flexboxlegacy .xlarge-align-right{text-align:right}html.no-flexbox .xlarge-no-margin,html.no-flexboxlegacy .xlarge-no-margin{margin:0!important}html.no-flexbox .space,html.no-flexbox .xlarge-space,html.no-flexboxlegacy .space,html.no-flexboxlegacy .xlarge-space{margin:2em}html.no-flexbox .padding,html.no-flexbox .xlarge-padding,html.no-flexboxlegacy .padding,html.no-flexboxlegacy .xlarge-padding{padding:2em}html.no-flexbox .double-space,html.no-flexbox .xlarge-double-space,html.no-flexboxlegacy .double-space,html.no-flexboxlegacy .xlarge-double-space{margin:4em}html.no-flexbox .double-padding,html.no-flexbox .xlarge-double-padding,html.no-flexboxlegacy .double-padding,html.no-flexboxlegacy .xlarge-double-padding{padding:4em}html.no-flexbox .half-space,html.no-flexbox .xlarge-half-space,html.no-flexboxlegacy .half-space,html.no-flexboxlegacy .xlarge-half-space{margin:1em}html.no-flexbox .half-padding,html.no-flexbox .xlarge-half-padding,html.no-flexboxlegacy .half-padding,html.no-flexboxlegacy .xlarge-half-padding{padding:1em}html.no-flexbox .quarter-space,html.no-flexbox .xlarge-quarter-space,html.no-flexboxlegacy .quarter-space,html.no-flexboxlegacy .xlarge-quarter-space{margin:.5em}html.no-flexbox .quarter-padding,html.no-flexbox .xlarge-quarter-padding,html.no-flexboxlegacy .quarter-padding,html.no-flexboxlegacy .xlarge-quarter-padding{padding:.5em}html.no-flexbox .vertical-space,html.no-flexbox .xlarge-vertical-space,html.no-flexboxlegacy .vertical-space,html.no-flexboxlegacy .xlarge-vertical-space{margin-top:2em;margin-bottom:2em}html.no-flexbox .vertical-padding,html.no-flexbox .xlarge-vertical-padding,html.no-flexboxlegacy .vertical-padding,html.no-flexboxlegacy .xlarge-vertical-padding{padding-top:2em;padding-bottom:2em}html.no-flexbox .double-vertical-space,html.no-flexbox .xlarge-double-vertical-space,html.no-flexboxlegacy .double-vertical-space,html.no-flexboxlegacy .xlarge-double-vertical-space{margin-top:4em;margin-bottom:4em}html.no-flexbox .double-vertical-padding,html.no-flexbox .xlarge-double-vertical-padding,html.no-flexboxlegacy .double-vertical-padding,html.no-flexboxlegacy .xlarge-double-vertical-padding{padding-top:4em;padding-bottom:4em}html.no-flexbox .half-vertical-space,html.no-flexbox .xlarge-half-vertical-space,html.no-flexboxlegacy .half-vertical-space,html.no-flexboxlegacy .xlarge-half-vertical-space{margin-top:1em;margin-bottom:1em}html.no-flexbox .half-vertical-padding,html.no-flexbox .xlarge-half-vertical-padding,html.no-flexboxlegacy .half-vertical-padding,html.no-flexboxlegacy .xlarge-half-vertical-padding{padding-top:1em;padding-bottom:1em}html.no-flexbox .quarter-vertical-space,html.no-flexbox .xlarge-quarter-vertical-space,html.no-flexboxlegacy .quarter-vertical-space,html.no-flexboxlegacy .xlarge-quarter-vertical-space{margin-top:.5em;margin-bottom:.5em}html.no-flexbox .quarter-vertical-padding,html.no-flexbox .xlarge-quarter-vertical-padding,html.no-flexboxlegacy .quarter-vertical-padding,html.no-flexboxlegacy .xlarge-quarter-vertical-padding{padding-top:.5em;padding-bottom:.5em}html.no-flexbox .horizontal-space,html.no-flexbox .xlarge-horizontal-space,html.no-flexboxlegacy .horizontal-space,html.no-flexboxlegacy .xlarge-horizontal-space{margin-left:2em;margin-right:2em}html.no-flexbox .horizontal-padding,html.no-flexbox .xlarge-horizontal-padding,html.no-flexboxlegacy .horizontal-padding,html.no-flexboxlegacy .xlarge-horizontal-padding{padding-left:2em;padding-right:2em}html.no-flexbox .double-horizontal-space,html.no-flexbox .xlarge-double-horizontal-space,html.no-flexboxlegacy .double-horizontal-space,html.no-flexboxlegacy .xlarge-double-horizontal-space{margin-left:4em;margin-right:4em}html.no-flexbox .double-horizontal-padding,html.no-flexbox .xlarge-double-horizontal-padding,html.no-flexboxlegacy .double-horizontal-padding,html.no-flexboxlegacy .xlarge-double-horizontal-padding{padding-left:4em;padding-right:4em}html.no-flexbox .half-horizontal-space,html.no-flexbox .xlarge-half-horizontal-space,html.no-flexboxlegacy .half-horizontal-space,html.no-flexboxlegacy .xlarge-half-horizontal-space{margin-left:1em;margin-right:1em}html.no-flexbox .half-horizontal-padding,html.no-flexbox .xlarge-half-horizontal-padding,html.no-flexboxlegacy .half-horizontal-padding,html.no-flexboxlegacy .xlarge-half-horizontal-padding{padding-left:1em;padding-right:1em}html.no-flexbox .quarter-horizontal-space,html.no-flexbox .xlarge-quarter-horizontal-space,html.no-flexboxlegacy .quarter-horizontal-space,html.no-flexboxlegacy .xlarge-quarter-horizontal-space{margin-left:.5em;margin-right:.5em}html.no-flexbox .quarter-horizontal-padding,html.no-flexbox .xlarge-quarter-horizontal-padding,html.no-flexboxlegacy .quarter-horizontal-padding,html.no-flexboxlegacy .xlarge-quarter-horizontal-padding{padding-left:.5em;padding-right:.5em}html.no-flexbox .top-space,html.no-flexbox .xlarge-top-space,html.no-flexboxlegacy .top-space,html.no-flexboxlegacy .xlarge-top-space{margin-top:2em}html.no-flexbox .top-padding,html.no-flexbox .xlarge-top-padding,html.no-flexboxlegacy .top-padding,html.no-flexboxlegacy .xlarge-top-padding{padding-top:2em}html.no-flexbox .double-top-space,html.no-flexbox .xlarge-double-top-space,html.no-flexboxlegacy .double-top-space,html.no-flexboxlegacy .xlarge-double-top-space{margin-top:4em}html.no-flexbox .double-top-padding,html.no-flexbox .xlarge-double-top-padding,html.no-flexboxlegacy .double-top-padding,html.no-flexboxlegacy .xlarge-double-top-padding{padding-top:4em}html.no-flexbox .half-top-space,html.no-flexbox .xlarge-half-top-space,html.no-flexboxlegacy .half-top-space,html.no-flexboxlegacy .xlarge-half-top-space{margin-top:1em}html.no-flexbox .half-top-padding,html.no-flexbox .xlarge-half-top-padding,html.no-flexboxlegacy .half-top-padding,html.no-flexboxlegacy .xlarge-half-top-padding{padding-top:1em}html.no-flexbox .quarter-top-space,html.no-flexbox .xlarge-quarter-top-space,html.no-flexboxlegacy .quarter-top-space,html.no-flexboxlegacy .xlarge-quarter-top-space{margin-top:.5em}html.no-flexbox .quarter-top-padding,html.no-flexbox .xlarge-quarter-top-padding,html.no-flexboxlegacy .quarter-top-padding,html.no-flexboxlegacy .xlarge-quarter-top-padding{padding-top:.5em}html.no-flexbox .right-space,html.no-flexbox .xlarge-right-space,html.no-flexboxlegacy .right-space,html.no-flexboxlegacy .xlarge-right-space{margin-right:2em}html.no-flexbox .right-padding,html.no-flexbox .xlarge-right-padding,html.no-flexboxlegacy .right-padding,html.no-flexboxlegacy .xlarge-right-padding{padding-right:2em}html.no-flexbox .double-right-space,html.no-flexbox .xlarge-double-right-space,html.no-flexboxlegacy .double-right-space,html.no-flexboxlegacy .xlarge-double-right-space{margin-right:4em}html.no-flexbox .double-right-padding,html.no-flexbox .xlarge-double-right-padding,html.no-flexboxlegacy .double-right-padding,html.no-flexboxlegacy .xlarge-double-right-padding{padding-right:4em}html.no-flexbox .half-right-space,html.no-flexbox .xlarge-half-right-space,html.no-flexboxlegacy .half-right-space,html.no-flexboxlegacy .xlarge-half-right-space{margin-right:1em}html.no-flexbox .half-right-padding,html.no-flexbox .xlarge-half-right-padding,html.no-flexboxlegacy .half-right-padding,html.no-flexboxlegacy .xlarge-half-right-padding{padding-right:1em}html.no-flexbox .quarter-right-space,html.no-flexbox .xlarge-quarter-right-space,html.no-flexboxlegacy .quarter-right-space,html.no-flexboxlegacy .xlarge-quarter-right-space{margin-right:.5em}html.no-flexbox .quarter-right-padding,html.no-flexbox .xlarge-quarter-right-padding,html.no-flexboxlegacy .quarter-right-padding,html.no-flexboxlegacy .xlarge-quarter-right-padding{padding-right:.5em}html.no-flexbox .bottom-space,html.no-flexbox .xlarge-bottom-space,html.no-flexboxlegacy .bottom-space,html.no-flexboxlegacy .xlarge-bottom-space{margin-bottom:2em}html.no-flexbox .bottom-padding,html.no-flexbox .xlarge-bottom-padding,html.no-flexboxlegacy .bottom-padding,html.no-flexboxlegacy .xlarge-bottom-padding{padding-bottom:2em}html.no-flexbox .double-bottom-space,html.no-flexbox .xlarge-double-bottom-space,html.no-flexboxlegacy .double-bottom-space,html.no-flexboxlegacy .xlarge-double-bottom-space{margin-bottom:4em}html.no-flexbox .double-bottom-padding,html.no-flexbox .xlarge-double-bottom-padding,html.no-flexboxlegacy .double-bottom-padding,html.no-flexboxlegacy .xlarge-double-bottom-padding{padding-bottom:4em}html.no-flexbox .half-bottom-space,html.no-flexbox .xlarge-half-bottom-space,html.no-flexboxlegacy .half-bottom-space,html.no-flexboxlegacy .xlarge-half-bottom-space{margin-bottom:1em}html.no-flexbox .half-bottom-padding,html.no-flexbox .xlarge-half-bottom-padding,html.no-flexboxlegacy .half-bottom-padding,html.no-flexboxlegacy .xlarge-half-bottom-padding{padding-bottom:1em}html.no-flexbox .quarter-bottom-space,html.no-flexbox .xlarge-quarter-bottom-space,html.no-flexboxlegacy .quarter-bottom-space,html.no-flexboxlegacy .xlarge-quarter-bottom-space{margin-bottom:.5em}html.no-flexbox .quarter-bottom-padding,html.no-flexbox .xlarge-quarter-bottom-padding,html.no-flexboxlegacy .quarter-bottom-padding,html.no-flexboxlegacy .xlarge-quarter-bottom-padding{padding-bottom:.5em}html.no-flexbox .left-space,html.no-flexbox .xlarge-left-space,html.no-flexboxlegacy .left-space,html.no-flexboxlegacy .xlarge-left-space{margin-left:2em}html.no-flexbox .left-padding,html.no-flexbox .xlarge-left-padding,html.no-flexboxlegacy .left-padding,html.no-flexboxlegacy .xlarge-left-padding{padding-left:2em}html.no-flexbox .double-left-space,html.no-flexbox .xlarge-double-left-space,html.no-flexboxlegacy .double-left-space,html.no-flexboxlegacy .xlarge-double-left-space{margin-left:4em}html.no-flexbox .double-left-padding,html.no-flexbox .xlarge-double-left-padding,html.no-flexboxlegacy .double-left-padding,html.no-flexboxlegacy .xlarge-double-left-padding{padding-left:4em}html.no-flexbox .half-left-space,html.no-flexbox .xlarge-half-left-space,html.no-flexboxlegacy .half-left-space,html.no-flexboxlegacy .xlarge-half-left-space{margin-left:1em}html.no-flexbox .half-left-padding,html.no-flexbox .xlarge-half-left-padding,html.no-flexboxlegacy .half-left-padding,html.no-flexboxlegacy .xlarge-half-left-padding{padding-left:1em}html.no-flexbox .quarter-left-space,html.no-flexbox .xlarge-quarter-left-space,html.no-flexboxlegacy .quarter-left-space,html.no-flexboxlegacy .xlarge-quarter-left-space{margin-left:.5em}html.no-flexbox .quarter-left-padding,html.no-flexbox .xlarge-quarter-left-padding,html.no-flexboxlegacy .quarter-left-padding,html.no-flexboxlegacy .xlarge-quarter-left-padding{padding-left:.5em}html.no-flexbox .hide-xlarge,html.no-flexboxlegacy .hide-xlarge{display:none!important}html.no-flexbox .show-xlarge,html.no-flexboxlegacy .show-xlarge{display:inherit!important}html.no-flexbox table.show-xlarge,html.no-flexboxlegacy table.show-xlarge{display:table}html.no-flexbox thead.show-xlarge,html.no-flexboxlegacy thead.show-xlarge{display:table-header-group}html.no-flexbox tbody.show-xlarge,html.no-flexboxlegacy tbody.show-xlarge{display:table-row-group}html.no-flexbox tfoot.show-xlarge,html.no-flexboxlegacy tfoot.show-xlarge{display:table-footer-group}html.no-flexbox tr.show-xlarge,html.no-flexboxlegacy tr.show-xlarge{display:table-row}html.no-flexbox td.show-xlarge,html.no-flexbox th.show-xlarge,html.no-flexboxlegacy td.show-xlarge,html.no-flexboxlegacy th.show-xlarge{display:table-cell}}@media screen and (min-width:961px) and (max-width:1260px){html.no-flexbox .ink-grid,html.no-flexboxlegacy .ink-grid{padding:0 1.75em}html.no-flexbox .column-group>[class*=large-],html.no-flexboxlegacy .column-group>[class*=large-]{float:left;clear:none}html.no-flexbox .large-5,html.no-flexboxlegacy .large-5{width:5%}html.no-flexbox .large-10,html.no-flexboxlegacy .large-10{width:10%}html.no-flexbox .large-15,html.no-flexboxlegacy .large-15{width:15%}html.no-flexbox .large-16,html.no-flexboxlegacy .large-16{width:16.66%}html.no-flexbox .large-20,html.no-flexboxlegacy .large-20{width:20%}html.no-flexbox .large-25,html.no-flexboxlegacy .large-25{width:25%}html.no-flexbox .large-30,html.no-flexboxlegacy .large-30{width:30%}html.no-flexbox .large-33,html.no-flexboxlegacy .large-33{width:33.33%}html.no-flexbox .large-35,html.no-flexboxlegacy .large-35{width:35%}html.no-flexbox .large-40,html.no-flexboxlegacy .large-40{width:40%}html.no-flexbox .large-45,html.no-flexboxlegacy .large-45{width:45%}html.no-flexbox .large-50,html.no-flexboxlegacy .large-50{width:50%}html.no-flexbox .large-55,html.no-flexboxlegacy .large-55{width:55%}html.no-flexbox .large-60,html.no-flexboxlegacy .large-60{width:60%}html.no-flexbox .large-65,html.no-flexboxlegacy .large-65{width:65%}html.no-flexbox .large-66,html.no-flexboxlegacy .large-66{width:66.66%}html.no-flexbox .large-70,html.no-flexboxlegacy .large-70{width:70%}html.no-flexbox .large-75,html.no-flexboxlegacy .large-75{width:75%}html.no-flexbox .large-80,html.no-flexboxlegacy .large-80{width:80%}html.no-flexbox .large-85,html.no-flexboxlegacy .large-85{width:85%}html.no-flexbox .large-90,html.no-flexboxlegacy .large-90{width:90%}html.no-flexbox .large-95,html.no-flexboxlegacy .large-95{width:95%}html.no-flexbox .large-100,html.no-flexboxlegacy .large-100{width:100%}html.no-flexbox [class*=large-100],html.no-flexboxlegacy [class*=large-100]{float:none;clear:both}html.no-flexbox .column-group,html.no-flexboxlegacy .column-group{*zoom:1}html.no-flexbox .column-group:after,html.no-flexboxlegacy .column-group:after{content:"";display:table;clear:both}html.no-flexbox .column-group.gutters,html.no-flexboxlegacy .column-group.gutters{margin-left:-1.75em}html.no-flexbox .column-group.gutters>[class*=all-],html.no-flexbox .column-group.gutters>[class*=large-],html.no-flexboxlegacy .column-group.gutters>[class*=all-],html.no-flexboxlegacy .column-group.gutters>[class*=large-]{padding-left:1.75em;margin-bottom:1.75em}html.no-flexbox .column-group.horizontal-gutters,html.no-flexboxlegacy .column-group.horizontal-gutters{margin-left:-1.75em}html.no-flexbox .column-group.horizontal-gutters>[class*=all-],html.no-flexbox .column-group.horizontal-gutters>[class*=large-],html.no-flexboxlegacy .column-group.horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.horizontal-gutters>[class*=large-]{padding-left:1.75em}html.no-flexbox .column-group.vertical-gutters>[class*=all-],html.no-flexbox .column-group.vertical-gutters>[class*=large-],html.no-flexboxlegacy .column-group.vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.vertical-gutters>[class*=large-]{margin-bottom:1.75em}html.no-flexbox .column-group.double-gutters,html.no-flexboxlegacy .column-group.double-gutters{margin-left:-3.5em}html.no-flexbox .column-group.double-gutters>[class*=all-],html.no-flexbox .column-group.double-gutters>[class*=large-],html.no-flexboxlegacy .column-group.double-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-gutters>[class*=large-]{padding-left:3.5em;margin-bottom:3.5em}html.no-flexbox .column-group.double-horizontal-gutters,html.no-flexboxlegacy .column-group.double-horizontal-gutters{margin-left:-3.5em}html.no-flexbox .column-group.double-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.double-horizontal-gutters>[class*=large-],html.no-flexboxlegacy .column-group.double-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-horizontal-gutters>[class*=large-]{padding-left:3.5em}html.no-flexbox .column-group.double-vertical-gutters>[class*=all-],html.no-flexbox .column-group.double-vertical-gutters>[class*=large-],html.no-flexboxlegacy .column-group.double-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-vertical-gutters>[class*=large-]{margin-bottom:3.5em}html.no-flexbox .column-group.half-gutters,html.no-flexboxlegacy .column-group.half-gutters{margin-left:-.875em}html.no-flexbox .column-group.half-gutters>[class*=all-],html.no-flexbox .column-group.half-gutters>[class*=large-],html.no-flexboxlegacy .column-group.half-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-gutters>[class*=large-]{padding-left:.875em;margin-bottom:.875em}html.no-flexbox .column-group.half-horizontal-gutters,html.no-flexboxlegacy .column-group.half-horizontal-gutters{margin-left:-.875em}html.no-flexbox .column-group.half-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.half-horizontal-gutters>[class*=large-],html.no-flexboxlegacy .column-group.half-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-horizontal-gutters>[class*=large-]{padding-left:.875em}html.no-flexbox .column-group.half-vertical-gutters>[class*=all-],html.no-flexbox .column-group.half-vertical-gutters>[class*=large-],html.no-flexboxlegacy .column-group.half-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-vertical-gutters>[class*=large-]{margin-bottom:.875em}html.no-flexbox .column-group.quarter-gutters,html.no-flexboxlegacy .column-group.quarter-gutters{margin-left:-.4375em}html.no-flexbox .column-group.quarter-gutters>[class*=all-],html.no-flexbox .column-group.quarter-gutters>[class*=large-],html.no-flexboxlegacy .column-group.quarter-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-gutters>[class*=large-]{padding-left:.4375em;margin-bottom:.4375em}html.no-flexbox .column-group.quarter-horizontal-gutters,html.no-flexboxlegacy .column-group.quarter-horizontal-gutters{margin-left:-.4375em}html.no-flexbox .column-group.quarter-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.quarter-horizontal-gutters>[class*=large-],html.no-flexboxlegacy .column-group.quarter-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-horizontal-gutters>[class*=large-]{padding-left:.4375em}html.no-flexbox .column-group.quarter-vertical-gutters>[class*=all-],html.no-flexbox .column-group.quarter-vertical-gutters>[class*=large-],html.no-flexboxlegacy .column-group.quarter-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-vertical-gutters>[class*=large-]{margin-bottom:.4375em}html.no-flexbox .column-group.large-gutters,html.no-flexboxlegacy .column-group.large-gutters{margin-left:-1.75em}html.no-flexbox .column-group.large-gutters>[class*=all-],html.no-flexbox .column-group.large-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-gutters>[class*=large-]{padding-left:1.75em;margin-bottom:1.75em}html.no-flexbox .column-group.large-horizontal-gutters,html.no-flexboxlegacy .column-group.large-horizontal-gutters{margin-left:-1.75em}html.no-flexbox .column-group.large-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.large-horizontal-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-horizontal-gutters>[class*=large-]{padding-left:1.75em}html.no-flexbox .column-group.large-vertical-gutters>[class*=all-],html.no-flexbox .column-group.large-vertical-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-vertical-gutters>[class*=large-]{margin-bottom:1.75em}html.no-flexbox .column-group.large-double-gutters,html.no-flexboxlegacy .column-group.large-double-gutters{margin-left:-3.5em}html.no-flexbox .column-group.large-double-gutters>[class*=all-],html.no-flexbox .column-group.large-double-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-double-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-double-gutters>[class*=large-]{padding-left:3.5em;margin-bottom:3.5em}html.no-flexbox .column-group.large-double-horizontal-gutters,html.no-flexboxlegacy .column-group.large-double-horizontal-gutters{margin-left:-3.5em}html.no-flexbox .column-group.large-double-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.large-double-horizontal-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-double-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-double-horizontal-gutters>[class*=large-]{padding-left:3.5em}html.no-flexbox .column-group.large-double-vertical-gutters>[class*=all-],html.no-flexbox .column-group.large-double-vertical-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-double-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-double-vertical-gutters>[class*=large-]{margin-bottom:3.5em}html.no-flexbox .column-group.large-half-gutters,html.no-flexboxlegacy .column-group.large-half-gutters{margin-left:-.875em}html.no-flexbox .column-group.large-half-gutters>[class*=all-],html.no-flexbox .column-group.large-half-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-half-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-half-gutters>[class*=large-]{padding-left:.875em;margin-bottom:.875em}html.no-flexbox .column-group.large-half-horizontal-gutters,html.no-flexboxlegacy .column-group.large-half-horizontal-gutters{margin-left:-.875em}html.no-flexbox .column-group.large-half-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.large-half-horizontal-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-half-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-half-horizontal-gutters>[class*=large-]{padding-left:.875em}html.no-flexbox .column-group.large-half-vertical-gutters>[class*=all-],html.no-flexbox .column-group.large-half-vertical-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-half-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-half-vertical-gutters>[class*=large-]{margin-bottom:.875em}html.no-flexbox .column-group.large-quarter-gutters,html.no-flexboxlegacy .column-group.large-quarter-gutters{margin-left:-.4375em}html.no-flexbox .column-group.large-quarter-gutters>[class*=all-],html.no-flexbox .column-group.large-quarter-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-quarter-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-quarter-gutters>[class*=large-]{padding-left:.4375em;margin-bottom:.4375em}html.no-flexbox .column-group.large-quarter-horizontal-gutters,html.no-flexboxlegacy .column-group.large-quarter-horizontal-gutters{margin-left:-.4375em}html.no-flexbox .column-group.large-quarter-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.large-quarter-horizontal-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-quarter-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-quarter-horizontal-gutters>[class*=large-]{padding-left:.4375em}html.no-flexbox .column-group.large-quarter-vertical-gutters>[class*=all-],html.no-flexbox .column-group.large-quarter-vertical-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-quarter-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-quarter-vertical-gutters>[class*=large-]{margin-bottom:.4375em}html.no-flexbox .column-group.large-no-gutters,html.no-flexboxlegacy .column-group.large-no-gutters{margin-left:0}html.no-flexbox .column-group.large-no-gutters>[class*=all-],html.no-flexbox .column-group.large-no-gutters>[class*=large-],html.no-flexboxlegacy .column-group.large-no-gutters>[class*=all-],html.no-flexboxlegacy .column-group.large-no-gutters>[class*=large-]{padding-left:0;margin-bottom:0}html.no-flexbox .ink-table tbody[class*=large-],html.no-flexbox .ink-table td[class*=large-],html.no-flexbox .ink-table tfoot[class*=large-],html.no-flexbox .ink-table th[class*=large-],html.no-flexbox .ink-table thead[class*=large-],html.no-flexbox .ink-table tr[class*=large-],html.no-flexboxlegacy .ink-table tbody[class*=large-],html.no-flexboxlegacy .ink-table td[class*=large-],html.no-flexboxlegacy .ink-table tfoot[class*=large-],html.no-flexboxlegacy .ink-table th[class*=large-],html.no-flexboxlegacy .ink-table thead[class*=large-],html.no-flexboxlegacy .ink-table tr[class*=large-]{float:none}html.no-flexbox .large-push-left,html.no-flexboxlegacy .large-push-left{float:left}html.no-flexbox .large-push-center,html.no-flexboxlegacy .large-push-center{float:none;margin-left:auto;margin-right:auto}html.no-flexbox .large-push-right,html.no-flexboxlegacy .large-push-right{float:right}html.no-flexbox .large-align-left,html.no-flexboxlegacy .large-align-left{text-align:left}html.no-flexbox .large-align-center,html.no-flexboxlegacy .large-align-center{text-align:center}html.no-flexbox .large-align-right,html.no-flexboxlegacy .large-align-right{text-align:right}html.no-flexbox .large-no-margin,html.no-flexboxlegacy .large-no-margin{margin:0!important}html.no-flexbox .large-space,html.no-flexbox .space,html.no-flexboxlegacy .large-space,html.no-flexboxlegacy .space{margin:1.75em}html.no-flexbox .large-padding,html.no-flexbox .padding,html.no-flexboxlegacy .large-padding,html.no-flexboxlegacy .padding{padding:1.75em}html.no-flexbox .double-space,html.no-flexbox .large-double-space,html.no-flexboxlegacy .double-space,html.no-flexboxlegacy .large-double-space{margin:3.5em}html.no-flexbox .double-padding,html.no-flexbox .large-double-padding,html.no-flexboxlegacy .double-padding,html.no-flexboxlegacy .large-double-padding{padding:3.5em}html.no-flexbox .half-space,html.no-flexbox .large-half-space,html.no-flexboxlegacy .half-space,html.no-flexboxlegacy .large-half-space{margin:.875em}html.no-flexbox .half-padding,html.no-flexbox .large-half-padding,html.no-flexboxlegacy .half-padding,html.no-flexboxlegacy .large-half-padding{padding:.875em}html.no-flexbox .large-quarter-space,html.no-flexbox .quarter-space,html.no-flexboxlegacy .large-quarter-space,html.no-flexboxlegacy .quarter-space{margin:.4375em}html.no-flexbox .large-quarter-padding,html.no-flexbox .quarter-padding,html.no-flexboxlegacy .large-quarter-padding,html.no-flexboxlegacy .quarter-padding{padding:.4375em}html.no-flexbox .large-vertical-space,html.no-flexbox .vertical-space,html.no-flexboxlegacy .large-vertical-space,html.no-flexboxlegacy .vertical-space{margin-top:1.75em;margin-bottom:1.75em}html.no-flexbox .large-vertical-padding,html.no-flexbox .vertical-padding,html.no-flexboxlegacy .large-vertical-padding,html.no-flexboxlegacy .vertical-padding{padding-top:1.75em;padding-bottom:1.75em}html.no-flexbox .double-vertical-space,html.no-flexbox .large-double-vertical-space,html.no-flexboxlegacy .double-vertical-space,html.no-flexboxlegacy .large-double-vertical-space{margin-top:3.5em;margin-bottom:3.5em}html.no-flexbox .double-vertical-padding,html.no-flexbox .large-double-vertical-padding,html.no-flexboxlegacy .double-vertical-padding,html.no-flexboxlegacy .large-double-vertical-padding{padding-top:3.5em;padding-bottom:3.5em}html.no-flexbox .half-vertical-space,html.no-flexbox .large-half-vertical-space,html.no-flexboxlegacy .half-vertical-space,html.no-flexboxlegacy .large-half-vertical-space{margin-top:.875em;margin-bottom:.875em}html.no-flexbox .half-vertical-padding,html.no-flexbox .large-half-vertical-padding,html.no-flexboxlegacy .half-vertical-padding,html.no-flexboxlegacy .large-half-vertical-padding{padding-top:.875em;padding-bottom:.875em}html.no-flexbox .large-quarter-vertical-space,html.no-flexbox .quarter-vertical-space,html.no-flexboxlegacy .large-quarter-vertical-space,html.no-flexboxlegacy .quarter-vertical-space{margin-top:.4375em;margin-bottom:.4375em}html.no-flexbox .large-quarter-vertical-padding,html.no-flexbox .quarter-vertical-padding,html.no-flexboxlegacy .large-quarter-vertical-padding,html.no-flexboxlegacy .quarter-vertical-padding{padding-top:.4375em;padding-bottom:.4375em}html.no-flexbox .horizontal-space,html.no-flexbox .large-horizontal-space,html.no-flexboxlegacy .horizontal-space,html.no-flexboxlegacy .large-horizontal-space{margin-left:1.75em;margin-right:1.75em}html.no-flexbox .horizontal-padding,html.no-flexbox .large-horizontal-padding,html.no-flexboxlegacy .horizontal-padding,html.no-flexboxlegacy .large-horizontal-padding{padding-left:1.75em;padding-right:1.75em}html.no-flexbox .double-horizontal-space,html.no-flexbox .large-double-horizontal-space,html.no-flexboxlegacy .double-horizontal-space,html.no-flexboxlegacy .large-double-horizontal-space{margin-left:3.5em;margin-right:3.5em}html.no-flexbox .double-horizontal-padding,html.no-flexbox .large-double-horizontal-padding,html.no-flexboxlegacy .double-horizontal-padding,html.no-flexboxlegacy .large-double-horizontal-padding{padding-left:3.5em;padding-right:3.5em}html.no-flexbox .half-horizontal-space,html.no-flexbox .large-half-horizontal-space,html.no-flexboxlegacy .half-horizontal-space,html.no-flexboxlegacy .large-half-horizontal-space{margin-left:.875em;margin-right:.875em}html.no-flexbox .half-horizontal-padding,html.no-flexbox .large-half-horizontal-padding,html.no-flexboxlegacy .half-horizontal-padding,html.no-flexboxlegacy .large-half-horizontal-padding{padding-left:.875em;padding-right:.875em}html.no-flexbox .large-quarter-horizontal-space,html.no-flexbox .quarter-horizontal-space,html.no-flexboxlegacy .large-quarter-horizontal-space,html.no-flexboxlegacy .quarter-horizontal-space{margin-left:.4375em;margin-right:.4375em}html.no-flexbox .large-quarter-horizontal-padding,html.no-flexbox .quarter-horizontal-padding,html.no-flexboxlegacy .large-quarter-horizontal-padding,html.no-flexboxlegacy .quarter-horizontal-padding{padding-left:.4375em;padding-right:.4375em}html.no-flexbox .large-top-space,html.no-flexbox .top-space,html.no-flexboxlegacy .large-top-space,html.no-flexboxlegacy .top-space{margin-top:1.75em}html.no-flexbox .large-top-padding,html.no-flexbox .top-padding,html.no-flexboxlegacy .large-top-padding,html.no-flexboxlegacy .top-padding{padding-top:1.75em}html.no-flexbox .double-top-space,html.no-flexbox .large-double-top-space,html.no-flexboxlegacy .double-top-space,html.no-flexboxlegacy .large-double-top-space{margin-top:3.5em}html.no-flexbox .double-top-padding,html.no-flexbox .large-double-top-padding,html.no-flexboxlegacy .double-top-padding,html.no-flexboxlegacy .large-double-top-padding{padding-top:3.5em}html.no-flexbox .half-top-space,html.no-flexbox .large-half-top-space,html.no-flexboxlegacy .half-top-space,html.no-flexboxlegacy .large-half-top-space{margin-top:.875em}html.no-flexbox .half-top-padding,html.no-flexbox .large-half-top-padding,html.no-flexboxlegacy .half-top-padding,html.no-flexboxlegacy .large-half-top-padding{padding-top:.875em}html.no-flexbox .large-quarter-top-space,html.no-flexbox .quarter-top-space,html.no-flexboxlegacy .large-quarter-top-space,html.no-flexboxlegacy .quarter-top-space{margin-top:.4375em}html.no-flexbox .large-quarter-top-padding,html.no-flexbox .quarter-top-padding,html.no-flexboxlegacy .large-quarter-top-padding,html.no-flexboxlegacy .quarter-top-padding{padding-top:.4375em}html.no-flexbox .large-right-space,html.no-flexbox .right-space,html.no-flexboxlegacy .large-right-space,html.no-flexboxlegacy .right-space{margin-right:1.75em}html.no-flexbox .large-right-padding,html.no-flexbox .right-padding,html.no-flexboxlegacy .large-right-padding,html.no-flexboxlegacy .right-padding{padding-right:1.75em}html.no-flexbox .double-right-space,html.no-flexbox .large-double-right-space,html.no-flexboxlegacy .double-right-space,html.no-flexboxlegacy .large-double-right-space{margin-right:3.5em}html.no-flexbox .double-right-padding,html.no-flexbox .large-double-right-padding,html.no-flexboxlegacy .double-right-padding,html.no-flexboxlegacy .large-double-right-padding{padding-right:3.5em}html.no-flexbox .half-right-space,html.no-flexbox .large-half-right-space,html.no-flexboxlegacy .half-right-space,html.no-flexboxlegacy .large-half-right-space{margin-right:.875em}html.no-flexbox .half-right-padding,html.no-flexbox .large-half-right-padding,html.no-flexboxlegacy .half-right-padding,html.no-flexboxlegacy .large-half-right-padding{padding-right:.875em}html.no-flexbox .large-quarter-right-space,html.no-flexbox .quarter-right-space,html.no-flexboxlegacy .large-quarter-right-space,html.no-flexboxlegacy .quarter-right-space{margin-right:.4375em}html.no-flexbox .large-quarter-right-padding,html.no-flexbox .quarter-right-padding,html.no-flexboxlegacy .large-quarter-right-padding,html.no-flexboxlegacy .quarter-right-padding{padding-right:.4375em}html.no-flexbox .bottom-space,html.no-flexbox .large-bottom-space,html.no-flexboxlegacy .bottom-space,html.no-flexboxlegacy .large-bottom-space{margin-bottom:1.75em}html.no-flexbox .bottom-padding,html.no-flexbox .large-bottom-padding,html.no-flexboxlegacy .bottom-padding,html.no-flexboxlegacy .large-bottom-padding{padding-bottom:1.75em}html.no-flexbox .double-bottom-space,html.no-flexbox .large-double-bottom-space,html.no-flexboxlegacy .double-bottom-space,html.no-flexboxlegacy .large-double-bottom-space{margin-bottom:3.5em}html.no-flexbox .double-bottom-padding,html.no-flexbox .large-double-bottom-padding,html.no-flexboxlegacy .double-bottom-padding,html.no-flexboxlegacy .large-double-bottom-padding{padding-bottom:3.5em}html.no-flexbox .half-bottom-space,html.no-flexbox .large-half-bottom-space,html.no-flexboxlegacy .half-bottom-space,html.no-flexboxlegacy .large-half-bottom-space{margin-bottom:.875em}html.no-flexbox .half-bottom-padding,html.no-flexbox .large-half-bottom-padding,html.no-flexboxlegacy .half-bottom-padding,html.no-flexboxlegacy .large-half-bottom-padding{padding-bottom:.875em}html.no-flexbox .large-quarter-bottom-space,html.no-flexbox .quarter-bottom-space,html.no-flexboxlegacy .large-quarter-bottom-space,html.no-flexboxlegacy .quarter-bottom-space{margin-bottom:.4375em}html.no-flexbox .large-quarter-bottom-padding,html.no-flexbox .quarter-bottom-padding,html.no-flexboxlegacy .large-quarter-bottom-padding,html.no-flexboxlegacy .quarter-bottom-padding{padding-bottom:.4375em}html.no-flexbox .large-left-space,html.no-flexbox .left-space,html.no-flexboxlegacy .large-left-space,html.no-flexboxlegacy .left-space{margin-left:1.75em}html.no-flexbox .large-left-padding,html.no-flexbox .left-padding,html.no-flexboxlegacy .large-left-padding,html.no-flexboxlegacy .left-padding{padding-left:1.75em}html.no-flexbox .double-left-space,html.no-flexbox .large-double-left-space,html.no-flexboxlegacy .double-left-space,html.no-flexboxlegacy .large-double-left-space{margin-left:3.5em}html.no-flexbox .double-left-padding,html.no-flexbox .large-double-left-padding,html.no-flexboxlegacy .double-left-padding,html.no-flexboxlegacy .large-double-left-padding{padding-left:3.5em}html.no-flexbox .half-left-space,html.no-flexbox .large-half-left-space,html.no-flexboxlegacy .half-left-space,html.no-flexboxlegacy .large-half-left-space{margin-left:.875em}html.no-flexbox .half-left-padding,html.no-flexbox .large-half-left-padding,html.no-flexboxlegacy .half-left-padding,html.no-flexboxlegacy .large-half-left-padding{padding-left:.875em}html.no-flexbox .large-quarter-left-space,html.no-flexbox .quarter-left-space,html.no-flexboxlegacy .large-quarter-left-space,html.no-flexboxlegacy .quarter-left-space{margin-left:.4375em}html.no-flexbox .large-quarter-left-padding,html.no-flexbox .quarter-left-padding,html.no-flexboxlegacy .large-quarter-left-padding,html.no-flexboxlegacy .quarter-left-padding{padding-left:.4375em}html.no-flexbox .hide-large,html.no-flexboxlegacy .hide-large{display:none!important}html.no-flexbox .show-large,html.no-flexboxlegacy .show-large{display:inherit!important}html.no-flexbox table.show-large,html.no-flexboxlegacy table.show-large{display:table}html.no-flexbox thead.show-large,html.no-flexboxlegacy thead.show-large{display:table-header-group}html.no-flexbox tbody.show-large,html.no-flexboxlegacy tbody.show-large{display:table-row-group}html.no-flexbox tfoot.show-large,html.no-flexboxlegacy tfoot.show-large{display:table-footer-group}html.no-flexbox tr.show-large,html.no-flexboxlegacy tr.show-large{display:table-row}html.no-flexbox td.show-large,html.no-flexbox th.show-large,html.no-flexboxlegacy td.show-large,html.no-flexboxlegacy th.show-large{display:table-cell}}@media screen and (min-width:641px) and (max-width:960px){html.no-flexbox .ink-grid,html.no-flexboxlegacy .ink-grid{padding:0 1.5em}html.no-flexbox .column-group>[class*=medium-],html.no-flexboxlegacy .column-group>[class*=medium-]{float:left;clear:none}html.no-flexbox .medium-5,html.no-flexboxlegacy .medium-5{width:5%}html.no-flexbox .medium-10,html.no-flexboxlegacy .medium-10{width:10%}html.no-flexbox .medium-15,html.no-flexboxlegacy .medium-15{width:15%}html.no-flexbox .medium-16,html.no-flexboxlegacy .medium-16{width:16.66%}html.no-flexbox .medium-20,html.no-flexboxlegacy .medium-20{width:20%}html.no-flexbox .medium-25,html.no-flexboxlegacy .medium-25{width:25%}html.no-flexbox .medium-30,html.no-flexboxlegacy .medium-30{width:30%}html.no-flexbox .medium-33,html.no-flexboxlegacy .medium-33{width:33.33%}html.no-flexbox .medium-35,html.no-flexboxlegacy .medium-35{width:35%}html.no-flexbox .medium-40,html.no-flexboxlegacy .medium-40{width:40%}html.no-flexbox .medium-45,html.no-flexboxlegacy .medium-45{width:45%}html.no-flexbox .medium-50,html.no-flexboxlegacy .medium-50{width:50%}html.no-flexbox .medium-55,html.no-flexboxlegacy .medium-55{width:55%}html.no-flexbox .medium-60,html.no-flexboxlegacy .medium-60{width:60%}html.no-flexbox .medium-65,html.no-flexboxlegacy .medium-65{width:65%}html.no-flexbox .medium-66,html.no-flexboxlegacy .medium-66{width:66.66%}html.no-flexbox .medium-70,html.no-flexboxlegacy .medium-70{width:70%}html.no-flexbox .medium-75,html.no-flexboxlegacy .medium-75{width:75%}html.no-flexbox .medium-80,html.no-flexboxlegacy .medium-80{width:80%}html.no-flexbox .medium-85,html.no-flexboxlegacy .medium-85{width:85%}html.no-flexbox .medium-90,html.no-flexboxlegacy .medium-90{width:90%}html.no-flexbox .medium-95,html.no-flexboxlegacy .medium-95{width:95%}html.no-flexbox .medium-100,html.no-flexboxlegacy .medium-100{width:100%}html.no-flexbox [class*=medium-100],html.no-flexboxlegacy [class*=medium-100]{float:none;clear:both}html.no-flexbox .column-group,html.no-flexboxlegacy .column-group{*zoom:1}html.no-flexbox .column-group:after,html.no-flexboxlegacy .column-group:after{content:"";display:table;clear:both}html.no-flexbox .column-group.gutters,html.no-flexboxlegacy .column-group.gutters{margin-left:-1.5em}html.no-flexbox .column-group.gutters>[class*=all-],html.no-flexbox .column-group.gutters>[class*=medium-],html.no-flexboxlegacy .column-group.gutters>[class*=all-],html.no-flexboxlegacy .column-group.gutters>[class*=medium-]{padding-left:1.5em;margin-bottom:1.5em}html.no-flexbox .column-group.horizontal-gutters,html.no-flexboxlegacy .column-group.horizontal-gutters{margin-left:-1.5em}html.no-flexbox .column-group.horizontal-gutters>[class*=all-],html.no-flexbox .column-group.horizontal-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.horizontal-gutters>[class*=medium-]{padding-left:1.5em}html.no-flexbox .column-group.vertical-gutters>[class*=all-],html.no-flexbox .column-group.vertical-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.vertical-gutters>[class*=medium-]{margin-bottom:1.5em}html.no-flexbox .column-group.double-gutters,html.no-flexboxlegacy .column-group.double-gutters{margin-left:-3em}html.no-flexbox .column-group.double-gutters>[class*=all-],html.no-flexbox .column-group.double-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.double-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-gutters>[class*=medium-]{padding-left:3em;margin-bottom:3em}html.no-flexbox .column-group.double-horizontal-gutters,html.no-flexboxlegacy .column-group.double-horizontal-gutters{margin-left:-3em}html.no-flexbox .column-group.double-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.double-horizontal-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.double-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-horizontal-gutters>[class*=medium-]{padding-left:3em}html.no-flexbox .column-group.double-vertical-gutters>[class*=all-],html.no-flexbox .column-group.double-vertical-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.double-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-vertical-gutters>[class*=medium-]{margin-bottom:3em}html.no-flexbox .column-group.half-gutters,html.no-flexboxlegacy .column-group.half-gutters{margin-left:-.75em}html.no-flexbox .column-group.half-gutters>[class*=all-],html.no-flexbox .column-group.half-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.half-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-gutters>[class*=medium-]{padding-left:.75em;margin-bottom:.75em}html.no-flexbox .column-group.half-horizontal-gutters,html.no-flexboxlegacy .column-group.half-horizontal-gutters{margin-left:-.75em}html.no-flexbox .column-group.half-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.half-horizontal-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.half-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-horizontal-gutters>[class*=medium-]{padding-left:.75em}html.no-flexbox .column-group.half-vertical-gutters>[class*=all-],html.no-flexbox .column-group.half-vertical-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.half-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-vertical-gutters>[class*=medium-]{margin-bottom:.75em}html.no-flexbox .column-group.quarter-gutters,html.no-flexboxlegacy .column-group.quarter-gutters{margin-left:-.375em}html.no-flexbox .column-group.quarter-gutters>[class*=all-],html.no-flexbox .column-group.quarter-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.quarter-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-gutters>[class*=medium-]{padding-left:.375em;margin-bottom:.375em}html.no-flexbox .column-group.quarter-horizontal-gutters,html.no-flexboxlegacy .column-group.quarter-horizontal-gutters{margin-left:-.375em}html.no-flexbox .column-group.quarter-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.quarter-horizontal-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.quarter-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-horizontal-gutters>[class*=medium-]{padding-left:.375em}html.no-flexbox .column-group.quarter-vertical-gutters>[class*=all-],html.no-flexbox .column-group.quarter-vertical-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.quarter-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-vertical-gutters>[class*=medium-]{margin-bottom:.375em}html.no-flexbox .column-group.medium-gutters,html.no-flexboxlegacy .column-group.medium-gutters{margin-left:-1.5em}html.no-flexbox .column-group.medium-gutters>[class*=all-],html.no-flexbox .column-group.medium-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-gutters>[class*=medium-]{padding-left:1.5em;margin-bottom:1.5em}html.no-flexbox .column-group.medium-horizontal-gutters,html.no-flexboxlegacy .column-group.medium-horizontal-gutters{margin-left:-1.5em}html.no-flexbox .column-group.medium-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.medium-horizontal-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-horizontal-gutters>[class*=medium-]{padding-left:1.5em}html.no-flexbox .column-group.medium-vertical-gutters>[class*=all-],html.no-flexbox .column-group.medium-vertical-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-vertical-gutters>[class*=medium-]{margin-bottom:1.5em}html.no-flexbox .column-group.medium-double-gutters,html.no-flexboxlegacy .column-group.medium-double-gutters{margin-left:-3em}html.no-flexbox .column-group.medium-double-gutters>[class*=all-],html.no-flexbox .column-group.medium-double-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-double-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-double-gutters>[class*=medium-]{padding-left:3em;margin-bottom:3em}html.no-flexbox .column-group.medium-double-horizontal-gutters,html.no-flexboxlegacy .column-group.medium-double-horizontal-gutters{margin-left:-3em}html.no-flexbox .column-group.medium-double-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.medium-double-horizontal-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-double-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-double-horizontal-gutters>[class*=medium-]{padding-left:3em}html.no-flexbox .column-group.medium-double-vertical-gutters>[class*=all-],html.no-flexbox .column-group.medium-double-vertical-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-double-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-double-vertical-gutters>[class*=medium-]{margin-bottom:3em}html.no-flexbox .column-group.medium-half-gutters,html.no-flexboxlegacy .column-group.medium-half-gutters{margin-left:-.75em}html.no-flexbox .column-group.medium-half-gutters>[class*=all-],html.no-flexbox .column-group.medium-half-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-half-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-half-gutters>[class*=medium-]{padding-left:.75em;margin-bottom:.75em}html.no-flexbox .column-group.medium-half-horizontal-gutters,html.no-flexboxlegacy .column-group.medium-half-horizontal-gutters{margin-left:-.75em}html.no-flexbox .column-group.medium-half-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.medium-half-horizontal-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-half-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-half-horizontal-gutters>[class*=medium-]{padding-left:.75em}html.no-flexbox .column-group.medium-half-vertical-gutters>[class*=all-],html.no-flexbox .column-group.medium-half-vertical-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-half-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-half-vertical-gutters>[class*=medium-]{margin-bottom:.75em}html.no-flexbox .column-group.medium-quarter-gutters,html.no-flexboxlegacy .column-group.medium-quarter-gutters{margin-left:-.375em}html.no-flexbox .column-group.medium-quarter-gutters>[class*=all-],html.no-flexbox .column-group.medium-quarter-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-quarter-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-quarter-gutters>[class*=medium-]{padding-left:.375em;margin-bottom:.375em}html.no-flexbox .column-group.medium-quarter-horizontal-gutters,html.no-flexboxlegacy .column-group.medium-quarter-horizontal-gutters{margin-left:-.375em}html.no-flexbox .column-group.medium-quarter-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.medium-quarter-horizontal-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-quarter-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-quarter-horizontal-gutters>[class*=medium-]{padding-left:.375em}html.no-flexbox .column-group.medium-quarter-vertical-gutters>[class*=all-],html.no-flexbox .column-group.medium-quarter-vertical-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-quarter-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-quarter-vertical-gutters>[class*=medium-]{margin-bottom:.375em}html.no-flexbox .column-group.medium-no-gutters,html.no-flexboxlegacy .column-group.medium-no-gutters{margin-left:0}html.no-flexbox .column-group.medium-no-gutters>[class*=all-],html.no-flexbox .column-group.medium-no-gutters>[class*=medium-],html.no-flexboxlegacy .column-group.medium-no-gutters>[class*=all-],html.no-flexboxlegacy .column-group.medium-no-gutters>[class*=medium-]{padding-left:0;margin-bottom:0}html.no-flexbox .ink-table tbody[class*=medium-],html.no-flexbox .ink-table td[class*=medium-],html.no-flexbox .ink-table tfoot[class*=medium-],html.no-flexbox .ink-table th[class*=medium-],html.no-flexbox .ink-table thead[class*=medium-],html.no-flexbox .ink-table tr[class*=medium-],html.no-flexboxlegacy .ink-table tbody[class*=medium-],html.no-flexboxlegacy .ink-table td[class*=medium-],html.no-flexboxlegacy .ink-table tfoot[class*=medium-],html.no-flexboxlegacy .ink-table th[class*=medium-],html.no-flexboxlegacy .ink-table thead[class*=medium-],html.no-flexboxlegacy .ink-table tr[class*=medium-]{float:none}html.no-flexbox .medium-push-left,html.no-flexboxlegacy .medium-push-left{float:left}html.no-flexbox .medium-push-center,html.no-flexboxlegacy .medium-push-center{float:none;margin-left:auto;margin-right:auto}html.no-flexbox .medium-push-right,html.no-flexboxlegacy .medium-push-right{float:right}html.no-flexbox .medium-align-left,html.no-flexboxlegacy .medium-align-left{text-align:left}html.no-flexbox .medium-align-center,html.no-flexboxlegacy .medium-align-center{text-align:center}html.no-flexbox .medium-align-right,html.no-flexboxlegacy .medium-align-right{text-align:right}html.no-flexbox .medium-no-margin,html.no-flexboxlegacy .medium-no-margin{margin:0!important}html.no-flexbox .medium-space,html.no-flexbox .space,html.no-flexboxlegacy .medium-space,html.no-flexboxlegacy .space{margin:1.5em}html.no-flexbox .medium-padding,html.no-flexbox .padding,html.no-flexboxlegacy .medium-padding,html.no-flexboxlegacy .padding{padding:1.5em}html.no-flexbox .double-space,html.no-flexbox .medium-double-space,html.no-flexboxlegacy .double-space,html.no-flexboxlegacy .medium-double-space{margin:3em}html.no-flexbox .double-padding,html.no-flexbox .medium-double-padding,html.no-flexboxlegacy .double-padding,html.no-flexboxlegacy .medium-double-padding{padding:3em}html.no-flexbox .half-space,html.no-flexbox .medium-half-space,html.no-flexboxlegacy .half-space,html.no-flexboxlegacy .medium-half-space{margin:.75em}html.no-flexbox .half-padding,html.no-flexbox .medium-half-padding,html.no-flexboxlegacy .half-padding,html.no-flexboxlegacy .medium-half-padding{padding:.75em}html.no-flexbox .medium-quarter-space,html.no-flexbox .quarter-space,html.no-flexboxlegacy .medium-quarter-space,html.no-flexboxlegacy .quarter-space{margin:.375em}html.no-flexbox .medium-quarter-padding,html.no-flexbox .quarter-padding,html.no-flexboxlegacy .medium-quarter-padding,html.no-flexboxlegacy .quarter-padding{padding:.375em}html.no-flexbox .medium-vertical-space,html.no-flexbox .vertical-space,html.no-flexboxlegacy .medium-vertical-space,html.no-flexboxlegacy .vertical-space{margin-top:1.5em;margin-bottom:1.5em}html.no-flexbox .medium-vertical-padding,html.no-flexbox .vertical-padding,html.no-flexboxlegacy .medium-vertical-padding,html.no-flexboxlegacy .vertical-padding{padding-top:1.5em;padding-bottom:1.5em}html.no-flexbox .double-vertical-space,html.no-flexbox .medium-double-vertical-space,html.no-flexboxlegacy .double-vertical-space,html.no-flexboxlegacy .medium-double-vertical-space{margin-top:3em;margin-bottom:3em}html.no-flexbox .double-vertical-padding,html.no-flexbox .medium-double-vertical-padding,html.no-flexboxlegacy .double-vertical-padding,html.no-flexboxlegacy .medium-double-vertical-padding{padding-top:3em;padding-bottom:3em}html.no-flexbox .half-vertical-space,html.no-flexbox .medium-half-vertical-space,html.no-flexboxlegacy .half-vertical-space,html.no-flexboxlegacy .medium-half-vertical-space{margin-top:.75em;margin-bottom:.75em}html.no-flexbox .half-vertical-padding,html.no-flexbox .medium-half-vertical-padding,html.no-flexboxlegacy .half-vertical-padding,html.no-flexboxlegacy .medium-half-vertical-padding{padding-top:.75em;padding-bottom:.75em}html.no-flexbox .medium-quarter-vertical-space,html.no-flexbox .quarter-vertical-space,html.no-flexboxlegacy .medium-quarter-vertical-space,html.no-flexboxlegacy .quarter-vertical-space{margin-top:.375em;margin-bottom:.375em}html.no-flexbox .medium-quarter-vertical-padding,html.no-flexbox .quarter-vertical-padding,html.no-flexboxlegacy .medium-quarter-vertical-padding,html.no-flexboxlegacy .quarter-vertical-padding{padding-top:.375em;padding-bottom:.375em}html.no-flexbox .horizontal-space,html.no-flexbox .medium-horizontal-space,html.no-flexboxlegacy .horizontal-space,html.no-flexboxlegacy .medium-horizontal-space{margin-left:1.5em;margin-right:1.5em}html.no-flexbox .horizontal-padding,html.no-flexbox .medium-horizontal-padding,html.no-flexboxlegacy .horizontal-padding,html.no-flexboxlegacy .medium-horizontal-padding{padding-left:1.5em;padding-right:1.5em}html.no-flexbox .double-horizontal-space,html.no-flexbox .medium-double-horizontal-space,html.no-flexboxlegacy .double-horizontal-space,html.no-flexboxlegacy .medium-double-horizontal-space{margin-left:3em;margin-right:3em}html.no-flexbox .double-horizontal-padding,html.no-flexbox .medium-double-horizontal-padding,html.no-flexboxlegacy .double-horizontal-padding,html.no-flexboxlegacy .medium-double-horizontal-padding{padding-left:3em;padding-right:3em}html.no-flexbox .half-horizontal-space,html.no-flexbox .medium-half-horizontal-space,html.no-flexboxlegacy .half-horizontal-space,html.no-flexboxlegacy .medium-half-horizontal-space{margin-left:.75em;margin-right:.75em}html.no-flexbox .half-horizontal-padding,html.no-flexbox .medium-half-horizontal-padding,html.no-flexboxlegacy .half-horizontal-padding,html.no-flexboxlegacy .medium-half-horizontal-padding{padding-left:.75em;padding-right:.75em}html.no-flexbox .medium-quarter-horizontal-space,html.no-flexbox .quarter-horizontal-space,html.no-flexboxlegacy .medium-quarter-horizontal-space,html.no-flexboxlegacy .quarter-horizontal-space{margin-left:.375em;margin-right:.375em}html.no-flexbox .medium-quarter-horizontal-padding,html.no-flexbox .quarter-horizontal-padding,html.no-flexboxlegacy .medium-quarter-horizontal-padding,html.no-flexboxlegacy .quarter-horizontal-padding{padding-left:.375em;padding-right:.375em}html.no-flexbox .medium-top-space,html.no-flexbox .top-space,html.no-flexboxlegacy .medium-top-space,html.no-flexboxlegacy .top-space{margin-top:1.5em}html.no-flexbox .medium-top-padding,html.no-flexbox .top-padding,html.no-flexboxlegacy .medium-top-padding,html.no-flexboxlegacy .top-padding{padding-top:1.5em}html.no-flexbox .double-top-space,html.no-flexbox .medium-double-top-space,html.no-flexboxlegacy .double-top-space,html.no-flexboxlegacy .medium-double-top-space{margin-top:3em}html.no-flexbox .double-top-padding,html.no-flexbox .medium-double-top-padding,html.no-flexboxlegacy .double-top-padding,html.no-flexboxlegacy .medium-double-top-padding{padding-top:3em}html.no-flexbox .half-top-space,html.no-flexbox .medium-half-top-space,html.no-flexboxlegacy .half-top-space,html.no-flexboxlegacy .medium-half-top-space{margin-top:.75em}html.no-flexbox .half-top-padding,html.no-flexbox .medium-half-top-padding,html.no-flexboxlegacy .half-top-padding,html.no-flexboxlegacy .medium-half-top-padding{padding-top:.75em}html.no-flexbox .medium-quarter-top-space,html.no-flexbox .quarter-top-space,html.no-flexboxlegacy .medium-quarter-top-space,html.no-flexboxlegacy .quarter-top-space{margin-top:.375em}html.no-flexbox .medium-quarter-top-padding,html.no-flexbox .quarter-top-padding,html.no-flexboxlegacy .medium-quarter-top-padding,html.no-flexboxlegacy .quarter-top-padding{padding-top:.375em}html.no-flexbox .medium-right-space,html.no-flexbox .right-space,html.no-flexboxlegacy .medium-right-space,html.no-flexboxlegacy .right-space{margin-right:1.5em}html.no-flexbox .medium-right-padding,html.no-flexbox .right-padding,html.no-flexboxlegacy .medium-right-padding,html.no-flexboxlegacy .right-padding{padding-right:1.5em}html.no-flexbox .double-right-space,html.no-flexbox .medium-double-right-space,html.no-flexboxlegacy .double-right-space,html.no-flexboxlegacy .medium-double-right-space{margin-right:3em}html.no-flexbox .double-right-padding,html.no-flexbox .medium-double-right-padding,html.no-flexboxlegacy .double-right-padding,html.no-flexboxlegacy .medium-double-right-padding{padding-right:3em}html.no-flexbox .half-right-space,html.no-flexbox .medium-half-right-space,html.no-flexboxlegacy .half-right-space,html.no-flexboxlegacy .medium-half-right-space{margin-right:.75em}html.no-flexbox .half-right-padding,html.no-flexbox .medium-half-right-padding,html.no-flexboxlegacy .half-right-padding,html.no-flexboxlegacy .medium-half-right-padding{padding-right:.75em}html.no-flexbox .medium-quarter-right-space,html.no-flexbox .quarter-right-space,html.no-flexboxlegacy .medium-quarter-right-space,html.no-flexboxlegacy .quarter-right-space{margin-right:.375em}html.no-flexbox .medium-quarter-right-padding,html.no-flexbox .quarter-right-padding,html.no-flexboxlegacy .medium-quarter-right-padding,html.no-flexboxlegacy .quarter-right-padding{padding-right:.375em}html.no-flexbox .bottom-space,html.no-flexbox .medium-bottom-space,html.no-flexboxlegacy .bottom-space,html.no-flexboxlegacy .medium-bottom-space{margin-bottom:1.5em}html.no-flexbox .bottom-padding,html.no-flexbox .medium-bottom-padding,html.no-flexboxlegacy .bottom-padding,html.no-flexboxlegacy .medium-bottom-padding{padding-bottom:1.5em}html.no-flexbox .double-bottom-space,html.no-flexbox .medium-double-bottom-space,html.no-flexboxlegacy .double-bottom-space,html.no-flexboxlegacy .medium-double-bottom-space{margin-bottom:3em}html.no-flexbox .double-bottom-padding,html.no-flexbox .medium-double-bottom-padding,html.no-flexboxlegacy .double-bottom-padding,html.no-flexboxlegacy .medium-double-bottom-padding{padding-bottom:3em}html.no-flexbox .half-bottom-space,html.no-flexbox .medium-half-bottom-space,html.no-flexboxlegacy .half-bottom-space,html.no-flexboxlegacy .medium-half-bottom-space{margin-bottom:.75em}html.no-flexbox .half-bottom-padding,html.no-flexbox .medium-half-bottom-padding,html.no-flexboxlegacy .half-bottom-padding,html.no-flexboxlegacy .medium-half-bottom-padding{padding-bottom:.75em}html.no-flexbox .medium-quarter-bottom-space,html.no-flexbox .quarter-bottom-space,html.no-flexboxlegacy .medium-quarter-bottom-space,html.no-flexboxlegacy .quarter-bottom-space{margin-bottom:.375em}html.no-flexbox .medium-quarter-bottom-padding,html.no-flexbox .quarter-bottom-padding,html.no-flexboxlegacy .medium-quarter-bottom-padding,html.no-flexboxlegacy .quarter-bottom-padding{padding-bottom:.375em}html.no-flexbox .left-space,html.no-flexbox .medium-left-space,html.no-flexboxlegacy .left-space,html.no-flexboxlegacy .medium-left-space{margin-left:1.5em}html.no-flexbox .left-padding,html.no-flexbox .medium-left-padding,html.no-flexboxlegacy .left-padding,html.no-flexboxlegacy .medium-left-padding{padding-left:1.5em}html.no-flexbox .double-left-space,html.no-flexbox .medium-double-left-space,html.no-flexboxlegacy .double-left-space,html.no-flexboxlegacy .medium-double-left-space{margin-left:3em}html.no-flexbox .double-left-padding,html.no-flexbox .medium-double-left-padding,html.no-flexboxlegacy .double-left-padding,html.no-flexboxlegacy .medium-double-left-padding{padding-left:3em}html.no-flexbox .half-left-space,html.no-flexbox .medium-half-left-space,html.no-flexboxlegacy .half-left-space,html.no-flexboxlegacy .medium-half-left-space{margin-left:.75em}html.no-flexbox .half-left-padding,html.no-flexbox .medium-half-left-padding,html.no-flexboxlegacy .half-left-padding,html.no-flexboxlegacy .medium-half-left-padding{padding-left:.75em}html.no-flexbox .medium-quarter-left-space,html.no-flexbox .quarter-left-space,html.no-flexboxlegacy .medium-quarter-left-space,html.no-flexboxlegacy .quarter-left-space{margin-left:.375em}html.no-flexbox .medium-quarter-left-padding,html.no-flexbox .quarter-left-padding,html.no-flexboxlegacy .medium-quarter-left-padding,html.no-flexboxlegacy .quarter-left-padding{padding-left:.375em}html.no-flexbox .hide-medium,html.no-flexboxlegacy .hide-medium{display:none!important}html.no-flexbox .show-medium,html.no-flexboxlegacy .show-medium{display:inherit!important}html.no-flexbox table.show-medium,html.no-flexboxlegacy table.show-medium{display:table}html.no-flexbox thead.show-medium,html.no-flexboxlegacy thead.show-medium{display:table-header-group}html.no-flexbox tbody.show-medium,html.no-flexboxlegacy tbody.show-medium{display:table-row-group}html.no-flexbox tfoot.show-medium,html.no-flexboxlegacy tfoot.show-medium{display:table-footer-group}html.no-flexbox tr.show-medium,html.no-flexboxlegacy tr.show-medium{display:table-row}html.no-flexbox td.show-medium,html.no-flexbox th.show-medium,html.no-flexboxlegacy td.show-medium,html.no-flexboxlegacy th.show-medium{display:table-cell}}@media screen and (min-width:321px) and (max-width:640px){html.no-flexbox .ink-grid,html.no-flexboxlegacy .ink-grid{padding:0 1.25em}html.no-flexbox .column-group>[class*=small-],html.no-flexboxlegacy .column-group>[class*=small-]{float:left;clear:none}html.no-flexbox .small-5,html.no-flexboxlegacy .small-5{width:5%}html.no-flexbox .small-10,html.no-flexboxlegacy .small-10{width:10%}html.no-flexbox .small-15,html.no-flexboxlegacy .small-15{width:15%}html.no-flexbox .small-16,html.no-flexboxlegacy .small-16{width:16.66%}html.no-flexbox .small-20,html.no-flexboxlegacy .small-20{width:20%}html.no-flexbox .small-25,html.no-flexboxlegacy .small-25{width:25%}html.no-flexbox .small-30,html.no-flexboxlegacy .small-30{width:30%}html.no-flexbox .small-33,html.no-flexboxlegacy .small-33{width:33.33%}html.no-flexbox .small-35,html.no-flexboxlegacy .small-35{width:35%}html.no-flexbox .small-40,html.no-flexboxlegacy .small-40{width:40%}html.no-flexbox .small-45,html.no-flexboxlegacy .small-45{width:45%}html.no-flexbox .small-50,html.no-flexboxlegacy .small-50{width:50%}html.no-flexbox .small-55,html.no-flexboxlegacy .small-55{width:55%}html.no-flexbox .small-60,html.no-flexboxlegacy .small-60{width:60%}html.no-flexbox .small-65,html.no-flexboxlegacy .small-65{width:65%}html.no-flexbox .small-66,html.no-flexboxlegacy .small-66{width:66.66%}html.no-flexbox .small-70,html.no-flexboxlegacy .small-70{width:70%}html.no-flexbox .small-75,html.no-flexboxlegacy .small-75{width:75%}html.no-flexbox .small-80,html.no-flexboxlegacy .small-80{width:80%}html.no-flexbox .small-85,html.no-flexboxlegacy .small-85{width:85%}html.no-flexbox .small-90,html.no-flexboxlegacy .small-90{width:90%}html.no-flexbox .small-95,html.no-flexboxlegacy .small-95{width:95%}html.no-flexbox .small-100,html.no-flexboxlegacy .small-100{width:100%}html.no-flexbox [class*=small-100],html.no-flexboxlegacy [class*=small-100]{float:none;clear:both}html.no-flexbox .column-group,html.no-flexboxlegacy .column-group{*zoom:1}html.no-flexbox .column-group:after,html.no-flexboxlegacy .column-group:after{content:"";display:table;clear:both}html.no-flexbox .column-group.gutters,html.no-flexboxlegacy .column-group.gutters{margin-left:-1.25em}html.no-flexbox .column-group.gutters>[class*=all-],html.no-flexbox .column-group.gutters>[class*=small-],html.no-flexboxlegacy .column-group.gutters>[class*=all-],html.no-flexboxlegacy .column-group.gutters>[class*=small-]{padding-left:1.25em;margin-bottom:1.25em}html.no-flexbox .column-group.horizontal-gutters,html.no-flexboxlegacy .column-group.horizontal-gutters{margin-left:-1.25em}html.no-flexbox .column-group.horizontal-gutters>[class*=all-],html.no-flexbox .column-group.horizontal-gutters>[class*=small-],html.no-flexboxlegacy .column-group.horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.horizontal-gutters>[class*=small-]{padding-left:1.25em}html.no-flexbox .column-group.vertical-gutters>[class*=all-],html.no-flexbox .column-group.vertical-gutters>[class*=small-],html.no-flexboxlegacy .column-group.vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.vertical-gutters>[class*=small-]{margin-bottom:1.25em}html.no-flexbox .column-group.double-gutters,html.no-flexboxlegacy .column-group.double-gutters{margin-left:-2.5em}html.no-flexbox .column-group.double-gutters>[class*=all-],html.no-flexbox .column-group.double-gutters>[class*=small-],html.no-flexboxlegacy .column-group.double-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-gutters>[class*=small-]{padding-left:2.5em;margin-bottom:2.5em}html.no-flexbox .column-group.double-horizontal-gutters,html.no-flexboxlegacy .column-group.double-horizontal-gutters{margin-left:-2.5em}html.no-flexbox .column-group.double-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.double-horizontal-gutters>[class*=small-],html.no-flexboxlegacy .column-group.double-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-horizontal-gutters>[class*=small-]{padding-left:2.5em}html.no-flexbox .column-group.double-vertical-gutters>[class*=all-],html.no-flexbox .column-group.double-vertical-gutters>[class*=small-],html.no-flexboxlegacy .column-group.double-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-vertical-gutters>[class*=small-]{margin-bottom:2.5em}html.no-flexbox .column-group.half-gutters,html.no-flexboxlegacy .column-group.half-gutters{margin-left:-.625em}html.no-flexbox .column-group.half-gutters>[class*=all-],html.no-flexbox .column-group.half-gutters>[class*=small-],html.no-flexboxlegacy .column-group.half-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-gutters>[class*=small-]{padding-left:.625em;margin-bottom:.625em}html.no-flexbox .column-group.half-horizontal-gutters,html.no-flexboxlegacy .column-group.half-horizontal-gutters{margin-left:-.625em}html.no-flexbox .column-group.half-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.half-horizontal-gutters>[class*=small-],html.no-flexboxlegacy .column-group.half-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-horizontal-gutters>[class*=small-]{padding-left:.625em}html.no-flexbox .column-group.half-vertical-gutters>[class*=all-],html.no-flexbox .column-group.half-vertical-gutters>[class*=small-],html.no-flexboxlegacy .column-group.half-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-vertical-gutters>[class*=small-]{margin-bottom:.625em}html.no-flexbox .column-group.quarter-gutters,html.no-flexboxlegacy .column-group.quarter-gutters{margin-left:-.3125em}html.no-flexbox .column-group.quarter-gutters>[class*=all-],html.no-flexbox .column-group.quarter-gutters>[class*=small-],html.no-flexboxlegacy .column-group.quarter-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-gutters>[class*=small-]{padding-left:.3125em;margin-bottom:.3125em}html.no-flexbox .column-group.quarter-horizontal-gutters,html.no-flexboxlegacy .column-group.quarter-horizontal-gutters{margin-left:-.3125em}html.no-flexbox .column-group.quarter-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.quarter-horizontal-gutters>[class*=small-],html.no-flexboxlegacy .column-group.quarter-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-horizontal-gutters>[class*=small-]{padding-left:.3125em}html.no-flexbox .column-group.quarter-vertical-gutters>[class*=all-],html.no-flexbox .column-group.quarter-vertical-gutters>[class*=small-],html.no-flexboxlegacy .column-group.quarter-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-vertical-gutters>[class*=small-]{margin-bottom:.3125em}html.no-flexbox .column-group.small-gutters,html.no-flexboxlegacy .column-group.small-gutters{margin-left:-1.25em}html.no-flexbox .column-group.small-gutters>[class*=all-],html.no-flexbox .column-group.small-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-gutters>[class*=small-]{padding-left:1.25em;margin-bottom:1.25em}html.no-flexbox .column-group.small-horizontal-gutters,html.no-flexboxlegacy .column-group.small-horizontal-gutters{margin-left:-1.25em}html.no-flexbox .column-group.small-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.small-horizontal-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-horizontal-gutters>[class*=small-]{padding-left:1.25em}html.no-flexbox .column-group.small-vertical-gutters>[class*=all-],html.no-flexbox .column-group.small-vertical-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-vertical-gutters>[class*=small-]{margin-bottom:1.25em}html.no-flexbox .column-group.small-double-gutters,html.no-flexboxlegacy .column-group.small-double-gutters{margin-left:-2.5em}html.no-flexbox .column-group.small-double-gutters>[class*=all-],html.no-flexbox .column-group.small-double-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-double-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-double-gutters>[class*=small-]{padding-left:2.5em;margin-bottom:2.5em}html.no-flexbox .column-group.small-double-horizontal-gutters,html.no-flexboxlegacy .column-group.small-double-horizontal-gutters{margin-left:-2.5em}html.no-flexbox .column-group.small-double-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.small-double-horizontal-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-double-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-double-horizontal-gutters>[class*=small-]{padding-left:2.5em}html.no-flexbox .column-group.small-double-vertical-gutters>[class*=all-],html.no-flexbox .column-group.small-double-vertical-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-double-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-double-vertical-gutters>[class*=small-]{margin-bottom:2.5em}html.no-flexbox .column-group.small-half-gutters,html.no-flexboxlegacy .column-group.small-half-gutters{margin-left:-.625em}html.no-flexbox .column-group.small-half-gutters>[class*=all-],html.no-flexbox .column-group.small-half-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-half-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-half-gutters>[class*=small-]{padding-left:.625em;margin-bottom:.625em}html.no-flexbox .column-group.small-half-horizontal-gutters,html.no-flexboxlegacy .column-group.small-half-horizontal-gutters{margin-left:-.625em}html.no-flexbox .column-group.small-half-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.small-half-horizontal-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-half-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-half-horizontal-gutters>[class*=small-]{padding-left:.625em}html.no-flexbox .column-group.small-half-vertical-gutters>[class*=all-],html.no-flexbox .column-group.small-half-vertical-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-half-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-half-vertical-gutters>[class*=small-]{margin-bottom:.625em}html.no-flexbox .column-group.small-quarter-gutters,html.no-flexboxlegacy .column-group.small-quarter-gutters{margin-left:-.3125em}html.no-flexbox .column-group.small-quarter-gutters>[class*=all-],html.no-flexbox .column-group.small-quarter-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-quarter-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-quarter-gutters>[class*=small-]{padding-left:.3125em;margin-bottom:.3125em}html.no-flexbox .column-group.small-quarter-horizontal-gutters,html.no-flexboxlegacy .column-group.small-quarter-horizontal-gutters{margin-left:-.3125em}html.no-flexbox .column-group.small-quarter-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.small-quarter-horizontal-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-quarter-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-quarter-horizontal-gutters>[class*=small-]{padding-left:.3125em}html.no-flexbox .column-group.small-quarter-vertical-gutters>[class*=all-],html.no-flexbox .column-group.small-quarter-vertical-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-quarter-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-quarter-vertical-gutters>[class*=small-]{margin-bottom:.3125em}html.no-flexbox .column-group.small-no-gutters,html.no-flexboxlegacy .column-group.small-no-gutters{margin-left:0}html.no-flexbox .column-group.small-no-gutters>[class*=all-],html.no-flexbox .column-group.small-no-gutters>[class*=small-],html.no-flexboxlegacy .column-group.small-no-gutters>[class*=all-],html.no-flexboxlegacy .column-group.small-no-gutters>[class*=small-]{padding-left:0;margin-bottom:0}html.no-flexbox .ink-table tbody[class*=small-],html.no-flexbox .ink-table td[class*=small-],html.no-flexbox .ink-table tfoot[class*=small-],html.no-flexbox .ink-table th[class*=small-],html.no-flexbox .ink-table thead[class*=small-],html.no-flexbox .ink-table tr[class*=small-],html.no-flexboxlegacy .ink-table tbody[class*=small-],html.no-flexboxlegacy .ink-table td[class*=small-],html.no-flexboxlegacy .ink-table tfoot[class*=small-],html.no-flexboxlegacy .ink-table th[class*=small-],html.no-flexboxlegacy .ink-table thead[class*=small-],html.no-flexboxlegacy .ink-table tr[class*=small-]{float:none}html.no-flexbox .small-push-left,html.no-flexboxlegacy .small-push-left{float:left}html.no-flexbox .small-push-center,html.no-flexboxlegacy .small-push-center{float:none;margin-left:auto;margin-right:auto}html.no-flexbox .small-push-right,html.no-flexboxlegacy .small-push-right{float:right}html.no-flexbox .small-align-left,html.no-flexboxlegacy .small-align-left{text-align:left}html.no-flexbox .small-align-center,html.no-flexboxlegacy .small-align-center{text-align:center}html.no-flexbox .small-align-right,html.no-flexboxlegacy .small-align-right{text-align:right}html.no-flexbox .small-no-margin,html.no-flexboxlegacy .small-no-margin{margin:0!important}html.no-flexbox .small-space,html.no-flexbox .space,html.no-flexboxlegacy .small-space,html.no-flexboxlegacy .space{margin:1.25em}html.no-flexbox .padding,html.no-flexbox .small-padding,html.no-flexboxlegacy .padding,html.no-flexboxlegacy .small-padding{padding:1.25em}html.no-flexbox .double-space,html.no-flexbox .small-double-space,html.no-flexboxlegacy .double-space,html.no-flexboxlegacy .small-double-space{margin:2.5em}html.no-flexbox .double-padding,html.no-flexbox .small-double-padding,html.no-flexboxlegacy .double-padding,html.no-flexboxlegacy .small-double-padding{padding:2.5em}html.no-flexbox .half-space,html.no-flexbox .small-half-space,html.no-flexboxlegacy .half-space,html.no-flexboxlegacy .small-half-space{margin:.625em}html.no-flexbox .half-padding,html.no-flexbox .small-half-padding,html.no-flexboxlegacy .half-padding,html.no-flexboxlegacy .small-half-padding{padding:.625em}html.no-flexbox .quarter-space,html.no-flexbox .small-quarter-space,html.no-flexboxlegacy .quarter-space,html.no-flexboxlegacy .small-quarter-space{margin:.3125em}html.no-flexbox .quarter-padding,html.no-flexbox .small-quarter-padding,html.no-flexboxlegacy .quarter-padding,html.no-flexboxlegacy .small-quarter-padding{padding:.3125em}html.no-flexbox .small-vertical-space,html.no-flexbox .vertical-space,html.no-flexboxlegacy .small-vertical-space,html.no-flexboxlegacy .vertical-space{margin-top:1.25em;margin-bottom:1.25em}html.no-flexbox .small-vertical-padding,html.no-flexbox .vertical-padding,html.no-flexboxlegacy .small-vertical-padding,html.no-flexboxlegacy .vertical-padding{padding-top:1.25em;padding-bottom:1.25em}html.no-flexbox .double-vertical-space,html.no-flexbox .small-double-vertical-space,html.no-flexboxlegacy .double-vertical-space,html.no-flexboxlegacy .small-double-vertical-space{margin-top:2.5em;margin-bottom:2.5em}html.no-flexbox .double-vertical-padding,html.no-flexbox .small-double-vertical-padding,html.no-flexboxlegacy .double-vertical-padding,html.no-flexboxlegacy .small-double-vertical-padding{padding-top:2.5em;padding-bottom:2.5em}html.no-flexbox .half-vertical-space,html.no-flexbox .small-half-vertical-space,html.no-flexboxlegacy .half-vertical-space,html.no-flexboxlegacy .small-half-vertical-space{margin-top:.625em;margin-bottom:.625em}html.no-flexbox .half-vertical-padding,html.no-flexbox .small-half-vertical-padding,html.no-flexboxlegacy .half-vertical-padding,html.no-flexboxlegacy .small-half-vertical-padding{padding-top:.625em;padding-bottom:.625em}html.no-flexbox .quarter-vertical-space,html.no-flexbox .small-quarter-vertical-space,html.no-flexboxlegacy .quarter-vertical-space,html.no-flexboxlegacy .small-quarter-vertical-space{margin-top:.3125em;margin-bottom:.3125em}html.no-flexbox .quarter-vertical-padding,html.no-flexbox .small-quarter-vertical-padding,html.no-flexboxlegacy .quarter-vertical-padding,html.no-flexboxlegacy .small-quarter-vertical-padding{padding-top:.3125em;padding-bottom:.3125em}html.no-flexbox .horizontal-space,html.no-flexbox .small-horizontal-space,html.no-flexboxlegacy .horizontal-space,html.no-flexboxlegacy .small-horizontal-space{margin-left:1.25em;margin-right:1.25em}html.no-flexbox .horizontal-padding,html.no-flexbox .small-horizontal-padding,html.no-flexboxlegacy .horizontal-padding,html.no-flexboxlegacy .small-horizontal-padding{padding-left:1.25em;padding-right:1.25em}html.no-flexbox .double-horizontal-space,html.no-flexbox .small-double-horizontal-space,html.no-flexboxlegacy .double-horizontal-space,html.no-flexboxlegacy .small-double-horizontal-space{margin-left:2.5em;margin-right:2.5em}html.no-flexbox .double-horizontal-padding,html.no-flexbox .small-double-horizontal-padding,html.no-flexboxlegacy .double-horizontal-padding,html.no-flexboxlegacy .small-double-horizontal-padding{padding-left:2.5em;padding-right:2.5em}html.no-flexbox .half-horizontal-space,html.no-flexbox .small-half-horizontal-space,html.no-flexboxlegacy .half-horizontal-space,html.no-flexboxlegacy .small-half-horizontal-space{margin-left:.625em;margin-right:.625em}html.no-flexbox .half-horizontal-padding,html.no-flexbox .small-half-horizontal-padding,html.no-flexboxlegacy .half-horizontal-padding,html.no-flexboxlegacy .small-half-horizontal-padding{padding-left:.625em;padding-right:.625em}html.no-flexbox .quarter-horizontal-space,html.no-flexbox .small-quarter-horizontal-space,html.no-flexboxlegacy .quarter-horizontal-space,html.no-flexboxlegacy .small-quarter-horizontal-space{margin-left:.3125em;margin-right:.3125em}html.no-flexbox .quarter-horizontal-padding,html.no-flexbox .small-quarter-horizontal-padding,html.no-flexboxlegacy .quarter-horizontal-padding,html.no-flexboxlegacy .small-quarter-horizontal-padding{padding-left:.3125em;padding-right:.3125em}html.no-flexbox .small-top-space,html.no-flexbox .top-space,html.no-flexboxlegacy .small-top-space,html.no-flexboxlegacy .top-space{margin-top:1.25em}html.no-flexbox .small-top-padding,html.no-flexbox .top-padding,html.no-flexboxlegacy .small-top-padding,html.no-flexboxlegacy .top-padding{padding-top:1.25em}html.no-flexbox .double-top-space,html.no-flexbox .small-double-top-space,html.no-flexboxlegacy .double-top-space,html.no-flexboxlegacy .small-double-top-space{margin-top:2.5em}html.no-flexbox .double-top-padding,html.no-flexbox .small-double-top-padding,html.no-flexboxlegacy .double-top-padding,html.no-flexboxlegacy .small-double-top-padding{padding-top:2.5em}html.no-flexbox .half-top-space,html.no-flexbox .small-half-top-space,html.no-flexboxlegacy .half-top-space,html.no-flexboxlegacy .small-half-top-space{margin-top:.625em}html.no-flexbox .half-top-padding,html.no-flexbox .small-half-top-padding,html.no-flexboxlegacy .half-top-padding,html.no-flexboxlegacy .small-half-top-padding{padding-top:.625em}html.no-flexbox .quarter-top-space,html.no-flexbox .small-quarter-top-space,html.no-flexboxlegacy .quarter-top-space,html.no-flexboxlegacy .small-quarter-top-space{margin-top:.3125em}html.no-flexbox .quarter-top-padding,html.no-flexbox .small-quarter-top-padding,html.no-flexboxlegacy .quarter-top-padding,html.no-flexboxlegacy .small-quarter-top-padding{padding-top:.3125em}html.no-flexbox .right-space,html.no-flexbox .small-right-space,html.no-flexboxlegacy .right-space,html.no-flexboxlegacy .small-right-space{margin-right:1.25em}html.no-flexbox .right-padding,html.no-flexbox .small-right-padding,html.no-flexboxlegacy .right-padding,html.no-flexboxlegacy .small-right-padding{padding-right:1.25em}html.no-flexbox .double-right-space,html.no-flexbox .small-double-right-space,html.no-flexboxlegacy .double-right-space,html.no-flexboxlegacy .small-double-right-space{margin-right:2.5em}html.no-flexbox .double-right-padding,html.no-flexbox .small-double-right-padding,html.no-flexboxlegacy .double-right-padding,html.no-flexboxlegacy .small-double-right-padding{padding-right:2.5em}html.no-flexbox .half-right-space,html.no-flexbox .small-half-right-space,html.no-flexboxlegacy .half-right-space,html.no-flexboxlegacy .small-half-right-space{margin-right:.625em}html.no-flexbox .half-right-padding,html.no-flexbox .small-half-right-padding,html.no-flexboxlegacy .half-right-padding,html.no-flexboxlegacy .small-half-right-padding{padding-right:.625em}html.no-flexbox .quarter-right-space,html.no-flexbox .small-quarter-right-space,html.no-flexboxlegacy .quarter-right-space,html.no-flexboxlegacy .small-quarter-right-space{margin-right:.3125em}html.no-flexbox .quarter-right-padding,html.no-flexbox .small-quarter-right-padding,html.no-flexboxlegacy .quarter-right-padding,html.no-flexboxlegacy .small-quarter-right-padding{padding-right:.3125em}html.no-flexbox .bottom-space,html.no-flexbox .small-bottom-space,html.no-flexboxlegacy .bottom-space,html.no-flexboxlegacy .small-bottom-space{margin-bottom:1.25em}html.no-flexbox .bottom-padding,html.no-flexbox .small-bottom-padding,html.no-flexboxlegacy .bottom-padding,html.no-flexboxlegacy .small-bottom-padding{padding-bottom:1.25em}html.no-flexbox .double-bottom-space,html.no-flexbox .small-double-bottom-space,html.no-flexboxlegacy .double-bottom-space,html.no-flexboxlegacy .small-double-bottom-space{margin-bottom:2.5em}html.no-flexbox .double-bottom-padding,html.no-flexbox .small-double-bottom-padding,html.no-flexboxlegacy .double-bottom-padding,html.no-flexboxlegacy .small-double-bottom-padding{padding-bottom:2.5em}html.no-flexbox .half-bottom-space,html.no-flexbox .small-half-bottom-space,html.no-flexboxlegacy .half-bottom-space,html.no-flexboxlegacy .small-half-bottom-space{margin-bottom:.625em}html.no-flexbox .half-bottom-padding,html.no-flexbox .small-half-bottom-padding,html.no-flexboxlegacy .half-bottom-padding,html.no-flexboxlegacy .small-half-bottom-padding{padding-bottom:.625em}html.no-flexbox .quarter-bottom-space,html.no-flexbox .small-quarter-bottom-space,html.no-flexboxlegacy .quarter-bottom-space,html.no-flexboxlegacy .small-quarter-bottom-space{margin-bottom:.3125em}html.no-flexbox .quarter-bottom-padding,html.no-flexbox .small-quarter-bottom-padding,html.no-flexboxlegacy .quarter-bottom-padding,html.no-flexboxlegacy .small-quarter-bottom-padding{padding-bottom:.3125em}html.no-flexbox .left-space,html.no-flexbox .small-left-space,html.no-flexboxlegacy .left-space,html.no-flexboxlegacy .small-left-space{margin-left:1.25em}html.no-flexbox .left-padding,html.no-flexbox .small-left-padding,html.no-flexboxlegacy .left-padding,html.no-flexboxlegacy .small-left-padding{padding-left:1.25em}html.no-flexbox .double-left-space,html.no-flexbox .small-double-left-space,html.no-flexboxlegacy .double-left-space,html.no-flexboxlegacy .small-double-left-space{margin-left:2.5em}html.no-flexbox .double-left-padding,html.no-flexbox .small-double-left-padding,html.no-flexboxlegacy .double-left-padding,html.no-flexboxlegacy .small-double-left-padding{padding-left:2.5em}html.no-flexbox .half-left-space,html.no-flexbox .small-half-left-space,html.no-flexboxlegacy .half-left-space,html.no-flexboxlegacy .small-half-left-space{margin-left:.625em}html.no-flexbox .half-left-padding,html.no-flexbox .small-half-left-padding,html.no-flexboxlegacy .half-left-padding,html.no-flexboxlegacy .small-half-left-padding{padding-left:.625em}html.no-flexbox .quarter-left-space,html.no-flexbox .small-quarter-left-space,html.no-flexboxlegacy .quarter-left-space,html.no-flexboxlegacy .small-quarter-left-space{margin-left:.3125em}html.no-flexbox .quarter-left-padding,html.no-flexbox .small-quarter-left-padding,html.no-flexboxlegacy .quarter-left-padding,html.no-flexboxlegacy .small-quarter-left-padding{padding-left:.3125em}html.no-flexbox .hide-small,html.no-flexboxlegacy .hide-small{display:none!important}html.no-flexbox .show-small,html.no-flexboxlegacy .show-small{display:inherit!important}html.no-flexbox table.show-small,html.no-flexboxlegacy table.show-small{display:table}html.no-flexbox thead.show-small,html.no-flexboxlegacy thead.show-small{display:table-header-group}html.no-flexbox tbody.show-small,html.no-flexboxlegacy tbody.show-small{display:table-row-group}html.no-flexbox tfoot.show-small,html.no-flexboxlegacy tfoot.show-small{display:table-footer-group}html.no-flexbox tr.show-small,html.no-flexboxlegacy tr.show-small{display:table-row}html.no-flexbox td.show-small,html.no-flexbox th.show-small,html.no-flexboxlegacy td.show-small,html.no-flexboxlegacy th.show-small{display:table-cell}}@media screen and (max-width:320px){html.no-flexbox .ink-grid,html.no-flexboxlegacy .ink-grid{padding:0 1em}html.no-flexbox .column-group>[class*=tiny-],html.no-flexboxlegacy .column-group>[class*=tiny-]{float:left;clear:none}html.no-flexbox .tiny-5,html.no-flexboxlegacy .tiny-5{width:5%}html.no-flexbox .tiny-10,html.no-flexboxlegacy .tiny-10{width:10%}html.no-flexbox .tiny-15,html.no-flexboxlegacy .tiny-15{width:15%}html.no-flexbox .tiny-16,html.no-flexboxlegacy .tiny-16{width:16.66%}html.no-flexbox .tiny-20,html.no-flexboxlegacy .tiny-20{width:20%}html.no-flexbox .tiny-25,html.no-flexboxlegacy .tiny-25{width:25%}html.no-flexbox .tiny-30,html.no-flexboxlegacy .tiny-30{width:30%}html.no-flexbox .tiny-33,html.no-flexboxlegacy .tiny-33{width:33.33%}html.no-flexbox .tiny-35,html.no-flexboxlegacy .tiny-35{width:35%}html.no-flexbox .tiny-40,html.no-flexboxlegacy .tiny-40{width:40%}html.no-flexbox .tiny-45,html.no-flexboxlegacy .tiny-45{width:45%}html.no-flexbox .tiny-50,html.no-flexboxlegacy .tiny-50{width:50%}html.no-flexbox .tiny-55,html.no-flexboxlegacy .tiny-55{width:55%}html.no-flexbox .tiny-60,html.no-flexboxlegacy .tiny-60{width:60%}html.no-flexbox .tiny-65,html.no-flexboxlegacy .tiny-65{width:65%}html.no-flexbox .tiny-66,html.no-flexboxlegacy .tiny-66{width:66.66%}html.no-flexbox .tiny-70,html.no-flexboxlegacy .tiny-70{width:70%}html.no-flexbox .tiny-75,html.no-flexboxlegacy .tiny-75{width:75%}html.no-flexbox .tiny-80,html.no-flexboxlegacy .tiny-80{width:80%}html.no-flexbox .tiny-85,html.no-flexboxlegacy .tiny-85{width:85%}html.no-flexbox .tiny-90,html.no-flexboxlegacy .tiny-90{width:90%}html.no-flexbox .tiny-95,html.no-flexboxlegacy .tiny-95{width:95%}html.no-flexbox .tiny-100,html.no-flexboxlegacy .tiny-100{width:100%}html.no-flexbox [class*=tiny-100],html.no-flexboxlegacy [class*=tiny-100]{float:none;clear:both}html.no-flexbox .column-group,html.no-flexboxlegacy .column-group{*zoom:1}html.no-flexbox .column-group:after,html.no-flexboxlegacy .column-group:after{content:"";display:table;clear:both}html.no-flexbox .column-group.gutters,html.no-flexboxlegacy .column-group.gutters{margin-left:-1em}html.no-flexbox .column-group.gutters>[class*=all-],html.no-flexbox .column-group.gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.gutters>[class*=all-],html.no-flexboxlegacy .column-group.gutters>[class*=tiny-]{padding-left:1em;margin-bottom:1em}html.no-flexbox .column-group.horizontal-gutters,html.no-flexboxlegacy .column-group.horizontal-gutters{margin-left:-1em}html.no-flexbox .column-group.horizontal-gutters>[class*=all-],html.no-flexbox .column-group.horizontal-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.horizontal-gutters>[class*=tiny-]{padding-left:1em}html.no-flexbox .column-group.vertical-gutters>[class*=all-],html.no-flexbox .column-group.vertical-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.vertical-gutters>[class*=tiny-]{margin-bottom:1em}html.no-flexbox .column-group.double-gutters,html.no-flexboxlegacy .column-group.double-gutters{margin-left:-2em}html.no-flexbox .column-group.double-gutters>[class*=all-],html.no-flexbox .column-group.double-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.double-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-gutters>[class*=tiny-]{padding-left:2em;margin-bottom:2em}html.no-flexbox .column-group.double-horizontal-gutters,html.no-flexboxlegacy .column-group.double-horizontal-gutters{margin-left:-2em}html.no-flexbox .column-group.double-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.double-horizontal-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.double-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-horizontal-gutters>[class*=tiny-]{padding-left:2em}html.no-flexbox .column-group.double-vertical-gutters>[class*=all-],html.no-flexbox .column-group.double-vertical-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.double-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.double-vertical-gutters>[class*=tiny-]{margin-bottom:2em}html.no-flexbox .column-group.half-gutters,html.no-flexboxlegacy .column-group.half-gutters{margin-left:-.5em}html.no-flexbox .column-group.half-gutters>[class*=all-],html.no-flexbox .column-group.half-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.half-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-gutters>[class*=tiny-]{padding-left:.5em;margin-bottom:.5em}html.no-flexbox .column-group.half-horizontal-gutters,html.no-flexboxlegacy .column-group.half-horizontal-gutters{margin-left:-.5em}html.no-flexbox .column-group.half-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.half-horizontal-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.half-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-horizontal-gutters>[class*=tiny-]{padding-left:.5em}html.no-flexbox .column-group.half-vertical-gutters>[class*=all-],html.no-flexbox .column-group.half-vertical-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.half-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.half-vertical-gutters>[class*=tiny-]{margin-bottom:.5em}html.no-flexbox .column-group.quarter-gutters,html.no-flexboxlegacy .column-group.quarter-gutters{margin-left:-.25em}html.no-flexbox .column-group.quarter-gutters>[class*=all-],html.no-flexbox .column-group.quarter-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.quarter-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-gutters>[class*=tiny-]{padding-left:.25em;margin-bottom:.25em}html.no-flexbox .column-group.quarter-horizontal-gutters,html.no-flexboxlegacy .column-group.quarter-horizontal-gutters{margin-left:-.25em}html.no-flexbox .column-group.quarter-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.quarter-horizontal-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.quarter-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-horizontal-gutters>[class*=tiny-]{padding-left:.25em}html.no-flexbox .column-group.quarter-vertical-gutters>[class*=all-],html.no-flexbox .column-group.quarter-vertical-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.quarter-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.quarter-vertical-gutters>[class*=tiny-]{margin-bottom:.25em}html.no-flexbox .column-group.tiny-gutters,html.no-flexboxlegacy .column-group.tiny-gutters{margin-left:-1em}html.no-flexbox .column-group.tiny-gutters>[class*=all-],html.no-flexbox .column-group.tiny-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-gutters>[class*=tiny-]{padding-left:1em;margin-bottom:1em}html.no-flexbox .column-group.tiny-horizontal-gutters,html.no-flexboxlegacy .column-group.tiny-horizontal-gutters{margin-left:-1em}html.no-flexbox .column-group.tiny-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.tiny-horizontal-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-horizontal-gutters>[class*=tiny-]{padding-left:1em}html.no-flexbox .column-group.tiny-vertical-gutters>[class*=all-],html.no-flexbox .column-group.tiny-vertical-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-vertical-gutters>[class*=tiny-]{margin-bottom:1em}html.no-flexbox .column-group.tiny-double-gutters,html.no-flexboxlegacy .column-group.tiny-double-gutters{margin-left:-2em}html.no-flexbox .column-group.tiny-double-gutters>[class*=all-],html.no-flexbox .column-group.tiny-double-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-double-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-double-gutters>[class*=tiny-]{padding-left:2em;margin-bottom:2em}html.no-flexbox .column-group.tiny-double-horizontal-gutters,html.no-flexboxlegacy .column-group.tiny-double-horizontal-gutters{margin-left:-2em}html.no-flexbox .column-group.tiny-double-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.tiny-double-horizontal-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-double-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-double-horizontal-gutters>[class*=tiny-]{padding-left:2em}html.no-flexbox .column-group.tiny-double-vertical-gutters>[class*=all-],html.no-flexbox .column-group.tiny-double-vertical-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-double-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-double-vertical-gutters>[class*=tiny-]{margin-bottom:2em}html.no-flexbox .column-group.tiny-half-gutters,html.no-flexboxlegacy .column-group.tiny-half-gutters{margin-left:-.5em}html.no-flexbox .column-group.tiny-half-gutters>[class*=all-],html.no-flexbox .column-group.tiny-half-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-half-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-half-gutters>[class*=tiny-]{padding-left:.5em;margin-bottom:.5em}html.no-flexbox .column-group.tiny-half-horizontal-gutters,html.no-flexboxlegacy .column-group.tiny-half-horizontal-gutters{margin-left:-.5em}html.no-flexbox .column-group.tiny-half-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.tiny-half-horizontal-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-half-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-half-horizontal-gutters>[class*=tiny-]{padding-left:.5em}html.no-flexbox .column-group.tiny-half-vertical-gutters>[class*=all-],html.no-flexbox .column-group.tiny-half-vertical-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-half-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-half-vertical-gutters>[class*=tiny-]{margin-bottom:.5em}html.no-flexbox .column-group.tiny-quarter-gutters,html.no-flexboxlegacy .column-group.tiny-quarter-gutters{margin-left:-.25em}html.no-flexbox .column-group.tiny-quarter-gutters>[class*=all-],html.no-flexbox .column-group.tiny-quarter-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-quarter-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-quarter-gutters>[class*=tiny-]{padding-left:.25em;margin-bottom:.25em}html.no-flexbox .column-group.tiny-quarter-horizontal-gutters,html.no-flexboxlegacy .column-group.tiny-quarter-horizontal-gutters{margin-left:-.25em}html.no-flexbox .column-group.tiny-quarter-horizontal-gutters>[class*=all-],html.no-flexbox .column-group.tiny-quarter-horizontal-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-quarter-horizontal-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-quarter-horizontal-gutters>[class*=tiny-]{padding-left:.25em}html.no-flexbox .column-group.tiny-quarter-vertical-gutters>[class*=all-],html.no-flexbox .column-group.tiny-quarter-vertical-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-quarter-vertical-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-quarter-vertical-gutters>[class*=tiny-]{margin-bottom:.25em}html.no-flexbox .column-group.tiny-no-gutters,html.no-flexboxlegacy .column-group.tiny-no-gutters{margin-left:0}html.no-flexbox .column-group.tiny-no-gutters>[class*=all-],html.no-flexbox .column-group.tiny-no-gutters>[class*=tiny-],html.no-flexboxlegacy .column-group.tiny-no-gutters>[class*=all-],html.no-flexboxlegacy .column-group.tiny-no-gutters>[class*=tiny-]{padding-left:0;margin-bottom:0}html.no-flexbox .ink-table tbody[class*=tiny-],html.no-flexbox .ink-table td[class*=tiny-],html.no-flexbox .ink-table tfoot[class*=tiny-],html.no-flexbox .ink-table th[class*=tiny-],html.no-flexbox .ink-table thead[class*=tiny-],html.no-flexbox .ink-table tr[class*=tiny-],html.no-flexboxlegacy .ink-table tbody[class*=tiny-],html.no-flexboxlegacy .ink-table td[class*=tiny-],html.no-flexboxlegacy .ink-table tfoot[class*=tiny-],html.no-flexboxlegacy .ink-table th[class*=tiny-],html.no-flexboxlegacy .ink-table thead[class*=tiny-],html.no-flexboxlegacy .ink-table tr[class*=tiny-]{float:none}html.no-flexbox .tiny-push-left,html.no-flexboxlegacy .tiny-push-left{float:left}html.no-flexbox .tiny-push-center,html.no-flexboxlegacy .tiny-push-center{float:none;margin-left:auto;margin-right:auto}html.no-flexbox .tiny-push-right,html.no-flexboxlegacy .tiny-push-right{float:right}html.no-flexbox .tiny-align-left,html.no-flexboxlegacy .tiny-align-left{text-align:left}html.no-flexbox .tiny-align-center,html.no-flexboxlegacy .tiny-align-center{text-align:center}html.no-flexbox .tiny-align-right,html.no-flexboxlegacy .tiny-align-right{text-align:right}html.no-flexbox .tiny-no-margin,html.no-flexboxlegacy .tiny-no-margin{margin:0!important}html.no-flexbox .space,html.no-flexbox .tiny-space,html.no-flexboxlegacy .space,html.no-flexboxlegacy .tiny-space{margin:1em}html.no-flexbox .padding,html.no-flexbox .tiny-padding,html.no-flexboxlegacy .padding,html.no-flexboxlegacy .tiny-padding{padding:1em}html.no-flexbox .double-space,html.no-flexbox .tiny-double-space,html.no-flexboxlegacy .double-space,html.no-flexboxlegacy .tiny-double-space{margin:2em}html.no-flexbox .double-padding,html.no-flexbox .tiny-double-padding,html.no-flexboxlegacy .double-padding,html.no-flexboxlegacy .tiny-double-padding{padding:2em}html.no-flexbox .half-space,html.no-flexbox .tiny-half-space,html.no-flexboxlegacy .half-space,html.no-flexboxlegacy .tiny-half-space{margin:.5em}html.no-flexbox .half-padding,html.no-flexbox .tiny-half-padding,html.no-flexboxlegacy .half-padding,html.no-flexboxlegacy .tiny-half-padding{padding:.5em}html.no-flexbox .quarter-space,html.no-flexbox .tiny-quarter-space,html.no-flexboxlegacy .quarter-space,html.no-flexboxlegacy .tiny-quarter-space{margin:.25em}html.no-flexbox .quarter-padding,html.no-flexbox .tiny-quarter-padding,html.no-flexboxlegacy .quarter-padding,html.no-flexboxlegacy .tiny-quarter-padding{padding:.25em}html.no-flexbox .tiny-vertical-space,html.no-flexbox .vertical-space,html.no-flexboxlegacy .tiny-vertical-space,html.no-flexboxlegacy .vertical-space{margin-top:1em;margin-bottom:1em}html.no-flexbox .tiny-vertical-padding,html.no-flexbox .vertical-padding,html.no-flexboxlegacy .tiny-vertical-padding,html.no-flexboxlegacy .vertical-padding{padding-top:1em;padding-bottom:1em}html.no-flexbox .double-vertical-space,html.no-flexbox .tiny-double-vertical-space,html.no-flexboxlegacy .double-vertical-space,html.no-flexboxlegacy .tiny-double-vertical-space{margin-top:2em;margin-bottom:2em}html.no-flexbox .double-vertical-padding,html.no-flexbox .tiny-double-vertical-padding,html.no-flexboxlegacy .double-vertical-padding,html.no-flexboxlegacy .tiny-double-vertical-padding{padding-top:2em;padding-bottom:2em}html.no-flexbox .half-vertical-space,html.no-flexbox .tiny-half-vertical-space,html.no-flexboxlegacy .half-vertical-space,html.no-flexboxlegacy .tiny-half-vertical-space{margin-top:.5em;margin-bottom:.5em}html.no-flexbox .half-vertical-padding,html.no-flexbox .tiny-half-vertical-padding,html.no-flexboxlegacy .half-vertical-padding,html.no-flexboxlegacy .tiny-half-vertical-padding{padding-top:.5em;padding-bottom:.5em}html.no-flexbox .quarter-vertical-space,html.no-flexbox .tiny-quarter-vertical-space,html.no-flexboxlegacy .quarter-vertical-space,html.no-flexboxlegacy .tiny-quarter-vertical-space{margin-top:.25em;margin-bottom:.25em}html.no-flexbox .quarter-vertical-padding,html.no-flexbox .tiny-quarter-vertical-padding,html.no-flexboxlegacy .quarter-vertical-padding,html.no-flexboxlegacy .tiny-quarter-vertical-padding{padding-top:.25em;padding-bottom:.25em}html.no-flexbox .horizontal-space,html.no-flexbox .tiny-horizontal-space,html.no-flexboxlegacy .horizontal-space,html.no-flexboxlegacy .tiny-horizontal-space{margin-left:1em;margin-right:1em}html.no-flexbox .horizontal-padding,html.no-flexbox .tiny-horizontal-padding,html.no-flexboxlegacy .horizontal-padding,html.no-flexboxlegacy .tiny-horizontal-padding{padding-left:1em;padding-right:1em}html.no-flexbox .double-horizontal-space,html.no-flexbox .tiny-double-horizontal-space,html.no-flexboxlegacy .double-horizontal-space,html.no-flexboxlegacy .tiny-double-horizontal-space{margin-left:2em;margin-right:2em}html.no-flexbox .double-horizontal-padding,html.no-flexbox .tiny-double-horizontal-padding,html.no-flexboxlegacy .double-horizontal-padding,html.no-flexboxlegacy .tiny-double-horizontal-padding{padding-left:2em;padding-right:2em}html.no-flexbox .half-horizontal-space,html.no-flexbox .tiny-half-horizontal-space,html.no-flexboxlegacy .half-horizontal-space,html.no-flexboxlegacy .tiny-half-horizontal-space{margin-left:.5em;margin-right:.5em}html.no-flexbox .half-horizontal-padding,html.no-flexbox .tiny-half-horizontal-padding,html.no-flexboxlegacy .half-horizontal-padding,html.no-flexboxlegacy .tiny-half-horizontal-padding{padding-left:.5em;padding-right:.5em}html.no-flexbox .quarter-horizontal-space,html.no-flexbox .tiny-quarter-horizontal-space,html.no-flexboxlegacy .quarter-horizontal-space,html.no-flexboxlegacy .tiny-quarter-horizontal-space{margin-left:.25em;margin-right:.25em}html.no-flexbox .quarter-horizontal-padding,html.no-flexbox .tiny-quarter-horizontal-padding,html.no-flexboxlegacy .quarter-horizontal-padding,html.no-flexboxlegacy .tiny-quarter-horizontal-padding{padding-left:.25em;padding-right:.25em}html.no-flexbox .tiny-top-space,html.no-flexbox .top-space,html.no-flexboxlegacy .tiny-top-space,html.no-flexboxlegacy .top-space{margin-top:1em}html.no-flexbox .tiny-top-padding,html.no-flexbox .top-padding,html.no-flexboxlegacy .tiny-top-padding,html.no-flexboxlegacy .top-padding{padding-top:1em}html.no-flexbox .double-top-space,html.no-flexbox .tiny-double-top-space,html.no-flexboxlegacy .double-top-space,html.no-flexboxlegacy .tiny-double-top-space{margin-top:2em}html.no-flexbox .double-top-padding,html.no-flexbox .tiny-double-top-padding,html.no-flexboxlegacy .double-top-padding,html.no-flexboxlegacy .tiny-double-top-padding{padding-top:2em}html.no-flexbox .half-top-space,html.no-flexbox .tiny-half-top-space,html.no-flexboxlegacy .half-top-space,html.no-flexboxlegacy .tiny-half-top-space{margin-top:.5em}html.no-flexbox .half-top-padding,html.no-flexbox .tiny-half-top-padding,html.no-flexboxlegacy .half-top-padding,html.no-flexboxlegacy .tiny-half-top-padding{padding-top:.5em}html.no-flexbox .quarter-top-space,html.no-flexbox .tiny-quarter-top-space,html.no-flexboxlegacy .quarter-top-space,html.no-flexboxlegacy .tiny-quarter-top-space{margin-top:.25em}html.no-flexbox .quarter-top-padding,html.no-flexbox .tiny-quarter-top-padding,html.no-flexboxlegacy .quarter-top-padding,html.no-flexboxlegacy .tiny-quarter-top-padding{padding-top:.25em}html.no-flexbox .right-space,html.no-flexbox .tiny-right-space,html.no-flexboxlegacy .right-space,html.no-flexboxlegacy .tiny-right-space{margin-right:1em}html.no-flexbox .right-padding,html.no-flexbox .tiny-right-padding,html.no-flexboxlegacy .right-padding,html.no-flexboxlegacy .tiny-right-padding{padding-right:1em}html.no-flexbox .double-right-space,html.no-flexbox .tiny-double-right-space,html.no-flexboxlegacy .double-right-space,html.no-flexboxlegacy .tiny-double-right-space{margin-right:2em}html.no-flexbox .double-right-padding,html.no-flexbox .tiny-double-right-padding,html.no-flexboxlegacy .double-right-padding,html.no-flexboxlegacy .tiny-double-right-padding{padding-right:2em}html.no-flexbox .half-right-space,html.no-flexbox .tiny-half-right-space,html.no-flexboxlegacy .half-right-space,html.no-flexboxlegacy .tiny-half-right-space{margin-right:.5em}html.no-flexbox .half-right-padding,html.no-flexbox .tiny-half-right-padding,html.no-flexboxlegacy .half-right-padding,html.no-flexboxlegacy .tiny-half-right-padding{padding-right:.5em}html.no-flexbox .quarter-right-space,html.no-flexbox .tiny-quarter-right-space,html.no-flexboxlegacy .quarter-right-space,html.no-flexboxlegacy .tiny-quarter-right-space{margin-right:.25em}html.no-flexbox .quarter-right-padding,html.no-flexbox .tiny-quarter-right-padding,html.no-flexboxlegacy .quarter-right-padding,html.no-flexboxlegacy .tiny-quarter-right-padding{padding-right:.25em}html.no-flexbox .bottom-space,html.no-flexbox .tiny-bottom-space,html.no-flexboxlegacy .bottom-space,html.no-flexboxlegacy .tiny-bottom-space{margin-bottom:1em}html.no-flexbox .bottom-padding,html.no-flexbox .tiny-bottom-padding,html.no-flexboxlegacy .bottom-padding,html.no-flexboxlegacy .tiny-bottom-padding{padding-bottom:1em}html.no-flexbox .double-bottom-space,html.no-flexbox .tiny-double-bottom-space,html.no-flexboxlegacy .double-bottom-space,html.no-flexboxlegacy .tiny-double-bottom-space{margin-bottom:2em}html.no-flexbox .double-bottom-padding,html.no-flexbox .tiny-double-bottom-padding,html.no-flexboxlegacy .double-bottom-padding,html.no-flexboxlegacy .tiny-double-bottom-padding{padding-bottom:2em}html.no-flexbox .half-bottom-space,html.no-flexbox .tiny-half-bottom-space,html.no-flexboxlegacy .half-bottom-space,html.no-flexboxlegacy .tiny-half-bottom-space{margin-bottom:.5em}html.no-flexbox .half-bottom-padding,html.no-flexbox .tiny-half-bottom-padding,html.no-flexboxlegacy .half-bottom-padding,html.no-flexboxlegacy .tiny-half-bottom-padding{padding-bottom:.5em}html.no-flexbox .quarter-bottom-space,html.no-flexbox .tiny-quarter-bottom-space,html.no-flexboxlegacy .quarter-bottom-space,html.no-flexboxlegacy .tiny-quarter-bottom-space{margin-bottom:.25em}html.no-flexbox .quarter-bottom-padding,html.no-flexbox .tiny-quarter-bottom-padding,html.no-flexboxlegacy .quarter-bottom-padding,html.no-flexboxlegacy .tiny-quarter-bottom-padding{padding-bottom:.25em}html.no-flexbox .left-space,html.no-flexbox .tiny-left-space,html.no-flexboxlegacy .left-space,html.no-flexboxlegacy .tiny-left-space{margin-left:1em}html.no-flexbox .left-padding,html.no-flexbox .tiny-left-padding,html.no-flexboxlegacy .left-padding,html.no-flexboxlegacy .tiny-left-padding{padding-left:1em}html.no-flexbox .double-left-space,html.no-flexbox .tiny-double-left-space,html.no-flexboxlegacy .double-left-space,html.no-flexboxlegacy .tiny-double-left-space{margin-left:2em}html.no-flexbox .double-left-padding,html.no-flexbox .tiny-double-left-padding,html.no-flexboxlegacy .double-left-padding,html.no-flexboxlegacy .tiny-double-left-padding{padding-left:2em}html.no-flexbox .half-left-space,html.no-flexbox .tiny-half-left-space,html.no-flexboxlegacy .half-left-space,html.no-flexboxlegacy .tiny-half-left-space{margin-left:.5em}html.no-flexbox .half-left-padding,html.no-flexbox .tiny-half-left-padding,html.no-flexboxlegacy .half-left-padding,html.no-flexboxlegacy .tiny-half-left-padding{padding-left:.5em}html.no-flexbox .quarter-left-space,html.no-flexbox .tiny-quarter-left-space,html.no-flexboxlegacy .quarter-left-space,html.no-flexboxlegacy .tiny-quarter-left-space{margin-left:.25em}html.no-flexbox .quarter-left-padding,html.no-flexbox .tiny-quarter-left-padding,html.no-flexboxlegacy .quarter-left-padding,html.no-flexboxlegacy .tiny-quarter-left-padding{padding-left:.25em}html.no-flexbox .hide-tiny,html.no-flexboxlegacy .hide-tiny{display:none!important}html.no-flexbox .show-tiny,html.no-flexboxlegacy .show-tiny{display:inherit!important}html.no-flexbox table.show-tiny,html.no-flexboxlegacy table.show-tiny{display:table}html.no-flexbox thead.show-tiny,html.no-flexboxlegacy thead.show-tiny{display:table-header-group}html.no-flexbox tbody.show-tiny,html.no-flexboxlegacy tbody.show-tiny{display:table-row-group}html.no-flexbox tfoot.show-tiny,html.no-flexboxlegacy tfoot.show-tiny{display:table-footer-group}html.no-flexbox tr.show-tiny,html.no-flexboxlegacy tr.show-tiny{display:table-row}html.no-flexbox td.show-tiny,html.no-flexbox th.show-tiny,html.no-flexboxlegacy td.show-tiny,html.no-flexboxlegacy th.show-tiny{display:table-cell}}html.no-flexbox:after,html.no-flexboxlegacy:after{content:'[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]';display:none}html.no-flexbox .ink-carousel,html.no-flexboxlegacy .ink-carousel{width:100%;position:relative;overflow:hidden;display:block}html.no-flexbox .ink-carousel .stage,html.no-flexboxlegacy .ink-carousel .stage{left:0;height:auto!important;margin-top:0;margin-bottom:0;padding-left:0;list-style-type:none;white-space:nowrap;position:relative;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}html.no-flexbox .ink-carousel .stage .slide,html.no-flexboxlegacy .ink-carousel .stage .slide{position:relative;display:inline-block;vertical-align:top;white-space:normal;margin:0;float:none;zoom:1;*display:inline}html.no-flexbox .ink-carousel .ink-navigation,html.no-flexboxlegacy .ink-carousel .ink-navigation{position:static} \ No newline at end of file diff --git a/public/css/ink.css b/public/css/ink.css new file mode 100644 index 0000000..eb0c4f9 --- /dev/null +++ b/public/css/ink.css @@ -0,0 +1,8518 @@ +@charset "UTF-8"; +/** + * Ink + * + * A set of tools for quick development of web interfaces. + * + * @package Ink + * @author Sapo Ink Team + * @license http://opensource.org/licenses/MIT MIT + * @link http://ink.sapo.pt + * @version 3.0.5 + */ +/** + * Ink class names prefix + * Used in all of Inks components root elements + */ +/** + * Grid class names + */ +/** + * Alerts class names + */ +/** + * Badges class names + */ +/** + * Buttons class names + */ +/** + * Forms class names + */ +/** + * Labels class names + */ +/** + * Navigation class names + */ +/** + * Dropdown class names + */ +/** + * Tables class names + */ +/** + * Images class names + */ +/** + * JS UI components classe names + */ +/** + * Sets the grids maximum width + * @var $grid-max-width (pixels|ems|percentage) + */ +/*! + * Sets the grids breakpoint + * + * To add a new break point you'll need to add an element to the list. + * + * Here's an example: ( class-name-prefix, minimum-width, maximum-width, gutter-width, no-media-query). + * + * media: media type. + * class-name-prefix: this is the prefix used in tons of inks classes i.e.: large-100, small-40, etc. + * minimum-width: (pixels|null) the minimum width for the breakpoint + * maximum-width: (pixels|null) the maximum width for the breakpoint + * gutter-width: (ems) the width for the gutters (space between grid columns) for the breakpoint + * no-media-query: (true|false) if you need to support IE8 set this to true on a single breakpoint. + * Since IE8 does not support the @media statement leaving one of the breakpoints + * outside a @media query let's you use the grid in IE8. + * + */ +.show-all { + display: inherit; +} + +.hide-all { + display: none !important; +} + +.no-margin { + margin: 0 !important; +} + +.no-padding { + padding: 0 !important; +} + +.push-left { + float: left; +} + +.push-center { + float: none !important; + margin-left: auto; + margin-right: auto; +} + +.push-right { + float: right; + -webkit-justify-content: flex-end; + -moz-justify-content: flex-end; + justify-content: flex-end; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +.clearfix { + *zoom: 1; + overflow: hidden; + *zoom: 1; +} +.clearfix:after { + content: ""; + display: table; + clear: both; +} + +/*! normalize.css v3.0.0 | MIT License | git.io/normalize */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} +html * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +/** + * Remove default margin. + */ +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ +/** + * Correct `block` display not defined in IE 8/9. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +audio, +canvas, +progress, +video { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9. + * Hide the `template` element in IE, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ +/** + * Remove the gray background color from active links in IE 10. + */ +a { + background: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ +/** + * Address styling not present in IE 8/9, Safari 5, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + */ +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari 5 and Chrome. + */ +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari 5, and Chrome. + */ +h1 { + font-size: 2em; + margin: .67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -.5em; +} + +sub { + bottom: -.25em; +} + +/* Embedded content + ========================================================================== */ +/** + * Remove border when inside `a` element in IE 8/9. + */ +img { + border: 0; +} + +/** + * Correct overflow displayed oddly in IE 9. + */ +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ +/** + * Address margin not present in IE 8/9 and Safari 5. + */ +figure { + margin: 0; +} + +/** + * Address differences between Firefox and other browsers. + */ +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + */ +button, +input, +optgroup, +select, +textarea { + color: inherit; + /* 1 */ + font: inherit; + /* 2 */ + margin: 0; + /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10. + */ +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8+, and Opera + * Correct `select` style inheritance in Firefox. + */ +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ +input[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + /* 2 */ + box-sizing: border-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: .35em .625em .75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + border: 0; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9. + */ +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +.ink-alert.basic, .ink-alert.block { + font-size: .938em; + margin: 1em 0; + position: relative; + overflow: hidden; +} +.ink-alert.basic { + padding: 1em 3em 1em 1em; +} +.ink-alert.basic p { + margin: 0; +} +.ink-alert.basic .ink-close { + top: .55em; + *top: .2em; +} +.ink-alert.block { + font-size: 1em; +} +.ink-alert.block > h4 { + padding: 1em 3em 1em 1em; + font-size: .938em; + line-height: 1.5; + margin: 0; +} +.ink-alert.block p { + margin: 1.5em 1em; +} +.ink-alert.block ul { + list-style: inside; +} +.ink-alert .ink-dismiss { + position: absolute; + line-height: .56em; + font-size: 1.8em; + padding: 5px; + border: none; + background: none; + top: .5em; + *top: .2em; + right: .4em; +} + +.ink-badge { + padding: 0.2em 0.6em; + font-size: 0.813em; + margin-left: .6em; +} + +.ink-button { + -webkit-appearance: menuitem; + padding: 8px 12px; + cursor: pointer; + text-decoration: none; + text-align: center; + display: inline-block; + vertical-align: middle; + white-space: nowrap; + line-height: normal; +} +.ink-button + .ink-button { + margin-left: 5px; +} + +.button-group { + *zoom: 1; +} +.button-group > .ink-button { + float: left; + margin: 5px 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + -ms-border-radius: 0; + -o-border-radius: 0; + border-radius: 0; + border-left: none; +} +.button-group > .ink-button:hover, .button-group > .ink-button:active { + border-left: none; +} +.button-group > .ink-button:first-child { + -webkit-border-radius: 2px 0 0 2px; + -moz-border-radius: 2px 0 0 2px; + -ms-border-radius: 2px 0 0 2px; + -o-border-radius: 2px 0 0 2px; + border-radius: 2px 0 0 2px; + border-left: 1px solid #bfbfbf; +} +.button-group > .ink-button:last-child { + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + -ms-border-radius: 0 2px 2px 0; + -o-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; +} +.button-group:after { + content: ""; + display: table; + clear: both; +} + +.button-toolbar { + *zoom: 1; +} +.button-toolbar > .button-group { + margin-right: 10px; + float: left; +} +.button-toolbar:after { + content: ""; + display: table; + clear: both; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-thin-webfont.eot'); + src: url('../fonts/Roboto/roboto-thin-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-thin-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-thin-webfont.ttf') format('truetype'); + font-weight: 100; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-thinitalic-webfont.eot'); + src: url('../fonts/Roboto/roboto-thinitalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-thinitalic-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-thinitalic-webfont.ttf') format('truetype'); + font-weight: 100; + font-style: italic; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-light-webfont.eot'); + src: url('../fonts/Roboto/roboto-light-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-light-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-light-webfont.ttf') format('truetype'); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-lightitalic-webfont.eot'); + src: url('../fonts/Roboto/roboto-lightitalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-lightitalic-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-lightitalic-webfont.ttf') format('truetype'); + font-weight: 300; + font-style: italic; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-regular-webfont.eot'); + src: url('../fonts/Roboto/roboto-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-regular-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-regular-webfont.ttf') format('truetype'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-italic-webfont.eot'); + src: url('../fonts/Roboto/roboto-italic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-italic-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-italic-webfont.ttf') format('truetype'); + font-weight: 400; + font-style: italic; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-medium-webfont.eot'); + src: url('../fonts/Roboto/roboto-medium-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-medium-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-medium-webfont.ttf') format('truetype'); + font-weight: 500; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-mediumitalic-webfont.eot'); + src: url('../fonts/Roboto/roboto-mediumitalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-mediumitalic-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-mediumitalic-webfont.ttf') format('truetype'); + font-weight: 500; + font-style: italic; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-bold-webfont.eot'); + src: url('../fonts/Roboto/roboto-bold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-bold-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-bold-webfont.ttf') format('truetype'); + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-bolditalic-webfont.eot'); + src: url('../fonts/Roboto/roboto-bolditalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-bolditalic-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-bolditalic-webfont.ttf') format('truetype'); + font-weight: 700; + font-style: italic; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-black-webfont.eot'); + src: url('../fonts/Roboto/roboto-black-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-black-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-black-webfont.ttf') format('truetype'); + font-weight: 900; + font-style: normal; +} + +@font-face { + font-family: "Roboto"; + src: url('../fonts/Roboto/roboto-blackitalic-webfont.eot'); + src: url('../fonts/Roboto/roboto-blackitalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto/roboto-blackitalic-webfont.woff') format('woff'), url('../fonts/Roboto/roboto-blackitalic-webfont.ttf') format('truetype'); + font-weight: 900; + font-style: italic; +} + +@font-face { + font-family: "Roboto_condensed"; + src: url('../fonts/Roboto_condensed/robotocondensed-light-webfont.eot'); + src: url('../fonts/Roboto_condensed/robotocondensed-light-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_condensed/robotocondensed-light-webfont.woff') format('woff'), url('../fonts/Roboto_condensed/robotocondensed-light-webfont.ttf') format('truetype'); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: "Roboto_condensed"; + src: url('../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.eot'); + src: url('../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.woff') format('woff'), url('../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.ttf') format('truetype'); + font-weight: 300; + font-style: italic; +} + +@font-face { + font-family: "Roboto_condensed"; + src: url('../fonts/Roboto_condensed/robotocondensed-regular-webfont.eot'); + src: url('../fonts/Roboto_condensed/robotocondensed-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_condensed/robotocondensed-regular-webfont.woff') format('woff'), url('../fonts/Roboto_condensed/robotocondensed-regular-webfont.ttf') format('truetype'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: "Roboto_condensed"; + src: url('../fonts/Roboto_condensed/robotocondensed-italic-webfont.eot'); + src: url('../fonts/Roboto_condensed/robotocondensed-italic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_condensed/robotocondensed-italic-webfont.woff') format('woff'), url('../fonts/Roboto_condensed/robotocondensed-italic-webfont.ttf') format('truetype'); + font-weight: 400; + font-style: italic; +} + +@font-face { + font-family: "Roboto_condensed"; + src: url('../fonts/Roboto_condensed/robotocondensed-bold-webfont.eot'); + src: url('../fonts/Roboto_condensed/robotocondensed-bold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_condensed/robotocondensed-bold-webfont.woff') format('woff'), url('../fonts/Roboto_condensed/robotocondensed-bold-webfont.ttf') format('truetype'); + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: "Roboto_condensed"; + src: url('../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.eot'); + src: url('../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.woff') format('woff'), url('../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.ttf') format('truetype'); + font-weight: 700; + font-style: italic; +} + +@font-face { + font-family: "Roboto_slab"; + src: url('../fonts/Roboto_slab/robotoslab-thin-webfont.eot'); + src: url('../fonts/Roboto_slab/robotoslab-thin-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_slab/robotoslab-thin-webfont.woff') format('woff'), url('../fonts/Roboto_slab/robotoslab-thin-webfont.ttf') format('truetype'); + font-weight: 100; + font-style: normal; +} + +@font-face { + font-family: "Roboto_slab"; + src: url('../fonts/Roboto_slab/robotoslab-light-webfont.eot'); + src: url('../fonts/Roboto_slab/robotoslab-light-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_slab/robotoslab-light-webfont.woff') format('woff'), url('../fonts/Roboto_slab/robotoslab-light-webfont.ttf') format('truetype'); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: "Roboto_slab"; + src: url('../fonts/Roboto_slab/robotoslab-regular-webfont.eot'); + src: url('../fonts/Roboto_slab/robotoslab-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_slab/robotoslab-regular-webfont.woff') format('woff'), url('../fonts/Roboto_slab/robotoslab-regular-webfont.ttf') format('truetype'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: "Roboto_slab"; + src: url('../fonts/Roboto_slab/robotoslab-bold-webfont.eot'); + src: url('../fonts/Roboto_slab/robotoslab-bold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/Roboto_slab/robotoslab-bold-webfont.woff') format('woff'), url('../fonts/Roboto_slab/robotoslab-bold-webfont.ttf') format('truetype'); + font-weight: 700; + font-style: normal; +} + +.ink-form fieldset { + border: none; + margin-bottom: 1.5em; + padding: 0; + margin: 0; +} +.ink-form fieldset legend { + font-size: 1.438em; + font-weight: 700; + width: 100%; + border-bottom: 1px solid #ddd; +} +.ink-form fieldset legend + * { + -webkit-margin-top-collapse: separate; + margin: 2em 0; +} +.ink-form p.tip { + font-size: .875em; + color: #909090; + position: relative; + margin: .2em 0 0 .1em; +} +.ink-form p.label { + padding: 0; + margin: 0; + color: #555555; + white-space: normal; +} +.ink-form select, +.ink-form textarea, +.ink-form input[type="text"], +.ink-form input[type="password"], +.ink-form input[type="datetime"], +.ink-form input[type="datetime-local"], +.ink-form input[type="date"], +.ink-form input[type="month"], +.ink-form input[type="time"], +.ink-form input[type="week"], +.ink-form input[type="number"], +.ink-form input[type="email"], +.ink-form input[type="url"], +.ink-form input[type="search"], +.ink-form input[type="tel"], +.ink-form input[type="color"] { + font-family: "Roboto", Arial, Helvetica, sans-serif; + font-weight: 300; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + padding: 8px 6px; + border: 1px solid #c6c6c6; + resize: none; + background: white; + vertical-align: middle; +} +.ink-form select:focus, +.ink-form textarea:focus, +.ink-form input[type="text"]:focus, +.ink-form input[type="password"]:focus, +.ink-form input[type="datetime"]:focus, +.ink-form input[type="datetime-local"]:focus, +.ink-form input[type="date"]:focus, +.ink-form input[type="month"]:focus, +.ink-form input[type="time"]:focus, +.ink-form input[type="week"]:focus, +.ink-form input[type="number"]:focus, +.ink-form input[type="email"]:focus, +.ink-form input[type="url"]:focus, +.ink-form input[type="search"]:focus, +.ink-form input[type="tel"]:focus, +.ink-form input[type="color"]:focus { + outline: none; + border-color: rgba(153, 153, 153, 0.9); + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + outline: 0 none; +} +.ink-form select:disabled, +.ink-form textarea:disabled, +.ink-form input[type="text"]:disabled, +.ink-form input[type="password"]:disabled, +.ink-form input[type="datetime"]:disabled, +.ink-form input[type="datetime-local"]:disabled, +.ink-form input[type="date"]:disabled, +.ink-form input[type="month"]:disabled, +.ink-form input[type="time"]:disabled, +.ink-form input[type="week"]:disabled, +.ink-form input[type="number"]:disabled, +.ink-form input[type="email"]:disabled, +.ink-form input[type="url"]:disabled, +.ink-form input[type="search"]:disabled, +.ink-form input[type="tel"]:disabled, +.ink-form input[type="color"]:disabled { + background: #f2f2f2; + cursor: not-allowed; +} +.ink-form .input-file { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + padding: 6px; + border: 1px solid #c6c6c6; + background: white; + vertical-align: middle; + line-height: 1.2; +} +.ink-form .input-file input[type="file"] { + -webkit-border-radius: 0; + -moz-border-radius: 0; + -ms-border-radius: 0; + -o-border-radius: 0; + border-radius: 0; + border: none; + padding: 0; + background: none; + width: 100%; +} +.ink-form .ink-button { + margin: 0 5px; +} +.ink-form label { + cursor: pointer; +} +.ink-form select { + line-height: 2; + cursor: pointer; +} +.ink-form textarea { + min-height: 5em; +} +.ink-form .control-group { + line-height: 2; + margin-bottom: 1em; + *zoom: 1; +} +.ink-form .control-group:after { + content: ""; + display: table; + clear: both; +} +.ink-form .control-group .control { + position: relative; + *zoom: 1; +} +.ink-form .control-group .control:after { + content: ""; + display: table; + clear: both; +} +.ink-form .control-group .control > li { + margin: 0; + *zoom: 1; +} +.ink-form .control-group .control > li:after { + content: ""; + display: table; + clear: both; +} +.ink-form .control-group .control > input, .ink-form .control-group .control > select, .ink-form .control-group .control > textarea { + width: 100%; +} +.ink-form .control-group .control > input + [class^="icon-"], .ink-form .control-group .control > input + [class*=" icon-"], .ink-form .control-group .control > select + [class^="icon-"], .ink-form .control-group .control > select + [class*=" icon-"], .ink-form .control-group .control > textarea + [class^="icon-"], .ink-form .control-group .control > textarea + [class*=" icon-"] { + display: none; +} +.ink-form .control-group .control.append-button span, .ink-form .control-group .control.append-symbol span, .ink-form .control-group .control.prepend-button span, .ink-form .control-group .control.prepend-symbol span { + width: 100%; + position: relative; +} +.ink-form .control-group .control.append-button span > input, .ink-form .control-group .control.append-button span > select, .ink-form .control-group .control.append-button span > textarea, .ink-form .control-group .control.append-symbol span > input, .ink-form .control-group .control.append-symbol span > select, .ink-form .control-group .control.append-symbol span > textarea, .ink-form .control-group .control.prepend-button span > input, .ink-form .control-group .control.prepend-button span > select, .ink-form .control-group .control.prepend-button span > textarea, .ink-form .control-group .control.prepend-symbol span > input, .ink-form .control-group .control.prepend-symbol span > select, .ink-form .control-group .control.prepend-symbol span > textarea { + width: 100%; +} +.ink-form .control-group .control.append-button > input[type="submit"], .ink-form .control-group .control.append-button > input[type="button"], .ink-form .control-group .control.append-button > input[type="reset"], .ink-form .control-group .control.append-symbol > input[type="submit"], .ink-form .control-group .control.append-symbol > input[type="button"], .ink-form .control-group .control.append-symbol > input[type="reset"], .ink-form .control-group .control.prepend-button > input[type="submit"], .ink-form .control-group .control.prepend-button > input[type="button"], .ink-form .control-group .control.prepend-button > input[type="reset"], .ink-form .control-group .control.prepend-symbol > input[type="submit"], .ink-form .control-group .control.prepend-symbol > input[type="button"], .ink-form .control-group .control.prepend-symbol > input[type="reset"] { + width: auto; +} +.ink-form .control-group .control.append-button { + display: table; +} +.ink-form .control-group .control.append-button span { + display: table-cell; +} +.ink-form .control-group .control.append-button span > input, .ink-form .control-group .control.append-button span > select, .ink-form .control-group .control.append-button span > textarea { + -webkit-border-radius: 2px 0 0 2px; + -moz-border-radius: 2px 0 0 2px; + -ms-border-radius: 2px 0 0 2px; + -o-border-radius: 2px 0 0 2px; + border-radius: 2px 0 0 2px; +} +.ink-form .control-group .control.append-button .ink-button { + margin: 0; + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + -ms-border-radius: 0 2px 2px 0; + -o-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; + border-left: none; +} +.ink-form .control-group .control.prepend-button { + display: table; +} +.ink-form .control-group .control.prepend-button span { + display: table-cell; +} +.ink-form .control-group .control.prepend-button span > input, .ink-form .control-group .control.prepend-button span > select, .ink-form .control-group .control.prepend-button span > textarea { + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + -ms-border-radius: 0 2px 2px 0; + -o-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; +} +.ink-form .control-group .control.prepend-button .ink-button { + margin: 0; + -webkit-border-radius: 2px 0 0 2px; + -moz-border-radius: 2px 0 0 2px; + -ms-border-radius: 2px 0 0 2px; + -o-border-radius: 2px 0 0 2px; + border-radius: 2px 0 0 2px; + border-right: none; +} +.ink-form .control-group .control.append-symbol span { + display: block; +} +.ink-form .control-group .control.append-symbol span > input, .ink-form .control-group .control.append-symbol span > select, .ink-form .control-group .control.append-symbol span > textarea { + padding-right: 2.5em; +} +.ink-form .control-group .control.append-symbol span > [class^="fa-"], .ink-form .control-group .control.append-symbol span > [class*=" fa-"] { + position: absolute; + right: 1em; + top: .86em; + pointer-events: none; +} +.ink-form .control-group .control.prepend-symbol span { + display: block; +} +.ink-form .control-group .control.prepend-symbol span > input, .ink-form .control-group .control.prepend-symbol span > select, .ink-form .control-group .control.prepend-symbol span > textarea { + padding-left: 2.5em; +} +.ink-form .control-group .control.prepend-symbol span > [class^="fa-"], .ink-form .control-group .control.prepend-symbol span > [class*=" fa-"] { + position: absolute; + left: 1em; + top: .86em; + pointer-events: none; +} +.ink-form .control-group input[type="radio"], +.ink-form .control-group input[type="checkbox"] { + padding: 0; + margin: .55em 0; + border: none; + clear: left; + float: left; + cursor: pointer; +} +.ink-form .control-group input[type="radio"] + label, +.ink-form .control-group input[type="checkbox"] + label { + float: left; + margin: .25em 0 .25em .4em; +} +.ink-form .control-group .inline li { + padding: 0; +} +.ink-form .control-group .inline li label { + margin-right: 1em; +} +.ink-form .control-group.validation.error input, .ink-form .control-group.validation.error textarea, .ink-form .control-group.validation.error select { + outline: none; + border-color: rgba(200, 10, 16, 0.8); + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + border: 1px solid rgba(200, 10, 16, 0.5); +} +.ink-form .control-group.validation.error p.tip { + color: rgba(150, 7, 12, 0.55); +} +.ink-form .control-group.validation.warning input, .ink-form .control-group.validation.warning textarea, .ink-form .control-group.validation.warning select { + outline: none; + border-color: rgba(255, 156, 0, 0.9); + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + border: 1px solid rgba(255, 156, 0, 0.6); +} +.ink-form .control-group.validation.warning p.tip { + color: rgba(204, 125, 0, 0.6); +} +.ink-form .control-group.required label, .ink-form .control-group.required p.label { + color: #555555; +} +.ink-form .control-group.required label:after, .ink-form .control-group.required p.label:after { + content: "\f069"; + color: #c91111; + margin-left: .6em; + font-family: FontAwesome; + font-size: .75em; + width: 1.25em; +} +.ink-form .control-group.required ul.control label:after { + content: ""; +} + +.ink-grid { + width: auto; + max-width: 1440px; + margin: 0 auto; +} + +.all-5 { + width: 5%; + float: left; + clear: none; +} + +.all-10 { + width: 10%; + float: left; + clear: none; +} + +.all-15 { + width: 15%; + float: left; + clear: none; +} + +.all-16 { + width: 16.66%; + float: left; + clear: none; +} + +.all-20 { + width: 20%; + float: left; + clear: none; +} + +.all-25 { + width: 25%; + float: left; + clear: none; +} + +.all-30 { + width: 30%; + float: left; + clear: none; +} + +.all-33 { + width: 33.33%; + float: left; + clear: none; +} + +.all-35 { + width: 35%; + float: left; + clear: none; +} + +.all-40 { + width: 40%; + float: left; + clear: none; +} + +.all-45 { + width: 45%; + float: left; + clear: none; +} + +.all-50 { + width: 50%; + float: left; + clear: none; +} + +.all-55 { + width: 55%; + float: left; + clear: none; +} + +.all-60 { + width: 60%; + float: left; + clear: none; +} + +.all-65 { + width: 65%; + float: left; + clear: none; +} + +.all-66 { + width: 66.66%; + float: left; + clear: none; +} + +.all-70 { + width: 70%; + float: left; + clear: none; +} + +.all-75 { + width: 75%; + float: left; + clear: none; +} + +.all-80 { + width: 80%; + float: left; + clear: none; +} + +.all-85 { + width: 85%; + float: left; + clear: none; +} + +.all-90 { + width: 90%; + float: left; + clear: none; +} + +.all-95 { + width: 95%; + float: left; + clear: none; +} + +.all-100 { + width: 100%; + float: left; + clear: none; +} + +[class~=all-100] { + float: none; + clear: both; +} + +@media screen and (min-width: 1261px) { + .ink-grid { + padding: 0 2em; + } + + .column-group > [class*=xlarge-] { + float: left; + clear: none; + } + + .xlarge-5 { + width: 5%; + } + + .xlarge-10 { + width: 10%; + } + + .xlarge-15 { + width: 15%; + } + + .xlarge-16 { + width: 16.66%; + } + + .xlarge-20 { + width: 20%; + } + + .xlarge-25 { + width: 25%; + } + + .xlarge-30 { + width: 30%; + } + + .xlarge-33 { + width: 33.33%; + } + + .xlarge-35 { + width: 35%; + } + + .xlarge-40 { + width: 40%; + } + + .xlarge-45 { + width: 45%; + } + + .xlarge-50 { + width: 50%; + } + + .xlarge-55 { + width: 55%; + } + + .xlarge-60 { + width: 60%; + } + + .xlarge-65 { + width: 65%; + } + + .xlarge-66 { + width: 66.66%; + } + + .xlarge-70 { + width: 70%; + } + + .xlarge-75 { + width: 75%; + } + + .xlarge-80 { + width: 80%; + } + + .xlarge-85 { + width: 85%; + } + + .xlarge-90 { + width: 90%; + } + + .xlarge-95 { + width: 95%; + } + + .xlarge-100 { + width: 100%; + } + + [class*=xlarge-100] { + float: none; + clear: both; + } + + .column-group { + *zoom: 1; + } + .column-group:after { + content: ""; + display: table; + clear: both; + } + + .column-group.gutters { + margin-left: -2em; + } + .column-group.gutters > [class*=xlarge-], .column-group.gutters > [class*=all-] { + padding-left: 2em; + margin-bottom: 2em; + } + + .column-group.horizontal-gutters { + margin-left: -2em; + } + .column-group.horizontal-gutters > [class*=xlarge-], .column-group.horizontal-gutters > [class*=all-] { + padding-left: 2em; + } + + .column-group.vertical-gutters > [class*=xlarge-], .column-group.vertical-gutters > [class*=all-] { + margin-bottom: 2em; + } + + .column-group.double-gutters { + margin-left: -4em; + } + .column-group.double-gutters > [class*=xlarge-], .column-group.double-gutters > [class*=all-] { + padding-left: 4em; + margin-bottom: 4em; + } + + .column-group.double-horizontal-gutters { + margin-left: -4em; + } + .column-group.double-horizontal-gutters > [class*=xlarge-], .column-group.double-horizontal-gutters > [class*=all-] { + padding-left: 4em; + } + + .column-group.double-vertical-gutters > [class*=xlarge-], .column-group.double-vertical-gutters > [class*=all-] { + margin-bottom: 4em; + } + + .column-group.half-gutters { + margin-left: -1em; + } + .column-group.half-gutters > [class*=xlarge-], .column-group.half-gutters > [class*=all-] { + padding-left: 1em; + margin-bottom: 1em; + } + + .column-group.half-horizontal-gutters { + margin-left: -1em; + } + .column-group.half-horizontal-gutters > [class*=xlarge-], .column-group.half-horizontal-gutters > [class*=all-] { + padding-left: 1em; + } + + .column-group.half-vertical-gutters > [class*=xlarge-], .column-group.half-vertical-gutters > [class*=all-] { + margin-bottom: 1em; + } + + .column-group.quarter-gutters { + margin-left: -0.5em; + } + .column-group.quarter-gutters > [class*=xlarge-], .column-group.quarter-gutters > [class*=all-] { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + + .column-group.quarter-horizontal-gutters { + margin-left: -0.5em; + } + .column-group.quarter-horizontal-gutters > [class*=xlarge-], .column-group.quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.5em; + } + + .column-group.quarter-vertical-gutters > [class*=xlarge-], .column-group.quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.5em; + } + + .column-group.xlarge-gutters { + margin-left: -2em; + } + .column-group.xlarge-gutters > [class*=xlarge-], .column-group.xlarge-gutters > [class*=all-] { + padding-left: 2em; + margin-bottom: 2em; + } + + .column-group.xlarge-horizontal-gutters { + margin-left: -2em; + } + .column-group.xlarge-horizontal-gutters > [class*=xlarge-], .column-group.xlarge-horizontal-gutters > [class*=all-] { + padding-left: 2em; + } + + .column-group.xlarge-vertical-gutters > [class*=xlarge-], .column-group.xlarge-vertical-gutters > [class*=all-] { + margin-bottom: 2em; + } + + .column-group.xlarge-double-gutters { + margin-left: -4em; + } + .column-group.xlarge-double-gutters > [class*=xlarge-], .column-group.xlarge-double-gutters > [class*=all-] { + padding-left: 4em; + margin-bottom: 4em; + } + + .column-group.xlarge-double-horizontal-gutters { + margin-left: -4em; + } + .column-group.xlarge-double-horizontal-gutters > [class*=xlarge-], .column-group.xlarge-double-horizontal-gutters > [class*=all-] { + padding-left: 4em; + } + + .column-group.xlarge-double-vertical-gutters > [class*=xlarge-], .column-group.xlarge-double-vertical-gutters > [class*=all-] { + margin-bottom: 4em; + } + + .column-group.xlarge-half-gutters { + margin-left: -1em; + } + .column-group.xlarge-half-gutters > [class*=xlarge-], .column-group.xlarge-half-gutters > [class*=all-] { + padding-left: 1em; + margin-bottom: 1em; + } + + .column-group.xlarge-half-horizontal-gutters { + margin-left: -1em; + } + .column-group.xlarge-half-horizontal-gutters > [class*=xlarge-], .column-group.xlarge-half-horizontal-gutters > [class*=all-] { + padding-left: 1em; + } + + .column-group.xlarge-half-vertical-gutters > [class*=xlarge-], .column-group.xlarge-half-vertical-gutters > [class*=all-] { + margin-bottom: 1em; + } + + .column-group.xlarge-quarter-gutters { + margin-left: -0.5em; + } + .column-group.xlarge-quarter-gutters > [class*=xlarge-], .column-group.xlarge-quarter-gutters > [class*=all-] { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + + .column-group.xlarge-quarter-horizontal-gutters { + margin-left: -0.5em; + } + .column-group.xlarge-quarter-horizontal-gutters > [class*=xlarge-], .column-group.xlarge-quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.5em; + } + + .column-group.xlarge-quarter-vertical-gutters > [class*=xlarge-], .column-group.xlarge-quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.5em; + } + + .column-group.xlarge-no-gutters { + margin-left: 0; + } + .column-group.xlarge-no-gutters > [class*=xlarge-], .column-group.xlarge-no-gutters > [class*=all-] { + padding-left: 0; + margin-bottom: 0; + } + + .ink-table td[class*=xlarge-], .ink-table th[class*=xlarge-], .ink-table tr[class*=xlarge-], .ink-table thead[class*=xlarge-], .ink-table tbody[class*=xlarge-], .ink-table tfoot[class*=xlarge-] { + float: none; + } + + .xlarge-push-left { + float: left; + } + + .xlarge-push-center { + float: none; + margin-left: auto; + margin-right: auto; + } + + .xlarge-push-right { + float: right; + } + + .xlarge-align-left { + text-align: left; + } + + .xlarge-align-center { + text-align: center; + } + + .xlarge-align-right { + text-align: right; + } + + .xlarge-no-margin { + margin: 0 !important; + } + + .space { + margin: 2em; + } + + .xlarge-space { + margin: 2em; + } + + .padding { + padding: 2em; + } + + .xlarge-padding { + padding: 2em; + } + + .double-space { + margin: 4em; + } + + .xlarge-double-space { + margin: 4em; + } + + .double-padding { + padding: 4em; + } + + .xlarge-double-padding { + padding: 4em; + } + + .half-space { + margin: 1em; + } + + .xlarge-half-space { + margin: 1em; + } + + .half-padding { + padding: 1em; + } + + .xlarge-half-padding { + padding: 1em; + } + + .quarter-space { + margin: 0.5em; + } + + .xlarge-quarter-space { + margin: 0.5em; + } + + .quarter-padding { + padding: 0.5em; + } + + .xlarge-quarter-padding { + padding: 0.5em; + } + + .vertical-space { + margin-top: 2em; + margin-bottom: 2em; + } + + .xlarge-vertical-space { + margin-top: 2em; + margin-bottom: 2em; + } + + .vertical-padding { + padding-top: 2em; + padding-bottom: 2em; + } + + .xlarge-vertical-padding { + padding-top: 2em; + padding-bottom: 2em; + } + + .double-vertical-space { + margin-top: 4em; + margin-bottom: 4em; + } + + .xlarge-double-vertical-space { + margin-top: 4em; + margin-bottom: 4em; + } + + .double-vertical-padding { + padding-top: 4em; + padding-bottom: 4em; + } + + .xlarge-double-vertical-padding { + padding-top: 4em; + padding-bottom: 4em; + } + + .half-vertical-space { + margin-top: 1em; + margin-bottom: 1em; + } + + .xlarge-half-vertical-space { + margin-top: 1em; + margin-bottom: 1em; + } + + .half-vertical-padding { + padding-top: 1em; + padding-bottom: 1em; + } + + .xlarge-half-vertical-padding { + padding-top: 1em; + padding-bottom: 1em; + } + + .quarter-vertical-space { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + + .xlarge-quarter-vertical-space { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + + .quarter-vertical-padding { + padding-top: 0.5em; + padding-bottom: 0.5em; + } + + .xlarge-quarter-vertical-padding { + padding-top: 0.5em; + padding-bottom: 0.5em; + } + + .horizontal-space { + margin-left: 2em; + margin-right: 2em; + } + + .xlarge-horizontal-space { + margin-left: 2em; + margin-right: 2em; + } + + .horizontal-padding { + padding-left: 2em; + padding-right: 2em; + } + + .xlarge-horizontal-padding { + padding-left: 2em; + padding-right: 2em; + } + + .double-horizontal-space { + margin-left: 4em; + margin-right: 4em; + } + + .xlarge-double-horizontal-space { + margin-left: 4em; + margin-right: 4em; + } + + .double-horizontal-padding { + padding-left: 4em; + padding-right: 4em; + } + + .xlarge-double-horizontal-padding { + padding-left: 4em; + padding-right: 4em; + } + + .half-horizontal-space { + margin-left: 1em; + margin-right: 1em; + } + + .xlarge-half-horizontal-space { + margin-left: 1em; + margin-right: 1em; + } + + .half-horizontal-padding { + padding-left: 1em; + padding-right: 1em; + } + + .xlarge-half-horizontal-padding { + padding-left: 1em; + padding-right: 1em; + } + + .quarter-horizontal-space { + margin-left: 0.5em; + margin-right: 0.5em; + } + + .xlarge-quarter-horizontal-space { + margin-left: 0.5em; + margin-right: 0.5em; + } + + .quarter-horizontal-padding { + padding-left: 0.5em; + padding-right: 0.5em; + } + + .xlarge-quarter-horizontal-padding { + padding-left: 0.5em; + padding-right: 0.5em; + } + + .top-space { + margin-top: 2em; + } + + .xlarge-top-space { + margin-top: 2em; + } + + .top-padding { + padding-top: 2em; + } + + .xlarge-top-padding { + padding-top: 2em; + } + + .double-top-space { + margin-top: 4em; + } + + .xlarge-double-top-space { + margin-top: 4em; + } + + .double-top-padding { + padding-top: 4em; + } + + .xlarge-double-top-padding { + padding-top: 4em; + } + + .half-top-space { + margin-top: 1em; + } + + .xlarge-half-top-space { + margin-top: 1em; + } + + .half-top-padding { + padding-top: 1em; + } + + .xlarge-half-top-padding { + padding-top: 1em; + } + + .quarter-top-space { + margin-top: 0.5em; + } + + .xlarge-quarter-top-space { + margin-top: 0.5em; + } + + .quarter-top-padding { + padding-top: 0.5em; + } + + .xlarge-quarter-top-padding { + padding-top: 0.5em; + } + + .right-space { + margin-right: 2em; + } + + .xlarge-right-space { + margin-right: 2em; + } + + .right-padding { + padding-right: 2em; + } + + .xlarge-right-padding { + padding-right: 2em; + } + + .double-right-space { + margin-right: 4em; + } + + .xlarge-double-right-space { + margin-right: 4em; + } + + .double-right-padding { + padding-right: 4em; + } + + .xlarge-double-right-padding { + padding-right: 4em; + } + + .half-right-space { + margin-right: 1em; + } + + .xlarge-half-right-space { + margin-right: 1em; + } + + .half-right-padding { + padding-right: 1em; + } + + .xlarge-half-right-padding { + padding-right: 1em; + } + + .quarter-right-space { + margin-right: 0.5em; + } + + .xlarge-quarter-right-space { + margin-right: 0.5em; + } + + .quarter-right-padding { + padding-right: 0.5em; + } + + .xlarge-quarter-right-padding { + padding-right: 0.5em; + } + + .bottom-space { + margin-bottom: 2em; + } + + .xlarge-bottom-space { + margin-bottom: 2em; + } + + .bottom-padding { + padding-bottom: 2em; + } + + .xlarge-bottom-padding { + padding-bottom: 2em; + } + + .double-bottom-space { + margin-bottom: 4em; + } + + .xlarge-double-bottom-space { + margin-bottom: 4em; + } + + .double-bottom-padding { + padding-bottom: 4em; + } + + .xlarge-double-bottom-padding { + padding-bottom: 4em; + } + + .half-bottom-space { + margin-bottom: 1em; + } + + .xlarge-half-bottom-space { + margin-bottom: 1em; + } + + .half-bottom-padding { + padding-bottom: 1em; + } + + .xlarge-half-bottom-padding { + padding-bottom: 1em; + } + + .quarter-bottom-space { + margin-bottom: 0.5em; + } + + .xlarge-quarter-bottom-space { + margin-bottom: 0.5em; + } + + .quarter-bottom-padding { + padding-bottom: 0.5em; + } + + .xlarge-quarter-bottom-padding { + padding-bottom: 0.5em; + } + + .left-space { + margin-left: 2em; + } + + .xlarge-left-space { + margin-left: 2em; + } + + .left-padding { + padding-left: 2em; + } + + .xlarge-left-padding { + padding-left: 2em; + } + + .double-left-space { + margin-left: 4em; + } + + .xlarge-double-left-space { + margin-left: 4em; + } + + .double-left-padding { + padding-left: 4em; + } + + .xlarge-double-left-padding { + padding-left: 4em; + } + + .half-left-space { + margin-left: 1em; + } + + .xlarge-half-left-space { + margin-left: 1em; + } + + .half-left-padding { + padding-left: 1em; + } + + .xlarge-half-left-padding { + padding-left: 1em; + } + + .quarter-left-space { + margin-left: 0.5em; + } + + .xlarge-quarter-left-space { + margin-left: 0.5em; + } + + .quarter-left-padding { + padding-left: 0.5em; + } + + .xlarge-quarter-left-padding { + padding-left: 0.5em; + } + + .hide-xlarge { + display: none !important; + } + + .show-xlarge { + display: inherit !important; + } + + table.show-xlarge { + display: table; + } + + thead.show-xlarge { + display: table-header-group; + } + + tbody.show-xlarge { + display: table-row-group; + } + + tfoot.show-xlarge { + display: table-footer-group; + } + + tr.show-xlarge { + display: table-row; + } + + th.show-xlarge, + td.show-xlarge { + display: table-cell; + } +} +@media screen and (min-width: 961px) and (max-width: 1260px) { + .ink-grid { + padding: 0 1.75em; + } + + .column-group > [class*=large-] { + float: left; + clear: none; + } + + .large-5 { + width: 5%; + } + + .large-10 { + width: 10%; + } + + .large-15 { + width: 15%; + } + + .large-16 { + width: 16.66%; + } + + .large-20 { + width: 20%; + } + + .large-25 { + width: 25%; + } + + .large-30 { + width: 30%; + } + + .large-33 { + width: 33.33%; + } + + .large-35 { + width: 35%; + } + + .large-40 { + width: 40%; + } + + .large-45 { + width: 45%; + } + + .large-50 { + width: 50%; + } + + .large-55 { + width: 55%; + } + + .large-60 { + width: 60%; + } + + .large-65 { + width: 65%; + } + + .large-66 { + width: 66.66%; + } + + .large-70 { + width: 70%; + } + + .large-75 { + width: 75%; + } + + .large-80 { + width: 80%; + } + + .large-85 { + width: 85%; + } + + .large-90 { + width: 90%; + } + + .large-95 { + width: 95%; + } + + .large-100 { + width: 100%; + } + + [class*=large-100] { + float: none; + clear: both; + } + + .column-group { + *zoom: 1; + } + .column-group:after { + content: ""; + display: table; + clear: both; + } + + .column-group.gutters { + margin-left: -1.75em; + } + .column-group.gutters > [class*=large-], .column-group.gutters > [class*=all-] { + padding-left: 1.75em; + margin-bottom: 1.75em; + } + + .column-group.horizontal-gutters { + margin-left: -1.75em; + } + .column-group.horizontal-gutters > [class*=large-], .column-group.horizontal-gutters > [class*=all-] { + padding-left: 1.75em; + } + + .column-group.vertical-gutters > [class*=large-], .column-group.vertical-gutters > [class*=all-] { + margin-bottom: 1.75em; + } + + .column-group.double-gutters { + margin-left: -3.5em; + } + .column-group.double-gutters > [class*=large-], .column-group.double-gutters > [class*=all-] { + padding-left: 3.5em; + margin-bottom: 3.5em; + } + + .column-group.double-horizontal-gutters { + margin-left: -3.5em; + } + .column-group.double-horizontal-gutters > [class*=large-], .column-group.double-horizontal-gutters > [class*=all-] { + padding-left: 3.5em; + } + + .column-group.double-vertical-gutters > [class*=large-], .column-group.double-vertical-gutters > [class*=all-] { + margin-bottom: 3.5em; + } + + .column-group.half-gutters { + margin-left: -0.875em; + } + .column-group.half-gutters > [class*=large-], .column-group.half-gutters > [class*=all-] { + padding-left: 0.875em; + margin-bottom: 0.875em; + } + + .column-group.half-horizontal-gutters { + margin-left: -0.875em; + } + .column-group.half-horizontal-gutters > [class*=large-], .column-group.half-horizontal-gutters > [class*=all-] { + padding-left: 0.875em; + } + + .column-group.half-vertical-gutters > [class*=large-], .column-group.half-vertical-gutters > [class*=all-] { + margin-bottom: 0.875em; + } + + .column-group.quarter-gutters { + margin-left: -0.4375em; + } + .column-group.quarter-gutters > [class*=large-], .column-group.quarter-gutters > [class*=all-] { + padding-left: 0.4375em; + margin-bottom: 0.4375em; + } + + .column-group.quarter-horizontal-gutters { + margin-left: -0.4375em; + } + .column-group.quarter-horizontal-gutters > [class*=large-], .column-group.quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.4375em; + } + + .column-group.quarter-vertical-gutters > [class*=large-], .column-group.quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.4375em; + } + + .column-group.large-gutters { + margin-left: -1.75em; + } + .column-group.large-gutters > [class*=large-], .column-group.large-gutters > [class*=all-] { + padding-left: 1.75em; + margin-bottom: 1.75em; + } + + .column-group.large-horizontal-gutters { + margin-left: -1.75em; + } + .column-group.large-horizontal-gutters > [class*=large-], .column-group.large-horizontal-gutters > [class*=all-] { + padding-left: 1.75em; + } + + .column-group.large-vertical-gutters > [class*=large-], .column-group.large-vertical-gutters > [class*=all-] { + margin-bottom: 1.75em; + } + + .column-group.large-double-gutters { + margin-left: -3.5em; + } + .column-group.large-double-gutters > [class*=large-], .column-group.large-double-gutters > [class*=all-] { + padding-left: 3.5em; + margin-bottom: 3.5em; + } + + .column-group.large-double-horizontal-gutters { + margin-left: -3.5em; + } + .column-group.large-double-horizontal-gutters > [class*=large-], .column-group.large-double-horizontal-gutters > [class*=all-] { + padding-left: 3.5em; + } + + .column-group.large-double-vertical-gutters > [class*=large-], .column-group.large-double-vertical-gutters > [class*=all-] { + margin-bottom: 3.5em; + } + + .column-group.large-half-gutters { + margin-left: -0.875em; + } + .column-group.large-half-gutters > [class*=large-], .column-group.large-half-gutters > [class*=all-] { + padding-left: 0.875em; + margin-bottom: 0.875em; + } + + .column-group.large-half-horizontal-gutters { + margin-left: -0.875em; + } + .column-group.large-half-horizontal-gutters > [class*=large-], .column-group.large-half-horizontal-gutters > [class*=all-] { + padding-left: 0.875em; + } + + .column-group.large-half-vertical-gutters > [class*=large-], .column-group.large-half-vertical-gutters > [class*=all-] { + margin-bottom: 0.875em; + } + + .column-group.large-quarter-gutters { + margin-left: -0.4375em; + } + .column-group.large-quarter-gutters > [class*=large-], .column-group.large-quarter-gutters > [class*=all-] { + padding-left: 0.4375em; + margin-bottom: 0.4375em; + } + + .column-group.large-quarter-horizontal-gutters { + margin-left: -0.4375em; + } + .column-group.large-quarter-horizontal-gutters > [class*=large-], .column-group.large-quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.4375em; + } + + .column-group.large-quarter-vertical-gutters > [class*=large-], .column-group.large-quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.4375em; + } + + .column-group.large-no-gutters { + margin-left: 0; + } + .column-group.large-no-gutters > [class*=large-], .column-group.large-no-gutters > [class*=all-] { + padding-left: 0; + margin-bottom: 0; + } + + .ink-table td[class*=large-], .ink-table th[class*=large-], .ink-table tr[class*=large-], .ink-table thead[class*=large-], .ink-table tbody[class*=large-], .ink-table tfoot[class*=large-] { + float: none; + } + + .large-push-left { + float: left; + } + + .large-push-center { + float: none; + margin-left: auto; + margin-right: auto; + } + + .large-push-right { + float: right; + } + + .large-align-left { + text-align: left; + } + + .large-align-center { + text-align: center; + } + + .large-align-right { + text-align: right; + } + + .large-no-margin { + margin: 0 !important; + } + + .space { + margin: 1.75em; + } + + .large-space { + margin: 1.75em; + } + + .padding { + padding: 1.75em; + } + + .large-padding { + padding: 1.75em; + } + + .double-space { + margin: 3.5em; + } + + .large-double-space { + margin: 3.5em; + } + + .double-padding { + padding: 3.5em; + } + + .large-double-padding { + padding: 3.5em; + } + + .half-space { + margin: 0.875em; + } + + .large-half-space { + margin: 0.875em; + } + + .half-padding { + padding: 0.875em; + } + + .large-half-padding { + padding: 0.875em; + } + + .quarter-space { + margin: 0.4375em; + } + + .large-quarter-space { + margin: 0.4375em; + } + + .quarter-padding { + padding: 0.4375em; + } + + .large-quarter-padding { + padding: 0.4375em; + } + + .vertical-space { + margin-top: 1.75em; + margin-bottom: 1.75em; + } + + .large-vertical-space { + margin-top: 1.75em; + margin-bottom: 1.75em; + } + + .vertical-padding { + padding-top: 1.75em; + padding-bottom: 1.75em; + } + + .large-vertical-padding { + padding-top: 1.75em; + padding-bottom: 1.75em; + } + + .double-vertical-space { + margin-top: 3.5em; + margin-bottom: 3.5em; + } + + .large-double-vertical-space { + margin-top: 3.5em; + margin-bottom: 3.5em; + } + + .double-vertical-padding { + padding-top: 3.5em; + padding-bottom: 3.5em; + } + + .large-double-vertical-padding { + padding-top: 3.5em; + padding-bottom: 3.5em; + } + + .half-vertical-space { + margin-top: 0.875em; + margin-bottom: 0.875em; + } + + .large-half-vertical-space { + margin-top: 0.875em; + margin-bottom: 0.875em; + } + + .half-vertical-padding { + padding-top: 0.875em; + padding-bottom: 0.875em; + } + + .large-half-vertical-padding { + padding-top: 0.875em; + padding-bottom: 0.875em; + } + + .quarter-vertical-space { + margin-top: 0.4375em; + margin-bottom: 0.4375em; + } + + .large-quarter-vertical-space { + margin-top: 0.4375em; + margin-bottom: 0.4375em; + } + + .quarter-vertical-padding { + padding-top: 0.4375em; + padding-bottom: 0.4375em; + } + + .large-quarter-vertical-padding { + padding-top: 0.4375em; + padding-bottom: 0.4375em; + } + + .horizontal-space { + margin-left: 1.75em; + margin-right: 1.75em; + } + + .large-horizontal-space { + margin-left: 1.75em; + margin-right: 1.75em; + } + + .horizontal-padding { + padding-left: 1.75em; + padding-right: 1.75em; + } + + .large-horizontal-padding { + padding-left: 1.75em; + padding-right: 1.75em; + } + + .double-horizontal-space { + margin-left: 3.5em; + margin-right: 3.5em; + } + + .large-double-horizontal-space { + margin-left: 3.5em; + margin-right: 3.5em; + } + + .double-horizontal-padding { + padding-left: 3.5em; + padding-right: 3.5em; + } + + .large-double-horizontal-padding { + padding-left: 3.5em; + padding-right: 3.5em; + } + + .half-horizontal-space { + margin-left: 0.875em; + margin-right: 0.875em; + } + + .large-half-horizontal-space { + margin-left: 0.875em; + margin-right: 0.875em; + } + + .half-horizontal-padding { + padding-left: 0.875em; + padding-right: 0.875em; + } + + .large-half-horizontal-padding { + padding-left: 0.875em; + padding-right: 0.875em; + } + + .quarter-horizontal-space { + margin-left: 0.4375em; + margin-right: 0.4375em; + } + + .large-quarter-horizontal-space { + margin-left: 0.4375em; + margin-right: 0.4375em; + } + + .quarter-horizontal-padding { + padding-left: 0.4375em; + padding-right: 0.4375em; + } + + .large-quarter-horizontal-padding { + padding-left: 0.4375em; + padding-right: 0.4375em; + } + + .top-space { + margin-top: 1.75em; + } + + .large-top-space { + margin-top: 1.75em; + } + + .top-padding { + padding-top: 1.75em; + } + + .large-top-padding { + padding-top: 1.75em; + } + + .double-top-space { + margin-top: 3.5em; + } + + .large-double-top-space { + margin-top: 3.5em; + } + + .double-top-padding { + padding-top: 3.5em; + } + + .large-double-top-padding { + padding-top: 3.5em; + } + + .half-top-space { + margin-top: 0.875em; + } + + .large-half-top-space { + margin-top: 0.875em; + } + + .half-top-padding { + padding-top: 0.875em; + } + + .large-half-top-padding { + padding-top: 0.875em; + } + + .quarter-top-space { + margin-top: 0.4375em; + } + + .large-quarter-top-space { + margin-top: 0.4375em; + } + + .quarter-top-padding { + padding-top: 0.4375em; + } + + .large-quarter-top-padding { + padding-top: 0.4375em; + } + + .right-space { + margin-right: 1.75em; + } + + .large-right-space { + margin-right: 1.75em; + } + + .right-padding { + padding-right: 1.75em; + } + + .large-right-padding { + padding-right: 1.75em; + } + + .double-right-space { + margin-right: 3.5em; + } + + .large-double-right-space { + margin-right: 3.5em; + } + + .double-right-padding { + padding-right: 3.5em; + } + + .large-double-right-padding { + padding-right: 3.5em; + } + + .half-right-space { + margin-right: 0.875em; + } + + .large-half-right-space { + margin-right: 0.875em; + } + + .half-right-padding { + padding-right: 0.875em; + } + + .large-half-right-padding { + padding-right: 0.875em; + } + + .quarter-right-space { + margin-right: 0.4375em; + } + + .large-quarter-right-space { + margin-right: 0.4375em; + } + + .quarter-right-padding { + padding-right: 0.4375em; + } + + .large-quarter-right-padding { + padding-right: 0.4375em; + } + + .bottom-space { + margin-bottom: 1.75em; + } + + .large-bottom-space { + margin-bottom: 1.75em; + } + + .bottom-padding { + padding-bottom: 1.75em; + } + + .large-bottom-padding { + padding-bottom: 1.75em; + } + + .double-bottom-space { + margin-bottom: 3.5em; + } + + .large-double-bottom-space { + margin-bottom: 3.5em; + } + + .double-bottom-padding { + padding-bottom: 3.5em; + } + + .large-double-bottom-padding { + padding-bottom: 3.5em; + } + + .half-bottom-space { + margin-bottom: 0.875em; + } + + .large-half-bottom-space { + margin-bottom: 0.875em; + } + + .half-bottom-padding { + padding-bottom: 0.875em; + } + + .large-half-bottom-padding { + padding-bottom: 0.875em; + } + + .quarter-bottom-space { + margin-bottom: 0.4375em; + } + + .large-quarter-bottom-space { + margin-bottom: 0.4375em; + } + + .quarter-bottom-padding { + padding-bottom: 0.4375em; + } + + .large-quarter-bottom-padding { + padding-bottom: 0.4375em; + } + + .left-space { + margin-left: 1.75em; + } + + .large-left-space { + margin-left: 1.75em; + } + + .left-padding { + padding-left: 1.75em; + } + + .large-left-padding { + padding-left: 1.75em; + } + + .double-left-space { + margin-left: 3.5em; + } + + .large-double-left-space { + margin-left: 3.5em; + } + + .double-left-padding { + padding-left: 3.5em; + } + + .large-double-left-padding { + padding-left: 3.5em; + } + + .half-left-space { + margin-left: 0.875em; + } + + .large-half-left-space { + margin-left: 0.875em; + } + + .half-left-padding { + padding-left: 0.875em; + } + + .large-half-left-padding { + padding-left: 0.875em; + } + + .quarter-left-space { + margin-left: 0.4375em; + } + + .large-quarter-left-space { + margin-left: 0.4375em; + } + + .quarter-left-padding { + padding-left: 0.4375em; + } + + .large-quarter-left-padding { + padding-left: 0.4375em; + } + + .hide-large { + display: none !important; + } + + .show-large { + display: inherit !important; + } + + table.show-large { + display: table; + } + + thead.show-large { + display: table-header-group; + } + + tbody.show-large { + display: table-row-group; + } + + tfoot.show-large { + display: table-footer-group; + } + + tr.show-large { + display: table-row; + } + + th.show-large, + td.show-large { + display: table-cell; + } +} +@media screen and (min-width: 641px) and (max-width: 960px) { + .ink-grid { + padding: 0 1.5em; + } + + .column-group > [class*=medium-] { + float: left; + clear: none; + } + + .medium-5 { + width: 5%; + } + + .medium-10 { + width: 10%; + } + + .medium-15 { + width: 15%; + } + + .medium-16 { + width: 16.66%; + } + + .medium-20 { + width: 20%; + } + + .medium-25 { + width: 25%; + } + + .medium-30 { + width: 30%; + } + + .medium-33 { + width: 33.33%; + } + + .medium-35 { + width: 35%; + } + + .medium-40 { + width: 40%; + } + + .medium-45 { + width: 45%; + } + + .medium-50 { + width: 50%; + } + + .medium-55 { + width: 55%; + } + + .medium-60 { + width: 60%; + } + + .medium-65 { + width: 65%; + } + + .medium-66 { + width: 66.66%; + } + + .medium-70 { + width: 70%; + } + + .medium-75 { + width: 75%; + } + + .medium-80 { + width: 80%; + } + + .medium-85 { + width: 85%; + } + + .medium-90 { + width: 90%; + } + + .medium-95 { + width: 95%; + } + + .medium-100 { + width: 100%; + } + + [class*=medium-100] { + float: none; + clear: both; + } + + .column-group { + *zoom: 1; + } + .column-group:after { + content: ""; + display: table; + clear: both; + } + + .column-group.gutters { + margin-left: -1.5em; + } + .column-group.gutters > [class*=medium-], .column-group.gutters > [class*=all-] { + padding-left: 1.5em; + margin-bottom: 1.5em; + } + + .column-group.horizontal-gutters { + margin-left: -1.5em; + } + .column-group.horizontal-gutters > [class*=medium-], .column-group.horizontal-gutters > [class*=all-] { + padding-left: 1.5em; + } + + .column-group.vertical-gutters > [class*=medium-], .column-group.vertical-gutters > [class*=all-] { + margin-bottom: 1.5em; + } + + .column-group.double-gutters { + margin-left: -3em; + } + .column-group.double-gutters > [class*=medium-], .column-group.double-gutters > [class*=all-] { + padding-left: 3em; + margin-bottom: 3em; + } + + .column-group.double-horizontal-gutters { + margin-left: -3em; + } + .column-group.double-horizontal-gutters > [class*=medium-], .column-group.double-horizontal-gutters > [class*=all-] { + padding-left: 3em; + } + + .column-group.double-vertical-gutters > [class*=medium-], .column-group.double-vertical-gutters > [class*=all-] { + margin-bottom: 3em; + } + + .column-group.half-gutters { + margin-left: -0.75em; + } + .column-group.half-gutters > [class*=medium-], .column-group.half-gutters > [class*=all-] { + padding-left: 0.75em; + margin-bottom: 0.75em; + } + + .column-group.half-horizontal-gutters { + margin-left: -0.75em; + } + .column-group.half-horizontal-gutters > [class*=medium-], .column-group.half-horizontal-gutters > [class*=all-] { + padding-left: 0.75em; + } + + .column-group.half-vertical-gutters > [class*=medium-], .column-group.half-vertical-gutters > [class*=all-] { + margin-bottom: 0.75em; + } + + .column-group.quarter-gutters { + margin-left: -0.375em; + } + .column-group.quarter-gutters > [class*=medium-], .column-group.quarter-gutters > [class*=all-] { + padding-left: 0.375em; + margin-bottom: 0.375em; + } + + .column-group.quarter-horizontal-gutters { + margin-left: -0.375em; + } + .column-group.quarter-horizontal-gutters > [class*=medium-], .column-group.quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.375em; + } + + .column-group.quarter-vertical-gutters > [class*=medium-], .column-group.quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.375em; + } + + .column-group.medium-gutters { + margin-left: -1.5em; + } + .column-group.medium-gutters > [class*=medium-], .column-group.medium-gutters > [class*=all-] { + padding-left: 1.5em; + margin-bottom: 1.5em; + } + + .column-group.medium-horizontal-gutters { + margin-left: -1.5em; + } + .column-group.medium-horizontal-gutters > [class*=medium-], .column-group.medium-horizontal-gutters > [class*=all-] { + padding-left: 1.5em; + } + + .column-group.medium-vertical-gutters > [class*=medium-], .column-group.medium-vertical-gutters > [class*=all-] { + margin-bottom: 1.5em; + } + + .column-group.medium-double-gutters { + margin-left: -3em; + } + .column-group.medium-double-gutters > [class*=medium-], .column-group.medium-double-gutters > [class*=all-] { + padding-left: 3em; + margin-bottom: 3em; + } + + .column-group.medium-double-horizontal-gutters { + margin-left: -3em; + } + .column-group.medium-double-horizontal-gutters > [class*=medium-], .column-group.medium-double-horizontal-gutters > [class*=all-] { + padding-left: 3em; + } + + .column-group.medium-double-vertical-gutters > [class*=medium-], .column-group.medium-double-vertical-gutters > [class*=all-] { + margin-bottom: 3em; + } + + .column-group.medium-half-gutters { + margin-left: -0.75em; + } + .column-group.medium-half-gutters > [class*=medium-], .column-group.medium-half-gutters > [class*=all-] { + padding-left: 0.75em; + margin-bottom: 0.75em; + } + + .column-group.medium-half-horizontal-gutters { + margin-left: -0.75em; + } + .column-group.medium-half-horizontal-gutters > [class*=medium-], .column-group.medium-half-horizontal-gutters > [class*=all-] { + padding-left: 0.75em; + } + + .column-group.medium-half-vertical-gutters > [class*=medium-], .column-group.medium-half-vertical-gutters > [class*=all-] { + margin-bottom: 0.75em; + } + + .column-group.medium-quarter-gutters { + margin-left: -0.375em; + } + .column-group.medium-quarter-gutters > [class*=medium-], .column-group.medium-quarter-gutters > [class*=all-] { + padding-left: 0.375em; + margin-bottom: 0.375em; + } + + .column-group.medium-quarter-horizontal-gutters { + margin-left: -0.375em; + } + .column-group.medium-quarter-horizontal-gutters > [class*=medium-], .column-group.medium-quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.375em; + } + + .column-group.medium-quarter-vertical-gutters > [class*=medium-], .column-group.medium-quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.375em; + } + + .column-group.medium-no-gutters { + margin-left: 0; + } + .column-group.medium-no-gutters > [class*=medium-], .column-group.medium-no-gutters > [class*=all-] { + padding-left: 0; + margin-bottom: 0; + } + + .ink-table td[class*=medium-], .ink-table th[class*=medium-], .ink-table tr[class*=medium-], .ink-table thead[class*=medium-], .ink-table tbody[class*=medium-], .ink-table tfoot[class*=medium-] { + float: none; + } + + .medium-push-left { + float: left; + } + + .medium-push-center { + float: none; + margin-left: auto; + margin-right: auto; + } + + .medium-push-right { + float: right; + } + + .medium-align-left { + text-align: left; + } + + .medium-align-center { + text-align: center; + } + + .medium-align-right { + text-align: right; + } + + .medium-no-margin { + margin: 0 !important; + } + + .space { + margin: 1.5em; + } + + .medium-space { + margin: 1.5em; + } + + .padding { + padding: 1.5em; + } + + .medium-padding { + padding: 1.5em; + } + + .double-space { + margin: 3em; + } + + .medium-double-space { + margin: 3em; + } + + .double-padding { + padding: 3em; + } + + .medium-double-padding { + padding: 3em; + } + + .half-space { + margin: 0.75em; + } + + .medium-half-space { + margin: 0.75em; + } + + .half-padding { + padding: 0.75em; + } + + .medium-half-padding { + padding: 0.75em; + } + + .quarter-space { + margin: 0.375em; + } + + .medium-quarter-space { + margin: 0.375em; + } + + .quarter-padding { + padding: 0.375em; + } + + .medium-quarter-padding { + padding: 0.375em; + } + + .vertical-space { + margin-top: 1.5em; + margin-bottom: 1.5em; + } + + .medium-vertical-space { + margin-top: 1.5em; + margin-bottom: 1.5em; + } + + .vertical-padding { + padding-top: 1.5em; + padding-bottom: 1.5em; + } + + .medium-vertical-padding { + padding-top: 1.5em; + padding-bottom: 1.5em; + } + + .double-vertical-space { + margin-top: 3em; + margin-bottom: 3em; + } + + .medium-double-vertical-space { + margin-top: 3em; + margin-bottom: 3em; + } + + .double-vertical-padding { + padding-top: 3em; + padding-bottom: 3em; + } + + .medium-double-vertical-padding { + padding-top: 3em; + padding-bottom: 3em; + } + + .half-vertical-space { + margin-top: 0.75em; + margin-bottom: 0.75em; + } + + .medium-half-vertical-space { + margin-top: 0.75em; + margin-bottom: 0.75em; + } + + .half-vertical-padding { + padding-top: 0.75em; + padding-bottom: 0.75em; + } + + .medium-half-vertical-padding { + padding-top: 0.75em; + padding-bottom: 0.75em; + } + + .quarter-vertical-space { + margin-top: 0.375em; + margin-bottom: 0.375em; + } + + .medium-quarter-vertical-space { + margin-top: 0.375em; + margin-bottom: 0.375em; + } + + .quarter-vertical-padding { + padding-top: 0.375em; + padding-bottom: 0.375em; + } + + .medium-quarter-vertical-padding { + padding-top: 0.375em; + padding-bottom: 0.375em; + } + + .horizontal-space { + margin-left: 1.5em; + margin-right: 1.5em; + } + + .medium-horizontal-space { + margin-left: 1.5em; + margin-right: 1.5em; + } + + .horizontal-padding { + padding-left: 1.5em; + padding-right: 1.5em; + } + + .medium-horizontal-padding { + padding-left: 1.5em; + padding-right: 1.5em; + } + + .double-horizontal-space { + margin-left: 3em; + margin-right: 3em; + } + + .medium-double-horizontal-space { + margin-left: 3em; + margin-right: 3em; + } + + .double-horizontal-padding { + padding-left: 3em; + padding-right: 3em; + } + + .medium-double-horizontal-padding { + padding-left: 3em; + padding-right: 3em; + } + + .half-horizontal-space { + margin-left: 0.75em; + margin-right: 0.75em; + } + + .medium-half-horizontal-space { + margin-left: 0.75em; + margin-right: 0.75em; + } + + .half-horizontal-padding { + padding-left: 0.75em; + padding-right: 0.75em; + } + + .medium-half-horizontal-padding { + padding-left: 0.75em; + padding-right: 0.75em; + } + + .quarter-horizontal-space { + margin-left: 0.375em; + margin-right: 0.375em; + } + + .medium-quarter-horizontal-space { + margin-left: 0.375em; + margin-right: 0.375em; + } + + .quarter-horizontal-padding { + padding-left: 0.375em; + padding-right: 0.375em; + } + + .medium-quarter-horizontal-padding { + padding-left: 0.375em; + padding-right: 0.375em; + } + + .top-space { + margin-top: 1.5em; + } + + .medium-top-space { + margin-top: 1.5em; + } + + .top-padding { + padding-top: 1.5em; + } + + .medium-top-padding { + padding-top: 1.5em; + } + + .double-top-space { + margin-top: 3em; + } + + .medium-double-top-space { + margin-top: 3em; + } + + .double-top-padding { + padding-top: 3em; + } + + .medium-double-top-padding { + padding-top: 3em; + } + + .half-top-space { + margin-top: 0.75em; + } + + .medium-half-top-space { + margin-top: 0.75em; + } + + .half-top-padding { + padding-top: 0.75em; + } + + .medium-half-top-padding { + padding-top: 0.75em; + } + + .quarter-top-space { + margin-top: 0.375em; + } + + .medium-quarter-top-space { + margin-top: 0.375em; + } + + .quarter-top-padding { + padding-top: 0.375em; + } + + .medium-quarter-top-padding { + padding-top: 0.375em; + } + + .right-space { + margin-right: 1.5em; + } + + .medium-right-space { + margin-right: 1.5em; + } + + .right-padding { + padding-right: 1.5em; + } + + .medium-right-padding { + padding-right: 1.5em; + } + + .double-right-space { + margin-right: 3em; + } + + .medium-double-right-space { + margin-right: 3em; + } + + .double-right-padding { + padding-right: 3em; + } + + .medium-double-right-padding { + padding-right: 3em; + } + + .half-right-space { + margin-right: 0.75em; + } + + .medium-half-right-space { + margin-right: 0.75em; + } + + .half-right-padding { + padding-right: 0.75em; + } + + .medium-half-right-padding { + padding-right: 0.75em; + } + + .quarter-right-space { + margin-right: 0.375em; + } + + .medium-quarter-right-space { + margin-right: 0.375em; + } + + .quarter-right-padding { + padding-right: 0.375em; + } + + .medium-quarter-right-padding { + padding-right: 0.375em; + } + + .bottom-space { + margin-bottom: 1.5em; + } + + .medium-bottom-space { + margin-bottom: 1.5em; + } + + .bottom-padding { + padding-bottom: 1.5em; + } + + .medium-bottom-padding { + padding-bottom: 1.5em; + } + + .double-bottom-space { + margin-bottom: 3em; + } + + .medium-double-bottom-space { + margin-bottom: 3em; + } + + .double-bottom-padding { + padding-bottom: 3em; + } + + .medium-double-bottom-padding { + padding-bottom: 3em; + } + + .half-bottom-space { + margin-bottom: 0.75em; + } + + .medium-half-bottom-space { + margin-bottom: 0.75em; + } + + .half-bottom-padding { + padding-bottom: 0.75em; + } + + .medium-half-bottom-padding { + padding-bottom: 0.75em; + } + + .quarter-bottom-space { + margin-bottom: 0.375em; + } + + .medium-quarter-bottom-space { + margin-bottom: 0.375em; + } + + .quarter-bottom-padding { + padding-bottom: 0.375em; + } + + .medium-quarter-bottom-padding { + padding-bottom: 0.375em; + } + + .left-space { + margin-left: 1.5em; + } + + .medium-left-space { + margin-left: 1.5em; + } + + .left-padding { + padding-left: 1.5em; + } + + .medium-left-padding { + padding-left: 1.5em; + } + + .double-left-space { + margin-left: 3em; + } + + .medium-double-left-space { + margin-left: 3em; + } + + .double-left-padding { + padding-left: 3em; + } + + .medium-double-left-padding { + padding-left: 3em; + } + + .half-left-space { + margin-left: 0.75em; + } + + .medium-half-left-space { + margin-left: 0.75em; + } + + .half-left-padding { + padding-left: 0.75em; + } + + .medium-half-left-padding { + padding-left: 0.75em; + } + + .quarter-left-space { + margin-left: 0.375em; + } + + .medium-quarter-left-space { + margin-left: 0.375em; + } + + .quarter-left-padding { + padding-left: 0.375em; + } + + .medium-quarter-left-padding { + padding-left: 0.375em; + } + + .hide-medium { + display: none !important; + } + + .show-medium { + display: inherit !important; + } + + table.show-medium { + display: table; + } + + thead.show-medium { + display: table-header-group; + } + + tbody.show-medium { + display: table-row-group; + } + + tfoot.show-medium { + display: table-footer-group; + } + + tr.show-medium { + display: table-row; + } + + th.show-medium, + td.show-medium { + display: table-cell; + } +} +@media screen and (min-width: 321px) and (max-width: 640px) { + .ink-grid { + padding: 0 1.25em; + } + + .column-group > [class*=small-] { + float: left; + clear: none; + } + + .small-5 { + width: 5%; + } + + .small-10 { + width: 10%; + } + + .small-15 { + width: 15%; + } + + .small-16 { + width: 16.66%; + } + + .small-20 { + width: 20%; + } + + .small-25 { + width: 25%; + } + + .small-30 { + width: 30%; + } + + .small-33 { + width: 33.33%; + } + + .small-35 { + width: 35%; + } + + .small-40 { + width: 40%; + } + + .small-45 { + width: 45%; + } + + .small-50 { + width: 50%; + } + + .small-55 { + width: 55%; + } + + .small-60 { + width: 60%; + } + + .small-65 { + width: 65%; + } + + .small-66 { + width: 66.66%; + } + + .small-70 { + width: 70%; + } + + .small-75 { + width: 75%; + } + + .small-80 { + width: 80%; + } + + .small-85 { + width: 85%; + } + + .small-90 { + width: 90%; + } + + .small-95 { + width: 95%; + } + + .small-100 { + width: 100%; + } + + [class*=small-100] { + float: none; + clear: both; + } + + .column-group { + *zoom: 1; + } + .column-group:after { + content: ""; + display: table; + clear: both; + } + + .column-group.gutters { + margin-left: -1.25em; + } + .column-group.gutters > [class*=small-], .column-group.gutters > [class*=all-] { + padding-left: 1.25em; + margin-bottom: 1.25em; + } + + .column-group.horizontal-gutters { + margin-left: -1.25em; + } + .column-group.horizontal-gutters > [class*=small-], .column-group.horizontal-gutters > [class*=all-] { + padding-left: 1.25em; + } + + .column-group.vertical-gutters > [class*=small-], .column-group.vertical-gutters > [class*=all-] { + margin-bottom: 1.25em; + } + + .column-group.double-gutters { + margin-left: -2.5em; + } + .column-group.double-gutters > [class*=small-], .column-group.double-gutters > [class*=all-] { + padding-left: 2.5em; + margin-bottom: 2.5em; + } + + .column-group.double-horizontal-gutters { + margin-left: -2.5em; + } + .column-group.double-horizontal-gutters > [class*=small-], .column-group.double-horizontal-gutters > [class*=all-] { + padding-left: 2.5em; + } + + .column-group.double-vertical-gutters > [class*=small-], .column-group.double-vertical-gutters > [class*=all-] { + margin-bottom: 2.5em; + } + + .column-group.half-gutters { + margin-left: -0.625em; + } + .column-group.half-gutters > [class*=small-], .column-group.half-gutters > [class*=all-] { + padding-left: 0.625em; + margin-bottom: 0.625em; + } + + .column-group.half-horizontal-gutters { + margin-left: -0.625em; + } + .column-group.half-horizontal-gutters > [class*=small-], .column-group.half-horizontal-gutters > [class*=all-] { + padding-left: 0.625em; + } + + .column-group.half-vertical-gutters > [class*=small-], .column-group.half-vertical-gutters > [class*=all-] { + margin-bottom: 0.625em; + } + + .column-group.quarter-gutters { + margin-left: -0.3125em; + } + .column-group.quarter-gutters > [class*=small-], .column-group.quarter-gutters > [class*=all-] { + padding-left: 0.3125em; + margin-bottom: 0.3125em; + } + + .column-group.quarter-horizontal-gutters { + margin-left: -0.3125em; + } + .column-group.quarter-horizontal-gutters > [class*=small-], .column-group.quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.3125em; + } + + .column-group.quarter-vertical-gutters > [class*=small-], .column-group.quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.3125em; + } + + .column-group.small-gutters { + margin-left: -1.25em; + } + .column-group.small-gutters > [class*=small-], .column-group.small-gutters > [class*=all-] { + padding-left: 1.25em; + margin-bottom: 1.25em; + } + + .column-group.small-horizontal-gutters { + margin-left: -1.25em; + } + .column-group.small-horizontal-gutters > [class*=small-], .column-group.small-horizontal-gutters > [class*=all-] { + padding-left: 1.25em; + } + + .column-group.small-vertical-gutters > [class*=small-], .column-group.small-vertical-gutters > [class*=all-] { + margin-bottom: 1.25em; + } + + .column-group.small-double-gutters { + margin-left: -2.5em; + } + .column-group.small-double-gutters > [class*=small-], .column-group.small-double-gutters > [class*=all-] { + padding-left: 2.5em; + margin-bottom: 2.5em; + } + + .column-group.small-double-horizontal-gutters { + margin-left: -2.5em; + } + .column-group.small-double-horizontal-gutters > [class*=small-], .column-group.small-double-horizontal-gutters > [class*=all-] { + padding-left: 2.5em; + } + + .column-group.small-double-vertical-gutters > [class*=small-], .column-group.small-double-vertical-gutters > [class*=all-] { + margin-bottom: 2.5em; + } + + .column-group.small-half-gutters { + margin-left: -0.625em; + } + .column-group.small-half-gutters > [class*=small-], .column-group.small-half-gutters > [class*=all-] { + padding-left: 0.625em; + margin-bottom: 0.625em; + } + + .column-group.small-half-horizontal-gutters { + margin-left: -0.625em; + } + .column-group.small-half-horizontal-gutters > [class*=small-], .column-group.small-half-horizontal-gutters > [class*=all-] { + padding-left: 0.625em; + } + + .column-group.small-half-vertical-gutters > [class*=small-], .column-group.small-half-vertical-gutters > [class*=all-] { + margin-bottom: 0.625em; + } + + .column-group.small-quarter-gutters { + margin-left: -0.3125em; + } + .column-group.small-quarter-gutters > [class*=small-], .column-group.small-quarter-gutters > [class*=all-] { + padding-left: 0.3125em; + margin-bottom: 0.3125em; + } + + .column-group.small-quarter-horizontal-gutters { + margin-left: -0.3125em; + } + .column-group.small-quarter-horizontal-gutters > [class*=small-], .column-group.small-quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.3125em; + } + + .column-group.small-quarter-vertical-gutters > [class*=small-], .column-group.small-quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.3125em; + } + + .column-group.small-no-gutters { + margin-left: 0; + } + .column-group.small-no-gutters > [class*=small-], .column-group.small-no-gutters > [class*=all-] { + padding-left: 0; + margin-bottom: 0; + } + + .ink-table td[class*=small-], .ink-table th[class*=small-], .ink-table tr[class*=small-], .ink-table thead[class*=small-], .ink-table tbody[class*=small-], .ink-table tfoot[class*=small-] { + float: none; + } + + .small-push-left { + float: left; + } + + .small-push-center { + float: none; + margin-left: auto; + margin-right: auto; + } + + .small-push-right { + float: right; + } + + .small-align-left { + text-align: left; + } + + .small-align-center { + text-align: center; + } + + .small-align-right { + text-align: right; + } + + .small-no-margin { + margin: 0 !important; + } + + .space { + margin: 1.25em; + } + + .small-space { + margin: 1.25em; + } + + .padding { + padding: 1.25em; + } + + .small-padding { + padding: 1.25em; + } + + .double-space { + margin: 2.5em; + } + + .small-double-space { + margin: 2.5em; + } + + .double-padding { + padding: 2.5em; + } + + .small-double-padding { + padding: 2.5em; + } + + .half-space { + margin: 0.625em; + } + + .small-half-space { + margin: 0.625em; + } + + .half-padding { + padding: 0.625em; + } + + .small-half-padding { + padding: 0.625em; + } + + .quarter-space { + margin: 0.3125em; + } + + .small-quarter-space { + margin: 0.3125em; + } + + .quarter-padding { + padding: 0.3125em; + } + + .small-quarter-padding { + padding: 0.3125em; + } + + .vertical-space { + margin-top: 1.25em; + margin-bottom: 1.25em; + } + + .small-vertical-space { + margin-top: 1.25em; + margin-bottom: 1.25em; + } + + .vertical-padding { + padding-top: 1.25em; + padding-bottom: 1.25em; + } + + .small-vertical-padding { + padding-top: 1.25em; + padding-bottom: 1.25em; + } + + .double-vertical-space { + margin-top: 2.5em; + margin-bottom: 2.5em; + } + + .small-double-vertical-space { + margin-top: 2.5em; + margin-bottom: 2.5em; + } + + .double-vertical-padding { + padding-top: 2.5em; + padding-bottom: 2.5em; + } + + .small-double-vertical-padding { + padding-top: 2.5em; + padding-bottom: 2.5em; + } + + .half-vertical-space { + margin-top: 0.625em; + margin-bottom: 0.625em; + } + + .small-half-vertical-space { + margin-top: 0.625em; + margin-bottom: 0.625em; + } + + .half-vertical-padding { + padding-top: 0.625em; + padding-bottom: 0.625em; + } + + .small-half-vertical-padding { + padding-top: 0.625em; + padding-bottom: 0.625em; + } + + .quarter-vertical-space { + margin-top: 0.3125em; + margin-bottom: 0.3125em; + } + + .small-quarter-vertical-space { + margin-top: 0.3125em; + margin-bottom: 0.3125em; + } + + .quarter-vertical-padding { + padding-top: 0.3125em; + padding-bottom: 0.3125em; + } + + .small-quarter-vertical-padding { + padding-top: 0.3125em; + padding-bottom: 0.3125em; + } + + .horizontal-space { + margin-left: 1.25em; + margin-right: 1.25em; + } + + .small-horizontal-space { + margin-left: 1.25em; + margin-right: 1.25em; + } + + .horizontal-padding { + padding-left: 1.25em; + padding-right: 1.25em; + } + + .small-horizontal-padding { + padding-left: 1.25em; + padding-right: 1.25em; + } + + .double-horizontal-space { + margin-left: 2.5em; + margin-right: 2.5em; + } + + .small-double-horizontal-space { + margin-left: 2.5em; + margin-right: 2.5em; + } + + .double-horizontal-padding { + padding-left: 2.5em; + padding-right: 2.5em; + } + + .small-double-horizontal-padding { + padding-left: 2.5em; + padding-right: 2.5em; + } + + .half-horizontal-space { + margin-left: 0.625em; + margin-right: 0.625em; + } + + .small-half-horizontal-space { + margin-left: 0.625em; + margin-right: 0.625em; + } + + .half-horizontal-padding { + padding-left: 0.625em; + padding-right: 0.625em; + } + + .small-half-horizontal-padding { + padding-left: 0.625em; + padding-right: 0.625em; + } + + .quarter-horizontal-space { + margin-left: 0.3125em; + margin-right: 0.3125em; + } + + .small-quarter-horizontal-space { + margin-left: 0.3125em; + margin-right: 0.3125em; + } + + .quarter-horizontal-padding { + padding-left: 0.3125em; + padding-right: 0.3125em; + } + + .small-quarter-horizontal-padding { + padding-left: 0.3125em; + padding-right: 0.3125em; + } + + .top-space { + margin-top: 1.25em; + } + + .small-top-space { + margin-top: 1.25em; + } + + .top-padding { + padding-top: 1.25em; + } + + .small-top-padding { + padding-top: 1.25em; + } + + .double-top-space { + margin-top: 2.5em; + } + + .small-double-top-space { + margin-top: 2.5em; + } + + .double-top-padding { + padding-top: 2.5em; + } + + .small-double-top-padding { + padding-top: 2.5em; + } + + .half-top-space { + margin-top: 0.625em; + } + + .small-half-top-space { + margin-top: 0.625em; + } + + .half-top-padding { + padding-top: 0.625em; + } + + .small-half-top-padding { + padding-top: 0.625em; + } + + .quarter-top-space { + margin-top: 0.3125em; + } + + .small-quarter-top-space { + margin-top: 0.3125em; + } + + .quarter-top-padding { + padding-top: 0.3125em; + } + + .small-quarter-top-padding { + padding-top: 0.3125em; + } + + .right-space { + margin-right: 1.25em; + } + + .small-right-space { + margin-right: 1.25em; + } + + .right-padding { + padding-right: 1.25em; + } + + .small-right-padding { + padding-right: 1.25em; + } + + .double-right-space { + margin-right: 2.5em; + } + + .small-double-right-space { + margin-right: 2.5em; + } + + .double-right-padding { + padding-right: 2.5em; + } + + .small-double-right-padding { + padding-right: 2.5em; + } + + .half-right-space { + margin-right: 0.625em; + } + + .small-half-right-space { + margin-right: 0.625em; + } + + .half-right-padding { + padding-right: 0.625em; + } + + .small-half-right-padding { + padding-right: 0.625em; + } + + .quarter-right-space { + margin-right: 0.3125em; + } + + .small-quarter-right-space { + margin-right: 0.3125em; + } + + .quarter-right-padding { + padding-right: 0.3125em; + } + + .small-quarter-right-padding { + padding-right: 0.3125em; + } + + .bottom-space { + margin-bottom: 1.25em; + } + + .small-bottom-space { + margin-bottom: 1.25em; + } + + .bottom-padding { + padding-bottom: 1.25em; + } + + .small-bottom-padding { + padding-bottom: 1.25em; + } + + .double-bottom-space { + margin-bottom: 2.5em; + } + + .small-double-bottom-space { + margin-bottom: 2.5em; + } + + .double-bottom-padding { + padding-bottom: 2.5em; + } + + .small-double-bottom-padding { + padding-bottom: 2.5em; + } + + .half-bottom-space { + margin-bottom: 0.625em; + } + + .small-half-bottom-space { + margin-bottom: 0.625em; + } + + .half-bottom-padding { + padding-bottom: 0.625em; + } + + .small-half-bottom-padding { + padding-bottom: 0.625em; + } + + .quarter-bottom-space { + margin-bottom: 0.3125em; + } + + .small-quarter-bottom-space { + margin-bottom: 0.3125em; + } + + .quarter-bottom-padding { + padding-bottom: 0.3125em; + } + + .small-quarter-bottom-padding { + padding-bottom: 0.3125em; + } + + .left-space { + margin-left: 1.25em; + } + + .small-left-space { + margin-left: 1.25em; + } + + .left-padding { + padding-left: 1.25em; + } + + .small-left-padding { + padding-left: 1.25em; + } + + .double-left-space { + margin-left: 2.5em; + } + + .small-double-left-space { + margin-left: 2.5em; + } + + .double-left-padding { + padding-left: 2.5em; + } + + .small-double-left-padding { + padding-left: 2.5em; + } + + .half-left-space { + margin-left: 0.625em; + } + + .small-half-left-space { + margin-left: 0.625em; + } + + .half-left-padding { + padding-left: 0.625em; + } + + .small-half-left-padding { + padding-left: 0.625em; + } + + .quarter-left-space { + margin-left: 0.3125em; + } + + .small-quarter-left-space { + margin-left: 0.3125em; + } + + .quarter-left-padding { + padding-left: 0.3125em; + } + + .small-quarter-left-padding { + padding-left: 0.3125em; + } + + .hide-small { + display: none !important; + } + + .show-small { + display: inherit !important; + } + + table.show-small { + display: table; + } + + thead.show-small { + display: table-header-group; + } + + tbody.show-small { + display: table-row-group; + } + + tfoot.show-small { + display: table-footer-group; + } + + tr.show-small { + display: table-row; + } + + th.show-small, + td.show-small { + display: table-cell; + } +} +@media screen and (max-width: 320px) { + .ink-grid { + padding: 0 1em; + } + + .column-group > [class*=tiny-] { + float: left; + clear: none; + } + + .tiny-5 { + width: 5%; + } + + .tiny-10 { + width: 10%; + } + + .tiny-15 { + width: 15%; + } + + .tiny-16 { + width: 16.66%; + } + + .tiny-20 { + width: 20%; + } + + .tiny-25 { + width: 25%; + } + + .tiny-30 { + width: 30%; + } + + .tiny-33 { + width: 33.33%; + } + + .tiny-35 { + width: 35%; + } + + .tiny-40 { + width: 40%; + } + + .tiny-45 { + width: 45%; + } + + .tiny-50 { + width: 50%; + } + + .tiny-55 { + width: 55%; + } + + .tiny-60 { + width: 60%; + } + + .tiny-65 { + width: 65%; + } + + .tiny-66 { + width: 66.66%; + } + + .tiny-70 { + width: 70%; + } + + .tiny-75 { + width: 75%; + } + + .tiny-80 { + width: 80%; + } + + .tiny-85 { + width: 85%; + } + + .tiny-90 { + width: 90%; + } + + .tiny-95 { + width: 95%; + } + + .tiny-100 { + width: 100%; + } + + [class*=tiny-100] { + float: none; + clear: both; + } + + .column-group { + *zoom: 1; + } + .column-group:after { + content: ""; + display: table; + clear: both; + } + + .column-group.gutters { + margin-left: -1em; + } + .column-group.gutters > [class*=tiny-], .column-group.gutters > [class*=all-] { + padding-left: 1em; + margin-bottom: 1em; + } + + .column-group.horizontal-gutters { + margin-left: -1em; + } + .column-group.horizontal-gutters > [class*=tiny-], .column-group.horizontal-gutters > [class*=all-] { + padding-left: 1em; + } + + .column-group.vertical-gutters > [class*=tiny-], .column-group.vertical-gutters > [class*=all-] { + margin-bottom: 1em; + } + + .column-group.double-gutters { + margin-left: -2em; + } + .column-group.double-gutters > [class*=tiny-], .column-group.double-gutters > [class*=all-] { + padding-left: 2em; + margin-bottom: 2em; + } + + .column-group.double-horizontal-gutters { + margin-left: -2em; + } + .column-group.double-horizontal-gutters > [class*=tiny-], .column-group.double-horizontal-gutters > [class*=all-] { + padding-left: 2em; + } + + .column-group.double-vertical-gutters > [class*=tiny-], .column-group.double-vertical-gutters > [class*=all-] { + margin-bottom: 2em; + } + + .column-group.half-gutters { + margin-left: -0.5em; + } + .column-group.half-gutters > [class*=tiny-], .column-group.half-gutters > [class*=all-] { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + + .column-group.half-horizontal-gutters { + margin-left: -0.5em; + } + .column-group.half-horizontal-gutters > [class*=tiny-], .column-group.half-horizontal-gutters > [class*=all-] { + padding-left: 0.5em; + } + + .column-group.half-vertical-gutters > [class*=tiny-], .column-group.half-vertical-gutters > [class*=all-] { + margin-bottom: 0.5em; + } + + .column-group.quarter-gutters { + margin-left: -0.25em; + } + .column-group.quarter-gutters > [class*=tiny-], .column-group.quarter-gutters > [class*=all-] { + padding-left: 0.25em; + margin-bottom: 0.25em; + } + + .column-group.quarter-horizontal-gutters { + margin-left: -0.25em; + } + .column-group.quarter-horizontal-gutters > [class*=tiny-], .column-group.quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.25em; + } + + .column-group.quarter-vertical-gutters > [class*=tiny-], .column-group.quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.25em; + } + + .column-group.tiny-gutters { + margin-left: -1em; + } + .column-group.tiny-gutters > [class*=tiny-], .column-group.tiny-gutters > [class*=all-] { + padding-left: 1em; + margin-bottom: 1em; + } + + .column-group.tiny-horizontal-gutters { + margin-left: -1em; + } + .column-group.tiny-horizontal-gutters > [class*=tiny-], .column-group.tiny-horizontal-gutters > [class*=all-] { + padding-left: 1em; + } + + .column-group.tiny-vertical-gutters > [class*=tiny-], .column-group.tiny-vertical-gutters > [class*=all-] { + margin-bottom: 1em; + } + + .column-group.tiny-double-gutters { + margin-left: -2em; + } + .column-group.tiny-double-gutters > [class*=tiny-], .column-group.tiny-double-gutters > [class*=all-] { + padding-left: 2em; + margin-bottom: 2em; + } + + .column-group.tiny-double-horizontal-gutters { + margin-left: -2em; + } + .column-group.tiny-double-horizontal-gutters > [class*=tiny-], .column-group.tiny-double-horizontal-gutters > [class*=all-] { + padding-left: 2em; + } + + .column-group.tiny-double-vertical-gutters > [class*=tiny-], .column-group.tiny-double-vertical-gutters > [class*=all-] { + margin-bottom: 2em; + } + + .column-group.tiny-half-gutters { + margin-left: -0.5em; + } + .column-group.tiny-half-gutters > [class*=tiny-], .column-group.tiny-half-gutters > [class*=all-] { + padding-left: 0.5em; + margin-bottom: 0.5em; + } + + .column-group.tiny-half-horizontal-gutters { + margin-left: -0.5em; + } + .column-group.tiny-half-horizontal-gutters > [class*=tiny-], .column-group.tiny-half-horizontal-gutters > [class*=all-] { + padding-left: 0.5em; + } + + .column-group.tiny-half-vertical-gutters > [class*=tiny-], .column-group.tiny-half-vertical-gutters > [class*=all-] { + margin-bottom: 0.5em; + } + + .column-group.tiny-quarter-gutters { + margin-left: -0.25em; + } + .column-group.tiny-quarter-gutters > [class*=tiny-], .column-group.tiny-quarter-gutters > [class*=all-] { + padding-left: 0.25em; + margin-bottom: 0.25em; + } + + .column-group.tiny-quarter-horizontal-gutters { + margin-left: -0.25em; + } + .column-group.tiny-quarter-horizontal-gutters > [class*=tiny-], .column-group.tiny-quarter-horizontal-gutters > [class*=all-] { + padding-left: 0.25em; + } + + .column-group.tiny-quarter-vertical-gutters > [class*=tiny-], .column-group.tiny-quarter-vertical-gutters > [class*=all-] { + margin-bottom: 0.25em; + } + + .column-group.tiny-no-gutters { + margin-left: 0; + } + .column-group.tiny-no-gutters > [class*=tiny-], .column-group.tiny-no-gutters > [class*=all-] { + padding-left: 0; + margin-bottom: 0; + } + + .ink-table td[class*=tiny-], .ink-table th[class*=tiny-], .ink-table tr[class*=tiny-], .ink-table thead[class*=tiny-], .ink-table tbody[class*=tiny-], .ink-table tfoot[class*=tiny-] { + float: none; + } + + .tiny-push-left { + float: left; + } + + .tiny-push-center { + float: none; + margin-left: auto; + margin-right: auto; + } + + .tiny-push-right { + float: right; + } + + .tiny-align-left { + text-align: left; + } + + .tiny-align-center { + text-align: center; + } + + .tiny-align-right { + text-align: right; + } + + .tiny-no-margin { + margin: 0 !important; + } + + .space { + margin: 1em; + } + + .tiny-space { + margin: 1em; + } + + .padding { + padding: 1em; + } + + .tiny-padding { + padding: 1em; + } + + .double-space { + margin: 2em; + } + + .tiny-double-space { + margin: 2em; + } + + .double-padding { + padding: 2em; + } + + .tiny-double-padding { + padding: 2em; + } + + .half-space { + margin: 0.5em; + } + + .tiny-half-space { + margin: 0.5em; + } + + .half-padding { + padding: 0.5em; + } + + .tiny-half-padding { + padding: 0.5em; + } + + .quarter-space { + margin: 0.25em; + } + + .tiny-quarter-space { + margin: 0.25em; + } + + .quarter-padding { + padding: 0.25em; + } + + .tiny-quarter-padding { + padding: 0.25em; + } + + .vertical-space { + margin-top: 1em; + margin-bottom: 1em; + } + + .tiny-vertical-space { + margin-top: 1em; + margin-bottom: 1em; + } + + .vertical-padding { + padding-top: 1em; + padding-bottom: 1em; + } + + .tiny-vertical-padding { + padding-top: 1em; + padding-bottom: 1em; + } + + .double-vertical-space { + margin-top: 2em; + margin-bottom: 2em; + } + + .tiny-double-vertical-space { + margin-top: 2em; + margin-bottom: 2em; + } + + .double-vertical-padding { + padding-top: 2em; + padding-bottom: 2em; + } + + .tiny-double-vertical-padding { + padding-top: 2em; + padding-bottom: 2em; + } + + .half-vertical-space { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + + .tiny-half-vertical-space { + margin-top: 0.5em; + margin-bottom: 0.5em; + } + + .half-vertical-padding { + padding-top: 0.5em; + padding-bottom: 0.5em; + } + + .tiny-half-vertical-padding { + padding-top: 0.5em; + padding-bottom: 0.5em; + } + + .quarter-vertical-space { + margin-top: 0.25em; + margin-bottom: 0.25em; + } + + .tiny-quarter-vertical-space { + margin-top: 0.25em; + margin-bottom: 0.25em; + } + + .quarter-vertical-padding { + padding-top: 0.25em; + padding-bottom: 0.25em; + } + + .tiny-quarter-vertical-padding { + padding-top: 0.25em; + padding-bottom: 0.25em; + } + + .horizontal-space { + margin-left: 1em; + margin-right: 1em; + } + + .tiny-horizontal-space { + margin-left: 1em; + margin-right: 1em; + } + + .horizontal-padding { + padding-left: 1em; + padding-right: 1em; + } + + .tiny-horizontal-padding { + padding-left: 1em; + padding-right: 1em; + } + + .double-horizontal-space { + margin-left: 2em; + margin-right: 2em; + } + + .tiny-double-horizontal-space { + margin-left: 2em; + margin-right: 2em; + } + + .double-horizontal-padding { + padding-left: 2em; + padding-right: 2em; + } + + .tiny-double-horizontal-padding { + padding-left: 2em; + padding-right: 2em; + } + + .half-horizontal-space { + margin-left: 0.5em; + margin-right: 0.5em; + } + + .tiny-half-horizontal-space { + margin-left: 0.5em; + margin-right: 0.5em; + } + + .half-horizontal-padding { + padding-left: 0.5em; + padding-right: 0.5em; + } + + .tiny-half-horizontal-padding { + padding-left: 0.5em; + padding-right: 0.5em; + } + + .quarter-horizontal-space { + margin-left: 0.25em; + margin-right: 0.25em; + } + + .tiny-quarter-horizontal-space { + margin-left: 0.25em; + margin-right: 0.25em; + } + + .quarter-horizontal-padding { + padding-left: 0.25em; + padding-right: 0.25em; + } + + .tiny-quarter-horizontal-padding { + padding-left: 0.25em; + padding-right: 0.25em; + } + + .top-space { + margin-top: 1em; + } + + .tiny-top-space { + margin-top: 1em; + } + + .top-padding { + padding-top: 1em; + } + + .tiny-top-padding { + padding-top: 1em; + } + + .double-top-space { + margin-top: 2em; + } + + .tiny-double-top-space { + margin-top: 2em; + } + + .double-top-padding { + padding-top: 2em; + } + + .tiny-double-top-padding { + padding-top: 2em; + } + + .half-top-space { + margin-top: 0.5em; + } + + .tiny-half-top-space { + margin-top: 0.5em; + } + + .half-top-padding { + padding-top: 0.5em; + } + + .tiny-half-top-padding { + padding-top: 0.5em; + } + + .quarter-top-space { + margin-top: 0.25em; + } + + .tiny-quarter-top-space { + margin-top: 0.25em; + } + + .quarter-top-padding { + padding-top: 0.25em; + } + + .tiny-quarter-top-padding { + padding-top: 0.25em; + } + + .right-space { + margin-right: 1em; + } + + .tiny-right-space { + margin-right: 1em; + } + + .right-padding { + padding-right: 1em; + } + + .tiny-right-padding { + padding-right: 1em; + } + + .double-right-space { + margin-right: 2em; + } + + .tiny-double-right-space { + margin-right: 2em; + } + + .double-right-padding { + padding-right: 2em; + } + + .tiny-double-right-padding { + padding-right: 2em; + } + + .half-right-space { + margin-right: 0.5em; + } + + .tiny-half-right-space { + margin-right: 0.5em; + } + + .half-right-padding { + padding-right: 0.5em; + } + + .tiny-half-right-padding { + padding-right: 0.5em; + } + + .quarter-right-space { + margin-right: 0.25em; + } + + .tiny-quarter-right-space { + margin-right: 0.25em; + } + + .quarter-right-padding { + padding-right: 0.25em; + } + + .tiny-quarter-right-padding { + padding-right: 0.25em; + } + + .bottom-space { + margin-bottom: 1em; + } + + .tiny-bottom-space { + margin-bottom: 1em; + } + + .bottom-padding { + padding-bottom: 1em; + } + + .tiny-bottom-padding { + padding-bottom: 1em; + } + + .double-bottom-space { + margin-bottom: 2em; + } + + .tiny-double-bottom-space { + margin-bottom: 2em; + } + + .double-bottom-padding { + padding-bottom: 2em; + } + + .tiny-double-bottom-padding { + padding-bottom: 2em; + } + + .half-bottom-space { + margin-bottom: 0.5em; + } + + .tiny-half-bottom-space { + margin-bottom: 0.5em; + } + + .half-bottom-padding { + padding-bottom: 0.5em; + } + + .tiny-half-bottom-padding { + padding-bottom: 0.5em; + } + + .quarter-bottom-space { + margin-bottom: 0.25em; + } + + .tiny-quarter-bottom-space { + margin-bottom: 0.25em; + } + + .quarter-bottom-padding { + padding-bottom: 0.25em; + } + + .tiny-quarter-bottom-padding { + padding-bottom: 0.25em; + } + + .left-space { + margin-left: 1em; + } + + .tiny-left-space { + margin-left: 1em; + } + + .left-padding { + padding-left: 1em; + } + + .tiny-left-padding { + padding-left: 1em; + } + + .double-left-space { + margin-left: 2em; + } + + .tiny-double-left-space { + margin-left: 2em; + } + + .double-left-padding { + padding-left: 2em; + } + + .tiny-double-left-padding { + padding-left: 2em; + } + + .half-left-space { + margin-left: 0.5em; + } + + .tiny-half-left-space { + margin-left: 0.5em; + } + + .half-left-padding { + padding-left: 0.5em; + } + + .tiny-half-left-padding { + padding-left: 0.5em; + } + + .quarter-left-space { + margin-left: 0.25em; + } + + .tiny-quarter-left-space { + margin-left: 0.25em; + } + + .quarter-left-padding { + padding-left: 0.25em; + } + + .tiny-quarter-left-padding { + padding-left: 0.25em; + } + + .hide-tiny { + display: none !important; + } + + .show-tiny { + display: inherit !important; + } + + table.show-tiny { + display: table; + } + + thead.show-tiny { + display: table-header-group; + } + + tbody.show-tiny { + display: table-row-group; + } + + tfoot.show-tiny { + display: table-footer-group; + } + + tr.show-tiny { + display: table-row; + } + + th.show-tiny, + td.show-tiny { + display: table-cell; + } +} +html { + font-size: 0.97em; +} +html:after { + content: '[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]'; + display: none; +} + +.ink-label { + padding: 0 0.35em; + white-space: nowrap; +} + +.ink-navigation { + overflow: visible; +} +.ink-navigation ul { + list-style-type: none; + padding: 0; + margin: 0; +} +.ink-navigation ul li { + margin: 0; +} + +.ink-navigation .breadcrumbs li { + line-height: 2.7em; + display: inline; +} +.ink-navigation .breadcrumbs li a { + display: inline; + padding: 0; +} +.ink-navigation .breadcrumbs li a:hover { + background: transparent; +} +.ink-navigation .breadcrumbs li.active a { + cursor: default; + text-decoration: none; +} +.ink-navigation .breadcrumbs li:first-child a { + padding-left: 1.2em; +} +.ink-navigation .breadcrumbs li:after { + content: '/'; + display: inline; + margin: 0 .7em; +} +.ink-navigation .breadcrumbs li:last-child:after { + content: ''; + display: none; +} + +.ink-dropdown, +.ink-navigation { + position: relative; +} +.ink-dropdown ul.dropdown-menu, +.ink-dropdown ul.dropdown, +.ink-navigation ul.dropdown-menu, +.ink-navigation ul.dropdown { + position: absolute; + top: 110%; + background: white; + z-index: 30; + border: 1px solid #d9d9d9; + height: auto; + width: auto; + min-width: 10em; + max-width: 12em; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + -webkit-box-shadow: rgba(100, 100, 100, 0.3) 0 0 1px 0; + -moz-box-shadow: rgba(100, 100, 100, 0.3) 0 0 1px 0; + box-shadow: rgba(100, 100, 100, 0.3) 0 0 1px 0; + padding: .3em 0; + margin-left: 0px; + padding: .35em 0; + font-size: .85em; +} +.ink-dropdown ul.dropdown-menu li, +.ink-dropdown ul.dropdown li, +.ink-navigation ul.dropdown-menu li, +.ink-navigation ul.dropdown li { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + -webkit-border-radius: none; + -moz-border-radius: none; + -ms-border-radius: none; + -o-border-radius: none; + border-radius: none; + width: auto; + height: auto; + min-height: auto; + display: list-item; + float: none; + margin: 0; + text-align: left; + text-transform: none; + padding: 0; + position: relative; + list-style-type: none; +} +.ink-dropdown ul.dropdown-menu li.separator-above, +.ink-dropdown ul.dropdown li.separator-above, +.ink-navigation ul.dropdown-menu li.separator-above, +.ink-navigation ul.dropdown li.separator-above { + padding-top: .35em; + margin-top: .35em; + border-top: 1px solid #d9d9d9; +} +.ink-dropdown ul.dropdown-menu li.separator-below, +.ink-dropdown ul.dropdown li.separator-below, +.ink-navigation ul.dropdown-menu li.separator-below, +.ink-navigation ul.dropdown li.separator-below { + padding-bottom: .35em; + margin-bottom: .35em; + border-bottom: 1px solid #d9d9d9; +} +.ink-dropdown ul.dropdown-menu li.heading, +.ink-dropdown ul.dropdown li.heading, +.ink-navigation ul.dropdown-menu li.heading, +.ink-navigation ul.dropdown li.heading { + font-weight: 700; + padding-bottom: .35em; + margin-bottom: .35em; + padding: .5em .8em; + color: #333333; +} +.ink-dropdown ul.dropdown-menu li a, +.ink-dropdown ul.dropdown li a, +.ink-navigation ul.dropdown-menu li a, +.ink-navigation ul.dropdown li a { + color: #444; + padding: .5em .8em; + display: block; + clear: both; +} +.ink-dropdown ul.dropdown-menu li a:hover, +.ink-dropdown ul.dropdown li a:hover, +.ink-navigation ul.dropdown-menu li a:hover, +.ink-navigation ul.dropdown li a:hover { + background: #f2f2f2; + text-decoration: none; +} +.ink-dropdown ul.dropdown-menu li.active a, +.ink-dropdown ul.dropdown li.active a, +.ink-navigation ul.dropdown-menu li.active a, +.ink-navigation ul.dropdown li.active a { + background: #999999; + color: white; +} +.ink-dropdown ul.dropdown-menu li.disabled a, +.ink-dropdown ul.dropdown li.disabled a, +.ink-navigation ul.dropdown-menu li.disabled a, +.ink-navigation ul.dropdown li.disabled a { + color: #b3b3b3; +} +.ink-dropdown ul.dropdown-menu li.disabled a:hover, +.ink-dropdown ul.dropdown li.disabled a:hover, +.ink-navigation ul.dropdown-menu li.disabled a:hover, +.ink-navigation ul.dropdown li.disabled a:hover { + background: transparent; + cursor: default; +} +.ink-dropdown ul.dropdown-menu li.submenu, +.ink-dropdown ul.dropdown li.submenu, +.ink-navigation ul.dropdown-menu li.submenu, +.ink-navigation ul.dropdown li.submenu { + overflow: visible; +} +.ink-dropdown ul.dropdown-menu li.submenu > a, +.ink-dropdown ul.dropdown li.submenu > a, +.ink-navigation ul.dropdown-menu li.submenu > a, +.ink-navigation ul.dropdown li.submenu > a { + white-space: nowrap; +} +.ink-dropdown ul.dropdown-menu li.submenu > a:after, +.ink-dropdown ul.dropdown li.submenu > a:after, +.ink-navigation ul.dropdown-menu li.submenu > a:after, +.ink-navigation ul.dropdown li.submenu > a:after { + content: "\f0da"; + width: auto; + margin-left: .8em; + font-family: FontAwesome; + color: #b3b3b3; +} +.ink-dropdown ul.dropdown-menu li.submenu:hover > a, +.ink-dropdown ul.dropdown li.submenu:hover > a, +.ink-navigation ul.dropdown-menu li.submenu:hover > a, +.ink-navigation ul.dropdown li.submenu:hover > a { + background: #f2f2f2; + text-decoration: none; +} +.ink-dropdown ul.dropdown-menu li.submenu:hover:hover > ul.dropdown-menu, .ink-dropdown ul.dropdown-menu li.submenu:hover:hover > ul.dropdown, +.ink-dropdown ul.dropdown li.submenu:hover:hover > ul.dropdown-menu, +.ink-dropdown ul.dropdown li.submenu:hover:hover > ul.dropdown, +.ink-navigation ul.dropdown-menu li.submenu:hover:hover > ul.dropdown-menu, +.ink-navigation ul.dropdown-menu li.submenu:hover:hover > ul.dropdown, +.ink-navigation ul.dropdown li.submenu:hover:hover > ul.dropdown-menu, +.ink-navigation ul.dropdown li.submenu:hover:hover > ul.dropdown { + display: block; +} +.ink-dropdown ul.dropdown-menu li.submenu > ul.dropdown-menu, .ink-dropdown ul.dropdown-menu li.submenu > ul.dropdown, +.ink-dropdown ul.dropdown li.submenu > ul.dropdown-menu, +.ink-dropdown ul.dropdown li.submenu > ul.dropdown, +.ink-navigation ul.dropdown-menu li.submenu > ul.dropdown-menu, +.ink-navigation ul.dropdown-menu li.submenu > ul.dropdown, +.ink-navigation ul.dropdown li.submenu > ul.dropdown-menu, +.ink-navigation ul.dropdown li.submenu > ul.dropdown { + font-size: inherit; + position: absolute; + top: -.36em; + left: 100%; + display: none; +} + +.ink-navigation ul.pagination { + overflow: hidden; + *zoom: 1; +} +.ink-navigation ul.pagination li { + line-height: 1.7; + float: left; +} +.ink-navigation ul.pagination li a { + padding: 0.5em 1em; + display: block; + float: left; +} +.ink-navigation ul.pagination.dotted li a { + display: block; + height: 1em; + width: 1em; + margin-right: .6em; + padding: 0; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; + text-indent: 99999px; +} +.ink-navigation ul.pagination.dotted li a:first-child, .ink-navigation ul.pagination.dotted li a:last-child { + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; +} +.ink-navigation ul.pagination.chevron li { + display: none; +} +.ink-navigation ul.pagination.chevron li.next, .ink-navigation ul.pagination.chevron li.previous { + display: block; +} +.ink-navigation ul.pagination.chevron li.next a, .ink-navigation ul.pagination.chevron li.previous a { + display: block; + position: absolute; + top: 35%; + padding: 0 .5em; + margin: 0; + font-family: FontAwesome; + font-size: 4em; +} +.ink-navigation ul.pagination.chevron li.next a span, .ink-navigation ul.pagination.chevron li.previous a span { + text-indent: -99999px; + display: inline-block; +} +.ink-navigation ul.pagination.chevron li.disabled a { + color: rgba(255, 255, 255, 0.6); + text-shadow: none; +} +.ink-navigation ul.pagination.chevron li.disabled a:hover, .ink-navigation ul.pagination.chevron li.disabled a:focus { + color: rgba(255, 255, 255, 0.6); +} +.ink-navigation ul.pagination.chevron li.previous a { + left: 0; +} +.ink-navigation ul.pagination.chevron li.previous a:after { + content: "\f137"; +} +.ink-navigation ul.pagination.chevron li.next a { + right: 0; +} +.ink-navigation ul.pagination.chevron li.next a:after { + content: "\f138"; +} + +.ink-navigation .pills { + overflow: hidden; + *zoom: 1; +} +.ink-navigation .pills li { + overflow: hidden; + display: block; + float: left; + margin: 0 .5em .5em 0; + line-height: 1.7; +} +.ink-navigation .pills li a { + display: block; + padding: 0.5em 1em; +} +.ink-navigation .pills li a:hover { + text-decoration: none; +} +.ink-navigation .pills li.active a, .ink-navigation .pills li.disabled a { + cursor: default; +} + +.ink-navigation ul { + *height: 100%; +} +.ink-navigation ul.menu { + *zoom: 1; +} +.ink-navigation ul.menu:after { + content: ""; + display: table; + clear: both; +} +.ink-navigation ul.menu li { + *height: 100%; +} +.ink-navigation ul.menu li:hover > ul.submenu { + display: block; +} +.ink-navigation ul.menu li ul.submenu { + display: none; + position: absolute; + z-index: 10; +} +.ink-navigation ul.menu li ul.submenu li a { + padding: 0.5em 1em; + display: block; + float: none; +} +.ink-navigation ul.menu.horizontal li { + float: left; + position: relative; +} +.ink-navigation ul.menu.horizontal li a { + padding: 0.5em 1em; + display: block; + line-height: 1.7; +} +.ink-navigation ul.menu.horizontal li .control { + margin-top: .3em; +} +.ink-navigation ul.menu.horizontal li ul.submenu { + min-width: 100%; + left: 0; + z-index: 50; + top: auto; + left: auto; +} +.ink-navigation ul.menu.horizontal li ul.submenu li { + float: none; +} +.ink-navigation ul.menu.horizontal li ul.submenu li .flyout { + position: absolute; + top: 0; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.menu.horizontal li ul.submenu li .flyout.left { + right: 100%; +} +.ink-navigation ul.menu.horizontal li ul.submenu li .flyout.right { + left: 100%; +} +.ink-navigation ul.menu.vertical li { + line-height: 1.7; + position: relative; +} +.ink-navigation ul.menu.vertical li a { + padding: 0.5em 1em; + display: block; +} +.ink-navigation ul.menu.vertical li ul.submenu { + position: relative; + top: auto; + left: auto; +} +.ink-navigation ul.menu.vertical li ul.submenu.flyout { + position: absolute; + min-width: 8em; + top: 0; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.menu.vertical li ul.submenu.flyout.left { + right: 100%; +} +.ink-navigation ul.menu.vertical li ul.submenu.flyout.right { + left: 100%; +} + +table.ink-table { + width: 100%; + border-collapse: collapse; + border-spacing: 0; +} +table.ink-table tr th { + padding: 5px 10px; + line-height: 1.3; +} +table.ink-table tr th[data-sortable="true"]:hover { + cursor: pointer; + text-decoration: underline; +} +table.ink-table tr th[data-sortable="true"]:hover i { + text-decoration: none; +} +table.ink-table tr th[data-sortable="true"] i { + padding-left: .5em; +} +table.ink-table tr td { + padding: 5px 10px; + line-height: 1.3; +} +table.ink-table.hover tbody tr:hover { + cursor: pointer; +} +table.ink-table.bordered { + border-collapse: separate; +} + +html { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +body { + color: #555555; + font-family: "Roboto", Arial, Helvetica, sans-serif; + line-height: 1.45; +} + +.fw-100, .fw-light { + font-weight: 100; +} + +.fw-300, .fw-thin { + font-weight: 300; +} + +.fw-400, .fw-regular { + font-weight: 400; +} + +.fw-500, .fw-medium { + font-weight: 500; +} + +.fw-700, .fw-bold { + font-weight: 700; +} + +.fw-900, .fw-black { + font-weight: 900; +} + +.condensed-300, .condensed-thin { + font-weight: 200; + font-family: Roboto_condensed, Arial, Helvetica, sans-serif; +} + +.condensed-400, .condensed-regular { + font-weight: 400; + font-family: Roboto_condensed, Arial, Helvetica, sans-serif; +} + +.condensed-700, .condensed-bold { + font-weight: 700; + font-family: Roboto_condensed, Arial, Helvetica, sans-serif; +} + +.slab-100, .slab-light { + font-weight: 100; + font-family: Roboto_slab, Arial, Helvetica, sans-serif; +} + +.slab-300, .slab-thin { + font-weight: 300; + font-family: Roboto_slab, Arial, Helvetica, sans-serif; +} + +.slab-400, .slab-regular { + font-weight: 400; + font-family: Roboto_slab, Arial, Helvetica, sans-serif; +} + +.slab-700, .slab-bold { + font-weight: 700; + font-family: Roboto_slab, Arial, Helvetica, sans-serif; +} + +.sans { + font-family: "Roboto", Arial, Helvetica, sans-serif; +} + +.serif { + font-family: Times, "Times New Roman", serif; +} + +.monospace { + font-family: Monaco, "Andale Mono", "Courier New", monospace; +} + +.condensed { + font-family: Roboto_condensed, Arial, Helvetica, sans-serif; +} + +.slab { + font-family: Roboto_slab, Arial, Helvetica, sans-serif; +} + +.italic { + font-style: italic; +} + +.uppercase { + text-transform: uppercase; +} + +.lowercase { + text-transform: lowercase; +} + +.capitalizer { + text-transform: capitalize; +} + +.fa { + font-size: 14px; +} + +a { + color: #6998c9; + text-decoration: none; + cursor: pointer; +} +a:hover { + color: #007ed5; + text-decoration: underline; +} + +h1 { + font-size: 2.2em; + margin-top: 0; + margin-bottom: 0.57539em; +} + +h2 { + font-size: 1.75em; + margin-top: 0; + margin-bottom: 0.72334em; +} + +h3 { + font-size: 1.5em; + margin-top: 0; + margin-bottom: 0.8439em; +} + +h4 { + font-size: 1.25em; + margin-top: 0; + margin-bottom: 1.01268em; +} + +h5 { + font-size: 1.1em; + margin-top: 0; + margin-bottom: 1.15077em; +} + +h6 { + font-size: 1.1em; + margin-top: 0; + margin-bottom: 1.15077em; +} + +p { + font-size: 1em; + margin-top: 0; + margin-bottom: 1.26585em; +} + +table { + font-size: 1em; + margin-top: 0; + margin-bottom: 1.26585em; +} + +h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, p:first-child { + margin-top: 0; +} + +/* Headings */ +h1, h2, h3, h4, h5, h6 { + color: #404040; + font-weight: 700; + line-height: 1.16; +} + +small { + color: #888888; +} + +input, textarea { + color: #666; +} + +h1 small, h2 small, h3 small, h4 small { + color: #bbb; + font-size: .6em; + font-weight: 100; + line-height: 1; +} + +mark { + background: #dae5f2; +} + +address { + color: #777777; + font-size: 1em; + line-height: 1.4; +} +address p { + margin-top: 0; +} +address h6 { + color: #555555; +} + +abbr:hover { + cursor: help; +} + +blockquote { + border-left: 4px solid #ddd; + padding-left: 25px; + margin: 1em 0; + font-weight: 200; + font-size: 1.1em; +} +blockquote small { + font-size: .9em; +} +blockquote small::before, blockquote small::after { + content: ' — '; +} + +.note { + font-size: .9em; + color: #777777; +} +.note strong { + color: #555555; +} + +.small { + font-size: .75em; +} + +.medium { + font-size: .85em; +} + +.large { + font-size: 1.2em; +} + +.extralarge { + font-size: 1.45em !important; +} + +hr { + border: 0; + border-top: 1px solid #ddd; + margin: 1em 0; +} + +.lead { + font-size: 1.1em; + font-weight: bold; +} + +ul, ol { + line-height: 1.4; + padding: 0 0 0 1.45em; + margin: 1em 0; +} +ul li, ol li { + margin: .5em 0; +} + +ul.unstyled { + list-style: none; + padding-left: 0em; +} +ul.unstyled ul { + list-style: disc outside; +} +ul.inline { + list-style: none; +} +ul.inline li { + display: inline-block; + padding: 0 .5em; +} +ul.inline li:first-child { + padding: 0 .5em 0 0; +} + +dl { + margin: 1em 0; +} +dl dt { + font-weight: bold; + margin: .5em 0; +} +dl dd { + margin: 0.5em 0 0.5em 25px; +} +dl.inline dt { + float: left; + clear: left; + text-align: right; + width: 180px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + margin: 0; +} +dl.inline dd { + margin: .5em 0 .5em 200px; +} + +figure.ink-image { + position: relative; + border: 1px solid #555555; +} +figure.ink-image > img { + width: 100%; +} +figure.ink-image > figcaption { + padding: 1em; + background: white; + line-height: 1.3; +} +figure.ink-image > figcaption.over-top, figure.ink-image > figcaption.over-bottom { + position: absolute; + width: 100%; + left: 0; + border: none; +} +figure.ink-image > figcaption.over-top.dark, figure.ink-image > figcaption.over-bottom.dark { + color: white; + background: rgba(0, 0, 0, 0.6); +} +figure.ink-image > figcaption.over-top { + top: 0; + background: rgba(255, 255, 255, 0.7); +} +figure.ink-image > figcaption.over-bottom { + bottom: 0; + background: rgba(255, 255, 255, 0.7); +} +figure.ink-image > figcaption.dark { + color: white; + background: #222222; +} + +img { + border: 0; + width: auto; + max-width: 100%; + vertical-align: top; +} + +.ink-alert.basic, .ink-alert.block { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-alert.basic { + background: rgba(255, 156, 0, 0.25); + color: #b87814; + border: 1px solid #b87814; +} +.ink-alert.basic .ink-dismiss { + color: #b87814; +} +.ink-alert.basic.success { + background: rgba(74, 155, 23, 0.25); + color: #38621d; + border: 1px solid #38621d; +} +.ink-alert.basic.success .ink-dismiss { + color: #38621d; +} +.ink-alert.basic.error { + background: rgba(201, 17, 17, 0.25); + color: #891e1e; + border: 1px solid #891e1e; +} +.ink-alert.basic.error .ink-dismiss { + color: #891e1e; +} +.ink-alert.basic.info { + background: rgba(15, 117, 218, 0.25); + color: #1e5b98; + border: 1px solid #1e5b98; +} +.ink-alert.basic.info .ink-dismiss { + color: #1e5b98; +} +.ink-alert.block { + border: 1px solid #b87814; + background: white; +} +.ink-alert.block > h4 { + background: rgba(255, 156, 0, 0.3); + color: #b87814; +} +.ink-alert.block .ink-dismiss { + color: #b87814; +} +.ink-alert.block.success { + border: 1px solid #38621d; + background: white; +} +.ink-alert.block.success > h4 { + background: rgba(74, 155, 23, 0.3); + color: #38621d; +} +.ink-alert.block.success .ink-dismiss { + color: #38621d; +} +.ink-alert.block.error { + border: 1px solid #891e1e; + background: white; +} +.ink-alert.block.error > h4 { + background: rgba(201, 17, 17, 0.3); + color: #891e1e; +} +.ink-alert.block.error .ink-dismiss { + color: #891e1e; +} +.ink-alert.block.info { + border: 1px solid #1e5b98; + background: white; +} +.ink-alert.block.info > h4 { + background: rgba(15, 117, 218, 0.3); + color: #1e5b98; +} +.ink-alert.block.info .ink-dismiss { + color: #1e5b98; +} +.ink-alert .ink-dismiss { + font-family: Arial, sans-serif; + font-weight: bold; + text-shadow: white 0 1px 0; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=25); + opacity: 0.25; +} +.ink-alert .ink-dismiss:hover { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); + opacity: 0.6; +} + +.ink-badge { + -webkit-border-radius: 8em; + -moz-border-radius: 8em; + -ms-border-radius: 8em; + -o-border-radius: 8em; + border-radius: 8em; + color: white; +} +.ink-badge.white { + background: white; + color: #555555; +} +.ink-badge.black { + background: black; +} +.ink-badge.orange { + background: #ff9c00; +} +.ink-badge.red { + background: #c91111; +} +.ink-badge.green { + background: #4a9b17; +} +.ink-badge.blue { + background: #0f75da; +} +.ink-badge.yellow { + background: #ffd500; + color: #555555; +} +.ink-badge.grey { + background: gray; +} +.ink-badge + .ink-badge { + margin-left: .2em; +} + +.ink-button { + background: #d9d9d9; + color: black; + border: 1px solid #bfbfbf; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + font-weight: 300; +} +.ink-button:hover, .ink-button:active { + text-decoration: none; + color: black; + background: #cccccc; + border: 1px solid #b3b3b3; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px; +} +.ink-button:focus { + outline: none; + background: #cccccc; + -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + -moz-box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; + box-shadow: rgba(0, 0, 0, 0.2) 0 1px 1px inset; +} +.ink-button[disabled] { + background: #e6e6e6; + border: 1px solid #e6e6e6; + color: #999999; +} +.ink-button[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.ink-button.blue { + color: white; + background: #0f75da; + border: 1px solid #0c63b9; +} +.ink-button.blue:hover, .ink-button.blue:active { + background: #0d68c2; + border: 1px solid #0a56a1; + color: white; + text-decoration: none; +} +.ink-button.blue:focus { + background: #0d68c2; +} +.ink-button.blue[disabled] { + background: rgba(15, 117, 218, 0.6); + border: 1px solid rgba(15, 117, 218, 0); + color: #0c5baa; +} +.ink-button.blue[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.ink-button.green { + color: white; + background: #4a9b17; + border: 1px solid #3e8313; +} +.ink-button.green:hover, .ink-button.green:active { + background: #3f8514; + border: 1px solid #336d10; + color: white; + text-decoration: none; +} +.ink-button.green:focus { + background: #3f8514; +} +.ink-button.green[disabled] { + background: rgba(74, 155, 23, 0.6); + border: 1px solid rgba(74, 155, 23, 0); + color: #356f10; +} +.ink-button.green[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.ink-button.orange { + color: white; + background: #ff9c00; + border: 1px solid #d88400; +} +.ink-button.orange:hover, .ink-button.orange:active { + background: #e68c00; + border: 1px solid #bf7400; + color: white; + text-decoration: none; +} +.ink-button.orange:focus { + background: #e68c00; +} +.ink-button.orange[disabled] { + background: rgba(255, 156, 0, 0.6); + border: 1px solid rgba(255, 156, 0, 0); + color: #cc7d00; +} +.ink-button.orange[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.ink-button.red { + color: white; + background: #c91111; + border: 1px solid #aa0e0e; +} +.ink-button.red:hover, .ink-button.red:active { + background: #b10f0f; + border: 1px solid #920c0c; + color: white; + text-decoration: none; +} +.ink-button.red:focus { + background: #b10f0f; +} +.ink-button.red[disabled] { + background: rgba(201, 17, 17, 0.6); + border: 1px solid rgba(201, 17, 17, 0); + color: #9a0d0d; +} +.ink-button.red[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.ink-button.black { + color: white; + background: #1a1a1a; + border: 1px solid #161616; +} +.ink-button.black:hover, .ink-button.black:active { + background: #0d0d0d; + border: 1px solid #090909; + color: white; + text-decoration: none; +} +.ink-button.black:focus { + background: #0d0d0d; +} +.ink-button.black[disabled] { + background: rgba(26, 26, 26, 0.6); + border: 1px solid rgba(26, 26, 26, 0); + color: black; +} +.ink-button.black[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.ink-button.white { + color: #555555; + background: white; + border: 1px solid #d8d8d8; +} +.ink-button.white:hover, .ink-button.white:active { + background: #f2f2f2; + border: 1px solid #cbcbcb; + color: #555555; + text-decoration: none; +} +.ink-button.white:focus { + background: #f2f2f2; +} +.ink-button.white[disabled] { + background: rgba(255, 255, 255, 0.6); + border: 1px solid rgba(255, 255, 255, 0); + color: #e6e6e6; +} +.ink-button.white[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.button-group > .ink-button[disabled] { + background: #e6e6e6; + border: 1px solid rgba(217, 217, 217, 0.6); +} +.button-group > .ink-button[disabled]:hover { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.button-group > .ink-button.blue:first-child { + border-left: #0c63b9; +} +.button-group > .ink-button.blue[disabled] { + background: rgba(15, 117, 218, 0.6); + border: 1px solid rgba(15, 117, 218, 0.3); +} +.button-group > .ink-button.green:first-child { + border-left: #3e8313; +} +.button-group > .ink-button.green[disabled] { + background: rgba(74, 155, 23, 0.6); + border: 1px solid rgba(74, 155, 23, 0.3); +} +.button-group > .ink-button.orange:first-child { + border-left: #d88400; +} +.button-group > .ink-button.orange[disabled] { + background: rgba(255, 156, 0, 0.6); + border: 1px solid rgba(255, 156, 0, 0.3); +} +.button-group > .ink-button.red:first-child { + border-left: #aa0e0e; +} +.button-group > .ink-button.red[disabled] { + background: rgba(201, 17, 17, 0.6); + border: 1px solid rgba(201, 17, 17, 0.3); +} +.button-group > .ink-button.black:first-child { + border-left: #161616; +} +.button-group > .ink-button.black[disabled] { + background: rgba(26, 26, 26, 0.6); + border: 1px solid rgba(26, 26, 26, 0.3); +} +.button-group > .ink-button.white:first-child { + border-left: #d8d8d8; +} +.button-group > .ink-button.white[disabled] { + background: rgba(255, 255, 255, 0.6); + border: 1px solid rgba(255, 255, 255, 0.3); +} + +.ink-label { + color: white; + font-weight: 300; + font-size: 0.938em; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-label.white { + background: white; + color: #555555; +} +.ink-label.black { + background: black; +} +.ink-label.orange { + background: #ff9c00; +} +.ink-label.red { + background: #c91111; +} +.ink-label.green { + background: #4a9b17; +} +.ink-label.blue { + background: #0f75da; +} +.ink-label.yellow { + background: #ffd500; + color: #555555; +} +.ink-label.grey { + background: gray; +} +.ink-label + .ink-label { + margin-left: .2em; +} + +.ink-navigation ul.breadcrumbs { + font-weight: 300; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.breadcrumbs li.active a { + background: none; + color: #999999; +} +.ink-navigation ul.breadcrumbs li.active a:hover { + cursor: default; + text-decoration: none; +} +.ink-navigation ul.breadcrumbs li a:hover { + background: none; + text-decoration: underline; +} +.ink-navigation ul.breadcrumbs.white { + background: white; +} +.ink-navigation ul.breadcrumbs.white li a, .ink-navigation ul.breadcrumbs.white li:after { + color: #555555; +} +.ink-navigation ul.breadcrumbs.white li.active a { + color: #cccccc; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.breadcrumbs.grey { + background: #d9d9d9; +} +.ink-navigation ul.breadcrumbs.grey li a, .ink-navigation ul.breadcrumbs.grey li:after { + color: #555555; +} +.ink-navigation ul.breadcrumbs.grey li.active a { + color: #a6a6a6; + text-shadow: #ededed 0 1px 0; +} +.ink-navigation ul.breadcrumbs.black { + background: #1a1a1a; +} +.ink-navigation ul.breadcrumbs.black li a, .ink-navigation ul.breadcrumbs.black li:after { + color: white; +} +.ink-navigation ul.breadcrumbs.black li.active a { + color: #666666; + text-shadow: black 0 -1px 0; +} +.ink-navigation ul.breadcrumbs.blue { + background: #1b75ce; +} +.ink-navigation ul.breadcrumbs.blue li a, .ink-navigation ul.breadcrumbs.blue li:after { + color: white; +} +.ink-navigation ul.breadcrumbs.blue li.active a { + color: #08427b; + text-shadow: #1884ef 0 1px 0; +} +.ink-navigation ul.breadcrumbs.orange { + background: #f2990d; +} +.ink-navigation ul.breadcrumbs.orange li a, .ink-navigation ul.breadcrumbs.orange li:after { + color: white; +} +.ink-navigation ul.breadcrumbs.orange li.active a { + color: #995e00; + text-shadow: #ffa81f 0 1px 0; +} +.ink-navigation ul.breadcrumbs.green { + background: #4c9220; +} +.ink-navigation ul.breadcrumbs.green li a, .ink-navigation ul.breadcrumbs.green li:after { + color: white; +} +.ink-navigation ul.breadcrumbs.green li.active a { + color: #20420a; + text-shadow: #57b61b 0 1px 0; +} +.ink-navigation ul.breadcrumbs.red { + background: #be1c1c; +} +.ink-navigation ul.breadcrumbs.red li a, .ink-navigation ul.breadcrumbs.red li:after { + color: white; +} +.ink-navigation ul.breadcrumbs.red li.active a { + color: #6b0909; + text-shadow: #e51313 0 1px 0; +} + +.ink-dropdown.blue ul.dropdown-menu li.active a { + background: #0f75da; + color: white; +} +.ink-dropdown.green ul.dropdown-menu li.active a { + background: #4a9b17; + color: white; +} +.ink-dropdown.orange ul.dropdown-menu li.active a { + background: #ff9c00; + color: white; +} +.ink-dropdown.red ul.dropdown-menu li.active a { + background: #c91111; + color: white; +} +.ink-dropdown.black ul.dropdown-menu li.active a { + background: #1a1a1a; + color: white; +} +.ink-dropdown.blue ul.dropdown-menu li.active a { + background: #0f75da; + color: white; +} + +.ink-navigation ul.menu { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.menu > li { + font-weight: 300; +} +.ink-navigation ul.menu > li.active a { + text-decoration: underline; +} +.ink-navigation ul.menu > li.heading { + font-weight: 500; +} +.ink-navigation ul.menu > li.disabled a { + color: #b3b3b3; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.menu > li.disabled a:hover { + cursor: default; + background: none; + text-decoration: none; +} +.ink-navigation ul.menu > li ul.submenu li { + font-size: .875em; +} +.ink-navigation ul.menu > li ul.submenu li a { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.vertical li a { + border-bottom: 1px solid rgba(0, 0, 0, 0.15); +} +.ink-navigation ul.menu.vertical li:first-child { + -webkit-border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -ms-border-radius: 2px 2px 0 0; + -o-border-radius: 2px 2px 0 0; + border-radius: 2px 2px 0 0; +} +.ink-navigation ul.menu.vertical li:first-child > a { + -webkit-border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -ms-border-radius: 2px 2px 0 0; + -o-border-radius: 2px 2px 0 0; + border-radius: 2px 2px 0 0; +} +.ink-navigation ul.menu.vertical li:last-child { + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; +} +.ink-navigation ul.menu.vertical li:last-child > a { + border-bottom: none; + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; +} +.ink-navigation ul.menu.vertical li:last-child .submenu { + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; +} +.ink-navigation ul.menu.vertical li:last-child .submenu.flyout { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.menu.vertical li:last-child .submenu li:last-child { + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; +} +.ink-navigation ul.menu.vertical li:last-child .submenu li:last-child a { + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; +} +.ink-navigation ul.menu.horizontal > li:first-child { + -webkit-border-radius: 2px 0 0 2px; + -moz-border-radius: 2px 0 0 2px; + -ms-border-radius: 2px 0 0 2px; + -o-border-radius: 2px 0 0 2px; + border-radius: 2px 0 0 2px; +} +.ink-navigation ul.menu.horizontal > li:first-child a { + -webkit-border-radius: 2px 0 0 2px; + -moz-border-radius: 2px 0 0 2px; + -ms-border-radius: 2px 0 0 2px; + -o-border-radius: 2px 0 0 2px; + border-radius: 2px 0 0 2px; +} +.ink-navigation ul.menu.horizontal > li:last-child { + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + -ms-border-radius: 0 2px 2px 0; + -o-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; +} +.ink-navigation ul.menu.horizontal > li:last-child a { + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + -ms-border-radius: 0 2px 2px 0; + -o-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; +} +.ink-navigation ul.menu.horizontal > li ul.submenu { + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; + background: white; +} +.ink-navigation ul.menu.horizontal > li ul.submenu li:last-child { + -webkit-border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -ms-border-radius: 0 0 2px 2px; + -o-border-radius: 0 0 2px 2px; + border-radius: 0 0 2px 2px; +} +.ink-navigation ul.menu.horizontal > li ul.submenu li:last-child a { + border-bottom: none; +} +.ink-navigation ul.menu.white { + background: white; +} +.ink-navigation ul.menu.white li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.white li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.white li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.white li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.white li.active { + background: #e6e6e6; +} +.ink-navigation ul.menu.white li.disabled a { + color: #cccccc; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.menu.white li a { + color: #555555; + text-decoration: none; +} +.ink-navigation ul.menu.white li a:hover { + background: #f2f2f2; +} +.ink-navigation ul.menu.grey { + background: #d9d9d9; +} +.ink-navigation ul.menu.grey li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.grey li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.grey li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.grey li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.grey li.active { + background: #bfbfbf; +} +.ink-navigation ul.menu.grey li.disabled a { + color: #a6a6a6; + text-shadow: #ededed 0 1px 0; +} +.ink-navigation ul.menu.grey li a { + color: #555555; + text-decoration: none; +} +.ink-navigation ul.menu.grey li a:hover { + background: #cccccc; +} +.ink-navigation ul.menu.black { + background: #1a1a1a; +} +.ink-navigation ul.menu.black li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.black li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.black li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.black li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.black li.active { + background: #333333; +} +.ink-navigation ul.menu.black li.disabled a { + color: #666666; + text-shadow: black 0 -1px 0; +} +.ink-navigation ul.menu.black li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.menu.black li a:hover { + background: #404040; +} +.ink-navigation ul.menu.blue { + background: #1b75ce; +} +.ink-navigation ul.menu.blue li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.blue li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.blue li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.blue li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.blue li.active { + background: #0c5baa; +} +.ink-navigation ul.menu.blue li.disabled a { + color: #08427b; + text-shadow: #2289f0 0 1px 0; +} +.ink-navigation ul.menu.blue li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.menu.blue li a:hover { + background: #0d68c2; +} +.ink-navigation ul.menu.green { + background: #4c9220; +} +.ink-navigation ul.menu.green li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.green li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.green li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.green li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.green li.active { + background: #356f10; +} +.ink-navigation ul.menu.green li.disabled a { + color: #20420a; + text-shadow: #5bbf1c 0 1px 0; +} +.ink-navigation ul.menu.green li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.menu.green li a:hover { + background: #3f8514; +} +.ink-navigation ul.menu.orange { + background: #f2990d; +} +.ink-navigation ul.menu.orange li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.orange li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.orange li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.orange li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.orange li.active { + background: #cc7d00; +} +.ink-navigation ul.menu.orange li.disabled a { + color: #995e00; + text-shadow: #ffac29 0 1px 0; +} +.ink-navigation ul.menu.orange li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.menu.orange li a:hover { + background: #e68c00; +} +.ink-navigation ul.menu.red { + background: #be1c1c; +} +.ink-navigation ul.menu.red li ul.submenu { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.ink-navigation ul.menu.red li ul.submenu li a { + color: #555555; +} +.ink-navigation ul.menu.red li ul.submenu li a:hover { + background: rgba(0, 0, 0, 0.05); +} +.ink-navigation ul.menu.red li.disabled a:hover { + background: none; +} +.ink-navigation ul.menu.red li.active { + background: #9a0d0d; +} +.ink-navigation ul.menu.red li.disabled a { + color: #6b0909; + text-shadow: #eb1717 0 1px 0; +} +.ink-navigation ul.menu.red li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.menu.red li a:hover { + background: #b10f0f; +} + +.ink-navigation ul.pagination { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.pagination li { + font-weight: 300; +} +.ink-navigation ul.pagination li.active a { + text-decoration: underline; +} +.ink-navigation ul.pagination li.disabled a { + color: #b3b3b3; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.pagination li.disabled a:hover { + cursor: default; + background: none; + text-decoration: none; +} +.ink-navigation ul.pagination li:first-child, .ink-navigation ul.pagination li:first-child a { + -webkit-border-radius: 2px 0 0 2px; + -moz-border-radius: 2px 0 0 2px; + -ms-border-radius: 2px 0 0 2px; + -o-border-radius: 2px 0 0 2px; + border-radius: 2px 0 0 2px; +} +.ink-navigation ul.pagination li:last-child, .ink-navigation ul.pagination li:last-child a { + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + -ms-border-radius: 0 2px 2px 0; + -o-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; +} +.ink-navigation ul.pagination.white li { + background: white; +} +.ink-navigation ul.pagination.white li.active a { + background: #e6e6e6; +} +.ink-navigation ul.pagination.white li.disabled a { + color: #cccccc; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.pagination.white li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.white li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.white li a:hover { + background: #e6e6e6; +} +.ink-navigation ul.pagination.white li { + background: white; +} +.ink-navigation ul.pagination.white li.active a { + background: #e6e6e6; +} +.ink-navigation ul.pagination.white li.disabled a { + color: #cccccc; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.pagination.white li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.white li a { + color: #555555; + text-decoration: none; +} +.ink-navigation ul.pagination.white li a:hover { + background: #f2f2f2; +} +.ink-navigation ul.pagination.grey li { + background: #d9d9d9; +} +.ink-navigation ul.pagination.grey li.active a { + background: #bfbfbf; +} +.ink-navigation ul.pagination.grey li.disabled a { + color: #a6a6a6; + text-shadow: #ededed 0 1px 0; +} +.ink-navigation ul.pagination.grey li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.grey li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.grey li a:hover { + background: #bfbfbf; +} +.ink-navigation ul.pagination.grey li { + background: #d9d9d9; +} +.ink-navigation ul.pagination.grey li.active a { + background: #bfbfbf; +} +.ink-navigation ul.pagination.grey li.disabled a { + color: #a6a6a6; + text-shadow: #ededed 0 1px 0; +} +.ink-navigation ul.pagination.grey li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.grey li a { + color: #555555; + text-decoration: none; +} +.ink-navigation ul.pagination.grey li a:hover { + background: #cccccc; +} +.ink-navigation ul.pagination.black li { + background: #1a1a1a; +} +.ink-navigation ul.pagination.black li.active a { + background: black; +} +.ink-navigation ul.pagination.black li.disabled a { + color: black; + text-shadow: #2e2e2e 0 1px 0; +} +.ink-navigation ul.pagination.black li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.black li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.black li a:hover { + background: black; +} +.ink-navigation ul.pagination.black li { + background: #1a1a1a; +} +.ink-navigation ul.pagination.black li.active a { + background: #333333; +} +.ink-navigation ul.pagination.black li.disabled a { + color: #666666; + text-shadow: black 0 -1px 0; +} +.ink-navigation ul.pagination.black li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.black li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.black li a:hover { + background: #292929; +} +.ink-navigation ul.pagination.orange li { + background: #f2990d; +} +.ink-navigation ul.pagination.orange li.active a { + background: #cc7d00; +} +.ink-navigation ul.pagination.orange li.disabled a { + color: #995e00; + text-shadow: #ffac29 0 1px 0; +} +.ink-navigation ul.pagination.orange li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.orange li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.orange li a:hover { + background: #cc7d00; +} +.ink-navigation ul.pagination.orange li { + background: #f2990d; +} +.ink-navigation ul.pagination.orange li.active a { + background: #cc7d00; +} +.ink-navigation ul.pagination.orange li.disabled a { + color: #995e00; + text-shadow: #ffac29 0 1px 0; +} +.ink-navigation ul.pagination.orange li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.orange li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.orange li a:hover { + background: #e68c00; +} +.ink-navigation ul.pagination.blue li { + background: #1b75ce; +} +.ink-navigation ul.pagination.blue li.active a { + background: #0c5baa; +} +.ink-navigation ul.pagination.blue li.disabled a { + color: #08427b; + text-shadow: #2289f0 0 1px 0; +} +.ink-navigation ul.pagination.blue li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.blue li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.blue li a:hover { + background: #0c5baa; +} +.ink-navigation ul.pagination.blue li { + background: #1b75ce; +} +.ink-navigation ul.pagination.blue li.active a { + background: #0c5baa; +} +.ink-navigation ul.pagination.blue li.disabled a { + color: #08427b; + text-shadow: #2289f0 0 1px 0; +} +.ink-navigation ul.pagination.blue li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.blue li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.blue li a:hover { + background: #0d68c2; +} +.ink-navigation ul.pagination.green li { + background: #4c9220; +} +.ink-navigation ul.pagination.green li.active a { + background: #356f10; +} +.ink-navigation ul.pagination.green li.disabled a { + color: #20420a; + text-shadow: #5bbf1c 0 1px 0; +} +.ink-navigation ul.pagination.green li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.green li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.green li a:hover { + background: #356f10; +} +.ink-navigation ul.pagination.green li { + background: #4c9220; +} +.ink-navigation ul.pagination.green li.active a { + background: #356f10; +} +.ink-navigation ul.pagination.green li.disabled a { + color: #20420a; + text-shadow: #5bbf1c 0 1px 0; +} +.ink-navigation ul.pagination.green li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.green li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.green li a:hover { + background: #3f8514; +} +.ink-navigation ul.pagination.red li { + background: #be1c1c; +} +.ink-navigation ul.pagination.red li.active a { + background: #9a0d0d; +} +.ink-navigation ul.pagination.red li.disabled a { + color: #6b0909; + text-shadow: #eb1717 0 1px 0; +} +.ink-navigation ul.pagination.red li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.red li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.red li a:hover { + background: #9a0d0d; +} +.ink-navigation ul.pagination.red li { + background: #be1c1c; +} +.ink-navigation ul.pagination.red li.active a { + background: #9a0d0d; +} +.ink-navigation ul.pagination.red li.disabled a { + color: #6b0909; + text-shadow: #eb1717 0 1px 0; +} +.ink-navigation ul.pagination.red li.disabled a:hover { + background: none; +} +.ink-navigation ul.pagination.red li a { + color: white; + text-decoration: none; +} +.ink-navigation ul.pagination.red li a:hover { + background: #b10f0f; +} +.ink-navigation ul.pagination.dotted li { + background: none; +} +.ink-navigation ul.pagination.dotted li a { + background: #999999; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); + opacity: 0.5; +} +.ink-navigation ul.pagination.dotted li:hover a, .ink-navigation ul.pagination.dotted li.active a { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} +.ink-navigation ul.pagination.dotted.black li a { + background: #1a1a1a; +} +.ink-navigation ul.pagination.dotted.white li a { + background: white; +} +.ink-navigation ul.pagination.dotted.blue li a { + background: #1b75ce; +} +.ink-navigation ul.pagination.dotted.green li a { + background: #4c9220; +} +.ink-navigation ul.pagination.dotted.orange li a { + background: #f2990d; +} +.ink-navigation ul.pagination.dotted.red li a { + background: #be1c1c; +} +.ink-navigation ul.pagination.chevron li.next a, .ink-navigation ul.pagination.chevron li.previous a { + color: white; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); + opacity: 0.6; +} +.ink-navigation ul.pagination.chevron li.next a:hover, .ink-navigation ul.pagination.chevron li.next a:focus, .ink-navigation ul.pagination.chevron li.next a.active, .ink-navigation ul.pagination.chevron li.previous a:hover, .ink-navigation ul.pagination.chevron li.previous a:focus, .ink-navigation ul.pagination.chevron li.previous a.active { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); + opacity: 0.8; + text-decoration: none; + background: none; +} +.ink-navigation ul.pagination.chevron li.disabled a { + color: white; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); + opacity: 0.6; + text-shadow: none; +} +.ink-navigation ul.pagination.chevron li.disabled a:hover, .ink-navigation ul.pagination.chevron li.disabled a:focus { + color: white; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); + opacity: 0.6; +} +.ink-navigation ul.pagination.chevron.black li.next a, .ink-navigation ul.pagination.chevron.black li.previous a, .ink-navigation ul.pagination.chevron.black li.disabled a { + color: #1a1a1a; +} +.ink-navigation ul.pagination.chevron.grey li.next a, .ink-navigation ul.pagination.chevron.grey li.previous a, .ink-navigation ul.pagination.chevron.grey li.disabled a { + color: #d9d9d9; +} +.ink-navigation ul.pagination.chevron.blue li.next a, .ink-navigation ul.pagination.chevron.blue li.previous a, .ink-navigation ul.pagination.chevron.blue li.disabled a { + color: #1b75ce; +} +.ink-navigation ul.pagination.chevron.green li.next a, .ink-navigation ul.pagination.chevron.green li.previous a, .ink-navigation ul.pagination.chevron.green li.disabled a { + color: #4c9220; +} +.ink-navigation ul.pagination.chevron.orange li.next a, .ink-navigation ul.pagination.chevron.orange li.previous a, .ink-navigation ul.pagination.chevron.orange li.disabled a { + color: #f2990d; +} +.ink-navigation ul.pagination.chevron.red li.next a, .ink-navigation ul.pagination.chevron.red li.previous a, .ink-navigation ul.pagination.chevron.red li.disabled a { + color: #be1c1c; +} + +.ink-navigation ul.pills li { + background: white; + font-weight: 300; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-navigation ul.pills li a { + color: #555555; + background: none; +} +.ink-navigation ul.pills li a:hover { + background: #e6e6e6; +} +.ink-navigation ul.pills li.active a { + background: #e6e6e6; +} +.ink-navigation ul.pills li.disabled a { + color: #999999; + text-shadow: white 0 1px 0; +} +.ink-navigation ul.pills li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.grey li { + background: #d9d9d9; +} +.ink-navigation ul.pills.grey li.active a { + background: #bfbfbf; +} +.ink-navigation ul.pills.grey li.disabled a { + color: #a6a6a6; + text-shadow: #ededed 0 1px 0; +} +.ink-navigation ul.pills.grey li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.grey li a { + color: #555555; +} +.ink-navigation ul.pills.grey li a:hover { + background: #cccccc; +} +.ink-navigation ul.pills.black li { + background: #1a1a1a; +} +.ink-navigation ul.pills.black li.active a { + background: #333333; +} +.ink-navigation ul.pills.black li.disabled a { + color: #666666; + text-shadow: black 0 -1px 0; +} +.ink-navigation ul.pills.black li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.black li a { + color: white; +} +.ink-navigation ul.pills.black li a:hover { + background: #292929; +} +.ink-navigation ul.pills.blue li { + background: #1b75ce; +} +.ink-navigation ul.pills.blue li.active a { + background: #0c5baa; +} +.ink-navigation ul.pills.blue li.disabled a { + color: #08427b; + text-shadow: #2289f0 0 1px 0; +} +.ink-navigation ul.pills.blue li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.blue li a { + color: white; +} +.ink-navigation ul.pills.blue li a:hover { + background: #0d68c2; +} +.ink-navigation ul.pills.green li { + background: #4c9220; +} +.ink-navigation ul.pills.green li.active a { + background: #356f10; +} +.ink-navigation ul.pills.green li.disabled a { + color: #20420a; + text-shadow: #5bbf1c 0 1px 0; +} +.ink-navigation ul.pills.green li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.green li a { + color: white; +} +.ink-navigation ul.pills.green li a:hover { + background: #3f8514; +} +.ink-navigation ul.pills.orange li { + background: #f2990d; +} +.ink-navigation ul.pills.orange li.active a { + background: #cc7d00; +} +.ink-navigation ul.pills.orange li.disabled a { + color: #995e00; + text-shadow: #ffac29 0 1px 0; +} +.ink-navigation ul.pills.orange li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.orange li a { + color: white; +} +.ink-navigation ul.pills.orange li a:hover { + background: #e68c00; +} +.ink-navigation ul.pills.red li { + background: #be1c1c; +} +.ink-navigation ul.pills.red li.active a { + background: #9a0d0d; +} +.ink-navigation ul.pills.red li.disabled a { + color: #6b0909; + text-shadow: #eb1717 0 1px 0; +} +.ink-navigation ul.pills.red li.disabled a:hover { + background: none; +} +.ink-navigation ul.pills.red li a { + color: white; +} +.ink-navigation ul.pills.red li a:hover { + background: #b10f0f; +} + +table.ink-table { + background: white; +} +table.ink-table tr th, table.ink-table tr td { + border-bottom: #bbbbbb 1px solid; + background: none; +} +table.ink-table tr:last-child td { + border-bottom: none; +} +table.ink-table tfoot tr th, table.ink-table tfoot tr td { + border-top: #bbbbbb 1px solid; +} +table.ink-table.alternating tbody tr:nth-child(odd) { + background-color: whitesmoke; +} +table.ink-table.hover tbody tr:hover { + background: #fefbd6; + color: #555555; +} +table.ink-table.bordered { + border: #bbbbbb 1px solid; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +table.ink-table.bordered tr th { + border-left: #bbbbbb 1px solid; +} +table.ink-table.bordered tr th:first-child { + border-left: none; +} +table.ink-table.bordered tr:last-child td { + border-bottom: none; +} +table.ink-table.bordered tr td { + border-left: #bbbbbb 1px solid; +} +table.ink-table.bordered tr td:first-child { + border-left: none; +} +table.ink-table tbody > tr.red td { + background: #c91111; + color: white; +} +table.ink-table tbody > tr.green td { + background: #4a9b17; + color: white; +} +table.ink-table tbody > tr.blue td { + background: #0f75da; + color: white; +} +table.ink-table tbody > tr.orange td { + background: #ff9c00; + color: white; +} +table.ink-table tbody > tr.black td { + background: black; + color: #cccccc; +} +table.ink-table tbody > tr.yellow td { + background: #ffd500; + color: black; +} + +.animated.slow { + animation-duration: 1s; +} +.animated.medium { + animation-duration: 0.5s; +} +.animated.fast { + animation-duration: 0.2s; +} + +.ink-carousel { + width: 100%; + position: relative; + overflow: hidden; + display: block; +} +.ink-carousel .stage { + left: 0; + height: auto !important; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; + list-style-type: none; + white-space: nowrap; + position: relative; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; +} +.ink-carousel .stage .slide { + position: relative; + display: inline-block; + vertical-align: top; + white-space: normal; + margin: 0; + float: none; + zoom: 1; + *display: inline; +} +.ink-carousel .ink-navigation { + position: static; +} + +.ink-datepicker-wrapper { + position: relative; +} + +.ink-datepicker-calendar { + margin-top: 0; + position: absolute; +} +.ink-datepicker-calendar.right { + left: 100%; + top: 0; +} +.ink-datepicker-calendar.left { + right: 100%; + top: 0; +} +.ink-datepicker-calendar.bottom { + top: 100%; + left: 0; +} +.ink-datepicker-calendar.top { + bottom: 100%; + left: 0; +} + +.ink-datepicker-wrapper, .ink-datepicker-calendar { + display: inline; + display: inline-block; +} + +.ink-calendar { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + text-align: center; + padding: 0.3em; + min-width: 17.4em; + font-size: 13px; + -webkit-box-shadow: rgba(0, 0, 0, 0.4) 0 1px 2px 0; + -moz-box-shadow: rgba(0, 0, 0, 0.4) 0 1px 2px 0; + box-shadow: rgba(0, 0, 0, 0.4) 0 1px 2px 0; + background: white; + z-index: 10; +} +.ink-calendar a { + text-decoration: none; +} +.ink-calendar li { + list-style: none inside; +} + +html.ink-modal-is-open .ink-calendar { + z-index: 101; +} + +.ink-calendar-top-options { + padding: 5px; + font-size: .813em; + cursor: pointer; +} +.ink-calendar-top-options .clean { + float: left; +} +.ink-calendar-top-options .close { + float: right; +} + +.ink-calendar-top { + line-height: 2em; + background: #e6e6e6; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-calendar-top div { + float: left; +} +.ink-calendar-top .ink-calendar-prev, +.ink-calendar-top .ink-calendar-next { + width: 10%; +} +.ink-calendar-top .ink-calendar-prev a, +.ink-calendar-top .ink-calendar-next a { + display: block; +} +.ink-calendar-top .ink-calendar-month_desc { + width: 80%; +} + +.ink-calendar-month, +.ink-calendar-year-selector, +.ink-calendar-month-selector { + margin-top: .5em; + padding-left: 0; +} +.ink-calendar-month li a, +.ink-calendar-year-selector li a, +.ink-calendar-month-selector li a { + margin: 0px; + line-height: 2em; + vertical-align: middle; + display: block; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + color: #444444; +} +.ink-calendar-month li a:hover, +.ink-calendar-year-selector li a:hover, +.ink-calendar-month-selector li a:hover { + background: #e6e6e6; +} +.ink-calendar-month li a.ink-calendar-on, .ink-calendar-month li a.ink-calendar-on:hover, +.ink-calendar-year-selector li a.ink-calendar-on, +.ink-calendar-year-selector li a.ink-calendar-on:hover, +.ink-calendar-month-selector li a.ink-calendar-on, +.ink-calendar-month-selector li a.ink-calendar-on:hover { + background: #0069d6; + color: white; +} +.ink-calendar-month li a.ink-calendar-off, .ink-calendar-month li a.ink-calendar-off:hover, +.ink-calendar-year-selector li a.ink-calendar-off, +.ink-calendar-year-selector li a.ink-calendar-off:hover, +.ink-calendar-month-selector li a.ink-calendar-off, +.ink-calendar-month-selector li a.ink-calendar-off:hover { + background: white; + color: #aaaaaa; + cursor: default; +} +.ink-calendar-month ul, +.ink-calendar-year-selector ul, +.ink-calendar-month-selector ul { + clear: both; + padding-left: 0; +} +.ink-calendar-month ul li, +.ink-calendar-year-selector ul li, +.ink-calendar-month-selector ul li { + width: 2.4em; + float: left; + text-align: center; + padding: 0; + margin: 0; +} + +.ink-calendar-year-selector ul li { + width: 25%; +} + +.ink-calendar-month-selector ul li { + width: 25%; +} + +.ink-calendar-year-selector, +.ink-calendar-month-selector { + display: none; +} + +.ink-calendar-off, .action_inactive { + color: #ddd !important; +} + +.ink-calendar-month .ink-calendar-header { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + padding-bottom: .5em; + margin-bottom: .5em; + color: #aaa; +} + +.ink-calendar-top, +.ink-calendar-middle, +.ink-calendar-top-options, +.ink-calendar-month .ink-calendar-header, +.ink-calendar-month .ink-calendar-middle ul { + *zoom: 1; +} +.ink-calendar-top:after, +.ink-calendar-middle:after, +.ink-calendar-top-options:after, +.ink-calendar-month .ink-calendar-header:after, +.ink-calendar-month .ink-calendar-middle ul:after { + content: ""; + display: table; + clear: both; +} + +body.ink-drawer { + max-width: 100%; +} +body.ink-drawer .left-drawer, +body.ink-drawer .right-drawer, +body.ink-drawer .content-drawer { + -webkit-transition-property: translate3d; + -moz-transition-property: translate3d; + -o-transition-property: translate3d; + transition-property: translate3d; + -webkit-transition-duration: 300ms; + -moz-transition-duration: 300ms; + -o-transition-duration: 300ms; + transition-duration: 300ms; + -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + -moz-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + -o-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); + transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1); +} +body.ink-drawer .left-drawer { + left: -220px; +} +body.ink-drawer .right-drawer { + right: -220px; +} +body.ink-drawer .content-drawer { + width: 100%; +} +body.ink-drawer .left-drawer, +body.ink-drawer .right-drawer { + position: absolute; + top: 0; + z-index: 0; + display: none; + overflow-x: hidden; + overflow-y: auto; + width: 220px; + height: 100%; + -webkit-overflow-scrolling: touch; +} +body.ink-drawer .left-drawer.show, +body.ink-drawer .right-drawer.show { + display: block; +} +body.ink-drawer.push { + overflow: hidden; + width: 100%; + height: 100%; + position: fixed; +} +body.ink-drawer.push .content-drawer { + overflow: hidden; +} +body.ink-drawer.push.left .left-drawer, body.ink-drawer.push.left .content-drawer { + -webkit-transform: translate3d(220px, 0, 0); + -moz-transform: translate3d(220px, 0, 0); + -ms-transform: translate3d(220px, 0, 0); + -o-transform: translate3d(220px, 0, 0); + transform: translate3d(220px, 0, 0); +} +body.ink-drawer.push.right .right-drawer, body.ink-drawer.push.right .content-drawer { + -webkit-transform: translate3d(-220px, 0, 0); + -moz-transform: translate3d(-220px, 0, 0); + -ms-transform: translate3d(-220px, 0, 0); + -o-transform: translate3d(-220px, 0, 0); + transform: translate3d(-220px, 0, 0); +} +body.ink-drawer.over { + overflow: hidden; + -webkit-user-drag: none; +} +body.ink-drawer.over.left .left-drawer { + -webkit-transform: translate3d(220px, 0, 0); + -moz-transform: translate3d(220px, 0, 0); + -ms-transform: translate3d(220px, 0, 0); + -o-transform: translate3d(220px, 0, 0); + transform: translate3d(220px, 0, 0); +} +body.ink-drawer.over.right .right-drawer { + -webkit-transform: translate3d(-220px, 0, 0); + -moz-transform: translate3d(-220px, 0, 0); + -ms-transform: translate3d(-220px, 0, 0); + -o-transform: translate3d(-220px, 0, 0); + transform: translate3d(-220px, 0, 0); +} + +.ink-shade { + background: rgba(0, 0, 0, 0.8); + width: 100%; + height: 100%; + top: 0; + right: 0; + bottom: 0; + left: 0; + margin-top: 0; + position: fixed; + z-index: 100; + display: none; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); + opacity: 0; +} +.ink-shade.fade { + -webkit-transition: opacity 300ms; + -moz-transition: opacity 300ms; + -o-transition: opacity 300ms; + transition: opacity 300ms; +} +.ink-shade.visible { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} + +.ink-modal { + top: 50%; + left: 50%; + width: 90%; + height: 90%; + background: white; + z-index: 100; + position: absolute; + overflow: hidden; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; + -webkit-box-shadow: rgba(0, 0, 0, 0.8) 0 0 15px 0; + -moz-box-shadow: rgba(0, 0, 0, 0.8) 0 0 15px 0; + box-shadow: rgba(0, 0, 0, 0.8) 0 0 15px 0; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + *zoom: 1; +} +.ink-modal:after { + content: ""; + display: table; + clear: both; +} +.ink-modal > .modal-body { + padding: 1em; + overflow-y: auto; + overflow-x: hidden; + height: auto; +} +.ink-modal > .modal-body .ink-grid { + padding-left: 0; + padding-right: 0; + width: 100%; + min-width: 100%; +} +.ink-modal > .modal-header, .ink-modal > header { + border-bottom: 1px #e6e6e6 solid; + overflow: hidden; + -webkit-box-shadow: rgba(175, 175, 175, 0.2) 0 1px 2px 0; + -moz-box-shadow: rgba(175, 175, 175, 0.2) 0 1px 2px 0; + box-shadow: rgba(175, 175, 175, 0.2) 0 1px 2px 0; +} +.ink-modal > .modal-header > .modal-close, .ink-modal > header > .modal-close { + padding-top: 2px; + text-align: center; + color: white; + width: 26px; + height: 26px; + line-height: 1.2em; + border: 0; + background: #bfbfbf; + font-size: 0; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + -ms-border-radius: 50%; + -o-border-radius: 50%; + border-radius: 50%; + text-shadow: rgba(0, 0, 0, 0.6) 0 -1px 0; + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); + opacity: 0.6; + float: right; +} +.ink-modal > .modal-header > .modal-close:after, .ink-modal > header > .modal-close:after { + content: "\f00d"; + font-family: FontAwesome; + font-size: medium; + line-height: 22px; +} +.ink-modal > .modal-header > .modal-close:hover, .ink-modal > header > .modal-close:hover { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); + opacity: 1; +} +.ink-modal > .modal-footer, .ink-modal > footer { + background: #e6e6e6; + margin-bottom: 0; + zoom: 1; + -webkit-box-shadow: rgba(175, 175, 175, 0.2) 0 -1px 2px 0; + -moz-box-shadow: rgba(175, 175, 175, 0.2) 0 -1px 2px 0; + box-shadow: rgba(175, 175, 175, 0.2) 0 -1px 2px 0; +} +.ink-modal > .modal-header, .ink-modal > header, .ink-modal > .modal-footer, .ink-modal > footer { + padding: .8em 1em .65em 1em; +} +.ink-modal > .modal-header:before, .ink-modal > .modal-header:after, .ink-modal > header:before, .ink-modal > header:after, .ink-modal > .modal-footer:before, .ink-modal > .modal-footer:after, .ink-modal > footer:before, .ink-modal > footer:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.ink-modal-open { + overflow: hidden; +} + +/* Progess bars */ +.ink-progress-bar { + margin-bottom: 1em; + overflow: hidden; + background: #f2f2f2; + position: relative; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + -webkit-box-shadow: 0, 1px, 3px, 0, rgba(0, 0, 0, 0.2), inset; + -moz-box-shadow: 0, 1px, 3px, 0, rgba(0, 0, 0, 0.2), inset; + box-shadow: 0, 1px, 3px, 0, rgba(0, 0, 0, 0.2), inset; +} +.ink-progress-bar .caption { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + line-height: 1.7; + text-align: center; + color: black; + font-size: 0.813em; + z-index: 10; +} +.ink-progress-bar .bar { + height: 1.3em; + text-shadow: rgba(0, 0, 0, 0.25), 0, 1px, 0; + -webkit-box-shadow: 0, 1px, 1px, 0, rgba(0, 0, 0, 0.1), inset; + -moz-box-shadow: 0, 1px, 1px, 0, rgba(0, 0, 0, 0.1), inset; + box-shadow: 0, 1px, 1px, 0, rgba(0, 0, 0, 0.1), inset; + -webkit-transition-property: width; + -moz-transition-property: width; + -o-transition-property: width; + transition-property: width; + -webkit-transition-duration: 0.6s; + -moz-transition-duration: 0.6s; + -o-transition-duration: 0.6s; + transition-duration: 0.6s; + -webkit-transition-timing-function: ease; + -moz-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; +} +.ink-progress-bar .bar.grey { + background: #cccccc; + color: #555555; +} +.ink-progress-bar .bar.green { + background: #4a9b17; + color: white; +} +.ink-progress-bar .bar.blue { + background: #0f75da; + color: white; +} +.ink-progress-bar .bar.red { + background: #c91111; + color: white; +} +.ink-progress-bar .bar.orange { + background: #ff9c00; + color: #555555; +} +.ink-progress-bar .bar.black { + background: black; + color: white; +} + +.dragging, .ink-sortable-list li { + cursor: move; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -o-user-select: none; + -ms-user-select: none; + user-select: none; + -ms-user-drag: none; + -moz-user-drag: none; + -khtml-user-drag: none; + -webkit-user-drag: none; + -o-user-drag: none; + user-drag: none; +} + +.drag, .ink-sortable-list li.placeholder { + -webkit-box-shadow: 0, 0px, 10px, 0, rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0, 0px, 10px, 0, rgba(0, 0, 0, 0.3); + box-shadow: 0, 0px, 10px, 0, rgba(0, 0, 0, 0.3); +} + +.ink-sortable-list li { + margin: 0; + border-bottom: 1px solid #ccc; + line-height: 40px; +} +.ink-sortable-list li:hover, .ink-sortable-list li.placeholder { + background: #cccccc; + background: rgba(204, 204, 204, 0.2); +} +.ink-sortable-list li .ink-label { + margin: 0 .8em; +} + +.ink-sticky-stuck { + position: fixed; +} + +/* Tabs */ +.ink-tabs .tabs-nav { + list-style: none; + padding: 0em; + *zoom: 1; +} +.ink-tabs .tabs-nav li { + line-height: 1.7; + position: relative; + margin: 0; +} +.ink-tabs .tabs-nav li a { + padding: 0.5em 1em; + display: block; +} +.ink-tabs .tabs-nav li a:hover { + background: #f0f0f0; +} +.ink-tabs .tabs-nav li.active a { + color: #555555; + cursor: default; + text-decoration: none; + background: white; + border: 1px solid #cccccc; +} +.ink-tabs .tabs-nav:after { + content: ""; + display: table; + clear: both; +} +.ink-tabs .tabs-content { + margin-top: 1.5em; + overflow: auto; +} +.ink-tabs.top > .tabs-nav { + border-bottom: 1px solid #cccccc; +} +.ink-tabs.top > .tabs-nav li { + float: left; +} +.ink-tabs.top > .tabs-nav li a { + margin-right: .4em; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + -ms-border-radius: 4px 4px 0 0; + -o-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +.ink-tabs.top > .tabs-nav li.active { + margin: 0 0 -2px 0; +} +.ink-tabs.top > .tabs-nav li.active a { + border-bottom-color: transparent; +} +.ink-tabs.bottom > .tabs-nav { + border-top: 1px solid #cccccc; +} +.ink-tabs.bottom > .tabs-nav li { + float: left; +} +.ink-tabs.bottom > .tabs-nav li a { + margin-right: .4em; + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + -ms-border-radius: 0 0 4px 4px; + -o-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +.ink-tabs.bottom > .tabs-nav li.active { + margin: -2px 0 0 0; +} +.ink-tabs.bottom > .tabs-nav li.active a { + border-top-color: transparent; +} +.ink-tabs.left > .tabs-nav { + border-right: 1px solid #cccccc; + float: left; + margin-right: 2em; +} +.ink-tabs.left > .tabs-nav li { + float: none; + text-align: right; +} +.ink-tabs.left > .tabs-nav li a { + margin-bottom: .4em; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + -ms-border-radius: 4px 0 0 4px; + -o-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.ink-tabs.left > .tabs-nav li.active { + margin: 0 -2px 0 0; +} +.ink-tabs.left > .tabs-nav li.active a { + border-right-color: transparent; +} +.ink-tabs.right > .tabs-nav { + border-left: 1px solid #cccccc; + float: right; + margin-left: 2em; +} +.ink-tabs.right > .tabs-nav li { + float: none; +} +.ink-tabs.right > .tabs-nav li a { + margin-bottom: .4em; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + -ms-border-radius: 0 4px 4px 0; + -o-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.ink-tabs.right > .tabs-nav li.active { + margin: 0 0 0 -2px; +} +.ink-tabs.right > .tabs-nav li.active a { + border-left-color: transparent; +} + +.ink-tagfield input[type="text"].new-tag-input { + background-color: #fff; + border: 1px solid #ccc; + line-height: 1em; + margin: 0; + padding: 5px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.ink-tagfield input[type="text"].new-tag-input:focus { + -webkit-box-shadow: 0px, 0px, 0px, 3px, #eaeaea; + -moz-box-shadow: 0px, 0px, 0px, 3px, #eaeaea; + box-shadow: 0px, 0px, 0px, 3px, #eaeaea; + border: 1px solid #c3c3c3; +} +.ink-tagfield span.ink-tag { + background-color: #1b1b1b; + color: #eaeaea; + text-shadow: none; + font-size: .9em; + font-weight: normal; + border: 1px solid #000; + padding: 4px 6px; +} +.ink-tagfield span.ink-tag i.icon-remove { + color: #ccc; + font-size: .9em; + font-weight: normal; + margin-left: 4px; +} +.ink-tagfield span.ink-tag i.icon-remove:hover { + cursor: pointer; + color: red; +} + +.ink-tooltip { + display: inline-block; + position: relative; +} +.ink-tooltip > .content { + background: #f0f0f0; + padding: 0.5em 0.6em; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; + font-size: 0.8em; + color: #8c8c8c; +} +.ink-tooltip > .arrow { + position: absolute; +} +.ink-tooltip > .arrow.up, .ink-tooltip > .arrow.down, .ink-tooltip > .arrow.left, .ink-tooltip > .arrow.right { + width: 0; + height: 0; +} +.ink-tooltip > .arrow.up { + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #f0f0f0; + top: -6px; + left: 50%; + margin-left: -3px; +} +.ink-tooltip > .arrow.down { + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-top: 6px solid #f0f0f0; + bottom: -5.45455px; + left: 50%; + margin-left: -3px; +} +.ink-tooltip > .arrow.right { + border-top: 6px solid transparent; + border-bottom: 6px solid transparent; + border-left: 6px solid #f0f0f0; + top: 50%; + right: -5.45455px; + margin-top: -6px; +} +.ink-tooltip > .arrow.left { + border-top: 6px solid transparent; + border-bottom: 6px solid transparent; + border-right: 6px solid #f0f0f0; + top: 50%; + left: -5.45455px; + margin-top: -6px; +} +.ink-tooltip.blue > .content { + background: #0f75da; + color: white; +} +.ink-tooltip.blue > .arrow.up { + border-bottom-color: #0f75da; +} +.ink-tooltip.blue > .arrow.down { + border-top-color: #0f75da; +} +.ink-tooltip.blue > .arrow.left { + border-right-color: #0f75da; +} +.ink-tooltip.blue > .arrow.right { + border-left-color: #0f75da; +} +.ink-tooltip.red > .content { + background: #c91111; + color: white; +} +.ink-tooltip.red > .arrow.up { + border-bottom-color: #c91111; +} +.ink-tooltip.red > .arrow.down { + border-top-color: #c91111; +} +.ink-tooltip.red > .arrow.left { + border-right-color: #c91111; +} +.ink-tooltip.red > .arrow.right { + border-left-color: #c91111; +} +.ink-tooltip.orange > .content { + background: #ff9c00; + color: white; +} +.ink-tooltip.orange > .arrow.up { + border-bottom-color: #ff9c00; +} +.ink-tooltip.orange > .arrow.down { + border-top-color: #ff9c00; +} +.ink-tooltip.orange > .arrow.left { + border-right-color: #ff9c00; +} +.ink-tooltip.orange > .arrow.right { + border-left-color: #ff9c00; +} +.ink-tooltip.green > .content { + background: #4a9b17; + color: white; +} +.ink-tooltip.green > .arrow.up { + border-bottom-color: #4a9b17; +} +.ink-tooltip.green > .arrow.down { + border-top-color: #4a9b17; +} +.ink-tooltip.green > .arrow.left { + border-right-color: #4a9b17; +} +.ink-tooltip.green > .arrow.right { + border-left-color: #4a9b17; +} +.ink-tooltip.black > .content { + background: black; + color: white; +} +.ink-tooltip.black > .arrow.up { + border-bottom-color: black; +} +.ink-tooltip.black > .arrow.down { + border-top-color: black; +} +.ink-tooltip.black > .arrow.left { + border-right-color: black; +} +.ink-tooltip.black > .arrow.right { + border-left-color: black; +} +.ink-tooltip.grey > .content { + background: #cccccc; + color: #333333; +} +.ink-tooltip.grey > .arrow.up { + border-bottom-color: #cccccc; +} +.ink-tooltip.grey > .arrow.down { + border-top-color: #cccccc; +} +.ink-tooltip.grey > .arrow.left { + border-right-color: #cccccc; +} +.ink-tooltip.grey > .arrow.right { + border-left-color: #cccccc; +} + +.ink-tree-view li { + list-style-type: none; +} +.ink-tree-view [data-open] > :before { + margin-left: -1.3em; + margin-right: .4em; + text-decoration: none; +} diff --git a/public/css/ink.min.css b/public/css/ink.min.css new file mode 100644 index 0000000..2d28618 --- /dev/null +++ b/public/css/ink.min.css @@ -0,0 +1 @@ +@charset "UTF-8";.show-all{display:inherit}.hide-all{display:none!important}.no-margin{margin:0!important}.no-padding{padding:0!important}.push-left{float:left}.push-center{float:none!important;margin-left:auto;margin-right:auto}.push-right{float:right;-webkit-justify-content:flex-end;-moz-justify-content:flex-end;justify-content:flex-end}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.clearfix{overflow:hidden;*zoom:1}.clearfix:after{content:"";display:table;clear:both}html{font-family:sans-serif}html *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:0}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.ink-alert.basic,.ink-alert.block{font-size:.938em;margin:1em 0;position:relative;overflow:hidden}.ink-alert.basic{padding:1em 3em 1em 1em}.ink-alert.basic p{margin:0}.ink-alert.basic .ink-close{top:.55em;*top:.2em}.ink-alert.block{font-size:1em}.ink-alert.block>h4{padding:1em 3em 1em 1em;font-size:.938em;line-height:1.5;margin:0}.ink-alert.block p{margin:1.5em 1em}.ink-alert.block ul{list-style:inside}.ink-alert .ink-dismiss{position:absolute;line-height:.56em;font-size:1.8em;padding:5px;border:0;background:0 0;top:.5em;*top:.2em;right:.4em}.ink-badge{padding:.2em .6em;font-size:.813em;margin-left:.6em}.ink-button{-webkit-appearance:menuitem;padding:8px 12px;cursor:pointer;text-decoration:none;text-align:center;display:inline-block;vertical-align:middle;white-space:nowrap;line-height:normal}.ink-button+.ink-button{margin-left:5px}.button-group{*zoom:1}.button-group>.ink-button{float:left;margin:5px 0;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;border-left:0}.button-group>.ink-button:active,.button-group>.ink-button:hover{border-left:0}.button-group>.ink-button:first-child{-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;-ms-border-radius:2px 0 0 2px;-o-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;border-left:1px solid #bfbfbf}.button-group>.ink-button:last-child{-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;-ms-border-radius:0 2px 2px 0;-o-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.button-group:after{content:"";display:table;clear:both}.button-toolbar{*zoom:1}.button-toolbar>.button-group{margin-right:10px;float:left}.button-toolbar:after{content:"";display:table;clear:both}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-thin-webfont.eot);src:url(../fonts/Roboto/roboto-thin-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-thin-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-thin-webfont.ttf) format('truetype');font-weight:100;font-style:normal}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-thinitalic-webfont.eot);src:url(../fonts/Roboto/roboto-thinitalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-thinitalic-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-thinitalic-webfont.ttf) format('truetype');font-weight:100;font-style:italic}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-light-webfont.eot);src:url(../fonts/Roboto/roboto-light-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-light-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-light-webfont.ttf) format('truetype');font-weight:300;font-style:normal}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-lightitalic-webfont.eot);src:url(../fonts/Roboto/roboto-lightitalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-lightitalic-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-lightitalic-webfont.ttf) format('truetype');font-weight:300;font-style:italic}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-regular-webfont.eot);src:url(../fonts/Roboto/roboto-regular-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-regular-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-regular-webfont.ttf) format('truetype');font-weight:400;font-style:normal}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-italic-webfont.eot);src:url(../fonts/Roboto/roboto-italic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-italic-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-italic-webfont.ttf) format('truetype');font-weight:400;font-style:italic}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-medium-webfont.eot);src:url(../fonts/Roboto/roboto-medium-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-medium-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-medium-webfont.ttf) format('truetype');font-weight:500;font-style:normal}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-mediumitalic-webfont.eot);src:url(../fonts/Roboto/roboto-mediumitalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-mediumitalic-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-mediumitalic-webfont.ttf) format('truetype');font-weight:500;font-style:italic}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-bold-webfont.eot);src:url(../fonts/Roboto/roboto-bold-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-bold-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-bold-webfont.ttf) format('truetype');font-weight:700;font-style:normal}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-bolditalic-webfont.eot);src:url(../fonts/Roboto/roboto-bolditalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-bolditalic-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-bolditalic-webfont.ttf) format('truetype');font-weight:700;font-style:italic}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-black-webfont.eot);src:url(../fonts/Roboto/roboto-black-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-black-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-black-webfont.ttf) format('truetype');font-weight:900;font-style:normal}@font-face{font-family:Roboto;src:url(../fonts/Roboto/roboto-blackitalic-webfont.eot);src:url(../fonts/Roboto/roboto-blackitalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto/roboto-blackitalic-webfont.woff) format('woff'),url(../fonts/Roboto/roboto-blackitalic-webfont.ttf) format('truetype');font-weight:900;font-style:italic}@font-face{font-family:Roboto_condensed;src:url(../fonts/Roboto_condensed/robotocondensed-light-webfont.eot);src:url(../fonts/Roboto_condensed/robotocondensed-light-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_condensed/robotocondensed-light-webfont.woff) format('woff'),url(../fonts/Roboto_condensed/robotocondensed-light-webfont.ttf) format('truetype');font-weight:300;font-style:normal}@font-face{font-family:Roboto_condensed;src:url(../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.eot);src:url(../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.woff) format('woff'),url(../fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.ttf) format('truetype');font-weight:300;font-style:italic}@font-face{font-family:Roboto_condensed;src:url(../fonts/Roboto_condensed/robotocondensed-regular-webfont.eot);src:url(../fonts/Roboto_condensed/robotocondensed-regular-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_condensed/robotocondensed-regular-webfont.woff) format('woff'),url(../fonts/Roboto_condensed/robotocondensed-regular-webfont.ttf) format('truetype');font-weight:400;font-style:normal}@font-face{font-family:Roboto_condensed;src:url(../fonts/Roboto_condensed/robotocondensed-italic-webfont.eot);src:url(../fonts/Roboto_condensed/robotocondensed-italic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_condensed/robotocondensed-italic-webfont.woff) format('woff'),url(../fonts/Roboto_condensed/robotocondensed-italic-webfont.ttf) format('truetype');font-weight:400;font-style:italic}@font-face{font-family:Roboto_condensed;src:url(../fonts/Roboto_condensed/robotocondensed-bold-webfont.eot);src:url(../fonts/Roboto_condensed/robotocondensed-bold-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_condensed/robotocondensed-bold-webfont.woff) format('woff'),url(../fonts/Roboto_condensed/robotocondensed-bold-webfont.ttf) format('truetype');font-weight:700;font-style:normal}@font-face{font-family:Roboto_condensed;src:url(../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.eot);src:url(../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.woff) format('woff'),url(../fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.ttf) format('truetype');font-weight:700;font-style:italic}@font-face{font-family:Roboto_slab;src:url(../fonts/Roboto_slab/robotoslab-thin-webfont.eot);src:url(../fonts/Roboto_slab/robotoslab-thin-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_slab/robotoslab-thin-webfont.woff) format('woff'),url(../fonts/Roboto_slab/robotoslab-thin-webfont.ttf) format('truetype');font-weight:100;font-style:normal}@font-face{font-family:Roboto_slab;src:url(../fonts/Roboto_slab/robotoslab-light-webfont.eot);src:url(../fonts/Roboto_slab/robotoslab-light-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_slab/robotoslab-light-webfont.woff) format('woff'),url(../fonts/Roboto_slab/robotoslab-light-webfont.ttf) format('truetype');font-weight:300;font-style:normal}@font-face{font-family:Roboto_slab;src:url(../fonts/Roboto_slab/robotoslab-regular-webfont.eot);src:url(../fonts/Roboto_slab/robotoslab-regular-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_slab/robotoslab-regular-webfont.woff) format('woff'),url(../fonts/Roboto_slab/robotoslab-regular-webfont.ttf) format('truetype');font-weight:400;font-style:normal}@font-face{font-family:Roboto_slab;src:url(../fonts/Roboto_slab/robotoslab-bold-webfont.eot);src:url(../fonts/Roboto_slab/robotoslab-bold-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Roboto_slab/robotoslab-bold-webfont.woff) format('woff'),url(../fonts/Roboto_slab/robotoslab-bold-webfont.ttf) format('truetype');font-weight:700;font-style:normal}.ink-form fieldset{border:0;padding:0;margin:0}.ink-form fieldset legend{font-size:1.438em;font-weight:700;width:100%;border-bottom:1px solid #ddd}.ink-form fieldset legend+*{-webkit-margin-top-collapse:separate;margin:2em 0}.ink-form p.tip{font-size:.875em;color:#909090;position:relative;margin:.2em 0 0 .1em}.ink-form p.label{padding:0;margin:0;color:#555;white-space:normal}.ink-form input[type=color],.ink-form input[type=date],.ink-form input[type=datetime-local],.ink-form input[type=datetime],.ink-form input[type=email],.ink-form input[type=month],.ink-form input[type=number],.ink-form input[type=password],.ink-form input[type=search],.ink-form input[type=tel],.ink-form input[type=text],.ink-form input[type=time],.ink-form input[type=url],.ink-form input[type=week],.ink-form select,.ink-form textarea{font-family:Roboto,Arial,Helvetica,sans-serif;font-weight:300;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;padding:8px 6px;border:1px solid #c6c6c6;resize:none;background:#fff;vertical-align:middle}.ink-form input[type=color]:focus,.ink-form input[type=date]:focus,.ink-form input[type=datetime-local]:focus,.ink-form input[type=datetime]:focus,.ink-form input[type=email]:focus,.ink-form input[type=month]:focus,.ink-form input[type=number]:focus,.ink-form input[type=password]:focus,.ink-form input[type=search]:focus,.ink-form input[type=tel]:focus,.ink-form input[type=text]:focus,.ink-form input[type=time]:focus,.ink-form input[type=url]:focus,.ink-form input[type=week]:focus,.ink-form select:focus,.ink-form textarea:focus{border-color:rgba(153,153,153,.9);-webkit-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;-moz-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;outline:0 none}.ink-form input[type=color]:disabled,.ink-form input[type=date]:disabled,.ink-form input[type=datetime-local]:disabled,.ink-form input[type=datetime]:disabled,.ink-form input[type=email]:disabled,.ink-form input[type=month]:disabled,.ink-form input[type=number]:disabled,.ink-form input[type=password]:disabled,.ink-form input[type=search]:disabled,.ink-form input[type=tel]:disabled,.ink-form input[type=text]:disabled,.ink-form input[type=time]:disabled,.ink-form input[type=url]:disabled,.ink-form input[type=week]:disabled,.ink-form select:disabled,.ink-form textarea:disabled{background:#f2f2f2;cursor:not-allowed}.ink-form .input-file{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;padding:6px;border:1px solid #c6c6c6;background:#fff;vertical-align:middle;line-height:1.2}.ink-form .input-file input[type=file]{-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;border:0;padding:0;background:0 0;width:100%}.ink-form .ink-button{margin:0 5px}.ink-form label{cursor:pointer}.ink-form select{line-height:2;cursor:pointer}.ink-form textarea{min-height:5em}.ink-form .control-group{line-height:2;margin-bottom:1em;*zoom:1}.ink-form .control-group:after{content:"";display:table;clear:both}.ink-form .control-group .control{position:relative;*zoom:1}.ink-form .control-group .control:after{content:"";display:table;clear:both}.ink-form .control-group .control>li{margin:0;*zoom:1}.ink-form .control-group .control>li:after{content:"";display:table;clear:both}.ink-form .control-group .control>input,.ink-form .control-group .control>select,.ink-form .control-group .control>textarea{width:100%}.ink-form .control-group .control>input+[class*=" icon-"],.ink-form .control-group .control>input+[class^=icon-],.ink-form .control-group .control>select+[class*=" icon-"],.ink-form .control-group .control>select+[class^=icon-],.ink-form .control-group .control>textarea+[class*=" icon-"],.ink-form .control-group .control>textarea+[class^=icon-]{display:none}.ink-form .control-group .control.append-button span,.ink-form .control-group .control.append-symbol span,.ink-form .control-group .control.prepend-button span,.ink-form .control-group .control.prepend-symbol span{width:100%;position:relative}.ink-form .control-group .control.append-button span>input,.ink-form .control-group .control.append-button span>select,.ink-form .control-group .control.append-button span>textarea,.ink-form .control-group .control.append-symbol span>input,.ink-form .control-group .control.append-symbol span>select,.ink-form .control-group .control.append-symbol span>textarea,.ink-form .control-group .control.prepend-button span>input,.ink-form .control-group .control.prepend-button span>select,.ink-form .control-group .control.prepend-button span>textarea,.ink-form .control-group .control.prepend-symbol span>input,.ink-form .control-group .control.prepend-symbol span>select,.ink-form .control-group .control.prepend-symbol span>textarea{width:100%}.ink-form .control-group .control.append-button>input[type=button],.ink-form .control-group .control.append-button>input[type=reset],.ink-form .control-group .control.append-button>input[type=submit],.ink-form .control-group .control.append-symbol>input[type=button],.ink-form .control-group .control.append-symbol>input[type=reset],.ink-form .control-group .control.append-symbol>input[type=submit],.ink-form .control-group .control.prepend-button>input[type=button],.ink-form .control-group .control.prepend-button>input[type=reset],.ink-form .control-group .control.prepend-button>input[type=submit],.ink-form .control-group .control.prepend-symbol>input[type=button],.ink-form .control-group .control.prepend-symbol>input[type=reset],.ink-form .control-group .control.prepend-symbol>input[type=submit]{width:auto}.ink-form .control-group .control.append-button{display:table}.ink-form .control-group .control.append-button span{display:table-cell}.ink-form .control-group .control.append-button span>input,.ink-form .control-group .control.append-button span>select,.ink-form .control-group .control.append-button span>textarea{-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;-ms-border-radius:2px 0 0 2px;-o-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.ink-form .control-group .control.append-button .ink-button{margin:0;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;-ms-border-radius:0 2px 2px 0;-o-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;border-left:0}.ink-form .control-group .control.prepend-button{display:table}.ink-form .control-group .control.prepend-button span{display:table-cell}.ink-form .control-group .control.prepend-button span>input,.ink-form .control-group .control.prepend-button span>select,.ink-form .control-group .control.prepend-button span>textarea{-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;-ms-border-radius:0 2px 2px 0;-o-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.ink-form .control-group .control.prepend-button .ink-button{margin:0;-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;-ms-border-radius:2px 0 0 2px;-o-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;border-right:0}.ink-form .control-group .control.append-symbol span{display:block}.ink-form .control-group .control.append-symbol span>input,.ink-form .control-group .control.append-symbol span>select,.ink-form .control-group .control.append-symbol span>textarea{padding-right:2.5em}.ink-form .control-group .control.append-symbol span>[class*=" fa-"],.ink-form .control-group .control.append-symbol span>[class^=fa-]{position:absolute;right:1em;top:.86em;pointer-events:none}.ink-form .control-group .control.prepend-symbol span{display:block}.ink-form .control-group .control.prepend-symbol span>input,.ink-form .control-group .control.prepend-symbol span>select,.ink-form .control-group .control.prepend-symbol span>textarea{padding-left:2.5em}.ink-form .control-group .control.prepend-symbol span>[class*=" fa-"],.ink-form .control-group .control.prepend-symbol span>[class^=fa-]{position:absolute;left:1em;top:.86em;pointer-events:none}.ink-form .control-group input[type=checkbox],.ink-form .control-group input[type=radio]{padding:0;margin:.55em 0;border:0;clear:left;float:left;cursor:pointer}.ink-form .control-group input[type=checkbox]+label,.ink-form .control-group input[type=radio]+label{float:left;margin:.25em 0 .25em .4em}.ink-form .control-group .inline li{padding:0}.ink-form .control-group .inline li label{margin-right:1em}.ink-form .control-group.validation.error input,.ink-form .control-group.validation.error select,.ink-form .control-group.validation.error textarea{outline:0;-webkit-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;-moz-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;border:1px solid rgba(200,10,16,.5)}.ink-form .control-group.validation.error p.tip{color:rgba(150,7,12,.55)}.ink-form .control-group.validation.warning input,.ink-form .control-group.validation.warning select,.ink-form .control-group.validation.warning textarea{outline:0;-webkit-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;-moz-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;border:1px solid rgba(255,156,0,.6)}.ink-form .control-group.validation.warning p.tip{color:rgba(204,125,0,.6)}.ink-form .control-group.required label,.ink-form .control-group.required p.label{color:#555}.ink-form .control-group.required label:after,.ink-form .control-group.required p.label:after{content:"\f069";color:#c91111;margin-left:.6em;font-family:FontAwesome;font-size:.75em;width:1.25em}.ink-form .control-group.required ul.control label:after{content:""}.ink-grid{width:auto;max-width:1440px;margin:0 auto}.all-5{width:5%;float:left;clear:none}.all-10{width:10%;float:left;clear:none}.all-15{width:15%;float:left;clear:none}.all-16{width:16.66%;float:left;clear:none}.all-20{width:20%;float:left;clear:none}.all-25{width:25%;float:left;clear:none}.all-30{width:30%;float:left;clear:none}.all-33{width:33.33%;float:left;clear:none}.all-35{width:35%;float:left;clear:none}.all-40{width:40%;float:left;clear:none}.all-45{width:45%;float:left;clear:none}.all-50{width:50%;float:left;clear:none}.all-55{width:55%;float:left;clear:none}.all-60{width:60%;float:left;clear:none}.all-65{width:65%;float:left;clear:none}.all-66{width:66.66%;float:left;clear:none}.all-70{width:70%;float:left;clear:none}.all-75{width:75%;float:left;clear:none}.all-80{width:80%;float:left;clear:none}.all-85{width:85%;float:left;clear:none}.all-90{width:90%;float:left;clear:none}.all-95{width:95%;float:left;clear:none}.all-100{width:100%;float:left;clear:none}[class~=all-100]{float:none;clear:both}@media screen and (min-width:1261px){.ink-grid{padding:0 2em}.column-group>[class*=xlarge-]{float:left;clear:none}.xlarge-5{width:5%}.xlarge-10{width:10%}.xlarge-15{width:15%}.xlarge-16{width:16.66%}.xlarge-20{width:20%}.xlarge-25{width:25%}.xlarge-30{width:30%}.xlarge-33{width:33.33%}.xlarge-35{width:35%}.xlarge-40{width:40%}.xlarge-45{width:45%}.xlarge-50{width:50%}.xlarge-55{width:55%}.xlarge-60{width:60%}.xlarge-65{width:65%}.xlarge-66{width:66.66%}.xlarge-70{width:70%}.xlarge-75{width:75%}.xlarge-80{width:80%}.xlarge-85{width:85%}.xlarge-90{width:90%}.xlarge-95{width:95%}.xlarge-100{width:100%}[class*=xlarge-100]{float:none;clear:both}.column-group{*zoom:1}.column-group:after{content:"";display:table;clear:both}.column-group.gutters{margin-left:-2em}.column-group.gutters>[class*=all-],.column-group.gutters>[class*=xlarge-]{padding-left:2em;margin-bottom:2em}.column-group.horizontal-gutters{margin-left:-2em}.column-group.horizontal-gutters>[class*=all-],.column-group.horizontal-gutters>[class*=xlarge-]{padding-left:2em}.column-group.vertical-gutters>[class*=all-],.column-group.vertical-gutters>[class*=xlarge-]{margin-bottom:2em}.column-group.double-gutters{margin-left:-4em}.column-group.double-gutters>[class*=all-],.column-group.double-gutters>[class*=xlarge-]{padding-left:4em;margin-bottom:4em}.column-group.double-horizontal-gutters{margin-left:-4em}.column-group.double-horizontal-gutters>[class*=all-],.column-group.double-horizontal-gutters>[class*=xlarge-]{padding-left:4em}.column-group.double-vertical-gutters>[class*=all-],.column-group.double-vertical-gutters>[class*=xlarge-]{margin-bottom:4em}.column-group.half-gutters{margin-left:-1em}.column-group.half-gutters>[class*=all-],.column-group.half-gutters>[class*=xlarge-]{padding-left:1em;margin-bottom:1em}.column-group.half-horizontal-gutters{margin-left:-1em}.column-group.half-horizontal-gutters>[class*=all-],.column-group.half-horizontal-gutters>[class*=xlarge-]{padding-left:1em}.column-group.half-vertical-gutters>[class*=all-],.column-group.half-vertical-gutters>[class*=xlarge-]{margin-bottom:1em}.column-group.quarter-gutters{margin-left:-.5em}.column-group.quarter-gutters>[class*=all-],.column-group.quarter-gutters>[class*=xlarge-]{padding-left:.5em;margin-bottom:.5em}.column-group.quarter-horizontal-gutters{margin-left:-.5em}.column-group.quarter-horizontal-gutters>[class*=all-],.column-group.quarter-horizontal-gutters>[class*=xlarge-]{padding-left:.5em}.column-group.quarter-vertical-gutters>[class*=all-],.column-group.quarter-vertical-gutters>[class*=xlarge-]{margin-bottom:.5em}.column-group.xlarge-gutters{margin-left:-2em}.column-group.xlarge-gutters>[class*=all-],.column-group.xlarge-gutters>[class*=xlarge-]{padding-left:2em;margin-bottom:2em}.column-group.xlarge-horizontal-gutters{margin-left:-2em}.column-group.xlarge-horizontal-gutters>[class*=all-],.column-group.xlarge-horizontal-gutters>[class*=xlarge-]{padding-left:2em}.column-group.xlarge-vertical-gutters>[class*=all-],.column-group.xlarge-vertical-gutters>[class*=xlarge-]{margin-bottom:2em}.column-group.xlarge-double-gutters{margin-left:-4em}.column-group.xlarge-double-gutters>[class*=all-],.column-group.xlarge-double-gutters>[class*=xlarge-]{padding-left:4em;margin-bottom:4em}.column-group.xlarge-double-horizontal-gutters{margin-left:-4em}.column-group.xlarge-double-horizontal-gutters>[class*=all-],.column-group.xlarge-double-horizontal-gutters>[class*=xlarge-]{padding-left:4em}.column-group.xlarge-double-vertical-gutters>[class*=all-],.column-group.xlarge-double-vertical-gutters>[class*=xlarge-]{margin-bottom:4em}.column-group.xlarge-half-gutters{margin-left:-1em}.column-group.xlarge-half-gutters>[class*=all-],.column-group.xlarge-half-gutters>[class*=xlarge-]{padding-left:1em;margin-bottom:1em}.column-group.xlarge-half-horizontal-gutters{margin-left:-1em}.column-group.xlarge-half-horizontal-gutters>[class*=all-],.column-group.xlarge-half-horizontal-gutters>[class*=xlarge-]{padding-left:1em}.column-group.xlarge-half-vertical-gutters>[class*=all-],.column-group.xlarge-half-vertical-gutters>[class*=xlarge-]{margin-bottom:1em}.column-group.xlarge-quarter-gutters{margin-left:-.5em}.column-group.xlarge-quarter-gutters>[class*=all-],.column-group.xlarge-quarter-gutters>[class*=xlarge-]{padding-left:.5em;margin-bottom:.5em}.column-group.xlarge-quarter-horizontal-gutters{margin-left:-.5em}.column-group.xlarge-quarter-horizontal-gutters>[class*=all-],.column-group.xlarge-quarter-horizontal-gutters>[class*=xlarge-]{padding-left:.5em}.column-group.xlarge-quarter-vertical-gutters>[class*=all-],.column-group.xlarge-quarter-vertical-gutters>[class*=xlarge-]{margin-bottom:.5em}.column-group.xlarge-no-gutters{margin-left:0}.column-group.xlarge-no-gutters>[class*=all-],.column-group.xlarge-no-gutters>[class*=xlarge-]{padding-left:0;margin-bottom:0}.ink-table tbody[class*=xlarge-],.ink-table td[class*=xlarge-],.ink-table tfoot[class*=xlarge-],.ink-table th[class*=xlarge-],.ink-table thead[class*=xlarge-],.ink-table tr[class*=xlarge-]{float:none}.xlarge-push-left{float:left}.xlarge-push-center{float:none;margin-left:auto;margin-right:auto}.xlarge-push-right{float:right}.xlarge-align-left{text-align:left}.xlarge-align-center{text-align:center}.xlarge-align-right{text-align:right}.xlarge-no-margin{margin:0!important}.space,.xlarge-space{margin:2em}.padding,.xlarge-padding{padding:2em}.double-space,.xlarge-double-space{margin:4em}.double-padding,.xlarge-double-padding{padding:4em}.half-space,.xlarge-half-space{margin:1em}.half-padding,.xlarge-half-padding{padding:1em}.quarter-space,.xlarge-quarter-space{margin:.5em}.quarter-padding,.xlarge-quarter-padding{padding:.5em}.vertical-space,.xlarge-vertical-space{margin-top:2em;margin-bottom:2em}.vertical-padding,.xlarge-vertical-padding{padding-top:2em;padding-bottom:2em}.double-vertical-space,.xlarge-double-vertical-space{margin-top:4em;margin-bottom:4em}.double-vertical-padding,.xlarge-double-vertical-padding{padding-top:4em;padding-bottom:4em}.half-vertical-space,.xlarge-half-vertical-space{margin-top:1em;margin-bottom:1em}.half-vertical-padding,.xlarge-half-vertical-padding{padding-top:1em;padding-bottom:1em}.quarter-vertical-space,.xlarge-quarter-vertical-space{margin-top:.5em;margin-bottom:.5em}.quarter-vertical-padding,.xlarge-quarter-vertical-padding{padding-top:.5em;padding-bottom:.5em}.horizontal-space,.xlarge-horizontal-space{margin-left:2em;margin-right:2em}.horizontal-padding,.xlarge-horizontal-padding{padding-left:2em;padding-right:2em}.double-horizontal-space,.xlarge-double-horizontal-space{margin-left:4em;margin-right:4em}.double-horizontal-padding,.xlarge-double-horizontal-padding{padding-left:4em;padding-right:4em}.half-horizontal-space,.xlarge-half-horizontal-space{margin-left:1em;margin-right:1em}.half-horizontal-padding,.xlarge-half-horizontal-padding{padding-left:1em;padding-right:1em}.quarter-horizontal-space,.xlarge-quarter-horizontal-space{margin-left:.5em;margin-right:.5em}.quarter-horizontal-padding,.xlarge-quarter-horizontal-padding{padding-left:.5em;padding-right:.5em}.top-space,.xlarge-top-space{margin-top:2em}.top-padding,.xlarge-top-padding{padding-top:2em}.double-top-space,.xlarge-double-top-space{margin-top:4em}.double-top-padding,.xlarge-double-top-padding{padding-top:4em}.half-top-space,.xlarge-half-top-space{margin-top:1em}.half-top-padding,.xlarge-half-top-padding{padding-top:1em}.quarter-top-space,.xlarge-quarter-top-space{margin-top:.5em}.quarter-top-padding,.xlarge-quarter-top-padding{padding-top:.5em}.right-space,.xlarge-right-space{margin-right:2em}.right-padding,.xlarge-right-padding{padding-right:2em}.double-right-space,.xlarge-double-right-space{margin-right:4em}.double-right-padding,.xlarge-double-right-padding{padding-right:4em}.half-right-space,.xlarge-half-right-space{margin-right:1em}.half-right-padding,.xlarge-half-right-padding{padding-right:1em}.quarter-right-space,.xlarge-quarter-right-space{margin-right:.5em}.quarter-right-padding,.xlarge-quarter-right-padding{padding-right:.5em}.bottom-space,.xlarge-bottom-space{margin-bottom:2em}.bottom-padding,.xlarge-bottom-padding{padding-bottom:2em}.double-bottom-space,.xlarge-double-bottom-space{margin-bottom:4em}.double-bottom-padding,.xlarge-double-bottom-padding{padding-bottom:4em}.half-bottom-space,.xlarge-half-bottom-space{margin-bottom:1em}.half-bottom-padding,.xlarge-half-bottom-padding{padding-bottom:1em}.quarter-bottom-space,.xlarge-quarter-bottom-space{margin-bottom:.5em}.quarter-bottom-padding,.xlarge-quarter-bottom-padding{padding-bottom:.5em}.left-space,.xlarge-left-space{margin-left:2em}.left-padding,.xlarge-left-padding{padding-left:2em}.double-left-space,.xlarge-double-left-space{margin-left:4em}.double-left-padding,.xlarge-double-left-padding{padding-left:4em}.half-left-space,.xlarge-half-left-space{margin-left:1em}.half-left-padding,.xlarge-half-left-padding{padding-left:1em}.quarter-left-space,.xlarge-quarter-left-space{margin-left:.5em}.quarter-left-padding,.xlarge-quarter-left-padding{padding-left:.5em}.hide-xlarge{display:none!important}.show-xlarge{display:inherit!important}table.show-xlarge{display:table}thead.show-xlarge{display:table-header-group}tbody.show-xlarge{display:table-row-group}tfoot.show-xlarge{display:table-footer-group}tr.show-xlarge{display:table-row}td.show-xlarge,th.show-xlarge{display:table-cell}}@media screen and (min-width:961px) and (max-width:1260px){.ink-grid{padding:0 1.75em}.column-group>[class*=large-]{float:left;clear:none}.large-5{width:5%}.large-10{width:10%}.large-15{width:15%}.large-16{width:16.66%}.large-20{width:20%}.large-25{width:25%}.large-30{width:30%}.large-33{width:33.33%}.large-35{width:35%}.large-40{width:40%}.large-45{width:45%}.large-50{width:50%}.large-55{width:55%}.large-60{width:60%}.large-65{width:65%}.large-66{width:66.66%}.large-70{width:70%}.large-75{width:75%}.large-80{width:80%}.large-85{width:85%}.large-90{width:90%}.large-95{width:95%}.large-100{width:100%}[class*=large-100]{float:none;clear:both}.column-group{*zoom:1}.column-group:after{content:"";display:table;clear:both}.column-group.gutters{margin-left:-1.75em}.column-group.gutters>[class*=all-],.column-group.gutters>[class*=large-]{padding-left:1.75em;margin-bottom:1.75em}.column-group.horizontal-gutters{margin-left:-1.75em}.column-group.horizontal-gutters>[class*=all-],.column-group.horizontal-gutters>[class*=large-]{padding-left:1.75em}.column-group.vertical-gutters>[class*=all-],.column-group.vertical-gutters>[class*=large-]{margin-bottom:1.75em}.column-group.double-gutters{margin-left:-3.5em}.column-group.double-gutters>[class*=all-],.column-group.double-gutters>[class*=large-]{padding-left:3.5em;margin-bottom:3.5em}.column-group.double-horizontal-gutters{margin-left:-3.5em}.column-group.double-horizontal-gutters>[class*=all-],.column-group.double-horizontal-gutters>[class*=large-]{padding-left:3.5em}.column-group.double-vertical-gutters>[class*=all-],.column-group.double-vertical-gutters>[class*=large-]{margin-bottom:3.5em}.column-group.half-gutters{margin-left:-.875em}.column-group.half-gutters>[class*=all-],.column-group.half-gutters>[class*=large-]{padding-left:.875em;margin-bottom:.875em}.column-group.half-horizontal-gutters{margin-left:-.875em}.column-group.half-horizontal-gutters>[class*=all-],.column-group.half-horizontal-gutters>[class*=large-]{padding-left:.875em}.column-group.half-vertical-gutters>[class*=all-],.column-group.half-vertical-gutters>[class*=large-]{margin-bottom:.875em}.column-group.quarter-gutters{margin-left:-.4375em}.column-group.quarter-gutters>[class*=all-],.column-group.quarter-gutters>[class*=large-]{padding-left:.4375em;margin-bottom:.4375em}.column-group.quarter-horizontal-gutters{margin-left:-.4375em}.column-group.quarter-horizontal-gutters>[class*=all-],.column-group.quarter-horizontal-gutters>[class*=large-]{padding-left:.4375em}.column-group.quarter-vertical-gutters>[class*=all-],.column-group.quarter-vertical-gutters>[class*=large-]{margin-bottom:.4375em}.column-group.large-gutters{margin-left:-1.75em}.column-group.large-gutters>[class*=all-],.column-group.large-gutters>[class*=large-]{padding-left:1.75em;margin-bottom:1.75em}.column-group.large-horizontal-gutters{margin-left:-1.75em}.column-group.large-horizontal-gutters>[class*=all-],.column-group.large-horizontal-gutters>[class*=large-]{padding-left:1.75em}.column-group.large-vertical-gutters>[class*=all-],.column-group.large-vertical-gutters>[class*=large-]{margin-bottom:1.75em}.column-group.large-double-gutters{margin-left:-3.5em}.column-group.large-double-gutters>[class*=all-],.column-group.large-double-gutters>[class*=large-]{padding-left:3.5em;margin-bottom:3.5em}.column-group.large-double-horizontal-gutters{margin-left:-3.5em}.column-group.large-double-horizontal-gutters>[class*=all-],.column-group.large-double-horizontal-gutters>[class*=large-]{padding-left:3.5em}.column-group.large-double-vertical-gutters>[class*=all-],.column-group.large-double-vertical-gutters>[class*=large-]{margin-bottom:3.5em}.column-group.large-half-gutters{margin-left:-.875em}.column-group.large-half-gutters>[class*=all-],.column-group.large-half-gutters>[class*=large-]{padding-left:.875em;margin-bottom:.875em}.column-group.large-half-horizontal-gutters{margin-left:-.875em}.column-group.large-half-horizontal-gutters>[class*=all-],.column-group.large-half-horizontal-gutters>[class*=large-]{padding-left:.875em}.column-group.large-half-vertical-gutters>[class*=all-],.column-group.large-half-vertical-gutters>[class*=large-]{margin-bottom:.875em}.column-group.large-quarter-gutters{margin-left:-.4375em}.column-group.large-quarter-gutters>[class*=all-],.column-group.large-quarter-gutters>[class*=large-]{padding-left:.4375em;margin-bottom:.4375em}.column-group.large-quarter-horizontal-gutters{margin-left:-.4375em}.column-group.large-quarter-horizontal-gutters>[class*=all-],.column-group.large-quarter-horizontal-gutters>[class*=large-]{padding-left:.4375em}.column-group.large-quarter-vertical-gutters>[class*=all-],.column-group.large-quarter-vertical-gutters>[class*=large-]{margin-bottom:.4375em}.column-group.large-no-gutters{margin-left:0}.column-group.large-no-gutters>[class*=all-],.column-group.large-no-gutters>[class*=large-]{padding-left:0;margin-bottom:0}.ink-table tbody[class*=large-],.ink-table td[class*=large-],.ink-table tfoot[class*=large-],.ink-table th[class*=large-],.ink-table thead[class*=large-],.ink-table tr[class*=large-]{float:none}.large-push-left{float:left}.large-push-center{float:none;margin-left:auto;margin-right:auto}.large-push-right{float:right}.large-align-left{text-align:left}.large-align-center{text-align:center}.large-align-right{text-align:right}.large-no-margin{margin:0!important}.large-space,.space{margin:1.75em}.large-padding,.padding{padding:1.75em}.double-space,.large-double-space{margin:3.5em}.double-padding,.large-double-padding{padding:3.5em}.half-space,.large-half-space{margin:.875em}.half-padding,.large-half-padding{padding:.875em}.large-quarter-space,.quarter-space{margin:.4375em}.large-quarter-padding,.quarter-padding{padding:.4375em}.large-vertical-space,.vertical-space{margin-top:1.75em;margin-bottom:1.75em}.large-vertical-padding,.vertical-padding{padding-top:1.75em;padding-bottom:1.75em}.double-vertical-space,.large-double-vertical-space{margin-top:3.5em;margin-bottom:3.5em}.double-vertical-padding,.large-double-vertical-padding{padding-top:3.5em;padding-bottom:3.5em}.half-vertical-space,.large-half-vertical-space{margin-top:.875em;margin-bottom:.875em}.half-vertical-padding,.large-half-vertical-padding{padding-top:.875em;padding-bottom:.875em}.large-quarter-vertical-space,.quarter-vertical-space{margin-top:.4375em;margin-bottom:.4375em}.large-quarter-vertical-padding,.quarter-vertical-padding{padding-top:.4375em;padding-bottom:.4375em}.horizontal-space,.large-horizontal-space{margin-left:1.75em;margin-right:1.75em}.horizontal-padding,.large-horizontal-padding{padding-left:1.75em;padding-right:1.75em}.double-horizontal-space,.large-double-horizontal-space{margin-left:3.5em;margin-right:3.5em}.double-horizontal-padding,.large-double-horizontal-padding{padding-left:3.5em;padding-right:3.5em}.half-horizontal-space,.large-half-horizontal-space{margin-left:.875em;margin-right:.875em}.half-horizontal-padding,.large-half-horizontal-padding{padding-left:.875em;padding-right:.875em}.large-quarter-horizontal-space,.quarter-horizontal-space{margin-left:.4375em;margin-right:.4375em}.large-quarter-horizontal-padding,.quarter-horizontal-padding{padding-left:.4375em;padding-right:.4375em}.large-top-space,.top-space{margin-top:1.75em}.large-top-padding,.top-padding{padding-top:1.75em}.double-top-space,.large-double-top-space{margin-top:3.5em}.double-top-padding,.large-double-top-padding{padding-top:3.5em}.half-top-space,.large-half-top-space{margin-top:.875em}.half-top-padding,.large-half-top-padding{padding-top:.875em}.large-quarter-top-space,.quarter-top-space{margin-top:.4375em}.large-quarter-top-padding,.quarter-top-padding{padding-top:.4375em}.large-right-space,.right-space{margin-right:1.75em}.large-right-padding,.right-padding{padding-right:1.75em}.double-right-space,.large-double-right-space{margin-right:3.5em}.double-right-padding,.large-double-right-padding{padding-right:3.5em}.half-right-space,.large-half-right-space{margin-right:.875em}.half-right-padding,.large-half-right-padding{padding-right:.875em}.large-quarter-right-space,.quarter-right-space{margin-right:.4375em}.large-quarter-right-padding,.quarter-right-padding{padding-right:.4375em}.bottom-space,.large-bottom-space{margin-bottom:1.75em}.bottom-padding,.large-bottom-padding{padding-bottom:1.75em}.double-bottom-space,.large-double-bottom-space{margin-bottom:3.5em}.double-bottom-padding,.large-double-bottom-padding{padding-bottom:3.5em}.half-bottom-space,.large-half-bottom-space{margin-bottom:.875em}.half-bottom-padding,.large-half-bottom-padding{padding-bottom:.875em}.large-quarter-bottom-space,.quarter-bottom-space{margin-bottom:.4375em}.large-quarter-bottom-padding,.quarter-bottom-padding{padding-bottom:.4375em}.large-left-space,.left-space{margin-left:1.75em}.large-left-padding,.left-padding{padding-left:1.75em}.double-left-space,.large-double-left-space{margin-left:3.5em}.double-left-padding,.large-double-left-padding{padding-left:3.5em}.half-left-space,.large-half-left-space{margin-left:.875em}.half-left-padding,.large-half-left-padding{padding-left:.875em}.large-quarter-left-space,.quarter-left-space{margin-left:.4375em}.large-quarter-left-padding,.quarter-left-padding{padding-left:.4375em}.hide-large{display:none!important}.show-large{display:inherit!important}table.show-large{display:table}thead.show-large{display:table-header-group}tbody.show-large{display:table-row-group}tfoot.show-large{display:table-footer-group}tr.show-large{display:table-row}td.show-large,th.show-large{display:table-cell}}@media screen and (min-width:641px) and (max-width:960px){.ink-grid{padding:0 1.5em}.column-group>[class*=medium-]{float:left;clear:none}.medium-5{width:5%}.medium-10{width:10%}.medium-15{width:15%}.medium-16{width:16.66%}.medium-20{width:20%}.medium-25{width:25%}.medium-30{width:30%}.medium-33{width:33.33%}.medium-35{width:35%}.medium-40{width:40%}.medium-45{width:45%}.medium-50{width:50%}.medium-55{width:55%}.medium-60{width:60%}.medium-65{width:65%}.medium-66{width:66.66%}.medium-70{width:70%}.medium-75{width:75%}.medium-80{width:80%}.medium-85{width:85%}.medium-90{width:90%}.medium-95{width:95%}.medium-100{width:100%}[class*=medium-100]{float:none;clear:both}.column-group{*zoom:1}.column-group:after{content:"";display:table;clear:both}.column-group.gutters{margin-left:-1.5em}.column-group.gutters>[class*=all-],.column-group.gutters>[class*=medium-]{padding-left:1.5em;margin-bottom:1.5em}.column-group.horizontal-gutters{margin-left:-1.5em}.column-group.horizontal-gutters>[class*=all-],.column-group.horizontal-gutters>[class*=medium-]{padding-left:1.5em}.column-group.vertical-gutters>[class*=all-],.column-group.vertical-gutters>[class*=medium-]{margin-bottom:1.5em}.column-group.double-gutters{margin-left:-3em}.column-group.double-gutters>[class*=all-],.column-group.double-gutters>[class*=medium-]{padding-left:3em;margin-bottom:3em}.column-group.double-horizontal-gutters{margin-left:-3em}.column-group.double-horizontal-gutters>[class*=all-],.column-group.double-horizontal-gutters>[class*=medium-]{padding-left:3em}.column-group.double-vertical-gutters>[class*=all-],.column-group.double-vertical-gutters>[class*=medium-]{margin-bottom:3em}.column-group.half-gutters{margin-left:-.75em}.column-group.half-gutters>[class*=all-],.column-group.half-gutters>[class*=medium-]{padding-left:.75em;margin-bottom:.75em}.column-group.half-horizontal-gutters{margin-left:-.75em}.column-group.half-horizontal-gutters>[class*=all-],.column-group.half-horizontal-gutters>[class*=medium-]{padding-left:.75em}.column-group.half-vertical-gutters>[class*=all-],.column-group.half-vertical-gutters>[class*=medium-]{margin-bottom:.75em}.column-group.quarter-gutters{margin-left:-.375em}.column-group.quarter-gutters>[class*=all-],.column-group.quarter-gutters>[class*=medium-]{padding-left:.375em;margin-bottom:.375em}.column-group.quarter-horizontal-gutters{margin-left:-.375em}.column-group.quarter-horizontal-gutters>[class*=all-],.column-group.quarter-horizontal-gutters>[class*=medium-]{padding-left:.375em}.column-group.quarter-vertical-gutters>[class*=all-],.column-group.quarter-vertical-gutters>[class*=medium-]{margin-bottom:.375em}.column-group.medium-gutters{margin-left:-1.5em}.column-group.medium-gutters>[class*=all-],.column-group.medium-gutters>[class*=medium-]{padding-left:1.5em;margin-bottom:1.5em}.column-group.medium-horizontal-gutters{margin-left:-1.5em}.column-group.medium-horizontal-gutters>[class*=all-],.column-group.medium-horizontal-gutters>[class*=medium-]{padding-left:1.5em}.column-group.medium-vertical-gutters>[class*=all-],.column-group.medium-vertical-gutters>[class*=medium-]{margin-bottom:1.5em}.column-group.medium-double-gutters{margin-left:-3em}.column-group.medium-double-gutters>[class*=all-],.column-group.medium-double-gutters>[class*=medium-]{padding-left:3em;margin-bottom:3em}.column-group.medium-double-horizontal-gutters{margin-left:-3em}.column-group.medium-double-horizontal-gutters>[class*=all-],.column-group.medium-double-horizontal-gutters>[class*=medium-]{padding-left:3em}.column-group.medium-double-vertical-gutters>[class*=all-],.column-group.medium-double-vertical-gutters>[class*=medium-]{margin-bottom:3em}.column-group.medium-half-gutters{margin-left:-.75em}.column-group.medium-half-gutters>[class*=all-],.column-group.medium-half-gutters>[class*=medium-]{padding-left:.75em;margin-bottom:.75em}.column-group.medium-half-horizontal-gutters{margin-left:-.75em}.column-group.medium-half-horizontal-gutters>[class*=all-],.column-group.medium-half-horizontal-gutters>[class*=medium-]{padding-left:.75em}.column-group.medium-half-vertical-gutters>[class*=all-],.column-group.medium-half-vertical-gutters>[class*=medium-]{margin-bottom:.75em}.column-group.medium-quarter-gutters{margin-left:-.375em}.column-group.medium-quarter-gutters>[class*=all-],.column-group.medium-quarter-gutters>[class*=medium-]{padding-left:.375em;margin-bottom:.375em}.column-group.medium-quarter-horizontal-gutters{margin-left:-.375em}.column-group.medium-quarter-horizontal-gutters>[class*=all-],.column-group.medium-quarter-horizontal-gutters>[class*=medium-]{padding-left:.375em}.column-group.medium-quarter-vertical-gutters>[class*=all-],.column-group.medium-quarter-vertical-gutters>[class*=medium-]{margin-bottom:.375em}.column-group.medium-no-gutters{margin-left:0}.column-group.medium-no-gutters>[class*=all-],.column-group.medium-no-gutters>[class*=medium-]{padding-left:0;margin-bottom:0}.ink-table tbody[class*=medium-],.ink-table td[class*=medium-],.ink-table tfoot[class*=medium-],.ink-table th[class*=medium-],.ink-table thead[class*=medium-],.ink-table tr[class*=medium-]{float:none}.medium-push-left{float:left}.medium-push-center{float:none;margin-left:auto;margin-right:auto}.medium-push-right{float:right}.medium-align-left{text-align:left}.medium-align-center{text-align:center}.medium-align-right{text-align:right}.medium-no-margin{margin:0!important}.medium-space,.space{margin:1.5em}.medium-padding,.padding{padding:1.5em}.double-space,.medium-double-space{margin:3em}.double-padding,.medium-double-padding{padding:3em}.half-space,.medium-half-space{margin:.75em}.half-padding,.medium-half-padding{padding:.75em}.medium-quarter-space,.quarter-space{margin:.375em}.medium-quarter-padding,.quarter-padding{padding:.375em}.medium-vertical-space,.vertical-space{margin-top:1.5em;margin-bottom:1.5em}.medium-vertical-padding,.vertical-padding{padding-top:1.5em;padding-bottom:1.5em}.double-vertical-space,.medium-double-vertical-space{margin-top:3em;margin-bottom:3em}.double-vertical-padding,.medium-double-vertical-padding{padding-top:3em;padding-bottom:3em}.half-vertical-space,.medium-half-vertical-space{margin-top:.75em;margin-bottom:.75em}.half-vertical-padding,.medium-half-vertical-padding{padding-top:.75em;padding-bottom:.75em}.medium-quarter-vertical-space,.quarter-vertical-space{margin-top:.375em;margin-bottom:.375em}.medium-quarter-vertical-padding,.quarter-vertical-padding{padding-top:.375em;padding-bottom:.375em}.horizontal-space,.medium-horizontal-space{margin-left:1.5em;margin-right:1.5em}.horizontal-padding,.medium-horizontal-padding{padding-left:1.5em;padding-right:1.5em}.double-horizontal-space,.medium-double-horizontal-space{margin-left:3em;margin-right:3em}.double-horizontal-padding,.medium-double-horizontal-padding{padding-left:3em;padding-right:3em}.half-horizontal-space,.medium-half-horizontal-space{margin-left:.75em;margin-right:.75em}.half-horizontal-padding,.medium-half-horizontal-padding{padding-left:.75em;padding-right:.75em}.medium-quarter-horizontal-space,.quarter-horizontal-space{margin-left:.375em;margin-right:.375em}.medium-quarter-horizontal-padding,.quarter-horizontal-padding{padding-left:.375em;padding-right:.375em}.medium-top-space,.top-space{margin-top:1.5em}.medium-top-padding,.top-padding{padding-top:1.5em}.double-top-space,.medium-double-top-space{margin-top:3em}.double-top-padding,.medium-double-top-padding{padding-top:3em}.half-top-space,.medium-half-top-space{margin-top:.75em}.half-top-padding,.medium-half-top-padding{padding-top:.75em}.medium-quarter-top-space,.quarter-top-space{margin-top:.375em}.medium-quarter-top-padding,.quarter-top-padding{padding-top:.375em}.medium-right-space,.right-space{margin-right:1.5em}.medium-right-padding,.right-padding{padding-right:1.5em}.double-right-space,.medium-double-right-space{margin-right:3em}.double-right-padding,.medium-double-right-padding{padding-right:3em}.half-right-space,.medium-half-right-space{margin-right:.75em}.half-right-padding,.medium-half-right-padding{padding-right:.75em}.medium-quarter-right-space,.quarter-right-space{margin-right:.375em}.medium-quarter-right-padding,.quarter-right-padding{padding-right:.375em}.bottom-space,.medium-bottom-space{margin-bottom:1.5em}.bottom-padding,.medium-bottom-padding{padding-bottom:1.5em}.double-bottom-space,.medium-double-bottom-space{margin-bottom:3em}.double-bottom-padding,.medium-double-bottom-padding{padding-bottom:3em}.half-bottom-space,.medium-half-bottom-space{margin-bottom:.75em}.half-bottom-padding,.medium-half-bottom-padding{padding-bottom:.75em}.medium-quarter-bottom-space,.quarter-bottom-space{margin-bottom:.375em}.medium-quarter-bottom-padding,.quarter-bottom-padding{padding-bottom:.375em}.left-space,.medium-left-space{margin-left:1.5em}.left-padding,.medium-left-padding{padding-left:1.5em}.double-left-space,.medium-double-left-space{margin-left:3em}.double-left-padding,.medium-double-left-padding{padding-left:3em}.half-left-space,.medium-half-left-space{margin-left:.75em}.half-left-padding,.medium-half-left-padding{padding-left:.75em}.medium-quarter-left-space,.quarter-left-space{margin-left:.375em}.medium-quarter-left-padding,.quarter-left-padding{padding-left:.375em}.hide-medium{display:none!important}.show-medium{display:inherit!important}table.show-medium{display:table}thead.show-medium{display:table-header-group}tbody.show-medium{display:table-row-group}tfoot.show-medium{display:table-footer-group}tr.show-medium{display:table-row}td.show-medium,th.show-medium{display:table-cell}}@media screen and (min-width:321px) and (max-width:640px){.ink-grid{padding:0 1.25em}.column-group>[class*=small-]{float:left;clear:none}.small-5{width:5%}.small-10{width:10%}.small-15{width:15%}.small-16{width:16.66%}.small-20{width:20%}.small-25{width:25%}.small-30{width:30%}.small-33{width:33.33%}.small-35{width:35%}.small-40{width:40%}.small-45{width:45%}.small-50{width:50%}.small-55{width:55%}.small-60{width:60%}.small-65{width:65%}.small-66{width:66.66%}.small-70{width:70%}.small-75{width:75%}.small-80{width:80%}.small-85{width:85%}.small-90{width:90%}.small-95{width:95%}.small-100{width:100%}[class*=small-100]{float:none;clear:both}.column-group{*zoom:1}.column-group:after{content:"";display:table;clear:both}.column-group.gutters{margin-left:-1.25em}.column-group.gutters>[class*=all-],.column-group.gutters>[class*=small-]{padding-left:1.25em;margin-bottom:1.25em}.column-group.horizontal-gutters{margin-left:-1.25em}.column-group.horizontal-gutters>[class*=all-],.column-group.horizontal-gutters>[class*=small-]{padding-left:1.25em}.column-group.vertical-gutters>[class*=all-],.column-group.vertical-gutters>[class*=small-]{margin-bottom:1.25em}.column-group.double-gutters{margin-left:-2.5em}.column-group.double-gutters>[class*=all-],.column-group.double-gutters>[class*=small-]{padding-left:2.5em;margin-bottom:2.5em}.column-group.double-horizontal-gutters{margin-left:-2.5em}.column-group.double-horizontal-gutters>[class*=all-],.column-group.double-horizontal-gutters>[class*=small-]{padding-left:2.5em}.column-group.double-vertical-gutters>[class*=all-],.column-group.double-vertical-gutters>[class*=small-]{margin-bottom:2.5em}.column-group.half-gutters{margin-left:-.625em}.column-group.half-gutters>[class*=all-],.column-group.half-gutters>[class*=small-]{padding-left:.625em;margin-bottom:.625em}.column-group.half-horizontal-gutters{margin-left:-.625em}.column-group.half-horizontal-gutters>[class*=all-],.column-group.half-horizontal-gutters>[class*=small-]{padding-left:.625em}.column-group.half-vertical-gutters>[class*=all-],.column-group.half-vertical-gutters>[class*=small-]{margin-bottom:.625em}.column-group.quarter-gutters{margin-left:-.3125em}.column-group.quarter-gutters>[class*=all-],.column-group.quarter-gutters>[class*=small-]{padding-left:.3125em;margin-bottom:.3125em}.column-group.quarter-horizontal-gutters{margin-left:-.3125em}.column-group.quarter-horizontal-gutters>[class*=all-],.column-group.quarter-horizontal-gutters>[class*=small-]{padding-left:.3125em}.column-group.quarter-vertical-gutters>[class*=all-],.column-group.quarter-vertical-gutters>[class*=small-]{margin-bottom:.3125em}.column-group.small-gutters{margin-left:-1.25em}.column-group.small-gutters>[class*=all-],.column-group.small-gutters>[class*=small-]{padding-left:1.25em;margin-bottom:1.25em}.column-group.small-horizontal-gutters{margin-left:-1.25em}.column-group.small-horizontal-gutters>[class*=all-],.column-group.small-horizontal-gutters>[class*=small-]{padding-left:1.25em}.column-group.small-vertical-gutters>[class*=all-],.column-group.small-vertical-gutters>[class*=small-]{margin-bottom:1.25em}.column-group.small-double-gutters{margin-left:-2.5em}.column-group.small-double-gutters>[class*=all-],.column-group.small-double-gutters>[class*=small-]{padding-left:2.5em;margin-bottom:2.5em}.column-group.small-double-horizontal-gutters{margin-left:-2.5em}.column-group.small-double-horizontal-gutters>[class*=all-],.column-group.small-double-horizontal-gutters>[class*=small-]{padding-left:2.5em}.column-group.small-double-vertical-gutters>[class*=all-],.column-group.small-double-vertical-gutters>[class*=small-]{margin-bottom:2.5em}.column-group.small-half-gutters{margin-left:-.625em}.column-group.small-half-gutters>[class*=all-],.column-group.small-half-gutters>[class*=small-]{padding-left:.625em;margin-bottom:.625em}.column-group.small-half-horizontal-gutters{margin-left:-.625em}.column-group.small-half-horizontal-gutters>[class*=all-],.column-group.small-half-horizontal-gutters>[class*=small-]{padding-left:.625em}.column-group.small-half-vertical-gutters>[class*=all-],.column-group.small-half-vertical-gutters>[class*=small-]{margin-bottom:.625em}.column-group.small-quarter-gutters{margin-left:-.3125em}.column-group.small-quarter-gutters>[class*=all-],.column-group.small-quarter-gutters>[class*=small-]{padding-left:.3125em;margin-bottom:.3125em}.column-group.small-quarter-horizontal-gutters{margin-left:-.3125em}.column-group.small-quarter-horizontal-gutters>[class*=all-],.column-group.small-quarter-horizontal-gutters>[class*=small-]{padding-left:.3125em}.column-group.small-quarter-vertical-gutters>[class*=all-],.column-group.small-quarter-vertical-gutters>[class*=small-]{margin-bottom:.3125em}.column-group.small-no-gutters{margin-left:0}.column-group.small-no-gutters>[class*=all-],.column-group.small-no-gutters>[class*=small-]{padding-left:0;margin-bottom:0}.ink-table tbody[class*=small-],.ink-table td[class*=small-],.ink-table tfoot[class*=small-],.ink-table th[class*=small-],.ink-table thead[class*=small-],.ink-table tr[class*=small-]{float:none}.small-push-left{float:left}.small-push-center{float:none;margin-left:auto;margin-right:auto}.small-push-right{float:right}.small-align-left{text-align:left}.small-align-center{text-align:center}.small-align-right{text-align:right}.small-no-margin{margin:0!important}.small-space,.space{margin:1.25em}.padding,.small-padding{padding:1.25em}.double-space,.small-double-space{margin:2.5em}.double-padding,.small-double-padding{padding:2.5em}.half-space,.small-half-space{margin:.625em}.half-padding,.small-half-padding{padding:.625em}.quarter-space,.small-quarter-space{margin:.3125em}.quarter-padding,.small-quarter-padding{padding:.3125em}.small-vertical-space,.vertical-space{margin-top:1.25em;margin-bottom:1.25em}.small-vertical-padding,.vertical-padding{padding-top:1.25em;padding-bottom:1.25em}.double-vertical-space,.small-double-vertical-space{margin-top:2.5em;margin-bottom:2.5em}.double-vertical-padding,.small-double-vertical-padding{padding-top:2.5em;padding-bottom:2.5em}.half-vertical-space,.small-half-vertical-space{margin-top:.625em;margin-bottom:.625em}.half-vertical-padding,.small-half-vertical-padding{padding-top:.625em;padding-bottom:.625em}.quarter-vertical-space,.small-quarter-vertical-space{margin-top:.3125em;margin-bottom:.3125em}.quarter-vertical-padding,.small-quarter-vertical-padding{padding-top:.3125em;padding-bottom:.3125em}.horizontal-space,.small-horizontal-space{margin-left:1.25em;margin-right:1.25em}.horizontal-padding,.small-horizontal-padding{padding-left:1.25em;padding-right:1.25em}.double-horizontal-space,.small-double-horizontal-space{margin-left:2.5em;margin-right:2.5em}.double-horizontal-padding,.small-double-horizontal-padding{padding-left:2.5em;padding-right:2.5em}.half-horizontal-space,.small-half-horizontal-space{margin-left:.625em;margin-right:.625em}.half-horizontal-padding,.small-half-horizontal-padding{padding-left:.625em;padding-right:.625em}.quarter-horizontal-space,.small-quarter-horizontal-space{margin-left:.3125em;margin-right:.3125em}.quarter-horizontal-padding,.small-quarter-horizontal-padding{padding-left:.3125em;padding-right:.3125em}.small-top-space,.top-space{margin-top:1.25em}.small-top-padding,.top-padding{padding-top:1.25em}.double-top-space,.small-double-top-space{margin-top:2.5em}.double-top-padding,.small-double-top-padding{padding-top:2.5em}.half-top-space,.small-half-top-space{margin-top:.625em}.half-top-padding,.small-half-top-padding{padding-top:.625em}.quarter-top-space,.small-quarter-top-space{margin-top:.3125em}.quarter-top-padding,.small-quarter-top-padding{padding-top:.3125em}.right-space,.small-right-space{margin-right:1.25em}.right-padding,.small-right-padding{padding-right:1.25em}.double-right-space,.small-double-right-space{margin-right:2.5em}.double-right-padding,.small-double-right-padding{padding-right:2.5em}.half-right-space,.small-half-right-space{margin-right:.625em}.half-right-padding,.small-half-right-padding{padding-right:.625em}.quarter-right-space,.small-quarter-right-space{margin-right:.3125em}.quarter-right-padding,.small-quarter-right-padding{padding-right:.3125em}.bottom-space,.small-bottom-space{margin-bottom:1.25em}.bottom-padding,.small-bottom-padding{padding-bottom:1.25em}.double-bottom-space,.small-double-bottom-space{margin-bottom:2.5em}.double-bottom-padding,.small-double-bottom-padding{padding-bottom:2.5em}.half-bottom-space,.small-half-bottom-space{margin-bottom:.625em}.half-bottom-padding,.small-half-bottom-padding{padding-bottom:.625em}.quarter-bottom-space,.small-quarter-bottom-space{margin-bottom:.3125em}.quarter-bottom-padding,.small-quarter-bottom-padding{padding-bottom:.3125em}.left-space,.small-left-space{margin-left:1.25em}.left-padding,.small-left-padding{padding-left:1.25em}.double-left-space,.small-double-left-space{margin-left:2.5em}.double-left-padding,.small-double-left-padding{padding-left:2.5em}.half-left-space,.small-half-left-space{margin-left:.625em}.half-left-padding,.small-half-left-padding{padding-left:.625em}.quarter-left-space,.small-quarter-left-space{margin-left:.3125em}.quarter-left-padding,.small-quarter-left-padding{padding-left:.3125em}.hide-small{display:none!important}.show-small{display:inherit!important}table.show-small{display:table}thead.show-small{display:table-header-group}tbody.show-small{display:table-row-group}tfoot.show-small{display:table-footer-group}tr.show-small{display:table-row}td.show-small,th.show-small{display:table-cell}}@media screen and (max-width:320px){.ink-grid{padding:0 1em}.column-group>[class*=tiny-]{float:left;clear:none}.tiny-5{width:5%}.tiny-10{width:10%}.tiny-15{width:15%}.tiny-16{width:16.66%}.tiny-20{width:20%}.tiny-25{width:25%}.tiny-30{width:30%}.tiny-33{width:33.33%}.tiny-35{width:35%}.tiny-40{width:40%}.tiny-45{width:45%}.tiny-50{width:50%}.tiny-55{width:55%}.tiny-60{width:60%}.tiny-65{width:65%}.tiny-66{width:66.66%}.tiny-70{width:70%}.tiny-75{width:75%}.tiny-80{width:80%}.tiny-85{width:85%}.tiny-90{width:90%}.tiny-95{width:95%}.tiny-100{width:100%}[class*=tiny-100]{float:none;clear:both}.column-group{*zoom:1}.column-group:after{content:"";display:table;clear:both}.column-group.gutters{margin-left:-1em}.column-group.gutters>[class*=all-],.column-group.gutters>[class*=tiny-]{padding-left:1em;margin-bottom:1em}.column-group.horizontal-gutters{margin-left:-1em}.column-group.horizontal-gutters>[class*=all-],.column-group.horizontal-gutters>[class*=tiny-]{padding-left:1em}.column-group.vertical-gutters>[class*=all-],.column-group.vertical-gutters>[class*=tiny-]{margin-bottom:1em}.column-group.double-gutters{margin-left:-2em}.column-group.double-gutters>[class*=all-],.column-group.double-gutters>[class*=tiny-]{padding-left:2em;margin-bottom:2em}.column-group.double-horizontal-gutters{margin-left:-2em}.column-group.double-horizontal-gutters>[class*=all-],.column-group.double-horizontal-gutters>[class*=tiny-]{padding-left:2em}.column-group.double-vertical-gutters>[class*=all-],.column-group.double-vertical-gutters>[class*=tiny-]{margin-bottom:2em}.column-group.half-gutters{margin-left:-.5em}.column-group.half-gutters>[class*=all-],.column-group.half-gutters>[class*=tiny-]{padding-left:.5em;margin-bottom:.5em}.column-group.half-horizontal-gutters{margin-left:-.5em}.column-group.half-horizontal-gutters>[class*=all-],.column-group.half-horizontal-gutters>[class*=tiny-]{padding-left:.5em}.column-group.half-vertical-gutters>[class*=all-],.column-group.half-vertical-gutters>[class*=tiny-]{margin-bottom:.5em}.column-group.quarter-gutters{margin-left:-.25em}.column-group.quarter-gutters>[class*=all-],.column-group.quarter-gutters>[class*=tiny-]{padding-left:.25em;margin-bottom:.25em}.column-group.quarter-horizontal-gutters{margin-left:-.25em}.column-group.quarter-horizontal-gutters>[class*=all-],.column-group.quarter-horizontal-gutters>[class*=tiny-]{padding-left:.25em}.column-group.quarter-vertical-gutters>[class*=all-],.column-group.quarter-vertical-gutters>[class*=tiny-]{margin-bottom:.25em}.column-group.tiny-gutters{margin-left:-1em}.column-group.tiny-gutters>[class*=all-],.column-group.tiny-gutters>[class*=tiny-]{padding-left:1em;margin-bottom:1em}.column-group.tiny-horizontal-gutters{margin-left:-1em}.column-group.tiny-horizontal-gutters>[class*=all-],.column-group.tiny-horizontal-gutters>[class*=tiny-]{padding-left:1em}.column-group.tiny-vertical-gutters>[class*=all-],.column-group.tiny-vertical-gutters>[class*=tiny-]{margin-bottom:1em}.column-group.tiny-double-gutters{margin-left:-2em}.column-group.tiny-double-gutters>[class*=all-],.column-group.tiny-double-gutters>[class*=tiny-]{padding-left:2em;margin-bottom:2em}.column-group.tiny-double-horizontal-gutters{margin-left:-2em}.column-group.tiny-double-horizontal-gutters>[class*=all-],.column-group.tiny-double-horizontal-gutters>[class*=tiny-]{padding-left:2em}.column-group.tiny-double-vertical-gutters>[class*=all-],.column-group.tiny-double-vertical-gutters>[class*=tiny-]{margin-bottom:2em}.column-group.tiny-half-gutters{margin-left:-.5em}.column-group.tiny-half-gutters>[class*=all-],.column-group.tiny-half-gutters>[class*=tiny-]{padding-left:.5em;margin-bottom:.5em}.column-group.tiny-half-horizontal-gutters{margin-left:-.5em}.column-group.tiny-half-horizontal-gutters>[class*=all-],.column-group.tiny-half-horizontal-gutters>[class*=tiny-]{padding-left:.5em}.column-group.tiny-half-vertical-gutters>[class*=all-],.column-group.tiny-half-vertical-gutters>[class*=tiny-]{margin-bottom:.5em}.column-group.tiny-quarter-gutters{margin-left:-.25em}.column-group.tiny-quarter-gutters>[class*=all-],.column-group.tiny-quarter-gutters>[class*=tiny-]{padding-left:.25em;margin-bottom:.25em}.column-group.tiny-quarter-horizontal-gutters{margin-left:-.25em}.column-group.tiny-quarter-horizontal-gutters>[class*=all-],.column-group.tiny-quarter-horizontal-gutters>[class*=tiny-]{padding-left:.25em}.column-group.tiny-quarter-vertical-gutters>[class*=all-],.column-group.tiny-quarter-vertical-gutters>[class*=tiny-]{margin-bottom:.25em}.column-group.tiny-no-gutters{margin-left:0}.column-group.tiny-no-gutters>[class*=all-],.column-group.tiny-no-gutters>[class*=tiny-]{padding-left:0;margin-bottom:0}.ink-table tbody[class*=tiny-],.ink-table td[class*=tiny-],.ink-table tfoot[class*=tiny-],.ink-table th[class*=tiny-],.ink-table thead[class*=tiny-],.ink-table tr[class*=tiny-]{float:none}.tiny-push-left{float:left}.tiny-push-center{float:none;margin-left:auto;margin-right:auto}.tiny-push-right{float:right}.tiny-align-left{text-align:left}.tiny-align-center{text-align:center}.tiny-align-right{text-align:right}.tiny-no-margin{margin:0!important}.space,.tiny-space{margin:1em}.padding,.tiny-padding{padding:1em}.double-space,.tiny-double-space{margin:2em}.double-padding,.tiny-double-padding{padding:2em}.half-space,.tiny-half-space{margin:.5em}.half-padding,.tiny-half-padding{padding:.5em}.quarter-space,.tiny-quarter-space{margin:.25em}.quarter-padding,.tiny-quarter-padding{padding:.25em}.tiny-vertical-space,.vertical-space{margin-top:1em;margin-bottom:1em}.tiny-vertical-padding,.vertical-padding{padding-top:1em;padding-bottom:1em}.double-vertical-space,.tiny-double-vertical-space{margin-top:2em;margin-bottom:2em}.double-vertical-padding,.tiny-double-vertical-padding{padding-top:2em;padding-bottom:2em}.half-vertical-space,.tiny-half-vertical-space{margin-top:.5em;margin-bottom:.5em}.half-vertical-padding,.tiny-half-vertical-padding{padding-top:.5em;padding-bottom:.5em}.quarter-vertical-space,.tiny-quarter-vertical-space{margin-top:.25em;margin-bottom:.25em}.quarter-vertical-padding,.tiny-quarter-vertical-padding{padding-top:.25em;padding-bottom:.25em}.horizontal-space,.tiny-horizontal-space{margin-left:1em;margin-right:1em}.horizontal-padding,.tiny-horizontal-padding{padding-left:1em;padding-right:1em}.double-horizontal-space,.tiny-double-horizontal-space{margin-left:2em;margin-right:2em}.double-horizontal-padding,.tiny-double-horizontal-padding{padding-left:2em;padding-right:2em}.half-horizontal-space,.tiny-half-horizontal-space{margin-left:.5em;margin-right:.5em}.half-horizontal-padding,.tiny-half-horizontal-padding{padding-left:.5em;padding-right:.5em}.quarter-horizontal-space,.tiny-quarter-horizontal-space{margin-left:.25em;margin-right:.25em}.quarter-horizontal-padding,.tiny-quarter-horizontal-padding{padding-left:.25em;padding-right:.25em}.tiny-top-space,.top-space{margin-top:1em}.tiny-top-padding,.top-padding{padding-top:1em}.double-top-space,.tiny-double-top-space{margin-top:2em}.double-top-padding,.tiny-double-top-padding{padding-top:2em}.half-top-space,.tiny-half-top-space{margin-top:.5em}.half-top-padding,.tiny-half-top-padding{padding-top:.5em}.quarter-top-space,.tiny-quarter-top-space{margin-top:.25em}.quarter-top-padding,.tiny-quarter-top-padding{padding-top:.25em}.right-space,.tiny-right-space{margin-right:1em}.right-padding,.tiny-right-padding{padding-right:1em}.double-right-space,.tiny-double-right-space{margin-right:2em}.double-right-padding,.tiny-double-right-padding{padding-right:2em}.half-right-space,.tiny-half-right-space{margin-right:.5em}.half-right-padding,.tiny-half-right-padding{padding-right:.5em}.quarter-right-space,.tiny-quarter-right-space{margin-right:.25em}.quarter-right-padding,.tiny-quarter-right-padding{padding-right:.25em}.bottom-space,.tiny-bottom-space{margin-bottom:1em}.bottom-padding,.tiny-bottom-padding{padding-bottom:1em}.double-bottom-space,.tiny-double-bottom-space{margin-bottom:2em}.double-bottom-padding,.tiny-double-bottom-padding{padding-bottom:2em}.half-bottom-space,.tiny-half-bottom-space{margin-bottom:.5em}.half-bottom-padding,.tiny-half-bottom-padding{padding-bottom:.5em}.quarter-bottom-space,.tiny-quarter-bottom-space{margin-bottom:.25em}.quarter-bottom-padding,.tiny-quarter-bottom-padding{padding-bottom:.25em}.left-space,.tiny-left-space{margin-left:1em}.left-padding,.tiny-left-padding{padding-left:1em}.double-left-space,.tiny-double-left-space{margin-left:2em}.double-left-padding,.tiny-double-left-padding{padding-left:2em}.half-left-space,.tiny-half-left-space{margin-left:.5em}.half-left-padding,.tiny-half-left-padding{padding-left:.5em}.quarter-left-space,.tiny-quarter-left-space{margin-left:.25em}.quarter-left-padding,.tiny-quarter-left-padding{padding-left:.25em}.hide-tiny{display:none!important}.show-tiny{display:inherit!important}table.show-tiny{display:table}thead.show-tiny{display:table-header-group}tbody.show-tiny{display:table-row-group}tfoot.show-tiny{display:table-footer-group}tr.show-tiny{display:table-row}td.show-tiny,th.show-tiny{display:table-cell}}html{font-size:.97em}html:after{content:'[{"name":"xlarge", "size":{"min":"1261px","max":""}},{"name":"large", "size":{"min":"961px","max":"1260px"}},{"name":"medium", "size":{"min":"641px","max":"960px"}},{"name":"small", "size":{"min":"321px","max":"640px"}},{"name":"tiny", "size":{"min":"","max":"320px"}}]';display:none}.ink-label{padding:0 .35em;white-space:nowrap}.ink-navigation{overflow:visible}.ink-navigation ul{list-style-type:none;padding:0;margin:0}.ink-navigation ul li{margin:0}.ink-navigation .breadcrumbs li{line-height:2.7em;display:inline}.ink-navigation .breadcrumbs li a{display:inline;padding:0}.ink-navigation .breadcrumbs li a:hover{background:0 0}.ink-navigation .breadcrumbs li.active a{cursor:default;text-decoration:none}.ink-navigation .breadcrumbs li:first-child a{padding-left:1.2em}.ink-navigation .breadcrumbs li:after{content:'/';display:inline;margin:0 .7em}.ink-navigation .breadcrumbs li:last-child:after{content:'';display:none}.ink-dropdown,.ink-navigation{position:relative}.ink-dropdown ul.dropdown,.ink-dropdown ul.dropdown-menu,.ink-navigation ul.dropdown,.ink-navigation ul.dropdown-menu{position:absolute;top:110%;background:#fff;z-index:30;border:1px solid #d9d9d9;height:auto;width:auto;min-width:10em;max-width:12em;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:rgba(100,100,100,.3) 0 0 1px 0;-moz-box-shadow:rgba(100,100,100,.3) 0 0 1px 0;box-shadow:rgba(100,100,100,.3) 0 0 1px 0;margin-left:0;padding:.35em 0;font-size:.85em}.ink-dropdown ul.dropdown li,.ink-dropdown ul.dropdown-menu li,.ink-navigation ul.dropdown li,.ink-navigation ul.dropdown-menu li{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:none;-moz-border-radius:none;-ms-border-radius:none;-o-border-radius:none;border-radius:none;width:auto;height:auto;min-height:auto;display:list-item;float:none;margin:0;text-align:left;text-transform:none;padding:0;position:relative;list-style-type:none}.ink-dropdown ul.dropdown li.separator-above,.ink-dropdown ul.dropdown-menu li.separator-above,.ink-navigation ul.dropdown li.separator-above,.ink-navigation ul.dropdown-menu li.separator-above{padding-top:.35em;margin-top:.35em;border-top:1px solid #d9d9d9}.ink-dropdown ul.dropdown li.separator-below,.ink-dropdown ul.dropdown-menu li.separator-below,.ink-navigation ul.dropdown li.separator-below,.ink-navigation ul.dropdown-menu li.separator-below{padding-bottom:.35em;margin-bottom:.35em;border-bottom:1px solid #d9d9d9}.ink-dropdown ul.dropdown li.heading,.ink-dropdown ul.dropdown-menu li.heading,.ink-navigation ul.dropdown li.heading,.ink-navigation ul.dropdown-menu li.heading{font-weight:700;margin-bottom:.35em;padding:.5em .8em;color:#333}.ink-dropdown ul.dropdown li a,.ink-dropdown ul.dropdown-menu li a,.ink-navigation ul.dropdown li a,.ink-navigation ul.dropdown-menu li a{color:#444;padding:.5em .8em;display:block;clear:both}.ink-dropdown ul.dropdown li a:hover,.ink-dropdown ul.dropdown-menu li a:hover,.ink-navigation ul.dropdown li a:hover,.ink-navigation ul.dropdown-menu li a:hover{background:#f2f2f2;text-decoration:none}.ink-dropdown ul.dropdown li.active a,.ink-dropdown ul.dropdown-menu li.active a,.ink-navigation ul.dropdown li.active a,.ink-navigation ul.dropdown-menu li.active a{background:#999;color:#fff}.ink-dropdown ul.dropdown li.disabled a,.ink-dropdown ul.dropdown-menu li.disabled a,.ink-navigation ul.dropdown li.disabled a,.ink-navigation ul.dropdown-menu li.disabled a{color:#b3b3b3}.ink-dropdown ul.dropdown li.disabled a:hover,.ink-dropdown ul.dropdown-menu li.disabled a:hover,.ink-navigation ul.dropdown li.disabled a:hover,.ink-navigation ul.dropdown-menu li.disabled a:hover{background:0 0;cursor:default}.ink-dropdown ul.dropdown li.submenu,.ink-dropdown ul.dropdown-menu li.submenu,.ink-navigation ul.dropdown li.submenu,.ink-navigation ul.dropdown-menu li.submenu{overflow:visible}.ink-dropdown ul.dropdown li.submenu>a,.ink-dropdown ul.dropdown-menu li.submenu>a,.ink-navigation ul.dropdown li.submenu>a,.ink-navigation ul.dropdown-menu li.submenu>a{white-space:nowrap}.ink-dropdown ul.dropdown li.submenu>a:after,.ink-dropdown ul.dropdown-menu li.submenu>a:after,.ink-navigation ul.dropdown li.submenu>a:after,.ink-navigation ul.dropdown-menu li.submenu>a:after{content:"\f0da";width:auto;margin-left:.8em;font-family:FontAwesome;color:#b3b3b3}.ink-dropdown ul.dropdown li.submenu:hover>a,.ink-dropdown ul.dropdown-menu li.submenu:hover>a,.ink-navigation ul.dropdown li.submenu:hover>a,.ink-navigation ul.dropdown-menu li.submenu:hover>a{background:#f2f2f2;text-decoration:none}.ink-dropdown ul.dropdown li.submenu:hover:hover>ul.dropdown,.ink-dropdown ul.dropdown li.submenu:hover:hover>ul.dropdown-menu,.ink-dropdown ul.dropdown-menu li.submenu:hover:hover>ul.dropdown,.ink-dropdown ul.dropdown-menu li.submenu:hover:hover>ul.dropdown-menu,.ink-navigation ul.dropdown li.submenu:hover:hover>ul.dropdown,.ink-navigation ul.dropdown li.submenu:hover:hover>ul.dropdown-menu,.ink-navigation ul.dropdown-menu li.submenu:hover:hover>ul.dropdown,.ink-navigation ul.dropdown-menu li.submenu:hover:hover>ul.dropdown-menu{display:block}.ink-dropdown ul.dropdown li.submenu>ul.dropdown,.ink-dropdown ul.dropdown li.submenu>ul.dropdown-menu,.ink-dropdown ul.dropdown-menu li.submenu>ul.dropdown,.ink-dropdown ul.dropdown-menu li.submenu>ul.dropdown-menu,.ink-navigation ul.dropdown li.submenu>ul.dropdown,.ink-navigation ul.dropdown li.submenu>ul.dropdown-menu,.ink-navigation ul.dropdown-menu li.submenu>ul.dropdown,.ink-navigation ul.dropdown-menu li.submenu>ul.dropdown-menu{font-size:inherit;position:absolute;top:-.36em;left:100%;display:none}.ink-navigation ul.pagination{overflow:hidden;*zoom:1}.ink-navigation ul.pagination li{line-height:1.7;float:left}.ink-navigation ul.pagination li a{padding:.5em 1em;display:block;float:left}.ink-navigation ul.pagination.dotted li a{display:block;height:1em;width:1em;margin-right:.6em;padding:0;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%;text-indent:99999px}.ink-navigation ul.pagination.dotted li a:first-child,.ink-navigation ul.pagination.dotted li a:last-child{-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%}.ink-navigation ul.pagination.chevron li{display:none}.ink-navigation ul.pagination.chevron li.next,.ink-navigation ul.pagination.chevron li.previous{display:block}.ink-navigation ul.pagination.chevron li.next a,.ink-navigation ul.pagination.chevron li.previous a{display:block;position:absolute;top:35%;padding:0 .5em;margin:0;font-family:FontAwesome;font-size:4em}.ink-navigation ul.pagination.chevron li.next a span,.ink-navigation ul.pagination.chevron li.previous a span{text-indent:-99999px;display:inline-block}.ink-navigation ul.pagination.chevron li.previous a{left:0}.ink-navigation ul.pagination.chevron li.previous a:after{content:"\f137"}.ink-navigation ul.pagination.chevron li.next a{right:0}.ink-navigation ul.pagination.chevron li.next a:after{content:"\f138"}.ink-navigation .pills{overflow:hidden;*zoom:1}.ink-navigation .pills li{overflow:hidden;display:block;float:left;margin:0 .5em .5em 0;line-height:1.7}.ink-navigation .pills li a{display:block;padding:.5em 1em}.ink-navigation .pills li a:hover{text-decoration:none}.ink-navigation .pills li.active a,.ink-navigation .pills li.disabled a{cursor:default}.ink-navigation ul{*height:100%}.ink-navigation ul.menu{*zoom:1}.ink-navigation ul.menu:after{content:"";display:table;clear:both}.ink-navigation ul.menu li{*height:100%}.ink-navigation ul.menu li:hover>ul.submenu{display:block}.ink-navigation ul.menu li ul.submenu{display:none;position:absolute;z-index:10}.ink-navigation ul.menu li ul.submenu li a{padding:.5em 1em;display:block;float:none}.ink-navigation ul.menu.horizontal li{float:left;position:relative}.ink-navigation ul.menu.horizontal li a{padding:.5em 1em;display:block;line-height:1.7}.ink-navigation ul.menu.horizontal li .control{margin-top:.3em}.ink-navigation ul.menu.horizontal li ul.submenu{min-width:100%;z-index:50;top:auto;left:auto}.ink-navigation ul.menu.horizontal li ul.submenu li{float:none}.ink-navigation ul.menu.horizontal li ul.submenu li .flyout{position:absolute;top:0;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.menu.horizontal li ul.submenu li .flyout.left{right:100%}.ink-navigation ul.menu.horizontal li ul.submenu li .flyout.right{left:100%}.ink-navigation ul.menu.vertical li{line-height:1.7;position:relative}.ink-navigation ul.menu.vertical li a{padding:.5em 1em;display:block}.ink-navigation ul.menu.vertical li ul.submenu{position:relative;top:auto;left:auto}.ink-navigation ul.menu.vertical li ul.submenu.flyout{position:absolute;min-width:8em;top:0;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.menu.vertical li ul.submenu.flyout.left{right:100%}.ink-navigation ul.menu.vertical li ul.submenu.flyout.right{left:100%}table.ink-table{width:100%;border-collapse:collapse;border-spacing:0}table.ink-table tr th{padding:5px 10px;line-height:1.3}table.ink-table tr th[data-sortable=true]:hover{cursor:pointer;text-decoration:underline}table.ink-table tr th[data-sortable=true]:hover i{text-decoration:none}table.ink-table tr th[data-sortable=true] i{padding-left:.5em}table.ink-table tr td{padding:5px 10px;line-height:1.3}table.ink-table.hover tbody tr:hover{cursor:pointer}table.ink-table.bordered{border-collapse:separate}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{color:#555;font-family:Roboto,Arial,Helvetica,sans-serif;line-height:1.45}.fw-100,.fw-light{font-weight:100}.fw-300,.fw-thin{font-weight:300}.fw-400,.fw-regular{font-weight:400}.fw-500,.fw-medium{font-weight:500}.fw-700,.fw-bold{font-weight:700}.fw-900,.fw-black{font-weight:900}.condensed-300,.condensed-thin{font-weight:200;font-family:Roboto_condensed,Arial,Helvetica,sans-serif}.condensed-400,.condensed-regular{font-weight:400;font-family:Roboto_condensed,Arial,Helvetica,sans-serif}.condensed-700,.condensed-bold{font-weight:700;font-family:Roboto_condensed,Arial,Helvetica,sans-serif}.slab-100,.slab-light{font-weight:100;font-family:Roboto_slab,Arial,Helvetica,sans-serif}.slab-300,.slab-thin{font-weight:300;font-family:Roboto_slab,Arial,Helvetica,sans-serif}.slab-400,.slab-regular{font-weight:400;font-family:Roboto_slab,Arial,Helvetica,sans-serif}.slab-700,.slab-bold{font-weight:700;font-family:Roboto_slab,Arial,Helvetica,sans-serif}.sans{font-family:Roboto,Arial,Helvetica,sans-serif}.serif{font-family:Times,"Times New Roman",serif}.monospace{font-family:Monaco,"Andale Mono","Courier New",monospace}.condensed{font-family:Roboto_condensed,Arial,Helvetica,sans-serif}.slab{font-family:Roboto_slab,Arial,Helvetica,sans-serif}.italic{font-style:italic}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalizer{text-transform:capitalize}.fa{font-size:14px}a{color:#6998c9;text-decoration:none;cursor:pointer}a:hover{color:#007ed5;text-decoration:underline}h1{font-size:2.2em;margin-top:0;margin-bottom:.57539em}h2{font-size:1.75em;margin-top:0;margin-bottom:.72334em}h3{font-size:1.5em;margin-top:0;margin-bottom:.8439em}h4{font-size:1.25em;margin-top:0;margin-bottom:1.01268em}h5,h6{font-size:1.1em;margin-top:0;margin-bottom:1.15077em}p,table{font-size:1em;margin-top:0;margin-bottom:1.26585em}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,p:first-child{margin-top:0}h1,h2,h3,h4,h5,h6{color:#404040;font-weight:700;line-height:1.16}small{color:#888}input,textarea{color:#666}h1 small,h2 small,h3 small,h4 small{color:#bbb;font-size:.6em;font-weight:100;line-height:1}mark{background:#dae5f2}address{color:#777;font-size:1em;line-height:1.4}address p{margin-top:0}address h6{color:#555}abbr:hover{cursor:help}blockquote{border-left:4px solid #ddd;padding-left:25px;margin:1em 0;font-weight:200;font-size:1.1em}blockquote small{font-size:.9em}blockquote small::after,blockquote small::before{content:' — '}.note{font-size:.9em;color:#777}.note strong{color:#555}.small{font-size:.75em}.medium{font-size:.85em}.large{font-size:1.2em}.extralarge{font-size:1.45em!important}hr{border:0;border-top:1px solid #ddd;margin:1em 0}.lead{font-size:1.1em;font-weight:700}ol,ul{line-height:1.4;padding:0 0 0 1.45em;margin:1em 0}ol li,ul li{margin:.5em 0}ul.unstyled{list-style:none;padding-left:0}ul.unstyled ul{list-style:disc outside}ul.inline{list-style:none}ul.inline li{display:inline-block;padding:0 .5em}ul.inline li:first-child{padding:0 .5em 0 0}dl{margin:1em 0}dl dt{font-weight:700;margin:.5em 0}dl dd{margin:.5em 0 .5em 25px}dl.inline dt{float:left;clear:left;text-align:right;width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0}dl.inline dd{margin:.5em 0 .5em 200px}figure.ink-image{position:relative;border:1px solid #555}figure.ink-image>img{width:100%}figure.ink-image>figcaption{padding:1em;background:#fff;line-height:1.3}figure.ink-image>figcaption.over-bottom,figure.ink-image>figcaption.over-top{position:absolute;width:100%;left:0;border:0}figure.ink-image>figcaption.over-bottom.dark,figure.ink-image>figcaption.over-top.dark{color:#fff;background:rgba(0,0,0,.6)}figure.ink-image>figcaption.over-top{top:0;background:rgba(255,255,255,.7)}figure.ink-image>figcaption.over-bottom{bottom:0;background:rgba(255,255,255,.7)}figure.ink-image>figcaption.dark{color:#fff;background:#222}img{border:0;width:auto;max-width:100%;vertical-align:top}.ink-alert.basic,.ink-alert.block{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-alert.basic{background:rgba(255,156,0,.25);color:#b87814;border:1px solid #b87814}.ink-alert.basic .ink-dismiss{color:#b87814}.ink-alert.basic.success{background:rgba(74,155,23,.25);color:#38621d;border:1px solid #38621d}.ink-alert.basic.success .ink-dismiss{color:#38621d}.ink-alert.basic.error{background:rgba(201,17,17,.25);color:#891e1e;border:1px solid #891e1e}.ink-alert.basic.error .ink-dismiss{color:#891e1e}.ink-alert.basic.info{background:rgba(15,117,218,.25);color:#1e5b98;border:1px solid #1e5b98}.ink-alert.basic.info .ink-dismiss{color:#1e5b98}.ink-alert.block{border:1px solid #b87814;background:#fff}.ink-alert.block>h4{background:rgba(255,156,0,.3);color:#b87814}.ink-alert.block .ink-dismiss{color:#b87814}.ink-alert.block.success{border:1px solid #38621d;background:#fff}.ink-alert.block.success>h4{background:rgba(74,155,23,.3);color:#38621d}.ink-alert.block.success .ink-dismiss{color:#38621d}.ink-alert.block.error{border:1px solid #891e1e;background:#fff}.ink-alert.block.error>h4{background:rgba(201,17,17,.3);color:#891e1e}.ink-alert.block.error .ink-dismiss{color:#891e1e}.ink-alert.block.info{border:1px solid #1e5b98;background:#fff}.ink-alert.block.info>h4{background:rgba(15,117,218,.3);color:#1e5b98}.ink-alert.block.info .ink-dismiss{color:#1e5b98}.ink-alert .ink-dismiss{font-family:Arial,sans-serif;font-weight:700;text-shadow:#fff 0 1px 0;filter:alpha(Opacity=25);opacity:.25}.ink-alert .ink-dismiss:hover{filter:alpha(Opacity=60);opacity:.6}.ink-badge{-webkit-border-radius:8em;-moz-border-radius:8em;-ms-border-radius:8em;-o-border-radius:8em;border-radius:8em;color:#fff}.ink-badge.white{background:#fff;color:#555}.ink-badge.black{background:#000}.ink-badge.orange{background:#ff9c00}.ink-badge.red{background:#c91111}.ink-badge.green{background:#4a9b17}.ink-badge.blue{background:#0f75da}.ink-badge.yellow{background:#ffd500;color:#555}.ink-badge.grey{background:gray}.ink-badge+.ink-badge{margin-left:.2em}.ink-button{background:#d9d9d9;color:#000;border:1px solid #bfbfbf;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;font-weight:300}.ink-button:active,.ink-button:hover{text-decoration:none;color:#000;background:#ccc;border:1px solid #b3b3b3;-webkit-box-shadow:rgba(0,0,0,.2) 0 1px 1px;-moz-box-shadow:rgba(0,0,0,.2) 0 1px 1px;box-shadow:rgba(0,0,0,.2) 0 1px 1px}.ink-button:focus{outline:0;background:#ccc;-webkit-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;-moz-box-shadow:rgba(0,0,0,.2) 0 1px 1px inset;box-shadow:rgba(0,0,0,.2) 0 1px 1px inset}.ink-button[disabled]{background:#e6e6e6;border:1px solid #e6e6e6;color:#999}.ink-button[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ink-button.blue{color:#fff;background:#0f75da;border:1px solid #0c63b9}.ink-button.blue:active,.ink-button.blue:hover{background:#0d68c2;border:1px solid #0a56a1;color:#fff;text-decoration:none}.ink-button.blue:focus{background:#0d68c2}.ink-button.blue[disabled]{background:rgba(15,117,218,.6);border:1px solid rgba(15,117,218,0);color:#0c5baa}.ink-button.blue[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ink-button.green{color:#fff;background:#4a9b17;border:1px solid #3e8313}.ink-button.green:active,.ink-button.green:hover{background:#3f8514;border:1px solid #336d10;color:#fff;text-decoration:none}.ink-button.green:focus{background:#3f8514}.ink-button.green[disabled]{background:rgba(74,155,23,.6);border:1px solid rgba(74,155,23,0);color:#356f10}.ink-button.green[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ink-button.orange{color:#fff;background:#ff9c00;border:1px solid #d88400}.ink-button.orange:active,.ink-button.orange:hover{background:#e68c00;border:1px solid #bf7400;color:#fff;text-decoration:none}.ink-button.orange:focus{background:#e68c00}.ink-button.orange[disabled]{background:rgba(255,156,0,.6);border:1px solid rgba(255,156,0,0);color:#cc7d00}.ink-button.orange[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ink-button.red{color:#fff;background:#c91111;border:1px solid #aa0e0e}.ink-button.red:active,.ink-button.red:hover{background:#b10f0f;border:1px solid #920c0c;color:#fff;text-decoration:none}.ink-button.red:focus{background:#b10f0f}.ink-button.red[disabled]{background:rgba(201,17,17,.6);border:1px solid rgba(201,17,17,0);color:#9a0d0d}.ink-button.red[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ink-button.black{color:#fff;background:#1a1a1a;border:1px solid #161616}.ink-button.black:active,.ink-button.black:hover{background:#0d0d0d;border:1px solid #090909;color:#fff;text-decoration:none}.ink-button.black:focus{background:#0d0d0d}.ink-button.black[disabled]{background:rgba(26,26,26,.6);border:1px solid rgba(26,26,26,0);color:#000}.ink-button.black[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.ink-button.white{color:#555;background:#fff;border:1px solid #d8d8d8}.ink-button.white:active,.ink-button.white:hover{background:#f2f2f2;border:1px solid #cbcbcb;color:#555;text-decoration:none}.ink-button.white:focus{background:#f2f2f2}.ink-button.white[disabled]{background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,0);color:#e6e6e6}.ink-button.white[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.button-group>.ink-button[disabled]{background:#e6e6e6;border:1px solid rgba(217,217,217,.6)}.button-group>.ink-button[disabled]:hover{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.button-group>.ink-button.blue:first-child{border-left:#0c63b9}.button-group>.ink-button.blue[disabled]{background:rgba(15,117,218,.6);border:1px solid rgba(15,117,218,.3)}.button-group>.ink-button.green:first-child{border-left:#3e8313}.button-group>.ink-button.green[disabled]{background:rgba(74,155,23,.6);border:1px solid rgba(74,155,23,.3)}.button-group>.ink-button.orange:first-child{border-left:#d88400}.button-group>.ink-button.orange[disabled]{background:rgba(255,156,0,.6);border:1px solid rgba(255,156,0,.3)}.button-group>.ink-button.red:first-child{border-left:#aa0e0e}.button-group>.ink-button.red[disabled]{background:rgba(201,17,17,.6);border:1px solid rgba(201,17,17,.3)}.button-group>.ink-button.black:first-child{border-left:#161616}.button-group>.ink-button.black[disabled]{background:rgba(26,26,26,.6);border:1px solid rgba(26,26,26,.3)}.button-group>.ink-button.white:first-child{border-left:#d8d8d8}.button-group>.ink-button.white[disabled]{background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.3)}.ink-label{color:#fff;font-weight:300;font-size:.938em;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-label.white{background:#fff;color:#555}.ink-label.black{background:#000}.ink-label.orange{background:#ff9c00}.ink-label.red{background:#c91111}.ink-label.green{background:#4a9b17}.ink-label.blue{background:#0f75da}.ink-label.yellow{background:#ffd500;color:#555}.ink-label.grey{background:gray}.ink-label+.ink-label{margin-left:.2em}.ink-navigation ul.breadcrumbs{font-weight:300;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.breadcrumbs li.active a{background:0 0;color:#999}.ink-navigation ul.breadcrumbs li.active a:hover{cursor:default;text-decoration:none}.ink-navigation ul.breadcrumbs li a:hover{background:0 0;text-decoration:underline}.ink-navigation ul.breadcrumbs.white{background:#fff}.ink-navigation ul.breadcrumbs.white li a,.ink-navigation ul.breadcrumbs.white li:after{color:#555}.ink-navigation ul.breadcrumbs.white li.active a{color:#ccc;text-shadow:#fff 0 1px 0}.ink-navigation ul.breadcrumbs.grey{background:#d9d9d9}.ink-navigation ul.breadcrumbs.grey li a,.ink-navigation ul.breadcrumbs.grey li:after{color:#555}.ink-navigation ul.breadcrumbs.grey li.active a{color:#a6a6a6;text-shadow:#ededed 0 1px 0}.ink-navigation ul.breadcrumbs.black{background:#1a1a1a}.ink-navigation ul.breadcrumbs.black li a,.ink-navigation ul.breadcrumbs.black li:after{color:#fff}.ink-navigation ul.breadcrumbs.black li.active a{color:#666;text-shadow:#000 0 -1px 0}.ink-navigation ul.breadcrumbs.blue{background:#1b75ce}.ink-navigation ul.breadcrumbs.blue li a,.ink-navigation ul.breadcrumbs.blue li:after{color:#fff}.ink-navigation ul.breadcrumbs.blue li.active a{color:#08427b;text-shadow:#1884ef 0 1px 0}.ink-navigation ul.breadcrumbs.orange{background:#f2990d}.ink-navigation ul.breadcrumbs.orange li a,.ink-navigation ul.breadcrumbs.orange li:after{color:#fff}.ink-navigation ul.breadcrumbs.orange li.active a{color:#995e00;text-shadow:#ffa81f 0 1px 0}.ink-navigation ul.breadcrumbs.green{background:#4c9220}.ink-navigation ul.breadcrumbs.green li a,.ink-navigation ul.breadcrumbs.green li:after{color:#fff}.ink-navigation ul.breadcrumbs.green li.active a{color:#20420a;text-shadow:#57b61b 0 1px 0}.ink-navigation ul.breadcrumbs.red{background:#be1c1c}.ink-navigation ul.breadcrumbs.red li a,.ink-navigation ul.breadcrumbs.red li:after{color:#fff}.ink-navigation ul.breadcrumbs.red li.active a{color:#6b0909;text-shadow:#e51313 0 1px 0}.ink-dropdown.green ul.dropdown-menu li.active a{background:#4a9b17;color:#fff}.ink-dropdown.orange ul.dropdown-menu li.active a{background:#ff9c00;color:#fff}.ink-dropdown.red ul.dropdown-menu li.active a{background:#c91111;color:#fff}.ink-dropdown.black ul.dropdown-menu li.active a{background:#1a1a1a;color:#fff}.ink-dropdown.blue ul.dropdown-menu li.active a{background:#0f75da;color:#fff}.ink-navigation ul.menu{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.menu>li{font-weight:300}.ink-navigation ul.menu>li.active a{text-decoration:underline}.ink-navigation ul.menu>li.heading{font-weight:500}.ink-navigation ul.menu>li.disabled a{color:#b3b3b3;text-shadow:#fff 0 1px 0}.ink-navigation ul.menu>li.disabled a:hover{cursor:default;background:0 0;text-decoration:none}.ink-navigation ul.menu>li ul.submenu li{font-size:.875em}.ink-navigation ul.menu>li ul.submenu li a{border-bottom:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.vertical li a{border-bottom:1px solid rgba(0,0,0,.15)}.ink-navigation ul.menu.vertical li:first-child,.ink-navigation ul.menu.vertical li:first-child>a{-webkit-border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-ms-border-radius:2px 2px 0 0;-o-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0}.ink-navigation ul.menu.vertical li:last-child{-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-ms-border-radius:0 0 2px 2px;-o-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px}.ink-navigation ul.menu.vertical li:last-child>a{border-bottom:0;-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-ms-border-radius:0 0 2px 2px;-o-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px}.ink-navigation ul.menu.vertical li:last-child .submenu{-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-ms-border-radius:0 0 2px 2px;-o-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px}.ink-navigation ul.menu.vertical li:last-child .submenu.flyout{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.menu.vertical li:last-child .submenu li:last-child,.ink-navigation ul.menu.vertical li:last-child .submenu li:last-child a{-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-ms-border-radius:0 0 2px 2px;-o-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px}.ink-navigation ul.menu.horizontal>li:first-child,.ink-navigation ul.menu.horizontal>li:first-child a{-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;-ms-border-radius:2px 0 0 2px;-o-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.ink-navigation ul.menu.horizontal>li:last-child,.ink-navigation ul.menu.horizontal>li:last-child a{-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;-ms-border-radius:0 2px 2px 0;-o-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.ink-navigation ul.menu.horizontal>li ul.submenu{-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-ms-border-radius:0 0 2px 2px;-o-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;background:#fff}.ink-navigation ul.menu.horizontal>li ul.submenu li:last-child{-webkit-border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-ms-border-radius:0 0 2px 2px;-o-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px}.ink-navigation ul.menu.horizontal>li ul.submenu li:last-child a{border-bottom:0}.ink-navigation ul.menu.white{background:#fff}.ink-navigation ul.menu.white li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.white li ul.submenu li a{color:#555}.ink-navigation ul.menu.white li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.white li.disabled a:hover{background:0 0}.ink-navigation ul.menu.white li.active{background:#e6e6e6}.ink-navigation ul.menu.white li.disabled a{color:#ccc;text-shadow:#fff 0 1px 0}.ink-navigation ul.menu.white li a{color:#555;text-decoration:none}.ink-navigation ul.menu.white li a:hover{background:#f2f2f2}.ink-navigation ul.menu.grey{background:#d9d9d9}.ink-navigation ul.menu.grey li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.grey li ul.submenu li a{color:#555}.ink-navigation ul.menu.grey li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.grey li.disabled a:hover{background:0 0}.ink-navigation ul.menu.grey li.active{background:#bfbfbf}.ink-navigation ul.menu.grey li.disabled a{color:#a6a6a6;text-shadow:#ededed 0 1px 0}.ink-navigation ul.menu.grey li a{color:#555;text-decoration:none}.ink-navigation ul.menu.grey li a:hover{background:#ccc}.ink-navigation ul.menu.black{background:#1a1a1a}.ink-navigation ul.menu.black li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.black li ul.submenu li a{color:#555}.ink-navigation ul.menu.black li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.black li.disabled a:hover{background:0 0}.ink-navigation ul.menu.black li.active{background:#333}.ink-navigation ul.menu.black li.disabled a{color:#666;text-shadow:#000 0 -1px 0}.ink-navigation ul.menu.black li a{color:#fff;text-decoration:none}.ink-navigation ul.menu.black li a:hover{background:#404040}.ink-navigation ul.menu.blue{background:#1b75ce}.ink-navigation ul.menu.blue li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.blue li ul.submenu li a{color:#555}.ink-navigation ul.menu.blue li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.blue li.disabled a:hover{background:0 0}.ink-navigation ul.menu.blue li.active{background:#0c5baa}.ink-navigation ul.menu.blue li.disabled a{color:#08427b;text-shadow:#2289f0 0 1px 0}.ink-navigation ul.menu.blue li a{color:#fff;text-decoration:none}.ink-navigation ul.menu.blue li a:hover{background:#0d68c2}.ink-navigation ul.menu.green{background:#4c9220}.ink-navigation ul.menu.green li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.green li ul.submenu li a{color:#555}.ink-navigation ul.menu.green li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.green li.disabled a:hover{background:0 0}.ink-navigation ul.menu.green li.active{background:#356f10}.ink-navigation ul.menu.green li.disabled a{color:#20420a;text-shadow:#5bbf1c 0 1px 0}.ink-navigation ul.menu.green li a{color:#fff;text-decoration:none}.ink-navigation ul.menu.green li a:hover{background:#3f8514}.ink-navigation ul.menu.orange{background:#f2990d}.ink-navigation ul.menu.orange li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.orange li ul.submenu li a{color:#555}.ink-navigation ul.menu.orange li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.orange li.disabled a:hover{background:0 0}.ink-navigation ul.menu.orange li.active{background:#cc7d00}.ink-navigation ul.menu.orange li.disabled a{color:#995e00;text-shadow:#ffac29 0 1px 0}.ink-navigation ul.menu.orange li a{color:#fff;text-decoration:none}.ink-navigation ul.menu.orange li a:hover{background:#e68c00}.ink-navigation ul.menu.red{background:#be1c1c}.ink-navigation ul.menu.red li ul.submenu{background:#fff;border:1px solid rgba(0,0,0,.1)}.ink-navigation ul.menu.red li ul.submenu li a{color:#555}.ink-navigation ul.menu.red li ul.submenu li a:hover{background:rgba(0,0,0,.05)}.ink-navigation ul.menu.red li.disabled a:hover{background:0 0}.ink-navigation ul.menu.red li.active{background:#9a0d0d}.ink-navigation ul.menu.red li.disabled a{color:#6b0909;text-shadow:#eb1717 0 1px 0}.ink-navigation ul.menu.red li a{color:#fff;text-decoration:none}.ink-navigation ul.menu.red li a:hover{background:#b10f0f}.ink-navigation ul.pagination{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.pagination li{font-weight:300}.ink-navigation ul.pagination li.active a{text-decoration:underline}.ink-navigation ul.pagination li.disabled a{color:#b3b3b3;text-shadow:#fff 0 1px 0}.ink-navigation ul.pagination li.disabled a:hover{cursor:default;background:0 0;text-decoration:none}.ink-navigation ul.pagination li:first-child,.ink-navigation ul.pagination li:first-child a{-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;-ms-border-radius:2px 0 0 2px;-o-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px}.ink-navigation ul.pagination li:last-child,.ink-navigation ul.pagination li:last-child a{-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;-ms-border-radius:0 2px 2px 0;-o-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}.ink-navigation ul.pagination.white li{background:#fff}.ink-navigation ul.pagination.white li.active a{background:#e6e6e6}.ink-navigation ul.pagination.white li.disabled a{color:#ccc;text-shadow:#fff 0 1px 0}.ink-navigation ul.pagination.white li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.white li a{color:#555;text-decoration:none}.ink-navigation ul.pagination.white li a:hover{background:#f2f2f2}.ink-navigation ul.pagination.grey li{background:#d9d9d9}.ink-navigation ul.pagination.grey li.active a{background:#bfbfbf}.ink-navigation ul.pagination.grey li.disabled a{color:#a6a6a6;text-shadow:#ededed 0 1px 0}.ink-navigation ul.pagination.grey li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.grey li a{color:#555;text-decoration:none}.ink-navigation ul.pagination.grey li a:hover{background:#ccc}.ink-navigation ul.pagination.black li{background:#1a1a1a}.ink-navigation ul.pagination.black li.active a{background:#333}.ink-navigation ul.pagination.black li.disabled a{color:#666;text-shadow:#000 0 -1px 0}.ink-navigation ul.pagination.black li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.black li a{color:#fff;text-decoration:none}.ink-navigation ul.pagination.black li a:hover{background:#292929}.ink-navigation ul.pagination.orange li{background:#f2990d}.ink-navigation ul.pagination.orange li.active a{background:#cc7d00}.ink-navigation ul.pagination.orange li.disabled a{color:#995e00;text-shadow:#ffac29 0 1px 0}.ink-navigation ul.pagination.orange li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.orange li a{color:#fff;text-decoration:none}.ink-navigation ul.pagination.orange li a:hover{background:#e68c00}.ink-navigation ul.pagination.blue li{background:#1b75ce}.ink-navigation ul.pagination.blue li.active a{background:#0c5baa}.ink-navigation ul.pagination.blue li.disabled a{color:#08427b;text-shadow:#2289f0 0 1px 0}.ink-navigation ul.pagination.blue li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.blue li a{color:#fff;text-decoration:none}.ink-navigation ul.pagination.blue li a:hover{background:#0d68c2}.ink-navigation ul.pagination.green li{background:#4c9220}.ink-navigation ul.pagination.green li.active a{background:#356f10}.ink-navigation ul.pagination.green li.disabled a{color:#20420a;text-shadow:#5bbf1c 0 1px 0}.ink-navigation ul.pagination.green li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.green li a{color:#fff;text-decoration:none}.ink-navigation ul.pagination.green li a:hover{background:#3f8514}.ink-navigation ul.pagination.red li{background:#be1c1c}.ink-navigation ul.pagination.red li.active a{background:#9a0d0d}.ink-navigation ul.pagination.red li.disabled a{color:#6b0909;text-shadow:#eb1717 0 1px 0}.ink-navigation ul.pagination.red li.disabled a:hover{background:0 0}.ink-navigation ul.pagination.red li a{color:#fff;text-decoration:none}.ink-navigation ul.pagination.red li a:hover{background:#b10f0f}.ink-navigation ul.pagination.dotted li{background:0 0}.ink-navigation ul.pagination.dotted li a{background:#999;filter:alpha(Opacity=50);opacity:.5}.ink-navigation ul.pagination.dotted li.active a,.ink-navigation ul.pagination.dotted li:hover a{filter:alpha(Opacity=100);opacity:1}.ink-navigation ul.pagination.dotted.black li a{background:#1a1a1a}.ink-navigation ul.pagination.dotted.white li a{background:#fff}.ink-navigation ul.pagination.dotted.blue li a{background:#1b75ce}.ink-navigation ul.pagination.dotted.green li a{background:#4c9220}.ink-navigation ul.pagination.dotted.orange li a{background:#f2990d}.ink-navigation ul.pagination.dotted.red li a{background:#be1c1c}.ink-navigation ul.pagination.chevron li.next a,.ink-navigation ul.pagination.chevron li.previous a{color:#fff;filter:alpha(Opacity=60);opacity:.6}.ink-navigation ul.pagination.chevron li.next a.active,.ink-navigation ul.pagination.chevron li.next a:focus,.ink-navigation ul.pagination.chevron li.next a:hover,.ink-navigation ul.pagination.chevron li.previous a.active,.ink-navigation ul.pagination.chevron li.previous a:focus,.ink-navigation ul.pagination.chevron li.previous a:hover{filter:alpha(Opacity=80);opacity:.8;text-decoration:none;background:0 0}.ink-navigation ul.pagination.chevron li.disabled a{color:#fff;filter:alpha(Opacity=60);opacity:.6;text-shadow:none}.ink-navigation ul.pagination.chevron li.disabled a:focus,.ink-navigation ul.pagination.chevron li.disabled a:hover{color:#fff;filter:alpha(Opacity=60);opacity:.6}.ink-navigation ul.pagination.chevron.black li.disabled a,.ink-navigation ul.pagination.chevron.black li.next a,.ink-navigation ul.pagination.chevron.black li.previous a{color:#1a1a1a}.ink-navigation ul.pagination.chevron.grey li.disabled a,.ink-navigation ul.pagination.chevron.grey li.next a,.ink-navigation ul.pagination.chevron.grey li.previous a{color:#d9d9d9}.ink-navigation ul.pagination.chevron.blue li.disabled a,.ink-navigation ul.pagination.chevron.blue li.next a,.ink-navigation ul.pagination.chevron.blue li.previous a{color:#1b75ce}.ink-navigation ul.pagination.chevron.green li.disabled a,.ink-navigation ul.pagination.chevron.green li.next a,.ink-navigation ul.pagination.chevron.green li.previous a{color:#4c9220}.ink-navigation ul.pagination.chevron.orange li.disabled a,.ink-navigation ul.pagination.chevron.orange li.next a,.ink-navigation ul.pagination.chevron.orange li.previous a{color:#f2990d}.ink-navigation ul.pagination.chevron.red li.disabled a,.ink-navigation ul.pagination.chevron.red li.next a,.ink-navigation ul.pagination.chevron.red li.previous a{color:#be1c1c}.ink-navigation ul.pills li{background:#fff;font-weight:300;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-navigation ul.pills li a{color:#555;background:0 0}.ink-navigation ul.pills li a:hover,.ink-navigation ul.pills li.active a{background:#e6e6e6}.ink-navigation ul.pills li.disabled a{color:#999;text-shadow:#fff 0 1px 0}.ink-navigation ul.pills li.disabled a:hover{background:0 0}.ink-navigation ul.pills.grey li{background:#d9d9d9}.ink-navigation ul.pills.grey li.active a{background:#bfbfbf}.ink-navigation ul.pills.grey li.disabled a{color:#a6a6a6;text-shadow:#ededed 0 1px 0}.ink-navigation ul.pills.grey li.disabled a:hover{background:0 0}.ink-navigation ul.pills.grey li a{color:#555}.ink-navigation ul.pills.grey li a:hover{background:#ccc}.ink-navigation ul.pills.black li{background:#1a1a1a}.ink-navigation ul.pills.black li.active a{background:#333}.ink-navigation ul.pills.black li.disabled a{color:#666;text-shadow:#000 0 -1px 0}.ink-navigation ul.pills.black li.disabled a:hover{background:0 0}.ink-navigation ul.pills.black li a{color:#fff}.ink-navigation ul.pills.black li a:hover{background:#292929}.ink-navigation ul.pills.blue li{background:#1b75ce}.ink-navigation ul.pills.blue li.active a{background:#0c5baa}.ink-navigation ul.pills.blue li.disabled a{color:#08427b;text-shadow:#2289f0 0 1px 0}.ink-navigation ul.pills.blue li.disabled a:hover{background:0 0}.ink-navigation ul.pills.blue li a{color:#fff}.ink-navigation ul.pills.blue li a:hover{background:#0d68c2}.ink-navigation ul.pills.green li{background:#4c9220}.ink-navigation ul.pills.green li.active a{background:#356f10}.ink-navigation ul.pills.green li.disabled a{color:#20420a;text-shadow:#5bbf1c 0 1px 0}.ink-navigation ul.pills.green li.disabled a:hover{background:0 0}.ink-navigation ul.pills.green li a{color:#fff}.ink-navigation ul.pills.green li a:hover{background:#3f8514}.ink-navigation ul.pills.orange li{background:#f2990d}.ink-navigation ul.pills.orange li.active a{background:#cc7d00}.ink-navigation ul.pills.orange li.disabled a{color:#995e00;text-shadow:#ffac29 0 1px 0}.ink-navigation ul.pills.orange li.disabled a:hover{background:0 0}.ink-navigation ul.pills.orange li a{color:#fff}.ink-navigation ul.pills.orange li a:hover{background:#e68c00}.ink-navigation ul.pills.red li{background:#be1c1c}.ink-navigation ul.pills.red li.active a{background:#9a0d0d}.ink-navigation ul.pills.red li.disabled a{color:#6b0909;text-shadow:#eb1717 0 1px 0}.ink-navigation ul.pills.red li.disabled a:hover{background:0 0}.ink-navigation ul.pills.red li a{color:#fff}.ink-navigation ul.pills.red li a:hover{background:#b10f0f}table.ink-table{background:#fff}table.ink-table tr td,table.ink-table tr th{border-bottom:#bbb 1px solid;background:0 0}table.ink-table tr:last-child td{border-bottom:0}table.ink-table tfoot tr td,table.ink-table tfoot tr th{border-top:#bbb 1px solid}table.ink-table.alternating tbody tr:nth-child(odd){background-color:#f5f5f5}table.ink-table.hover tbody tr:hover{background:#fefbd6;color:#555}table.ink-table.bordered{border:#bbb 1px solid;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}table.ink-table.bordered tr th{border-left:#bbb 1px solid}table.ink-table.bordered tr th:first-child{border-left:0}table.ink-table.bordered tr:last-child td{border-bottom:0}table.ink-table.bordered tr td{border-left:#bbb 1px solid}table.ink-table.bordered tr td:first-child{border-left:0}table.ink-table tbody>tr.red td{background:#c91111;color:#fff}table.ink-table tbody>tr.green td{background:#4a9b17;color:#fff}table.ink-table tbody>tr.blue td{background:#0f75da;color:#fff}table.ink-table tbody>tr.orange td{background:#ff9c00;color:#fff}table.ink-table tbody>tr.black td{background:#000;color:#ccc}table.ink-table tbody>tr.yellow td{background:#ffd500;color:#000}.animated.slow{animation-duration:1s}.animated.medium{animation-duration:.5s}.animated.fast{animation-duration:.2s}.ink-carousel{width:100%;position:relative;overflow:hidden;display:block}.ink-carousel .stage{left:0;height:auto!important;margin-top:0;margin-bottom:0;padding-left:0;list-style-type:none;white-space:nowrap;position:relative;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.ink-carousel .stage .slide{position:relative;display:inline-block;vertical-align:top;white-space:normal;margin:0;float:none;zoom:1;*display:inline}.ink-carousel .ink-navigation{position:static}.ink-datepicker-wrapper{position:relative}.ink-datepicker-calendar{margin-top:0;position:absolute}.ink-datepicker-calendar.right{left:100%;top:0}.ink-datepicker-calendar.left{right:100%;top:0}.ink-datepicker-calendar.bottom{top:100%;left:0}.ink-datepicker-calendar.top{bottom:100%;left:0}.ink-datepicker-calendar,.ink-datepicker-wrapper{display:inline;display:inline-block}.ink-calendar{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;text-align:center;padding:.3em;min-width:17.4em;font-size:13px;-webkit-box-shadow:rgba(0,0,0,.4) 0 1px 2px 0;-moz-box-shadow:rgba(0,0,0,.4) 0 1px 2px 0;box-shadow:rgba(0,0,0,.4) 0 1px 2px 0;background:#fff;z-index:10}.ink-calendar a{text-decoration:none}.ink-calendar li{list-style:none inside}html.ink-modal-is-open .ink-calendar{z-index:101}.ink-calendar-top-options{padding:5px;font-size:.813em;cursor:pointer}.ink-calendar-top-options .clean{float:left}.ink-calendar-top-options .close{float:right}.ink-calendar-top{line-height:2em;background:#e6e6e6;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-calendar-top div{float:left}.ink-calendar-top .ink-calendar-next,.ink-calendar-top .ink-calendar-prev{width:10%}.ink-calendar-top .ink-calendar-next a,.ink-calendar-top .ink-calendar-prev a{display:block}.ink-calendar-top .ink-calendar-month_desc{width:80%}.ink-calendar-month,.ink-calendar-month-selector,.ink-calendar-year-selector{margin-top:.5em;padding-left:0}.ink-calendar-month li a,.ink-calendar-month-selector li a,.ink-calendar-year-selector li a{margin:0;line-height:2em;vertical-align:middle;display:block;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;color:#444}.ink-calendar-month li a:hover,.ink-calendar-month-selector li a:hover,.ink-calendar-year-selector li a:hover{background:#e6e6e6}.ink-calendar-month li a.ink-calendar-on,.ink-calendar-month li a.ink-calendar-on:hover,.ink-calendar-month-selector li a.ink-calendar-on,.ink-calendar-month-selector li a.ink-calendar-on:hover,.ink-calendar-year-selector li a.ink-calendar-on,.ink-calendar-year-selector li a.ink-calendar-on:hover{background:#0069d6;color:#fff}.ink-calendar-month li a.ink-calendar-off,.ink-calendar-month li a.ink-calendar-off:hover,.ink-calendar-month-selector li a.ink-calendar-off,.ink-calendar-month-selector li a.ink-calendar-off:hover,.ink-calendar-year-selector li a.ink-calendar-off,.ink-calendar-year-selector li a.ink-calendar-off:hover{background:#fff;color:#aaa;cursor:default}.ink-calendar-month ul,.ink-calendar-month-selector ul,.ink-calendar-year-selector ul{clear:both;padding-left:0}.ink-calendar-month ul li,.ink-calendar-month-selector ul li,.ink-calendar-year-selector ul li{width:2.4em;float:left;text-align:center;padding:0;margin:0}.ink-calendar-month-selector ul li,.ink-calendar-year-selector ul li{width:25%}.ink-calendar-month-selector,.ink-calendar-year-selector{display:none}.action_inactive,.ink-calendar-off{color:#ddd!important}.ink-calendar-month .ink-calendar-header{border-bottom:1px solid rgba(0,0,0,.1);padding-bottom:.5em;margin-bottom:.5em;color:#aaa}.ink-calendar-middle,.ink-calendar-month .ink-calendar-header,.ink-calendar-month .ink-calendar-middle ul,.ink-calendar-top,.ink-calendar-top-options{*zoom:1}.ink-calendar-middle:after,.ink-calendar-month .ink-calendar-header:after,.ink-calendar-month .ink-calendar-middle ul:after,.ink-calendar-top-options:after,.ink-calendar-top:after{content:"";display:table;clear:both}body.ink-drawer{max-width:100%}body.ink-drawer .content-drawer,body.ink-drawer .left-drawer,body.ink-drawer .right-drawer{-webkit-transition-property:translate3d;-moz-transition-property:translate3d;-o-transition-property:translate3d;transition-property:translate3d;-webkit-transition-duration:300ms;-moz-transition-duration:300ms;-o-transition-duration:300ms;transition-duration:300ms;-webkit-transition-timing-function:cubic-bezier(0.86,0,.07,1);-moz-transition-timing-function:cubic-bezier(0.86,0,.07,1);-o-transition-timing-function:cubic-bezier(0.86,0,.07,1);transition-timing-function:cubic-bezier(0.86,0,.07,1)}body.ink-drawer .left-drawer{left:-220px}body.ink-drawer .right-drawer{right:-220px}body.ink-drawer .content-drawer{width:100%}body.ink-drawer .left-drawer,body.ink-drawer .right-drawer{position:absolute;top:0;z-index:0;display:none;overflow-x:hidden;overflow-y:auto;width:220px;height:100%;-webkit-overflow-scrolling:touch}body.ink-drawer .left-drawer.show,body.ink-drawer .right-drawer.show{display:block}body.ink-drawer.push{overflow:hidden;width:100%;height:100%;position:fixed}body.ink-drawer.push .content-drawer{overflow:hidden}body.ink-drawer.push.left .content-drawer,body.ink-drawer.push.left .left-drawer{-webkit-transform:translate3d(220px,0,0);-moz-transform:translate3d(220px,0,0);-ms-transform:translate3d(220px,0,0);-o-transform:translate3d(220px,0,0);transform:translate3d(220px,0,0)}body.ink-drawer.push.right .content-drawer,body.ink-drawer.push.right .right-drawer{-webkit-transform:translate3d(-220px,0,0);-moz-transform:translate3d(-220px,0,0);-ms-transform:translate3d(-220px,0,0);-o-transform:translate3d(-220px,0,0);transform:translate3d(-220px,0,0)}body.ink-drawer.over{overflow:hidden;-webkit-user-drag:none}body.ink-drawer.over.left .left-drawer{-webkit-transform:translate3d(220px,0,0);-moz-transform:translate3d(220px,0,0);-ms-transform:translate3d(220px,0,0);-o-transform:translate3d(220px,0,0);transform:translate3d(220px,0,0)}body.ink-drawer.over.right .right-drawer{-webkit-transform:translate3d(-220px,0,0);-moz-transform:translate3d(-220px,0,0);-ms-transform:translate3d(-220px,0,0);-o-transform:translate3d(-220px,0,0);transform:translate3d(-220px,0,0)}.ink-shade{background:rgba(0,0,0,.8);width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin-top:0;position:fixed;z-index:100;display:none;filter:alpha(Opacity=0);opacity:0}.ink-shade.fade{-webkit-transition:opacity 300ms;-moz-transition:opacity 300ms;-o-transition:opacity 300ms;transition:opacity 300ms}.ink-shade.visible{filter:alpha(Opacity=100);opacity:1}.ink-modal{top:50%;left:50%;width:90%;height:90%;background:#fff;z-index:100;position:absolute;overflow:hidden;filter:alpha(Opacity=100);opacity:1;-webkit-box-shadow:rgba(0,0,0,.8) 0 0 15px 0;-moz-box-shadow:rgba(0,0,0,.8) 0 0 15px 0;box-shadow:rgba(0,0,0,.8) 0 0 15px 0;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;*zoom:1}.ink-modal:after{content:"";display:table;clear:both}.ink-modal>.modal-body{padding:1em;overflow-y:auto;overflow-x:hidden;height:auto}.ink-modal>.modal-body .ink-grid{padding-left:0;padding-right:0;width:100%;min-width:100%}.ink-modal>.modal-header,.ink-modal>header{border-bottom:1px #e6e6e6 solid;overflow:hidden;-webkit-box-shadow:rgba(175,175,175,.2) 0 1px 2px 0;-moz-box-shadow:rgba(175,175,175,.2) 0 1px 2px 0;box-shadow:rgba(175,175,175,.2) 0 1px 2px 0}.ink-modal>.modal-header>.modal-close,.ink-modal>header>.modal-close{padding-top:2px;text-align:center;color:#fff;width:26px;height:26px;line-height:1.2em;border:0;background:#bfbfbf;font-size:0;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%;text-shadow:rgba(0,0,0,.6) 0 -1px 0;filter:alpha(Opacity=60);opacity:.6;float:right}.ink-modal>.modal-header>.modal-close:after,.ink-modal>header>.modal-close:after{content:"\f00d";font-family:FontAwesome;font-size:medium;line-height:22px}.ink-modal>.modal-header>.modal-close:hover,.ink-modal>header>.modal-close:hover{filter:alpha(Opacity=100);opacity:1}.ink-modal>.modal-footer,.ink-modal>footer{background:#e6e6e6;margin-bottom:0;zoom:1;-webkit-box-shadow:rgba(175,175,175,.2) 0 -1px 2px 0;-moz-box-shadow:rgba(175,175,175,.2) 0 -1px 2px 0;box-shadow:rgba(175,175,175,.2) 0 -1px 2px 0}.ink-modal>.modal-footer,.ink-modal>.modal-header,.ink-modal>footer,.ink-modal>header{padding:.8em 1em .65em}.ink-modal>.modal-footer:after,.ink-modal>.modal-footer:before,.ink-modal>.modal-header:after,.ink-modal>.modal-header:before,.ink-modal>footer:after,.ink-modal>footer:before,.ink-modal>header:after,.ink-modal>header:before{content:".";display:block;height:0;clear:both;visibility:hidden}.ink-modal-open{overflow:hidden}.ink-progress-bar{margin-bottom:1em;overflow:hidden;background:#f2f2f2;position:relative;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:0,1px,3px,0,rgba(0,0,0,.2),inset;-moz-box-shadow:0,1px,3px,0,rgba(0,0,0,.2),inset;box-shadow:0,1px,3px,0,rgba(0,0,0,.2),inset}.ink-progress-bar .caption{position:absolute;top:0;left:0;width:100%;height:100%;line-height:1.7;text-align:center;color:#000;font-size:.813em;z-index:10}.ink-progress-bar .bar{height:1.3em;text-shadow:rgba(0,0,0,.25),0,1px,0;-webkit-box-shadow:0,1px,1px,0,rgba(0,0,0,.1),inset;-moz-box-shadow:0,1px,1px,0,rgba(0,0,0,.1),inset;box-shadow:0,1px,1px,0,rgba(0,0,0,.1),inset;-webkit-transition-property:width;-moz-transition-property:width;-o-transition-property:width;transition-property:width;-webkit-transition-duration:.6s;-moz-transition-duration:.6s;-o-transition-duration:.6s;transition-duration:.6s;-webkit-transition-timing-function:ease;-moz-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.ink-progress-bar .bar.grey{background:#ccc;color:#555}.ink-progress-bar .bar.green{background:#4a9b17;color:#fff}.ink-progress-bar .bar.blue{background:#0f75da;color:#fff}.ink-progress-bar .bar.red{background:#c91111;color:#fff}.ink-progress-bar .bar.orange{background:#ff9c00;color:#555}.ink-progress-bar .bar.black{background:#000;color:#fff}.dragging,.ink-sortable-list li{cursor:move;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none;-ms-user-drag:none;-moz-user-drag:none;-khtml-user-drag:none;-webkit-user-drag:none;-o-user-drag:none;user-drag:none}.drag,.ink-sortable-list li.placeholder{-webkit-box-shadow:0,0,10px,0,rgba(0,0,0,.3);-moz-box-shadow:0,0,10px,0,rgba(0,0,0,.3);box-shadow:0,0,10px,0,rgba(0,0,0,.3)}.ink-sortable-list li{margin:0;border-bottom:1px solid #ccc;line-height:40px}.ink-sortable-list li.placeholder,.ink-sortable-list li:hover{background:#ccc;background:rgba(204,204,204,.2)}.ink-sortable-list li .ink-label{margin:0 .8em}.ink-sticky-stuck{position:fixed}.ink-tabs .tabs-nav{list-style:none;padding:0;*zoom:1}.ink-tabs .tabs-nav li{line-height:1.7;position:relative;margin:0}.ink-tabs .tabs-nav li a{padding:.5em 1em;display:block}.ink-tabs .tabs-nav li a:hover{background:#f0f0f0}.ink-tabs .tabs-nav li.active a{color:#555;cursor:default;text-decoration:none;background:#fff;border:1px solid #ccc}.ink-tabs .tabs-nav:after{content:"";display:table;clear:both}.ink-tabs .tabs-content{margin-top:1.5em;overflow:auto}.ink-tabs.top>.tabs-nav{border-bottom:1px solid #ccc}.ink-tabs.top>.tabs-nav li{float:left}.ink-tabs.top>.tabs-nav li a{margin-right:.4em;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;-ms-border-radius:4px 4px 0 0;-o-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.ink-tabs.top>.tabs-nav li.active{margin:0 0 -2px 0}.ink-tabs.top>.tabs-nav li.active a{border-bottom-color:transparent}.ink-tabs.bottom>.tabs-nav{border-top:1px solid #ccc}.ink-tabs.bottom>.tabs-nav li{float:left}.ink-tabs.bottom>.tabs-nav li a{margin-right:.4em;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;-ms-border-radius:0 0 4px 4px;-o-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.ink-tabs.bottom>.tabs-nav li.active{margin:-2px 0 0 0}.ink-tabs.bottom>.tabs-nav li.active a{border-top-color:transparent}.ink-tabs.left>.tabs-nav{border-right:1px solid #ccc;float:left;margin-right:2em}.ink-tabs.left>.tabs-nav li{float:none;text-align:right}.ink-tabs.left>.tabs-nav li a{margin-bottom:.4em;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;-ms-border-radius:4px 0 0 4px;-o-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.ink-tabs.left>.tabs-nav li.active{margin:0 -2px 0 0}.ink-tabs.left>.tabs-nav li.active a{border-right-color:transparent}.ink-tabs.right>.tabs-nav{border-left:1px solid #ccc;float:right;margin-left:2em}.ink-tabs.right>.tabs-nav li{float:none}.ink-tabs.right>.tabs-nav li a{margin-bottom:.4em;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;-ms-border-radius:0 4px 4px 0;-o-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.ink-tabs.right>.tabs-nav li.active{margin:0 0 0 -2px}.ink-tabs.right>.tabs-nav li.active a{border-left-color:transparent}.ink-tagfield input[type=text].new-tag-input{background-color:#fff;border:1px solid #ccc;line-height:1em;margin:0;padding:5px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.ink-tagfield input[type=text].new-tag-input:focus{-webkit-box-shadow:0,0,0,3px,#eaeaea;-moz-box-shadow:0,0,0,3px,#eaeaea;box-shadow:0,0,0,3px,#eaeaea;border:1px solid #c3c3c3}.ink-tagfield span.ink-tag{background-color:#1b1b1b;color:#eaeaea;text-shadow:none;font-size:.9em;font-weight:400;border:1px solid #000;padding:4px 6px}.ink-tagfield span.ink-tag i.icon-remove{color:#ccc;font-size:.9em;font-weight:400;margin-left:4px}.ink-tagfield span.ink-tag i.icon-remove:hover{cursor:pointer;color:red}.ink-tooltip{display:inline-block;position:relative}.ink-tooltip>.content{background:#f0f0f0;padding:.5em .6em;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;font-size:.8em;color:#8c8c8c}.ink-tooltip>.arrow{position:absolute}.ink-tooltip>.arrow.down,.ink-tooltip>.arrow.left,.ink-tooltip>.arrow.right,.ink-tooltip>.arrow.up{width:0;height:0}.ink-tooltip>.arrow.up{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #f0f0f0;top:-6px;left:50%;margin-left:-3px}.ink-tooltip>.arrow.down{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #f0f0f0;bottom:-5.45455px;left:50%;margin-left:-3px}.ink-tooltip>.arrow.right{border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid #f0f0f0;top:50%;right:-5.45455px;margin-top:-6px}.ink-tooltip>.arrow.left{border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid #f0f0f0;top:50%;left:-5.45455px;margin-top:-6px}.ink-tooltip.blue>.content{background:#0f75da;color:#fff}.ink-tooltip.blue>.arrow.up{border-bottom-color:#0f75da}.ink-tooltip.blue>.arrow.down{border-top-color:#0f75da}.ink-tooltip.blue>.arrow.left{border-right-color:#0f75da}.ink-tooltip.blue>.arrow.right{border-left-color:#0f75da}.ink-tooltip.red>.content{background:#c91111;color:#fff}.ink-tooltip.red>.arrow.up{border-bottom-color:#c91111}.ink-tooltip.red>.arrow.down{border-top-color:#c91111}.ink-tooltip.red>.arrow.left{border-right-color:#c91111}.ink-tooltip.red>.arrow.right{border-left-color:#c91111}.ink-tooltip.orange>.content{background:#ff9c00;color:#fff}.ink-tooltip.orange>.arrow.up{border-bottom-color:#ff9c00}.ink-tooltip.orange>.arrow.down{border-top-color:#ff9c00}.ink-tooltip.orange>.arrow.left{border-right-color:#ff9c00}.ink-tooltip.orange>.arrow.right{border-left-color:#ff9c00}.ink-tooltip.green>.content{background:#4a9b17;color:#fff}.ink-tooltip.green>.arrow.up{border-bottom-color:#4a9b17}.ink-tooltip.green>.arrow.down{border-top-color:#4a9b17}.ink-tooltip.green>.arrow.left{border-right-color:#4a9b17}.ink-tooltip.green>.arrow.right{border-left-color:#4a9b17}.ink-tooltip.black>.content{background:#000;color:#fff}.ink-tooltip.black>.arrow.up{border-bottom-color:#000}.ink-tooltip.black>.arrow.down{border-top-color:#000}.ink-tooltip.black>.arrow.left{border-right-color:#000}.ink-tooltip.black>.arrow.right{border-left-color:#000}.ink-tooltip.grey>.content{background:#ccc;color:#333}.ink-tooltip.grey>.arrow.up{border-bottom-color:#ccc}.ink-tooltip.grey>.arrow.down{border-top-color:#ccc}.ink-tooltip.grey>.arrow.left{border-right-color:#ccc}.ink-tooltip.grey>.arrow.right{border-left-color:#ccc}.ink-tree-view li{list-style-type:none}.ink-tree-view [data-open]>:before{margin-left:-1.3em;margin-right:.4em;text-decoration:none} \ No newline at end of file diff --git a/public/css/quick-start.css b/public/css/quick-start.css new file mode 100644 index 0000000..cc4169a --- /dev/null +++ b/public/css/quick-start.css @@ -0,0 +1,52 @@ +/** +* Ink +* +* A set of tools for quick development of web interfaces. +* +* @package Ink +* @author Sapo Ink Team +* @license http://opensource.org/licenses/MIT MIT +* @link http://ink.sapo.pt +* @version 3.0.5 +*/ +/** + * Sets the grids maximum width + * @var $grid-max-width (pixels|ems|percentage) + */ +/*! + * Sets the grids breakpoint + * + * To add a new break point you'll need to add an element to the list. + * + * Here's an example: ( class-name-prefix, minimum-width, maximum-width, gutter-width, no-media-query). + * + * media: media type. + * class-name-prefix: this is the prefix used in tons of inks classes i.e.: large-100, small-40, etc. + * minimum-width: (pixels|null) the minimum width for the breakpoint + * maximum-width: (pixels|null) the maximum width for the breakpoint + * gutter-width: (ems) the width for the gutters (space between grid columns) for the breakpoint + * no-media-query: (true|false) if you need to support IE8 set this to true on a single breakpoint. + * Since IE8 does not support the @media statement leaving one of the breakpoints + * outside a @media query let's you use the grid in IE8. + * + */ +/* for xlarge screens */ +@media screen and (min-width: 1261px) { + /* your css for xlarge screens goes here ... */ +} +/* for large screens */ +@media screen and (min-width: 961px) and (max-width: 1260px) { + /* your css for large screens goes here ... */ +} +/* for medium screens */ +@media screen and (min-width: 641px) and (max-width: 960px) { + /* your css for medium screens goes here ... */ +} +/* for small screens */ +@media screen and (min-width: 321px) and (max-width: 640px) { + /* your css for small screens goes here ... */ +} +/* for tiny screens */ +@media screen and (max-width: 320px) { + /* your css for tiny screens goes here ... */ +} diff --git a/public/fonts/FontAwesome.otf b/public/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..70125459f7d593b79cabc75bd60b91943aa65e93 GIT binary patch literal 61896 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-black-webfont.eot b/public/fonts/Roboto/roboto-black-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..60f0e2204991b0f54ee9562d23edf6dd34b2781a GIT binary patch literal 61336 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%0DJ#SMOnN^W=XlDvAVUx0{HToE(No6d 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

`Gp^G6Kzl}^_NN8v6Cw0AuqSM43%MYz}C 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-blackitalic-webfont.eot b/public/fonts/Roboto/roboto-blackitalic-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..d9fafc5437ab4affa5a0b35dedc519b02eb410f4 GIT binary patch literal 65364 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%0AHSM^)%#%Mt>^dA0ew)7Gukhwv0ok%^MI~J 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 &1w93|f=Frf$u`HQU#mT61O1!`Izj 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 y#;eTugc(!p(_6wSoF!`{Z&H< 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-bold-webfont.woff b/public/fonts/Roboto/roboto-bold-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..aeae6e4fc0350162b8845272403cb3f1ecd6b247 GIT binary patch literal 68560 zcmbTc19W6xyY5@DlMXsIJGR*!cWj#-+qTV)la6iMM#r{Mam6S9Z|}RuclJK_j5}_P z=l#uhKI>g`t*TlYYfM);F);ub0000(m;s=Fw&1Wr|LT9H|NSE-rY!SWSn}!P{}cL9 z&~@S>qGF%kz-OQKGw2Y=q1VOb<&-`>AOJuy3jjzSvQg$6i7To6005{y>%eIM04R|= zRb)6hB}Ntifcmozp!ym5ZI56oM%D&)004~y008m14M>}ac1i;y7bju>fZq7ChVP#s zjDu)2wKKE+^m0G9!}}Q>;^)fcW(JO*>oTl=)*${XU;*f6R_>;s-Z22sA`bww0lG;t zmYbUxe2#U*^;yIG864nxz$Wug^V75X?2~*3InpkCthu$5+ou-?0Khf?0AD2PNWXMi z*&2P;0Yv}+n3qqVGMttE*xJDDbGsm+&-IA^31~s^R2u_plTT0obKm?wzYCMtn;Vgx zt)mkF@U;Iq))W9hHtcLL>SO0%Vg~?&{~R9-?K3ure-=Tyni!gX{vRWsV?qBD`Rt0d zpDoyD04DhJr~hdOfT#@rv{Orp4Q{JO`o{YD+Yp9dp}*)G>YM5tPl4}R9a=$C9^zwu zhZcjztU-hTd=mjj1-Pv?X25xUU0C^;=I%#J$T&dzVuC6X(ZHa-Mnim~+E9`lo0H#& zF;kYTxz@e<%vi01k^0ThQfA}3=m651qKG|Ml%bzKIT$!NC!}qQ@nOQm{*;^ToVw*; z=7;OyCOIcbOXmmY?bE@8!{J2z>(njZ5o8d?kNpUxL5#eqERMI({Oz{#!wuq)2!VAh zO@t5kht^j?!Iy5%F#HcXA)-9<i(g^~H|w?t)_(scOF;?Q~U2_-u7Y5DRY*Zsc|! ze?`qYpEDtw#CYq#kim#wCP&RVCl$rYyC20H?kCx6Y{v4`k~xC*@W*H`!W$+|`j@e2 zt^hao`yFRQ1bUCLV4jZEh=pF!uVkPAA&Wngopa5i?|dH-R4>nR>aZ=uG$RnPB|5d>oaOw8wKF8}E zJLc*!hvx=!uP$EY{kUKeHx#-d*2ct1jKgKWgZCx{>|(h3-qYve#mI3;AnmcB_7d(Y zDnkJIWj}}QGR1!UjnRv2e~t3vPhu7Kua!|1Dz$@2-j#c6PMc?HPS8@`e65je6$=AG zGKxCE&nGSu=C`BhjBG($AKC zdq{4*vy)1CkezNdcy)Zs=y^A6fnF=^09ug;`>`RVhwM3lF7wx!>*5$e?^lyOTWsGK zkoa(Ftgr3s=JjDI_e97FDLHgxxM5h@0RC^f7*x4%qx}=Zl1w39xL5FXXv{F9`ESf3 z(a`l=IS?G-c^0fC7{bv8yVypM*l;mMnFfXpKB5!zRcV!H`;SgPHmmTA!#7EZQ1=cL zJ9Sec3-)22x!HBLimMg{l^vbKpId#t>y%qAWbqWLo|r9+djx6@*K^)o40*lr?s4c? zu2<1U@jA_Yo3+J3aL%yrwn0zOrL5=qBeQ91+O<`{Il6U*$*t#kgStUJeoy&)&T4ZI zJ$QEJlKW;at?ub)xqAuR0Gs-Uf6*=>JWZU_}Hwzri?`ea77hMDlIlMPohs&h65nHDuj^L|Hi?w)ePM++P?OyASyhnF8zqmI^j{NA+)F1 zqa2M`ZFoV*yA`*zeBM5j2&HT2tvWEVH`p+)Pw!M*pYo{Q-3RJovcoabM`^OSGr1|~ z$Q8_36@_K7zae%`K=y+|pSnj5Ua%CaR};u_m2!KDxk|HYv0B-%X5RdFapp32L-K|2 zf?;)|!PA_qp|Qd9*O~d_Y?oZ*R9Uu*pmo#(pmMZ%Hy3p|7pG+#!jFHxJMMOCTX6e} z`I1Tq0RC=PE82$`X5WDzpWg3HRG%0dG6q~cFi*cF25&e(L7y#cUe{C_OsSV!zgG7f zdAGH~1f54#y3SCPF2mV9vgzH=3_^3Yt`{7pu^Jh!`ubL zQ!G-sb*Xb^KJ>GFTi zqVm`CTk8P_l1?xBU9`zY&oQ&(YL7fgGf7n|Ireb zW(4wp(6c=pPxfj}VB`cIKzC`5s?k1KQ0P_emnVBQ`d4!R7ofXVC)6^YEFko(xBoE{ zKFz|PUCN`WG*5~YwJ(Z>7gn93+SO)ZPtRx-4k@5=AH|Nmt6^T+8hOQcQ9UxEIkoZO zd!pKT6}NNl)+kT8v!esnXR{j(eylV4L{Cv{xuJa@od^muDJi|P;a^Xv-U5fO=zPD6 zeM3@xV^V!XQ(em?pHnUBbaSVU-ksh$+SF5b?^{oCfsWoN%ETM-{Y^S4Mk+f zmtxC*gKqG^j#kZ=L0V19i!M|R|8ZaUO(@U|90`-jVNq=Wn;CEgLOVL^CY{!|_uq_^ z#v6@f*7JD17k^dp@Ae7p*6q=oCR1sBWqn|zFnbpjq`AThmRJtETHI~F2VEkQSBlPY z0yjJ*+Q0rv#WOn-U7i^Xp~9;WmR|gn8|U*@n+n65z*GR$elf5| z@74juOCc&~Z2RMqYuzI>n}Z)eo9lf+IESy>3NzS`P$0Jskfd@AxP@Y0ec2;0>=2G}4ZB8W-Xs~~9k37Oy8JRsVAw+D zz|v&Z=OClL-oGn(t`R!82A+Yt3vSP5?|_}W$uyf&-bbt{!0-cDBFXR-3S{v0mTUCy zk51K~Uf9mXG{_>q(rx_9(cIW+WEdB&ntp!*x)?^G9 z9>Z0*CuY>bRj9@wF0LfYJ8`sLg?vPEV!1#5bm|^75-C4j#PH;G61?zLQa1VuRp1u= zb7pum*Pe>7H*Y8}`Q@A`oUT4ZPh2`%hg0m#LLGr<4`VVf~0~t!dwR&A@i0}cFVM+y5cpHwfzHi@6K1rq3s7o-4mj-Q-ArJ{tsUstXmHsGe` zdc>9T_iuBH{L=8E|DOrIdSKI_xn+K3cvI2M*|SkEwjbYrbSYPV|9?#+2L(e$yeQcp zjdf)Bi3+k~6{d$vj*RASnNOdv-8+7-@``N`6dcCHkC%@gEX?;XpKf7ucmBrZ5<|i- zfR2gZDnB5YuSPH@n!TTIVs4E;%bJ&fD5aY!$|@`$y;?YRn5u^0bo3QaA9+I9ww`MC z`_DTt)-r^}cLFz}xXw~Mqj|W6|B@j-Yex`{ZXY7!_rLIL6+-?0hK6#XcKA<}!#9)( z6~MFo14D6mdYZT{a7o&@25>mqxSIbP!dNIo($Vsz;S`F3@PT32v>3OY>8+PxsbOcR zyBW@W({#ms_%dS6F62Qr*0*@;hIo z4&+6@#@wjKO-Nh+`)%vZEkF}cmVFu8qDQs{WX zT}TV2B+&B)(^tIWh(rT@81 zbqE_G-6ZpY*c_6>PKebTt$_h}oVbriy{cNZ))Tt@ue<)EAe1H%`Iaa~8?BQXgiuvX z9cH-!J*EjgCIyz*NHD5{fk@WW?XPW8KgQ8$R0pFVb`9mXkh2fyZWxO7b_9JCm9hJ` z?e9ZgX=mcUh>AbZYB2cv>yLUI{H8}sQ5`ITGI15~TFvH$zLV8_XSM5v0lca6F4VY` z8C)p$ua<^1Dj``G<1Wgw@2|shbN-l${#-z_x6c&}dqBmC+2%ATlp#_5OoTnUw8K6YtPppmk-+b$*!#VhC{1om zgMkF7X{i1YIk7udZPXdMgg1F z(vW5WquX>$NSUF6R68q*d|E$Mw!)|q-RcnKQg#~2b)|Oy11ue?AqR=-0^$FL@fr`b z@>IiX@vY+RXUM|+(n|F4{$6% z2{W^9I|-_o&ds=&41rJsI1(U^iC?!J2Ng=kW!#I0u&E9l3gE=-sNIf+vZZq~`af7W zi34AZ;M3rzdXW=OxyfxzIu(073IXi{wNm))1Euu{H8PoW3qjtyhM4?}5Wah_SNc#O z7HQoPEM;tllpuvzu&^$?}at&YX51yN8np)3Z#J4`vDvbVdU_t-I0RrS_T%Peqtbmii59qCmc!6%54r-4tGbAjPF+vRWz_a zgoxv{W+xO$&sAwaIqHsekeSKWxL)G1P;EM9e*SgE4LZge-L(M z?Pa^?iMO=|+8lc1=xV<1jQ+=>_3iev-FXr7+6ueEyY?pQvK@Gg26dtSKXsp7jxOY# zvoHS+`-xfV*R;Oa|A1FoUnupz1C1>FuCiAvbyjzZ=EQmxsV!MzbL<;^)Lh>;dXXDd zQa4K`&4fiFX0>LtTCMQq%HHGpU-jKUt|h4+#h#_G`AU&fRZ?f#_}^Cvt{ic$9AT{L z#nSUy8r2QZXUQ5B`iJrq+G1zb3Y$e6LK|EmjYI0&)k>5O7u71J$4I?A6rCKukQON) zucH<+z2dtpd+>m6WYbNKy8TbGQ?9*No%6|*bRePBg5+>j2F-LD!R6-l2$v#Unem8- zua7>9oLxm#ZE?;MPO6KntY=v(d~((9UI;Cx@Rxd`{I2XRF`i3~SCms&4n8PHvCN_B zCS_FSsWSqS?MV;R&mCXX$5qNfRoySwEDBy(x`Pp&eCjYrX2D0*!Rn&WXL$+@72!1{ zl9y{j|3k#kxfhyj-Y}z_Wa))IRcD|v%&u)}6wIG1 zSUh~Y_ek>Kj|g%G^%bhdDwd0vE)>k4Dp=fqWA{jU=KJYQSSS#?ON*t)zDI>c)Cw9Y zVu)2t6~CT6)rUDDotlNws~nQ+vQ;f`C;MChm;YxpVc~yNghvW$d+jJjikA)+%cT4`-wA}<%{I(o7pljL_ zmEKU_A_${RI1ok7!Mfv!zc{c{FW8?57Gew9?ATjfpJ;U{94&hb?h+iKXG5O^ME3UD z-M|M<2o>352;_2$c;uKX2Je8_Jkb5R4Br&^whbU=M7XJ=1N`gd#L)I|tv6TEI9nwr6-7eS1m&cbgbE#2wUI zFCY#k1Rwev$Z4Z{%K@DKdE(e|z|ew&lU-r8*qR zN84ArnF&TS4TAnVqF!*aE_5}}E6bL-tlFSrRm?Abn`=J{;iEqt$Cl+Wa;7in)_{vB z@2G<`+tp4v2P}!ltmxGf;uoJ@5Wae+95_8pl7gf@AE-N(|l*icKjXZOM8WacysLhA>%^BwxOBoJdd^+_T4r5yXr z1PFh0QexOUNZNuO5^3;%2j8xll3?Pq#yrN}^^gx}-jC|_Z5CT~GdB6r=m1;w;Zfwx zdj{Lfq9>o3u8m0G$@gja+@M@(SB5If-d76UGViy@+%liLSdWWcWF$c({ER&}JYfE( zTHHhL)ZxWh#c1*#eepTC~)NfkIOIQi)fZfodV`G9;`{ zG-H9-vi`zTyHXzQGUU|%Okd%dzN_Aq{JZt~5Q11*ZQdS!o5Tq7rna`Ecsf z0Ssru2p(n%j0c)xQ%QMdLSiFtq0U!12app`i3#f!lMZ5jp#tzi>SW*JR(6{+YVU@9Ud^mz>=znO@8ipy= z(ih7P%+Z*nCFd(?x%~CFvzs3sir;3?BB^TJz$2+%yVDKtMNAo~W?NHl5#O?*ru~n4 z9e_W!lOc5_{}Tgdm)BOiS(CYFR(ZCc5340Vu9d;%D1iS5c$`0yv%K)bxr6DZk-%ST zf>%=n@aM$5Wm9M?xkJD3DLfO*oLw6Rs5g<-A0>{QKam4X!EGslrU6{d1*zUSkel}( zyIJy75#W58J^gTenXnJOHv3sxz`08QVRSdXPo#I|iZFV9hwI4cd4an}TPp9>oLXX) zuN|iCs5$S zV{b|AAbR?14i&-c@ph12Go*HI_O&|@3}@x2SMXQ6y+3Z>W9OCY*3sYl&Mcn~>U4L8 zmUw~g!pVpBt6P)x@rU}WEzXwa?Dw3#Y8!!GB2pMQJ@TR}(*E=B5p%?wT|oqDO2S=v zdKd*Po*cS0W{I78e{01Z{nXEo+9~TSJ*tNS&*=FdEITHAWO&pzMs7U=y5)?oR<`-; zY^J^O1b3IdTw8{L*hOA(Nqvw|yFs=jap)%ap5nLEe9G!DyZxX&{R4LmPlYp>vn{PYOHb&GAS#xX-DxHWvCNbm3HxBOBrZ&3q zT!9TD)ng-jH_;+u)89APB*g9Y`e^PXd^vZ<%X0QCsMHuuhdcz%^w5jEHUgTP5U6b_ zVfG{VRI&8XjRxTiGeK=!8ks+wJ%58zKuw?+E@9~}=!4{o_=$rWh7nw9UUHdoAuSTx zbPTAe33#TF+{U3fHMp&b$s^#ZBnX2o~{sX(WyJG}sE4m^D!U0iUTM96`V23_cg(LNKmSWNQXKIgvV z4TgIepNx-IHUrg2xI+S;QZ~hhR5l}H9P9qVjoFRn6M}nIhwdh^FNH6?ZBlpq2fb}V zcdBn(^T^YUs(VI<&L)Y}KDc{zhg{0o%YpC>YO4f8O6(}rexgIEHf2uA^oZGk!xKuY zV%ImdQMCih8|PNBs$|;{&I2unPA{#LaU_R=b@Huv6^HV5%I0z0R;9~$)K;~{QSTdX zoaB3l?mvquNOMUkR!Nfyr%IG2KbuBWpYmQ)Uz=am-^B?Na(-3@ot8hBYOCbJF9@+K zMk@}N&YrqC*Zux8rJT5+acae`;w_g|%pi|dCbb~VE;Xs@IDc?Tb;{%1*`~3Pe^{=y zKu{*KQFy6}u)u!`cAx8^Os^VSI=p~x5$>T#uOe4&Ht%pB@LcYpm0T`kQD3I4rJP)* zs1F|&ofbxeTQK@fv?1Jw+)oI+bawDxZtT67_2>VU+52G~Zb!-EC%P2N6oMD`T z=)GvTA(1_4qdNN(=1H#UmccaJb&GY=b(?jABy3k4gs9-5&Y_%Wn5fXG!J(gd&`5V5 zMA9DxH&>WsgRmrbgxqE3oWyU$$`+5)Vg(zRx zx2)|^u}$Bfax={QOGLtY1^jOvx=T-owob{LKedwCSC?3=5#1N@N4xk+|0-w_N3cAa znriYD=76-<2w`O->ugZwnl_7yPaa1t^RaC83R6$kW{#IUNT#73Vfl$~&)E-WymAul z(jR9WyJL>aS*kIMaMC9GrW7)~86T^Pr{|{U$=nC1*mG`8wKy1G<9UYiX+ULB8;{)6 zS}~ygjq2A)8NKx%^FeMK9|W%$kEcn#%McMzx2tsrxH0k2%-Bgy^ zc_efx>iuDadq>7KG!?|)qn_=aKWbK@XnJ`a|7AO;H42L(Q$kQL-YQpZmc5p9oprPA z8i#X7Hj$iqZz_K~ZCZyK~8TAcT-rNO8x9 z>b6_V^W(%_4=#{zwfVL!=a}eqTIs|0kLfPhy@?>rMBGTREaUlu3u>*CKGjE?;Y2QR z5y-xYECdBi{PqR=y8G5BSNQoDbb_9{Cvlb{0MAnAN&rqD!Mp37f*Hsgd!BRGP5X0r zjSX>gS}bScQG=N%q~90XyU6rS=wq9%7^ZELFsasE^Qt#X;sZZ9_)@S{ zz|-!;%V&C#_f#{*EB=f#VMU0xJ^mUr>nT!feZz|OaOK~BbkO6c^9$O!bBXr_#n*#t zJc1>gW@;d7S9j~w(08?}|H%hNWP1;pHU_j_{lGAst8eN=%!})VdWVVQ5s9`^-%91N zXFptVaY1zv$Z+?h$TQxr`EhKSnV789HuVF=pSj3-7u*!eKIfq~$OoRiFRX_i&X z*?hM8c4SI($8W*s;ZlhC%A{Z%*BiNi$6N5lY#A$T*PC~*xZ13n?(?o?-Vq;tZpDE; z>Cvz7eH{g+i)c0cF7?^?FbUpjxi|GaM*-sAST8ikq5iT&+J^davAjj=aN>&ZDsi^^ z8yAA>xHZ9Sy^-$2Nm2{#@4K^jLC3l-cDj+^UkC@ziCnzn7^b6Y(pMc5e|I`X_K{bf zA>H|O*pW^$8NFF~Kyoi=2RvS%$6aMZlQ+-aTb%4xsOJQ@Gi3Qo2eyzc(J$l(8|y2T zAJaLnQ#^lcImewxX?Sq5|BmL~d2;((LwgUE1b;7*h)ud&;q0$NE;5-ed9`6z*pd!8 zO?~p|j(Y6NI>xQFE&9z>iZAn!+#g55su3Wi}pq zUPkfLX>YssbwS4NDVd}nQa+r^C~{XJFP=LDygTmiLId1;J#W16}%E=*kN|MIS!c%N74oLBLmZ@Sj_&Re6r{MN^M zNnvaZ)T!byb*U+zS8dd}kiRP3pviwI^QI|#_+Y$LmK!@)kz+2xJp%DAexTrfc@q4b z1Ln4RF)w8mr2rVbcI*!cCQYW!geQ(Ne?ARx(x94ao_{TmGv_9j^~O|mw-Y_?Q^OYniYMlk~Q`!IF z#hrX03;ROZ{wPMEI?m)9@$D#^%Hd8Fy44n~3%6QFE4Wy~Q=FxHsxnh)VP$pfw_&EUHbPq#@CvJb97rrE`u8A8ex$hB7r`wQ$mld>iQnn>Rwu=L*)& z{7wcx8-$sZ`&H+gD5r-)v;d;{5OD~b$Ff@qtH7RkAY7VLCL8)BekRAQbc&cKWysXW zvfeb=JzhRDm`q2zdcK>r*oM*5~JLk*$+$^OC4 znB~k65Cwcerd=a(LjyfMfW9w4KmQYNK;RFyxKhAw`_WM`ght25hXeUr=U7iq{J@{e zo*u5PoOpl#!3bvvbpmw20x`<-KjTi$|FXgq#UH-DI{%>Nq@Th3*5{Hv2m^)j18LzxqkpOX-&xa5h=`c!~ z_OoTQzXMoZ&I#!s6Om6xi4%+vu-=Y*V-@Q6hkrb#nad~Ujm`}LqljjqtEJh>m1RE_<-_d(cbfTEVs&)r@^`%Uo=ubHJC7N% zJM2p5A972q&a#4X8P`sCxAS)%Vh^|Tdbi*9T5&~ZtK*5h(VRuCXGcqTXkrgVaCX9L zxYr3eLfCgsYiP7_4`DWXV|!70AA1kB*K%2pkDp44ON;-Q)%lLy;vRsF6Ue`HJXz?;gX}Ow)0mz*=5%~lG)s*-`ufgxcNNs^DrC)@7e5P zC-w|9SH>ty55IH#gn;3uICB@eOc29$mspg@nlDqT^PjX*lj#`nJU4}S9OF@;yBDhu z9{v+_e{MiDUBZ^kP){LsL#|gx5$bwiBcR$^r%qESjX6rWLMO^c+Nwx=yCTIZgMYv@ z?4C(A!Dt_lSakH4ZyJGb_-mtd<-S0pwo2(&zB1KP3za7fR5E1|+@HhZ8G&TVIpZUFRt2%M*vi(fh z!PaO$$3+cA9LQE8;1x|Gv#0}=;GE(91WxvdHlSS$AP}1XsBe1eGp$ZihEJr3?UYLV z28WMcZ;Eg6L}F&grA1HLD^HH_bPLL`);DP6N8Ndrav$M&(VV_vfRBp9LKj$~YhAXq zXYvT_%AqI)1**R3AD(l=j83lSpp(U^H+4=`bjrgnrPT~_oq9*N-F9VSpS zO%KO%XAr}iq+zr3M-g!+gBszpti`JtZxdzK_`|2<^V&)Fq2VBEr>wQ<!=S~d3TtG|CbX~9 zp`#@Xw@HnKYb5y8cr+o_hThf*P_9{Z9>j|%E@rN$(UAV8m&B-OP|<7F4f~vW4)*yQ z!UDiQJ^(0gtLvSv`pTk9Og=|VG7@W(lq+|}^}oLKQLbRX(&sJ3{e*+-d?bccAfCgJ zFOyLCc<#J_u?Y{Z=@^8Lxj9wVe}-$I zoi(VRD9}g62joA6A_|xmtPt!%CNe%p4A~(9>nKR$Dne$eTNR}xU;{uS$=59P2kN@# zUfECxiu4L&xPQ672N&11d8avjVB)oCXr5boX?y#Vyh*rhj$+gBa(ZDO{V*d2Licnk z;IEjCxqE;Os0^;hrsp<&Hrcb*#Ws zVNal1g|Lo5EOrm>_!>*0kFWtfmQ>FZ7>sod*~I%3z(Z=9RFAZ!yAIA)ky3JuF!Dn4 zx2`7;%5?6_uWNQl*BbHDGw%H#L^TgoElZ&-Z!`JL!<>C)-oMX6nPSiPlU%-0@p3W_ zW8y{z#BuYkBoK#$1f?4)n1_`hH10PD>%?=DPoyM|2dge=b2%PvBfr3<^s9-dqA(C~ zT)krHbv5lxuJJ`0UJ`M8v6a!L&ou1^LNI1BXFu`WETZN;_}3PS7E}sv+Pam_g5H_; z799Hm9mQC|S?8W2YjnAWAbTR3OmEU+r0I=pZ5xlYbS#S}xNry)v?RU${@ls%fVlci zR9ubX>M0$Ptn@^yp_g;{(9Y%U&2c3LY2;ExPfG_K9F`KakB^sSVMdM${x*IUgkg;P z^lFrm<9S&t!`PuUL)~rpeKBJp08+r9$rMKLbYgAknvu3%BvIx||yxOQY z-rn74$2vm6O%i14{zKmVQ~>jEsljJAddVNjn{;=@QzI-X8QT4FTmRC3d4AqODFWd= zA+1#e!8(LMG|(%YN#)5YGOSP(wz!5AZCnLc1!X%D=aZV(Or?Z8Dy+$~uVCtj)4vKs zG7r_8B$_2@CJQH$5+p)G%ZYLV?$6rCr611+;-?Tjq8Rsd`Z(>0K^an3E{GeLxAnNQ zFuvA;pnZ^gg*I}cH~UHXzHTn{8#OM4qs9B@R!nf`OvEbxf{GUO1+VvcJhPnhWysda zoy2Sz5v?sk|IJModVapViqH_yrT=mVvlwaGGKY(pzuX*l15aaJ27@6aFlyG40PiT7b{)brp>RtkU>6&7R4$a5zn3`k0QowKoKxKO?~m!3fcc zLg2Y7t=;XTw@v$6XFh#$IFcaeYc)Y2a(ahxz;iYe%ncLE56cz8)|TYNFiF<}Jf zJfqHHiy$AK5I6(HO^Sh7{B>Z6UcN`$N&ji6LX^%XIiGBMFJlK^sLv@Q0Jv^CFdU$j zGO+e-sk4vKkts2evBD2*)fs&A$V)@!G5&LlyQQ1LO;Fg}01i~8$AC76gqZt@6}>*s zngU4){%$mGh$xxB$0UCe*WWzstMi2U5$;v3``rih`iI$wN*bTj6g(r8ahFjZcUw7Z zSApjpQ7>Yn+44xrt=0QTmRF~MKlk`O;0ZQLrcV|S1PR3(OpMgg6K6f4wQ^>j#ZS zfVZ%wv@|ZKjqwRx91SVFfHM@-I@4Ff5f`|crtS%k_2RSiK;fw35sSc_Xxg7S>>{7(Wc%B}Q zr~r1GK}hD{xhf#Wc^MqE*RZ*oFu7yW9WOSuFrws6e>{24VE06INEwv z{wT2Q!vFc1iL=7%?ta!L*4|GA1C?AGD=8HZAGc4@f|7b3(&J1u$ zQn6B+KcfEGF1iUc3GmC0ikJGv_yln?4%Qu{2N(Oe#cAJ6wFAn?;i)zR~o;6$3@=`S&ZgFe4ly!ElHo zyDld;(YCt5A3G$ z23nk6vST~UUNd2?qi?aU?++ZQCWfMmQ3J2fcT`x-R8VqEstA>}xjT$!?7BAYuqx7F zjMEw?d>QGPc3LmEXMClw2y34zX z)t@+NhQI;!)5s0Kpq+(Hj#91?2b_lNCv~VBLpoB6r(>QuPCrkCM##Pe{pe~5>jQ>w zL7$(d%d4v`nf-QOEXiXX&RMN5kV^&M_dLKe9wOSwxkdmnu47}pXavE%WoEo@PaS2K z>ePHK+I9NbmXK2f(;sYr$a6C)L)NAase{;^gY^952=a!1g|`2TNQ!Q3G;*Z@;s-bcwcjWPjOK*A?fehZRpjC)L7*BhnN-B7{ekP??4`k+z2uV=@8k zgd^U?A$vnj@Y#Snz$tCP*t+ku?=*LDTPqY+vqcVXdEd=kILOrh+bG#_WI)6(5FNWM z2P`6nI1R3&LB^nT739a9?llR~cfzC>mYPkJX;BFcc<4u0&{Ap-OLtViL-Mgb&YhdX zyD~^h&Kl>9i8;TYyftU@fJ7OJ-LrQ4VR2qyU2%+AChn;oRDdtzELHF6KQGMbEFgZI z{b+_wg1ldbT(N0W7F?paP}W)!ry2yKpo)7b-7|jJoK8kb@e0BD!5lTTTRlspKl>Kb z?cx<{dWoeV;G(sXoCUH~c7aF%~}$@cgDTA)7Zx*#Wpv~Wts zzP5!S#uX|d0gA=7l0QG3Rwwk0zS{N$T9yEqiIrL1Fn!xC`sapoG#eeLpH(_SstXin z+)Vc)$F3Xo2A#FK0hUKkjD$Ljqi#R0#)WM4fG|8Bc}+j{b9HE4Wy-1_Z^IY;rjFV!*7>m1#tvZ0)FB;Xy>Wd(4%q`EfaZn z$9tH9u#Udok>1;D;8?S_2RG#q1Z&samssMSE{IweZofNRi|%v{bG%Vr(W+;*ZFDi= z8vLujR@^tPXGVu`Rejxg&D{Ys1r=t%PSnh`n&NoU^9oD^RVPiNVnhl0!fyhERG zq95;=k*iPnjZ@}Tq+y~rS@-k(_l+DAdU+OClNEKH#J*F7ftl2u7rww|o{vpbYFOnB z#|pnsXcTzQfLy3Ete@?Dgia}Qe5s=(s$~Ph^D`jUWU=l0`Sb`lB-Ajb)%`Kf0tI_O zrv~V}8bL4oQCgQv=YTU0qS1&J2P?ee1`i3!^J|||_lUpd{t#Sc+&3Js`5orvxD~AQ zmHgrnr?VL}Hp0+a=vQ*yv08NV=2&`1WsZ-NRhX6eYMaURtow~8Larzl?$z-sa|ZG7 zR0h3MM~Q~@y#Q@N zu2$lK@&I^nYdf1qqgeji^&uI?ny~FnqW2gCF;# zDmLwvYIxJ-1bS0brB>ZBO=&mM`zIVN)y z3bYqCL3rA)Yb0J&uCl4^3brc;b$ZzYLo@A4adUF8(9fa)C>qZ>$1o_pz%O*@e>cLd z21VlC?XqRL3QMiV2Xf<>l)k~bl?9s^i51z;34Y6WdDz8uqmML=zeRUvKQs zZa@0U>|`_Bv(-3%+32zIQP%L4U)j4LfAhQd;;uaiKf6cmrZ|J;>2K;u%VXc>LtY)@ zQsnvHFelL@x00{IusdV;Zs7xQ(7iC-P-1%M0znCczUBvs#8NjO0Gfv9K+kS&-;GuF zv)0FxcIO^P4~y|XtRLUAN=*4kSy@(Y$P2P6kuZ^hqHDl>V*(X8GaDBH|T(GNnnHMjBmJass5xR?PEvq4q?vCCnGK;19K zzG3<$uOW}Q%W@*dT!FFJ0-79u2X1Y|;|phQuE z#y=wbNcc~R_tbAWI&d~V+zet=K;&15*R{aSpkhTE#&O z-xY)`wzJ&hZfG%m3K(d&D6ctmy%`7Ng8sAAh;4N&eP1ua(0uTzo=bCvAw;}^i-1R@ zB=?onlff3sJKHuqKKEyyEM0UF;8&-4AL0o9&>+$uvr^~RMXcvO!$O-*Cv%trS9MmL z)BP?@jUY&%HheV3wJJ+ms76J2XP|;1*#r2R$GwGi5N=Sx2mZ@XSEM1sEUDJQF&wD! zXk}Alv=sfFj{=}*@B6eFfCymt^u^niG`S*^l5Y=niX5WHr4fe?tON|JQiDw3+Vxn? zP#n9M{)L@W{UNyFOr+En>{+V?BN7?MSLjzxK?70tJ*xBh(m9T}Wdr?po=~wVavS<+ z+-H_*yReono6)h{i6%vEF7Tp&A<3FV!J4mWe zit10V?ZRnf>Z{YU3TSHU#r3mzK!L}`=~-msf&lmn?;DXn`RS>wk+FeykdPDqSS9&w zZVG^PT8!S!jrb!kDeGb*etD4!u*I$?a3cnJWL0y6 zzB$8KZ4z7)BW#D*^VhuYf_nVr59%4M!$6uO@ca8bO(jZAOMw}t{{>}0n!k{a*w-}n zZIHB;&Jat_O8A1WJ{+++GwcqsSeI6O{1rZ5J*&rvsHl-WYbufR7QQfOz=LAA1~;nwj#cozRzRWfJf$Wy}yh|ioySvO;UMcLoJ zA(qeFzb1BlJ*9DXpmDI4##Guwx|21~^Nd7e-Twy~8}&521{AiWNKs?6?6XQ9Z1?jg zN|t1zq^5A&!<8SLN0w33x{ipAt?n{)EE@tFGQU?LTk_A3%la3g#G7lLwq>G^Y#rX& z3b+ph+*zP+7~npW0WZphexT=JpVJR^z*;}pn>+l_?1nh0IV~CVGyW0zUOaotaUbhbH+}R20|s^b za$Cs=KMqY85{laXkop^HkMQ4@cZgG0rL@_f+nZamV7w4nJySXxhsF6tOlM5YeD%Ca zvld2pFnUgt5Z~Q_yy*k8KI}sz5`4Gc>eJN+WJCt}!A|lk#s|$Nr&&RoAREd532P)V zAxn-;%8rmvh+^pB+grPKefmz)z;+Sg>9M{0o;kx!|LER>$NXA-&5K2S@BOIxQNmZa zKOaJQKTSDt(V(wcC4YGE_m>|c;USXD#a|m+i`2>}m}#mPHp{b7FP@%8*jxt{9xQk9 z#PC&_re=KYuhQ3wa=SlVdT&j}lJXBOqQp_tx>rX>R~IVGS2|!-)2YvXNKg4D-aKx~ zn9c<#>DM(+XIjyhnYr(5mG=2$(AOkC!>H(MYW#cML5gYO@_OV|^Vf(aB8xz>nhmlv zBChCa+s4WlkKl8|hIXooCEh4k->>ZQHOC@$*`mp5Da}6s1}swt2t5toku!=sH!Y}9 z9+94G0~V5?O*tSIF?w3bc;oXCcb3Qt=XTs5?Sb)wV77g{NHxvWsZ|E+s&OZS^>%}L z0#R&0)zn57U2B$OAf^i1b8>%bx1>N*yU30OC=Q=RNqm0O_IFPE_+AvnvcdcqBz!H= ze-_Yx1mL8N!Gyabp-IOJ{6C4o7>W6azAYwX>C=Qt@pEV`u1CjkM=`wlVYC^CIf!lT zS_k*|RiyX$6{Rx(OLGwyz`jXh#=6=3f$lO_c}RkXB(I`b-9qlUb0qp;^fM}fv#pjEQI}VG%=lT4#MHN-mL&luH;;3QQ z-9IWX(-;-#=)kVKcWip==4*UD%xfyFQ6$Vu-6NWLX@r@oyw$@j$-VIKt4u973A#TZ zcl(%UUc+aH4$H5K!{_+?C(5cmKIf=npPoM4n%4X);3Da~0>FjDYubB}O^Rmw*IIu|~uSZ2lNkNCNya#>1jl(_r1KNHqr**rY2mQ?6iNuU>Tc=(S^~{}5RGeOYnu zl8PnA-@WtES4|>|{J3dDN-9vBj9yVGTbDg@^xchOVQJ6otb&NtCsu5D{p=&+kfH*Z ztFQAKyFus#n(i_*qcUbNkuUkC3mdzd;^^gJdvj{Ov$@E$!9I zpi;}5{!Wq+F{`ID1`8)-Jw9&F5o9SY>NPGNCI0hdMb+6K*wv1j+KK6HIb)L)^U;Hx z)B!Hqm`|WL_0=NgW0a0+|1ydp4JZ?@!$0A5C=)$8ZXEl3)B7+ej32`=!n^RTHs<41 zzi8yoe~$SuZZRK{6mCIgqs?gJW5m@c7+=4ALOk(1zK(*|iYJevrR=Ls@3YGs3;29T zfA)a14n~-}58&pn_)8kxsDcjkcFv%n)1dS5lcFF}qL8Gk{iJ}8PJ9ma!*8Gx{AztY zJ_!GP9raEVXf zqNa-jM4?O}+c;ejEYzR=;%StR`?lM@J*jJYLO`s4pQ6wN`~b>F?{{MDO^I`M`1^gq z^1XA)`3`_re}>^cro7>ePyf&2LI>IK=7lVW1Gq7lF70LaUU^=kMF!r&E*3j8u^`t; zh6ZDWIoIpl1dU1OBN<3?ygG;KLAo1bkSm_e_C5OSkjly-&mL`G(Q8;`<*;5AcuU^R zJ*URbI5BZ=veD=DU&@6soq{@h$Nk2|fYv zo#TdYtkoW7tv9*ht22dBd_h!GJSDWrx)3~Vq12rgbqN){sz!{c>Q&MH-RA~ZRSkab z-IEl*o$2YjCKLR&<^8(n)cENqW{f?x=Vl(2Bj`T2!L(sOY-sW+!WuR5%)imD zmkTQ-(^pbsDU!1#E9Cd;AF5bal-<8=cJGt>R+eoZklDX&RzLR7U1z)YYMVNtcjQxN zx_3)Ynba5b?;5-cH2`mLQUp(?6crJKL3mfvv$nE@q$i;U#m>j8xYz$gpf8y|PCpI{ z$xMQ>7pY+%=wU2tVi$ho?2MTAq2yDmzm?bpDX&Oof#AVX{Y9u-0HdI21oC6K`nAVT zpFe;4_{Nv;4JCXbJoKUY#&;%^b~g4KlooORyM!~_l_&;csz7c$ARGf+Co=YUt815f zM#mfK;(=S@wQ)^Rld?soARSBwG?JtGc)eZUNOC5%wv-7tglryL7nG9%`X)uINloTZ zHihrho;}eV-O6g^pLxRPx07eCljM%7-o1)jp|R|MilTKLE?x3}Zs?fHUw(S?;;Z7Q z;d7^bc^THS*!i8%jsJ~iE4E`mL28qrQdmviVLIDF^Q7ofq>RJ7lswrY$usGs`WBOp zaCug+6vg8+2EI0K{OkP}uYM@g);?$5>NWl9M~`agzi!P&TYH=J;Wf?kZ|vRu>#w`_ z-k92@u(0#8bt?zFGG_c6MUSpqpVz5#`;F^27ri=ebbbHT>)HEX$Bgr}S1~4gAq>{! zW7xMQW}3u5CP3e$iD4@bG$E0!j#1C0H824t*q#k_Mp!A3rXech@{QzK*Vs^}hhOO_ zv%zPO3gD-N*lnR^>0gfg55)gW5k;T^yyP~13-!Qn;d6K&DuXXSyaW|;#q20Y?(rGN zfBX?X*ptMM2D!6bt{F?B`$@2Z-J&^KY6wE8dVi1*C$Qke8V%+MvZLydi0{DHEiS70 zJMK99C$*19U>pA=@TiUHNn%yLR+n!^Ml$(Y3b7R0OX%6AJn5K{_*;c_ykD+Uq5Z?y!&3f z{d4)Co;^_1_1}?^oZ#I%ZT9S$^?&{3cr&#}TyoOP`h=dAl(Yrt?C=$7wnxU)AOGMR z5lyKo>)yR2tKiMO!&bG;T0Lg(Cl`*3L+=^Vz5l?Bf;aW8!u-PeWfYfXw+bQO^sWT@ zJ;{H|Jua^Y&6Xs37R(P<$sXG%rCZWy{o~|34f~T%{@V{f{E$ZU2Rp9`SA_S#25QaZ z5Wa*_{H!3UT?xSoPuk$YM#AbOV9!=J=>34_K)@MY?5MX#st>@2Kz*CuZdQMkuD7SS ziCP-BP40|jIbl)79$AYdsj7mOSa8xIHvQx)Sl+&E=i6`Z+*Z%C8!IbEj2kzia+o6s z4f*3X8iHTE{U_diAKH#mQ3~3DN8xYqS9lCtE^glT`OEY6eYxW?aYV(cntShASvG1p z{u^&blaUY75o-tkgE}HRF2=|3d*t+n`k?H7E`a7RrICD0(W*IqAZ%JEl5-6a)ik_J zzKfSXW=ltGAJQ*|iAOa!0r%Mqq+zUM|OJkG%+k9Xak;&UHt% zh~Go=ljXXfV3Anx46pK+#3HbUPBy*-T-eAqj>n9k_NN=7#pLk5@wt$0(D4J@+pmZD@%4))}# z``mdBy|o!dYOHn-^b+=KEnA^Z9&EP{zs!}cSd>2`E_Qmq z_N@y;^`Rwga(nl9uv7a!Bu=zZ@aJX<^{`umiPWvE1eN7;+|oj z0G=guE?4EMLfwYLz9h=+i)J^}k?&@a?{1Rs3dn~ZK8S1$5;T#AP@zSwq~sOnxm9#5 z+BIv&_U$ujc0SrK+t#a>ExRB8%B-iJnpLxXdreO7Ub(sb`VssponLS_gjm3jMi)SX zfKiIHemoyUjdYO~+xpOhA8k0;twxO&kv)%kjZ9j+Vq%8z(4s{0X5 zz4Pj~K*wq96YM47116Fgq*{YYVtB(%axxiD4l3>By9daJR1H<{D|#t~iWIerkffGE zS>!`NQaougvzHtjP);X{H8ZdM30AD%xNiH@h0|G7$v*K!b5{4(DLI|2;*?EGYD*VR ztQM)gK9XI_-V)vii+ML=kF;u%4eCYFy^00wvWAxArX8nKNvqit61azdkN z{9Ei4dfuD^;)sZ(hORt0Zzdlj$wv_RsDlqza{s{~@PMogMb~Vihu=9YzV?&wzKEM8 zU+G~yiZ7vlZkbzdi`Q5K4R!c?25B_MfI*(653b;cR7^`_kLab!%Kqb`!PU4awyo)I z8)6{=WXHzGrsidHsOkOgY3ZRR+*kMp@aqgpdne6Vi(y)(TDW59W&;VqW-~Ukfn8Ac z6Lui(Cp3@sLEI;&k#MJ&%ykFb9v$U6d9TZaZFQ99_q9hnz>dZ_=zB(l9c!Vv5PFge zVfS&@_Cc;cPm)(YMKY@L&~U$k!LPocvvn#ciW58dl@?EZU{~ultPrSsf~6x3aZ6Op-jTWnbaanp6flassoN+sGXRecLyT0e#yS&7!*Vd4>_b5#H0Ma0i%S z>=yWMe-zI67<61c`v%M^-b-bu%7f&fQW`__qhs_(NsNy&7K{P(fH7jcWV|U}Y(}P3 zV>A=S*erZN$2d*LsORR9Y9p?J(X&q|cqG7|CA3i8dcXtd-yhd?W- z(eF6Sz)ot)K)EIn4Z`(;{aaG+H3?O*Rz&7rjk8H@3d}v3fqlf>hxRz(e^MO=U8_`i zJ)c+BQ&ec|2~&%zl=bw0>88NIdX87t(*q_z9cKztD6N%&z>pd;b*-H5g8+V)zO$`_ zmvg@KPC>^i<86V3+T;dP%e0kXd{h|cVSssx;?-8d%b6$P<>RBmybLh=C|=SyQ=CQ# zFA78QYXp@q;$RL=;0q!vN4Z7Y!`y?+EtrDW*CV$GOkksDm6D)2DWr~~l1!l%*%&QK zl}#El*q(dnAy=tQ;%!=MbL2Mr$N_eyT5!WYg3D>a4W2F2Uog}Clqv70@0Iuy=#E5*rZKu!T9`Z)rWU=4Y6wicC(IB92KeDUG?~Kqc)%=CVTLjvp_K$C&J)Ik z&lF}SnoZWmOknJ0;zUbpgO~#5H1`+38tmp^n%M&?TWBO6xG#VheNmn-GWjB%FDgJe z_|#rxMHzeXDU`DpH{wswJs=G_K7&u9+-JZOIra>JVQ37X%DGF35^gXNOcGG83v>4t zI`!?eu@${0W!v7SQA*gS>0=~_Li{XxL`m!caH`@El7hPC>|`rKQcPD$;~%uHbMe}F zlWIsZ`ndXjWowrVs%Rb;7b~LA+sx|m*fZ?Cfqo+HYA&@Z$^G$hD?coAY>~3lb28Rk zEW5NA-|1J^7IBvJtgrW^m&c)IN0{lGeL!cLvrOsSUS4-UY2A%FUu7*kVQSG~2`0=F zrker->wZGoZ(%+jFahc~Q79Y{J7G^QgFU%} z*3*QNUID&p&`pzfts0$3lNCUGxj?NAO3PLGG@5p6kexU5!g-9M@wfOqG5XHm5C0SF z_}1UYPy9`CQn3LS){Pt~^(cABd5u3MCNU{WwhI*sk)GKJn*4u*RseuJNc1RzA^|tz zG=zpQp_`2K=nO!(wF#ddcW&VJX{J<-J9~ z3|W_WhC*3oCtF(r!Fi4&rl~MPv$E(YzAfH$O2uc25Jk8pgTRn3J?V|^ z?;EJ#ga$LGn0W*;hu~z-(c3%9vVvpUIj@PU`68wr(}C&6Twv@LHF8B81}RR=f1gD= zD1c-J{ui0E4Tmi7`#}}}kF$XDxt4tAw2+iS%S;Q5v;%%h6hx}_#KEe~wzaXEW=;8; zHdggrwTXwxUUP91l{_A8LZVyT3@N#Z{Ds9Qx_3JD@ZnGJ?*~fzl~j=)AB^+!2`_Z) z{Pft*Z#imNe!+sO1w{k9eA)a&{-UH;#!N5c5=M^Dv1m#~Xvu&c!wziQvA5%(;r-hO zi|gLX%g)Zje_z=y&RU+@`n8O{A9rqJAKJBJPj>(PlZEIJGs${(!Pz7i7S^+uY_oKs zHVe(+6fVKf`$+sbJ(BQ@*+=K%87&Oq&jf}-CCX3=jEIzRP-&WxLU1j{`A~h=6kRmo zs6=0Yu_uyJ7RiQafQ|nWec$i0y)s^UpPg~-+KZeRrNDnc44Lvwh?pjl@(Ky#woa(Q?_axtKSKdOl&s6< z1B*NTQFIu^^-HZ9x~u2=198Zlm6ivF+_!9n&}s_)`I-0b;G-y_@e0V>biQnL-in$j zqCVRH8)J9t^qQuLM>f@_WN%+QYb#w7nioc8Mu{Xd%BajR`SPxHqxo8NJxXP}_7Q14 zVthDdJv?D*QK1AA?*T()SgFJ#{iqC!=QxjdQG80>@rm>GgrRF+D)CV=m0|G&h8!45 zRt(2yC#mGj4Xy=5%I>>rkcsf}S2p ze(F3A%JT$z+@kb|;$W8K=)u(J=EsY-R6o9kSp&O~_@S`W*j_J$QSI=IC>o#!sSY~2p-C}raGyI^m8_e z{+#xHpgvKuyq>!xpD01+r@WWec2IfKONKE@@+QG2NP&^Y8KR5>_VaGZZ%XjdjzeWq zFNqJMsZ2`Xf?W7ZNsW05%9mf;S;3d zQ)Y{z5Wa5s(4G^z5`amO$Eg9EAD|+9kejR(hKk|(WTrQbpiSZ91)b8rFcDZfF;Wh^ z{a@^d%ell)!M=_FS}bG80Utp!43G@-TBf8a08mo48g`JgJ!=Gs$dd26Mo9K1<2JwG zMj~=TsCJLhcK1s3D9e-UY&s(;X*P#cahOAGNRu(kKebM-xS{noKmUx9)-}K9s=eXg zYw9G`+=NO+IF185b~HceR)C}O!gRXVQ{}y0rR;T4W1G>vF4}WPWdERcD5L&w>nM*nk&g3v&T48 z_VknK>6Bzoy02<`jm3VXKZ-IAHwAr)9|G;MKO?yy8T_Q3$)pfOwy!8&+m!LRO(=_b zoQ#+0vgM@s7l}=z$#goa#3)@lp48>&x&usq872sD^I;moja-^6d-O2Qc91A{t zAm;_<8@Yc|> zR6~|Y?A9CFvZmFmQQ{5$2)?PUZQ_p{c2ZiWAp3+evcE<>NVD0+^M;Hq|$)aYj0Sp)js-z5$q} zRBlQ5lsl(La?33y4J*OU6b&jq<<7y(XbPi_!?eaj(Kl4yz&Lsl4f#^q3xV+SLt;4m ze1P=xH>IC%pfU9<^}QAFTjq#FC?NNjDqEzQa#(vy+O`IUu^%5>R zCY>Ed-&u$Ib01TkK7jswAZwvNCp~vA=(+$d>C!$!_n>0QCTA2HJcs+UD}?WYli@d# zFC63ii@=1q?4=dhM0)AKIPGK^@f?1XF)#-+f(wF+gE^2A!Bk2B>?|BkYQ6xrNQNDZ zH+q8wIxL1gu#x7K-?ct0@PA()CL%9AdLrf!at=WzGz&j~*5g&^F+7#e$K%kGSa2M1 z>8fmK&Co;^3m1G#DTR7?Uql^QzctECw zUx8n-AEAYxLbn+>oYbW$<8f1%Oc~aKkY0^GQZGjsi?g}Lg5TFTb}PLeVLibw;4Rc% z9L6Z&VOpirvKt1Ky(Ha+)yQ6toL^4wO8fO|1UU@LnHQ>~O}}(Gd9XX4Xlf!|k)}>X ziQMcyNBiK+OYHEtqjBs8z$Xai-UDQ;AK1DIK9oF>o@a=6#Rtqf`gXvz#EM*bevV&qIZSlh89!fVN-w%XRcd@^VI z=x1I#xjz+956gJd9=c8ja)sjz~@uDB?>N&&kz!(>(;!jYH@db3)@i< z3hcRN5I351Q6wD|n--=HN=YA>yz$xRTlt~>s1?dUzG#5I?`6EmD~r7F_5u9y z!FL!r&Uj7d5B!?IWH24TBC(s?It>4Np8`!)hSNlPGnhzk1{3McKt2YM$3rG^kYbui zY9ASG&+X(!64y?5`$=XaNuSU4c2=VF%kXkOg0z=kC`Tm1u)32yx*xA2^}B(;)*bI& z`1U+)D~G04N?9-WwbIq0s-mI_*=~p4LOIoC6H-xabA@T4TaLwx+*<##ZZ-#M~O-XzQ9)PmIFR3ej86`4E@hm(3& zWjwF}tTJp!K}c~3femq&-@#OV=g9JVlO(@eyL>S-;3vuN3Q2yyL*;jfufJ0?Kspw9xVCC2I?QT z;e6fj!Re$InluhQkE(b6P5u_Ale%2#Z|Tot>CdJ2PEg-l#=I!S&f0puH%NVNSt_MN zTVJ>LMuYCGrR$U@uhUeS_WlL_#r}l${tE4VaUiLi1=u0-IyK@|)Mt(^h$cRBw999v z{mmDb5E?%@mgbr*B=>UgZ5kVNdNXvwZpdZ+~vJ0{5bFO3X?wBBD3smq~v z3b`LUHOfXY^E1-CJ@%rZtR68OdjJ;@B-Dd+wQjU?^Yt@Mu=c}CCNYEnNOO1|7{h&vYawS z9A~XM&R{fE%D0Qs`AE@!bED?mL~O5|zknTZjTu8=V|3)?1QyTIs2#VzI_@wAOZg+w z1V3`8PpD?x8NzK9&tZ$``9my;_}F7z=MVSdp`>S@G$xJFZIu2V59KrYeCh9Lyg!}( zoc6(^v7~(2e|=PnC557mK(yUFj9U?HzmKtl?NH6z{{zPX4v7~QP5siy|jQg`c!uS@_WlgqQG$pPy%U4rwPR#8DZSAPwnFLCF14Cm& z2C-gt60@d`m@rmTS1@53Zjv7yCck39#39y-_5jbqX$^BP-Iv%srxERo6J*MW>dTJ{S^MgKy$rdCLc)>Nd1)Rhmi0OF>JiTtq6bjO3+sQte?~j(UVDjx>=fqk zdqIx%^3t`57Uu?fYul`bQncNJq>4tJeAJ|AbwP0#X0zOj2mguG_Ph{Fd-Hn*`?0X* zZ#}wSEMNoX&LDpNX4seOh>Vxxgk{cbhI)yiT#zPD+^0%87v}b(T(pS^CAx^0bWu>F zs*#j4VqK(?OUCVI-e<}Qd`BJ0CF`iSTN}w|p$t#+#i>ocLXwy4bCOLS?ux0*V~mdM{`Z75Bj()cTXUCj*+X=yL{Puz$ZQjFmK2(QA`+t$#L1&m6&(g zs?=tD6Fo(E=&$GWkz-=P#SVkfy0j>xOU+FMpMObqsVoDb<;DN7F=?CW+neEH&wX7_>k&$ zxtNJG-*zwOJs6~m(^+*~wWeV~s3k>b$w{(tQ-6Hq;j1X}MZU?je0k(exd%UtTP57q zj?1`L>>}6jC=OW>3@?S-%%Oq><(SdMxyT3q@B#h-`3Q6C3{KjRh4u*IS8);4HttEs z)|0XQmEram`;YQxYYP0<`S0|%`ycji^cSjKMM4FBJAz&gIuvv|=wcB3+_zCJ2v&>5 zI1?+pxqZi5BKt+>!mgbKyI8ktSDl#Cqel*X{|5dPdRKT$s$W7@_Z#A9x3qV0Bg)`U z{YGTvV!o736~3f3k*OqywxKI2bW{nszbiM0qaB0DM&TqA>uz<9i|?--df)tEmG{qS z-@0{9PU|*#LU374OLk_2N_2iXBz8_KERx2wZz4wXmc(J5r#)OXCZ}I!RGPofumHXE6A9Le`f8f0{NL^P$R}N;X=2DR|<(dNDuHqnZq&QRLYvjK3qTU{$!i)+a zFgpY60fz$`1NdqJqgR*CcPBg@);H?;>V{EzR6}y?jB4KwSJMuU&cdESCKg})ncawt?9FS!4G}jBNDy!njJ+M-$F_1Fq3fQ>kV<29$=xc8eZAHg zXJnf0!T{T+6b+a(X~3Y#vs2q+CwQ_P)bg2 zvL#Qd-VAkQ>icySgnr$1ufI3AfWNtti;Wd6amyzSFX-c2NY<|D5B^){PB41mrfCMq{}bNJM*b%O@gk^dK_GJx@pe4W zxfbXVN9|qC%XLkIB+9^c#{==}s5jpJ8{Gpp_&?cVaj5s&M$UrrQP?Nz#i4jRKx_s6 zds95`%1LZd{iH@Q-J3!ZcU!t4!OyJ{k}PYEO@J>WxgY3Fj2&kkj@c;EzL9oaK?v;uEn_pUk9=qkn@}0EcV-#<>H= zT`mp=21$EG5Al|u^~)DND!As4i^lh+l*Yi zrqB+2S&`6AK07-}pOe&kK04ETKHC1vJs-qbVp`s5!*_Pf#OJsJq~Sfi?1LqJTZChB zpABy}sHk10v>m#o4%=pAPBN3bTu@uK)14CZAo~nHKn^{MFL86-@^dKusV@JOK6iGV zXVK?0xn4)QTZ5yW1&1&#yU|lOAj~tp%HtkMkKTwn&wf56x8h%J-{6+vWoQA~{4aNK zjK6gAUvJ?c=jzg(HZZrg>Rda}=XOf}Ga-`RVUWT6x7T*@a<4Os-0=T#5!d67(G8S_ zZs61WtfqB@{3`9qJudLR3=djoQd*CJwaAm#-j8%s@P5TX*uOL!^SC^TbV6(8PUt+j z_L0=Cj^Vy&PMgKvcKBCvo0_Lwy2O=y&9%Smc76jkuSm{sO@n<8IC!lQ_5k2kW*oBjgxz9)CXu?0!sr0= zWKu(r2lgkq9NPfSppc!MqBDRC$gTbx+3<&d;d6KJhba3FN_2d<_I^>ke=S$AdcG*m zU(NrZ#}~f4jIRbAJsN$3so8K=&(qkOkB zBdmdWMv!i!$l5YbRC5a=Js|ch`}VvNEr9ml2$S355|>ubkYmwghV*r!6Et)8iuc@$ zlJKQJ@%biv0a+fHBZ9!|iGmJ3#R`rl+>B2~;uq22P?U#!$xpVw8q9LiebkdEj~#<` zDPlBzby{{+pwTDt5aD^}ucodzzL7e)Nx8vt@FE6<1e-`-GSXyCl4PMFtj-o{W-nGv zdFbAG%cqXUKDY1PfVwhH#)-N;T6+iUelR25^$~}TpLl1)ueizl!`0y^c4rkbpeppZy9y@48?dayF*tq#4rqz8c`ICA)lJ;NqQ|@}v#7NYBimDPIy+2uwv>f#=)o`H2EuMY-kEou@3w9(~Iv(BW3JV^(}u53~cQk#$w0m6NTr?Izdw@NY3 zuU_;)K+H`wlWFWzuwN428uG^zG~k)|Q|NIN9*e~5^^Uh+T^lNgKP4K{y~+;+PLXYh z)_{5IaQFD9XWMd((GaQSjMlIlG`)+JOOtb?ei(^&>0;Lrg|dA{O_*3cVhW021^m;I zbNIW-V~31EKIe`gku)@(FlgAYsv&QplLbBV2KCDmpW6HK=E?`miSzqxdiIs|Vs1gd zth}yolR5Rr72GGVK4#ia$#ZF_>{b|_CjZOp6z6`WZya5xFweU!LlKRBbVT5Z1|nSw zZLXAtNE9TvD@rlvaL4hM=~bgAS;h-*kGmo5D_V7onqgk*&iHjE>S~Owo zh6fj(XmcdGS59i$xu>?G@ZGnBOVWB!xp>#!>n)r9`2R0^ujgzZ{p_pwtb5K-;}1H-Oz^3#2 zG$d%x%j|8Ui{#u@uzT*%cltYT^Yeroz=!?S+krIJuX5pY0~>Wz<~dvn8!a{}7)Y+TYZhLysjQLw%Vqe@=+OeW*VXvR@wN2~CPU+k83&H*) zH@Hv#AwMo&P*wBD%GHN6_eS>Zly3W}artZ3gn6YsCz^kBt0Co!VBV#4-bL_y8Fq-; zBb`c-z!o~xJqsdC>*M-snmo&gks(qRhDU>Rnw4SZKRDvXd|%`9Tlo3hILCPx3&u4+ z$&LF`xu2j5?U5g+bVATH#`j*b=y8S1-LE7d2XjifVyMoh6fAZ*_d&(d3{XOT-+p%o zpC2=MnNAdxe)kZA@G5oi6#9n?s{t! zO~KJR+9BG-kD^wHyT)g1W^K9~zYyc%arp1=f5X3_pkLW8%|A|>GkMI|DK(S1q1_IQ z4Ly%9l6@lZ`^W=1q@(^NYKMXl^`4ibRwxzU0s@_fe}DGQM?qN~(EL>*o5`+P zAc_wIli*jsI*UJv!5QdN3+jJk-Jj!@-kQ7qNEFLeI4-VwMPME4*svEQU1h?>AaD9H zNz528>!q0+HPHM$8viwfM^Ymz^?5p{$PLS>U?b-KMI1qH5aq;rngBXFWoXI#Tf9 z>_Q(FT@VGX)&2)pAl!{((W(xGJo~wypES=Nuy*@l?P7?XrnmlwwuTxZtE7KxRt(XO z=0P;qn?wab8=8qvBCnnr8Q_+RE9z z)NTK0?Rrc9ZEx+4Frh?^w$z5v^3w{Sp-b2C$%dPX4r ze+W6pmjc}yf1A{mOa3-9C7c&Xp@G`R<|eSOn%z=i9WJ zK&R9qNpz+#PfIYYUV>>W!+;F9&v{J<2RoJYQ0S*-2x$Vcs(}}xjeojV=bAjLbESly zP^l?zjv-0b%*lz!rC9RVgfn~h9LMkAfAF990Lp&i!MaEJcd-*4ZJm;4t1J?^;}c&$ z|MlAr2X4aep+5hxud$9^TMpTu4EzOI3%hkMSXMUMhb4JVzk{4UBphcfir=DXJWSb0 z?|B_rv^H4YsPLBnPM*fwp3w-=8AU-?IF$!DIPwd9DY#v?k^Qql}>nbbB zdKh8Nw!q#9W7;Yfl4e6Fi8R_%fKbqiZuy^4jbuLuXfKkZjl3+dr!{+mSbS#Em0FU` zRB6g?gt(wheaQ z9fP;^IpJs?u)So^_M#mhuH5v|N3f6nM}7PLi++0`M`E3~g?GV*jwbgZv{+{9U$v-e zi`JME4T6a-xL_r5gaB>En^9|LL`XWFEIJQzG0BR6pI!IXfudi76MN2Y|2LRvf8!qn zv~>zvGPnD@P9P-L^RxKVc(p$Gr*mMzaqLHnCrw@I@8?)3UB4{PyECB;njz=MjFo7k z)X2enXE=Z1e-z#aZ9Rl(S%{(WC)Kk7KkYnBno=3Ei(@^Ko!kzGTvi~tWk8av{I@KR zzs7f9%f5yR5CcAa2D$EG)rO^yqXW4AQ>#`kMK{H3_&O>D)ow<?1L)tT(|B1MhVki0<7G5k+*^}4Ri0@po3&1&UP~;b zJ@WANxb%&*kRzs>#Y|5J%$6J=Q3O&u%L#FJ?tn$})g8wbya@k>ucf7Kn$DfPbKmmi z_X&2);lCO`#eW0K_rt^SBbWX{-Pp~J1RS_w%7k@N91!^3rwhz0n291cgYnju_ho2K zHt3AQyv3JY=Ly;!%xgK{Pvbbq=DFJ}Nj;m|IBzdof)ejE!4%KH6dfb|vNOB!&^*p!b1Pc)1TmQ+cQ6ADTR5Qm{#q zNi9pw6$up2YcI_N;j;+0?l><4`JrTde(~yz``Uxpd72*vYw)(O-_N&jC-mOx8GgQw z3J^KUnJksX?PPgVDajjy>kMHLz?i5^dQa}J7^cW;HP1Vd36IeSd*yEstWBezAXV?Vt|8>@fs!RXFTDl74A9Samj`hq(E5BD!$em|_r zWqgP15n!JaYI1=59{#&|DgNCwt7vYkRPL31%}@Fc?!|V%%kkrA0)CwB)g2^! zI9uM7!7ezDPfq53ZISx`>mST8x}N~&P-dxHL?z7I{r1$n@hSi`Y@xZHj@n0Z6o%Kh zGz~ufJlRVAGy%{@PH3Z1AzHqUY-%OD&~-OH{}O%!Z$u|?5t@wpY(|zxQ6ZXyE6`E= z7(2?blYEgY>>c~qGWs>P`8t^&={Ix*bXgl_gqOSxjpR~qEDh9#E47^y8$wcPOf%9m zAzeKdGLuG#@#@JDZ+2-i`K;)PmCH6fJbfMh4v8rLJ5a^BOJ*-#h4zQ+wBLeX3A zUGwat>yB~d(?*xioLnj%xct@eanD)P_AWf}?Ux^k6?5hezh^4F2cF6Sx_`TSITO$% z40uo8VCadFDCde1R!gCuChit#>n1u5;Pc2r6KJ?os5x7(H|HX0KS(lYk|KjpInpWp za(vu-q`2pow2}5aXxKhp@KxKFYCD@~Eey|m4k@ET&nlWwhy!sm#)2$HtNZ4{!e)*X)SX<-&D+|6lDjxw$!c&U&8bJmd2O@xULXLf`Bi8$z zla0hwGe8G=!!7VJ1FL!X5N-p#fsRMwv}nyZiY4Gw$y_|PGci)5@8 zbU6aMAKA100DZ=q{L!{OpHMDhH&(#a+;y^Vvi<|P=StKGfC;j|BM3Pw2p~@EURYi8 z1Cn=*aBPqDLoiINb%AJbBRD_JNM$3}kit%Tfp@e43-xECVig$=oEyB{a#IcfLqNR0 zw)%kB%0(@Lc^u4#eh+TcJS6)a{hpVLKFirB?&_hXtHd8x|6U5C{>_sC z@YlZ%+JCpEq4jf6gnyf+>Y(v{AnFtOimI=Uy|vIDfH==dRUFS3s}&v&YK4Eai0!OW zE9%e(o?DTs_k9i0z{jFDljqEyf^>=7f1EjMW52Q9hV@<@F?gD==awTrG?mmB@j-fN zZ@C_a>d2*%yejlIr9a+Ry$Q9dHKR~}RNC}MvL+2;*<)Cju4zWpAjT{yL3k<^ijaVh z{RN@fpK9sCdn$7?%1z`PszG&gOnxV@HS+x`FDz?Qe{yqLayi8!;+Lgg3`=nxdpHqB#%_fE7c#TcH)+ z!Zqn$nLT3x%mGIh%$PNiIm6!r9&k5&2Ct&MX$IgSzi8gsZAsUIww`}=5gJR3b5w)$ z6Fp_1$`l$(pew8|l`5&yv*h!NkJ^9ar?x3D+PzWES#-Ko5jQB+Rop3GBSoA}!^>lu zi?~xchfZVNgl1@Agp1fyincvM>!t_6%n6h#|EiX`%7-k?m?hAYm>B|1%2i{by>JCp zCq+L2gTZ2p0)Z{_mwc)q5q<%hj;jD+wct-!{rvg)S0+!JaGox0eq_$Ydx%j6(jUE2 zR`#j_ADs9_bIE$oNAJ7ydL+{mC2JN@f9p8xNDESeL`g~EvN=8)T+Ry3r&2yz>QKT% zY9p=2(MT)Tb#D&*C|qhK1t+`t08LN}5TuHjp-0^Uw3s3Y0hHj7AnMLiFc{3Nr%i3fe?HCN|Jr1(QH$&AChOC^7eOk?sV?Zw%eVp-8<*yZ(uW5t>`o%GI&m( z)$72~+f6bunjLQ3xM{i=dx98k7t|khe7etn7N5>^fjO|6zRC2i-AaIFXet^WVt*my zqsJ%(UM6P{J6VwO>f;@Sk9RoxhjTdOp&3s1m&98%gG=t91zb6}HODa#>yVJM&VY|Y zXp^Q@6Ht8l#;~tG24iYBTdQ#)Q92&nf9Gj$x>Uk3ay0FUN^5bE;zHx-74) za%}$dk#u)%=2O;SQ(7;@GhbkbHmy3f?S*0P|2$arYws?7`$Oy5 zkKiBZycb%K-@RM69_#42Et)iLmz~BheSg!+_OBSCDhpQa-no&_=+LD}o1BB6 zo->bQh35R9;oJdUg>y&N5Unr86c7Cgl)?322Ar&bxudPe1Z*@iX1*@tF#gjsr>E1I zQ?I3yfH57rHrWt(1=b#WU}7Q%H^XDc^u7;2h3D>oO*g=4VO+TRgoYk2a1j54GWV(w z95<=vy@#kDrwB927#L!6q#+N2z!)^0HOHRuXn00~eEJTW(Ye6-3jGSO&L^x)Tu(t{ zJ@rR?-d*JLD#yHvFSyKduv`-hTb8M7TDr`9AW1(#=!m`!PaBd&v0xJ{Koiyh9B>_% zB&~UM-i6QqDDMJIR5e@!tC`&*Lnkt05W(mW)HP zi*b;55U)0kvQ@-|A&0!Ma5KED4tbF~m>NUT8Tx?4 zn>z(FF*v~l-K`xf`218}gpj~BQF z>v;R(@GbpgSncBt`+`kg-Z&V2%@LNdj$)Y2ix$5}GxSP^IkE`FYJHsDoeAy-)S+-McUS$Jw1* zzh!#guwH>DdbP^!E888on}|M_b_dl6`TQ^K4ic4WyTid#m!3br1hpWJO(0f>i>LbZ z?%jv3{_5TLPGJFx^p4Nr&2CxEyAz!o>lLjDz5b+{hzn}%1gecV8fSZhM3dd#uvw-@ zMTde0K;?>ZA(|SFWM#N0D^+TY?C^Bc{*8RFXv1;Erf`gAjbCNs%QbW%aAJ;m27+!W z9tYzkwKCm^<~_Xu0DpBZfWOlmJoEs#!9RaF{u@UFkG|cC2e>itE(oUG1~6j^I`HrQ z2v0qXcnH6~`7z(Kxj-;P0JdyU%Bm*!*b82H_l?AMA>+xK1W=s6*-b_huH5 zk`^m>FV;v@I|oF>ZR;WcfA%rZqEqho@Q;wyM05B+hQnF;<*)GTr#LC3rV4gIv-Z6m z3J3KM$B9yC?O?k@o{*jXw@RRdqK;*jpW-Z_Vf@5HtiPi!h)y>CBuG1jA!ckuHcP=D z&FA3{j|PpZxv;ZWw<8Dh`r?HRCc`;kN4+%z-~I|N&FBF_d)w;)Tvybf3VlHhs(+{* zMFHEdNS22n*`0vVQW6BdH2pgLdUPZy_tqY@SzjMyC)G7$0xC4@SB^T zo&={6JHL^i-K>ki_pt7A0QCpQxeS&4^@J6;RFq_!P+>O9W_`BGqVe#>(npPfCV+sO{k7Q78YE`M z>#+Svh$4+uz_!URG#q?838!KWa0SV8e95I?f0a0F+r)m?wqt!tO=&#p6% zYIRd4O`2l=Kf$*`x&pQhM@e>!7h||Zp*K-JE_)K>q9F3J~TOxqw5 zTO_8ps>WNIQcIQ}+7glIf;}k8ZQw~_@x4jtj=!2~sW-YoFT32tIwOp<(dju?WUt%X zZ-dw?SA@W$mdgZ}8{2aKM;}?g7d>tQ?XCF`Li;d9wct9AeoUQ~_}g?QWmPH*?V**u zo0xtbiJ+#PvKJlbSFl~7{EMCb_iTtu)%*apYuAD}w9^QaVw=DpzTdO=65C`Ss0Ytm zTf<%bJGL8uZC|!u_>0_^NFSM{$i>yVs;ouS6c6PB!u|4#;z)L}30u7gtPy5M-fBOW zvNus`pz}_t z7YL=j;T;HZuiVM_`;O?o!O!4IK>H$fCLLXl!_HXZf?(Cap*oeai!&F4REdn{I%Mg`kReQSrM;xs z^&3%*Uo|fPfFC6-X3zi)4VuC)Xl}qzNzb_oVZdA>>L#8A9MNayj^y@nW9JHb4tE|l z6L=+!W7W7U61(7wBREC<<3EXUQkQGSCNV6wm8i^kPY8v}ur4nE*)RrXLCLehGvGHg z4e9|KJY)R}&cR>F+2X{NvNAGOyC_Q2O{^*P zl580vnN&`($)4&A1wgh6jjN55Q0^+R>bZto3F{E0zA#7vo&Lg%W2~>UzyKNv12#h# zzgI7lDQ<&DkM7D0c-~DKLof$UMp9=zxF*;oHY1(PKMSSRg&cJb@H{1=%`raDhH39h}_qKp5I0Jkr(=ke>1>8Dr}+z5pDj$Dt9H zN87pxjWrzg4E&DA8;v?Yk6^)sNoQyx3bV9 zB-RKZ=w77AIC0)%sERl=LH^O~%HL{Xb;b02SUq;eI5ZJnfP=4bw6*di9L>bKUHTbr z1-)ktwH~2!hR(vTpZq}6uUl6F(LOL1?Yj~*Cm~4N9470@D#g;J>t5YgmP`e!&JopB z2{jSP*-?2`N+Ixz(E#U;MyJ|477oz-8ODD38GOJdz+XQ66kh2w$P-ov4DJmE@{?=d zKXb+p`~c(iXHLHV{^Vj<4i*(pexIHU7@;p~D9Y_Hnx{xAhFV0~v(=@ki9l~6RH;d- z8Fb2je(?;3kr@nAvr!*h*$00VRb`HF^d`ET#B}MHfTxl_qn^ro@Mp5Ip2OGwZa!b{ zZ$*8!PM}{CCzU2~U?b3+Mp6c99wnu?tN4}5Ug@$_xjoLtX|~S1ax3`Q^#YjR4~|43ztTXBzhTSA_tsW8}uSaJ?qD7yQL8bp;Q2#gM$-ihk{pIm|v!KtgA$UCR0QaJo##C6(HEPwOV_M#< z&0yD>j3E;ymaVU`k0xE-u0?A0>6LHhPc}qP%wM&OjOJU3A5Wb%r)_4-HhY<58OIl$ zOGVr;KOW2^@5Ov!^nN3efdi0^7$xJA3_>FwB-*B2LZxFQ_cF^j_+rNB?%C*qC5JEl zZ?H-fxPzROP!=Zzx^Yp?sDsw|IQGjrpPq>0z#MVZarD>aBpmp4H30{K;eKIU0gT@u z^lKXGm!H@#)gfEf)EJe?!Ez0s$tv-ss~=u3erUZs5?__=o9?&7k46g!fBqPKg!>qz zJ|UkN{18{-|{-0L3v32s7K;Tyesg9#hob@RLen5IcqR;t}a#z~Xy7f(l#T!Q{=7Os^_ zy&s^_3Ax%KvR(2lrk%&nMhnj})f9O)80R%%cz|#@XRiQubf3?Cp(QoAv>K{_ds(XQ z>b9Kiq9u9U_&z(E$i)KNL@tz1Kw7g2=kPdT7RpX0mgvX+_^J$I!*&>rDq+N&gxQc* z!)x@0)Oce&+GXi!>8UCDz@R`~Tw`Or5#8rCINmZSFbLgGOHWJXLbuO7e)QYdw{Cg; z?9t=%x5Mh5jXNFfm7dolqu0?+DfxK2?RhEhFd8AGH&H(YQ|H(WKDS)DYvb`eBVH zj}4i)<~RM5HIwU%9vk}d8nn;Wyb?l3z1g>Z;K)&droM0Jm-I^t>QfZdsNZ73Hz(Wf z^S@~tQ4OeUstvW;MZ~wf#oVeao<2at;?a}iU;||;E)K3yx~VJ%Kw`#>RhFCv~FN@#>zJtRp!Q8b8`h?ae5l7R~zXX$3_CZJ?7SK@Iw68UymLk3Xp+h z?z1Vtm~KqbbKd*~;02#v8g0&OY95JAd0rRzf?>p*ryn_>-|*r6N`hvuv#z-8fZpePW3F5)3by>*c9QF>rO#NzkmSiz-S3(6n; zE5$`gL4oLpI87X5@Q+L9$X^PB-qU?RbUS!u|DNmcYFiL@68_j87(Uv03&eGT*T82x zr*DU!fkiu}?*PMh%-jLmz)?FYw+nN_Ze&cH6|GAn>A!t7;mjrZ4W}#~VoZ-V2I+zK zUO>lyyghvv$Pi_2Mh zM8lNi2HnX!{2_X0g5Rp%T6?L!YVCz23t zqL~le1qQGieGm)V0Ciqd2DWXAFJQNJb#Bn!+C{q6txwRmXwarLyij|Sh99>DLJsgW zxPy*T&=6c>E+YQ+(1MBmY10MLM`4Em|7g z`~S}u*@MttD5IPGf8c?{u>}9*fvkZ+!~PNx@$h zNgAuqLb5&=|O_M3G9T`bZ!lZTEfsT4|#Rm zI-Giyo-}>PYsRUQ;Wb)oeax9{)Y-F@G&8esMWgFJ3kz2@?LOjF5$7@+$<-h#ff}he zgStGOO9hV9YsSkRXKGt?0VH=WK&{res|?Q;V@#-!RU!982)T|HN)?NUm_pFC&_Oo4 zgkg$@7r#{AbG8Xy0bV{0=l1#PM_4^{M9ad^(8Ap2i50^O0)g%EGL|VVC~KJ2-1--H zXgS?1 z1NpH)rF+1!U-n?dOQ!5=H3(s5oOPLG~g}0a80=HwXl+;d3P8 zRty6hR_zvQ$-wdO9K87)zR%KU&aC?Ip!FTm?llVDVE!QaaIIxpRi{e7GCjun2&84iUb1XD!<-aAfi(Kl{gVd`TRI~JUZHO=y+5t_WiEWu^ppCt2TYp{ zJ7eP)k{y0#2Eu*j9%*L=T+5y#?cWja_atL9o1!?JLLVU2 z9U=4Q5@p{txQ)t+>#z0%k^0BP+3rq9qm5>el8^DffJ=w7z$Ul=K1|!v1N(V;Y^e)a z&TJh~dzUV_eVgPLZv&K#qI=2tW;@V0%Cr(|L$E7MQ59COYg&EO<)b;0W928%$|z_} zP0^?LvuojHkP2Uaug=P*nAD~#L)NgFIOhy3-?>xBK|68;tRwsa%`DfMjOkQ4&WwnA zm+mH&$x%hByp`10yOv6gU?OH|W#Bt@HnRBWYVo6d?WuF35}-GT06X-+jj;OCB@p}0 zJC$H27y<)n9bAVYb=Zpi^XBb`KhZs`eQSS5{Wy)ryPOY3{TN63;bU^n3{s_-x};vt zLjmeI{TEVCtZ&ZLlLSEUXE#{=!3QAr*s*psNXgp_7Q?+5^n%0!@3-CuD`BA3Oi37E z{CCH6Nmc$873Go<%i>0p^ldkj6YYxG@B(g%M8#AI$cQSuxj`_C z@DL*!5m(?&ko@97lye52%25AbrICy#)4LR2f#d1j!+rv#B%yK&PN-yh-;gsZDUqjq zPk2g_z&qH!LXIfnDQ5^z`AOs{-K5${nm35N97s7sFR8HQR6NCX3=ge!sQsnfwt{A$ zmt!!&PCAcSZe0Yg;DSpamT5tkU$1FI7h2yHFiMcFz>OrbbB!ETq)N|JaSoRh?W+Wf z0bRHc7xbjdEQ9052s3-reiq1T1@^FoUW`*$4r1RP5=sQa`S z45nX(yQDNqdNw$4y>^R`Nh!$W{cd{HymDHz%}r3H{OYk02wOy5qsir{HD9fV)!2b7+%1jOowmpnLp3Krxi z7NuC1_vy)Jx6AL|zKfs15E}>Pf%p^X99+QBH_p9x@T!zrkH)DktEdvD-CJKV zY^f1K+PFAQLgkrAjGT|hDGM~f}D4|uMF~kc<$Y{9O-v;k$-)w$6D?Iw( zW4=kwYo%PHzJ>ow%|~+XN2A1tfTjSI0ImAx;)Qjkqx z`#ksakfQnh^fPr0Bps&5RWzk4Wu8##C7>IyIJ$DLj#eet>V#TfaR!MHj129MXk!L_ z39I){hG&JcNEXltRxNOcFM;j*nJKt561}B%HpUM_^3FiUyQwJG-Xr7akH$M0k2lT* zCiAe5(4Pd?^Up~9WoHVpC+G3Bd(|BZh!8J?`Y?p^OgzO1Rg6A_Ph^UWR4@h}1}#A> zMn%W)V-I0<%{unXbpWo{`Xi>=!nzmWIP3;+4VOn^EAwU45|x~D9$=9`r+jipU=0E$ zVL*f#6lA$wqK|$d=P)yUu3xv#le3sf9hSA+5pwQ1C+ZM6WK4&lF+D-n@KbTDJE-u} z!W3sW6|A&sjVhcEVo`(um4{cb;PAdcaLW_tO;BJEqCG7|LR8DsZh7+RG7y`UK5mOf zlP`g)xzkS{xQ(t5kk!&mJcxtWfjb6RQ{`rdV>$y|#ILFfvdO830a`~4v;YBjJ^|=> zO^n8w&U86b+o;iO**I_ph&A~~ZgJDZ3F+D_Shm8i%TOU_J3;3GX!ryGR?6M(g6KTu zfJditm#gCZWaY~dk1j>$jCIiO}PF=yv zgRljq(C~IJ=y6dL(*UHVAfE3>1>vfNVo*D-S;LS3AtV=A9%)^#dad1ZtYyn+Q2Y!H zbVhAH?Ot`R;$WvnjjujgxZ9tm=d1_<<3W?)>OC)&>VXdA1NbKVdVtwk_>k>BTSDsh#Zi;heRE3Sx9M=QArA9jufs|uzH}9%{tNf@*Oln#Ld5{k z|7rkYD5E$4#PSyoTnzwy=ob9hZSt%S5)xu+k6eCYokY7;ju|k$Q`eT?z16+QlL13} z=|Sj~*e~DADhfSv2mX0|JwNI-W8%KFw#>{aL%2GHB|;p}L)Z|{sWzS-Ci2dsw&m#l zA((;3!!Mp5F3B+4TP|wX66{)HpZ{FIA4S@Zh;QsI+2slT5wXkP5HU&*QeqaEx0DAu z8}283C5Y-H?*mn&yvmp*h0R+6wEo1ns?s$rRDiEgTh&2*5A;(4(~I029k-IMLZTdl z6~mEs3~LCM4HySTFioQ14>f;c{rEJ}k3Ytz73&_lyNI&`FS0{OE@lUrW>vDH%BUq} zE?WG3NeZ*S3cuPy`S=S*!3f}_7UQzo-f!=vj~qZc@#=+RFnzuL1Z8w@)771`;h#-E zsW-i7>Ldwr2akCo+`%UhzJ8pIoNIErd%QS~_s z_A@)0m)FR=VBb}={mhQ$WjeW!<+GboKGP><`K(jQXZ*R)zGez(zoF0$cbT*^1O4tY z^87vVcYh`K9rrWA1IPPWtkIrNos#f`<-AXV&Bw>1XL5y{&VmW}iH7bW_B?r^9dD@} zY9v)5VEU7GgtQjvS<)WPBNf`CMslI}Nz$IVp_UYB!_P5@*R&_J&L`h%fX;mjNuKpq zdrfgddtH(CRTAxT{S1=7&l{!ueUM-DGJb;O?~A@c>LuHKt{3+OiIDBAMl{j7z`4+> z?K?qg*adZrFP3OpDh?kLaiptQCdHowyy^o2>FJ;dyaJcOU*QS3k2z1fpZ#|HN1Ym_ zUU|A;cK~hev6cG*mcjjr@N+l}fKi~u3jWYtW9ap;^qQcP?{blAJ`!u>>e;S3U#cBD zfXzhm+@DfY9VCxE=_~&o;`6h_d0GhK38H};r9?E4YVYc~Q(BYME}pB9Q0#FqnjC+? z@~IICL&~T%(&d(7BNCA%MkFHl;LBos$ui)1UH3sMC6NH6^N4M45=SmR`3k@t@f1oM~1 zjqkU3rdX@B4;+u@6w%&=oJ*AC`>6A)Ega>N+_2DpPwr2&btCf;fGZE3aw3=M!QJ=} z4v)Hj`1tLMr}+GFTw&gV#99~78{U&1?^l8rvGpu|P%WiyDCUl+? z>AWPg8A9eI1V=qfZIbgUSzk{DIwMJ&A@1&qCk2~7sdqu@AYr*r-Ii?r*!L`8t&sa~ zk^2POn$U1jAgs2p$!8KpPMK44|||>M6FblJBGnd^FtM={p_KSiH)a z(RapnqO|eMt9!E0uWtlACGt+#kukHG=<}-s$>-*!I`ld9JB6c{EEEq48#W@gosQfR zg>7deb6d3SbY#~nY&#q2-w3}FvE(ToHC&O?p@N!L1)RHdD9L$(IwyZTMKUFIB!^Yp z-asshL2Or~ItFv20<4DX;a&9a4zOT&AGiqQ0dIWPgbRn!ORS}|xAiH#WIsL1T1&Im zjd`@Mi-KdoTB5>u%`w5LR|e+sd+4VVZb;Rk#7!UG_p zWC;8nwA;vU1|8tj{HaCSe~hf@||CqW-V|6>=5SmRA)OQ6b1A>~1-jAoQ0 z=oeO)W2n@|REob&fQ3$BMu1rB^&0pCFxJ%6OrAAsGGnHx=iPwYw^e|*HUy6r4jsA7 z&M*B47EW72S2(4NxX4A9&g?4en-G#7Qb$ReK$cMZpan=zi^tU+H9TvG zlL)1k*TC;V-I^L;Xx(oR3nC*xcyuhy!h0v-s+uXYW=|GKrm31nU_?=;&0PkqXnVT) zn%n^z*Yx7&@WE6Jl_Eu~5QWJlnxiVEQ?7IzqQ(nAdPKYm>4xaab_7R0P|+KjGVo$u zyHp^;E(k7)1|YTXk6(41WCF1uCw<^3p?5I`)Vmw!W*;y$UN-Q=6?$z%&-76P`;Ttg zFM?$S;KrsIbn}{m4h3Mx$^l;wt^BAT{2kt+d-d;K0Ae45poDsdSL+wO+aSr$7=YG2 zl0BprKs~7r3|Y;AuC^&brx1+WDvz9xs{a-}OF$_S9Mx>1T%^cphf*P!aNuG<=+{dN zAM9H=_2o*u<^c!v3+61I2I?CNhl=A616X+V!qyMnz_dZH+#Eip_rO~hPE~AfWY|0< zw_yvR?{nYpi~G*JyI0ub^=-E~f3(L*mBJ8{y*{TSO4DA3R-xf5F*9ORQ1O<8;1FUW zh*R|fO(^OG>8VlbveAy=%>;qS_}oq`h{9b#3-+ny!~GsjQlX9hpj*dIUEy;ccwP88 zuiMam)_RS={7IcQbsf5_?ZvxH`OJ>V85f#mG;4Qb`|7S`u^|(B3Vmw{tJrijk1^6b z5;IwVD?^QpTJ5b~xPdCvGE2CZH=ajERkj3mlri`l8VH^;Rp;dSOkva4AI%w7H|XUt z@OS#@m$)_3+V?t`8eJc*6CYr^+@a$M2mr3fBvS zhgc(;qZn+9_cl3Kf|Wzmyw&g!uBm4oa>=$n_3YUVGx& zbAsXUQaciO?OqK~Iqe)Gs}wbTT(T498JzV1-cL=KGL|_8axw;t7FHTzjW@nM@~sE^ zHEaya;i8*X5Jj77jtSi2)UZjP6p$Tr_zdn#GsGLq&|Ikd;`86^i-25~1q92DsxQ32 z32a{>E`o_Eo~yXpzpdlGzY%|ty}KD*$v;>kN- z`W^m-I|49{qXuJ8giAIl;%9JaMjd1WggMZuxu3cqD;B6OW+YV#P~bu_GZ*JW zWael-tnb6iAdc?LDds}t+^7pb5fkSkx*X?LpgAcfK9qsfKR}185XNQXcgGUo%Gs); zg4M7`lD=SS9>JvqaIyr%((SW4<&&uiBdodh$d{Kqz%JN>&BQ)KabEg;HelNJp7OkO zM7qN_+!ttlHFXhlB)cs%jtFb&0q4X7Z8_DJBnv7P2Kp2DGu#9UKwz0AH>=f>o~!ro zUtKzx1);$pEIt5{`>h@nA{`NNT~JiN-Z#;PYn$MoTdsjgW4i4w+B~Y`)nD*_XoKk0 z5L`qN|Jpg=*bx#@9bt^PC!(t{p-V4$+$npKFu}kc+&Z1{a0g-DKJ1;3YT=I{_}8LE zrUs^0T9;K!Jp-CHZ#rzV^izOP6h0GGQ$U1st^8g1^E2VAYgeNv6$%PkeuUKc6?E zB!9r@%cI8i8(-0rKmFY;*;bgqcJ|}JVoLBwbmUvv{SnMYb``nri_U$`?fwXK?pr3< zkKrUzmy+0zwHnYDv=VH^a6YLELu|$PJ~fl_k!r~iyGug>uaKT9)Zz@px$DB&xfDG! zg}a8H=_Wq&I#mZhlW4bX2cu_dNIRKgP0tHb-A@ncnQ(OW{G8Zr`ijpq6>txAZXPdc zX9E42&`!XM+nE3!3+)6rw&N|gGZJw?a(>qn8-iY0KV4|=fZX0l>Vj}?*SkAC>jmFd zjc+k~TO8k=s_`vm8oyvYo}2L1^3{x4EV+Aif4S(bte#Wv4Sz^OM}>T52^gx^9#7dmFz^ZgZ{S z?u*-W{nZSL}zPLbPuoBGOu&My#2Eb)1f{rW!Tf&EWcheu*45|M}C0X<9x_IYbWr7L=VBrEn;trYrgfaBP$Gdk0y&LYr&j?!B&fpgQs4Mb=AtFCO>%!3&iq{Aa#5IEW zL6W~tTq*d;7)CKqYbc5~k#$o~SQE@5VcoE}M!V479P~^mUoPQVqh}`B9ymPnD%=XH z$a<|OtV?DVS+8T!{r!9}y5C8>Kb+hzfGbE1SP?r06mx#IKM8is3Q{jd#EwB!uOjya z|4X&xe*r~YIOv6G2(!yn;&&l(Dof_-P_Yn-Kyws<1Bm5E?hgZLVogq z`XB>8lcrvO5Apf~lAg3lSbu4b?F^FJ=}lb$BT2s;+es4JLHxBxGI>HZKJab64&Pm9 zhwL9uN*d#b>^H)9$^KbQ_RmB#PbA(1Bcze%gUJ06h*ty?KTL1&c@t@8B3dhMgfC=> z{f!a$f*9Mu9H`*!{Jr9ez3)|JLFhofgJFQsbv+hpQld#x~+J z*@C_tUMCygm&!xig0XajNDFd z>Z%|oBiwZAb^^tA&^+dale!Z)zCfBsG%x&gzOB#>nU`2;UbqT&r|@0HypULOa{g#0 z_VJ=H4xSo!wXgM*>>F+M5+`_L_4eQ8;8qf|PTC>u-z0pQv;Hc?ACd23dh%^O&}jo5 zU5P(W`2FM3@7vD{9&YO2C+ng>d}fR=et{wdayw(>c6w893*+a6F&`-VV|#~_@e8qI z%(FJ^dkE#cY46K#bQx;(rd{=ASzA*m=2Zz{47@} z)dNUo{s4pcU=iy?ay8b$amZ-a7`-8RDgC*Pu%QgWp)+?00{72Y7%m+(#X1JC_gE zwq=@tDHQc7oh|GOL?gWu-H&GopJXyXdvYJqLLVacn~?iWfKWRr*%nD}2Z?09-3fj# z4%ZicloN=|-#ES59q`h|8O`pd!+XGsvOPur3;2W3i&|p?3GQ~M7v;LUtQ9DGk3Igj zA|1)R3PdZl8g2%CK`iLcF zlmMiaP&yJvsRJLAc}Mp-fBC*qxQ{<)`lH|FsXn$}G-C*cl#xnB+_*c{lUhcZ^Gq0y zM+RAgxrsH85nClPbqUXDz z=VPVkF(wmw-W}+H!Jk3AKN#LS^ym?D08a9UlfYsi;0DY^>*pelm!Vj)K3KXw`R#CO z3{%b}A|CBd&}b;sRyrEG9k}yja0djrkw!OU`l5A&YsNJre1vuYB%`$o5G)$!-B{dc z31-og;64)=wG=&0rjIrvj;b><^e2H3RaFDP zu%==?8-tY4V$e~xsMxX&mGduTXEkc2`;OZ^IlJwOw;&G=4e6a2Z@tJw}@}xwvR+XV`p@q9>RAtOCjF&)@vGa0ByCG#O(7&k?K1ej{V|^QNIE7%s z1m+iO20f52Jb2>r8K*{WNYI)SWy*ZW zd&DE-v2hn)%vRDq$sj-k}!_0#TSQQ zAHmVtmH1U8dWD0r>nhijk-*W0Is)fQQl=yCd>mnVLsRij=K$7s?*){)dK&|+)h-S@ID1%w7$2s{_l+N zJyC)9=V03}+)^|a;b=6PP|c}VD08OC+|1-00w}xCJhf(4?u;i|N35!BSRGdBNHa&v zkJi=hH7P!e*6vMXRlEvUT!|M_m}S^GF}&(;MJE=I^e&oR^ZLTK-gTqvbr_xoY}QSU2F5{ zJ9o_JJahYw8KUIt-sDeFaL`m8+hb-A8mmyGfAq(vG-r$xSvw2D3B0O+7fKCYrB$&N z?3avHdC4_=Y;%Ct0R|$_Nu8%PB;HR%GuI*RPXEN&ptaH9l(ZrBzuL3n$mJu&71;?9 zadr9D?R{wG;d#c*?PGU$u=4D~kKamM0#6KTJoy!-d%Z@@dga4wpvfkoww~KK?sIJn z)#wjOYoMlZ2AfsOP+IPcEfDp)n0bR8g!qmx6@)7Ts{)k#?Z~4Ta|-KMh`)M~nlQfP ztzLctd(MDR+Z$t^pnr7+p*&1#G;@O=(S9sHWBtqg#5FUZ*YqXRz#?`RfVV*+fEVd- zxB`r{-URz#7hoA7$niIAzp#r5_ICu1xc7E}+$l#+_}P^{tvOJ7V<`8xUos(ie8_f3O!^(qUmH9hUZb zQF>F*{@xAH6`s6nf*+i?}LcO&4sg1U)wXjn6n`6wV(2$=c502 z#PPm54O7A3)fP`V7nPDRbCL-5P&zRnqP7O1w*KHgMQvD+F7zg8>xkIa4SQRv;J^&@ zCIh$Ct;(FCH5W*24Y57b7`Z*D4YLi>i%4642yL-`_O?`ktM$>F`navuRp$Cyb9bq& zE{Lw_q^*Ofk3w5%B3+~GZK*U1IqoI73MZSi5R9ZWm1VonmU0iM04kcwB$}eP$uWxv zb5@PIl&802R3l62^a51Az*N&40HZ%D+^6a3uV``WgHRgjC%G+T_6JnnmLweFN*U?pUUzx&s`Z0hm>=0i&%ML}yt)V<%e! zKoxDY?z+B`{+d3z^15}uK+iI|4|ASrj&yC|3`i+}O3|s3IbVC2X-W6Fg`Z7Fx>^xA zcPFFAOwQ1Fax@wm6%WUtk)V`xbapT>h)K};1U?2teGiL%{^Un64XoL-hYft*jSjp; zaMO!z_cgTy#}}Uui(DWMsv;9*-k?H)2vj8#8ao6%~Y)ZAvfV z4C+QV_`k75(88jCuR0qlu7>@LCG_;J`Fu@Q= zh(Mx!hmfH)kZU}??ro@eII+r{g2S@W5T^wO$=TeP?0 zR@qY;dNiDp-KwC&ONDK6rkDa=_z5#6w+o0$jF0Tx`aWoH;)bnCUJujA=fK+w8g_C47K22zh>1ds&qaEZQ#6;bLt4hK5 z)@=plX-k2&3|1nUSI%6!ee(9^+=1u{JaRFgU1vF}V~cII z)=HeU=#Ea+RhIq?QbrqcLA zF3f~Yb8`ug!A9o{HUrySiES;T<^=vDpEbA51{pxBusv!F>8U9oW5%TBhfD51TZw26 zK;IvL_CgTa4R270T{>q75RvMmlszshfyu$74oQcP-O!+Z>V|cFH+!b5fdtwjiN>>y4i|%Wh+wU`@6!-hd_l;D0 zd>?<0`w)$7Ak_<&YkuZ-Q{Gect0hI5noUnKTU2e{op3ipwG`}kUTK?mFw(J0vug#Cj zXUZ*s`4g~sLk&-p^}Z+qg4omk#cz6E?fIyuttVTCOEjQolL$c#tIRz~#f2QLIa^i~ zyJmxOizyqO<;GQ+ORCJHs?4pb6y+OQkmt**%wwy}Bdg3UtIX{c=-uYd@~ci-^Ux~u zz$$Z5mAMOfYFL$dP?foVmAPw`xwF=sS7m-pYp#^PFiUHmX>Uhso@@V2t$CjOrc!HO zP=y~}Qe~d2H7~6)&(oUUByBAx;!1J2()){$#6lS<15h8e#LDJbAVs`^&iX0X(vgbJ z^tx!hK_8cj;fH`;IN%!%{#bJm|A6APzhnWBj5``4JoNt zw_)0d0yw*4c6NsjEwef>2Mb1a?>B;{^V5>+rvG)U>=;+~c*&n*K7m!v`TQDs- zHO0hLfk10NptlyF6OxDh^`XMdW=)zG*8W;X{?Wvgkbl7Wfv>zWu(WvcB+LPlkf{Z5`T={j@0JV=CZzZ>b5J|_Qw1z z4D&f?nv~WwC9!MMlP6DhWLcVJ`MlajwT+l>eobv&$2hCY^p!Jb@+pn8Qj#>lv*=*YoQ=iT4^^0c~33;S8z2HCR#5fZ~Wq;ca}}~yi(_rS0*~^ zi?O$O-7-?-Em~H}*K}>C?2dgudt>!i1zlTr`FPQ*?|;-et$AKvi}a2mE$St=%1y4< zobHy{FEngWR_WBKrCEc*Li=S7uNVhYlQJ@rl2TH@w78_i_;`~E%er2+XY_BV-*u24 z*+b5WQzhs~sC|1WJKYC-HIW*Vh9UT+%HEg z{HX4Ui#8ru^2V`KD^tfM8MQsgFn-i>KuAemhhE*-w?cw11o%%K-8!k^ z7u)t;p=@7)u(N+zCnv>g2hS~R+qF092ihlW9d;o)KWK4HS`4$SfNS@2Of+%;A|vK| zEOotz-QHKS+ec%&eJavUbVd!cZ2o+B#d_M0ZVe39&p{~CCwE*wdGce1W2_Ni4hW)% z-S81}0gY!OwSY1wn(T*aKgYwX8dc2VUI)XzS|SsX=-ZQs6@|pCM6^Rn6492qitkq9 z%X<9w2)dXPwR;m3umAxGiRAk}b+A;c<1`s*;*yCLN;bM-yIygRn-)Vg&(yiN1Z zK0N!RIKOxptU3Due9qCJPXEsB`{wodn%>vCWonnKG=9~Aog2E%iH~`0&^sTPxAAEm zdt`QRBl>=OAO>-OtgUv6++jaQm?wtP5gdIrBp5@?pOh*TAA2QJfy4fPX5X2qRo5hL>v+W@ucjWnpHl=BLdbzl#z zBjUcgObnSByjfC`S-m<`f^7hQ`{6Qt3Op}g0^YECMBl!{hZpo24%QyKckdYJb@bl7 zqoAOqqyTO$9$V6%%mvbxS%CJ3JJm*!m*eN)y;i|2vlOukXjEowi#w+gk|VM7CfOR` zW4cXkE4r!m4zv8nA15)5uZ|byAJ>U)O@6bvA}_>Gnb+j!kZ*0FIP#+swxM|N@sGwX z0}xFc_^Y5fEQQr@0%%6B2ESQ-;1IBh{z=SLX9o}-kgKpj`6+$pPK-cl9_!bxi_ntiq_kb~Q9q7teoeP_L*t`CzgP&5!2*EJ zQSs4C-(lRA8H@x1)wd+3lawnhPCI|5*j33{b#j%tIYLbjEKsb`0BS51H!F(}=Bu@#2 zB##YWd@1Z(#;>l59~4@$(8a-hVez0s#cbmk=VBsqYBB1sK3YuQHOgm!_s~)H%tgvJ zY*6_SFJE}hlP~Q1{`Q^)MLo8Ijj)Jac=+A^3z8z1jOY7orSmMmDU)d9~7PtOB)`1?69X365Qzm+as zT1sk;+wQa7Nex`J%+UT@nW4o-YaCvONOTCVW4ps=x9?z?apyLY8COOQ88Twz(7_|< zba)kB07+25vr)4Lw}QhW|husIaZv zh$WvUXe1sY{xG6n@SUMoG~_`L5>!|Cnq$v!S4M)KOa_t+9|CJzdON`Kfs*KAFkPHv zwNuFkSGs{9{?S;y2X5B>1!8~vQPCDV0lo3U@{c$DgQ!tqt`JYM$gGtHG!MWl!23n$ ze%gPmgw6<8fXVPRa2U2^7s51f(t6vvh|m&ad%(PlXwj;yk&Y^dQ+l*$*bsGMx)Q|x zb@beyh|h)=%~8NS>WtCwAAa9m3|KWorGy< z6vM$yL|=cT%T}O$ABAxnB26#e_!eIef>h?A!k)+bKSWtdSGzYtxk2I-9Ft)3lygt$}uou7dl7JUOtMopbHuGhfG%K*O9aTsvF@bnz;_`<^X=(w=-xAH~7 z`u(5T*Ytg&?+lXhlU*)r%N}<;g6>)Fcm&&5X1j1dqTOn9MG`YLn=>K<2uajC81)Yk5XZp6KT(bir{G4nIn(VHjK%O(2mU zl`x)eSi6(Sw^o5m;1~D=ZP2SXL>-_985e(vm#eg7d6fZ`GZ2e*PX{1mv7$IBR7Rxt z3~=f?h=-T1Z`m?r+O#2P9sTz0x98yR%x-JL#ii#;7K>{t6|Jdo>DS4wcVc^<4xvX5 zFhW8c2<4)TCXpq{G*@%)I{X;~UjO+yUN?P44jDUk$nZX3A^+7kc-0_j^38F6Nbdz@ zzl~eicPK@CgLrK6(AfAOo*qTLMwx?6FCHMvo?yIgg0q70x(UX*5x$s$LHWKT!QbG! zCHThGV7!psy~WK}s6nCj1p!r=ZDFt#rdYW&oUAU*0B67dbwu&BnYX`t z@}zs)w%woX%FFNGa~Het-Ss_Y#)K>$`0f_)2tLZnY1jT>RVyOU(1BG^#&K|I2uLo)migZ!aGeAPj zGNz|+LNt$TL#7iB>}D>4i8O!c?e&K=^!esFSuMB=AMiK$5p(8@;ISPJ>m&FqbC&4* zo>;%5{$_VOlvq%k7+9?k93HKS7LGVbbmqZk9pEW&6zQX%!>?fuh+V>e^9{SOW*pdq zQ|t-86nl%k#jmH_kd*6!N6wPPqN$amK@a!>TpNWcRD?FN#KMFt{K&UF?9Y2ddYC+z zLM+5NO|%jHhlv5R9)r3xe7<@m{EKF$0H5!^=I&bg#fy2cAO0%fX=~YA%qlxANE6Az z|Sn+oFkP-Fxj*5yh)l^VZ1~OmGMv5n9r#b9!@4 zI+@d6?0sf2{}j<5hLN$I=+E{PI*{eo)s1uRgqw0=eTfs-k6c6KyV#p2lblYJ46L6E z;h=c=GmGh(x7XLwApYUI`PnH;;zA-zyJsh?i4Truf8}3&mA~~zn~`mjVQKyGt&xznyqw2GWa5doYcTq%!Wdtf>E>Uc-`=Y1v>R^^3Lc_wa?UUTsvszL z2&$|F<$j>Z7oo@!AzPr3ynG?fQgxXT%UPTu65V@hI)fi9dpvNQKYG9(-m>k83VfM9 z(wy<5COciJ%pR#aaLi(c{V8v5E@z`nrs$+{}RG zL4>|JkAy_`jvDVe<_-HH63`Hj%MUXk0!3@O7}y=y7s%9h^##I)y(Q}C>I;Dbd@-au zq%VZ2C3FerE_=J0e_FsE+PwKN9KEzmbNa5b(Zkyeff0*Jvt!mp>kX*mOP7|jF(y+C z(2T1Zl{6%DY;{)R5WJR50o!IS2kfTq;rh&-YRO75P@Y5)zQG~sIM{t|f8@w;4_%V~V;T3jn<&Tl4W+6m z9|Xg8H`#75T4o(=*M~%Z;^mBWCR8lDgmd7RgP}sXrCF6=QyX`gS%(TF{+xOw78P2; zx$NKsnu+-nMiI?X#0-L2Ka_5 z#@`PDU(GI>RZ=mRyG1L3`>mS*tl7!+({%Y!@N2`i(bF1M*0HC6XYYyD?gQL+N9qR@+2YJWZsltL3pMC}Wf~Um+ERx}(?Z3zOHvl7>Ns7==qH7hw>v`i-i}%9;5! zC=3F;&)ou=Mb@X6a$kRUp8FOhPhL2!a$!UL8;qrTMzMAJM0WS}zn&@EoesW zPO_Hjn(6gbWWNA+TZ(d=*Heu$B+)J^+dnigMLsC;-~&_Wv|#{zT{0eh`j2+qK?SYeJ zd&sJ5p#35`b)b|@UOrkHD>GbBCL+46vM{mzCnBTjMqU2C|IQiiCRCx{yeYG1R90Gw zwe&J3rkCpsG606V|HEaj_nTu%j~Uf#8k*Oq4v9PBHT}O zjV6y%zMucX7~{yw(aW~6OyVnlI&q!r`}#I_9gI6XsV=x_&eZC8%2UBXU;6rf+^IA^ z#{K=PYg`XV1wJ4E1cChi_~f`5?;d)yVbLr6eLQmkb2Z~BXCA%u93-nuhsOU=z^Fn~ z`~hNsF&Dnr6r$#?d4znjufK%(P;rsF!-aEQ9UWi0 zp6hvGQPor6k*imM8^<-5moI+0vV6(l$|+OIE2d7VPzST?!7m;^zx`hYek}b;lcxP3y`0M`zPn@XUj917|$!?q1FvWE?933is~{ zhx_(>*MU3tuj^N?lvY)hUIEqI%ZgPu_jca6G5d+JRz9}f2W1FG{Ne#F&c+Y$AziBn zkP4_e2fso)dJq-zAh-^?lLwifP5;b!`9)Ni4_^HKALqEAkQ1&bm|R?%H#*-F{F`2P z{jN^{pwI2^y1a8ct9g9PjDozfr~s(DO4~1tC(qTGEcYE+SH6Rl)Sl;Sx9XMlXYG2p zJJUMwHC(VA1TvM(i-4Y#SxJKplM=?w2ro}t{^EzPzI^=4me?%qq|~&`5lpO?=2Z{P z4k5xm~P-T372J`_Ofe|F9Am;W|hkuBf=e&GrDhu5hK7Sa%Tl zdRtpFJ&02QKx-*{_w);W7tVudYPp=7p>@U0U}ZTpC4=3S8x89AcSrX{)0mV|+qD`! zAbgGe>gZtf+=ia3(eu60N8xi!*O2JGGYZjW?X-+AIW0rBS;w>tus$O#HN}{EhGsjT zU%xLqeN4`K>(?G(>9gjv;iJZ6%?DQ#hejAq!No+YEL5LA5$q9j|6eyN;ss z=@xYU)7#HYE-skt*H3E6cSYzt;;V#*@8n^kZKgTyhkH<51BY_~-wz3DP}i6U5w}J9Tao z_sjXuxZb7n%ATZbC;xJfLzgvuL$O4{I%FhTb8YkilO#j)OG8i z8$PPLsH5xl2kYW>&>P3=kb~Bl(SN#ieejWx|LYHGN8q8rcAmxgxmL!XhBn+qp$JmV zqd>&ryKChwh+EI+3pzjr;XFI`{GJ5UEn*shmGZ+maqCdQU0B{w_9J#1t<{ zB$)#pF{tJe!BEy*e^~}bq23N@YrG&6C;~oIqb#SS{*tUsm7joR_QMTw0p&xzr^i@5 z{_0b2uYps>nNUm!;yds+22X<`+zyVJVO^~yd6TTXrdYfD1k=r9kgkFSU5WYk2*xI~ z1M(w1r3gto=frne6<80RI76Vl?vU+WIN{&IG7(O6mTfv2Kcz~{z1ITmp$W_M5^k%} z8%s2RN8ow46Jl0knQ%KG-xfr9N>LC44~ldLmWjN}%KeAJQeh0bb5>rG$gfz3$9e^y zziAbf=#VE8^Ej~V%lWytjmREo&%H)4cSTGi9E(_l330%%UOWcsvuubILD@0sBBprG zD3bZh5u^N8z);r5<7Aotgt|dD>KN!f!E#Rr46wXG^FQ zA!)}Zv;zu35Y#cw3FpvGkl0Q^RW!~qDs2bHmRS$pmqJVs&f4dv0*-dJPqeezU|uJV zwup5??A21z@Bn-56YL%oQgjKwJCPB2Js)ICZ29%B0iW`B}-nw9Hh0oGeP z(c4_Cw{YnkCm0itL1VXxS|&va7_8fNUbjY~+rbhHHxThG1Po&ZtGN|$X6#Q0&kTpF z&em}I`hhtkxV_cHZ@{yRr`+G!HbcMBhJ69?EyXqi@dYY-eo!>eH?nSmy?`myZVJ!z z06fzJq`6x^g6&!Hc#!riwn=1;+I^g+BLhf-SXVvfn%$i@Es)KN4+G$e#e|z#cn7ny(pi zO>sY4`F;kGenzSoX+J06ezx-c%;5VOl^K;6h58vK?dJsC&sJiy8U7^us3Zp`=Ii3M z>pA|Nk!00HP@dg#Z8mc-oCu3vgD&89o2r-Ftr+9^p|a zk2HW-m6tI{Oeg^om;e%x5lRRI!=peknFutP@{C}D!SIL-??-T`5JSPvP+BXaE#kBt zhM_H0%M@+VVwqYjVzE{WxIN$I-WUQI%*>f{bMOAU`C5+%Q0ZUeH@-Ke$Tz9v9ps0}9Wa&Sx|=fm&~!!+bjCNyNv0Ky{yD~} z!CbQdirm_J3jMrIh^Ye@r*rU-F2@4h8$-z>^bn4Hm-fnYIp(XoP^OY>jUIyq^6Y=a zvE?WXzsvIob(-7*!__IYkl*M|NH7 z;wL7b+D3k80zDkV&1yc2FB(I9aUSKS4W4nj-v<8c7~p(CKQx9)u}2s~<>W)eE`5UW z`jsDUMm2^-{<{g{i)XP!SZtN`Zeg*V>o?1cQPUM8#D2YxYluFw$2+jZv+Su^rk1it zvmXh1pZy;-ewlXuh@g)KP&t<RRsoDCgL~ zT+g!GqBxK|kXV#BcJ_w*<(NaUElBr1$6D{#nC)#~U06(C9KI-Ach(ti&VXyYNbR(-xMly{~COZ5?Z)qkG#Gps-6I=F1%eLBkuY?VK;Tg7zkpJx9h0 zeu|`f*Ob3S&e+zbCeuji?IhP!S)%JnW0E{ukK7waQH#(}Io6%hUE_ zSJyUT5^XEs;(6_^rium5SuFE6vln~zqAs-;gWg!>w?qloYp<8G&z9k^KNko5&*|I0pt!{& z*corbwY&58EvT8q8GX%Ioyqw!&0T2i`lDlerp0>X$9FPb!aNHqx!w{K1y%Ly>KlAN ziaqZd3cYINd%wWk*t=K}yM)4cM+^!6K!4DGu11A>r2dtR-359PbMXjmS!_S`a_t|f zZ>7$lP4vCf|0DX9K5#XYcAHTs*UyuO*%NxYJ?-yiJRQT}s2&Cv7z+ou?sUf5zfkDU z!A#Q+lcL@rF(Q5nYfwT1GhW1J!2{@P*0H8AZp3$H5qUXz2XkdP3jAt&S)a78`t9mj zVm#U_^SfMc;@%je5+}FR>~KzrUx^`C7n=08sHQdaq`y(ube{J@Zdfa`UKjSaJVArL z5l1~B@@d43dx<^C6BnyZIozYnXKr!Mjya~bJ8)2Facr8AyqsrPyQ9Dr)`F{)!nfZ!$Mx%&?9L8=Tz z?8y`KRIK5Ai7JWf?MEul*pqoLY0tCz6#oOPcW1wRj56=xd)}w$8h?Z5_BOmfC1A6} zYEXpP!EVe6z}!B|`%4vGFh18`h)w!wJQSaS87j^0=lOq*E}~z*%Qw@X|(q( zWa#(NQCoBiUL)Q?H?ck554rI{$d_kzkFE1oqriKNe#&7E&SaeT$0*$m6V(pZqb+=w z&wi1Ofc{AG6LGITfVTQN`|X45Cr_}y?_<4xn|=LPJRhFKH1ln&^4{d#gEho^mESfJ zN$92SVeRR|=L;M=h@4FvCARW^&Y@yh;qBqPXE}esvr=Fa$did&c~2}7j=jU){WyB6 zZnnl7X?J_~GoQC%BIg*Z_tNIQ_yJMuUEw^xWIfr-Ib@HcG0H2(Jcp++oHiGDfZA7D6 zAbK{2=-qVg#yEQOIt>tQ8$tBux-~K<`E~9kgIFs55Wmnr6U0XmWPcHE+MnnbL44jA zqKlx34e`J7o5W58v59ao#P9zHkI<1$c-nQrYfRFM0swFhlA0M(8Ih?eq9PI^BKZI$ zBO*gIGc=EqalGg?BPB1X;2(||k3SC|5#c!=GBS^u$CQ`OHRqgjjydL>V~(}vm~)P~ z##nRCxpw<>zun&t0{I^Tq!zOA3-gyvXg#z8YK5*rkHgSmlrT=1FboLugdM_4V2dZ9 zCj=+l;gE1yxIa7;0gb>!a3VwzYmt&j*U7k(qLb4n528p>rYK+3!70M2u2UnYLea$N zp6Hd+=+nKYL-0g+EnElx5|b2D9Wxj+7qcGo9f3q(5j@0~Gt@JNGy7+2&d#4Bo|Bv# zI~R;Ch~>pDosT?Uao&bRAWM*o7Z4YC7nBz^Q7BXc%7XfeI=D!_DE|46i@~_+xcN(Q zmx?d><6-f}gy;lR0x6*&!JF_ck)GI<=(${fS$FwM5;O^w#7dGREhnufg_2{FDapEI zOY(H`Qu1bU01ZJmq1(|)v>82tUPN!8chCnZ(J9R-vJ^wgNQy0GImL$w$8=yo%rIsO zvyAbkCZ+P79^O(oyNSbZR;`y&>I`zMUSz!mvmz7E8r; zV0W>H8BrPW8N`g@jM0p_40pztjBhvyE*giz;c!$O7gvuH<9cx>+&FF?x1LGJoXT9x z+{oO?Jitfd?0C_gdt7laC7Qw95OU`u8QqE@1Zq6Y&ii{+q$z(E%TuT;{d&x%f zW-cX{om-RJk_+Va=UQ{;ay_{_xrY=O1wlbm$P^Z(nj)eoD1($yii@&J@m-C&+I!WX zmzUR*=gr&8hvcL3arxAIZhn2fIKMaFmA{(*y#QSxDCj7#6?`jX6}A`J3f+bN!hI@+ zT0w24DyfUq4XTg2PyInd(9kq8jYZ?rgftP&L|dVGXkOY^I+M!P~ss z%eU8V`)>z0JkC-nvJ_idP|7It$PI+hu!Y z!Lq}0NO?v1V)^PF=pE)A*`4`{=n7%Q#NFt-J$Jo#zgF@p7bH6u0tU%9_7)FNupwUpYqT6Z0} zj#|g8tEm&zx%qg$i9gPt=dV48e$en>u|BaLcnEuFeHawv35WHK*dsh{WHJ+nSL=qTyXb&PbvJHbv~>>gh6c?MaKJTxpF|C>2WqDJUJ3j!Iq9HR-l=Pa2d#WwEk$87Lc(`DDTF z@b36-Vz;4tr~3ei1QG!fzy@l82A~D#0ZhOoun24bJHU|~F2~68_4XP}vY1NWyOSP|ts*!5EnxW>Yo7D=nNj<4vRD0C{4MY>G z!D;B4N=>syqUq5XHDj7Nja##=`3^>bi69wdgM3g7szD1l4K9Hm&)^U19ZAR3@pMhPE}c?0sI%xMbf0w|-L@{Ihv|`etiC|c z(ew4qdWl}G|3g2fcj;I4KK;J_hk<3N|Gz~BnE^By4Hm<=VbieR7v2}wm)1w>qxbRq zEd9`abU&e=-cKKZ3`7nf2CxIg1Ka_@&z6DjgUrE&m&GpyFZYaqFoSTksLn|I8|LzE%r5O2smz4J$JLbENcgA-+qs61( zsOLTWeeL_r_xoeSvDPuy*wNoLe>=tz>NAaF1GjDP4;oS!@gqQvIp$P4!9%9 zL2@u1%zIH zF0QNI)#3tNM%S2Y&gFJ}afMtzW)ZXKS@JA>J!8u&2 zH^Ixu8#%$B#G~3T*oK2+4A4gi6D_!0T_TU%1D+9}gFCeK?g_a8qb__#71$`#*U2?$ zA#I=5rOITclgKc~IgTi7{Ih?>+5khIA9ZIk)1ukBW|Ou(?jfmA94jPsJJd4u-9qZR z-1pJr8sMJX0Jl>&v=UKrCz?(V2b@cwbwhercNw1^HdX$#4Vi@ z_0rbU+~c%e=EYI6ra)$T8Wnb7>vsuR>7c~#Nq-h~ezh#-2kg7V&L=g8WNJ9&9gc90 z3;LpH{{0#a)-*Yz(VtS*xed9|Ay-ecReGB~dfhF0TQl-bKUP?DXaE2Jc-n2*1#}xn zy9VG7WI3i_nVG>N%PtF6i4(_84Gk0(Td|eMk}C+6nVFfHnVGr$%goHo?OpA>j@ItY zIng^y^UTbSG}4-coPYn$r#||B{&^*p81e!>b zXgOM*R-hGWC0dzQp;c)$TAkLQHEAtco7SOqX+2t>HlPh@BifiYp-pKs+MKqaEvb=w zaregbXwb68Hrw*DyJ5ncg zQ8)F_PBfEd(QKMSJJT+-EA2+R(;k$htLY*-m=2+P=v4ZQ4y9x1C_0C(po>}PNP2?~ zqLb(c`jL*I)97$|h~A;^>0G*!ex{%37rKzHp(p4ux|ZfrFCA}>)KiqA$LUFWj-IAx z=vn%l=FyAvJiS2IQ9pf0C(tYO61_|V^d)^wN6>sq(*hc#3}xwj%F&)QM0qMuiHfw4 z7SR{9n3mEK+Kcv~z3FzkfcB$(X@5F^zM^mFPFD7C6??gw$I##O57%%l*Ks}l%ft;l zmd7#kc%Hx$c@i(j%kv7nBCo_N^D4Y5{YJm@YP>qH!E5qbyf&}H>+*WMK5xJq@AM`43#+&mNyd^iXkNq6rAcwe#!`#d*ycK;wAM)0`4R6ca@%Fp}M>xtcjE^>(%@*-Z$OL!^o#e4HU z^cuZSZ_-=zHoZr$)4RMc@5lS|0em1I#0T>sd?+8rhw~A9Bp<~`^D%rZAIHb@349`5 z&L{E7dP5_U&Gh( zb$mVFz&G+ud^6v|xAJX#JKw=~@?CTm-_7^%y?h_v&kyi}{189PkMN`X7(dQW@RR%$ zKh4kZv-})C&oA)*_(gt+U*=c%Rep_M=QsFGev9Acclcd?kKgAH_(T4PKju&PQ~r!U z=P&q6{))fmZ}?mOj=$$0_(%SUf97BKSN@HE=Rf#Q{)_+SfB0V^VG&XBNR@b{TE<9? z)JmPyOM{G+aWY;e$V8bW%gOSxf~+Vj$;z^dtSYO?>avEcDQn5vvW~1P>&g1Efov!n z$;PsYY$}_{=CXxsDUIS2zXT*GA!(AZG)s$YC0oljvaM_<+sh6Tk*LHZE|w%@vP_Xy znJUwyO{Pn`bjS?ZQ97kdx}`^Ul9@6~X3HGeS$2_KWjEPf_K>8^m0szSl+2TU8IZKh zmj#lMLCH!^hGb94OF@cKl7+HJ7RwS@DtpP^vXAU5`^o-tfE*|X$-#1n94d#&;c|o= zDM!iCa*P}+$I0<>f}AKP$;onxoGPcu>2ijgDQC&qa*muU=gIkUfm|pT$;EPsTq>8z z<#L5wDObtWa*bRo*U9yAgWM=L$<1<$+$y)p?Q)0QDR;@;a*y0A_sRY8fIKJ<$;0x9 zJSvaL zl#k?N`9waI&*XFYLcWx*;K!Y06CJk$|w&+&6wQi%^>UO%l?w}Ek zYE0v5X+kIK6m8Y1I!)Vjy0&YF&d?pTQ@gaAZls&EM|YxI={9;;XVT4d3q3*y(t~uE z&Z4VyHa)6ybZ5Gk?$cf9ZrxRP)7|M;-9wW)S9`TjQ#y~1)_xt(w9eNBbUK|$XVABF z37tr1(`9rVolK|D9h%WWx?i)J(;?kc^IFiNmUN*m(#5(&m+D@+x9+3+>VCSv9-s&6 zL3*$rqKE2Xdbl2;N9s{}v>v0!>T!C!o}ee{NqVxLqNnOUny; zUZ5B1MS8JbqL=DrdbwVqSL#)IwO*sw>UDa(-k>+?O?tE5qPOa8db{4Ccj{ewx89@o z>V0~@KA;ckL;A2jqL1oh`nW!!PwG?pv_7NH>T~+MzM%ip7xg85Szpmt^)-E6-_SSp zEqz$7*CC-)>G%H_cVCMdd7LidnR}$dL~tuvgyXg zNW3~SnC#8xveikG-pJg1YGKNobfP+v>(6CV3#yYQ>tem>d~a!RUM97;uD4QlYV$Ql zkWp{EH(9Q%&qUm=Ia#c>K&3!ghDte6YxU)d$==>nwpg25R;;$rfRstEWok@0Q8(Gu zoc__x@i!uU^^<#ZgM&#^WqrSEqi%|;hJi}iGi7cv?-{UPysgD_rZ449J5k+=KBUoy zR?~;H8Ln2eHf>T`r%HN$-Bgz`zf!KB=5E!35gYyaR4SWEX8Y2;-nL|KshIL+oTzVe zpO%P9-T%R>Vn@tYo3dMYGXdtClwqH}( z{^|~NK8MbCn9k>%Xy_OyW&4x)(qJZ8DmLWYTi#C7hP-J*r@IY#cN;oQ8}cT)%vA*^ z>bhLRSa1zvx4X8YyS8pqP0@@RUj z*M^=EJuJDms(WzjOL(WubhUPot32CPUQ#K0=a{}Ob)t4o<;}2kS+OdU%k~$lItFt2 zY*o&A?Qvd9$}{eS#WJQ_4@;1 zlhK&TM4+ZWpIn%-Pn=uh)Zmnyku8@z1G(G+=hQ%BVvOCDxv5NUQB^UQ%@rE@(y4r^ zkS;h|wUNxwK+-AJB(u3#dNsolv^HCmxF2GSa{|Ia9->swtd7>5&vw`-HjI$oc0cQ-ZM z-SlvGmn)6D)O5zV-ZQt{nf`KTs`^ryVzL@_d6t&DR6baAx>T;LYJtWqTPSzRSLK8j?Y_a+A-i9__J4b`DpwxpdiNNQ8`aGEock`7+;=Ir z>@JyR#C=FVvdPI{Va2!HJA|<)^ zI8sZqh81&7b%->=Vaa7%Qbwe+$o+C0Vyty!&B!f;Y8X=!BRgiJ2_Zv5%Qcr=nmKyT zKb=m`dY~+%4?}qeMba5KOC20sHETExSQZ#7}gCZo?H%m_?XA-1UzK1j?S43v#OMX6axu$Y+v*{I-`*|VK2nGnj zi=aok9(vmf=Xsu7+^Gp1H_y3Ia0`)Udtbfmb_YZiy2wC5ji)Y`p4#~buh9?K?TTX- zo#hE)-dfxY)+AZgoiR3e7F6r$^++|lB@t$=r%Xv z(2W1Ae?VDl*F(V8xM$X2hiQ-3>nga@D40VY_Wb2E785`3P}1X{2ipttybVh5?Ad&6 z&Tb>Xxe#3>Aq(MCluWc=%zAJ15^=w)Ijv&Nu#b~Vp--WWa|hpBcn9KGf^{pt^`aU2vt_EEi~mYhNB%Ae*A6 zPER=CTf6G6kBQBo>MjO8+2051xaXQ9%Eqw8j~oX%-BTpqefuU?B};GY0JHECYUXta zV`~4ddl2V6rHxAZ+gy%;7+e^}9#3xvf&PN}jr(B6y(90W6anRa_wj$=T|2~f>%NO( zBdKmJq9IpT6>?#vDJIL3h@`N#Q60QTTpatsv9ZS)Bh~#?O_^Ab$6RO9 zU{*m1{i^pJ8M3XnZ@Gd6ylj$suJ>Aber13f1|D9>x~5if^r+{x(A1gD5Bc)dbS5W* zyI+o$=A%N7-LO4xTz@t2X7iF03?*Ph|1=&`0@)tYt*+`4Znjy2h)L9eOR?}l>1?l(v10mtbpQFT1~ZKsp1J!=nHSx?(&K)w*u7q z`ai->xR`qPU#zbvHw;tk7lc=F=-Kl_TMolKd#g4kvcr07!)jZr^Ep$=Y8%ro#brJ0 zjaU6VY6!gI^B}l1WgA?FYXiqKbwf9bIf1T)W_V!bY_M^CF=whjr;X4nh~8_DobFcZ z3Uer|2oAC3CQ%{yE$KuvpPF=%S?T&HDlO-^S;aAa)FO5yoncA+fc_fVwrDd{`G(fYg zaB>ZhkoPXTCO z&buWo0x{!Zi>bmsYoeR4nLm|}NmuVCU5P9SSV?fq>K~_Mra4Hw!X8~an6zV$o27gc z@W4_1FUD>xHp#^oPj0<flbZ(DP`qR*2h2Pe~uH!pca L&py6?L`39o5Giil literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-bolditalic-webfont.eot b/public/fonts/Roboto/roboto-bolditalic-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..3e5e6058bf94e1e289b567e06cc1ea7c74976950 GIT binary patch literal 63792 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 z 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-italic-webfont.eot b/public/fonts/Roboto/roboto-italic-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..e024f6630daab79768cd9fe0e5d1b2239749b041 GIT binary patch literal 64020 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

OLc@+qmLE6+I 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а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

nEA2hAA@afr1%rf<~ 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-italic-webfont.woff b/public/fonts/Roboto/roboto-italic-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..5084464086e339649934fb0bcd5ae9a91d296347 GIT binary patch literal 75172 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

aU}+H1;fotVCna;tj6Bh8(G=h|NEI1l# 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�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 z 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 EVA433VE_OC literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-light-webfont.ttf b/public/fonts/Roboto/roboto-light-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..50efac8afcf3ffa7000981997ed138d7907e6b88 GIT binary patch literal 136772 zcmeFad0KJ46Kx22|D{5W*yZkW2!&LFT-lJ|~k*5byOq&-2Ick9Q8=^jZ5KSov;;-T5x-}kX${YKm|Y}g`>f8zzuKKAVB zgj(@xlMp>eaJ}WA5rc;%d+uAw@j~j{Fu32-BSf%>5u#Twu7?jEI(Cp*Q~kv8<3gr3 ze|%uS0ivGw10jEWo9pc!=S0||5Pkd|#|=h!a*U;gQ_4|3m%}s?o z1%1IShxJPx;p(JfggiT*`xBn(H*8?HJ}=MVc&-q}v=PIf9_@VmnTLcdX(&X}$q}Ol zj#%66pD9Ac218%Un1THVEpGcjnou>hd|W_FPkeXN;_r32!yA3AF83UG;4|w=1P9c_ zM+rknV;FeKcuFW^xT7X_IIJsnEuo^NxLK%9o$u);B8K)G{gkLbX}vuc~4dN-)EH; zKf%}O%|7qAC!(((P|p^Usy9D9x(uBh79LS*@jE|kzJ6~=YUC&+w#hL{*W$P*EL=-2 zvQVE1o3GDs{VEu2H?_kF`FHD6KtP zORvtGb!K1n=2hRu_l$oPs*qRx(8xlI&fLVS*lrCvop>;4o3W`u1O2w78jew+D;hnZ z-(}rpwUVPlNNVE2&=vYjWBt@sP13I(eGM|brf<^@O}8}N72YATY18w~;`KY5PmVyM zkxi3T@{KJAwHy?l&~loVc+)MdLiKS(Y2sBa2N|0p`iAz2DAj0sp8E@%Ziy@mT@l%o zH{07b{a#y6*7fByuAG{ zKh_laTl`98L|@(JHYd8(Z8+|+`iSl)*4C;`tIn;4wtBYJ_*OGpt!uTX)$vxPt!uT8 zZ{4Q#&8-Kt9!EdyDZ)goxL(u{9Yl3;qo^qsh?=sUs4lOg>;Q&>7r``9QzeNSsuAeL zejo6)sII;RyF_&(Ueq)aKm*W_dZegsCWxy<19Q80#4Hv)&13R5vq-*Vo|03{y>hmQ zmW#}9<#w#~5i>)Un7dRLbAcLU-meCm8CKWQFSFPo(*-F!x^;dq1DMQt=+HJ&w( z8Z*rc#=GDH^BZH1Sz^pJGmQo24xv9FYqGIy#ywMDd1%=6)dKXCE!Ew5m*YA zf#uY(0;~j|fK^}(SPMP}Ux0PsE8ejIYy_LYX5O_GY@_b&)U$&!gYs+2Zzy;2%x;hg zz6X23Pv8JJ1df2C;21aoPJ&b57vFC((mW%hK@5lm4Mh#v7&JqcEkH781yVp;aJ`u? zJ8@rU_V1vT?=*jwUAcb{`@_K~Fc!SRJ+E=kOv*QS<^wR7{RLnlSj@GL0Wy&*DATCp z3+VZhax>5Gr94L6xm-UByr7gi&QY4?86|)Ls+svJ*33{1*l);wV{kS5%|T0WAKLv0 zWe?Dk{oY*fPdR~SCYnF1Nt7>8PT~4g0Nv^x@E&*{%;WwAU=di&u^Xg;uK?|#Xb<%r zWhUhw%I_(&DECtCqx^yLN6Mcl_fsCAJV<$n@-XEQ%52J`ls{9#vpP6oFE8Ts_Ct60VkVwFIki16JcOy}KK|`xY$2BO(Iput3f-FJKvd zmh-Vw+s%*VN$k$2=1D00S|o_}=1<~!DDGeuiW|+NVu5*7HZ*^djX^uJP+rGz2hf${ zp_DIzX&{Z`FTq~(CzS;Cjlg~E_XNGLa(zI5_P;g@)wf`mS!l##DNvhWEHnQM{ZH)5D?op|278tL3CJ~n5HFU>`?(x*sjr+m|#Am23y z%X#KhBsP$in=hA`L*$3%a`}<@v|MWTL5d&ABO;O(&6Ow2g-CR?^q7-q-E{ef`MkWu zzRw)1BFyJ$?TNJZY+C!Uy2*S&-NOFeobO_OrXI3de>~dr0oHsdTHv8&o~d9A`*?5g+`Rp_9e91YTAB1ZNHwjUr*bwH{Lfl(EcUZdhHRyvEm&?G~DKhzG%uc za}7@%;)z2%afl}lS$9QpS2%Z_;jReo+Ra@B+?7|MakY@jk4VKU-!adY`?uprBM(WO zLJ~#vgX&130L~A<(E)V%2e{b}H(ICjRJy39)`)O8*l%%A^$i8Y-XTz_DXwOI4?WfK zRHvcoARhL#rd|v)Kc%fQX{&{_)mGYS3shyv*Rh$ipx{mOYx$O_289K*+kVe%hk@B+qFZ*MQ0$@j?0cnSA_AK7J-2AESLr zK0YNMpOTMH$;Z~`W9##=_4(NPd~AI_wmx5#0P4q{=VQW8efh z2~J@hV?ihI3YZBNfQ29zc)>Yf(s}|I;A+quv;>cU9$*TX3aA5#6e5vABvOb(3Xw=5 z5-CI?g-E0ji4-D{LL^d%L<*5eArdJ>B85n#5Q!9ukaGPwja^!Y#+*jeyl7epdUOU& zyI|>(A?_5B_=p4|=4cT|j8{l3R!A&XNGw)JELKP?R!DqQNPJXCd{jvMQb@c~NIX(V zyirJ;P)LkWi2p6b{}$qZ3-P~&_}@bOZz2A-5T9Epf_PUodg}!_PlVAsPs>Fj9O}Ns zGL|q(k2EI}hfc=VPR7?x#@9~9*G?AFx~}_MA^ok8{#HnTE2O^_(%%Z{Z-w-?Li$@F z{jHGxR!Dy3Yd|y50wjZnL3aQ>3R)C&s4u~9;16&K_-G>m6mS3+2nL}b96*zydAtEm zJ#gxQQxBYa;M4=B9ys;DsRvFyaO#0m51e}7)B~p;IQ77(2Tnb3>VZ=aoOw#Mj z+)VT zb02Zq55$}~ax>>LIR24%HC=-q{;U*JqGT|l@OH~R7nNXeym6=eP33ZuJmkD*5P?rgH znNXJrb(v6?33ZuJmkD*5P?rgHnb@^>>{>i_EgriTj~|~+-kqVpc+3GCMid{{OJJp7JNSz zd_NX^KNfsHqv@k!1K0>Qfz3R>73}1h-5?Wu5B7qezyWXw905ncF>nH$1gFewN&k`b zA4&g_VIY#ID;mUrSgto?bkG7MgH|8~v<26jC-9ZovNQXyP|o1l*Vv!Q{u^AgqdAYH zFB8q3A(|_|CZCXVh(G6AkzF4CH5>n$jpR;`e3c*?KDWWU}UhXO79p@-7aQrL4cF2pM447s%zB^lCJMiDxDufcA6?Ow3 zaRM*6A3t#dKXF1`&GqJ>CBUz!I{|H|Xg_>?HoiU^UvffW=Ts^nYlH94#`kCA`?J+7 zj^6_BQ0IFbzfU=j`xk&k;3KXr1Ixi`uDd}R_zGljj~M;Rp_ zWt4oBQSwov9;k1gzz3ed2cEzOo)FLCVGrYB52MLmG}((Ld(mVsn(IY#i_zR{G&dW~ z^`g06G}nvfdeK}j8d{8o7NeoXXlOASnvI5LqoH0j)Qg6C(NHfM>P17nXs8zr^`fC( zG}McRdeKlX8tO$uy=b8qEi6V0i_yYjw6GX0EJh29(ZX!B(2Eup~%SPjh(YQP`tr#sUM#H>lkQWWgMuWU)ix+M2qA6aq zBOA@gMl-U}3@@7DMKio;f)`Ejq6yiwzL(bb()wOn+)Ha`)7sgzb~Y{SrG>q;u$LD0 z(z;$+*GubqX!o$Qw62%d_0ob~TF^@idTBi`tyfIz71Mgfv|cf-S4`^_(|X0U zUN)_lP3vXTdf7xUhlyYg6TuuNf;mhCbC?L`uyGgd*@2c_NXsr{WL7{+me7(Jv}6XY zRzjLS_!R|L91mT`4S{wg5*n(dbqMP8Tw_)0r&G?cfe@7w86-gB4&U_ynv1 zJHc*{3BCt=!B5}-I0TM>qu>}g0ZxKb=uIr>1YQA*vn@SaK)Dd)0xviROh(QE7~pEq z9JB!89H1f-r*E52!$D!fK(H@7s!MR!Z(hn%-a-SY$_{XMt zq_LcHdW?FOQjb$hxqkUrwHi7028@*&QZ@!x8oT!9eBk)?9q!j-*!L-Ur&<7zB<=BE zjcKvWr?JeZRT(hJK}ui%CkPzxR^wQYdFzWXBM~HlM&Je!&KNkHF>p9z;Bdyk;f#U9 z83Tut>)1>NqlgSfAsLLbI)g#Jh*<`5K6A-#ED+V${zc}fHxj%N+zdK`5AlnqD9@8$ zyAAXMBft!>lKTgsFJb6Q82VB(6xl+!*06i%{PYTeJ0`#N+{rDf{ z@QFSO(2oN2qX7LlgKnH5M-hf@oS~1MK`(TUs1&^@Kqu_n`x0$ou<=W=;mbL1=hzF- zjWg&))%oD3njJ6J=t;1;RFxondwhp7G{);hZZ@6VVN;{U)j-|9=DQ#Fv8R1ysJ{@qLLyB7*QP*{x5@mS-L&p5Z4{jH3cT+F)#gHR9#8Zy>s4D>kVdamoSN>`4% znY*m9iakC#Z;el8aQ_?J^EM?TI`Yc<d zWj-hXXFwq+0>z+&EOIIJo#(y_9RCV_0~bM=xtCaSFLC5v;>f+kk$aJ%hY|ZJm1O>i zG(D;jB_lLO?_Tf&HeV6O1D5U`R{#d z05RhrFr4Q{aPC>|PX%K+H=c4j=Vx$!7W;33x%BIK)I%1TR`aNZl#3`ATe0U}V$Z$A zo_iUi>DDY}zT-zLo3sY6vVr$)G4R>S!7;}yo-@H zvt{Nc-h2$XZX(Xma@+(31<0isnG_=rohi{7wBu-VG5i&y&BgFlOeTCga|lN$PngHa zZml9ev!C3|G4e9|$jcljC$ooq%u#gt9z1&B(Sv^Hq1$=z=|Qja7gASJrsXRuE;9Q`RmcZ$%Pd~`+InG#wsj}|;j3wn@U7CMrLe&nGWdFVx+c%7Mm zD8byNXbM_`HlV$E94Q<}0>{LQTz?5n22;SxU@9O6AV-r=jwYWRO+GoAd~!7Tg85b? zc1&#Jo*m$8@Ga+df$zW`@H03La)6ExB0vl3yPx&I}_56Gq_kPClI?jK|{$|SU%RQ8m?C0F`CFeJA z%)FG^!tqvstkrj556A-hz>i=*I0z1dZ16KU4syV6)bj_p1boCc%pH)s$~PRq1%g2+ z2nVzensW@zIfmvOLvxN9T4!2|I`otF^bx#PxexKu`d(VFgcdBJ1--POmsTsGwY;>9 zm;R#tfS1-Ok?Y9&eo46zPp57FE{^wdypLmT|Bs-w zf)_cSEFzGA_Iw_6Gs3nS#7>*Ju2->SaBdf{EC}a+WPd-iW7>jbBbAfby3^dtxB^|x zM^_`!(?}$xy_iRJ5)tLrBoAq6YofiBM={@6Zb?p|liHe`LMO2(oPQdOrjD_k8^^f` z>`wyIIX{=!dOlbP7IS?G*H>^pojTWm&)K&vOddKJflfxElac6TBsv+1PDY}Wk?3S3 zIvI&hMxv9E=wu{18Hr9tqLY!diuPXGb7`;TA&cMMJc(YNqBV3*G#5#qM6XVwSGhl6|_iEb63Tc_k{qW)me36Ac= z=l2A?$ZPfieL2^k;>n37fCfP4 zd6VEE2M#plIZ&Ph#W_%_smy`OT&T<`r}6|;=0asIROXaZnTtQmh0-%ndIn1MTz?Lf z=0IUC6y`u-E)?cM;Tb5*y^O+KDAd&DLfsi=o7(f2=n`3;gQ7D~bOu?TLzd^D>R5rR&stLWd^(?5- zG0p|3xj>9_ff(lkR9qmgxj;N~fq3Qu@r;gTE)dIHAeOm6EOUWa<^nO=U(abNm|>6KVI`(=D*GM{f8A#m61#pSPi^zKwk@qUnGqsH0i>#T4Zj}Cf&tmRd0zL#Efu&#>Sk65w zz)J85SOu;$3*pZLZReQ`@D13>y}Lms_#W&9KY;__5I6#kf@9zWpr49U^uww%4n^fT zp(1%FEzynH!&kUxCeV2yJ14YXF5sA`)S4k6UyKf~pcRX-X{*T#?Pu&?RGt?qk|xos z00sy)S1UU=M5Z6VW9Np7Xx$uIw@6*f>K4{{kee$~J%G*;jpmt&Xuu0#3g@N*Xi|1& zzlatmv(J5%`Jy87cSR}F*3x+uIdIm{d09W_ zRph`GJh5iZt4;!BMEWixxu3HnSi1zWd7uEC0cSxmC;`x61c4Ah z7RZQ%mtZLT65Ibhp6Ccvbmh(S7`u9zx91^8AnX3j6U2`|(}-@e2F#3j6U2 z`|%3<@e2F#3j6U2`-KAw=3j+nTd)vTavkJsDR!+CyQWt`ma>X#i@_=pV=k+`7MPp) z9>=rz6}?7FugKhI)l=0HhH}SGtn-SdE-!TzQCBf_d8zBG^18mDt~J6*4d*ypM16X# zT_I;rQ=?v$_W`yQAHkVZ))~EuyVSZ5yCXvWRp~x(Qo*PZ2xkszs}oMXSC5sG-kH^YH^KdCYp;D z;#!eRyxWQ~Rf=dM+OkgII#y10U@USY>#1%Qoy2YQy*tHy;sNoXc!(85Jy=2XFXjaL zFiv@iG0GIiCsV~MV!D_iUKOv2nT+n=5VORa;w|yEct^Y|-V?LM95GkS6Z7#zi^UT0 zq4-EF70c+wE9t?j#2T?yd@jBa>zF^-!u-KDv7J#)2BVyB#J6IX_>R@zlh(&MNuY9DWy{e$q*SKBW09~mepm9jFYuxUD;4J zmRHNBvbnrgwv?@98`(}?C$EmnUS7JSlVKDd~{~@~k9| zm8J5WJTEWE-{kM|qP!%_q^bClfihIE3Q^Tmw5qORRRfiz8mdOBv1+MqQa7txR7cfG z-KOqPcd2{SeX6VKu6n9os<-N+`l^2FDK%V;P-E0{>UlLmO;nTA3u>~OqNb`>)O0mN zy{+C+@2fd#u9~Ojs|9MITBJTyAF1VPg<7e$sqJcq`dWRfcB$_at1Hy^DogEE`_vEW zNA;81uMVh#>X16Dj;L&PRQ;@uspIN|%26j(t~#YWDo?RyP@Pt16f5Ku{!TGBs!G*4 zbzc3VepA1zKh#BaNtG#|G7Vu!Lm7tQFq}p;Bg)|09!7m5!ALY37)eG$qmj|rxWTy5 zxY@YH=xE$&++{p#Of{w(uNt$AH;s3Uca8Uq_l*yXImTRLzOlgAC{&F%^|!i$rt_7u zL{X1#g1uu-Gg%RD7Mj~x;rw5G%!mJro2%SvPV*mP&4qcvoM;xC%gwLM#q96FD@2<+ z`4-FT{=5FV#Ey}P0XwVS!}#hyd>ASJ?GKS?z{h&$Y2L~A3H66{1?3;}1M@Uwe)|?&AzkdF7tkKq#14gXg=pZf92A|^Xb;QLW@OmmUd+wI3M2z z^Msa}d7Zx=GtGS6oM*lTUPT&FoR1>I6lE?l*O@!a-P}9DI08>w<-KMuBfEf)S>L+*NaZQ>C-azY@A5X+-^;W<JN`!kOZ~npyfg5Yzu4ED{F$4-xVhrAd9&Hv>|~~ZCTLU;7lMfB zg3P0_QC(UocD*GIIWc43Qt1DX2_5kKb z<}7m~c6cK_ynudUf67Z{?gU;23+)@GFPN{CUoS8Iy@V=lVBk~c*ubNz`>bLt|JXLn zf5e+F@IB2)<2wG@-@UH9^jCZOo8J!P=dx}HLYBdNKPHq?OEs+gF-BBafe38}FY^o4 zvC-Q9#9DXqUHkG+O};Z4XW8#sir>yp5&ViR!TD&I8iHvO6h|E6CT zT)tVog?6mmv=@yn-zo{yJovZDvjQ$+fZ};S96TQgC%0?3sPl3J)};4?kdkeD0S}(()N1&1V6J+g+ayjZVTHExe zQX}niahwZ?Dy)0#Kl+OQqcw?Nn6M5tUBSe(M735c#B;1E))Z>GH3hoWLilU*Am}%I zTbXZOX!`sus-M@;A6r&B4v3{sRQ=c#>OQ5ltnz9CXA;V3*P1F=zf$>0;F|sMb6&6f zjHdOH&|C+8bl=cAVe3)lbCvg0wp36>t^TY2 z+H6_+`<%Y2`<88en0pJ5mj6lJ5A2UE*LXPgL!Z~Y*q{1We7^kR6$?#=?s>X@_~EDR z@0OR_hRcur+T-ufS1PL#XY=dt$5pS{M|KHTvUC=?|W=sLg7Pi#L|2il2>egE;KKdAI*b*(`O^fH_b~V z_Qmff$&=o{ah&AT?yKP zRD)mL_E8nkPuSG!UZ`bZpAlC5w&x7gN$c_z|5Vya9q;ImeMbM){?pb=|6TTxzDwWh zw=>l&IcokRtUcR9*?vpkt3Udj9dX&Mtm*cDBDfNGY}-};yXsi+m(7#5e12N=(|!v4 zV|V)*9na}I_0_6AT0djUN>l5wY`PsS#n66sud(}0q;=Ja4fnUKzol*Z^<91&t)JE0 zIxQ~!bnABo(yEXBAFUx_+^u12q}`tS*(+(KuK&-UxC)Ng+V@sI@3&}n zP0@ByMJk#yTj%u(_R46^Put%uFSiYUKDJ+8*`EXZwtqj+_ULntihf+_BmKTIqP#Eb z{%j*qTgq9ztf-AY(KcE89Q~^_c4^`^m$H?RBEWXa*^L-;LgKuZ=?cDv9GxvX$x9?FUbN|HuN$x)5|H172P38Ife;BtJ zoplzUexW_<9b%yf{2jN(^ie+ij+?gN(y}FXM&Pf`2leYWbhKzb^oha!M4O>cJu^&n z7@_}me0tbpBShz?pKjSo+{542^dQ^n>o-fw*AOXM`?_xZF8x>AL&@8N@lSO`1JRWE zw+`Y~X1ML=I@(Y2dm7d;ztCqr?eN*h&WQ4oU((YxIUgu5ALd)89^o|>8jFm@#uDR0 z<0E6KF~<1VSk8RLG~*TKG-fcX@tQHyc-?rzn%#KIc$*oHjn*8;?21{AXRUdTz-Rv6 z6Wfg)MuzdV@s07VvCG(Pd}m}DdyMamEMu>+&)91GVEkzOWb8K%7zd3*#$n@#k!>7x z)HMEQ&s8^mW;@1qob3c#4qGnUDYh+a9=1HTe6|9%(`;wh3fYR-irKtuC2XZ^=h)60 z7ubGb`<3lCw%^(QV7th6iLH#y$7UL)<*uYdIusidOb-2VvborT*n-(Y93jRwW1AzC zEsQOktr}YdTO?Z)TQpmBM+{pHwpd53v6F2R`l0hpu~_;zA~Ky#(s_bfoYkZ8hRo82 zGD~|Wdv}Z8Xwr+!#@@ty>}>H*W?dIBYrBY<*6ysDSSKD8UopcvoEg^LVlu8Y(`)lE#R1SyOft>$G(gCz;utDNdnNV}u7iTPpIj zb}|1diQyy~tOt1cbef$f3MDt=U)4bkjp4PdWEuHIR z>0CEU=XzK=*Vody5thz9W9i%^OXuFUbZ)k#bBipU`^eI{RhG_uX6f8|OXv7~E$pP$ zEq+^M>Os*&JK$aDL!S!RXevOJlDXq>XxIsDE52v#Ut>7bg>d zxPAEW!4%cZvf%z@KM|7mSIrWHT+jvE?dafib1lJoT#rmNuHub+)KHG}-c`b(x>CL& zCgC}vh#e;odA!ML0yoitsp_iss)yR3zG0^P95da95n@C#udU~=7h!$(8T%bCJ7eNy z{4McQ;(xDyZ~dPW!V+Q=;u9JqG)`!lkdn|L;l_kc36Ca>PMDbRVZyS6PZFJpF^M%3 z8zf$v*r$PN5ZR!5gE|f38#HThM}xi%1~%H&=+ZCSFFJgtS%w$Yqrn8R5Q-MEs=+J& zP_@b_`kGmMevPAoqRCJ+6Th?Y zx39bJL0`wR<7LOnel9y&cBJfJ+3K=SbGPNboZC6K`N=~k?>u?+$%ZGBPBu81aI)6P zxRcdSMxPAL@#bXb?8{l5vnppr&I38O<@__}x||j{@o49%kKA_llKEy;-~TsOT&D!IZsrX$Br}Hmj4CusZ2O zRwjLf$6U_Zq!rfcq}Ae6ezPM@e8wuJHLO!w$4aFQShbB}lX0sU#W!OIiYJUtA{DDQ zLOf~o|o-;sax#c-nZv7$OFXF-Bj0{kNZ-XABZU#d!I$_*i@?UJ#For;Gve zRzur}Vd8nRiv6*tQ^b3+hKx1Z8`oKDQdpfL)*DZXt+Io0pYgD9w{Z`@Ts++Prx?M23hk0jH zF$n2A&eJQTWOWs}WnW(r>*yeAV4Gqcud&9AZy&pA*&5*%&F^-HbnTvoP3*Bwnp519 z>!pPlkM?Qdmdz6qZhNAWTlQ_?R?XeAX<`ev(LABE+i2AJf$m8?5~e3izjMI!gw6?% z_Z#4LG_p!A44mF0Il(O+?EVCQyLC@=ckEHOVs~JV9vxb^9l9Ex;O^-?s9;EW1(epQ zW zsSRrGb~SC`4z_D}u)DisUAO2leY&pi!R|?k?n%?9*PRXr{^KoGkJm|Y`H7B!Cy>Bx z>*S=aR7H`LSXZA&N=!!X{b2XoATbdVLz}y6-qyk$*4!OO5#BtliJX=& z{lV_*J2DD*Y+bOJ)~)+`exx>kM31`eB#2Fzwk`^}m7mjGR%`C=IBgxj_0>HsPIRif zUc?#soqDvOw<{f?VY77xbw1s{Ic;n(5@~~m-`3r&lIy0ah?{#@2M!J#!8i9v$NxlE zzuqm9-Hs@?%N^RR`@y=|JzBPsNzo}WNo`YP!k97PGiS=5jeUP~U4{lJG0|~@Jb=#V z8Pz1aZYR|_Yf!iJ*WeD$ayz5kp;;|k#TZF3ZByc`zxj!G7=wxv?{ExscJy5o=FbOx zgrs`)h@!s>#{y`siv<~B*ISKxtNCfR7|=9_xQu3QS5%tQdRyYby61UumOCUWEi~Xv zM3%c+lshWR9TDZOuCKc5XSrjuc+h=Smb+$_TSmESXSr3ByDmh^MCeOui)#cahDJ(k zl93q8d5#j*G2b`$4!GBpQ4jhG`9W{F zzOP*9v(VRfdvDJDD%ZoK6scxQqs;Xht25uSIShfr5I=|E9EAH15;#bJU8}v4I7rgG z8%ZI$z2GL)FY5H@kRSt5{+wn)PH2S5kw< zZEY5BLLyoK^50x@Hj!~p&6_lF-rNZ<%cQ;=L1At(wq%{P^zocAqez`=#$DeER8x`~2tb``5VVdY)Qk8!^Gx4Q>SI`GIr=WF+M z+n=7gbwF9iJN_wioI#F;eP(wYzs%9%)|p)=x9ERem&aeU`rT;9ts=*=S#@mrSq4yB zEK3D!n`axUoW^$q4{|=_J1axKvz~p`*Gdg@^&s~eBHTu@yIL~J5+&N#mo60@8&w^) z8;j^yWzChYIdfNCR0TXk0VwUVWm z)hVL{0&G`3x^0wd(msVB^p>T*!cSav-Z*sh)jF;fvZlJp_iEX913C{<)#W`kZR741Z#r5zKF2%M748r^uw|NEmHOj0EQ1@H7@ZW2xs6Uy&&scS zw~h7PC)3BO+!4NbnKOd)0(CveZzDz$k?G$_bvu$P{Y%SMjVy;EBZoY2+nDOULK(M= z`&+3FDvEF87>p|6l1Qe)FlZa!Hc>_S66G<~VIU&oemt6NNnB_!inL@V=siMrr2xH1 z)PAt#E3bTLKND}hq)sDegHfnO1s#R||c=;`iy!IFib3+YRD~)ZJFY>j->O44*q)n z(4k*a-OHAJnznT5YSq@~@ny+Ytc<@6wD#@s<<&S|QgYn)&d(RlAG3McVE(R_I{8Kf zmc?Sk^5lNXDujV2cle!0no(&r)0N>weOk71CPh2jHd0GdeKY0hAZLeW-MaGvNj^$A zqT#&`QM*-tG@M6YUVjxwrLxkEXrYxdIw~!sQUDyf!?V)kM6~tBYh+t(cWfynHEFDk zw{}r7F3}NvDODbwJna2fmwqx_Ie*!=A?LlRzTrw0^-}fT+1YE_hwDCYeSYcS=c&KW z_H`hIE5+k{9I{MhU!MS6SCZOqXJDV?TRn`Gar`2O={54?`^rGnUrtMSn%NovtRve zgmV72X?xzJ(bJ}0%-HNJa;gzq-=Fj8=gVgpwHG`;ZShA_T`O|-ZyLO|d6V@Mw*7o) zt80dP(Yx=zrS(g83aN+BB!vd^k5aHg+VA% zP4{QQC96Nn6qy*^B*++?n>(iLA+_M8vZ1P;D@Fb^(D#NM(aE@UsgZHB8fNR?r}T|r zXsORg%hC^tsHI=-5gbJ5o*|>sj7k#HgCnGVb8s>tUAnV=us$Hli_x)OTFuHE-N8|5 zS5+RiY*kn4fbM45zFqa$8uX^d0n)|K2W`AxZ7*BWuKnbZU*;bDd5zbpo?JF#@uEeu zUVST3y=BxJUiLe2k70^~M}5ET%y7LmcgL4YGJ5p1`uS{lsc-3e6Xx42ZmbUE=cWeS z)X?0Z903}W9#O+mj)>&6x|OuLYec0rs60fzt!u^wU5j^h)kE*G02TwHwrnF}pd24- ztC5;|_nX((zkbAhi+{TD%aJ>BFYMS!h#kLt?ApXF@4mTug)^f;LjQ#LOPMd+*T+|S z=m0-f+nnUw@JsUMvJWOa_T=8uQy;Bns3;k03#)Cy`5uwQO&AP>`ML3Hi94)nFBMuB zLZuOu)SeUp7S|D6_(#*Q)Uc*9`0%Bz##hd}eEDUYeXoogCr7DAWY8cT;|xG{)sS5r zBZ_44g#Er)-WThCpQWO@54H%2)$QGaKG;I{LH+~^F5Rfxg6rv#E$Zsq7!)K{iqRb# z#gHq|C15dhPjk@IbkyRHYYf}2*l}*)e(vV@6O(_ zZSL$H*Q8CJ`pK$kQ$BTE|7_aT*KD4&`H9Jii{Nn0HYv;W7 z#V1{V{{GEg17wXOM`csrS#oU;miY?e>kmk{O6E@K|H1c1&ae77N6)x@fYKy6u8SfV zIwzuoScQMicw6ANwS%AhtACq(~|t{|-mjQgBf zZb#OdBu9!vjdTY^=`m_Z)|%!aH-@N@Xl+nzoQ%b-#L5OkhpIuB_>n<%>s79+eCH>~ z=laQU6SU1z;vKn^Ij)sxZ4lq2qk5y+nkbndRqymDDMxB!6<{yZqcpAj>8+#afFUa{ z)WHuh4qPJJq+$GHNZG|9@H}3OV}_`lXC)2Iv!b3ym1a% z23Lj~T0(m77=MT*;2i$fBso)@+!JKzV2?OfbK6$7Z`)+Naqp$iRO-;7#zW8fUhe0c zGG11%>#7I8_tQb|uyiz@Y?9TQRlInGcdS!ayJmNtWE^-My?12?UdOr%Us%r{QXmR! zvfrB%1Xp--1`k#iVytZ1d+1}+COnG^QO5qIpY5J9?&i8tGiJ!QUmE<-i1$WMdi9lO zTpw-P^~uz|quTcB>l=zTLi;%14Xy*uSNR6yKgBb`9hvNImF#Y2$83I!VsYdT!qQzK z+QkPBA>FN_(&8&)9(S{-w1xqPSeW*eol}Pc|ERnQXD;n$>~RrphbSd3D8+DTYmI?S zOb~_=iR{PGRap^hos#zD8)f?#%i_BZgzn#S-xJYo=MH*lT1;Hw$9+cKri|91UE9z6 zD6G2A?R(d^(bp?FMh=trcVBaJ{f>Jc^-cEmjj7Hz3CFO4;gyT)qPq2c__a1NIpMyR zFT0gI=-W2vUw!*|Gkh|oZF^O=ZF1k=zv26ht9{q_Ci$lLS~O3(`WI``N`$s}FIy|L97Gu$DI&%y;SYMtA+$LZd@WyI2iTDvB1 z-={W}EnD#VOCJxMF?IS3gemzw>obl|=wtQBc3V9Bm9NzaEj(^aC1E7)s>IKTvYr-Y zoC~KW7))aP9gI=6CMnVzs9?MHjuk4#SL8Y8+b^4*)QDO;*KN+r+q`a9oczXh zr6@5y}JQJCRF#ahY&sd-k5GDYdhp|pL#s8CBUz*=h?9iW$5Bcll!Z5Zdu z{%Is#8f3h4DMxKoTgyHi=yVS%J4*X$I{I2NDUV~X*b@kuE#(g;b_tff*VGSA4#pUF z36>+*ObmWK7!Q)n`SgjLxSYs<@v}u0LuXBw@kiN>V~jXi+n$DOq+57X-#p;~tJlh;JnuU}vFPK&R+$SB;>G6toA zS{55^YngU#jyWf?x-SF-IdXJkmM8eV7Hh8@Me%vrk|`JR^-SKa;`vlTJc%C2r_ zHn`qg>&yMwcP`hLeSb?ieo(n=3#>LCeuXx!!kE9aTP#DX({MAz#s^dX=(rH4t~(NIu57EFmwktuN@GAK#8+FrERkoCG zlFwAD${s|7{ndPD+4W_K48hCWIS3k^WPmFh@N%*OBVp7}cY+kzUS(ZcmpYK{XxHOv z$zC+;W2}0r$hAr;xkAV~M71=@8lQ1sjsGq2+tHQIJrFFmY!!lkN`bkUCb+4f81`f@ z73Wg5=Z^_>m7RRBEY}q_1}EinDjd~Ie24xIpM$UFPb+&Kn*4kgvmZuGV$oM6m;0af zSx2%;rx=J|wN}X>Eo<2x9W5SnDZ`bTYTV!&!Atp(s4rTfD+@e2_9^M&awaR z@=!W#(T+tIP1@+Jl`YyM32T;rpH+U=XaGYB#3%$E^H??EJvfm2z~{`a@om&K1G|Z z0854%A{pChCslZ9NRk&$UA%b8_oAGzX6>4_z86*RvL#M;!Io|LgT9#Y>Uv97&7Bd* zDu$Wtayp{uBvF2C^v90rMo5&VBPuE_uCj;fQD+q^DQhUQr?;(YQwOtLFF~mxD7tU;Bk`x_Yzh zDd+0UjL}~-ZLoUsE1iZmsMYYr&Qo5VGibroH~2q-t$aW#@^9jg>8fO?>OpipO|((Z zKO4quA40z@eHz##^_c(4a@UJWYgE}zC`kE?S3_c?%cr|^PQY(r9U}c`@h>vw;0alS zbxPl-thTJfPa#FBYG;dmYW4)WXlDt+HS2)S&e$nXwI%d_Q<*L`8BzA#6B=Usn%?!1fa ziLQ4UeS1CiMzfyc&o-}$efPV?%UnvdoddyW+nJhCwjk;gI-QiL0ATpO^ z0HTO_kY|0VDTup8T68o?3c{YJ$c@ci?PZ&hvQ1l8vJ4vMn?BOFzOk#3@AFZ<>Cefz z{1S_!#>K)Dy7;53qxbvoU&M0QvbX_RxH$-8eTwz&Dp7G2di`x+-4=v42Wf2%39=$B z5~|jeiQCXR?RG&dPA5brS^rYhXgOz=?<#rzb>Bn2hiA$2zPhuFTh&u#t;^!oi)9n| zC6zr^+ayBIm(UZ;Zvg$79_y`sk@@LiIe^ZU*j`S%wiGo~Zl6(hc1&5x3^mob=F)(& zLRHsb!b!5uMmV0N{t*A@uS%8vFe1=jr#qCD>I|xq2uTld+AnR7GjFStBC$or^B2z> zJxLet9XPO;qiE10yl;u`TY1(siN4cBxPw@*knEHhr(OO}Fn-)+6SA+k(n z8ZgaKX-DwIff?PFtq2$s+Y%+nyM1ea_`x;lw>t*83boAc<(F?RSu!hMIZ+ua`ja7K zX>>{_h-Qzm2EzurxplN`)>Aeey(8WgPZbBsu93MzhS+*1%{j&>cJ+67t#0n?qKD~)v%=5N}s4FG%99#)+}(WcBtN;M>^^|k{w2G zEl{Ih8Jqg|L2LJp} zva~Zw*tR(GqV3z-s~U{E!$WWU_WAj%rIB6y&dbk#^ptWHtoiJ4waBtRUii9s$&&43 z+jqU@p%EXy_U@XOM^B#cFX^3@#r$$KGZ~NB zGO#?Bo?+Hz$cm%=0`Yfv>x#dz(p`q0eNPXIumT$|HJ#*eWp5qxN!x0JQ`>z!dVBWRh4Y?&ztPnTo}D*en&*7S9__KjRjVxZ zUyu2A`pUkS#`u1|xIV-4cUXGSkM`V2d)8z9okgM*3;T(;dL=G9s8zOtwzO4b{ci;w zqi0)d#vx{VZG$Rb8PY!5%BRE*KeA)w()MG9gtlAp^tL0Z^X8A9)9jje$If4%YDh!2 z@7rCy_ z%F26(S4q&N$JMdAbe*bGQE`^}Vl3AvOOIQwuI%l4d5NWU?aRmcdd`NdoqsyVUYk^* zfk!i*{`54t8iWRd4M_K~Hu*O3$ z6duTsHDy^dmXN}lOtVL)PzCn3;l-vc&u!on&*E1g(u6jHC6n6 zppXsOv*%hYiYyP}r^s@j{s!`Q7(GCC`rT>z8%~MmB9&t)h-^59kE4TZ_c3j5zUI4I zHlzMXIKJZw99vcT>$jpL+Pun;vwD;}y7FDo`d!k_&Xl)W+h}VBquIil@ono>i@Gkh z$AFQVf{VkJtqlzs=nQ=>)$x|>pcj`&zSAQNy-q2@ZxO6_`nk1iub&!!fMp3KAWvh> zhP$dPefi6@%%bV3sT1UzuPR>`R(QUmBFjo#wJ!CMJDk2+W$Uziho;Il2+VK!Y4Qub zJimo_A>VqA5szyk{i%_EO~s#u>F31?j{OIIUM$A^UCTO1qMuo-AY~n$M@T{!B@RXFjqQ-vv(Wldb>bT0rsIfbizc8#Um_^jcM)#LP@L17b{+dU>b0-LNWQ*&ckaGF z#Yk1!-G5+N7r%YA$hYn5e;*?uxfDy9)h~~coY`APt!$S%FtXiBVx-g$=Z}4_@ilWs z&s$=}NDp@{``&r@jI>8Op6*rlTaQ77+bv#(`}!Jt%6SQlLHy)b5x5nD_<8Yb z_kSOQ;0=_R;}txfwG_e6Qbn$mh&wRl8(Pg?0w$a2@KXyr*6w@ijUFRs z)lYpQGI{>6xMmT=Y!io<@#TXx;R8klIe0zqXWg$ckM}p>dlOd2uw>GdLr z7Q*@ScQQWdF%7u!uhKp`Snx-q6|0;HtV#P=9@l96{E}_!_kQxley1A#-lUga8o7My zmLqF2PPo)lL20QkzAIzy8P%}q^aK<1GGibe6Gh9OMMd{^tk=F__4tRIjhgt?SI#cJGyThM8Pdb)>QOD?jk#)Te|{}n z)A|AJaR5US!}o2h_NWp8Szg{xYeiNy&GNgmVW6Rr5>!`m4AkE5GEw@;CEKP!W?7WBp~= z%oyI9+MariE5$R|)5g^zW4te8kT==YvT(5P>+$l@ty|TRvPNHjt&Uv$TIGKARoPV* zp_1>93u6uYVg5W=75%9~r$3KV*>qN$gzE7_y30y0G4R$onDh`~&(s8_miRe>Ml*f0 z;86xBq<*!?z%Sb3KvyYh9TRSaGgaaj$8^-Gt* zHF$Ag^sfChvnkdpC2L_4L9UgL+uPVBZ-3d>wCT$)#NHSY5#BcZzCMZ9`}$0gjb1R` zy;%FH4?>&+lymqaZ#vKtbfqUUS_M5-b5Z^l^M^`-W7c$su+}>>h6-4ebERCA+I(r1 zdbMnt5jk*RcjLLiJ$PRy-%#~|>n6VK*4SEALhgkBG6(h;3G8HY zjAx-4<1n17UVLVy&(-r^%o+LYvm@txQD@>a|LWcQUt=cuhPFSuB4^wykH7p}?#kl! zU9Q>ndhSz;8#P%nEa&wM{p$efzETwG?U#F#N7 z=6vDX&@|)qoDqu~CM_PB`^L^|y0kA|nLBRk(b=0O_DIh%(`_9Ei^q1K)xG1e>$*JA zZ~k+Syw&5DC$GPEsLFj|!|h$#wH-Sk@} zgrG3#hSf3jLVt!46}d3pjzFzQzD8u7GqzKoBw+0*WA5z(+*| zMQn%#3u41wAhYw`Yn|CM=LCEnpZEQ~>%XpFFD99poqcv)dzE|Ly9PT}oH;u*Q(C9I zL*q5$okzUK-gxsl@8(mw9`>#*eKG#?FOo#Y`Pv_djO35b$GyHOjJH;fx-Fm%_Pe%hM1fwuO&;WzP80I5Vp(XJ7&8>Tp|# zBrGm+1!n;fmVpCI=cx{z(+O#bVyP#qzAlRHD0SPUwM7GqUP(DPw#iHS?b#&-$%4Wb4@J%(i~#^#7NT`F2A0LRS0|4h6|<9 zuICtSKEX0P85TgaX-3naebF?D;iHuM0#z9rGq9FWn2qs0U!64h)gBvqZ)w@KL)+cG zcXfYp{J0l;?CG<&b^Er>AMbPRPf_uemqkVS<;$eYW*FF=@){x9{z{ z=a$Z0ZrRr_|MpiWPdL$YM_+B$d-82j|Gjgfp0xbY6h~Txyf1ym0J8bi^-Ay$(DfaarYQ=WX$Nz4B*WFAC_dXum_AX|4$}&KQCd`Yndt->Ag>q)I>ts=m3UFgu?kkjK1)oR$RVdsYU zQvd)P+y1n29M|=XYg7ghc1XHhQG5~8_kNPh0^K>UW`y<37xY#(xf;`Dya(D zt?+L}?GgFIA5LrZ@c5m_-uTF^?c4nD{$ zAc`-PBic5S@E=>;`EFxS+sGd7A@0fUxo%@Bym}-ov$IUvy4CmXlXdp*Hxo8(+60L^ z9(jJhBj!*U7>{g1WRmh&4^vi8t=%lV$s&1~7DiF}>S23^-};TT44MEV(_cCxjeaYg z>5nZbBpF{+jW`>a~Xs ztzEs-&<0K#H)-~)$>S#!y$H~yfjcQC%T-d!BDuOZNTO;YV`{S;CO?$#%i-Fc?ngJD z+n@K;dz&9|Po1=Do_FCB6Q(bcmnCsb5#)HToF~7<9Th&=Q=XJ3C=UwrutY1={>1vG zxQf>rDUPeq;&#`yA|jdoR6-UbUI+~&7*dJi$O?|pLldHAM?Dm!5At`70xr2^P$lX{ zK^3?zYlN3N28-7whf|vTr*Mk4G_tf-ebya$^EW?w==L5tqef`vjwQ2JM@7qxw=O7q zaOl_`+Kc6zR?6;h&$zMETlF5)rDLRf`26LIU*P zJR1<7u3W6epRpE8!!m0GM9c%$7_%m;R-+0Z6vTuV5*-$a;kW+sk?h_rpXsltGaR8} zW}&NMY(==Rlgl%F0+`cO!klK={;FygV@}J*`s#2>P>b+)#w(%giwSgCh-al$W`L>aG|Z<+_`=GmJyM;rHroqj~?tX zKIg8j+6T@>C|Z_Sq<*`eDxSca%Q>yjy419o5nx8#Ms9u^`{^*JT4^$9>c^t7+GIf zpG}phg>txj#i$X>myH~?VnF|!+x6|+?&ki+soXVda>p!RF}i)fe(l>2%)#?}yBdJc z=@&dd1`J))T4>As}mFeIk=WxTYIN#Rulg9K$srrXdpN8YB?Z_!Vw(<+~_`iy%{`i(|Ny ziZ5pb3q@4!;k5(wK=k*yjjYZ$gNl23%gqAkBT7!$R8g; zmIg*E=${}TfCY-rfDR$bFPpja(MsOYr5kLV*zbXQaE}L;oZg-{SvRh|yrK8NmNy6f zFh4|pZ-u;ZkpPy$`|bip%6a}`U$+3ja@B7oVI)1Wf>6q<%?Q`(BC>O z%&R@ob=0|2n*-cPpL5!=7^?dcn@L%~N)Yunz zY-<+_D?0oZ;VMgUOwZtLo6+?5s2;;Mul5X>b;p>>I8N^vII(-H7R~BK%;ojcS6eUo znJ2Lp_7oRu>(yFN*_v1jd|v2;StGwM)^o@$L+3@QN-U!QfKDX<^uPD~(y>Su9!Y&? z9{iI0HEVqNs~_=Am^fkd9*c~F(!av(8l%dJ{-ULLl*%SjyT}YC zQVx{Gx{d?Ybqe-;jH@j8dw5;50a|j`^Eb)^=GQIIx1Q<0f>fwODS9TzcJ!$*>h0cB z0302e0k)te1>5bG4^I8qux3P%hxjx8%JGO%x57)|srd8pIPvS?_XZ7X3EV%0ES5wt zhtNOdwPbiaDMhE_0(-w)rBBs|25w8zx&@xDpdGvVlop*17KKG}7NPe)$qj55EA@^b zB*XkIlpQE91mjc#o5KTcpNqwR;&Z~u_UE}r@S5h{^|P9Ls zOO&Cx=Q5bnBi7uU*eNTt@UR9$~f14H`zPUBw@w%pec7%c^Hw z@l95{B1}AsCddq}A!v`rw^&0Y8-v-UO2+WAQDPikL5gP3IXVRAs6UfldKe|rF<>#4 zKwtG%8aCbeF;PVb#+yRA!*-iWo;_Qc9MosLDV#oEGD0zo(k0 z$Cqm5EYW@kF3ojCf7zhhYRkF&MkzQgM5$o7m++BL`yxftNI{7Okz$a@l~48%eMH|L z@=1}~Lp~-q0BkT(4DKnn^NU>FLrjossBRq?_@{t@{|x@e>KMHs>c)ZWX7!)!&-%8_ z4tTfCf#t7KzbYEyPpMj;e$=*p)Zq`I;XrF=XcqfT@djb&rhM9)Wy_@q7*rHPO@mJ$ zU6A)uf#!3zv>Q5RL7xExoS%5O^UyK(-_ofly2VXy?XKnUpqs+d zXV%;B&Ygce%5eIdTW|dM&QIolKjVeALJu@+1z7#CU9E~@YSv<8J;@Tr2=m^&DYzzD zT6;5Ik5F@Im7%?9m6;)~T6?ox$uhJzxeU0+fUuzXE(bc);F_@Np}lFSYVAlXKZ7*GVM}rU;NXD*BC>jqxfxnVA(Ts=OeH!T)2f9ZTlKA%+Bm5A;n9{6BaI^V1HyB2^YJh@K-iD z{tx+4Exg_sOQCF=#Ii2S!clmV#?WXLVT6eBzOnbAXJ&~hA8qV&Fr#X%)wj-BDOcR< z?KX3z(fsv`Tb55e*S(MYV&(eBGt)+;H1rM`Au28z^ug^pckSJbHNn_T^CHF`5|Yo6 z?a+QO_H~W&YA&rZABW1!5JTawLzxC8%lsTH;}*Tg6A%4?`leM2pZQijKZVK+99ovj zWL{r}&O2(4+cmB&vC1E4;6XjU2C=?+v}#nl-5IJ)Sfj7Pol``+10HcisZPoAA!P_xzXX|H?|h(2&=^rp6% zEencn%ROFA7H!x$Uw`OCzcvO`8frAr9kC^i3`y(qK z|Dj!zzD>K29N$``E*m>+s=ofzMl)sA5r|vN(=geAu%wu$TZ8(`0M=h}2>ZzEu2XQ` z9kkY6Drl91GQ=uF>&_}OL)>MpyJ{uN(7K~CSa+^#6)Hbc70lh9qj&!@_`#uaLHZ2p&-;FbC3 z`~4X*VT}sRGyFZAI@yRxj0c%vZigK6T-i$6^b6W&VgU z>_zhh2FwM(Enu9J%#dxvSSa%|l!51f<=d<9J)=ye@SIv@E`-X=5KG{ZLYdT(Wk_~$ zJGa97+OtIR+!Cv$sJN|rehtOxRKbXnGdJXjfFEl9^oeaEP8tb)cu z+4W6b2XycwQ<%yZib(oA%Fh6q;wv3`6LLS`WP>}ZIw3&t&!}HiLH|k)Scdfiuy{J~V#l01kt3e3(47vQ2=RM{6B_gwG-}`|0L_|?sMmeah>;V$x3+VOdDVJn0&n(a+h%TgUs|_1yN)yV ztbFpe)1AIqLHM)8vRhxf^{2H{jyBa35|aQx%PnkH^mAMs5NYT#)(+!bc(3;hu8V(J zd%bK}wpe9ouUlnih(*vuFz3l7%g|ouGFTTYti7Hblt7_p(O#!Am~*6GV5cXu{7EMK zvUR30rh;Wl4!3EBxW#&21(3$GbkSVffT4>7z|xjyz^aczV_u(UpgeU-uXWnXiuz14A8;phyIL~US0B8hc?jX+93X%xg9)Y zXTgSt44NS>S$0;MURt%Eb1qDhK{zM5%n(ZkRmBwo!9H5`kS)gbV6FXZ*5#&_=I*c#x+KpB0ae$pJR zyr9*fzE#5x-~(Ty74Xk&eciJ4;UZ$n9A?Yu0cVke5F+MAw!V!Yfn@UkBU>N4pZdKJ z`@KBIW{IV_a-{!;`(44DSiueH2W864BC%jP^g*gZ+O(?f(+>(Eg`-JSejSzFE^odq|hG z>ggvsA!3PoQf>7}FL9Sx^^m*}2uPs6IkJ%Qf~>#g&wqEdRO7(=#A<&Z*BjP8i3|Jc zta11?^xQr;kJz5GwV$~`JS0bIb02%-h6eWOq=)@AoC{-;96?wQ zpdovNb7R==)+IP5*&+uXMSn5@YuX^dO9Dv4UUivc;HyZ01iulRB!{dBml?~UF<&g0 zRbo?O0mnfYzXXv0&^heK^q1xM8Fq1jjXDsR765WA4=llT;&Eas9!4D5r1>#-3F(2x z+mAj<3?|E$6NgDrH@#)i31h^tYm(?p3Kv%8X=LWci$@7Ux*9$OzYic#YegHhhdDDk8n%d%V)zh$_(UyI(i&n&EH?_s%>L%Xe&%u9V z-0!K3wgAmWGDbWnI#T}_`C5Dpcm%mjaf{+#sZ2a>YYEDRqomohj zCz#sAhU3VI_&XY$9ZP44&rCDHo`HKla3|wkpUJ&Ca{%ZMM`;2@%+v_r~G`Bts2(Hcszsp7@k+6Ug(l9 z1$M(q0#urD4*O77w{TtfzI@;yeecHim@g1R>enDo%P1}oMl>qVZ^%O@+{|PR7ze~? z2^a^&DB^zhjD2Wr%>Kx>Gbpe~-c(OCnN-V@jT8k@M>LcFB3_}58@+nw$cZBZkB`ze zHk{Z{+l6^TyAXR8e?dl;2IDmgKZhk23PcJc=#l=Lc0u1F71I|9QBSRCnn+nRRvS9{ z{dtED<>@)MPP{b`r@hc|Vn^*88h;woD;z_^kwa@lOSb&PkAkD#@<0*8`cQ^mOt+jS|e9j2jS-;?vj0-4q`o*bbfv= z^!crp&m}qJmnr^{+U8DFWv~WEn4{EMQ)dkwrx@o$vWsyE^Pdbmk;j=ukeYu7Fj*l` z9A^=~;pu=a?8x1Ox(hlz9GraIII=cdi4d)lacSG~l*W~#V_GNn9bR;T_?23^!3^;S zAs=~OyZQg|Zh;#5cr{HFqaGRA3<;JKtD#?k9F+;B1&cF=lP!5w!CWd)acj_<@*hN@V+@4t3hBt zGi*FE2g_0iMw_MPOxM1B_OY3xi>?~Yv9@MIE`Q~T!Q3?Bbu$(B%P_8>Qdl3ed}hy} z49jKcIS*R?lgjRpPG!|Y`XSeY+i7%5KTHklhgLnLA6oLgFK)A8{V+AGn_2Y?4b_t) z217rD2L;S@@D!v_1~o4gw4Lj7M~3Rl!5w53xh(neY-ORRO(_1>lM1{{5@LbNtXXof zF7jeh%S>(O@MJ=RBXG106W~vy_@9Xa@8Schlhm zbR_0+^n?b0R6~xQkUs0y+0|U8Jfk4XWKu}P1}yhiN?{OEjWYz~vpJW24cYtL#2)Vm zdJH*}&=J|7r5+78bIGLCP?%#dJcp~!w`lS1+#s*PrkfhKIx_FU^DUZxxFVRadh9q7 zR*lWfbujY@_8zXBJ7=|x>|pu5_bxA)#VU?i1PEAXa3dOLSpH@QW$P1`{H>{n)<5K+ z_B6}i-c}jc$Cms}#PyIt`Fj*+G`PC3UQrLr*@-M?XUaB|mx<5uw|qu_CqE25mwYAs zT*%fJt-V<*?5keH&n5Xw&vlDF0rt6+Gp(nx?nQjtUiL{f3ATT~<&&zbN2<1QZYH1D9}Ry|}(ay`(g4_mfd?Qj{Z9&a~5 z<3bsvC-L}?k!MhU4cz&GoK1Y**ZSP`j(i=TQ{KgLPXntwbk;tuqhbK*U1h>HIOTgT zaaVvIjK5_)YN$C*oo#$Oi}F>4`M_eJqw;1_dRBM?T04t%2xRr!a@7cskJNYj6$!|! zLDEt*sSy?#Kja4Jlt7WFFZ$Lii-jQOFj@Lri*7nsY|qV=gK@@|MVr0IQB85(XSKtT zW5`F8I4y?D-Zd2slmwaf<9L93@&Cu%Q=gc8f|%# zh!|OAvXVth*{q_9ylBg4edCQ_POJPQSMCp`wTjzwMIkxD-Vd|=cN5JCVntUi z`!6xL8c@da_mdCS^5qZ2O>J!dB@t%9vbVS%w*R;uoO{x;{}M{pL-rrngEC7k`!6x* zjS97gd{I_=`a_n6e)yq)}Rj*OXB%hPj&K%dT z(BAF!vL~O*?t;$?JatyR?At1^>cHnwMsuqU_MMOC&zlhk9Q$QpWU`HT!LnB?;2PcF zoV24nUXHg82$t!E=VMP+FhgZ5j7eS8-_k0BJ8%0~`!+PURy=}YIUJ7=y}LVV;r4Jn z?qXGsYnv&|-Zb$9xbg z;4gR^5CN5Er(Ph#B`=8rZC+&?jtk8D`cXyp~~|44wjDFDoYN={5G%rx47 zL5wl!g+AkX@b3E?(3e}O*igIxDrZ;82{XsQm*8C&iE+D_yeGDNgVf;@jQ5GQXQV$=(3W)Eh3HGN+QL34C9SH$Z&g*jVcVVpVpW~IaqvRfW}m?7cYgGNo|tQqpkEo1AJfTOL{(u$cd6bPJ|pYC+{cH@g2%Jxv%W~ ztBka{e!p&8UZqh=bWF=~eTNkmT4Y7#8-c9oSN;8Kr*|EUEH%O`J@0O#p`Eq}-N#CK z5I&b8_W;&mfo6-fM&QPWNEwUBxlE=*F~tdDBm5-I%of#!G`2EPvMn4N0LygI7YNWx z(7yg=r+r;|q3hCRUf;HAHU5tLb=m)1i#A z(Z>g4Sym}=&e#!N$SD1HeG2K8!OkdL!}TmDqxZF$IAzMRMKx>Ri0q_G`_e1tJbE~} z{f-<8I+s)z$##VtbvJM~femuI6C0-N3SO-0O~}I}q8Ymel6*UXIs!2^8v=8aNZEpf zC->Zdz0*Bw!BkB@amc~q`KA_Ku-1J3i^Ra75_F!-{b2lM9D%K#3mw23bw@mzubFe~ zB~k-ua(Kbfd{jtcMWup+9?|b9#UUssPY>G9EmwEO!Brg$A7ydBj6XDe&B}45>^u?f z!8yhebKO(XMH@>nM$FbC=HHDi0lz8v3_TRv5Bd!I6n88Bon&g+VAK(EHx;t^lZX&@ zUO$N2sP6~1@IVE|pCkH=xF23qNt&blXyBDzaffhn`a#z@L?ThXxlVYq=CK6i!fV@L z`8dL?v+Td$lIz+vOZJx!`)3%JW|FLh$CZ6J8!dcO$1tvr@v5FdDDzmbj4swvUz+H# z>ilE;2A_Y=T4h96AZMve*d`b$Gwk{`{B<+ri|E%RS=+8(+77?(&_lnqHP? zuAa@UeDKdU&F^T_wMc*UF|+cr=V%=bG#ZIGcXEOocmBe#uzJD66SfJq8eeFq%y;2W zX#uInN33>+Amt&zPvLRTX^)1i+ZZgeOivq+fd~t3zVYd23U9>?!hD-eVmcr;*-f*w zQ&V>Bob>r{+-O#rQiF5Jau zWEMo()1QJ#xQbsn8`l>Yk1blX!PEv17&ds2>2ptc=;6ukZi9y+*d|e=R4Qae~tr>y+g!Qu5SSqfXZ^J*Egy=clM3@)?N$H{ABC*xg zo4?N}+&kjd_QQvD=s3K4c8%&;S=DP~n{_)3!v{Gz9Wxqd)vTEfI~464h`7r(_>&SS zKQ#dq5~^zZ`Gn93r+ZVZJZRm3WkU??)U`%dYQyB@DxDj49iBU=<FUDDB-KE9Ih~11|FEL6;HbT zw#S-ew(U9Lj&?h;>)&j?+Hd-#Tbso9xqDJ47{QurvGIjo&iny6wxwMeAUN0S@U@qr zl)_Lhq0i0F<0QzeB$1w>Q)*#`wqT_u-=C_bEYg3=)y*G}W9SwJUJ*^8`k#>-#rwrO zcwWFBlMFUpHA=on^;=sY@M0rVBO64vjqDjYG;&JheUU37w?>v8M3Nc3B>N*tVWeRo z+Vel3>C>|Lop-co)w@%jlq$7qRY|FHv01ln&6;-U(zJZ_Y85J118_$KqK#v+oLPi5 zmB{B^s1^PgT$zN?OV_hxxgk&9YaA1;QGTm&T<$OfR(a5aga*VPgQORf&(hOnUGG!< z%mB&OqI}~@aVPTvteJsDovG`nW1{i4d<^$~#sry1LR-2ZBD_0->5Km8U>2juW>SFk zrosDG1Iq_=o8H@V|K{P{h4JvtR6zVEi_>FLo;5NteEDrC`$h9p!*R$NS#gp$j?lEy27U5TXrO$v9fFe8;V^U-U z$ihh1Gq-G!Ww&nKwEv!dX7ajq>%Kitaygas0mcYmX&{a|lGZ9d59Wp@xLq^x0b)`b z$E*;8bQ#aN?|_e|=1BOB#K_{teD^j)pV^H+uM_;d7k>`BQ53 zn#)a)4%zNZg6y-~QVkjs**qm@>iBoJzP4!WQ0>h?quyXhUp8u#9-FJXb1^=_b%Hh{ zhK2E=eL{BZf*n=!!0L2-=nigjt3wsF6Fuu_3cCzAT%C z@uX$?OPAuT1IT9tzT+K{F9c%2hh-;pXB4o=N<|KoD=i&lSLvyg(4PhrP#N z#aO3u)O)19*;PRcctB=6nZGbk(&G@?VN*B>AO!8I`@qLudEvX6m*p4U_w(H|#VIZF zyBDbl92IK}FW3;4-_8L*39aB* zbKGL!Ln2ZdgUiS*T%GPE4_@_yE6=f((uj79;*-d3#q~B=SK9Y0j(mRn`Ol88#_i^H z7H$(Yf4m~%L(rEzzW4|IQ+I8YSrsf( zyZ8gEOep3BVjuk+*Mp=|oV6oG2dkcPVO+%_K99=<&tsg^S5Hzc2|+YB@23s$Dg44` zHV{ehwT|k^Cw2vcGCkmXKx_oBLH|9@P;NhBw3VPcl7|K|*kS+jN>nDdqMhSnDglx9 zmJI~skB%b_8h=IpL03~J#}?RffN-8WVlW(crAfEQ$(?9l{q5`qQAsgzNewFY%qf$- zXZnlh&!3pKJ3Bfsd(-B-*VU=LZu;geM)RWg$J}8UgUXZ|G-gOH2x%GlJAU}#z{wNe z-Zxcjoxa+lrbT}Xas)1fwmwpi^bHu-C37Sswyk^SykwW)tGE=C5y z8DRGc!t8f?I_;M`BFK!b*tiLd{$Q?M@L~lLH`&_l&wMs^@B?f9d~N9A*52QCuU)?O z!F%`CJ1}XRKY!zL^W=L^j(VbA#;Xs!@>#pK(lih4|1mIa#eykM_!k%bt8?$C);x5O z?zO9nbwvE8rE&gUKbw58sM%yePq2_k-D2$o0~^|hSMZDK9cRm_UO8p9s13SPI8MHl zH;ZFN#iDa_=aTNlm>zPm z_3B(XIA#pR9}TLlco;97GM23?F6kP~T$7;+$(em=l%w$<`7C=;%xM-?o zY(Z*x(fMjxaWrrfS!97WjxjioT8KoIBFEQa;F75t9|2mds+i3b<1UAOYF z!-uzQ*|TodGf2>se;hjbyQnp6L6xd=yRX{v0yQlTb$sIXr+|auh40CVXNp@9d zIYr-uIZi`{E8TJ%5)NvTIctErEUM5>v2$S1R6Eco;1OZ}L<@l}0qPPsznEDHQCQ5Q z$Vki9H_7R9#;$ny*7-}tnt}CNPw0AQ&*x6&Js|GT1MN*;XQ^-a=AOG(P8vOYLweux zW7^-;^7Q)YBIQZ3&CKO9m1QVo*+1n?r=Sh>NlCK*mNz{=uK*Vf+&6neb)cV~9yF7_Q5e~}7@BSY2!QANO^kpWoR>wpmNaS>blWky!0wDn7v<+g3a~((^VqlNMB|cW_ zuNl11Bio3*a_*gUZr>p?;yc^ut^9s-#Z^@wU(#ukzeCDgMpq3jahJ>G(hi(Yz}AkKcqYl-2}abdJnayCz>T z)*is}r&w99-=!4ca?-YuQ7M&D>ZY_zF+jtTl`br{SX#maq+-Ga<#fx?(>+HPiA}9i zdv_>RJJyW8schby8e(jfZdqkgqK(pZqjU4>{p7A{RNgjZyrB&-A|IPn)S~}bT_0t5 z9==Cgau>Qo{j<2U(7!x>56g<=I^IJ=#u$%~qjg-M1`BKa4Wuuh+G=^HLNKLbmzI>i zk*R#VMLOd_sm@!HYLsGO23Q7V$tyV%5;)iG=J190P1CdWhrjjt_CB*eYb}Vbz zYTnipZ|@IZ_S;Wwyn9~v+a%a&mQ9`H9bMpCl|OyLkVn$`B@JuW`sUAHUjJt8>Z=F! zn_mli8{@&}4KO=y!t|m4y|AxNVUr~(j0?*mb>M{HB(x0Fc}`lg{rV#~FW~jTiEV?w zpo=BR&dIDwN2=Rq zV7)dI`j7g)_%EaTDZhK+dihLk|2GM7xnqW`soFPrSlbpYN+pZr&ud>6FlsG*WIWbG zEXF*@GS5&;wIbN$rv?LEY4a|TRcl97;#-?KhnA-?mo{anqm{0vX(FU()S>gt7%%@d zai;w1U0?u(`M#D_G{(BRLhOD{KilE+6=@gcS;TPDz65z^;O(GN;rm_uo^OqLH|*v|Q9S`BmGwo0*XscBdQu$c5$Wu8|q(r4@M6xG$=p`#FU$#wwhO?2Gds78Yi zAoWHae>W1y@!)~Zz_kT1#-LM_7b0Q%gF7G9T4&F1*zBzfuYC$iy&Z470Mmbkh`WDI z@!mh>ncsv<8-O-wuBo!B8I3k1Ln`;<+x0>kgnG7PjzZ2KDyA}k3d-5kAYi(%)NG0o ztu3UXg!z<*&tE+ReYU=h3&^UiWKf zwJ#63ktuQFrwj7UIGHU@#fzrDKK|>>`SP#(kI28uX!^%Rsak2d_ppe#amS)Nh0BJWz3_plF zcf{-+I6mHHY5;g)DT$$yxa|9j{OY*sh;Pn}OKK7iss~I zc3ay8Ejq}n^4q*$v%8D0?T`#;Ls>zSA!(1;c7ja9m!+w>o&znDgo@o5*ULh>M{5tb@MC2?AwRvskFi|fvg{vljT^`%D|&!xBV?b-kLUB2{1J5CvOl7;<&Q`S$N#x5 zH~Ax|F7jElDrS#F`7n--$DPaUw905>tul3un(QBeoLGdjd>(Y<3dlk46+&D&VDq8X z#;YGUP*2Oqc}>#X=a_{nCPN8l$5-owr3yE2$~X{k4%yb_%8c0^7hIPYUB zSqsY2Fg@1hX6rn(&q?*9n?Uratb6)YX;Ln!RMoN#dQ_K}yz+~T?wN_HrIN~JSLuCE z<73s_)r|LMkBN>NY?f-?JFq73q}E>>*SmQsb8uAjnAx(=lqoE)Z^9m_jy+Nieth^w zND4bPhKgSBH++o`9ZjIMx1XQ@+#&Xtefk}f!W2y`wY`206w$Z_`nMq8$1738jVmtT@ zU_x7tJsblrQWS9YW8odaK_ z)Vy@*@E^K1;MnQ|1sN%U7S?^w7?UFylMKQaiK(<#!6~uF!WXF=LG<&X;_r+?a092g z=2-o7Y|~Ie3+|r)VgQ}6wc4M|TOxC!f|VaiVX0|S2~?vMAC&3gt>uD zR@$})kg0ADAt2+@4yuBW%;wd=A_$Z0rRk-RT$zm{x1ykr*~4mF6cfL^R`i9e7I$-(&o42I}8Y z^sh1c7Z0>$FpI$vsZm1Q?~37g448a}0Ju>&*R>o02Y)7h_xErC+5|lZ+78kJqri_5 z#kszK9YCA4r>bME+cpf@rZ&;ayB?|c>{3og5(XK8p}qnr(kf3({OT$^wUrP8%+m|0 zn+FT^IBiSd{)^8X{!)7?a3?xlHL%XNcwPbZPf&&maPB_X(ZG_DbaKp|I(GS+kQcXv z9ZhnpoRxT=Y3~iUmk+Q+v@~=@CrlP&ec*J?!O>TK^By=n>@Y40?Z~3(j$Rwpwy2A)LERWv&nprT7<@xkU`KaOhECj>%@^Gobu< z@iyxseO>3R{D=@25~!Ty7S0O|-HYW24LAS`4s%5fjy)>tLxylE#1nuu6x0v^%{n3BZe&qu3g=xs(n1NPg%k#6sx;SvDlQu67 z78$HyT>X~S1Unx&NureSphxE1$=CA7l^K4=_Sgz~`o^LyF-r#NZ3C~+7~|i|eZ)gz zkQR0Ipx#D)F7LS8_!3P;+gUH*u?OY@`y&Ye9bg&I@}TdQ2V0FiD?#cFn>*@_LKX0A zIaW#tW*)1tDijNhK`dbm@M51npK%7*Qoi^WH|hX&6dMZ!689GlDUnVW<`5MJUL!@i zF>*)VlQL$VR#`@_5T^?A_K8y~WQ0~_o%VE~GynThdmi_CuI7Jj1F`5H`Uh?&V+78) zP)viv7^)X)W#KxCnk2BxXCCTNen|Pr<#in2<lSIJV)P$(mbKc>S^{ zV>FzYUnj%A_@xW)pK?F+%wq3OB%(2liuZh|X#U#!EXU^kj-gxZh(7>&=i zm`uB4##-CaR%&M`^TSx{9d&HNkH2{RhjUMkq~)!xt6cf*@5O34@!2hvD{FqV0Yl=( zSU@J+dV_uDFyh$^Rt*ZB`?k2Y1%Ab;q)vO$Kz)Hq}k{mvSPFR++3j@tr@ zgBl0#N2uo}oy(=LYLXO(hvRH^D6$UMMd$=}c{sS`%5*dyP77P&9@bPyJpwvR5qXp9 zou!)Vwc4up0E<@qW!XaLup`F~@fCuG#Ha9reYQztvF`-c9{m@jwYZp{>_-~KG>$a6pc zAV0^YbnhNJ_H|&RHuCFZ$KKU1yU*dC?=AA1?{Q(&wm&~|7n~3^E)UDCd0Eta;Slu7 z_u#L31-eTjyloq;-Q$oP4ns{XS{7_dbaH9>DUKv>CLCNA!YiLTCv30_6c*`!`{ZS z9^|jUSy&GA5caW?VzQAUncvf>nYg!FQrFJz`==%)eEPiE zW9X<)x1{C&@I!vuwvW**=nvrL27xK@gC)Vf>uoz1R%X^gc=PkT~4{Mx6Z29BHe-eLKK7`S-#BMb2}^MMr`*2!;- z<||j+ac`xv%LlDqFMgKO#ta`YZlpGB&@d!z3)kc5L~FF)iQQLiSI07m0-FU&vXhm~ z)`1INZG(Qcs2-}|dCrzE8eMoiLN+Z+B2}Z3L=GDea8kHYpm4yw7&_wU$irhDHX$ar zDQ-rwPP}xT;xagL7WBz29k0!u5;>{p?AS>0P~^}qS|2%n)P(PU6HAKf$U&mDd{I2E zb$>@*%+W{j`ph9td0wBL&~AZs=`xGZ?j*V$lyoHCJF3-=Fh7eQ^-XAm=x-eMpz;m- z<1|iaje~@ZgTNUQH#rV)bK7u|MOfCw%N|)5=r%miQ8tS(!(kF4E#o&~lXH9~) zsop4IT3~b5`OC)zZN$Gf2ycvPQx+g4wf`FnkZusumkl2_2^k*Xs@(gZ&4@*4Y+Ghsn`yeMKS>x_#&OhN1)R-eP#3NWp7pMX|Ms$LObhWBB z&8{>0|BhAg#ho)}?hp^J&~VG(*VaFsnmXO=AWpx-mrNDNYTQ6`_N<4 ztViliL$V&v+XOt6$P=uHEi>=XIL*Ae0Q{n{#F+tVIlGd`TQ-%iEAgXX`Oqzp^d-ChgW)DcuOV4R`_{}$-X*Q@@ zUiJP>o_XEKTf4ex_wto`WUqdtNUT`hsC(s#T^p}isg)&_wtPA9m(-Ih%GYF3;xF=( z&E5{H+Q0RB-h&%Dt!d*G|0-Yk$VVbx{;+4U zsFb8dTYZPjdyV_v!rDW;P1R#V-L-oqT)cg#6F^6nwc}Il3qd+G9waP8VlHlOu1vbwu7FchT<;E`8tu;K=fh zuUr3u{*KI(6&@Tjayg9~>-}agwDEdBg=(b(xT?$>7K{J4{1mCGxp`JwwQD#N3aGVc zb)41O01YI@6lbY^G1y+apF*`(HSmAqr?{>?CE7wV_-^RkXK_ZPfisE+!=VSMs4Ll| zb{YKl$ArIf5}US_GfN=hVYMQ<0Ns*|LlS&S0|hTfb{euRG;{j?37YxK_IIxS_0ImU zO>M%i*<1JNx~w8DYUV!u>-)X#M^4E%zp4GLeDkfR+zTK3F5etw?)d`qkMV?$A_4tK zKu>~sG7f3skW!9ddB_5?9d>?^#DP|D_}Iiq2?q=vLruu_5~Lu?V7EgExQae%iAa5J z5-E%`9|$)RWZsfRrQ~byI_$H+tGEZJ+eMKg-@L-9F%>?S$pCsP^y*=FW#nP>4Thm! zfVE=tF*u}<5`H{?thz$k^5fDW3MJ{8cGJ%9(XH^gBLGeUid+lnNaP`gD@qQ-POR$I z3%uk7UnpXy-1ElM^4A$N#O?CU#fwQr6os;@c&YM^yOtf4M{?$hXXlab&34>Bx*Lr6 zB4O*r;qI6l-RT94*O%bo{SfDNhU~Z1rO|K0APUZa3P5E)HA+}SYK5VaHm6JIgni;(qIj zv=(3o>rlS$um|s%^+bmE@L{jWGS15VOm-hdEWX3dQuFTCe)p}PH$LDt&gOpd36?a* zl6?WhFDEW?tbK;-TdW3TB9;o~Dq{ZbN{=OKDq z_(8Om*K2>fc4?aULRQkW8)$)F?Ze(J_>%j{T%WABg6k9gMx25<&fUa+kDOA-%71p> z8p=KlE~7f&M|UH3L~@}T;tdaB?+|Wg^bJmMr3LenQsNE~F5WvtNAAQ7LMOJF;=U5N z8Tbj3tu5D5jnHa?NtOWaTKN$%OR!F`I{vwvZqUbglrZWa+%#&C$Moozqn zHDjLyBI3uv5rw@R6^=<;9G1ix3cDrFE&BFl#?T68@CGqDuXo5TL7z&{26vnU4*gJ_ z1U&mnN3;7Rd;m%zDbjxDTu@KNVE{c9b1Qdvh2i7{bb(43DcH&mrkCv6x*f!$v1}#9z5jDliJZh`<0tEtqlL9 z_G`rf=;VY|A~_J0YrNalIIH>g$4AD{85f^vSKy$j^QRn91iFIUz1aE)C)y7}gcD1` z;zA+1;5iqPY1%OPnhJ{@Is}l%7_$a@;{D?9+;b80tK|wJ7;8Z*sikIwx1)Mf1K-q8`bsL^ zP~xD&pBr!8!2{L}NNF<`E;772u*wLA*=H-2Ntgj)s>XT>f?t0F*v(RqUQ1u?DLf^B zyYYb^7`Qt{0ej_N2)Nd(YKQMu%N@n=-5|7gRG=BfUn%bSt$82xkqk8k+*8NyQEynA zQ)8fb=38OBN=X3M!H8U+UxbNnk`O@6(?s0UK01NtLCmQ22wms zKEd|G3u27dOFG&&&}rVr*b%~Dwj~F6xYXFOf}`Fz1h7MUQwk2ZT$y-&cSP{MpMu12 zN(-$gH}5IDMza^X9Pb($Sm0>5FYrpx>cB9I;Xvr$Ok=!<$9un=gB6iZ!>x7D$6xKK z2AzJIzM@Ak?C964LEljVW+2!v_8_Wpcj#)W!H(0K-#GfE4t0NN3)@`UNeB#CftVdU z>Ug#KMTthRLT}VB%#vs)ZWoa>MXPzbR?7Ebo}LNL)(hH9*m=P@v*sg81%Mc|7(K}+z_!${or%&V|%uh@_KgeS+7+~5F-LL z#q76_X*&Wr&z+SE#q1{*#RkS{8%i(U0Y`F_)|$^(?pp-*OeJUt_P(jPbM(zILm_Wc zL|N_|*!$2oI8f|{1L$F}r7LsaoUvut-`qFKhfQbZ2GzC7xO6!oZS#k3x#hF^M)~aN z5523l-cl;hbKCY6;!xSY0#{#p`#JHoOcu|*_0mf_7RAbH;$o>qJ6_Um7xQSokTVql zz$9`iYq?fh`;2#!nlBc}>W$j^JYNpSx61J6Z>r+#s!B8INnlwGEFSijCzfpq3Ku7<3|;J7%FEz{A*bT#n~`E$dG=W$Vk zsda76?{?eQg+vw!ZYzsMQT+S=gP)ymaPaJnjbP!JD2z$WF_4 zJ!`F#x)_4GYH9EaS1}Q_ukAh)e|m+w)amq0J4=t>U6qHTZfrpv+p?$|>uYqz*C?}X znfn^8XtcGFuhH|3&NOllY8%&}QQJm68x3tVrIGbb#8m%}jgaC|55;4B^%eH6@Ob^x z^)+I-t)EgqvwoZU#vordNj*;6vM|pDShnIy|ks;MAD1tC|ESq=x+p z4kU!wB2E6f>3k^H&9slFKc)_kJ;aMOtV#AEv_))waPTd>!f0ImP%!97QfUcaQred$&1%~|oJZ5E~u$sIackLL-1PiZ#J zD)7JoC%uS$Ou<}hyng}$Kg=mfKGqb431HPst$L*x+5Ou7=t|6u2QC?+h*5Mgc3v5x zkwN&&p{hGsW3WKm~HOxYyb=3+sC9QAgY-}E`GWf-tvSKjl-u~j+$EFW=%i3 zZR-(J(~fDLqkNl_@`pG4QMUhPpK0#DtgpMg+cbB>y+SrdW$3e~%@fdOTUtAbgC%O7 zSdmh1R9K9RC>%#N5sXnsQm;TL7DEv2%%vS?KIfeDpF>2^b^N$*sdG~ZPW zPRYY7XNj@5O}RD{=O?uRJTXR9qZ=@h!8Wi^RELBkG{@>I?PjYDwt#}wh6K*t3f`H) z?GS!&fjwJ$cHfjHiAkl>$~Np(S)Ly%7tR(jbLVQk?wuT6W{_E`ZNDN!X|c9>JUp%9 zYiNknAwPV$k!9U$QkHn;i8+?;xJI*47Jw21S`x}uv&!mcV5=dAJ(=!X0f!tEE>(86 z>=IemJPF=gM1*mFQ;s>D>li4zM6@=#h3G`}5*5L*rnk1W6;HyJ&Jl5m(fIPBBMvb`a*rrXI;tttzN##JZno%PIpSwMn zw6aO%lJI$xrcJP0HY|BB@5B4oty^+F@4Y1(^1LH==It3defp>;^LCBQqph-kUBaB% zaU1sYcFErum**|JE}sCND`qBmXU5H5@!gdlR?LZ;bx*>~6|`}P_hc4`29I*zkd;7I z9BW8w##xuANwz88KDZxjbWn8ABdN-M_SHo9Ozs&F6``J?H|VjgOZYO>)kH1NTQFt8 zf~h|5e*BoSU*-(ycAs}nx1mG3&-TvkK4j5d@e9`fn096T!uYAv66UW*Y-#=c1g*-^ z`^F}Cy=BMTcQozryfJ0HGZV(mJB+^R?90pbGzP~}TcGmawR*=YddY3%Z`=@+<%yt} zXZU->8GqI2L^|oKX8KDSFusO=jPj>6YCwxCs*ZW|vKw6(oO?d{I^ z+GYCMEA_x1)1C>wn>K;5;P59lZjvGr$z-sc0&xEXe?c@S0ZebzAQxB(N7NEqDuWiD zanb$cxp((_3+rVT&d5La&K|dS4LKgYo9@fQ9nDiy?vuYX@6>(Zy_0*2*h#YLO|2d< zpU}*&J`B8Y{?fQHW5!)NueJH`D^tsPdS~E;U5B39B0i8ATb??!OKY?9X>nWcO}Dp; zPsyFRO>U__^C6s7n4gE?Q#osXADo|;ZS$j6pAvKbc7Ccd?D4;yAO9AbsmTq2&!$PS zre_QNHn}lQwtp}u{&tDv-E~X~cJ+Unk5;%0`yb551oy_1FK?UpM4dW2CTu@>Vv~Eq zLUN?$ExT*{!iD1>tujyk+Prf&%tsFqJ6WdP)apT_m1e&8y1eq{dqeQwdvA)k*Wbf@ z>{>6cJhpSw%3pt7xoPKPB5wUIF|PNfUhU$m%Zvg>)$dE)<6-6tEcjT^bt-P?Ng znl|mH|KwNKT*MR^5I-|t0bL!0v6bH^`TI^JEb5(8t!08xr* z8m^vq`%Z$U;R?LGr0-0YtC+LQ*+w;y|C=`62uz4JF3EfGlfTaGy96NN?pZs1`MW!# zfjM!a&c{SW#-3PEl^rcY+wO->Gt+Dh|6zj57Yzpl4rgViL(rI>>Uw%Y^`<8O%hK^) zYX|6tyzuOj&*UfBqWVYj~+63@h6wNi0iugIyg=zy4Opv18zza^o|Es*>DH;a{N=tB^RDgp z9}G7$9wjxEd=@h%IJ5w8Io=bZx+~H^epBH5dQ;?#%R!%=Asi zF>4!ctXTU!F}^z)MtWy#K~A_^q~ndG7zJJnCfGi&d&W0C*4LO`3ufCsZ+XVoKDMB1 z_!DX@;fO-$)5MbRkrDN8zb{$-KfNzmUs17UOc^qCs-cZ(*r-u`@ug-?9XfQHp^a^j z)u?_ien(&8U8a27@ix%U@uz{_nlW|gu&E{$ZrDJ6g||caZD!+!4O;QLX{I(7?=p>F z+&xB*?%}S}yjflOt-Jde{9d8>6X8U7uEbSRH#V+Z0W!C%H}GF*B;`8G6$Mk(A)kWu4OZ4C&A;YUa>ewJK#qH@WlL z-DQw*J3!x{iFWO)%iCtF6#eTYSGj|LoRtBi}9J-lNJ zdJ+3$*SAk9C|VY`zQZfp7n-=WgFILCxh9Wv6u3JA_Rn$oso6*6hR0@Dx#8fth%q`A zU!-`vEk}HZ{1hD4!8`&g3-4f4DywG&%c^_=XFN8@OmyRTY$)>TkJoMxnf?DJ7^`Bj zBRCd2&N{c*v!_lW2kFA!hhI5qCKP^+`rn0=|1JWHtofM~fdz5NfdfVRg7H_4d6iZ` z_lU)s4Pq+Uv!VK+PAR`jV{Zn;xBUQxH^atn1~CJ-Gdr$ej3s$8-09WR8a2&mngkOQ z211%>lqY`s^4h%~&*CmC$37zGi+ji3Hm%DXb70{?IbRzTc--_|e*VSj9`~c|cQnjR zncsf7ne*U7WOBit3}W?RPu6mcu*RF$i#kyq?gX9*bY*13f?MXd=+iTB+Wc_$fZ_608F*6|cjW~B?4O(Y@Xd>7yg+&b zajK+w;&EOE@7!=i9Mp^u49Si!HIRL#>^DqAb()E|EF&!tnWz1cXLc4>51BqO9QAL3 zfz--eU7~(9ivO^FiY!nTTdTl_UM(Zf%BcYL4eE!~;Jb9nDBaAV?W_9zQPw>sNa(a9 z!QtnKilt~A{J6HXZS;tq2ndCBF}${1KAyK?#s6XLOW~B8edO zAOuB)P`lW-Ahrat#2T^2zDLlisuEijEyjq@R?%9DYMZuNOBLNWzv_avWN!Z7=iIq7 zcS8IA-uLs@&fLtMGv_|%oaa2xbDkCHU&2$iZEZunv&&NLz59s~;(&KaZ z>CZ=bP_Jne$pTdId{gGT$DTh*JDR<7r?lDm1@FWkXl3|=bbfQRwgS(8Q~O!zggq64 zde~&9Ba-i>8gQG2aIiEz8%e>0VgR%NsAw8IDMd_HJ^@QSw4OndE5TYFvG1r1(Pi$( z6Mnj;^4+iTKdxLBRf(LxX&4oi)rVAlGyC9S=idNL@Sjj^i!~T}=oCWW2s=v5jS=*xeQw?SQt$yF) zEA9{1dQ;vQ+&`z^=lLat;A3O8J`^{I``@|lHz^Udl(a3DaO$6G0#W};u;^ze+_-9q z{-H#r`!aNen71Rq?;=cLkl{rn44VeU6lYfBgMsV<2MjH-Be0C9&kzU=cpy$#sdzId zxJ9n_KsskZzJ+TF`7roONUB5VkN-qo9oX2F=d^D8?ndpI!RhN}%vhH`lFx&6F41X| z4r^cWD$Z{BG=^7#eDnff-T|0fV?u+B`TzoEV^0W}jSv3=%mt}|nSqG;$_&g2q+l-q zUyv7=ABbQtbE%Cdj{(BIYYY&wF$OIBi(+z8h4V9R+?auyqIchwS}l{DyQL-4 z8fm|?xAIc@fdlDUmbBG^ByQ1ADRcOiF!=#|Iz!l0eN18)#xjTj8g5-)YvLJ`BvLSy z_oAQ}g7Dt>KMsK(S(&|OPd0C-9iPY7ua>lAep6l{`8$78uBKnVp6=Yr&semI&SMw? z#?TXX;0&ybjk&zhyu2B_j6q&w5JM#!xR2zr_&ZV&HmJuA=J@0xs?fYHJ@IS#V!X5QM z$o~__(pS4@YLg`2QW334m#szd+ZN|vP6}xia`+Yt_zLJ0IIN&kN#g!4ayJ!p>W+&} zA@d>D<~VBdp2FJru?6}V#Yha&_k0saRf$PbJ6^pNeBRkt`ZO9v&l2A&&LG06SFbAXU@)=#i^^`M0Bs>*>*} zV!jV+e^@VK2o)*MDmit4?|V7&iUR=|Jlqli?En@aRK4(F^R~9p9GZPWP;1@fy9nHW zf(SqptlZq|B?Ro%tFFmOrKEsZcO5pGbL|fmPPCA%QP<1`yO$Eu*sub2AteadZ6aBw zfSvdiK=wEJDZu#dEw@0gMzyod(g1-hf42J$k9LUzw~y|o36`5mlfC5ucigV9n|){5 zU^#&}?`CW=up8;F^$GVnfki=C8bt^X@?px=?vPahc9iW<6BD#>Fu{4IzUPi3Os-GI zh1mLnDTLVUwTtYvksjEB0|8W=5W$c!J5r+LuB0#WPa>TrCqDEq0!ot?clJv(dh#sxXg zR*H#y!!sQlEX={Vtuk z&&%BJt>5lb3{)2Km5^U)ZJZ-!>J&gsh_REzR2d(Z@!0x_3*T+p{B6+F#gG$UBRP>g zQHh@NFNB;3`4M#wy5s&cuKRt({d%CYd4m2TGpT5QPte~6+7^n*hFtlZ>;61(KN>QZ zyM7>^=c<1N|B1DNUbwyo4{~Lb@ycoDr3w)zDB5uCkgwID_=wCaNG@(Jya1PUoB=8A zv&gj(9HTqIp+DrAgMAi%?vN`veqg`3p9+0;wK-g}v<8h9|-XLcJT;g zR_gVB`8@wUe&oHij~GMy4BL>d-iGfePv zM`ATU)9K#@nj5fA+GXjCcH0OWmp@HQD_-jk9LF5)$J{=kx#gd^=Jr=Hw-Yh9PJ!FV zye8%rk~nb1$cq=jI_Z=}IAa;Ig_k@oMo73Dtc$C`-bHe_ADTAm{3Ir&s7>w&NC*nKa0 z;I+%#BAUtsDNwzVFd_dHW{s3pE?-}A)(O~?J?g}SyZ5pW9}}qtontCjK}zEZ{MpyH zRjKUkj%5WNz(1MdM-dCy1vgN~xa3F6I?HJm1)ZBKTGC6cX+Y(GsfLJtu<+c4Uc;nG zgXxe219N~VHdPG|2LY2HR$3p4RpP1afiS?K%BGPn9W~>TnoW1`k`KXa>)i8OQJ*S( zq{`#JbMh+1?f!Fj_Ngwh?JhZ&$?ZS;;MA9)ybHH&_CK`FGIpM?6vE5G6MLU_J!8`? z?Z>uF2R832_pE&rhvUz$BQEGK@X7ArlM&zpt}%KMJNFnXFyRgWMLrIMu!5Q#3rPo! zG5)g~2Qfm_>47gL4KYDCQ(=H1#0fD#8A}w3LDrBQ?`eNzPEBvqrV=aJ_wF}N<(;jQ zwl<4z_2$|o1^$vWYj-fO`(2}u7w7aC8+h*T;*ZlKjy`z$sa}a)WaoREELCz(&^p%B z+R?hfXDP$AZ$B$}1+kugX@hC3xIa$6&wnpDiS}f$G}lQE#kuYmq4Pg0e4hIAt42O* zKgCr$v@+!MVxjB**41XZo-?R2O6yP?;Per#NZBJ~;;}lN5IQA;P6!Fp_~2DoR?K+? zm#8enP2+D(I~*iq+Q_X8 zp5BZKOo;jtW~fp{_0vu>KFLMdkZzK+K{S8rtROO zD@JfM#JbgjZAP34`9)e!*kqn6`3m=I!w!=q=r$rn=)T+-_7}<_-bLgP4@I1?5aq>0 z8%yA&`Zod&L^Hve!0-=CJP-qca@Hj0V>qM>cDYM5g(L@GVR6y}b8nfwJ+DfWi1OuI z2lpS2^B$(QkM!E#e^M0pNK08nasMd}ejK&Qy2zi3d3MEu3D}HD_HwvUdA{%2oPlxm$j&ll> zR7hR)Xo6=vooIou24pwu;W@8kZQ6*nAsZRegn-wI^E%e1k+@Gh7`bLmJh*|I2P3Bo z?i)N9@~7UvD%w+4AX;O~a?#ITJQwlKX#cYdCvwI8(tA7#{N@(zafXSRq)+&{pq{ zWNy(P%Sa5SmJO`v&)&c$D)~{L0nlAUVlGtjRKVwMh@G7!;@!a|@%bcRA1Gk2>4N=? z0XwJyXb;-xc@+ruj;=P#5aAB!t68i%^b(s3Ke0&ok&p*-n2KF}r#TnjlxaWOK9(iRVFQ~_SSa7>o=qmDyot?*CKn-fYMr?%i?_t*}fe)_=! zE*JOx%W_uRs9oQqUDcNGK0J1M%6;BADPdra=pZ8j5HlJC^M>_u0f23e3Zetq-yVR zKkfdBcfXN}y?B&!>24)iyZl|#AG8ll{Ha*>@Fy|v>Q(TerL;D{nPa>rVL~+vRfDcZ z!5xNAtr)N64B9S3TjahN7(^|jt<*A_93%Ag)_E52kn9B1C*P&xVI>O@U(}W+$qghO zxS{hd+G~P$p=}#{fnF@C|X**T5>i6GDlhP#mWZOd68bB<07_!wDEWXv=Zh+$z$0DC>sow`g~HN zdU=fGtRtsMTHCLG(MsNbQ~T8-O+LPHd*R_jGcD~c=|h~qNnc-n=cX$k{gFNCm+{W}Q@5^NP*)z?lUuNNv}>Q=RUcwL-xYH|89wKoX%G9UKE^)Z1)248OFr7@c>*T0 z1toV&wIOlUi&nHkVV&)x7c=47zw zYjTJCv}#5RFF%*wg68dr#~AVclH)Wx!mAQB<;;TNR7cLctvC}49K#t}tj$L{tQ9R~(H3z6!R~pS z2%JStF2DeuF6e}SwW5_U$7l&y--JvME80yaUM|mNxnf>mnR)Ec-(NktFzeE1f1r2&lY% zQwee;oAjm%{ahNO=4p6v*E17*1AYz!Z3}6~@Ac&?4>d1{nd9moID{q>iRsQbb!|(V6 z?b(8Y!$;)KQu@OlKfQJQduOI=xV0=7btleyjnrR96Rh#++G8 z6dqM&YE+D*T-)-8J^%t8LpaQNer``k-_g6ez4Kw3J`w>t#-etCjkhX`H)@ax@ysyn z8f;Y{t0=^Zfrt-Ab_Wz+7GBq3Ui0gy5GiW4R*n>=39N-lpF$oq^+0Mo*)!D;=+kL* zIGkC_aD+;^>KZ~Jfus(kao08SO)@_}Ght^!HqRKk@nwZqjhtQ;!@YlU(uU|Jhi1R? zx%6$VXQyq=-?DY;i?t;gIWys_IIy>r^{CDK71A#s4Lv`e=e(Yx-Gke~h>YQ5kv5aZ z3>dFDKMX$e!sVsIcQdF9)bx?zv zP|gvoQ0g*A)mqdR2xu z%$YihkLka5x58thvZ_{-lzVTi&A0No%eJL&cz)6P^wV$Tyk4u?fd$E<=13^pGxWmv zg@q}Pv`^(NAY`1?FZoe{PTDiZsu)&PWB(gE40C#1hp&x-fgEA=L`+avoY^(qUe#uf z=Xcbq7$(M8-Mz3bw8c;$snJ-o83waB81V+qIJpZ|}CN``Ek=SH6}r7xe6(Ix3^zkeMTQukAIb zYUS(!z-`V(XrIgHEC&%Ae@tITFJq@cdF{dtnSAgag zqY%yu9!0qY9=A##U%h(dYnwlN`P`8sN40Nx_>T{l z&RRA@9TA}2;h}!j7qwrq^rf`?d&V^{IySiC_!$@p$R{1k*7VOJL@Iu~?4qP$EF~@VJ75;U~js z4~COhNO&Io9f!Xix9BZ79O)xXyYQcvk(9L20m?2uju;Q|oobTh{)r8{RA(8aWPokT zw19Ko984?*!{hCoBcW03EkXFEz4koTE);7QVbnkn+smN4UiLLFxy!&(hboDj9Hn#A z7aUYiB2|4szIu=%$Pgn1ii1EYuY);I)|7zA5m?FPq@=5$Nyc!KYvRMMCGO=sjsdot z;ac7pF?4--`OjJ~^ozm#XJcjG8tqwG8t)3|5!OO~6>WHLd&L$Qk`Z~9m}00&JTh%H zN4O|ZA}kbP!jU0FkF1v9#ZbW|I1qnP6$z>T@UbdEeNa&WfRanj52 zRCp$k3}D(*4%JV1oq9WMBhe-V8_)#67mNvY=UI1+fP4+4?n|f3er2cml~*pke8c(2 zM}wEwsak(l`(1kqdq~qpH=o_C-P9&qck!pbuKg8%Dk?HHJVJYDuYE}STZc6o@(TPz z5!d08j0NTxTgLFldxDu3?k}e3d53=pIp)!}7lz{}kTa>8)2YmN7EAgjfZ##G7dC+v z4s7Yg{yGJ_FwT&%^!=R#9C!gZ?+u@U^Z$R~({Yub)8@*nw8@~ephVcDF%ToZ-2dDz zAF?Pr7X!YxcK13wgip^;zJ+4Er^H&X2YfeyqqUi5X3b#~r~(Cyy2gGt-YC;P5D|Lj@hzzqoPPb3CT_ zb6yVxJHCJQ@+X(B96fsDi=RGu^XE)S(cZq{)Xwu&OC7Ow4o-OI;~RE$@t$2vmu?un zZgbwAW2@Eou6}{x;k+^q^+;~RuUO^l#phaD7t26#W*0UYdA3qt+^>x@Z*OsC7d9E3 zd7-<;@1s!H^_Dmb<1l7JtS0ZmWZWN(yp`vLA4)s@K6_Q%hb~KPAZpG+?~ikOmUI%1 z_t2b#$k2%Dx=`4>kyq~voTGcV+I$M%F0`rb%7csko1@K7RF{^)(Hi|EL7Y$3`*G`N zpcRFzehF;`>23IOJqKrq;%=k&gWBA#ezK&Gb$BX~K1GK|?+1B#UHxQ9&*0Pvc#QhC zZg|L!pu>~F9sj87(fcF)feu#&uYtvQOxxp{-?LuxJ5u>t+#ju-^_t(2itbMtg|qN2 z>rwQL^?+SuxN?;bC0NUOYWfO0hMI*oSR2tM4Lk>J>MFWrgw|E`bHM0FUd(>v-3Ue- zN=^v72zfo|IE4O`*6IXTf2zDVs~oiyb{4XWP%#97E27Wc?micxPH=l_S)SIF+(6tq zrjoxwW6!H;?micdQK)5ovfbG0+eEqRohOg-Z6bK$@CdEedV z0(PAz=y1CF^cp+hEOhs|VDz6}aJt8?VI8gUdY_0b>&tHPA((ryo;3Gj4)l2vYis#k z?-N?6zT+y3mRMnGDdxbKdwreWbHh5H-Qax)0-Kmq*smhZ>jYR=x?x3v2x{qGr`G0m z@+s%;a|yf6XLw?3`q-F@av@cEZM zgWP@2L!UyQ{EuV*#NFq-2{x}j-D4N)Gs!hPLFNc&i~5e`?582i}UMkw~NZX+D7 zWb6AlO3`hE?tU7%`@ty(xCboqw|Mts`3-HTAC;#}4Wbq?hNY4A8NrihC3+y>0X;aU z(}M~Mc`_iz-m@oQyHt7!dLZCJ+ZCuK0ZbFNOR|r7Y)+lf??5Zj1ijxyu%!u_U=#fU zf88{Jl><#E5;Q@;DKDBWXhKzj6G{eqEf=m4tjn!L6ZAe88hr+cK4CBM^hvOG5i~*X zbK$@AInYWpLGN<`JF3$Jcb{J42b@F`^gb8N5;VaLrx-oWDdB{m3Fs5J)|b8Mq6xqa zS^?3wj%xx>1WiDnL=)!eG=cKBp{3~C*pufWq}~@ipsr5eL%1mqVG7{hq;gbpt zvcTnsB~G+Y(cVHXo$hGg%XNPZ{FV$G6!B-Y$Icn9+~ZRThRQN53HrE&9Y~$7|5mhF z4Z9Ug6+;N}*Q!}V~K#bwR% zwAK54)7|eP_9q`i{Z1X$$-Yz^wun&I`d73*s4sP`-I^dX;u zwHT>jeQ7Pke7M$&)>_aKT5H1T^(wyn~(*|LS{mLwY}H> z8p(oO$SN$0FEeDpQvF1sjowcZ?*>~J`l(U6pD*40Bq3X?ka=o&@JNRTbFKHohg)ns zr=%dhT!QrI&1PEs4w{Agz_#p)ov zAF-ccw{-2NYYO}i2nKOq-%qb-rmer@Ku|96Ro_Af$KydvyU(0z*bokc&d0EX8E zoj`l6(Qu_irxO)qw|)9W(A+D6PT;qq%}Sk41bKK2`q5>2P;Rk~{0Cizj*=@F<3&Hp z-=em~Gp;sET$D@E{p|p!-VbDYS3gO-wl33GF5M4k2G{#ZV(;oQeU;MvfOqQsU|j#v z$5px?8kgP=+PKE`SU=#Mu6|P34?6FRR7#DD@KeA8d|9GPY0)k}LK>HLT5X^v=>3TK z|G`)n>H)vlV*Bs4f61&R>5N`O&ZoaPDc8PY9{h8VthEF3&l8?2@IgEm^VU(v2h*8K@28Fd zKjvgV?@s-c^WcmQKb`TYAIKcox@ZyRsePc7^aRd)r_Mosld{kc#4;9+6j5?aY}0tS zS$pSD^sf2aJ^kemTRImE?zPIYp>!ricimr05^o-?y`6jR(h6sb$FeCtsrK(YB~w~z zIV<2{JkSKoZ1)3|)$U$_2b?vOo|0@*K6n8m)rn-&qWLZ9DOkM!kKbXPUX~6hU&}$Z zXXKF|vflBDL=%=t2P~)bd-GX(`aj;QtL>FxRky`L=T@hrJgoO^>(JRV(U$?vD5-&@ z3=upH@TDk?pt!Dx@mA9HT*9hK)<4CgqQ{!Z!7(YB9a_&&Zu4f^`2%9ykNsBYGU>N& zy8x6)WWj)im40kV)86L|3Ta+aO6oxkC*!#`hL{ZVFDSDQexZ))(0E20==RH8!q__l zPOerA=peTQuCY^6A_k~KEEL{&YJ-Mo2bd%uwIVG3u*iewwP1e&R^$*OZMe{j5qwm? z4YytG{X~1Q59OAu*wfzV8TMIyz9?s40)N0OxbW2ra=VWRa1nJc#Skc6iawC|>|aN9 zY@9t(`-I0HIf(Z<&>UhvBaZ^~c4Z-B3HZFM#{WgYCsL4_6p-ZfZ2_Rr+9TG3Vonij z7p?Wk);e=kZ?MZB701aRjpbR|N(>Rt?}OTs4e|UyHeG+dSIDJTjOpVJ0snPy4bJCY z^}YirLAJdD0IkJcfVzOCU=^jI)_$hepYNsDO#Y_U91AFn&>ulvMiG7(IPDD#wYLZcq|WvqW zk%I<~Hp}<2FjEMSi@;bTlSS&F;K+`%1s3f+Cv)^ZE}lqxtbz>;gSu6tHq61>B($0PR zCTQUb|9m!5&S$C>;C=g}MfLIOp4Ll=`BztUe^ z5s^GN;_J0TOeQTXnvVCupe(vWF#h-`D0W`*; z9i5lts#u>$?Ehgxj;clLBNvqH(57LGM57yE-fOcLbsX}F0x^P89TohM^3mTP&}GtF zYrIjdT`!v!O}tk?BvP&VSD@DPmWelt*)fGslb;>R2~_lQt+0z~Fr6RGL zv|5EK{pw7~*QtIa1h z_Dz`H;)Zs2FaB}=8_hEleG?`(d+odw}AEsHVs2#mftYlRbz{i!&6OP#!V`A`~mIOJQlyJb`QfVf?xU=B3V zIAorx3%>Eu1Oy4jh=*J!k*^9O8!Ei7(!9F$9uBf0vtK-ohb| zxMBjmf?CD?gVhp&q9O;2Z=BbL3N4}?XHG1OwB05HCqhbv;>%)HF$>r{O%Mf$f*rbm zC0Pkm0`-uK-~f7;t-So7I!+RaW_He>XnGp|iu%%5(Yl%!_ODJNO(eo`Z_!sMVJ zi66T7+FBT{j|?7=|CUmw?wE0_muelPj!wa|k0DuML(4n1s;uGP%ofAuSYk??0Wz~$ z7L|m+yV65GXm3<2azxeEw-ET_FnObr1bXBT%~2n{rI)vtTeOCd%piSL6z)oa$Y}vb zCS=c{d|DI-3g0B83xI2u&4Um2AfmCcD9uC>>+ym3F97bh_!|sUeyDDXe_8D~^i}o1 zfKJZuUg*4)&$ondZ9Yh?Hbn|U&E;2|-}B2_U49w56TrHmcQ9CB~EyIS@tB*J36l5D6P#>9(`X5idu6@9h zE_}$NoUCbXx70WKYim2_J|$I7ST(e13*PC6uXwU{@%uRKSd->0pO$O4X|Daut2Ay! zvdp}a`)Uh|1C(taLwpRb-4WSFr>#SBGDc`Vmtm#Exok3ibINiGZC@+-TY66X=8)?* z6bHckcPt0d_CU!UX^r^JH~McNM7e)s_yLROjKObG#Bbn4;`)uS)&jOn z&u}*!@a7f+4&!IEaZA zKpqLi3)hfh5n@HbwYrg?|AzNMkTKhxUjK0cImVa6A%h)qGy9mE! z$c>O5fr^rc&Ds&|k61->k~Qoov@C}Q`VzBf;>*dMgv;U1qw(zcAjreW#fv(}rt>XvDD1Z%ir|pnW2kh<=7{ z1Ytsl+YmcF6G9$iNN1{)!Q)Ey?A5f7ZXA4|9h+Etf_CKIp+oohGgE3$<82=tMDDXy zS{G@OS`WM^)qM^S6965788aN)NPKSqLB7Bqa4LX2WpSe*E}(S)T-GMJ1^i*ujNu@F zuqU&VF)&y^%^DHB`au`fj#6@2!Kfp0SIg9Z4%z-Y%Y723Lot# zG*@Q;dA^!4ins@O2n?EGMUKP>jLjZ#Dnc4kI4NR&#M%hRVpv4C>nnYzQAD+&YMc7T zX}*E!V{Mx~9;+URB~Azl6_Lv>VK%ltw}PU}|M*R2+?+P;6VnE@X_Gj!p-+Q3iEZ2V z%Xqq7o0$zN=-&)&)u#2VhF1NXiBGjloYg??*RDIS*r#&u> ztm17lMFD^tLxeSlX^?6ThtX)6q|Df+;IM(%^?{+%FF$HG_VEv#e{N_o_d6cFS4)sA zFSV3k&Cou~(Eh0NRR(XE!Ncl+KW#@Y*l*+?Z0Rhr&&)*D{KWvPJhG(N*~idv3hGZA zQe=_u0bfbMJJ#WMH^uLwgFU}{@TA`<7()-d3H|{M5#j^w&;H*4&a1W8Tx`2 zh@9c4u*jP3JnZTyAdGK;x%2u*9u$n&4!xl4*So?>5Zv*#4qb8Ys8MfP zLG4|Ku;9P|EO#&z9TZ0lRxQ*!?jxBixr0d1BF<62Fw72cR{&T9UAeNCOnwF zg+DG-^CX<;FCn40{tna|)ZxbYmyoSGAsk-xx12CPZOr`n>FEoSj;CeTt=S-9>|kwi zm&C-*o!hqVEWa^0qi4!kRqB(_sAki@&rCjJsrhc^UlVwfGnP9%A+vb!yhcsp<19ry z#F+x6!C)}-GM>MW4|%F(^HxKOf151+S*vD>fBf=@nKMUB8a8|OFzuLBy-Szar~Un& zsn<1`cWjrO+-_3)?%mr%U|*U%xMw%De!Yac#TR&si<2i`)Xu7rJYw43z0_ZAoK zty8l`eM#;-P5k@2nf?^{OwF3HQQ9ZP^Bxul|2@EjXOi@4m7HzO7I|iG_*e&_%fx4AmY(V}j#lY*BhC73Gt~ZHn6| z{*`KW9J=?}<*&%{JG@1mgck9&lUrQ8c(DulrzmQ#;)cZyycfl!P8EN{4y@5OX)mtj2ei~Yany4^y5iWn@2hj^r$??CPiFtK8YnBG-I zY*d;Kp7jtME1(3Ium`y6CMmvmKfV0>ua`glE&J7-JNCV{W5+(J2`s5aydjFxwa2TG z_JQ_&(Cy!TyRB`wdH>!mef&`+fAhaA1;C(II%L9@WKcowC63&g)&_9mx-nBRpKwuI+8Z?ySqf9w>>hNLT zd8MHIu5|KA@r+!p3$Fv84XTx4oUa4|kz8w%S#aPciUg@#7ff4mUdJShF1t+<=x9rs zxzlb_zpTBsfWL&D6ey$xWbiU5>>)qXp&o~}K;sM81azwBeg=`S2i*paPEP1nB{aNo zOw+naPuGrL-oD4cu)yBsDS{J?`q#9Zhf7#SEBC=V&5#LPMP!%;$6rSs9mF`wRw=;Nsn{FRTlLjRD+ zkhl0`gB5p_g8X=4CqC9t_Zb$tZ zg}Wqu(+<D>-5V4IDLK8xoh9oqRPD|?M#Y;C^rNM(n3>`djNV}&O)vKA% zHl=;jmGxqqS?p@cv}q}7>*O9#esvx(1h+1yOmXDcFvZEXR2xmPEz%Ze!_4O6rlZ7$ zpW+Zw(U<{ynDN)+gO6?UG>>hPP$Q}g%R zacCEgVGo!zX@J_QYqypG7EV2m9K03W^)JCesW8<)(?7?b z+F`W|_05G(cX57l^1duO8o2Ah)%KKyFYGf!q(I85hpakhtI25Bs)Em|C-H{lva48qA8V8mIiE9yy}k zx!yKqfFwO#%dgF7&ihMJ<68RMz~}W4=B6U+N^|3@ukXLl3C)+U0ljD4>;c9-H?U3P zLy^9R-eZ{lmE&4+8cxw#Ln8vNr;y2$!O@f;%3ezp0-Jyr`8At;|xI0IAL%OD} z7yEB1J=INf94C>N!EuX{Ghik>`_b2+=L!fbA>FTpbfu|IS$nxt<%-JPF86CW%Vb9? zk(gwV7{^@~oe6T!o1cGBWKdjC>!9SI)SxHsMe^*zS=RFMn!MerG<4+nF{2kvKQ1Bu zRn1tsY^>UGz@TT!d_p#R&NeEAJV6bG4Dm0%NhmQ4PqB^tJJy_GX?^wjGR#90$b%`6 zy{wQ3pV6fc!L|+Q%PX+bZNlYxU?ul9lwi8Zp@&Dys3lA1byxvLJ5OiN<=3+Kl{wC- z{6F_p-T+wyb01CR8>Dn_S{SyFBP18KmM9}cmJWfJOlrtKW+8m^ z=|jdZ{Oon@1aG@!eePU8?L_g$mtNRhtmMA9Ib~%;@aD8FyQE01{nYWpXDF!?#*Q0? zb;&8Y3n%+6u-SFc$M#RMt=*=Z=1j6DndZDciX22b$%e^Mm>Lb6wQ;zEOS|Rw_ukh^ zIDh{`BxTCnw{_E7$6wsKmrquYo#DQp{&AW6o;j+nUiU;iFIpC{#dt zwS!2~%jDs$AlWAsdYOVepM27SKb!0Q0VqlsRP8LvknDe$n?dlbV87Ygh0FiO1p@~^* z9hn@7S@Ws`rCZ2c_!jD~TV`DN)|8y*l=^kPfAuE34+E}#_O&8q`fl6#@}&=6o4-3s zyTZ4{ycdx-2gg~6v42-}k z(9v@amZ74aoxLqv@^${HJj9n@^ z7evp%J>#*Wvv?jkV+NXv-}NcEEBC|)n{jRxO^x5Va|@J#tD#pgIaa!~3P!q?eR)^m zWs97dyL94uCAav}?lT8oR_D%GGedtCa8e-{%QIKbBrhs0tWU;+y-2ojMillGBNpC~ z3LS1iq#B3VcQZOV%5wb>FRZnC22-ko!uPJo&R)uouavYXDL`5$g*m^+yWhm@y!q*g8pnwjsU{1n3Eg|gx)#tKRExoUns%CH5D}VE7 zs=Qw+?g=eRacjU~;3)CPvhZ*c5Bp!@D9JC9kY9Yj9;02)=1qZ;DKngHak`XFs59jE zrQ#-7`Noobk>-?i7I&3I?Df(*3u6LIyZz9=>MTH!Maq8orZAk_NN3^Z7m3=RSFUP* za-S<#c-a~6?A>$n)ZV?P`1{wjVy;~O<0`jkkFN59)29pW6`p?Qs1DaU#Heopw{T}F z5Y{~dF1HO&7B)N_ugsY>Aw7E27pN|&GMli&>s01(AQKv$>iu?$=lVVg(qY?L9qH_- zUHi%4y7*gptY0OZ*@x&WD5lPUS1>yRcZ@n&4#q_`CKMjAf!boPm^?rnWe~&z+7DuC z%8iYEO(tVQl%OdN4R$4@q2hV2x_MFA{LRxJj~Fo~#kc(2a_YitZ8J}Le%Z3;wYRua zla<_k`6E`wM64b=qfw90z>32gPa88WZBk|?3=o`61kJgRxsNqQA|~4yiEyl?-7ZH6 zvnd31D7`V^rO?Ba=#&onRg3U`sJchiz(}Aoq1bz}8yGSM99dvh6Y864hC)D|n|JE! zx$jS({}Qssj&&P1FS_vAdk;Q3r9HyuGpk-Y%wzhEj&Hs;clDm5yVOamvjz-Ei*Nqy z%5}S5DNvWp$f7ZI1iw9t^|2as)N6mavAmQ=AQz%0O*mA4XSJ+sZ3(J<)qHeSshLLm zhqITke}p9xFsSo{CKj&2K-FZADd#0RKykh1oISX|2 zxegtQ#{)K+gZa?621DOk+mPwKN?-`5J;GBKE>iQODp4{O!$?InA5qc=I*dbB4?dDg z18fumr^)>52(B%14Tala%^?pxQwnzsMHk&kQx&7v!!_(7w4?_5;s6cf#jC4!y^_B< z_wXdi^7n~zcNWfAwX%d=IH~;t9DZk0zT=JktK_h)^Oo;;d6~NJtItl1K2kUK^?C2y zy!N)b%D(;iP0#ARlA?tM-B=C--yBRKJ-S}z1GtQ(kKq$nXh}1) z4$Gw=X{NKHmcn0^zM?tpf_-ug{regxHLot8#A6)_6EZ5ia7?a`4quD@(57V35gAOr zmF^W!k*+yA$-PF6>LFiE>k7KL3bf|t{}=v43SZRCA!6dX0#S^*D9S`PX)iDO{ZNLrGbmS%%QK27p8yTzC@Y+;H{x#43lgFnG zOwYJ^Xva_3Rxi$3^xUfD+qW;8vv9$r=O#(&=iBY?%LDtZiiuh?c8lY+?ds@dIb)}1 zj+&e{V$Q4)>gt1#fPs_5D;{7EkZ->$63B}Kx;K`j2o5ND)zc$UP$hRxlz4FXlofkJ z43_8xjN)J>hEu;Bdh1rU^HoVop6@)x&#U2lOq%B8a%VZQ_;YEQ1jPxhMHbc~7w|;F zW-VkxuRU)_-*j>|ImI|4Md?9@PkE7l6DLSZBzcWF0`(j4Q8eY*f)wkWJuRGE#o)`* zG=Xfq*jlY6eKQHk&YIUwTJHR^PQ%$l_PqD*2YYT|wl~aKziK6NURIHqlsjIVQoX(` zpFiaIc>5OBI$`GeRr8+hOzxJL-(?t2q1XqpY`_z^rco`7Xt9YvJIV(MT8wmnWy@1) zC$qF4Ur8|LY8I_V(Y-qLeO`H=N!)Wx;B!4~|bt82C^n z)=wXe*w>|PYYwU6f4P@w+@>@}|GKr|xtGnqSUlmyRl8rylq?TEKK|v#rCO#W{W4gJ zc>et0WiKClQ7tUKTA2Ok3))k3kdoOX%)cG;9|~DDj*Zh{78Md6+u!wkgK2-)!~U*E zC%SrZ^-4*pa(F$$D*t*yScMp9&ZCODF0mdCiw$7f$&mX*<|QK7vToxP80PhNZsy?e z3x7QD`makSjhOuT-tC|D-IqQ8;K4;RcgJkVn6~MqX=9(2M-5(8wc3V}TOE$Aqc&8l zx^nP_T`xO3q%U5aK5qVeY3-01Q$`HS$^zb{V%%$8c-L1SwMZOhjM~6E^9j;n4f3NI zu*NwQEB)n#bZ|BGLb~dtk)lI}NMj2|~FMv$dRJ23miY( zf4yyPQb>#GJtu96+A(`x{;EC)mu^pNcX9XbFMoeW+kWJ`N)?BP1@nTzZIjl&b#Q9d z3q%tJ;BBB>7d*;U^I7mHqvnY>kAmr^lr5K1)(Kq$v8jO*p5t&Bw+;ym_;JCjvP{i%ad_Gjs1O4L+%kv#L)S)P^kN;bS zB^~Y1x?|T@mdxC5k>o|5lq75j~*woaZ-ep7)AH8kydARBCG9-h+bpP<}e~*N_NF z&YLr9?SyfvHK`*4M26O{jd@*#vD^`R!JAJRqcP}(;8PxeJbbEvmA4_^?4fYamx51u zK7u4ZnNN|Il^37lR};q84yo0r$*_ghrgvGecHh#)``@0~Ju@J)-@tK0|Le0kIp=uDxD?{;GW1FMoawwJ+r(Rp=eYNyo3|9E z*2}DyQxA>>{`DfkUkY>T<<-lthizz@IETS#1ivADL$qfa?Zjw2AOH7^M!MWBvCE(X z3s)XaNlxm%D<^wfLH+Sa^DyiL+)+Y?~GyHni2~ zDO0rSZF==;)3$qee)y>l?OV3&2;q_TB;qTiPh7a;%33XWjWG)b?i^wsusyt{fUMZ? zurOGTrwv6nRP}tsfxZ;WfkueLHFACNW;yFqvSKE*UcPzXvPB1ut!Om1VNmV9t-ECe zW%ll$F*G@&Z+h*ztEW%dyl3g%xmyAP22?1|Yc#7JJ0vTkW7nbjnAVou2c4Wqj!P@k8$n8$W&+(VDr^0qIK-n}C`l2Z)!=^qUP{2C&DJhk-gS(f32;mU34qQDBVqCwpy<>uri7U!ka2 z`k0Ehf@CFC!D>aq0om>ep@iFKCBqVH_i_J)+in9bpdn`nt3DHA;hLJnY<_-$d^R;Z zC9(Cufvpo$+QnCkY1AmDTD-bhJ@-MIfdktl_Uo5etx?13H5xYt&h>yC+7EuurOz#f zBx>w%$A58dk;;mskSlcgT$G|fW(UrcmzZbA3z2@7Y`us*}x)7TJYZ;S1O=hFtE#XPK3y1 zE$S(qaqeu|bjhSQzP)*~05xsKy|QZO_8se1Jr^xKD@SBH|8Ce+mP^>xFSNfdoK>HF z>C78D&kjVcNX#qc?5Qv0dv88qjK2a7W1c_FU}h| z?xWwoefi*L7#D}enaPK-M&A6u7?pu7f**L+2*wUzZ5b}ZbG;I$SOEF(_3vZL&L~s! zkBh}W$j@3jYd<(oXe(#U;!~ymT!je^e4(Y*S^gdII&rKue6XL>aiR`%3Uv&}b>XW{ zSuE<<>~Tf*IImbEx|w8bp#uM;$Rw~;vt>5GN2Gd1xsC=NSRGXwP-wcNnokm8GXl4p zd%mR5-Oiqm7*q`9`q!x^Tx2N;EUDR{$|GrBKdZQF5Ql_Da}oCAK1jxR=V*|Bf3k3;ZgT?KyGVX2(|Wtct`f|+}a^+>OGxOz23%wAsf$?^(_wP zQpmjS{U$xzf51p->Cm-nhlZrBUr&l@nJom)wgS%TeAuNo5NAANeIMt;;*95r!$Hq{ z$Z<2?|J4ak=(LSl`iZF}iLt)t6U z*$=H=aad`db*N^oQ#ofo`S|RDleKEvvyK;iRGhnV|NfPEJ9f$)=Do6Q$%4(Bu~)|+ zcKe=dubR(z#;A?GYUT+ZzUyYV9=s3?*YnZDa3vAYi9GUT`g)wxetxqGbS z_$Qin?|Qc_9Yd0qj9GZF`jO4KM_=o4^TWa+qqyHEmwBZ2AMK&m+o}B+StTvHvSeL4 zBJ0D?e|UM@=U7YOJ0U+5`lvv}NC;~BMB9?5){5C@g4nNjQFXTg$=hJ`#>s2fPLk)z zn)U1Qa4pcfD!G@o@3@$@apI&G0S9W6D2=g)D}ZviEX0D48#`E728<8l+-MlQ49Nfx z3eRr8GGzDiqUewrOwo7PjdYBbS_voUkkG(*IncGi^bk5JSkA3~dhI)(e|{$SWP^HH z!^dPfYi-$@^KwL`msV`e=Lwq}s3j6ip`beBx9dYzmi8#SxY5s4& zF>FzI&L%uZl?%FjgE@7uvUorbdW*uFD{qSMowA@Nm%NN%f_3;^Jr|=Xx3J#khPzD` zUxMftWcIRo@(=56ko!*W2RYT&;*5_r_Za0P>>)Cz2Qfz_ z1x}tQ!w0t|yhn*2pzj>5Bl$a_?-e56XBMAX@(A~#y_HXjxmx9#t8KbT%#I(NoVQ9TcMAZ)T0PVb)A76z zPaa0S4RZAAZ24eHyu`pH1`a8cndM4{?`@cs>S&$+POS+1ZhvJYV|BMb|6 zWAx|e$uX$!LF7?%?f1#Zk2qaO(Z{n=RlBFw+E@xB6nxw(CRDj(bM}uexwO}uy#SG zfl4#6XVF|qq3?aGJ1=VqsDjkULUXRut;r=uu3~qt z)DpN5Nz6iXuJ_Zws~Rq0L%-EF!}x@I26k9W-98Dfz6S%{t-*mr_<}!lkv=Mua+JHxA3yxCT)k5z_>qve~fB|g~7d(rP5psh5TcS&%f8;-2snaD>{~duF z@E1ZGV3JsqasvL2z^k*CU-bI~|FDWW1vk+doo^7Y7W@ai^%(dturF9~!>_kFX0$;h z@^Scd5N=yawJA2*VBIdUuGA*PGY_I4wT8RRKpqWy0M;#>+Q4JQR2Nxq>+5bi7*Xlr zdRyXEXzR(*{u1~H{F?N(f)36Tb1Hm;1buml)`s`x9d-IrNk)BB9p7|5_cMM=d=6_f zCRm>%J;Sl+M{je&Xu~pEl_yC21lRP_o&0Hkb-{dJ6S$V|!iBavu9bJwGglj;C87=X zV5kmLSx@d;y&u|3)CTL8D)7$V)r*05KK+#~$Wbt`BX_PkrkmDi;ZpKoa$T_?^!P=ch=q+x4MM8}3_I^yK=IE=nl>-PIIV z`Wrb2w@O`+EAatKQZiY#dP0*=lJut01Fph_aY<;mcWXsWWTHe`K%7 z^;i{UA6tgs9LFmYuQ7PF$Lj!IFW}V;uTgjnCFJu`?DDKT>85O)&N%~_hH>+WcHIf zu^~z~Hd>j+wg9H#xMnJmY%pT_+bYxX_cXSZe}t^Y-<0Iazp#Az+Zu|o;XYm|cx}Ne zQ+ger1KC7r537OCFUmi$x@vjW2G>S-#o#qa+Qr)OGt7ajuVog?6LWutty5Ak2kTi9 zV$UWh@3MOQILlYAu<`OqwnI&0;~=9flV4`Dl_6{n&Apnz(&Y@6fe7V1wJwti=g-RIwwjhvxkW zFZB#?gw_JogwAVityeqcO)PFwR_D zG47HLxEAC39_Bv@co>4~dCbQibsf8g)9ZfPBm8p7YT74+t4e>i1N-F=+UC=~!F3^B zrO{|h*ZsKGWua04t3>N4o?YsyOe^`-@**q5cU#1M!yK2sT4%EH)=_LI?LpcHuIo(K zb&1%Q*c<)UT)ZM}Ejer1 zz*Z@BZW>F#YlmnTBKBws@&ol0?K%jWnj-iB`n1epla+QX(UQ$( zsyEqUjPVV$+l&|O-OY4Q`I#+II+t8gJF{kDyx3=!dw2%TK_|AF@QTJQV8|n>$Ox9G)1@Q`atXOt|M_`We_hI5U;`bLpC(xg@3=37>!JenK^rAW3%4&%@q`4*f z=9)i27chUK&)-0+X#S3{LQ8M(hB54zbrn0NHY$0b9$;@O-?77%j%>HJBfFw}1DZzk zW;Cud*HWsvLmv~jjcMDi;%Qd!Fe5U!J?_7LJzR4P3eq$_` zSSGHGlr{LSEt{wgWV_UHEFbhKMwRf}j(Bxo)71sI4gjws`b4kkCEtqYcK|*Er?DUQ z6HO&Pr+&t&so$W#=_S8{4)3Jr(zEDlt;Akap9jzTuEeQyDEZo2gI%@!!FDU}W8XGo zVTg7ANmbbebqVOeD{QOJZg#~wj_pyZu<7z`&8_y7rvahUblBx#GDSL4$0-hdAKSmuxxq&rZB@u!pAM^$KGTZFtoZw2bD;1*4@r z)&bRDl#%SPya2Q?gVn*W8FSf(dpyW?QVrA7V z*3;5~#nWD+x$v>E{0=&Cie(vmgZ3D$lZzhJbzgxmv}Wq>Sicr5 zg7Ajc&e9#%boK(Sd$7)1)iT(l$4dS(u7u-mSP8affDJe*@MI@&n|Ox{Hlt60zrZ2- ztwGm}t3ltyo&ru-HnF)%3%1<2x}W8m7iBY>K`&!|-B*&sh%eBZVNKmv;633U?Gu5k zrLV4WV?Ev^T%`RXa2D|_a%UDm`%2)paoxbW;yIaWYt~i0g=+BQr7tbj@wewbnIrUDtKp)^*KwT`Sja=DPZS z-uFDn*yq>h51;pa&Uw$}d!BQ7FXx;&=jRg2R(cP33FI+o$J;#y%H#i*A;0K8@GSiQ z$)7)$@!2`>4E-gE^?&RyNss({v*C9pYZO874Ko4SCrWsyAPm-chwl*r?T$$6j?c!s_nu<--dRs_*jCcY zUxT(hnjC_D65@Fhp6SxJ4}23bGbx3`!rRFXzLiXa*|dc3gl~sDcpra-jFR5lmGz`g zeh<`;ERRd@F5X9;^7@$cDsGU)9)aXVeMpNTw+Bto{qyW|m+Y9%f>53Ne zh9Zw7csXGmbCCI^3B zkz~G?o*PO@9C)sD0;|*G0vul8 z{t39BgX0A-=fgAQ5lF{Rq#fSTF;*H zGxB4|gKZ!`hhtE8Nq_f4(%t=#ba&@Sal0P_dF{rMxl+EnA95MoYXJ5ZI6j5643*O3 zRwmn}av3 z6VNMih1Ig%>=e7rr}09*ns4EI`7zj*HAS(_!`~yvqhC2jIbV6kGu|`Hv&eI==S8nD zuMOT>Z>RS;pGY64Pp>cWE%NR0J+1OmEmW;ho%HkZd)lwV@2>x1{}cYVhUkXm59tqJ z0os5i0WATY0Ve`}7#cX#Ftj&tWMFyV>4(%0wFQj`Dh%2Zbm8H!hm#)O|M1;mGl%Va zBLN(?=JLt{L4n`sNtLm|#%~?p zIlh1ViSZXF44cq0VdsSX6OK(dKjC_Kc6d>EWq4h9d-&e){_tbr=fbar-t16H6wpnRq#(D55f=E}}hRZ^V&^(-B`pT#L9f$$wJFB<-Y>NpmNaOsbl+aniO) zdnO%@42i6bY>VuQJREr{@>1k?Q6x$gH8Ltb$`q9yRT#BAYJF5w)E7}V)J*NK9Cb#9~sUVt{85`_{5BeiHvc^d>5M+do*r%+?u$SxX!pEai`-h$NdoR6(1BI z5+4yC8^0v}MEn<%112X;E}6W3@}bGsr;MDEF{O3No+%$qIWgt#)X1snQwyhVo4RZ2 zzNv?%9-n$<>cy$or{0`2(1a5ph8(V1A6*q*pI@krw7#A`|UNvD&Q$u-HhQnFIoj6p_|F~itn zJZwB>nr1SYwwP|r$e6Kb#@W>1)b*)%((=+yq+Lq;VW!v2;WHy)&jEuz@_Kf`*hcZ=}L75{m?U_}X*Rl$;ImJQx|Sncx>U_r&6D4d+O%X zhNs(}@p>ljnTlsNN;=PTkX+AD4@D_XX7*)hA)ZnC%8zqa3YC>?>0 zk&bYO!O`Nl;auoE9aCtWyi{{mAzH|RryuBs=8KrPN zyt=A-V|8nFTXk3U;p#KhSF3MS-&*6dX2hE1YtF6tdM#TUyf$)e%G&vBJJ()cd$%T_ zCafmDCab2frnJUcQ&+R2W`E7`n)5Z+*RgfO)AK2w8`kYu*Sqfcx^wF; zue-56b$!SBE9<|0HvQSN8&Ws)KbP^`;f-M%o1RxZzxw%ewUM=JYEN#Ow#l?9dsE(~ zC7YISs@>GKscX~WO{X?p+H|YVzixP4SY2%0%(}&O&bqp~9d-Nbj@NxrceCEBeq_C_ zKD9ot-dJ9(fmd8jpjQoUM<60B3fcwQd;J=l(bZ}G_;&) z`T7_C?`-zj9K3nV=7`OP&FPz$Y_8qhv3dXI6Pqu$`n1k$?QA{TdaCte>%|v#ztH=_ zsTZzpAzM^iLg0VNmQ!0Uyjb$$4_p1WHoP?crPi1BZBuS5+E%lzZQK5BC%1=h&)U9a zd)M}hZRKsBzP#k+o|jL*{B`^Ic0+qc`={+^+b^}>Y`?kV=^cCF|JJMFuU5X=`Re%& zWyh3`jE-Bc*=-d8p$G_du<=-{8>+m~a@2q*}_TI&N z8}?p#x9HujeS!O`_I16dey{DlOWn%uCEfepANKzG_j~tO?7#lO+z;A%SdULnXwS5s zoSved%AUHO_MUw`$9lf#xz=;%fd7Gz1G)pI1M?3oIZ$(;^}wzJJqL~-IDg>lUeX)b z8`>M+o8Ft(ThY6^x2dReZhUD$@2zwb!j z>AuT-H~Lw>e}8DduHV$3-Cx+hyuY@8NB_S5L;WZFFZSQ;zk4v?;E02f2NMovA1pjr zb+F}N`@y{jj~qO6@XEnkhkOnVBQRb8?;0<`=*lAaRT0?W4|>TMfi-ctY!4(~NG5n& zC1e^L!c1XRrDc|9YV7b!d^wQCrJRP@b67jGy%=N zBnZa8#dQ@4ql?k(2j2!8(dI!svl9nUB^^Q_MUil*<+SO*H2Ho? zAB=O-11WXazzVU2$a&y|n9YzU7MK?=>97>8+ei_d-L;8)!1kbvl#69BZ>2Sc6bdm--7-4OMIdGl?WhBMvUheLt z?w*%}*XKd%^C9mBYMN9|Y9d{gG))0n08&F@;jD(UR1@@YmdpcnEgBl6{C95&g!(`J zpbf)ED){0=0qs}`vxlT{Wgl2sMn(LfeGY+{3`0pEj7SH;3J=3zwm>j>6vj&*BO_pz z)JT}IA3{dM+^ex96!x(QgH=Gr!+Ja6updwa=p6}pA?kcI(Lw4ABnDC!2dSJ4>;6uK zJHd34040b=9^ZhMRTL`T3>^pSKF4S^Nu$G}oTp|Hwu80`Buo=$)r zdMA?GfzkcBbRK*;E`WJZ zFbYkdf#1t5qKm1S=F*=#}1AUHeq|eh@x{21& zdfGr6X%p<;(?U1H&kSFnTj-0>|FM<6M7PoHw2i(@+vzKG2Yr=xz*cEH>FabCeS_|% zZ_-W}Cw`0Wp>NYJ`VQSo-=+KLd$gOrPxsRgXb(L=dubo-rw8dF`YU>vyi7l&N9eEV zNAx%JDE*ioqrauc=_mA4`a61p{+^zspV3qFb9$Qofu5m%q-W`$=sEgldY=A;UZ8)a zU(mnNi}dgG68#6gOuwX8=s#g!=6}&^^xyP4>@xE;{f6G4|DiYOxAZ&uJ?vciBfUj` zqPOXP=^gq%dY9gVU(Zv<7|i`-9!$wRnHTeBKFpV?m>=_JLtw|)p)8O+1PgaO%!aW? zSTK8(4QG$R{+o}pk!%#~Cp(&rfxW&$*%K^`jbr241QyOFvIsVbMY1T^ZC1myESl+< zo*CdLe6cJJ_RF2jrm(4O8k^1%SRzYe$t;B#nF-d0OJ!-WHOwrQ&Ypzjv@=;2o6WM> z9G1g!*<3b{&1VbPLiQAUnmxnv*dn%=nOQz7fS*@cSP?5`CCti}u%)b&m9cVWV-;)} zvoi;CG8bFUR{+&fJ;ye}A_%o?6KvpB&l*@GYhul; z1(pYEWiPNT>_xVfy~MV$?W~Qx%-Y#2YzKRlb+FgiPWC$6#omD4jyG8+dyDO1Z?i7; z4*Xv1UAB+C$GX}3Y(M(|mexJMdRZUqX9w9K_A7RneaMcmU$c+cZ`e`xF+0Y7%Z|fR zwV$%zu@mg~>?HdP`cFP*r`aFa8TLnZ7M9LD$NtRDv%jzl?62$#_BVEs{heK6|6rHd zm+T7rC%el2#jde`v+L|D_BH#4-C+M=H`%xBJN7*+Uiu@u#eQP9*?-v`_CI!)-Gl9S zC}*5=1^3`e?#aElH|(eC%T?Tu`|}|@fDh$?{2?C1ALhgOBRrTt%7^pE_z3FK^NFK%2T*I|In(Mfp8+Z(l<#9ZoPv%qjROlC) z&J%bdPvXfug&Vnv&)}&%4Hl%B#nbtdJcDQQEIylO^Eo_+=kmFH9?V;RpU>wDNDnzc zj`D?MKly-sOxBZ+px^f?@-}~(9OKXMJaQPu!WWT4d@(okeDWhNfIcV-FXF|#1o{*k z_!7R9m+~@R4l`)mVE*1W4O%@8)mvPW~3(!{6pz{2k~mdzbHneXF|p`+PtD zfcNkNyqEX!etwW2;=kgD`G@=n|26-J|ArssAM<1UxBNK&gn!C^$4~Iz^OO8Deu{t2 zPxC+UGyISIEdLWf$N$XF^S|&5{I9Ur$=~=z{&#+f{{!|*`I2AZ|Af7l{>88HfAj17 zEB-bAhTq`-;WzoW{5$?V|AGI=Z}Fe_ZT??=hyRb?<@XdsL1D5tS14f0zEa@{)2X~+ z(x|UOrSOCKctaEcilK@?_?1JD;$g)w#UqMfPgl8BtxinwOe`}O*lp#WW+9b{`F6{4 zi_$C$&qQ0Xt=zKI(=4QKa)H%e;3_LBwN&~R44UQGH0nf@Ny?N0GeoK^6e0x(W~ZkS zQ5HlQ1R?43(u59HkzHw+TC0#O zZ6>oW@trvsukVsUvuc)GLR3p1uoT-Zmhw__d7-sHnQks{IW5XkS*X(8{gt{|l<6XC zN@bx)hdfl2!bzDS!k3Hi8E!#Tgk%nwHtjg|YQD%!Y*oBxQLOEpNJ7+NK zd>w;kQOE`@%4lVd2<()FB1bAnr&N%+q99$OAahX{7wVELbaBbTBiC*%FZOUrXTMx` zP5fN$HqTrvaF>w2^9Ix9yTZ-9z|FjJ(5zf2G^~<^&%*ol-lyum(WBH>UhMG5EV0?k zJ#6whS3bL>v(Vb4_DPh|DxxvpH+m)-}7PKdm7v<z&pw%DmSW*)s1>|F!19n;iX@BE>@mX(HwRDTC>Fvc4jhl15-=$wkjE@@ zMTHp}Vp)EnnLX)Z87?;83e7<#vn(smF0pycu@;w^d5+oTiK*aOC03pcN0!5?lHwUi z!4UK?VD~ZKS6pRr)4&T7AhJVBzibL}3HO1Z@T)sfD{vE!=hLXmr=1 z)T0~-7lU?DyLD<&yLI@q(y2x5)~Q8()~Qp_zY(QLNDcBe$k!lWgM1D0HOSW>UxR#X zT{;c&HKKLtuyyG)$k!lWgM1D0@o}cpB43MqE%LR<*CJnwd@b^|sJ|BZTI6d{e=YL0 z$k!rYi~MNRKN|Vb$d5*TH1ea7AC3HIyWQQz7F|1 zyfWVz8?8{{4ahej-++7r@(sv0Am4y|1M&^XHz41Dd;{`h zkROBm7}OsY{+He*buq|~L4FMKV~`(%{21iNAU_8AG02ZWehl(skROZuSmehdKNk71 z$d5&SEb?QK8;jgni#vwNjxpByiLv9@E9f$ll9N3HeFL$M*FP8TrY`Pey(+ z@{^IDjQnKeCnG-@`N_ynM*WkKpN#xuTg885&1^s8sBHxI7Bl3;NHzMDNd?WIW$TuP1 zgnSe7O~^MP--LV<@=eG$A>V|26Y@>SHzD7Id=v6bg0IKtz8;_ZdVKEd@wu;83%*`0 z_(zpsX} zkH#pTTOdu!dGd>~a)l7{G1`J%mp9r>cY zgB|&zy@MV3qP>G1`J%mRjH11RM80V6V8{Fy?H%lx|DwHv9rItbcd%pri}nt7%zx3| z!H)Sa+PlUm+B-Mx|yHXaSc8b;xu1FWH9qdRKtsU%wZW3=(8k5jc3)7RNctFb9fs}I>q^uoC zId?(I@q?6e7o;3NNI7>w%JGAga~GtnomMScD@ct`k+s-mw-mznu0U$^ey;LDi``LR zgUk7)e#>0&jVbkZ*&UWb;YYkY!!#+Avdmg8b-Os=!?wK8+frEo-%1cl_!BQ>T6K)h zyWHWbu-L6OyQ0);H!CYF4*1d%z7mrZMwi_tTQsPVM%*{F8jZo*;&4JglG9S?4V`Qj zYjKIQMCB}jt{-7`_!e20513UBNN71a$T8|o$-ZuVC(<=jlE_bxa(;r8^V4J$cTNR({wFE!hXK}9Kj@GY+@SZTMG zmRbuWOMttj)KcX19k}4M7Wm7ZDffE<{A8;XO6nI7j`uqZ9vbWwxgQ{K@Y+BqH*a#S zlwxwbc0W21`+YA%-7?B9eM?)EiL$!NBq5T8ND;y)gh_}QLZk|jCd5o3W(kol#FIi~ z2$3noY$39Rm?K1v5V=Ck6=I$&eB>%1=e%-(a9Ah{Q8ZF{$wea@oGWbZfuw8RMK+gR z1d!^FZ1QqgD}_M{AeF9{M~)Kw zVBG-|MhTuoj9`#!lN28MXdDjchV#DPIVI95rNvv0Q?7GTq;m2^tdh~AIMQ4Sox)Q6 zlij@K*d-@rmQXgNa@_`FeoyXE1-`0|4JNw{U50 ziA?)>xU>huWeld-H`6VSOt&~Pe-?*t=3pTI%m?Gkb&Dg{Esoru#o?d(V7LW?epNWw zATmUZG{|NZjxz{{fZND|aGW96C=p6dgH|nDhPsa}$X5c~#uP+YF@zw(;s63VxJ8O%2eQME zwENw^vOU0U2tmFu)P3wg#3hCagsb}?0lE(A<}D2kh^t~~K!kB07(my-Fwn~?4-*Lo z(eE#t10U%17tW%yUp5bQ@9Ia_!B~Ao2futhV9w9#k>8vLn$MiUU_*1V2u}@`m)oI!7hE- z?z?bMjUn(%ErTJR{8ESPM)s*D?t}R@-PDs!BnPPNsTrEbiPyvfZ2gislVuYxTVT{a zBwbU?PKplolT04TF%w70CS_FEs7Ga!XI$hM`5Ni=^7MpQLyXnd;FNB)4|Q}`NT(X< zbV@pf_)ur}bQPEuNhjDB)zKZLf@_)5$tInerPI68>7H~NrJ^n=gi8wHl0vw;hxkij zrPDXkX_P7I0&?hl@A(&@th2^0X=V7FYSWOa5A2>=JU1~CVM>pki8 eSs*xMN~b8v8WjYm>C$N}oCu-W@9oqP^8Wy;W)05( literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-light-webfont.woff b/public/fonts/Roboto/roboto-light-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..c2daccb42b2c37af185f40301c48b787b2d6efa7 GIT binary patch literal 70524 zcmbrl1#lxxv!*LEGc&`Oam>tP9y2pDGc%8wnb{sQ+hb;X%*@OTGOWM@&p(yjpjDrf*ecI1K+?@U5TMHm2}e*PMu0RVuM zajcfalviS8`RZ2n)lc=y_1oM)P>pO1?7vzWOpHedWOa%b@{iX4W32Us@gj(9H(`ai{yl z1YIyUF)#)IF1NpOn7{lxfZ#gA{7VD?uF$`>zs3cS!{x(dnAoJwJ_&f&16EpVwdgi2rd&QBX8n0~?dC>W+)0U)SZU;P%pa#@>{MOfWT3{Ag259cop@*gi? z|5^Xlf_yn(g0EoupLXCHh2fueYUyW#`>K(?vA+H`m>~uvvc93dslM?P#4hh4FC^um zHzqTrI3#8rJQ(1c5-2IaeRVR+%UgM&?P*DqhvZ2Hl_647&{lIEc3xEse9CKvY_V|u zFAX}^y!@ck{37A$P1yqjw3xJ*7)o2@a-fQ$;*GE%6Kr2Vuym`eKY1b_>*$m=OGHzX zY1dYh8B2O_`0kp(=J|A7lU>82(@XV{$6|&eNeFVAVJkM-{PTEi205%9aFCz}vor$! z60SPLBgdD)uFK-ER;-!JDV_wq8nsP;lX8CqYO=#IhCO*t+$u;VgPGSzc}N9^mG#in zX6M?B-B{0filt^OC;r`C&R|MM<73^Tt-*2W@ZgAkd@ZZ?7HU6kj7ZI1dguNPBqR=# zUuXIJ+b#Uw){d&huuv^4TG(3cTA>iIPx3N8RX&bjxNJa?lh1{X^+$tBM(wK5bVUC> zE32QfT4UT&zWlCvYJt5c&#xS^BL=6&aiiFE4UdZ6*@w*(2NrN=ju#gxuB-HN(4HP_k%elK~Srna8T-I5L#x)7&!$RL5Ko$l=dXOU^sNMa)X)Z9&%6JY5`CrzOO; z#ps0^*~jQ;MJ~5&4`R3KHbP5&mmv+iET3Vw`a`!;Bs_NOySm#q#TbF# zDznMcPEvmtC9(owLqpERp;LJJbBe&vYYn<^la?G8-m(y+#2tHbX{n8g6{y$DukEYO zDiJQ4u#}81uzR*;C61st#qa78q#~V`X&2$`tJWZ$ z8Fl(iWK?EWnY61IN5XJNcOpd3iS{VI#zbcSDFlWaGO4FV+^zCsVHq~vyoR@Gb42=q zsrl3PHR+>1e=F3h#TzgtKv(MP_r647f}4Ph3*_2{cvXkc1+VOr-j>%#@Tr1e4C?V$ z>-D_GbjRxi`|kgQvjMgUW64Vc=_5#0<*Gw^bhzhbN@3;VM3&PiQ?uc{;?+5x6?lEUB+b-Aqy+p8nW%3qXjXV}^v#K+y ze=kcmL^@JkiEJ<~d{@C5p)8PQ2}>SkRp$uv#mroyn?svZnqx8b$^p;;;{JTf-~)h1 z1wSx7e@2kzdh*`ys+1$3T*OG|fHxZqRy5DR&297Ht+};uB-&?h9Ok~-&H3DlmR|8Lk>t~G_PE(2tIRayx|{`&-Bt8=Qdai> zcD4I`i>y-SobPvR;`6P+We(vhd=V>rDI@mT)a2ZBsc_D;@jKz#;#sQ|pLA#8Jhi9X zeWtXi;8K!4ZgO+Odsy*W{dxnr`;+0L>L}{z{zvCMP0A`m?)=lZ+5Mzrc}~!v?H{M{eHx!AZ^hd9$_Kjx zX-`~LZF(d)B*KSr+%C|lO%j`T;!Pis51lQl&pwaLZY_*c;PoSzyBEqPe-Xn1Qh9yW zXE<=_m}5a+=V}Yi3lnY9E(qd#P8$X#FASQl;#C4WKQbY9JwTjo4~VVng|O8Vb+tA4 zbhQg~t3JAidKM6`;=m!vrRJAIFSMynLsU9Eeem8T&gC4TLcEO#y3``v96PEO-=x{E zCg{Z2trm=QC^by(Qm3H7IxR8wA(nB7 z252(g&gP9RUJ2)*vZ#Qu5D@o&$37XXy{~*8i>g)Ku0*<7FfFS1 z(Lb2vO*LdI@cDv|9D(En@eNaSRYVdP!LEDN7wX{bgCo@``5R2i zm3S2K9BbGY#q#mn@gsDucJ(_`qd!NcdqX@2!KSllJZGG>CyF~E9f))v%Qem|JlIj- zRltruc`Kl^uwNC0dZ&x-93upWSsi8AmYJ7uc#q_~QQ}_k5mN1vo8QcEoqZxVCYr9z z5<@LvI!ZkToq|tCxEnE{HfaBh_=Q`t2C=Tv8=WKrTtZ>sK2>67;C=~l+c!yD77uDkLfC|` z!2LX8E^5gfm;|%H{d8ikq5ULcE(%FGm;|N3fmh;se#t5%)U%-f8r~7#@JjL`p^gVF zQWT8fA`JQ0>*J>ZY6kdI4RN5xIn{^ySP)Yj>LP5V0vug#PfKPy+EGUc_f#p@(yxHkJ()9vrUEY1?ia?wUeS>$XBU)wqFu#~IZe@j7Ez-MaP24y-f^a^+p-jXq-s*oC%n3io-K0S`*91q{%OTSi z{$Xanw^N!O;{Tf%drZaR(l7#%=#n+YE+>XlS`e)?Ie0+6ArpdGDjb#hB9@F%S`n!v zJ6K+_t1RPCk;kc`kVQi+7lK?W9Iiw%P>#I2NHNefs}GM2HxvM~{bLAEjt+={a^P@N z$;c4_T)jkdTH_~<%@)B2q9`6>sUO4*FvWS7&`X}5GNv{y?DdQvR5Vk1b86Js0)KYT zyZ*{@qUWMYH1CMdVij6!YKnLAB)#!VaDpA>;v41C*v}Gv(}_M1-@EJi<>Z;@B%bI5 zd-F-Zp9Ld&;$3jB?qa1CP2Hu@wTc;lMHVjjDKs@oab)}_en<4&r>dYX02@*~5U%&C zZ%&`Y9g-Ig6Xcw#Il%Gy+cHe7zfm6MbG;o2H7G?M*0Y*DMk@w#`hkx=iZ%)155}_I zLqh+q1&!^FZG8K$3+o%aHqtK%k|<%s2f}CkH-a~?#vL*c^br7`;P(-T7eG2);U0y# zWnpRpI|tpd~&Hr}6MINa4xhvP7ur==;CeX+2+6 z`&(7(TUGPhys=l==wsdOO~dYuQtE}l!k*c`tWSfW|M?wchwNMCL|E=;`_b# znTWV1sM1(PuW3l#F;F@qp>@T;YYo|TCN0}D7M$5DPb>}f5bA3~vyRA)UPe6l9dqLT zHzE0*1dHDn4ndGq)R>Q9Jn!D{RiTao?)spweXham>uX5VUe&qO5*dANnfZZGQ%6o8 z;M1rJS@h}S%1$xLP9%noG2S_^P7zuw5F@qxx0Oia3-y6DC4bhWvYS&+FPXk}=(iHa z7o|E$pn%5y-=T%`P&o4<-2OD8ARlC#4u#J(JHD$4p8xuqF$FC0JGRK9@QiHnCyPW) z(QHkkup9T$+=?Q26ojr{lC=OwF8IZC7103v%Fl7yS7b}T5eoK5&eBWJr@)oU@7cDG!VsUgNcMK2+_fUra~YcVJPiLS zIFUN)4&BT6}Tk$X^xX6Pn-780^7uxPK%NcF2s>6eXV3DbyN%)R-n~Ptvqy zs5r7$?pvykF6{T>I_e{E)rI1#lUl&A^!nv z+<<(Pf8#VLpC21HBwz7=4|VL25EOOnfd2yie`zeABx(PCE+m9M?TCqok7*ie4_99s zeMrn83u#DfePKG+VhL2>sW30y%t2E&`=6O|-LpOude-Dan?7eNq6{R5z2El>e1CX% z-pCdo_qDJua7Km|{u>;TZiVju9b;AG*my|dH~Q#b&_%xzyVeE&pOAxe^>Y0W%JdNx z`|t|_xkMqH!eI}QF(yc8(nR(@WmI+B^g+*>&dP@=&scahLYEBP>Hh;`*P1vfaRx8g z{{@Wwr_5E|pi#qht~iT`9XR&PN6IehZRoVa;gMl=j_|a@b+$N*bp077>J9MY$p+;t zbSk06V>4`_CCqFw`4;f9M&`I8bJ!Uv`4%|;MvdSchIu=vtXkd)ESpY13GD!OE1rJ` z$bX_1QAjr8%TL4wAyV!cHIG7BI3d zXlzT&!hxKQ7e0X?dKfBqwgFl*nbFcS(l7-c)QfB%F=B?0HI2)e%Wltawe7vw`%)Ef zSKa2B$Sxm7uUfju+CF-&uRfh_ha;NbB#N#+E(S6@?UL9E0v8Ku)XUkzQXc=%NZ&4{ z1L+Im3q}aWc=y4$BTeW%dUo&A2VR4=g%iAf1>e4Pht!vd%nS1`_^k1HKcfT^kvyX~ zK3z?2zLCFKJ#I~IdKFZdhhpW=Zvtu14AQ(9QTmtc1?qm4yG`AucqK{lH3 zMG|G+7_stO4~0!W*WnO--|IK^UXDh}6!Rsw?3jiO$EYe^RjT!Q1mZ z`Sy45cziP0b39!ZXAi#*xAyqomG+_@KKy*u5bwxxg}C^!inYGlknnF~&$uxa?Fz^; z<*?w>H~<@3D{D~-Q*F1Z|EOY_^o&lf>Y&6E9dC!PUEAMwbhPKMh{a|W%^N!4XXEJCuAqM9FxqRB=Ac5#^;-F-1gm1 zZ@j)*lsC;tJ?R^>Z(Vk!PleA^fg5DYT`-vvb#CBZ9EMvz#rY$3r0dJ;jlQ7<*GYqC ziq=Vxw*|Sv6ObKa3AI3biit+7SLh{&Sy$tX5gy zuKFH+mK&IP@~-M5*;T<&;fC`9rbs7Vm^?v&8A6EbmqrNr7Sto)E+f3B(E-TqutLaWJSMeOte2(4MR z42?QqIZ^$IKw44!u|RGlnAOoE^7r2i{#n&&m&F-`7^!cUxu+e)`D^HZcSoN9**Cah zQ-{t0**B_(rh^=RS;yRbf%b-PcBsYohII`j+r}<~DB-6D7s~^`2MxN}Q?N(j$A|bx z_EJ-*))nK42eNYZB;T#MyYd{d_GN2t$$Al8^sjSlP4`T7*g19u0IwXnBU~$wDaI|z z!;B%y_I*jmdI@HgzF(iSKF8BXCJlQJOM6jX5MLsIm^pmt*duZxWg*oZeoUL!LMd_P z!seC);Bj%xZc}Qaq1cvmB|o;@dq6Rv>=0gVOuqzeD{@B2VmvA@|BV4ux_?0WR4+-) zuXWxLJ_&5Mqa)cJzKZx)FO=$2l>s{XbQK^F{Y84A{xx6smJ{%U`UKd_f1fu>0maFK z8i8yhCfX)Sb3#AF58;w9m{J_KH!b3f@o*$@3a(0?AW<|>wGG;N`8oneg}tIvc7;CJ zPFNSf9RecZA2b)ReE5HYx1vKq!!~ z^(x@MLr4VA*K4~4%Gc{}LC~o8ckPE(6hp`ho5q&8DR8%-u(liu*n0m9@o0ps4#l8V z3$*FUTJ^D3HN~=tt#>9!sp*9_ z;7fN9ruLv-fvCICU+L)rbv0R7oDuSsh!LpuU|+HMb_tMMs6^7BxS#W7yDkjaVgYsr z&E#PsMDI6A>P8JTNm>?FiTx1xxky=DCG^$4#{d5QtvJ{FP~xvRxsB-0I~_mzghkSP zA{eXqnYdtIa%)jxKP;GcN%NvRGMz$B2n*bL6MU_q_%f7;|A?wkw1&Pko}u_UloQ`AI!qV*!e%B6~2j= zeUK{qqR_O51NkafIAHAw!AWMI@sS}>koU4NH!Tj{YPX%PA)XT=1q1K}dz76^D$E^v z>h=g+AC&g2tx#2<^K(_GtnqA1$$#%Re_U1n zSI|%rwFIR-KWH?rW%pnD@;%zPA@F>n(w$zSW^DAmTz)tiSyIis8IGU7QTQff@Yxip zSlh{<0V(Rd(S!Z!yw=_2gQo^hnPF0m7eGG7>rI+#QgsAfP(Q~m)FE1f&VS?bQ7in> zC$HMO1l}98`R?-n`J0x0&ThGVsvZ8HQNH}TEPpD>2+&T@axXi;oNIcjt@_ z>%SzNCGb83>Ae4ScEd!7w0C3gXeN-gymHm3hdu-}=p<6Lb9~2i&%HxBf%5v6R;B+t zaMTjXe-idP?Q)fVL*OKAHoCQ{3xn66Ix6`88E@=c;K2s+*pI=9UqQ!;9Zj8h5VJlV zHq>^E3&k@fP&UMNoe6`%o6=R(1W%PM`I24I53Mzw&X#7*i&O7Fytk~JX)t-$F`n@Q zLEGSwqK~`|@;~oRxYmKW_c18IJO;dP6LZ2>^eHNUoeFl1q;~bWH?%+>1|8^!yfg)3 zQ@l4K>?-3F$He#THRhi5{D`>+Rj&;dnPRfZj^i=$_ zmc*9kgHv_5Vqg8|wm>&GX(G{@q>R~>9OUBrm7>?@EyI>;BJ=G`I+;NL4 ze(rMn#pu!v=fq3Eefs@C^yr-^5u;)RR>e4k=C?40Mt)?Kf|zOq3imEVR+VC~ise37%pe9G1pHac!$+o8LV<8myhvqORvf^u+E}j6DOOU}CsEnaR%4 ze%6q@X8Nq5s^WvpT_k?SqU zPfe77G%m4E$E7tD?{wh(60A*}n=m~h=2-8o%Md@l58L*$CV_Em;g+IJyqj`qbm;)^ zmj0#LTf+9&)!5TM(6Nv%Idk9iC4Zf?Wh~A({Y~AMv}N3}O~jX`%Q3a;SF&TvI_=Zf zn#Z4)8c900Dn(*n(L-i&L{o$6{kQHa3wb8FOOSDU& zYDeV&8dZvl7Thw(@;=LO+=|dj=>=?d)flC{1(Q=)m*VyxI@OdFXA9`;DjRtvmEy`v7la?OJay?6r59M5w5t_p7osei zGz%9iQWr3rRD6o~Ro9f;UX?u-a%6>FyT_}1j@T(L*R)U@8aTg)d=2oam%qzOc zER<=gl)hEyuF&KK(iGt;7dk2@l5TygpjfEdtq}7m;aBrh@>A0*^DARi$^4sAS5!*UJbICz9?w*i+vf_5TS{oUR=wls(z8vD$u3arIdX*!;H_CzAmQ` zQ*&Bs`{v!Vv)tFtx2&=S3cvjg4RkmKTqy67TGgDr_$||<>I*7Gn+F);GOk` z{_}o)UIWg20qHngw{UBT(Y`yeN};MH3iW;1Zbpd@I`Bg0a=7O)(S?e{ZqLE!yT8xq zS;lS`i+uz^fa&H(;s@CMpM><1R$e&1ltBWLR{TYp3 zBtFD0-83%ETrRGq$LWucCC!vNHGWl}T3BaYuWov*gc>96m3VO;sJ;tOlVWR7?L*5l zdP%SQXRmRd<-V}IvFwqpDg$Pb_dmLX{EFPJhu&XxKL}2{eJU9KD!!L^eWYwwKmEPD zK7>8&{6^0ZnZi z-^aQ>-bdBT$RJ(Yy`Es`6tcN_mR%U2r3kzgZ+kjEDE)q@8(+%I_IHi#j$m@l4{Ow@ z+$Gr67qHN(p+R-*hoBlZjtX>bRPvVteK_SD_MXZ|d3^dT-n`nM&ECr!``@sR`4S{l zZ%3SGebai*_Z5?py7rhf8r^P@Ei|(dxc`2>7HH^+(@T*AO_%mZo6Q7$v=^M|ss6Rq z*dQip>ZSVgUVF_`_&#?bd7l{3cp>?goe?_a_hK>f0gK*#Q(SunoKreJjY`;ieLwU? zm#Q_P}Dyid9Go*R4T_Y`?Cx8w)C!<1>oS+4vEE`L#mw z<|MO`^Bz`is=<17upw_=KjPDd`Mqv-QN?;|LaZmC*6k|qOBE42GP{+{QR+e_VJL@_ z;=)U?O-kYwSo}W6&)(~kQ}g1M;5M(e`i_3+tcOK)w}jROq_Q!(mzGSMgV507H#rpb zjg%nBmCm&yxXVAAt7`mC%YG#4=o>*Ed!_!q4x)hV1)Nu^?^e*7fbc{980Xso#mFC)AfKN zF%SK21e;x>l~a3W=7e1ryc>@M>$r(VDA12|^mqV}xWTgFrBRd0TeHPCn&zeZ9?i*M#Tyi#9iRRlEa!tl!gspB{$* zi<0?t3*XvKHnkj zd=(BpXmOkFS>twVG3tP;^=*Y^JuRo~Yffz{Yx)!Fj%}{miiO96o2=YMoJRafhPijn zguz>dlI474&n5^QO{}z;C&eXoa*FfPLyk&AEb@r!8zBXM>fUO}5{xIkE2~{W=|E<> zR87+zy^pTT$X{k(ApVG)=jMK;tMh$Ydh~-?(W^`x*xJ*^f|uR%sm20?UresSp-!6W5Gv`@L`{gG;2q>T;t1=#O6au6LPMljiV?1+*qHF zJ+~L0tLx17_whlDT?xa2X9vePzuz4_e*FRletxo+VV{$=D|=fEV}pn{<=2tfhD$Jy zuV8v@Yg;0wqt@wUP9~dDm#=XtsbkEJRrsmvz|Rt%Pt&cf^Vexdw>P3h`H|8CL$^|a z`i|W0maXmvyT^ygnh&+BlT3p5!rzMnD?`juo@|TTHpL(B3 zUBKU;NN!h*vX@(*Q7-8&Z7YMHJ$R{h3GS;G^HSC_4uIjCtwj2m558kM zK)E@7KeA^ya^T0ZCy8nck7^5+Zi^mo3k+*bs8s*6pxxi3JzT!t8zXS>(nT=ro<-%J zQ0ksxrqS=jJFTg^Ev9QoQ0bno=AOLdp3UK&*y5h)=DsBR+V3N@nFzcUBpf3vPle>7 ziTO(|zhBNa&g#LyxL@3vuyiZFImXkSigc^UKWg?us&|m-or)R3w0m0W5W^{aL&$$4 zEoex-7-Pa-xxr~cbx|BNAT4o1o=tH~DTyWJjOHPZSQ!WIEJT_xgRwC~z&9(6;WB5* z_ac9GD+~IVMxGezm}tOqvy7f;$W~TP%2v@}V}5)32M*&{ z1qV#Rg zaF;8*RYk-lmAL|K3D zSnnV1sD-qE07XJ!Ry|`$BSU?CfC037Z|}W;zYq!Th%(@2R6_@^dx{!?B}1%LSFsO<_VvW$dS_-E=}Teya= ztTeI$GV%@HH%dK>Sz@%F6#7aP^Ka?tni*|lkOmsh5Sm-#tG}z8ea**-GOFwNpKhUA z+g4ewy0ZPbnthL#rd+3hSwvG_aTlGg00aHaKo;6XQ>UNrN8wHD^ZnFq?GTT85U5X=6`EH7n&h#M8{W^34r5 z`|$kgckSoRgI+u_{5uod?^*NJm@*v~yjgZyABFoEm(lQ6l2s#7sA45wCQ?$M^|{9* zLr0fhFk#_bxrCAa+A>e?#1$fv}Xk<5MB z>)*V?bGq%RhZJ5?x`AGU?}J^(t{r9@3@v|kwo_W$E|t{=aSfB}G3p2FL+anuP3ibC zm)2%Ge3aGRQbrJ0xUMrkE14&LJeN{`m?)_S@tg^G!mp!~4x}q1QstnKGbJceB5=f; zJ7$Qoe2bjxOKi>NNt-|~VTn1J*p@S8iRx(0 zT-pCMj(fbg|_>1&VNd~5vE-yMHsUduj&fwd4**0NHL*NfpN5;ysf(%^C^1_^j zs{DW^w%=3FYwjsW?m1-mM+n>=iHV()T3Nd~a&vm8|YMtt%OscQ4;$uwLEv>`vqUw-zM{*I_s&QX?3ri(BBtcao|PU-xb`~k*{ z9)e~zzer@i04pSkU7>)w-jOjVBh-$Q&ETl>97Mld;|*ef2`hrhKc2qfyfl0w9bTeD ze@aPpqh{DSx^AhANCrP!x^7+Wo$EI&bHt>Ju(JVj4U<8T!#+rZU2hf0^Ai!|nkO|% zmg(bIfh72DaPUu-LDB|wa$yvlb8Bu-pLD|7wM)zMdjw4@VOtb9CP&)~(vUw~J8zHz zzBfxtS?@@@TLGT|jfY~3GLe!ID#+!MFQG};jSoyM<+WwrgM2Y^mUXqW4~}`2thzr^ z*E}YKAJtpbxqdq>!lX=-BYU*cosl(xfSbE+l0xIUvj9D{<7-AfP4y4ZW7ajl&_a}{%R1#AB?RB@o!n&dnc-3|F1pIjMj$6qdUEyiT z@_OY;4bo;F4$v&f-s2)ri)(PA_gc-TC;)%u7%kxd?MCU$Fy`R|!3D!x=8Do`TBhi5 z`!P+6vSm_Q65w9QPR+joYX}SHgT)BR@hm;feX-Ap=qM&EVy^*vAUYKmWo8rA%EgS` zf{=uHu502ttN+9xEep517xcH<)bpL986o$Hx;f?-?RSv_?ZFt@GW=ev#tk)2x#eIW zexI1rOO=kmdd=4h-{EE1w!>yu-JR3OqBN}qNb_7 z>6}0^_h|nHm7-e)3lz0Xtv>Ox;h?{?WcPy{-D9%w-4QnlcDpySyf{2WwNz&z5_{D$ zP5otYX45|cH-@J1e*D?6-9vcfe86H?r@aYHNc!=0+xP)B@znp`^MUnmbqO^xVE2q- zXjrOb8`%k+2|}7%$=j1)2326#W$iefBIKsaNj zjHzg)nnIO#@^yc(a>UUV2?Sx(I8Vpq_9jHiRimUt*&^ zpNj$_ohI_>>(}ZAZ5zLpxs&;_=@WagArCf(xX8R5gpHg%;oQC$t2z{(q-+8RJYKnm1 zEVX;Ca*eW%r23;wO^Yz#j>?sX<1&hB{P60ep$7w(`ZUkPdNF6YgfZ2)q-&GIj*W=< z`GRoJt3~dVeeWQGy1mKgx^bMZCOnGU^?k^IhiiGEYLa$4r3|g&NoUUbRxaQ5ZZO+) zf$;g~;tY=SRt!dlQw#MZ>=6wNalU$8!XdM;3vGRjTFx>8A7C?gc8fvO!oDbJ5{HW~ zj2Q)u0^V|)r62%2hEjx>(3R9o8(R2La%a3oTLY8fLgdN7iwXZb9<(mO?kgApyf~DO zAG{qq_9B>(MP>js!rRU)C6m27=ou9590Jp~e%wDeeMH9}y5GD{7S7=Mi#LeDzl+1^ zg*K3Y8s zI~-J4b^tz)!b#b?_CgK2J_eO4silJq3bM}JX$y%MSDMgMR6;Sc01DEtYo&o5ehGFb z2cHYcnh#?8r-SlWe<2+RZq*=T5F|RB?Vkzl*eRStbK>N+*d3G3?dvQDUCqvL3U4Nt zkGG3+4n+*so!X=pNQYpDcGjhNHYeUX25cB$TpH=ZA+=s+)RSGO%o^_R7I!0iJCmoM zyW+YhHq^|PFz#g~KuByNsD6Kv8BLCvw1Kj?_`e0tBp;&-wDP&yU9YK=-A+dx6g;ly zVJF9C%8-8rvCShs7sRk;vbV4NKHt6W7h?o+*Nu(1RBw>hNm6!SY|e*9lXJ=w1Gw7q zCM004#C1p*4U42?(e`2tJwewEM56j?xtUput>jlf%qQkz+|PHkF|D@3Gub?wYYmj^ zCi?KW0wcvmA~r9O#Dg|kCJYXv?_=17xD}uyzwv)lED`6{kHv_V!)xWY+FuRfd5jI+ z)k}@t(B#943B5KT!hTs?;lFDp(xoDB)a5evYKJt5EXoz3y}XgP7f5UaU7QB2Hvx)s zQJyISe@LT%$Y?s=?+M2C2QoeaL?WiDQ$a+J>zzUqj5$~=f0TelGA$d8T`y!0?7C3E zJ+E_8_s7Il*4S&o$Ak7pLS#1AYBgL7@}qz9f81nS7#&U03;2NYp&NXRHl1zp-A{q? zThAqVXl>=tUUWZ9-jG09Q4plR&c;+y6+=AIS1#5NKQE)!O7TSZY-$6ZEHQqD)8K&y z{DA5G3AzDEtvEVbI=?I9$(NDJd|R+*Y#lmS$hK(6TL0Ks_xlkIcoplF|D$no2N%HA2Sv3X!M#pv_{ zzQ+9B66N$h3ar*@rqgOA#jM#Tlj!*9b41eX(`k$S;P=whtlyajuF07_6#%^v2&LHu zAINJO@Yof_(W31FzojnfNB0Y)k%sjYlmDqc>kCcbL`a!OU_Lw5zoZc}>>Nh-NA!mS zduSzIcS>Y|=WN-yg`7pW<*|Klp9Mmc+J1VR(qYyYZl>EaJ@%`NKV4zU4-djeM>zWO zcNyv34=;=#V=2Ie>o=mYIaFtIn?Gauz1=^4*o~|@_qq!&4y88K%|35~Ji8l4Y)EuS za|Oa}`Y#Qdfjf$3V0K;#NI%xUkb~9QWmCNr8fx7~oq=ZvIFMq4c>#0?;~gOP+V1+D z%!Y77LcFrOri1kier`%ACh42lbVbOh*>pl#CGv$cUZNdslUbq-VJh$lV@4Wnc$%>! zkz1ImY+8VBT8LUI?&IpBct>QNeY`(r+D&W*=IFErYY#STr2)5tjC#y`+ASx`@6p(;mWPRGfq&YLCw+jM+P_`!wmeU#CL2m? z_2L{T@#eB~jk8YFL#7J1WnhlJ3+phM>~hopdG;Wd0Yy=a;DnqzbHLX7BghoS%>RuH z7I}qE2M42U*@5Q0w@jYU31hfh^mw#|fTJ1Fg4t^%`W*&piP6)}t`rX|^$7<)uvQ0Z z^cci5w7qp^qwKhkd7<}W1#C&D^U-*#MoU`^q6Lvmw(~jx1WqK5t1y;TmG@8$wYz$( zvO8GF5!@B~@Jvd$gak%}??4TQf}wZfTU}E6SRFbN)$QFg3*EN^dnji?)Svi;6bjpQ zlI|~d3DN?dvpeJF1Rwpfx0AvQo{k_1v7>da^%D$9$wP3eAehT8kOhUO<3FrU@J;bqdQ(*)PUQJAJZGVGu;)eaXoVLEWIaI8E)XrTcpiK zogK?b#%IB@)#m|N6_4KTkQH`<%v(tm(ho+D7+%A%oB56|QP@hTV(*a56DoncXpPjO z4@vl82uWz0h*#bvm}5Ar zfF6T<`0GA+u%q(VBb$g+(wa?Veo^}xeF+l|?uXv(?+(p~Wbof-WxByDvB|$2XcHEGIh%9|ox0^gry;?w|-#?zJq~5o5Ya96y!vL1BL@>>PZz0%gTOp@mN&+7+S; zKN4^|sL6o0!t4zmohq&4YbOa%F;6r1TZFL-*N;6NqOvDC{Fyx*4NO!DfzKaFi&cn) zMaahtqd;$n2Do{U5+_BvgrWv@NR29>UUchJ52?G&!f$KQaFCDW)>HNJ2((9vPi^kJ z!pefpHREr#!Nh=T3<43?W+7&Mcl+N6nDdWJeY{}^-7eM}jSp+qA)L0f1ufR;CO#i` z`7lSDKHPMr;Wg9tAT18%$OQJvqsf&lQkazX>R2Kodi-6K1ErWy!J$y+QC<6q@2`)B zkMVxJJ!9!Z2fpN+A?3C@9S!U_nO;XYSL5G<9YPU4KQv zkDJWKe$VTWm}M+ex7H#AIbG-S#hcH+6Ms#J0q*v@)c#>8`0;x)aDYw>F^WUiD=(Wb z#@Wh#SUNCXyrAr_-<#1At#>DDoZq+yoG(DWz4<8ek$1_Zjp+R(3;rWD+h5Ey0H!9^ zSC_byZFPJ%B*GyDi<+ALR&zImD;z?=4SfeHCp(GP6NB;TB)w9Rq-XF2ffvH9qdoD% zI}q4_zc&XFEzhjI<+sFn0b(M01wVh9ZD5;8mhof?+4$H0_}Dy63AH$$g*wHcc%ERq zPW4B9G!w^;Fs@^^_%XHQ=NaKl=JxS*Tx_;yFu$HFKZq>I0Z>yOv`Y|K*TrwFJHBb&J z{UOdWi>(-=x?`Jvr))s7Rfde&0U7D4rq-Hz!lZUn%-RGcs%l`N)-I~m5IFT653;z& z3t`-s;&~`eK)#Y0x18eVg6=b9Gt@9YmF9L0Lc>$!<1JL~I`EXW z+q)CyW7>cu_$puXR+6J%jsQKo+v%*QF=m%!CIx|}cX3ZXb=Qa|b&TU(lxg#Tf*~05j zM(&8?1Mlj(acZrG$xf1Xpf|F4uEHD17Iv|gvz?{P!r5wc@H-^IX|idzN^z10yjpO5 zL3+89>6|T0lm>>v^W6{T)Yy)%Gks4pnf7f~Nv)rEb4FXzv1_N*{|$vedcWcQ^XHE8*VucB4semmJ+=Q6Ur{swI+_HtHG>NJR@gIAiUbE| zxPB;b{V?ON0Rx2hpLL>iyaA@;#LjL~=(whB4e6q05{(zt6Tj`g2D`3|kaB^@Jb1v- zfb_uJ6wrPo#p_6Kzz4OY3{bBC)JvBvKsOP+S%8itN(t!D81&{Ou;C{7UI;F~{{#7W z)=9`&yS99r!p|Gxxv*2Z-l+>%!FjsFxUJNRnY^g@aG*uAWm40EFh-<~gZ;;e_J6*l zbIIX%x1;Z_PJKSSr9{xGHahng8;M;9O9`MII{4+6(zL(ZQhqZ8%dwvd9WgCP;ij`5gy9~9`Bo*wsCEEe3Zwq$FiCbzTKup`8RM7g z2Mg?B8dB~E_EWsju^IwzuTEk-v=luSlXKY#UA>{=AF=>uQNpy%oIs49jLh@xe7zfe zI;D6&;J?{;oxCIAv`@jZNb> z7K4h%=w`p{ZBnSq)_V{-i(D50KY0K$_Z|JqDT)^Z@Oqxb>lw+laPx)vy3=$Injio2*d!UFj^uwKuh7FVNiUw{rc~JTys1S;PCxL@9x~u zY2E~B)j42!n0z0kUfLtgSpUxl$shhr=Xx~m-mjIlXfy6}{jU=p zWS}NHJk2b&0m{)I8Ahh*j=pxPU`IybFz@=i-}va7ZDaA+^(i%1O(@<3g8>gR`uBu0 z{`qBN_dX!@@u^>i_5semxRaEahdJKGye{$O;d{mrY{F1ft(WSFX10bBZ!vt#m zobd~&>%5c~`QBemGGA-fj(443D@H9kPH?0-9>4*qHfQGMal{Yz+`I?jo1o_?K#)OW z)_`S>{zUWsja>4v`b{h!Ii(h_rbH=EB@Z@}2X?OyiJgS=0%M3vFTlMC1BvMhDI?~j z_;f4t-l&c;q8H3m9|Ih=0ka4q>VQ}Ts%xr8!;bv3HMx(r#* zCq5f%r8~z11FxTcV^@ZM?wt!A?aiZ`E$&>rC1Y3q$JcF}F)k)2t)5W4mEmG;pMB+D zeep+PY;H{Kp{?^?%LZ|Oe0+CU4*09D4LO<2P>k8gw|H*_aUHly`KijCrJ-U}Iidmt zZ;%xRUk$w?L<-a2cq23MQ;jvGeyMHGd$t7=C%v77mDcG4MtpVCl?yl8*G?bqBGeRe z`*5eK<8RE@QprJr-KC7@(2Tfx)L6HrBFJIJ7lI(5dLjN#$OQFw;We*VgxY}=+1iIb4wf696YW=1NXZAq5U@Zy)-lyI^+vJ_q(+Vh?a zV8W6qMQ=q-5Hb(+8)}<0X8O;+yXM0QpT7O>JYBftDufeGy)%8J%S*^q_RCc~Ms>fu zc#I0;taPBU7z^qR6Fe<^=I1vI@balwGQob>wqV-SP4PA%^Mk=7FW+{Jgv;MwH+z)J zkMxMpF%mBriu*+DJTGz2Z(POB^{+;rAi_7eNa{1@FvTH83d~H1$-;!ipet8_gvzgc zi=Nqz@7{Uh!(F?M!`hEXkkO;q-_S*n_S>-v5?&O0gb>^#Oh!We1rhhlQ%3TAp^W7H ze?vwh7;mmpMiRd}Ic86NTW&!8Jy=GvZ7-g%I^>gP0v(AcKtFS>JbPVaAS8R0hdkTdU^k zHxwBpr~9U7iLg#qS0aPl%k2RJvkOr9MTOqO&3GIJu2~hMprHu9p0-jy4HI{G`>_x( zkR;P}vx)6JxHP+9S+wo-088;mbBaHf*@{NHOhRU<@8Eo$z-YuMECX%C?@!`JRDlsy z+Ibw2{#aV@#h3ra;^PR4!+}{PkwXi!yb*W28YYzMfWRU~p3iwb4&R!1mIrK|y6$@FskR#9*m%9?^ja%QJ#r z4*QnZrk&bZSLfGTVrg)O8O1?8Y92q-GzQ_9aUItjR!IZix< zZ?yKMDp?Y>FZup&_9fhlAZrl4G98|}w&&KAtUnL=xt>(}^kj58?>CE-dVdHyGa2+d zc@kc8C7d|}ua%#Hw~romRihmRTwOd5rTDv#(oYTkX!=>TU5WE1`h!EF<|V9n6B~>} z&q<1Q>hKS07_v&MTOpMu3*jVOfNVwTiez?QvfuN}%-|l$<f>%16sl+EMmG;x6L&qz>dK8I7@TVF7K ze8Kwn!i&cB&dKRrI1P=+c(D7{#Q8(#OuD`2QASqHb4zZI+M1BGZRD*br;~9X9Ow^V zeqkIkv3&t^ZZ7&mI?mQikNe!ut+u9Nj4eYKjX z<}T^umtQB?(#ug7{+RcK7>!PhiHkLZyDZSgs{8oxnX7YFbfUVBX~k}J5v(V^ki0k zck6_n%X&5&`BK*F1Bxg0Sdrayc!Lfj;O*(hT4&WypD;LJ=ApLj8(60e#JqbMdJ{xr zTp>C|vO050fSQA+8-oPpOKwrmZW&R*Hk;4l#pq4`5=bPr#EBI?{EuQH7tamjo+s%v zki*kn;zR8vJ~RT&$1Rn|ZlbwL_!{i~D4aYhiLA=1LQ--PsbNK%vqNnwZ3+(!hr(BH z*^YmH;R9Rod7iJduFU@^@W=rY!RTAHf;+;U6{2%?Ue2=vpLPti}a+h%3GTHJk0=ToEdKYMLYkKM1l+U}KoJ@>zMcJzo-owoOY zlP;r6pw8v5L2dM<>PK3R_kIXBhOJKsUXl=vhtJa;;s^-hQyiQx+1sT7LD4}l#~wuS zFi0E!A(c5|0%%}6;b>Ue@OS&8x9kGP>tj+gILQBi74`$W7N7>;4b&UFjd~Zd1UN7T zHCOI*CHycVCyN3yz8^6eP=t!gK zaffQAHAs6k4gWOFP*TtB&yn@gSoWN~M%nW@bndbHP>ITx)9Pebqle6yPzNN@EGhim zOrs!$eiKLa?OXB9*XV`_^KTVzJF@Qb<6p-O>(vu*mv8(d!2Dxx?{lpD;pr{cpEX)X z=Z`6V64xa1jp@6={(*~P>n<9;{p#*G_si^D7KiGPWwxJa%h zmrf!w$&%H^OIBM!S1Z1;650~$7Gqf(Z%?1hs*2 zZoi5Yd>AXH#^}VxKton2Yr|`mz`XPH%Da6RvZ3(yiq(e>tzNN1fW1cz8#Q^-=;0%r zAAylT004|e%Mn6Ow4xg*1~otuC`JR&x9AEQ2)jzFiobrhaPQ^fx1@qmJEz-by**;= zY;+eDf$4yR92cSK=pJYY?5GnujZTp~D3Uh>OX1%%hAV}$x%pKHa!a+sH!M)X+Ab!aTpq^7KQJ!(V9l&9*N}U&idYH7eNYmh%`i2& z;Z>NPS|h?NjtHKrsS%b^F2WE2a~z>z5pv9F42e0ly8SB7N@GsL4E7Y764X$Wi|U4W z?%)3O#xG#eo2>D1Nm?i$-4hJa3_W_OXLm z!~49k8D7;QA!y`*qz<%!e{Jf-7K5U~hP8XCMst(F)H%6+*S5Vox9QfFtj{npi}#|m z!@yy>;hsfDglXQ3#(ZTBAarI4{}mjM@te$ly2soHsM%)v7f!sAvddKV47WUKY+`my~UEJ zHh7A%MmZLxY?JrT0i=q#1?-z&vCdg$9D+QDB?%1O64haV~llyq60Ol{Y5w z8W%16Rc} z)Q2lrNQ$JRNFW5E(ud3K=ZFuNi^k#(_2H6KeDKN&{+|)z83{S*zS@fV^IuYZu5T4~ zOpUHhJv-k27BlBA7CL+bhyvsY^a^0a*UbjN2n#XLfw09B=C7(|8{(6?VPwxYYZnTc zuDKVt7LMkH@-yqZ^={PM^;G$yq7Hy$76fojJ@Q4} zDj%r0tAmSzgY* zp5keY3%e^S;93P2lx$6m3zT2*{&IX@rglF$ysOEn@{Sl10R8Wl-xue)&)vUrrG5X3 zx9lTEju62F^k1J~fsj=&2qmX6;C_jBCyEs%%Y{|$w?_CkjguADD>u0?D^}1rzChoSr-2%ZmaQojDaI zT7?-8z699>#=r|&7^?yUx^Xu^4uSC(Jld(N!u008#BdlUz!OGN-!+Uo0J`Iya==f- zFsv8{P3cl$hpO#mgGOK#fi;nS5uG=J!Qyo>a-1$2@A&{OnA=fB)Lhj;-@G8J@s3A4 zC^!_&Tll6tU*Hko@9^d{nE}4qpdNqiJ~3!R9sAF@t#Y8fP_Nx}_SH(KkFM)?jd*|?? zT4=u*%y_Ol>z7w043A;z(0)`r(lPwYJR>ng4G|?a;BX}*LCtaridEBG z@VD!0*H-4bR7ZQ2WEWHhy26q?xK_=1fhDd|Ip@Xoxx5~a=w3`?dl7^xdr@688tbil z3B%NtX+s(qOJJ(;-ddP?D$IEB2#g{yF`h7O6d3%TXJ8D0i4r_uTB|UCku23J+ja{ATJB8L+e2ktdsTagtpQPT9E}tpp`6NY;wh3;b-v&E{sdSv)8qX z$Zj=wu8!M!8Z`0Gj;K0uq(9Mdb;w6D`$(Y=S$I4R&7yWwd_!G#gxib3A<+OZpIt2G z`SE~QFO{JAKAT?dKXhjIUL^E;fH6mn8T`=K6kRzwnb%k|fs(>&y;H zEWM@n`mee^T}5NTn>X2TqwCEX55}Kt26$J4#_0R|19moc2Gpp@!ou+y&=_I5H(!!* zq7mDhfxMTpP7Eemg&7Z?vAr4M31d}YKsO+=y%{2Sz({I4!?TXLCsl0&cM|F?PBSp6{1#>1%JV`w)(JBQa zK!EM@Jqr&{0{P!<=zcIMuI7qXQZ&U zbyTDAt&Vsunwku02%lT1m)$}mSgl$)GLxDWn`&eE5>-2lHCAhfVYX;Zj9&uHzGM0Q zO1Pi!`N84c=P?qB{dqK81v~(m;Zr7LpCrJEcdQ5$1S@FT1bC%D^^_AW{IAX}4{J*aZjy&=3<@!A`Iu0J* z1jHgADIt1f7CY4CaOk zGakIb@UFTi%pWog#=EH$@8U#VB~CGz(+UhXtP91d>N*T#uWqo%GMuV7Lu=-JhT$H| zvdin77nNO9nS)!4VUYN#3?p&l6Cjmb1gO5Rf)p-tiQg&hVA-WECsEl&RArZUFj1=| z+SPXrtI$!c@_?7_IoV|prZ2U{2UuoKC-DNgG?Lae;u4KqVT8hLoBydrK0Ni0vBF zC3AwAua}t4Tyq2q1Jn6NqsO9$7t7F}K=^j3qrMP0xIOx;E{Lu@sD4t1ISl}?&H;&~ z3-%rP=)&CceV zIk~>vSRqt6u9b;2{(L36QzH{;bHW^v8kwl3RwfFPQO3&5mR!6dAQAh5*;<86L}JVu zjY!SP$?cts%CBS$s@*YX(BP4_Rxe9ndi8FWUB}^tW(_1XEw)3-&J#5DEG%@(#Wue# zCGlsb;LYb+{k}T?SOy(ue5>l52F!~E3GM!WEc?MMU3I6{+hOX*713inOv(mnx(57~6qLI_@$`46=zP+VARwr-5GlSSGt58;>ZjYr&qw9QvHrcA$DzqP(tm zn4T5O`zY_FITw@$wUS}_F&Y#n1Sl}9oi<847}x$_x>$_h(a!I3JD491qf{zJ45;is zYbQ=^rzbcj>vW<=JLi@DV3>Lez4Pc#TeY3;Kwvs%oM(R?tNrOdIg;^bxBk$261sE@ zlf>HLjxfC>OaMwdqw%}$OQD8Dt~IsdjpR>@Lli4sb&T58gXMZb|AVg2GhLszu#!2n zT22;^b$xdaKtNTxewa4??*AiQpXIs;v+#Zo!*es&&C_4ye%C~VtMWl`2-)xUV2dLl z802Uor9qiP&{1k&^rtB%!3KM18DagA?$!48$`l#lZn>GI#+X>H4Cs<~_N>$Ho+zW(pXmOtA@BcEw*UP^Nh=2) zQDwY>Lc0HBC7l+}vg!V>A@BcF%KrCg$EC=e7-lX{ndkxKnp>(9J3^SeW|2mbj3~Q&0+D;F=|F;pC1kZMy zYCAo+H@WtVqI$Fwr?%4*oM!!r6+PNHueQ?@v}66L<<<_WO=_O7b_|$CfHUY*<+oC2 z<+uDCJZqUAeV{c)s7)h9wrPYbc2ITRXl@L(yS0<&Bpvj@RK^iX0&ALvlGG1Ef5JFU z9E#~r5T@W&Rg+W_0UQSE8pG06X@DWx0I3__qmTe!#&iKkF!i6|U92fKX{N;{sRfpV z>jb*hVZ{FkL87%wh#V+fTD6K)Fj=yM)G%>&;2Swl34;cdBT~*pfCE4WbO3a4bwx_< zF#k8EI}t?VAe|1yoem9l4+XC>!%i(H5D_XeSGXe}f{@h+Ojg~aFQFJH+dcd>CU=rS zi1m>Wmht|45(LTdvYKMyY_#7!duaW78|W8;D94|}{x^~Q-+`FPD zvzh8d#pYbG2*V^&9{gB_!TiVr2J47$Fr`Jz=3G$GhtVRT66P%oV-??4b-RL!l!`wI zj3}uvP7G6*(jwNM9u*@PEmAZ|409gC0P&96pB@zru_mCG?b{3|UqLo7pVAQAjzI#w zeqppO1V8U15t~|j_FUG-KgEmNkJ2vo-kw|v!*fw?6R-U)e2Jm)k&)bsldR-?pBS5s zhAHE=uU6a>uZea8>x+)74U_5feW)FDQr_L3KJNg&pwC~!`+lA-68ELHyyrdutw~>k zRK8!a5dT&Z&jls|S?{W7Sn-6~EJd!8jy52*ZE!nvz+b_tm5+Mt|DJ3yakX6I^ukx+7&z~@14mi31qUz9}UkZLh z1|bv0fbT`u->$0?o5vDT2S@rI_uC@-M;e20GG^~epWP;m8-lJ6hRKp)Qot$?AIb^T zkkr#*?a=X0Lf;VIENV#dx!7;X^NK&|bGiPG@?H$TUsS!TO8El0e&as;{#WUmX34N| zmGT&!&tMhSqg_n9KX&cHS`vn%zFN{&hsw6_-@{x7$=@Xljd3tzT2xNuIk^^yrc8ci zVL8c{S$+u_^$6qONus4DT9ucpKT_Sfj1`|tFp0FNmM%R5FIfs`fIcC0g*I%k@s`0O z2fMcA!VPI7)8J0#rwGTFe=v>o!TjKPP0X!|uJ^z8tBgchawL|7*7E@wCPL>}A6h#c zg@+Cm@_ky3Y~?b-ldVU#hQD&E4=7sk0deDD=ySe3W*@n(*hjEVF_Y;Op@QI!Bai6X zq{%q)J;jA$ymzir8KkrPyq$_8kEjfiCd>Tk&&eR{y^mG9Om}WGv$=$-cA1Lb2#jP> zU@#625_1*&QFx79|ML)PC)~m7ABy$F7gW{t_spMpE#%Aw zE8rF|`$?q4YkhuQRKH*kEaY!v`l?4ePSs}CgImw!!x+({o&IV&eL!C<9|mv-qKTi< z9!)Z+6&atlC+XGp`fz_?8HT_TTb>&%iT9|ur;DLAhZDHPRa9Nn2yL3o8r4M*pwSE+ zK`aF%$l|aBVU7^24JI&a*D_R_xvwcTS(B#3$Yu3H%xVQfu~NG-1_$b5oErx$di4?d z8q|E$Ze3TtFR4pNY7~~|HJ{nA(To-!e*dGl4`>hcAQgCl4!-(4*Y!Nt_F$ct@SDyH z{rwZVa2x%JIelL|7tt7B$r%$3xEb6Fk{Fd6>OJvt_nt7zQZy^+p=SnZ;u3K~U`MrR zYH~`X`R;DUWqTU6KG%OP|FkO4hEhz`GbvSdbMyt$mF3qOHvFbYu4}OIrFxBzPG4}X zVdl3><%HGaCwA>RE)>&R2NT|=*285*Q&zYYJ6JMx>JrZ^R&bORK)`rLYiv>an=aGV zw;BDd!Sil(5WYw0Z#S7o-(d9DB={*X$1wdZ6Zf-rD4iWi>Ffm5l;mZy-%=iZAAPI7 zH(hxzrmY{by;-x;Ry~`(_p$t533PW+>Kh{ZRqDdDz81Af)tCGKF0)D1;`K^9G&hs> zzq<_cD(inOL4{%Mv{Bl@GW8LryCn-A?ffpcBY|#Rspgg}>fQQ-T9SHStR3nndWZUn zMxiz&Ka~BJK5tP`uD-Xe`rhu`d1ia6<@w&n>U+EAMKX=i?Y*^8I;qEnVKU_TABxKG z^F)+JayIev9_%^y75a?8llon{R0dDqdkplVx_>4ABl(_lrEmlNEtQS>i^CM&Mo(v{ zeftERPr*YbdVATX)%2zAw%h2GpV zrvI5lz1B{DUA5)+COe7wleBRSRR4QP=6i_ge?gw@ysi2T3b^@9|1(KCZG1!%wLd*D z!C&kVL&4g)qxPohsBwVLC9MkAJ1ziM8XWw1f4dLN*6JqDMQ2ly)#o9Ge3-7}id@+D>=w z1mhh6f=4?yOp{als zWD=8JY8O5fV1Xl*{Bbh@>rW!ph3Be5yO;1W8F$j+J%+H}E@)+^Gbv7F24hH$S(JyVTq~SEU!uqgdp_B+B&u$-e?X&< z9s^2CS+Sz9x^V-CKH;yFU)*_6?>$KLnLbWPb1z%OWY`52_e7`Ei^{NFIlIB~FHFRb zF%dtDMli)3B;ti$T}`o9Dvr^EzM_E1qk8F|?qy%+UvEEuvCY1vdg62OIC{?-Zr^%Jj!{}+7H4%!cnZN=c(D48vhbK zX3qEDN+&zQ&ED(?2u%)%&fEX_Iz22APp71TxR-~Z;}V`ie&w=Z-tKiGq`rNGqvD#q z{>}{^6(c4?uNmW5{0*@g>WJ?}wi$M>=uq(&_3c;sE~zirOO2i94}vye9%sVTp2nYt z)4J&4fC%axly~8HNX|2~2(7P^m+Y#X2SJNbH)E`@g4N5ruhz@!UBz2ekEgGWV+oKRo?EP+ z>*SITW^Im_Hs(R8dz9E1$dPusq$c#xoFt-%g1^rLKlJ3-r?;W&)W(918P-PcFP~Xz zfUdc33mwr{KWE%UWzW9Mi#+&u)66bS+dKKQ>%_>#AJDZD>H?z_8YJEhEftnhsP&K;wE94P!1xNDc`I^*H<@H^g@-@&nWaAl>ha@ia#Ag=X5%NVitJH{V=FtT?n72btssBRNTUQpr- zJ@&qP1$%f33hQRiUN6GFy$1Bn5$#g`!bPK{4t@K#qxLk>3)G`|g<;yf!b3%H3ETu( zaZ=oodaGB9Ub`r7+#}2f&%{eKzc7jN5tFK}@ai|cp)%R<#TkWr2DNH2a6rq}13RWC zCRnWriRogkmILsEK7Cpz)w9;9kzSvUxi_+bEtqcwk^IykOJ%mSw!BxYnhj)D56lF; z+q6%##-xRYM!lNWeqdfsqy8^N*AMjX5)_u*sr9^c+J2t!2v&&Kar^O@=yF&wq{Rz} z@mQi>K%UAjek{J4<#1J2%b*ioG3vFp>*`yYbsEv-8qCU3*Z4Oc56i;{oa`>90yG>{AS?<+Ag{ny!(VW0yqk9<>OH;+uoj{ zi_li*e&JC?8}T~UW_mkc<>;PpjTA1Sby7Co6Rh%xx}{6J+;W3i`l7>M&SC`V>}aG6 z`Mg!vl3pFgcGJx(9@r5Gm!?R`b<*l|=$qBHovsOk@=rrOgM&fyh zr-Y+&^(s*$pPR-l<&<5CxYeuC>0KCqKg9cZr_}jh=Mea>-P~I0jNZdg+r&`bBCVI> zAnUU;K()lMnNN{!iEfi_zwU%i%pt?nQJ0R7g?M;~k4Y&;kYUB+vuxUgf;Vs8`0m7> zV(6MRYwlgEj4|sh$8`Ch1WIR);`=0e7DugrJK0GvXlqQfBK1O&%cqbZK?~H|*`BYB$J0lyDN)sFC(4-w z9#ysF;^(n?dLWbpyFdE^4nV;M zezo)U{_ujUZa036b8&7iZ^+}NJjM5fu%;J?j8C7x$k#i>HE!mowS zj|+tqb)U#{vXah;mAecK9oNJ%kFnBH@_Letnyv@L8mt5G1PbA^ zokl3Qocv+ueF$#AJFcR<9Jmhl$;lI4XB1mE?Mp_b?Tg+wqU)87_jEscK0_3iuXDDlyl)Ruh2MvLdH$wnGOLP=fKpQ{^eE?no5ZHvTpZ@*Tl*>>5x&nkJ=;EDU(Z!P| zf#ugojR*E=LtPm zcqzm;kX2bD5db0DWHfKNSS?k5IpVfWd}CLOq8L)Y(5xQlMvuI!g4fb&p) z|09^{D*Fq4?~iwUP5_8`LheuA^MU+NxW6{s|6`c8#Va)&m8vn?Sbn2NLTedu*Xgv0 zNU=1yjF^QJ$hqV)Q8EOYF)qcDvSY+Q$r(+-kQD5K50)PN@x+HeoLGU*rC*xX*A)unMD0+XvP=;v`?pd-C<|ChYp|Ir>x zVreHzDVRqtraW>m7>nOUVj6`|MNb}H@sR&sO2#nDWtilOs|-f9?-!#1{MWRdl`>3A z)=o%eT*V>Ek3(dBjQRAl(=4*dE$(@J#XbHp<=I;)Ol~L2vBL#UiGL^8Sk+%m`;YbC zYFKv6t3v;!nCMw{PLqI0_LjR{#@|S4&^RLK2RWKL)bn^;<8yvjHRv}(8|}+qN>BAQ z2N=z%5uN(@rSBd~!hXl>O80k7-dH?tO-k~bvBjH&Oy`xMT?8S=&pT&mzdR-Kclf{~ zuG6RPO)CJK$F5+dY4LbVP=U}K<8d$^??BbIsSz90Etc#{RsLj4NlkYzRLx|16foy2 zAMY5URr@^;Sav&io8~;!s~@Bu%`GQ95OR|aUpxH6>wVu``S-d0N1E9F+_iei>IGBx z)IKn3i(~(WCF1GJ@8rH+JL&A3pZ@T2GbD_@5+S-$+>p5 zFdltO>w2bDv6@Of!b(CdLAP+#KHq}Fq;vS`q8vJp`0?7 z&MQ_{R>=`#PO0l5kEugDW@G*5qHk>jY;kdHFfq2y?-JEHa@TRuK3Lp~MqZQctg+vL zBtJovnk{dgXhm z{}$oMgR@qzS+?%TkxiR+uUUS06co|ZL#O`&H3!U$iYw~4eA7E~q~7Dk^z4&2ICoh8 zaWe-<8+H)A>Q$7_Z^Ua%Pb&+kVyDoo0cu)~A}gq=Ak2A0p8yk}_KAjMOZWp~{94VdSZ-OqotA%KP74hqToj7jUs38N_ z$M*;u+Tx`~7uSvj(eHpQVjinIO=#% z3qsoa8z$sApR#(uJU0jL69cWELoAGQ|IHuo&s-_~SSRo&I)VQQf1(rkV@=?q|4o00 zRRe#b8juG?{!7RoEu?C7fIk@HS+3q+8w&JX29|*^-7rdY1C64R`YXyIG3kQg(br%7 z@!MBl|L%MU*X`N1bvIn+%GgPf4+~VE6M$S=Q_QXlFFBQ~E|% zi>?*jC|W2;O|!-WRxOsGFyUD=xlm4jE~E;v+(!|>AhUH8sBHr z@eV>m_*-~y*5QU%L47ILR?s^J-^5fwef2SNEdz~QAEV7UPxPk546rPDh0Zjr{Nk~j zD-XQSh)?Gi-Lu>G9G*Gz?1LYUTNkgO+j`_{*%^1yrM(-*P4CziiT1q31*2?3O6<$` zj~&tPt=OLC0WUXc{^Oao7m^cJ5D?t_YdgpTJO(yX=UaI)jq zAYmhnF0d-{$Z(7g20Z6&|K)@!5?!f1WJ=?>4$z2m#E7DL za!KA@Ml4VTjTFMqgyHCukrU8A-(VR7h*zN1Ih1*G!LASZFI)b&H1-zylE@Z6fh6F% zBnuVxzrbJn*_?O4`}!>IxAyEt-~Zw4M*b`+w4vGjWd18>E&eO{>_(~w(AsD-s_r$dsEiBA1~9bGV@ zbZ|ZpWIWmSWWo&e&%C4PA3w<7aK=C%wC4!$6(F0}W~iG`PiXmq^Jg>#;x#o5sk%&r z?a(kJ)SiMC zUbZ$&^@|SReNqDYjB2u5LZwCEt>cz9ulUyX5&biSmP<#W64>08jsjorF2Et8Zo(2U z%Qc<%0ta$?32>0$MaDb&^+FNL+aqvZqb@;Wt6?V_7|rzq z)3GQ|kj+5XGm#4evdscMlCGYHZJW((*b+TM_X;1QC$@_Y3Cjg>&=-V!GQE8A8+X?u z7djSzdV+TXK`oE~?jqCUr#_IsPR1~+;+~X^$54ao^&;Bl`y6dkLVZZLB~5*|I9A_{ z_{Rdu9MN$cQ=lZMqlc6$aR=J%BcJs~#N9P*y1>QDrmdN5~G zX34ZO=Q_3!GUuU3OHWpCCqD<((RX-f ziC>-B>A7JQp{(vluuiqpYwQCQb}P$|?@b{ibS4&or{u@8nD-Pl=6x`DmDwYrEB*h> z)(|4MMPM3NoMt)JCbxWUDVxIVU@-7?22)F@q0}Fkjo&pL%gEsz$=pyPt~6ouD)w-^ zoB9~&!^*0;$43!!M7&2)`^F%#x?GvrWHivQ9AgGvpdgA|O!kEnj(>Rr{k~`J;_c}6 z{U6W++h?Dh+AH?!(|vH4KfbT-RsLa9Ky!4uHc^ee=_xAeFO!Lqpv z-ke8b7A|ACbb@%4i&xI!)>QtbsP$Z439q%Rn#vrp0o52nF$t4}b?K;ft`R-SNg%wh zbz=9Z`XOfTxZu>R1a!xSZYOoLm}0!mA?Z=wCe}M%U8*izo;=jwx3B1(+0C`m^$yI2 z!@6a9i+z3lhfYS_^YbaaehIHt0^TDbSlS#|#i;|D!`bLDKIF!v<)9Hns&aVyndG2| zWVgS?mN^nkRQgV!9yHI5L1e~QOv#d{D_gUXq=X$cEr%Twb|%$$+jii+I?1cW2d80r z9cK?q`s68v3nwg`Flh?^<$$Ym9;5S9i;AX#^vAQW4jkgTJoe`3(cizp_L3iZO!m_M zRO_&c8iht$qtK|Ft-E2Vn1y# zVUUMUj9`FZ3YIJoPZPrm`7q}-uCu+~edQP6{rI*BN)CdvCGGcgwV@8=cxTt`=o)wK z9C^yaUdLA)C`pQTHDu>KKN81KEH!US0^Y~O zwS}j_tc#~+A9^?=!<-Dk0fW%PpC6-dK=R{XfFTIxhn_ur;tuTR+H&W_;d5s2sdTLz z^aJJxAOsBf>!x(@Lv-a%gQdI? zZgS1Lb@<3naIdQ?9(0^*jeXAa5=OT&Xq>wp>(Q@Ov3i zt4g*f6l$&OVxNOU9{p)MaAd%dzBbgFlBOGB5ntX%gTTfkn{mC@$v5ria zHZ!^uRGGWXa!CIl;@$*4rmO!SzvtX#lE^ZX$%@D_l0h_yL=t=KwKRg-BN9tu7qMj! zVpnR3t*8=hQM<{ASZk-XlqgD-Qd+9Cw3Zf`lm9vAE;DyB=<|G^-|OG!$u)BTX+W00 z=iGD8`Z=HV{lWAcd?n#f_Lb?m;)`FO=nP1F1o&2pefU9)k5I6XuyBS7X<4nO>1*MB00cybPCBZ9LU8JhH9HoC~-L8+rR9H3PIlreiV2O?!@0s z5>90&CsbDfOQ@t(!y&j<5}gd*j8qwFx1?-aC)nx^hTVJl>Mp9v4kMp;?cBKwPtwC5 z_aFEPuc8p^vZ6WDw^#7RL4-u)u60IdZ z2Kb^*JYQnkLS8Fi5OOU5XNq#Sfinfj z1y)-DcU#-izsK;fbvUMPn4rKB1 z9Z2Af@I?hZ`k&i0H&$=~7; z-Qz8s>~W{gAr8|>m0p50A0&gOk)#vS`E#b+T%qhZz7Pi$62KkCn_pE2wzc($(x0!S z_^db?E6By3j@kRp)WqL!Q-9YsZ}4z($OWs;e&*<;Li2st9hcl~lXZdKbIY}w;mam@ z_)`}sawNWomP<$CYy4~!-zP_(7U}ojC=Hlg(FaAw`J&|`#F$BYzYyGSN~`IXoi6=^872pCoA~X7@%J|Ay4&4bl0N2XngKhwT%5Ru&qH@68s?1kKdtbanyDwh` z@4kEi+Lod-Wo>}V<%_@tJ->Jvy=3=@>(S9Cr38J-kDz`*&6$cRzhr?=ogRlKErFCi zdDuCEiboxV3W{U#ax2MY8^YZAuESp)B&QwZ+rHe58sHOJ$_33Wr`SeKotzF-jpn!? zEnbkGZC=s#iWzZjJ4SwR%T1XFhdq8`vh2+|F@P*@xFRU%+uy+wG<;uSP!P1>HsB!< z%#{$31=ZvWAH z<)|J;?ch37X+A`mD#EZY|np1)r0^)eZ!1CvqCtN4-8(o~VN;wsv zD@$k*y*sN2Q!wvS8IS%AcK2wgvY@J0pj&{~r630RJBjz#qKWNStf{4}I z$=R%8WL2sQGXtLS}c@Xm8FA#|?|MdsD!^4r^9X$A}^%FSY*MkSYWA6)>0Yru9 zx8Koy^yxp>g`(pi;(p((8uvksBPDoDuarL!zQ(+ZFJoXnVP2y&^mK+OW(!{wS!53^ zwGrs;9Ug}~u+-+|0dg$)|j!bhlfahw5&S_>-901+5GF7)esLu_N@;A4Ph# z3C~9*iVxep+?0N6LJ zZyKQ+pW{w6!R=T3?z{gx-+i`;^@a(qVlS4xBl^WaCLSH-+SBn+WI|PqikFDJ49HL! zP@w5;-EHALBy>Y96XMBD)Q3tZo`EHH8GO=A@0L}`8|II69Z`01uq&A7n$aG1Lqju% z{r(KhE{jBIpb0t(K8GDHq1(OLOdHNSU7u|zuTmACJ7v`GU=CB!l&UiGt3t+KFAvJP zVT%q@2LK(WusTd|(skK7SV1E65mQ0=(C93h9m*yV8dV~p#=u@FFfBwQ7qQ?l8nFoU zUu0Sg`Y%Dlz!7#ac#7P~9}jCoR}>C@Ab-~9*2}yo7Y;7}gZ+&9y7je_3mxGZRjwj| zI!Q)+y+HV82~ZWgS5X2a<{NfFzg`0e-`ThE1(yFdPo1}7{*v|U7v#_SaP0aKQ21@b z-cq)5%H*(W)A}v_;)_*6#*8t2hxQxPKdslualM3@o7d33t;1{i2kIl);%#~9-Xj0G zImmx(f0IeD9>nq=*WlGjb~G&ekZVvjABy}oeJ{b@0QV&Q(;^XjLn~o{i2IDw(tR=F zzr+!Qyb4FKm?ThzITTK?n50&Pqy81D;L#1^$FBqP3m|F>euc}`sDf8{($-qIKi6q| zZW|}#_}|N>IxUO@Ngy^M5U|%xC}Ej75{8fHPlxm(nuCs_+e5((pa(ySYZcR0KAyJY zeJ9wGsy(Sf+_E*w-b=`ZM4k|lMk6Blg~!P=EP}Ve#{$^0)Fhy+uBeZYyLuzL7`JN( zC|kzngR*Iqz}c^{5l;L%R7AshsxcQa)tC#ON0)3DJdZnE4!OXb;%t|E7c!kLWIA06 zUGQ|WP69zF%g_E`vhFnzZeNzqjb4kien`LFlXad6Wi%2Y3ko||5589i1~JllBJxqFNWZiyw)d2*>-}~fjHawk&p>!rPX?_{^A+9amW3Auj@9R`OFT6%QPuYfb zWZR6utirdLf=9BKF@MktG^6hwf!nbLzgN*$s7`v7Q@Bh7Ej(~_W+4ext1B?ug5SQz z)M|0d3ukjbT-9c2k_mhj7_|R7@J4@Zo&~DZn^{pfx41^N8poVjx`am_un zV&xI`63RuDKO8h*p~Cm`op2i~>M7jq^%U;^FZC25a&vRVw!&BVOei9)#jVzft+nnF z#}v1hy)Cu3xs%rZFZ2`@+T+j`vfjqxGvXpXBSK}{yNVA|TxVRg|MHly1o>0ZHYnP` zpH|^5iEs$*IM75RCgh1x0PiU!kl)7s`hiJU zb_SjMt=0o{?!s1K#>WqL@R|JPpQ)U)sr-SUr!fhka-58cTBxX$%2=*QK=!=={@xOX zkLPO@Fl5vdi0Va>c8#K;SPg6$3KCoaSNc5=(5tH#P?;M#Z8Cvv3KUWDZ4ivkJ))s8 zmG7Vcu7TpcDghBeg672*;k9C?V|YCWC`0>LSip!0GE^|08rEBKdDK_n2Z5+)NT8`8 zLP-WPw#Y=Z;4^@BfzIgMtXYIb1jXn*a4cxu=mopb{@(du-&E#5$_@6G zoL&ql{{^4p*YLS*WIj;m3aQAWSHoYbsaQ2QTd@iBhU(C9BQ#^;ME`Z?6f!h)W=>rj8&W%(2ga}UNcXa>u`oHsdmZ~BK zZq;ae1<#u}KMjGm#X==)RFV7p;tL4D&!{SdPPo9k+wk5k`h`)jJ}KYYO~xmu80P}P zoc~Yqt&uzcs6B|J&n8p4P@Q3fdDPb~m>KvwDbz6sx&^o}GVHh7XVB}7elt3ffko{u zLuIVQI3i;y2OE2u5aw_9q0Z>t6_!XCF=8Ox1QO=XrN>)J@xp=xnKKv81KY)(K%@10Ow{BakbO|3H@>6&R{6Ec4(FGl~&rh*^y9qSm zZlcc|@>AT*x_D9Ar<|7m3h&eVlHW{kyfbOUu;Mo(>Lkv}Itfe{4~dxD?v5Ci_Y@4v z?%fkb3`-vye&ae+D9O9;zl}dsfxIc2B%pQ+ch#zL&e_~%baZafIulwga)qx>5}yv4 zPu+^o+rhk<2~qiZtE^@!r%b0%+=@P2$K=>xO=IB6r5HQ436SvPaCp+ok1+bLoBhq@Ozh4_I3+TD^La?O&?b zEw@T`E}R`@Z{dEUZUmP!DY!y;nWG=7&j1|C+0D3VAh>Gh_%@kVfh`rCw>wFX&=Ve^})y960WuP`q4U)1)ZZO zmWQfa|5=B~(zkUe6YU4_BL95igoyxCfOts)nREP;)mUQ71QXCK>p|pFFl^9Lyr!;} zKNRx$lT1z7gRv%VW=*H?5)t@Igo{Jqph}MikVaS0V! z6(x3?Ff&G~iv`tQxjp_?Vp`U3;2=1UV%RUXNF2@8KlzvVVC#7U1W?Z9)@IDP6h9C- zny`Dw9a9lVylc24)UUxyj^6n<4o>z&gb`dsNzcsD@GB2B&!zx_8(0d}143B?yXvpp zpSR{g{~V~#vqnQuCWsaW6i)pwTEW9&PAh5?tHkJ3HcF@QV2YEVy=-LRSQmw7aBP^i zV#ACE4J_MYvMkO6#|MKGdDdfK@`~z0I7lV-Ftnb^4@bZtlZo(XzhR!{TPf#Oo}Fgd zseSohXqN3oJd5BW<@+h}WmOg~YE}>t*NGNdWC}?8S*b62aev@p2K~Th(436%W;)*6 z(ImVg3}m=rD|YD1j`E<317Efb4?FJHDM@#v$1@=Hi)s*^@@h^UxGVNc5$`IATwEnJ zATXddI}N>x{qlc(zwj)9W}q{0B~!G7PS+xI6^o~((rg`p>3&PUJ(6=EfDRC@HxC>3H?jcBd-Z|>V=&g3*!rVzUn*Arl5oNj|Af1x=w@7L- zFw*#3+||%EcfQX=9l2pBCFA=$rjIv&>Soex*t`-}*Mt7n8X)i6gK(X-_m>yZ43M{e zrq((HuBtR^9h$+q!zQ-Ax!}30iaCU#Z`0PRW=PQ{x%fzy1=2Scwcy}S@%(~l-_*9{ zc&TqB9@Y?V-?bnB;`E_wu3Zq&KK2u|@BB5>;3pqf&g!5&o*UJ&Q(9 zX|;yZYK>Ne@>8YW^rNn|A@tV>O37=e4`b(Z>IvxgghX-K;@Jf$teNU zp@Jg^>8{Evb$Btz#se^nlQxia!&Qv@eW6?nNoF zCsdDyZHYe563iHh@S_{d!SEd#Z$rbqeig9uCM{TuZeMGW+G$wQJH3}KUf6WUg)=8+ z%s8@Vrx_grYb3y2^XXk9w$+N*Is412&61k+_3s|Ktk1BqpU?St>A=Oa@>XU6PD0d$ zOdmX^!vr5XroTElgXw~EbHIBcRKp(B%THx#veY)vL%DXe{diiuB5R9YMAESO+Yg~Q zxVK^-$5u*f8p_0KV?$ychuKy}o6}TZv5e~|#~H96dTBPK8IVTT&R^!WQ=wO8V8s`O zD?dWlLG?qwX7?X84wWB$C$;0Sq^Q(oOBU8#Uc6)5^ey59z@7v9bj%#Ma(2oTL$%4h z3pUx!LQZ;C#z5AaP5|+n7IEOb1u&E9n50;1{C&L&Q&Pl_8Sw`E7<;|8#j~o6B|{)$ zWVjf6Tp0o*^Jdf-6;40?hZp_!Acct$5&G{sf=8BlvJ;8J8auIUrW1&M;;q)Eo#?K% zqp8hbjg@WEQa?L5$rYv8v^?!2<;8^KRiah>U>z*P6q{dGhsOh|+sBixr_6U^6dxUIf-_Him?|rAg*<6D$=wIVJnH?}QY@>HjP@i`3dv|+O(~m)+Pl`~PiSfG zHm!!~&G!>AVo-aRCR_(Cjaeu6xiOSy$}7*|?h3?bD_X_|QB8(obmJ%|pr;9QgH<{c zGC+1*fjN>;5v@kh_!{CPj1hQ?Bqk)r$NBpC`{|5zjS)tCU(gT-1b;t&d_N&E0q>So zv#;b{`(VY2*+1l7nY}94G+;yS<^f~IWNym+Vn8n0D%)4+C*|o@ZKvC1$0xd6lh2AB z#KE&*yxufkmsjxc(H{kqbQ34&#}_6AMA z+Mj(jaQArHv&NvV(lgu}++({g;UAT*`odgO(a7o3bIhjg_@9y6QSbERDW*xu85te& zO!*zsXO8xszVdPCqm?tfb4KZ>t;Bn2Tk*mU{3?WW>)qKn7vxO{1|U|LEPkEYdAazFYgHz#-s zdeWdxht$d09f5WP3ai(6F25e~cduEG{BUo`pg}|K{Q#4$-Q{8L-5ab&z9`vR2);+g z!mTA=z@!bkLA$Q2J2&$V&KmzIDvTOGZzi3e`Q;Dzi~R4>{G4=x81S#=C(QG|nIB6b zxn$P?IdoFQ=_w?a?7HAz&55O%FVT*wCgoquM`IA@`!D8WnDEJolb;S>9~rrB*k>n> zuNH>QAd1x71*3<~m@)LDYE#kE25pn^e53$vHVUoR_(QHS*`L;ysKqR_zbP3vjIiDx9}IE!Lq{VPV_vg zXb7s*@^mIED5eaJz(!gYYVhcKX-H_khGZ$yBxx`Qg-IcRs)TD?sU=^)r4|Yxr#Moe6+VHeIGc@drcxI^?bK=1s6XGPSBIir zonkE4U`m`IhS4EWK{>iR9g;(2G?K_AS{a;law#X59VB0d)A32C!$B@P@E{RyOuTN% z*F)q|jxR(#=w52^@(zC8kR^&k_EzmZI0fKSh<0Yfo6gkue0rx&)25*x-lEJ0%nY=c z`vUWxfpRWlRm6&NvH<(E7ZsyEp(9gCkbNZF21y4>gCH6L_{ek{Jp#3!{0@RRIP%Ju zhwj}w)B!C9santrxKWsfmp=&R6X@!_N57%(Ma;6r6thg-M)&_g8=W~5;x^9CJ$m!S z#gKv8uc%c-4erqGZ*N1ZV``aN_A<`|&gRynlH& z!58zZwHb@M7E@?}92D|97%^o?5|hHDGucc&LEP^WZ5|M99)l@* zv`UX;pC`uLg&JJDXp4G76^}Q7*eLL|Xqeso+NI_(T60};Ey}aI->B5wQd{(%YG6bk zbp^u1@w@&lzyGJ-9qTJAhup~Yj2sRQsuLR<1%82iPDaKk4i1iqi;e0;zmXsDw`laO z>Z`Sf>QQS~$mL}8&Ed(fbz;z6{573^jjmfKrZN3Ciid;ow`lH(kTP&!iV)eLer@zX z=r9O>u3f)DByzQVw!W~t|Fh6BE2|^^T)#G7S$_8QX&P zjWJ+a9!;`mU^c>BHQH>9CT6Kh(G_JcO6s*_*YW;%&#^|l-9RGm8; zTiWa-o32~d{6r&9v<>v-KJx^f(ORT)&+GSYLvjJzwJTft7nLp0t!(u*{27AQtQv@e_y1cjUT1;j+gZmG3oPF* zYv<0gZIb;JQap?TJO^65W}7>SW>NO@nFH&w2Cx!$-$xgpXRTtCJNx zt>r?#_lNWLN_>*&tB>W$noNHuo?9w)0-Xsr$Cc#nN@CzGIv-atQc1Y5Ax&gI(zl5_*~BmUBO-8SZzIMna{pVcoqyu`7Mt=CM@m@CFq zfS#oNky0)l51H?AYSp#4Lph)ms6rL+Nl&bCE)IE8fe3aRCnko63(@Df1qJLdYbB5d zk69bTV_9%^mh~nBsM4+p_5EzmygqEo;vv4@BibQUf`A1Gr4_?})bAgFcAGx`9Imq7 z0Byl@xqnpFRC;ZfYVcR1a(azJ`AqV zAbJakad0#ij$4Y7!K3AZ2xw(t7`h&^5nSkfOo#-~GW=+Q527$_$KU#s?Ofbol z@PPWrSUM`-Emio=TiRTluFuw!*gbu|o&W*us7AKpVik zHE3u1tPjSI{~+r<5Xv>MKDU;F$AA1G2KD{)-7qtQ5;Qi~pV+9DFA!n-4=wmFXjI%gPR z2<0EfIPqps8G}@PP<%~Xpk(p4q`Q!LA+dw`E(=}M^FnO?_N&VSxY#-o8gFYpJK^hG zdcA{k9m$x3!x#Sqy~yubK>RZy1k8LRW`~R`ybseMqZB zr`l3F6)DlF7Gmr!aW|!O>Y+rZ>e9J6z%ZJ_^ciu#T8C724u+#pdTvSqpdgNI#CEbqINI-{qI_2bo$-J&JZ7jh8}235m3YfjxdJ!iAKP99Zh}U zi)TiI1q9&ZO~At?AZLEr;Deo8ujz*Fp`EWz2yn$7;CU-9J#tauRg2}ubW?*F?W~3&yw{~b(c?Q(?U`%fwTjX|qPOg5&!e@gc!SIi$s@}!9Que=3NK=+*VJ3fOtIKebi zsX`PSxt5sLS~wRVfs6BMEeI#VK2xj>UxVoS6puf{Vc^(@=$-Aq3c1jF6h(aqXR|fS zE@xG;K7>`cEH+ZK&rA8abaHM(mE5HA@23>m?M+emDp2~CmGB9nEu~oRyu^2ixx7eA z*;>y{&#$AoVm>brk%#8q;7}%5mBn5qIlb7(vKkZ<4v+sKI{po%b8fE~dyU8c8X12Q zdrj`cOSC@*^rQV6I+GS?Gs$xTw156M)#Qi~Il~bLZZ50PxY7?Vwlc%~(Zq#z=VK1GFO;Z}y7F~kJ z(JeV_oV}cxSyrF~j+6K?JhsoNjP;!~wvWX)Gd#9dy0)K7WBa!X7cYouYv=vvlpj|F zZeNjI^^JB&)=7-7Vhor;Cn$ak)M(^SWB(HpC8)gg_5z*F()`(&fREUXp1zwVqtx)Qqfuruh zp>Jwx9Q(DYRojqi0}o|n<+f@%XJBYpI~pwSC2*V8^F8{AA@ePo@E{!BVl|#5avl($ zN^Y?|)}V?WI7h`27$CW7d#T-h<0`~zZ8QxyIQ-F5)6P8Mww}yH-%GtmW^ICLV5Y zYQ^;rNGZ z3@rZ#pOYOZ=0}9wM-{PC`smGgO7SHe1dU1{S7tAd7f^fnHUr_sQtl!6Z9S7@A zz9{=PD`@xgCJj0_ZO>ZItmLcBKS(i4QA;v!-Vtz!v~RyF|DwFS{2$bt^cCM9DxFn- zl^=4FCz)akQ=R__2@m$Fj7RMu>-s6)6xH?rB9$2{Vg^;^J>^*2U8t1XNO|JHP7umf zmVZ@ZSvuz4_Uxv&10%Wmj<8F?gLs zQx9baMp$ZN%&Ff?4u`Io1>ukT4vrr`3v4NXu$%tInP~`BPYc^MX4^&u?Fi37O>|3? z3BhUVSLVevD8G&G*Fv|r7L;!PCf;Z3mfxlr;_WGhxIgpW+b}(40Y#ORa3=(M8b9m+ zWlPT*b$oXyP1wmcGJU$RT6~bFXOeICzF6MFL)!&zeepMm;_lB^nmQK#O$9%aBe6Yu znU3?6x5a5XZJP!7N+HO_=^z^rxepuyMD7FmfXID-$bFy?V7X7-0TPt#^RN2jhmX)t z7Y5hG{b}OYy)TwiMChVd!)^U(OD0INn{~9w>v(RO(YYZuvSv1U9nVcHy-&{I<*G9{ zMmdAmsLtR-*)Av0@&px#)Wd&3>)C|g`w1=oKzi?ddf#!6Q!IC~$C>I9=GQ$L^I3_( zr5K336_;r##@CKXCM9C{KwDm4u^vILhZ(}`6mv9ad0Y>%)O#rYkz#!(b?hoI5#eEcnRkF@!N@`r30mqOc|`npVC)WV`+B*bTRyDfS#d$79s#KWShL;5n& zFFArBql#Pv?M(vhjUTLj26&)n2fz9mmZ{Dt>#Pl23c7SR@mF-t?tCg^ZRZmmci}2N zhh|A@W)G-A5iNMe9?^o7rTyiPwUx3I zn~0pz?3_qsKhVIk5cGlAT54`Br>Zn)Oe3=hD$1B|Q3F8^wIJxo9knf2@jW zmx}!E^a1W%q|=7IttEY+HJ-Gj?X|}Uo!y5XNi8|Da|nBmADCu+i zNqek%7^==K3d3wz_8NfqLa6l42cVOUBjrh)6xNMmC&WI_q31Wo)+sfEAji|ma#AbElcvqsmoHCn6~vhsjU~pwg&K(#5e(8r7Xp1qigKBL?>ul z12k@SB}u*#%o7-Cxg7EAXXeYcNn+y`ac;B%J1JAilf`2isEq(WxG-8HQ=3~Y(YK{y zTY~6139@fD#R22Z_?cJ4XNP&h)sdcQEYidvO@(JFV?MGieI_T2(MGVvt6SpMO=O5> zi=N+j+_Ja^`1jj2=2lh$f70%CioIhv1*BeYGWz5x)60m z-4=l>=Z>P5i@-{-Y7uIA9PY8Ufzzy$;hrqG*t!^wu#OOA1_=+)p}nuyrB!S%bk^SF zf7jmX=Rlu%=qx(B0Q4z6gLcoyKZh?syT1niAQ$iriUa>-f$OL>*oUf%`t;|Q-t;w(u9^#p=_BLZ-L+3cNYil_b^=g1 zzmuiwz;($-&u5A~p>4-~5!wp@Oc)a<=OBAMiY86O>WJ=O5m@SV9jMO3>K#mTwN?$L zrU_Q1Paz&O@2Jo-1&ZI8K!q8N8!!lRUPB;3U5I*!C=j3h!|~ytCz!yHKFim0AS`%n z81C+~LnD`k#urUI`UCu>=8`dM3RkZg{c$bGLLb0_#GdcNaj%+9nFIg0(C6!6Ab)Qv zdW!DCena{W2BA-Yp~o;}J@0$`*Fn9!Lv_UVig`bh*Q>USIjGvc6ad6AW{|JyDM3_n zY7LA1koa;0{=*VhQ!;R?qg9o7${>J8Bf(pqYXOqcfY+DIJ+yI`rQ{G=2?jp0&dnb^ z01WD0uz>@Hka1zvA@_7&L7@grn!Pq_*+T_z?w35_U z=rX%{3)%ls<@dR3c>gPXq(R?~#x#3)T#Kug1Or(D-wCS-Rc#Ja#q(QgQsnBGI^oL1 zO3M~^g>qX)x!*=x94Y)7G)b8h&~`8tH6VB{m zDjGW#C?%*w6?yXhP9i^VlFvz=DV|tF-{A>zEal|lIN8HR$6F)DZQ$#p2^1$DSP0xm9?0@YYq| ztv|VI*KYI+sB-`1tO>Jog?>8p5cqq9Pj5AI)+d>T9~7+0{O0(W-L=BZGv?F|7tewm zbemmBW93IPZ$U@0`L0l#8n6vrxHNQ*UG%NkMf{-QbzM}}MWU^XFpgb_J6PA>eY&X} z-27p3N~%CwAr?zDf+%O7Zx z@qP|fNu%;QsEofiF&Wnj4n#=2x2>DHL0DnElgQf<~kHnV=r%4<%bTrcVON4Iaw$VJf;D zs35`=3`KVb8;v>$y_(7|&f;IqU8GRtU~Dsq7+8vjlqXbc#D$58w{A%$26s5Nw-X z@BsO84UjK*AkXZV18p-)`a1{9G6nnzyjGh#iR)HuMjA(0KNa1mLKBow3q>GxWRN1O zp|8%z+wOc3I9T#GIt>#39ZMF=wl4; z6KX);|A7Aa5q%GLeb#yBfGI0GUcD>M6Okj2Q4G!`<~7dS4j7yk!NaGb(>6W=#l=K2 znNyZV3XPI_Kzt2ghgoA;k4j@aJh`*$uUns7=>0)tSk#18>o%5jgkuKQpIEQu==e43 zK!ZEAZi5CP!Rb|k&`WczBJ@IRYbfSds^I+-D09XtJF)^iQPE86r}F2qc=xca`S<_Mi=Au{YdjT_I2XB zNdp?mT-)eHw!a1uA4P$*}z4s z7H-@#PdIb+hA7JpE&qeP#kKbqz+(EnCTh?3wAp0XiCh%DUkl5;@7ruLSmv!E>d#Rj z&8bTD=UNTkLhTur=*m$c%|AqS<>WrIh2E$64r$KW7!f-Y9ujlT`mv0xTUmk2!%Wyg91rJf*SwSf5#`ZwQEBoM?Nb@jam$-~QYk z(H4PDsK&Ryk-pqj&_~SItG0^><0Lx)9^X!_Hvt zgJfzK;ds$55@2r^;gW>mvR#CoG0vUZMR>_BQm@p$&J9YP)0rPYD^k*v%qwvNQFKh@ zFK8Pxl{%*n;z-FTT4$7&!p+#~e6G|v%~mJxP$z9?Jzc<%`hn$ zRndNRMrrF5<~ryi&XZ)n3U+AgT&1m32J2Pxlw{w37k8!3nanLPK~-l}hdR$FblNu z+%9<^t8IjIAGeXpn8bZ-hrKS=6RXsNr5wEWa2YS&!PfYvjL!~INBfWx2HDam*Rzn) zgBlV&I4RNtZ(_3~A&j;?f$QTsQ+m)wDm#a97xnxS;=9e})RwkygHrEwW{6-V)Ba}4?PRAX~; zr3p18ny_1>2}+%+{^NF*D0NPq@VBbY+H##_O;DOpL!t@$C7OWO2AKh!ojsVW6G{`> zh%{lcNE4=tCsCOFTz!ohmuGbC)E3tTn<}myj)ii4%W;|GLWYd7j?2_yG_(w-lsSn` zfi${iYl~}>O=CEGewhqtyN*;RoT?y)3s<{GczX9Z13t!uJ=H z|D)K0&dN3@yndg8(bNZrb(7mb?Lfj<$@WCb%www3G8`+H5$ic7*Tc>LJm^O)RGehX zs-dzgWeLON`taIZO)*?|hVZOoS+U;zO1;yWzdOs8iDUq=rC>P0HxmP%tD5x zWof;tvb0{8N=m)c-cT=TZ@N&d)I061^|~qbPGz2BZp^-3^*993b>CSkyP*8Js$RQs zAoHqeBh4#Wr!T=Moix8>E@=JIe37}Pw4}3Cb}>^$C(Su6%PaHtA(lPcm0GkRLaZhX)QzD(#P)bpJ&;!uLPM=hPKym+B$iZ%6C-0=Ho=r4#j}zLbk}!kblW z&mUu2c7@W39#WaPBAxKDoiVr`k*CL0R-B_>MIJhY^|q^rdqHzsw3f=ulqeVHsjkPM z)YAgg5_$Tnj`f^X>S@7zCGzyu9P8OF*Mr;qyVx(sdPu*-dTjlwP*1ERV6t1@XP7eS8FZkUCvi zjoSWvR<`ZpGBYd4Hlg@@*+dpC$Ks-|_*6k zOcfC4%NmS{aT;HP8beW?^S49R`tyyfQ+s#*kYDDAq^RWmCtv*C9Buy}6@la=+_d$rLfb~Uw>H)kTtJ#_-pJd((sOy&BTY0%=n#+=rFas07bKotlS5?bNd>JR^H5I$yuXH5N^msssVzmg+BJqliU!2*cYbN<)Jv(G( zc4(H;uU`tD?*n)eZ!+t&5sc24_@3&(4!RETeQuy~-zeTEzq5(>eFEY4H3KQ0mywCb zGuMgf%6!C_J4X}PqzdsRN(40P7bGU^vIr~-q$O|!PtqW7b*Xw}66)uV~BGZLzh zOJeQ5MrzIVDL`-2QY>5*y=(VVkhZ9U3QCEN1H}T7M?=Cp1F8|SrR=7mf2wcl-+&SL zvni|dJ52~POzJdc&6>%bCmX`XcbvM~>ajY1${O;=zTdBR&wl+!EK zJ(E)>Ozf51Gmn0nkP7eh$jj@I++%Wn_g6o~aHC@IT#ezHGq;5Ry?`Ysg$l^Dhip__ zCZB5vuFx{XNj}JdJ}K*4dH^uPn9o2Ny9Lj*3loSJbpT#ZzyRVw+^@iAF!~-C2g3-I z2PW#lL{dHzmw%>|7ijr7;ENy091M);`@z76-GXN7(M&Kyid%s%i9Zs<(RIavb95ay zVaBs5d=-2KxY8(57#&k55fAqVWW2_c4vTar8OE^5c>TGFnR@wXm7>}*g$HSt$K=wK zT(smO@UBwmjXi*um?eQNwYazoin5wSzWNgIgHR&@W7ioq@bk@^hodSS_+cWd4zh&+ zHaYd^(f8nN>j&TgjG=9x2tS0s^ZPLUn8VP79*(9v85hP9q9fpa`|0@(FM>l1C@!4)IXI75i6A z0d>L0I5}lTLH2;&9fk#tIartLx zj6|bjsBPe5reYL`9F%JD_F^L~US0%2lU$PUh2$0U1P%kQ3W#(eh=rsyxnz4&7(*4Z zQUFaS5TH){O|!ueWsH#~d?O+p@b?ikn0&^^H39J?qLTjARRNrlOey#eECg{;EGT>5 zt#xZ~`GRobh~|=I{{faAIma|;&pKcQ5ss!4YI(OJL=y zqUQ;DG^~_(996eR8rBxoc5v|WHRzN8CJOjy5Hx}q)*b8b=O3p7viC2C{`e!gX;5Ny z?`qv5N9BK7Y1E`&E}6i4KTjU4TUWOA(#~DQ#h3UL^q`+LX-H3A=;`5E@CiJ!d6>ys z!kfouEeF2VjKlL59HIVUT5bm6DTsfV*2orv&tXH%zc**Ll#j(HmL(~Stm-h3Ceogc zSpGVT*I1;SQG_NMaP+mdL>k#hd=99Ne0TMVVzlIVjU>lwiI*|h7;R+J%tkf*vM)`1 z=tr`qIlxKTMSIb3Xac@L{_5H+u7a3!D3o1dy>Vts{gHKD6UH{Yjvj5o{{gS-^|PD0 zCgjxH`ZY9IZ$Ja|)t`K*(+%>{g0N@$tc_XWPk}+}HAJib^($i*2`3~m;QS2S_aNN+ z`b=Xi;g}mln;S(}^r4jPa0HE6;Z4aGErnp#Lsd@C%Brtq8`aR7LzTyBXp5rlN`z{Q z5>!Vh%_S5ehJUM2EXjINAER;VV-(YFI2UpY$BbXI+BCL+gFU);?A)*a`yIN2fYnp- z*Q}mAbxmJw^8C_a>ZDXfiKFSO~iMcCe> zt@ZATc5A>C-VdNDnADHE5)f_C#8z^Vx!_DO6A+WvYQq@dIHqS2oC`i+{fwVKsO4?wlLjmbPsE`KI8HQgfA4{2p{v)Qp;N&7^dCUmr!!{-hWB26!<3)w z)_?w;oy%@f{%d==2e*XcGKVXzmf?+5$=VqLqfC(vL;#j0CTk@V`^yud@rz@^=d`XQ z^n_c5>vAV3|7^5s&tTbw`X&on(d|!FH}8l*03xSJnsf!``GF_J^J5_`&{K_9fc_ZqE|S zH&tZlSj9G%AcQ1>I3_CA8S0*Sd=MBla12Eun&5@|3QwN|s=W(o;q~ zh$Md@ppQ@%=oD8X3j63Q!a-|%{YXrDd?-1Vyc6RiNRXee=C_w;OP;oA^R)Qfi+{e^ z^{h?XXC-G|y7PK)*tO!q?cmvU^sROCW-Exg-r+ikF5kEb zp$pe{JV$#*)EbUFE;BA>xieUjzFX9l5{Z5GE!miGsp!?;G;+wz6x8KcgWD3U}H>tLCv)bs>KI+ zXq)(U&-i>vXiI}OFeaqmu%1%j>$EX^ozE?9t{H+ReDnV=n~XCLA@jl=Sp#V?4B zEH?Wc_QQ>7>W7<9KrSQkg-jKzf(3$k;4C0`du~C5? zT90j&99X+<07z+texx^J0#d}A3I3pCE4=rXF)P_C+;J@bbzm%B?s)XHULjt1^t4_e zhp_NkwfN&j!Q{v zF`yzVD@N#%SQrBc1xAC$l@g+FGr%V(D+BdstDx_y3)RszP}3lU^Jc5jS`%J@Aziy# zZ&`op){PM{M7ergJ)%3-5w%&pS6`DqN)zXoX96Q*cB)&|7!on9Grs?B-K>NQ7fo~@ zV2+Yqi}$ZT-ofh_lH9IB4@EEour|zQ8Y@}s=0lqAohcB&` z;!6^XsZoK}Je{(vEOj(=qb%#>QgcYD<#7n!SDspPOesm>(G`n&rIvCd-HrGtF}Kp1 zo0OUxY0XIr5yD?am6}JCnunB{o0poCwC2&J=Im1Q&{A`YQgb`4xxM1!pVFQLI<&{N zb=I1bOU>=I=B!e4zfyCbQga7dc3`Qwf2ldW)SQBwGLFpYIJ{9x@x?q&Ywm(?b^$ph zOc!mJkS^>f^E|CNztlWmYo1nWUZge8Dm5?FnrD}qmuby&=}~7Vg!$@qakh+O_^4Kk zWD*#H646V9|2U!%iN`{|F4WiH8%}cL#sgnb;x`)fge#H$fZb=ktP+srU$WT3?LM;! zQ!)olnUa+?wZ(zV?AkSA5(f81Guk(8+OA#mq;~AS-a|U24i;dSgxDI1FOKIN=WBeG z{m*a^f1G~^60*yBPmYa`i{?v#pEVWuT6^OI-Ocv-Kw5)F^&6*^{h34m(}ZQy|G=ew z&U-1KP0N&&mLpqr=+Fu??6XpOcS;tb-btukb_z5+ zos)AKoe+XS(3nk|#-KZ!%1Smx)`*CLY`Zb^zZdnyx3I@+)G&sii)E8vmifMzEdE1C z4A1noUe;W3>4)h|H71OS!0Xzdv4m8^OA&_R3*&(=zEz0&-Ie9*CL}fiqEr|R;zUIp zo-j|~>u>OlWAPRxe_Q~2sH|C8OU|oujW&HYE&1RJmOTm@MkX|jtCiC5^y$;>iGK$x%!r?O-f+J}W+-S%eE6@l6S4N=T#;%l5)Bnf8I-u7AlmWIcKr7M51zTh=313wVTdumemI`O-F+wzS7>awjPJ%Gpt&8I>Fm70Id>pw8D2uk}tO+;010 z+f1jnSaVpGtMLG>Ls$3i1>s=kiA+ql^Re9GO7q)Q!PMsU+3g75>i~-GkgARtRs#Wv z#`D%0C8=KAN1W@U%a{IoeChI^rY)a;wt4GkpKXTm=q@S+bwD6!h5usFIdsqG)}Mdg zLd$-9_VlLM|B&(*;2*viub{?E#Z=kKp~2hfa_rM*SRl)bF8>A{A0H0>F`>2Ks)lbB zncAAvU%nPSfv4CO_=KxYWgkuS8=xs;>aY%2lo@wb5R`Wv!6)fE=A-r?l9^3&Wytas zojJnSs<6MqeeD_3#sEax@uIVD5e{@9?>1?SD7UpjQ^6;AC+R7-5N(4kFYLb>+CAm0(9?k>i{4l_!9T$-(Jvt$9)rTF8M9Vt zVDDc2`tVr_Z?$B-Yle!8Ivj`rF3ipV7q>44Whi-^amgvfW|T6 znBInaG$ax~gqcUiR7=Mc|MSKXEy?#<=vC;&=2*&!3Bh4}o4SevoaD}pvgB*=5T|I< zwPc93!P;mo9@#=IiBHtxM~U~ga>xhT+2b8LZ;WpOjPVH(hD1uNy#OqM!t!a;muq0p zp6RKnSG%?4xe=W-GnV&h4{*18j2ziRX#8GsBi&FgEJBC~Z~R`f#!ZAo+UJ|_jF5}_ z?88hTo%Ip>{6FX|;a_}8afQX{KG{An$0mQ_I%(&Vv}7!VG$%bI*&yL5D10(&_G%4G z>)o$UpAlK?h7{bJo})(f6qi%Y}8P4Of5a(6r*>F(L?`R;f=c3@#g-W6$r7<|5KqlD2l!lIgXZ5T7b7#7X_ChXcJJiOLCwFiVv zYI-yq2taoT>(&&o)!`wdjy|9?>zggt13eB+`;_!;PNx&IY z)W=ocj~phfWYIk)i_UQ$Rx-OEb}x0m<^I^6&#|Nv5|g4O@r4qd@v+;BKEXcGK1n_) zKIuMA_ad2PEX(ri7cAT$z&`zl4H`Io>;bqG@5LdrW)BwH^yt;v?V^a?zMLxo34;Hd zeUtRmJ8OCOHZ^kjq^s9v<8g?`{9r2Py)>93Y;9-x*E$QVR7|))46Fpvj+RF^>Qlp# z9IgiPFFVkB%rpsnKMq{UvyKM8KNUa>D&^+C8V#1gEPT>##Ju01`2C&~5n`MZo>b<4 zR2mYX4xta!hKSbA;*`MjKr9od2V(g+I50X8rWG#?EX23Oe@59$$rcwcG4ei67pfAM zqzpVpL%1y8Yy@LY-^xlGHtoB;=pbl5bMgF19_V1%@=sQ*D&yvVyef5WkngI@)$3p| zYBhRT-&`(z_~4-#cwX|$A8`V=nhC=4?HhSp*)#{#ra9nXnv<6aL11Q_*xNW3@_(KA z29*Qw&G|<>%-+0a<(CIOUb6}02z!nL*UL{X0oUWZg?R#HBf1&gfd1)kec~6g85$qKlIzz=mGFucHzP@Za(^}^xF&QDOaPc z(Us3GetLzjU$PDkQMsg-9frT-IH|Phg39h~aT8O(xJ6si-N@v-MZ2j%{1pUv`o|8k z?tz76_gQ~yU)ToLM)d}8^E1(4sVxWTcnp8TjR8fvl$}yq-dsK}N(f&>R z(YUC{ds}`)4}tFLcXv3L?Yj2!^=Hp*ow6YWT>)!9X*!%NyNkeW_gbEtH2Ko!Pd8j_ zS_}APN%PLtqx0Uy$-JvN=hS-+&jJxW^YAnTShRTb?Um0I+E)qK=IWWO8K(cQwkwZ| z;@H+*)iVu9*f$3>fPe~$L=la~M3f|O#h^xI5dlGQ0hC1@Mxx-3EF*~GhKLy4qu_{` z_>3D!)Wn3SalO%>iQbrNZuA+=Cew3k>29Wn(VLgt_s=lQ?@UeAsdLU()phDS8n{gZ zt@OVrwE8>HQ?xzciTc2bxld$@O@Ed&77RRdbCD>`2{b%p$Dx1h#eFLgwKwG!=+cHM z1Z?Eo`6iEG;C0RAx~9uYHdDKDPK83-{@Ko!13S1yxvO&-v5yK*5+|pau}O0JWHw|= zm2suJ@T5d&qbC={nUqVh23$u`i{OqTB72H7nw8*KG333V16%`D`tOkPeu6ei{pb36 zrPMz*1@%uUKGikrGx8%UKU%BA3y##kt(k`0kG7*6h~C+W&nIMaK}KWt`GiQSE-y7} zNlxJ)sX;|@P0^q*kvak=ay$(ma$w&&4aZNP$R}}{>OJh;XLH&8uzehR8nh256HRp= zPi!>oPuVD5zd*8nu_SEM^tZuaWRmf@`jKdN36FER>;>2!f@XdoWY5zz3ikC-)g|OcAq%8XU|D+;RfFh6gPgl29*4> zYoM{Yx$#L;^XVhBUuzT_QNNrzmyfmA<&YUx;%w`m2I(Kr= zfRp1-y|!+mxt>nh_WI#bx_|)l-4*c77R{eK+OsDZF(BHTu!J0Pd1W)_-HIdo)_ng&(6rB6^Ra#T~v1RTI+YsXYZi3#`ZNE zs+OI*^6AfCp5&jQ|65A790ESkGlGYdYfE<@spGOr)v>Xu!9&&-uc_PB$gRj#i_ibg zkTqzK8UK>3+$19q7^QEsXLz-SU%@U?^nP|t(L0sKq%FvQ5>UGi%pf!ISr#*;1%^CK zI}qwiqmsvp1pdk8ulOgqpVrizN6xB0b>qexaPq6swI+ z+);EAj@Usk40h#Qfo3u9KcDws(iS<2J^pMiiH}hzKAuGHT*UY&Yg-l`2n&b(i>hx6 z)%gI~!w|M@)B~qrC-Mq>*j_#sWGTP5E9ds({D&@_$BhEMb?)zWoQ-}i|4BY@)huAu z?L`anST%~9>%zm^GlZDA*ziE%LUKXXW~zabq&?zf9(F=iB3yWglqMo2eej8>g)GMr z!zd#={?)kzkYp1N`vxzPq32^#o@S7cbmc?q*NO}LPHd)NUrF7rnkwy~EU5hLcK zb4!X1%()Z%kI05kZ>rH9-Cx40w&t(ezN3)a`^}Z(GY2GEgO`f2e+MAA1Scp%~0pZw&K44A}AC}99uY%5Sfxasr5B9-taQl(S zPp%WYdYkFoq&bY$DHteZ;V6yS$&~a*2jf#5!Vq!~K55T^*Y$s6-<>vXEPE|=G>V%g zDAwHiuiy_S)VIg8Ab)1g-unK;segWd^27tp4z0Fsr?#{XRGqzh_biBMy?3t_tgmmV zdee;w(b^KxOVFFiPQTH^ZB@n}l?m zgxYl%{fZDKb=rd(FP))^oPDsA@ybDdI^jTyth-LgzJ?k(0{U$7gA=GZvXfCv>h|d@ZGo_ZRC-#HY$y7Gt&HsspY6+%<~(q!7>lW#Tm{8LQSUg5zwAx8N`I$M z|MwDhfBMPiyKf_HS1zn5DPEYj;$_G{Z3ds?*N!FdFQ_QVUpwk8y5=lI z<7py((2I#RgPLNsFdU1G0<_N7nGxs!t!**2lPq7>*>ss?l#3vqe9{Qv>x2g2B8~=z zMU=g!8j>AVafmWo#Y#{RQK)j<13<@+^rLrD@cvNz6Iq=~J0DZ_}1}v(~cHCYSW^t(>}5 zr`tNM(zi$PUT!k@A#m!y^06bxl;D%!ja?pCzuDiJQC${X^38Ub1FiPi-Gh(oD zL-WS1^LN8(TF)_QJ7m(ZUjGSr?VUkUV`37gL9TlF!qtg0u0XJB5^xWX3kr>zFp^6y zUXUG`mwb$1mB#QCoV3a~$$p9=bODxjFOcW)RRsQ(sJfIfIGR-(DMg8CxIDo1lzWu)Q`kn*%7s3l>Q zrHEBfj#bbUt1O<2RT~F@dwgDZ@7UoB*H>2M?^434(y#U>wcmz(A867+cUC_=F53IWVwHyC8kdY%76h^hjdp>a2w$2C0?Ptx0+Abfz|KHJ z{t%#na-e~K0chamcS0j49avg?D1J;>R9%6lcEY@IaT?8}@!9TEBgW2{H70y29RGTv z%47P7IeB?=My7hG5?`N@lf(Osc=z2ABcr0gp`qb#4I35_LDx9hNDr3;+nH>HHIALI z2AaW|Mtl~E7SAH&Ksn^V7eJ19!?+XVRK%-&W)ELgwYPBDfe(uY%If}XDi^h!{tMT}0QV=6a1MRBHYr@fk^xxJeF z>U3AwX|E>c5y~IKvDOF5%IXiSF0Y@Rot!);D|t#5@F=RTE_zT{Q&R{MGcpo?n39n( z1>5r?cmUoZcN6;Hy9v762zqpO_+<=>H~RQp5PIo+X#w8RZ-LY3r3IF0P^81rTot2W z?3r%(JjON%c|)kx7mC}8hYEv2fm+4qwFSaUj;;p3JjDMdDe#U*k)%Mg<*7i>*Kvi? z*1o~LgNwlUV`rnIcAN}hF>sLN_=Al?7dX3wJ(Hw~4;>yCH#{`{&0t@j0Rwz|gSjfM z_45&NaU(*bqeFcM^!MvIa3GqWv1lC{O*r}GIAHrH_ASub%)TW=+_z-kyO*nvhBZs| zvtc(b7<`q=mxHV~+4gon_Dz7#w@w)zD7vA(c;ec|ovH&oZ_gs(K!azSfB{%vPHlgD zyW;3VE@T+NF2;biaj-@I{@}qYvX0)nb*u4_5~lAedB1l1nv!+ia4p+CQ~z84!7OWF zu6@n_dhQIjc1z3A_s_&lB6g2Cd-{>}y&MN@|3CLDbR3Kd3}oc{mGzMoLp+CMMQ#6T z*wO5kyH8ur@z21^dlnq_KDoZ4ey{RO53dxjm)kEaiAv-jU%$%V2YrDOWVVAh^qcdi zrhobP-j4b!G$#-l{~>b6D9B8Wj2Grab^)w~&tP|e?*g!gZhY6vI=4&jpU$`6XV)r6 z@%Qz|`Qp4hFc-!Ej{4XzeiZvy5k;~s-eK0!-|K^ZqR&glx$2n3qK|z;P+LQg?5+|1 zFiiBCM!PW2Fa)c{C$kQgU4`-&uNV`Yze1LrzLsHx9oGKf5LuH4N6BWuhdfUg_!$TZ zEOttTF@#7ph+W;hfhZ@KnVh46eY~&lEB`pqE5h5$|Lq}7hri_Ses|&C+<31Zul9?c za`#}*h#p|PzR||rdfc3CRk|C?O8Mp6^B30E=I3u?ul7@qbX|R>OBdB}|3Q5!R_9;b zu1VGgxQ+;XBi=7?L!9e|R%@$v4**^BqoT9c#>7sAD-+Ah6J1j)DpHBQmm-^e9oa0! z;aNsFZ2RIpo-PQz{Pi6kd8YjbfLGyMsxGYKpI*Ge|603BUHtge$)Cr3zG=(Z)@@tP z`5!4PX*gI~bVxBoeXzIx$%2+k7tbs?;orMKeXQ-vc5U(g{l#V5-)F<~cWqm-q^b(} z>P*7}_KD!D#(O;5|Nb5ik_(-VDq8Za6W~JIoh>1U=CnRx4970<{F58+R7bdmt(dvA z-tTag_Q(fgZ++2}Fb&vTx(qz|fAPQbppT2psMSJ3vKy~s=wcfvaYr&50?puns)__5qbin&37hG;cR|SUXztP_X zhL#849U1chW8j~Cf$xu$D-OU`Tr&{F5dPbL(Hs@Wo@_C>q1tH3GGycY`V(%LAHxkh z2YzR86RtV`x$lT)QRq9H2v=oe8PBQjavDO)p z?X#B9{ywf%Bb^ zd=a_tlLr{j0(=5s` zX>T~m7*qv47|tM|?L+!hM*C!#N&95P3yL4;=t-Z-NLy-O(j!Yjg4o%YNT!|isf^B_ zp+B8Jjup8J4X97B59t&AtuzD2kX~70eo>sLplmbhzcAP9M7}t2t|dK?+yL^Mm4ZGm zFnvw9LaEFTl8hRZFg+;`pYjYngR&#pJ_V=NhY2tVR}&BKNFctf(+7mx{r); zRIG_d&SWv~B)eJY_wST<(uiY`%6u)!sKJMnes=6^*Q)bD1r^D!sWBDIr-W|LI7 zb5-C9cdmHxD(ak^-6^jk*{#BFCNK`9?qCPkAN8*zk}qd7MU?CBC8dckKa+ebhS|hK zn)*AhQD{kwDI|P@li&}Gs6&p-SCP<%d^%s=thKS8IWk{G!nlj*e0iD3C~rtIv0%I~ zrwWsHpd=H`R8jls(a{dc3&b3|Bz|%r`YqxeDi)af+7ZduvQvmgY?Ph+@tNeaF*%XX z@!9jD@1s5kQy;SFu=(A*2ImM;8LT(pX7t_1Qv1>Gk$yTDw@>osh~Bh<-j-6G_{iRV;C(8qVXz3DG%iC&n<8+M%Ts zlNbkH17e6i%W&O6FsX^^3dg)4G8ZJ~f!Js6lnI&b(B}lC2VdoFBvVeuLKsewl#^f` zWWEODoHZn~M$m&5e-ZN~<6JS!i_BKgnCfT1-|QlI2%S@Y2+k*?GWfg9_xxpHuBFc% zaGSpD*CJDecsea$k%=sts}Q{n!{J-I-pm>OzxonmxXNoF#NnE^PC5xZ>gGv;+C zxlUwE8-y_h(J}Szn0GuTTQa5%f^L72#$-#zw1N83Xfh&y)@a^I{t<~$8-?~~(-_s4 zwG!JWGQ`(5QjFFFP!?k=qjvZRoX13E$U0#rStro%La}|M*J2u%jM|Stwjr(2$eg@H z`cKww${)qG8;G9Ll}2!*I6yJsk%SxZ%!ia`*hOI_$Bhpq+{k8*Q7&00rHM?t)J_cZ z88e#Vk6ec9DaphEZ-&$&@W3)SZ>6KYE0wj9WG91O2+xSDC6(>qXy1bHBY}*6vk(XK z$>$_Dh>UHE;FA$FzPPh4VxK6^JrHmX&CN^~sw2w|9Z{L%q70Mvx-IUB4M9yCn&gk= zNInX&wHm<|Mp9d|?Z8Ybb6%7|KIlgKWUVlfc`V4Fc}pU8XUAH|?9MVqQEe~S3%gN~ z!Z7~^FNTIdwRafLsm+ zCXgrqa7qmy0001Z+GAj3VBkpldzFEK)907KzeG+Q2A~KsU=arZh7$!%0001Z+KpEW za23@V{&vqfyBD+!pd&&-pj4EXf)>Hz0|N{J0%HJ2Xn06?hetpXBoIU>0+xhFG~u0u z5XeOfMHy(2NNfivk7`S&E#f%#h1O!JJXEU1*?#|FH@(~;#XIxOw|CF(p8x&-$GHUi zb1sE=7o~0*7U?h1M`vT6Ift40pU7}VA;*0I1#SVFs)=Z&mtv5!0>j*a=;r(bRjLc_ z(ywAU->D(8i77-sVmGm#7)(qcMmld`qq84bx*6{+K(W3X`Kkix{t(R90ov#wJoB>K=3@Lk-7Zl>^5efYEv|ChHt*p-kh**}64Gxm%H< zb9tSEQs)$QIcI}H^)Hmkwcm`o@jj7Z-{U*(0sg-YGu=4a^Z!P54xPP5c!K-@(T@0$ zTZz8TVZ1?ZVCG}Bwf$kN)fu!w5&D?pn4y1#E=~=~^l402wW#nWVw(C1maFYpphqKL zZ0}`ZlFCAs@~~PzhNn~?%%wi_+}_CH-WBQ{40Wzx2fv@`1bA9)@d(RK3ht7k$i9H0O8Q(#D6VXCaw-2gT&8NwWNy^U%vqZ^!oLkUj@xa#&}ZM4 zCEq3IB*v_N!@QT=OJ>@l$}J6!m}0Ed^Qp@me&YaZ6zvzqf#iY2qQtR{r6hUnvl5rn zk)dXxT=m5YH4bZ>zhet?{52Q6pU+%1Smv%qHSkR%q8zyTGx7{_ck)!%$J^=;*e3f* z-Wmj-d$*#Ay9#a1T=X)%gJP485$>d5PgE;)77m)1(Z$9Vb&}W-Ii*&L|IPjA7u89f zhg_SNJ9&NC{(oF_5c`;FjFcK_R&o7N))3~kwcBFG^+-&U7;q<9|8KJQ-ooor+iZ?; zU0uZh8z&{yQJ#~S%fUmo4#{(O*c{E!hmmfd>u+mnhV29Vrpd=_-50&hJmh&FVkvce z)9!UGk2lFZ{V8K;U~t+Sh@Md`GM{q~vB3Zoh+jl+D?4)_wgo?kRiMVpMh|NXsZjuh*}b%NjX8={&1C3Aas_`JMViVoI>@vz2)_Oo?B`iy+@BJ~ja?ZbXE zjJ;tBs{NIy_8thn^mgN*{up~rDt7p(IIYjJrb(TdOwPkjHI_avL3fEEuN_+I?_erx zQ>De-Tw9Ee<_vb)|6-48Z2Oe@5M3q4&99LyJw~tMS_)=*BT?y1LmBH+JJ032sYHL| zdW*>;*z2Ntnj3s%_wUbmW=z{2$C@gA&if<2@15oMa)S$24(=P)%}T!oe(IG_hL3}9 zbpPOQetW!UE@Ov&hk4r*&3zB&JP*gc7g-0YP#W8T)BZHX^0^LXr4i&+b^(22T3m*SxM56Z;%*8cRr_`uE?qW34*r-!1#bPcX( z7q@tGk#73qL0hN!{a9nvn3E`r-HW{*Ypl6Mncv3Ts82|Yh@ZlG)VYosFXA)r68+Z; ztt4*5cV-BA64sOBk}Ftq$#dQvvVsEw0tjBTmgp={ANZTvEZ>e@L*X5t8D8Mb>r#&Q8?-pjn@dL<+ z9YM9efM-lo6nm9;p0PCBe+tifM|egm$9R*%Gg2x0@EUB_W6(R6g9WZ1tfV{>bxWR) zI$*25muG{9=)pV(XNp3d##-_$WBfc){M(Qsy2tLrh*)=wl50H$k5G?P{SxK=0&UzN zD0fZ;h0aIl=e&Yds*HLrB$g0)n4=qDj>-+zQkP7wI#Oluf(}m+iU9CXC3Q? zLCp7+?xPr_j&m0Kn)XQJv$tR_^I$UQ`-*VrpLpXs9DyoJap z`ql@rL8s6LA=o32&<5+tr-=XQo($1F5u$tYw-Zrx{XTUNyC=f>ASfVSAx==1CL&LQ zPd12OB8Yquu9Hvv6hZuz2(e4#zZ<~%Q}l`a86tKVGye-HkTA@6+I7KgOwtJh0B{e@ zjEu}9BO^pbL_|PDQbI&iG9pAWA~Pc6NIf${^C1-k&okaZ;>?H{XJ%yN8F{??an3d8 zT64}h=bUTKIp>^nj=AQTbL{EU^X>WlA|n0=A5j%C`-|Y0O^_Ni44MZWMA9S0ksXoN z$kE7|C}>nkRR0mkk;)@LbV{@!dhsarDEFx3=;+b47<5ecG19S?W6NMXxCQJx9&uc9 z+;e;(HYT5Yfb`jpg2-oeVjSY88;iZe=7bI<&-ZT z5#JcU@GJ3G8x#%|L#@#7r_ra2PmiAtC$JL6&Opypo|%EcVKp!dZ1XJftnBRA*}X(? zB0JIev*#T0obg-`&Vx(OBhItWuOmc=280%2Nunk3k}OH{N$W{JkT7HevJdG(ZXpkn z8OiKqNwPB8mb{k|m6DKxNuj22QzR)HDZx}wDl`?HN=xOWic+Pi>eO9S1S%edLQzm< zC?QIp22O*g;nNst{IuFM4;qR_qw~-#bTzsO-IHFD&P}gLZ%OY-x23z%C)4NCH!)I7 zH>MBc!~mFC%vwf5hB;#}V?1LfV? z{LI=+Mdk)hf|KF2I6H0>H-%fkt>U(Ehgpy;WELr_B#WO_o7I-plhvO!k~N7(;?;N? z-i4pU&*RteKL`B zX5+Hy+1zYN_7n+0B9e+pl_UwNgJj8p<&5Qg$yv-<%h|~ZljF!KWHOma7Ldi{CUO_q zN_LQ4<-(6VVcv9pV!k5ZobSw^%3sLe$ls^NP@z;L6-UjZ)>CJxs~6)g7GJEr*mZH@ z;tmZ#l|oCIrJPbv>162)lg?x^t<2zM&gGHIOJ%UKuCl``!Yi{^*01cdVpxeR z9LvHAUX@&xT{T_}vO#PadxO1m4Rj5Bt?k-2hsNP>L>wt+oHJ1#TMjLUmrKjr%D1^< zu7m650^D##bOod$p#o8XuE1ANDijr46+s@3*T@^;{kYD&K5%`#vaE9H2KEN&#=wm* zAI)#$ck%acif=k@x&<);wxCb2A=tSEzlFNha?5ecS;eR-tLmnxw|Ix}4WoQ{mMwhW+Gv8>qb1a-nX@tq}|f=*}WPG?vdr$j5MO0H6@Y*4l+waNkIxbmxVMY*E_ zsS;E;Rk2E-YEa2k-KqhVPxV!`tlCfoyUMy8U7KCIf3W{p>MrXB{^a~Q*@NyeK8t$R z@oZU*S1Z(W8oGw5;c0}LdQGcFt+8obnn}&PW?d7~LbQomv^G!6(u%Y#TCH|KJFfkz zUDfXCVsr={Sy!eL>ZCfg&aQLoW^~_md%Cb5tcUCIdWN2-uhlE`R=ra{sbA1<=?@L@ z28@AfU>gJmv7yP(VK5pT29IIZuxMS=OEpKleSKf4*gnu*O=EKi6C5t>6Eu z{cFDu(x-ocd0}}m)*sz3=~wpK`p5g{USeNzUs_+fUar|1ZQowizw*3Vc(rTC*eQ07 z{hNKszHZ;M?+sKBjQ$*YjeRY9?R>rBh<4B%97pJH>EDZkHG}TKy*H#cwl|(P`$Li; z-_XHZ##`gt{o%af%3Bl@G_rAOkCd9)t8XUsF>S@mpt4!saB(o6O-y#jB&SLwBQhrAx|SMQ2<*B9Z7 z_n~}LAKNGNHTgPxMxVpy_D%bid|SQ)f2<$o$NFi0j$h<&@GJag|Db=|KjmNWZ}@`% z2!H@6fDAAJ9v}u<0W~lHi~$qC9IyuL0pUPg03N^x7y({D9B2!e1NOjZU@EW}*bIaw zz!M4o1qw}@4*&oF0RR957XX(4764xW1pom6000004gdfG00A2S0{{Vd+I3RPPQp+S zJ-46+MWVzQmR%VaPzpX`FfsU!32}i2HZClPKol^g#^?w51%8enpg-Zlm7n41?Gz{p zY3}sQ+?g|HrUj734`NX91b_pc04rqZ1=v6eHNi31xDy=5CO!nuA&XDJ^Q`?7ynwO_ zITJ{#vfw4GsfyqvHq@=)W!$KD!6{s;U%@L#8oPp5v1l9#P9tN4JYQHhLT%r$jW?WO zfId8!)a>x>5H%Tl!Yf>K(MCt#o-;O}_lOp~B4;enRvByXcswR5qx>qf+IVKRLzc%QnycNNJQa7g0Ldt4lUh@4zFo!=1Fy)4d)T z8{mFw6IR5F-uPSW;h0@q&Fj%RT4&JH*X}XyYxngu8R^q+v8%}$`?|ZUwRH5>5BXIb z<^^7~CdnS}}mXPQ3q92PqV=jyNE_LUre3Em>NCg+1;S`s+qRk2Ca+%}No&#Cv<|IH>(TnO0c}Vd(Z;k1ZAzQb=ClP(qAjVBeB`G9 z1t~;L6sBfsp{;0Z+J?5J?Pz=2fg%*87{$q=1Wl$X)Jjun8nw}MYNrmGK|4|>&7@h> zMLW@KnnQDG9_>uK(5|!_?M{18lCGwU=wLd8?x9oZGdh%xrK9K^x`Hldp(E)HI*3l9 zALvIqhEAiy=^=WDzNd5PO8S|8qF?Ajx`v*h$LLz>rXD)po~frOMUT^y^c+1+&(O2< zInAdR>3MpAuA@Hsj!vLg=p}lY`sqvhnvS3al%|C=KpD!?`IMtQX^`?%pb`~n5iO=K zXbCN&rL-6ALwnQhbOG&0`_le&0DVQ@(4DO8;VSlWHIJgd=^w7)TCU@I`j?3tcr=e; z=CM4E$MXc9$Sd%Qyb`a>tMID48vRDU^Xj|?ugPoi+Pn_0%j@y_ya8{>8}Y`x32(}q z(I50GZ_ZorB;Jx6*~fkkaF9dX#9?mc7T$_JpbvR#-iEj3?Rb0Mfg>E{7{}S-1W)EE z+)CHe4Lp^naT`zPcJAOAyd!t=O!|}lqL1ifp2c0f6VK*3JeTM3&b$ln%DeIIyay+_ zn|rvIQ#_yhxS!K>7cbz2oZ$ibgg)ggUCKEg@5OubKD;mQ z$NST3^gg{wZ_(TI9=%TQ@&SAxAH)aqA$%ww#)tC}d?X*mNAod!EFZ_m^9g(+pTsBg zDReoX%BS(^dP^6_%0c$}T=L4oK@R(PdSON(GCuCCtOm%=1kJ*HhU^~u)if&|A~)t?is^?) z<4^iJ7mGR#evou_%sZ*uKdk24%c@U@oqpH5R-bHlQpYg$frcbr*S*BEjA0UnnIG0y zGO~@sy5hAdCBV3>F(Zdr#@1;h@3?U^TRyg#3#U2oaT{DT(ncAZ!VN^)DdW1ik;n@~EQuS2v?t=` zxJcxAv6cY?D5!5yt6_u-=q)D@3|~QGi~0)Vmf-nLzhXED>UO#iBUC`UeFDtz7Bt*e z=P=?0t(&UW3^xH~Q>~4G5HxR|NMe8m)J^qm9qr1e6%Lgnm80g);m^Dlp9Lt!JbU=2 z&fK+oaS!3?Y2JN$7P+dDS3%Dslf!v=^lWnVB9Bfdl4}%s_vo4Ms(fA<9SLdM>5>g^V$txR5b)N2sb)X2JBNOIubnFTi6ACP>Z933`fV zLq2*`d3h8&z_waun``pJ*OA)YkuP0K|R`83i6(ya+S#ryi62Uxw@NIhbmC6(c-0| zvWQhAUO6g{NDk%UQQ5@mIUWr~B-R|^-9=>vRORqWQTPC|HxGxx1yr+n4JblDjTtW; zg_*3P@~Tn!ljL|F0hKdZz0PYz6;9U3@{+$kvZ~796@SgOBD?W0U$IuzgFMRD0;?JW z-nQ^!q7#_qE%Z!u0kh47E{Q-6D_-cI=*D5o3T?L>tyykD_bre$+dv51a&BWGguYv@ zZEO{x!NLOGE#&!o41QS$iTJ`uA6AQky2C>aRrHalTW(9~V``TIfHF zv9v6Q)tR34sA?R#gLSHbTm=CxnT?GSo@Y+{Wu}(+8FMRY_iiUX@a*Sz6Q3#k zughg<7AV3LkbC;jCt8OXdv(mp1+r0LaYl4pf)glF7+v(FxDC4uoCWU22baHn6pcVy zxTpxqWC?sL?nENbB(WzyHw=2X;A#GR-m4cqmcRs-(b zehJjoNGt72E9KgGdRq~eD|K*SMf$z;O73I@|AnN%2XXH5!t`}-B)PKX+2yqXV|Bk- zyX6*!UM=kD6H#6okI%ZxCLkgE)DP#dG-sA=Y>rX~-CI^~KIEA0&8OZ`qz>|x&V5_l1%HA1U zoXIK%PK!Qi*&SpbL$R8(0&1-LFk}cC%=9MNc?VN~0t{yN^$|LFmxA5BM}3QTGy8kw zgZC(0eDx@@c-*RpLok;oceP%Ba_c;686wt<-A)@}({12utBksN1PgQ^$zYl5Z zzv(;G*dB4`-H+70aOwB*O?pS;r8nh8daJ%u)ON%j&W}51C42tHA@u*s%F1C+@#;50 ze`9*JPJi!COs{^EQ{x>e`cLw=rJwKR{Eq0LPWi6tiTL#$n;^LYn@g^XuS*@9rHHR6-Z+K7=ki8=h9=GlrH(qZhtiIlYhwdBuW50TS zre4oJqx)$mrX7Xs_bXPXrL4bC!utCTSbx|5**O2zR@OgQfA}LTS`X|caJ%b zO?o^Z!caK;0h1-4`nI6#HvXJ+c|dfUN|p5oCC5-gitJj>TNuIx>XfnN-%Ez9<;z0E zuWr_A`ks<06U_TfVw~nMlN}x%;)jqm`y%B^>>xnVDy=6}41YW3fzdg{+}(S2}N8H$Q%$LTz2TiN}Z9>n|mJ&%Hs2&5i6(AG`K zZ$;*8=v5W-;DYcX!OY6AHlkC3Yz9>eQG>rQ$~9Y)Ge&M%(;T#P zqlnoFlB0lP@NauNVbMkfz;--x#g7t1TpYmy2g)O*y1D@I8gsQ@XqS~WHoh8mA07tk z9A>z%&2zEDkh*`D=!*m^H(uxTS-6&t#4C#`iKI z&DWAP3=YvTU-F)$xR({qJkLd&v;An7NVm#Hqv|RUmyO)*k_ayeEW#Ijpv2Ug*!rOClMcLx&yeB7~tTx}FSJuYsh8a3t#+;%tF`^AoLyOSo)7Ax`L@g8(b^jr5N zN;7j5I+t{HIfg*NlZ`E-JAYOTInbOK;#HBJ|GCgUly+=6sy{BL`JF!w&W@9rXq;{q z8~^@QpG`Yzam%jz)qoPRYfuT@HCUMjeckdws~#RuS{$@=HdYniVC|lZ+WzU!6CX(l z<4OaTQZLRNm6+;mlP`}bKVa^7u~XyPrh?sZDQM)O$b%^ZQkTzLICn`W?8$f>94Xv~ zlFRtDjoSAze?_a8`Lmm5?#HY4wMS&lJ_QiwKjLV7uW1v=dUzYyo}s6e>?Nsftt4gU zvUe;lJZ#vW5OOuhnQcOE_)th4#V^Qzxun#-_xAbX9yf;ZslBQa!;i;*{9{T&S@j2U zhdRve?Vq*((C+Kh7yZC4q3wF#{?o~JV7LPSfd2^?@P7{s3@!}7e>Qd0KOkW1B^-c) z|L^U07=Zs&3@rxRQ^)`N#Q)MM0XhJ8fYpES`44b_I=~TN4{-R80RZ>_mH$>tfXjb2 z>;E_xzyM$i@B(=M$K3&L|9SHPc>V+Lf5Hb4{0|cU+4%n_6Zp@c<^LNS{{KV<0Fb&$ zsQ-1N|1*OyT;YIGDZnTiP@PITbCfvYZ(={`XdR#vgJ!YrZWeSGRJ^b9iy8)gdkLP+ z$Hv4j$LUZ`>szZIrZc0gf6N}g zLB0jofC@3yg`b;*B!(r%Zd|6ug_5%}N#406(;{hVc|3@pi_{^7p3H~-mp%{mIY%$U zm`)qDRe?cM;B|$)a#3cfs^`#!7}u|3)p<_s#1vD(#+>uCtk35hRIPFQ0a{fr)Jk)b z0*%@ruR>I;P3beGVi!9d;~x^1*7xFY7Ki+bGpz+NNt`@JE055to-s@%A0J1Z&FPX3> zUvoKlm7uxXXIV&puiPrFFIJ(^(~3Bj(ucHzXbgiyqxDgEi%gu9)L{!S#!QXy`LmSM z?}jmvXvCC`n+^UcWu&HY}Mh^cVjSxeb9P;yAQzz zPloo)y6jiO&!8rC{SLeM<6OyqYsa|dM_p(cKobC)lPmyP&*TSPklrtM$Bu$8-_u_+ z&&Pry_e;_pqTj51${PLwAzxz%LQb(sK>r{$>i(j46>u2`a?UxDID^zUUlpNV$eCKD z7S7{)UZOkM94_8Zpjl+)Hah133?F0Pjvq%v3IL2hnbh9yX}h)rlIB?9*+V80H)uFK z+!J+v;i!$2^|ImAP|H#ThA*MgMF0Y}ttIav-zkFFuV;+r>hE8Q%*>j_u6+#@JQx6z zI1B+x2gv88eTDOT)ikci5T_-o7vHuhilq}vc<~v5=&D_$<-XVOBOC6qG)StkaSA$_ z_FFrJPtg+pDBbly`UjIVrRW{=4F81OoZR&>c-nvaz#jZUK({Hn!pDN8qI{HD=*g4e`8_#Sov{j&c}v z%=h97cylF%K9^wDyM1w*p`OB>*JVR23Md7S_ZIuI(Q#3*E#?J?@MXTjv_URgQBlxe zb&Hn~2RMD;gk8MPfIi<>)+`8#Z&l z-#TkmW%ROK<#7%9!>8yI^DSWoO9u7FuAZ0!xZrXK}r}g=#~B{v>UzAM>IZ0Dw^*>c2YG_RdSdRmIW>;)s;q# zL3wm2m}Vz}WHkr+BZ$xq*wO?Cf_9KoXTB(vx`hDk0cRpE{hGxT2ty&5m@EI3J7GtxoK3FrA1|I zEB_)C&2ZqGvAB8QB7ljb;&pEJgRub8Zo3>B`ci$73F@O1^QbLF&bkK?!;n_0mHD1J zgP^@^-%IBnpG1o~@Pe4`h)|-|pCr;X_?Wo>7jQMk9LC7x;1us^duTBOWhj3vX=(-W zF;j(np+~Wv1HO>i;p&OjJi%ea0^gz8p?>YI>~8U^;>&rys&&n7{NF+jqJjj1B;r^; zs)GvtwSzCfy|}z#;dUTJkRo{V??h)qq$&PG--x=9^)iKrUA#ipu`o(ah8sJR>}WC1 z+{6cG;jip_-HJB~$Bgszg+F4n%?(AKWCR%Iw;z3|H?fr=k}A2SKZqv02MMiLFfmnh zg0u+n#nWzwda$*9ds>Yho(p%ZmKZ5D zwCo5<0IkESfPkx}h>t{E={uo)4T$>hY2CqusjV6U-QT}Qcp z_e4;E_V`0nOFao$zgDg-+JF+HC&_afVu&K&{5Z?B;fn#iWwJk7l=$#El~MHAfT;XO zOf2KbAtQeekxLLGH$k^;O*VnQR2l*$Kd6=HCghVX6mSE>t9DpGGrcq+@TU>Bkc8d| zV&f^YC}f2rCM6J)^-`;k8c?vH%uQ)PhG}?~LgQhAHtTDyG-96qbu$IwfHgtp^6ITz!@r{ zBklJdDcs#wgWjc#@Je2?Dfn-FF6@3i51lQ<7EnFBt7|O{o>@v+k>=I^SO>yde~CTI z^_;3!fT~7uwK^iGUeVK)h2lsA;6liTcR>hQD5G(ElyenVF?edcKa$0*|=nRja z7San}Hny7mkq@P62FSXEZVY}r73*mKG>{o9txzOx%If)MWVyNL0nc+`tb>k%E}889 zME&Zk6LRTi{MBb8K!NJ#wsrVN`kH{Lj}*>-%&v5xKVJs|2*n)A^PSmhqKC2VH>!E0 zqgclgJ*5%U-{ICKgi6B)@#gX4m8nGC}60DX#`hKS}_N`-5(i!xYZBopGa=9V8Pk!s5s z(8X{`7jwr96I<++IHCAD`Q(Z~LX@M@19f3E7%X4`Jlp{1w!cE{EyDQMjqm$8NvCyN zRHB4AC~GXW^IVoJsG-2?bT@Ol1iAryK7oshTEhlb|G{Z(mBeG6(&1P65SU zj&ymkXm$>*#VMhjtp9-S1E7^3Y>4^q1L~dh(pw1VO~E zvQa}d86y;VlPYZRirI}+MdTN;-9Z)UE{lc}yGt(%$s?T;-YsT)5ox9t}{ zQvlqm|KTSdJ0t&Sp{k^p@*DF|tT?Zpuv(yGCyZLWmBgWtd&+?(MUTtt8I@4Kf^6xI zo>#GAIM1JM3jY-Eo>uin5}C(yOg#&Fg+bc!J2-XB5*^>dG7B#*I8z*jrB(<+nZpTX z=#zo;ttQ;rz)>T{FNpcOx$-iQZj3JM_+RQXti3 z#uAJaRW3)pwR)-DZ_S=uH4yH4X@T>i9YZSurbt=n7fdN>sH42XE4jkga_`~UXknhd z;B-V+j_O}w15;rNTNsKHiqej=E!mK|+mPbXyL^rxXCwCIEoHLoCgLLH!^6ZZQ#ma<-)MMPrWF zk|u>(%v65~U%wb+a<8P2>+iTLAg)ae;k1iSM#NenGH5O;7>1r^{fzod}%LFF_#L5z>D7a(=RL_p`#lA{0p%A=t<7j#X-m#Vd5K13_7RQ10L%9Ol2#18c+84 zQw>CHM~sUy!i2|LlH@gILh|8DtY=f15y0uZ;RG~UN;bQpLT)b|<%~58#J!s&B4sO! zavW{%|I$4rAW5KKeW)SN^lthHYrBx4girUEG3}7-nFvp$ZM1*Y@ZkvLRF|>TGm-TN zZ;_;>ILwAJwD;|60GY<-y8RLeMSsN_zl1W}M+b}r{<>T107k6}Jn=*4N}H`GpK(~| z^%wrA1J+~q>XZiD>4HRka_FKV7Ic+Z{VpNI&ih~%>swoDavaw8W|D>N z<2%Ll3QJuZeB5u}x9lndXxgY?(l;X`c~gCSqYcL0_e6 z4TaZx&0E(MyUf|x`Lb>Cc^n>pvY|>NjeO&_hKwKRv{KwayRk1v+$K4SL$01;+lLLi zaCwOPPqs)&)3($Zy8x%jK)c|;kYW0uMCIH`IUD6Nzp%RDMAk4af@6$T(6zW+qZCTS z@`UEsImS5Mwi#{OBz@Bp=?L1cOTjS9(vpI>c*{;(_J_Y|_&)7?SCk_M;Eb%gYoyiS z{GETM+!?Ib85o)=9e_++jG|ZPxzF_Zl4;|w$}e~}?_FeZ*=;+UpalcwibLouEW zG))16AlPLEpP6;Br;$g7Cfw3&$b zXv1k^FbKBO1{X`7Gu`7F7Jj~}B*+ouSZFVy;NVIpP22(+;Ra*r!DlFvdSdk#cmTcq zlY@1@SJ6M5I4FQ*>`-I{{Y!IYy|T%7vD+ze@)TB8)bFvH-oll5xcdwWU;J7ci`Lwz>@h=$B*c3nbxEPT8Zm_hCuel`HSzt~ zP!HH3KJ#;%724ik+&I1TeK!I2K%;Oh9#2f-!c(jAa5EUGi?dFmCx$xtWkR`3Q{!M0 zV=QlGCA{C6vS)^mg$El~Fd~4k;9a& zltvU{#^fp%md%m{pJq_rBf>;*jy43F;7H>=vQVeXg-4KOYWQPxhjelDUDE6?EUt@L z3gcP3qn{6WXxRph0elt~I?J5#j#r*FPgnX&6q_~KFf1E&YdL$(*DAaf|C%*0f}}kX zvJ?yBVOcS5s08*C8bSMyVxo+zANH&%zD@**v9a03_dQ2701**>+IXEv@(%v$-8Smi z=CG^5BoCbY8@37xO2yf_(_1kpF4qWd^1& zrD;aIX0;|oRR!84l4+2aKTnXHFmD8__ztTbcGuA4ZmB|Y5{Ye((I$NoLrLPjDQf!eXQv7N*~@;^(v4)MY7Eq3_(OC z=jzw|s%Mqb=t=FTza^DDSq|Vch;$xKyVJqob&(ZP3bOEh#qaMv(5;rofNYIkl^BX~ z5Z{b?uov^VsC{rCn3DXu^*!Y{J()0cm+eosAj(lTzz?3FH!)f){a4yWbV6yU&x#)F z3CKf{(NM8DODQ>fZP%|6#T(M2X7vEBD(uD08>A8C$yTi0Dfq)h;cDx2esHGU$>M=a zIovBFZ0c`M`0%Dmoqs>dy(;OQZ2!|0$f;s)cYpw05s`tRX>TUFsBWKb0DyR&m;IQ_26g3w`hB-&-bWYs zlXAd+4w=ojO}z!^Nrp0uu3a&jTEbcjNZ7H%EP+OhY7h)KPw8rOvaELG)B;mDXKsT5 zqx}o$h7Dg4hW=X-Uw~Ap8{x$cP=>e1=}8nSONDl^8Xp#7BqzR5P4C7`qr6ho){cU; zpK?z>v*9Dc>KuzISf3pisU&tgZ#%~CBK&=br26z<&*Kri0_x>F|GX)xGZ4vMU*z~ zmWVR3zn?K|tYB0|PQ;RXVs#8q1-Km73FOK@1__!7D2%0jer`LS(1`0e3+^|fK~tvA7$+Q-WOq?}y-YvP{(4AOd2 zcewL7`2~FN7ya@+-%c;AFQ1ETY2d+bg+6tV&c%0faXvg5w`fNIj=uytHt3-EM6Nu) zi%bynifP9nz2Kb zjHuV9*PdB2Jb2|=hi8DE0H~J1y~YMTY)`6!DJAsfZ;WpRC>lLQS-q0Rbfx#ay#rG_ z#BG=nLr57^Y+0K0?=W80400i`qMTs#Vd{!0aLLq{%Qfsz^`Fk-S7(@M+T^ecgdX9= z0x5wELxS9j>|biTym@gvldyRs*TNfnN$#Y}soJ33UO%naF1(J#9v!xifWgULigB}x z{!2qo5?7>CAvvG8;TLzxA@xkl<_o$>b;q?jHUL4jANBenK8d-}Lsjsg$G_(h17=Dm z#W}f=n48ZDJ>GbMc~>NDUN29>QHa*Tw@|;vQaR^wF3d6TSC3MIy)p~cBf^ADv9g(` zKc#;Ne-Cj9Q^4lSvN;(XA{K5u_Bf0I~WqQ)xvmTa9*!WieP71!ODl5>=!a9BR|^3)42k7!Bh!7C&1fvha-}Rw0oo zl$bR;8q8|Yb?opniF4Il_4f~lc#he=4mJE)^nT|F;yH)!XZ}VAM|-WG%|xUU>|_+Z zA~ImLB@ISE8xG+`v7h@6r4Z#KKbMkuzL-SMY}-fm``&n|3Z@zB@AMV=7(m=)DgiXP z^s;;e@c1Qfi(!S;h_7#d)pP43o4%-!hfRE$egrLDAt~u7ks&Kci_MTrbk6#W<*ri} zfjRfFX2a;L@?~hn&V}>N6Y!j%Lrzj|Ao$IQ2a)6b$I0w?5WdqP=X1$__8xoe*~aiGehinB@Zt z!A0R=dQHgmM%-51m{*` zvL8v_Mu}>hj57pi-U|<_eT2j|v4ycI)@yRgbsJ7+GDu~MYp62DTmuof1< zyX>%RWxrRT=)U7Eb092$r3f<)1Vf+8)|+NM86Z~;Bo0$g;pI{pR}GheRHkJnrhL3| zED8q!m1x(-LTqi^CsCw*zaTg-Z0ynbqbmHpls)a`4s1Ld)EPByFXSHr@l~E01ifZmx(@5Oi>{)$KfyUPmM8#aO(v1A@ zdu2~(P@D$s)_E#dgfti3pi(@xXB8n=Nx#t+&+Gn$U!_BqL-9D=RM`jvzFZc>-&r*ObS)IsS+_U z$ryE5iN+&Y#><$II4cCjO<_dfdJq)wiYZWKw+f(%)!BPs7nK*gO5?Sj`Bk`tD}1f2 z?7tdn`Rq(2r$a#YkyajxO^ki%iTJMo=ZPAGPh3A9z4 z01Ns#WQ=T!bs-v%JZ4pWnA0mV_UatN(yF|^B{lUmeH9e5yLt%Av8~NV-OjhQdN5B# zFWhnxhkWU-6h-G;ESHjetPLt0yNS-kkNl(~-eNiLtL&!h&7exm7=-OTDr}@^WPkIbLjlI_&(_HnJ@mdxy_5AkWzW;L$G z#`=0$esaC{{reH_qENvp=lbv~sfj1KsH+fv0#AhlcdzkFbg-r$5oS>t62KP8tM5WL zYp&<#XZBSZu68d_ra0FwzbIhKCzn1Em^)FrLbJ7Ao*w5*9CPc| zG29AyQF7pO z9ah^k!&<^TTI4d!%#}fd= z<-_e*oV+f=j|>3=$Z|GO04y1Dp&P}9y+|31vIk?V`O;A!cnw&8v~^lt$`nmj zQ0({j@RL-bsOgQWJWjklN2{rr`HuqQ*5agJtIfBs-txF;Ch{y;k^t?MPEx3J1UOsC z9wj7&nfjGfrlC&#PRj2NXH$z&4f`6?!{Z7&885<*x|9RIUhi-$+@;+v`<6al1%JwBkt5$ppC;hsv7(GwppRi>Rn4*_r^lOb>4T{rhBsnZi5t~6IK@(F4H>qf|?>BC+qa((hO zs+)}J7LegU)Td6Xnq1`d9h?%%69Rbb`uFjKgzwbMh+<%5Q0C}Q80?G2iRIx*vHeu< z@pG@FS$q1=6viyr{EH4WZ(SsutKzVneXay2UU}JJ$WoE@FWvAdcH{993r*fA{RKQM zZHOtR(z3_=92HX}RFMke78?`-=!^6s#XAol1>Ls#0Tx}m%Zd2o4sW+n@Ww|fEJaW}~O8A?D z-EJDZg^iCOoe{Y_uhnO*eBmlNJZ&v6&w?MP(dn$M@TC%(*{{eHX$*Zvg=j?>!$e8O zRXDI&DuU%(msdwlbQP3OA8Iu1YvUlT!G&#~i(dUqeBy@{yPd~ISJ}OuJ-2!F+(%1J z#IbPb)*jA?1cXirY%|KfSZX3kV|)yq)@sIxC5n5*2rVOLS1vzo!DK`R?W@G=7uy`6 zSbOfh+ubf%j3sH=STd+OZd>h{l)B!$h8kFGyo?;iOGc5%^t?G8A#i`GkW3349qhBp ztTf*)gkVTC$ET%%2wq~O~x5CxFOB>=owj1o#oINllcKg z8_L|OGKeZy9s`vB*YwI%p740ORgoi{-cbfw(;BfnssYvA01Ys!-}W%QQgz4zOY6dp z41}~)M$SYVUIF9Rw?h6JR*`u3->x#vVY<4zLi|VhdRkSctxS~>4lY@}PYSUptC44= z(^L4RE*z(&t}?=&mF4OiV(R)kSQ>aN+~gR@nMx4LXHtzS*_??p0~8s@sLdosL*lfe zQ31fYXN#$T!nD3m2qJV#9kN$Y>{Z6tZze!8ReYI>Z4P>0W^H>r#ffO%qu(PiD)@FT zQBpJ%lCj=Rz{|aht16ZuA5Y`L912#p!(e*fq337SMzsmn=jgBi6j=agvVE>FYqLa} zom>9NZ4|9awO!UNg<6!^_>QrrH8W6`*~kd~cwy$FE<7Hmc~b7eLwu=*7a7aj*rSe) z`9nZdPwU3t!ayq}?yjFid;et#PlW6e^h)J|kF}e$=sy*oJB+m(T(qj`%Q+j(vQBF$#7V7j?wweU1 z>Xxu-UfiJnSPoP(O_<6?rwaFJ4=e3YP|b;@W1;tX@|>3)Q^QLR*AyQW?JvmTh8T(- z3GNni?ABpasf8{qfA@cN@4ew zw_vtFJKtO7z^3g6a+8wDa!R*;rC1Q;+ zaiZ7Q&V~>b_8?0Qwgaq5nkz$U<~?;tgs{7J}wZG0kbrna1TVMd5s&|!*pg`WJGjFMwb%arvf+yG* zIfscX$q^n=KS=cA2;5F)iosG$EsjLi-PGX_vpUEbX=nrm9sTFhXiF2Gkg-lus)U1w!R{F<$ZE9#nDU8P7-HzCI*5|B3K+VIM$jr83u zsX3AR9c!h?QqC~W*QNTV0U(n(6mp_hc*jkSq?L>D02l@Wz$=SRDz5Sk zg%^VQEn$?JaN`(%T{yac4>1MkY#9tB?ZMn*h3=x!p>1K`Sos|BjEsgfAlm2W3!Wr% zzPI%LC)p}eal`JX8vTj6;VVu%vI*|C#pHe&Azp-f5`vz;#*yI1CBx|H5;u5 zB~O;fueUnzOpKFsu6R?E)&>}ua=@jXbmi>1CNpk#*rmSF9NfTb?H7cH6tWayp>b*&HsQP47 z)o`vj}D6joBkJH$9S(9G;gPg0Z_`A?E!61ty#A|siuBZrY|aD=X<3M(+|mCp3bsC_S2 z;6W;|EkwEl)t>0f|IAb)&k(Gw)lkAuKS^v&uHYOebA&`%Sfx!$JiDG*WD!$-2g$tO zOh>fs&M~Pq(q+p%$D@*<)27qWOC~{&P3y5gOtWLz`mcA0U2QB2%d#sd=X-H2C&2Q# z$=P3@_Kh+PLLOh2XUT6N$)m%xJG`Yn;{FrGf`Mn-Uo$MdF6VGxZ6p>a`EK7PYT`m0 zsb*s|9-d}9Nt%Mq*jYKVn1H89-iugh{1MG`Y9o-m56Pue^9 zlcX4^Q0U03>g2p+fb&o#-a3QSX0Mo}G$CSM_o;SVz>EOkIT(Qu&&0h}19b~?-3{IB z#Xo;{`QaC%?W%Bi!T9im z|Hrl|0=$P&xF$n5{)s>Ho+jx}>NdshO`Ny?x1KaoiC(J76rpu3a+1?$%__JiQ(|zJ z5#)9({gE3voE7!JV~|%KOzP-I3s49q@81gJ#S!&d@BPacMji`otvgbr|nbn znSPK&ZD{L}kN1ws;GfTYy7T^CXXnWJ?zsyND582=?j=v+AGi7$?nKMI0f1p@LbRrW zB6}}QP-2cSXf;P2D?0+!5Jna205^%y@w=D2>DG{$tBSw-@NL>g{=rn9{l%{qeC61$ zEScFcDO;k5PaT|n82^k!a6F>&-c{Q2h4-oh<*qaTPSCU=R-8j$ zJl1b{@zL9Oxf>SgKvmLWZjy9EC!72z^ zQc?~G58GLluF`4G`o?j7GzbLXZ6)&kJWkl);}?LbRw_`#zK|(r`cr9?mEQJPU^|xR zdhq^rey+jR1+uU+$xJ}$habLK!S9$xeGx+jYn~?&e>vV^RMtt0V2FSRL6&P}IZw-P z0vcMV6q&@R@9@)5$An_?CD^+bi7vG$9Sv$Tlz9vOfk5{kSXWt44ZJ}GAf!2KvBF7y zC|`7cbMZO5s-J)SB{^P+Lz->9n_-Izr@PK3NXlnY;s46%j_kB!bvV`#tK&e9`MC@U{mZmt# zTrE=LTs-}3Kg5alWo)mwbKfVDiwi#6*$WR)GP82J3pX+vK>z&M?dDxB+$kPz(bHf1 z<`{wY*a>d**j$_Pk0bd|-k3l+(3R*&15=gxct_2R(cgEd#~S|3a>#0rNkIBh5NcrdvP{HG69rL^P!p;=JyI7w*9_K@8dnyFsO1NnTv@cpZXXf72+({&Vs-xSQ? zq*1?r7}FiX?Af&a3FqK7T4Vpg*sh441%H;XpD{%j8{+(ef+KP=s^ymqC64WTxU6JV z8U;z{@l++rC%qC<{BNy;buy}N=>IO@RERT$Aj{@tzzj4ioQxhk9@=DBH1iYvxPhb> z6+ftt#B!C-VWU*v3{0;N_aA~ri*9+T>KPJksjRweGmNxka;ft0@Mc)h;yH7Z;!!jw z3IJ3Mu2!I43K1n?YOfmtHQBy|j2*vp*6j ziaB3;PL~PWX@7`YndUgz;_ymG@h?U)DZwrI3$RAluw*o`qAIyxaH+N5WPdr0&kGf^#o8+%zKm1VQ zChd;z@0pRoo}SBD9HJl+CIkLmt_xcv2aKR|lCIjb8Z2c<${; z=7hI5bL{Eawm4UWd=s$t7*lscL032HUTa}oWhlajaJHx+CTcOkjF8IuRh*VS;wT>} zdw%<>Nw6`AlU66OW?Si9u#I!XQ^C=^$^9CAR7~XE*5#w^zlUFkYBX(a4$*bx4!MC( z%MGE^Wv`Nx~SXq zF0W4zL|rXVFw0lRKM(cS_;)p{@i_K7i@)ll5KE-Ia`_^0%x@1=A>#suJV~c*^>?JU ztV8kTXIzf0tfz?tRY@gGxkzL2)Eh4U+}X)h zO+031$lYV9rBYTsIbPGpC`Y+jS;+GP@*?D?Y%4pyoX7Rm9M*TW?^}kgI#T3H(*}O} z_nq{TrZ3I$xdwjjS`5O*P@!pq>0G#f|}mXa2mP}GgC zc-imKtS7E04#%WX6nJhKi)JSksG^tsgZ2=2V$Zx}mSgacO=BWm`d$6)cN~vKa>M+5 zlXBvWymRqL7&B4H&?m5*Dloo4ab8}>wzaog(z4zpL3qiv8_hv*Oz@i# zgAY-xVh;aVLyT5Y?tL5_QZ0=H7MDISY#KM#%hCT{|8g5Y6yZtm|@$R_gg9dtg>yqCAG@HuiWJF6CRJFMpC{PAga81asXJ*8l*{KMyNc)QA zWN2cW7L|(rrD0?BR{P$u<*<10l=Be1_9ukwdd4Hs<^C?OycL${*aTr~PguajfZw;E z(;*{4--Jn5d4#;x{*2$QGFiM|={(tKB%IA%oQN~i&-SgndKELY4)-%Q{b7-nB8{3? z5$!71|2t`gYn%yFtN5_|ug2Ftxz<}8;N42cX`^q&AJjzn@v~=>A4&fsx%aY2B^}1H zHG1c(Lr~4~TQw!vLKdXc-Nv9&(QjLh>WzYi;xE`pLLd_H*X zD3#7+FvyW{qW~mQ0@M1_2I{)wthXvtlcu{G>`KYJpV@{Ad|8BCuNS??f*O~m97N8b z0fd1KPf87fTb>c4N=*O#ax5Ezd*mh~i7z!DG*ySZAzR@#*x!9CP;QeR*qj5=QY&U%B-^sA1sd~j$Z=dMygGmgLO&0W+H_+P#)F{nO> zidBzFMI&r*D>$jBTp14^je%1<-a?S?qRz-KBg~tQWK+0VksIBOB`!s(|H>@%m!m7; z`;tz9F97>{r$#lvb`MVPihO730s-wM-vwO$T#Ljfi!pkv5X9=Tp#nGQ_NMOV3RTze zQ3b-SWe1lAQguG|&PDnH`ZPK^pGLUu`|H>Sc?R2o?(!+OX+={ZOm+v7deqb6>d)Kmx zHjs2o%Z1^wSvb9tNcTtuhSzXSc!c2z%Xgo^a3){Q0~2zqjU@T7sXl9+1iGyL!|Ox! zD@ULaR(vNy0{a};u(R!9Po+%O!>vxct@Oct&p)} zXAT}C;j<8`cdEcXkJ*%)-{ipqox)L)8VUtY0X1T3TjZn?3I@wTWIJatq2)lig+u25uX5 zY2yV~cfQ@BPm5It#1F) z01q(DxS7}#_9$Q??Zq%zL`bjr(a%6z(h?|Nhs78zN!b3hj5?mUtiolUt(`ZoJ@1%M zk#QYNUkov%pc}(PD9`3oa6Qka%8O+Ke=gWA7VA@lbZViUsIA7&7vhg?*_&I3$%Szd zCCRP4AhZFY;x^Low8ZdXfM#Nn@z3E~SG+5Pa_XI-S;0>)%s-{e+(e|7FgDpTDOXTQ z=KKKF5SoSIQV2zi6c?ovFhMRX1vZJA*Vx&u(MD$6yaA1%aWu}X%!^0|*G$FWMCcJU zR`IoySFnVf?ukev`T&P&K|TH3xXTO1?_g3~;IkvwI(=~Uu)^X>4_aVNg_5^4=DS53 zf_E0`No5Sb51p7|v0AaYTD*~0#LrQZuk}`Q=EtIjO5lt`A96n8ah0$s5^!gfiHe-z z_U8yoGnF_s`~utILpyAs>AQ^5c8_?>-`2Cc<~r>QzKA45#Af@19Y~Y>C9@PxF(GW~FGnWD<&I2MpKe%a3+vO`K+DPa zW{3MuF1qRpJ;qy0RG@rz_ed4X>v=kaGEJ$X_3AZHbJb;DH&&6SLDgd96M8KNR|3X6 zeSJ*@PwwZJu}szZ?e=9G!$7;7|6N?ox`vnRJ5r__@tbd2rcx^d?vde@w~;uJ$PwhQ zM?E;rDD6rpj$lQtP*hPT1h?kY!Xg5VQiu|(9_X|OPpd{?P2}={N`&+x?D7w-;`)2p z1hIj2sb+hW(WI|E`Pv!Cm{rTJn)K#5L>OM!AP1=8Y7hje2-=pJ82VY+NLE4Jf2YkwD$H5FvmXZAup;E@^h_WQ}T8!7R-Zl8# zUm-G+>@0Avf9nV^I{QgU@TmRKV472qoC^I*6W6ICi5wqc_r;`2W{xTyUf?SZWNKY$ zXi}+~T5U1#qMqf28FgkFv%OfZT1GdPs}0!1o3o42tBGkvn)-)cIXB^j=Lpw!wp_L= zPA-ukUS`-FZc+N>ehCo)p|pU%+wS_;$ASz7E{j(oNeBTGL5y;7qv3@i2wDWDC_PURF&@D3%J7Ohyo7PRnLQ`YN?gMrvEFvxmbQClMAZgmUUQ)=+0yUxl9 zj2;7AFEb5JL0r~)Y+zfj9F|(Q3NBCrHGx#(3INRHehjG+mjai~2#Uc+Em;_x6dGP5 zINJaV;gNdB;jBeRk@+-~18XasA&xx%BGb@coM~sq9$(fsEXNSEPb{l5MuU=L_>KL;#q8l1}UgJOrncMM??UCYl28 zzz7i#WuaM(ZP`!O08E9)T|1nvIw%yZ@6t?(PjHm*Ge`XGaw(E_K?;beBe|jDN`a(N zIkTgcQLC;wUX@-RPYE?ZwNxy3yLCmeir11=VKPkzcef60G?UnJkRUI>j7TGVKwzf! zLguQrl^l+(ERq27s|8aWoVtXgi3CwPl5#R2ZXFI}u0eUdC}O#%hKdu`cq0BGV2X`T zIuKRShq*p!6r&CgfYf+H#9An4Fn1E^?Y<+y^UQdo(F%uRkHJemhXF0lBdFqKQG6r2 zub;O!z((_dp=)M{GHw>>qti2rfyoy)L+u?nl!QrM*AkZ?;I#!vFXCW!0_Xxj$tS0( zOy9iT4T9}lhqj#vWSd)~GD2F(8OyV=UNvJQ(iiMIQd-y=n?oul2*S=vV4o*a#}FZk zV9;;E3p7fKl4@C?nM9a6KdbF#nOd!Wl!+_!Fj9&r86@hpK{7&} z34wxPa)Knhc2VxBMHD9V)ouB?q(|1~1fC)LRrZC(v1zo-$M(M^K+o5tV?UUcB(=T8 zCnK^c;L!*lQ!%NBq`wQ(z%GiTYU_u!&!`fjnJ+b$1~G;=GNEK^`|S4jKurHYd#%HP z4JZ!;wHf2Xi_nhP-U3z1k!E)IC>!vofPC)wCl^A!+aJj;+RF(sOas6e0eL*FZ)itX zTsK4b)XN4C#IR}Zzwd^*Sv@m4^@hDp_j-t+zB1EMI zM>5DeFpa9Zokszh6$E!LF`px7Z|is$4q~F3wxteAat->XPMX!r5h@zqw|luFvaq8osCU&k1I*#%3Uh}wF=VWF&TUeal9qrY|GNER`9b9Q7j@vv1{=2 zqp2e?kj_7|%2*h-OY=-j@$s1@g)5@;O} zE385rtmbz*c0MOqfdw2`n>#(^g$V zMnMWiEQ7@^^#>{4E`!CE^q)a)A_nCQM4b?nPIZ0~ZiaKLD&dn0(ld%m=iI!D?;9xi zNd|O%YpT#|YCeb{)GwV>=9krq38|4Y!-~R;WwWNjbAyUXgA3|tyq=Cp9w%3QrX$Ru zlPH^Y$>2@_K@A=DbO?^o=WetbZXF|>#Wo7WsGO>`RERitSdyrU&_S31co#0a1s!S( zDW~lNekQX68^f-}NYr>pX<&`IEyg2?qivgcL<$JQ!d#|$XrRb4WJE|PK8GOz>s&l` zLA>nx7`?8vr~*D9{5T{KQB++SP9wVz6dBacAR_o!fP`hV1WNYGMF8X%O`C59`pF7W zw+4j4YylEIwRso_6+*jJ17l%TL1)uM!epwO2+CRR$r>=pFd&(b0&h~!5k=iEOcrcV zYL-HzCwro+mnI1qJPB2F=8ZUa2kt8uZYjGbgEt=m;@MuidU zj0I9TBaM)L!DPE{cElMV0Gp7v;#65JB~Gs(J<5jD! z!e%3Ks_o2zYC8Eq_g{faYtjNV>1K?+*orS?1q}qYehC(}5Z4H)%orE4xIi{GlIB|$ zC~R~>geowW%mY3q3PEDr3oJlNXP*-inTY|G)%buU&n70SV-rNl5LmTuj}t*^C!%N+ zv1{_S=t>b?Dk`n$umieu3E;)L>6Y)59UXPFmUGE5LMQ3NrmCiriAeBA#=u)ENw-Wy zVm@yJHbPKg)Fq*{nc$Ems094nMVU=&fb7?KNPwuikfy9D>D>?lrfX}7${ef~FX;%Z z@ZU3PS(P#m;D({WP(?)wOg$)`GU^a!Ya%0VFG-%=nFbv7{Ei9JOXY3p+rFH1TeZq z`-ThJ1kGYj*CwwWcdHjckRYFlvDLSa6tzBhO(@K;&a5g*vZ`&fF|J$;pcGoN^*YAe zY0IooVogP@rLL%%HF)$Jw)sB!0z7BU3qfb`W}+RlU`s;)aPjtX!17!qPE6tZEiP3a z3DZFQEU778*FEhtJ&BTqPeqI)LW$nSGB)ZOY+GHYm*VgCaU|0}G|fg##r;M}_NXSa zKXz*|X2fm!K5@2*4WXRl?9ovw9CcZghad=i=eQD5s#W1DguNQ<2?L_}ouXlIX29G& z*=sq*hXs8bus+P~Kg`a1@d4r}35(S5CJQ6Lm_3>nssdx0XTLu@@Fp3dPh4XNiIS9K zddo#rXL)RYleq9blb=Spea3Q%y@GMA5k0%RqQ>ti^5!UH3ba$DAT?xD7|~Bl z^~5e9$5wb`vqkKBT4ot2{xEhcng|R9tQNg}R|yzOLjaP}xWXbKTtKU3LL|>sZA`_i zVArZj6+Ni^W_3clB`{@pk*g@B4)DU&-%8o9lG?4BXUHU1sQ}o+&g>AyC2YtW^kK;N zoMtB7pmMwzcFG85M^b3e1?fAHGmulrQbkdP(8%=Dmg@eFG7Yr9FS&&wQ&D@-9*Brg z)BJyBR~fGAnY{2rUbjYhzuru)q6;*`Y>V-wXV9A+grb^N-w!;R5`yY2;>(jLeCjwP z&=#HADwZ#{*cOL3RBA>#DuGRBi$6q;bx|VKJ+w0pFNUZGJf^6JJr*24tY;%rm^Im0 zO)5gK3+A=GNo+4mZSH8LEVUJ4YGVqrUV=pXdEA8V+!M|Nc5~yPTStu_XI-FBBo?Y| z=v)`)=qdegLPLEaJ-b8JP8{(glLd*HHki!Q7f{t*Ge$o%=x(wa^jJ;MZQh&qZ9Ls# z(RTM{ClHoB)bTf1+G>nk*|TVGpuOzaPYK2{Of3{pvu?^}FOX#`mZQ=yryxMyM6GCE z^2XFs@`~RvVsV0UQU+E4AsbCdG;v)>5QfyJbrL~jj&k9t=^tcNK@$dsCWBr78fvLE z6u|&$=$HqvO)!Q+X|!tb`@+=4LU)27TOEMkj92PC5Q`i35ZS40^$I9Sy8()?zr`Y= zvv?D+^7Xjrnhb*eD{Cb?oVlq%xb6h4;YrVznTNkJUzVAInVJuS4SC3;Bl2Vs3a<&P zB}Cf%+YK0@{g@jt7b)l0dD#jMWDCGKvm&_lX_ISdY%IG4O?`!>^JudpFPT9K-q=3y zyPM&66$RQiHV-WbI_7&gD4TY7ci%ZxuAHC3hHE>tZXBzu?;8_&jYJeWmWb#g6hQ9cOei#i0l;XXGwayn-3DM3ZVs8+aXG&Hw4em=#MyinP% zQLP%sRL@4mOI(bZ=1~Dds*$xoM3pAW(E7kqBVK;vQmV8S#5J-^*J$+{%s4IOJ7QrM zxw^nQ$A#xX%^P{J#USsO8%`Nj*C;MVTlk&Do|^gwxcBKpZ2aEv+Cuo|6$480XHe3u z+#0!*8GH~$MH*#FUdGz!Sz&v0t|w;frP|PwDuu*}`x*$2|iioHt9@#P3KQMLDeUeR;aJMR9U#1zVL%~xKVEa^N zBxAy(5vqoQOU_)>T>TFjqq{C(9gRvnxhXQ8p2(cr_on0ZB*7|0F}Tao344S+JSJ3B ztiwgEyLynI-sK>jIhAV(X>u5jV|jFO*Jr2ES%Ln=?vD->YO2IS|`BSk(pbKQ< zG1(MXO(J8&6vHW#FVxOWYpyKnRBvwbU^;Yr6W@SsnGjS~(uIA1`$M z^ATw~?1|$Z7j~8)$u=T=$`vD@G3XP;KRv9z%kZWjA7ej0Zktkx5k_f2g}q6h3zbQ0 zQvBUMhw*a>LZ&0ald`olzBML8e61SFe3zSPObs79g&-Fk#<`S|lQhZ>rTSkY1xhgR zt?IL6K1R0qVwUv4U&e9fCYn}Bk1KgivD4vobtt<^ugI^oSmCuPS~yg#Gm$NtdX&uR z0WmN{AFK+%XNi|4QbFFNgEf4&33t_?g$y8bfiVUV)GagB5xr2=7|!=x8En<5Vw7`^ zg&5{sG3x=zd@E7l{Hd4PUF5cyDtZSWs#|xb^QzR-HI`ay^KSJ1d}NU`e6aik0hb$F zKiZkGuM1hS!p{EQ(;H{QO~QJ0V<5W0`s4`Oh6*)(u$&e4D5=z^$H0L`Z|hLZZ6-d> z8qT$?S=$VRmgyz4R4n-N^)|Kzpz5F*cU;bQUFd-=sls$y0T${?0l^aiUyZ9rhz${D zQV<5q`HaN02??v}qt=pHaovGCXt0Zt$S!ZJpA4bL`|WzX45e2mOUc8~9j;#4_IN&3 zb$OyQCi*JGD}I}eBZ1cGD-M89wnpFWgb>iEO~bA?F0d`@9MdpG8r^46|3}n0X&MEs zVQu<1`K}-N=fG>o2oR#+OU2JGutGDo~s=Q%N7YU zg=7iUY()snitU74$?9s%tpJ(%pC?%1*;(UjeNA(BRPo+*@zjK%W<-)kV4~763W$C8 zC{5SyqJ(4#rhwx1t3!c`F7hc=n@ONI!BL#qs&57;p_`pmXkO&cv&9aX18z}ss<-{g zs^e#SGWLWp;_FPabFE_oTCk@1kbA@Z%{Az^+UxR0CCpR0-rUR4OOXV1b_WeI>f z8Y@25w^hInIPN?r6zH6c+jkS%deL(ZFf;s6;HCIGi4pZWh}@DUXHv&BVjGSPNs>ve zUx)|{*Es3jRp^EeI(LRN8-aFf=uhZ8iQX3|AG!g{W(O0!iV$2UFQAxB5F_;+cL-*5 zNTKbdJ+mbT@ANwD`-^fE`;xX!Y*V`CyME$1&wgm(#(lsda0&@YuNmf7-GGvYp(!=n zGrGZ1#L*DG*zjYSXS+1=^WASUzrL2E0~7T^>sxYx80#&aY;@%vRkA0>uT?hOzru23 ze(bvSM{hcUEUkEU$pdK`x8{o#Kx} zH(5=`zOB=UL}K)X<>UlpXf!LE& z$Pn{t6J!sJL?|Cpe#)q|_%67iwUtx;FZGrPhHnxu!@|Zj8U%V(GCpN5lAK!J>$IxZ zB&|T!QAN=i_kYO1fSD8Ut9%tWlF!*~7-4dBkap$)4EW#};AdlU8vvc7kH8*JU|q@m zlvk46mK{8H<-ygd_EIWYD?4=)shG9`lA3Q$N}781MtrFk?=P?f`+!vJ9A9o)caXWv zP~dK0LZMrDd4k@J3*bOF6En8nl@+s$s@6nOpq;-hcC2cfJ2q6~iI|M}uRZ{CbP7`Q zqh|ybfsq5{-Yu)ZI<3-Tj>$q%@gPuQA*lC5QjsxH8H(&Bu$jY-$rO@EWFP*nc}5kj za1mCa)m;NgOZW$~!YLTG$1T01Hb+HjPoL2qaUJNZxsm*cZ@D8QKEOGksXm*q-}vA) zs{;!%pyuC`;S5TT$?)26HSE0EDE;tWT%9mAL632PePd*PP}qA+iB)|p$LPw3dS)+?oN@C^RMDT_I|kYZ~D#BzQ+Kn;0k$;~%bQ&HW9nFF>mrm6N|w6l0ReHEA|? zJP1=85`Y~~t>TS1sSn=7iML8YDGzDIeaq33#%6jb92eV#llX7c? zSAKV^uW*s^Ro9y7U^nMyy+#OWQQfwZw9dMMbY;WRZuv^=+sB_I{_3uc^=9&%;nl!o zKj4mx4HL;Ca6`KJ@dTE=Y_W@3@_5teJ$#8Z{m+0#2b4Mg#IoS52x(Rsdsf=OQO}80 zF4}A212(?)f}NUClG8~3$PGx1t|>rBng}bYoxA;AG4EO>?gHcD+D8^#PiTcr>+X!s zIi@@8>;$oG)2!VI7#6}gnAC~_2X&cuJSuj3g|r+%YmZTA=y8JW6q%Jt7CLQ`kIQ_R z)`K3!EiaY2iwhGhF9fB@{GCnkWwjfNX`6eP7kH0dFH=S0(V5%-AEOvBE(NcU)+@Z zbF=V8`N&Nkv?#WGvu(#52pJAu<|6CPeIl$psDtU1SoS|P^zD_A#udbVIDx@ribeqM z+L?q!gs&t~o(-i%8mSQ~ruk~m%VDx>x5NnNyz|RSz<%^aBsT|g1`JTExvNIPU$%ot zv>U}=2`!-jo@fG76w;N4?ffB@*yA>ZRgTQ-osRK>f}UuH z5nM084_mtGXb?)xQsf0s5@#oe<^Teh&%ti2;0?n?(2mnd^+M@1 zFb}h#Q3|>imjH4T-Yqo9P)wCo34L@;tjS&(ax*I0(`2f-`-A~E;`p_DAwV%+s=A;J zgL)rb?!=Zls&u6MjRl~f4XgyR@u2oiEEJHPq97meC!kn#!rIuh@;Rde(`RzElSjaY zs;m-Wwx+}f>+=A=?Q98}TCcyIF3Nwat1OYUwsZYQxKC&L8%B#+H^ousa~`wvA3&~N z!dM?z(t0R<_`y@~p@#G%C)3suvbX zfAklRutMSW8|ADcpFvKDHo}7pNQ(IpjsJ6|BJZ{IRSw)>p2=o<=?t+&*{cvFy?P?U zO?b?%wR+ZMjju;Tiy$;985Cz27H5`=^@H>E-#jp`mJH}icb zNH7x!Qx-ym&1&ep9s&D+>xi)rFFk~(cIz)H4~zV^EC{=0ObzJZtrzkW5JTDX^(`yd zgfSkW7ho-jZHI{2U||uEE;Za0ITETeUJl@cOW-m8SKqO?de?}s5MHUKdp5*m7tbC{ zJAHxyJ%0i{gu<@}yN8Rcts2Vh2~xoi53Xzybbi)pyg56II+Q9spK?)NNw)qwnW^q+ zs8q%}+N@ceV8PSC2GwSOZa+$+O2?lnOtVUfK&bhsy$|=LRC!OX+F&glP5FV9*&cV! zDMzggm#N;Rmy#Zzfsv@iG>5{b7%`mEnhWxnWa6{BIr)#sjwAYoe)j?$^9=Zns&|9| za~_k1>5ti-ujNV=c}w9ENevj-kx>&0jNq3Twl(|yHXWb9@m9?B+vk_6uMz>TTZHvt z3jNQ!M)RD0eH9|*7}5jW;}Ii>IP#wX`@^Oq(240-*JClOu{)xd8JUTKs|+gE2fc87h$G+=NeK)5 zkC4y-16KBrg)zcJJGB{jiqa)B`5w%mf8AExgzLP+^J_D>HP=am2rLlH6GhOZ9RX5^ zG#}Q>3x_C@v`jwnGfCR)qis?pOq3g*=^0!JksZL-vfOfb6^7)h$NW;qPecQ9U z5}0TA^?`1%f$slU6#Ckt?RXCUyW?wz1V>)?`T5`bwN>Fc-{c7#s=db_xK)iMzNj~C zvf>gE!kj7d*rW4t%~QRopCQrp^jt!8$V80JvUJeS3@sLBuJBM=tDP|>U z(kAngvr~#2cxX6c#jSzZQ295+m{>>z2gkS4_yVt8GAG9IQt#k+YERJk;EP0j_5C=I zSn%VW5Khj3-II8TQNO&NHzQ19f+OhNye57qS;aj-JP>^`nOg&vKXgXhXnpj8`pCHE z0_qQ>T>TOA1d;W;MGOLRKy;;Z-VKpi*nnKM_M@NyCEhfpC=d$-dQ1n7M+O)jS%VXB z&J736@C6d`Uc-%gRLLaBU#yD&@WG5p4WlV}aysNs%4H6K0Gjk8MW23jBU~Qpamg=; zb~IBBd(;XtRHAPgezf$H?K z2YelbjZlzMyNG6zK^!>!)3zatZsDn?=7dN%uy*YycBW^Dz#P1BH#N?@moW*b(G**} zxsdVBE}geX?pz2h2AamuJMR2^BK@p3n@Ca=?RQ?@yCz_$k1#<;g#Dnbbz$r-0yj?r zXfgTNdW5RU8R0UF5hB$o0YOkSmQmk^K3Qo?wLJ3lF2Yufnm@b?inIkjlyhb9??+XBO$s!(j zhY@=MEU>-7I3>;H+HR*J=VE`cIoDXi^=98nAsdy{EDb*Z5qk^d_)~$wh#pIto$WQjYI~?F*2%0N^h;f zuz^B&%iCJROMJD{ZtEq>a@Yiw|NMMd;|KAGd#vR?(WXTchUl|8&*#;53 z>P__Fujd)X=7=G6I-@X6uLfhX<^UBl#o&MA-!^1o#^gLwqBik8P{IZ?pP3l-i>KyC zq*;bTXT+U+M_D_hk{;rms0H6d8G7qqYwe)4h)35{!Gax{tDU&29|o8{8X3r8sa7T2 zD`PEd6U*z3^!F(5qyA^BOh!nC@Io-@@f3n&XZoYF|3tkO(dv6OTx)WZ-*>0Kl^)EP zlfLV&T_pi-Y7;7__#lc!+)w&1uGEn$)`EHj<<5|9aN^dw@V!&Sr@&uS_Mtl&VfAoL zRfof+&v-2T251m5j~h|fZw@YJ{Ei~e>;>@V*ogLA{dvr1=+YT3PpL0fG z%2P~t!ub({eyrH?5yD~M)U+3;;ph_yu4)X_+H|A+I9PT@ zN<(tXmAGWmySwW^q4n62v#6`I9|3-b>z$ zuBVCe)UI9>aJ_M{MH>mGD%pkr9iQ^(c>79_){BGYv{!XaRvPnD1rG`Ai9L(@rvV($ zm)T(@r}d4PcS~@WDt?B-&|8Co)kF#LT)1^!0D5^i9-hbu=j7^N+g2JTB6<@`kJ*z; zo|r7&!DMbg87Xtq4-WXh10%ZirvuL8l69hU)q@psg4sFFHu955W{2&0Wuu|i89RQAAmtG()_lw!Mh!9<%v?Ug1Q zjRg1X++MKvV6?0@?d~kL3C*=7Tozj%HB+|f*#t~ofz zDiLwa_?h4DlTd&c$$lWf7R=>l z>N~c4Tv^=lWO%Lsf*b*lLJdLc#?cCC`i+T@OVK)~TxCjVpAu2E`n$*H&?}U;3i<|G zgLjAskx|h>TE{0>qe9FJTIRyt6dF0~KxpfwpU088KZQah;h6({!TbqoE?QuE3`$}s zvSCzSO>u>YtK9bh6Dm!M$h#Q;qH9KsT)-i1(2~SHQ^qh3&S(jJSgtoZ$^D^$`|(F> zo*Q&>ObYR4zM~J9)tt%QH4<>e?SOv;c!rasVEPGKLQKCb0ansYIE0JND#0I5ESqYL z%+6_JHgrS;iNZZlC1G!AX%4_*(Aaq%g<`gz;c|) zL=azV^*Uhjl~IOzboj+v)7=hkoq{IJn5u^W!gQ#LyMsxF10?kaQ2#AWlhVKCkPv@D zV_)0!yc7Cf1cd|CMf^dbzDDI`eR5G_$SQ@2f%_>?i%MN4Pf6f~3|^{nBXiCr08FNz zkUaQR3_aepLziKW#<%+0Ye;)s>bxn{oT21e47P$1-2E7TvN_N2lL#Dksh#2 zK>ZTcuW%fglZ)61(?ze%!DkZ@dPa-@esQj?5DtR-WiObtvc}ATtX{@?tGEm0NhJ+o z1%c%-P-TToQ#5~}2I@3K$bMAoB>um{0usR|fHQyIVXM-V?k0x&KimX}WLhY$&CK(vK48#VuAMQGffn#ri(>bADnez~zM8Mh*o-b=?jf?gg(pY1=(nUe6b>tP^ zg2z=@aCAHyq_!sB4UBako`Q-=CTqW;GBC6Afo4lcLEYIvH-=`Z&`Lkp$wg}qcasXH zLzJR=4maR+4MAVwM=kzwgWabNlj!-$ToWjH;c*OM1M!NpA*t%@#unw>{ zTmVSpCaw@$AvK7wsk$hM2{loak-0QEWf)ES1=9x`N{K@=cQBw4E+PRH)iJ)B&n~8f z3#Ec3^_qU?$XijC`2~`3nnERs|p|_sBlV=yn ztSH+{%$(W~NPlWlNI&(+pYwijOZ!?Uvqcfl5#7Ejz-rJDAo#td$>G3mC;Cwl<;Dt( zTV+uHfv5Gx1u)35KOqv2Y1l#uG%ITLJE;Ic8zyjqlSY3%sa6LRU2>+p&yBr&% z3GxH5m|fYE)m&?YLR|o?Q?QrJNke4Jb%3RADjRa& zBvc798C$D7nmIq)E*>LncRwiUxc2JOiRkPhb-;$n485bi7fBJ$fkltPanh)$X}L*5 zo-xzM276}~Ec}!$(0>DZPK?F7>kUA=N?|??y+iVitvz|W(X9tv6Iy?M`SkM6NPE6q z#kt;@Oft{m_w)3-(Wy)lj9DG&P5NkhIyOJ&i;MEb5JQ<%*B~{getMB`JyU-3oftE4 z?IT4_5o%+FcNLQ4F3i_5ahoWY>j3~*zr*}1eRh8sS7Oc@fFhlzB2It?NxrjsVixac zWWr9zD!|WzKY)2w3m3qT&pWSd8%m}M5}{=1Xm3m zA{o|$zWJUax(z$7I)B)GJ90Jceba{vRzrq^?JOCfzJsSAuyJwopNwUiupW^cwUZ&3 zt+8fgdOz}-QLip}u8)qti=mEO(LVKp-{jj4;&L(Ed-PPtF3FYJeYpBQRdwM|L-Yz}I*@>hzOOg?=1hZIXjX1b)y|DnH<@JLI7#na&j+aUzKy3)%9$0)lev-THKjfa5UxRz;ArR6{^kA` zI+x2s_(stBJ^Tb(#XEhP36=07R?_srE8;+K6qd9KZC4D2eG&Sr0e>=4oP|I%1lZNc zYN6jY%Qci|;pWu#&B8_Xogt^l(y{9DYYV(_$x+|QL@9uuLI9Ur%yL)AiXhh8xZ0pQ z*wL2O7RPTq$6@k$5E;-1Xi>{mThRmuig4r6bF!^edYNO%*4iFPlcUKeWtOvQ_iHp+ zV4v3P!W9!ZtKLs=V2^QXdGtLRBPSMmM+o&)3G_?$K%p!U1M49sS=3I4J8k8n7+c$3 z>6jZT3(KOtXv3?Yp~7>c9ByaKM+aaa*nZDz42}hAmhcRmFv8QQ@;zP>v7jj86Mf25 zjX&-vi#XAHkW;AGOZ*MFA`!cV$zOy$*~pZ(sEBs9M4Z!_MP`Fu=1;+V#!yQ)_d2E0dy8Dmx zo^()V+$9Wv%oGUHJh72(@2uQMsUD`~21U#_k=8?lF#Vc?7)I{gFcafUe+g23W|d(q z6*}5RM=<0d&V>G|E*0FqURYl*(o>Fld)~Yypo8%Wv^&=ad_oV)#eFE3!gG}!XrqsE z=-~PK$?NrSLv1m$yfC&yoNX*C<+wk=6mmGNCgR#Kv`^uhnzr5PL=Dod`(O~er|uXI zZyFGr-|e*zZ>s2F>M~)30m2d$(DqNf_K+EOFvE1LUZFR1*L6ADJ;2=Y=$~^WP0Wg~ zo?7+N9!b0wPOEfHWj?ni9 zQ?{B~7tx<7WDc5LvFEa6o(WrH`EkAPB?RAgMuE>#RS2pt}w^o+{J3argaXYU`md z@&LX}(szd$DR_nMblH8pTdU$P=J<8unSsG|2%nQ1-vHIuAF(liV#;m=ZX{9BLTG>J z+V&)I)kAp_uR#k~zu>_xwHr2#Ce-tOh z67^QWNw!@Pfr3aGsh8HllO7WC+hzrZIyIr?ObY1U;84Lx+AX^j(tP6bR|QzVL={w` zz000AYVm*-7tu@RlfnS+kBmtaf%AgY{l7=E1o4J)LMl%-x~eLHqslM%VBCx1JyW|= zfTt1N7Lf{lV*UX7*H{MGFUb}mw$+QS&&oeJ1F1n;4`tHIcK=02;FM3clWpxU@!oB? z7x|FK@dtt?E^kK;1|!x7N`n!I5GoEFY8x`i1U3K9$6xldJ{V`5AA*2Dwg*81k(zFM zurs)p6OTnl#2pY&GW`sIpkhTajMXGA)s1;|qkaZ4!n8m~N|-A#=_Ms-&Uw{u)wSBg zM$WC11HpQBulcYE)u@rnsHXx*m3myG7O+TTRG3uO3rhxpa0gMw3?W&^9I7;%Mj;UN z7)g*Yo~%cpP)mIPV~TBv{WM`!@rZH(dKqbY(FL|6Yxr0g#RrxPX-Cr0+@g_-Lu~Dy zP?m8tbF#V93C0ft<$N?2C(`W}=hS!&N#CF?zz&VIDVqBex~>BE9*{rTwLm-WitybO z2pc6Z{tow;^DYr1RS5oQD~F$o-eb5NL~K57(ib;Qtp%Cgy>UvxkRJF$Y5Ag(IwG(S zjR3yHmGT`Ywi_hU$+k^2(Stq9b_ex$_*#Ke?w>md zX;F+9S>4Hi7AH|w8V2N{s~6W8Iv&cl!$6aPMW64Z2vPGDt=}fzhj1c&kN&rwo#EKk zwd_zJi)y7;7tvRUdn|&rZ@-~&A09Z>Z0vQuJ=5gzL4eVx2=1z)5DleF8h7))kmoY6LHeXvq&*ct&V30pBv)%*4O+ zWR2J7#3Qz3A&UXqwsMA%Mz>_MN8*(SwJT*HhsH#9C8Q&b{JsAW8!=})_5})o(kdVX zI(a)Bmk78=lqcd0lvGm~WzdrXAR1`1VunFMO&_*y#&J`*278(da{$yx1c*>`k;a^d z+2nhMD35rn!=O?EAmN3%7&epzXnV|S+3_ML&w#T;*F}DZ$sdiUbu+&VttTs`*tERY zQZjsjhzqk{@W00jF~9r7uxW^MZep0B05;9@q5{b(2lecH97VWo-XKPc*AI0U{>o|1 zwCdbNF1?6>cC|EC@(lx|kOYnva!gnTsqNv6CbP9hCc@)RJ6m9zM^BMdRr-yu24wgN zFobIpfx^dSK<+SjH39jZ=gK}B`4BpjAiq6Lws5op%DGZCgmO{4vMJyZXcIY>BpqHB zeX{a1I9g5rJwL-LJ-n3D-`WSh>aryrXB$b_*afR`6EfbKX5Oj9rqnR#q_|?zun&`D zp0|YAzh_5dWjav%fIm@w6pedk6g!fSq*f}(uXIwe#ip#Q5XvPI>|ASdRu~{ zdN>WxKpcdCSoF)x9H9S_HM&DwmhX-rGEI1u(P+)pNy4x=<8K6p$fnVHA(fKY!i$K* z6p*&Tk>-X*Q)rr+36P^r46`J4lW3!!%P>EZw~r9FDIYdGy#c7Ix4hpZz~P1xlACS3 zPj8P4Xy|p?omyHT-j_fG^T0O?@xl@U5710se41$r4ZZjk2W3h7TD=tnTojb6ENU?1 z>k3%w%;gr)e9(%?c!R7G@w-2($1Sg>A0dfF&}?;B_%k`paS6*##X{l|kR>!$sn_6S>H+aWewPYv@9X-M5_u=pvdt1u;5ht&8S z39L=tB!3?OZTX)^9#c#(4~x}GF#V9~HS(Nz-+xP|iBBvcVFE_=gYWf}B^(7PDTYX+ z5SiK{2;U=7JeJNCwAMog3x}_(!&d?-BBvO<9f-b1!A1nuH1mkN#k=)Ik7c=))O%8N zLIV(&5wvEd%XqyLEcOwN5+6apNG3Nh1J_DrW|i!)16x%|ea|)yHUZ<{graOfERc&u z`bWqv1v-t)=RgY5A=)j*eMDUl4VY}pP(y8meb_Ll-Ug!N;Q7(7;;vvK3^d*$(Q+m1 zCNl&kF|Zm43tz^=fEL9B7QPvtzMM#w2z>f>L^Y%sPA^`Lr(Ly$-lXgUxRtxkrr#YLBS|7JvB4zYqD28NSDvnYmGDj?Rv4*e!__B^mIbuc7P z6p;T>F`P6~3BY09ok(uz+AEX-m5RltA0{dqStLTr?1;uqk zSA~mD0iZ7bnMDbidB=AP95t;ne6|=Ctp!PwmSRvYb^w?06WoWrR5HRge(TJK`w&iK zxXk&c>4Y>=3uS^CzpdOTG;|b+Vf!fy+TFPQidUZ9fZ*(ID=(oS3l)w`&o5*Y?7_(1 z2UMbTr)MG+!8Pd?c~0`2tYAhu{dr9y(mJ4}IwC6WPL1KA5|^?;D>1StQF5is%4jRc z_4m>`K4n&z;8(1k7}eOw4u5>kU^RbRJx?D8_TQpq8@T`Vpg0JaPl47sBhi-)5twMK z=zAJ}gEB*hU#)^5h-Wl=%Er@&7~b}W!OZug+cAaI(Xs)Zrt@_M&KEaAAIX&1k1s>$ zk18!gOq(H#36Wi1g^*dCEuOE^5#yQ)&mB&vwI<7+eElwanLYf#nx&Gmz}7)KIbJ37=yqZL{Oka1sE0uJ%0}K;Fq5QHDkkwu*hk6 zYYIrkFjT*NlSaL-mOjFM=Uq(->%P^RCFTUx!1AYhHF$%~!Ez_kQyBB&Tz;0E~aSRLrYGj8gn=%VA(K{S3FnNF+u$mfJr&E96 z@It!obt-|9YVgoKl6-AZ4i;s7EH&D375xG)v0 z9O&ew)QfVD>PapXxEHB6NV#_F!#D>xlMNyXD_~mang?0KDwk3~lAJU~096Sz0XX)K z00M^A9gh4d2t5(7X%(W@ZuE%`uuoBdDm14s&Q!5!6?8Zz$s_pi5 z7)orc@1Rgpb&7EEKQrM}M>V>UrIsXPF6l^(ifWBO8W->?n7@;sC=tl1(j$*u7#hRv zrDM&h#SWRUA5+Bf9LR-c!pBWabhT*E#(_J~BcW0^FtIuJo11Xq;lpx?F}uvdSp`RW zo{f{`zN(C1YGhrp4dy=bkE%@Px4|#GHOe1JtVJcCwvPJ|_ zKDw|WBo%t2^isDmsOGPBotxnEChIUzPhSV!ZBkB96(#fiO0*;cU$Q+HV+EgW;=L)8 zoa<$KL+f5IA*%1d6dL-OYjwTqHVqgv$eSCN{g zC8A7(AK9Go7IZ%V3C7EaIbLg1sD(1~fz%67%uPV35n=?`1yCYKi&>ZrV{ZX1uZ@nJ zzkM$W|5YQHX=E$tA-Xo7V;tBnWz?mZm-1f{zo)^fS*#x<4GJ-+?D3O}=s^uN4^JyN z-HniijGS6iv9a=cH9d?7NSRqlVrz`Zo~mYS6lB8ND#)Lx0jN92JsW0<(15WBjyOxr zgbiK`k8LxnF&f<(8+2*>@*x2}gN=T}^9!9i!|crh|K51JB zyEL&S^Gbo7>q!mR^Ki}~q90(n;#`yL|4ed%0r{V zCPCFB+w3hsO$m*8x9a$U>{+-NNmVF_(9pu)gT)0GRdl2mq5d(wlbyiI15-UnV@0(gAQMAA)~CJwp4K&T@!Cgx7rvAX1#ffnWrEz&^f?WWo;HYbvpajQ+VT*Bwl zId8C$xxNP&Aj2lt2?WLDv7x635T8$_R3L~(7E_W*i%@1kYK0IPF@1*+&M2)CCJ*{S zB3IlaD4I0ghtR@}`z{m9buy)nit4&=<;qI&x2Vu>1;qr#LwRAijNAp`@Zi{v@K8y+ zN8a3^>h*)@mlf!=hS<6URicig?cu+QpsB8wc4W!0o#j z%q2-GWD?l+%pP$F@}F_c8463V9qUE4FBa(g$U_(E(-XU$Rtzi~UU& zM?fC2S!u_ZDU(}`w`78D1#^Yn>%efP!$r{%bK#$8xmi*c_%djN=+-#E2mqs>91usp&9Taj zdeo}n5Vc<)kSLn~7qlX<_PEp>VOEa3IU7hlDZv;83X8sF3L50U76_2|OMePD}K-S^&8)~&QU5P z8TzJI#$sD&9LX>voq=cxB>uzgDU|QOG7UYHNi>5n5#uY2<302qfRH)w_ zai4;o!*Bdm!bOp0ES(q#zDSVTfGT{6#F8s!h-%qGcLKtYY~s=sQ8M)c`Pe*cQUL;! zkhv$Ks%6u|1$o8Zw|Mv$vNC8OW#5Gzib4!TCufj3ow-w)q@~vFKK*g7)P155hV1QT z=?lTcLXD|5h*ewft>pNs`b$RRCm14eMT5;XD(CAUHY;z@!g*qFTVlG0x5 z=Z@;Yv?Qk!!>@76MOFF%0R_%w;GbVAyIPE%Iq?C7?PP=mbsWPxxAarVhMd?;WDkep z98FDDmm&7lbD~BOS`ZNv0cHo?)FF#>I=ilw&Ta~oozdKDzwJsnncnR|_oZ!tSNDm7 zq5C`MFo0vgViTP4GmUYl|83XaQ?eDIfGx#C#0KpFm7StAi8EzwQ6+Z^;H@OE2dYBN z!~?`qSC+ilKFHpMM|x~*Z>r9;7*@%Y7&|t%`EqV5)^9?r7@gVPbHQBFUl?cc26KT%>;J2qQ5AC30PoHjZv{$WBiz>xW zF@D$oPMM;?ZY5l_R?)<=(v3|lS06> zLcyT?Q)vMQ_U_T$5#RtCAHxsej?>{aYB`*vd|Pg%^x)VH5w*{JlR(QDe;992jrfiQK$ROs^yGfPwcv)c}XQ3bZ&*jZpIWsNUA51 zZu#Ay{Fg3mXzNDW2A%&1dnlZjx+U5A<@aw_DW^fm3j z%~!x15;ze1@f~gW&;epc0OL{KnATthlf5ynNEM&(7o#G!nH=ejLmEpP^Nx@nGVstY~U4ul5{x^?mT8ueh|sP_NG%Kf?6+!poG3pFD6; z_KPhJw-r&@C-4@I_H0q07VZp1o_FVhR5;J^TUi}?^=_AvHWzs5#qYjBSY|~t~!AeIq z5!D}H9bA@zbhqeMJ8k5|_W^t?Q+AWq3Ou4Yh+7FJ;RqbuA&sn2giW%xjk)Ytt_wzS z5@lAZb|uXun=!_$ceYxh2J_!EP>mW2m-UNmhIO<+-gzeiZ)aE-?w$T4k;iM<{O_1NyMuyGflk_m_o1rg49vrNBNvG;ZYjum2Q_wzB$5Qaw-CnOHgR0c}p4LDS9 zHy~<+3pd7?faEqcAa{a6V2Glk6cdqo1Go&gAI@?o7UP>V09S={+cXv-UOuXaSSJZF ze}gEC8MbO$uMQk<^f2A8^aBZcrTk^**9(8})oJw5_7hC)FllK+EFH^7e3=j51$n>< zq*MlGb>%9_LQ+aP{mg79<(VIBq?f9XBLX8R$Y&|f^bTRE{pBRTPf9W-^f;226Cw)< z$!Mpx6~0Mhyqh3cmneG^E4oFfbeTD!ZaoAaS8QEG6cCdmYIVkFRMfE|N*SGeP0quJ zeJ2>Rbg<0p<9JwV@U_|?GUd>4iu`~r3#+;6^5xJNNp;4wE~ub?bHa&|EVTfz>qJmO zVmqOgiw6UxL6Ral>R3pK6n=0o>sb~@$qsOlF0_LqP=7zop@gG#6h7!ZlAesKG16KZ z)4|CWU!F)ubHEZTf9Q0Mu;Ii@zGa~=&(bKOY;iw>;cq{d*ct4}`9tF{Q$8!3nsG14su~N7LW%jZlIfmCOj)VbFML~*5t{hTIwwgjJ zJ6S!7usIrfN8k<;v*tX~MMdyVV{GS0w1%9Sateuis_7TB*GYGAQ96zgNhnWq9K_k8 zEP$}VL`4l{2qEw1$`z}Rrq9j;0Y9GevmG{z#;8yP<_JM>7sY|BCaQ6P9#EOWMG;tZ zhBqj#M4}pV-ZH?~Tu=&1%qs7Iz2IHuv|U_cD*=Y_OPjEbaf<7VD*V1cz^gw)L~Ai` zI=zS~o^j7t&sX6H+y<1VIc;!-e93R(NP$!z0ou46vuLB-0LCuSm0Y=+ZOI`TE5X|= zgKPm*MA@RlfFn=akw}ij%jjH;ViS3kRtZITkh$=J2(2h1npRIwBwVB#M1_1{?TI1y z$5@z~Kr^sLr3L-X5xGjN*jhS9F!rL-c;hEUqnTd4PZb!wk1*0CuJIyBeV#nzR1Z|a zLFJeZ0tmr!6F3Sx`W!|pp|`LR)>iG)42EayITp*io0xGJ4u=`aENmMJE*hOl)ayYl z?T*K2&xe4zI(~fc7~mz3EHZ>1JoK5Jq%3)81Rq20yj7aArU7+eta~RwXK-z39L;Lj z^OZCL?ogY{6=9ky2nwQ&W|ct*BY?Uj%T%Q#GfFhNs%QeFZxTS=Ji_Ve>(=lTQ|~wq z#LhJx0n@MnS5Kqh0*f^q0?zD5!~t#RgR)P&GLmv`;)<*>`Nx~?06uuUtc~4p1Y&@x z#C?Fcm-_+X1#Ad_T=y1gRWr5r?T9o*A(Kf|jlf*|@g3p@bHI2s7;#Xc)KJ@UE@H-(uFLRdI&}~UZU**ja^^f<~ zj@Fu%tQ}B3FkP0$rRlXVB8V!2_R0wXlGqIsklQ&(U=BtU$THQU*lb=F#_mk|eT+QK zFr$-2p5A0s1CJMcNdSk2yzXR)LF)KeArT*TG={jy;30meIdddR&_e+!l;nv7@UeKh z>jb|fNx>FduVQ~(3-$4L=%Ot>&0*rWMkFH1`l;2vF|ra#(p3*>(i)RBsg3m z#1)@G!r`#xWl0wl*h`n0r6-86@yA!4)yyh51kGe2ONEXd*Wut9dhzTRzKT~0RNvon z_M5?Z5&MIXLJNe_mm!T`Qu574YvKgymJ||+Uw*iw69VhiO(8 zjk=5rN`?cqnO_T12NoU>n1VWDP<(&Bkwjt%i1-Xtlm$g@DUo5n^`}_!#FxMyJtl~i zE$4`&3J@KBsiTiRL_usL5)xA)h?4$KpVslxuna)S;)`Ef2sL9QILm$-+YKM#hrDYf zX{m+_(Wit{F=^SYzUN11+(>5QM=T?h_cGsE43TTEXJHfaij;pk!vsPKw+aqyd5&y~ zslbW*ZAuBbkVHJm_aKKhF2@xidH_R2mvdu)@N;HZ=EK?(sdAnjgEjdaW)pXM@8zVt zAFG9MiH1+?{2g1*7#;ghJ6p^mD6rhr@klV|G_1W|;*v#TW4FQw)y5Fi29*cVIL&l^ z(RxNfu$=)ou5Et>9iJv3F0sKwp(*bV#*+@1rFJOgI~W9=9Bfp~iv*u!3|}7+E!VQa zj3pgao$5qR9t^`xBD9|ol23>mD=+-Z!tonSZmOJQi5RJ5Wk8DDUs?zu09YFayNH-p z8%t(EQ93p%@u_K#Z)Z$Bpu=?j z6WmpX2nrvR5$ljckg4=PYzi?cD4um_ECgG0tDEnlcp-;YjYUg?@jqCJhM6{s)1iKj zK*UEPX_DHa5}&5ptR01+V>rV+HbVD)P&zUegkCLCe@8_eUnVNTTp+OlxX6nutU{on z$67rtrQQHs(*ios__QG@;+CI;vH-@PbdNNGFN39QB!&1Mm0&PXX}G~%(-G-|ty=J1 z`H}Mig##U;yXX8uAXQ(P59}e4z1w`w!n&&7u~Aa|T0#zRd&C&4gi%)bXOgz~U7sWD)9rrdRl^2Z14KUQg6bBx zawsih_0)7kBv5QUh=dP(<#{Au`@5Ae#F0=Q_VyN{6gqN+>zB)e`j_OG**|pXmlORC-S_%&WE=CP!qX6;Xx%RXgNNLAi4a*g%zPjW22oigB06 z!0)XOnWv;#>r4ocHmC0`1H8u;}VdI^k4!YB&a6xe1ZnjZvO zc5{>qfA)Ph0s!Ub?G`cv>S2vGzR;L#G4EB_zo$i@k~B#y}(Kal{z2>e$;?i z%Hif>AUv5H3X&S%no*{koZGq0u-w}QRgyz0o#uO7v{G00q&~AGcBt7Bz7gn&gp5YS z+k_Mx;Oqo*sBD9p7S*~V#L830%ZHkaAAoOBWs|ilfMVUk91M^U(nC_9AQ*2O4 zwvc%^oB>C>QbJP-8!Di3rjUg>wXwjfwm8LnX6XuGBk0B%#KIO$_|&teD?Vu3?6Ma0 z|FPPBXf;#F6Ugll;iaTaGPkH((GYY!Yz)&KJ)&1IOip zfDsA;pn2@o`HCotG*nHE#=xZKmNqyztl~5?Ld*dM!9w@YSYr)2qQ!rTF!cg}T>$zh z9Pq!i0kxpLrRsvIbE&oj1-oD#wlHdNane^B8|2i;_@U& zjb?WFsWm=tC=10N%{p4WoCJ@QLXVkwU3jM@!h~}&)X^`HMSv)e?gnUFauNj|1)wo^ zD+KY8tOG8W&O==B`VRjhx2~I=Awh>HZXTX*qze!2W-|zr^ryz>BJk{XZLX2u6G#sL z!fgeWA7IWV=7NF}!3=%Ty1hyc0g4EL!Z14|F>REgW~>Z}w(2+H zY1$&#p&&O=kw^XVYyqUffG`8PQNyOFUQ8xnf_e$sR%lUbxP7h?K!4=mF^_5fV(jD({2*B^V*+MSaUfP7k32xPSLa2t>F_s8a2rpOf&YjN z2J)5+9cU+I1jM|Xb#Vu>qqowxm|fxqU0`d(5~3`;n9wS|61^?W3QS|HkjME5I=CWn zs-kDNqJoHl{~sfEJB4{h(^^6yLUf?oc*Fka!z?$cGR0f-Rs$9M$n?wB*RCY0jBaI3 zfTE7Zhu9wAcBWVpzgsQ9538XBM(E*qYBCMX0dQFKSR0;lQ&hBjYGE+KkMKqX5L_?{w4}RPuXHdV(C)LctZsVooK_#imKTL#@N%z8# zpl_!jW1GT6I{k=`EX0KXW%r_$GerIMOnw?X&RqlL*g6Cd72;QFJEB%TDxrmL6=Y{H z*fn|8nyW9GsHQP~l?F;oB<@z$Z=29n!^ZsJ@4ic5Ha#nfPxW(lCpT$W(k&jLnaPYO zcejGxM@yiJKPq^iMEh1Oe3ibiB@d5=q7KUZN&n=r^58`GW`4HVLF-jB9)K%Pr56ko zjh}foGT(YS7=Jk_Vu>Ej30DmX8UD<53EPy{J2r52eYKTxiair&BKJrakx)}@d!fSC z$swXc8KZ$bdk>O|xZ?q636~XkhNIKr9Q$%GEMp|m+=IqC^H&1|d$Km8iaqK-SX<7C z@tT?qd-bW4AU>$YlY(}F(ovbg_Gh}>)%(jRWMHrO(9<%wdCL?ypb~ThsZR9UTEiAT!Ug2(8 zh#mdII-fIJx;&Rr>d|d!G;czZupUs=%N-Z+Ou3P=dC_$Q$cXs5tn@0!NUWXhL*mUQA&QV^GSxng0OwF*F6a()BBIoeEP8_V6WiS zRBNfd)dHnauBCF)Xlo)IOG|kKl*5F+Fb#B(uld2m=MF<%I|X_zT#_PcK~UFD7_Dc> zk_2?8D8__*sT;tArs6Id>CVa-*n3?CLtQUh9y-4`AAzo%xUc6bWmms-IM+3bg0ySA zks{y)ZE)`;D?UCV!2WNi31G4$?J=H}30|`aYKf_F@^)#d1uC*c9Cl6zFHrHi2|57} z#&vUMsIgKsb@vg?dBGKg)8tQTRrk86RnJPz?I4VOGz2oIF14|_>nO{)4L_l4!hQD5 zpkAH_8Oi7`epKRB@Yk4QT!5Z5w~Z~7!DVp8T8_XIjuw1Wgai2mWI&Mz9R#+>(`RB_ zHj$H{kGLj$&yWY6rLeD=ljIvdqvwf2>x%a&Y+REb437~{etRQH(^|M6YH|YwQ93-x zPlY)bPM~m%>()%LAA*GlXJe!EsO;iCCMc^#B%Uukmj3MREO$}-m9HBgSW6zk1h zL=$rOancZ`>hi)Ns^!kg>k8%?LGRj4FObO2aqrFoz~H7>A&c~7u#WE29C=Zhfw=DCz4V^VP?J zcdxep+fXZNO(z7;VZhn83Qrw(^Od?``RlfDFGX~Tbd?)@|NbJiNpSVPI>N85q0BBHMAW> zjs3_;=p?58v*+zBxsP;`mHO!%iKvw%Smr|qoi}fx`8ZTn9j~3MD?Zk;Of4p@I#ech zX84WY`^+S-o~sd1hWYHr1IU}(s)Zq1{bYjFP3w}XF|vV7{}xu*#%`Nm;$iQh;+ogu zkkWwh`sR=+DRv<0furBn{S)cqQFx(dq~fI8_=;x4!V3uY2bF_uD`%2s`w--xVS1se zG!tyw*nO#moz0beWhjjSr5;2Q=^i}+>qA_8Mk|idP>4?V@o2Ek;I_;zaps);U+c4w z-&TzeUDaip&S+1z^&7~=!}0T?HF{Ti<95=QsK0+d9`xLWrCtalHQcaB=~hm=qagQ*^BRli~6&(ssQ*9OnDPOo)g zr=~NgE1)R79-W$#iLbAw#}OE|g&YX~C(X(X0q=2^qn1NxTc&*!u@g2dnk%q(CR+lM za=pZ;6Vyb@DZd1SO;THSZzJbg%F=O3O#@nc0StdYPMDN)6y7q4*l$v#4l)KRaq)mXu;h9?L`Voe25KYE9+ z5g}!uGk%nwSJYbH&suWvp#nL=-fDz*`v*oH7tORe&C+`UQ0$qF9`R ztjcx(<+^qCNglcanf~%!EwCg!X}-Pb`T@xt(dVRdKK_@rX(l`gMxY%qjg^?D1v_~B zA76t+21G8VK(<(*p;-kwpaO1U7nJLwsMi{?8YKgLg9_ZY?8-XGmXRu22(kr8SM&`i z{`I+J=&ClalI^-g0i~gdi0ze_z_P+@xy@Cz-KAVFgmf-hSpITi@uOcXqu_l6K1|!z z@>PkbMaAmWm)i7CS4zL)*lk|e3vFlxZ$ks^(;H@vCH2jnHET0QcZRBoapKsqlNdC| zNt=5|&LA-?G}iQ-L7jk@{Bk7}&P~g!``)bmkZh68G11U|K^;xnBYwX&n{+ZGeBgnoVWAR zV=GSw1L)>LE74VGmE_RO;Qf`Q`O^MN#(ieNon+P;s8Lm@S#`9|i=qed`XN$JwiZ?5 z#&$QkdAL}K00CA|flz5G9)sG9vB#Q89|khRVpXqgFF71?7RyN#>J_Mw;7{=gD2Ei7 zu@ImQF%ahPFwKn70f`}C_&XU6P&P6ZCuSoi49yaMnsE5kE$~>7x7`RXvdY{ z+7N^&A8d^?*$zwPbh-?MEI8dRZkEt!>p-JPXb{(OuJPJzq5Rl0XaN9IdH6oOB zQWdBIXP1(aR7sG-$)=A6x9myKEk41m6H5o$5RIRpk$2khDxL}R-wx!LCY_Vv9`%ZK zCb)1pv93r;s!{+9(;NPJCt@S2Hx;?2uN@vG@eP}*l;Ygv+c{p>A_GTv7fvP8K|*Uh zsxnMhMZt@PI>)*9OVhYyau}YvX2KvNERxS}uz!7QK!C!so9GlotCOI%3yB1~MPO>- zs)S!7@(CrvRG%i{P470Qmh*beS8TixAeQwZDZ+R&+lwB1XoAtJhD!>-^HHyPfX{871s>hh@-i0= zbdZI;%`w=9Od$ARfRgpMdDuux?gZh>dC9F3RWLRnm2!LdI%;yt5D)xGM_?h6VU*p@ zAeMM*B$V#v69)r!=XVVcdYcA~AU*vhl^~glqNVtY579FC8ZcZaJ1(g~Mu^UYQbod& z4@yF4^|lg?9JuE?NCz;wpEiO8;P@bP^tZEM=+*3$fVP{jqx!6G~NPhCsZk)sLU$g#)M+sO0*%`bUqZX z1e#^vwf#&G<_Dsdzre3!g4Aa~e{8K;>w9PzSW&=UEF6 z1+9J}OYGG~bO2YD@b$%I0rc^-&Jca#A+@`fa>#@T40)6<&c1?dv8MrtM-F180e7;YN#vsT1i zl*YvB-hs>-&IWOG9Rujs53H6PXa4bGK?T72h0dT1IYGcn>GMAn)Balsc^GnxTfj52 zT?mpByd?-F5+zC{s3+)7VVN8`bvyxA56LBmkfvoyb1fb#YN)DcBoC@C1hIh8T2E@Z z)cd5>Ok7cXO!Z{jvXqr3>cA0RmEedTr}HXdtNIG~f-!yCgM^>bm>`2#CyGnRbD2*X zfQ=HfZb}~@&)5kxUg|6W$*>wxLnTLfh!_H=4X9c&j}ic^Kewh){FA61{=c-I6ae5v zSM?>!L=s;Xv~-FXK3HhGEQ(=))r5&AO@h%?MBEh*!~_Q_#85Vfv2?*8D$mrEP^=7B z@efa$6hOq;)owALiysa(i%yD-1VZMrg>is|nE699u5;yK-^fL(ifq@Lxv~dDn=LNu zfBBI9exM=z{^k{@KLI$-f$R2P>5@{J67=__kvKwNI1G%(cv*zQo?w?{Y`|bFnrP>) zMI;w5sX}tzOA`eAmL@@Dogpas>5Um1QZo4K(oJ-q$=MAclHuvZ!3Q&xZp6u?G$G8Gw@fnh{IfH6w|2+T$= zjNlxx7)m=x+Y_K!Aj8%P^O^X~PoRt750DGb97}yXKwcP^K{Z^Yn@s`DTtwW)7a5)J zh1?N=i$fOhM7k!6<@x5>THV=7z?h4bXpULpPwK5VBO@v`-M|@j15dr2-m1i&RW~-~ zzjBdC;u?7FY!+(rv&3eR(=XYl_+*vtbQFbkP@A07Xv|tiEv1gWONN1c@tm_|r~}fqg=5YB%?h zOW{V*ClbASR^XL|4!(!DfPd%6T?JgbhNkDrl zWT69xrNRCvJZf|PA87@HBZA>Si1y1A=o-s;T?$8;>cQt${p8P(aoj(NGR*-E`fCIu z7OPx3dIsbj;AAZA$3g@J7tAicgLv_V=a{KV-?@DT;%01U#UByh;X%RWr=}!s4;KeW z5KMz|panW!3*@J!_O+qgvcSR zHHxAg<^$1n;Ks(V%v-Lk3#QH&o>PQ{w=`>3qli7ejv&4ytqTaqomzh2GB5zTH0%+m zJ7&*Sy6wOk)ANGkhU^Oj&ve#Lq84*<%})(bnzY3?zX2~+Q=TCVs0&MQ?46wA3^qNI zks)oz6wwNJ7&727aMlwfI`>NbmXSwo)(k%u_)e=}ylrG%^&yhZ z2MLTz%W!H{b5k7*tSbV`#|3FH3TNQ8#l;!W5=Qmla|(O8o<~BijD%RUU&U%`=?^jW z=NH3Jm25Fdf=sxi?XVL_Qq#u&6-|vC0|AMAQ1AuX7(s*N{2V)0~ur@R0?HgiX9F=dM^6-%t1 zoOEu(I+!1%5|Hmg!L_i-(treaO8x?aWkX>Q=^=%mAg5uavan?WjLnKSqGEB7m`fWC zytF=sYGfnn>Z*97N7Aj^SAi{)%Inc5Td1gBb23{?jMJQSoR(r4oavHk1>+#jI3~q_ zoT9v<2*tle#T>$u8+L@MxN5)jDCz{n2&E;Mpb0-zeCSg&3Y6QNio^Lo@&3d!;c}ml zLNIlJ-P#Zx*T*l&{v416j~;ew4!{eE&g5_XhL78w&M@D66IX&M&gJt&K3i8UEzB6? zpcAHP5`UbOy9fJE;w{=ZezEt(y?!q1t~fn7uWE6xRdHIJOd#Iq$!}JH9%|#wGg9%5 zd)saof@1PnmaXCSF^4OsGPIz^odd1khFRkBm)kYK?c|-T=;8tqtjWs>URHTW9%qMD zLs{HVNyDtXoOE7gfXQPZvoTWh#i zNdOsL374MrQXOVP)Hfhi*ysX=xN@$PSkfdfk(F!(wN_31@EJ1_@@ed`YT$YeN&s<* z+l4Q1A#v~)Tm=T+NX(Uf=0rMBtcXQ;2Crd*Y6bPX3{9`X0VIHp$oGg(O}?Y-;{gBnVsHPvNLSXvkHHiy`W5C3w3Htx9euHRTXkB3sBOX>fr}fz#XzojFP}2sG>cwnlO!8 z0qOUy#_9O+offbp(de^;lmjcSB)Jrhce9p<$f)bmjFK_nMJST%VO_i(U$Wf=UjRTDxe6;qqhkq2Wz`0KKBbb|BQ_EREs zZ{~}=wOFZ%=ws{<@S7pk%HLh6S#&WrG4A4f4qgr{&`2xJ9PHz6!0uA+VP?Re06E$V zwsA3dhMm{}wf5Qm>4AI8G4MTD9Ht`meyNp-bV7O}p}(;SD519gLNrt{GjFg~6pUNj zRfCM80B^tjBB)rGw_h&vtYhmRAsMz#wz=XTFw36td&tblF*IiYIA?SwAzi2_fVJC& z=m$K-zks)fVYN=QqFgTAZ*iZ1-ky>zhZ@wIg`5&HC!^2gC&c(D&gR*6TgeARD=R!# z@LTYR-}+G1T)^7qZFRK{wYv3$*e4ZJW*C)09M2J`)A<^v&pBGtmqm31jE4JIL##5u&Xuw*Il(y=o(&51SzOXea=?8%T7aL{|$ zJy;}W6X_r-E=hzFLBgkj>dx27KDZOtS60=FKIgVld)(X9;+yd}B9{q;jSAih(?)kd zt>CXgxYKZ;V&niyEQFR)jwhuol)CqYM(LnF!oCJNG5v=fgSh(yv7;v28Mekh$Z3+= zCD>QYl+NHY4RKb*k|JX|YDNZ9sj;ll87xUpZ?iE{m>Bp20I?RiHl(wbt8Os7T{cyh z>u0Kv(jX%oh(M%a=75aQz_GJkFU-%>`=SV1#@OyBmGn^yR`$;?4T`&AV}rI+si61p zu}jukpA7VQsIgpDW|OXiBOz2621M9e4<=1Vi*P}DPjvowFB$MWX;1WdX`xL6(EnBl zWmNugG;Oqx0JNv_0BCV(N&TW9&gJq@R{SW3`XXmw>*2KjP%-#uGSQb#&K<-3KUn(B z)aI#m1EuX}YY#v~6z^v+S8m69E6+P`U(giND*d%1y|P+0UG61Bve{q!UBT=9OZADG z1HT#>1MdBxO&@i`q&~blO=Y|W-TB2V^=2)YSwwjnE?C)gW$CFM|5X`XXKTlI{|59M zzw@3@s0gP~MmZJy^-x1b*zQ+bGaHE@!`#Kn0z{Vf2W5v!I@w1AI7-7kRsjm=L1M$0i zAg2Rx2fc;)SJh7y#Z;MI1y^RIK|af?W3I-n`o`nc zu?6YNQL3yYW{uIQp`yd(@Un3CNEAK-G7d-p{Xi8WTsgSa->s!nbVv@b=;NbMw@4?l$kY~v&tRdI zmtk`kC}M%o5;8gzT%g4tC|54#=Gtu1x`q^K(4j+JCG<5=$w>_X)?6SgPn6)H_M5sO zXv3nyfw+Loje@8sG$S63dMakEPEbx(6WW@NX4!-0Vwv7+NxtE_4atqrXtQS|C^uL5 zf=-*NYN^{M@tN9o>5wP5nyzZu#Ae2t5^g!kCtRMcY}v*qP@HmA31=lVlNLlN9Aqz% zLP?1dWj>RNP-$6ZZ>oti~%QUsa2YXNppbFghdHR z0&U>LKRVEPrhwC)uxX6%VMQ9bQlVopDdtL7>;Ewfzq$jqm&YM zaEDH*1^rZl|EfTIkDgEUUyq_3kfKvVe?LZRtpY7^Pni!OMGMmWlBAI6Nc@SLc1dDO ztW7!KbFh5sC|GHIRwY6bR3W~ku=aw|K5p&wG9W___uYGa-RZ?1A{eCU-YGf@1s*-Z zj}b7W{n;)bB4BThf*No)p=vFVLT72wl;1(HZ(l69H!{!;{Bz<6E=_j|c=um~CTJ2{ zj|+thzt zc$mVF#NH_kSAvQd-Jumlr>n0#^NYyb{HKq~hPR_3N&zE-EJ)x?Ztfhtox+h4YNIA0 zVqgm0K2pLP58Z9W^^z2Xn*W2klLG{aIF}>5FeGFiz)6O<2{78x4H)1dqbh_LYjq|< zsy^?#srb&3Dm5DNwUM;X1u%y~#_)YtbrW0GNkvQ2?4BV80|+hl6hSPA3iEC?(C~$4 zI<2)@_+7lrgIBa>rj}w?(1by7r0);Uhh_*-7u-BM=gk;E`$`IY3bky^g>Og@4F@P- zqM*(5SOrPHsm<+5uR;H=gsD$=+hh_EC<|RelKc3xySj7o9xX4#6=ewqbn+cspFHF# zZ}${0NObx{tdljcI76CzQ`6ozk*?yKw-qHmIAn;sZWi$MwZ4RN!aG)mS)v|j2gFm! z>CFcs)KHU~O4PO67SgR|p$FbixT1$-M2eoPbLmFlXb;^=_QI%M`Fc7KPA{NA4C@NsFu7E&Y=vF4 zW%hAIST`$%6p6G{Gr<;;8Yh(@WdSKb(eJ1MJN95s`~tZs$pRE|ZoKEts@I&=@YZK1 zgzE!Qoa@djko5?GP&ZTqA_YR}^*|UDTIY8(taowC!>@fAohEe9l*4*chyucMga>L3 zbBqohtk~Ay{Gx3k4mGQF4lk)K@`0bQ4tkm=kCv$)FPCs0DIO0=XjqT#LXi zMSvF~unU#eQ5^kpw8|r&u0;Q?M4zriU#>#mu1`O%PJgaWKQ2xGE=zwdO1~~i-!4eL zu1KD)MZT^@o~}h6u0*~rM1C$p{w_j(E`K~+{P?-{@pIea=eNbrM{AyL*E^lAcRF0{ zbh+2*bF0$lOQp`2E1e!!IQ%YJ94=T}u2;LRR=ciMJFZkau2Y+?QQNLid#+D=u1=dS zPFpTc8!k;-E=t=jN&7BcyDnUMu39>-SbDBk+OAgGu2q_@RGO|+dahA=u27n;Pui|d zx(-fy4o*4_OS%qWS`J{k4qo~WUD^&^8V*_5j#!wESND!q_l{Kej#PJ!Q`e4D7mg6O z1`oFe4%Y@NR)#7ThA4K1Csu|gc7`QZ1|+ryA$A5K76u=d1|9YW8@2`+_68WWh8Puw z7ZrvjHHIWrh9Q*(AoT_xwFVxQ1|3xf8kGVJYJmm~K!WCwL0d>5rlb%~(g-7I1Q9fX z2zmho1ptBGfI#a&AabA(Hcki@Cn^OA!vs0Q1R28u>B9oq!vdMZ0qMg5$-@UJg9Z76 z1(|~d8G{6=g9Isq0{Mdi=|cjkLjn0i0og+VnL`0-Ljc)B0C__INkaq}!vqL}0{DXh zxPtk&4x7F3~9C)!2ts`{K{xCe$Zm+pvAjEi&ldc zY=$e@3|BH3t7I`$$YPz4#Ty}t2166fh7U{z4-5tl%mxl@1`W&x3rq$IOa=)o1_*2h z2rGsN3x)-&h6PK81q+4)i-rR0re$?ok&Xq^0341QD1b;r2_S*c{1r!_hCBe--~bN8 z=5e!_S7`H?*YKUTe5XAZ+iL?U~NCqYl z3`U?Bi$F0HfMO*8#6kgxGy@PPh9A!iKOPu*JTT^XVr1~d$>E6O!x4vuBF_v(9vF!{ zF$j2K5b(qS;fK@14`+rR4-7aS7;HE&&~RWJa9|Jv3Lz#BJ{3Wd3~(j`90`C%f?xrF zoAkg;l4zhGwY~u1jp_=(Nid_I|Rw|1veeUZa3Ed0ZQPGMxU%OlULsBt2*8A**srE3SSP~ zK)^2d^8mwuSlIQcVZmwk^2fj~L-`k|VMI<>+_@|Te0oAYggUPA+CEn0*X883>=_$6&g`s8L&79wW?8Y%8 zia_WBUJhk%DA=6&{$3*-IM=QnEJC6oWnuC-*1my);`$9LwuKU3(F6S&ACY7E20xK8 z^#flK@6u9wPVXqgj1Von7!7zB9obbTE4xQKZ5#sIQHHEAXDB-7+WwxgICsh`fun(F z5GeX`2UHq339%amxR6vS55@ucLkwCN@x&AKT0U0cmln}#28ddB&NWmTpk*5HXx%`p z@}s5t?pM0wb8bS(!^hgHvc33}Apqiw) z9O>Il%Eqw*ualT8T~{Ia%_^lB85{l}jDGXfFSU(w@z>%M2U2pr>?=jo)Ob-=B8j2; zQO+Es+@Xp#em@FB48_FS0i6f60)UqwS{X4yg&#+p-0g~Wt&cHI4OQ8IZK2xq*xIj0 z&Ae!kqg#Ix3+hR!1}aFx$kD!nL_Z~nma&X)8bVEZL=SBnP)sOcgqZ(@Bozxklz%-y+$=)%?pTY^>64(bT;M*|$VNDw=Fz`CSdH~Vv7R)|T=TmHj zB@DnPAa{9Sk>F^;-}DCjKO9K9s_YJ6L5(e^E%fZGt{9++NB9>;R8@jF>cBaYU@Xnw z*?G6oB=R%2jH`*o8~sTrf|`Nc&us3cO)ehOxSr<+%r1cS0amp59|4D8uWv8g9|fn+ zz+~TqGElr@#?;*z#@M+dZ)j8PvS%Iw;f>5p0)q^~JgjfZh4xe+0aj%uij<1M_&Un; z*|2s9hT@E9L&RlZh@Hl-JsBN1czYPu;peeU4IA*eIgRRCaFC(~7XUd_1|itqr4WEj zo1x+6H?A~51INaV0000ZhQnl} z1E8`{(1uzZDGM4Ek`0_@PL?w`cnz|HbDH&&e$J^;ijux99#jhOP_&iYe>31=cEA<79Dz;M@QKAAVwB8?B(wPq$fji2?18uq8N-ei`GWoTNM zOQ0Il9gd^|OeGx&0gB54ftmpH1*m|Xs|U?rAI?5J`EyksRtVj+)mIo0;^c=ewmg9h zLYXxa0fZBf>o($~2foFd2fs31+6lplNt%bg{?W&$zudobxqZl}Q+SZ3?MpzVXzMaq z$iY(<4LL}7!1kR50baOsQM@J6666I0X!7QwP)8&B zzrVth;&|W#?4znoWw5IcwI)SwjckPe%Fn(fr-(B zuLFF?aZj^ge|5)vm||CDp{Ouq0z}XQZvsmVhQV{uYv(+zRE`{MJVa*U<4oh^U2Y_D zP7^xGc9p78LADi`Xem*}I(@hkXq0rqQlHL*k%CDnOL&cD~r!8XGi`1 zg#zGh z#`!u>g9Ok8?gPV#E9Y_198i>OjDW9`$L)rzz-)@_mzfg=ks6RC#QzMr@DY=sU6TBy z8NYl{CM6e9AN;~Bs~O~|w@5T*l=2rGxV+t=Aw)d6a;eH_*pKXFAb2FagIa@{Dlb?O zlTjYm>W3he(txQbpjMub20JXYyT+7=3(tV5tu7sXLJGx=LCVn(56Fxn0ESP30gllD z%qRL&pMajk2wYR0&%#QAKs*A}mAeFxd)Y9#xDeM7_5Xu%{MY3CYwY4AL_@TtNOu#V<8 z_6Qq1W?C(JXBRUTLw|YbBoOw4(O0L2-D6uI?<6pY1Ol2De21hi4pP4w^j1`r6H6A< z9@|h_PUMiM(9|J_aSXKhT%zN+3?EeZRGOm!z=6G8d=7>&BI}3TRvA|2LQdK3EzQo~ zGZLteu3^!Z*A6xbeDt?~)T)S{>({<&saREwGRK2&Nz$e%F!icK#8vrWhAYDo1_h>V{lN2^G)HEYBWT7XyxA^02XZZxlx5*3P;DszdhxFU26us;kH(J8LS$&3#ZEVHz?Jt_ zlfvah{M-ep)_yo^n4YHx(`)&j3SLKFYsXyKzTNs%NG{c5ezyb-Dpy_YWQI@-ZBU?SWeC?=zecvm2sNcBkVi@n3OXx7~Rlu^Y@M8NC@ zX7+>}O$teuU2VqqP zOXAwBkpqL)i{SrVGx~;2qnJvCo=nw*^$6PoP}E-#KybsJC>0jGlJzF(h`3BN`-*^Q zg15>IRdqI-S0%zT`7m-vy;}CFF)-SzxDR(B1e4YBd1Nk~QSd~hHRM5HczTe{EQwre zoeNC75Smv=`3#i4Q0EW?*A$RQ9wqbeJNnA*91QkLaKE_(u#R+!xUmKYT7zGNKppRo zSgQF%6ge72OeABGd<%5O$X}dx6fB_*^c+#DsQ~`bm$(^zMZze&q`l1WPz232>MGjI zjsQ^x&N`@vfPP}3lK~p1242U1x3kNZ>WOP6TpXW}!blpD%L{1UJC%+ds&vW5gpxE{ z@R|dV^MwHsX#An@{QO@cOzPum^o_6qV}g$JAo_m`&KG&iPUwarZH&VOm~9dgM!RA` z;Y7yBEj6S=d~%5Oq#aq8*78=g!A(JJq;*6%y52bk32_ivHr5M=FeH2m71+1X5q~ct zYcgXJQR)*B7t(+gsg`RdcKQXn@q08JJal!Ja(4e4mm!qdLcQ_s$5C%XT>-!(E(!XAdG9AoE^2JYVS-K zhQtRXFBW-ZSR?@sCNZz(D?TCVyn8Ep!#@E$ql}_*EYLuzvrw3BAw>D7a3I5U_*p^3 zQkjKWwj!bpFI4=8p=yTL!0mIC+(<{q-y>{u=p!A=icvJOP^@u${_k_JJS%DeX zOW~yA>c+S7c%7|)2svVhs_TL6WT3f>0z7OSY2{!x1mgVYE5!NkFW|`@bqXcfJ*VeAUq8}B6Gn^GPAlR1C9z0m!E?4v{tL|bvfaAJn3&(10x=- z0x+RUzKwVxi$^6aR{{%aWTd(pn|@5+YH9wEU6%45Qk=Iw)5ntdgqE$xeV3!8zxgbw zhI9@*RR<&$u<8Agj zwsdsh5P6DBG=-9Xq>bqw1cWKN`SvxeIA==9W=vVlf}tTEtdYeDQQU(@d3sVd>R}j3 zG8-rOjr1Z&&8&MgHJe#&3d~6Y|A~?jYmVIPGxX6P$doAj8U3fhV(E$zX9)^WMUF8* zLlV8e%~MR%s0)!CznNsu$|yABq?0~L(Szw>WYEoy?;@%aNJD1h8qkO7P!Hq+qFcY2$O*Z2bKBv%-U|6G8GpbZ9} zi3S~zRW2;t(5j9WjM#W3|G4nD${oEn8eM#pV`iQmm?sj&Nt#%=MGo+7Gr}s0q?lzH zR`AJo0DU2>6gC);FegIH3^&v$l?nsIj!;e<5NiSc2KdaNFvJCtcKj=08^lD0M8&wr z(*u~JMpK#?Uk14MEGGi;0-ERzOsa^<0pwQgZgB^rf^ox)1pt$Gz9$K#2-cVEP6}63 zKcHG!MbiQNP6!K@2a*(h2b4PokM6=r9SK!X#3XebU#}cBjb-(Jb3=s;dZHsp-&w=D z@=0wlRyIhZ7A54CCGO=&2b``ci5@B6mI1vqLn@i&;h;mV4Q?2Yz0fV^kb(dzvX%JA zhNa10q0DBba^tzlttgEuZl+{~GY@H%^F;(wNCp5;U^Xm>AfgyXmkMfPfTnW@qzSPUf%LoaN$!C9_*}$ZMGcM^6BA+r6HF*i zV4{oYWmF-m!LjpDqGd5EyM19U(;5ZMuW1D3RZ@`70m(E7!y8{ zVZRydpJ<1El=DdplBuo|2%zCaA`v4ueu!8IOaw?M0x(FhX}8IoCL$@!BD`<|PE7@a zZFzCeBM!yLyDVNYAQ20ocw+WQ0t6Fx-~=e`;5D-Ga}9THJ`jrRg=Rf>Jm^J0#yB08 z46!(}`QUDN&^c4ET1s+E+-^ZwwXks(upvE(Q!unlr4St=^vr^hCU5g2q1ml9Dr}dO z0TE?OE#>l6Bjq8Y2eKc(CRFC@esjF4(>o6yhcgU0Jt%#qfXgr_EfG5KOAwO3HaSiZ z4&Zeh{{c4u%jAQ7euA5i9TamY5?$(pWcF*Ws|KNnnTwjAv_FZ|Oqog#y`~!venMG(78?+XMvH`$6hQ1oWYXCvv60`c?7a>KMlw z1Qi4y%Z|6PR=Vr6^i1tQh6pHixxl7F_#Slv3wCi$VyYXo8mbzd!_}ZfPc>CoG(-0{5qOjNDRdE5^p&O5Z2;W{bEEW*Du&nz~S3W zI3Hctgg>HS3}msumSGxFB8BLYUs16Rs3-Et2%`u49^XxDBN@49%Fx`47W&J~f)H96A^GyiH3bUV zFHZ?3BHXH&%Ac8MPKX8~#8Z;!Wf;)vT}#nZ;{}s+Anf3xlN$+|A;uG-X)Olpk?xj* zpv4ZbC+_Z|-?K2%mUiN!z zCAotLco>7yT3g3Z!zE&%5qB_vajA0a!_4}MHT?=Na8sh7bNmWp6X5|?6kPT&PYDx2 zfQD_4*3TEsC43}Da2bmIhd?uwNXEv*Ly{5m&xG%++a()Wg9-h>CABIWJXoxQ#b>}= zl*~dd(IVX;gaao_7~IT_0))NkF8N?RTzpvOa+ab0Ymj2B0i=U71OcgYG%+pJ4XZ4+ z4FJ`m^Cew87n&vZKxPRl{g6*uNdVFUT`gH>YT}@+n~NpQCkP#4%t0Y z|3}~?CMy%;%TS~q3)vAj7Rz~@_vR-9{le+us-D3Ew?&X`N5mC3|z z(FL29>ESY9Fb~BeFnUwFhvUm80OCmbP4v4OLO495#Zt~)Bmf*H{lk4OY)_~d-NbC?ks8J&O>0>KjH zrrC>^?;my2Q)Bh&&V?wejDyqlqkE!%`K*EGX;H36#5*WK6_JouLe&2yXi6X&v=%VZ zJ{v&b+8C4_EX{A>l>4a@RBe^nrlx}%`8NVXO>tIv%2nbdayT+7{blxL_FQ%c*{Si*r^_;kz_)tJn&W$G7WLgSIY8ASH*w)_32p&P1a;|_ldzZ77%j%aF#0r_V zQER5m9*slbWql@hW8m&^c3DpUx@aoA1464;Zi-nac##NveP-EmeqNg)?l6%O)!21;3olWrIYQs-A1~DX=<6PFH+{o zFeujJkq4L|9Jve-{9=XEJk|Nl{(+Zj?r<7`C;{vdSbEVV^)T&Kz_b=ife5+_E`N(w zy|CE8@fXmw0D8D~FMZ{nf1QE=I>bHHJHii+Bnnszjg7HkEdY9_q1Es5|2!CVbY4n~ z2McjvY8RGv9w$Kp7)&9Mz=9qOAC?7m#|lPf6&E8xr3#-IvE3M|X23A{*a`pskPQ=- z2$IiXMW^w}0*8VdXt*d<#!pZ~AdN!7#TNaG6NAd9p=4}<%i;Nl{xS_ATAxWifEd^`dSYmqKGqdZz$zmJlmMBKP-SiKB1C>UW}z91 z7Pv5^PYIyAEF2N9x_;7gw@f;RnTFtN16ywtFeF3bFdW#4hyoh}Q&f~yfh*{P zVeSxAc0ySUU)lbr0UiA_kwSY8jSs`WB;30@|#22n;aK&Kp?b6sX7vE@>}d8<{lH zAm@j|b@EWaiq=v#9)w}O^#hDvuV8@t7ox&L`*B+g_SIxxF$;mA+|8x5=rOX0+ZS(2~GEizpC* zTa9tK3y)aDEuiC#(b#~NNemauiVwVYfl9V>DHEs(>$K=17G5p}Nf2>LI(l9njGzSw zH|Dt@qGPJ#kW@*I-1xYoxq7F-T?LIxqR2!=iYM7;kAl_x!$2$BZ@6FvrvylzjqMg+ zHAk@)ULKcN)F3fo6`mlqDH`merv#MpN}Tp~L$g&djNdm49waEaB<}qNS3n+|f-6kC@d^^>8)MfkeEX9oG@8o`JZuQZD;U&xoCD36T z1QlK_{|)5Rpecrx68AM|(8SPIs9d#yBQ?Gmc4q)ZD6`fMHpdX9l{5q`>q7fy_z(pA z;_TM@a!D|b*>4aY%w^uNX#}kj9n=M)H?4|w2H>FuCOMTghwOThGdj>%{`zTSy}M{* zFSRjSDuq;IB)2-*yayDl!hEAD42w17sOD13)+E~m84_K)bPZ-WqC4){OWQpk0Ajq@ zvT&y$E#~4rTSi(w@nk0YBNAa^-|5BGeaE9mKGTSfOd_c{QiS5rA3m8)MCK*3%v3a4 znPFoA>DI~PxoS@+s4@iKDG$Uo0hD=~%-|QnZNor@fJoW+365Ljkrflr1sY;WY-tka zfA-szHq*!ba%y}EJQc+2?tB1-B?uGLIW1~$l33>c<>H<1ruh_h9O#TgfFNUrRbW(H za~$|GYtS^g8=T+sM_cxuU4idqMMHel2`d6P#aeX3#1K(9;2vqB0J46bVe(?~Il<3p zzgQ;q0zKp*r349n@uEll{o$4~ef%RtbLGlZ1E5RKujEEW{Ze(i{fF3nu8T#%QteaVYDNZCeJ-pZs zlx#r^k_UUDMX-7vO)#S(%ES}{y;t2@{>pCDI zE$6GT25K0bnWMSZQvzLM9s0iwyPS9|TpxU`<8bLG8)T3{G0$VGj@cp~JOY9s`{K@% zIMz|Gj>>={njoVJGsvK@cCqkRbg=)2yZ-lCtZ$8@oMh#(qJ_ZQObK~y^J+}Lr8JkO zK(UDCpTvBgt=nmgBeC6c5RS*DM2xCJ3mF613a3Ld#=?gQ0! zMDpTfk^*8I%>>5RIyj}5@i4BF>?`xMD+!F(0J}&GdO&C+vxz8&IOb976!KK?UI#Eo zyFf3-VQw=bY~oFC40orF#e&2y#zXik`!NrWC zfRpC-14bug5?~f(zH6jg0j$#se727OCTg~+FvnKkkd+_|G62V}i(3+?%*S}i3az#W zz}G5{T$SA`+5{I*|NiluWqCOB(L1fMGsU}IlaK}Ycqn_hgL`dtuOQ?Be{kF1mvy0ul~b;Vl;LB-BBJ z{6-ezG&>z|L~UQPVAg)JtJ9|pPa*nOLq!W*Ll0(xq)zX*{mj25z&1a>xTAvZK4Y;r zZ3IJmDur1FTWW4k{YSIo=2faEPhusY97k z5W>`m22z!frTE1p*iIidET>Qqn{_OUE>ndfv&Sa1^gJ9TeNr?Icd%-QHWb7?nUsLn z)OSrZ(HPmJGLOl!#=6M_Gq^uM1R^xZv;ay;{yyp2H#p6ObK>%pP%n+k^@We=m-xG! zx9OS5Kmu@XdE87s2-=z4C-r>J3W$+nas`in)Q^GQ&$-SF%@jKj2w?})lidt+a#3Ud zr?^Z#maIVEo;1L` z4>sil^GVGnm*br6dBmy%NzL?=_1QCCc6_5MCSZ8~a}HI!@fYJ|L>WRFmBxQYIc0n$ za)=60Nwow0a(~)aPuJ6jh;U;EU1|8j*g&FgK9-s1%^;j4WKjVOws0f z;Nbe>G;ot_HY5!vl(qpba5iaa$N|qKp-(#ilXPyqC|p=)&z(Od7=KufZ)TyC?95$-$Eipt%)E@mKvs$QMP6kye!} zhz532;l=96isTY5VItvi^7Cn%S%9&plPF%9Gmx#^+?D&DP;uuiX);RFCEOrhngW*) z?j`OFu&xP|6E!ZanIAj@a?o;vJ8TRaTn_2My_kBeypTL5K=oBZ?jbX%hyw;_Bc%L> zR)8wgwyV|{JotQ{=^%kM#>;gDuIx~2o^?1&pqL7@hiWwP$(RZFNS?}|EjvRR#;%*H zx)c7!jjmkUFvhWUb9-Wg+nN=ey#SRM1qyvSddtxVRTx+r5K=0O)x7{TnsfljPP$(1opnU`mB;u*iN2Q#aJNhqJV!;2M7n>8KRn+2`5MjkwR6%KzuWZ zs9P*7uWl{mPvLtYR$a==5Kx3VI?@%hr2rA+f;KX612+{MKwc9w$a{U~5I4ds&T)w< zMe>iBikR0yZ$pT+1ANNG2s275{Khx+d+Rg3#LPIWR++xq4S_ki0x=h6T%ky2L>zFy=TvPvQnKtY|x+fL#+L`BLRT)eXd}EdBAkw_h>{k;fp|D{ z9}XIk1B-zC!6xJ=l&sE~=1Dj2=Kx_J`9v9+%Vq^+v_9Zf=nwL$M$BIF4%H3nH2 z>L5v7<3>#!0J1pF>1c|=NAOg;_6wC$CtB%|R$^I@p;g*=la7&u#PccTQW9%z3kI5F z7Ff(uN3`9gB7>$gNX-E-&*vgYuvaxz5i`zkYbUQN||Tm>&x5m$r-=`h-y_T-w-McE-^|R3yk!WIF-%U z!vcb1aUNhR;BiK6?@GJC*&1ZUypk|H3>KTz__G>7CiGv%oFQ9}rg96z027H^QnUt6 z#9}d4)D+(7(<*L487<{xxfQ{rVrzVRuNeMqYkx6aakNW zVvLc8rb$*_Na67UC=k*591+AL5Sfx$c@wV$NstbFPW4ydo4cpb?a?Aa@8g^Eh4!3v zOx7JXNS0H|>2M-sutP9{JMI*Bg?j^&1yE$T$s{p^86bAyU#oe1JEO617_`avNr#g# zX|pG7AFxCRtw@LpvSu1m1Qm-b0@XDC;kP&xP!MIgS^XR#9Bq!LF&)i;<3@gahv1bo zoR|Q8P&d#3MVK)}_K1Fm0;m8a5>y8=68S?ewov28wj*@a;tHm9#9WGGRLlwC0tv1V zLxq_DKvgHTmz2o1Oc01}*2A<99?LbEiJAqQ2D)uA((Cs7HXGo69pnN9uz_L zsxrpb)ctNY^wOHCphI_#xL_UZy+zdhZZGt*n|Q`u4_OFJc#xPKjiqS_cZ{ncJL-f` z0qL*&)4Hf-j0?ws*agNLrIF|@!{0w*)Yr4Hk+7hO$v-4HNOM?>g>F8y0HsB+z@Wr4swDm8;9`-4z(H$E19)_u1NPlCiGU&c z4eLcE1PMezMI>S>Ln^4o_drI{KEg9k{$^7vkE2aQZg#AMqA8A`Vd%1=Hmp? ziR_xG;#!;3R!9yv{H`e@mse(6;aMFFTZXo@WGicBW!H-ivq*AMB~TQi`6}lnQJT4H zlIyx<=6op+J5x-G=9x%+P|Acx69`j5B^Yy9o9XzZKu(SJ!|piOeH)E)y2VF^-!hY+ zu#fNvqHkFMBX^k;8r&n4vQewL0)p_n7xpTJf8q5H80bZ@pazSqDqZ`Rc%k?TQFM4gf(4f3JkbR>D45B0|q&4CowATTGxc1R2}y1@Qot zQqTFx>{Lbg+f?D%Q7=6HMDh6adjkXwI0aP+h|;^G)1)BR^BGfhMxXw z_Dz_Cj>~CGXQ@|fik1L}JgB@5Tfp&Jkcr!*B}|y0&`bSXGhFaD7eM6csqU-e;_^XO zkSA4wpl%z;R?FxJx4UQ_Kl{0I2j0ZX2xrF4+Q8C6GAL9E0k{p4^owT+xK@eCRMjE^ z4XmVIz#^^K97gzi;1Q#!uNAcAh#A}oR0T#p&_!mb1zJ4=x`^2`iI$4UvgSeSy2k`sF7Jm>yT?y}v23V2APB!&2-QpF%f z2>-8L)#(;5NKUyTov3w@^C3tSA22wMY{y3-9CxuuLAaiME`BK#glqC~;wPMV^gcI#-x0A-i@bK zu{0MFGgaRQv3E?yD$Ahw7PYHAQju0;1pr**HVEZB_H<@}m;LLm&+1gh-$lmgM(?gv zW)%@B6C_6_>_O@n$!ZbhJ}vKfhTRY}j^tW=sIKc^H+7`Dk4P(KxuPY9ahM`@xH$h< zs-kXEJ%KAc2#uSkW?Y;8mX=6yq*mT0>~Kii5f_Yeiwr>Rm7iWz)Wl9K$fDr|v4f6L znNA_p(atQwyGK5ThA1P9{9=P=3syC`Ee^MAceEDN7YWGOmS$~-AObNFO~bfuEEP2_ zv+1l9&7j&cKv0Al#ez+t>{uF!ATECdX6OOi5sgh@UtJX@5G~jS2v6b<#4R!k(?GA&rfJI_u@IsS ztQqg1GteHwzs|kDRS9*GyZJ#p`uv;|2pXONitFfr{r(2X3=uR_dOq%dPQ3^V0s_22 z9G7YwbNQ8tSg9I3+w2b%wUTBiywfin4+{n1b5%9Nw)ykf&mP3kKH(5|gi`}jxp#uM za>R|zh*A`Lh2>b8`8}K5aWB;#7x+ziI$b!9ETBsnQUr~ER6v3VrYOgUmE@c+9y% zcw;@B@}1kOWtg5=2Xm4=m-Eu{@-Q*+CtLq+%Yz-t=lxGPL;qfW+n(e3K~F3eZW01u zx!@i$1ENIxBTDWFqYF+50LrT{NSr~c^RiJ#5^{xY# zaI%H8i-AD*fE^kx^NWj-ycPmm&ZRZ>S1Cwqz=+d_ntZkfVF@`za7pEh#fWRV4l>W+ zMF1xoYUN@M+M_ZxSq-GYb^?1?VJgO>LJk=#4?tycnILEkvSnUG9JQ7n@vBq@N@<3W zbWA49I65HVv!aqlFvRkBh}gY>ACP5BfkEylZKy zuqJl30X?}|SqwH$&74`gPz-=26v{(8V(uO6GKslPvwylrH&&TW573cRGIUPB_2h=S z&rk?LpYb6AP#O8@$&tE9bpa*9K)rt$C`A`kaAPOW$PeET!KnmiGIBrgXaZ0iK4gcP zOrYv~MjPHfFc{WQ{e}&=y!Y-f0j6-u0Suw>F#<;DV8I1a--fc0MhqLy$%fN2;uhJx zdozv2}naR<@X}bJ`I#s%i2dVaOOI_UAY`nDts@ey3ELtzt;A?cC zo^9sc(|0B@0D(DwG5XdJL#A1UrSUq1)qv-2cms(`4WpSyVA=Ti1YJS*;2ofV24XOG zMiNP?5}Tc9nS!i+O)l9wSS@4%Kq0)w@>Ku<6tAD$!4Jzm$3}U%z4a4tjA3Q~@8Qkb^dddt_+$7T9=;$(jiN zgJaYa!4raw*aOrHz!WR6reGqVak5+^1e9k!3GeJ+;JnL%Jv}w=@VSLCT#xMXYc`bn4)HpfMZW~YybcN literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-lightitalic-webfont.ttf b/public/fonts/Roboto/roboto-lightitalic-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6d6d04a55974784ca0463c6bef0f1380ea27d926 GIT binary patch literal 142436 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

MY~KO0*3U;}BlEafVcuq*HBU86 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 z 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 Q83aEF;p79`V6UwI172EjLI3~& literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-lightitalic-webfont.woff b/public/fonts/Roboto/roboto-lightitalic-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..c972aadd68e2112cdecb323b0fb8f3e1e899ab4a GIT binary patch literal 74052 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 XQT#!4mtYlX5lTR)TU+>ofZ)FXkxvEr literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-medium-webfont.eot b/public/fonts/Roboto/roboto-medium-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..1cd77744439bcb182e8cacd9d8a425e43227c8f2 GIT binary patch literal 59442 zcmaI5Wl$VW@GZK#*aC|z?ktOIaF+!Zw`Gyw?(R-l+}+&?5JJ%41b25$uq2R>gb*M= z?Edb3?_c-Bt9sLQs=H60>6%YdHPgc90D$aA008u#VFUiR|DOc}+yDXpaoVVFAi$A1 z41j|Dzokkb;J*;4_XgP8{y*yf>*)Y!fH%PIKLq>-7(fT$2yg(n0s;Y^|A~nIt2zRl z|I0i8wgA8X7(RgUe~cf%|38g4!0W#qLI8pPAo!mN0Yv|U%zvEl|H(xD)ARiQ^oRX_ zx&r`825PAPd%FK8!UCEW0ebWSJw||v1&YOswAm0d=Q&sVP;?@O!@j>m)LT^b=kwtB z3DAK#_EISx4x|p;qh5){Z)`{WGR^w=;gst<EdRJ zhtagprAAFV3jWSchA#bA z3I9O{r=gLUAdXVPUBza%_e1d z6R;#e^~K4!j^D8ewHkXVrol~0XjZa-dyM96Zb^QK<8In!8qA`!vu@EbA7s)!(J;M_)2qctMJF*fIMU&1!P2pJ}{*VmG@?MnzCz zUrUtELl*IQE;zQR#8cA|kWb8osvY~AQxthMCq4l&snhyZXDO6Kblk)HPOOoRaoww2 zu%{?JwDAeg)@_qv-evLXUj-hr8m^$!tCxnIb+YeOBDMrojd^(}R?LEGbPR@KKkAzw zl6(RW<&@kop=``PFMI)nL`*pk;|812?6??WspNkMq!FXZ^`3KHs3jSBU9yuT8fzb( zZmOuL`FZC)XX!Ip1!U!c=F4zDF5Tg$Do}uXY>%dr&Ph`D#X?V&-NFkW|Gu7*8$Ma4 zIXaD_7dSkvnJPEzjkRQ%e7KXqd2Fp5*w$?oDTSq8`bFhf%E}@iQGUXet_!YoCu5 zo{>v2Hb~JBY#K=uBP3`R#Kbh*U{xPeor*MI)20}~hY1*rxSGHxKsLA+4i?#q1iFE5Y&*p^B@f-ws;Qbno7;>~*0D701_W`Dpe)(hh&u>X zENi2QQsNDgAgvH_KS5CF?v*$kvgtZ_%ai3 zYJGyG2YXuvH^}By)q8-~cEKdKy~|3Ka4*Yqme(D0Ib_+-cV^}s96I_<+xMckYd?K- zcAQpsb~1P!mG?43Zponrt48n}f%AmLs00hgGQ{?XPo7Kh3XfFu3L*@u0(46On}9)> zeoWhlBY@zqLzh`y6Q3lXq)=M~(-CDHwc|$#XW=P=A+}d-_D*+!`)x*cKkR2FzfRvj zkrX1Gb6|jseWd<5^rEFM4Vw3_X)Uysj#6v)>1_4WC3IlOl%K7vBVgBc6LpA7zbPS+ z5}cLHfv^$ z=8+a=oq+8VqGBPY*$>3Hjd=e$^W?R0IWA~^QJI|81YI){b`&`-1qd=OBg#U zxY5>nO1T>DBGvBOx--~;U+*b_*L+ua_6kcc{OK5b1~@{=cR6z;E7B(J;Z^#!H=iB` zq{~iS3Jc)`V5zHhQ-emnlg<5IV}Sa~PT1cld3^UUnCxh!wb!LJ9p_z}Lfw1>Zc{CA z`Z}h{`^sTV%%)zs)BV!B0v4gH-06PySZql*Q%V0MvQ_O&bq(W(>OPNMQ;1#LBYyfx zbtcxlNQ3l%*DRHHlh%G~>jR>N*P%Nv>1*qROXsCsI7vcgM`+W+yQJ?kpPyo9X%xbn z@t3r{*-{EPxx^@t-#FfdonoI$eC5!bxthsTOUgt$s8t1y6nbgn2Se5@Pe=jw(~H8a z#v{8CwDhQ<4)Bn0TKeX(-Ahf!lx~xN#Sg)Yxm@V3NdmKCbC-Uki*ec62PU}CFog}o zaWq&w_T{K57&$26Wki%TUd}g78#ZoqE{TO<(m9Bz@Z)%8)D_lPyEa!1s*+Q7i2;fK zUiozE#S)2!i`!Dva}E*UxaWh7@EMbuv{ri?_;CB^6KU=eeMQ(5jf@Ebre84+%A6fY-EFCP_&#Br^ zH$elPLK^FbpjcC{n?JIOg}*J{NtqgyJ)TgRhT>ecSPm+;6lRgVve9SEioue^@{aKa zE{XrhBR+PH_96%&_RaNMfVA|D44%)sdXk=pYl_Op^BDJu<^$|A>3bidEVpP5&DDux z67ZXeIZ@sf$xp0;sRSErpQGASvH>#`5A`X;f@GB%_JARnJto6cSizQm*_a z3h{o^3mRnnMpA+uG0RY5Vwx5yY~WOp!m(mznx5U@8Gz&sInDLxHWop|%G<hUyqh6(&)b5dujtuC?-(q1gm&Bx&DWnx1GoP&Ld=h3iC!&2ofTM((au+Uxa;C zdx0(X@hQKPuYUg2NH5N?=@pFjYP<8e!+Bh&JIHd&d1P@z5;?_DT`cGe6v-+5DArHJ z{#5ajKLs}eOYe%On&mgDa;D?abE?@Z!AsEGo8eQ+4+~laTYC%z#eVx$EIiLUAxg1W)P;LcE8 ziH_~j&G@TxbuARnD%faB0ler%u~%BiQzo&n7PdOA7QxHh`6uMN8_v5GcQluGB1e48 zzW_VRg0Gz~Dmk9Kh%Plk|81@^ovaLENb9trSRPm4D|2wfUxD@mT&=v8L`~}x_OEtqD9>b^kg>wWEG(bJu%BV0Roeasy#-v_U6_6~< zcAf_#MAlRP`ZWJ01q&OOD<5tg`_ku0DYRDZvzL~qD}K-fOce-gi6$U8$6q10!@zUc zu*-H)*i?qZc4@##AO|3*?j`m$elO=c|DA>s_x7b-e!06cGKKP7myIJ@4TV-CnX;u3 z@QU+kPM+ykNE~njxW^49u8K=IAx5g}H>bcQvhd(WWiOJ=c}|>#YqBHoI+6|U^m&}C zYatUoZq6@Y3DE@LB=73i3H`jLUw_h4(w}?4)K#*jSp9s>Ozr&WXI5F`e8}r!?BGe9 z*<)JQlF3y%vO+&Q^lJjO zPa$I~1tVe122gmh;F1=!Mb#AV%%4?Uk*BP@Gd+~OD*76%PQ64I7wyY;7N|pm)a@5i z)gB8WHCAEa(-@P>-ck&ucVN!$d(!{M8h-=fOE+=1a;wbH_B(cVi?dpj1V0s~s(OTJ ziFuZ^stL3ov*G45C;|Kh93U87P)vMtAG92a8a|fOoo6GZY<%P5SIjPJX$b|IU{j;C zNp5thA`+tKjnDfjrR$N>pXddy3=6+IK8dl{GRYoOT*bcj-Juk?## zRv;P?c8a1BAdVF1myA_j_)iTi&Lx=|7&ADDKq)TTz&$WYoa1HpRTfK@8LY1llBMm= zvN%JNaZK@YR8c{lw?{!;s#Ao%cx-FYBSdAC>Sa|V{H*v6>nz0%IMe4OK~15usxXUE z1Mz^%6g5Yuu+!AB;PIj@EV>M3HbY`fx@~1&CdocuO=^x&j5rWM1>p|Js^lOAvN5ua zI+G+Uy+1xBa7VJ>SvG0(9sMuU5s&Q9pIzY!4o*-$C!yu-^!#W4BpEPuW zR1Y9aDPfl&cg+P6`CRxxv=^X$4;(JoB&a~ z@I4gcTysdtvrt&#mL$5#WPxSJoYV|DH#t;(@D|>aiz0kev+78S?bt4_juR|K0RsBI zJiS0yW-Z#e9u)hA`X#q{Dlf>uRYJ2tu$gG4U}TJV`)i^u&v_~({0-f);7v#p^emoQ zeSb0yMFyLGuZo)%qFThqj?P6qre1nabtnM!(_KoZBXpFlWLU>I+SAEH-lPs4XMB%}7&$otK7 z8m~#9+$p|Z5{2M+rq91R$~M=S3vSmWGF_KDpH2PeGsLE-Grky_dkK}}= z_kx=Ynm}a3_V0yGzk`|8UYqZ%0UG~i_=sodt_ufN~2w zt5BV2dI>j@ue(Vd+9bHp)acR3#ZpPGMzcBE{8AZ=AUn7ZfqfdzVr22u_>gSjfsbT%JzT_f_rErt^ojJxZFIa1P5s;p=X5;LoAKirxUm4qv_#a6pA|5PW=l5 zJ?%X~{-y6`JwCAU50nQWD62-|GPYyxg-eycR4EfEe5pTW*x!#Vq^)!Mmi8km|4zgA zdHUV(xAgFz^g*qmH)Y<_3^!vYDw_pR57Y^$Cc5 zB7ENRI<8M_9CzxfllqrY^ZuXlc|An(=5iQQ*^lLK-!lk}l?TV8AXe{X%n$LH?!8{_ z_l-~dkbchP`<0r-`J2Mv(_q^!Er>NCekrnTDrCZ}Vy+<7@F7z@I8)=tR)1iXrT7Y8 zK(vQQ>s^4CI}yxXcE|iif%S8B|9s?c_!CSelw?G z_cqBa>xD`#wNbMFmko3k@*o%#-VV#VLZU_Im})Tx`K5YAJCkMRrGSWIVcTq70Hbt@3dyraYI=+c#pa8dIx5 z43u0vvJvr4*W#vJ9V^n`-1uGed1(3k-baJX*K2iM*Nd8;MLc^O$w2f|OxW5tT*vFP zrvbk}8m=}zQ*%d59O}6(Hzj}f903cDt2GMS3Sy7@zOP|7oX0c2&1&SN51e9bXHmN^ zM?G(V>#8&*ri2aGH{@F73VF)v?1s_3rC|TWMc7y!HaetLaEz8gG|?^QPUz*qzUSR5 zxba}QhJkE<6?)$Fsz5S6m_?HQq&!gU{V>W&YoGip$b`|hAbY+X=U8qYbC~*;`W(R0 z$bV`dwHxv<{WjvctH6) zdxq3b$~IkmlQ9qd@mJEFFH-9ymj&OLs(Ri)O-_doE&!;qZ1?c0dYQgcH9O0;3;A6l zCCp$E2GO0EOX$JFxFK~MOv6w66A0y8=zIMnx zk0bhsoV5Hp2~kN>hPLHDVB)H)>|974*kktn8QhogkJIx|R9@iSIOuB%x?)9xq7tu! zxD^76e0Uvn3pE5oFP#)8aRgY5vqw|6X;0FhWa3*huJ(VdJyWHBN2})fhcwU|sgEDF zyK_PhNr5NL?VSj7wY^CTm+1NVu2%EvZ}Ms6`o!B8)!>(9YUI87+ha6QiSj=N@1xgx z?-fV?C@%luUK5TEVglwtR7S6923ro3^xZCYf4Bf~qd7PpM+N3P{|rE>s*h+BLYEcP zP0~tb0&3Z`t-bVu7@ZE{tJo3;HUbi@er#Ngi2~i3KtdZVI)`^eEHTn-Wq7f__3plM zWCaZ6|DBPmp`*he{eEY!qVW1?C$=MFiMx3IO6VNsv_{evj&j<5INW{ryF{X6Y0vbe z(E;*tc2qd{=#mM1LXz=rP;FxHcyyR^I4DZtS8Loi3zhRoRhz1a*~>!h>*j@!z4>jH zu+F1M^S#C|G;jK?t3yf*So0{x;O8zjv@LMTT_lfAPD&!al%U3zH(u-m@Te?~H1F_! zN|A}1N5$PaL#H9Z6jvsdaf0|z&DF;kNa1FdvUoe9c)sZt+F6Rkijk$8MIrR zM~#!>k)#06<=mr!NA2f(wB^i~q64ARtg^C0(?R^CvW_YOo_p^f!hP7RBoCCFViLOvzL?ENj zu319ne5u+qu=#Q;%(Kj7$>51RAy&3o>Z4iO(b<};#xM*zHRn2DfwV2%u8xlw;^(8H zkYvK%wuFFu3X`8c;iEm0wr#_ z`m)S_h9P_G@K^iIG$QOT`rGfQ6GO!eaUNZWGp@)OzUwPs93v%gEks)G#$q@Rq4ar( zw>5ke1{FTXWm#9j1bpsJ?Vts!K#gRklitR;AFs;|BK0oL(p-!M-e0J@1^g9^JGZSa zXl6Vns0u`PckAW%VT)GWwprb;-5vO9SCw8kOwW;_Nv#JQ+G?ozb_ED|KrDFc-;DN@ zuyIJ(=m_7)3Tl_YVjJ(@b?FYx+rPI>A`#wOjF9=K7^x&Z2GlYO=o8fU3evjGZ>1x@&wfQXb`T2wM7DmX5&VhL-ajD1rR~JJu(Ap2wSSZC2pl^}{u$n+n zxDJ0Kgz`N=`_r9MFBSAZevE(r3ur2RdFcSLo|5I9_{tjGx}p+;Z5-ljdK^*no|=y< z1udUD9R6tq)f8mI6uZ_q-Rk;dfke083BT=+y3F{|6KW!GiSuJ7<&gDy6)zq#6cXxU zxZA~JDy;9@!5gyPc9}2xc-!##G3qKkYhK(@CFmomUzFF~6VkA+!k<1%7`-z(`3k-@ zuE2dZb2|L_Q<<}PY@G(%9sFltbpw|P#U|DGytxVowaD+M<8N`kz+dhb4N*+hG0}Iz zi$*BYZB97=Co3&X*|7~VRBEmF6*6bqcS~2UHVn)ue~@$@_f~xO>e|U)ie5PEsNV>! zr)nqcAj|o>A^nD55*X)M+5}rXqnCkXq%IWe-$Mtw+rD6Bf6FYho*)z-@0j6?b?h8y zbK^wrC!wv4&4~nsn|{zab5(mOI%c|o3&xeK^xu!@+E?Gw6LnqEn7}g3QZi46GjE|1o1{#_; zHsS-x>ky}SB(P(_$qu9RebqM70A`YJJy@`s9dUg2bMZHerzo1r7MSzP+ z=1a{4%d_mWEk z8tIrkSw6lh8S~3CPZ<=SEZWfdyGc)82G>w)cR9J?#=a!}eZ1@@Um(Ikb#BpV zkcz>6*z>4$Am?zy%nQY*f#FWTqE^RDiYbO_Epw6SeR{eSTH`u~&mJ8Y7O&Zj20s+8 zKGjpgE?GGa_>k>Jt>eGaOM6nS57kbRw7KSPn?K;esf<+b-65s~J}J%P`KAanzrq;{ zit9Bb)Qp91Xzo$^UZ}45>DSb0G^@3ggjuJ`=vDhPW59qc43Gi<$6%WZ-bfG!;VB)H zf_5<_(@VK#b6W8afwSzxrDSz(+AL@m;`f+=T__+exe7<6*jL!}td+v+EY*fqa>#;f z21tI%0#9eru2HHK<|0g5y+LABR+7l_>=?IDLima(lraJBS75EqzA6rR70T1Nl4T5& zZUb1sKpT2hpg1dXvcZg7N6)88VZuq02Y^1R( zX?&&`@400eQoOE>69{n7hc1-r?MFNtj)-O|aiAg3J5ZzJA0Hey&JHBdgtT0<=)jQ< z-%h`o+G?nRgT%5zpr?w2%?f|WI(ty6hTzt5%suZZlcZ7Cv(|8d?$&TVZ|%6Et&&?7 zGUc;ed^S`Hi*`tPFVDHUuvOX+ST$u>eN?6F4Y} zK4PyDP}7^4z^o6X8B_$^*iSJHMRi$i`nD%=Ah|I)WY~o07|trA62}!$DJ$Z=|n&XE~@5&QyQSa%S|s_~aqEm|Rv-pBYJrMTXbQ410|0!pRa-w0JOB z^yVAN`Drkh$y}z|)v{t)J2lxILrPR1G`=X=mDLu|7oX$KE&y)AAu=>UucZ>$fm93# zB8)(v(CnJUX1d5&SG62@wxoPFUAym(U@+82?Fgo$w}5C|#SXwU;U^J9JI#tT{b@kw zdSZC`EC{Nis*C{lEM>8-q>l_-GFjoUtJpABl%;Yv!5UdoVeKrG4Vq0Z&oVpxLlzy( zGM@-9HH8?d3f8al&H@DYZm8(vu5y9oJ<#I?4ySkCFsNTo-@%R)uH}RqJ>Z4pOc`C_VAYoOoQ?@bNQBt1_Qc+#=X1O@x#2=B> z6O|mXj6p=Rd`k4ofN?mw4=s&e5->vfBD{!A?8A?aOox+>$XvAD@|Z zdmwZ{03~@8+-s5dWkc2aXIZWJr>1AJb}xOE0jYZQktK}$1R>j02TOycJb&4mWDh1- zi)L~c6;cplHTK4_lsrD!JBM8o6UPOlHBXlQ&O+4Qw9yu9`Be;ro^kOJel}bC&?|*q z_=3b+$5-u9?ZQDtjOv$xgwu_6jS)5R@2*TUpa8*+!7Jf<@Z)ZGXN!?!MKqx;(x_(F zQqp*=yk6Y3(-+G-@(M(bJ)YCR$o=)!51%noctCgaiJ-V!)}wWZVV|1Cel}6qBIv=g zBKwP@z`{@fV*M81#6G5S`00|;GOyfq6Mjc)PyY-hsPu3{5v+dxKP_y!SE*`BV zQoVNGO8xG0<5p}v+lA-gHbaFPGL~aW=qd4bjgdw10ombT95LSzAM7EjX&Q=O3G z6zzn{16gOC*Bd`4O~FTkyD%A}r{YTWWykdndwh-Q=;|yd1OT;D?YzlOFa9*S7!C6Xv<6bc*Qn+UZe^A) zvc+zxvT?UkBH?HbK^M}~R6^EY2R(faf;jjsA9g@&LEF`_C52e$+WZ&+Co6pnJ8~32 zrID;owm{E@uJUqQN^!tlg3VIBy80sS^o;bPmxIH0a=?dbWsQJ+9cHc4oKlQfr!mTm zM04f(0dnCeGX@qYnYnXfMJ)s(1|=7QzQ9E;&h-}l^JL(^&cJfTv!g>Zw(-Xd3@Z_` z$19^JX&be_8_n9qfilH!wEAL+KZcKvJY_GwkM2i|$%Ddl9M zt~iC(!8}2{(M!^VKcByoe#e_rGb9}O!$}jWAA-oL)5_TkjP)UECUZCRtZW{dGVTtq zcCz+B^j*SS)DGkDO-?-DuALgVp_yTRKce@6G+t*l-VPT|Y2Y0g{SH~~o;KIK?Fu4> zyi{4y^eoE&(grH^)x8)??sO-TvCR&_Kj>KJC*GZ=yb_JA_7#lQL8o`&9I@5A0lj(E zqQBtxNiIo?f8@N^<~tna=o}Td=pm&fOR@WvJc6ZB^%_5E+c4gNn=c+J&mM>0WuBzM zA=LFro5d=V0=l866f67ZtJSnxh2mTq#fud#ep+}&6^o&iotZFMe4Cblov*}%`X}75 zp9n3s8-Ut(;`Sf0p&MYli_x-1LX%%HD{^9#S1Y;stg~gJ%Hm^(LZs^ltTnV)ppgQ0 z0S4YEmWcIONk|f24R^2r9$s`PRq0F>Xyh$q5-r5ea)?d&#F48On@j+o9P^SPt8pX7 zh|gfcp3I9nD5XQbgyNV;;-{ewPr3yn!h4X=)P8mak8v)GE|6 zjMHh`JFaT6=$Il7!Y@f9)`zW8n*~pCBJlbl$`63MGt4rBE76N6rDrN^!2~o^qg4E2 zdYt6+Ogc%Qpqql@ajRA30?4>5TH-#QW0>?JYUkXq1VQ@ zM%X8Rad{4XK$tM`Z2B|KLRm47v`)?JRP}i*O+(c86je|&DL(2$3|(^k^K_0h3N#$4 z>0pERWri=jNyGAm$D&m!|4lo%OV&XjG|w)Og_Bv%J@bnnEYBm9`f6%!7 zlF^tn&G{P%lnNxpV{poQQ>$fb$vYy(woi)lx}<1eXu|Pw!I#|S+t7rmky%n6I;ps^ zBq<-cfsEtXK$a6(OQyCgPD6zi58`an!T3If!lhaTzk#myYtsE>l*kC8vP5~e=N4d>vG6D`d(~G zaigk##JocF`Z{)AO9bXvAP&6+w5 z)0*aWpJKxWwORf59CxNY##gam!R3-jBneF+j7+&YZnvUHGprzG^-Xz-bA5DxV4z4d z>g9Qg!%886hc+fAP~|?L(~30#NXmcvMw-nY#qLNIr9>4&W?t_!6LpiGffJCat{%)E zRVV(h4layfQt*2keD;!_H<+7ri^|09y&YbfdN_WT0T5Nx5OQZ=Nh&DlSrrqi=YbDL zjGQ)}TUFkzCZ~I8K86TYzST?u#@`@p!>4wvI<^TjJCz;}+J;MJ3FG=$0y=I4l3pp@ zhm#Hk+EL?hD}CD&9IUYr=$MPY_G1am!4~Mcs*scE?56g8fCxRR5onmQ=PTo|!F&z5 z<}!oLqq_X>QeCl%nJraRTB&NJz;XMV-2hX=hxvKIYKwTu zUJ6${7^|IyF5+%_ezSuMi%gY3Qnzi0&5eYZD~ED#--){W9H*xDsL}Bj)-|Q1m@+yB z`%vYv{V`@Hd(2Wtn$q;`)!BR%z?G?lF6__@ch z>y`@HMuVV{AhLGnGz+Yi-uPD16(VbHJ6|9+_iF0$0f7#T==Sq_MR$(^j#~C4{!ofyDR1X1@l4x4&kV5bG2a_DJU1tZ&=85euI3WE2}K( z`zQTb_Tl^Q#n=WRIOF2@SJ)+!P4eiExx2BUD$^C>xnEV4)W(H~5f8Ms*cYvDpHlw- zrvE4+YLvpvpXMJ%j5v~_O2}wnZ=L3T0HvG-p?VLneH#p;TZW)U@&~#-lV=FR2Q!m7$y)kTg2-bjT*~sc>qlAeI{2E246M|;He^#nsvNif zw>!9kIX73))L(|Z=kZ5=j&Me7RMn^qB(TltP(~t(X!|!u0B>7mcod6p#%$iet*t<- zL3+6Vs65`y0LsNkGF9ewZ6J4=--}1$=LmXwq0UXPKbWv?ZPOxs!OSp+(NQV+4t(~m z(vGwy6k6k=x@Dv|xoU2Qbf(A)3%T{GJy3Xk#y;?aul!mRhj^CCakNPF%hBK%n}aHR zCo98$4xdv^q=hJOYMaf>@SUwD4a17v68C#tvvorL^d@zIZGcz~9xPDO)qpocT}7gv z+D}?rYMGP`F;TwI7~KHa-2;@*h<*}dLA@EF`1r?-hAV|U?vMPLpnQ9Ru4NuQI6K6; zQPzL80UPN(={Y$O6NeF$*0<=aS=Rka0C-lo8dr=YE~vT4_V&Yj+gxF_%(f1AgMWa{ z@^mwf(m1wYxH;4HYAL%9@bw$Sn0yD~SQ%Gy4O3;D1?;nol#MLdcvHx3+}RB7Mjwm% zpOqUv6@Kd4Zh8KAgGVtV@YgrX%5q3ZbY)!GvL@2W+h|OZAsENiM?spG>32uoYTBp-{X2l~0TCr+nnb}JV7KiWA#P>=TRIfZ;>>6_II zR(NfUb(A9j|3^J_bqjLernLz94tpv*@aXhZ`>Sdxx1qTjs4uW=7kEcoYK$*~{}eYQ zSBlo@34`r;M;@qy=OxSlat^&=(vX)V{Rjv-hyX@6)q5=CBt6&pk$diMFKB!b$M18} z1=L$0z@`b(JpbxI#r%bslf^=r;Sh?QL}l;-`q75VPj)+RSkM&%XGO!Ji|vWAeV^c)#*Oc!RHC@G;`v+{bC;30+^D+EufMS z371i;qmD)Nl!n(dN&~!ppyz;%Ua$MB9858c2NUje+AsE{dX{|huv$1&6gNF1aPY60 z0W+VQis@;h;}ktRgz!nVI9;%l!EA{3cQyNl?6Nw8JTg_xQ0F87G?rIOXYG=eb=g#P znAq+a`I+mwjo2RGM*y)r&=a>+D^Ejg@y^S)#KzsI@94w|TC^@F&Z0w}#S&#s`mZwxkZ|z&W&yE50}o;L(?F zMuOVDnStTZ84&-I#4YHuOrhF+1&!}Gfi^tWy@wT7S93a#41h6;QKB5A!QhB;yxf(w zyre3xUSWVn6`g*X7^+DBn|3#*-AxuWijVK)lOs&iEVLFw)~UF@c4 znr1~0r(#vlfrGAlo^L&CnTJZ==_nZZ)v^gIuT~D-=0lHj8=Nsd0~YXCX_u(iRw|Xf z@H7z2K95wPl8~_FLLpS1qDTn;8}-??lb}^n^f>-lEP+sG2_pGrqotz~_Pc&+AYU$2#WzxSo0*j0`)eGd3)K#TtGR;y_eoIA zJSP&=s9(%XkqEViHKy;`W=!H=?t8A3&sHN8QG6V6M9B;dsjo{k`2jx~-k@#%q8479 z(rVaOgtq2a{#sjt3fA&uv3*1D{rN~Wnn0W2B8*@QtUrZ*iwe{{LK{x{VO!UgyxJRT zoJ2wGB|AH*u&3%5CC%S>Gyn7|$n7QUk&ZOs?haW7;J;FjO>jN}br>G+hdcjn zBYE-%HpDHbl*a2SH2bRE$L?Lm^gdc=-Cd}X!6;oj3_gU;Na+5eF+AStM9^uU__tSq z>CyDyr?@Go#jY0k&sg_2-&O?=BGf{tq4e_AmvLrI^)BE z$NDW^8sBg@1arZdITbm+q&6CW8`|-mRQ{<^((Xfh`+iaw41GEdV;2e^$-{caq>|+r zfxF1;>!Fzw#L@hQ4ckWb@3bn^|2x?3b4f~*E=7%k5uD{RU<3TomvCIF(5%Eu3!B%J zufMv|BMF^s`>*B$yC(Y|-ergUssJQdn*`;B3XcIvD1b>3vU5rP%)`}mIO;@Rk+=b$ zgfTPlTt;%E!YHM;doYrd!x#$eSpM`hu@k+F-_2A@@!~5M8HDoP9>Lh@Cli*}uy2A- z*xMhE-+!zbtAf!R-o?fV<6FI$prEy%nv2_@RL@-%_;4=8;f%`O?ip&0d&(qo>1iI~ z&4bt=wNtPvWFH3-ZUnq_CB%obnml7CRfeh2 zCsN{DtmZW~)pTmhegw%*hLSD8>SX&q0n2HN5lQm#zuql+Fgf&Vik<)XAONQ3HQj}v zdzNZ3pbg_IUB<~y5o-VY$a2P;cN$07lOLm>m)E%rz;0kQF01F!Qo%F4Wf@$Ds5$sl~I)@Te@5_~$# z$0mxWH^=_j+UL{HEul~s+*rg6#usc3afxc|scnD9SNKoKM%}rXEQAbzMMT)lMnjdo zP6CLRv=mZNOadaBk>o+Uc8_5K`Sm!hwrc-sOrkn~>=JuQKMCn(!-;ewp0=BN*5r_R z626_*WunX$)bchziySO6jpJ5_wc*y>o8j#I9IvigaAP9SxD6r0WHtSJkHa7??1Qrb z`rPgkL73n$E*8fllFxmj-hW0A%bJ{p@u&!L0IY2&Gpc$K8fFpl!PTh%tw)Kfv2)v% zZx^jNqiHo`ZEUYT$@m_WJ&0P8X4AN60zG{Ks#Yd|O*5F<=o8fY=*#1$)E^Y{_YwpX zpI_&K#KQ$mmWFB6z!Jd`S2MUg3UEcyf8R~6*i@(ViGdGPiqRo<&lGkjA_eH|s*1zBnX>~f@gbu)+$L-J>JG&Z` zC!MxTQQVC#Ifogx#F-kfScnGDh1Hi9n&Hou0Q9=oxxbqJwZrWEBg8+=W;~LYIlgG1 zC|pLasWJb>Lr{)>Ii=qp+uCQya~CEmTQ~Mke?+;1iJhZNt9!q+lcxGq6=wevc}?jI z=%ofzs}37r35ByliuP2mX`ClGNf@rKDA|g9@y>tlJqen0d^fRPwb*V_`IxAR#F&It zd^g6ZaRAany=2!XY_R`jXFkvvnmb$h{~&alE(k$$=i322#m_lNxk#T;!1Put^1s3U z4q5$NlZg1(DZu+$__6nt>lxvbsk^Y*6aE)D_{U;g)bAhaadFq}bFBG$ofQPaIxPwcWXJNc8Shg$G$tmB>iFZrD z(kplV*Cbz*QI0#!fu^Fo-4PvscUz!O!-re#eCo=qu>d?$y3z;B`gR2f4hZijPRhGD%r)wg#qMV}D2q$@dp z);sJy7JB%gTA*#W`L3L>x)*)b>4A=M4oAPWJfo9%&#%q>mUP=W6AEmd_#S4cO{-q` zo{|Qs<|Bc}I!9tq7(dtBa9+ah9Ue|tXAkm~YHLrtExeah4_=O0Hjt`R8FmTWVO~Pn z%e_e$*OMcB@C(YLvy#;YY`k-(15&BO0TEogi@s^J#;9$CdXoG{;s&;b&^m=b28=ht1r03&R&m~*w8 zpUwmAZmI_zp$v0h=X}zB0eN8^Uv~kos0l_avXH?RvCC*z^8lW(#&*xsFDZyDknZ$Y zF)9TH_~!uSz-t&z^s_?`xL!(~YXjLP-i$ncE!L=YZjggwl~9bRU+Z9>0;F$}P3B!Q z0DhQ5zwIZW5j;|u51K5A*t%+zTh*Jl^74ZqZZQ^x=0Fsql?-7ecgw26(fw_y@)ZFv zVf!@%7tGWxi73KbzoB_Yl)Gl!XkZ`4^`G=+n+pRvLUj^x*&PD0L=1rdTr z!%A`?A3UFSL*W2;6g?7aK8=axBuv(Fxm{#-V^6bbmnLS=6*uHwztv0d>?%05(+%Umlc7HacWa7GUiY z9yeE2jf9TRL)68q+@fTf)e&bi+M3iUf?x3=9VRmW4LfbyvIZH^&3I8B(s+d|Wg>}N zY_<_hF_d5vB14EbgIj4vBP%^*hId3^4DSQ|_Aia*V9c+Lgc)i;%BU71A?0%_vJY?d zFmJ3kDw3Bm<5`9Dsu=@)f%GWnkqefhJBeC#dfPjI%wJetRP5T6yhH0;2j|SEYb%1A+M5dd&K=ZP!AC*PHBE7qXD7Re02~ z0a$py!0ZuMuy;2#6IQu)Is_;(T^3-ZqI+uIAPVyeK^rz0Nww>b@5$N9o1pqyzI!7B z!lq6VU@IC3925SP_{9wTVaJ&?%|uy2NsKGRs`#n|#z++jwSCW~?neh7DV#aU!evF` z1#0T09TNT!@8t`_RS^HQ6lu7Hpb53H>9Old0tJ%AcuHeAW{s-avfr!qF?A-j5`>n)HC* z|ET8UWN^1}AeijFo#&aTS~Ut2@$Z6p4JijdO)Id86h>0?n%t*0jdT|`D8$#gzPI&s#!s` z>T#|yxb{VHk1Qj#AqBYl;nt6^-(1V2^WH292WKIA=6hC>#P=F*=Qt&Qd;0`+Jo@q? zMJlDMoiuqrqN?47dD{xKx(PIPJ&r2~mE}#f695pYIad z#Ih(nMcK6{p`*+oPgbUD8C5}LCOU<*{c7V_i-dQ1P2&NE3eUG17*_tkRfB2KCNHla z01}ATbQ8Te902j2ROP?2Lodbf-ZbPCe{r96e4oF1Rd3-zGZ~K4Y zw$aiLkrkO2utPX7r#=GG-{(n^2Q;buQ5WBn*9(-dlc1#VzXuhS-Sbt6M6U?WscRHNflu%3pQNXX#>s`JmQPiM^INO1MrxrA>VQ__!~#uM+qw!9nJNuhTs zrHr8v4*UcVFT!4tr%sNgRiE)+zW++WR*rZst!&|~3Ct3@9Sml`eeW$RCQB}s3yyJ( zpRuV*3JK&N@32O`ENQgS9G^7waM8yP(R64p*Srw@qKJ2HWN{k%{{I+e8L=CbgT(WxJqO|qK zY_St6hjv7Po!J#uh>CaKbDcW~%%V$a8O$DC%{s^<^@4_uD#1Rh*+L&q4wG{~jLoWYjFRFp3$Mh^l{po1DdtY013ab*i-FPanr=*fOrUN|2X&yfsqCsh6< z+R5;u3*~80{iQ}1AdoK-r4h1f1e!u}I6PZ#=U`mW1JBpq83g7aDsifP?Sa_T0Aj)P z2u-3qCDBmaF`Q7djTCCd4{t8MK1(yP-H1N%5pApnk)jcgyU8o02%`Qe)C`6?lAm&( zCn7vO_|G5Uyy~< z=;C%>$BWyHgSziZV*Q-W8)GEj#hTfoDLJEA5d@`XQ5*PAKeu%&47*7q-jJ8MNViSy z>rrfIGE}NXM~}EM^pG*X)z?gSqA}jb7Q?>U)4WjRnODF;F(dyM07XE$zYoeWQGg&! z7c{9!AUG#MG%6i8kd(b+Hqz3CF#t#Fgo3-RqRCk!5z` zmO-Uxi$Hr`78+%0G?-hLKcdnUp!qyXKUZA2NG)GJ!LJoi^_G51dRLCM7Ev(#@iI$Z zR9C~b*Q)NBI1`_QgQ)jO1r&y{4P%D@>{xZ6tz zcu1zWQB^?<-tqY0Gp;EMfrP=J*2^fJjuyq$$7xws=CweWH&$mcGh_&eJmOtI5T2A} zB2XI6g$nrvJxMMKS_(+uk^u{i33X44A6TK%lO)s?E6BkP{7abu0TjyHE0M#fN<^Rf zJR0s3PC;GHGn!v%Yg%u2OG+wJ4ccyPQs-0<214L);9E{fg9l?*!_ zn_LKnOHgoyzrD51EhQ6Wn-#qQ%Uv5VM@RWL`YVZfo41(Fb4_!#6#L!j^4Vk(wG zM0&)pujve50D*e+*S^L^D@e7dUBp%Z+a$t;c8b8uVL=RTDhjSz;nF59NPzLJ>Bm_Z zR+h@nS4&%tQbizV+5C^qc?Jn;!$e@5!Hg%bMT7J)x^mAL4IIycI>3T{jI+n06C1`T6l<_%*5DvdV;PhDMl*!ySpbd;T11ifs1 z6YaNytc)!@sL}Gkefv`IilKQk1xoEw1U9GBLAN5^lpOI~(q>*)*VA^eB8gL+j*nZr z0xmo&!oq}$a(#LbCaaMYMWhuIiol^n)feUTB&qGz+IX0}2C1m7IT!5%wrU~1swAl(JR#qWI*l0Dxg6b*!l3^$`2GdE<(NqOR zmKv35B62yB(?td@Fw2%0hJL=gX8rh}vRO2Zz-T|iZ-2BuJ?pYBCrO(ey>Q9w!uv9UEqB56hNC=6TW zFiPjbb}&CdA;bxl+KBjBk~}4M6^uw|KE%%l)0Nz5r1y4CSs-#nLST2yg@JV@5uSW+3%+TT zsHsI7Lbo)v_FzaAw{t9@hUNtc$@ru!lm`{HR};o?b`Cu zGaJ^*75SMVC@o3KKPQ`8$T1zQo=*x~wS5+Xv-Dv`YRzk6kgB1Hr)4!z**Gm-4^g_E zdg^!!<~LK93?cqoMEu%x^dzb1o|=2XZIhJ1uG1BJe5ovZumHvs^CT4?B=Fd=MX8=W zj7C+V>H{we*-|Kt1uQb0AnSL5zZgivl}pe>FxdigIAjEQJ!WWpR~-hLwGIK|Qyw=m zm5{Au?7d%1XrhfY1+v%1nPMuKz8JQUG)`o+oWXJ~HCL}P%0-kdep%XFK(xLEDwS$_ z{^DJ{aGh{su`=F+;SD^g7E?;y7#a^yLQPVm)7h3@p|r-Oc;{ijK7?5%av3^Ac0batxkf05dDKfpR@nx| zc<@z2Y)ZKif2ml57}B5mn~#-@B-bK)2FA)(LCzH)^>!@TeU_QQ7cn&O8>uIqQj&?| zWY)SExaSkS=Iqh8(~E)UWo^<*fAzd!*X>!hi2HdHiMKSxc)1EbEi2Pf(i3#&5|pV# z!c~*FsvemTtZBFgsWh$j&V-qMAm9gW}LK=-D^T?d1#+Wz~Jn17&}Lj zpd3Jeo80V!hLa>Bj!+F{nGmN~5#XhI)JD?c@yj4w;b7Ch*pah|4$2Ce8#CDminy&v zuoex%=p1zCG?f_ejjCqTp~gJm%wtL!@7#ICufAEcF61%-$E%S_Bpbm>JeDqMwM|ey zugJb$s39ZC9emOP4f^IHW{rL;S;G>q=h)IJUPU~`Ft5Gj`}m%pdL2T;JKRQ5mBen* z7N?XUi6FTs$sHZ$>-ZIMKb9v*Mar>7i3HhRIkn6_;pFK5TCp>S1GW@e`1Cu^rrX-q zo>{ki;ANef9q~hreJh2w;>pvlc$bU_SHz5qjhX@llC6uzpoMv?TOnv4 zv#;-}vrUn)CPO-8Cm-WOIP{;bSwgZG(;Fq1ToNBoh#l2A+?K^wQXh1-W&h3F}bv#Q>VU*gJkc0*$IW1!PL%A3VATMs5TZ(tU|A zjJ@tn7vYJ^(;m7i1F`K6-L+jjs>uNC@z68f`Uuib&_-q`ABW`{gB+9q<^wxEMi({M z$R^$Ms~b6JM;gu-{)tRcQ!!f7aMqQkNxNL-n5|_r6`FR1MNtYDo|yT*{71tf!Xu05 zC$iHUCe~VQ?8I46cyvRE*4J80c(Yc0uU<_@vJP=G;}Kk&ttgR}2NOv$BxDrNn{)zM zcNn;2`}8Uo4H;Jo@9sGTGoVW=xvxSSH{aR#i2MEjr0bgbpYE6(+=@pSNUJ&(;=Dv6 zGBh=JRdZ7xG)|Vc&+e#E#;eS~3GNK5_4PXP`u?cxCW6HrsIYUtJRu^^ED}_>D32B5hL`Z!l zSRLP%G~qUnK3!THt7>&;T~|8kOJ$u(C(og|{|>#r&;?!iV|`$VDGt#rdLz1dgy9IJ zMS<8ID-4Vkm4zjqg^xX{Q zQ({E5^FP0>Sz7$!uAzO{U~;| z{nR{iQ+S#NlGP7gF*j@X5}O&=l}UBxWmFR54%wit>Dd<+Dwl~rKrS#FMMh=OCr#Z` zsaENrtx^U*pG)DXNZpNHn!3nIPw81%N!5IyK`SOB^jN`GN1&NfIYwv+5Ma!D6Qh;5 z-a{C7(U6Dqz^}HDFeIx?#Ni1G3&$wLaEnA{c``*Klsds##AK0n=5rN`m-5?=T09Dj zf?_dT3w5c+71yNzi}1P-v?sWs#vON1sYuEMTAFZpkUFisd$jD<YPWUR?G zm77p+EyP2P@y@Ca+Fu6GMO^oHv(%v1!1EJqri-4>3dA$%bv*6t~vMOS?czTRXei!UQf{@n|W0Vw$@jqj7n?c>RLyMOV%+kC~rbC z?+7lPkX^ao(cA_4%=E*w(K_YO+MHT&&@hr)Z=S54gNcUH12Z!-av(npYqLQMBF!3l z#ewYt%512xzBAgH>DDrlNL#O{~;`J%&-+ijtxmlZ4EmvAanrt;1~|eb#`ajQXbx`HdAI8k{fArcObLBS{rB zRGaBWj*6p{dvs|WzYQXWGUCW9vi89R%9CXn(d?81Ly-e4$}A*{8t^4UOC7gKU@D|# z$tr@Q{6C-a)glX6-{u5owE2>X3B?K|Nfn9(O=bjWr;4rAOUbZ#gz1u?o?ctn2a}31 z9(UuDb(go2mHCfOvcxY=hQ~PBeIFpRYZM5^J*p5^uU2Kk+Y{_aAdg_Q3NhJPamFpx zkIEs1${Q*Hav&@OL2>f>TSFMWZkxeUASmuX7zYyI5+-b?g+hgrq(O@!xVsEi)zPwQ z6oHHu?`1?Nw0<4jn}P)}0$AGoBJd&f?<(vaf;}gW{qUM>%%sz;us_iKwbC`1B*oTI zsJ$BX&faK)P~N9eJACwOWR%zdVE0J4Y=hfnWP{otzrpb?eaU?SV#R<^>|(|PJ^4pE zWMIFXE&Dh3ZJ5?>CG3j((Gu;Q@aLw^nGk zYw%=K*ai`9nUQY8^l1$WX6KrU4YQlDr`76VIX<6o;0MZaz^z=?3w}x%O^4Ks&9ito zeU((Svf->GaHNl1rTZF>1pzcQuqHY<8x<;)Gh^29XI*(08fxW{v9Or^b>MnKUY2wc zGe~-sTS|$~LM59n06XmBrHeyNQi*9PdPnCoR2H(FhQ(sg-2%BtX{>p~Oro8`9PHJEtR`Z|qljaHPfFcvwqJOhFu*EWW-Th6 z#dpmy79q(ufVG+XQXrKT~ zJ9N&OgxnYaA)EJf6smPo6^M>hD?y=9aQe1F>;%Nhy545lR9{4k-V~I6VjL3zIHIAR za1JXkfRUATNDDX6&ORHb6p9@vMY8REcU%RI8?+_^mT1_S9IG*7AZ|TxovOtkh7{1A zc>n@dFfbWePUrzN!r>EwBx)TtjpumF@=u|kC4nY0OdXkeq0SyYULy)^JzZItK!}BXWz}cMz8Z6A=Gfu0eKGq>s4y`i{il-}~hdV`2+&M$tkH(=?SBOi&5)rWy^z{J|&*67Sm*2|=ayplI*scb9sg(bq zrLUd1VkIZgEyxX@b%KHF8hXZX)Q=C%s?Y zQRkW3GMTc+fD+$6{34qc&dqXy)+Ut5>_U39(Mp`D27?Os{n%Z?InZ;iY^kr4RJttPQ@xEo>t3mvDPE6aqb5A^-`z$SGST zeIgox>^7TijV1~`C?57ek+Hw^X1WD#;PlCw6ftB$ss*LB!8neF7&he8RmEqt))IL~ zC+D|l?GX=O7k6ACwTmMhVAZHL#f!;i@0Jaj^N2%rZ0=mEcv_jLsh)!eNYg?I`qu>2 zRp1REHIw92uuW$VI)<X{nQR#Ih`86cUf*pp`L?y|WBJvF zwQ$#w6gt45{A8%cCUDh-YF?q^?^z_PZ|ovHJzH~%)(!Zf%?hPESmd2`+|^ex7BxFP zJbB)+On|YlzD4K;n$MRe0vyo?1|VtWa?Dmm72jJ@?(_-1UwzKK!8Wk%aMhRBvO@Cf zcd{j;Gn1+DM)e+kF0)ut<{1XA=6Z4~vpofD&8IY5AHo4YL7+v_8_V3%A69_i&uMfg zW1gVNsoL1y?EamAYL^P^xVF{8PFJiCT|+zS)vCe36PEUPRrQ+@ZLl3+Ix{~ge>val zLHHIyuNFO%iG-H87;8M$3HLcf_be+Xri;s=>rpaSZFQ8YNc#a`y=;TsNp*|WJ{}pV z;3lxqW)q8nport3Ox!_{or#?)y#^+7RKc^SgND6HDyXH-AxEgv)nzczpe3HI+B4cswhTP zErGbx6Gvcb!7X!9p~cN)*r(nZB4MuSwA#%ZDtcO8jIDWkzUW?r9~fhV;V}MD|*La=9X!0oOVaX=~ube}}6FZ+Te~DOc^KFEJca2w=_? zfh5Jzh71^*5G|)BS>Y>nQub-fXzg=#AR5ma8U+&kerEl4OcT>uI2mA!nGNp%CPMYnd0#3SCnN*+tl`bsaN}O0{OH6W6;8wU(sE*> z(P}tkBl18H0?8=4T`EFbYaNqoyh-Z2L`V`$JqhX-hDFvXE+zV+a3PY#B#z+tV|JH~ zjX+z{O7{#B4;5?2lBxETaZcHKpS|-DTkC$cbc$}b(FvNvypj{Q5)PR7IA|g!j3&X) zex0o^B3D-)%^7aQv2sMSnXnd8>$-NRlPSu zsX1I%*n;IEaof1lRr-z2*vR^ur}4#6SooS>@Wn>DWebbe22CC)Gef7m)KYbTPFoq# zu&z!eCGv;BtiDt!jbdK@ab)3!bVz`pKIrNk(WLeJV>$eP* z_T1+Qt}7o3UFA^w57i|)6)2>}NYo<~vEO=_eu!=F>Ho6m-#}=xEXVj&h42|aMj`cv zL=Q~8dd#njrznp_QlS!P0KczW5_TpCN=wmup;37k;bkjx@%;Xt=Ugv7kVdO`GSZ*y z`xPr*vpHN$v6{?c^0qoNKnQ9D#VUN7#6=;Pf*3Ak0ywu!DVh-`YStqtwXAs^i$@`n z4PE^pUnn;P@;oyorM)l}qc!Co)FH{9#AsuMHbR?%_=DJvRZdo(?~@88r>{UU8XJkNGk#Q(vmqP&`WG`MJ%Gb(OgTThV!Q4GB zsuI*<0w`EjP+5_Mv-vRJVVZXo8QuDha*Z7x{Rdnbw1WO`YhM&TKZj1MhH1hE5z8qSO!G4FB-_!Dl&y~Li6>ptbQHzn(LmArY#~&9M zD42aj=V{o<#{jW5Nzql-TiaPkavP38p9X-45g-yg8pT^$#S|&77*2;Gl+J7`8k)B9 z>HQefW^@xX8J0WCb{X!+|5N4sw-{V0g^Z+Mp@DPM-i3+X*-cPLY$vgYyArr;a%$SS zFq4F~d^X@`ZT34h%?u0a;%TlOqOqI_;$dSO=*Ag+#MRx#Nb5grj#nn;Hxwr_4K>uz zU7T&U9nkcu_NJg06W4i#rA2P)IIS%VWyGmQ77?B-Er@b?Rpo<`Lht7VIO>`mRx{%q zY4RvI7mG)9lv0*Lv^t^e(KsHsSTG z-WO5Jj9xG?_EHui>S}MErt--otG_oc_5WhI8_^ z%=pH_DbN@@8f?X4d$XfWGWQ;|&-$VkBT*a9bg<8?$wbKt9wy7$$P_k^W6>J=Y_8X$ zrNJ_0lKoE_%l|Vidxz80s$ZpKQ?6O|&%}7xJ*Iax%h4|`H2^L9jLI=G7q#;p#?CVZ zA6H|w6?N^(;@8u={!s}oC}lHqqT~OKnf{1CxzK4i3_UCdgGJRCWq*9se_&C$fS@su zUw5L(XC_~l;Tc>bWvAL$5sMEXr2OanHE_jsktVRbaMdIq9gShfUGGJ#ddsVgBM*UM zzS*;T4^YwoC%@Onk1SjhF5VaOk-v+heQ((TRSP60nDAsxw!6&V!u9sX#6kuT7(mM` z7~XGQS>K_c9OV%snP;FNC{UUQ5jmO)VdV6-8h0XyoEF342kHaV8!D>=2xCE= z#a)8E#?`G73AyXcq(b85v5OinX~pIPOEskzu+G{dKta#S8H=`Ncpb1TZ11qrmk*R+ zQ$B-G9#C0M7(n0U~yL>Sq!iZB)p3`{oeQ72;$kT#q$<&I1>w5`UrpIXAI z*F~LYaO6b{z|IPYCWLc*V-*UbEbnKc3vi0fXk;?n8P4BS|tKo zyzU2@c|<;6c|1`NjGD-naoUX%;Fu1Q@y61do=-v4gwOaX5$0xQthKU}KE#zYPR$Iz z3DNM_z+rjm66jdJEsqp4BH^;-Ma|9ufyLjUjv0NInGpJ5tPrY%%@S(5f+UO8n~K9W zrsUw&u1+Eu0Bm?0^JSuHA-a_}6__m$Hl@aL&kKl46fE)z^y@|(7e&W+wos4+qm@w5 zks5|Nx&-COYni-GIY)jc>E25Fl0!Q6vn8-rDA43_57+-0357rvNk!C8HDLl_G(!aa zvMKXSyT5@zRO4s>)#w1`i)|z^K3=VVur$l_(1Qx7G8}#7EF9sv^A3>;E7}#db7=?B zW1k^3R2nf8aLcd!PdwO9Zrj>~gW~ol`vApEx9}4w@q+g(pbwu87;yeX3SJ1ej?Vy~ zk04;rV+bc_=rQrkHde=w)MF|iGRZJc;)){o_z6zzLljgCR9TX<I^_9C zrTR)l4H6AD`NnF4hHyjySAPJ}>m$owF1@m=L?B%t1VzbvMbXG&i@Xw@HJc}-%Cl0T^viV^e< zhGBm)G?WPWmWmIp8>4YF3v_Bxq~oCsEoxll1B%m(45bGNBi_LXBFMtuw)Vc*rjbD_ zOtJif7?JW>&zsDPtlXj+>J*7ONNXVB)wn&+X3s@GIYyd!8VE;F5mJFONcQB-PK&;B zu&gvagp{rgfw+ovP%lAUiN+j$07d}yt?CPD=*#SDPHvX5GPj)I)xz5E*G9*X20Ak# zM2#@%2Ye(zz#Q!f7VF-!PLlC61XncYJtXxTtu-QfAiW8OffstZ_RZ2DZ=t2EQq_|0 zg9$a{fPD=*nCnLwdZ&qaffEXhCOs}v3pWsBaX5HA6oDkOg!=mF6OvVh;Q%6t+AlGF z53eA`MBBo6{*k&d9@~*#`$3qT7iU!IH%q_cP?h%Nk+?7BxCRVt#-3JTqHq=7d?bV! z%(5Yr%M?eg1TwF*!k<>zp$9XDw+E(?z=77O^fsQWR0za)9x>$-nWxon96k4-#PIOd zzh+6Fl{MgO3d=fAJ*{gj}jp#U0+MeH>dloF>1f>)4}4;3}4+oOI6N19t*dnp`9Tb5b?t3&>_Mh zA*0-QWDA+!L~ib0=a1h+K}LoA8H*&cwYs1PQ|VF*6|bpeb=xLV^+;$pswajz4<>~k z=bI=R$?F7=RjGq0d>f#6^MUz-$L6#NgP$6WBM6OO?h~)U8X@UaAU;|1YG!Rmq9z({=z;}4Q)Io3f-haPbJMlqa3>$VUq8iXEd{g1?UEN!c)zA z;B-xPu;KBc0{E!>(*uapUoa%nXd+Cv?vt@RDr~iD`~6LI5K6!HxOmx12(jU^riJl# zHH8W}RubC^oJW+V>eawofT`J36Se(~(X=tp*pzSBjXp^ANK+JBQy3FiY`@$SkYPA$ zd1&GZX5kcL%NYtZQ(>XsK+wReu=WSC+QZVt4Wk~xk0cDU2n_^_B}=$iI;a$Z!jCCb ziO!J(vds}>vRi41#~V^Y(cpMWaY~;QECguThAk_d*H`N-1j=VfhVxZCW|BZCswQJ&17B}9lElqT*u~M|luVT*KX+V1X z0Ye8a5jM@h2T=<=kYr(^4K(S3_R2spkMlaUghM&{f|O~Qlqz(Hk@-CXSF(LFi3w{% zi}Q9*eW&WOM1&1hiLhVHtv7;FGeXXcnA0MeR5uTFGLx%>xv@#r%tU!C?M7uOmrKS& zOdp|QvQycrj-_#&7IKvTxAk)Nd+eypf~m43tG@Kro$$t~lL3f~XtS1O=E@`i0?I+! z(`E@Q2uCOcKzT~gta5MI1|dYm%XDA~Z2mHf8QH5zqX+KdtID#PZ(vu;SY;{#N+!fz zl8hwe?}M8hwlNfFIk4~5G(bEVtC2o6i~k7;z)(-hhukZvE}6@~sfoQWk6Xm{%#}jS z9;z8bT7g`+=HbnOpe&`0(-npDB^Ow4FT5SnkR2FRnwIF*N|sR$knC*1=;F)E@+WI;yJ28Z1q z(~C)!ZPyeKhFT}SY=*v4p2`P_H$@((&{oOUdRrrBunm_-wuqhA-FZD2VC~ees zl1(tjVS?g)HefuM$s!d8=J?zv0K!2KN09Xl3DklvIBrdqB1>Xzz)Bg3qK1J_dJ0e0 z2;*A-NhTF&p^m|TLvgoXP)j_KXL~|UWFro}#1BB5i#?>OL^gML*NCCxZbjGdJFu7X zvQ?1EKSkzWKzeAHr5M#&T4$M`rkd7jDV#HkP|I8NiPF`l?Hr88sMLoFTaWbXu{#mt zXh`_+CB^hp&_@uWBMyO&D(r_ISvtIc*|z(e3Sp7asgUE#!hwi#*b(LQ*nF2_O3n9p zdbzp=TVsJOjyElBn=j>?rKR#}1hF|ba6eRV2HKgwDx9_`pD7{uE36NaV`)|~K`K?JyC+0PoMJrlRgp2F&+y zWI$xWA3~Wy&Y%A9Uio=D9GoYap3Ys@MgF&Q(;I7{(4tS?liu?!aV0p`m^8pz}-G5G6qspfEub zqLe=GA}h&COG~Wg(Sfp{abUIt?`pBQ9mcKGUt;%(860+JqcsF!u)4NJZ+lXwX~%sqe3(3?(%qV zQo}ti;@62;i7OmiBqO&=zJ?+bvl~7j(79`($wb9qbj0pHi45#Y>~I%)cjw(Yh7q)P zggM;GY9debpnRP>ZV|l!(v?$FubIINz=Zm8^ZER>2zfji*<}NS293l!UN9w z7U0NBQ1t950mxVh&fhG#T&NvA9S|M+)0*}STBm-?GPz5^_e`s5oJ#bjSD#ZH7sv7e z3Y^1zS4@;@vv5F0XqS3#V3*joZ*qRCppB;pow{^Jg zO3Cx~7kqW)n=XT_IZK)52N6F+Hia%P0^TXyCmC7jfGz~Le%#8NlT{o_02dQkorqrL zv?C~jt5ueyzRdN^Dpu<9r5A3*pv=&8-I*Xa0KvvqSJ%=cox_9tU|ld165jh zx*WCPX`o#lXL-RZyAE}&#ZbV}OIx%*cP&pkOpU3N_j+<-Zhc6fvQZ&$f)HW~qc1n)N_d4Vyy8pOnOwotP5*U6LT zVsiblr@Nw`N*sMWOC1az6=wAEA6ZL95TOnf0+`{0aBoxQL!#O4KUhfk(DkU=6y%`y zX8qjkw!#)_n?zLuWgsTDroy=jZ#?^A_4VPI836gPGw{8C%_VQsg*b=Ae>BZSJ^7o^ z&)N}itYoeE3xO>A>Arran|Dmu%*C1hSU3ews#ZTqW#E?eQ2Hdm`%v1F&_)E#5@wFe zGq6=tr4@XMe@c2y73?<#YUX2RwT5;uniLht11;%YQdFu4>i~|S&}c240O~i@i*_Fj z=3_XNK;T3|65{;&dH6Jr`~A7>L*<^>)69j-!ur(h{v+*eRpmDlo_`TaHy1$Th5P00!F$>lriCCb-PrRVJJr(}MrJepaMh1Gt=3S)2M+ zqHWPwJT&C5N13%rcexwbQ2t2SPRrB^JyBF%CfGg^ewHI9UqZMj+fCy;okl7ElR z=bVW;ND{hF^#9=MVj_9|acY_&4vH{OPNHnf-L)_n<#$Ns-EyK??T)}fRekUz5uu^ilJr@>VBMK4@5pO6t zJ7afW2f@x>+yj(Qg8{&BgjxX3B!O31{yiItvL8*Q?ILz4t3NY-&7qxCARG^jU)xVn zouJ3W&!BzqDVY70L9*GRovXl0xAc(#eq8Fj6h~415lKn`PJlFp6VOd34~mw2vXf^K zHbINd{?qCc{mbay%yGlBP#4%(){W`4uCWHzT~~S3KUqLfENa)7jXO$ zP%{X#fNe$>!8GFM1cQ~-qx)Ky*dW3F9>SCNnQrrvLiN||dt_4}zphOG>TmoVp>U=OU-ApTBAbMw=K24Afcb7 z*o+tf+v^CxyVKII39UJZ-`zVdKZD3rD4@YhiN1~q3JBho*eH}EdaxEI`a&^S_p6WO zg{>FVngu37pj4L4r*OR_EjfbriXs4Wid-VIi#(YQ0WFTGF(U%d^a@AvL!Sw3r*&-c z+&|9cez3{cU=5ETj8(`_1ri`@c%hR(?$8S>XcS+3Ug3*qYYdvp#J>7CFFEG4|TLk!4|S=c07(M+Xuq1x!h48OWL;+Uz0Ea?EQt1B%r0;37rt z2y?BoAmR*W;<#WpScbTZqt4iZi0Kg&;=$p?h}{qU9l&3G{9lIot=uswDBXtc+7f!H zu>r6cz1vE0L^%MH)vg7ti_t4<<~W7lnc&_L^J2@s|Zbr`(4$`$tu0pcnhBY8E zwcn7VReNnPbZE?)m)pdc3pV$GqtUj5mAkH520Ql?@ol%FC3THl!3l2Ps1j<}CGNT=H==&r0+E(t*iz@b6x=Eb9-EBL$%W%S1o&uVk za`%1H4x=Zbkr=E-(x@}u?u*jtZTQ%gn03a8*686+uH7Z&J#itv6(?jmXiw$)(e9>y z@FeiX>316-)*o>0b7UJE+&iODItSD~G|>iJJHspdyAKkJORu@aAXR54xcn`=U`n`? zGhzPL2x>SD8Y%?1OVkqVEH^8RCoAmI`r~{wzY})Tgip!MLSoHV8WA^Qc}?-5ADiXHMBuJ-zu51w`0|(+oWCL9<}k`-zfV z3wWj)Wc?FY;4-2v_cu6k$M54;>U}g?01S0<{JY!P@Liga@J@ zlDjv^8ybv)J<@ijR2;^eVHkp~cQ0409LquF6Mr^|{Q%iU_*iAJL&zkh{Ji&%Auni! z2)qExUGb%Is7U};@Y&j35-l5%t;^dg728SJshHX~cWts)(8!ohgZEFC2e$`g> zV6Hiyi)0GHj7FMyqeqR>6>rCn=AWwc%WAb#i(!85SjG9VXsl^N_lZ}u4y!p? zm}ZXjc#w5a?5u1{>4dcR3fvHND9#jzbzDBcP^TFSV9nPZNez4*2+MR+Eyiyuwo9to zdiWNadeU^5Kv#qy)_zFF(Yk6F-pzGg;(hK=#aNrSrwRMdB$fOGoPZ0^h)3kO)S z&1TDp_ktD1HXokoIc3Cfy+k0PgJHBe*l@LL=m!z9`)N*>qbGm)_@7w}N6w7FXxpR2 zXczrU9C7D=<8m9boRzy|$tMVU9;Ubx4#oAdIk=ALR{lLiTRsqhx)im8>3`#y$zVIo z;{uK*T;|8E1HNH?sF*Fj3t_r~Uvw?UVXk|@P{j*CV@ccC#rXeRSOs7;y+mtDOEgK= z=qm+-S__d9ez7+qFa`o0O3t|g3wW#wW7;z_G<3yTM(2@XG3Bg$7OAVC;{1YkozkD( z>Ovyb_E;qmQv*MwqtvKs-|qZqpH1=q}YWp_|ZZKBLF#rBKu^hX}i2 zrX5=tPK^=5{7GKUpo69qWrDJ_V!SA_v9|yfqFl%z6C6w^wk0t6Md<>8QcuFMq%%ON z2ZUrMoWs-r4+Dg~gJC?j2?>jpMabj|tJ?mQ=w^Y7DyN)7t>-g32@V56pVhe-x|`roCN{ZKLZ2=uzgc|)ZM@BG>7tWRGHN_BgK*X=70pt9sRDPp=VpCW7~vD$8@DLEUhq=?u3BZ-MvtCnUTX5hjs& ztK;wO0N!m$`9nkR#QLZdWZI+W^I}4-arkTXfik2q8930(hd?KX_m~vg>vTeh)bq8O zfs-+*CLRLAIX}Fls)===@6T}nDs-_mn8$ip$TI6@wZ*)V+HWJ+sEl^WArQimBBc8l zGBY@WDRp$Q`QWULLvoAzZMt&eWScC=HJArjVA{2NZvB`jY;?V6?l%k{^aRXM;KYd$MQZX!>#rK zJ@8xFXOF09zZ3-z9YdDv1!DXF_Ov92uQm`5nf0h~-$0=7-l6}Eo?nc0Vr5yd%@?VJ z(ybFS(yZfw0!+i|M3YfkFHn-`^xRz{xW#uimDgSxAG`?ywNeYDUBKW0+1<-EQQ7W+=?fh}oTU3BI zCC@Ss5~$(&o}RREqKes#Dor=Ep=TCQj7()=q{dVh*)$i>#?R)2QZ)vm7Y0y@O^kA& zCArX9Y*DiqJk~{$c+9VCe8>-s?Hr0imKqWBMtnKO+d&BTgam+_3;j`t(=|>e-^7gA z&Y5dUBv@WL3H&k^QWGU&*g`yEGZ4cbReTddX)NzVj3Id-w%5Ihp`UL3n*8=K;NS__ zp&6FL$q8$1uK`0dd-g$o0UJ;I+`XF?nz0JfDUY`LWILj*U~&&rCHsO^pbkfq=LD)9 zco3!FwAxl@n%j46iu|_Ln@Dc$P3S9Na2I2OBb3!E)Tw?Qb~fteo$35D0$JNzYu{c4 zFqw^r+bviP`4Yn*8O24=Nq^>(@^fOs{btBSm3M&a_n9elk1|kYg2r*~*hwJ%&iL=qBMl|% zofB4f_xcsv-0+d#3Cj}e=Gv8c#5L?HoxK7yf6cNqQ}s#5#?Ct%FcR=b@<;?;?;Pbe zhX}JL8m)_&|LYV%z-U>`C7OMwa7NTOqv%@< z$98s-A+leR$%outLB#m04U{1iT>Cd%0028-1>aNnK<!F*=ZDDhLz+d?CN~(N3^$0=v(CmVo!zp%X}+4y3-qf{QL5*npW{E0JsL5PJbh zXbwX&V1*pIY=l8&hUsOptoPXTT>V{y1MU!@D!N-XpwmDJ(lUC^=4~f(r=prF-!e&E zg1HuD%Lo|*bKRxvD;nUZY6pi}PfM7GcoZt?b_-EdEEs(vs!_A=9Y6btw9#RaNSVp? zr8N#YV8Q)$prrhw?F{48$W5_euR*u$Ua{XFn-Vn>KXLSmJakRP;UBV0#xtWnT-3W} z`^aQnyf(ZV!n#9ejr&kzU4U>sE8f-EZf~<&E0TGCIxA>2FwUl|S?eG>di9!XTP-zz zw;dG4Cw>?rgECbQX|PNQEVvWOQ4B24YHXK*8>0s+(%nX$0+PKQ*}k9lZZICl>0j`E z$NoBom!@KMMJQ`&R`XcY9hF=W7K~^G+S%60_Dz(h_l!^m?rj?Qnt_>?QYS&dOJhvE zy$<5#VlfvSh?9W=yy>5adJ(v!L-bW1r~tOz*aSjR zg;fsRR5bKy&D_m%jc8UoGyJVj7G}Xcn&4|f_O}(7ETq#B&7^8WHp0e70|YZqW-vW5 zt1)&<^lHvCzNm|@8=+c&^un5zt3R>W>o;Y)qJF2oi8Ho`7YMqJ`bmB*7ge6GC!wB@ ziIg=+e&2m5G@&LO)s;IKLVBHdhCOQ|M|O=bYG*+`Hbf0pWc4{J>`ESOY@FEbb~UeS zz`KnK_P`PB;5`El#(V%!K(D_Gh0MH*aC8U(|H8W~zUW~C>2Xv1~p_m^P~8ci2$&BBE2ne7lX?Lo_S*la&6$QP2)G4j@{ z>B0^nc`VD^=8&YvvEqy9=?kvL@K5XbDRDJnj4$CgyWwjYNFMB{jh9O}F3p-^geWIj z!C&m>I9;UTws2mn3bOo06SI)jiC*ZV>zwJ5+KpK|;3(B8_$%oW+Ko_pbJg5fdpJ0U z6b2CD=B~iPgt5`91_XtJlS}3CV>t5(@RQ5xrf?aFuY`p#pB> zE(+Q@5PWjuB2OHbqnE-YWf*cn{*iV#3m!<7Gn%)cX;eJJE`$-1zuOBK4~rNiYL4;* zuaKgs5Lb_?Ju0nVi454q0Xk(zFP!i1tfkKHWUyc`5Sn}CER7EuTH@z_~sqMIH&@Z%ZOm;J-~oJ8ci%%jaD&`lze%N zGNsB|W^AW{aXZ74C?exfe6|oFA01;Y&1-|aG~E>D_&0DE7Ba^7wt^AymNQa$H6PYy z!%ltb;t$OC1TfN7yH#!tW~0$lazr*5=r#E=SZFfw~q;i1FqFmr+1gyY5_gT#eueo;~*_m{K^-EZ-r#0wKl$ zo|ndFG=MbR0VqV1*mG#4^1=mTJfiu&q*=*iWNoSvg6UIvwL&C~){E{#lt}t~C6Ews zAV@EQkG7bnc(;C;0SRd|Bxs6HmZA$RtY+~#yN7DQfFPj>6n0a@9sw{^9)0KL5w4kD zlU-ux1(KNa^g7!VpUg@|0VSq+7$DCF3aIl@EZwvc47{LOH<~s;RRGJutp0;JL!*ZL zJrW?;DlCiHW>~YaGD{;x5a=Y{DVb z1bVOaQchoZ=IzTGP$q5@R`ikvp616+5)M52#bmV!&CErA5=9++Ja;27c@$dG7;3AW zhEdp>K`j_eu^=^5lwjoVJ1Sl7ldRR3r01<20#Sklp+3~$s_b#kIi%f{)S4)Pk`ZB$ z%UTKIX^^BE#g>(hz2US_#Xtasd_#x;ZYp+G=kON;@rd?=ryY078sT0;zz&rfo zjIFMu>6ynhOD(~fs$dHLwl<8-Kms>J|Csf=7&;_@gX)4=Ar?zLh`Nw(`zP!nP1yS; z7Lb)w@CIuhS*u{FXvO55aD|a!JAl{X2BS2L%^E8ErL7ZKL`jH1_LfThxE{C1(Kg|Q z&$+ZZMw9hm8IO~Gk78xKs|T?t{vOOy>Q(RiL6!-arL45FJ5Y)$G$_9qe##}dA43PT zIPI5TX3CQ+K$i$hVG=&QX*fq_0C!-76#oO#hXpJ39F*1tUr0i7cO3!zu$Kv{f zkDa>ubGT9}NMtUea8014;RS4n8OQZr5=ZX~|p#EGi z9nQXoKyU2J=n=mo6tc{@IlRQ?@0gy(0~S) zdfx)3fdGq8G_;@y43K_K5?vt9>Xr8uK8C3>BgK8toNz-UCt0`Ri%(Wv}+$aX{7(+ebASV?wtf$;MqQMQ{m zNsrB7AciDE$(XT!EOnS_jI_OJkeODgr{~k0vlMx9a(z6`1ANFtZq*7@ssB_GftHWS z2iEwL+5g$=h)1{ZhmNHF(;7kHC9WY_(@)(p_;zMVf7v{IRF|NDK|;pD4FJEv|K#$k zjbz?#8IYB~Ne^U&5vHJxFs=ty)=klvYTP=|tPr|BkH{&QAcIOUla3ZL7kjwzNr0>? zu#6_b1Vzd@GwY?|;eI_z7BXyY4{n=?sKp7#iB+P|p@%(Q!FQ7DkB@grdG*1gY z&o}}yLW4;US9#vx6nh0)-`c0DQiV93d^BL|V{@89%84@gOXuu?7dOFzPh69Bki!pE=pDn<b@OUSq+o&z7by{R z%9pXA7GVFQgBc(TD2u5$#k=YPoq4NCSC00l=I8~-Szd+ydb-?v%Y^Hmx?$uTiU;@7 zKkBsuBFHQlv?mpRaHt^i(4R46$VWMP8tFmi)-+%3DCiY~g$JCk4X$U+jKznVGa#By ztgOc6O29YiFVYkfXCx!qJ-ALq@9>6O24AOG-oey`_cy1Rh+XmOdoW2;zXeGX*>Mxi zU#*W&6W^-h664j1mlo6Cy4)_nK!k{8m!=NtW6IKHqxe}sWFe)WcEHiu7Vrpq3x_0q z8aLx~Uq7ANs1@rNCW#-gMU_IuI%Lsnj-(-z!8?iS6mdMjSA8HIzybuU@ChDTGL@zG zpaPl(+*Jl=z4zc+rI+hp&A`XZ*BSNcJ*al`Z(rl!e zyB`>IF6N4>cA3p5HC^@#_dJ|hJd*v{5OtLU$tT*xBgy2%&j5EfNSZXkHp z0p=imK!Rk5K!F1TnDBdpA2NSV#Z4?lBxnOuE8_$AAV=LRB!{L_mxO_FbjzO0}5<11v9bkThP;rDhu3y)gPcBHV$9yiIat>_~ zinsRdFu*4;De0(58`OF=+-ei0-6p#v4o1iJ-^_5V#eKhp80p@3tYG#<~H9IAi)D!_|9E=ze@U~)tJ(|!K zIcJ4Ydg#GLhd7o*Dzq8uGw)hHI@sfAvs^9{8pT2>^iKdH^{x$=A<*yo4LOz_sKMrN zdux-B#`qJOfR?!c)7{lH!d|B}WSuG^GR07i3RuYu8DR~C;ni>m5%iq~M&-d%OY*^U z@#S*3`v@P=_IqYLIzn z05N?i#dAR|nnF~QVHjIY_X*DU3p8v~us>$b z>w2KjDVZoEKSm9PiKOq3!^GUbLEH4*WQ7POC8DUs^wLfl$81S-a@s0*v z8V;AmJ}kePgS4@OY?y$0%~msxUjj#PW~$aW2&|FLPOF!p^v-Q!wiwf9Fb4DmR;6wg z0~X!md;6o`ackvv8qCy&$Cs!UW~B_WqVRd@QDWvH-SP!G1z~#}gIKg5SE1 zr5BZe=I&;@?-cBfrww2>Vj{#7IoWp?=`w{edCAe7s zkWn7nn}PyO45C+IOTGC-p}V~l$$s0IkFCq#FM!4w4jth^5SzE`w)rny8n1l?f!OfQT;4NevB!0ULfit;@lDNZ_<%gm@ZE zJ}g#e`J{jc2tGDIAj3in3ODOdVeUFyOXvX&cDyv~_X(j5PInh%Iy`fK**90jnbW~^ z;+{3_vIt>(I0N|WBaXFsb(=i-VD#evNVbl|s=AcKkfh1w0Rma3fO$`>Zp#cTnM#X= z$~GiO+u&;Z<9iY_u;*rp##@ddEWQiMcjA*a=YfF1X1Gj0y08Nt>6KR9+DDgTmxnO# zvf;?_gr6vlDjVX=E1$VX04Ye?g;!Zy9_KnD(cHHTyGn*WhKPPOO;87kNL{e6y?g9J zVGdQp#(HOYdBWf(AnCir!x`AgKWb>fAqM+4shf5*yS#2-H7Wq9^R=fG7?JdX96UcC?D#3n1$ugH7Tj*c9_8d%QN@;{b#3T;bV@_{ZC?H zML`pLNpf?!*`~Lf2BA8r8uFD?A6bm7_{PCOxoalHOR?dE+RTVZUkS}ROhL4QL)iB~ zXT1Vwzix7m?6+|D)Y-Fh?<-P+pK0hO)gywO9;Qa<3upz6I&CgQx?fWPlJmafkH$Qj z#k|RjLgzA6EE-3aXnj&;dZwzF94ZCS9iCMcAt6ba&6;;2kG#ZTLk7?oQB_TB9gXGj zF!ARpQ|%&7mIsRaxnA?(kUsWh825rdIY@wG^JPzXcsLKv&Lo2ny*SiTD%5Ik2M^h#7F`^TQcN*T0&SYLJLQNB`F$148)Z(v zlksd5bGOBk)qooRUE#hiosSIA4hBLv%ae6QR7?dEZ3!C-@qs|Ty`z7prQ%`x4Ol|( z9C4|mX&o}E!s5=vL^tF?Z@rRM)5APZpn31`c!x8<7 zDg71|C*03uBpWrw6P;oHjl&fHSSGlq8TM>9N-}-Cs7~9c!YU5ds6s&Y@G{r4g2d1r zkr4){NCgrLjJWZ-K#x%^4C>W>(680Q3f*+o>Crmh2RE3xDe@6PjLH-Jl8 zwvrL-KM4p3>z}ScU!p>20kd|R2^fPL^9&(HroZsu2=%n279mpF4W^q+<_yKMj(J}( zY^1`1J%uu`Od$Jyu&7gD^kE&@y0d5kIJFMNuWyW($zU9%^7OeWsSz{IHW;s zB7#K`mX$U`mA?^ax(*p33EOcR8q?7q1fsEab-P1X`djyHRA=@8%K{+poek2m4)|If z_DCn)^${eZvxEh<=#K8_dUMJRQmMP3BLrfE-BqhWHUSpPG3L7l5&>K z8@%5_3w+C% zqJ!vqp&(ENlV=Qc>Y*}H+sZojkq9gkLl%?H0Y^rr0Woo@qwB^!Pzyf!J zBh&9<1TL{-#u2g9p!RPZO~C=`bqvI7DkZEPr0k3C{arvn>_ z5A!haI?{n`a3(dCGO2JjI9`YjPO-d?yD{4(VMH(2y*JCVz^_*fsX*64>cH1Wf+E;e zOSQpS8I@4`QU*Q60x0df*J(j+f`cmp*(_q`)@}f~M21^LGi1B-6Kou87A`QtmUasS zSH#@>N*N+*D({LwkuLpNH40O4QM*>k0V3JP5d1( zfm5N49GPvP_3$R3>X()koJoDXe$!V@>En7 zfK=#LGsJ8*l60WM9+Tl$ZNg-+M#e!^Vm#)+Vsq_HA=6V0wQf@=4K6xf~SR|M5! z%19ukuu;K2f;>$b{MyAU%e3Pj+UsVOXlSOCc+^wH27{xt#l)Jk=yO*di|VSWU?!y{ zwau;B)TfhpAfP4yqUE2nWT!@nqP&N$EoVbGS!U`qSVaYz1xA9$hAibll9`-mTHU-% z0;tF;O3EOX4{W@~n#_**YE^kFC5%m-m$t}Rl`Rjl8TBIks?~Ny!+gJsD0@(;GGxU% z4k^jp;Fkn)>QzI4r6*WWp+ya$qS_8P^#Ula75WRRs0Ig>+l&=e4k~6H0sxaB87R1X zrov29E0uN`NBAhbD3J(wX_33tIKdH8B(eUffb{7J7Y0nkWdcqxF+!wLFe6fx!)85- z5s%`beG{mFk|#7s^=^V}l<*Oxhn9Cy<${`zbb@n(sF+_#4Fl-WVhU+_j-{lKi2Vvp zLV`q&+mR5h7T_o(Nb3`$6yl{q3PBi-AxYZ-7z!9l0nq^U_=QQZYMFM33eZ3rI1?GuwT7OLumhH8qY6#CjMFL_&Plr&Q)4CO)2pN%;i~izthf~ffi}V7R2HmTpH|-Ec?9ynb zHCYFH#{Ct0c$)JJz9jGGaudHiey!7MU5s}|1VD(B96n)MMghPvm_2+FK%_R_a!V;E zLN6K)Fs`dlu7qS<)%fu9WYmsp7_uoEiUe>`AR{b?D4tc5%nN)ASQy__KCZn8`bYPN z(x@pi#CW-Cvx1H71=1139{h{K+CYA(ge`Z;5UfCz2}Csz*E~~?u;KP@t2ECb56;yk zP(Xa%$3BQPN)jH7JB2-3>-(sFk?4Pdzl1-KCk3nKP807494a~Ep8PCClj0t^f^zud zS~DlQ&hLcOaCgUOTn9GC6LA7@nBo;{K1JihHiV8q9cl6?-fa^DzRd4cR(;-`uxr%N z7e>8eu5=L=o@x5ABsq+Sh6V4*#XpsxQe=kMsKA4EP3GNPG^6vY+8zz%ZAuFi26LtJC@DNLebtB1~8QqjM=6&K#mzm9IovEnU`ZcsFq42bE#*+2iTCjg4>bo=2XEtTxRSzu zs#Y4wd>5ogDGjvOG?7}OB$-KAm8A(tyc0vv0N8->X}<-8oaEfi`$0nOMDGN_nm_;;?tc8Lop%DmFFjE=*ua2(T57O7O(4l=_ke={k1bt9ReW7-6< zl;sEXxehW6Eb*61R&>hT4k&cefx zRfbv*Ks2l-*M`K@;KnKc5l}7?3q9=DK&hgKYg&jezg0Hc{a~*Ku9(?SPESz#W#rZa zCSRx~Vb`>AUR7kV>F@IAuz+ff&UU(HF(uU6{U&aj!bZ{bcs|b{UrM6$2j6{^g za^tAl2=hkp$Ei#I)?*}s!vPg|L3{L6{vkhULL`Zhq0~T$4;(}yF+@5seI-gJ#4s_q zZ_vVFlprPTTkOqQ&B5FPF-qYA->~e}qCdnVU3G{>i*P724Z$mPNFt(sVfLI!`2(1E zP=ohrFFvAUr8q)JVi;#@2+qf7n3q9+0xROR?oTK=PDTY(UoHh%TExi<^vIMm&A^H$ zDqdt6LoZO1{jZJ|lQ9GZ&XsoU z$^TWCU+bWw>c7SQC4npxf=|D3M9xj$mZ!)xv#_A9b{p?EWmnslWWvn+$7YQV=+d}b zC}DH@Iua|szK_b{A`Z$WjQ0>j@qEfG9&hgN)iVx@kSJ!EAX(kfa)Fru{agH#{Y};P zrtIjSFWYn5Y_DsS`D6nLlAu3SuSDe72tw7-4#I{9ge{~?-CGDu60-neYy7Kd+*qAO! zWRH**w&bp+VYcLqY+~p8Vq|axToSQ*dtXRdErZ}1bs@d9?{jMPa#E0*?OI&Vq9w5` zCI^8%WfciT{*8a5(9jb+jfmn&@*!GYjxHb*5UBb243E5ixbz?f0FqAmK!(Rh+G08i zJ7f3l@uLkuwKn|@?qB1!>k^UdMl{2~1S|xP;xy~5pG*UT@|V+HkZ-Q8jk>4aVS8SnI}&`L_zRbg;dNda0%7|q!O4f&=7}O5x-GE4DHz3!)vYqZ0cWLLJ%9wu^>(gW%WvpN*of zkK_A7k-v&k8@M;=gfzg_Lfh$pRhZQSRjsfz#2CD${2B#NZ9}#D$tB3l+F`Xj%&}3K zI+dl?8hc63at_)oh&Bz)>D+H`kM;G%NPKkT$xD4AVA z)D%cDcUTxq6oQCf4S|BFii}YqU|lgi3{i?FJNfLOK~@ST_l!nT+49E=`A|{JFhn-a zo2o+bm zfUhUP%F_#DZ?7j*vE?34Xd_B&B9$d=1(AgHTBUB1zC42GE@HU4+?la?2TYfQ8uWCd z;>VD2EoLR*7KdCxXXU&WnSZMg)9_? zQnfFnxSN(VN-|8zHl`+*MIfwbs#LGqRy3BHX6a>u3mQ?>m6}{>LZ;%8oBmF6Vu^~S z$e1!+X{#m3ld@(=yr6JJDHC*N*jJVjWVvWT@SLZ+^q}_`WGGt(ZhoUVTc5!jc8h zAK;{PqiGgszecpC*-`xT0?@d<>)TeI?!yaGgXqJIY zxQ?yzw@Mc_*z}Alhz4w70z_32B@CWHF)sU`z=-tNBI<$EhcgXyDY*U$GC7K)d$ZDRhoW0@mf!ucuHt{EV?9jkN^-a4U_E-K|rzCY`vh0sp9SeQtkg zjyC=5ah8Ct|BP7T?=nb;3h~!QAV#$d6GfcCHH1tw0aJK@q?0mEcK}6I@D5=R1DL)5 zt|0nXFM8$fD`lf#MC>-E<`A#MFVEkdOghif$sClERl{kdEi_2ihH)=)m_Rof(ksm#cBG1 zPJK0WH)?w}dD{c)d%1Vy`ZpR%{A5Jn!vQWM{D6KT`$xq+t;8-Ffm%-FAaNV}c>w_m zKHV-PI>)XWBRmlnZqE5 zu7u=}LFI5;8*J;(6|vmPzXg?lFQ<-laBeoc920d6V;=#H7O0T!h8A2P&%oucz~!C5<%z)McfjRq zz~NKCVK=y8Ex2JDxM2mjVD+eA@u*C}ANeVGAf=-6&w$C}7VZV9Ow2$sl04AYh{)V4omh znHXS`7-6j#VV@XbjTm8j7-4T1VPP0yQ4nD>5Md(_VGR&q-wVKo3@9ROhu0C52TaNPiK()e)3_;AGdaJ2YvrucE1_;HH( zaenY|a`16v@Nrb|aW?RA9`SgLbTEN*FmH4)Y;-VabTDIdFj;gkRCF*sbTBt?FfeQ| z9BeQcY%msVFcNGq4{R_CY%%=MW9gvB!$FRggBL1~M4`WHI)@W4(aKQvr^K102i-IamyFFc{fjF~GoMX@JI~0gUy-8LNgd*9>7U z7`|LFc(`KiaK*aei$#MLiv}y!3|A}|t5`9duwjyXU+F=n7*$w0+=fr{kA0|dhXgE z80knc&X8l75XTxJjkH4+Xof6N3|JxnNoCPG1C?o+z6gW{sO%Nwh0(jgtO+f&| zCEW@j7-74iMuxRCP*p;oE#I)!(4-BQgE5m?BpRc_^wkeBr0DRNm)8N2tVQ0q5CGOd z0c_Colv70j#!3NxDvbzJ7 z7+_)?z{Dwmh$7}7iIAUmrNr2@SN0cm<3rU>UAm+7h4K+~AVk7?l0 zQ>>d)5&Gm8OfjGj$sm!;yg>818!Uo30yYOfrlS(<;a6h1ouId-8k5_beoqRvfx`da z*^2PyB{vIWHj>F91*wD>Yvsz#naw$+@Nzi%QL=h|g#)dmA+S&nLCDplpmtY3USn14tuxnKhb%)lI23?#Fj z6qjKs@(_-|X=ntCpeWb^l3)mG_MCN*<{Ud^E3^zWK8}+8bP@yT4?(eo1}_Ls@QN;| zXX=K&iNVntdL*YrbLNg*l1H$0)!|ry8hJb8U@fUYdwqPa+zF*1VJHt~XTZ5`A7`S@ zI}d^DqygESbhvUj`PfDA7p`2j$9)pNAS@k9{XLAnK*wb<3^&hh3qp5b>8tK2D*^zY z0PDAF3fKHGgYXP9OwY$?A9iZfY1yf;&Ao@?wd*;t+BEf!C*!s2;CI0rAL;~&SaIq5A~xF)Ix0);g~$AMZB zEicSSMi(t*6a;7!^PeMZ-Ub%TH8o&t2PE?6chq2|pUt(nMkm6sVE@n+`YEpk6Omwd ze37w$rhGL4Q3c#i832r=VSQV!qPZcXKDN6tSH($@+Me(|Pi3jq;|Qa62r_}ihYux( z8(oa9Fs4Azm@zl}(oOu*NF~TR$TdK0@rPDUcJMIMwzfejwlXGlHiRWnX;g*^35orp zYw-#IrPiiJ-$9`rWN0!Os?=j@I&PT&NMGA|tCy~cMlL5W^4fVB+1w?fA~x~U&131iAg!G060lK&@Hq02rw1(`J{c$Ji$Kx+)ZH|MZO3Z z_pgf1Q`g!uH!yevhkJp-kQA~20Jiro3z=mW=kYqb%^viMNB;8{tb=tCu2RozH*Y{o zOeM*%bn1n%FIyUhA4D?mNXx;RL9vE@8E1TEH>4%Syd{?BV@>G^6GHnP1Mo(Vf#jaO6gtP|5|BJO}3K)S@|3Jhr4jkZ-H%$En5k?~#xZ{`_K%D5RlPNn9q{BQdaqz}Zrl zm_ExDS~t71!!gA2Ra^ezCG5(iI{Yv8ba`a*s-#-RDzI` zd2j>V`Z(oyaEKkkVVZv3qlFdh&WdJNUk-Gw*yG?#{Fm{P3_`d$gVNba^OL+`XG8nM zFoFgT)k}nm0MWxIbc|*5W28e&ST+t7jsGBX78Dl(d06b2Ab*;HtTiBsNaIu7{-ZMC z9u%3}rEsKz?OH}OBmfc(m@YJ-c7`)GRIggr3wgkZwoZXrkq=mGX)~vlr4T20ttr7J zGGV!xzsj$vX4n_wU-`V03sVt&UM@M*-kw&)Nv^ckN}}s}68{tRLY6mUN?gxTC#(G$ zCDUuRX+#0me`Xw2I{d37fWNJPfY!NQCRiDt1c56GE`hlXt1GkhRwfq-7!H;@`@l}W z%=j3HAb1Fo*}aD&OKrZ*vRNi04Cn%nnBZ}Q7Al$EJuxs?j{0(P%N^5fWo_Wi6c555Hc0kP{&ZT(>~Vf>41GX zr1XK+1>4#kZtl=cBl#Q?y9xRrQ@IA6m*t5OXfeC><7&$S-iCTe@$WJQy{9#@6Nz-5B}SR7m-5Su@Q=7KgoJ;2#Xk)=Z%9%h-;R=ASd zzB|>b%cyQ(SBiv}rP-eAz_|%mSC{~>u{}W!C=e7{NL4%chghWt)J;1Q0X&GPjyt7A z)bHnt@DQpbAFI39dwrToY}|3=2KWSyZ@A%HU2iMefhZQ>ZyW3%1@j3_1$Ay?o<&u!NU%+M%lX# zqaEK<%Dl&eC^>*MLL8Hkd7q-QmU?u8lfai*r_A@^ke8>~0tctI?lToDKVCb}49{OqglK^_@jjmhyeJ8ETW6?F-lnjaln&>=)xfW}svBAMW zMVBvL`^ulG=_N(_8sAipzZrLJw=Ofvwpslhl9@Z(PjO>HipOe3ZH z@jwm(xy9*d>$tnC-~;;HQGbi@=q6v`(i0l{A5UDyyhNN=Lx2iZKU?pmQ#`2H#s?s? zESL8tkuLUNht=Ok%Agi!jj{(dvOksf?_bO!$7eeZ3ybf0|Hd`62v8VAbyrHE>ZnTt zLIi-r=XJ$KBt0>OX&6n|w3*qJ{X97c{Zj`Prf@`eFkDyCV0d1Ti-yJk@vNQB*GG!& z-ql_fkU^jvih#yJ+CnaoY*Fb5O~V=Le_+zDv|;3(X}ygb*G$2H`Vf&w#5%Kt=Eqkc z)xG|St`wCYO=Up^(Pa#aSNzCfa89_-&&l=MJd2$zB7mG4W^xB0b$~u;wZ1C(6WM*1 z>r3Uw$A#%gcf15O9O(zd4(vsD3cQ)`2I5?-Js2nbjOD&Q@+a+gUh4$#E7v^W zps@DWX-XLbtbFL*cU6S(6eURe zfDCdbDamiAC_E;?WU+df@g>EG5=|Q9&T_nn4&83*@G?dD8S~C2CJg0z zf^6o(U3VKy#wOOP6R-cn$uEG zj*!bPhzD7c6Nw`nq_&Klf5p--VGW|Fy9t`ajT5u}2wfyA+k?Yb0FejFfq}CqIJH{= z7ANW00RofzK1or^z|{gt^OKQFVi*jBXd{YZszk*R$=Y_J{J?TjB$4A}oUhcjtb@+L zSKX%_zeNjaA`SrGPJQ+yRvGX<%ALj!j8f<)*fS(!0BCcR_`)k z6_vrRSs#rI6cRy+kN!)9Q4h)SA#?1YZn_-nH?bX*VOS543zDKOtW3f49SR1I*P z(J4m^>e*3MaPc-qZHCz>r42${_tygs3@2&$3*r*3F|ym;H)v&0Ogpm6vzoKVRj#3L zeU4>d8cT3Q(2s20HI5OlqbZ61e=LK=htxR76IWA~p9F%JPwtg=H2v``G?^6Q$HXd1 z>a_7{Ehjg^A_dkg#+mf&`R>#%bFM@&@&K(ee+d=@TMD7OXi)!QTq~QzZQu5GHvVlHb!H3W2F)_;7l9Lq5>#Vk&s>MHeZEtSjil&qPA2 z)+M&?6!;md94Y%kaFC2B+IL|mqFR8G*s|gTC|V!W^+yFiBOL}VaiadB3cFv-24i*{ z@<$*&)`EdQ!hsS1E=Hlz`8wQ?R6fbA5ae9$Qu(a2;i~XphcnKsbe(WvbSSs0@<8;A z_E(EgSnrHj_)o166}xNOxl--VJuZ0hB=Hn1IGp`((^xSiVsCVh?vsxLMKolijEiPU zz4vHzPU-et`4FQPQ;nsx6u>yNE<&_#^z=S#1EK3g72WI6$c8G4Ju)mz^Vwn>Y*A5b z%=I#6+t8|xfQqSU$OF~@fZ5ECzG*$9NhP|Rgitakp%dY|I}D&bH8zd|GblwhMk*PB z$`c2EK$Vnr8D)BaMk?VV4o>FZIA8ta1$*d)_Lo(;RPcy#VedtgpIjz?rIzrHfclwb zn27Z*R$5^b5ydvu`(nEf=~B^&4*UT;cu->o$YkHXtUNjScmXN`gX!dYNjihe*!qST5-tlI#u zZaMR&#gunP!+A6~k)c@97o1FF5*J-8b1{f^`SBU}2ZHj?f`->Vko@umJJ`G+;qym5 z83Xk*%L%d*nxm3#u5HmGGT%qHPTY05d?WqYXG-`g2+Ibb`28D^gM<>;T4@&6F?PPk z*8#*a=dMxoi0Mj%&zOra<`9}ARDhMx`%s7g%5K#X1lUc03Y4uwV4*`7F~KB)gm~$tF}?i|qY4(dtkr0x!H9buaz?@{ zPd$+{qjJL0nCXU4bml?(_rGybOjvbC+)N1UbX9ahLqa8p>SHhL8*2MASkqYQV^YGF z`Ld^L2M73|dM3GUQOfxUFtAy>MF7oB(oqb35QNvifYnQck^gBf1IBqJ92rl!y@B=H zXu?JltzcqfAz}v&r8+=W2FN5bGHl3;rTDr9CSE0>PKBh>B$sq29VZs9822?Dr`rpU zuU70g9L4X^Wl$7yW-*MhTPk;Z?DRpmRO5FL_Clhr-FUVy${-=7jGa>2)(#=gLN>l@ z0fpRai1CSc^_LcP=|C>7T2RBZ08)blm4~b31M&%&)l@-V0^`gBb+n4X z(8mjDT1m2XsNf(`LKRa~n_AIR)o~KTT3?sxM7u|1uT%^rU+6+hkAbjG^oD#ch^5o~ zYqu$e0yXF`L!mXwD{(wFTm!Gq!)2UxEVN(F^fWklqgvt!n0Z7>jqgxDeG9~eW zJT&AJTM8WN!~Je2jKyS2s5WWIIr=BO)$QcF@-(xW0*Mj3jFx?8!~}>t-6s*94vRXy z!DjwPc;QB~O9oB!DY*~}Z_F&3Mgym!KgEP=f+HfH#JtF?9Eu@LA7nxVX=3TY(MeN* z_VuyQ{Rjn&3oAamKrHR!byeMr@JIT|I9KyQ7%Mv_1!kDvmG-_PNHGif;l>PE$ooZmPdvOT$Q9Z3V0 zfC9w8<_;oG(1pEPHPbDP4D(NNdB%bc6E1B*p`y@o#!3qB@$sIdtu3w}k}%`{Lqjf} zct2hOVJK3-@hex8i2i(u-LX$-JYEE_1r(2VuEYb+pEMD1?5V9dj1INdES0m?Yb~Z@ zB{b92!)n5MaU0amR>0~!d|4VGKIF}(_8R<-XDjp$7?m@I>W<^@3zDP6px?;$Vc+U@F*^t99 z@~}tOh+hjW9qAISAp;UPTo2|_!cg+S1xkMrVWJ!=mJe2jG{%mBin!8SMvRuBc!!|i zp+(MAg@~>U7zK+g$=Vk)()ycB5{!k(vidHAw!tuXHWu?Z!d{X|QZ>8QH0j<8p;_C> zxqqVuJm7ZmW83))5jNGiw|tf%nnomDf<@H$`0DwCbS*f~IiZSe$2s#trGx~Fy~GoF zV+-27;)~WEOX&Vt*LGfyo#F_gvdnT10sj!t_4A@J23rc}0fJ zsmKCBCdS#p^9~%4A!odJNfgEeY~*Vg2RW}NQ^B^LuT&--axJ`*naeTgd2K zKj9KAe}`sIqV(Aad2ZM_z_x*UhSuu2(B{CTTmunB1L9tpm>_1{NN^Hx8_5*Vu95uQ zojK3NK9}*v!%sj%kwD5QNd%CFVi4`zixv=f82ym^i`-(VX{C)$2m%p|ypD-tVuwyv zAJbE_R!)a7`fy~6AOit1pTibgKpmB)g7tuZ17m1%kn%>QPV-31N}K?r%5;YP3whRM zFURQxs*(UsaoU@P(&!qdL6bs6d8;lvmro@0cJgV#8yryHT7z^dkc1?cycjz)JY%*xCIy?e}EPq{6|lzm#FzObC@~R zIR+Uc7zRL$!TTSAH&!=Fc$KUbcP)(7h1RQ7jEF`5&@?JRK2?|=Ul_^S-t>MC|D{Ee1uo$pHc5CPq$ej_He&RJy9q-zRX9_W|S9(R{G87$w zcJRuAw0av7LU?!Wi?+2qqEisS`GIG~V#^^0*Q_t#llI7S*8l{7or$p+!9Z4e#u}>& zl-m$TRoJH5rdkEn6u+oMyAvaih@yDRKVVYl!PCtNND{(>ktN-43v>}dWuzyiVY)*^ zfIsQ5q?3j8+Um(`O;(oxlIty~)R?U(Fc@8Nt=;sp^4!n$?INeq=00=*O=Q9A4Jj|1qU$Qe0}l*=cw zjai&aY_q0|5s?LzsQM~U_Yb2CQ{~ua_5`WLegk$;umjjGD+}JQd5Y{apER10zDUl% z%!0B6_BUIW>*YG1a&<0CHn% zK72%6`f<4Z(JJ*bE4ZEJkc?!ZoFflxACg6W{H~S;t%qTHvf-@|0_CF}z|Wv-&@8#jKO*|(Y;^c@XED}g!>7EmzT^QiLlERc za5!q8_iwfGaS1kW*^MRF9qqcBgo?~z&Rvzfb_lZH;Q92?M-g<4$>xmxESnjTW?}}= z)N!{zH2{YrVCaPA;iV!iy80MLMFP^rU`LPY^=4@Fo+d?Y2Y$hm>tYsB^hzHcT{(zv zETqyZ-MFOlH4TSHf|7H_n)W-ENnyR^(QuEx3;46aka=!xINB7EjageS(N8fO;-5LdNuekX%x{^&gh-oHy3j+ei@(KAOH_Ii6my+}2 zA?UY@)t5U!ke3^X4WN8ncXci_4~7# zO`@pFnK2{p>2pr>poZTSdMkIM+EOrRavviz0Yu2RA24KNk(p+nZh)f@yoefao83Yh z*J-iB#w@YY8%rM zdI2MW=sBbE9MA*ZvQaWJSKH6?F~7)j9}%KR#{8~b}(>YsfG|n zh$ItOj!^y0+2TyWe--SRoy?lJZ)2B7xsqE1gb_x@BAig-Ju#Bb66V8?RnsTBqBO_+ z5e7Rz1&5Fd#C;#nLToPQ7*A!55(y)4XgmxOLydiSa{o;-^}*#gM}-nD%`Zi69t^$S zm_;&he~?4Rn`IVkO+*z$A-xdhmI7Y;lD5lb3lvIGJ z3#4PLF|X+x<@?C=s#2P%B*bsyBxTEv!6b;N5#W`H;?U4CfroR9N}@qbN)A00S;rHA zU~MBpBSkTw0>W@GUzH<)jIhI#yd4chxyguU;Wag0x{^8pg0KKVo2t@}Y>_lb9;9%h z6DisxPY;?m>Jj&QL2pDrU@ym{k7V&KWPma$)#Cy;nrKwQm>f5%KtHC0vPcL2qrjOE zA9=NE`ZRm6t>ECZFEGm)ke!ClZJ;VY6BZfg_`o}rFGF^6sG4LGFEHq9j{66J8nUz zNEoiZ_&*)tm2CE5wxIHp<3)@LKBK+%|H$GjRT7eRUSLvN*P}j=y^NJg$q;5uP`QW1 z=4Ei!bC`!OhE`<;Uk1r{;Mqop$o!_wFQLU4So14ElMoM&QOiNTUVc%4tYH@OfdayI zH`Fimt(nU#(A&2~8TS1plZ()FQ~@CEl?qH4el|SvOvkTm(pxiEumVbch__AjJp|R5 z`P1={rmK%&VU5!W1{n*bS0?>U@U-R$dyETKf-^@rVnR}!dJ8eZ- zy8IDcs}zQo1U8it~@pf*o#bgi-EfA3wfIt<>D-wXJ!%6HvRKR((iwjee5hQh~;bcYB#t2)S zi0}D@?c7{DGXby+hOW&)qk|Zs;203=?t1jn0(M(Y&XcCVa$#aN2Q>wxhGc-}LS3OD zLQItIk*Vxa3F3^nzy+Ns%gLY$&tx7^2|{M9281M8D*^+F89{?V7?1`LteN8jJ_X&x z)+s}o#yvSZbExizdP6YK@qEhMbV=!>Y!L&ii>xNq@zye9v1!DRm|zy3)m_sSrFq#V zz$p|rOy@U2L7ISVrmhWEo|sbL*4S>aY>s(Y20SS(UWRRgugAu($HZdlykw+?xRRUe zX(kn`TN(RJ9?E}pEELP<5YDnP3S@FYpkiIL$4>q`S#})bNjVUV2@4WkwFn~%dIXg) z7=npQ@SFg)#<;UgvcjmyUlD~w@Ywlt@FZ-HR_s!F=Ls1li7;Bk^Wit%s%RE2%%7l* zb6WhhvQHALB>7jEiFEC>*X;EOL&A@WcBM8_;v^=VM+BXm546ctOsTwWR1YNtBJo&( z0ALz-By1&EH&PK1oiLjZV3P>A3eaIhGYq)1M+Qz7qMrgVP2C5;^c3&Tv@spaz*`;@ zn{w;7Pc1;l21|&(b4Q7}8EL3M44w*~P&sMT66ai`4M701P=kLA9xkXdDhC$T9Y19g zu0I~^7%m2rDOn3QL%mhU(NEAkO+Jx3-Y zseF!J>=98e^K2rieSW)4xy3#nPdfJni^)9cl@FB_EWl&n<{lq@i2jOTbMz7$Uf$=_ zU(p#TI>lOW-gISes0&wCmh1iwr{b+>by2D%U~yDC0ndy$;qfo+p-J;pfmH-^zA7EY z&q+|C_DF_hH}Krp@f?UEV&(Fwlwf9&#E4v27#T3jVGF+tz~OU=rwdR(b}5TIk`&oU zc7AZFM9%^goBck+yS71-P(PCAkrc$i>CBR$6sg7%lZ{a8hqszXGctE-mtRBSb&P~Y zSR-iJ>Kr2xx+Gj9Ww0Jic&Ggdx8ioF^hrMhjBMJovbSFNn%y`m(i1QZa6_NjgY~}5 zm&)o}|I$@;yW%@4*gXIdr5Dm~TwvI~cF^5KSLI&Up z{kk~N$S1-VCV~x`@xtiB9KxoDC<)2ylOFUWOfv#+2MaQOBQ_L{)05Ef2Jtko&;s!p zD?S)sJm1_6?$H>(j__+?D6>1*{+X|6;m^VzsVWNJ1rE73X#co z($q~v2gQBJBUK;}mgac)9#ER(S8TPB1;6K80X1$aU(q-&Idg#nW@F)p@rRCXBPwh& zZQ@TG^6Dt1Yyn9F#s?yet3OaBu*i-9xDZ)ITQI2iP9W0G|9e~(VuDg;Y}rwF^pSMC zPcx!GYnQ~pJ~V)6+LJwEvN}b#^(P$*)n&&d9zmi4`T!VKvQ#^<6CCdwT?G@dmZH+F zjIud;9MlZ_;j|vRo<$Bs@G2`vL;~_%9$XEmWQlI+hL9{9M434bnrJzlQ#+O@hf_7uz)6l!11`7=Eo0C&;=&s74XnG$f%+N%>! z9sErC*}a-V$$iRbg11VoD=^C_*fZ8i2DTw-Jot5h*xKBoLKa)1W_~Y8~QM zDG9;fG``Nl;tqKb*9~GnBgIsDGHc;aZs?|V*?v4S?=*!yUKfk@0Insfb) z4PcP15s09&!Xwwa?FohdL-*tpI5V0r z5y|t*@ss5kVI6gni)7$VW{nM8R4aCV4VorUi!vRKy}P`Kh;mrqjLKdshWl_hFHSx| zJuiRd5kC^+nQk@CNEv778R+~*w=?zu6qE>eA*kD46$R#>{D)cn$#yphzKOdc%J49N zP}DTHfS7YvN+DdqCqpnB_QEeeNXP0*r(=d48-V2 zGCJgOMKB$ApiCXF30my=FEvt+B`}Ik0NPs*K3MhG38Mj=HCn%2p$SCG$ znGk6afMV}>Xgw*QuA7Fp_|nX!_b(L!G|X86r)=e`*K)sE=2iDD|mepkHcZHNK|oZ zxjxV?kT-5%{~Ws{m2Nl#Hb8B8OvoUB=(knem@_h%eB7FpT#@T%g8>vwzhY*o%(X^57bhHIMJAbv6NP^xL@)9WZxa2#&$DGO{#iEo&$dFE zDH9ZR)XYYveA>Pl!ua7RZAFSpS((iz_ttJU1`pmH$*;HGwRWZ=85{M1l61u@BJJxF zt-#Q|_>we7OB?=WWX-9gH+2z_m4=Rr!sjgRgEg42Qo9pyqmQHk671IJ6nK|l!@-N5 z@+%&5W4>bAGD2f%$9F+^K_?@60JT22WAj9ingy%|z1I7!i}*Eh1QWK-=B;yhi*Caq z^md=%U2_k}!1;#1na6k}GrxT#?U6=FBc#UfSjneVC0D~7$qYDGEw;< zT)L3Vs-U{?MuCD%iL||grQDUhl3@8Rw?q1m29Nww&s?jrlS*6Npw|~6%xuc)s@W_5V9fcpL<}}Lh6zZhJx#njzeR&5gvC}AABZPO|+`Vd;Xj2iM3DnPEuNJ@se!{ z?~ApKu$Vd=JSTKw5}d3C?4axhQ%oqqw22wxH#Iyon-Dpz!>0fOWDz3o@Jgf5T7Y3$V8*SOU~L4aDhqhxyD`E;`ZRjhFV+P0 z_jm45r8jPHtK2NsuBYvt^6pdb+)*` z@KV!uIagXI!c*MwHjAHtBuxznU_x1s-zJkd`hI^9;QVkI6!b7X#F5pI!Ik;AYMEJ< zvKdYZThn)mY4U^pU4pj7yvAr!U8oHfbXo~ssB}T(Q-${i7qXcMGgx9sIXE%_R)@lR z1CE+S7I(=Q7&?m71#$N?1?jrwJFx9K=H5B`u@bLHxn(oQuafg%5<; z5L_Ctfe}nJG7JJisD5g51`L;doET|_v%ptu*W-|t0F8uyU22Q%B!4e{P)&<2BgU04 zP|#&2Y>?!Q%FLJ!!5EQv3N44@8O?!m6AO)ru%OBf(1^W$mDpIIPn115FjfWeP6Jg6 z)#`2rp{JTsfr<*R8KO~=u7`612>-@GB5FKZgex{g7Ze#4P@!-|K|x;-O+*R>)p&-4 zqrudtL`2b?BGu{#uigkWLpx5AUT6_=ptXWHEK7*u8YeQ&u51x3^|C4Q+W4i+S5I*sxf(Xa`ej{z$3o zJO)r)3o_yWUmd8a=hST0VAB0&0%76%jO~Xb3I=CW45`+8N+?7Q6{-d{72Ls@!-F6J z;hH0ZGnOk1*BFE|7Z=9ip_s!=nzNLzjeSaGk-!6S?Muc;q`9_NIb`%vDXSi6W9FG+ znM!a52_cH>F=3kEY+|8^`D{w35x5!>nl}GU7+R+qN2pN)`tHTZ(ZKW^<4Fxw$&Fy8 zMqb2027Y$QgFPw`kY?cnxM)F!EFG|u9z--TX7$Okvq9Z>B{h)4^95$Ry}>cn6Nw}E zEQbN>OHLdHuWENo*AXDM><(L@!(O;xv|pSSlHT8x@UNOVMW28Qh)| zij2oxfLi6x0U{tpn&6l$x!`jW1etrl?DH(Y07-;GUJ?QjUeUC;3&7_@)AOzJkO>En dxEx|%-g=M;2-vVU^-X0k4a05_U@&3d#qg^OIw$}D literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-medium-webfont.ttf b/public/fonts/Roboto/roboto-medium-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d42a7e7037822852750269bc22d1f2f069fc1282 GIT binary patch literal 134672 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 z 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

XJo*AU0T&*#lMixN3-_0n14H+K3) zt92rr;y402K=dx@<7l`7R`JL2dGA_7jHZH;;$CJuOrnm$-N7VVH+PV4%OkHM@HGN% z;te(M-ozvc0;^XD0w5wful?-B=dxNRw(&d1ADofVZv8gIgGPdqxeO>J3fwJec$zX9>^j9xh zfz7+jR$wNzKkzTBSpx}A=z^IBj0R|-FGI|=#efV_16>!HOuQO+6mjGyNdpK*N_pTP z@Bl`H!_%NL)}vuV`1YIp8ymTMrPptB@WJ@reTHyg37X4;0 z^+z{t!sy}irw+yM#QnMn%e`hApHN@UGN2h}J~bhFYTS-Wy+)v&7GEtp;D`m>7F;V- zs)PV2Qhu;@T0-^3^E%nt1@v|_nmd2t!ufOgO!TzGu|KPsPOuq_+xEgfD{=}Pw|Q&9 zu(d$vc>DEnqt}Z1);W&K2qdOTAIB~QOJOTa2U;;(sutk=g82jcJ>DX>oc9 zWtdZ#p(o{!p88@V)RbPUrFlzAV${)FBbBe!(HC1(cSP!on`k&=V1OXuxw?Q&l8vI} zj)_|Ci0L@o2f2+47H`?IaN#BnzS*K#YV#IpDJ?+Io>i-N?_RZf&%REr+P3bHmDS$y z7a{pvj4)>1fx<3@hc=8665907?2^&1O+!aU!J&hNU0*$Luu$Q0e@V;%GHt3Jv#asE zg<#pDe+`+aN_?I>qnBzes83R0nM-&*$sUW)7GoerBwi=rS-?9YnUo%u#|?EfxKM(4 zH(-hmzZQPDn=mY?$xzFYtxFDmb~JZ#LcPfP4TR1;y;=6ZpX)q4PI!6(Tj{qY8|tk? zCx*9Kuz+1wKRqia2b~7#M=5_^&oFM?_%r$_rqQ2_-ptJA%~cKq%jo%!s{$BbrbJ&a zq8`k)Wz-WxT**8PV_)Zn&|LCB<|P-Zi-|j?q6`(Hj0(SGj06b1jPOP`3hm0$>^YWH z-XV9IluhDKF&kMkOL$bG5&t)sC0Lk9_BY|x=8J^9r7MM1^Cvj|TsCD1Sj>F_&>7GX zpkpu;EeBH^x50;~4LFe__H}*LL+&+-r&e3$sv0;{CG5$Ybr%t|NU!{y;vhb_${TOJ zHN=Up8AA_kvV=w-X{b%uYzm0Q>^0KR5ODr4e~|MZtWIQIx(*^7Ov=hGImcf{t2?et zg`rKB4@yY`9q#=Ix}nQ=E$F@EW&otOVC#a+X6ON^ozxt!&Csgfg?_vZQ?Yj$FSrQ* z?L=aevF031en{jQ7P z5952SRS2%4-}zJg4(I3mjvOmXzcUCwX9oSwaojiYJ58kLjCFoTrY3mnKoY;jb>$y1 z{$eBsW6@?Id5c*{-V}Glq|IK{hBR@E!6c&pC(#hll!hSANa%qWNa7y=?g1ls34Q*< z_vpvU@A_|R%m)3kfA91+qBo73Q?QnQl#a%rufF*mT>`;ncYuGgg+K7QrQ)@Zw-zL| zv#y+eSk%AvRE2QA;eAfo}bFmhrYCUwFI#TXDVMSi>C$oZ1%dWZk~S$$!h zq)#F{#eMW4*;t$wH`u1*$o>n)(-B0D4<@JTxJiMdDJ)tjHJh8e7%eTKZ2=-%B)bC= zS)l`L0peITt)c+-biBj0tE^%{C5&;b=Sw%hi}3u$Qr@v%?AIG`Jo^LN2+PKP1Vh#p z9uFV9A1Xg&v*371?@z-_WI5G~8!NG18Vo-r^p2KvatZthOiU3ARV7Els8FF681N|y z{OGGsz)&!I?p!X3WZ9piIPt@HDwS}hwG^x)-bBosC{S!T} zF(Ep%WOSS+w1-H|j7b7RG|^P>b*-$6AS7?BFPE*DiI;V-K#+tqcDH^IlJv>_dE|_z$NRi6s28E9!sT0(gFnVhui3Z1u)g&NL$zmr%ZU}Tyf-iX9C%Qb# z?94V@v%7U~l`%WPBVl$%tM1*hySB-kZSjBZC+zsvT|sEWx}ja#oNv=5v~I&t(6#lw z8m@_FvSC$8|2yek_^}#!fX;ErBanjGWhO1zRJ6zYmjn`6yTMhr2;(# zGQoN!)-mu;9M&-+Q}6*b2D0I0=;Unhq2u$sVV(Aa;Mr&_6xIx5zrTFz(#6chmu_7K zx=h0Fs~)o7a;-4E&aJ9+6d2ku;mpg-z6_?>X1t=>GT-iHC06%S?wI>iebYiz%>?pm zB6+J9lU{I}YpQ->%au0g;5H*MC8@bhH{7P%DL2xl8)?&xv`KzVByaU@qLcxN_nv)< zX$WDZu=xZP=C!8o&yB_J>0txv&xRQMU13vYfyFkZej2u9xOh;!71 zH^8m*bQFoA($erc5y7}A*Ob_C4Mg#5T5*y5&^7E)RS22`V!`kybo*!mm%(-C@P4;) zq`NUXb4qd|Xg+sB^TQMV``0QecaYk^f%x18;*&dpvAS8RXFzC5=uy?ot0tQrMeL$B zD$S0mp6E^V3{nU%kwWOHk9ioeL>MBmK=tA7-9KM%ziMDii|K90kNDyXIMQxs7nKYw z{X9JEk||{H;DIHTGvyrbdUy;yg$7uc>OgHN-Qacky705}Iy=^RT^Ffbk7GKJ>*Ra< z8@Ry$rXQN5d&s}Tcr&5+-ZUl?>u6oD1ewhY#&l&gGoHz3rZ97{X10h~#;ju2Fzdm5 z#@fYVoo}%gSgeaJ)=bN6>r}!a@x*k*6Vp*+4fRv2w(^^J{3hOyT4SANKHFm!Z#OIc zMa~ueBtlK5;*>W&Gzu!2Dsa8aNNtM6dTR^i<4jd;3R|}fFo|55RA!w}W*t*zZB=H? z&|6M%B(H));49)Jxb-vy@ zPw6IZW04a@U2k2cezT&?I!|w1Nx!nX%(_T#eT|Ot^)l-+y>%UBjVi^=WRxJ8#Ufs2 zpjFc(Yyl-`Dgh$ z7xMlZ50cOF4?&Z>%7JqmCns9?G7#Vx08Ea7SjF;izWyLPHN9E$?8+zk^q(#&kNyLn z51BDz$i&=PvvSdUFs4(dxE8+NZ5wp%2HLmo)~)r#HeI{6!6N;lZUcLC5gImVQor&N zNV}Y$e;J(;NefuV(pY~NA-4|acwjpFYPNx5!HWi=3o~=_SE&_d4Irmwm>FHeY z4%vtY5Wnt zSaubq2l-XOcpNMo?dCK`t{37d#P6IMol|(N=ax9yQdBa2_4pA;+#1XTMi8k z8IU^ql~+(>OM1GcVM+>E9A{}*r(WYk!Xt94eut0o_-kSLwzmrN$Ik`gu$WN|Q0MP0 z=KhuV>cVv}yEuf?Xi8D)0mcxeNVLDH?I%PQBp?mR^4P$-R{g_!HdwvuXwj+<&#z0G zm>3b?t7B4opPtRr+qYfRtz}wx#M;@Dwpf>bSMa8vewD!o7-GYM+vjvnO6@@T-T10s z*~i>AI+h+Peyy)orBjoBWAkDBCCJziZS1|)P^MyK^2RksMPp$$nv{Jr$;tU}V272h z;!-BIn^@FnX|MM$J-v7uRe_L0T_)6;HL(A6i*z~h1bt0whHNIw70;hUA`LEXzw z9cvOB)SmGA#Gd_z)3G$8HP%*AA3z(G%|P#39UgL09dm6NdJ4HMqTE;a1b|4aBj>;U zcDdu6C(QcYaS62H!IsjmzS_T zxS%5l{re2++hyo|DEwl*a4)x4?#O2s4_EN;-nc#k#t$C+K0MH)LyLZ0nhR@=9Nf`; zVQkd0p>G~Lv`1*!e^BebJ&MKg_rvnv8oHmls`MVci-4p_AB1H#mZ3nP1}$!>fhr!X zm^5D(Bm+jkSGm_iTeydHE!;zKE64#Mz--!(3(knDKKT?OzRmkE8f0~jfueOnZ85jG^ExrB zlW=*O1p?;6@s&BSpW`As@zklAY|qnE#Ah1uIZVgTbR%_l6fHupMz5)MBpFTw!zQ`y z#LE>4>i~D)iH6wGDBub6U~Pv78Vz>B2jVm8<7f21&+wEjnVM&4re1!A)@sG*$OCNx zAj7h;0tHNQXGBy|U?fTQo+1)=`V$a>mVp9v_vv5g4k$!RK`{IataF@nlz?q$DC`U~ z841Ulzk&PYD8-I(8mge_paSW_>8(szNi=R1^UExTNW6qV9gP>#giZq1xEZO4 zR-!SIm}OY3KoPqumm+Ke0R43Ls&M%(x(%4k!lh3^F595u6;@aIlv`O@#wO7Ih7x-a z-5X6*u_JnQNA%S#Lr0?lsg}uROE#fMS_(5mkB?#ues0#Es0{!hIkN>jpyCzWI$-8j z{g<1CUm4`*XgG}KIZB{|HZRT~oeHHO7&i;uy>kcsT)ukFoFZV#_0t-zOO&{i%qH2NNQtB}Y}S)S~1d<58KUEM;?? zqGc48gO5M?b=ctXIi5bxyo4cx9)B}(#K;lffDcg?xAOST?1gn}7mXQOH^*P^KO%8( z@BU}{bm{zmTDuaks;cdO_CDvHdl}>+B3vc`5l|eEn4Ac308`XLo~Vd858wn241x?o zX3F50Svi!Ymi|@1DSc_BR%)iA&$9kb=qoj|K+9D2eS0|f+;c7$8@|4;ukUzRcb~P_ z+H38#_x|m*#*)5FGZqS~u^!uSzNWe|beGc6GK%GG=(&)iI;)nAMIK5LmAYz`JCU5^ zz)h8BI8{lk=8d>&oK^vb&hc)d+-F-hgr0M^$CgS_Z#)-5zyYK2fBu$ z+}uS)xp@UJ1l>gc0YShM3;`aX3%Y=A`Pb~&QG+sSckbBB&TOV&yO{Kk%z<3XBAkS7 z)-&nV11}=Iib^WIi|ALA;C{QH6dbEZQAX#A6f1r}#iCWz6+wr7F)<-UDDQzop0OWtSnn19Wz7Uz{eF_kEf$jLz-M_A{`)Y6|5=)7V}x@X(jwzutI zTT*J6&MVXl1_IVEU-(4Crq{huMBl!Pz7-q5b0Cx-{bVlu6*Sqv$Dm0ol*|0`x%eL% z(+;3&Ua=N)u&@Hlt_b|z)VAU1Q95rBy`|zOdoJ^j<|kFI8hUu8x|m(Pi{$+Iid@SM z7NbQHP~#W1f#oY`kp(dIH_MubYBI+!ZBOh?B>0;9c+UIcN zPyBMstD|YIQO$8CJPSdoX)G^&TW-C;^$qt9p88RQcQQr~oq|Wstvz*zs>M;GGe*hs z1x5HRL{sMZN0t6@=HsKesBs=KelOZwTmLLJG} zsl(FUsN02~YlC&szi*w0z%P$a~QA7~6~Z0DO%)V%fGLIjJzu z({Nm!hJA_;sblmkkHYo?)d_@ECA6x&d0OAhJ6P?u{gp>Y7Vw40aJ={v(t0!=zKgyE z9d6!yiYL#!1^MgWSUfJf-F_9jZ%|Tne0qbRf>>EShZpmRI5l+*g^nU{Nkpj20o$bJ;;MAsJ&4BF}fi0bcT+B z5mv^4tZ6%@X*h|LKlpS9HfIopC097nySGg@Dv?8N;qkd;)uRf zHf>CEg(`xV2Ov;oN+R13cIqV7zEVwjzO@NjQUUgV13IAZzBzt8Yu)Racr-PhJAWQM z#6jGHw-?ssz9WsR&UjpT(R!;Ur_tPv(j@MBhMG|e!Ciei>LRo_io%7CP-EmSUqW|) z%cUz#8hB^^{5i{(&6zhJED?{L0d{qb=YidsPsEwi@CeF(d-`m8j!I-ZbH(Go z{25ZJHn0@m2COdw8AFC>12IVhad_l8tJ+AOXB!I1`(1>_+YoFZgUW#IQm;tmrPH%A zBI@%#psK*m))p~-hY;6XqmHh^3_mGz}x@` zu8ju608F(+^Qot3GGl7}$bmfY#cRK0BE|UN*ha$&LzvMtW?CC>n_wHd_zMMEzd-ySR)!y_ zJOTXqTbnlB;`tYUKDSGA$H<9m)`*}MJ*0WkLxr1smh}C;6h#5)H?-!KwcgrbE#`u! ze=wgv+nY)3z3qeT>Bmi<*7)(Ed=~!l##=n_KaM8vI(uKZLqE+W16JR9BJO*NcnW{p zAR##Z^tWy0Cr9~79#7S-wl*wSFmdC`s?GUDN_$g$7ObnOIS+y1>JQqO$hh9x<*yBn z0GPpT+c1L#1%jKGPrKLFfJigmCn&> zkzady13<5UKvf63fUIi03&?9=&xB`ds?S2; z_vy}**s#I?&!DtXeLF1;@aQVs6Sr=~y}1{cF(AU%eZZ{#J=&}6QP1pA!1gF$du*XB zv0ec@QvkW>!MTMg28Oz7{ot=EOH8hTTS_&%&9-<=bC~i_2Y=G~V;+1Y-P@ZxZ;v}~ z*0r8)`&!ZSZiD<}mYla^Yo>b(-h#pNATT__JO<#8P~5R{)lMzk6FZ<^>^WV0ltz=# zU%Tmpq$q$HPRq$j6T9~8*)?JT@8T+YxTOv29~LS0<|G-Oh4;npF#mqs%s<1wS%zl( zTN_%=8LQdL^s1Kga`b{(eUVC2WP~GcJLT9JN~&2rh78$!7%P~6}BIcm~~iV zBU%r;5gG$Z19jMAv>|b|vjWRS?#Wroy&WxAxtK(tR=GZZsHFa9`3|+a|Odb>IZCql!NKEi$r$ z3JS|{Xx-DbckGww0YT%O&}c^v2llw#4aQ6G9$$vrHPCih9!M3Gp7&MOy7Kd#0NN{R zT%jv`8L3uzx7&_@s_8GUBI^!3NCr^6MFiKpFv6eP%k~ZThXWc>J#-Yls0m}b8BOb_ z9>=qAqGBK4;Tik*)zFRZq5h4%d`>!;0It45Pk_x2hYD`KgWf0m`IC%yg%FxUsK829W>fyPYR*G1Z9>rkb*vs8 zt5~;@)S%O=6U^yN1v!G0X&r+o*3pBcxFE1_KZ`-8{PWu3v>@J{7PnIFI}{FJ0CYcWBT08G2+(xuRlxuzwTXX=6!za z(nsR>oV+;;=TrX>i}f^-=0??$$le18=E zrhzvXPRz{C%bYac1uoC~X`j}kr*&6QJ&4^krl|dzdFgpY zn&ZA6hYcRrkBAX{(EYlr=mzKk48R3=f{{&wVtY(G`1!uF#aozuT*>+m>&M=-PocUu zAg_DuEGh_+0bvVxtzV=&Aiy>L%&oUO=o|GNE*)qJTgxLZSQY?OnSa$T@ZC(y5#S!Ckh`{-mz%>DG*w z%Vx}4R0yApTbMm*Vs^mwC$?JMwP6diTEm z!jmT#e)%OmD=YmM@G{C1%D?$w$E8nZzxdKT^O^cd%!jwB_NrSBy zxJakvD#wx^55GY6Uj8$B?K|^b{YOXxZ)c`VojfHad9*Wl1lOEEjV?ZrKefO5{FY6k zen8TUu_-fy1F2l+7$5Ss5`JW)!ml`4^DEGbU#aCB97$PZ1%QUS7x;(J3yKC)xfgIP zVp=z!jxU7_o77=)R9V%*)m8sKR}?ShRbT>iK(ww$91L*mqIKD7}{^C`4~A)$zA9FnUsB(9-&CWSRwSx3-BTkzgdG>N|~ z+Jp8hR;-u@J&~vZZK1QY@A(kk#bYFhTdTm4I9bDyz?N|&SA#%S?bV?BK`?b6L6Qs$ z;xlXYLEhwM5J8i$=d9`@_<2t!!5XLpTSXi;2#PF$e-Bv#HpfQAJ|7;v7cYcL*6fIn ziW^+JX30Sj?i~;nlMp{(A^0Y|dti8%_Tq$`>{*d1Zick}bMkZNh@C^jy7q`%OyrS; zm2;8Wj1pJk)GQu_E#XSwU&ocei%pwBNKD7jh^QFC`-)|6jL#{CVC)LOMZ|UL(xXpz zaq5ba`7bS)K1;;&-CAKFd|f2ClGdCTsUfK>9atT$C+E86-6ku0QF`T#DjU_MB|w(E zf!eSL*^(no5)O0#ptc_Vw3=TubJ&oKj3F=1m>3%17t*~$K&beZcvSO!!jvfq3FF5n z_=kk}2ZRA2#rVnie`~Q!H3X9=uN|DMtsTyq`IX@>YmXL!Xjr(`)#TGU;I=H!{+z6x z{i$!{8!VuG3e2kd?2qqo;o6jQvEwu6;#SUoWiFP$d2J~=!3sF<`ncjQ^J0!&eRBNpWAyup z__qcGL@gLMaH_|Gk;yZr?kY|j-Kq1r-S1s*I)V1>zvFH=;NlEchXuuCROJsFHJ`;$ ziMSsGtHffcNs1WCvBemwy09xq{bvKIXQ3_|lA7FUC*i$BZZq=vbNh_Wu2Er&e|hC>`V^A95iMO>=!+3 zXiQ9Eq6xP#g`WEbKWlH^T8t{f*4WoNI?)()O6~f_{}wmx=7adt*U<&^_~1bR!HS}f z@i*{?;1=xX)!%Tk_6=z94N{`mFFcHX18ynJIPzvPnhq0T<(r@GDJ;Z+$*`3Shrdu* z10RxlVIYa(Y45T#52pZr6~*5#H6|HzT7GZBui*D3_`S$4?Ru5AOZS&azAk>9l)LCd zmanUoIp-*&xgygn0GXVD=C`w;5e11x1c|vWN(%G0L?4-EWPT@_#Za`QA$g}54VON` zU6l>eRI7-!m0;otjKD$c994cxkF)CU8cno(EpX;0kSwPjl-7eD%6ORT2TeoKC=S;Gaa{*EsDyx-DRuL{r3Pn37 zy0Qw7tXaU#>7MgtY!gJUUA6|}7d2Fj66qM+mHAf_2jd7|xr zL}NS7MM;HeHei~$lqdGBbo7{`Tu~YlPif97_!r8ku3wRIN>y=^wq-d`jEClDOtVB9 zdwV#VRn5zszm3t{muVJ&X{;S@3mUPlM1$oyBal$|NEDozCPbzgIja}TLS{*$`PM|k zr4Q_^%Ead-jSq@J(_F`N#S-5q@k~YYu$gOkQJQNq%>q!&^4GbTbG1<#k`t2AfJCm0 zjTK88&1s1S^EBR*W*a6H^nSI(6U9kV9T!O7>%rP;W#)<5R*h_1nOQugXl8$+n`~D} z+)i$~rLChxp^o~Jbu=GYGW>!5mY#!Zeqwe*c^J)gq}kOpa;{}cBRWeoSXW~Mn6B*1 zJXo{?{slU7J!l>`%XU2Ec81TVBd5Kx9eOS-+A&{9X#A-L+%&+_&T3>k%M6iZVrh$1 zCd^)wrcZCdUS+$-JoBvYtrT{T63KZvqaktwHj4J`tnT(y=8Qd!+l!;JXYC~! zUt;6Y?3cJcC=vWWl`FYhB7)=wCXX`g8(%T|J@Bu)9hIJu(u8AP#)=%KDQA5G?Kvl! zA6&zk^=2U0AxyJel7}B!NAAB9Y?9^(e!qRTsRFqZ{1T%fzvUjH^^(qW zg-YqSq|GXRsp-bN36~<(6O%AdCR(hsK~13~-D;qeYCnq2J)OO=6mjE2SvgN#q)-+IZv9X_%P`E6I_ zZ~Ne}VUEcN|LrLMG*+Yhm$2XVbZ-`Cu(_kXY(pctC0u8g*WO|d+AGgNnOqUez1hZs zhWgQBNpAD>X6Ka$U9 zedDaa01i91Kh#Q2=H=4K4rx0C?JC zU}Rw6Ncww~fq}E-kI;Wp&LRe&2r^(10sxJW1)l%_0C?JsR|{}e)fHVi_ndnlNHJ)@ z7$kfu6aoU0hT;$t4S`fJ6Ct6gBtZCo%HJed1K}$PXai9u5=!zQV1P1~1gex)DV-@T zenxR{Y8i$ZCS&ci+Nzz3g(|meAMTAwB!h2e&AOlS?m2t!wf8YG<}&7*K1hq1h75HA>(#61;jBY%U4qP*w=r7nMV3lMt&;`C@e7ILL_YB& zVhmA16cgi#S;Q31QLFl4k?w(XU4?3$g!Rq`7~%Ctff>6y$^j&F}9dE-0sC;FnN@|g74_l z__4Ylo1J|0BzJRuf)r;D9JLdV>1mjvE3sZDV=_5cr{Zz-4w87CN32zMVu!lhZ_*>N zL9X4;Ikpnzc5J1+&Q)i~LpaA-+{ODc-5veRH4G&8Ct``I>L|u2gi=SfPQ(E>6ZuXxik%kB)=RNYd~cs!M1|88>+~edbY@|d zGY1P*GoIAH#dA6qX(|JIRVF;_w#K0YbSAP*8LuT4ZD3>Z26pPd(MIw6P2m0>-?y<~9NI!9_^+r0 zY$v};?9;!YUcZh*dsJhb-fFMQ+CgIR0=5Z@tuo&?SZwF~oia6Q5|JzR>qgEY{*g7_ zf<@1wsZN=`6up@S#Op@?EBg2}?cCpnKPJD!7!0KjyOZ~eKit=uAH%RiazqXCU$%Kd zt?FH2JF@pH%=5YZNFIn5MaQD0aJ@1nrVits5Ak!S2|sn#@P9e1p~tY1F`4N6g|%%2 zO4S}50lvHld^MW9g`7sdgFHY@$NSVooy;Y2*xcjVBqt^2<^g;+tc}$F3Y&|~ydP@sv&66B6Z1R#Q0k&NNG`w< z$z|)S&8*)=w2`q^jW}#;n>_m?YV_^sXY)$lC$grCHX5+ZjuV|NXD&$XVcnw^=i0Gf zAjf{=2h8Oi%W5nT{)?b0^r7ovkbKYEjd+ufrFN`9 z{&yI|+x3^ge>V4}xA2>85pu+T?jRgAmDtYj)O*)Z?s%p+PU;|5K6A=iB+;hg)mtR{vu=|ASnM=vew1>!|cL_cM%iKjFKr ztUU$6{E|atZybK+=1@AMdRUGO<%6< zNv@3=6`g#eW(VIC{fdTyy3nq-g*C0UC%wXbTN?L#0k_VTf5R{AZ*v5#{tY?o0bxu- zPQ9T$$rG#9jvTB}@=&xW`C>KuCrog1krn!>l|7pux$Z}p?_RE#3odc+wOxjT)HLKNUp&yiu-})4f^G+xLq&437b;? zerF>0C2>Gx2oSP5Np$7;q>#_n@p>e$8+d4W_r}@9oo{1)~&rV_wO zN#rczD6!L?0jre34rd?M>a(~<-^O})o1aXcL(G-uA!3fx|JjIFv3`^DJ-^;bK#Jam zY5E}d4N>;1D18yd2Ing4^P60Ml(nDV=X&#;Qmn9e2HCWEp)(b$xbLb_$vo#ov4ZPL z*W)n7If_&VWbV!MQU4^U>D)F?$L*l~t%#av`koARVw?>I^2#I-Hh+l|~HbgG-ooFY7 z*hGkih$q+KO6=J;ksS0UHn}>L>{6Mv5-N| zU}rRDs57QARx>LzH+D02yLRtnv9k18b9;z;w0kD@B(kyDoNQNiYH#gc!`}DEI;0=D zx-V~^U|$S{KygtjloK_LTH6oXkKNz8KbgbMvE*!gEBJOYH#fIESD*XpK+Xa1!1#eR zGzD!zfBX*k&WB0Ea4{-O@*wk|^?l}F6$%kzJ|@;&!^Pd+kVl0SZkbx3q5g*9Qv zu>tJ#;qJrA!wa}9T+b225%v+wk=T(%JOa+x2+7ylB!R=_CW7jzVe3)BT;1zrN4 z020^)0ilbaAQ%V}1RvpLVMSqWVQXP;p|a3a=qy|+YA)(7k{3ZmlSTgGwBqh!c`;P% zD4r^wD_$l}61~J3;vz9g{8W-zl2-zha7x~mY>?7OIV1v!M&gsSq@7Y^DXx@KT3gy$ z8Y+EN`nGffNCR>JEI1KdCihy%%^jYnS{eS35ROapU30!RZnU_B@T zrJxQR1KnT@jDxG-2XN;Y@)+)z{@D9t+vIFAmP{sd$jxLCxsR+OkCR+<#T?FtaNlVcYbPSzDXVUBGU33NA zLU+;q^cnghJxNb75R7~V$Y3)Bj4s9iV~7zuUUb}ae6x~UIZ^4WT&P^D+^T|Cp{s~h z6;KKEk1b=*vKQEkCpahgC!CyY4xYo{ z@HrhEF-Og@pG2Nip7e1s+%fLfDaNVDsSl^NY6Z3JwVkyqwaL?z(?h4<@oITeUf>Mw zjP*>4FXYSkL;P{Rmp}6Z@Pnl;t1iEeQa4uTK8ri6KWjScJnOB`uQ%1N)o(Sx8_*5S z4IK?r4WWjaMpPrFaiDRdiP6Mw5;WPG98Jz9Z&RRYx@o>CF31;X1(0C+T-rJ2IqkVb zGuSL^UOC@&K5~Axh0)?|NnF5RAYHJx=CyXW%3J5!;BBI|K-+ZN$F@{Ew_VaMzlgYq zyvV(%zc}BK)zRMJ@A&lNz>n{QmBKoqNVq24x}>S zF8ewWo!y;tKXHFr@1k_+x<3Bg{_{*Xq1*Kf@t0UndrxOiZ_n1ReZNL};k~HdqFzcb ztJnKm-fv5N)+>lBiYp7^TrpoP6}!c=;^qH*k%%Qa$+%?u_mB#; zUz1)_U4yPA6nTmw1w}EWczYdtopRl&%u!;MBqc@3RkkR7H()oAH}YF0!Lc`MtHByaEGp6xsW;IKik6M@(t;K6WEmtelinT*pn|4yWbF<~<#7&nDp@Vc^ z{*?Tg(9`r2x8S#Qw>}REhFn9RhPlJj!}G(7!*7S*52qjmgn>v96RL+q&;VqB?2r=* zK?~3-^l2n}1UEt(;g5($WFyeXnlJ@S3#L_5%8W2$ z%p^0@TyGYcrDmPkVs@C_=79O7dD;BIykkLHa2AS%YiY6cSY#Hp#cFX{e3og;Ys;Et zYZN}pAMN_TrK9Rm)2My)!KimMKDs{o#hPQqT4~mLtJpeq8+9AF&A83G&9i0NP&SN> zY~$IQZ9QMRY@2_v|C$}+jkS)g+!?sDc4yn(XrHn#*pv31yXd>(yJL5gcelsEao_mo zzb$_+J75mL(dCdj42})Q_C3Ts^gZ-M;GdkYvHwg=!Y6wtz4w9ps{8KysR!T#(F4yz z*hAVw>B9+UzEkU5c|>|N@Mz}Ik_&VRTyEE@Yx{BYWB=nFH`}dtzj;#kr1#0xlg}Q8 zXTTGGN_i@Kn(%VG&0do?=3Re=de;4HeF~VePVM|l`Pbvi@wND7o)j z2s=_25k@2tWyBO2kN6_9kvEam$YvB4&5e?x%qTC~9_@>&qEOTkbw^{-cyu+o8AHT! zVuTni#*1~t#4&Zu@L!-`iWmR@0003100a^MmjD(3UjPLF0RR91000gE00IC3g8%~n z0eISdQp--lKomVw@IgeP#JFJ9l?wxy3*io~B6G*CK!E;zr6~RfYsJ7sFT&rinDOA*_-~}X&v7SZZQ^9FujH=)_ zEE@yC@34(09HNgNJeX+0;ol)@FgCy=Ty$`Yw$2_g)~9!m7QG^D6lgCPt8;l=CeD~^ zvS)-YGc8t+SnrT0++F&ot0c^8|J0Zh+*NumhRpgWG1+Z#*_vmaYwJgElr=Y@H@shm ze5Rg-M{b8zE!OzE-7(hZ{YEEZMZ9RnpJo?(oTICGJz7UA4fgcadyM<)%gi+x>CyMK znbg+PySrLTTTg$Nx8txb@S;6gMkXgxqzYT#qsPt?^86n3XOZWZ%VNDt-FYexa}F6P z&Zj>5fBtzU+AmB(N*<~rFICeRs-aq{qk3wf zu{4gx(*&AGlV~|wo>rh0X(d{jR-sjCHCmn4pfzbNTAS9Pb!k0XpEjTkX(QU0Hla;v zGuoWCpe?D9eB`G91t~;L6sBfsp{;0Z+J?5J?Pz=2fg%*87{$q=1Wl$X)Jjun8nw}M zYNrmGK|4|>bx}9<&`vayX3=b#Lp#$hv@7jKyVD+&q^s#7I+zZjd+1d9j1Hw^=_opf zuAqxq=tz2l4x*Fj2l|nYq0{JadWhbk@9A8+l76P2=oh+>uAwLBF}jxKQZF5EkJM9? zqQ~h;dXAo^XXsh_oaWJs^gO*l*HJ%xM<>uL^b);H1N0?*O-ImtO49-wqzq;0e9FqSP>G7PkQUJww3wFC655OQp}pyLx`6hheQAF>fWD${=uTGla20#Gn#a)J^bgl? zE!S~9{maA+JeJ2X^LU=X6L}IZ$IJ5yydtl}EAuM6D*Z;k^J=_0ufc2bTD&%|!|U>T zygqNh8}dfHF>k_~(jW9HZ^oPR7Q7`lvXA{7;2?*%iNoB?ExZ+dKp*nfybW*5+wu0i z14lT@F^;pv37*VTxRtJ_8+a;D<2Iho?cBjLct`H!F8Y)HqL1if?&coeiD&XGp3QT3 zXWoT(<=uF9-h-1omwUO7Q#_CRd4SV&7tiMfoZ&(Ggg)ggUCKEg;ypRf1uk-l7xE%r z%u9GF@5OubKJ*&BPjAv&^ftXmuhYA{FYm|u^8tJyAH)aqA$%ww#)tC}d?X*mNAod! zEFZ_m^9g(+UCt-*$$Sc*%BS(^dFjnqn=)Jubmm2om&CdfpYB+JS2vVyEAE6K{TimWQD$?CF(tSM{B+Om$U zE9=SnvVm+U8_CA9iEJvH$>y?!Y$=W66Tbu`C?RQ*ury1HY$aREHnOd3C)>*o5|OCH zBrcXDWU@?=R+%c(q)nzvyL8A5*-<*BOS+{;c9NMgOJ>U)*;#gxU1c}fUG|Wq%#~j0 zla$Ppei@Lo%$Eg{kwM8yPKIPp$xA_sQj&$TNEXWySt@(U-m;JEEBnd*a)2Bt2g$*5 zh#V@1$>DN@94SZ1(Q=F&E62(4a)O*FC&|fjikvE^$?0;2oGE9?*>aAYE9c4ia)DeZ z7snl|Tq#${)pCtoE7!^Oa)aC`H_6R%i`*)=$?bB7+$nd--ExoIEBDF$ z@_;-j56Q#wh&(Ef$>Z{bJSk7f)AEcwE6>UE@`C(NUX+*QWqCzjmDl8Tc|+cmx8!Yk zN8Xk9&(Q`NzYY7CgJmB(5ilDB5@MAdNY(THi=oiv6Waq>AiYu3ua+u z4vVuYur3OS9e7YO;9jTBvysW42#7H4Gh$>YmtNvMW4xjk7x4-iX;i8wFO88zE#dPR zj4W!Y6fc^QfGSSs-Tfh79E!+65O z{rUyIxL1FHw#f*ZLGz4Zb<0#jYbw%FIq4O*FckQ#I?e{k?nDdgTtCE)M5nMQMQC-M zLVq-pk-X4r&qHxwm|o7THRlFi+d8Py45}UXav)TuyMi@%5UrhQgzToH4`<#+_9D>I zna26uGHE^f49D`c-g6x2*L&TRBs5u>-NZ0R1{@glh3s`8lu<8BIt1wB-pEp704H3P zEcq5-j;oN(ZUKC8wOOPKfDx`Ni;@qx;}}_FBw&l9Wo6F*SRB)VbP~9Ud+R_+1`xPv z2eLH)!&N$D4*~(WIxa~AFu|2`DRjUKSHmS^0DByro4o>r;OZfy^Xjc$*b z0JLdW->o9Jw0W<-$6Ii9(;=+;jNrniZCH<^Kx5N>yIWVFvI*br3DcQ$ihI;I@x>Bb zo8{4U%Irn{0Cc8c<;tUGTr;*gNdA#LP9BzAHrw2MyH;B*Wv+9ktltRFZ5<8vaQcvr zrf9$7cOjs{g?M?sbKPvPx4Vynd}S4tZV~A56>J!9?p>>4OD*m)7^Q027Sr@{^=zZ> zXqkHorgl1)a4l&z>G!OPY2A+#jY<(7##-hYL;V?BJ)K`P&W8x_LH?1EMo>gZy=OM+ zSy6QOogokcrS@6!jbm*|6FN_2%H*m!=NV+@b<(Ogrb3cxRiW->aWDT4E|g=LtXgkD zB~GLIBSfV(S1lFOjojARbzGXOcR|XMTgGc|e`2z)*Q1e+Zr6;(iXj(X+eZ~{pnu4K z-Pi&X!e=r$c0}-vbdzIKN1B3B56cT+`m@TK60IH6mDyl(vb~l02gWcJKnguxqsO5pki{&?q%D6x5_A_BLiUNur%z z(K5<@Rh_HDgB`8|RO=MA%=__X$n~N-Q-jf2qB=iS(+h)q_;(-Wcc3c+6N;{lz#J?t z2F;`}l>;b&rc<47(6(o;1`5i zs#^AtdFv0t`|~o268SZw*|t7jnu7KHPWYabHUm6ZOeRzRZ z9uy0E|7Ae>jzA`IcF6=Jr9;JgUKN6FPUjqUUtborBDi2F1t2eqi(e8}YU)AxZAUObFhMQwI8! zIUB6{yRw>UZ*aZiq(NuLr&2@k^XR+NjGZoy#renj%R`nkqdH&{#3fiGrNm9v#Z?-G!{X8OkBhw)1TJ7KRg$e_4q$f+Uv^m1P+bllFY4Ntb6l_uUG%9p;G5lW#{-tDy=CRdP709NJ_xJCJLT#NA8)8MZQxb<~@C~T2TpF zaR2P?S=7>7taK!@?grR&9{zDt5^sWpnv&xk9=_~sCoGv347ih_(onlZP?X)kT!C%c zhje?cmb_bf3c@+>X{PaV3QxTUv6FTGlDeig#3s=j=e#vY9Nu;E#t%rw5Xa3q?P-Dh zJriS9)ggm-PY~x(=iSZ&?+*;Vo^IEzg}P*3&~KOZe0O8EA#%#docTxSMm!>2kJB@ZsO`OH;S$9JrZd@aA` zJ!djwN@(e=#!T&7Kvq9Mm0cVHb!Av*?PXzE2d>-%nP-S)rv5fcl1x#Uy40TQfn50L z-#T~kWQLaI>B0taMG@FlP%9UTH6}E6fIw{!*J)?$v{Pu(^E}mKzc{~l3nU4gS8LJ?F^8iYHQmCpko&v#1v)A$np6* z(YzCd*+}$NoS}n8jUOuHy}%rb+-iNie>%KC>wEuxSt(eM&dwZ^8Nw-_A*g?LHAOMXMQY`R;gAfcIz6X*~z-UgevsHQ)X!R z3-lK3n$z%u8fuAJpxE$MPzAd&ZD~yCGSqIcVtXbnaIh+{s--fUJ@-^*dmffwG{D;K z8=htO+f&y$;KJu3_HtYUdqTTBdOM$uvd+~ZsFr^A)u_p5&kbjNNFUsKEN$#I-!Ib} zXqrp)^*7|kFti9lahW>Kv^b(p;pPPLW!A4c)TD6dd zEvQX=5Zopk{Lx**%j(r}FUS%{(E>HFj#-6$+zyDE*It&o-85CjABbOW)6>3fOh9L% zyrNo6LUzs~V?{EWktZKWZjkorU)*!Z zZjSHEI=esID8?mz_)%-#!V!!6Lsu4=iC@meha*$-9HK1tn7%&*DzO&dxnr|6fF*8c|r z>{zh?^jZF&g+u06YbF|K~sq z(D;vc0C@e!IQ@tD0H*(~`vU_0!%qM{|M?381pZT@|3nxd_Mgi9$BFzOB>JB}>i;J? z%l{`f0Dv}9)Bm4S{l7CF(7zcl%?g-)2&gxwm_1FJ3bAyX_HYU{jKy#|y=fJDBBuJI zIyib1v}pyNDPXs{M>MRGIsxMsd49< z;t%BB2UE_XNh6toY#EbD!Q&b-vNfTU@1zYS`Wd}6UrBAxJLfC@S!Yue{qihA;{j|` zFujhq$9wWe9M^u%wXtXhCymdjVdG139&Y8)hW=TiYLOr;*S51{ZzFcX+3CAnrbBT- z_-pmPM%Wnf2!6A25V4SlKo~)##`{m4JB%ZJOSP})ycaposE)j;OoIBdiIWvx2D4%! zO%=m`Qqf8c{q)MYKUZ}6=4DCeA3sS+?S=PlxLyU_DKF*kU%>D0-&b*wmk88eYy;{XQ; z=?YoIG?-Q+sVI}9Aw>AmA9obKXP{u>k2921WD6H1w|1|t#Jq*4oeig&2bO%2&aS(& ze0E{aMQ2=I@743h)Akn#1Ig7!%nQ_C^O;qk%|7BQgjnFwPMUu5aZ&j8oe+>9NGsMn z{fNis*@Rg{2?xc332&b8Xo(O`F7t~7LG=3f^_lQ78qTjy$*B_cwtIh}A1hW|9?=hF zJ*^hZ`P)I46%(qZ&Ljk`)nQQ`gL^xzv0M7Otk&q+=~3Nq9TXFKM`PZRzXvo3q)F_L zlHKQ4SDwsLMW?Tu#J5rZLI0%)fXUU*R&}sTOB39BAm6l88O*0}Tx`*egpG;;v^6ao z-`DttCYHDeS4!1=aASHuPQlrg#2+T6YOF`Q$eFNr&xD{#T%~(MF$Lzr#|2}FdZ@zi z8mtvZb}u(lp6^D7ik>nO?i2eHO%UBA=eqa@t*>VnpCrs0xj({4M5^uaBe0W3ftMa_ ze&1)`+`c!|;j493JGWeUlfr|_tkTwlo@yNvh`yb3cK;-YpbEBR+bv8m-vSr>LW`XL zD4zSboRE2{5J{~q-`Q(CIz0vFe&{jF-dF?4ZBYm$-l<}ubfy>IM>_fyjF4s(_JtIzP}9T@XN0+R9v z88&5V@)QNo4rvYo=wPBy07CAOQy4*K;`P^bx#>S#lT00HU;M+ySL4~6WSOEWSXQ#? zx4d_Qb*7i52eNg;FSIE2TB){g6kf-A@qBdEvGRN^&ZVG?x+u-cH7nFMo;=uzhb-RY zPZV<`Yui@-B-1D*y(Q0y33(}RGiqIa&6^*6%>?n&^H6<=gYnlx8(YLp9T$rv_uPse zzLLOea0+*_a*9xjQ5t|8xyNjvRh1qyQoX9dGlRQUiT|M=CUYaNiNA=df!0Q!!V;s2 zFamT`os<%W)K%;sv6LLpdGIWTO&_YQ64;)-9IU3I@>dh>(xB9jP+$w)F6(URY*z5cU+4yceXZ}lUqu{k+$TSz}X?21DA#_u2zA@et5z{ zCwg$@i_@YhEE-N!hp$+=Sz>MU$)4uS!Z8gt=#s>$OT$?$w?wM4jtnI(>rZjX5Pj#p)=zr> zkbpc!IEm;8gabNYoFMBdNks`6qamXSzEs*XmyJQ;0OSb*tue-&& zZs!kv{2O`lLvX|{`fWu7?61x}PB3bsWMbi^%tTJ~(3)i|iQZ&YdTc zlvxa_4wNKuWn^*;r(2cf{v(UB9P~^{5)jcKf4xwK99ihp4-;ddLDrA*hZQ?D~Zz0=2gz3PD2>>L4Kl0b!a-z)$A3HIWhRyq63St_cG z(?CvzCNfv9MZwevRZr*Uw|re=HI1GJ@T z3aFVN#OQ4qVZ|j0ACVT?=JN8c@jjz~gYtPQzK!`TW^lY>PYAqtr{Wk#RFX-Dz7O1{ z{Jr($(fF}X{O0XR7Y)OAo?ay7R(hjnKE6}#^kR2SX!dVGd{YhZM+EWG(^+Y6;WpPM zt#6_;T6blVvyTiab=v#vOIu5>rYGCJ#k0Wx(WxgHZpu-ZT}-vA|_rF<~-n%$dir70*8? ztt*q^%7Wr27sk1e>tSU*OC)oj(8l{MT{%wj(?U~2mD-#sCW-dn-a7yGr7pi)SLgye^v0FlPG*-~HG%Vlw8~v3(w3yz z8?#NS)n9n@91zZHFa4X+r@88qy@VJ22b8yMdmi(pMU+?@97k1RG*}CnbYd~VaN@hu z4N229<0~|QMuEQLgR}ro^7YDr;(~X4k_15az;3<=7{}*Xs4ErR%9g=O6p3JdgyaW`;Tsr> z`$wf9c=~Un()-Fk;LZr5$X|LDv7qD7BPt9nz&);Gg_osBkG+BuxI<|eGnIkCp`8*UH4D#biYk`2pI3t@-HCO<&ZBkHj7P3V4C9!4e%n&XtF#4&zv zaDh~zK`Cfz(_>MjP@8Q-N7D1=e8J(%uG;UGFiJ}BNL%0P%``E_f@r8WwlYxyED8-u4? zo1!`-JhK+tF6Wn$@5Q$?E{9vq{T71Bf}A{FH}z1Tcl8s6FS$;OwOr_+JS;9^yTl#7 zkRq4J0CGbtpe5G5b$JKe@{keXhZd5Uf9DLt?||mC_DeG2+{qYUQzlX_6zys{ZIt^O zzA-B~9S}@a2sb#B-e1ihUB@(1UonQJxSsfuJBO+g2F7;DomY!^@aBJBB~3d_67wo| zqKR!6V=b8pKi&xUz<>CfJGDCDN#rI5v0lmGB#&tVw2q9-N`#&k^0*Inun^eY(Wn!! zqIsW)1^i|V8`^@I2Z6Ioza2qX00Nc}P$_W(6Hpk#;WNkg^;t8)cEb|3>P0g~HC)}a zPu;$lj8bdO2G{Uxep1CMFsk7*nm<#EUSWj*`r@&w@%JYK0ypV2>{S_a^il>p-FG7X z;j{wMGEM1r>;moqdiZ8TyXP~V{#7JoJ4-RKLiDMr%(?rnQH$-V&r7R+?BYe~h?eWn z5Pp=F01P#H)t%f?n4rfw9e%B&Mr=Qr%4sa5X@5GiPTa>763uJYJif}_wTybJEDydS-H`0ILu0<%&{&!Q%E zK&9jgKi8b_t9|1Vj@2rJN0=$$uY5p9w7~R~*$EW+>!+ytq_nA&n%ZcHs1i4MP01M2 zHvgGEoe9BlC9qoEdcTz?clI~jaO*aBnxSUDDZ*hu32RbE{o|2=f9rn7T;YD3-S>Dl zgOsmDl*bE@H1#FY?%qb{&L(}u>bn*gKA-sL9WpTKp6f~yM&Tv`J%FD0s`zq*(xZ-v zzq~nl5>>{x7eS_9Joed;{;J-?BHtSS#x7<^g(JR9m!9VB_#|K2x(9~YF_MO`zrA{n zaF*vJV84(W%1Z_ns3gd{HIH)$bGlk_(?uBo< z{s@h@6PQ9WD;mx-A}v}Tj!OSQyNiq0*DOomKbK+QMeVjRpuVv8CVV7*guZ>0C^P09 zXQIZyQOf`ASm4_a!JqPJmviag`VecOxMZo=fsiKtGZ5WFmyy2UZTgpMqbrAVfArEY z=E`lRy7%=QJ+G=T>r+csm1~5pi1?(e0ZKM?(EP&ywGNH zGhSw*UvBv}H*DlB|ChhM-@}UrDp)i@f2q;76vMg{$fYlh3dJj&``^I?^w0={8U7)v zv5vEFixSNO-V$Us<1di*A98_#ck9)wjWlxo8{9)z8oG zJVj1NWxXszc`F;JzCTwBUt=9-q9?c@*u(u`Vfl?Aj&J6hLMpRiN>wE1va{Ni0e+V( zk@&F+`JoCsfq7S?d!q5Z;Qk08JXf12X)u`y6^EsJR)X~TUX%c8|C|a8l}tVWZ7RJi z^uUg1%S1LVUF=~}WsE4V#Kx}^kAy|->``atH#~JB_-VOuFvU4VFS@%dD$UO~LX_H+ z>u||lVT99@cr|jedHoN(1|mOV;eL9ZrF1;e=#6Ma6`2Q)Wp(VG{~MqKVGbaCA;q`; z<6~23{lbH$zNdmd&+;jhY0`JvQH03lQ2TE^J$Vn7OQiES;-_%N{k@Qrw~kTUB0Jpu z=Ah5cc6pRxEaa_3MCAru06yCWi+2fgn}8;u^+L1=*#ebz0zM@ zI#^&D>$$*ufTD3JUmsce`v?*5SD8`gkynl}Y52&c>Shz@YZTF^DKl$BBZDkzho+}e zT-iJf9#|87+g#0V2%WNV-n;`vYpH6F-$X)fcChv1zv?5?%|cTW>IuoPGGE>|OFScn zsG1hJVqU(iEPMmrTR{@vPfb}QL@1cgf0*C2Z5kAlfoUeg)EJlWe$l5?B{^>-H7|E6 z7m4F$d(e9Qk1hdO2GhDVy%;D$hPE@fD{}~8NM+ga^I6k%OE8B&yD+ay+or>$h zF5*YdBN-|IRxXtbT5E)NnJ<5y5BAwT8Q>WvL>qwDJAWI^M{KDY;Hwf9-ZtTt4G~o2 zl4nI5D%fPiRZV6KB-q+zBlu+kHWBz_2gGGO8c}TQ`iesYMl5#@l;z+K4^-KJ(H6a^}Sw7mp3&Yv=6!q=Z~6n1Wc@Y zzsa|q`BOGhtQ%C~g)6i$So=jkJADRKkNTF5HjozxAstsVg1i|G$Oyd=0X+NE{YPv= zYqz_|Ddoxz}sP7Afju|`#8fJIU7rU)JAieK8q*NBcAc61A*_@!pZv1ylswBE9wY_qn9KN+bU zOvF=}7F#FWC=#}aLJCNIjU0mLcirpQgPM6Y1AFnhx)X-DlZ}L%qAJA%0XjHQwU}2=MI+ zgY4}e*`1!&E{AEQKg+gU1XD2heb(I%>LN~iIPmk!TgPBK5C04nQlxv>hP5ASe^_~C zFZ*(@-YEN|&W3#TCez0-fM|!Hw_5>HyrWj@3U`n5%rwXphPw=V6eFf!e}Po+R;0`o zJ2b}ilHMLSBuPeGn3xEIejhj!AF_=1qere$KzD8To*b~AX4TRYKtPDx`f8=&u6o}` zxpIL{1|g_Fb+YdQ*=nAm?hOBFUs~=k*n15o=EcU2#m1V?Q80CUH~pN4Cq1<(TS;U0 zQ}U%;ch4T1#+LqpNi1w@yUg16;gv-9&-$^SsULbXhyN1pzBRjhV(tg=j=s0}Sj+$V z)yu-aEnBbFX9@`}dyORmjWgAJb~J3e^m7^;0sM=g!Om7Z%;1)7yo$M$ig9-CU8;X7 z_s-D`<~T}yEz9D)&ycDoD;T`4kt$8%=ndD?${s7tFPpTtzZ#0X?{_}TR zXz^el4uCS#@X9)&9==Q5qJ?&2%Bf4aq)k$>8KN)+h(&G=Ij(H7Lj2+j%N&PsJl3E9aFz}e&G z9o{X3skwgp7veAYG$`2ZH}Jyxbldt2X9dRKzqbO_+jsCys&dSUKWgF8umWsZDLmV# z+xYgnhRgn|?F&+{If)mMMjLk9m~-@Irks_6&ue)KzqLHy&##)MV8&cD9sc$UG2Ts=>3%{XL)9 zor<;BwWTL1Rmp-2wCbgBw6GmIMEYl>FO@7kS8Ow>t7|8_a7S_Je<=zg zl^v`e%I_xWh3XfCNQXi5jT!qBW(R1HeHd+1a#;dqcN!0Q?fS8Gb+DdnR?#Pu3+wvrVxX7h~nsBDv{Y{TI=Tx3Fq-48bZ z3H&*NO#sj>K+(Z9_RBpvt(FpYkDq7s-xOY<7HvwIScba4DM(ge^JR1m>4Wxoz_6FD z@;4{WY=%Q$HnZ;fRlDF+4M759e|Nti@C&hTtk}!}h{u00<&C)2TF!Ydt+B64=6a6i`|@;JS>$YpAj&Dfp6W1L}XA^bt*7oZ0*)xh8! zDT6-&44txk+S4T)JW5q7L-Ldc=f}>%X0PGLo*kBh#}fVsq8&((J*Ur&3*TYTEATht z!iY-p)C4<_@>HsXKrGemk`3)?6ghspR~C8_bixZ!#j6u&N>lXOjvpzsI^JeKX23r* z|A>%rOA2NFh<*mW>W%7N1`S487=n{UK*E>5{yC@E_#{_v1V-La6%V ztmF(kEpwKI<^@oKJ6%b;Bm*bmx@SU|$Xbd1lWKB;>3iZsT!%(lT3;9Q&zDcXLHGRSb!p3WGBJ?rUo=?^> zDL-t63Xk^3KDpaeWTO)(40eBla>P%Phr!Utk$&9PqHQIg?Dw%*i0?xXN*_p z38>gvAao^kzl#1k8e&29Ji4NVG2SCc##<)G28xHAU^A4`6`;yE7Y%m2vZH?-G`dSk zuJGlyMvSddWGa4Y909auD;x83j+tgn93*xzA{x?vFQaUw(Z`iePCgl5lCZaYxKGOT z=u}Me7y*pyTUxY7Ic8tx@5Bw4NKvBBzx7&w;J>OGT$IJmZBk5 z8PqVC=s<|@20x#EszHi59xvle$d<1+y6wm!7^gCe+oS!suE0IsW{_`Bh`3Emi5dXJ z&C!4qE&wZOw0VOBge8QvU>?LT(5u2Uu+_&M42xScgmwos`J03jfSCv)8%Xo09d2I0MI8N-WC8zvE^@NEK&E7O{{~ z>Y=)k!$(ULM3NHpe6J$gyqIvdN(Kd+0RSj1eI8>B(2st0cWNe3QBqKAC;+Kb2$>nGbtu17`tPj`9wRHK&?+v8LV6RE^VI+z)&S0qpg9aYJI0H)JHC#T z%b?eo*PD6$LICAv5Z{i8WU33*9i?H33B9M=<1to)&6VE#+_WKaWa#@>g=THZnq)5Z z{K)SL5JHyMEvyt?QtHk)jyQ}``c8p958!MtSfR28tOrqx&XF~M=F#Z#l<-={+01gJ zby9ZsDw)1vg=SH)SDFU$K8SlMS*D{csrxZkxr)ue2 z-E=db(14@Z&_x_M_~EQ)5~UL_nYN!!Q64%io~4B~_bT^p@q~QJ?NgDLY_%**%*UM# zJiN{+tcXZki&7l}EoEx7=9XB|YFk33ji^4{8BvY%8ByWCfjJIxQ6|DAqlF!3s08p3 zyKxj|;}sN(!`{=LNo`Wj{u8wB&h4mX=Pp1SO`3DgXnJAJ6t^NZ3(gv6?K%?rv839NoT zaeSNiQ{uXC#ou75nvQXA%{1S#VLL4BqfUWlDV{eOy%E(R{Z-py?ueK!pNVl5Po2AC z&9260lO=UvLbTm6egfbTvA&gi6-rjQ3S|*qg`&!QZr-8Fvi7qXBb3v(=&`i?W~u`@ zZIu;>YULHGI!mklrqNIwctDQS1{A*M1^?o3%%Uh=Zq4ivbDJgYIFZl8BBB?AFqhttQ=W9xh-N;_jJ7s3XN zs=TyURIQ;IAU(7s6sc#Z8&{o9$~KeXtnw_=Bwmyh*2u5I05*VbmFE+CC4G%!f6n~N zuI!p1f1p*REWzHYThlu{Iq*Fr#k^Rgg2lIJZwURnyniwG1X=Un&b;1p46FF%py+z_ zhrP+%Pu_PQFHs;}WQ}9eAD{040Xojqf!>;pGS2OJooeeG+Pg|!F>3WxtKV40CtkgV z3BU#XJknlsXbhs8g#xC`qw$#alWmR=RJs!ZeojWcYlJIDzC-i%7In&`>*?kp-JsZ% zh>tV!$|H*sagMWMLBPFsgcYTzDloqz=9lM(CM5~?nc^R4)B^fjmrLSvT*q1n&18Y%IYKpvy|1P)9%;F(HQc2ZSM9ZlI9-5l0 zzY7ZC7JB!4GOA-cY1x5;?ZXAnJ6n{Mgpv5lzCPsD!_2Y_-IZ*% zAPw&nx2H5@(3goqO=Sv@4#5aIpu2~;%fn4UeU6b{)DFKMP1bY$ zfE2xJ-@D4UGJcreVLxvMiJQEh!8gtJ>0v}X?)08XX0T>aHFo!jvv~6dyo~!3Wsm5g zt6zvy55{GDBexc6d+psA2e|S>NM#_%-N-4)HK+8?SoBM`jIUJjSmsvk_3v`hBKVp{ zM?W&=;$W+>7g3FGhz*wXce%o<$9|R;%yKZx$cre0&#QSw<*rl1Ly+LTT$owN@u8s7-n>#xF(U60&9z968#UTX^_q>Vs4e}) zI(kFN6h9eA1OTK&66e`sXP*O(w>bpaH|$HPyifS>)5qbpl_bmqlEh3@v*6yo6kBWR z$d6d0$77Iuo6z7(a1DVvq>RrbcY+~3Z)L8Qn*z|xfdmApp_M)dl$>qf_w8kkP(7hp zo512dtUFp|^Js5|**+x9(+}j8D1%}RQGeHe<74naxd%+kteN^{ zY4`?pAq1k#R@lmfGAu>nt7XvD>WnE%DOf+pJcx26aczh$y+BRRg(LMrCSWUALZ-xEjGsVIKN1U5y#?O=zh0SHm{EW^-U zGyg~BfM09^HyuiNpO=RE(gBrgi{za4O&t6+_a2kXW7VO1Vlynh9*b{*d|Oh)-|IRexUuoPhWSP9Ll zk?*e#tL4}^d4CqCz(U|)2`rgX5Xr)`wvRRwB3-g@&e|}x=IJ`wd>0<~GY1h@nk?e$XX>7#^K4H$i}DP{4?=5(~W0 z{>KZzAkK@ue8HE!Tf=wL02yx8iiXk<;yyqPu%nAv2yu6v(J^B%w_Vs~r zpDey_=$GTew&K#12vUYW1p${9^FuG>t^ec)TyM=UP(LExyvGEbi>Gw{2mhh}7-nTWz>`B3jJLf|>7Sd&c^A#VMj6o0ALmEO)eIcnY zERMbqx1=jToK+l{VQ^*>84_s|!IHg=vDQZCR&B?I*hD7ghMy55EW!sD417VQW7EG(!b9gRS z&BG2dC;VA>smtfUW=w+I?{9qf%$^Sq1LMS7JiiRPFWkTXjQ-c86EORO(tBWE!n+&e z)kV#pv$xl>X-gYWle>xa7!L%BgQKWWc0Gc~DoB>PegQ>k{F@9y{Fnwp>t!1);>atu z%dcN>s`e&BLSZQS_!L8x%w@F-l3NU+Io-|%Pyno?QuQT)nqzEX`-JlR{#UBC!x8>+ z;Bb7wzuPqaFb56(jy7a3Wvb zI*_$pYXUw~`~a%51f74>9FsfKDlMG+ZPb{SU7GFa_%tL`Uo%Ic){{dj7p8iqy0JkV zle0kyuOg%|^qpsk{v7s}TUem4;&y~10)`4B4{;nzJgS|TR&tFnjU`?$69aI$!ALDF zf`90L_)$xbDQK0R(mQa-ZDlEJ@2jke<3cfQL?XbtO2I=a@3JCirjv*X+W~I=LDOz5 zf#Vec^B+2y3bj)_Osc@eqa#&JFJ&uZyJqS*WgdkR>e3mV8eBSxLbS=yEWArkD^>Gp zUEYaXZvHXEXxSQz)avid8XAj4&uRu9`W4D*E(&3fm~G#5o0WuOvcwUl$zXPNGiCZQ z>#tFSfVZlroPh0kz^Pe9eHi_jwaU)~*h4qghG-j!(B&!sL9;^LBYjpWjXvp+(=o|l zx{HEb@rKPotG0kYRP=?9T#ukJN4Od#HYcVWAEkmee;7wWb^ryD25wybi#*p;GElEN zu)%6es)ULkT8BIjvxr>t-g;sC7NHw(V@J}Y!pqyf=5Iy;?~mmkqRivV?jYg$yA+f| zuOB@`<>G6iU~(fkE1Kxc!f&$R5$ehntU6w#;C!>>C~D0#oS=Mg_$SM764oXH&aIT< z0TnVbnZjhV9hOiizK8@2T26&+OMr2-+z?9#Za zBNRB?Y`3xk)X=d%g@Q?295CnhKZno|N>*5e!l4phKe2+JP5lTB1resfb2||d10vC| zB*%uY97055KLDS+rzEz?cRWlq0@6wfZ}J%oPATY$81Cwq_Fs9XEkE5{o-SDc)m&AT zPn$!MIhE#kp?+ET8`mX#i}lL8QX5Wd+{|TSVV8!wnQ{-ymBqyL6NR-kOg=>#^&6;U z;QwYTyp)G@=YQVv2Z@M&>ec|}INFikd3RM<N_ z6`?3c>bJf&mse~d8)eV$nlZxeUo*_b=>A64M`y>C$soKPe1Exhei+{yV~mbkkQW06 z&X;`T$VaQRB)S(S<1iMN8+VI{Ja76sveur?CAXfYy*$T^&6a>jWd;kFXWzafJdN0! zSP1TE^fWQ=g8*ukp8X4FgXAoxHaNXa!(@cim-)Mj7)ea^CyT<@^tq(MzGX=@m#HM!YE}+ z>|aowpv&37DfUY~9A2d|sVcXRLsy^3j(3yOOsVh-YQW6{WXF?alQ{X}L-WkrC!uz! z6Zj)f{XTw@!8&Oi9UUBLy(fCU-#@ymShE|< z*9k0Z+N8M8ZXY-3p+7|5W4@!9_q&eWpZCu-WST_ui+6hsrwHx2%#jyP$aDh~pF{Oa zA{kVx4TVZazT43!=zONWn|zDI3n^4eZC0vFddi4p!$bmuqSQ$?auSE{c>Rj9@I^>Z z6G&_yB=2Uvv*svpa_MFl#ilpow!B$H35dW@c_LC;>X2t02H*cQKaJRpSm_sB9?=&fLksl!$!+b2SO>@CDRT-zoMjZhvEJw#{7WlN z-Jkw&Kl}c=XrCP(a5MfTugdN2&p|K|>701m74T|*^)A8p2ZKkQszhmIe3jRSc!6UHbD_fU%_D5gMp0LW3Dqp2(0w!Tcl__42wRfRU zu)>aR&_~^bKh0cmHJ6rpMa-USsRQ>vweSA!|Ay%(X^HCqN3IDn{Tan++)G(cSObTH zFsd%X8G3w#r)Ao%L?q*|%Oi=@B3zOrjYAy8bW7)C>Z5mS308{9^!(V~vQfXk38X|} zJoQB!wG^U9%kyJooL0OZY0hr{rSh(VjA7`W%O8nYZJANz#Hem9(X%5wVv{DGZASUa zicT|{h2G3|q^nSpl#xAduI7Nonq;HdzH~$dd#tY8wy`?MA(Z|H`&<4*mvz(T7s~+g!F>g4UacI}}?O>E%eaRhqw=lYJ%-!+udzk|tUJ>8S)pnEk zkkoe4A5WeQ{JD~#`+(@sGB#ulh1M z@5`W-PxKat6=rVZ#zEFUlv>H-QZudo1pZ?Cqff+nVx6894D5SQh#+R5(orXXo3XJ; zdLaY~&!W9OofY#@`1K+U=SnN~i)@csxB!|N#;O$FyWD7IsS^|IlE6!WByYGIRu>`A zkgsKcO5AZK!{;=HN7#)Dg}%bmp`m_PJPhI&;IA6fN_ftntWSH;nOg@rt!LXD&!e^k zwU|gs=igQKlu9NgW=>Kf#&~Pp)uVTa;;E)IW}4&uY=ucxYWYqal&F_a{a z8Y|iTC7&i$dZ9hFI6k)eQ~((Dc}nmm7q7KTTT>AE<7Lioa~ZU117Seq(PsxP3IVUt zAq;k+1@Ct9ug)4nem4f*A*)ID&M*@CFRx%F%rKm>!nL-RoCBdCVB-mXW|@9$UWT$y zkefZZB~*INUXs} zixC42-D|XG9N`4&Z3l%(qK=z{?eee4{nnTy@g9dSiK6X%nmEanWd16ZNP>W;$q+H8 z=-2PfY9O~YpG7zQ6d-r1@PScDVnH*8gbQP|kCP*Ur?A2{yMC^wzh}(J?=18^%*++9 zGHF0rIV7-%40TAh6GX?EVMr`A?%1MBlSG~zxUC?h6Vbo#2R$Ks3`0k0RPdB)Dv}DJ ztLQG-BcuFAgofN-G%@@Zt- z%{dd`TK#KhGH5_sBE^>|mJ60t#&oznDC6q`{4Ti>MTf&TN>BfJN>F`cM+8(TO;){B zc1Ps#yFRoo9e{^>;xkQTeRwJPOx%-eo})h*=+VMi8GG=f2CEIlYdctM1vFge9{q!a zdV6D*XCiRSR(S#|K_)wYn1G1rMoMBt85SHTSu&r7VZ}2wYSc{9lo31ACy0Arov5B( zt>*79whaFDR=}IGP@x)-x9oRFmccxY%{(x;N+{!F6)6cT5f9(e+TclxbxZ!~@&zTQ zcs{t=%uS=YebnqGQ2W21kPP!hkr-EW zd^*e|*CjfG6V$+ms?HzF2k7yvm7jIPC&YSRvXA+ap2T7k@O-Rco-bS>mJgm1=BGup zQ;b#(ftF~%I0LhSW>7(eeeQWji46-&C#gY3Aox&sC`4qZ{+M99JYFpX7@*I(%(g%z zk~h;`{whsL|>0CZ^fO z4$%KQC-?GeWj`ufRwxEB9{RR^MggsEDuf{`E$Q;Qnt^aqt*}0B){$GZ{rWQwpn=!o zOK(@Cu*H+h775PY&2;nFT&SE$kNd4t2;NgZA|!jtTsE1a>s1r7lWkWm_kK>Uk?wUR zx&76B5DhvJiwv~M6*KY|et*PiGs2o%ws4SUjwrPzZ%{N&bGJcBZ_zlW1G`lJvbmP} zUw*r$Dz2xymN2_K#JJ!!d&Ud_GPE(asEIX0uJ&%EDISMY|-C;$9 zK79{c`XSukXa`dML57Wno$a70+MMG7@}!eolo3~T z%-CR4xxGfD;v;ceoFVpHo2O~kIFo6?f*T(V{`{@KB4a!*d(SZ187Q0HK%$^RiA}YM zR`qc5K0clw>{O@SUC$Dabs;r^p`xm94)VoetcYxh1<=Qb%VtL>Wg^+j0fGl!)}ro| zEqA*r_;A_&d6Vio^-l!@c(&@jP%N88a0)c5oY zT&`tsRhgJ}W`!D%?4F7OpaLYvg-*t~mt5SZ{HYz#@$Ot$jjR(3FswoFE!2IU^_|t$ zKXmCF_01EEr(JgiK}479HcdtMisuwcyNX*<&wR>E%J{hkgd2L~OC6H=vQ+=VDO2Ce zElQ~akk#L59ej(2>q@P2fdhR2LJGjqoD7w_dfWo*jsLvQa@60<+doW>aHo;{;F@jo zXdyPvjea0yVX8-(oy!sjBFj61Mr=<0#)+B4^zuKPyUL0j!wPs#Xgb)8B@E#yI z<<_Ix8+q5>d?;V3E#5dd6s`Dl8d)tdtoTYfh`~)O4>Rs;LVVA$?wHbm%r(AS8rd`)bW27`yKW3tm7@yC2NBS69 z5vC@dD*-RAv!i&%el0#uJ^}W;SJxj6l9mI0-{+iYl4C*pxAd)=J={A75s`9g(;jjh zqIc&vcQ{?6Lznw)V;fOQRm%jEA_AgEq-6<%IW++ad)gND-&=>C+$6t<^%NJhiJrU9 zx?eH*b3r#M#*R!ykZulmfu#ag4h@ps1t?bZ$vo2~auBy;FUg2QYmEyk8L0d|G}^}E z8rDsI{gmnG?=T$SpiJsv8I${-#dkis^DCkIKmro^y3QbsZE!VUxpYLkDboJZDfV}v z0@G8I*;FNtm?mPTX1?Mg?v9(To#zxbLtu>;|zyE>i9+G z3-uY)>Mf#}N#_xj>j@C!(nu*ayR$ZPmRO|{{=BX z&cDWrBLsQ{>)xB+%R*TgB*sS+95-xP=f4>~&6HzsfmCmS5<*K|*~Z#xvFQQ8jIi(? zK3tJebAhdY*v1TNzHPLy@$(&&eyG536=sodInT3D3iRydD(t$8)zaKP8NP~C z@dTG_4R8VHQ<3v8Jo8Xw>?GC6Ux}6W9Ri5Hlw4$XkeQ?iX;Mi58P?#Z@)+AwZAzWZ z?Yfx2+}fZXW7#aT32QhRK{Z7fYaebA^1K|CA-8U2c#MBQCs)c!FaPi~NZC96Cs5kX z?N{D);S+Z)VFkhO#g&X7E6fAN?lO{WVb?CBI?qruHzZ0i2Yro$F>$K4lpDI583cf$ zRL$E%kTR+nK8W?|IJqUtA4Ox)LWCU5Xc+4YERTZ>Hyn(FXf&8htKgtoXCXk7$fA7G zd}_-90@ca}PZTbv8#};QimnkY3{M#hcxogP{6u>_P@vueCj2>8muWJKjG;0RhDFXE z;rJacGzpw@##m#Du&i=%K{2o19D4r41Uq!9|M%k?N-MmHgTh>u1VIY zPb6Vo3*f^*9RO)3uyBK?q|rm@04F1%p{0d|%V>ifNowi565hw~oU7Ubor=3#tN4`F zfs7dse;o4rLhL&U_ijc#pz97Z#CmH&<+hS0cj(sI_d(z$~)}1BubHlBT@Pu z2{KzmrgQit$OX={k_Au+_^t;Tby~&5ccGBI^A!WK)>JDf+9daT1j#$F{*m|CUJN~; zrM$%stX=(Szckk7a6biMYX22u;j8b_hd`mCuZ# z$?fCA4Jx%Jg@j0O7LjtSgJmltVQo67t#XigF%&k%nKfJjb}Ix>UlOykZfu-(f4HW@ zE6Z8pCL&k@+YBp~$6V?J-8=Cs^C#E}lmi8|=-p2q&AclcW%eis~X! z2MiiLVK_TYv+IRP^IM>VC``=6XfTq^l=#GVGA+S0+~{kkC68L5Ut!qY zer~a=Q4lIx&+<71E-?EaIe^{`QQ7A&)0kDqfeZYM*LJR%5fU*TdCG>NG12nIv?f_GadMY@ix^QL9@s(kdXhf~gqtWGjky#G^iA5L2 zSNXf$7!U~u0p~$_B^`$`8YU$FGVN)rE%ACTxlxsy*p)4zv1>{%%nP<7-_(SFe9@IK z^9sFE96w}#!g`>720U2mYeq zBoV;vE5#W6MlHo}UZIQk{}yd91j}IS-DLK55NaXnpYF&d<~_9cHQJdEGj$y8LLsbf zu?*OdDPWPxnw8YEgwL8e$KX_+-1cs>lfcR@cF9s3p8aB$tFp}hxe@eYlcsQw1>%IJJMdbO_(+z}IWpagtIy*;hYB8Sb2Ertr z^Z>S2Ztr8Z&S4{%Jm0s6?+j51{kOAB`sTCNE9}ch{AN zi;1WNznUjLv@av5iMeld$F$kQ!*97sZF@D}0-F}|DwfSV5uJ5g0UDdfhl=0vy<2B) zf~jEsFer&XL-;Nn=S9U>2g2ouO2mKw<#1}VsD&zZC24Jwi6yI+moj$hP zHcC}|9upu0_b14}7mKCHTGuCqzh}Yu*QCl7uH)xks*AO=rqIba9;{3ENtaP$z<6%d zb{Bsi2xMZ{jZEa(-g=w@M(-CA{ zNi(#~r=pS@RxgIteC*(j!z7jLzK--ehOw&8#WXh!{^vl1?qT~q7#_rDZbL0GXDRhs zDFbIm%92oNDsX|qI}4yrUp#10u|1j5k}+Lr3MG~~PZc&PK~3igHEgfj9$rS@QP)I@ z+}9{NLvC0-U2brtjB#Z4b=&obvM5np;g%@)5&CPO3j%Eo$kTe)4pZe4$&Y>Em)Icd z)aGMz8#Ps2N{wv{px&M)OL<#5%lz)^Rj@LXS>zG~BX-Ok%C7%pw3d)!R>M4}jw~eV zn1%G%Ck-oZz=)Bg`p@Bo=jGe+D+Y$u0xOP-KFl~99TswUo>F_Y==E(0uSP2%;AJao zYr1*}5-{h9(FCm7Y&PFlOty8BVH2&LePSQ1`oTI@2qu2jA55elHNZP&BCAL|ry6NN z0YRAv*KxAg?w1bmbUg^z3OMTCxL~CQXKVODM<&a;`z6q9a-VIU@1He#Gch^AleM&+ zre{9-p6q1klkha?-~#3lxM*$Fb0kBI!)09Yy5nJ0B}RXF13}GCEfztPiiEB4JxL{z ztmmiK;&NzdK zuty0Zo;V5Y-2g2JOCs{MtUn&sXWXzFEkvzzg z__am3GU=r4|D|GdOTKU`u{czfa!tjCg4GHM<9}VRSpJXHC61lL_tn(|m_}`S7SRVn zSmR9^ABZM|Iq=eKeLMZIdW4>+LMampr_%E2gA>}`)hR?tFxWYO#8><++K?oO6(m27 z)40NKcu^BFv#rHLcuhbLSJ=>*n-qI%Bi=_jUUvCYBR$;!M?7fBfuGW( zx2|h5>l5Ldt(ul*-z>0+c{mTVm) zYeyy!9iX9JYjq02U@0A;>7adO3W;_WaF2>!!BN9F^pnG0Cfg}Jbn@n;jbgpBsE`&0%gZU?t(BDNOwUbrVj7;5i zR2<5yvYU$4)EYC96HQAwP@2>xTMVSes{{ziE;t}YR9Ofo4mBiGEksA31|Q3`p~kAk zF4aSgr-6sE@USCNMsd6n6go2k7Bf&BjY_ZzTUld)0>|3jLVms>=;>ZyQ@bg0p~G^9 zI=M2Jw`WP#E?a}m6418+^$O1)9CNS9FaE(=s$_mXQD+I!xvmx-OAO>5geHrXNlRvl z7>1*|MjfGMzR*x*K+cl}k|9JJfWSkLTrf#!7-m-4kfid(u_UKAYDfMRrwcg3AvKNu z9Hqy!#exnds=+|konkj(*&;!U8pb9_Ds@3=-j8{2BgK}}A|Lzl)G0m_!#fpG_r&TD zU|=ax zA*_mwip>d6;jD^>3e5>m0ZfX93dspdz=#_;VOD>pZ{Rw?QGB~21R|nTbAMfRDCro> z?mRBUKMgAa3?V-i#uU=wq8h;_V)wv>SW@k*QoD$sftM0)aJMG;T2>xtDPTfo3|C^lE3vRrCJQ&2 z3QONx+mlBEpx7=E8c``Et@eV^gbh7}n9g^Pe~-f?;ll$?bc8l6noOOPVd8s-$|4o) zqYRF%#L}*VuNQi(wY-SA2SO1SqG^+=94dc4QYS)1P`72G=a72^f%X~!Ouo#s08;}E zbA7scAz%Zyc>T!u#||}>B$Gx*Bs#?ajn!>dHaSX2s)kDul!}}qOf%EwzznWXGE8bF z;?W?1ivgKon&oD731KkiU#;Tgp|F<$U$mw$jH(>j9HYm<@z>6rxJhO*lpw090+^&4 z#L%=o7~OBL1bXf#nKdi%SIz=K02Yp@1-!SJ5Vs!=5A zP*r}S8vlk!2&2)GHl^h?+9)9-kfKouZI4AbgrSE;I_PG|0DzSJRGKW7!l%f#k>CDOvZtkoP2z^&UO!=ce*Lj1BO zT`M~Ys)=f$xoA&{%}j1>EalUd7Q{phf&&%OePOZKNdoq~dPi4#A|-|^rMu(k0h5I= z95`V6tMb(ms;d7Lc-J?(50}p~T*2X1#62}$?%EJC0|%>|H&A?pLwYj2$E^ie8fY&sV~PDBV8%kWYj5erz3 zU_{UcVd^YJVK<5;YO7H6MqIG0>L&%S;don?aJ7Gla*p!zJ6zNbcc3y~9d5Kxd=<+^Un=)Zae1T8P@_>T|M9p3j z1Vy#ztfpBF9xY@idk&ftVH4+&L&>Q!5pu%{4@w&HNEXdrikmqI5@_HdCQwL_NJeb^ z;T#|e$zdzjID^DhUh0gbEF{QSIYOAZ;w0oB*pJAPe1OAZm8CAF=z+8jLf-btWNYTl@qGDJBpEKGB1@?N4R9qGFCn`z@mJ&o z*A3E8t_7}vw3M$WDg$lK#TF^8@hY1iP>Wl36=Lxg-6^Neo0BT+oN0d*&~+c`mtoA%gVgz<0skyuQ85~mb}g@E4@DQNf~DUi=_0K zU|h*-^xyW;BJ$bJCnu6aYx7`7R+%k<9LO<7+1@a0Zk8c$ko_x_lmDrO&HhfxpPH!^ z7aPG^i9niP6jh+zN32lMe~ArYxRBS3$(wQYffU0Dpo@YzuC=TPrkjgPEb0$K-;9R_*0)5TgQ;g6ZX+0FsCuce z4ml4y{T!KVZSt^++sMu~%t?HxAdW55w^>`zs!|yWvUFLlpNP^^yTofs6+SbaPG2M?R+lG27IUkL)^Z*7m*E^l?Fn6{e5B&og@*&f0ir;L5* zwp6y0II+BI{R`BO(EbCz--ZcqtK}AYkx&p3?CXrTAsA^Ug!hGkd z9bRxg4wOK|R_b!B$T^jHo?|J0`7~WNG|Zl4^h#APtL`Q_%okT)$}W4I^MH#(pcI$K z-z$uiT`a;&+cHj3=}L>LuJOFNO3FxC{h=v_eYHn5BHUCC>5x=T>Ti5#r+fG{bc2on z&OKVI9fdD176GkK)=q=M;T~?7)N?%ND)NgPvvZ{N*5&@ey4bJ9bc$*Zgk{xLbZs7T zOw@kE1J=U*Q(S2ua7|5kV#8fQsLIa|=X%5-H%Ujx0-=D+;xuOO$pi;Y3#J$)Eds-n z3nc1^^52qb_6$w-4a;i8sHo+9BkVn5vR-VHr(8c{yjaH^-Zub}Z8~Ise2OYyX-f zjwy9l>^W-;TV*w>Yciv!K^C0N{@X?j?Z)5kTa|asnZMZOqSmx&x|8nuRE7I>b~GCA zIJPTzPbfCve@sH1xXL}kacX*ng*W0d@nj|WhD-=nBW5Vn zb41L$N5p+D6M1ziJKIaK`b?x9Ge4aqzAT%uro;97~cF zn=n^O#1;yMvPU|%J>orB)W}!WoQ}+w(zt9(o=m9kY`otT*S1}>?v38MI*pSww<@jW zmu)&kv`Amy(2xu5vZRap`_6GH$Z5H%$O1RU0!XY4^;T8nr6rMe9>%$LmnBVD`W$K# zKd%U@&VdeS6qWILl#2bf7_sWeo<~6_uRBSqhKa%W%qNjMJ|LqQgNf6r`XpXLql;6a zCg7&2;|L;bszCk*vdu4b5&N&8joT8dl?+`QsdRhP({b$y%SEDx8wTiMM>L*exL z*ZypMw@eJmx5(QI37Hr5oMg2pg`Ul%7}pGo{Df6K7!hfCPfUycT*xkdD2jR*(4XW} zBL9~$)7WT%OUDf~k9fzsP30BY8x2``%l1UaE_CGye3v`wNp~v_*qd=;Rzm@bZIi%) zV^pN8(O6MxO>r>O*QoQ1dkYbqi@l`CO!0M7HeMF*c*fsg)86KO*^I|Pzrx-aRBBfr zTbWmqO_Vm#DoS3=;?x&PQ(Jxk6r^SG0t)OYEf|snS4$(OZXROLiUL`%XcdVixi{&F zbDxEzASPc|voJ`{1@3f?7D&*YnZs6K0h?7Fab1$;Rj(V<2FNv?IVF!0X_j`XD`O}r zYuFSGHpZf6rBoudR75A4K_m*d&w(Gy)B=N4G=a6{5-~BGRV|)T(K)sCT}Ik>G$t;U zI&F0+AyijDsJ#U??+-x&m4iK|Bn2z9m-@yG_RD=@CdOD>Lh8a>2~bHR{M&vpe;?FiOs`GBDKj*2v<>X={Uy@fT_TMB_+gGdd zI==77>hjJzge6&zD)^TT!7w|08YizGGUbY@@rgWkNkmMmC1~igP_~CD8-^e~Owj<> zyr(*ojjlt1GH(N5GbILijfIhtX?a<4t5PR+(32{%q({HPn0~qjV5&{%iRn^N_epme z>sAiB%OVa3Oqv3hGSyDjvK-n1)5j~yIlz(iUkC?Oruzl3mchz53%ia`>?PY>w6A?) zkR(?aRPrTXSmn$T>g+=*r)Hl8YTTZk&SkOcaw45mAQv>iJMnfLODflCNqY7Sc)_q7xXS2HkyWqyNlEJx0aksT66m0iM|! z=rog%ik2hP6Hp5UM&52orkBXvROzeCgwj3@WYEjqay^NQ>YH=~NTQ$PFEM|lKMOlm znU>_~nfw^=SqjnnR7y3%$Q6EPYCf`b9p0>(-R>@i-%Fhq=H^7&_#f9GX>zGA@ETNt zjA_0}_}Sx2m35pEzqP5wN%xo~q1Yhz((=1aK8M^h#sp-mTFEr2$PxFraaMO6@B04vHV zJMwb4IdE|hFOm1u3o$U_dlvv?=wHyS$VL@Fn9-1n6)wssmYXjHq2 z9gCM0pms#bEG*DkmpX_Uq~*))S0IYSl+ zxrn>@)dPyq+b~nqKs#qV^GPyDt=Ju%?`6v_noO72fnRQc>`g#& zaxgLlY1ASVppd(ZD~uA+DrJE&H(abpOM{6G_4QDujDZXgEAK>395 zq<)+;{*8?#A>>Z4bOw98Nk|PPl(!^7l^Ey9(M{T;rgDBTz>PIcA!C20#oo|PzP3QsH|coC7M1< zgbBQh-sN4fQ5$=e-i9GOnqn;yoxb;j2?>;Fl{$7Km3f7f~se<)#vgbl<*B))3S*IDTx^7NTyKLAw+ z&vEguko9i)fTg}f>vcM31#SPy*xnMAKO#~*iLidO@qm0Rk$(eS;DQH+fMullAd@WX zIGa1STZ$_4Tl8AmlRRx@Cj;OR#hDLS^Q$=}MzaMk)KgSQv8-cbm12~J1)g9rt8U0< zaPuF^`qaU-b%GRZlORw(vidR<4o|Cs#V72)@QPJP!3liCE zY1mA$Y;1kZ0{dmaT{rROtLu8%GK@fkPnCx_XKajoQ?t!0p~wvqoFQ#W5dVf;?#%^{ zUDYO2Z!(?dEZ6rq$6{38pi85@(6lIJ_VoH&bVxC`TRVDtN7I~!UZOC8LIG_FYz*0d z#!DO^633i3FpJ(m-9(O{Zf^57^V>C|(IevPtl7*#N@@6uTm~OZPFu9-tb;#}K3+?l zQ#C#cm7}aPU=20eqFbhVs{eqV5^qCfBaPHN~Q;zDSKvUtIc9+N!7^N7JR z1RhwvG4R*MkVt3Ed7Ty~!PfNbchbvb`NTFQXT6jq^5-w-_Nh&Ong@nKL$7y%IJD+1j`A!GQ}@WsJZ#mq<+S zq=2D1P^BS67wa60I2~9Ag1MQ@p&89sJUA$IEBc0g-R4?Za?)-53s|_D7^GnQb{{s( zS<%?j8w~^Pk4R3LX*+cDn5b)OEn9($;2rGDH2zIZ!|x3%$^+8>tEWr1iguCI%8fIzbbVXMHxg(8u_HD91V19??SF220V$h7ir4I(gZEu0irUB_=La!J2yXs+(B~wO!tQ!lEqCGu^P?G873)0b z#*EFQ*vtUqP~aIrGpr&NL2#J-Z5MQ^B7%o%+qGgDn1P;-nzkvgI|{m4z<^N9Y$rYvexoT!!(E+RyddBzk^Ch1GQ8#8Q5n@M`n})(bk=oe5JBV}Y13KOe5vot5+<3j z9~PT;0${)yO4zRu;o|gThuyZ;KGZWqVD%}v|sC>3$BSMtm`Fm6sn(6o6sa=eB zy_bH2JyWAx;li6yMG0-XdEp>sX6hK{dUg#7Qq|$)B5E<>vBVJ^% z4$qBz0|?fDm2J`r@jdEzlq{0B?P%BP=kewN3z++r*4F#xyjbX&Bk|NDHF~#S>}6Le z1hFG|XQ;Gn4iV5%nvrS5zS(t`b~H}v)t2l9WcokEO5zPm^cKuu7uuA)!+eLxNitUa z9s4<$^iHL|hkXWvLp#;@B^Tl1keptWTqzc~&@#lCBTy$byEP;PkHIp@JrKXQ#CX4ytR9e=MZ^Tjhf>hEyxZ1L{MHK#nULgXz zgHT!M|Bhr4tR#4h7lval)1n_EcgB03HZQ z*!B@{O!lIT@OIRzVV98maeU!O+Lnggm${;0d}tM6Fhpj%EwieNjY0;MWNJP&R?27# z(Z^{BHt!k0u({r?#0dF914CapMM6t|6S~kL%VC~uIT#>39G@GQWI9!n3oELenJ<@&wpBy^J?gA1vuoJkVKmoTan zP()xL8RnuWqWTkqV|_DLdq&}JX0FsVS1VS`gunk_@o;s1-KQ9X7xV!aF~*2*w(DH4 zkT)4~bX2$IPpDK!R2n=622n8jTJ&wM)Ag$zlsTy8)Q6;9o)NzdrDlUwUn}twQb8|* zi-tZPZ=jPXQQ$$ejLEQ$9cxZ7uZ1wKlwolIBw|5?nC%F?86CEDWz(DDo-n<1(Zi3= z)#bY{GgH4-F*u;k^dh5-{CCVs$`!I1v8RkD3KWVALt?5EB0z!Kimj2;3D)ohQ#Ba=b~tTGD)J1M+Cbkb0y5wXxn z&zQf?Bn-K%s~%5|uUbIl?Dg}&F}eYm1nL(qt=fJ`b3){T^|zX8_?2s}sb|HB8Az_o zHfrdZa0;|3pfg!gkv6Qpin0Lki)_Qoza-8O0)7=IY_FrypE+D3$Vr2M_+MSa;j&rM zxBy>Q9e)lX$*AuBd=cbt+H(!(5})8D#M2_8fK4DLFsXOYImfGMuqij1Ca{nEWH_3K zC&Z2xgwimcgU{_MnN>t%35*QzLuQ)5ljUGW-n_|0P!hD&w9jxljdLRWW&AjLO#|U3 zv6J*DFK#XZja!DctYk!c@&pX|H)#}#yzV3wk7+BRi6q7xVj;tG1!*641ZTs%H@-(( zY=ZD0qC=1f?n{i)MWzw9SKZ)bw~J-_pkmf0S_ezL`gl|pv0{PQx)H*CV!522X zv#UV4cfSM`_D7(v@2f|7ZOt88?ZzTRG|Wa?65HbtS%CB?e`@y9zve0hOK2DvL0n18 zGhpIiIVp>REs;oJnJEjtgdizY$U^}&gmXt=bOQy^M6-H3oCa} zRL=8gc3$0>LI+blNYXwwf;MNz{e{U4Y34&`?scXWqdA2^Sn4<)v+Tc&cZamK`ndjWnx}aWVa=_id0iFMWG~36Okwl;IhKiwxFJYlr$33~EY&Vc( zbk0~JgUO3l26WYtSLLa0DLgMVDF(Q%plLW0O>bF8&et$@E7A!igzSkWOoKS&d>cf# z;z&E5fgN@|FZl)v9c7{QXC^`;vzk^k6*7j{Gb=jEDIUt1GW}*4 z!e&9A^k}HGOpB$dve#%~lbD{bV%jmh9=>iW?*!fKB(cfr zPijIvk+|2ydyy(q(%|5{?Mw!F+JW$TU6D>2fqHXYsBr5-|+I zo4&`R9nP+>Da~m>+Tp_J`b_awNZnc;H{4mBV@gL2@HIP3OE0+Qx1fU za(w@ipSS!`gT(I%MP7j0U#Jkaq*?rKrQ~lIj?qD6IYXSW0qqt~*_(GjtZxd};^ihE zjo77M6UjuETV|(-ao_dzWZ+Hn2wrl*XKoO1vgHwxFB_vK=Fd_wR4ZowW~{?HYHBl} zdyb><#VJuRj71obYC3gb69!~;WdyIKv;e$cGK(QFRXA{s>1YZ!(fnj#wLg{^=uP#h zY;S@GJSuD%H!-y5VFT4<;dRi{Dx^LoJ*s+P5b4el4jffFwo=WG9!cST9%X~!62mx@ z36j;+MYnxmeoq2!kQlH_X#fafBlg6(+huhjgwjiLO6@RQ#S0zIS6brIPbDQ&vB~qk z`K7VI_OVljF1Nr8$_2(Hvfw@LOd!FZm28j+kqruCc4o?G_UC zu_n|ComEBn>7RHAWDZOjQ`u{$jBMrgqEYyeDA@v=BRJs996H`A-?DecRVVUba;fE`UvFQ^%mHA7U}-srp+dy*y z`}m}XeRH}fJReo*|5`Ppwi}55#hr456FS-t6wzeOFb|l4q0&9tFtTJo{NQbL5kZ^iyGUc<}}U zjAa)KEE%HNB!yWLnj#?UJ(7+PG=l(LEo5a0Tt4h1Lhwy~Mw~DsattDLtivTw7e1L@ zj)(hx+KQ5Zf*>n~AwA$`UHpA!4{{j@ z*&xS}E3gXiiYHw_>Z|exqYV!iepF3$aPKf0A>9sR%rNj*_EF_ysgVw+@xChF-)IZ$0WQkQIrCmTqdaSg{I>vHV68|e?PiCE5 zY4P4PAVm&f!YSFj^MidG-9q?6*NIdPW5Wa|wcqL4KyYJ{TF^2td{#tUcP1AjtXBAt zz6~Mws~nM$@GDBmbUWg-xACi1oj>`wg@mkN1V|(_oO|hQ_h13`eKfSWRlE)8$C!S# znet-!=U)JCEAQ_bQ%Y_Ea>(lGFd$~;BpAt61?;I2sF3(#7C<34wQSFR2Q-%|4xGjy z5uk{ipPSMcy&9Q++`xHEHX1|SEpV8j#d|ek{ZNYMS|v!5Q7I%kTFL5lX{`-muS+P? zipQ*)>Oj}XmLg~YMGx$Jcchc6rSenO?I{zn4SacMrK;+jg9GF)gTaH93RFxSM^M4x zF`LOk*SJIWALAl7qV8wP*ZvT-M%b<`7P3ilxSWtdiGf5v9DoW^F+0rx?1ACqE^*jH%?xL6f2PZL`2x1`Pu${M$Eirb#>C6 zOhcJnx@q%G7dkuMtW7s}{s3++iMcMG`A%UPfUHKgR^9SO|H^k7DIPrl^!j_w^OaQQGiB)L4sjf3690HO?$&H(u z22asr)9c{CLpFl7A2%8-crW&qg376R(t(5%>iEkiY<8unHdNWkeDV;O=RY@U9C;tX zM{bO=)3+dP;9A62wQ8KnYteCZ$*Vr0&5A%AasaQHc0lg zlGh(~OccQ}5WiX(5V>Q99~ZqHl~`U7Oh4C@Z2%l6$?+~$$&KMncuRWg=MDiCpS{Gl zJ|WzPSaAt!DS)OuK;+c0J!cz#h7m)&xV1wru2!fV710GxEX9W4;boQE1j{(A>e3r8 z?@K4kjg7`8?w*6d26RB{Wi4~*Sap5^1@bty(8MRn4Km8HnWnX5tGY88SyuXXkCWG` zD@hU!96-T-U;Uh#L?`zTaY>_bS+GI2VhL79t8stB*ltj}po3htKk8G6v<24qj6TmZ zH2pYP`k0d?*lv6VU=l0H=RML%xC+*1rPYsSin~QspN2B4AVRT3x`Zty5v) zQN$fxc1A35O#3%y$D7EJ8dz71tOW__4Q8P>OIZ(*PA(s93R}AlaYxjSrlbCSw#QSc z^u?3#mOa?dC7wkd6~I(j9~w9%1K9|4s!<}Tvxr_xo6Ek)t?aR?xG!A3zu)WYcC@aA zz}h2SkcPp5^`j00UY0>Pzz@9&al;hHMQ3sQ>8o=4a1j=PZLbB&qT+8S>@7Ie-!)Yf zEMQ3J(W8BJKCbr3R9lAK;dj51#6%JP&96=tL0+~3w?~-s0l6-0+Vpz4V!ccUq&HDf z!zdu_NPkhTN=ZM{NTIJH!2?3QnrTB{WagEslu`k;`3!AvE(U_@R}l4573m#~nnX_x zOGyoO>lz9=snUZ@pj~{(!ADhXsfW7lBd8Q&|2u#6sCx$v2NTG;PV;PQqKNsZN~Egp z!3fGHW|x6VX{aDQ>H`~Q>6|%8f(3tMq$gvlH!n!xe^2Y zDC_YseRO^_#8s{&X7-Oph>Eb1Qr5KulIv4V`@D<`a01gw6l+<)^RVX(98rhMl=Cyh zp@&mTAQ01jx1Rqh ze6V=!LnxuI>GLmoVyBkR?3g29o>jsE9(qsFdk|#=wUk}a6*dpxIWe82!rtCV>umkb z8W=Uv8t3b9UXJY44u$x5gB>RQn88d(zkc8btAA$8U0~vmC~{esZ&i}y@=5#iwVDkk zrBX*Mr-?B+uoEP*=S?yNPFF^e=@AT()fudrs|Y2vzvH&qyE}pUx*L_@gRZYYZZ>9& z@(b(g#)Jm}Y7Pp#Z~n{-nO!3rbny~>g6dEZ`s|)u)dVN#;5Be`@d+U>H8qcGxW@h=199jp{WPpsqsjk=g(fNTh>}+quq!t3y1LvXek* ztQemK9vx|f$3c2%+?@MP<~y&ZXdJE~nPld*pf{{TTG5>xu(bu4U=DQU24?`SomWjC z>wc1=N4(e*)J&fG{TpDqJ5eQWaU=I^;0g4BAfUy;oVST-;b7kuwwNu&!j^!+jszGMr^4PVrD2*@SbN>=ayotLgk25uOpnfj?Xfd%iI8x=y=fD_R+bnZMv_{UNQQ3gz@?Dq#;UtqlM zomC58zNH4F0nN^6&9Pv7mqb)P%#ka%Fd!5YqUn;9WV^C1D5p6&PiHyM-bw)OGbpiJ zb$CwO&6Zws`vZa$1`$xJTgDF-`r=@2usqeb4RS^gHmPIgDT=JFz+!X<_{A>SC-VkP=u4AQQ3qQF;Ti1x%*|$8bl$Yn=e6u!8M;X@} zw8X|*DAGK@L&@83SR8*3VasC@4h?LhB^^HPUrz9VOH%65&>K7KmKg3`&X9WwaFt(j zR;}1*g@74~Ls=U)Za%TNR{X>H;t>go;?chF?;%g@zOi{2TL)p|O7Unkz^%7y(oAkL zR{8|P!i+)S;in+lc{++fj`H5eaIh_T#crr|!kqvc4VHTy2!lFh3VC!{ANx~;Wgr$N z@j)?EpK3!a=U)^j0fybF)+XW$;|#7aGSS1@gM_;%fONL+ zQSd_3nAwB`^E%$Exij-I_QuyNA`JHuVNXwY5)~^|#q{J`0J`97{vaTXRHS$%vRrJv zK;IPqA)S{;iP9_I^J&o;b9xX@GiZE+^Vi8*q&XR@3&O|F0X@$)oV3QPaWB(59;sa+ zl+cI}Zb>T{x_wH2FtVPPEy7oM5W4CXx%fAn^Cd#_GijI<99BdK%=~O$s)S3M!D|?k zbTCiUBC~rk3A*~^1B9ZKVg)sGH}VgG%lzli5Z;Y0@Y93}UGs9By#1Z8WVmG~Oy}wv zAhWXkwW80JbA)NB=UW-RpNNG29^po4V8T6mR224X9KXjd`%%00d92$`p_mUJJGR9gcYUrq*F{oAx?|4NJrR;3K@DzXFYs`t?ueYa&V{_|K4hmiyd22C>- z58QZRSVSOO%?ZB!77UK|kLgPJv1|IFP%mJFu4144ae9ydiWiNKT&DUpF$%7apbT;H zR5_`xPYRyoKzmg|YgX{-BKA?p=0*kcpen)SYafgP20vdy^&2wkxjY2({$v<>ZIJxP2FPqi_krwQ`~wtL$Dv_zw1O56zm1w*t<11d_Q zCA3YmCXA|+^!gA0J5&s<5`v2D8n7*$neGjaxaWvLkT$gv$%fw+p+ZYm=f$a-KQoK4m9-t-8VZ-ebCr9C`(+#1cYpm6< z4l^jJfO;B;65(cl!GsaaM!Tq$PoiYJ+3lGePjuoVD3^sPkHEc1oC{bN=DX9Vzyt@V z$z*>afsfg3X|C%;{zrYE2Ykm;xF>aME?fm3YP<&I{{g>eNUTot_t!iigLx9#jd0po>&7u=WbwIxuX5uBogmSI^5kJaof5E(oX1Pv?)rGdJOP)EvoOF?uOYs z3@E(-KS0305-?8Hq-Esf9BTYEm^Q8g#W-BLeX0$&$ zZ|YEh90G!m=^nS0N9q9WU(%BuRXuE4L^6bIiA2T+VIKw={@N2@hTnSNnioPP7Ve8= z<=;)Bg@?7&S8nhktUK+XL_`>^VE{qFfn>K23V~0SP{nij-TUMrZr4fzu52;kG}8V6 zGtVxRx^A~(S-y8Mu9)HNF=ur!4A#h-86){rPxd3#(NoC=RdI*fg^!!#pf}~M9&-Up z5vZ>|R53!udv)RUhorU=H);(@Uss$qg2Ae06GP&v%N&Sf;5HetFC!BM`P8IdzH|Nv z2&SU&)mduQ?s7 z)sWHgA-Xi3!#b?M!c!(P2w6jDjxZHUQNt(xz;M!sxr~&o-PvAzw~pXv}v7iKRiGSdt7GR@fIz z*fY_WWI>H<5yo5+Cnw3KU!2fx4ZrggbSaMq+GC~{{r0D5S>YTsiG1ZVst|Gp(68Yf zA4I_FQ!!1W1RWf>D$ z4Lo`b^NB4uiJ&2nJX&+J9<=mwLMyMhrOS6H?*%$*8PO-ceO{NUSSN&4g^&pcI?A3f z*#&-oe8PXLy3NQC8}}KcoMKQ(19BZGxXSJ1k{LMBmSTw&vj{yhS4F|gAqAhl*X1wJ z(U1k*3k8{VMb4;TO+N6VNI?LMU@!86qPGsh~1OQPkj(Jw_QF z8Y^q6>}uLL#=TkgRNnw+8^AC*P5bgg!zjm91>6H@*MZpmULR>&M$U}hd2nbK4bAg1 ztL3F!E=KQhdQ}RnaFx$688AvmESYM+E_FkP1=*sunXB6 zAhqq7YzPMqjrdsT-?tx8b;c=G$n&3PUgpx_l#pGIfICv^B1yEF;|vY#HLWQccx3j+rFgw+JksNAr9XUP%c7F)Q!NP8Og#12tq)f5aaKpnfxn z^&2TDe{T!pY7gN$S(+IIt6!R>8S3Gp3!+$Mi_V+w13^&W@vxZG4TJ^G;Z;Zfy9%X` zL_K(-P6+ZmO9hH2v);m@=tjb`4(y1EK?X!RioCa?@V_`1U@y@f?a;08x_y=_-%-6t zYD#@C%;zhq4COALVB1wqU$p>jp_Q~c>^BOuHpzTDOt;_$)kIrnwsg~K)P>Y$hOa1o z;vyJ$OHlp9XAgZ%tLvHe3h|}dIE1!wQF#ez-4OvLXVZ@IM4Y259+sY`tSCxNzh)0W zL93QC=QQ{-f>sHCHojQ<^D34!GGcD(x*8T0Q*|@cU_F|ateT<-BW^6c`bf1kbn8I{ zw6{TQ_OW-5z>>QEGfQf1zNRU_D;apY1^$x}Z-(6~#n2`4<2q<3O(Wa8$C;K=p~v8f zN+66fB~XW}g~yPnfqVrC<;r~TZEdvW&5Uz0^?rPjdJdtaXx}o85tvRwr!OXK@jrUb z+t$sZJfcO&)wY+HF@wP~A4a(@hfNS(o{FYc7@vr?+kcM(I1me@C z0#-sF)|Qi6D%K0)kjpTzsl4|IzB`2ATkr|qa&(rL{N@c3jW^du_JaxNKwGHf1*Bp% zAq@7|D43iB&OcD}XNj-_d=bBvBJ9Sq|J2`T_nHnwUbTW7Q>A+7{oNl=Mc~^o+)~(O zPRTjaooc+&lj z62Yaks2<}J60y{aso|w{YVb#A55qc*#|TqP;f1NjltYxnIlAfwm>6gnO0g-FU`1@% z8mX>NhD2jJT+WKoh&7w2CiHbzYprQ3;+yj;-$Q>Lnkv$LzHFAMI*6Gxii@e##|ddHYZK4m)IDBwIe>Li>M&1@h2 zCKE?y*BA!kCZ{pcfq4+D?U)sU06}29AfQ8_bcG^A2?z0na({Zrs$T7= zFyff?xY8UII(yXC{`TFnTILDSOi~ryL>P6EXY+3C@Q`rfDS-G z2t;^tWbz;oK<<$Fyv^yE*Y0VY&XXs=$sNJLQ`3s3MYJRK66iPrTayOD8E$RxO{C1t z3s>Zyax-&%mdbxUH!K#)vfPIi?>K{HJrSFl2g$p$0N(18IB)50nP#y^qG zC;Y-JF@;u#OeXD6=xp=Fdv=hKro}Q$F*vwO?fu2HR8K*78+H*Xwsol;tPe5m|s5&JtLiY^Mx;F{6&f{8h#wHsj8dG>$}icdXwfzZ z7)3;A7Stbl>b<~e;n7Z~_D^A=k~L%%ypB^Hd=0+~&sr!e1X--CLQ>*E$PZykrCNnTZt`Q5F zk_vZ+>WL34iqJz;ZZTG}N zw)&IRCwddZX%^pTQWdw<#fGt$Gx(+dhKW~bBuug}m39lF$rl)~k}5(H=UHEj1n{#gx&{b2#_G1StcxdkI#*+Y>!)TdaS#=;Z#fT3IG@;|1Q@9(G8D1hM*U z*0l@SLyPF??^H|ei@0|vt_E%P{VNFw4H0K@ikGV}tR#4e3$FT(b|1QWzLbQYHpaW^ z`acLvq-KZy%;6=fSL?NjBDJJRzMI4UNN6?~o{~`m*7awX>pU4y_*hlYA4C!FqjsAl zTy!idk1QP&rC|>6*$kKHeWxH~Qi|+2GD9WPnJ#4(LGY`YOkQG27KQ>U{$w~SVbsVt zl#z#!0^%ziEll<<5*@C0i-@!dkqeCCzkaKn*CeBxK5Wrk-xZE)4V}WfJHpoTNp|O0 z%pvPGS^{<=lsZl$0E;%tj-1x^y6O-#A}m0m2@tJv@F?VarUObu%&ZUq=91lKQF3%aru zoS}5p`JYqJ>xiqeY*PYqTLj&-O$ zalbqIzM(~u|}5uu9_4)()7X-SJ0ds%}Fk$$nXkz}w3l*Jr@<4DrUXS1e@6rU?E zWUA|HgvxOMa8<6+Q)!DzM80K3?Mh{tltaYTv{2jFpuRxyoaTUY{`aLp&7<}!#Bc;Y z4Wh})jnoSw12qg*J+j^E>=R`N@K7ULEx{mHJD~DiVbUUK8*_;ymsoU&ng^3AZz3j! zmn2jrGv~X)TPA9PdyL~~+E7g7&a1I6$e~@*X2eQg)yYaon*vh!nqIVF<4lmec8{$A zo|=h?Lph}cZLQoynnx_kEEaH>RM3GLd{bK8wIAN}S0XEPvbIF+SGSs-iR=RG-XgH( zAuYX)&RaRIJW*J^?mr(7%uXPVh(FG01-27g(3CudJ)U1HB1Tk(!POG-=Rp}4PHu#{ z=(zLd9!I@!=IcPHbRnD@xeD71-K1rm^0EXCq#`tbBdWDMqzjQ%<&H+vAoG`^jo2&z z3=g2MB!5$OhcO$6bjp#zS9B7Ia352;@KA|v3Q-5zO7U4(^w9rG{hh?dJ`c=kk5C*+ zZ-s-n{N-YRm4(w8U=kZNJHbK67t?}K(qj@oOLaR3#G2&j1FvKNU(-uLb5VEmq!ijX zM?)DchvG%70{{;S*hwwes9-EP7ho+2KrtzJ9TY=E%G8o-A@jQ0BeA97<=7;+H|&gl z7DT~{d2fL5CX2<3xL)BaT9*l`Q@T0#tJ6Y$S0B;?~B#^B^0wI*9o|1e%3$ z0P;a|{-gluWvZ^?-s~PU=X>qzKjpv=xm|7Nkg99B(!eOcifbW??j~IPD6=mqC zbsr;jp^BR)2Y?`2z{yGLFckF=MCjzzQzIE4%ttr!23IL_>qvI~c{=T5=B1EIY-k8B z%SKqxFcq=goVVdthll+PKFpBA$u744^xE6H-dryCYP~Ke2D~oP!O>UzX%3Hn5l0N{5L?Nf|3=HKDNn3h2_RvpO1Ll5MBVIbP2<0)u;S3gH-4_TvdKro(gU1*?4?8H=sOe?INj-uF zHqm1QyXkV^?7+ah>cCJoD^Ea!%ca_5lZlA;Xb#qYQz|Z?I^RhM)`CVNC8>rz6qSVt zbgKq?K&h;iLDv6NCtK|R5Zvka+Qi|4!&;RX>f9LpGFh>~xPVx^SPJ=zFm?|h6dm}H z)nTJ$pXf_cA-`JFJ_vVzGH5Q0YO%Y5BH-3s}BF6B{x5J8X7&)ASl3 zR}l#tsPAvLdgQF#7=r`KY|dF7feSBNsYsj(S~}>s(U_dB^ym68QWKFW3?fo`Y~lGWdi2HD;M*T$S4D-$9Hs-FRoTiYk(LZdu75EsD*$M7}Y0PDT$VwcZAg{L>R$TJ>_X|))BCKDki9KNvAos*% zQuL%P2M6wQ63r~(&x2^fRkCI!*)tQ}fch*bd--r5u|3ic8KxLbkoowna|gQON`tXC zvam;vZ*SI^K{@V}{CV7}JnAHvb9<^k5eyZ>AXr9;@;U>_{YbwmICP13?E2+j0!qWZ zsQuqnND1SY-O2!m042hRKHCT-DANj1NqRVj+dmK#%gdEn8mW{Zy)E|aw+w7}tKn29 z`gf(IfQ?eV<)H-RWW6gz+3`?$!GK8lLOEts{R>4;!JJ5_QOhACG$P_Xr69)9ld+8? zY%Q?;0kzBiD`!4trb5Ape)k}jQqfX&B+$ZQ=x=4>4+OfofI?t$06+N`r$WcMPvX#u zo*7ur7@fsV*IADA5U1q`>9#CL|F)&C*RuanowPZpn+fsn;+S!T3J{+_V4qjupgeDb ziqwz(NC4Reke(y4!;mzwr-AcY>TDNXkKN}Xp|ted#BZ$pvDg=cAd@P8i105V2jjJn zWlqsJl^g?#_JGOTgvR5L;StWH#=_BNDLV}8P>04Kx=^w3nZhOiOOUO`3e?o-k`?3 zppuFkuN?lUBEcC+&S7}CS~?fwm{(;3^XwyK2cu;zoWl8Wuyic2BXDLIyvbBdtTaUY z#wRfZEifJaMv0f@3n)2`&P`v@f^jrp?6{Y@fO>%;d>eV;-tuJaMFc6LHBj5sqC5ch zb!@*0#Jq^% z2^A|&UN$fdic^I;2LlPH8H9XK)bWuZ$u*;CBCTkRt0E+vmsIuYyt>9|^2oP3CS9-t z!MkSU9&h1BAHL2A$wzW~wx)Ph25S+~AkgSmZ&s8{0fa(E zswG$enw>-mXn+X3qnc~?mF>t|1WF;gX1ow!@B8IWFNdOAJpxPz;doRY5Mt0z=!=@c z!M`^i)Gjzk-qf5GpqvWtDXwxXnmWb7)(aUfXdr{cRnxb|6~XYUkgIFF-0_lQ$zS2O z!XLlTAeT|Q%v+6APHrZQI9 zEfx7IK**V-rom{EL7nqT4%krp61~~tQK$GS0o~Dw$N_?4HAZE}k}J+Y@c`&xE?%K1 z^Tfo#9AKNJDqP$FU+>F~cF=4!4hDVNCW^;aB9Wp59b5>I7iAOX>4BM0pcNOj??S1hsN6)fRsPLwOyR<;8vq2)UswU;Tp49=Aw);aC{)=ESyyykyMq1~g$}i; ze^!TqANBQK(a>G(eh3lpC`;K+LjS}VXb_?EK~dy(=sSUF!=r#*!S%!H_3Q6ocLI}# zM!=I}+hy1jQ_b$FAOh-Q1&|ELg!pSVO*4x>U=)AZALQ0onA!+wh2`*_SZiv$QR$-OX*#`-{}WZT0)RT9GT;si{wLi*lVDk>MJiGmd{>~} zFuf^ZMbm_YP3Gvi^pNv=u!-CA>34$mGT}&M>vvz?0k`JL_G-kz<%?7)`X9tlT=x%Q zomopb06Vjp((hKVh+;*D#X_|no>;83m%cSa)p^`8VdIZLlGumMNuKx&w15G|`Vjk60}~2?6(mS>+jO92BZfxS2q8~GIKdFC z7<3h>HfqzXCtsDXRJ634%8)=~tX)JLnHGxRCs=GC8$*wgZvcaXf$}*E6{2YU$V`$; zhQ?ykvFM$wmy1BD$j*2p=l-Dpo{bO)MEU0UNnp0CvaDegOge%Rf-4LW%VsD)Ta2!Y z&lXfCf3h@Q4}_(2q9L$im?IithGc7L#Tq8Zq4G8#=ijOi>BpPnm`LEKPmyh zR6SnRi8>Qea;1f;RODQYw7|zUSvg8sIb)Dwal0#w?dIn525JR>3GQZ|RL08eVy3`F z{)P@)SD$H2sVdPKrG}g>Xf5Y zrKCq9G9=MLL$-k-UV>0!cUnj57!l4v-HSpn3Xg}U!A0A_7~3@eDROG>7US+srOIKY zW-;RfR$=}XXh&7{6}G7ACdGilEQ_;12gF{u`IkOMCyfl4xldH4x}mInoCi8k;YqUz zv0(-K9#E5*Ms0HqGg$2$VwRLh6(R&_gzY5oI*|p6^fZc%6RE-J!FQ0Tuo$RKBI%&q zt2anG;e3t*-OV){6hZ^5J`K$61=Il@yy*0U2k0Y>$avOovBV-$Rnd42s&-6FXh|1= z^_X~}*5&`Cx>K|eA}n?Syz4gzhhdnp85px&{*I!I(*%<9R=8FnU*ynHdMCD!#SD%H z$CRs3GeieHqa#$mZp;P2S-c(5+RemapPh?(Akz${kvv06*Gv$sv5FeFEZz$^4oXUs zvmXSsic}?{+IC5ZI(>)^E1jDZsRa#hn2G3+WN7E#nJyl7<>r22* z{R5*7o7~+vz#~7I3ku(0J;g#GGPGRfO3G-3h|xD4YSS^RO=O; z39bG=C;ux26qvhwQMoDsy1WLx|BBucP6m~u(lOW!R`PG#*}9<7mLB-9X^jz+qt4Gh zgYdxMLhfvP2n!+Oj+SznmK(!tiSih_)Y#-1NNK7vK<916Xh|A$JNr3LOp_R8l^)uf}beB z+w`^_w3wHeKzS54D`2Qd8h$zhr5pgkRugI!Uqm`NvauIp*cQ7R+pNG9Pa*)XJ~snI zkr!%nN*@S3FT=6`0=?;UQ}!<6e+aBfHMW-hS%i%IZ&?tr{qps zQwD6H3U-oc(S_oq_9H;zB`;PVr&2SW@d6>kf*iT%W?L0S?Wr#1RFj6rrBv5V%SH)n zaNGELz+%#gMK09M^L745LG+f3u^^QFI>)%Wzk4h@C#iJ}mj=P(u!W7E?@+$q0Ki`9 zG+bQKL924Vi#*H-5cs@Xjo!NkYb5904T2-=gj!+BBAY^3iu!?9P~m|g@QxGsTUZJ( zK7!2V_BhQ2)1rz6Ml=Hj$-J*6A~4`#sNavluBrqI}p)WSjWmj3+`}kGkiD5{HmDK- zUJWtK*03`3b^|=^=|KB6g&>p#^%7bw5q@&ZrvA(k8Ii1V5R`d{Jm1=ce8C7ld@Gg(t5{9cNf8P05VLeCaP zuM($b@p%c#}mq+A-APQkM|t^MZ@XNg#nCnr;fDa=g029VS{A;|S7FRGHXZK6+u`^BILfC(ZLM=}Y}9vW3%A4u}w1W?%G zQ1k241kN>JLf05k$b^7v@~%~~mX29lFcb~lPR~A>_N5?Mp65bG2BvsEH}H`@5!3VT z(4JV)kay7Tw$>}U(Fyg3@-)UcEjzFk28r+BB(hvTkU^(wdh@KyM9-$>DFFRRaB;}y zDG#zW!Uz;wa<6mFqeLKffAq|Q z!3kqeFNz_Y+_fbwBI&rRti|rch>v1HTC{SF;5)XXwii_fS1Ag%F)ZZ7ERIQ`k!jXB zuVZAK1$WK@SxLbski@i{%sd*znFc$QKhB3TCRcnll$zj{Ypi8# zM*2&o7R?}_graCoW!8O=(=9=C)uC3dT7cu(lwowONK3n@#kww=*_}4c72L$inqn3Z zk;^FnsmvC7k#F_eo&+Un0V-vm3p^NK+e+hwA=a`IFsTtUQ4k@21@grQ)!HN1gp4%; zP%Lg{CpaU;+_|5p6NtjHav_WxN;<<-QI(8u7&oj!g&7{<{JElsOv$N7QS5R&^Sdi; zgu>o98o?rDXJ5r$=LQrTAGM7FhFDoquMm|i5wY*0D?tQfr*x5e!IBw_H3lOL>zHc5 zo+%F!dL2h)tW=30iKv%Z$@H}FgvT~*8qF9jD2Uo>vt8-7JzR%k7=N(=k&oddanWR716CRX%n={S8q^n7c4&@#d#93rzM64S{3J7Qg6Y zbdsYg;Zu{wgWN)6{5I`vfD^*o=Z_a+d#=s#KpJw>;u_hXeVRJKg*A@~{5 zX1UzjM?qcefB1tK1aFRrlxqUyj=7%4rjcp?b++5U_(WG6(iDafw4>Z+NbJ~r4 z;n3_@9k!lC*-`O!_028f=636?eI2fB2z6-J5+ct?kim}#5;WQU6+jjGB-YsS{O+I@ ziB01d1p&b?{T_=#j$#XXtI>n0qR;WYHTND zO%{%XEf#MJda z)WOi84<)RM9NqEuku7|b;)^ayM0VnNHvnknXp%|2h4tP9BOx~Q*&>n)5R!{-H!?l| z9zIAUNaZ_e`UqL<)JdiJ+G&3IFo!-c3I$c=ic*L^N6~1$7OS`BW)iwHGG~#~L@dEt zv<02>&Pf|qoXTS+H}lr&9%iP~D{OZybIy8c0Et!*w3(rWHVNyY*TSxDo91X>hKP0f zD%y)U6yZIuX-;J54dc=s$GvC-T?!)?q2jfu+U(M(S&Z7yGyG(1#^CyZ4fm-lQl}nuNBuVj z&C84;8E_@%@b68bvr@=o>sV=>jT4$sS@~bO6P9!KLwKrY31yly>+{K#03r4j#F~f| z?ab1!1=F^bA_=sg1NWuJjY{1~MJA9VQ$nhHpIH`w8k0tgP?!O7V3U9;tRPbheg;jF zK%ZCJ5p}jVLJtN*k>X`0(#68Q4k;7h6|(Wwt>})v{U|4tVD0RZ+5L@+!c?Bsd}iV1 z!caGQO<~XsB5-&B&xy219p6utOp5pjG}AHb;YcPU6&Q|Oj- zg^ywV+-aXb9UDrTe5G;cMlrZ-Q3WV;YR#(7(<9N!^l8DVJ>nIkP7GhD(}LoA#RM^@ zd5^nvavoP!5?)URny{Mut;o2ndKBgXp!=OTgmKiWw<3SzhDR2-JM4FqU2J)wM9vs@ zM~xCPNV4K2-qC)>LXrM)aK6$I5#^XCnXtqkP7 zRJWtBASHXTom%Qp8Bxl~l&SNQ6cp%BsQ6QeVoBB>*yte)d>FX=vzHw5$Rs&*<}kK9 z{ue3`?f=$SE#{a_WgQ1)0C3z?2G{`iHDSXdej}8w%hSJON+P%M5t&1VL~S(bsuFkC z86`J{I!Wr&w(g6!YEgvYF)543W3gex8#({&i9*406E)@z8$&4ocR+N)POX`cFtHXPgScpkc(_C| zDEwgWxPjUmk(j~Wd4?DyPS68TiG1x+CgS`0%WzHYl)0PaW-Q9w1VikH$S`bcL`-0F%&O&*ih z4L&LY_p)?DC`qinz(Rzw@oocM*KjeQ&2mV2{cXmi^{DYS=739I>|K8syub$$6~yCb zuu%eQCzVR-D^^w`E8s;?Siqg}k7<8!Leho$3OoyP3hxWl6qF=mS$emXQb3@Qi`Ck) z|9s1yus;*3GVGhi<*8=+) zH3Q;GI#c3O?lJ%_Aq7;NxnC^KgB5{JF2i>xn8JwJz~2&_Ei2IMVg8ts5;l#~LTIV) z=o1>jfpkP*Jq4!DU?iO2AuDL>*i?V~M1np9qIV;zh> z)zc0bbd#CuGY_V8ah%L?N_$K?j&%jkJ((zd)1}VJG3pfinNW_0nz<~#!#-y;Ij(fL zqBv>Qm$1YR`f^j4XGfkfc08xTt}I`kQJ+V1hblL&9s{14zcP*-4>GN~lVPU*%tXua zQIc&2H@0DFY@%YyST*Ut&D)u$Oc--1#p+Znrf)Yox2FBe1kX0JgJocgn7D2Xt{`C) zT*RrCicKubJy}z6YFrc=`!aRRwkN$|C}Ydd^g|T+DP@MZQp9o7Zush0QVl=mBmsCz zF5HnA901y!6)f4swGhDs^HYbXNBI47~0MsZ1fkR^a1$J#p0Z|yf3|$6fLUcQ{ z;GU{<1l(_>QrM&M%p*#tMn>70v&GJUf)pZ$Ir?kQbml^d*AXwrEBLSCy+>O1D-a2t zV2r-~IASGg4-;i{42tU@%DG zaD>KxinyRZiKC2wT^lpbQ4<-1&h;w?jlm*bU_dvvkx{{%#|Z!sL4Ts(c?Ff$ROvt# z?IMtFy%dGCCaa_XQF{UnhaMJ@tw@7`Hppobz=63Qd=~~)Mx1O4mRQ=~muD-Mg^|(D z!JBj8(li$0@e_g{>q#480+nqy5o_9nhd$v5I%sRE9v)jUg#r|cE>t2QH*gYJ4wa|| ziNy(j%zLIGot&DhfQTHD7O^%rF%c82gpI;g1?vpdd<0=47q7XE!dR+^T(-;cjcaV^ z4vHMm@FVR~$F*T6z3@wyK$7-g%rHrQjYG;AX$(9dSGbni@J6K<_u-<8DhS9QRv|`M zYvibaUcDR)9M$~4!bD`^`BpmpVE1|iRd}4d#!mxi@+*5!_a{pQQEhTqk8cxSSM)mPa8W?9Te9ChWvNi29teVCOuJuQDj5+Ev-<^JPVZor-;`vD%q*VQu ztRRcMC|qVQY-w5fm(@2wDpW6YYM7`$0xmee%6^fh3sqrtK-1q(etM;8lB`n@ScGLMWxIIsnpfAM5t*R#pTD#DdWO}n!y`<7ct9>GV>{-(SOFG#%V4lOvET!(-CN!GD&(Sue3DZm|xPiQ63$k}88PsFLu)r~a@4N>q@;WEg0 zcBnvF##Yq><(eW4N}9R1XOpqA+5;g9d+Dey<4u%+sYELJ7(Py#jMNjSS);8V?4sJY z%{jkG*Uubi1hHWev47wW2R(!ouxBWb@o&*^$1q&R)xKCwW;;q$J0AcCSD?%Ic7G?P*)2~~_ zR{U+V*>9*8rPEtxOJn%y9LL+HS|srogaLRXMkr7WMYBf;zZT6=Yg`4w>f%nRR3$(f z*`ltA;YqWG^4TuwNGm7*oN;6U!uQDvE%KFI&RK=NISf7^#El4_hA~$t#;~f22OVz%! zaI2SE`4d-q?j3-Xem%&0i02I$sx9?PRS5O~fVex(?Qw`vpRQqa?d%hh)ZYDG1#kx9 zfx{h81zpN4{}?^rY@U8; z!N;A!J9jm?#-W*!Tr&}$015$>@`4C|6VmWqfi zvwH?0`z#QwxNLh;b$x5M-(j;M;E~NsG_GBVdqFrQ#;jz+Cb`9Ce==4Eij-i`qZb7f znGy;p7yzP85U0Tu0meW0%6Q*DEsPKg zCGucjJbwj~9~I*Wrl{H>g)c_hAt7-oWRab}<1BbF0C>oQZQR~kjwyxjl<0-+QILrr zN+&3m!Ae1Q|9q46A3;l#?vm+`jmjkD-}tlb>G~~R3$50=>+iRofsGk!t58r~Q(~<& zk+joC*nboA)nq;+2FVNDvYYA8RY-w!Pw(|gw?O{NURN({TpLtUCv5}iDQrWS%LFitJq0D*i)JyNntKt`U)T_?`M z=5-)7OVwHiCXZhbExkjKun4I{AwVH~{AR6nmFYm68_Gb+D#}6H(LdrRLqSTd6L>`8 zmf^sUSghMr@=TrM=+(|@Wf~WfGA;m7(5QO#i18?@w7ZbpTBr;t=KB%%eOwg#$wG0LHoWX4>IpU)?E=&>{YoaH1 z%Iy?h84^uN7|F$L3i)@C51=xJ8HFMEa$78XpZ zME7wL)5WXUmw$b!lFlo{lr>DeHBj2v$qRDgul~9So4mhug*Mlx>L@^BGeC3 zzA`$%Q*DjbM0u+ojKl<%ICQPlU8lOwK3Zw%U#G(*@ppc;*{fzMEsnEf4q$mFvbSC^ z*eq_mZ(v@FeUNbE;gkMk*=^&_0E4dx`uSIN<}9-)&NCy?AG_Z2GR`t|X5RB-ujkp3?HW4$7Na)l@Mfl0(@H}E zITse^0xU*x@-NR;eDhzCrdnB)$QK|SyEr3(IN^&Nd|-cqrT`f9z>6AqImMq0X*4`d zko+186M^bK1{^vyLxJ(*hRzh&iDCnWo;vttfH#a+ZZw#i;wN~fSC1Gt({VrU;3fQD z4R@x1c*w|Z+q=5wTe@yxx_;`*r!O(Q-spR@@2k1m>RX_$KeC#~%PlMfio?VO#@X*^ zEvD9$<||`?)UdZg!;U76<1-Q{u+c)05G+so08`52=Ug4>ov-tG7QHQXuo9dO%3RdH z1u(EfYp=nx94cKxzfFPGh*;z=n_*qKZP{B|jOxr)F|R359Y7UvRK}&5Aha2Ea>&BK zX4mjQYGO;Ic`ayXS&)Tc;d5PWsp~=Y34~Ah_fSPmIvmd2KwKyuWvQy>&7Hn*Y;zll zZL=>;-!`PuQ-aO=HXa0TGd;EEjV!igP;Z}3=WaVcCQF)1YiXILBc7IW>HaQTbz}V5 zuCqu}Zy0s3W;Rb#GlbGJKumu%B+fHdOan7q-ZObkoiQA-(t64LDkP(_=}FHh)S_}> z$yFo-j`A}}ha_~5a(~IUC&Zg^$wyHc>}9dj#^n;kMvN_pn=1u51awerG1pc6ot_FxG>(^h4tWNrt;tYF{Xn1 zYU|zLN#udP#YBh`^lQi31-_q25=;3)>?i+GVzVSj-|ut;6zo5U)x#lQj22v|G@kkY za2Z_PK&IJ)XRhOHI)DSis0Pq+2@L?P>*bXC{5|v*()6;uk5lM%#1Tv$`3@)nXcBw| z4pr@v!&;0&s5eW+F^Z>k5E!um=TaV`NSY zodN-qp(HSO2L=Kopvephp%0mW3>VBg^{=nZ8u_sku<7ES-PnE2pV!ei%# zjrZ_D{(Z@L+&1I+c&EVOi9f^Ed>lCi@$4c>!AN4lNMfr9>{Y>c!6=Nz0f=XERHJ1# zw|l1o=haH=uiT5&e1&i1(5?UEDSjq8BzMk?Z^#~T!Z!o`?Bk=llO&*kgSl`Z?g$3% z63{Pjfr1X}&zsxAMG?HWB!w%293orklaE4 z+@4Yp)UxkH4MF3unH?QM6dcWqa0x;a_-81RoGkJ6)G-(MJ_vk8PPKc{17ChRc4z|E z(nv+=&Hd*I&R{Nt8tt9ZYnng8T)Amj+z7uLAz?$JladZjC0}431o{WS+#t9Zycki7 zK@f0un}Ojmb3$V8s^^E4&4N+8v_d1AG1ZM85UB*LX#NP%;Ex8Z?&xZyezxrB5o>d; zR4{sgA{Xp{$~pACA_;Su59t@NDWETQ6HYsCOY-oc(h7~8RxYZ(aa11`vx>Ug)F#}qEs7CqU)F`eW?a@K`eF}I70(a_ z&iDn+;04aO12eb3ax>*}G39bG;c^_|au?xp z7U6Og;c^q*auVHg3*B-C*>VKgas=6O1KDx`*>nG@=TBA6maCloS2WG`X&6GF;K*xuVH)Lz3lllI2H|342yhDsa0v-G0)#LCgfZa=W1bMlG$D={0~?SA zHed`wKp2F8F#7;u_5j1&0f(3a4$uZ2pA0&_7;=0t;`m{`@WX52hS$RlFNPW)3Wwd5!I?}F;dWCp`gV(L5gOB6paQZnhZ=b7?or(sK{eIkj7&njJ87=ECw-{3}G-B zwqP-2xMHnv#ZtkFm4g)v1}N4HP^uW4R59$RW6e;@Fq^dAjA~iili8To3U7Coh6c7VxiJg-=pkS#Cf%yMuWhUq-}ffP(c{{+FllU z;0QR{7q*0e7t#QGHDaj+9*tP2=-2?}fJ8C^$&hQ9g86V~7KNc`Nfv@5qcd15nuud9 z5XM3wj5I?S2!<=s3|Ar;t3WYSfMTTp#XcMK z!xblnD9;Q}9vGWEF)(;ySn$N5!HFY-5(fq$P7Fbu7=t)5B5-0H;KVVZh(kjVhK3-G z3_qF}d^9llXkqNo!_lFKV?z#xh8&FyIT#pjFflA(VpPDynSqHT0}$p0AxsQHm>7dF zF#up;^uWXEfrrBb4`v1(%M3b}7;`K!T3BMY2zVU!KLcaCMi{XAu(0~9u==R5`k=7+ z;MH(v*(Cu|*oqJ2b}*v0#vltY4zjSHC;_n;0m#69L0RoYe9J?!-!YlBIFWOM@%e?3GTp+5R@=i0H!D`Hh2y~IASG(6T~qCfrt$Y zLdaSlg(Gl6I)kG~7${2+2OwPG3tG!?8Q+Hpn%4A^K;fSQpV$Pr>r1z+-Jb4O&<^lD zfdi$G5qbg8O}#W00D|=}Qf>%}O!jzX%Mj>+u%oxbE+vB64S6ZN_|?haNmb zsnNl^5}SZTiIWAWt#lJa?fY@&^N<8k*ki*6Un^X9p^na-s!^MV1A>YA6pl5Hp}5CL zbp!dkus@X4MBs@4W<~|aEKXB;5X_s0U&8q4M9`q+)NQzr;VWhk)lM2?6cMo7n{~@+ zvR9ss3|yJGZFtczV(^TaUhgEgXzaWFO4cBl9VU;t*4Ki?~mV)RZ9ykj}2viG5XsEjs8Wg~C*A3^0g|4PG6s*c3I0NQ|Gs`l=;)py|gC*Et zLDM_1IuaLfp+Z_GZOsPO5NzIv4pFrm3kqcimmu<^MC}7kXz}nEK|vsJ3>}8esz3)o z*}^&~000Pt&db7s!SNxH*%>3zI&vo>09NA+_|Wkdk&TI4kpp9lVEB=k@Fnsv1n>jp zDTkbw$b>{1Bp%%l$RMsl0R(Jo7Y}JXX5Af)31nbeNIZ6f8k*|xkzOJsgtA6+A~LEe zJTfx$sg+zaJvrd%CdyL5;qb`PbMZj(bhsulWJ=?nMO0?ZKu()|8ch{%g=kTz^k=_n z_fB0q_QICW>t1w3lPgw9^-WJjTY*7HM^X-;J^F|~%6(*BhL_>nj@IBlZL&A`AWWSy z@q|=c3xCD9#A|_sVwYoLWLpbA55UPSge1nTT_j{-OO=tkQ4$zq(xz;7SI}`37vC2T zh0_@Z78=)L!CHF%DfD)FK+A?R1!KQv5RP!1#L+SmG(SbYVGf~h^c)h3`N8-h0Fm{K zG1w*1b2P2MOQ09<39q1SUTz#%nkV=qG7kk|G&!HUcq7X+hIm}46NExuAEEMmVJV*z zti=hr+&Ie+0JCapgM5=x9;tnT3J}2b$rcw%&qiX>Y`J61q=HCbBd8uFxff3pwBl}p zU`o)!*(ev9S`|w#E8WdvE=TLixQ2oeq!%!f&Cx-E#q1#3Za0ty9v72^Xp0m$h7z_9 z#@MkZF^1&I7Gw~gv?S5vT7bB(B(i6UpDTj=|%S=q)IOm;H8+2n=wh zU-_nD+O=lFmYTa0EUR;Kk9#!ARg`tnXRnp7dfWIBlkkG*is1Z@11O*>S%SDETK6}s zCs($=pAwFNSc_-wm1oh~{8@Tux|#Y3or9pvTmfrKct^jNJ}~uX#NCp${RC+?V6!MN zIZ%Jb!lJ&6HtvrrpI&$fpU)mqr8I+Vu{8dpR>T5AdHkQl1oEFrv_tu`FbE^k=~v*% z7z4Ofbp56PXqGf|+sIyMjxX;9&+$Q>T5cTh(8$@^f* z;23&z5V^tMhwj^@W^^-*iKt%}aEBzoUfc4KaqR6)Abp%17Dqd8_tTkm7*6LB!1BQ; z9h}Dx)?Wuzev4=ph-s$SkxfY|Oy2*gnfQvt>Tn63W=PsHXCQzD>LRzQ6P?^ZXal@Y z(EDKldyn*hEMzzxCWKAm(ewjhec{NZ3f}*)W(MwHTa~`*>_J_?kCs>X>om4ec8O&p zNen=V-&S%J>J^t66cr_<1WlxC(Tvs_I&OCfT%G$&$p3_%*xGd*lSI~rz>~CNEo7){ zEYL9JY-*Jr&RE_-LZ~jCEDoHFbm?pvX;P9x0|_`H$U{sv85nY?8N7o~TN?qA1sh;O zPM)R?Dn~)uW<*s$JOE&#JYyG`-6JOmlV}HFI@p`VB0+3K+>&4-X`(Mpz73$}TqeDb z#qBnEgWWh-9)f%5S|4&c6IiFhTh zbcYtvqFh`nBtJogG769$HKUC#8nX%h!iTYO97dUxEe0TcV~I#FGM!Ro_qM_epfoTM zQ|4^wLd+)1O0D1y(ehppIVlQXy@Zbp1qKs+rlEnN&g#D$7A@4D$1}iFGYyn7!tw`( z>pt3|ArRuXJ6BP9qyh4a6|o3_w;-1$Lqa09E~i9Z;A7L`H8e8SsciVk4!k|cFu5y_GO(A(sDr#ot6z(4K^g;Sh{@p^Yd#lAy(F=+%0+P3 zz+#syj?B3Uy)rzxAp*}zO9*R&jx9#6WS{gj+fNi0vn!2igG}*k?W)pQS9p?UEf(mC3h(DBBti7BFsGwVsQG_nPGfPJj z7V-JQIP_x)r7X&TWvR}-p=v`Kvvh3DN;j&p(62$T281n5cq8#fCPO># zAd?KLU$v8$u8A8;#J}gEKce$3$n-2oX@wbM`PaJ%?SSgZt{KA!)nq_mWmk2IhO`qaAQS@1#0QOi@rdBQ5TasRA4-4-L3_~~gLE3KeRJTB!!MJ}vJ(&JMo+7_hmpitB^6yZ6>OHg z+AlBafz>6Rla5k^Pao-t{>uB1(Y&PD|n3O2tH zCgGCW`O7G~VOh@r3obM2vI!PJ3V+96;BLSiW%geC;M;qvy@72T~FRsMG&Z5l-1Gw^o`$#Yx z$UsU666g@?KnEP8T#G6bhIQl=1bRRJs1dbvA_`I2C|Rn@D_OWsVN5_bqZhPoNl?yBd@++qMSJzHW?dJz!W?DCJH0t94^c<(nGEsE?2 zLxx63$|)nuz!C$H+>tPbAd+F_kT7cBc;JXrG(ZS#DrTTK{H~ctz(53E07we`KyFw{ zIxqIRwGyW%sVoyg6Gg#o!$jU+1)8LmCPeS-l)X%g=@IUtC< z;35g7KgAobF9!vKGs+tTW0B54aLw~`CvZ`>R%G8KDYK1`TWPGBESL6w@7FpS$%pcc zAAk{Y2>4@(Jbs)9|k#Faj8qBTo)TBFL6J zkP(_=FxRNq!FzU~XDr}56Pp3bDq3QXPOF&Y6`G+ehDfA^Rll%OWxAyVOPHsj7qM;m zfE;1kk_#A{Kn7`PAyda+J~$OLwwt#}j0`WH>_$N(a!+ro3DFZ{CO!*B!!?;?QSGAn z#is}Fig5xIjq@7C4-Vy3;MBp$;R~Y4px#H?O`+a#Do-fc@_c6g0a*sUi}LcwJKe5qfyF z^B|HL442R@fL9|E_bbw>h=jBj9iO|QRpl%OXYhM@L^=Us9(9b#a0-g}z_$%$NoSC{ z^A;}znkd3`C3t>YpC++t zGHJp-$5wDYg$o`C2-u%BDQ|FDjQN0oavTbcq)xcacKp?n)I8Ua;}3}|rb8T$*G=V# z0eM%p2=e_IXjPgAzz>dY`BYTUI%76bpv_ty)Hdv34UDp3WyupMWwk{Ls0}TEi5at+ z)KKvU1ZAM%9dmrMpU!N#&x;Fb6XEG##WZSe-qi<(AO<1WEMK0-U@H3wGUKFz`>ULO zLMV6hW6(sK*%-OU1>}tmVF&WUnDwJK4 zc|wL#O}KpF!fC4{n$LkqNDUV%&l`UybHHgF~CfGOSm4>lh7tHl5%Lgnj^Vs zTKwML2_n+wpi?Y0c&!Bx6yxDKJipX#4D%;wa#@dbjyqv%GvZgWQ{@)MH^x^9yJ3`! z%ZCVZ!4jDZTM~@N!nHiXWns3e7i-oDRp3t0Mct+M+Mp46UvgBG!lJ#=!FqtV?4G05 zC1QgE34oG{Pw2{pz4wA##n(OfNbnm7%4ip2ba#7&C=Y7NNJ1iDTEWSpR@a%Xz?Pt3 zfq_tnFv-EeK!Ooxt5!Ss7%5oS;g3-5`$yhfS0i9GwPQr#d|)>W+Gk5HxXX;Fqf!T~ zTqB`NOW=mZ`=~&TJ>gb0X;9Qd!#_jLtTe0=dESz1M!1rZ_Yz7~n+pP(kWmblITS8h zlG$~DLd0w7(#+2g9psL%NW;CLWQmvT3FloH5kK4|bJU5QT#K+tbYSFuAaaBdF4w`! zZAV0Q+RC-ZCpxR`Ag~Y$a0tS{x9^drsa6Xy_(0aJwErU6xWEyypf87`~qr`w~KHJHSDCYyy#zYrv z%r2P8v@HOB=qDswJ-{gEGW8H`3vOZMqFUFm@k6pFjDiq&UDD5w+d4chLCb6cYvnw zvnZEyfU(yg714Ab9aVS|AX8#<09z;^1+z~bvquOg87hB=2N=;N+<4gvJQ=6usa`F| zrJ}*bK?d|-QC-SsQJ7j6;@J6CGx^vSs%f+b^PqrQWQD2O5KRa37edn>h+L zFgr2_n+dX`ug&LZ7%9-!#{pSogb}HSu>?%_`W4bRMpD+oxuzTi)Xz1LQ&`l#c+h>$XD5HL>y1q=l|><`;!&RqjH8;DPy^GjpV zzFS3#3W(8NN24+^L|~3Kn;)@c@~9g`K`z{CGJuOQH6;(hI$?3x;s6D-zM}t0bhK0o z3|qaTD44e5O$s+_<`QNdw(JbYHo<=+1F{{7NHxI{{LxxWFdI7LLhA%Tn;M6_wZotb z)LEmK+L8c%Jy@qn&L4S5n1_cLE9W?-&ghLEwexZf6T4GbS^(@C9f_P5Awa zWQ&-X`Pp1%#`6#Y%~^9iSfU0$4=@wBg#WwD>bD1bi!cYBCL$`LU=Qn932 znN1p}OUghH2;OUjje=9dpqX$uOn9Y&h64t8e2?Oa0Vt-^tO2CRFtptT5zbFTYS3F) zV$r4E$4`qvZMyOYm`*eVg>PmZXjjLt!h~9+7L_a`_H8kaP+{C+E-V=05MG1=wtgf* z2&Y;$A-D=)2rH2)nzw`22=Sp3kOGtgn0pReTMZisN*2>8wY~<5%2=2ZdnnN*LGo_Q z?kw1^G-hY)1)2a!8iemfyzQ+p5~L}p*90X22~0_J3JrJf`?*m=ar6^H&~h&W0zv3> z|q>-Z*21%G-g5j7jvkR1Q0*(bS zK{=rZhiK|K2PW2-^3S5vW5GvmKvalFK9ag>mw|9~v@81XI^&okX9!T1d}xC*FHFQM z%kW-+zg7mu25oZ7^Y$hPOM~Jo%t8t%MKzEqoT#l25@Bk*4waU4J&VpX%^H!GLySaZM|i5(;tMl?&f~TuVV)ctZp_ zJs8xVhX1Hd19&Jd)>ssRw8MC=D?B0^@}MbbY&FW;WuUdfB?am%C>Rio0gOu;z9;9? z8(eByw{*j%)_U+OW2G2%YtuXg2zu)Ak+oq23C-fiYEcNysGs;nf?p`x(W0+PngU2{ z2!dd-WI5VwCK70Z|CbiZVWxs8AZA(G?joDWSZMr2uq?=Q<1h?~I1j=^3esC>3O$%` z4W?zCwz3aq94L%6b?IEMs-?DiQ40URlGLS}5V0~(coP9AXJX0!iKj9!C=Q|Cm@jjv zD;E2<^EU=EFbH)NJew%?*u)M2xwwPbmZ*TUAxu4X!PBS3fHLsz1%R>S8xvYro2cz8 z0K(Y;f8VSyFZ@Uw>hHX+3ojq~L3_NtX6GPqLIiNWj2r?=IZ0ciN(L{R00J~c(ynS6 zk6RMr?U99ZdUz;WK-N|fp98>I7=-ch+WL2APu>!ytHu-H5--G1G;ITw|(k8zR;4od#g@isjXKqdlu=#c;x1A}nHKoVdF z6Jjh+|CH`HqTgNpGbFIRE9bpvr|F3YR4TgK&Ap;{)+-9@k@ho*i(m#bFv-ABV6lCu zkAUueugNz|{atO1!~k2oRJp4woMswjwv`D7gzm32c|x2>|tQgyoF?FByJp74T5U zj}a4VNxT{A6FaCM^QI$A~2G4MNW^@)ze z#_GPtP?Y!%uh!lAgkf0t21Fr3xNs?U27J_Xbuxnkv;c8^tpVT9mNkq3ugiGj^MijEO6^X5E$E?*u3ytCt_VH?2kaNW2 z9oqrs0PuF8q+zSO0FohVjuv?PQo{Xi1dV_XWhe(VKX|ATcSU71T$0e}Z;CQJY6ZPw zHrIh_Zozmjm@Q%wf~4c~dO>FO4ksLkNzfzz#kQSnmYG8(m_w+A#$kGlTA9;Ad1D+y zuu(*cgWxv5s?W^M$R$8(C!59$I0fjda*ZBxP}@GMID=ZDBxYM47o-OmbLewJ!Gq%# z-6~-}0~@z05blV$+(r;&$~$O@IpGY{rcG`4CJgj!>BvWLJw1mTiO9%rotY2%msV5K z|6ct(PE5_Qrua7ygJBDXK{@o&=_C_>KwS#Mho@58V^S##1lNu5Y7p^WIW!UPC6Rw% z_xUz5NgWE>;Rey5Gz`C3jB9y34>gHd6;p(dDy?wcX;c-81>|&v41>!^BxWS+qJiI~ zCL>q3V2uGyUNerrO0J1v6>%tp z1lpzZ&Dpim)F<<_Qb{d<2c;+gX!bl8*!MgqJtVdh*a-#Rk+E(X%s@rG(fm0h2t=lR zGhpu7SqYRYP+xahTp%l4f($Li8#@=lh`5~?J7_lGk4NYcoPj(D?k~*3aY~^)BC&n*3ElkR(f~YET6cn^gWV95ag1%Y7D}L<Jlo z%<~HJxJ(5RWVy*{Z2~gNI80x^qpqbcI&@y(rKA@P0%@mUUGT}Ap;P{uPjK}Ufdzs` zJLmNASk(GFIntHrlyP&~oB+WO&%F!^(j2TQ3>2M{pomz3v~l@T%fT0@;QF%-01!7#VgpFedc`!85_{5-l>F=;4Fjv6oNFtO}HSqLYOF^mj^t{ zHk~3_k@yLaBpz>;axY!`6}fF~N!Kp`uo|!zz{LPTU2|zdIl`Gg^c63~d3$_eMM9B| z9$Q-xdA3XmxWHMe)P_F<*e5nVV4VEw!0{Gqn1bAfE%OP_7j$yK}%v~0^Aleur<^`D) zYuHM(ME=B5P9~KjMJ*Iu844~840&12Ez^vKhTsF)l1m}Pp%7kMCc$9!$a0is-5gCx z_E_mrC!J+HL@A3}@}nrv7?BSk=_jzS11X#$Pbm2mUlz1X%M2V2qdagmI%*D`0*<0c z$|8)Ti#CcH5e*|!1i3=uts(jmB*r0j83!&IiA7v25)%gLm85G2uR2l6^I|WG_Hb$8 zH*GNlnUu>TU}(yZ=22L!KSXsC?OW}Yh@sZbBg7`0AvtF1f>(E6a{F~D-IkTZASrhe z9R6jAH>?hWa!>_*-$|jPGyn8rc*Zx)fE4gA5^%DBo&b=*t3xWUWP<6mOvMQ8mq&2i zmT7YFJ)|)5GuU!b*nm}9E13zr+aoVv#!lkeK9)hGN=Qdz28lqkkWt0)MUR2_@fhSO z1zIXF69S|QR7}F8Jr4LrkrA2Wl#G#)o<7hxWL8V3MF?V>HMRKO(3-TyR8>tT01xD_ zmYwp;l-7_@86l5MFw_smf*Jg;jkt*sW7wEMJ06b)+6Wrfpatp-5W^E;0sKZ}1K_A- zJrW%~GdD&PTqg1||7tL^(%$v|X;B;FGv0tBor3WggXU|U2qpUx9eHP#Fgr^w8N z1W%*wm!H-LR>~dcjF^!e|A6%$vS+gu$%mqs=6jdz=Dk}w=&>>)Ld3F-A8mQJXRW&7 zV3de6WYC2=>F59~6woH7jj$|&kG0RCMY3!@{*W~7R|ID?eE=g~wFd(@Dc1#(1>kkA zoPSXCjv#T&9em3?(?}Us@-%eEUaVhwksVc#AEOa8;u7$^wInzIxjP+ zHN(o#phFW7U=yJn12l+p$eDWh@{8J1Xzd!5ix7@ zl%l>$MrM{pC-EWMDoQ~KB4z}+0urCcH|1xSMT(Qi9~Gvtp-DZPXM>k4}O*yjSPz(w#V?E^+ zSE7B!-m#y?+E#EGMaJJTo);xIiKXzk37A#3gaip>N=I5tjs_h+>D7(cDATI$ft-3s zNjy!WuCh!H-SXpa^^yYv5%i*g2<8OrY{r^l>AxZi6v1L&cF{60L&f!}0$Ur4nsMVD z{l88~$&rjMNWu{q1^{)+HZp`#M9rb$ZV#ZKb}(k6hlKJ+frjxKb4Rp#b4EFcmzE)8 z1(qREz*rNT&7^Tt0tBZfrQ}W{DU*@Sh~m5v+`4*GP~~NVqX3U^@s8GPxPZ*BJ0!3i zOaqGZ&~7bGNB9o7)L3|qfwmjWR$B^y83ShJk1ekE4i;@<3|s)wlFGn_itz;^AY@{5 zU=s)tI#mjhEF$ydCKT#}v|E z)Ie>C43s1h=OE)!N>mZCA>J8DgDJQ?ybG&45;{+nL|fN z``WO^1}sh|qaOXLt2P?gEXe>a0|nlEf-B7*2(huU0n}BqZ+ir7{8gX^#V&Gz&IMv< z31_(RAV(SmLP7v^vRMkqjv_fC%DaGba~cDXiDm7&y(<7yPV5D+amEr5mZ>Vn1Ug$1 z*V7apiUlpqINAl({iEtm>;)Qviw%`(OP-Z>B@wUyZigPBGwfO21jH1Z8E;MjsfbF6 z!-^A1Kg+p+_mr*JK65`lgTmE70Jc!t9Qh@v`AZYW&X!`+F_CKsR z#mK;VOH2WP=0^=D_;9$E7XDBJ;Jb8p>fHNB*^v7{rrBVkPE;`nps~2Xk!O6w;|n3e zxe%qu?HEb%6acjz3Q1}P&?p8wXUHtE3Gj^QG|7PbQHnJJI|!)ApAZZ9`j6R1jo>ti zCz+DM1sjY5lV46$Iq zs-1X5Ux)(CHUMbJ4uC-LC^?6*r+gofW|Kz%Hk|65ci}dy^Su! z-GWpSs9LcpYO=?`j-(2FIDr18)%nzj_=&*~*dAm_rKkAQwDN8_FCYTgn?(l4K*V5J z96+oU5ozbfPhiFTP&O2&(@b^JEIxV$*HVLSve3F7s2f8ZZ`H7(W{hG?D$=?c2hsNH z<(@3YHL4%z5RQqIrXP-ph!YjcZiIA5MMSC)_-LPI5uMB+s=65m%ZF9PfiEx?z+_-6 zlWpjTL)mCip}14C%B}250wIiu0=(vc8wQXf7zkn!00An^XO2XO4ZS00^&H2ZjdYpi zsee5}s?t!Gq}zmq$$2)8?*``c_ZuG*Z?jvQjx}Kke68elx7;%z+_aGw3{1|pUPhCK zYZjE1d59G0!5+5=)T6A6YfUPkoER{XB>d=Vp*h^ushj;E;P}&cWcsThwPDpQXoBXb0bBWG!~5{T&$hR zGT4u`q{*dS`VwtWlHEE@nbKLnoJMfrb(?FqQq!kA7d<8Qhw%6-$i}_l zJg}KxTyk1k?n&T+BXEH;W#5KwP63 zG<3%(V0&_XQm?6_YzT;uoxZ0+9Pej-Imyu*R^YIb>MWuISUGPM8yF#ipsw}ekTHTb z?}%kEj9|$7XMyk?S`HvI$FQzWs05EcA|yX47>V+TV+9|3|1XsB#(x+r4S1Z(rIUGt zA{z>_>-sFkoXhbgkQDPYc4Dy|a590H%*~_2Xv}~RH;9%nNUF^Vl(j&JnkTZ}A1W<r9TJn5 zxU#-KMMaxL?156bri;j#lt|@Zg%NVMznd}MK^kP?yPZ`3Er(~54WqQMFc#wHg~FT? z0%?eJLMTa~qbg59Y7LUZK;7FQtAQ*P`#^kP#}65d$q}W|0Dw&sJA7psMFMB6D6~{5 zz{@pG>Xz~xz}nIX{2+~tZ)-vXyfY4lYISgqk@!Pe70$@;6$zvL(Y4)8vtss*ew+{0 zFjJ+*0ynsl6*Z?dkRc|jNy#Rp)PzWxpBJQH5g{1X9!$l8^_5Brg#)WESYUP#HI5Ce znf8hXg=8K}J!|Z1ArxtrJ75{0#s+Jp7iD}pFf-pm%>W{AxWJ0@@4VOur6RFg;5niL z)SQbBATM~rLnRn^_W>$j9UVUm0W>4wG-VB#_)M>ZpB4rXD#3waRFzE+0>vFGfa7t2 zCtW2um=)>jS4BsmQ|S#nOkv?FAVLuGA|fxX{@S4zD)^QN(4_Yg>LM!Gp*BUJ_eBh^qC^k;z@k%0S>RZzpg;$@L>44@y+q`Xu2;@(& z;1&|mty8Ti(K^GkD+*bGd`49ArJ%~&X2bDM5+29*PE0?@L9zXqqO=I#tLw1HfyQ!A zgPt@$!-T}gAAFlTwSAi>(QrawC3ZmP1LrR1clI~cU$~JM;gf9WNZ+&mEBsM7$WmbK z!D;yjpO?qI-ckI7b&Lff93-KRC_9&E`-KD|^;0>2%5i`gU7VT~5ZVRyP@_42r{q0< ze^)2xo;|!+VaVEybR4rI?taHT)$6NA3ax^p~ zzJIBjp|Z1heY!j9H@D6nJk0ZuL4f!ih%*F;F8#p#YS_S12*kv*dSsAO+z!cFC2gWTW!n9VD3e6&4;RX%$R3<+G_YU)0TJ!(MH~<3xb?sxHw<0(wC<%huHv{Kb#9zI{(B`pE7O6!wZ+yeVJqGiy1xj-U;JVHqXlvN-Yzj zR=a8AAD(XSr#cH2p3D77_l%!5adhUh&v5J!!q`6j-Unu^dZ^_Np`tbjk>Z?w|HSD{ zHjRH3akF^6rWE z-vg(7PwIMH|C#s*`Pt&^>nZHR5AZBgiUwvy1YT7C4MZAh(q zYP}p*FKljTN%%eCFNc2_(I{d~L~dkUWT(iRB8S(0BI@DDPEkvuK8X&GZW-N|zgHWZ zsyAw#>D#P&tr~T$fsHp=TSOyjtln;-Znmh016y=>WT)tGV^d^Y0MzW;bX_weZ@L(P z_gSSyPpv+B^PRU1iF!ByTF(|XS8sv#=ra7}h(^)j7QJgC*68RN0= zA{uGV#n|+jh&B2Q=gW*u`fAK>&AZqQVRIuI#eEq5W&FI*?GcUYG>Z-V?(zan^ITkx21Kn z%?$tYvWNA%th+2J*?NV|O&uHlr9N|c-&XmpzieI9=EJs~BIDY=m_9ZA=XN6Urs%%y zcC|aF-`QcL#nHZ<4qj2O^VOYqMRw}!(Hu|zIb&wVvW%aj!&`sZd6%&%>f!KvqQf=1 zw2tK6=|9KV!oQ5}%bR`McKu!-pRDuSeSdW;sw9PU^ro+9p6mCgj*SivK-Zf7v%adI z2;GjBu?3#~yXD35zxY_UC?N4ml~E6CnfoZwQuo0&#OfoupIBR$VO?(PGO5d=E-!Xj z-eq@}qAovot<|+{*G^prb-lUkqg`L1AC3|cqORyB>WJ>5h3F~jiDjam%n&VPSIX{S z8h8>sBkHN<}%~ci?-`!e}b$8Ob08q*9L*@n$X2SfrS1#cW7A`YaQ+eBNlo#+DR`kP0^K=ZV?8e9VggQ4ISFpRg4Fi(k*W{DUBp5(cC zU_N*XJPj6r_o-t!_yBweJ_0MiO6phzJ^`!28n7OG20jNHz!zX6@Aw*Q0-HfL@7e;k zQunvivyE~)$`nKYj-nfY&^2z#BsWcw^W>Ef5YOK@>pV zMjSn%4yXs}gNC3HXabVV5~CSt4qAX--ZG;v7yt%>MP|0BML(}Ai$q=eb`gF1Bz?Px zK7E2dT}aO>B9d5ye$}DReS?kIhHY3U3(N!9g)guRr7G6UQmxFrD&5?PjaWt<+pr5o zYMuFm`V4F`zgL@0w=s_vEHItehGOFrvl#m}%KU+|6`UKdz=tir%n=aAQ zJR+8vM`S8?Bn@PkF4>ji?%+m_r%^r$o&i}Le+BlM$5eA#-vZpgKGsoX*~&1ZP?8Q#2`H}B@nxx6`-H}B?cxx6ixx8?G-T>Qc?b2B{rQQTur6?4pc zu%B0nkIhfSSLVA&Y6F}qmoJ%f{HPOClb0Fjd&4_SgpP^XQ{76G@7v(%{Yq=e1Q&pfdtp017Dy6 zUl?o5jp#u+@-N5kYwu7S9lTP+LUo}SkG9M+5AoC?o?6FKhj{9cbyqZZMRM0^?uz2B zQtm3|uJ5ZfuRh%Q7u@m4SIskie|H?N6vL5|aHNbr5eGL);lKeXI)F~^gPJ_3(Yjr% zJ{7gqdJzc)d439fZ}I7NDY1Ast<)`!GWXD)IK0*=+H??)drG$+nXN%)Imm1oGW!OZ zWz(u$`2zOyMOyHZxm~_2YSY3}f! zS3&3ZaN~RUR{{Sj;GdfqeiXFL0V!7o2gy85f*! ziIo7E!W9=>alsWATyen_7hG|{6&GA_!4(%=alsWATyen_7hG|{6&GA_!4(%=alsWA z9C5)B7aVcH5f>bB!4Vf6alsK69C5)B7aVcH5f>bB!4Vf6alsK69C5)B7aVcH5f>bB z!4Vf6alsK69C5)B7aVcH5f>bB!4Vf6alsK69C5)B7aVbkFux9+LWee>F{jWr5876a z9-T(p&Re=FD#3vWxlMC_5h4|z`{BWTN*&PBg-(eGUJI~V=VC7KAkc~(S#k!A(aYz0wf1yN=N5nhG7#XL*YRzcKOq5Bt+ zR|Sz)1rb&S5mp6JR0WYy1(8t&kx>OvLj_So1yMrMh4=XREbdH~P^YYcviY6pjxHL08&g!S^%Lf)}C{ z=m@R=3&AVkRqz^k9lQbHqxcSd4|2dBa10cH6W}C#js~$H9@GW>z;$3McnHh^Z=f^S zM!6gO2=8M6d{-^O<)Afa3)+EO!3aQm6m3zoLwyB)1Al-@U?M9C3=jfBK^TYtwE=B1 zG>zS%)Cr|dD0M=q6H1*>>V#4!lsci*38hXbbwa5VN}W*Zgix5b-)H92y6)_?zB6iy+ z=bL+p-}VuU7RqeSZRdDDad15%$NrRKh#AI#@$63rk8%ES@GSeQ0Pkb8QN&22h*3rn zBa9+O7e$OLiWpTCsh_|Ra10QcF@h)}2HZysxQ`fcA2HxQk%ny@5*b7*A_t<0fyIkYZ^*5%N; z99ow{>vCva4z0_fbvd*yht}oLx*S@UgMAx-eH(y%8-RTqfIokOh*;6z&(POh!XXBl z`S`1R{8c{wDqq}4Slp@n!j99rvy0 z{?EYYU<3F9Y~;DG!6vX7Wb^zMu#0DY0J}jh*bDN&L2wx4gQMU$CZfO<%|zLBxe1{{E3nF5xi6$Bkd#d1a+L` zz7on(a0h;jQ!V)_HjAJiK)t-a3z1BA-|ypI9Ov&z(m+kPkR_m_MpigG}(hDd(d1Dn(Ib$^U>UVG}nXXdeB@C zn(IMxJ!q&K4RxcTZZy=5hUTN8`DmyI4JC^Oa=~7Z2M&V6ARinB$3Y<|0#3B09%ya4 z(Ly&`=tc|OXrUV|bfbm&XrTu!bQ1v_MiV_~p&KpqpoRHpo{QcYjppU!mrtQ_9yHE_ z#^s}NZZxhKO>?7VZZyn;26@n+d^E^|ws_DM51QgZJMz(td^95;&G4WZ9yG&)CV0>U z51NpV^gT%5gY-Q}+=I09k#;`P&PT!?Bp{96r0YSt9;E9* zf*vI3L4qEn=RtaIq~}I@Zlvc%dTylWMtW|fmyh)FkzPL1%O{dKOeAxdNaiq+%wZy# z!$dNNjlsyX8Y4Q_6Oo7>># zHaNEpPHlrz+u+nTC@qK5awsi_(sC#*hthH=Er-%=P`V9Dw?XMPC|w4n%b;`_lrDqP zWl*{dN|%X#j2t2vkw&7!#prM`I$Vqn7o)?)=xs52Ta4ZoqqoKAZ87>;jD8lQpT+2B zG5T4Ieioyj#pq`-`dN&A7NeiV=w~tdS&V)bqo2j-U@^K^jNTPn`nHVnU2qbVgL90g z1(3i7E(2{qdoUb~1Wy6R@aRu5`csU~6r(f6=u9y>Q;g0Oqcg?mOffoBjLsCJGsWmk zF*;L>&J?3F#pp~iI#X=)5|KtbPV>TzrZ*DoH+Mv<3KVJwwOnFcO3wjIm);PLIN z+^@&DZ&LD3<~}17oJ2nV)tDEHeF}?xN_ojy3ZQ@u*g^1kIErIECQcF&Ml;YHv;aMj zV^7c<^a1357$ZkAMvgS*k(*%jNnT_#nT|6Cqhe!?o}C~!lu7nu9a)CjVl)}1v2d^_ z=nbv}AK)*Yl;_D%3;?%-`v5Z$>J#q21AU3Gw%|F2L7ef;GnAq)r_qy3%@dTOC#C2~ zDSA?ho|K{=|5M(dsH7DAC`CU?(T~&U#%XdG5$MKg`rK*sLg$jsq8Fv;gfCyeTw5M& z|3}#Nm7MqG>`Re- zDY7p`_NByr&PumX+V!px^b+>C^vF^3v+aOjN%)YoU_Iy zi@DASj{Ndo`4!lNE^nvhd)eQ|{(klkpyT<(l}2$O&a`;=&)H&dCV-q-t*d z3o4ze1tlXYM%yPC-)M^6m-0Qz_qk`4#Wgo`5&yEXI_t6KUz>L@V*kz>2PHAW(_*`#C;9W;UNl`~>%xfKqS@xWF0U1|D#h zvD(j+zk=Vu1>l9l1_%eVkBEIQ65D~ab`YKKMN%Fj^u0*x9VGPwk@{XD^}R^!9Y(0D zkk%?js2(Ks4w5>Fr1T8XF{I^DGsvYq#J!JzM>#*6@>$NmNcl3r*C4r5NbM97JE=b8 z+zPM~5c?vz-OM7LQlC@L*X9x=w_AO~J|kr$xC-g5LUOB++A1WLjl{B%ST+*NMq=4W zEE|bsi+hn+CKAg;VoQ+NHY9cyiLF3ldyv>3B(}%uFUvT$&fJ64_8_%ANNo>N+k@1W zAhjh(Z3R+Wfz*~DwM?Y80;#P)YG;w!3Z%9NsqH~(OOV(SB<4b5XOY$tq~$_dXZ?L< z3)0$S^_vpPQg8~mz!~5M9&nZ{zV1&yv;Qmj4O{?Ta}QG6gVgpQwLM5}4^rEP)V3kD zJxER4D>stcgXESVxojl22g&V0a!Zih3M97z$!VLW``MDJe&&;&wsUTzw+HF%vHIL> z%4fM>_q!L_e;JT%M1n3P=(76Uhn!mhRsv?@uv)tRFB9oyBE3wcmnp78YMYQ$0g@^}QU%ytZQ0yNssPL8#-gWX7{0ITLkLYt7#CM2_ozVjW@D4_2YAc+DbQGg^0 zkVFBJC_oYgNa7gQO-rHxNfaQ70whs@Bnps30g@;{5(P-20L$mb@}0rzxv_X|EZ%9P zQh+oHkj5sYaSUk`AdLc~v581sOJI|_8$b3C=NAQ(gp9)jhNimYl@LY9z#uJY{>fMILg>Lr%H$m~!Nlhn(_|Qyy~4Lr!_fDGxd2A*Vd# zlt+&#rpFW`n>>GyDMvrew@38tnGD_H*$V5`%~GU#+w}f7M+;2zGZPpo`=GrglZ(l);p0g7xN6D%<)Afa z3)+DjIDaeU2r!EMG3fg^FoAs?b4;StamN(OsgyIQ^Fg5Fk6E01jQz*K)ASj5N~XC) z!Ar{yF6a8E)U}=!8=rH}SDgQvV`i(>Hym#P@LJ`7J>W;M59|jAz#;GxI0BA=0&oKS zMm>LkN?(nnQ{ZW^01zLd-_huIH2NJ4wE^p-<6tMc z8f{sq$&}MLo=*7ycoaOz@q7^l2Xs8_L^q>+){2o*HrMr9x9yz!9_;1%KF;rF-xrxV z8)e@{yG5Q*fu13Qx9UnVYe-Y)kKE-fMTOAz_I~6Mt{1)dVda13> zN%RuS!}%HDLF&*E)-29F#{T2rS;rdc^Y$-an8m_N~<4cL8HpB7NaCtQxUJZwr!ri6lmkVw#MXy|N z(urPu3-@y1+1QYDXD8vu3HVV;KRYQ;6B~zt{z&!)MpdK07-o9Lf$^N1!0~j-8Q?+gdzO-M zJpHVcepX69J4ydK2@i_sUnkWT@*_=|B}xV+3Pt#JpDyoo{7Sh5ZT3AR6i)djHEj&#Ni!N$m z5iQiME24F$nTPMfU&ht&vVs0>D2S$N0 z*q3o&0=a;u%xETq6u@k@=uBkeCbDr8*|>>pJVZ4*vUC&GxMc*01jN5YEN-F^H?)-z zk$8wm+(aa9A`&+diJOSTO+?}*BGKdGG9nTW5s90K#7#t^$H#6W61OryIG|ot8^mJy z^hyMxR^oR(@^YhJZXyvkk%*gE-9x0|A<}RYX}HyFu!!RqDPIO3f)!vT_=NMDD7QmP zGx}p-hW|XV^LgUt^Tf^PiI30I|MU$1dE(;pwDufv?s-~xjyU!_Ejmved!9JYPJkjJfD+15a0GV{z~~9_?=kr0;QLD%K+hkdf{{# z94>>qWzcj6?v}ybGA!#Etm+xKTLyQ_u%>6=a2eb!gS%x|&ogki3=WsU;WB7H19!_r zINUvtwbPu`)St(4oX2vU$8wyhW+B@%oxy*QXXYZ=C%{vjTL5U2@@4bOkod*f z{4!=+%2XCu$Mc_ojqGos9{9y-X%8!}Yel0p`BsG&OuE%PKvY#Jy9@Lr@q6g(qt0$?M#^oO2G!fL>^Q*u=Rl z-2Wfsiv_5bA@UPRo3>%Pv>%E$0`+4#F`{9QKwE}IpF zXIY7Mf!tOsG^bPh5VMKpN!Ibk<sQGKYy||6GBGww|M{)$;^_xq%|00w?-%n%KoR zN1$~__foy$E_kj$&x`8}xi1=ckn1`Ms5xJNJ`vYkJZGSNRUW=74_}psugb$$<>9OH z@Kt&EsyuvE9=s zE~os2GMEdssqGGG(%I)jRW<2aCXtuY-gg$|auEEKZuJ3LeSlUUpw$Ox^#NLafL0%% z)dy(x0a|^4Z!DryMi#zSfA3(g2s7ppjVu7&BP{9@bt%GvToMP3qiyGJBm-wCt z_vy1Itutq>duStP%B&XtXRD%H=;kdxYCIh6pgkVl9%x>~>I7yat-Aaxv(ZhzKjca@ zbCoeh78YzBHb&Q?siGEUI0Ln4>V3}!{HT;4TXU3=tT#{PTV!dXrMOI7E?SE=qOC}0 zbkm+FuA}HAt{`^qBD%5)qC4a8o_s&Fx9Behh->h;H;AF)W-*Mlv?EzdJDORmag5RD zF+P8avH1eAP&_LZiGPac$ZNeI7K<0fOX6kmig;DLCSDhBh_}T%VhKKdnRs6;7axcZ z#YbX=SS3CYtHm0zUVJ7#7aPPE%#?q_O!-#vEhGHxjPQ4g@5J{aN9++lihW|g$P)*| zL2-z0{r)8K#Sw8-6pPd1jBtx`Q6YX2zljUND_K-4?Xs2(m(emt#>zMuFYCzqvY~7w zQ)QaGOtzA3WV&oGJIX6$hU_Z4$?md;>?QliYvdq#qr6$(A}7l``8JmLVhW~k{jhFxmjk*Z{!xaRemeC z$?bB7+$nd-@8u6NNA8xn@<++co!l?;Xv>7RnQ{NS>5VSu9UU zVrqF-R!HV4<rovRXic)bZUe!}6s<}#4EmWFnuX?H8s*k!- z^;ZMbHEOWBPTinxR3p?VHAan9DO`RXaPKrK|y zszvG*^{RSPy{+C+OVm=eOueh#Qy-`g)k?KWeWJFiZ`C%nLw%>dS2=38+M{ySk7}>l zr~ak(t2}i;9aM+ZVfB;BS4R}zqf*CJfhtrdRFOKVoQjnms#Kj)e0xfrQDw@lJgQus zRTb)-I7D9thoxmmNbq4nTqKpeZA80K(5#J}4J?6KqgV^9Zc^7T_-#@xt7KK$*aa_uG zfBYZw{i?mufjzHR{~AHyV-}mt3YZrZe@TAvz-ea~jJ?5u+ z-&}9*WxayHL)Un(S%l{f`k0qlcUwQR;5%*ZH;-v~`(>_wxxo7PuK|}RhO1wEIB*>$Gju3$K7|C-$2trupK>!Wffc;Gh=b|7Z=&Fs*l-# z@ue`Qn2e_VTBwip`!s^|%{=4RoT_JQ?%?bH@wpo>2Gd`-?@ zbi=AY{ z^_9Pr0Wqk4^N5R{v<~(As{8S!?)a;7nvy?L^H+BV&SM3}nYXY_GVeCO=6goC9lik{ zO0OJ`rF@Y(qfLI{#M@av;cde4kLF$c&DO`&A9DD@+zD0(&iVS!MONAJ0QfLwkLmwk z)5A;YC%%urWc`dVztVlf`;fk1cJ*KP7Z!*9ES133DjOL5l=(>TQO$jGec<@wenHzM zF>x3E`hJ}xaN}Q>`nOSR@Xv1D5(+PC@r}`NO3l>>|AUd7t&L^D4q_vMKXKS-?SJZ8 zC+k&Rs>iP?Bv|&lzW-bU%7&tWNUXZ&|8$4Yt!mT1p=0-Ny6wL9YZ?NZep@a7MsML0 z7qn?FTGzi>7p*^bw}iHR=6Oc;zegeog4}wLqBO zK`u3+&*`TF@YNGSn*-2y2)^-G4eLbJA9@Orkq`PkmxA^vG0>}JpI8M>27NRif zzx&a@pJRsxEiIp9v{p8Pw|3rU^={}_)*U{sYQ2oK?!|iX3H3i$t$$kE^r!lamYRSw z{Nj?n@TZTy68LCM;y0MAL)|X@+aN@>mK2(BtXr&GsN1buprsbZUmp#Eeq*D3*dDG1 zB&wg+&>tVKnzC1yK2h`IYoYE_TFa`hCUGXo-*&C3f|Z)ppCqpNJ^{)b`_JgMUiyy7+87bT{?$M$_kOq1Mk}XsUxhx^HNm@aa+YbJh1$ODeRg*1*+3Z9ZNG z`kcP1`+Zh5h7 zxcE4rJ%Rpwsj_C{eDntTam{PKBcBX(fA&G!slWfxzD0kkOA-vi&Nl}FXR5F1{@0*J zAM`zYslQrJb*uHqS61tOfSN>fEZkbvtaUfwS$xkJ6gF$qW%Wnfe>>3UG&i*u({k6o z>_310Uf-zpL%~$ktUcg+e6)l^hu(;#`7kK2+5%K)TB<*qhQOxJM)@~QOEmV#s6s8C z3r00JbbU1ue4pO`PoHXuT>8#{*V8=LpIWrJ8a3-rL>j>eSP%VNIMiJV+Je-EUM>5W zD(EMCt=GL!^TKyVSoQlnXRuCMmoNFJ+E(g#M}K^0^k1!QKD`Xw3aiqrnbdL zO@EZN=kriLzoqZhAAQajarvaI+a35saV7ZJXIBI7YG}n@KAN=U3$#T)9cTe#KC3d{ zGdiBrcj~J(eYC#G$1B}hn`P5|(Na9}^Yt2EzlpZ4hG4@3k_|}O*M5Chz((t5HMJoY zm4SBacLldq9|t~KLn63a!>5rxdFp2`rIot=KYtRcd{XswAD;qk4b*D0Je5z6G+!E7 z$8k{i=TD&4Sj+SJYVzHw_XGXT_gr<~3OwaI?|aJE4|L!3NnZP_0IF;B-CO;9z@qtT z3dG*QT+uD_>3m34B&YjHplyG*yx2DU`PkQn>i!(uw*&jZwnv|{RrTX)9~tnKQU1QH z`?C+h+TwfL#eW;%Pqa7^G?MK$g+~4(oC3nC5|H15iFMs~NufZ=5 z=q$d~Gqi8*$DCB~Z=E)$m-6AaPPJu{mgUenflHsYj~_pEhG;SM&dK9N+o|_FI8AhV zVA_P~qT2%xv}-T=@V5iK$Y6lYsTx$T0Cpa zWB%ePW-t~Q&ln4hcdS{AkBybgWV~U`WvmIzX4qo&d`69D{?-#VVVH*3s5CAZe;B_R zzZ$<7KO5(bb4G=6)+o0r!(+IOGUJS`p5Zc18>fuVjL-RP*f0La=f1YZu+?Gvh85oZfv(nn>4nueap6$Z428sY}ss^ z+4L{ker;@I`-<&Lw%^&_L{IACkM(#tm6_LYW?l#J3u4!bvCP#z$qZ{x=2+hlS22^i z3_JZEv!}zwN@h&QiH$;kJ8BE|a|YJ4P&_71iW25uPctL>8grt*^TY*dh~>5dh;rKQVd4VHi`Ti`tiT$)ZcvOf7FiuU#tE? ztI#PO3-m&#`lCk;Ej{XF=}|XJj|N$Kbc3Zw!z?|TWa-h}mLAQt^k|`_N6%S$^qQqd zZ&`ZuzNJSWTY9wC(xby@Oq``b*gk{bo#tC#T8jp;*HDCC%35(n`n6t%Vpt zq4&{CB6izIc}`pBkT*j*Vji3NO5;Z{sb+wETqtvhNE*d6Nk9y|_uk3WQroPob$jK0 zg5ld$t0W*8~i7JD6@s0SxBZ}W$Vvae?h-OZCAwA|@Y{gz9&-PSEd=uHEca!-|ertMN)1yfd zNp+K&BsEKFk<>1!V^X)I9!dR@#wE>2dMs&q(nm?3B!?u&C)Z1EmfSXZY%|p?x>;Pa zhRvEZYt`)PX16t)n7S+V!p~d(uz5|h67QwQVM$^cEm|hm(xTs0eSeF#GlO2i5IfMK zd9>&`<9%#d9s%}(CZb8NCUcuCvsxsQVv-V)l9E!B(vvzQbq#9K`?P3PP>V)cEs70l z(H;I4u{_tjV4CL7%>8X;CULp>nmOFO!OSoldH?Xf;eEk7*L$~joOi5ug!g9em6ZjR z$19Ij9<9u;JXGnZTwAoY=;@+?MQu(TJ~8OTWhYWkG(VAYBKbsv6ZKETpNKmVQCMDh zq;OxMqi{{(s=}d#0}A^Ub}ejMs0zjv3@x~+U~s|J1w9Iq3c?EPN8USfU*xJ<_t<6_ z5BsDEm;T@R*p<#`>xNmH7Su3bq@YjuMyNrTF52}y>6^m{%wFj4y;sjy_~t0;GCD{g z+Gs%UOGKCXS#WZHNvv0B#y0|*2aOUg7p?wcJy6Dsco>q-rE_3+sh$#Y>H-S~D~jZ*?2L+ITw@`Bn`rVwKPvtP5Jsx}XnO6Z9c| zZ6&LMR$1$U9Ad4=6j@>&>x0&_Lg)+D2z`y6+9Wm`SBVG2M7}+Am(gE5f*re0Of^P{ zhs52+o#GksmN7}pFzzz$7E{E-#&~0bal2e%Ocv9`Z27eKSbQa(;5(7`8WZJJ#uQp} zkC?-+fK0$bJ|$k4b!9!Hi_z6u4Z^w*@ue|UY?0lK8;o0xYmMvpRsHEkKk=y1%jj!d z!y2f6vJ&b!RzUeyK0R-(dJ?RD(rcdH7U$$JIa=H=hszOiq?jeg$WiiE-g!CeoL*#g z)YGh-ngZ2(q4Z(S*Y(~e>e{-Ax>%^Xwtq6el`JCc^{t!+mmQ+@U`N=H;h9oCH)4Y{ z=R4*#&I~igjcwzQt&@`a-`US0Z)@XFtsV06%mD5qs5TnHx75q?U(52({Ds#a&l6CNA{56j_iJk$sM;%(AEz7FhOcTRfI~w$F)=Yi>l!2IGRu5p4hA4wasmsbYJLunue-*djQv=VnQ} zijC{)km>E(%ar(zG9{yNS+oIG7v_;Qlw(-?zRg>Va zGn_iZ^?@zMp&a3@h96AKAK|E#OSPdX8C2~1JAdlb)V7(@K5c4?Hd!H|znzhdz3$(B zCUoQ-UGbmWXm=v^Xm^%9+-UV#Z~G1QadzXrtjFwfOqR)?b!+XL z?P`p}9+Mej=r$xDOguNjA#<}H3+I-#`cLn0d0*Bz{y4&8Q19xy!ebm!xsKW~j+k6W zRE#4o*AW)uXqxM&n@fF;M!Al9xegiQXprkrF^)t{SBjAm54$XMG&;tE&=dX7*5f zy#x-T2;x#QxZKfRuVaVK>P*y-d%pajapF%Oro7$!l^2?n)fs&2uzRDTZ+P&FWsRB? ztZDjo(JxM?r0H{*{1q}qiIZLr|QG3F24J^q-S;WRojgo6yHmB>`*USM#+?B zE&RmyhEtj|WP|?lT1c8q_$Bd+XXZTKAiB|p1&=+^@PnxIUY&>4j*d$2(dE`i*(>qO z1^$b3p5$Wt9^HoOi#@qmd2Xul=-sy07ksdG&UFjkUo*SkEhBqh*MHdP-WPJ7{$TCw z>z{dl?d*QTMqGJ)zhR?${d%?S{;RPJoy^m=W$-Qu?dpQBuna>D{b~Z=nrJJb?MFin z8fqq{hc$seS*cC5&Se?tsk(?sP1i-N?^>OP*0n_6E%g&)x#nmRlbKwtKUvLV6ZKhi zvUBxWi-B5gELK@s1V=MEM#<2GvZ{|;Wc|d>fJ3SZQ_|L-O?ok< zZx^G5eK@lWVZvdgJ8EkciW3=4G0H}$ic1JhYoX#_zEVE2(O&P_UppIJCr#^Pe`il` zHAKFt>J3-(CwqH&SJv^q<-KA0Tscgo$%VAbeAC-Sb+zAGqh86hf4b}(7oQQQ(lQe2 z#TlyemEO5u+v`8`M~2a5>g2xmxARE#d8bx7N65z}vq1RPI&!?+F!gbHb7ih~HuS!u zZZKA2pQDKRsvU{$XSJ*BM1;1CyZ~#Mnh+8n8o|2gx4grC$yj-_Opfy&oV|2X-owTZ zBR+mm-s*ktfmOr3Ki?^vdP^r!{{-=(EuHLC1Z&0}Vd)N`Em)?#T0tC!WsF0r-WF{0 zcyDrOGB!CmBRRgK+Al}8_I@y|WSIB;)^hBPB}Vd5?+r5ZsC-4s&V1KfEL$-K4I%z< z*wVA6+vNQY>rFnfrBV^DP~|=Qcv@jo?@oE;R!ioiSl@gP-+?w5lOnTBQQbP-fQ)1{ z&|4=>x>VS=*8M$s*>F+H{eB%0^dzCXRgjJ(Yp;754!6{5+pFf2#!}0F$HQm%5ahty zwNFTq9dG=~xZ%s$_BPy(-<(5V?&Y_G-F=d=+;PAHTINu{5|nrtJIXn~ahcS5F!DQp$~KgQkpI++4Ny z{^%`b?R$c}PPUZ|ynDQ-Qa8QpSnItz``xu!x}8$CV-WHrbcOJZ0E?&)co7n4WffyW zVjQ-Bgforc1}1CarmEZAZf|a~>R?;-!EMyb$V1p#Lw`d?23EbX)Ej$oy_pTGt8%E^ zEF)HE6BJ7r5Og6H#~FBeR)WyBt6lrcSj-==G@&VJo#9VCZG>b(va#yI%tRG2=dRi@ zLx$b^Y`hcxHTh}NjwW^A`^fvAQo}z|A#;{rKk@O!v+dtWb?S>J@;~&h^yP;KA-7c8 z-CEp#iFP-Jh{i}QGqt*TSt`}CrYim4wVMbfvvtrz39YRduW^i{S%5TzjpN3c`h*Nk z&HXgtzU?;L7ngmK@7$u5l&{wgdw1e}v9ULfzj=O?Qzghc+1dM=#>~I#t{Y>Ud5?bo z`H2)&5;J!EZO_Kl89JS>&EL><=3P^#-#^N}CjaoZ@vGBYue&ez$iYn^6KBl2_wjqR zJ}7*)uysWr!bJ?DJxg*mJWwD`&5|}N!jb8js+uevz1EVx=rs`SL}}}zqcE)~Slxu= z__R=C_D5+S^(pI9`AvdhJAc76q}HWc>6wkH8<-W+sFprUG#MY@I|rHds&8@BBJ2uW zYu7%}vS3=%;zI58#TLC)Kn6O5SieX8*sSvB+gsh!bIa<~=H7FMS071Hh4G_D-1cO*+npqZZby zduzzH7iMe_Y4 zi?Rrai3m^@&?ZMjOlEj>qwzAdo9r|L6nrlh+&0r&baHe{cgtI4n}W)2O^wyIGv1%P z>E8F>d{Yim4c%L@<|E+a0Qi_d&Lf?fP3wJid0*YY`z%$~{Wm!7X_H)6t3;a`Y|Jte z+i*53x{VbS)s10fsFlJBP-z^NCeSN&z(as!^;UmiY4J4P*N?4z+kpBn+%;i*LMw04 z?(CmhHvC}Lup#v>lc8JI?({CKH~O}buhy+UYU1!$X4V;e$m)$J+@|k9lFIw zd5v*eK!<{zV^(OL+M4pvnv~l@Es|?rq(`Y8I`_7sXqBOjZCr%qnp&h~G?DT8Qh-|d z<$a$v3F*9W@W!uOq{_=S{;SDT@4vh*?<#MB_i)q38yeP^2e0n>_WD&DpLuz?HG9{aj$*TQi)kU^l!y(* z(|=;z7>If7$k-mOI|yFcG7iX?2|KcsKN3@zJeS539~n2slH0}Q#rQa64PJSUTeYtC z7sHsnF^P2==vXH>%3(~d%^iXdt(y=MDtjwD&5-yQS=zp`Ph?c2F|55x=PO5tE98ux z1AEFDXX)2-?B@^Dj0xZ}iFBUTtHCoJ~I~-+pe^*z2FUdGf^3!|ho+ z4u82|*KHj}4fEci!!qc&-P_$hI^+eu)p(V-Q#e|sJKFn#vp`qZ@oD>*%qBtO#As_w z@P`>VI#%_Dx2jjvsQWyICHMtj$KcTAY18ZrhLEZhH4+Pq=U_II?GA;#i5 ztr8|Jk$)WY?!4u?8*iw{WRJbuq?}8%O`sta`L1$}4*VktW z6q;6_ZP&h|O!mc&K8qf~p%sLs`hu}mEEh?U-~FqoMcoCHW{hmm##?k^@fcb6E=<_q zY2NeaM=!2ZZ{j0|Lma!d-uZfJuC`0T7rDP3C3eQws`beU&&nsSmf`1)*;?CC8&5%TH^XO{QWrqac)BMSPO zmPIMD2xC>2e@t^pNoWSw@a8d@5f}4YFqjs}@dhlmT!&`yYv*N~PHnn-Kl1(_zW?;= zIW5|>Sg|U^;eEyX%MtHk?+)9UKlT@FJoZf){M2nZPg^3GiKy1afR+a0is0BZ3mwzy?e8{vES+rp zT>05Q+%)L*w8~pY(4c9RFX{GNWwmEMdUgRlOA-@(?YZQrGdRtd)wDsl=1bG`EMYXY zI27ZE4p@CXK8>s9k50KYsXlDiJ~c?~$g>Hc(PlkU7rZofaY}cux4A6ecJov6CX}z8Y#@77es7=s+{snm-5U>dPLa*^+8E>= zvdEJ6+)K#229W`SV5vnw6S7!bt!WEG0%2MLVe-Cp&xbA5#%fR4Fe^jp5;&9JZgXfm{gi$$H&85xP(rL!hW+M=% zSjID;qk(4X3KGOX8+jMC`lZ4$B^d|LL7gbKU8oeH)P(_1=Dr^mi#(^2)Um3*1n|WuSG;qE715F zZXl8?k=hN|mE{KPHF{W9gw*{G6=n!X%doZyVKP}Ym^IrYQ#`Zg^8NNUs*)e*^}5xJ zN`zebwz?yv^0La-KDis&v?+vAP&i2?1oTFvAPN?Y6?WwgZ2SKP7f_@|IK?1s+U{~zb80&eJ{e3k8J zH}CrwoZd56bm}T^`uVhM+UZQ{TW`(V+PqWR3$HBPovN-U{@=)NFc{Jx_;rO7wJ`U9oTp;>K>#RwGh#KiY9exK{GjtM_)XtyolIr*R z$#Tg(FiADoo1fO&o9Faa%FCxOt(P!zmN!qetUQQA+J5Nt)|c;|`A_)vjM*rp4t$Fz zp#>(9o(dG$tl9p}LRikh6vz)dNa$%Q~U{SKK?^WbWwIUwqZ!uFn6Kg|D6- zlJ~49CidU3(eKMo!pDY;mHipIOY+gu`8X(w(;Ym~$JE3cOw9`Ci*uM(cv~~^;ODJ1 zRMvThgwT{0K5w5^#p{nB#t6vY_aAOqf6;>zudZJ|DztIP&rL(46B2HjXbSU@R}&IO zJ?i~gjjmiC;yAwZk)`b}%lyY9{bnX5BtL)EgAdK#`oQ!DXZq~dz1YpSkwqG753F|A z$Xo?-cUeYbD|1D2g9MTlm0+DkEPB$e8_!UJ9*dqoL|{)t9xtmtf%MhY_c`PaiN{pTOs+s?sG4+d;f*EUo&zozw;$@ zjpO}cHD<8`bk%r&V8p=$GE!(t4j7YbbX5Io+0&#`n3Y$Y_{A${-zLY|uK0Zjb!xl+ z17D7+&3-g1RxG`!;fHI)4puTT@a6!q)-zT!wB5(tGYLWh(XN}2fTKwxrR*j;0G1KZS5j|SAouXr!K(!@JU_L1{La)0~y>(ISceMRPzO0SPF@Brjv zEL91F70etm&@C$Ytt7^LmBq(K7t1Tx5t6GHMuciTg^u_XBb}^O_g(U%kLG=M z6;T<#ymO%PGWpKsvX$1yf0|bsS~K;xe=R}+lT^VhYS%slCadBLAGRz2Lk`_RfiVdU56V-@@HMwI@i=;(Mn`YW{YY|N;pNDS9|Cd zBzwF2XSwyw`Fwmeq6ck&<*{(?J|12`;yk1F@Bjh=KDxiGp*Ps*lw}@>k zYRbW4a6k?g>jPv|O;2f^t%?T!D>=kB)XP+uzGnfC7K!pNWAP^vLnmjP-E`e!mp|zC z?%Zwf{?F^ztZnN_8uUPqJ6nybH>&TQ&nBy8`Zv+~_E1;^genTQPnJk0m~zNPaIUt)op>aIP&b!b+`T zt%K&)Fdoe;aU^tzi1Y(y(BnARI3JMWViGJw0c-oOln3)(%V-4x2>LHi?(JuXRLd@ z`Rff+4}YB0FRf>6n}%17j%m2F`ObC5Q|snz`aCjhqs=~Q=$v&I9@XttqM3KF?Rxm% z7~A(qkmU`u%W8h$z#44V_76q_OMrBXTL$%DyU|h$3i}n5K+KAXZ>Y~UtZ6S38ftrq ztMO@BhCg?p=XI>)+@&<`&Wv-Lhdyz3S9II*z9qM0 zvn&eC2owE@%4bgM~+rbQ?ER8XOB)7N@)!8;hP9*B)fVZr=M`xeO|ss zFR$t%F|2v~EZd%IKW;b1tm|VR5?K6LD`@tR43ecfvYGp!`wDj}x2>BD<68^l-xIup z)or{h8ZHp6#`)e=!!TO0AQ}+d`##H#%Z)o8r(YR2Bu)C}xF5Saa|-LoX{P(4NMhACmiSA6q87lzlpe^n0B0 zj+K&W=0n~zd;JUZ4E4{KC*3+QE;g+4D)rCjrgraip@hZdR^Mud>;&{y^{pE8)-Z$r zhkc8dZ@cn?(J#Gl`2zQX23OtI{r)y@yAS?kti0itANN-dS06qxu1}W>_SC zXqV1Ab-9Ej0=c)$pi#N*=QS2d#ak27_;tNj>Y_ECceIqv5C6Ekg>jkp$WK4+PID(- z|KPNj8W;_(pMk+rX@AJp-kt9MkGl7ckE-h0hG(BP=@~MabVw#48A1{Q1QKcpz4sET zG-*-<6i`5_Qk7x@v498`Y{`HP6_94Zf*lpbf+&gv6%iqG@?C46*=NoHyzl4v-uIvP zr%W=FJ^Spk_Nv!f+Y`_~VZRTF%f zFD_`|f1+%8Vho}%jwbOY=e3kAxu)pMt9_T&pHRi}J_~EHs`v9xH9niwb7rdvxntvp zb)K}kHv6$!FKrPBs9#QM)mDG9y5j3jrFv|mCQqyf>jy4LgonAgMF&9&T z!K(kybw^X00KtAO2|_wcpC$Ek-`78_8e1~IV^C*lJ~nrJ;^4B0cLt?K=dznF<*;*& z;UE8L%f7M}l2ll9XdBLNUC4@b%qJGe`Vf;5r_?qZVW*NfwAgz7a8%9YYOW932ZV#M z?g@#~r_)-F%DNvk8`JcT9`S|I@^Gb9aUf1(ILI0CKI}=8Uk{O=~qvT(FQCtfVDz1t7CcIJ* zG$!2}-u0&E9`hvp<@X;*lTJl;>)mZkczFApU)k(Qs($VDchaO2QP=nDGl}Ii@0ymo zaq(TR9$KSyysl5P7VT2%KXCho%CA;x*A41w%pdqh=_|EuNXO#73$gwjbR*uF9&;#8 z4l}M~M{89;eYb?+aKbCxM=RpVa^>iKLsJC4kBl#l?w3Y1-C1|%oY>s_q-F_`Ipd1w z%*~v$q3(vJYFquEU4b24nm9FoE%%n~(x6?8>US78vfki3CJ(fc35P$3G28qtoI4U{ zhj+jdX8{C`;4_ddL8CC_{wk8C$D-S8zV3m03m2bVoZfs;*LnG1f-8IV`Tmr&JTPbD z#I~*EsLO|qwOk3_oPlxK{a<1zwn3T}u<8FI_frx3MAA}OsC zu;Beqz^C&E-oy$|FPD*`f6igW8ykPKEdn2gu?VLB3p#&A^fkO-^4A)x|D&F8pj6Wz zJJ8}sCzPURS#KttxqMjqkOdkjEdnr#zlG1?IOguc*rIK|IWZirIfysrIks9-{z#RS zJOIex5~Np!zw&@gBD^OE)%j$2rMyxt?I#we&-g|E{TA(aIHfk71X$*M#-;{N2fjwF zXMGh)BcqTEt9b?bcsq>AgIxcsbpwv15@X`40#507hsDz{+&uaMgTbPQf`-!>{FGMR zs|`lP-ba*U0@DJM+U#7G+OBq4R9;lc^=ZxSXDag#Vbb@PGp9cq?Rn zOi=kRj4e`(&Bk|3xnsd(`c;Yhu)$d@C(IuiW&oP96S?Ee$317=B`Mlh{ceVIyQC-i zWKW$p)%}~LkJN*k==^lnH_DM(Gx%squ`Y&Y%5`t3TW~wNumJO6;wDu(Ejc_c%G>cL zJGplq^pZjJ(f~+T;KkZ7iv9x;la9rq6b)eNc%Xp2^4zSnj9Tr6Y6*j;)XGTPvqwuD zG1i?CH+g8+7Osqhf&u!*l5o?8-=?Xg4<$)qYW~qun7h|HXyUr=`)O2Zt|5V zuO=T_&~tIy{Lb~8jEvlx^v0r|%Sv-Q=QSQ1C7pfv{dS!iF6Y(`C_{I{Be zywxej+2b~#?YNO%Ws&1#g$>?B9z{b7=ofE1pvyEv2Qa)vMvhbt zc_`u_HbXg7w24v}Tt;6=?r%2~9BjDhjtn*P&o>GV7A{Y%bULADuTHZPeQb>4*Vw_)^bUDf|Cg^T-_-KHshcxg@t*S1aZilt z_585@_qBR_+B4obx2I3D(N6|C*W3QcI(Tt&wmrOF|9Nc7R_#icty|NhV$|eUd#qWv zvPns4v-{RR*z1Kc<9Bvlv0j>Y=mJw;Ja}HOHqPWI$l12wH;InL#@;5vBuo^0%Z09Z zW17UScpP0vR3fIjYhnCac%A*R{lix&s(e197pb^lu9yaRhcr{3av z1F2*035F&@}rCcZI&8@ddN_P=#WQj{%-UB?>2m= z{~@PV|0usDT_7JvK(DJji8D|H#4Y??lvM;{Itz=HMSUfPXQ8i(L|0{N3vtMat?AP% z^y8RXv~vDNSzNpT=h?*amD)`j(O0rum3fv=>ov;5r=0%@2zT8Orr$`QH1XVag*v+d z^MSN@pcnK8(o(v`Pwroo>CVx=`{pgZrcgeWvS{Y`4KCO9+diqta!(#mloel>)&2Uz z50kB|?H=oSK%&{>@!ACO;F$c39+p%x~Q!sH}<1#1E3pyHo=nonpDL}7ZQsA&&2jGdPJ?=niVch{VA82$Y(ZY0UUTwGeevcd zxOyWI;jm7Pn(A%zU-iHBSEK>jLmNMTX3ox|kKU_}?zejSEpzS|F!B!lto|r&22pXl z$O!#@y_$7q+w>m#+xpA;Q1$}&AMU=9$AO+HcJ+X9^0{Y-h*`@|rnS%t{TWb#E4?8U zG2*qfIR0pjw}>v>byM`xXq^91(Kz}Ps18Pvc=*p3MoB)Pj?!lVi4^DriL(bz6e8~UpY&NPf zWg~MQ_;wY+(U7WzDexR3FQC?yO%65*yqqaVxtKH;TcSMO(|ATO7ch>hD?`*emV$nt z2K`2YD>nv0=SE|HxS}j5n5)o4!Lg((ky?=I;lYd4LVt2BNg;Up{6(pJpNa}AlS0et z&rB-fe|J^n0X1G&k?N{!8TvC+9Se=REwsz0B2dSq8Ct+G0(QKVXfy%E?ubT9IgRdq z3UvHqh>n-AaZT@C!NOPE6Ccr~b(8GKaHp(E8`N-TSXARqw=OEZE)TuqCYqR=g9#=wtUvam#%UYLohswg3OO2C1;k*TTu?X;Tu0ayz z)xf}H>1j3Y5iB=&Py+5wVK@u4-qt8Gtu>Z6Jh;NxOMbi|smY=@%zK_e!V(gmpEzQ+ zCuzs{QMW!E)udrw@2JQ|4e|#lFVEWe=#*LaJT#?Qht5q~bfTJX5^gYZ$ht~(b7Luw z0V5+>BE%~pku9bWd4OU)tMIVEPXVEd*GQp2Vz`i`2KB*p zk9kW6Sj!CkaGQ_Y=&xk3PNg5Wt-k1!!{k+O>a*DDH`$^~7Y-85Zw~w0T2XD-Tr-`2jw` z>$#m9)J3_w+@@=bH{1mxJc6b}hn8A6Xvu?PK{EKGVmT-!PN9=TN7vY6Cwk^jtVcj)ynCxqXxVb%vg0dGHU+*)pcAwH$N#aF+&!scCwt`X!ASwPG9! zVR<45zd_IE7PvUc!ru>l#DJuD-Q*F5+Uo`QW@5J^@8ssOjN>5xuca^+_U`eEm-?Vv z^!uvRk9{h)gT%uQA@AFCRAJ~4jBNWa4S$jPo#X5FiQbVly#6DroL?xG$M;l@ohG`Eojn2Rm`bR))?YkL`%HjMQh#op2sf5C`w(sHkP|5}pY~=b$zMIiVCNo`(FN zGJgGuJee753zd;;jl|atNJ0*R#`HgY&RNo)^nr7SOm%s>4sE|M{*;uZ|MBAPz1b)Pk^8ORXjo>LzFE4+0WTRo_?BUbMZ##tZu-KUymqXDx85KSzpV!>(!{V{5yPf3M`qJA8qs+L3V<-Ax)_{o`0o z?_(rI9nvQr(u>&yX_6G6atWaE<$7DnDZ)DVa0r~JH?@f>vl+QDoF;OEG?5yj2{G#s zO$6H$O&IOxpl+>66J~ppCW7sWCU|=`$nipmCd~HOGlS-W?P-sV{wJdvrMbt}_MtuI zxf4_Q914s%;LdB4u7xRGsR}x!_VUe~u8sC{9GgOOFxzXk_FXw$^Y&~|&7Gk+2<@;^ zGv`44&*OAz^gp>~ZDlb_?pwEk>3Yacqt0-9PG>lAy;^9P(I*khn2I3JqE zW{7idwy$ljztO(fY(GazV$-i`U+0SUBSd@fp)fY>s`eS?ei{AWVzwWS8z2{7)js`- z_QXex@lQrcn3;m7nBzzPC_BaZ5Ojt%j?a`FWf^qO0{CDfp$EWsLYv2U7y_mQyf^sW z$wLxQeepY`K)RU>>_sATJ7xIg#+|D8o{hap-}vM6-|JgoXtrhT@7Ld8ZSL1!*Z1Df zTImO&YZTW!s?Ju=!rz;XJe{=$HQ6!^gzw+4$>fR0Q+E|RJ2_!chVu{nNCT$N;r@+3 z>Tf~zW7qg0yaYA8u9T5NYp8Tws>_5SzHKTvxherQ4nP+W}$VpJ<8MtiD-%z~|sy~7je)AIPVc^J2YjU7sm?y;StZun@^ z?d$SDopSGl7QM#D)H+`~ZcD7IU5g&eQ~}|l{!lA2Merg4aIP#c=>zRi%i)CCeh%w`b05^{%=Qhe z?d88TE!bXTgPJ8?-I_Qx&I0vapb>4;STr_#bp5N^7Fyc+)FYy;V{*$>!4b_-G<2S? z$R{c_`j)@ZdWvzQ0_ImhR|R!B^BYaULt6%UsO(6s`BiHH97O?QZf$W7FyC#_mcQW& z0;dDSkhrfb-)Hq8cw#xmUgIA)ErY&!3zyb%I0e0)Ca#Y zif35CuNKfa6F69<`AyF@>iEs-M;@u2sULqe#$DR8$DF9|koqs}9l9>B)6*kgd!ZmL zusmVpqJhi%Rg*h(|T^1eFM!sjz3M76k))LA*!}@o-{>2SXZtXm3%&@XJ z?f!~3ty-7rf1S8%?SqZ-wionxrE9}IV>@*0F8#EArdDVAJle+*dRxNcV;?&Q^~xfy zS8|-N`W-&+O0?tXaBHfd9f23Fz;+T5YOdW~(uA{yv+B+uKG)ArI z;Q25|5{8k7bjY@t>vQUF@GUn$?N~ss`B3;YaVB=frltdj?T-$YY$^16qN#XGS#p#o z&6DqG<>}!W?wR75@43_SkmniCYo4eP{&WvD@z+V`@wIpl<$U`cbtuAU&2sa*qIn^~ z#CQTPB2r+DqCgHLfQWf*?~Ct0o!qwjg69InbE ztj>|&Sy=Oi%CLKyt(iL4?TtAY->Ko;se#m#!qzX}vFM2tj~l!;6LPO3=WqQC{&uU$ z-^?9J4AK$D9&#G(&uO#+YV?|X*=$|gq)}?0!1=P#ehzCD;>%|HI=1#Q=gZU{d^z9b z%c0hmv3U8ojkd!FUOnz~OWRaV&%CW;a-qqW&3-dLMTVv-qXzR1rKR#Bv`DJzQRvvo zn55*9_Y?Xl9H4h1GU3nHP=A#xsBqHyvncg_DI8kZXm~rbDK>?E z6SXR)&{O|iG0n9rrW_d>)I||OvS_LBaa~g}<#^GO(RmZ@+*no^&rzcd%d@Xvy|#Pv zq^fABrEH$3sTa^u_C`1h)AaSV@>75({lF@z+tYMQgas7{Y zO-RQy+7oZ0_Mp8UCTB8xPYBYJ(U$lUZ|j)c+vG}S&q<&sg5!}7iQ}U-QDF|XB2nb?+KEe=fu)V_U)A6B)~Ko(B}=;o;j}F$+Tpao&9W{1<)7F$ zfw!A9=crngQ8G}qp|zm3qqWc+latJ~Ggl%7Ye(rK)Smoxe`pub-tgDWggw+r?0d*x zM?1smq$B90p1KR|xxVI@Il$a?p(Rxo82iZk{@6KO^o=Uy6WKFY^&RrdP~YKNO0aJy zYGOX(xIwfxdxwT+jHTv~-j8Yn8U4GQY?utc6Xak=yRsDZ%hhq5q$p#b}Rq zqyyjz2-C(F^=~ROOgoD5!On303cZ8t3~?d;DpDW}4a3qu`2=|X@I##o`2<4!n`emU zn{j?j{o_mk?iZBSq27aM0{#Q**ip~j&lZW+X5S(I0q;9BcKDJG!rOIa?{&ml8ufsj zqs_6G!<3yV+ME4n*~WfRi$Hs0?Bz+O?q!ZWGdT9Pps~}=9%x&S))5ux55iX!9E->? zu1q%jMn0SRo|c5#YF((kJPj3>;)EwY8{z$IoK&KL|CfDQ7(2}~2Ye_Q^m3OWof0s+ z1i^=F;8&qyg;YQAA%AiVNBbch9Gi@giX#-ACIzXsg-a>U+Qg-hT4^yt{k3B1(x(ny z%p3@3*d83@j4B;GI1lJqFbxaR79Nx$4q_@6nSQFW`7e>;rx;m(jgMs>^HzB`R~Oh) z{*<>bml&yj9wYbfpB>w`S8odC{o&jao&3dlk>Qt}>G&|ji%h?4v`Mq1cgyMvpesZF zpIK;1EK~1>-of=~-Z$q(yl?QL)DSN+`wsCU^evy%Qbpfv@U4>t#hQH!{om-DY*?f3 zA#4saTbq4HoAgb6e-^Sua5g_h4gTPHFnj0P73V8$!RJt0%IKf?8E!@*J~vKZMtPFP z82RU)qh`18x6^qu##8P%5;||@cxqY41HKz+^aDOro||^nXvAFaz?xS(iN_&D8)tct z<8+9}nSRL-pWwNKoW~(PPCTxS$>W43R>?U!#%=UH!|Z!7Alh$;k(hmFo8vb6CV4@9 zlf2j-k{9;g`Fa`s6aP2HK7>6T;-O~$AsdkQ&v~fP{}9GPJk;!;OFN@~J&I~w8T}*1 zIE{7J@5H=}ajp{Mlozx5s6rpyZ?m69=Da{p@O6{_F5g&V_-4%*7pD)3p@nGGi*pmt z+aoH#_oN){sV+1;RXkEo93|;EXPMwT?a}|I@Wr`d>rFLUah@%FaROTJj}POpllVfv zE0zO3T`>1Jyf4whXi(4)cvh(H00vsh!2&P`?=rb}feQs3nS6&l8r}}~k+!lZ{XB~bETa5B)ZkQ7 z!9P<)O@AKEpwK8yoGT21m4+(Ds2nu|B+c`w(DGyPvTI9fMXEH@KMKFwI4B%;7SE$! zQYkYEdLB&+95enX&@~l_G_5SI)>)G0pzQ@2rmTG5^s3a(^Y>-mmsyqhz4E4h!Jgr% zyt(6vCqOe4-&xG#9Y#E8c+Cr;cn7B$q5-E#Gi1xx)uKQ%1czMkZy&u&vLtFF>18CR}+}5sHkI#`8i_d!+pTEOD zr?r%x3B}@YHhP5kvpE*-alscD`CQl~jvcq=a0FC9fHG$7jS4|z@EW>z_OhMW^_bjNAM0?=-2oAljQ+SG>6gjr0_%pN8=iQvcvbh59B$|NMQBjO(w!3l<;a z$kx*+j~3(TZM1WIsXugOJ7Zmx^_Z(Y-&U*(XQ1K@UsdiT#Yq(CCx2uV$KYs@^aB_~ zYgRiyMS$p<`L>^p9(eZH*+E@#&1r_Lr?7hZQTB{JKxu&pbcKc+Am663gICJ?w2K&f zLmE47VOq`_i#0LrmoQVOFGBl?&XH&jpbc-ohCLwKbGir1s0_tr+v;gl?@jcNHB1Sv zO(d-$Uicc;`1Q0P?eTu)X*Hh*+YuC}f_pB+cu%SRP=C@fQsM8j_6 z?2~VrkO*99Abpc*JiCctZ4^GNlDklosFKI_c)5q3xL>+1^W{uH&-i(yqU1M$&qqSe^Re-D60DtX zG9MeSKExq+*Bl$r#e5_f4^PLUkz@tOaq6z@yVg|ATbjLeW0ibc_92Kb(VJiVe8f)V=zfg*jqZ0oRl*XG^p zJGv#kd1`TNllX=`Yu%IDc6jNue5BleC0F+7`^gu944TSe)j6b}^v$v{%^Fw#5R^*> z_JH(zoO00bOjh?A^jq7M8{}6`<367LL=TRcT}&U3Sb<938fU}kn{;;GH|(lu*U;HR zI0)|J<~|i=oyD6{_&Y|=Gw5b%3cWRpjWe}|s&0g4;sppF?m zV+5@0t3A@Nuf%tt6ECXy)wvD0#YFhQRvKJJcs=-Tb6Z@nL&0+RUxYqDrnLn)1Dg&<$lUI{vv({=E=l?2L+B;F}|RUr3_s@;HBCul3GE6Q(e zeeyDuv>pFX%M~5uu10ZSAFmgD`LXT5jnN8O=MJUsfv`m*iSuQUDD9s;Vi_)0=sdYF!1ZT){Pf0~X>~av$aaG`w zARpvyy|Uzj8O6M*h~*!jxVf;$o(XSM{G8D z+2q;2_q`45`gK#ZgWXidnL0n@hJu=zpmW|oh53}T7`iCn`+O}v z2>D)3yhwd>EvTNs&wMS)gY9ENYavLlvc5SMUTf1iLi7*6#NLo!BGkXxp89{C`z5G< z_$6@igVs{0_n^$XQEyFkJdM6Nu5nh)Ma-#_-kNGIV7<@>|2&(2PGfn&Iocdcx#QE2 zFV!4NzHKb$`8pb7DUUbT(Hu*Da4c^^S3u28JhK_C3-(+N?j==~tH6t~mxJ{AUGT(3B7xw#w(0-eKqLAMTH5TM5jrK6ur}UlLQ0T5) z=mqsr$bQ~8WPhw9SPxz3Nt|5>^S~b~akNh?svcT2Nrek`4H}~z*-DUG*xJUGif|i% z6&A^lzxHs|!>?w(+L~7p_32Yvzb403pOxcwuto$HJV%Kp|78-bx^#&Ux3#ZhfWH4NDM}7_ztg`w)pyIl13HHO?GGQ_HGcRBew6*|1pb4Fz1f#M)?TrpMl#VY;$wk zV_+gJ*k%(K<}u|ukE?MXff0inKFjnFm@&A-Af55PxqpE74V}Rf7cyzsZSR}=2aK5A z%!#IVfLkiWx%f!TaZ_B#7`H7hWcD4>kBxDYZ-DwHoxzV=3$8q^Ttnr2*H{9`UpQrK9 z-=+Gp+#lGIuh$^9D&#*DicDp^$$y>zANYggMur*f9T%Yy1=m*uAu2gqD57lnH z*O>{vR7&HAoZTJ5W{Z5B${-dI{v&u_6oto&uM4)XABq=qK1I|TqXgrO&>c}5Hq<|C z>nR~$oM}%*iuI)a<-bDxV{MLOHLs-CP#lB$-{R~k#t%Nck6kC)oBfA!6lnY|^)IXu zjURHip(a|J6jY0!Oh%p`d4N^`KAdmxJ+8Y7+u77z?Zy?sxVcdxF6xpC|HwJEBfV2j z>-e0c_G4XtC@)jpz*kglWdF+u(y^M6u$8XEbFzd-ndh2|=h!0ZnNSZi1?S~1TQZz7 zZN-oXENM+waByp{)=|pBw$~}oy25TEx2tvRsDLOvwQE!QkmwTkd`>XbZ}Rb}iWbYGecoBMu#~fZ~kEJJ#;i#=@4R zs3eylHi^d7Bhq=JBe>cc&5JTZepxCYkUeNY@j*avypnN83Zj0v#uT~6l$vF~S5Y}m z*yNMdO*txg>IJ!4p-xFrQK2T}_oE*7?}9dwwtt9iAtgB3}fUe-udgPxA?)TS5~t zATC$x<724=+SpA+UB-D{mTGTZ9OsPs57p4RcTB!(g8In*tTyXvu}`ip2$iU|>=Ca#sy+2=eDw!c z6o;B2Mc)W^1Gz(fXt}<6+Vn%0*L177Bsh?mk0I@O`$LcyDPirvud<2X%In$VY&%wf zPmJ>;E+-+6k&%m#3YW^@q8%YC``~J|AWm6c4?a3pe9y##w8Zxck5;sFRkS6EiSccv z+$wH&tu*+%bUI{rnR;!4X=`xIFOSDQ6>L8tgu4@Np2`k_zZBLbf<&^v}~0Q%fGI7z6V?k2(lBdIIFjfbXfz(WO&$0+)@OU z>8#TtwTY`Z4t}*CMTJiI(nj}FZY7>My5={;r~B|azQ~0pGPXU5i#DR^NGC`7N5ZRY zs~qCLX3<{ql33JpjE(Tin!`t>e7%O>4E2L#_(*(Sz&)iK-Z|PJtg-&?{{7GAr%5y1 z!)6SC(ck{vj4sQvWqqZZ*iPxAzk8})K>v!dsIS(p+EP@1b8+|Tk!z=F$o$3|& zqEwsr{FBEx7T=4{ABq1lPY8!6bKuqn&m^m z)%kaSB7twZPEziZCv*EP+_5uCRuoi3V31C{5=QXWS9y};+I{D; zwMmjcqCxBCUBlH1ZQ=b7%~e}=?cN-HlqjD|qg29qqILpZ%o?iufzBYPr6z&=fb#hX zF*v_1-A`(jqPwGFk7oz#S(Q*P=%Y{Ikw4N6+%HEf2^0;_pb@5h=rS|J{e z`)2#!#ZfnXY#x1-{`-q!yk=X7eNEj>CuJJZK6Q~j%ZRCl5sSW;4mZC z7ggto2!0xY?E?PQ#owZ`FiuE?o3@Y7IaDf(a(U%5#SsS)*4BDdRQUB$lF_RNAR$f$xlTwD+q>6mx(QiF~wltq^sBD6{me^}dREh`HKyQI z1rdz8Wq$LvARS$ykj=G93|Dct&``@Un1a#EYZCr-v^J$Czm6 z&1wyh&y@Ca)y8MUOzqgZM|A9@_GP_q)Kb$D3p6z)IiI5fhauZ$1`JC(@LQ^fUKPI-=}k-O#Q^d9h}(#*B8j1s3fbyd5ye z`pa+sb(hBU7iww(ZIsU(s`@u9vEkLQJn0#Fj&iDIg|-m97H8CnXV3<62QZQIF5(3s zabUH=`1M(w*!(e!_#p;DLuc7}Cmm9cqEeDsJ`G0LgCm9)CqS@TAZ z?9e3)HTeTgm6J6Wv9}7iP>El|19=e&<>-sCN;+;%2XAmN;xC-w;LQk@-l579#DAPb zTUj#Q@qk76>d05pKkThN&z@IKGF8f2Ay8lX!01?h}79qn=JsIksiKYtayY^E1lc7GMUY&JFkPnX!Qx;|5zt}jC$GHVH% z&C@iK z0byL@SdY)oY18p}zVUfYGH-uB4#9rjz99H{9p3&y=;JxOeNjB`rv~vg^aCHO`Z52! zb+G?u_~)opqgY9)<8GgK)MDSUz1$(n$Vd{-3+;c@U#Q4V`QX5 zXF7!b2urJxj)v!w?;7`9;(ZS7A%BlJICzHDjudLO@aNHfSW4l6lu)FEd6fqO_g0?+ zMGdD*e$b0lgHogX?nc^Aln*g=gDZQq#glP#G@?&bJjtdynu*_^yYw|1C+)aXqgy)n z%g7!Kj-Bvw8sXpYp6qMf?c&nNKVbZw$6GbRSAn9IVeM-n_9OFZ#6f?h@RRVN2~EXn z{rIIcZbIPFTWfKC*b?^qM1nVwo%b)-Xvu5zNj?BS>ixI7$ZkDw_P^XlMsp*q3t?k4 z!l2+iTu2-PqLC*6vhF>s#T4v-6L<+eHKBj=H|9Rleu$tyu?2nsHf|N7TU(?WEpX&- znSKA-MP)R*{0J?*SXa8w4$sC@ZR?CUG*&kW&wdQgHqLNxorQnK_IxW5`N7IaC?W&h ziY`M*ehoppmFh-C2)Eg z#ViflR`23#0={C-Tu`FvBcZ?W)gqe=NC!(HAC3hwNd1Ph)q!2rh%hU;L1H)8Lg8zJ zlZ$=$6Kk;x&x{s#3kbhiXjAYQ>*YUC4mf(o8P3r&DC}Yhhx@}Kjq<7CjMq;MXM8>6 zdOGqwR{5&S>PTt&kvj4tzQB4GBYhC~M?J7nYAdzbcpz|r)+Fe!$C@A(fcM-F$HzDBr-(vBUBH9f~PmM!}O8PDy& zMNrSk^6Oike@wjE7*dc`~qU~H9#Cm4$2Y1Y`MLjNI&XpGoSTNshU!v@B6vk*>>-J+<3~_ zDOp3NX)m3X>d5g2HcRP&@ANQ)?+@s{y`;;x&E4T z;)8GBpQK-^NxQZ8!I3Oy%LG=B^~4R)RTFmT-wr#7Z2(PzxBc&GUI;qobu#{&KbiKz zc+MF39olQaIJ31}hK^%7poyTp&Ucvn!-b}O-?8S5d|5+0gWY4acbu;|BifrD*$}=r zQy(o~;{Bs=3S{&+MA#6D1E zh`u2s(bQEW5spdu-JkipE@vR=uI9gkrQ_v&hpG3 zK4viP_5SNX`^621Rk6$*me*?NE%9+(%lqE#-dbm3r;(cy5_^ugFEX$7B8BxEz+HbD*i4Hxxd zcR2;ZB@g3_DhH9iML;=RDCkTqkvsk!_+~`ah-H6ci|WAX^OxR`eXN89nsjG9Ku6aT z{ef3{z;(u0o+K8N9|ul4F00z)mopij<##a-6>$~%eYY-MODwIzp8(A5UqtAcl>s+OY{>j%z-Y!(?Gx=quXm)FFab~C4lQyR- zNo_hrCdL5qp;o-HO27N4M-S-7S)-plAG3(sQrktv+p5QKl*hbhixl-eDAx@BNt}D7 zCp0bV{hneO^T1#8h`(A~{{AGRFl<|&hTvxzyuPTENIxi$V=ez)+e?LWX+z=J;8Qb- zQNoeO4+h?{k9B9_Q70degjW+9+dvCRoNT_%paCrfIif2f~E z5uHTV69+F@|3Lpmub#5+(dYfF{^UK6Ry@zwndDcz()?fi%|d=yEj^4dC>(;$Hn$Z2 za7;$M#QY?wae0$lrh6Y$npanKE{u$Cj;>({pQ%*8Cx#hcCoS zxZ!BH&ID%{l*&Uxc;lBG-0z0!8J4R&5sI*3^&|t;fzpjZt^)526&7-%yg)+Z5^#8Y z?vt~epX!&TqU7k(qDWtKRz~aEw=Jr*QOnPciFGyhG>V@wCBB`Ot+;P%U#_qh!y=!U zR6Vg(cU;c6PjgD@=H=|Qq0m8twJf%ilCnvT%Rlx{eW4G|#^O-!6e zeh-@E7MryvU?AuCXBqXeAR}OwAWTNYBM@IqG4IP!^d-L@49zT zzgjW9TEALPt#~tRa__-I);3$aY}&k)OBd~G^gx|nWkp55ynWxR^>Y^X?J*?_)(ZBU zV@ZL((g^1X9(4=O&D%Ibi2`%Pvnj<97Gj*QmI*OVu-hYWiomOcvaFUHi!p71;1Sda zQxEw)US-?7IX0@CrGMi;>tB#9UzBePJZ+Mv)T?@_eB0|V&1>imCj~qw7Ft;kW9I}` zjt|VnXgEK@&Q+#Zbqtx`nrFXD4`b9M!arhQTord-aW$r+sOGgkvvMX>9WG+Nx88mM z7h|@bKJ?y{W^w&GOx#e1{Zp-YZl233v z=s*j-iM166iBEw8yE*Y$9rv*GtmZq;mW5wo_@E+V$W&Q7(WsekFn=Gv0Kp+Wv|~^9 zx9)bsCT>b~))}>W$DJuD2No0W4=d~Q!_ER{BbKZ5`uf!|Hyynz>+Z)AYR_IW=aqtO zb$YgLP!L_0MShv}H-kS2I?8y^$xEOU7wT%ZHD)99Xg&e%lAr^F60#O=76K_YegJP& zDxHZeeyIjLJTQZB@t0Squ0dA1?yt5@6O;z}r=Pz2W<#YB%llf2uYM%6)12{}(v|d% zGbTTjCeQA8V7lj|ehN@h&qbCRIL1|t2Y0=(hUj_=&VEyj*YuRx)HTy*1Jl|&ME9X5mYjKbzN2R4L_P2T3P`{6 z_XTMT-;?X~OtmYsPKMp;Y|qOLfn2CyTy zufdp#xQ>xnl*-8X=Kh4|Km9$wP(P}l9)51bxq}VTCwD#FePT++z&kX5sk+*qk~)5g zhTNl_U;eD0NY)#%kFr>g?>7H-!yW(J^3Z$9@-5XX#dGaB7P|`!(fghxF2^u>|r4}qGl?o-e z?qow3hSXvm=iL^Yjso)M^hV{8xsXgTh3+N^lgG#9X!@Jy**{&QIuu9LgYasnbbDgb zV~lMJG|`*3?x0GCHI1oT?|6&pwdF{*xZMDS?GB5?ltE8Zu!mH?xi<31Y?hQ@69Ngy z_twUo1wXb1cFCKMWJ{`740jLTCtnd5gV;!_rU6z_;+CJP)KqpQaFuA8p;l@`@^%C$egYwo2b<1gQ*>xWWk1HDjLV%TZjv+uPyCPU299A*Ja zQj9s&a}2n~z6rP*pMaU>L3)J{vQ`DcAK{=Hg_r@#6q25XiNHZ(7M?bK2_BvZ3auJO zFlqbJkfFEL$<7&*9d5X8^QdGagHyp;ok_= zCE|QYL%uWbAN~+ltLB*SaF|aB)ra7F#M=Y8Nd6Nk`Wo$n_-gR`HSq7JL7%2tl|kuc z)22=4W?}ZI-N$h@wF_-N*aYKK=+l;xKgQ+Gbj6Ypm4qvgk`UZvhmtTW3ErY9^_zDj zr}EvpwX%PFXx%+o<6G!k&wu?#(el4nWKU&_5_%8QI@HQ&RM5lq;``4>|K%UB_sD0v z;JN$`<)#K#OWUQuke5G{3nwj98S6W=S9xEe*PZZ9YU+OYWZN6`%5?^z2ihEde0NE# z!8owE&gp&uZ>(Ww8WRwxKW_D#OoOYs>F`jD=(Ax=YC}({oETZVm0O>D!`U0wIDNIF zlI6I>M(M+DOzO(CROR66o5G{^NpgNpV0z%3dWRQOFR^f_g$E%pWZ_}WyQ zwFKn9!uLYQ$acWYyG;Q*vnI`?awQE2JJf2*N#)5R5z#qx(xAY5L(C9YAmGGhC1}no z4i{86%+zP-vL)~&)8$H90{y0SogL<^)$FJJddKh)<$jX`cj~}-xC7{J>K`l4>d`> z@8R#ie|k9>=ePU}Qf%!nUjGyN2=J;M0M#>V33Jha{ky6j^8cb{K7?1MB> z%hCpev)Svy03&a@T-YbnhoGH!rWN1b^y<`*bZ1_Z!iO1Q$$gDG7o~<$1i$| ze%%%{`try61^N%?)y&)PNlF~Ipm$Q*YT*#uJ^_s)p4B@#%{HijTNCC48@rcAslPq z!Jkwok|vtOCu*6Q-<8CH|4=Bb#htv#RD%xF<`=q)$R1oVLD#s~DNJf*nbcbU<<$53 zZ%s;?v$8YaIcn0R(=oGF&)b8VW}o=<{IHxwYv!#lWS?uNYS?%tqdZCmYpwtEgL?my zr~LT`e0xr>-^gVX&v5}C^ND%cVn+Yvj!)xePx7Z-eV^yQ-QjtqzlqdxP07lvEAH@= zM|dVZ^ws{HESCKCSAQ1BrxNGQ8?-tmVchedzm$`$pE~-5{zZ{=s`mEV%kO1FCe3Qm z{i{9xJyjoQH{Uh3%an;7dVK!I?ias2sjZ(e2K#(v?DGGQzaKgE$}K#0Ltq!F=1X7! z_uw3mCuM@cW4PiWsKNB*5cd(zNk0qcWp$9|4ExX$W+VTjW%(+Q0c`<}!UK*77N|n@ zlD?^AAs7i+0Ix1$BdLr&<}P1#`DB**;Wzd2^`j>P7pnCs*Y(klUTEOUS@=xp?b3HQ zu#_7gPfWaSu38cJRloGsmw)1TWatz0JNM(tpBB<%fqH>oHcz`5!2^lThVuaC7l$bK z5@UYcAQ1DjMW@V@PLmbl!0(9VQ98uyI2fai1EuzqNQuq^UD;$a)F{AjIUd9oESwor zM?nuvlM3?k*;5v-m^M2mb(?=~CQJSJL{6Um(T{-(ivlk$0xaO1^ynCtG96dJj-D%b zkfsFQzWBx`XQah}g;)Vik6%Aw8bBb-@eO1h@*u9T@5M}o3Q1dL4KWfMOQ2e8#Kw%` z9rnT=H0o>A?;x}3PrXUE(xsigK2bRQ?C|svE1IuvzZxv-ai8MBo~)0K`QZ#|;J@?e z4X)@w7n5J{n7h*p><41*oL@Z~;#VTxUFkCMr-(AD%Sj%vw}SHEwvap!XWSwWo`OCz zh-z!FkEuO!Zi_>;HMj)DnpCD3@hPlZOMRod0_zqje2HAA66+=yD3`ycSw$2g0La!z zcLl1wL|Cpe#NuJY;oszzCcExjwbZTpoc^^wrAt*8eF)O2t`!?)26VNX* z4V4!#wkTMku>0t-Hf}ABBvG1GJ(I#Y!v^@mDwe?A>|O=0NsNpxT{X_1vLW_xp9)+cU`loM^+bY+38Us=XV;xS{KYRIz6d>R!<3mzgEGj(!w8u~e1>Ea_{?Ma z1M0(=N6f#>L%4D(c=Uop8R2MxCT6{w-N_9el*_?nEhLOJHfrV+6@!f+=Z&lg@D}C0 zV_mA3bope!j6qMAJ}3{X_6IsP-7rjQ`>8%h-^9l24@kM)KpQF2fXi{xrjzN`X@(9+XD|t*YkhFt5F9BwBHr-0J)n$`ph)u#@U{jf$&?|Vl<8{UiAnU zw8H;m^;uz<9Hhs04}7tHNY(Uv>T~ZYZ1M~XJk<#6ktUSoGi!ZcDMWdEqYY#KJUsoL z`1tX+jd(2XM+uiDzWeEEU&7tf#tlo%*Y}-%U9TySfAY+jIcryZ%7i5kN5sjUZy7)C zmbt^Uy&oSxIC*#e+Ss5>WE4(Ao-G14U|hY08gMZgRc>v;(QH!>b4M{ zGWlAljuq#d9H(Vqm5vi%#Mom+#*J<4yl^0yGemHv%MRNjhqi@Wb{12I3PsRKGGsCx zCUrUHP^}Mx1pe-)mcHyo8`}Woa;XoOxa0M^_TvUgRwf~qZk(Hc!8hgezuRy{Mti~) zfk!M9-&aix5dMz#{Js=G*ZJRZ4mpmWV{kyboX_)f+1j98n{8*SpCRV&XZ+r0>-C%9 z9w;n(^>xqEU4RGdU}1rdgPvKR&?dqc-aNKV-+J|aXR2Ih5tH4Q`>noHk@iVaw@&Sq zhKNh8syV1$RL_7<)WL{xBT+;lPP#uXo?FUsg=8^AMesslQH3zhAZ=}qIk>DXQ7C{9 zAgXacBZ&~)7ebo?xI2Jy@L=OYK$KRZV$CfXae^S@ZWQwai)hkJU-5TzPE}5=AN0SP zG-J11bk(cUE7qN;TW|3rE+hlH)_h&px8NZ)N3Q_p=V$%xy?a@A2HZ1iby%PN=}QOq z%CXhIf4J+gfh)NR@6$?uG$=3I8S5@;RB}=?rJ|M27(XSbcLNmdwZtRxltFlGWL34) zy}GJ;>*6muRc9K)@vP2zG8wUjJ3t{QY6 zLmnjqO+@SGR;TJ;SKZWo``~ZBZ8-egaPNqfUHrYF7hLKiwe=+YaE2Yxn{J(y=#h3{ zETmTs<$R;5F&5j|6H?jg?IL#_T;k9VIEI*%0z)xiQvYhUq55n!yPGtFOEAWRGv}%S z9zxI4ALY-x_E{I6fPZ@)T)-7@1j8i|W#PVJ2*Jg-4x{?X#b0*1)Wd8!~CTFFAGc1}(wf-PG zX(}dANZupGMENc7o}rk~SY_HP?J&j~0qrAE)T$BumD4O=KQVLx)Z>2TJyh8uKmQ;)@JS#2PH zvYP`klW`GeXsLwb0QQn4U)3)h2W}rCMUCSkjX=CGr;)ydTak^p(PgPVYghHf&rM2N z=-Yogak{beQ^pOe=Dk}tO3(1I6Kc-&%NF?40<>wl|k zbue+?w_5;Tqcw&Oq!A8~>RnGXX2oNUf*@>4ogi#Z9YSlhMpOJT8N3EqOraIPLA>7L zA;C^?%(J^G$~C}3C<2C)n7lo)ReMf=o*%!J=w<2S(al-E3%|1TCckAr_~7ja>NfGM zyKmL|*-|e7eU<`15C>+IL8f)o*Xz2p=k&=J^^5yXpM06-TJss`iS8UG?8G2rt~Moy zvoWDH2v+V-h~N<81bggTisD`X=nyue0uep~i-RjH-C05SO-uG!je|WqwO^fF*6tX4 z6KciO%WT!>3pb=B-Z<++X=?M=?m7A^SZ%iS)`CT|H;_Jo{6=1XKgmH?Ecw$M^tm-2LthopM7|`Y?L0E$nfh|+Bd)1y z;+5pSv!<;}R6PAS4cq~2VL^QJcG`idbv<`4Q=7Is@az)LM*r@0 zo|TUi-y*z*2mW8;S{Y)-T-J(!k=QLO6Y?i9nyi6&u?RhXSge7vy(0F9WB~)A0KFR` zF%rrKXA3^uLeEw2#>d#hd)}+~no-g*yvPye%1S%>z|u{JF_6E>P^!aC#!F%NrggqVX6)#N&{Sg^#aNGFhQ z)(2FcJtl3EXIHO6C!paS`W|H#Ul-FR=3GehXmTN|?Fh^+oEuO-A}vCYgd!emvn6TA z@mQ{qU;qe#!IsSGJz;v|a_Mm8x_Mug1(uf`?<@7lySXcyv!d$2==a`Yi>p@zs#!aI zkEF5-PhA`&QH|1ZpkJy#tWo`C*pbK~(Z*uj2|$a7R3$NLQAmRSg|i&-myoRiP2OBC zQtQnu^mvI3NWUwd+mS9*l5(wep^}tkK`Bm(gcg{SF1tAi;VR5Y+;QfWFWgjqu6(Bc zvHl_3{|WOg96#{fzzHlD+o4bV0!1cw>OJY7)QO$f%h^-(Pt|J$cJsY%3C!OfVE*#N z-Q&5y!R3mX2s#q)t$n zb1hQytQ3a*pyET^F_8$*1p8siK+Izh)qP2q^rp2ItP-#IZB+Zp96C`6?&F!|bwMWfVW@SPa=MS@y? zB4=vYWtmpWE4`?)7g+wWs%5G^d+R)H`MG1PfHh&V6Fa_53JitEW*A0e&{{cui*y80 z!<>l3xVWGeZ-h_?Z8LeA!i=j?!wPrx4jUOJ&Dga!>;q){?OGVN7C)?uDUx*z`$S%N zu3TSLj(r@;W)D5bUO=(l7J6$Ij6Ge6F%xIPNjZo_XSQ)(b7+K5xkj!K_HPmPY-MHD zF?o=|{DJ!;e3;C6>Hxl9{2mA3u4+5_8P5|jdj4>+D^@C{O$p^o!)N6dCK36wEa3_x zY;9nM4d_zigir_zq3iQK7epVEJo>q3jvdZXeXREPm4`B(;6fk5Mt6)u%z8%n)wApN~T2#66|zrN(+3*MHg zqtA}c=;V9+&LXAg&z-(@sRPgUuhTYb+xkNJbXM^Mcb02yOji8Jm30CU-lmgW8Lo9P z>8_D?dZicy4D(~7*(p6G8Za*%HBzcvF_2nYBcoW(&z_y{Xe!czl~?ZBxEjaIIs3~h>`Mj6K{mc#My$-n=QTs zi~Vr5ufrTKd>x2zi7~Sm%n=_uCugDl`{f73sHN{|%p`lE%lv4LTOzqDW96^%b6h!4 z%h>*-pCdFj)1a}9Ys!@)GDpK>BJx4Vlnjx_X;Y6xT$p_4R^DtE9{$>iq%X~{sEx7} za&7W~S)IH7_{1Qh$W%~yjTU$$O+6O59H`bJwd=e%_6wA_^*r_F8wJkB`e&a%wbv(q zGXg$|Ehk4`M81j z2%_O_+Mg|xLl6O{2s8SRfSW}!`W=ZJ_2IBP!|c8socAJ%=>+E`m2llKWIR*Uhi!Yd z8S@*B7Apko8L zHMrd|0VU_y+1~s0V;5Q1eqG};95ws@j4tc@QJc4V&m`Ra^a^hTOl7Jg&C(MXxO>qLH4zBI#M zl}`mL=;ecaHnY-NwiK`e3ltakh0slw1R1fA7P-i?k5=TnD(Z1?nv+8YVuAzKH%TD(8bO=`B*5#uU2?d(~=Dp4x6yiY> zT8LsfD{+rJ2ZJ*5QOPGc@3`)NsE_*7_$@N?E7FjoWWA9}uFWm3_%t4FwX>K1q?M!&^gaOxF(+wiXq=ZuB{TENloH6f~OLn zNnM+|IraI}y{YPmT_;kjQo%;}#Y6nI+^cwq#n~+G90JooW(PLE2aDP~Qe0_{HD@tTVK&V9vYH4=i_1 zaXXmq3pM;RsCc#q{?A~0p}$v}wWAHYjoBAubXffv6PsbHjkVB0a$E zjQgO0e(u1Cb#>dnJmtCl^*^ZkAf;2kL93EK`16C5o8u5FLqD;>jPm=nFwDw67jZysejh#;@t6PQTnrg@wFwrSloqx!@9&Dfw|QG_ z8M%2!y_HoflNz?|GBaW2xs^%Hx|L2$Sc!Ak_p^68cIe#h%fr(1fxdGl%$OSbY49Eq zGbG*<#B|zFJ%SGWak1P;gbHL4)39K;z~K>Fpjyanj?$(G*IHQ(9By`CBPv~paBWZ^ zn?YOY!2VoIi1DjknY(h%X0K&Z;A(5(f=y_Wan;gjt&8FY;)%3(sQLOQlHl2 zlRndGxmuMg&GmPVJ@L|eO7o{#6aC%5aDBgqdkY%X|7|TMK=?tf*)1! zCI{+Rj_|f*;7tbJSVfyZ&fuR0sw5(gGgBy7R_TC{qh-tdsTo{pugd`?M!YfP&I%#2 z4TqP*P5L^b*k3%MUWv=r*jx4V=8*<2`;>{_j(lPX1u5k|$;<-KPCZyc0PP@nyCiTk z7zWlN7dFW<=t(*7ZgA$rXKXuF;*C&Ec{6d5hToAz84dHPEa0w&0ED1Q9HgNo*iD)w zZp#RdBJ{35m9Cj;K`&kLLTZC0K?Qg3QB8YGlAJ#|j$)f&KSdOXHvN7<-HNR9pkpv- z*4)3iG4p&R{C^XdLcuD})Srmzb)%_;z4^9lK!de$=Y?D5o{&57%Kz4!A*j~bUd=BG`M5QC^*u-Yp z#wLct$0i2)AIHX%*~m~7V=IyinNzx_d$YaGy59e%H2S3fPyPF^vt>1lB_g#R|G1%b zkZC=o-q5??71ju(LU%U?D+t?wLBgW-J6u5%mN1rp<{&5rU@78(D#3KDXd&W(0BadK zhGbl*gy05Njyv&bv{0>ZRIrYytlp8mi6txuuICr}rG9iO*zL5W(ja*#P&L7YH5Rve zJ6~Fi9o5&=F<4tSGO?^<7i;@}VeA}!Ut}9QjUS)TI_^}eQ#=9Hq zeNdVWlQy{O#>xj)iFHTCNDY*Ne477{xc7jMqFVdM_sq=hrtc=3WYc@HA-zEe2_%8g zd+)vX7K*e0(h*S<3#eG|B8akC5K&R8faukT6)P$hEP&T8*~#zwoY|S34czzs-uL(Z zKmYr_F4@_cIp;j*IZrQ%>fC)YYP5*g=y0Ag6AjUw`y&B#Ks?$fj)t}Y1)Sqaq|>X6 zIF9i4VZKxfhW>SUl4!!x%E4_Y7C!t4rDZ+qT8ydoi>B>UT-H z+g;A`kg1(*{Pl6-LIJrqmaVL(0AY3yZ8PHOdiR0&)K|p z@3*G|*~fAR#w?_VAV;5KT#({Md-eSnI8}727Fv>1-`Zkxwn9 zBeY8R6FVp;+-iq~O|-9ULf=(|?gtS7vlJV-^cI^e)?jxDF3?@gP->vZ_`*d!Yd($; zAGjm~F3Bn={zq^DUMp}(xdmKk^SP$xfy+(kL3km=r&tP-!0byF?hWxA%%7nRM1n_Mx2G3|oZd3Z68*hz4vA1#u!d-8j+gbgtT|j`$4$jX^0)CquFkv$XR+1UN_D^;wzNuYmEQ`* zZ1WqOt*p+H2Dp%j2P?*K*h95Q6_b>$#J^H9CSZm#8=eYL@c1f)n_0!?S$Ek`&02Ol znE2|KsnPe&ojD%C;$OX;U)I?_q+QwUg|+sCGmqwuxi36==DPK9>?N(#v)HS4^yq14 z-aNeMi55A}EdJpA*7+SfB|VsVxbB|SE61&zzghfjLuljQHsXnA<<97Z9f&N=QgmxW z$S;Ro9`GbjMJLT!p-UiirN`t!#&D+R>tzv_DJ7k*=2`1=z3`*2CEjw&1fLSCv(yW? z(!|nyq@JSxm#bxI30@HGY>BeOMFhV8475r?1F;4^fgSlME_B||p#!YRO@?E66+Qez z%3IBvS{oVn%7eLs>VmBk=56&0_1`wKHY8}!SoyDXwoU_|)aLQ60~e>HEbjC86C85e z^6D3DUfQ>^XQ!-wxxK2}b$o$!SEbE*EP>yBVAVd!HKWLFLfe6<K3 z6QqjCLaAiTVbl8Vou8K-?r5LrKL4fD(8M-R5GDxjCm&!9mF;hA1*5|po`n275HODL znS**1RdWhQAeEJQ=AhG_fEXy}1}+8ZUrYE#&1ZI;nc_}&**hjKKfFSW3W%?^%F`N_ z{=sH-Vx8G5ci$a=tZu1wX5*Jq8{jsFhq)#!Lr5dL5gRYHJv z-e0*c)o|Xov1y?(+>{3iIbY2y=c1*$OPWmsQZK|}8-41a z9-OqXWl7oId*6yY8MSS~U5Iq;mD$dA(muNTScJQF$*KuI5jnKWWFGVS_=d>aR;8|g z9$CRAmiYMA&>2fIRy|KqueELCN6n8IJda{u7u3W}m=)D$-VyNqu}vEgKXORFc5Z!D zu|s8Ygb;`ngdl@LY&x$6tsTy=|9b64RAqI*k%x7`n`g$dapZj0iyysk5F$=QuIxJ5 zA!cq{=8QNQRoihg9AeuR{Ntlohb=AqL_~3BH#ox_mT1e#@OJrKqZZFeoc+-Ch#U9S z*`_T{neq^PW7}_w6q27DlNU91a&+lL_{PSj*}ILiS5JJ9)18g5Z|ybLfJarK3(QXj zXPLsKI6A2tuboH~nML*;;+7CC2=b{DSzUo4l-lh?$pM|$#+4GnyWpU)n}Z+*#_qC| zfhZ-Gfm$`uM}8SdRwZ4#h7V_%m7+sRkPuUX4)d`k*(C@S9!m>sw2oc z=&a7K^6yhUrg~2G%4%t@Yh^W?cj(b-XSFc5%DdrgvW%J0reBe;6Hmf7d&v-{|gj^u6DS*wmTwPmat=e`&R!{r2f?nEy0c>d+(Z zV6^cmLHhku_vN3z>eZun_uoGg;;w&X6kph~)_r-~$`wo4W_iKw3pTG8;_hC>K3})E zq$n)CcH&~Wd)ql%5sDxhX25>3!}yhFKc6u;TkG~yMdtt2{j6+_ZENk>wkrR?656!# z66ybL+gu$Bt7!u}qMbJFhXtXVnpu|$gYf;(Vymg#1Vj=FvQ9NIj@at@-xrlAl#h*E1%R?NrwJ9QDE+OT=@xG0 zfl~jy<*Ge*{;fG($d44wq4K%t`e@!{8<)ME(%La~!#(mQHZ6_yxWXb>9P2Fq{)KVpwrdCED}YbIhG-Q6xO}(WYnfhs)V^^Bb%Advd&P= zxo`IyM=wN8Iz&b?@(N2QjqP9qvl$@f^V6itBLI%w?0~7wQEI3EV79_{q22eRe)?_? zOa5WxHO77z^V9cF%AZ~xcZHqUzjB{^g5CM_%BR_sr&mACI?2}HuoKT{|eBA&@HCaqvsXD|c;(le8cc0(&u1Y}$4`2#V6 zdj1q4#D&bmJS_=IX{r0M8LXnstPyte8Zj_C(;>ewJ2l4m@ZyQJ>0w1Bi=pD+UGf@Z zWYa*?82AMJIn^+dq6Se2qpyiMoR~Dy_{p04=8(L`-YCS`7|40JOImaBBZ-YR2mx%Eu+q`z~CH^@0^hDtj%}U=)g*>U&{$} z4&Z)Ne2&nzAM(xws}r;apEIet-;)ZmEBxf! zg`lNF2M!Gv#`-4}W|jN7d-FSn;}!nN{Ej<>;H92-;uYoo@_o24Y#;_17l219{Bwn% zWy1#I3A_{E{iI(^1IA75Wy~ur&ys&I^&hYP?eD$r{>%HfeAzT`Ebhr~)h62*qr2Yx z{%Jk=J89qRjPmnEtj!E-mu}02+pS%DEUgHUpJ8LA$3s{@`B6DE zXxX^V<@CXxwLVy5uW!6F^udnjgv$c!)KPw~@hkL7>ddGnLxp@CH9$PM@>YkEE05YC zRw=XTqK{u47_Ili%g3eJYMul=M|l$ToLJNBIncv;HDAJ;cd7F``shfig6;~l-rDa- zIamaGxDEcD5A`O$IdrDOe0-g2;d1tSO=5=t+5z= zL1;}gm+(!?@w!n#9w|mk=SD^G_Q{$Xl`;5H)2^cksoYWZqZ*BFnf$0mN0(nzzat#ipV;RV%CePU?Gm*5qp}`+dJQ zn|dGETXZ$G=e&x^Eyjlr?_8eWZ)FGM!F~N}-Nf;eGupLryNw@Bt*DltYIJ_ushw;o zEQwh&VR{YXR=~dzdtj8zR`AvTK_4Vrv2>sN4(fy?Ea-eqX%EB3@b{)b>A7O8ZT4Oj zc$y3YvxIJ|0S7XrQ%KA0aytZ?vlErqlvEPti7|(TMLG^#3Z@#^B)aoh9uy~`Z9|0}4tYS)H|%XWpS``09XpL;;D}9- z|HOUD%Ry>@Pe%s@ZtpE;CH!OJ&s+C@qf0jQsip~p996#-*f+v`7iu|Q` zFZ?$V$PHHK%YBS0*fgahyxDxicmWO+M$+XV((KH1LQpseA_@1$5#oq5%u z|NcnftQ8T_vle$At|X&=ExRvmm47LCCiBjz>$fSsd&D=Mm3L6BAjEy0A)A|ILCt=zSdPPr}{g%j_M|KKO5Kd7_OJg6_iJb>)(2=hc!Kp>xJ?T z-mi++&Z7Ip3;aFBhzUb}AMVF{`Sp11JZ=QY!qvV6J~3K8-ai%D`7uy=f-59I&1U!a z(oh!*;cg#zZovw|AdmV}<|t~OD^VlJXGcUXGj5baugdS-U7oiqujg`X>Gfqji+2?l zF;p~gk8J!!sQvzX_Z|2fHD`tCe7^9@Nf)uNzVlT#)yFG$>-jQ)=8G1Ax0p70nr|^* zkOyVH(nY!UHTmsn8L9WDb{~k`%R${U@6SwPA@H6V+-KN+mrEXizx$j$%Xl3O^tb@M z8wdDC80IVV!$%kN5gB~u%g+{!->wjWLlV^jbfuqMf&RR{Tp$weed!HslBnv5tYn4E zlk?saZe=FpbTZ{#3b{*{U;p|@%8|J1aj&Gj(sm_#pXCbfN7z95no#S$Lt3)$jyv|r z7la8$cMCUa^WZ#{0q&y^XQi!!PhEvOUz8ehb?bH5B6x~@h>Z(A&6lGr^4}~6r|*{Q zVBd}#b@g8-Q%k>=C0J)CFunzaLJdC`vl?4`##;JoAQIQiZ%Y8<205 z2RVctOK*buPp7EzmI`vf{2|~D)mitQs|s^ISM|%S=NcSBvZu>0n2VtQ<&3OasoQXeNEpP zPr zrO|n5MSV;iRwhKHr=_N{yIAUB7SH;b#1q#K9=VLB#pdxWVCTCxSeAVBk9T)A8Akg1 z3GtgQRI=)SF8TWTJw_(I_%P{g3*qd$c(j9*YsJR%N#2} zXV=S>yyjg7bVfxUe4yz`TpuY{@>)0<=vAm(FXY!DZ|Zy7Lw=MwUA`T3If~Qee|hdd zz^@~V$vB&8?it$h@1DMAh_$$z({0c11}pU_AQZn@gi%qP3k7r_jf${>^05ekLkzM> zC$hlyfk-eOa*Emq&_q)yZVw_0Jo*or*eMp^zBVT1kpHBsQ(jJ)eu)K&=s5X|+qf@8 z7KOll!VS>6>7L$fp=#e6KC+5AJ}C~|4nSHo289Q+*<|2KAyYgdm6OW%8$Du&(z*?Y zrdW9UME`6352tKh#QV3g-hapm4>EZSdvu?8H}BylywNxt^88PLJN3ZKpel}B-d<1e zZ2AOnr=0N&)EVQ~h24r=B0pxL+PoIEj*pMULe2Rh{Pp2$RQuB>p<3iVS%kWWbwR|@@&|149uC-clEUDms}==5oKcP;N7IR7VLjCy~N zEk5wT7^*6+KMWWnA0F5L@LU%-jDG-bj{%J1RIAX-;KQh7~nnF9r z#C;Pm5KzdI`#m#8^Z_qyi0}%4yj3x#Tr7@5ntz_j9Q$b8>K@~Gu0IZ9%STI%##|-g zAAJ)x-C^rHRZ08Lj|yb|GFrj%?0=f`8-Q;$;H%YNyJ%~3U?0z z_<#e5aH0G&&@n`~g1_u(x?(&4{v40UT~EBOkBw8Eoh#A6Et-k>dU1jLuJEOTSV0cb z#Wg@%)YrEF#Yh70MZjS(+E#=a?9|d#jT1xfE3H4A*jxTh{;RcR-J+ytZJBM`u-TWt zf3t0D!utWk&a zuBcERyMf*iK5=nIM2LA->Ph29s2Ir_Sg6P&#=tOzVgLLfdB&*te}qJ&wPj&@&OVoF zcW(_DH*esb9g3>Y8GFA3ePm{!(L~}U1;67K0~?APB%S^>)3gHFK?wzGxrg|_JUZe zA;NrbJzZ5)Q|o?{O$NH+c3B3Lxj)2~77HHslCYr+P0`?Rw4QGQid8Ng(*ILG&@h7v`_1ne^HWnqg zPn>(DpcJl7GMXi)FM0g3u-HxKELRSFkq$7ZRIt&A>-{`$z`!6mR8~Uy+b#;4==+8 zVvAM^EB_9CdyA1C3T=|~ zP{f=-5Bm53Q*M)*T4Ar1+tk;%;$NPD`=?uyeB%Cl# zZK8DFKy*yTZ zLO+5thn~O~kHgNgfXnk6IZR>^=huek?C(`zgf;%g*N936oW{j^*QnaYbZeyA6qil0 z7{4p-M;`KR)72GnrxcK{K9#RfFf2t3ngww%l)LZgP2h9-R4u3X#X?dk-*j02P*Ay%2>ugl&p*W}+B0{byx*3bI zsf!Z+X!sz*&r>y4dA3wZ@J-0=5O)^#sW1y+BinXNBO>(J_5glP6A)| zbi;9$rDBn~L-lEhIZjgXPFX+Uov?xS-7vk2hIc9)Xx|Z>sRE?5Osd9$ELxy3DJ&BBa- z?T;)u(9LxEkISeymyy_{V+k%(ICnXN+3PbsLSwko32IwBW=UO|lg*rQQfj+a@Q1S6 zDw#M@aKG&kdnCx!&S%nd;l=aDNp;JUx!78m) z>R}om!~Ikb(`1-e`?GpC=aaO2ez*E=j=Rdcr=#+{Mwhko5d@s__V~*J9Ua1PS9$;R z;Tq<0Er{M9q;>_w7`)d3;Vs4F6W+2wFW#zdi25XqLCU7GW~!wa%V|I2_2~@eYiCep z{Pjr~gFoRJ19>rFCIQxKeD~y*;Cm|nPIHJf`{7LEcRq($@GQ^S(dOVo2lzWmjNjrJ zyo1w$QuPUK4k?&J0?is@@_OLrRKWdHWemfQY`*%0#^W-u&J=B(bf)8Joy@I_QK+p` z+pBbpk?a{`FV-=Lo4CEPhqQx4Ljqw=_P@7O^c6f} zWPTNoEn`vg7boSd@@4k*Z7CDwCKmkyo5JGcRttsg?&(6R`%_{2K4Gr=8zII`1@f6% z2NQN5&zybSVLpyxpE;{$e3wnJxIuN))fw^3*^g&U!zzK?X(js~8k7Sm!Q4h{L$WJo z9kuAZ{PSYd&+;`kc5}*-qs%hL^eqdMpP$b@kXx_?4Drt&>|-y;_cAt9?hIQAtgl8Z zcslh>K!ga{q(UH6+B|#@A~)^h^M-05&$MNy=2%#U<^T%DadWGhKPq} zT$Mj{|MAYJnb|D&+s#wuujf7<5j}FLc&`wLM1SMCi&x!wg5`l}i_wja&IHx4e~R0! zy5NFt1D#{ zqoXHp4=kmo+dT7Uzk6oRVrN`!tRA`~+A0NI36QM0@~1BOPi;ATAwt}ZFvf11(f!Fj zlecyL=O-t%bzvRTpm(%I{6Gr$-Ao1ETx3>*22|$37sWLh5~*lg5+RZ$dgLozDSnqp zv0vey zS*@7=u}(A6YOi0n6;@2!nHnDK_nk=!Z!N!kYT?~c)sK#T=CM5CxrpAar|wLak~+*Q zpOz(vB5KLnSZ-w-p~H>d{U))OcaML4;_??qposKW!hm4|hA_vsEH|(C{U;)J?JaL< zPYA^pLngZn`u`O6I2Zh484NE5`;O^2lDTjq!U+yZ>$c;u>R-Zy~ zsaa$f28QyuC0_8FVi&#H(%k3O3^b*}n4ri(W6nD6T(iR-IigN}(ZM=>^pPWG`|{cS z>>n$CEY=a_P~Ju5ecUs{CgHAIQ?y@y=vnvQs8%iqNPB-y61tq zFiTLInvYWV44fJq(th|a$$uR=nGia4*ueJIpdYjH+18akcK4okXXg*T73Zz)UfK5L z&Q)D|o_glKL9_*KTyB@aZ}hcA(T zO=FgKK6XUkv2aqCs3;V)2vtMWcaNp1~Q z36t9V4%}4llye1yatna36&(q&TrNksvYV(7*#y09PK|XRhZR;#)zh4l`|nRYDBnJA zp!~hN(2-I5Ok0HP-FUtki4mVaC$5nre?^Wbw47@EH3aL96tNF*a zk;lg@tRM87{HJ*2tPqT@JO|{j-eITTXKw)C%CI-Bu{ZIC`xFl1vp1Y+sPxijVOq}a zEjP*)Yv(K@HvbTn8ANTtU6d|giFElxqhn{&g}3NJK0Xe;75h0|Xrk153zF>hwj2=H zf3vyN!6(^f-1Ko+QTg;8Y2iVB-}kBglTD{8@Ek`~6^VcGsXw9#Uok#)z+5Ip$A?WqZ@;j` zcw*QnM4GoE^Ie^?)xy{EiXo^AIh3s)di^e2%c{Q1l57Ef-|~(AeE)%+iR?wW6Kud8 z*vp!j9tFfgkdu{$PrDev-`)6&B4GWOI6@<_N`E&#u zkBUbogtPR_%XTKG{`M?V#lK-27WZ|IefYK>A0v(yI5`3K&?n(@OGYjghq$Ui@-N)b z1$yD**)aukV-MnveJp?JoB@{>gBy{3UF|5~Sp~6ZLF&}S8W=2m$NU1)e|+M?ySaV^ ztmxx@Yt#E>Os|@fCihTLtKe~7@mnD({P=WGFRKYEXnlM!!?~w8x^2mcg z`)NDUIocZ`LmfT&^!BTl(KX3hcKl% z8*34RzYQ{3^5w6eKCmM}Ty*M``}*LqY|VnMk8~Tixdv?h2<(iQV;$fa z4V=wE_8i}8pK4aBZ>(O|{?wIa=4rWEK7Kw5($Jcsx*`l&#MM!#G*OcSP_jeULIDsb zo3J9ODkbL9NO*@Qmb|ct@A0IBQidh+TjtkqJQx+ZX)6} zRCpF^_xBklW(wcg>gKIE92Pm_&icSGVcnv|GncO)WBTOmw`bPv%PibI=DpXybehJ` zTRC#}?3P2JqjW?MpBsohH?ezET~_atlY*rTe*F#TxI4T)IVo5~z9RWO5_C zCo~&r62|cH0~+&9&ue2W&-_t+LK~wBW2k;W+KZ3<64Wsy$?!8vQ=ibrKu>j@os4{q zp{CE&F(k=xS$#qqqX1*HR$&GFIA-pmjA3=KK}=vnv5y>2)P3}hrS2on{eJN`lSvuJ zn!yIOw$oFDMe0-D@yLqn*_Wf{Pqp;~p#fP>b#~eqH|@RnFVjwKJwc-b)hD#~H{bgY z{5q*)h%4cJ*`hw--FrZQjA`Dz4>n8c7~;wW-PI?wF`DhYbky%QZHy)8?=(PtLK`Ew z`QD5FGM8#&EE$hbBZUiTV^lZW`%8YP7o?m+$priIAoU4t4BC6{y;IML6ltQfMQ70@ znI?y;PiSM%-dF1OUh|b>?}xx&ymmkzutX5ziRn_^c&|P@LPjd zOps<90&u=3%1`p1dfY$Fuft)4>);{qa}zC6{M_TD172FB`MJHci2U5|o7Ule@^cgI z3ie_nmrscX!zS;cUCR5%YwsUn_>9d^u~&P)MY|vGm;6lR|DpGr*oca3^=|F$@T2hh zO~n5qIGy8j2c6sFrE}W5eQ_P{H_kU5P~R`s8AH|m)7}pbsCZp8_z;~_##mu+dFh-s zhA*A#1{nQqdO{mxh1Gb|7!HiVy~xTK#{HbmDPt@*Jn5x#+8Dlcj@A)iI--rST>R;# zF^VyU$M3A{GpBQW4A8mVUOK0Z;Y;UeuYWX=ywH{7x+Hvk(-^53BU{0B_&I=koX%kk z;Orp7a~?Ve98`DFJC=9P2{%n|QTvW59IEOGoCK}N$lYPyW; z!(fNbpk5Aij>K$!zSheR!*_ywMDknm^L3=@Pt0?y{4npk=BXuyRSn|T6+h=E%KbDS zqX5~&vs%4x$8(N&zc?-f^jGE&SyGb$G}#TlAkY1HziEme`Wz~LRGf{!*<^M1wD+g` z&^C-=yo1XCGzMgV1Wg9eMo8D;l(L4uv@up7PG|T{W29jW^4=?afYxE-GJrD1iWZs- zpp8MERsICvM`JYk1!-d}H~fj_Ud?^61sKD}A8btJGJrD1@;FTf(8eGdt@j6q`4y{U z;B5TC%5EBi&L8zw@vg(jWdJ^gB*khnfHnqssreJM4#E%fNM#Hw$pC(A7WRFD1U$KE z-|?in?}R^G2EaIUHgdQOKv<+c!$Z-Hhcdi?fo@|Bd8DTnU6Mmuil}&{{{8^ z;4w`|J8wRJP*4wy`26W?DD%htJ#KL}y!R{bAE>>51pFMMZhC)Kv-d+!;qM1e8knWt zt<645g}wZw>0T4~9l@T{frFgSj=}!7l*o4v81w60I33uC>&R~aULcc{Uw?sLUkI5I z@r<}WRJktx#ox0Ldo`ESJ={-pL$5n%@f}_ri1LSebGnE3@cTP?>7JSoQV$)-153Q$ z^gZd6;BpG?#CUZwRhO?%(DoMZH?H6@L!FiTp&?2tbku5A6tCg)e(-nC`)k-7uTIHx z{c~0WO%nH?>pV&2iy`iVMaS(qqay z=(-0N5H(<&&GqxP9QHM=l^2#8E(EHu^u%`nmY(>Fnx$H26)pb4PAdhy`bs{)^PMs% z--*v<6X$;~$OfrB$4kVB@axB#hSU9gE+j|txd4vmy>Qp&5}?A-)3=5AG2X-R(&EKS zZ8nkW{hs%e9I3p2gyAnQ+%{om z=q!gj*pGt$>Hq0(*xz@BnbMzPp|z7Z;S)pu;wsV|&ImJ&pDWk48zxQqch{N*%T;0^ zu*G5M&~#pILc~l5*Y9zK6v>kna%% z7@)417L7pOaS6OQ77he+>L-_LSEgT-4zh{zj+gMv3*w(bss0(R_tG;A&!BpSt+ZIM zepS2N@sV+m{5TtNn!~N>dHHXg=3tCvHK5P4lRMg|5FPg)Vl2kqS~{!c#c=r>=Fb9% z9yfIt|1_L8MTK@2+p^UL!*QVs3sq*ywK|N-&lA=m&NoFNss<5yp=PmyRbo)jnmGQ_ z{LGqsaYX!6T*~in+eG)bC4Qpbuf7>E3>-|TnRB$sE=*x599K~B7PCia2=@>3N_qlr zBp+yLv5|i=<0ms~^DeO9Pi8L6xzJU9lQ}M5#Ap5|fZuxPgjKMG2SUo`F!zb9-~zmA zbXFsY_-%X{WF<#(nBGb*A)$}}PYx5{BRNf^B>AZ=*S5&dCb51M*DBZ$abDw{;=FTg zp}Yy}WQGXzD;|b9*wm;9pOJj>;5jr@=OaJdzKM)pe<@8&XROCpN@_%EBZ@L1#+2%D zv>^1LNqQzqnStUn^4|8>+RM)-vVODavp-FFP@=qdHXBSijwgjfr)lP=-B3%I;T6^- z%mZEo6DFYUoMy*H&;=C~Qj2(&{xf{T*kNPBED`I*4;^b0lPAtwGP38S*^5E4=zM|F ziDttUYX&M%fz}$rn39W%>(U}6dG`P~@dD?YaKKVJaxf5QgKo19dk?w1@)mhfyEV4SQ z8k}j?`p&wa;;r?)ykA}Yl-KvmcMVY9J%B2ka_M&wuWkxs zztQKL?{A?FW*5GXJ-V*l=-AvvU6!tiw#2=(wu-)VTDCSu7Gsax?zwo|su-a@q_Co_ zf3PJazoPZvAaqxwvZm zKb*^ZuHSuNS>qcugN9c3su?t*9X>pN3Ey-aFs!m?&EOH0H{R+xI`#SnrL5zZO~8@;!w(J)i|!sq}`LfuBZSHP~9 zVvnW}G-oQ{pt!D;LV>s(xEp}1+D^(!Rq4THv?|4O@?9n){|la3ecd$!KgD8$%P)|J z``}>nXg*4wMj~w~mTkk3qIqHBg4E-w@?e|bI3=I2HpxE=;^GIK&N;#Y_d!-I$|o>+ zX4od&A&xh`2pZH@nTd~IT{ETz>#&C}p>&3T-3nssQZ`W*?5rubwr2W- zgh?kxL^#T_JH^aC@u+eC{B|84+#ws;Ycu*4WxL-OlL&S{1E!6jg`sNpq7V7w^cdvN zWi|2AJyu_LwP5m8)bojtLiC`(^EMHNuS>=tB8^Sv^@u!GxRS-+-G?22X8e_REpJ6e z-J9YA4)@@pLN{UNiBnguoRXwdatFYw6mzV@zGbRCx_rWTR1)n%qFc5T+2#6VZF7Uu zVXe>9k!j?UI%w})mQ>VEPW6f9f!~FiqlY!PVk1+DP=PS%>TF{La12cV=#|puE;ghhKCcbD(FhP7CZ7 zHZ4iFh_$lMq*040S%fMGQ#JQ! zoKGJSfJMZg+9?-U;%n#tf2c3>_A%v6>9;66k#7KGG^+M zqS?i^vITA4{w{NE#@d**E!K)HSo^O^=9X3DPi#5+xp0v^(E>NJC)hb*@nfN(uUf1u z_PB6r^{JqX%o-YU)@nOEE9BH_Xx6_$SBVFl;sL2L(4~C}w0xqWGl6HBL=mLGOhOX~ zgGi^cdC3%luIgjFUtLyP3{kD_NJVmG(?=Wnh>xKPb*}Vy#P^iM*Te&E$(cM?D>>hp zX|2!qz5xl+^{u>LU2T;6+T^<`lqpmYlScwHPuuaZdG$0Z(DapzkSDHZ^u)}YgwR8^ zt7gSnqF-82H#b&z#6Ks$q+^IB*il&2K44MoiyKy~0+TU+At{|Kx$?y*55^V7bPr|K#jQFw`{tEM5bw zV?os>DRB0wjG#u~xcm*A#`@>$4=DwQfCHg+25M@cZxP~hba5@z8X`$|c7v#WGop0N z6p9Hrl~PKq2T&#h4@5;N7G7w@EP|g1LyVv7%VoJE^3n^2=M2gC;*Pa-Nq+J2A1_&B zI*h;FKPW2Nl-}A_W$HCGgh^j~;TIV2l79eu?${Um9?QB@J~g@Ds`cWgobvXlG&6Xj z{HoAeu~R{|^y_OpX-zQ{H5#m`hULZ42sNfPtp-m%WX(#-0wz>td1C*O1DJq{ zg5QJgSzt5uRD)EhzsnZI1xQ;y$T^rH6&FFp8A#m%hYnzb!g8dl@aqv8`3mKH6RHB5 zl~KDm{7dwUN}wc*J58^zm@%!b@nBh*scOcIH6PavnLA{ejm?lM7+c`JjCv&U>#RyX zF2s$NJF=HX6O9oJPa(f;G-8q{R}s~pNSjnGVEhZ$9q8P|id?*i<&zdUvxx|UdK#P- zRuWbdHXv+5SZ$bTt}8<1!KT>d$c8FQY-Dz1d1Uv<;gQoLmqwcBLgONYN8~#Q0}2c! ziwT^-iV$59_Lj%QJ4d`UE2p?yo9kzn5j!jw&r@ zJum-^wVe4XUp~^ZtZiE{t9@(KaZ6}fLGsqGO~088Mi(+Jwi>ny>+o-H%4vbdxJZn^ zs!58&IynOdAL6>`c|5b#cpUd`!87;LGwdnPGrPUdaHga_a~97WH6Fmdw;MJHck*XG z@jUak_Zc-;fW~3bcqWZMv)Hi1^GuHC8CWmXxv8`Z(yn0W0zS~g_!DeoO5~VQEr7d! zXlH_zEK>Am)aAUotihZeA`ng&`38a$i82#pzEQRSEmK-$IFJWhsl>G-SV-9Y>$UQn z6509Tt6yXlu=sa+tanJEPw(h3@s-4w$YtZEJQN!<#`sf(JXOBWeiiDmVGd$nr{PR1 zy6y}el~zp@oD`{F)FaNPz~M+(W%4Kb?XoHQ1q4c6JNagze%q%B_lBTPj)^Qc1k!iDt*3nn57@Wg9*K?N-L?e&KWCmEXVJ$5eV zT2j|(Gp=Nsg{AYy?M(RldUDqpQ-8`Zi%S=bdoZ3g{U(2L>h5hPS<#nmeq%`|w%&DI ze*My;uBKsWW19>|@7w(>GY?A}b>o$L33tlm?qVtGsKy#vD{$e_zhq}3%v3EU`UX-I zvaQP>0Df|o?NCb^aE7GDkFt`)^ShE-#phUCg%x!Tc|GCXr;<84TG=w9JB|vjeDNr+ z(lDmK^v8=Y1^K^VG>z_$^WELxmU@Uym{X}?qQRADhdzL!c{()4SJ-2G>@*<3V53OR zis9vE()nj*gEQUg)9WqKT3_rv4$fSwvlX}qanV+hc7^uZ717s`$Gg}#%>Tu2XUbQ% zt!m$^eNDU8>slJ)%U73|^{MF5p}K5+v9Uw>>Wb?2y*jjS*Lr=4F%I9#dRO#nUtP8i z_O+Qcy;xjci@2WE;<1iBlhSkJS+6Sb8o!zqt6WXY$cv+^{H&}utdbnkN$8p721<|4 zcA{Q}j!clkWYR4R>=Ggc_$gF4a8gF_!l5bVT1_&VF_5xL|7RDMJcDxbJ6T<(9KU0`bC&WC6-ZSQv>LwSis_})oQiDs>rYRc z5%=`0tAE}}uM;RjQ5uW$ZO3UsZACiN+*0dv!d1%0eP8Mqu6(LrR56ynAPTxe6p>{Z z_;gY4H`hOLLP3fI+M%5<6l^_Vuu!!+F&P5e@Iw!zJz#4gzgD%jSI?rERihT!Y$wuA z91LLpQn(yHg+I5Wpz1>7YE%uh94`_-7n)-OCXN(;1N){gLN51~T9j!wkb5R4!d^ zScRC{jfO3TyA9hJtUcBF%bW{52}#`ml5UWLTx+^O`CNHBJ~q_hqun}uhynO0fJqDh zqr(W3GL%hxCN;QzO#=RjNo*ed=4f!;fSTzFbg+3<{xOa$M;k{shcuGz1y8{p1zh87 z-QaB5;H>7BRD8~DaL#OSPHk|uZ*W#wo%0%;vl^V!8k`*(ob9a6jt$OkR%iDH=fno* z*aqjw24^pRWm1E4T!V8|gR^&ovy0W)ufbKd0AtTyfb;R_0vw2y3+`Hge2wF{>Re!T z4rn+OF(7?_FwgbN0Gjgv%o!G#fep?it8;n7p^umUupC8j>a5Pq4bGKT=N%2s+pW&6 z4bC-I=UolXbynv+4bBZ#=e0@o|_eYuaq2b zAY(u%^wB^m+EldBfY+dup~yIIEWo7}l3ef~%A4?i>2F5X9JXDx$%>+B)&7a=X%wjLTBX=zzmIwVAVaZr!Y zc|H3KiV%7SwkSxg^8agV<cIgfK3z?HE|3*``MEl_s<8C`kDw~{g0Da99cPHw_5(czgo}b{}WHM78zOb@;i+y z{%(x;YlZR;sLy)$d*)?+<3OVlkh_+F^I|u+f(=0Mgd}_j$@qwk5YfHIUo-;V9OT$e zvmMa)Y%_M+o{CgDkN_eB(kbDE8zF zuzg2Ujy6b45@PUS>epDul!yLl$$Q8O`%zbw5fPWEn9M-eAT}SLdIo9?A z)@Fw_F<)IB_lv8mQ>EAXWbag6xyiiZNG{5f=&p*fxg_6Oa(SW!8WA|WKk@_XIh`pP zw5Ld!;M=L3RVAeYox^FP`LPv#2p&}3t}-a<)lF;m+JmR`E^8eW`O3P5_ca*;+O;Yj z?H|~&ZQ$Z7?C8cbA zR!&}KPC+s8$vQB$b7Ha~h&u2PN8{R|x@N9H5O;z-%ip^OC-3Y;HEMYea1aFH>75%= zqhE^7I5I=t953VuTOU1EUsw0?Z=<#;xYHN#J?Ful(K;DG9ZAI zJbTR9JL~R`&5ZvtEw@{wXl-5AvVUMup_pT{Zn0Q~cPmIpzN2>4ozC^=wm%_vPl~hj z8q%RiPn5;rM0(pv~{+%&brmQ%Nj6}Oi}ul za(SKxy%MjNik55u z9WW$9Agvd@yX-WPxeijF%g>}*cz7vZP&Cz(WG}Wk%tGy?_(}0E#mlRM*{?6jal(m~ z#z2;G_uY5b3UM-eKUstjj&Cdw)rrlf*CBC6p{E$?i9^Z*)vrFDh z5>wGl){$N;ei&BK%4Du6ie10N8q}vKxK4Ou-Kq18wLfN@xm=1$NJ^O6zi*p%=JHj> zojXmx0>*8mZ^iFTkAO-A8KxQ_b9zNpCof@4LMy~_s^}CAXI~VgM`xfqbIdm|F)%-{ zG7$4U7D%fIgv=4(N2cXy*b1WH@Q8*S%pb!}1X6(x%%A!+V9I>fZ2rEj-wS8FQ@sa0 zka{T-1i%Fr4tUSP93@D8m?NsBYcq4gAdx+U&ryP5lLn>1%vQ2b;!~>)jF|=}2ImJ? z2GdM~X{Ny>!TA$TM1wL#IgOa95&s60rhqvXqYW5(FDsLjHhd-i{&Wj%lBP#Y@{K*} zBn8$JXY>Kn3xJ~y_3&KGkDt+Iy)L)1T`U0F4|EyQ^t4q}1zW^KF<-0{dyAt*6RAOZ zc-LEX$JM4TSW#qB9cTd9?1X;)!p>h|WN&^f-;w|D9!1b+79~v;hMIyPEm(Q~J>F_o z^$$}p4lDb|k{*fg8-oo^@*g{}7Yso$>%}g5+Yw&`k0SucK&{0L_l^`{lCXXszrPZ+ z`4^nwMAhof154Bs%#*OV;Rt2}@0mpd3SOWV-5la{SB-w$G>Ce%k-Dpiab%Tt*&>ym z%cx5N-I>H05><&b3yOfMaJ~6=uwUcl`jWWr8Ovu!#U6ZY#S^i@a{=Y$6}^Ij3tAP` zgtB4m?6!SYhl_Gi3k}%%e zGmKm}I^~~SH{P#+pItRT`T97O1&E)+zkluRqo1@W%wZ+}JpERd@SVNy^ijL*g|Q;$+m~p|FCl>#@X2DUL8# z=(>;-UDFkWArSMQTjZ6f4&9==g{g+2VrcP+AVJ9d5W|}zW(Ng zOK$Ov#$TUY{LZSK93N;NX_!Z#TF0ClRn=Lj@Y7pNP^+3p00j8>!kw_b>b$6gdm=WT zx4cLe`^m+XLTpCk?^nbChx_YR>4eTS$qmaYHQz@AbtU}6N4*}xb!eOV`pqs&BDFt*_UYqD zh9S+zrLOofuy40Ou}a8X$>KL1{yy-}pR#~tRUe zXLfa(#zGo^XRkkL8a5nww)VlK$ai5#=5T$D@9zKw%Y63NXJH!3k!Yyyyvt9b-ChPx z6y+KNaO=&9yu3F>o++vNm#&YJ3r1bLa%}=@m~fqaC}#rag4r*g{T2K%4-qGoV>{nc z6{hOY{Ds9V3GcwYWP>KWh{E3?kk*r6Px$vI#TCWNdM|T=U%SSDgC8o0s)~X;?K*LD z1Gu?98pGvhA#P6R$?84wWE|8rR#%RfPQ?!Nc=18yxq_C>aMrdTeIqffcErSfVW~f! zSylN>?+I3GyFsU)?KjI}=|1is(w5y152;IvxohmR53#@HGrhX?@BI|(UemW6bb#tZ zOQBew87I&~!ETB9eBFHS$f)jb;>W;0|Iji2x2R?qRRF_w6E9L?$RzUoLA!#U&tOKv zX>alPnW$n7~QZ{S`kl{fI90SsQB zsw4I+m6v~qDG^Z=dRabznF+jrXA9l!5iLmKbtSc+=n|YqkL3Z{Pbw;o`dBl-D454` zq12#c$@5#*1eo(mbK09+V5ZA&zb7JSKxKK$;Ha0k-u6(Oa4?{#b<4i~LB*Bxts=YF zD!)Z>ZnA0W+}mcLNk;Uj>O~8d%r@l}w9F|l=?Te^ae4L>*Hb)agWK@c^{P1OPcPDs1+uFnD|kub=84mBP+75e!n7Zi2z zhqd{oO-t({!=`Q7Ah622QP;aui~N>t^G&lht(iY~#>`o$Sr6IPz(^-I!hXQ^|&-sioF^}feu$(z|`|3P$evAw+eWJY_3{Kd=d?kVqD zGHrkPNT{nkMb(gaZ^tfaw)J=U7GHG(y@` z@e-m-sZMecwtp(fe{L0bTW{-GGcd%us9WcubNn4?31xnMsmaN0O%I!no4)Hic5?T= zBgS=iODQgNus=8aeO>-rZPhZ zM>JLA6+TLMYx|}haar+iZQt-v>``l3b=y%PS)r{vRE)AP$9)eywdw8cyPn=C^y)Xb z>pT5=59&^HV^lv`qTYN7hLt*6t43L=@}bKQCKViS2!#5$3rK=GC$TGmmuPjhNFe%~ zz}0uq1D!j{WsIeIFRrkN1pISoQP}!0F!Iu{&iID{(1}&k2|^D;SdHr%mwqN#cve^2;!F!*|ERa7wf9m7X))j1ee6LkG5t*ZA z4A~wV+sF87O3cxy*iR1{^NQu~-~0&;F)CO%i)8t%qq|#m>C`hXy|8-oLwrA90Dl>S z{q(i@s4G;tJfvbDry#fa7zC&sXzE1nE~!ku`u${tDUN3a7u~ZQ;$rl{{6x-^pV+a3 zbrWK)oid0`_sZR*k?@zV6;@VK0GMEm@Hp=IlX;+c&rrAs?F|w2jb%8m%lsv zx!tySKtzaNNWb!K?QO;s7IZSbV-lOtcrn5emR{-?JZ{dy`krtjbEZtTXUi8qJoj~G%)XVw2Sv7EVdsy$CvS+HGG*MO5m6Ioj(v1d z_`neZH`pQvj2yU8Dp@S{r{~qJpSEDpD&eomwYQC% zI(ISAEWxk=Yp?R0V?94pSFWDp{{?>L2{;PmnM)buySMomsb8FREIpw0rk;nN&&^}` zubh3ew5D8s?yKs1N^6SezSDC}R!n-IS$%fJ#CLt>^x>B6Dp=5^D=b95fPS)1%NOM@ z6XRcui(>!k)~4=-J+9Sv?c(br8MqTixpCA81z57;_+iL~X@J%|5!a$e6t zvjOXIfb|17<6)4-J(a*X?@~{=n%2jusm92Nw5sLNpe>Q!CeQkQMJY9f@ z8s=3AY6j=ZR)>zXaxAmU4eUKR8)|A2yJU2K=7v#CpsaqW19&Fo zNpw}t8{cr1o~T^Y#S}X?%h%gSoG`1xm>5W@61-t9#7Q+(f=(VqUnRr7Ew10=*i&__ z%6&3Ylzwl#!G^2@BlcJaf;!9s6=3Pdu*>lvhOoW6N%Bm5|-v+?RF-raBs z1|D^+(^I@ZQm{{u#%uqLw!$eo`Ie!rh>tWbOcs)FpKFQeK4khm(ccK^EaT%Nr_~rGl9$iB(W2u{}(&n3FECVlC zhn~GU0n?>(0(sYiUB1Z)#O-#awpM9AGM3O#wWhRN{)Fn$yCW^F)^&euS4z74^RcJT zXO?HPlI-f4DW<4C1G+7>+S*GG$J$@Chu<})TXx?0eJ{RgXgbAOeE5TVTX9a}f-Up< zjOKB#%+MO^`yTkK*;9S2c&fZidaz#Z^@`8>P)nUX)w?>^t?a2>D!!#Xb^RIP;Y_)t zSNhbV{r9D1{PN-6i|NAmmj3+*E({Cr)UV5EJNr}Een$Q!GD#55KY#SxKOQkzy7rkh zV(jF?bnF*8=%SVl@fu&;SNH2b;yz4tTs6QE2;!;~FQBb=?g074%KIGmWnay9Uyl%; zzwRC*u;@W1w)517AMO$(-8Lh8S_Iy=1#Hg(cXAB3L107)4}S8qAW&wh)6ocVs19PW zp-M%&e0{u~ON=57#1#@n+PTYwuqtO3oQb;U(qpO4uWM;KY)8@QEz(H|fsUmKI~rx< z1_|LNCvnE;t*TSkY@udfzNgu8xmaIt8zxrWg+IT zz0Ol&-$85A(l(CXzyH8)Q-?ug+K=j9+@)2&F6{^QsxUqL6!H-PgJA5(9)5lXDa+?) zUtRvK&c0J<(Ay`x>-%q=d$Ll9|EIPu0nhPR|DNS}->i}lYiI?r2g#c^D-BugTSSD~ zvXKx8S!~r%Ra;f9kt&L!s;Y#lw$@b9Ru$C^M|-+B+A5Btj-!(I`_1w$$?5t3&v#wl zmt4<#&pgk}{ATXC?|bH%XBM|=b36LU=u~f?Zi#)T`TmWypycqYuLlN{AH2fohsWu& zg9{`2j?V38-f{ZaYh_zkoPgF-oH0yT9`bA=5h~BJ*{GXmG$4B&UpQQ~!!d60^sS>C zJJ6Nh?9D6cGJsu_=Qe2 zH_p6!zFksB+VtZ?pS8W+c<9))Wet;>q>M{j+K9e<;mWTk=!o-IZXTmkXU(5jv$J^C z{7J&r$+1@M58W}@XTH^H%k0gUYu`)`&|%RoO{Sl=t4{p+_Hm4f+tV`bhT9kOsifG~ z8ZVW0#a?W?O3Gle#S~v~M3>9nNQ!TSSiq-N1DM6o2F^W2Thv}OkD^UtZ=30dH2CM+ zt4uX{Tc?^=p)=TphEqQBk79O(RkvYRs@ozrYCQP@TwYlFDlz^q$CL4$00IhYFTd%v zYNHxx3{i&h8@Fmsnb)IzrZMLAw>W=PjqXCV*!CHADc5$(Nc(?P_hL#h>b`-ld;6G) z(Y8y?nQu=0AcoqbzB&DU$J+tpr{(Qv7TSD#(ZtsR=%+tCqCOY?@z+N+|2R(-Ct9T+d>!B)g#!69QZhbHq&YTAu@iy=mfx_f$3U`Ok9M zzTwdBlMhV`pW5A?)l)yHtiC3)S}e1gv8l((`Rf`s{PPT}?@t|3j{%qiqYdkyzEj9L zb{y5+T)kk}w=J$UT!n^mdBzJ7h5JVB4tBp5Foc_n*Z$G{aiSzSjp z^lMnqIb+oDs`UOtMu~c$*ahL1(Gc~}o)jthl#I96f?T34#<1Hu?E!}ST&+bVZz~#z z10#7J$H00yrXN<8syT?R6<6ugM7ATX5gcs>UiC#|fi)0%Q&h)_NQ^gNezba9wl^T` z3-6(2XSM{kq~I7@;IgAz9>>VSh2uYUVAtzU&diucyT|ow6}Eok zhP@}ZnTMwj?w*(wWO-%X_FaeHGLIc5)}&MNI{Jq_QI~G^K6@>lwA&r=h0b;9p4_iN zSOGD-)3oMj)$OX9s`k7P-v_Py>3|^i_y7ldLyw9xGyI<`&qv)vub|2V#QKqkf?SVbQ zqzu-wrM0l_Uq!G61XY09!*Y2;7;|IhW^{jb^;38ERnze9EQUY%M=_F=Ji~Vvv-lq6 zYoEzd%f8n7F7{s-Tl934ebvTQtgjHpH4F#Bh2iWv+Pb=?{ttoXngidrc+}KPhn%DH zDEEPJy-BOlWIVb9#gh3Nf%ofl^!0=7@>{E~|7Y@B$)vzy)i)aWTBCTb{d|03*ca>+ z`pPE3^4$c>En3@O1;9KAsG18ZzgRfl0qV-HnhmG# zeErQ4)5M}V1q>ZMk_+h0a2iMt6pi0q5gydlsy#yiAJhhhu! zUxwaJ{ehas zah76T-bv|khBv)!50CWMqJLU9yuZmV4@x$%hnP-(G}(&P&^o;R-D6)PM|j!xm^~04 z?<->dV7O!VIeRO#Pu4ujyQ#)Uv{Nc9WUYXFP_rEOMVoCE=X(kn6ltUe+Yuf08?5yq zp{AE;-&I(wMR+(c~mOK<= zR2^j*-&Fa7{OQp4KGQzA;~(-7iZY^Kg|rb?mhmH5Mwy1xOOb}a40r0Ky=~jq&LQ*Y z@0z^iyv#R5c*xU7s0S?@_U36{?L8)CAKBaq*eXssIY(yObLxnLy%x3Zi}2~DllJhC zjRgp;OXdjwn4_*m87@dZU@jT*G=i*0|51mR%Sd5AUG^*&yuiBx(nol~3);cKiwlw$ zG9B<@jguD+T&Mm6SG-pt9auNujwIWv!>|_*K0ituDW1m}FWR5;0v5)XU<6ZINqc&_ z%*c~7Em=Ps?0Mo1#s2CN!%SwxIJCt6_PWnq%a176YMGx+x{goFG%$8*oH0|Ru~FtT zje236T=U1?ciM+NbM1M-i$jX!!%~Dd(~)-_GV8F^CWUERUXvo`&me7t^)u5aVYq}1 z5oM=RPE;D{<#~2QM;eZNBW$2)ze)o#SY#W3FGo6mj?gC8`sQuTf%fopv~8r*t~(^( z%{9F7k+h{tWO>qNJ1nWa7WTQv^D6b*FLs55m@L*Tiz?I!FMs%$&-Zi!QW9k$(hrhy9oS4a3nv^D?U3-EX3 zMc9)OrYi_9><`-M$^UM##7?jFy?(F2kB`>#)Lp&UDIR z?a-3%D!j1q(iW0L*g}VmcZ7HDg{f?tkacO3u-D_8f0Dj)FKwZBEydoPLLZ?^lWk$( zrMAxwU4rIeE{>=wt*h)esUI>9O|ykK`x>rsoOR2aI_(3Q5$ov5IkeC0lvP$=_Nk;D zAc^IU9+e|yZA+Al$-FC>nQV3B+#xe!w`#fbzp^n#kj%FXPt!sjdhHtCZi`*z9rYCF zwC#>IqLyt(c+q#1@{W31=j;nQQg`adBn$yyzAwUKy@G82lWjHVgNk`{3(Yp%Unc5< zuf!L_OpL|Ues^qswK5P#Dv4!;IPXOEs&w4?<^lG&=!ezEOha9lj<#9sbuOj_$-0zy zVlH24BuJuT&7Rc3LHFlO<(X_hE11p zBGU%X%bYxSg!Z-TsSK}VMTJkqPC*W7afEmBT#qk+KeCU<=ePV8yZTq&5i@X!J7(?U zXAJh2bf4$G!hN&5G3G!o_aT^)YnOY>E);W}5&t<^H}h?Awwc(?tnzjfq)^xdDcHo1 zZxbw`{7n47TU6Oi{CtZC2U|Aj)}&_>KCN;tA{-Dtl{jSc|6AHv=in~aVm!otZ7s-l zQt8dGu7t_Sb@+9xBf<1CcQFOICkkG9Oz@=MZ zZ;o)@VueXh@4?>VybHZCInCQ;Zu-8)&P4{59*xEJW6iLoO4CYzZ!y2V*+7aN=()YNKD^U3SkYI;zU2sh)VTs`rx zeiM@-S_Sl-lo-_-{FU?TWqT~v2Z{E$g|j_&tPs+B7VEW9Z<()RT%`@xO;`FG;2EZ2 zdpmQv*E#*(<9x6BzWy!!yZQI@AM8KQztDfKzx$ZI{@C-yJ}BY3G^*0?F|lisTzOL& z;4ijPY_>N5Z1DHn7w7~K0|9zwoSs1H|7YBIq0WMg^L~>PyB4+!u(*x$%};7GvqLkh zn`y6eg$DHwd zojRcz?SnNltIaFq9@99BfqP)hOf%P&Fok?Bf04h!-{Qx(H#FY<%$SC09M1V$y?n*8 zFEI;jFxJNv61OpG9oV!=*EK<6*wtBSdmGwo94oz1gJBpYHr1&{cJfVjii8jDxj}**4tG$Avty(AT*oT9rMYR8HbIYg};lAPi zp#%LQKCQWT^pLy9DU;jC6zYw%OKZl_UYLpFj}~8~jkRnXE133~UDw`VYLHs*Vow-j z!|xC8>Dzc+Ui6rjJ(~nSW{Gk02nvq3zAzwvQb2>{9zNY#h4l$T`tQ`NN9%PEeRCfo zhV=;2$Lq?AY^Ha!I?Kz6}tjL0hFIs;# zN73vuN0Gns#Tjec+ifGMX;1Zc?b&^P_NSV!YaYJ)E+$8g+I~XF1^EW=Tn{j}qxQGS zx^pT1=Wmm(FsJ&9JHOZ1g6JQ{NBgbf`_Ed8+loE*>VBKFr)(cllyiEW` zmwPIS*`fG8#cO|?G&(;~^Yu5UKf)Yd+VPuHA4T41H@F~YeVd`}hZf{i1hLSX3pGDu z5@-`T5W6rntNEZ_|x@==$+gV$G;PEw|U;^9UYp$61-ixmu zKM6Y}`rl*Bp|Cq@EMhcve~9_F-o4(-U9{rjdj5~U$B*;v@jGehE^QP_Wf>8o?z9sawCzH8GUF7 z;3m?Uq}S{PY299NT%_#?L*@di8DSR zi;P>KPvRO);!M8eIn!_w$1G%k5lOlmD@dr(ki?l+;u-FnS|R+mprK@m@c?nwkwRlQ zIc<6z{)^;2^9FL(IAiBcStyU-u4diTP%6+ZM$JalW90RDbf^69y7|xc>0U& zzOma@&3~qWrfWR@9SJ{ezvW$E<`=JT%sOa zFOxS(vDbsB3)c%LoAflbBN3u5TrXJ{b4i4;iFA>C7rd`?nNvt}Q5T{fTrcKMEUuR^ z4f%7_gQyFas~_YliNuP!aJ@ub7{hE|ODf7Ou8shAyfa6LZ*?|R;K~CHKvCO1hkqw26uM#jCkmZKymX?-s}`I|~TM*aP_ROq|VIU!@ReudtbK$f6; zbt!#7y0JHH<4j#(r$&+Sropfo?~&<}e_9@d9tc?!ax7)Zo`03UG7%Q_oy9m(meUR_!giX!PR*Rr05*#R63^<}xUhFcbx-11(+)J8cs_cUCD56M ziFOxqDD>7iMsiH=!tR!na#J{Y+0>i_nI0onwwRdmc1r3e$|&`)9a$)3 zLe#(UH`}LnJ829gO{H$8As+0dG0^r8!DGQE(~D$*u#u*LWShx@1j_h=Z?Vvy=F%>< z2JTYS`+RxtDcjGmZQJ3`7SAC+F9_K%Mv^5moRGQBw)4^s!3N^2Fkw?OjNN3Wu$BCG zxCf94(67xRP19^L)@WmU+f+>Q&Do?BY0MD!WgJj(&-jikH!Nho*%SJs?UCsf@`>Pq z@hhI8UZgJQcEasnw##VW;!OV}*90$6w>?m|ubYOV4H0#F2=!^_;hVNsMVfA%Y^ROI zq^}4o!^?QKt9BmN;-6@z1pknx*#K_@|280AICNz=vCuIJZnofnmdqA=0&KFQ{-uLeZ*}CoQI^ZIRNQ(v3+W{r;ul? zfg~OIA87BOo3f1)HU{mSc|2sN80jI5A@TuSsZXHhvt)tk3S>i+t1SsN??+j;pd9bp z&KWIj@0ib#RMRCAi#&9IY_)UWNd~w*hdg|5dygNmotAQjx`s|IGUCa2<5TiI{~Yq9 zsr&C_k$Y3vn0C;|B$8o1gZASq$cDhZ3f#}gLc@#X8wapL+q1emt_jek1-Moc&xgYa zc{o?rpWv0wqj3`T&Se^hcEY8p=2s zJp2`U;7Ov*UCB45RI)+ZNYsg2GRi&x@sE*s!E@6|Qf|DB_Qu|BKt@D8DSL!6O1nfR z3waTBWkG02SMZZO~1E*liW|K~KDrDS|*Uyo+Xksx9M%@cJ z5xQ-+-^iOiO)0;SA*t7O+Bv&@6Y?+Q!W2xN;?>m6P90cwzKkWKjIqSm&R++$w+p&X z9d!%27qTbxM9NPcYR{w4V^!r#`+`Si^y%#F zM_pI3>?nwnbK{>9sn-#Ol3+_vB?SW||Ll;~|-gYd>4CEr&FeGxA(XK{JLFWyJ= zW$H>UnH!T+;^Gr*BhWS<6zwxzWqXHiunk}r$U*iEImAA&9fmDl1l!t(y-tqu56KhQ z$L|Tc57L>JCiV@ z9vNy{i2T1n65Yee6UJfsIBdaA^H_4v{2Te$EdXu8GqjmeMEaO|!@jJv9mIRdF{6}> zblXp+GB;ba(VO%)e2_0Q8E$x!q5KMLB+5*$*sd58$& zjs9vF`pQGl|NDx}#rcs#c_H>?8bl`XQRH#{DfQyt;XUC8+K^Ae+webVQ+%g6j&MCi z7$Xn%&K-Tmo1m-UKTSdz_8Kty;+l^>Oa$r9JCMg&b5e@;wu$K5MDScP1pUjWjC4}Y zkD&ka(6+{S2JKopSuEoflT6VU!h1k>lp)B7Kw9Z2a{_6IJy|F5-$|4aL<0DA@&rFk z>anrpMYIRm`2HDcdL3ae;wmG##!BQT6YgM=fOhY7V;?C-e)pPoq5U04Mi~BNr%})L zySy)+!S9}q{k`=ZOXSCXiTvqHJY?Lq zTv5$a@K*9z@Y#NW_k#bmE_)vBcyF3HC{LcvGMzs0z|kdsM} z7a<4scp?pPzkv3kk8t8sw5^nG#(S%H-q&`8&nB<4JLDT<30cb?*)9pbsF4Nz+lh=O zKhhG`fE{3$IN`y3G+)K{@KgLd{=gVu%rq{UQcau8KIS>*O1BWV&2ER?F1kH*4|4D0 zzS|?!V}mF0%=FypdDF}4wb|>TcVq7q?+xBn^%~Y2Qg2(mn?8MfDt%k~4)R^@d(_X< zFV%0c-$}ol^^N+$^;7B>)L+q{b%Ui1uKN%2KiJTx;i`t$8Z~T`*=Tp8GmU#SUe@?> zlU_}BHo4I>w`o-~pJuVmmNok_ASfU+;Jtv0%{w%oivKk&j1~ng?mjmDv4xLY9v}Vq zt(Nm!u4#Fo<>A2bfhB>v10S{WX%*P2U#o4c&bPYWI-qrM>zS<=wBFSEQ0t3rg4-mv z8QrF&&9XK-+8ht+6ciCOC}=`ZSx`mL-k>u<-vvEvo8ES6+r@1+w>{MMeA{2z1-3id z?#p(!+MC-4wvTGRw0%v7#vQtLNbE4GLs5ri9n(5ycAVL9MaLZ-k9NG&@t01lQ;SXq zI(^*f`%Vu#`*m*DIkt0AuzPS|a8&T1;0eKH!8f}YU0QUpbm`Y6vr9pj*!_%xAyK(e^PP|F^4u}qko*Dgp^urjxm<}&+mKr^|JKp(`#X`gS~3vdc@6-E05b1 zcOdR&{NwQv@#*m^;y1)^i{Bf6IQ~rhrTFjSZzi}W_$4$==#@~AFg>9xVPV3}gnJ2( z5<4YY5@Qm}5*H>ON<5zAp5&L*G--KKdD7kFQOPCA%aeB`A5H!;`DSnT-V1s^=o8#$ zYu~1Q=l4C=FQVV1entJx_xrlvcl|T_PwIboK+^$b1HK%{2KE`acTlH6%LY9f+<0); z!O4Ti4xT>v$06}Ujt=>9$ep2SLkospPU)ADl9HcNlJeuQQN#8OJ2mXuu=}Y!QWH}v zQa7jWOsyGi9$qs1UYaGXUs_7q`n0WSyV5Gt-b<@W`#A05h=36bM=T%lak^i6pY#>! z*GDFfTsHFlsQgh?qdtBz{>dFro*UhIbf?i9#xxi+WK8augJT|z?K5`G*bQUPj=eN4 zWZdX++2h%G&+*CQmyWN>aL*W>aVVoEb3*2qSzWUdvqond*)6i?XD`iOmAyOrKu%!J ziV5x$0w+XG7&Kwkga;GHPCS|0DR*yPY~HfGtCM0TRZJ$6vnSulpE;%Rl!H@_PB~Q& zT(F_wT47LOY++hqW?@0$&8fN5h7>g{Dlhgao=|+a_)dvuNk~a@$>`Gb(lez$PAAhR zOg}fH^^6TO&dj(sGh*hv|);zWO zsRwh0%&C0Z{pp=$J<9r&rIw8^%P%V_n^SgbuHW1ib34qPKDTP_xw)6;h0I$z@BF;4 zpXv9^d(WJD=HfG#pSe5VbN;0Hhv%P}f9csC&u)Eo&$I76d+OPX&t7}>muK%T@LbS( zL5~Hg3q~)$#K9U3>2S!qE$lFZ_DptwrvO0vE+BN?9~& zQRbpKi`FdKv*^^KYm4qJ_F3F+aj(Vci;EU7U0l9+>*C{!uPuJGq~VglCBaJ;F8OY0 z@KWp2is#!szj;~XW%HNad?EFP_m;;l-|?dH;^-ImtRO4ORxDhxYQ?4%yH*@rac;%+ z6*Vgxuk5-qdFA+(vsW%$xoYLEl~pURuDrL(XH~mZy;h~KDq6L4)s9uiS6yCpceVHG zpw+Rf(^gMiy?FJu)yG$#UH$dyJ8Rt61g?o#Gh|Kfn)z$iuQ{;h?3(LqYSspu0WCwtn0C!|T6)Iq2p2FYkD{^5v?R zt2R_@*tMZ*!*?6WM(>S*_@A(G*TzSi%3kq%rNt|IH&597-R6f|25mXC<>Ho`Tg_Vo zx0Y?)x%K9&#;Z}Up4#TOZT+@u+na7r*}iQ1`t1jI1nvml5w)Ywjy|tl+ZnNQ+v|a^ zr@nr2SEpUQb}id=_l?9i%HO!N+jDp8-Ai|0f3wq@1#ceM6R>COp4oeTc`M|to%kRa zw0G6sANN`I?W_!_9J1eM|FZp$4#XeWec-^`mbWLpeceW!vUktD*Y3Sl?|Z)=_5Sqtcf5c1aM9r%hkrc$@JNFrosL8t8E_=~$ebf< zj_f*8b>!TU8%NpEfTNb9{f>@5ntycu(d9?C9X)*X;?ZkI?;rC!*5O#MW9i4TkIgx@ z?AX?0dybtvcK+CnV>QP;j|U!)IzHt1gyTiWmmc4G{Lt}p$1fkhd&2WX;EAXcLr&zL zC_7PpV$X?FC%!xJpvtEzsH#U*O4X#Q`BlrSc2}LMx>j}n1Md%lKIrkm=ns~DaOh;r z$&{04PF_2C|3mg+z=t6pmVbEi!+WRPPX(UJKehGLxznvrr=2bk-#CmWq#Uz;GVlco zKKx-TB1Y&F_;M%w4aha&GCbgp#iiU7Um9bzo8dcIx^{ESqR7^61K)wSX}1aM2hM7@ znY6>HB`O^^(u+Q>-5$gnCo`-2UZf$uBP+KzX@~hE%3Y6)ruH;_NGd+NsQZ4zo26=Z zeG<{FQ4SVXCWaZ6u&9Bmx-$cS0MHm$w4Z4*b`|A)@X~g^5M&>6*uO8h!a>VR*Xgo z`>$i90l$b815=bK5IO9MD@5ki3RibW&TFUHtk62M)-6adwOfLiF_;_Bjm(h$U6GD6t**#J5o*4hu1$MB zig9NEYAk^yVH9i_e!HN?M4GN#bCrqO_3Ij{w(QgnHv*;01aIwfDrz-^h`ZS+RU&8> zXef!oZwP*c+=Syd1m}g>B^A2|i0_lOd$=Yc-kE7BUXY=STss~y(6b-;YG zPM9Me4Bm7Fzm(R55i4>SK_ZdcXymjz>4B5YVlg+P7iuvc98Cl_lOa8Qz~6p2Lu3FX zbP#543?W0o-C@|5VL0k@1Z>VoG79G+jK+Gwv6$B}9yPa{yh;{ecmE@>X*bA1vYb4R z(@#^*vYOn*jMo=1+ifxV0JiP#WE0L+`<>h)_p!3zP0VUPP4aZIBDZ)GKU-@Td)Uq8JS0(Aveh_@*Xv)iJGy;fjjje z)ue`cQZMRFvArrKSg7brap(oDPa9z8kcPAoHdtyxo6=@9fHuc0s0TPD`!V`B7MulQ z*->lSh6YjWi$L4c4zwffL_5=9@{oLmb+p(ChK5k=Qh2HfsNvN(q1%<#?u6vNRzN2xHsNI`_g`7FWE=?(*YR87(@rtAz0UxLWj{*@&|cD zek4E9;aIaW0*CjE#Jt5Pac24$I+l*3<7o!Xq**kZ=FkarBF&|Fu<-BG$uyr%p#|hR z`5P@HJ8(k$G+IQ9X$i&IKNPcS=`1>%K1Juyr)e3s$(ToJccx`ZyJ&(me}1-e`uR7zLURdh97L)X%BvXic(74#*#p1w>s(2aBx zHr(Azx6rNhRl1FCr#t9tbSHhCyh3+j8^Yc6O}dA^h3yFU(Mr0X9-wd2gY+GGh`vkT zqwmwh^awplkCB(@ae9JQ(GTcJtXe)rPt!B>BlAt_vSuuR;d?xLj6Kd;;#}@ltTk)Hf>>MDjxESB|Ty;vNJX9+BkC9z~or0K)@;?&UoYyca` z24UZjA#5m1VZ&G|8_v?$2$s%9vQg|wHkyrLW7#-1o@KC1mc_DJ4z>oK$Z}a8o5Uuw zd^QEAn-{XFY#J+K#jJ#tvgvFFo5^Oe+3YDchds^8*jyYW{tTPXo@EQzb8I17#1^w9 zY${oV^{l;#w+w2beJG;yN!S1o&*?sm;_JIA1J!F5d zN35FFFdIg9C}*5w7e5m>b2sjexpJP|i+l5W+=u&eKVF|V;QqWJZ^Rq(CcG(c#sheB z-hw~IAIH|xfxH!O&D-!G-j=uH?Rf{@k$2*qF=o_-cg4ojAv}~@uzJ+W!+8Xc)zz6a{*tB{GAIeksFrLbX^E5t! zr(;+2{d^=Jg;{0qU@pXyvVpvYT_4tvwHOzjirE*(c@Zz> zCA^eR$60wZ`7A!0KgH+pr+FEs5YFSz@cH~%zJNc+7xG1XF<-)$^5^+7{sLc)35F~9 zN{pPX=4<#`Ue4F?3jPvb&tK*n_(r}7(+@ZEEqp6~m2czQ`40XX-^pL+yZ9S?H-8i3 zZEx|td>^mm`}qO>Hb2PU;fMIU{5}3YKg^HtqnNsQoS)!T`~!ZHe~8h!)BFtoh=0sK z;b-}${2c#`pXV3&MgBRz#J}KQ@~`;U{2P9mU*T8zU-&itEynZy%D?A7@E`e4{5t;| zzrlazzwlrAP5v9sal6g$@W1oB{2%-t|DE5*+4K+izxYG`2Y$OraKkW6 zhS_j4+zk)I)9^C9jd}*os5AU9^Rt2Bk9BU1u-`=!qp4eIL0(8mNTQ-~iEeRIGO~&a z3*0gkHOFNZ8TzU+XM-Ts-DMDt>`tZ9&G= z!s3#m!l}7AJgHzJ&ncMbHdq(FP#1o%Dtw_N^#3(A8&7QF$m* zc}Q`A^)7Ppm{U|9iWC{9Viil`HO$F6uVSZLRdR$y(=ctwj`dT9CGhD+u=0j7Zyw`HVw`#EGjS+%HQGgw^aP9QYVLa#)-VDWHKC1x40yE z%Pk{EQm?_q`5DEz%3bJm%Tz3(QJO|;s`S|s8n66ek*4CT+!-0l7oVVLa+t@&qKxS| zsK!hWnX+_AE(@2DTUa<*1`P{Ic1N)?bMgykm`X4@SzIqWFQ+J{IImdxJmd1G=4MEz zM@B(mNlt!FUWRwl)Z#p_K;CvwD$&pT!dS>#-h-#)2?M4)!(9S<4xW-TQ3a}>hv2oa zOcKk8&nd|;_0E8CaML)(DBR+}F{S3hWe6Zs|BR_qGoXl5GP5(-z*07-l%?lE9V9Xv zlE+hW3r)lFCQixVsTrkiIv0FMZXQp-HKaJtTcl&pfv*l=_j_hI3htfbQUZ5mK(RyQ zU%DEWs^|8o@}^0~H!>02G*J}Bl%11blHsP)GG^le7Y|Ehkwjvq$+AfKvPi0S;uBaw zDVv$+R;bFwi*gIi#iCH5CP{b+%BJ!8RFo?V7qVk26pZ#3$=b8!TPK^|I!#qe`l0lA z%E;2GvXL07snY1M#0crPhA4Ax4N=dnA?mp`BuqcIY8tMoJzk{tE9tg|DCxH9*2)^9 zq}v*zaSTQt5!<6AVoMdMp^`7IjXqVX-d{1%OG(fAgPZ_)T+ zy8K}pKTP9?Y5XvaAExocG=7-I57YQz8b3_qhiUvUjUT4*!!&-F#TgvO81_z@aELgPnh{0NO7 zq46U$euT!4(D;!WKT_jI>hecw{78)-sqrHhjUT1)qcnb$#*NarQ5rW&<3?%RD2*GXaicVDw8o9rxX~InTH{7* z+-Qv(t#PAuxuZ3Hw8oFt_|Y0aTH{A+{Ai6It?}bDew@aS)A(^3KThMvY5X{iAE)u- zG=7}MkJI>Z8b40s<6S_!8(8Bsew@aS*ZA=oKVIX!>GCIO{3MN^r16t9ev-yd()dXlKS|>!Y5Zi3pRDndHGZvlg}xBKC`-472@_~9W6KRiU? zhleQq@DPO`uG{@^-R_6$c0XLV`{BCX57+H}c!VP|2Ur zB-L(#CYwjdjzdd@N0af@9=AUrSI@-e5LR3 zYkZ~e@N0af@9=AUrSI@-e5LQ9NlM>ArM!V^e5LR3YkZ~e@N0af@9=AUrSI@-e5LR3 zYkZ~e@N0af@1aRb-$6CL(s%eZ|CPSOulcX^9e&M!rSI@-{wsZlU-Mt-JN%meO5a11 zl)i&%{wsZlUzcC$JN&x*O5fqvDoY0{xeF@O2bJ6f zmFa^@?t;qnK_z!VW$7#-N?SogJtyQ%EG^2(#`~^<3=OYWT9BPnRGd|a+nM?Grj_Cy zQ;c>M73XBDFsk#6=~~I=DR~8A*rgaRwguT9IWx2Hu7p@Boa&TWLL#jm1;wRPbBgi` zi;Vodq73uYoMOCbsZeq8Mp9`}q4b365``+eVF?Y5@W?4H!8lS$PPPXI*>dtG=9c7o zm*isTN4bl=Cge@GyS!QBJL%}D}I7Xeu7GVCMPLtnw+exEoh>9 zL0&;lS7hEpCMsPLL%7_E^JWTKPY#EOH+b#l;xBaTlBrXyycoZcbDrNs(kldMnaL zk-mz=D-tJ(hh(oTVabd_Nx^zSJrp}oG7rb_iTmuFA{od-!si#1PH`8E5e`qqE8#Rv z?3$5}QA<&Q@|j9YJTebau<`|6gsPV{t0*r&KQBubUB?mpH1|{a?5`q7?n*$BPw9|V zBJ!trAziW#;PTYvg410VOgLo8L@-qhxXc3-$UsE~DKc1*p^Bs^GE9+FMTRSqrpO3M zG^Q-(NcCWpB!0u4^)GMu47WFN((5%+N`Q3xPRuEqf^p8w{9^TNlvBifo#SEpnKPcx z$XZGIxeTz$uzoHhaq@<@9;%a`2DQfYdQ1IMab3O=sE6t!f{LX- zFi4ND^BaT?=uE|1f4xu-hC9peHC!4ndEaMnZK)hwM-jXRyTlvpjOR7TDOf&zYp2n- zZW?`E(&+0WB)UzI&7&~B!Za%5 zD_lPL8AY&mvYAKfUW1+dBV?~P4w~+a(}g`*XYvk>32EEhkGOY!hYjjw32G!t4(!pn8Sarv zFE=+}1|~h7*EF#*q#iA04jK6+gGdPs{oUH%|P#D1JT@KQ{5xvpxbBil1Zt0>~ft zUJ*a=mQ?!s;{opBrxBix6F)Zb^I0Q2#r{skl|9AJTjHls{9uEpVlg)=W#86tLjDgg CNn07 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 S;%x8JcdQ4RH9v%~u>KdfcRq3e literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-regular-webfont.eot b/public/fonts/Roboto/roboto-regular-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..ea3f5d5c2e3221023d257359b132cd66898aae54 GIT binary patch literal 62462 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 z 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 mieo<&DjftA5K&M>0UIcr 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-regular-webfont.woff b/public/fonts/Roboto/roboto-regular-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..8bb88d92a602ed177f2e86d9afead6fc1222bd31 GIT binary patch literal 73760 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�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 UN#+dvb^eL1;cC?s2;kuS9|Sh<^#A|> literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-thin-webfont.eot b/public/fonts/Roboto/roboto-thin-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..6977e840ee76b8fc67295b1e0ae59a1cd248534c GIT binary patch literal 65274 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

F#ib-2=xA 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-thin-webfont.woff b/public/fonts/Roboto/roboto-thin-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..1797934170787f4e74d935844875365281f144c5 GIT binary patch literal 75056 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-thinitalic-webfont.eot b/public/fonts/Roboto/roboto-thinitalic-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..50fca175b8c11830dfe12698682f507db7fb04dd GIT binary patch literal 67602 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

  • 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

    d<-X=*N=8nV&d8I6I}B8sUSKA%B+!IT|Is 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_condensed/robotocondensed-bold-webfont.eot b/public/fonts/Roboto_condensed/robotocondensed-bold-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..9efd87b05419b7321ed8fc191b6d3df99385b292 GIT binary patch literal 59933 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≤8sd> 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 TMP_=qZ{NS!mS-Q_vEzRLFzv3u literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.eot b/public/fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..158770c146797b44ebb37fd91671abe7b5ce35f8 GIT binary patch literal 62950 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 IgSC_Y2giHA1poj5 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.woff b/public/fonts/Roboto_condensed/robotocondensed-bolditalic-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..808f98bf92a8c33036c21c32715b6af965de4cdc GIT binary patch literal 73920 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 F{Vz&2i`xJI literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_condensed/robotocondensed-italic-webfont.eot b/public/fonts/Roboto_condensed/robotocondensed-italic-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..9be7c55b8cda9d47cb21846f6d6bc95a2bd819f1 GIT binary patch literal 62316 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ª)XtjnnDqtYVyIGd1N@~ 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∨#kpV(wb5~Lj|E!6@(W1iAgmBwo-77m}C-0^Ptb1 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

    9!rb}9Mf;`R$ELr!*^YznbOBsq(9-=8g=1! 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⋘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

    _-&E@bL=DpD<$2x93is~+s72dP6u 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_condensed/robotocondensed-light-webfont.ttf b/public/fonts/Roboto_condensed/robotocondensed-light-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..68f30cbfdabb1ab09b05e593d86b05268d4ea6c6 GIT binary patch literal 137952 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.ttf b/public/fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..00516c656c1001558e7f981f457801383e67f427 GIT binary patch literal 141608 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.woff b/public/fonts/Roboto_condensed/robotocondensed-lightitalic-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..5b4f9cc60b3f1064a1c8c2306ca2789591059c59 GIT binary patch literal 72940 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 AQ~&?~ literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_condensed/robotocondensed-regular-webfont.eot b/public/fonts/Roboto_condensed/robotocondensed-regular-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..a9dbc9c497e03fe2cabf6b3cc20ee2f515e12015 GIT binary patch literal 58866 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_condensed/robotocondensed-regular-webfont.ttf b/public/fonts/Roboto_condensed/robotocondensed-regular-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f113561b133dec2711d18dac0ac819d1c557a310 GIT binary patch literal 136872 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%0Dgr$-Dc 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_condensed/robotocondensed-regular-webfont.woff b/public/fonts/Roboto_condensed/robotocondensed-regular-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..ead331948722db60a5dbb668abf3e983f1c304ed GIT binary patch literal 69056 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%0A*cHJz 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 URKejr4n)fzI}R<+7C(0EH#|2ptpET3 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_slab/robotoslab-bold-webfont.eot b/public/fonts/Roboto_slab/robotoslab-bold-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..1dba9e41a2aa75a7c19e009b1f47727b83f6ce79 GIT binary patch literal 84019 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

    WYg)Tjj?HVaS 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 z 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%0Akjd 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�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 NHVw` z9Z@1@W3f@f2?ayQFu|sX`LSh4fxJzOs4Zm5U$y#{lceDB@%J<%r}^hdI~{+TiVCS- zx$ZGJ=(`tXD>Q&c{l-s)^G|3_SV{zQ{mLGOCeR=IzYUR*&!xPOags zS@D`fSWbK!D><|ZYuS2XF6+uHt$ZwxANIB4fAZ&Y7mh7wSDtLiT&#xQ#!t08$sZ_3 zgIKKHf4A=}_JTM!|7Cs)<&Cb@MZaCj8?mJ#j;Lbu&wYrzQFwY?vy-|$iwrtV7 zS!SvWEh~~x!<81CjPs6hPdN93azYmztO@jvE6sPDc(`iYfx^7c=dPTXrA@;Lf(Hxt@>z^W_NP-AXH zjCGIsz1uK1$fp3CV<`{?BZ~ts9ux~$ZEA@Edx*e_rXi-QVEWL>fmja{g0R>rE|M-z zBj%16UlL-u?z)@eqa+$1#d3&a`@SWi<8i}C&Yy+E$2ADy%vwsJC1don#GHj-U89Wn zFoZty5%HPhdcP+68Xy~zfY4eN1Z(7Hbim@l!9k^lwjt&5DNw;`A(Sz*7Fe4cTsago zJ3T}oLx&^UJHXi!5rJIg4NvnVgu{C3M$~ESl{m59mJ4o=B!b^Bu_Gd3XfoU>`1nMs z=(7UVYD8NW*YuL;0;jNj9NXLjMtA`Hx@s;)fr;bnV9caNiAUADF%> zCwtX(53Ex=)ctGxKt&rF7CdtN=ql#^#fh0ItRA!5ckrceZ=A~3PG8B-zKKbYmh!2p z3-%@oV+F^M{K%9Duw-cp75KplH7|gt0I3{FgaSrnO+JH7E{S$B3F^%5#CT_RbT&Ml z5EN)fQOjom_(1^9Y@%uN*xD8#xnTC3vr(H{I<{_%RnuFf;gJbLe4 z_b#5hsl}Gb4?pwt{dZ{x-+yfE`WBh5-Tvw)MP9CH+n@TkZ`#tEr#|xR!n#*3AN<71 zCEKdNHTesBx&Vpy1PNL-abXmf#-djex>mzc!Rf*Mf$`w<0H-t=ci1^nNmNvNnuB;8 z7I52bqJa$f)uOO6#u1ZO$PgH-1!MR!PAZhqMmNt943owb9JIL!w6wa6wY7J_D=UKkfZt_g;?Dly)%E=!=$Tw{)4=LQ zv+p~4(qL}9b%#7{vi|&I8=pUP=Tir@pjoS$WtAm+hV|`Hoz;n-dd~F~|B$7B<=V^S zgpiy&d?j1YoZ0GH^L_lUPht$ruvKbr>=Hyzp@eMU#nTPTbTNx`A!B4(qAbzOrvTl! z3>HrW^BCO-$>VVP+i?lX1ehKf6Q)kNvih@^w*8^WS8rQz@2X|@?b@|&-Q%m4??m@O z{`>ZWzp`ePHz%jg>$`m2V+-}+)2EeXNK4R7IUYCK+VJCubxIifoC3S`~+7;NoxtMUMnPOwO^Od#yx;YcB zzxC?5SF`F4C2hL(9yDy)X)alItV%0AO(OQz(HTW9va5-8_d; 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 A>i_@% literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_slab/robotoslab-light-webfont.woff b/public/fonts/Roboto_slab/robotoslab-light-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..f3d5dfe2a2a5ca22f0f44fac810f04392d29f9c2 GIT binary patch literal 98168 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 ?|ow9(U%|n^qZfwvmf80{WNKgz4FZ3 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

    IVN{oI${ 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_slab/robotoslab-regular-webfont.eot b/public/fonts/Roboto_slab/robotoslab-regular-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..dc13d455440d16f385c81807f8210bb5efa6867f GIT binary patch literal 81709 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%0DGButh3n{2j%GFd-Qm=7mA%(6kfF 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 KXk^XBQXVh>jtyS` literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_slab/robotoslab-regular-webfont.ttf b/public/fonts/Roboto_slab/robotoslab-regular-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3452f9f2ae2136668b030ee0dce2e60dde1c554f GIT binary patch literal 186116 zcmd?S33wGn+WuYDorFL(0t65g4}?uf5ZOdQL{F@V+_mcqXY~TO=U*C0or*o%zsqU_= ztDdT^`)*^6G0pjxV0w-iaqe09iOH>uu>;wA^vGeuN2HvZRL=HzwsS^~`PDhIZ<=)t z+tZDiGic;FzaH{M%@@}h^QTqDxU+tB&hfq8-`Xu|%nRZ_|B|T_r=79j>T0&%MnJj#H*yf8%G7qf*%Bo=s<7bn7 zv;~*@&9v(-o0e>6zF?f9tMLEuA1<3TdH!?bmat76OcIdPGiy(I@pExkRcH1PcimU# z9_1fNXQQL+F^+MKb*}-_+-r^FUYF1T9|``E;3`c_JCkGVun}jTYm)sV#`FBE*efr) z?rQc0{^Tr&^#qgN`{QAQr#CUS=cVG`zUrROlJ8D-H@hY7{)9FOJ(JI7xhna(Itn^9g)6ySKpT?CM zmJ+V#Fa9;TuDf5L3wQAsu6g|-%d1?QMXp=FOydq*JN5c{ln`E7xLQJ+)K`y0^4V#d z^{(~tSwWnLl^h9>w%OgEK3G8aMZ+d8@m`fa&5!xG)NvAmCVkSMAl)V>w2^zb z`%_j)3TC9sp44$cJd>|;C(F@{PbCeTl7=a(GUugCYIa-l*(s~iHa9;yeH#BewD^&f z8=O^=^<7q7tM6LXr4N=gYuzU!-4Fj&ZAP$=A8j43JGt$da-X9ICA3MI)b7^gvyUC& z`yvdDXSyX#`m}XYCdr=cK5|~i)tzRhUf;P*=lxx7?lL{~)%1tEye7GIT#Ix`(TBUw z?Y=qJ$#qg^<#v=b?{c$jrB7=!BG+*zrw>kPNxVVotc>(7H)o`$OiF*4k`XLt%l(3s zk^PdQ{&DUuAr10M@5}K8e#w0~_ubrYbIWu0_AouV^%&e^T#p-j+}7iX9&>v{dldDE z_ng4fccDq)e+w^Sjy4^=k4&ETq`A<$$By*&+Ize*d!P5EoozDheD70RKs~z6E3mcR zYGs;a8;#|e{RBxMezqikM)BC;iHrva*UpdRYneKz$0rzq6wD*boj9246 z>lM1Qy>0FsZHP_w4b*pV7lj*fI%|Yk7O{S~2&g6jO>sFXPxc$IM zriB^deQQqlD$N;S6gU%{3(f<-AvEWEyUhh&xtRc_bDev@z2H7@KX?E<$hDpVPlIQ` zvtTxu0~T=om%z*574RzfGg!#=7lFm#HSjuk8@vPF1@D3P!H3*`8CVWhfR%*fBe075 z7I2-9aX-QR6!$aS)!cIp=dHyp#9fE`Iqny@U*c{6UxBZ|H((ps4t8+77`Fs>CvGWj z8Ey=B7w&g;D{ND5oz3(rZ8O~FxGiwAa9iTG!tHEY*sdU#d^#SS0D6PI;6yOME4Rb( zI|9F_vpuSAlO64SYtLriIL@2G_Egrd#l0Tf$oeg~x8pv@IgfD8qqwuU&Kxk8^%ua4 zU;)Se0!UZ82=@)H_ZH{9N4P&=eI?iVobB~s1KY*iH-_ITun+9#dI!8p#{vf=f()

    9p-|xgqb8Xfbm^~)U~#iK8{1^B$!@Wo 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 K)&4D!g!~^)1r#6v literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-thinitalic-webfont.woff b/public/fonts/Roboto/roboto-thinitalic-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..364305d4799a3e908145e0a0a0c0a35fa9063c48 GIT binary patch literal 78028 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

  • q%!u<+&Gw#>8TX4U@-HN*n_gmcUxI1u3C#M8= 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≶JkN=E)~rhdH6Om#0r?dK}@x73Am+{?}H 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

    K@;U|k`{%z{PE*Fir2UA;Q{OtNy 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 z z8a2MU!8xI(sxG8TLM?7Cg(|MDQTae|b4`-g6D>g>P7w7cg!WZDDI8OSI26E|LzmyU z`nA~jXjT*GH2EDmuYPh(H0Gk-esr!#*#^QSX^I`gM9e>(H0Gk-es`Z{tV{NVEzo|&tU!x=FedM4Cc>d{!Hf28=FejO zEauH(-Yn+LV%{v~&0^jx=FMW>Z05~o-fZU0X5MV(&1T+g=FR4MXET2`^Jg=EHuGmQ ze>U@HGk-So=Q4jT^XD>uF7xLye=hUqGJh`f=Q4jT^XD>uF7xLyKkfxgJLWQfF7xLx ze;)JaF@GNO=P`dC^XD;t9`olhe;)JaF@GNO^L2zTkNNYMKactInLnTT^O--N`SY1S zpZW8dKcD&YnLnTT^O--N`SZE{`OKfs{Q1luV18bgd;#VUFn@sg1I!;?uL8^;VEzE} z2be#=`~l_Es{`GZ{lAoB;AKgj$+<_|J|kokkmA7uU@ z^A|9G0rM9ye*yCsFn)`+i>c{k-n`dENJWEWh8w{Jie_dENK(y6?B^ zzBg#g2Wjl%4cc`JvcNUbTo}7%SuxRE9J^*25kE0{sT4me>eA!S8?@sclJ(i~4!^NC zq^U2YsV}6dFQln2q^U2Yu{Wf#H>9yQq_H=ou{WftFQlojH)zK@B=g(x4nOnT@eV)p z+wl%R^V{(bKl9u14nOnT@eV)p+wl%R^V{+64chSzY5E%^^V{(bKl9u14nOnT@eV)p z+wl%R^V{(bKl9u14nOnT@$L=U@eaxScD%#S_P665ezw0I@9?wz?RbZu?Qh3B{A_u<+9{9J!K-r?u^+wl%R*WZqJ___Xe zynBNMUe_esac3K0d#4@kh-G#=+Tmw*JKEv5>;?8}%3EM-nTAJDS`VbD9i*`?q^TXG zu`Z<14{59mY4k%H>p~j+kjA=@rgmu_J6a*V3Dat-TAIR@xZkyuUVpEa`pR%qb43G! zr`GnG(SmzS{j{s8Ib3Pe*o)^hPg;SiuBKi;c4@|qZGB~YxU~ZJO2}o?*^9C?Po^)v zzPY6_+*H%h}(4eaE%|*TvyQ;Kdqsq$+(g$W;fN;*49+$8}{1pv`At!AW~D&+dLQ9cT?ZXcy&U3 zi*F_ z%!)}?Og19^{BTo)amAtets^qah9sD7V8W83t)RK$b&s$~n`>H)Bf)eG>oncNIOFSU zSf|@4Z)tQJ-7Ssrth%K!&NjVv7_CTSlp+o5go{-ok<|!?EjJu^?$X?hM{Du>9yr-L z)z-JvnK~JV=G6|alXg0*hJfn^gO{c{$BYN;Yy50)EL7w zF&IN;AL^O#BM;0sa{qi|ddi$QHb%$T7#(8|(2+Q{CsXgS z`|B%>(NP+sqx1kBy-WAcH>oFW67N-5gV>D<<4)pj3LBB%lOs81zrv=(B#AY`P8itD z(7O~im))_jiFl*JM%Y~nmcc&^LDL!RoTR3^q1)kAY)*>K3ne z7Hp{9S+IFx_Z2v{Cl4Odnq4LvVYdy8`=I?c4Q#aCD=_Z9u{#AE+oLtn?hlyo29 z*N-n-A;h(lR^xOU2$*T-ND3vUAX+@@Xkom6mnN zzlSZs;)CM@k0iypPh8;=ffcEuZCqJrPFtDr i9jAS(9Av$d@NbpqzO2)6%?c-eHAHv^V8vax5&aKBLJCL# literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_slab/robotoslab-thin-webfont.woff b/public/fonts/Roboto_slab/robotoslab-thin-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..7340240ef2207db0c8304d477430da2b29ce5504 GIT binary patch literal 96472 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

    H{6-VbJ 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 literal 0 HcmV?d00001 diff --git a/public/fonts/fontawesome-webfont.eot b/public/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..0662cb96bfb78cb2603df4bc9995314bd6806312 GIT binary patch literal 37405 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�-A&iY%khEsGVMaq&$BJA^QAs8x>7-g_ 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 literal 0 HcmV?d00001 diff --git a/public/img/SAPOlogo.png b/public/img/SAPOlogo.png new file mode 100644 index 0000000000000000000000000000000000000000..fc62e56667e2f3066fae0262353607d3fcc385ca GIT binary patch literal 2089 zcmV+^2-f$BP)RdVN4IGrl*gMOZ;RPhyhah?BE+jkdL+9xdGCXd?gY11+ zs=R$DYZpMQ>3QVR*uX-OlmC8!8GZzoEgXyb6{9pTqfxi=hwO8t`cCCkuY5WdH`-Sb z6gg+Tet!OT{jj68bDuPR;)97~Lc-bR;rLOWQxz2olN;v-cYjaUoo!~2x@wU(F)z{9 zbx`UDr*KlVGKo`UY9ec8PLsY8lNghP)-R#GOE!MLKXoXY4#k!ZW=O|JS9eF=zx;-> zzkM@G7X)zQpH(aZMqtWA<5f{XT)YS0efA*xez*EgU zZCx#qJ_3<+6EPBr)6bCsktgwN>mJqVKo|)*ha-y)tK%?sE@r^cdmY;p1_bdhKSn~i zjNffqh1lzlFbJb?{ls8Zk{5>J+fOFp>~TN7JwK7X4^hi69%5_C#W9G!{16(p)}xE{ zKi$=W{VJSY6ge&%KwKu1(TiZy5N1#%8~x)vFgC}L;KDu7u{GRuVFTpE`?&C*bJ*4X zDt^kzJd6-UdJw{W0i8(KS?C5upEoPkHQw51psmbT-ZNyoIlQG>|SLlrpn ziq<#685j2mppCOvJKZ?4>-h79_2KRRSc7-lx8Uv1*Wp*Es_^Xbl+j5-I|?zc%!y08 zy!h|YQgj?E#dBKS?^}cFJC#%Y;&~I)_EcBHr1nG^)_t-ZN50sDeV1NC)5VRH(j*H| z^u~*GyfBtI8EyT^G^UWHZ!i5E?~Y}9u|Xs`O~&EkWCDe&WAkULh4sv64dE-`RLRj2-bhg#j{Kq|H3h!MRxoXY`9? z(ci=P2EQ9Ox#7^a4ci@up^i0YBze{8C-FQ>Hw*U)T%-1f5SYb#y;ymw601M1#-INF z>!=A7p2wPjl#RUCtgQhQ*<@G9ZOe&7r$rsHK`Tzqb^cPWz_JsiDv)~z55}y3kV!R`nlkN$DF z)6lrpEq=A_bY|SN1lCT&{JkE-KBSM@(DxZD9>J2MA{HMKVR080$#Pcdu?XK0P^$Kb z!oq_ho<1U?`k=qth~&}ZA0O9kXaYfH;~pNZrXV93nKxWDI<-&to8Wyw1((*nDCR@; z2O=u>T7#m?y)mP6!W{)=*3N(<^iBYa4yC|Q#OT40p$X0pMh(jfBU7k-x}QGkmL3yT zAoKQ%DBb2)`f$Pz8Jw~u&gMY54F**#Y^xR9I>ashXs9UwiWo{|WH>z-yFm0{C~8O# z!B$h&Uqw9G%z$h!fv`d7>(z^cb1;()c0H~E+unu1;iUov7e4&U#@9LGrP88=>i&ul|y7O7QKVN`!8Vqr|g+}$FA zTl{dp;z<;(bvrCxwM4BNm2;?zW&xY903~5`x5Y8Ml;v<4wX0)Laf3(jZt$ueJa?Cf z1@AF9hf|S5Mtx%W!>Xaj3>k{;V;{g*&dI6}ko0#dPXl>${)E&z#ZnbTVAVbmclQMvkzS|N^w(Cm9_;}+8n;dkN zUJg+7vPWMC~=j1mN1^TD%TfUwS|%&04NSxi$2&Y)$3H6@Z|viiP;7lc`$=;6o)JHaq#{9%Kw zyy+ZzJcWO7I}6vkWd;Ynjb4bG{V0301QpSM8bO{l1$Z=XbdLy0M@+%kk(mDT$1sP% zq^Ov=)z2cs%Tkp9rV~Z=?&yq2vBSpN5wm#1DqBbkreXn#kwgb#4!s_hUIYe6X3<0W zpB82Kn1RXTgA7zbcp4_n&Q~SBJRehQT@YXQ!QbeEcVh|!^)0M-gGENnU0*EpaX~km zRHMxs0lmj^cSxKF%l7x2h=qAH_H_5ChRb3=&ZQVnzlQAj!bc045;>L^T7$!Gs2e?H;)dU!T8W z`2YVu!_B!H89v^6#PI9$SB6L1jxxMCcY|S1NIApN+%AT@t9COyKXeYs6b1%C44^E? zYB3Qgsw^1Xd=N|<2`gfy%{DiJ#f_5|LgaxYNS~4TMnORdV?nS!8DqiVV30Y^P;)_Q K5CFw7WN-k#FEBU& literal 0 HcmV?d00001 diff --git a/public/img/home_bkg.png b/public/img/home_bkg.png new file mode 100644 index 0000000000000000000000000000000000000000..c6faad8348c5bdf6b65f060dfb568ef7682ee559 GIT binary patch literal 331 zcmV-R0kr;!P)W~bNhDH7?gptF>y?H{wxT_EWske1Vg- zsQP~@QJ3J5$En8l53+Sp>3;CXi;^&RFWqvpSMm_xYO$&`taK8%t*9OzK7!h*PWTcg dz=GQY^$Xr-5T}BfILiP4002ovPDHLkV1gSYkxc*q literal 0 HcmV?d00001 diff --git a/public/img/home_logo_IE.jpg b/public/img/home_logo_IE.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e038b412647e18db492ff319194a9712f240d053 GIT binary patch literal 58547 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 Xy$4XG$xNW-W-zCT};=^jA3JBAWOIxctJ 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 D$%hRl literal 0 HcmV?d00001 diff --git a/public/img/ink-favicon.ico b/public/img/ink-favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..64e2d44d87e97ff3d9550a11526bfd2295a6b3e5 GIT binary patch literal 1150 zcmdT^F$#k~5ZpkzG(sR)rn_`D0e|2V{DF{%_>+5yWlDcw5lHI~E;}a^)`O6!RaWNq z+}+u|IZ%>|pX~H;;alXCtl;3q-sO$PYhxr)L zrK+mgeKAk{)CUiZ%n!p50O#CCzC9QBtBRJ(Te~8 literal 0 HcmV?d00001 diff --git a/public/img/logo_home.png b/public/img/logo_home.png new file mode 100644 index 0000000000000000000000000000000000000000..a286cf6f1e5e2a34366f7b1c7d7a07f9b3b6018a GIT binary patch literal 46351 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 bhox(hVbX#(Usd}?0R+?6HPNZlc8UFeSd8ke literal 0 HcmV?d00001 diff --git a/public/img/splash.1024x748.png b/public/img/splash.1024x748.png new file mode 100644 index 0000000000000000000000000000000000000000..b7db7068579d50bf04043c374d5fca7970302618 GIT binary patch literal 8024 zcmeHsXIqoY_w^(c>7Y^srC3l83JB6$qEZf`^dc>wAcBAh(jg?rh6nu|nn;nJP!d`~^5p!UukpX%%ze$ZXYZLcGi%n&PO!E#6BdvW000P^|7~mw z05|6sy28iBDXyk#hH#3D*4OM!*xgwdFJA2afXYJo+;+aU(Vhk~&_x9}SHF7TY-Kvv zlyuD$hIl{=W|ZaVM){)nuslgFD4m>@?BH?2r-C%OVP`tJ*GjX5sv#M?E z`WEsLe#sh_zne67i>=jnMN4_lk5KVWcM^(!5wiSqtIidL+Y}U)r2!s3?Mq8N8jQO#g&%$)QBKYtag;$bvFzXhLDOspBos6-aEG# z+wH?xm;Ex@$mlG&sHOY#_Lb=bqhojID%)u7pV*J1FuCO1!e}wf>CP6pR5k)9I^w(N z(Q=v|3R_L_I(mYrmcn+(SkrR%_7?78#HOdef%z1j%9+V`S3=uZxk}yhGh_!vOEyqK zjkwV{McT5@>qpfp>{cTPi?CMa%bY=+(dX)%0_cwgcG~_oLOi&ClCY~yT!K}f5zfy4 z8TGv*ChnwG%ZlRVmY~BRx*;?wKn2BdbyNb3GuL6%5H8kQst&8cJ-eTIqZFtN4&07^ zHW7f}Mqm1+wL60wuVrlg4w=D~mTtH56+jzjcjR5Uj|7382dMJ(d`XC23cEC#uoSF> zPE2OMG(q?CqHnX*2covWA;#~A?^Fb)e4nN1NWkxops0H}Js%_i1?#?hXZtPT7GXr; zdOoYc%0K%wwzCA-Zer!;y;Q)&?ziJ?A>{@vYx?(`Ew;S0^ln;Qo;~nOMoMno^MT^s zQ`pzHMv;rV;`bOP(W4R4yINs&{|G4bcK)t5EN15;4yFqyajP7}gk$cb+erq*vVX znE4uta=({Ijhy+{gLIp@eb=ufM}f{4E+A*dyT+{456$n)Paj_m!!>&sHYVrszXGS| z7~6S9pdy&~w&1~Barm0?Mi+&1L%y`W-ipcreZ@s{)BAi-3jU1x2jXbe==}B0IK(mA z0D;QV(xs{<@9ZP9N@dp@PTt4zrALK}O8G6Gr>J%ki;A z7N6(_1*LsYbp0uTGqdEOzjVJY-PX%hSrWOT(biMVoY^lg8P1usW9~8zN#NJ$cm3?w z_gn04)Fk-qKE;W9l9d;1AH z%auDani|giRQo_*S&#+L2XGmv-A%|DO-7{eiM#WB9d zD?npMaUY`ujP_SP*?pHS(a++JT|Ba?GB&WPcJ4%ruukZuUgWJS?2pjgGwziHp30AA z<=^cf#uxKyTx&z6ne3|FEr`Oe&-2F3(yLrmu){(FMn+?om?M!&Xpc!K9EWN1-ioLH zIM5d%3T%Y6`Bm1xn3+BR75r?)9^eEqp^sAzDeu3`@f@0w10+K*o6@&dnELXqN}6hn z4gZC&^Po^)uJdRu&9KG#AXqr&k^P?i`jximx;go53nKYL5fty)qxV{PF?lgPh#VN} zUV$JL6j?RlD#d{5>L5>44C>6MDN$;lDKR+SwU(x=t)LABO*{;k#5$$d%y*EKXJq) z#r%^4fZ`j(C*)iu35l+ElmB=ZO;sye?J2E%SX)1X z(}El$@V(D2_H;@Hyld1~Hz+5=9LHDwb)?oLjFl<`LU!nXy(v*8#YBe^GFj^o8hQu$++uQjJ(0lW@%L+k+5K?!3*< zIs`?QkE`%n)1y`mMJ4pwnUT>0ybw>JxIgaF1T0*eTHYwSsQ8m`LISQqRI{*D4I!}^ zW(-(Gn=3i%Xh=run*$Ql3ChKf%GGmf9~*2U9hG5i?APV0T0BbV9c)3%U{m~rb_DiM zTvdLqXf9Y=ox?3YkPv!d)j{43-Hv6w+%?SaH7ku5ooQY@?P;ndoen%YQExGY+(&4; zAJbHtM>IL08wNqp9ahA)fI{nit3&6|mdZV4i=@5S zYyhtkTu%VOKKAEZy06s@0=8vRU8~;3V(1T)f5;b%+y?L0+2{1fz*9iM-}@NDBhl_M z;k;rG>g?#EPXg()oy8qz-ThW4yd?Nx6BM#XX=-h>tB5T>{EFe6C7_`62G{*qJkXD! zYUnMTY6d|+l&jvOWZBq6v}nf}jZA);9z&*cSSNuIGp!ox?-v7p`8=7`=GYa!T+bXx zlW*Q%)l9O;sE>CBEhZ~db9MWT<4L#wj{Tqi)pZ_#7~(^hASrh6<(poP${wshGnw|ij$ zIx4JZN>iT%6vl+T({+0F8fuXgj->0u1bI~eZgk8BW|Mlon7hGMxKdapK8i4V>>|T^ z9aE3`$7gd}YNrhO_GT#25hz$_6dPD9eWT{GS-TKAZu`;7zxJSCPTymT>-^Nf$X0io zu91P&@?r>!lvk7l;K`@Yz^_?+<`Oxa>KyYkw?W~Ij848fO|Vu&;Kq1<=j6KKUY_WG zTX1q?t?oQ5qddd%QnJJNi9NkC=#AT3KLu+;Yn1LcOZsyLjCd$Quj(_(NP)SZ;?b>l zF*_M?ZY`uXgP`d2L~W4*Us+*XDLpnu_Y z4si$~&N!lO>9x&ZnMz>q2!IhV)1yJFN#Caolo7NtJc@4UO8*<-r~-tFpgWN~Q@8J| z@83n6cRkUsfbwxo>aBJ%>S%otOv(rpjC=w{=i_ycD(~eIkQOj!iBiz6i}vD#8+{N% znX4Of`kzhqYu~D+2zNaXE{(D)Zv_-w4(#}ekS{Bj5AR2_Dy{-@sRZ6g(S?TWC+@cH zRjSxS9uw9o%KU3<$F~21B1E9TsT}y2OTbBALrFI$d^lY148eq)GNDideRk44EFI%G)V!$yH!R@>&!c;zP2)0NoepKljpEj=cjo2G zmTPNEr&ud8pGIaDBWn(dd{8h#MZROcXU<13dM{mVVH!S&+m+T1d=<@Y^G?MaJr{5i)Lgm4FTa=YXFRG`lAq0VVeV4S)ojczx z4Dz!XN$&Ub-q0!U66z1{EfL~^&j<>QBIXWZ%8)jr#o@YCbJjz z=jFAy8Urlko2~v}Rd~R^{8ErphWu^|?(`^*e;zTB=8ig-y@@;2_Z^7!@qB2jcTax=3AL7h02p# zN859<0Q~sxo&`}PeMKX>L}fR-%H476wnlTfdLhHFxy z(~Y)!u5zRI^pwjPuwH*Ng@5_B8`!C76}^`4Bw~yWvAjPJDTfhS4I_Swr6^$>ii6Pc z38B#Z*FfAwHphX>+X=)c$v1jhI4LF%*?U6sR4zuc z$)g$}0BBN{5To}FfQJjdRHuwGiTjQrO9lAhT+!@Ien4|H%MISmwuihnNGs8Vvvi(c zMbjNzTztQLJ!{L^U*FqHcQP@m=Pi1#77qbgmN)Ha%80KYRyj1&2MUlTPA^mJ(DR$q zCO=iv!xP+IQv-?qwHm)qx35I$C00AG$sJ}9Tn7$QcZuZRzmQl{ zi+3-v(K?j4l?dD);=+YNDA<2|*rldcpkPpsJXqln)||1GYNVk$GO*BJ_Km={GRodp zdnPgN0t!Zcr{pE)loOTE?Pa#Mdg1X-4~$#>Irh1Kz*D$yx}lG_g7M1d5d##)8sV_r zLc5__5w8v=h(eK34rEW2iI$jMl#UTr028*262FQCf5)`fZMtZ};{^&VJ!r8_7~Ys8 zNS9La?oI3v6ihzZbk0#Khu*+SvV4L&^E?Wgy3W-*An|k+^enr&@cwe1h|@G}`yt|U(HGauhAioh z766~u&~JU#%Q+#d%fKsMmyD4IRJ)v*FPQp>ox@$~V{FgO6QHmEc=lmNq-dq0Dgr|) zyhqw3wJ>{UBwWT=vXNGyo3kq3r zIxOiNuAMOQ4J8EVr>QlkOU%d)` z{*8P|U+9&T))3mrJ7(_u!5I0cC2eqGC zT@klrl-w3ayh#V1ZE@*OeJBbZ%z4ptuJ^@v*Hhr;-h^p3E?FV zU+m&1?9C1X)$J)C2s$PUk~tZD;r(lDmL~kQ+W9ac2s!82W{VYgMG3q;4EkjZzI_C1 zhF|p|y}Z^CZ%)^B+lDW4ql1p;Wj04aQ^RM@mGSaLa77JrDyif-)?xJ5p+IL%ys4Eq z`1@*D5R664+ai=g+7FyXaGt!#`p4EPp_#((p+CwXj!#&pq4*!7JFC?AVk6QkJFb{lu$Rqw?*~D)FQBQJ z9$b%?LCW4!uqON+rNg6h)RHIl;@uAWFPGsEPv*1vNi9j_#X7s_(W(?I>f7im2 zz?;)4@-4C*+PQEh4yGs-=vO?BwrhYap1FBr@|)|*lFIGB-MAhX(Xj!|noY}46L6$- zJ~9+H@ojTWd6#@8MMmM%J;?~JhLu8w4cXW?XCpgRZ9qFf26*D9#96BO2bNQV}#dgV*c2; zU2w009ps+BQsTjlRyp0omYW*N|HHf=rrH3;JAcPGIP_G{JPC_7gD7Ozu(QjJH7D?9 zeGw>01-GIWM(d&2Lp@P!ggx_Mh4hX6#=T2AlaDd;AP?m*6hx&Os0p|XJkpC+TU(FB zVoXPeM`U|NIuV-hg~+{6cDH9b6Te%~1aa|$ewV{yR0Xe(E1{k3mFtGUZ@q;X*<8v@ zhWJfg%DInE;Qi{gDHi1ERe#jc(_xp9JF%+UFUO-d*ddQb9ExQ;2eyUWHbb@ZtvW+; zW1Bf|K>|Uxfv7UU<)}!fod&@vqu-L`@l(ViOi!JCCo1Dhi>1^0nqUQWF_d6r+I0Wv zmOD7oxMPl8ogta|=_WWm5vnz-bpV?>rnQ5hAJTU3kZf+ARSa4_=cQ;t5RCtZtX=&w z%4PKf@ms)A_R5Cg$=y})YEi6cdx<%|ej5_NX3sY$%SW^JflUItlQCzxJ%X_;>}bd# zuy$YSO{{op(nhkoK=$h+jd6y@M8;n;!mdn`>gSeNK{CvVx4bv#(s(JI$=^vGan(%H zmm59P4SC(?Af5|(iE(4_Gf&2p&?qxs;#=OvhV6&nb5b;@EuFiuEZVY|8FRlchV2H< zM)x3uX_^f+?pJ~D(e8O(i^!Y@;gbvnb8T5|hp`FoeJ$FQD%Zzh#raE5_ZDvChNio! zZXR&7hq^Ja1r>_&*lhd%9yYrl@;1j@8&3}yJvB#|=a82yd1&O)>!kh{-~yBplGEJH ztM`|IMUr19^NZMvhB9iC`vubq5h$KdV@__tMT90cn2@nBq8D+>iosm$dL2t}(hY#( z(I?mY$T&MeIOBZz-BB4CL| zue0g78c@8B_|n0$U=r8I(yjE`GyZ7bJf`IMTUkokI3Msbhdj*&wGK!j%$Mot{8S#9J8G7#X zA@IF;@fbvst4*QS5fp#_+trcX#LJhTf%`oZT9JDaA2PxRPT+OEqZrY{4QUy@G#PT7 z1zPT)=d~FRupHc--&4doqK;j)DZ zM|=Gk7VyO6)}u-xS`o6KbVLM#+VlFKAKTxS8;-QzKOIw2)nR;ji0$#_vZ?s~gP*xt z>E14zGlW)kPtDPkGMpgr_#8BzP2Qe)*6u3@O2f_3y1^Sj5ZBPX=ImRF|)@0VKHmmyp2 z9I!CTfqc<=tSEVfz8l#8o--%z_&t?@;*Oho*L7Ydjz&L5y7S)G<8CFe18{nVuz=3{ zy1pFltSQT}qjDJ^U7NBnLjE$e950T;h;DAHC9@B$h|4Rz0agu_scu~j%?%%sZ zSxwI}7RPC{#XKz{{f4VD;J)O!=igSrE}`8SB8~?S>!^4ML*qTlJaGAxQA(qmzRLfl fX8%6|SJqI{9nlSco4FYLS7B~qY5e)J=fnR8<|*oa literal 0 HcmV?d00001 diff --git a/public/img/splash.320x460.png b/public/img/splash.320x460.png new file mode 100644 index 0000000000000000000000000000000000000000..66fd16adcae2411dc1ee77635af85a57d69b631f GIT binary patch literal 2651 zcmb_e`BxGM7X>%mkY;GKRHT~9)QXZMTuRHd+;PthaLmdLCHEzDwMZ_?ROka=&LPZT-2%?rWkzPv8Yw@Re{1YH!jLcs47hMVI3jdXzJA;; z*ljtIAo>E27B%)~W4A-;Frm5%21kSAFabw%1JZJ`P3oV9d?*&yl8T~P_vA8r&{r-8 zjm_P~`Gi9R4uPf{#!O1qDf)sf|9V?ffcgHDUD-N39bfB#*ng#cRKr|K?fsPY73Gle z@&ymCg*&_^0gKy&_xz*gtoWGw%W%g9e=Op|h;s?4i1?JqZKw&&s+znImR1E`jECA2 zK=mk=1BB*ux=(y8WPbk72eUlXoW-id)HaHi3H$N3gZsIPe;xGkQuqHi)5- zcEO8uTv*{$pK)ZnCOfE7Ab%{^HOT#aP$a7zkiIM+ytx2n~%;W2&y&2lIG;UvNC;^uLE}iv~3hnZbD=wz~GNUFv}U$M+$) zgFufp0HSv$8Jjv9D~CP-6K?^ed4T$LIds2lb?KZi9jLDx4F!69SEB6zff*y}!j7}F zJc!vXaa<2nC>j9~4Fz^>SGzcd#oEH>P+`GA;R)>bXFYS?qimV#n2E?C2gjgj(SbhO zHV47xqRB9;3NR;y+!fm&)@6>~OeN*!@wq{-H9Vleif~YZf2zA^zY&>k68(*cF+oe- z0p^OZqAFA~Iz@+IU;+0jLE;M9+MD{AidUD*-mN^j}ZAIz~K0>8950N&fOR|8yqam+{RXGBg(0Tq;o?Uc&OS+WM$Wssou79rp zR8Gql#UwbTvieQwd5Eu*Kh@9c8fHaBC0+MnsSB5w;W{|D@SK5$&(X3Z+~u3Z4?!HB z&H8{gzxRg9;>4`_>@x77*d=VZy{y2$Y31D5E%o&z(V>&xpzLi2sY|MpQa%LZi@i1C zXP&k3tmT4}WQz3cnx0STF5PeN8W`qXy6n zp^orA9-dYXpr37foJe;yiDPI87Z01}aP17%yopcjvY2e5O)G%?P6u)2eYonG7*zCQ zr=!05j*_{DHnaHMGoTHl1u`Roxmp1ba7~na!(q3$2VvUtz+Q+rqw~D{tMAt)3b|AT z`pu}t8)^~x(<*FJS+{Jf%M;U68hnB2MxuLQ5kz(R{+ACjJt)>i)Fd4<7%CEO=D#EqLXg9Ui2$udX*2#l1rKUpw&0zNn`4bbX`!c%>?^THu`U*|yJM#c|Hqpb; zr3Lj=v^KkJ{Ki!?eRnQWHfa?*oM)v*VoT@1SqM zIRb`^Z3qm^k1!_`;>zh(7sDl{GV`TcLhqx@5;$pB0*HN^JI?NUx#Fks`^x9{#UmQ{ zK=e=^Zm`sEdvg)6o|0;KP{!;OqnE-J1-JwFyR%6tf1%+Gpm9(6zSh&n{2&qche%6>GQNHi zGvQZ2Ub74#g?X-ZKfco5zemgbPG7^+|w>e+N)6zOWtE{iN&WbBjK#_q8yA#$U1K zyS0b#5K4>RWObxPXNrDpG?OH!Y2TTH~oKamw9sCdo{Tn#$X$rXC$eJ+z==gCG4Lu%Om!oS|dsX!w zJEE()MqCvK2+f{<3HMlSkG#X zH2eCAgrB$;YaGoC{^oCNG3&foX`awQ=}K0*j`34EGk$4zw8xhbq=k|3?N-6Q4S7%y zHj;C&MCuORX{7b?*tV(PlVR3(PAF#E0Sj<3ZxlO>uK)FlYkb~-8)nNmcYN!`Pa`;0 zS`%-Mx6m1OGnK(OrNXFtRrf%nALxzSm?)1CXXy0G*t>gMt(Dkj#mCC($KL?mPMqvJ zq7$cJ2_XYpuZo9?T+*>a6)7Fvn`!faFa$$otl4qTCOglFC+n{+Tb#ONevu$|J7J+z zgG!4!J;YAfi)A!nnK(JK;_5+>yB)VQeWbW&Fn08jR>@z&O|#c|3BSHxLDV&WOq6q&^x3O}(Lb;4j`#%XG=J5ak literal 0 HcmV?d00001 diff --git a/public/img/splash.768x1004.png b/public/img/splash.768x1004.png new file mode 100644 index 0000000000000000000000000000000000000000..643529bbbbbecbfb99283092828877ea035ae18a GIT binary patch literal 6321 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 literal 0 HcmV?d00001 diff --git a/public/img/touch-icon.16.png b/public/img/touch-icon.16.png new file mode 100644 index 0000000000000000000000000000000000000000..1318a7bb2e878a17cc0b8792a743408376184651 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!dVo)eYp%!k|NsBLdH(grxi^n) zeLQ#Qd3ng5hJ=G(KmXdj>h95PkGgV?Zk&7b_w*SBKrP;$E{-7*mwWph`5Fv(4nNw~ z%=_biwdICJ4WS3oI;ve?x_LACYF_PZ5Mf!$&CV%ord8IlRJAbCBOrHg=dBMRl|6MG g2hJyND)~ECw%U#1R@VHRAg3{Sy85}Sb4q9e04MKFNdN!< literal 0 HcmV?d00001 diff --git a/public/img/touch-icon.256.png b/public/img/touch-icon.256.png new file mode 100644 index 0000000000000000000000000000000000000000..32cefb5068c35b378491bf5c2b6e999ca510bb96 GIT binary patch literal 2338 zcmZ{m`9IW&AIIOHnK5I@HOVZ1R z?6=%UXq)MhS~pFnD5|N*RF2xrSl`F@*YEe2*Yovw{Q zwb@3>#`g!lM(+7&nXXLj@vNcOGqx1{{6DeiDA)Ui9$6mQ&R%VF>xrr@)!r8Q>?LQF z{=58q@;l~%=@qM`bdG`U&Z_TY5A17u+k2pMK69%!;mxEBdC-?%wL>LfQo78a{S9dv zitj~|l3nK7uG>N~FOpQh$(h7;CU|KIET(h%e;JiD+Ig|Pp(5+^VjNxn#_e`XADr^$ z?Df}I&nDAlsjAy^$BTm^FXLF6UlbIsQSw8-OeWKDXqDIAG8=Y^?r6W{{jQTh87;Hb zfLzAWhjOqq-m!FZ;}o-&f->e;-ks+fm5eFqoWgQnh5Bfw^*?qeE0HG@cR1Hd^lBJ5Z-8!Z?AmjT=>7&X3NBTiCzQXC@HGgh zYcBGkH_w6jiwzu3)S7)ai~eNX6*g5raue*5<{CBlr)3jgYnW@!58!^%IsiY;#2H37 zQ74~ZcJ?KG4~jjbFOp7LD`{bT&Y0JLpUK^invN{&#KF6l9k8rDlKucZSKpKNCM%oH zb7g1ziOavb?)c!X&IKCFW%{mS2&M%tDaz!%GPJ=v*bJdAj{cxsF>P4qR9LVx?%?(i zpj@4@u2sb1t2|t1=>Cx9(i>->gh67}eDP=oLaU$Vv9opiN*D@g%KWX`+|=R&xu#fF zKA2ZqRMJ`ZFrv+{;PhwqO2NkoplyLcaWj(qDHJt9-0T6~*j^48&mHWl$9y zg>)_0n~R)V+g>5Fg2K;2$iI+=xw-?z8dpBk0=iwiHp+;W27#JxlmbtB)13+HTGF`( zL8VI#JM|P{4HnT=uj886ZYvxrhXfh9DLSA@k{#Cuf6tNG zAMHH1exe3e+S?@8RVq~< z7tvrBVPpMPO_I#aa1ySIU`Ucfg`)Qgsm?~NVZa!Jj1bhVMLb z7G@Iy&iPmeK{Zi7YZ;Y?u}*%8O1rH(I_z#fZI9xWPuD+~_9&YD&{kYY$ga5WfBVAE z+hnN*a3)D_$=mz`9k8ee-iZU?>{ z!)w{17T)s>%dPR#yf9#9T(LIA z^7!vnJ}3#ixo9!Mi2iS6B5~rKe|O4E2{zJVWp>{~p2#!_qtQ@gc)yj!GQr&Y5bA@N zw3B$=&{2&2K~BJkLEVt-QpKskMHL8Yz{)ZMv_X>b=3dHM3=?x!=B~X=8M0*7UEH8_?Fgx-F!}|-whs5j3n}5JhiCl}* zOgWih@?bB2yY7bCbMG+?)c;ql>|~t=Q#g#XoBCFF=3X%}TmXYXB?VyaL!c%nmA7uw zAvEdf)e+%S`Tc7WWfdKdfFD6b%8!*k5!`EYe!cGqT(+ znvV|+5TQZmg>fNvUn%E>Q7Do4*TVWuhvfv%l~T)S1NLeLj=O%h50n!)XmzBToNpZ) zANwc{9t^3571IF$5N=t-*XNPk-R+`llH zUn}!2K;Qc1yUUlH_zN>x5d~KyQri=CG4cB~1+GU%8n&KGa3~ryGn0mYc&XOgV1=4C zo-eiZ+#m68Me>Yg+oAi5sM8TpPeLQOfe~jH`-u?b`D3wfL-)884-@$#p20q|@hUY$ zFbd}uJKyO9aoVLDF^&XdEO|mERN9--|Cpl*$J7-3eM~M0G5K2EdDShZWeg!M-zuR> zSVbIj40gS!idIvu8hr?K?@u|2agV=eyFGe&6W?a`Gv*G6+16bur|0*u>^n(dmU1em zM7{w2K5;q~;&5ix7d|B*EAcsJpqmmbSt*50L>+O0+a8#}IJ6_olnE*i%Xa0Pfcf`< zBX2g4jVP4&r8P)J67j?K{jVNHm??xF<1|oEUtO8R1>uRFm20%%m}jwxrf%*tNwbYP zI}nB|U>&;hhTg7SsI$_Hm7paI?d@=ULezw%m2E|L+!S!f{Nb YYucKrI*G?kuSpMhxO%!YII&Xy0Y?`TTL1t6 literal 0 HcmV?d00001 diff --git a/public/img/touch-icon.57.png b/public/img/touch-icon.57.png new file mode 100644 index 0000000000000000000000000000000000000000..91e8a391917d988b7f2f273b99221e231a444eeb GIT binary patch literal 394 zcmV;50d@X~P)G5b*f_zis6x$kZm#m(J9@MO=|30U_@A^_b2fg=!z%NrQ)KdRodA!rx2l4`~4r_S53hs1p%^$}41@1)lEoPsIwq}nUe zg=8NfW3u#<3$6Bow6xj_lA#vl5lc%dTCFUVQ3wYd>p`2YX_ literal 0 HcmV?d00001 diff --git a/public/img/touch-icon.72.png b/public/img/touch-icon.72.png new file mode 100644 index 0000000000000000000000000000000000000000..600036ea41a3a48aaa1a57aae78bee7ad7087a88 GIT binary patch literal 506 zcmVtg3CEn0$lVl9N>r}FSw$3%ueCJs{C`BjHl#+h4d|d?MiTMmUk*3lxQlJbXa@5PNX!BT zX7dzUG%L2_jcD?dS<=8+e6s30Q%ETV<8h@#i;L9O<5VLii(op^#qi{L|HMx19pt5^ zMf2kJphXMp2L!P>72DyNXu-&}Zw;~$2?YreVHj0HglN^&vI-Gz7psx1T}8`fJW1Mh zn1k-(t0YV4B3gUZ7Esl?iWa@R?N9HA2@(4!BtoLKO1u72wUeMhJg(3P&M6BLO-+Qa wA~lgk?WrchmyVhUUqxynJTTNmFJAmUJ}Kx4S{rm|=>Px#07*qoM6N<$f=}@22mk;8 literal 0 HcmV?d00001 diff --git a/public/js/autoload.js b/public/js/autoload.js new file mode 100644 index 0000000..aec0c3c --- /dev/null +++ b/public/js/autoload.js @@ -0,0 +1,154 @@ +/** + * @module Ink.Autoload + * @version 1 + * Create Ink UI components easily + */ +Ink.createModule('Ink.Autoload', 1, ['Ink.Dom.Selector_1', 'Ink.Util.Array_1', 'Ink.Dom.Loaded_1', 'Ink.UI.SmoothScroller_1', 'Ink.UI.Close_1'], function( Selector, InkArray, Loaded, Scroller, Close ){ + 'use strict'; + + /** + * @namespace Ink.Autoload + * @static + */ + + var el = document.createElement('div'); + // See if a selector is valid. + function validSelector(sel) { + try { + Selector.select(sel, el); + } catch(e) { + Ink.error(e); + return false; + } + return true; + } + + var Autoload = { + /** + * Matches module names to default selectors. + * + * @property selectors {Object} + * @public + **/ + selectors: { + /* Match module names to element classes (or more complex selectors) + * which get the UI modules instantiated automatically. */ + 'Animate_1' : '.ink-animate', + 'Carousel_1' : '.ink-carousel', + 'DatePicker_1' : '.ink-datepicker', + 'Dropdown_1' : '.ink-dropdown', + 'Gallery_1' : 'ul.ink-gallery-source', + 'Modal_1' : '.ink-modal', + 'ProgressBar_1' : '.ink-progress-bar', + 'SortableList_1': '.ink-sortable-list', + 'Spy_1' : '[data-spy="true"]', + 'Stacker_1' : '.ink-stacker', + 'Sticky_1' : '.ink-sticky, .sticky', + 'Table_1' : '.ink-table', + 'Tabs_1' : '.ink-tabs', + 'Toggle_1' : '.ink-toggle, .toggle', + 'Tooltip_1' : '.ink-tooltip, .tooltip', + 'TreeView_1' : '.ink-tree-view' + }, + defaultOptions: {}, + + /** + * Run Autoload on a specific element. + * + * Useful when you load something from AJAX and want it to have automatically loaded Ink modules. + * @method run + * @param {DOMElement} parentEl + * @param {Object} [options] Options object, containing: + * @param {Boolean} [options.forceAutoload] Autoload things on elements even if they have `data-autoload="false"` + * @param {Boolean} [options.createClose] Whether to create the Ink.UI.Close component. Defaults to `true`. + * @param {Boolean} [options.createSmoothScroller] Whether to create the Scroller component. Defaults to `true`. + * @param {Object} [options.selectors=Ink.Autoload.selectors] A hash mapping module names to selectors that match elements to load these modules. For example, `{ 'Modal_1': '.my-specific-modal' }`. + * @param {Boolean} [options.waitForDOMLoaded=false] Do nothing until the DOM is loaded. Uses Ink.Dom.Loaded.run(); + * @public + * @sample Autoload_1.html + **/ + run: function (parentEl, options){ + options = Ink.extendObj({ + // The below lines are not required because undefined is falsy anyway.. + // forceAutoload: false, + // waitForDOMLoaded: false, + // createClose: false, + // createSmoothScroller: false, + selectors: Autoload.selectors + }, options || {}); + + for(var mod in options.selectors) if (options.selectors.hasOwnProperty(mod)) { + // `elements` need to be in a closure because requireModules is async. + findElements(mod); + } + if (options.createClose !== false) { + new Close(); + } + if (options.createSmoothScroller !== false) { + Scroller.init(); + } + + function findElements(mod) { + var modName = 'Ink.UI.' + mod; + var elements = Selector.select( options.selectors[mod], parentEl ); + + elements = InkArray.filter(elements, autoloadElement); + + if( elements.length ){ + Ink.requireModules( [modName], function( Component ) { + InkArray.forEach(elements, function (el) { + new Component(el, Autoload.defaultOptions[modName]); + }); + }); + } + } + + function autoloadElement(element) { + if (options.forceAutoload === true) { return true; } + if (typeof element.getAttribute === 'function') { + return element.getAttribute('data-autoload') !== 'false'; + } + } + }, + /** + * Add a new entry to be autoloaded. + * @method add + * @param moduleName {String} + * @param selector {String} + */ + add: function (moduleName, selector) { + if (!validSelector(selector)) { return false; } + + if (Autoload.selectors[moduleName]) { + Autoload.selectors[moduleName] += ', ' + selector; + } else { + Autoload.selectors[moduleName] = selector; + } + }, + /** + * Removes a module from autoload, making it not be automatically loaded. + * @method remove + * @param moduleName {String} + **/ + remove: function (moduleName) { + delete Autoload.selectors[moduleName]; + } + }; + + for (var k in Autoload.selectors) if (Autoload.selectors.hasOwnProperty(k)) { + Autoload.defaultOptions[k] = {}; + } + + if (!window.INK_NO_AUTO_LOAD) { + Loaded.run(function () { + Autoload.run(document, { + createSmoothScroller: true, + createClose: true + }); + Autoload.firstRunDone = true; + }); + } + + return Autoload; +}); + diff --git a/public/js/holder.js b/public/js/holder.js new file mode 100644 index 0000000..f85fc54 --- /dev/null +++ b/public/js/holder.js @@ -0,0 +1,440 @@ +/* + +Holder - 1.9 - client side image placeholders +(c) 2012-2013 Ivan Malopinsky / http://imsky.co + +Provided under the Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0 +Commercial use requires attribution. + +*/ + +var Holder = Holder || {}; +(function (app, win) { + +var preempted = false, +fallback = false, +canvas = document.createElement('canvas'); + +//getElementsByClassName polyfill +document.getElementsByClassName||(document.getElementsByClassName=function(e){var t=document,n,r,i,s=[];if(t.querySelectorAll)return t.querySelectorAll("."+e);if(t.evaluate){r=".//*[contains(concat(' ', @class, ' '), ' "+e+" ')]",n=t.evaluate(r,t,null,0,null);while(i=n.iterateNext())s.push(i)}else{n=t.getElementsByTagName("*"),r=new RegExp("(^|\\s)"+e+"(\\s|$)");for(i=0;i 1) { + text_height = template.size / (ctx.measureText(text).width / width); + } + //Resetting font size if necessary + ctx.font = "bold " + (text_height * ratio) + "px " + font; + ctx.fillText(text, (width / 2), (height / 2), width); + return canvas.toDataURL("image/png"); +} + +function render(mode, el, holder, src) { + var dimensions = holder.dimensions, + theme = holder.theme, + text = holder.text ? decodeURIComponent(holder.text) : holder.text; + var dimensions_caption = dimensions.width + "x" + dimensions.height; + + theme = (text ? extend(theme, { + text: text + }) : theme); + theme = (holder.font ? extend(theme, { + font: holder.font + }) : theme); + + if (mode == "image") { + el.setAttribute("data-src", src); + el.setAttribute("alt", text ? text : theme.text ? theme.text + " [" + dimensions_caption + "]" : dimensions_caption); + + if (fallback || !holder.auto) { + el.style.width = dimensions.width + "px"; + el.style.height = dimensions.height + "px"; + } + + if (fallback) { + el.style.backgroundColor = theme.background; + + } else { + el.setAttribute("src", draw(ctx, dimensions, theme, ratio)); + } + } else { + if (!fallback) { + el.style.backgroundImage = "url(" + draw(ctx, dimensions, theme, ratio) + ")"; + el.style.backgroundSize = dimensions.width + "px " + dimensions.height + "px"; + } + } +}; + +function fluid(el, holder, src) { + var dimensions = holder.dimensions, + theme = holder.theme, + text = holder.text; + var dimensions_caption = dimensions.width + "x" + dimensions.height; + theme = (text ? extend(theme, { + text: text + }) : theme); + + var fluid = document.createElement("div"); + + if (el.fluidRef) { + fluid = el.fluidRef; + } + + fluid.style.backgroundColor = theme.background; + fluid.style.color = theme.foreground; + fluid.className = el.className + " holderjs-fluid"; + fluid.style.width = holder.dimensions.width + (holder.dimensions.width.indexOf("%") > 0 ? "" : "px"); + fluid.style.height = holder.dimensions.height + (holder.dimensions.height.indexOf("%") > 0 ? "" : "px"); + fluid.id = el.id; + + el.style.width = 0; + el.style.height = 0; + + if (!el.fluidRef) { + + if (theme.text) { + fluid.appendChild(document.createTextNode(theme.text)) + } else { + fluid.appendChild(document.createTextNode(dimensions_caption)) + fluid_images.push(fluid); + setTimeout(fluid_update, 0); + } + + } + + el.fluidRef = fluid; + el.parentNode.insertBefore(fluid, el.nextSibling) + + if (window.jQuery) { + jQuery(function ($) { + $(el).on("load", function () { + el.style.width = fluid.style.width; + el.style.height = fluid.style.height; + $(el).show(); + $(fluid).remove(); + }); + }) + } +} + +function fluid_update() { + for (i in fluid_images) { + if (!fluid_images.hasOwnProperty(i)) continue; + var el = fluid_images[i], + label = el.firstChild; + + el.style.lineHeight = el.offsetHeight + "px"; + label.data = el.offsetWidth + "x" + el.offsetHeight; + } +} + +function parse_flags(flags, options) { + + var ret = { + theme: settings.themes.gray + }, render = false; + + for (sl = flags.length, j = 0; j < sl; j++) { + var flag = flags[j]; + if (app.flags.dimensions.match(flag)) { + render = true; + ret.dimensions = app.flags.dimensions.output(flag); + } else if (app.flags.fluid.match(flag)) { + render = true; + ret.dimensions = app.flags.fluid.output(flag); + ret.fluid = true; + } else if (app.flags.colors.match(flag)) { + ret.theme = app.flags.colors.output(flag); + } else if (options.themes[flag]) { + //If a theme is specified, it will override custom colors + ret.theme = options.themes[flag]; + } else if (app.flags.text.match(flag)) { + ret.text = app.flags.text.output(flag); + } else if (app.flags.font.match(flag)) { + ret.font = app.flags.font.output(flag); + } else if (app.flags.auto.match(flag)) { + ret.auto = true; + } + } + + return render ? ret : false; + +}; + + + +if (!canvas.getContext) { + fallback = true; +} else { + if (canvas.toDataURL("image/png") + .indexOf("data:image/png") < 0) { + //Android doesn't support data URI + fallback = true; + } else { + var ctx = canvas.getContext("2d"); + } +} + +var dpr = 1, bsr = 1; + +if(!fallback){ + dpr = window.devicePixelRatio || 1, + bsr = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1; +} + +var ratio = dpr / bsr; + +var fluid_images = []; + +var settings = { + domain: "holder.js", + images: "img", + bgnodes: ".holderjs", + themes: { + "gray": { + background: "#eee", + foreground: "#aaa", + size: 12 + }, + "social": { + background: "#3a5a97", + foreground: "#fff", + size: 12 + }, + "industrial": { + background: "#434A52", + foreground: "#C2F200", + size: 12 + }, + "ink": { + background: "#222", + foreground: "#fff", + size: 18 + } + }, + stylesheet: ".holderjs-fluid {font-size:16px;font-weight:bold;text-align:center;font-family:sans-serif;margin:0}" +}; + + +app.flags = { + dimensions: { + regex: /^(\d+)x(\d+)$/, + output: function (val) { + var exec = this.regex.exec(val); + return { + width: +exec[1], + height: +exec[2] + } + } + }, + fluid: { + regex: /^([0-9%]+)x([0-9%]+)$/, + output: function (val) { + var exec = this.regex.exec(val); + return { + width: exec[1], + height: exec[2] + } + } + }, + colors: { + regex: /#([0-9a-f]{3,})\:#([0-9a-f]{3,})/i, + output: function (val) { + var exec = this.regex.exec(val); + return { + size: settings.themes.gray.size, + foreground: "#" + exec[2], + background: "#" + exec[1] + } + } + }, + text: { + regex: /text\:(.*)/, + output: function (val) { + return this.regex.exec(val)[1]; + } + }, + font: { + regex: /font\:(.*)/, + output: function (val) { + return this.regex.exec(val)[1]; + } + }, + auto: { + regex: /^auto$/ + } +} + +for (var flag in app.flags) { + if (!app.flags.hasOwnProperty(flag)) continue; + app.flags[flag].match = function (val) { + return val.match(this.regex) + } +} + +app.add_theme = function (name, theme) { + name != null && theme != null && (settings.themes[name] = theme); + return app; +}; + +app.add_image = function (src, el) { + var node = selector(el); + if (node.length) { + for (var i = 0, l = node.length; i < l; i++) { + var img = document.createElement("img") + img.setAttribute("data-src", src); + node[i].appendChild(img); + } + } + return app; +}; + +app.run = function (o) { + var options = extend(settings, o), + images = [], imageNodes = [], bgnodes = []; + + if(typeof(options.images) == "string"){ + imageNodes = selector(options.images); + } + else if (window.NodeList && options.images instanceof window.NodeList) { + imageNodes = options.images; + } else if (window.Node && options.images instanceof window.Node) { + imageNodes = [options.images]; + } + + if(typeof(options.bgnodes) == "string"){ + bgnodes = selector(options.bgnodes); + } else if (window.NodeList && options.elements instanceof window.NodeList) { + bgnodes = options.bgnodes; + } else if (window.Node && options.bgnodes instanceof window.Node) { + bgnodes = [options.bgnodes]; + } + + preempted = true; + + for (i = 0, l = imageNodes.length; i < l; i++) images.push(imageNodes[i]); + + var holdercss = document.getElementById("holderjs-style"); + if (!holdercss) { + holdercss = document.createElement("style"); + holdercss.setAttribute("id", "holderjs-style"); + holdercss.type = "text/css"; + document.getElementsByTagName("head")[0].appendChild(holdercss); + } + + if (!options.nocss) { + if (holdercss.styleSheet) { + holdercss.styleSheet.cssText += options.stylesheet; + } else { + holdercss.appendChild(document.createTextNode(options.stylesheet)); + } + } + + + + var cssregex = new RegExp(options.domain + "\/(.*?)\"?\\)"); + + for (var l = bgnodes.length, i = 0; i < l; i++) { + var src = window.getComputedStyle(bgnodes[i], null) + .getPropertyValue("background-image"); + var flags = src.match(cssregex); + if (flags) { + var holder = parse_flags(flags[1].split("/"), options); + if (holder) { + render("background", bgnodes[i], holder, src); + } + } + } + + for (l = images.length, i = 0; i < l; i++) { + + var attr_src = attr_data_src = src = null; + + try{ + attr_src = images[i].getAttribute("src"); + attr_datasrc = images[i].getAttribute("data-src"); + }catch(e){} + + if (attr_datasrc == null && !! attr_src && attr_src.indexOf(options.domain) >= 0) { + src = attr_src; + } else if ( !! attr_datasrc && attr_datasrc.indexOf(options.domain) >= 0) { + src = attr_datasrc; + } + + if (src) { + var holder = parse_flags(src.substr(src.lastIndexOf(options.domain) + options.domain.length + 1) + .split("/"), options); + if (holder) { + if (holder.fluid) { + fluid(images[i], holder, src); + } else { + render("image", images[i], holder, src); + } + } + } + } + return app; +}; + +contentLoaded(win, function () { + if (window.addEventListener) { + window.addEventListener("resize", fluid_update, false); + window.addEventListener("orientationchange", fluid_update, false); + } else { + window.attachEvent("onresize", fluid_update) + } + preempted || app.run(); +}); + +if (typeof define === "function" && define.amd) { + define("Holder", [], function () { + return app; + }); +} + +})(Holder, window); diff --git a/public/js/html5shiv-printshiv.js b/public/js/html5shiv-printshiv.js new file mode 100644 index 0000000..b12379e --- /dev/null +++ b/public/js/html5shiv-printshiv.js @@ -0,0 +1,11 @@ +/* + HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +(function(j,f){function s(a,b){var c=a.createElement("p"),m=a.getElementsByTagName("head")[0]||a.documentElement;c.innerHTML="x";return m.insertBefore(c.lastChild,m.firstChild)}function o(){var a=d.elements;return"string"==typeof a?a.split(" "):a}function n(a){var b=t[a[u]];b||(b={},p++,a[u]=p,t[p]=b);return b}function v(a,b,c){b||(b=f);if(e)return b.createElement(a);c||(c=n(b));b=c.cache[a]?c.cache[a].cloneNode():y.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a); +return b.canHaveChildren&&!z.test(a)?c.frag.appendChild(b):b}function A(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();a.createElement=function(c){return!d.shivMethods?b.createElem(c):v(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+o().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(d,b.frag)} +function w(a){a||(a=f);var b=n(a);if(d.shivCSS&&!q&&!b.hasCSS)b.hasCSS=!!s(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}");e||A(a,b);return a}function B(a){for(var b,c=a.attributes,m=c.length,f=a.ownerDocument.createElement(l+":"+a.nodeName);m--;)b=c[m],b.specified&&f.setAttribute(b.nodeName,b.nodeValue);f.style.cssText=a.style.cssText;return f}function x(a){function b(){clearTimeout(d._removeSheetTimer); +c&&c.removeNode(!0);c=null}var c,f,d=n(a),e=a.namespaces,j=a.parentWindow;if(!C||a.printShived)return a;"undefined"==typeof e[l]&&e.add(l);j.attachEvent("onbeforeprint",function(){b();var g,i,d;d=a.styleSheets;for(var e=[],h=d.length,k=Array(h);h--;)k[h]=d[h];for(;d=k.pop();)if(!d.disabled&&D.test(d.media)){try{g=d.imports,i=g.length}catch(j){i=0}for(h=0;h+~])("+o().join("|")+")(?=[[\\s,>+~#.:]|$)", +"gi");for(k="$1"+l+"\\:$2";i--;)e=g[i]=g[i].split("}"),e[e.length-1]=e[e.length-1].replace(h,k),g[i]=e.join("}");e=g.join("{");i=a.getElementsByTagName("*");h=i.length;k=RegExp("^(?:"+o().join("|")+")$","i");for(d=[];h--;)g=i[h],k.test(g.nodeName)&&d.push(g.applyElement(B(g)));f=d;c=s(a,e)});j.attachEvent("onafterprint",function(){for(var a=f,c=a.length;c--;)a[c].removeNode();clearTimeout(d._removeSheetTimer);d._removeSheetTimer=setTimeout(b,500)});a.printShived=!0;return a}var r=j.html5||{},z=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i, +y=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q,u="_html5shiv",p=0,t={},e;(function(){try{var a=f.createElement("a");a.innerHTML="";q="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}e=b}catch(d){e=q=!0}})();var d={elements:r.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video", +version:"3.7.0",shivCSS:!1!==r.shivCSS,supportsUnknownElements:e,shivMethods:!1!==r.shivMethods,type:"default",shivDocument:w,createElement:v,createDocumentFragment:function(a,b){a||(a=f);if(e)return a.createDocumentFragment();for(var b=b||n(a),c=b.frag.cloneNode(),d=0,j=o(),l=j.length;darticle,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}"; +c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| +"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); +if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d 0) { + pRMs.push(o); + } + else { + cb = o.cb; + if (!cb) { continue; } + delete o.cb; // to make sure I won't call this more than once! + cb.apply(false, o.args); + } + } + + pendingRMs = pRMs; + + if (pendingRMs.length > 0) { + setTimeout( function() { Ink._checkPendingRequireModules(); }, 0 ); + } + }, + + /** + * Get the full path of a module. + * This method looks up the paths given in setPath (and ultimately the default Ink's path). + * + * @method getPath + * @param {String} key Name of the module you want to get the path + * @param {Boolean} [noLib] Flag to skip appending 'lib.js' to the returned path. + */ + getPath: function(key, noLib) { + var split = key.split(/[._]/g); + var curKey; + var i; + var root; + var path; + + // Look for Ink.Dom.Element.1, Ink.Dom.Element, Ink.Dom, Ink in this order. + for (i = split.length; i >= 0; i -= 1) { + curKey = split.slice(0, i + 1).join('.'); // See comment in setPath + if (paths[curKey]) { + root = curKey; + break; + } + } + + if (root in paths) { + path = paths[root]; + } else { + return null; + } + + if (!/\/$/.test(path)) { + path += '/'; + } + if (i < split.length) { + // Add the rest of the path. For example, if we found + // paths['Ink.Dom'] to be 'http://example.com/Ink/Dom/', + // we now add '/Element/' to get the full path. + path += split.slice(i + 1).join('/') + '/'; + } + if (!noLib) { + path += 'lib.js'; + } + return path; + }, + + /** + * Sets the URL path for a namespace. + * Use this to customize where requireModules and createModule will load dependencies from. + * This can be useful to set your own CDN for dynamic module loading or simply to change your module folder structure + * + * @method setPath + * + * @param {String} key Module or namespace + * @param {String} rootURI Base URL path and schema to be appended to the module or namespace + * + * @example + * Ink.setPath('Ink', 'http://my-cdn/Ink/'); + * Ink.setPath('Lol', 'http://my-cdn/Lol/'); + * + * // Loads from http://my-cdn/Ink/Dom/Whatever/lib.js + * Ink.requireModules(['Ink.Dom.Whatever'], function () { ... }); + * // Loads from http://my-cdn/Lol/Whatever/lib.js + * Ink.requireModules(['Lol.Whatever'], function () { ... }); + */ + setPath: function(key, rootURI) { + // Replacing version separator with dot because the difference + // between a submodule and a version doesn't matter here. + // It would also overcomplicate the implementation of getPath + paths[key.replace(/_/, '.')] = rootURI; + }, + + /** + * Loads a script URL. + * This creates a `script` tag in the `head` of the document. + * Reports errors by listening to 'error' and 'readystatechange' events. + * + * @method loadScript + * @param {String} uri Can be an external URL or a module name + * @param {String} [contentType]='text/javascript' The `type` attribute of the new script tag. + */ + loadScript: function(uri, contentType) { + /*jshint evil:true */ + + if (uri.indexOf('/') === -1) { + var givenUri = uri; // For the error message + uri = this.getPath(uri); + if (uri === null) { + throw new Error('Could not load script "' + givenUri + '". ' + + 'Path not found in the registry. Did you misspell ' + + 'the name, or forgot to call setPath()?'); + } + } + + var scriptEl = document.createElement('script'); + scriptEl.setAttribute('type', contentType || 'text/javascript'); + scriptEl.setAttribute('src', uri); + + scriptEl.onerror = scriptEl.onreadystatechange = function (ev) { + ev = ev || window.event; + if (ev.type === 'readystatechange' && scriptEl.readyState !== 'loaded') { + // if not readyState == 'loaded' it's not an error. + return; + } + Ink.error(['Failed to load script from ', uri, '.'].join('')); + }; + // CHECK ON ALL BROWSERS + /*if (document.readyState !== 'complete' && !document.body) { + document.write( scriptEl.outerHTML ); + } + else {*/ + var aHead = document.getElementsByTagName('head'); + if(aHead.length > 0) { + aHead[0].appendChild(scriptEl); + } + //} + }, + + _loadLater: function (dep) { + setTimeout(function () { + if (modules[dep] || modulesRequested[dep] || + modulesWaitingForDeps[dep]) { + return; + } + modulesRequested[dep] = true; + Ink.loadScript(dep); + }, 0); + }, + + /** + * Defines a module namespace. + * + * @method namespace + * @param {String} ns Namespace to define. + * @param {Boolean} [returnParentAndKey] Flag to change the return value to an array containing the namespace parent and the namespace key + * @return {Object|Array} Returns the created namespace object + */ + namespace: function(ns, returnParentAndKey) { + if (!ns || !ns.length) { return null; } + + var levels = ns.split('.'); + var nsobj = window; + var parent; + + for (var i = 0, f = levels.length; i < f; ++i) { + nsobj[ levels[i] ] = nsobj[ levels[i] ] || {}; + parent = nsobj; + nsobj = nsobj[ levels[i] ]; + } + + if (returnParentAndKey) { + return [ + parent, + levels[i-1] + ]; + } + + return nsobj; + }, + + /** + * Loads a module. + * A synchronous method to get the module from the internal registry. + * It assumes the module is defined and loaded already! + * + * @method getModule + * @param {String} mod Module name + * @param {Number} [version] Version number of the module + * @return {Object|Function} Module object or function, depending how the module is defined + */ + getModule: function(mod, version) { + var key = version ? [mod, '_', version].join('') : mod; + return modules[key]; + }, + + /** + * Creates a new module. + * Use this to wrap your code and benefit from the module loading used throughout the Ink library + * + * @method createModule + * @param {String} mod Module name, separated by dots. Like Ink.Dom.Selector, Ink.UI.Modal + * @param {Number} version Version number + * @param {Array} deps Array of module names which are dependencies of the module being created. The order in which they are passed here will define the order they will be passed to the callback function. + * @param {Function} modFn The callback function to be executed when all the dependencies are resolved. The dependencies are passed as arguments, in the same order they were declared. The function itself should return the module. + * @sample Ink_1_createModule.html + * + */ + createModule: function(mod, ver, deps, modFn) { // define + if (typeof mod !== 'string') { + throw new Error('module name must be a string!'); + } + + // validate version correctness + if (!(typeof ver === 'number' || (typeof ver === 'string' && ver.length > 0))) { + throw new Error('version number missing!'); + } + + var modAll = [mod, '_', ver].join(''); + + modulesWaitingForDeps[modAll] = true; + + var cb = function() { + //console.log(['createModule(', mod, ', ', ver, ', [', deps.join(', '), '], ', !!modFn, ')'].join('')); + + // make sure module in not loaded twice + if (modules[modAll]) { + //console.warn(['Ink.createModule ', modAll, ': module has been defined already.'].join('')); + return; + } + + + // delete related pending tasks + delete modulesRequested[modAll]; + delete modulesRequested[mod]; + + + // run module's supplied factory + var args = Array.prototype.slice.call(arguments); + var moduleContent = modFn.apply(window, args); + modulesLoadOrder.push(modAll); + // console.log('** loaded module ' + modAll + '**'); + + + // set version + if (typeof moduleContent === 'object') { // Dom.Css Dom.Event + moduleContent._version = ver; + } + else if (typeof moduleContent === 'function') { + moduleContent.prototype._version = ver; // if constructor + moduleContent._version = ver; // if regular function + } + + + // add to global namespace... + var isInkModule = mod.indexOf('Ink.') === 0; + var t; + if (isInkModule) { + t = Ink.namespace(mod, true); // for mod 'Ink.Dom.Css', t[0] gets 'Ink.Dom' object and t[1] 'Css' + } + + + // versioned + modules[ modAll ] = moduleContent; // in modules + delete modulesWaitingForDeps[ modAll ]; + + if (isInkModule) { + t[0][ t[1] + '_' + ver ] = moduleContent; // in namespace + } + + + // unversioned + modules[ mod ] = moduleContent; // in modules + + if (isInkModule) { + if (isEmptyObject( t[0][ t[1] ] )) { + t[0][ t[1] ] = moduleContent; // in namespace + } + // else { + // console.warn(['Ink.createModule ', modAll, ': module has been defined already with a different version!'].join('')); + // } + } + + + if (this) { // there may be pending requires expecting this module, check... + Ink._checkPendingRequireModules(); + } + }; + + this.requireModules(deps, cb); + }, + + /** + * Requires modules asynchronously + * Use this to get modules, even if they're not loaded yet + * + * @method requireModules + * @param {Array} deps Array of module names. The order in which they are passed here will define the order they will be passed to the callback function. + * @param {Function} cbFn The callback function to be executed when all the dependencies are resolved. The dependencies are passed as arguments, in the same order they were declared. + * @sample Ink_1_requireModules.html + */ + requireModules: function(deps, cbFn) { // require + //console.log(['requireModules([', deps.join(', '), '], ', !!cbFn, ')'].join('')); + var i, f, o, dep, mod; + f = deps && deps.length; + o = { + args: new Array(f), + left: {}, + remaining: f, + cb: cbFn + }; + + if (!(typeof deps === 'object' && deps.length !== undefined)) { + throw new Error('Dependency list should be an array!'); + } + if (typeof cbFn !== 'function') { + throw new Error('Callback should be a function!'); + } + + for (i = 0; i < f; ++i) { + if (Ink._moduleRenames[deps[i]]) { + Ink.warn(deps[i] + ' was renamed to ' + Ink._moduleRenames[deps[i]]); + dep = Ink._moduleRenames[deps[i]]; + } else { + dep = deps[i]; + } + + // Because trailing commas in oldIE bring us undefined values here + if (!dep) { + --o.remaining; + continue; + } + + mod = modules[dep]; + if (mod) { + o.args[i] = mod; + --o.remaining; + continue; + } + else if (!modulesRequested[dep]) { + Ink._loadLater(dep); + } + o.left[dep] = i; + } + + if (o.remaining > 0) { + pendingRMs.push(o); + } + else { + cbFn.apply(true, o.args); + } + }, + + _moduleRenames: { + 'Ink.UI.Aux_1': 'Ink.UI.Common_1' + }, + + /** + * Lists loaded module names. + * The list is ordered by loaded time (oldest module comes first) + * + * @method getModulesLoadOrder + * @return {Array} returns the order in which modules were resolved and correctly loaded + */ + getModulesLoadOrder: function() { + return modulesLoadOrder.slice(); + }, + + /** + * Builds the markup needed to load the modules. + * This method builds the script tags needed to load the currently used modules + * + * @method getModuleScripts + * @uses getModulesLoadOrder + * @return {String} The script markup + */ + getModuleScripts: function() { + var mlo = this.getModulesLoadOrder(); + mlo.unshift('Ink_1'); + mlo = mlo.map(function(m) { + return [''].join(''); + }); + + return mlo.join('\n'); + }, + + /** + * Creates an Ink.Ext module + * + * Does exactly the same as createModule but creates the module in the Ink.Ext namespace + * + * @method createExt + * @uses createModule + * @param {String} moduleName Extension name + * @param {String} version Extension version + * @param {Array} dependencies Extension dependencies + * @param {Function} modFn Function returning the extension + * @sample Ink_1_createExt.html + */ + createExt: function (moduleName, version, dependencies, modFn) { + return Ink.createModule('Ink.Ext.' + moduleName, version, dependencies, modFn); + }, + + /** + * Function.prototype.bind alternative. + * Creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function is called. + * + * @method bind + * @param {Function} fn The function + * @param {Object} context The value to be passed as the this parameter to the target function when the bound function is called. If used as false, it preserves the original context and just binds the arguments. + * @param {Any} [args*] Additional arguments will be sent to the original function as prefix arguments. + * @return {Function} + * @sample Ink_1_bind.html + */ + bind: function(fn, context) { + var args = Array.prototype.slice.call(arguments, 2); + return function() { + var innerArgs = Array.prototype.slice.call(arguments); + var finalArgs = args.concat(innerArgs); + return fn.apply(context === false ? this : context, finalArgs); + }; + }, + + /** + * Function.prototype.bind alternative for class methods + * Creates a new function that, when called, has this k + * @method bindMethod + * @uses bind + * @param {Object} object The object that contains the method to bind + * @param {String} methodName The name of the method that will be bound + * @param {Any} [args*] Additional arguments will be sent to the new method as prefix arguments. + * @return {Function} + * @sample Ink_1_bindMethod.html + */ + bindMethod: function (object, methodName) { + return Ink.bind.apply(Ink, + [object[methodName], object].concat([].slice.call(arguments, 2))); + }, + + /** + * Function.prototype.bind alternative for event handlers. + * Same as bind but keeps first argument of the call the original event. + * Set "context" to `false` to preserve the original context of the function and just bind the arguments. + * + * @method bindEvent + * @param {Function} fn The function + * @param {Object} context The value to be passed as the this parameter to the target + * @param {Any} [args*] Additional arguments will be sent to the original function as prefix arguments + * @return {Function} + * @sample Ink_1_bindEvent.html + */ + bindEvent: function(fn, context) { + var args = Array.prototype.slice.call(arguments, 2); + return function(event) { + var finalArgs = args.slice(); + finalArgs.unshift(event || window.event); + return fn.apply(context === false ? this : context, finalArgs); + }; + }, + + /** + * Alias to document.getElementById + * + * @method i + * @param {String} id Element ID + * @return {DOMElement} + * @sample Ink_1_i.html + */ + i: function(id) { + if(!id) { + throw new Error('Ink.i => id or element must be passed'); + } + if(typeof(id) === 'string') { + return document.getElementById(id); + } + return id; + }, + + /** + * Alias for Ink.Dom.Selector + * + * @method ss + * @uses Ink.Dom.Selector.select + * @param {String} rule + * @param {DOMElement} [from] + * @return {Array} array of DOMElements + * @sample Ink_1_ss.html + */ + ss: function(rule, from) + { + if(typeof(Ink.Dom) === 'undefined' || typeof(Ink.Dom.Selector) === 'undefined') { + throw new Error('This method requires Ink.Dom.Selector'); + } + return Ink.Dom.Selector.select(rule, (from || document)); + }, + + /** + * Alias for Ink.Dom.Selector first result + * + * @method s + * @uses Ink.Dom.Selector.select + * @param {String} rule Selector string + * @param {DOMElement} [from] Context element. If set to a DOM element, the rule will only look for descendants of this DOM Element. + * @return {DOMElement} + * @sample Ink_1_s.html + */ + s: function(rule, from) + { + if(typeof(Ink.Dom) === 'undefined' || typeof(Ink.Dom.Selector) === 'undefined') { + throw new Error('This method requires Ink.Dom.Selector'); + } + return Ink.Dom.Selector.select(rule, (from || document))[0] || null; + }, + + /** + * Extends an object with another + * Copy all of the properties in one or more source objects over to the destination object, and return the destination object. It's in-order, so the last source will override properties of the same name in previous arguments. + * + * @method extendObj + * @param {Object} destination The object that will receive the new/updated properties + * @param {Object} source The object whose properties will be copied over to the destination object + * @param {Object} [args*] Additional source objects. The last source will override properties of the same name in the previous defined sources + * @return destination object, enriched with defaults from the sources + * @sample Ink_1_extendObj.html + */ + extendObj: function(destination/*, source... */) { + var sources = [].slice.call(arguments, 1); + + for (var i = 0, len = sources.length; i < len; i++) { + if (!sources[i]) { continue; } + for (var property in sources[i]) { + if(Object.prototype.hasOwnProperty.call(sources[i], property)) { + destination[property] = sources[i][property]; + } + } + } + + return destination; + }, + + /** + * Calls native console.log if available. + * + * @method log + * @param {Any} [args*] Arguments to be evaluated + * @sample Ink_1_log.html + **/ + log: function () { + // IE does not have console.log.apply in IE10 emulated mode + var console = window.console; + if (console && console.log) { + apply.call(console.log, console, arguments); + } + }, + + /** + * Calls native console.warn if available. + * + * @method warn + * @param {Any} [args*] Arguments to be evaluated + * @sample Ink_1_warn.html + **/ + warn: function () { + // IE does not have console.log.apply in IE10 emulated mode + var console = window.console; + if (console && console.warn) { + apply.call(console.warn, console, arguments); + } + }, + + /** + * Calls native console.error if available. + * + * @method error + * @param {Any} [args*] Arguments to be evaluated + * @sample Ink_1_error.html + **/ + error: function () { + // IE does not have console.log.apply in IE10 emulated mode + var console = window.console; + if (console && console.error) { + apply.call(console.error, console, arguments); + } + } + }; + + + // TODO for debug - to detect pending stuff + /* + var failCount = {}; // fail count per module name + var maxFails = 3; // times + var checkDelta = 0.5; //seconds + + var tmpTmr = setInterval(function() { + var mk = Object.keys(modulesRequested); + var l = mk.length; + + if (l > 0) { + // console.log('** waiting for modules: ' + mk.join(', ') + ' **'); + + for (var i = 0, f = mk.length, k, v; i < f; ++i) { + k = mk[i]; + v = failCount[k]; + failCount[k] = (v === undefined) ? 1 : ++v; + + if (v >= maxFails) { + console.error('** Loading of module ' + k + ' failed! **'); + delete modulesRequested[k]; + } + } + } + else { + // console.log('** Module loads complete. **'); + clearInterval(tmpTmr); + } + }, checkDelta*1000); + */ +}(window, document)); + +/** + * Cross Browser Ajax requests + * @module Ink.Net.Ajax_1 + * @version 1 + */ + +Ink.createModule('Ink.Net.Ajax', '1', [], function() { + + 'use strict'; + + /** + * Creates a new XMLHttpRequest object + * + * @class Ink.Net.Ajax + * @constructor + * + * @param {String} url Request URL + * @param {Object} options Request options + * @param {Boolean} [options.asynchronous]=true If false, the request synchronous. + * @param {Boolean} [options.cors] Flag to activate CORS. Set this to true if you're doing a cross-origin request + * @param {String} [options.method]='POST' HTTP request method. POST by default. + * @param {Object|String} [options.parameters] Request parameters to be sent with the request + * @param {Number} [options.timeout] Request timeout in seconds + * @param {Number} [options.delay] Artificial delay. If the request is completed faster than this delay, wait the remaining time before executing the callbacks + * @param {String} [options.postBody] POST request body. If not specified, it's filled with the contents from parameters + * @param {String} [options.contentType] Content-type header to be sent. Defaults to 'application/x-www-form-urlencoded' + * @param {Object} [options.requestHeaders] Key-value pairs for additional request headers + * @param {Function} [options.onComplete] Callback executed after the request is completed, regardless of what happened during the request. + * @param {Function} [options.onSuccess] Callback executed if the request is successful (requests with 2xx status codes) + * @param {Function} [options.onFailure] Callback executed if the request fails (requests with status codes different from 2xx) + * @param {Function} [options.onException] Callback executed if an exception occurs. Receives the exception as a parameter. + * @param {Function} [options.onCreate] Callback executed after object initialization but before the request is made + * @param {Function} [options.onInit] Callback executed before any initialization + * @param {Function} [options.onTimeout] Callback executed if the request times out + * @param {Boolean|String} [options.evalJS]=true If the request Content-type header is application/json, evaluates the response and populates responseJSON. Use 'force' if you want to force the response evaluation, no matter what Content-type it's using. + * @param {Boolean} [options.sanitizeJSON] Flag to sanitize the content of responseText before evaluation + * @param {String} [options.xhrProxy] URI for proxy service hosted on the same server as the web app, that can fetch documents from other domains. The service must pipe all input and output untouched (some input sanitization is allowed, like clearing cookies). e.g., requesting http://example.org/doc can become /proxy/http%3A%2F%2Fexample.org%2Fdoc The proxy service will be used for cross-domain requests, if set, else a network error is returned as exception. + * + * @sample Ink_Net_Ajax_1.html + */ + var Ajax = function(url, options){ + + // start of AjaxMock patch - uncomment to enable it + /*var AM = SAPO.Communication.AjaxMock; + if (AM && !options.inMock) { + if (AM.autoRecordThisUrl && AM.autoRecordThisUrl(url)) { + return new AM.Record(url, options); + } + if (AM.mockThisUrl && AM.mockThisUrl(url)) { + return new AM.Play(url, options, true); + } + }*/ + // end of AjaxMock patch + + this.init(url, options); + }; + + /** + * Options for all requests. These can then be overriden for individual ones. + */ + Ajax.globalOptions = { + parameters: {}, + requestHeaders: {} + }; + + + // IE10 does not need XDomainRequest + var xMLHttpRequestWithCredentials = 'XMLHttpRequest' in window && 'withCredentials' in (new XMLHttpRequest()); + + + + Ajax.prototype = { + + init: function(url, userOptions) { + if (!url) { + throw new Error("WRONG_ARGUMENTS_ERR"); + } + var options = Ink.extendObj({ + asynchronous: true, + method: 'POST', + parameters: null, + timeout: 0, + delay: 0, + postBody: '', + contentType: 'application/x-www-form-urlencoded', + requestHeaders: null, + onComplete: null, + onSuccess: null, + onFailure: null, + onException: null, + onHeaders: null, + onCreate: null, + onInit: null, + onTimeout: null, + sanitizeJSON: false, + evalJS: true, + xhrProxy: '', + cors: false, + debug: false, + useCredentials: false, + signRequest: false + }, Ajax.globalOptions); + + if (userOptions && typeof userOptions === 'object') { + options = Ink.extendObj(options, userOptions); + + + if (typeof userOptions.parameters === 'object') { + options.parameters = Ink.extendObj(Ink.extendObj({}, Ajax.globalOptions.parameters), userOptions.parameters); + } else if (userOptions.parameters !== null) { + var globalParameters = this.paramsObjToStr(Ajax.globalOptions.parameters); + if (globalParameters) { + options.parameters = userOptions.parameters + '&' + globalParameters; + } + } + + options.requestHeaders = Ink.extendObj({}, Ajax.globalOptions.requestHeaders); + options.requestHeaders = Ink.extendObj(options.requestHeaders, userOptions.requestHeaders); + } + + this.options = options; + + this.safeCall('onInit'); + + this.url = url; + + var urlLocation = this._locationFromURL(url); + this.isHTTP = this._locationIsHTTP(urlLocation); + this.isCrossDomain = this._locationIsCrossDomain(urlLocation, location); + + this.requestHasBody = options.method.search(/^get|head$/i) < 0; + + if(this.options.cors) { + this.isCrossDomain = false; + } + + this.transport = this.getTransport(); + + this.request(); + }, + + /** + * Returns a location object from an URL + * + * @method _locationFromUrl + * @param url + * @private + **/ + _locationFromURL: function (url) { + var urlLocation = document.createElementNS ? + document.createElementNS('http://www.w3.org/1999/xhtml', 'a') : + document.createElement('a'); + urlLocation.href = url; + return urlLocation; + }, + + /** + * Checks whether a location is HTTP or HTTPS + * + * @method locationIsHttp + * @param urlLocation + * @private + */ + _locationIsHTTP: function (urlLocation) { + return urlLocation.protocol.match(/^https?:/i) ? true : false; + }, + + /** + * Checks whether a location is cross-domain from another + * + * @method _locationIsCrossDomain + * @param urlLocation {Location} + * @param otherLocation {Location} + */ + _locationIsCrossDomain: function (urlLocation, location) { + location = location || window.location; + if (!Ajax.prototype._locationIsHTTP(urlLocation) || location.protocol === 'widget:' || typeof window.widget === 'object') { + return false; + } else { + return location.protocol !== urlLocation.protocol || + location.host.split(':')[0] !== urlLocation.host.split(':')[0]; + } + }, + + /** + * Creates the appropriate XMLHttpRequest object + * + * @method getTransport + * @return {Object} XMLHttpRequest object + */ + getTransport: function() + { + /*global XDomainRequest:false, ActiveXObject:false */ + if (!xMLHttpRequestWithCredentials && this.options.cors && 'XDomainRequest' in window) { + this.usingXDomainReq = true; + return new XDomainRequest(); + } + else if (typeof XMLHttpRequest !== 'undefined') { + return new XMLHttpRequest(); + } + else if (typeof ActiveXObject !== 'undefined') { + try { + return new ActiveXObject('Msxml2.XMLHTTP'); + } catch (e) { + return new ActiveXObject('Microsoft.XMLHTTP'); + } + } else { + return null; + } + }, + + /** + * Set the necessary headers for an ajax request + * + * @method setHeaders + * @param {String} url The url for the request + */ + setHeaders: function() + { + if (this.transport) { + try { + var headers = { + "Accept": "text/javascript,text/xml,application/xml,application/xhtml+xml,text/html,application/json;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1", + "Accept-Language": navigator.language, + "X-Requested-With": "XMLHttpRequest", + "X-Ink-Version": "2" + }; + if (this.options.cors) { + if (!this.options.signRequest) { + delete headers['X-Requested-With']; + } + delete headers['X-Ink-Version']; + } + + if (this.options.requestHeaders && typeof this.options.requestHeaders === 'object') { + for(var headerReqName in this.options.requestHeaders) { + if (this.options.requestHeaders.hasOwnProperty(headerReqName)) { + headers[headerReqName] = this.options.requestHeaders[headerReqName]; + } + } + } + + if (this.transport.overrideMimeType && (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005) { + headers.Connection = 'close'; + } + + for (var headerName in headers) { + if(headers.hasOwnProperty(headerName)) { + this.transport.setRequestHeader(headerName, headers[headerName]); + } + } + } catch(e) {} + } + }, + + /** + * Converts an object with parameters to a querystring + * + * @method paramsObjToStr + * @param {Object|String} optParams parameters object + * @return {String} querystring + */ + paramsObjToStr: function(optParams) { + var k, m, p, a, params = []; + if (typeof optParams === 'object') { + for (p in optParams){ + if (optParams.hasOwnProperty(p)) { + a = optParams[p]; + if (Object.prototype.toString.call(a) === '[object Array]' && !isNaN(a.length)) { + for (k = 0, m = a.length; k < m; k++) { + params = params.concat([ + encodeURIComponent(p), '[]', '=', + encodeURIComponent(a[k]), '&' + ]); + } + } + else { + params = params.concat([ + encodeURIComponent(p), '=', + encodeURIComponent(a), '&' + ]); + } + } + } + if (params.length > 0) { + params.pop(); + } + } + else + { + return optParams; + } + return params.join(''); + }, + + /** + * Set the url parameters for a GET request + * + * @method setParams + */ + setParams: function() + { + var params = null, optParams = this.options.parameters; + + if(typeof optParams === "object"){ + params = this.paramsObjToStr(optParams); + } else { + params = '' + optParams; + } + + if(params){ + if(this.url.indexOf('?') > -1) { + this.url = this.url.split('#')[0] + '&' + params; + } else { + this.url = this.url.split('#')[0] + '?' + params; + } + } + }, + + /** + * Gets an HTTP header from the response + * + * @method getHeader + * @param {String} name Header name + * @return {String} header Content + */ + getHeader: function(name) + { + if (this.usingXDomainReq && name === 'Content-Type') { + return this.transport.contentType; + } + try{ + return this.transport.getResponseHeader(name); + } catch(e) { + return null; + } + }, + + /** + * Gets all the HTTP headers from the response + * + * @method getAllHeaders + * @return {String} The headers, each separated by a newline + */ + getAllHeaders: function() + { + try { + return this.transport.getAllResponseHeaders(); + } catch(e) { + return null; + } + }, + + /** + * Sets the response object + * + * @method getResponse + * @return {Object} the response object + */ + getResponse: function(){ + // setup our own stuff + var t = this.transport, + r = { + headerJSON: null, + responseJSON: null, + getHeader: this.getHeader, + getAllHeaders: this.getAllHeaders, + request: this, + transport: t, + timeTaken: new Date() - this.startTime, + requestedUrl: this.url + }; + + // setup things expected from the native object + r.readyState = t.readyState; + try { r.responseText = t.responseText; } catch(e) {} + try { r.responseXML = t.responseXML; } catch(e) {} + try { r.status = t.status; } catch(e) { r.status = 0; } + try { r.statusText = t.statusText; } catch(e) { r.statusText = ''; } + + return r; + }, + + /** + * Aborts the request if still running. No callbacks are called + * + * @method abort + */ + abort: function(){ + if (this.transport) { + clearTimeout(this.delayTimeout); + clearTimeout(this.stoTimeout); + try { this.transport.abort(); } catch(ex) {} + this.finish(); + } + }, + + /** + * Executes the state changing phase of an ajax request + * + * @method runStateChange + */ + runStateChange: function() + { + var rs = this.transport.readyState; + if (rs === 3) { + if (this.isHTTP) { + this.safeCall('onHeaders'); + } + } else if (rs === 4 || this.usingXDomainReq) { + + if (this.options.asynchronous && this.options.delay && (this.startTime + this.options.delay > new Date().getTime())) { + this.delayTimeout = setTimeout(Ink.bind(this.runStateChange, this), this.options.delay + this.startTime - new Date().getTime()); + return; + } + + var responseJSON, + responseContent = this.transport.responseText, + response = this.getResponse(), + curStatus = this.transport.status; + + if (this.isHTTP && !this.options.asynchronous) { + this.safeCall('onHeaders'); + } + + clearTimeout(this.stoTimeout); + + if (curStatus === 0) { + // Status 0 indicates network error for http requests. + // For http less requests, 0 is always returned. + if (this.isHTTP) { + this.safeCall('onException', this.makeError(18, 'NETWORK_ERR')); + } else { + curStatus = responseContent ? 200 : 404; + } + } + else if (curStatus === 304) { + curStatus = 200; + } + var isSuccess = this.usingXDomainReq || 200 <= curStatus && curStatus < 300; + + var headerContentType = this.getHeader('Content-Type') || ''; + if (this.options.evalJS && + (headerContentType.indexOf("application/json") >= 0 || this.options.evalJS === 'force')){ + try { + responseJSON = this.evalJSON(responseContent, this.sanitizeJSON); + if(responseJSON){ + responseContent = response.responseJSON = responseJSON; + } + } catch(e){ + if (isSuccess) { + // If the request failed, then this is perhaps an error page + // so don't notify error. + this.safeCall('onException', e); + } + } + } + + if (this.usingXDomainReq && headerContentType.indexOf('xml') !== -1 && 'DOMParser' in window) { + // http://msdn.microsoft.com/en-us/library/ie/ff975278(v=vs.85).aspx + var mimeType; + switch (headerContentType) { + case 'application/xml': + case 'application/xhtml+xml': + case 'image/svg+xml': + mimeType = headerContentType; + break; + default: + mimeType = 'text/xml'; + } + var xmlDoc = (new DOMParser()).parseFromString( this.transport.responseText, mimeType); + this.transport.responseXML = xmlDoc; + response.responseXML = xmlDoc; + } + + if (this.transport.responseXML !== null && response.responseJSON === null && this.transport.responseXML.xml !== ""){ + responseContent = this.transport.responseXML; + } + + if (curStatus || this.usingXDomainReq) { + if (isSuccess) { + this.safeCall('onSuccess', response, responseContent); + } else { + this.safeCall('onFailure', response, responseContent); + } + this.safeCall('on'+curStatus, response, responseContent); + } + this.finish(response, responseContent); + } + }, + + /** + * Last step after XHR is complete. Call onComplete and cleanup object + * + * @method finish + * @param {Any} response + * @param {Any} responseContent + */ + finish: function(response, responseContent){ + if (response) { + this.safeCall('onComplete', response, responseContent); + } + clearTimeout(this.stoTimeout); + + if (this.transport) { + // IE6 sometimes barfs on this one + try{ this.transport.onreadystatechange = null; } catch(e){} + + if (typeof this.transport.destroy === 'function') { + // Stuff for Samsung. + this.transport.destroy(); + } + + // Let XHR be collected. + this.transport = null; + } + }, + + /** + * Safely calls a callback function. + * Verifies that the callback is well defined and traps errors + * + * @method safeCall + * @param {Function} listener + */ + safeCall: function(listener, first/*, second*/) { + function rethrow(exception){ + setTimeout(function() { + // Rethrow exception so it'll land in + // the error console, firebug, whatever. + if (exception.message) { + exception.message += '\n'+(exception.stacktrace || exception.stack || ''); + } + throw exception; + }, 1); + } + if (typeof this.options[listener] === 'function') { + //SAPO.safeCall(this, this.options[listener], first, second); + //return object[listener].apply(object, [].slice.call(arguments, 2)); + try { + this.options[listener].apply(this, [].slice.call(arguments, 1)); + } catch(ex) { + rethrow(ex); + } + } else if (first && window.Error && (first instanceof Error)) { + rethrow(first); + } + }, + + /** + * Sets a new request header for the next http request + * + * @method setRequestHeader + * @param {String} name + * @param {String} value + */ + setRequestHeader: function(name, value){ + if (!this.options.requestHeaders) { + this.options.requestHeaders = {}; + } + this.options.requestHeaders[name] = value; + }, + + /** + * Executes the request + * + * @method request + */ + request: function() + { + if(this.transport) { + var params = null; + if(this.requestHasBody) { + if(this.options.postBody !== null && this.options.postBody !== '') { + params = this.options.postBody; + this.setParams(); + } else if (this.options.parameters !== null && this.options.parameters !== ''){ + params = this.options.parameters; + } + + if (typeof params === "object" && !params.nodeType) { + params = this.paramsObjToStr(params); + } else if (typeof params !== "object" && params !== null){ + params = '' + params; + } + + if(this.options.contentType) { + this.setRequestHeader('Content-Type', this.options.contentType); + } + } else { + this.setParams(); + } + + var url = this.url; + var method = this.options.method; + var crossDomain = this.isCrossDomain; + + if (crossDomain && this.options.xhrProxy) { + this.setRequestHeader('X-Url', url); + url = this.options.xhrProxy + encodeURIComponent(url); + crossDomain = false; + } + + try { + this.transport.open(method, url, this.options.asynchronous); + } catch(e) { + this.safeCall('onException', e); + return this.finish(this.getResponse(), null); + } + + this.setHeaders(); + + this.safeCall('onCreate'); + + if(this.options.timeout && !isNaN(this.options.timeout)) { + this.stoTimeout = setTimeout(Ink.bind(function() { + if(this.options.onTimeout) { + this.safeCall('onTimeout'); + this.abort(); + } + }, this), (this.options.timeout * 1000)); + } + + if(this.options.useCredentials && !this.usingXDomainReq) { + this.transport.withCredentials = true; + } + + if(this.options.asynchronous && !this.usingXDomainReq) { + this.transport.onreadystatechange = Ink.bind(this.runStateChange, this); + } + else if (this.usingXDomainReq) { + this.transport.onload = Ink.bind(this.runStateChange, this); + } + + try { + if (crossDomain) { + // Need explicit handling because Mozila aborts + // the script and Chrome fails silently.per the spec + throw this.makeError(18, 'NETWORK_ERR'); + } else { + this.startTime = new Date().getTime(); + this.transport.send(params); + } + } catch(e) { + this.safeCall('onException', e); + return this.finish(this.getResponse(), null); + } + + if(!this.options.asynchronous) { + this.runStateChange(); + } + } + }, + + /** + * Returns a new exception object that can be thrown + * + * @method makeError + * @param code Error Code + * @param message Message + * @returns {Object} + */ + makeError: function(code, message){ + if (typeof Error !== 'function') { + return {code: code, message: message}; + } + var e = new Error(message); + e.code = code; + return e; + }, + + /** + * Checks if a given string is valid JSON + * + * @method isJSON + * @param {String} str String to be evaluated + * @return {Boolean} True if the string is valid JSON + */ + isJSON: function(str) + { + if (typeof str !== "string" || !str){ return false; } + str = str.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''); + return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str); + }, + + /** + * Evaluates a given string as JSON + * + * @method evalJSON + * @param {String} str String to be evaluated + * @param {Boolean} sanitize Flag to sanitize the content + * @return {Object} JSON content as an object + */ + evalJSON: function(strJSON, sanitize) + { + if (strJSON && (!sanitize || this.isJSON(strJSON))) { + try { + if (typeof JSON !== "undefined" && typeof JSON.parse !== 'undefined'){ + return JSON.parse(strJSON); + } + /*jshint evil:true */ + return eval('(' + strJSON + ')'); + } catch(e) { + throw new Error('ERROR: Bad JSON string...'); + } + } + return null; + } + }; + + /** + * Loads content from a given url through an XMLHttpRequest. + * + * Shortcut function for simple AJAX use cases. Works with JSON, XML and plain text. + * + * @method load + * @param {String} url Request URL + * @param {Function} callback Callback to be executed if the request is successful + * @return {Object} XMLHttpRequest object + * + * @sample Ink_Net_Ajax_load.html + */ + Ajax.load = function(url, callback){ + return new Ajax(url, { + method: 'GET', + onSuccess: function(response){ + callback(response.responseJSON || response.responseText, response); + } + }); + }; + + /** + * Loads content from a given url through an XMLHttpRequest. + * Shortcut function for simple AJAX use cases. + * + * @method ping + * @param {String} url Request url + * @param {Function} callback Callback to be executed if the request is successful + * @return {Object} XMLHttpRequest object + */ + Ajax.ping = function(url, callback){ + return new Ajax(url, { + method: 'HEAD', + onSuccess: function(response){ + if (typeof callback === 'function'){ + callback(response); + } + } + }); + }; + + + return Ajax; +}); + +/** + * Cross Browser JsonP requests + * @module Ink.Net.JsonP_1 + * @version 1 + */ + +Ink.createModule('Ink.Net.JsonP', '1', [], function() { + + 'use strict'; + + /** + * Executes a JSONP request + * + * @class Ink.Net.JsonP + * @constructor + * + * @param {String} uri Request URL + * @param {Object} options Request options + * @param {Function} options.onSuccess Success callback + * @param {Function} [options.onFailure] Failure callback + * @param {Object} [options.failureObj] Object to be passed as argument to failure callback + * @param {Number} [options.timeout] Timeout for request fail, in seconds. defaults to 10 + * @param {Object} [options.params] Object with the parameters and respective values to unfold + * @param {String} [options.callbackParam] Parameter to use as callback. defaults to 'jsoncallback' + * @param {String} [options.internalCallback] Name of the callback function stored in the Ink.Net.JsonP object. + * @param {String} [options.randVar] (Advanced, not recommended unless you know what you're doing) A string to append to the callback name. By default, generate a random number. Use an empty string if you already passed the correct name in the internalCallback option. + * + * @sample Ink_Net_JsonP_1.html + */ + var JsonP = function(uri, options) { + this.init(uri, options); + }; + + JsonP.prototype = { + + init: function(uri, options) { + this.options = Ink.extendObj( { + onSuccess: undefined, + onFailure: undefined, + failureObj: {}, + timeout: 10, + params: {}, + callbackParam: 'jsoncallback', + internalCallback: '_cb', + randVar: false + }, options || {}); + + if(this.options.randVar !== false) { + this.randVar = this.options.randVar; + } else { + this.randVar = parseInt(Math.random() * 100000, 10); + } + + this.options.internalCallback += this.randVar; + + this.uri = uri; + + // prevent SAPO legacy onComplete - make it onSuccess + if(typeof(this.options.onComplete) === 'function') { + this.options.onSuccess = this.options.onComplete; + } + + if (typeof this.uri !== 'string') { + throw 'Please define an URI'; + } + + if (typeof this.options.onSuccess !== 'function') { + throw 'please define a callback function on option onSuccess!'; + } + + Ink.Net.JsonP[this.options.internalCallback] = Ink.bind(function() { + window.clearTimeout(this.timeout); + delete window.Ink.Net.JsonP[this.options.internalCallback]; + this._removeScriptTag(); + this.options.onSuccess(arguments[0]); + }, this); + + this._addScriptTag(); + }, + + _addParamsToGet: function(uri, params) { + var hasQuestionMark = uri.indexOf('?') !== -1; + var sep, pKey, pValue, parts = [uri]; + + for (pKey in params) { + if (params.hasOwnProperty(pKey)) { + if (!hasQuestionMark) { sep = '?'; hasQuestionMark = true; } + else { sep = '&'; } + pValue = params[pKey]; + if (typeof pValue !== 'number' && !pValue) { pValue = ''; } + parts = parts.concat([sep, pKey, '=', encodeURIComponent(pValue)]); + } + } + + return parts.join(''); + }, + + _getScriptContainer: function() { + var headEls = document.getElementsByTagName('head'); + if (headEls.length === 0) { + var scriptEls = document.getElementsByTagName('script'); + return scriptEls[0]; + } + return headEls[0]; + }, + + _addScriptTag: function() { + // enrich options will callback and random seed + this.options.params[this.options.callbackParam] = 'Ink.Net.JsonP.' + this.options.internalCallback; + this.options.params.rnd_seed = this.randVar; + this.uri = this._addParamsToGet(this.uri, this.options.params); + // create script tag + var scriptEl = document.createElement('script'); + scriptEl.type = 'text/javascript'; + scriptEl.src = this.uri; + var scriptCtn = this._getScriptContainer(); + scriptCtn.appendChild(scriptEl); + this.timeout = setTimeout(Ink.bind(this._requestFailed, this), (this.options.timeout * 1000)); + }, + + _requestFailed : function () { + delete Ink.Net.JsonP[this.options.internalCallback]; + this._removeScriptTag(); + if(typeof this.options.onFailure === 'function'){ + this.options.onFailure(this.options.failureObj); + } + }, + + _removeScriptTag: function() { + var scriptEl; + var scriptEls = document.getElementsByTagName('script'); + var scriptUri; + for (var i = 0, f = scriptEls.length; i < f; ++i) { + scriptEl = scriptEls[i]; + scriptUri = scriptEl.getAttribute('src') || scriptEl.src; + if (scriptUri !== null && scriptUri === this.uri) { + scriptEl.parentNode.removeChild(scriptEl); + return; + } + } + } + + }; + + return JsonP; + +}); + +/** + * Browser Detection and User Agent sniffing + * @module Ink.Dom.Browser_1 + * @version 1 + */ +Ink.createModule('Ink.Dom.Browser', '1', [], function() { + 'use strict'; + + /** + * @namespace Ink.Dom.Browser + * @version 1 + * @static + * @example + * + */ + var Browser = { + /** + * True if the browser is Internet Explorer + * + * @property IE + * @type {Boolean} + * @public + * @static + */ + IE: false, + + /** + * True if the browser is Gecko based + * + * @property GECKO + * @type {Boolean} + * @public + * @static + */ + GECKO: false, + + /** + * True if the browser is Opera + * + * @property OPERA + * @type {Boolean} + * @public + * @static + */ + OPERA: false, + + /** + * True if the browser is Safari + * + * @property SAFARI + * @type {Boolean} + * @public + * @static + */ + SAFARI: false, + + /** + * True if the browser is Konqueror + * + * @property KONQUEROR + * @type {Boolean} + * @public + * @static + */ + KONQUEROR: false, + + /** + * True if browser is Chrome + * + * @property CHROME + * @type {Boolean} + * @public + * @static + */ + CHROME: false, + + /** + * The specific browser model. + * False if it is unavailable. + * + * @property model + * @type {Boolean|String} + * @public + * @static + */ + model: false, + + /** + * The browser version. + * False if it is unavailable. + * + * @property version + * @type {Boolean|String} + * @public + * @static + */ + version: false, + + /** + * The user agent string. + * False if it is unavailable. + * + * @property userAgent + * @type {Boolean|String} + * @public + * @static + */ + userAgent: false, + + /** + * The CSS prefix (-moz-, -webkit-, -ms-, ...) + * False if it is unavailable + * + * @property cssPrefix + * @type {Boolean|String} + * @public + * @static + */ + cssPrefix: false, + + /** + * The DOM prefix (Moz, Webkit, ms, ...) + * False if it is unavailable + * @property domPrefix + * @type {Boolean|String} + * @public + * @static + */ + domPrefix: false, + + /** + * Initialization function for the Browser object. + * + * Is called automatically when this module is loaded, and calls setDimensions, setBrowser and setReferrer. + * + * @method init + * @public + */ + init: function() { + this.detectBrowser(); + this.setDimensions(); + this.setReferrer(); + }, + + /** + * Retrieves and stores window dimensions in this object. Called automatically when this module is loaded. + * + * @method setDimensions + * @public + */ + setDimensions: function() { + //this.windowWidth=window.innerWidth !== null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body !== null ? document.body.clientWidth : null; + //this.windowHeight=window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null; + var myWidth = 0, myHeight = 0; + if ( typeof window.innerWidth=== 'number' ) { + myWidth = window.innerWidth; + myHeight = window.innerHeight; + } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { + myWidth = document.documentElement.clientWidth; + myHeight = document.documentElement.clientHeight; + } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { + myWidth = document.body.clientWidth; + myHeight = document.body.clientHeight; + } + this.windowWidth = myWidth; + this.windowHeight = myHeight; + }, + + /** + * Stores the referrer. Called automatically when this module is loaded. + * + * @method setReferrer + * @public + */ + setReferrer: function() { + if (document.referrer && document.referrer.length) { + this.referrer = window.escape(document.referrer); + } else { + this.referrer = false; + } + }, + + /** + * Detects the browser and stores the found properties. Called automatically when this module is loaded. + * + * @method detectBrowser + * @public + */ + detectBrowser: function() { + this._sniffUserAgent(navigator.userAgent); + }, + + _sniffUserAgent: function (sAgent) { + this.userAgent = sAgent; + + sAgent = sAgent.toLowerCase(); + + if (/applewebkit\//.test(sAgent)) { + this.cssPrefix = '-webkit-'; + this.domPrefix = 'Webkit'; + if(/(chrome|crios)\//.test(sAgent)) { + // Chrome + this.CHROME = true; + this.model = 'chrome'; + this.version = sAgent.replace(/(.*)chrome\/([^\s]+)(.*)/, "$2"); + } else { + // Safari + this.SAFARI = true; + this.model = 'safari'; + var rVersion = /version\/([^) ]+)/; + if (rVersion.test(sAgent)) { + this.version = sAgent.match(rVersion)[1]; + } else { + this.version = sAgent.replace(/(.*)applewebkit\/([^\s]+)(.*)/, "$2"); + } + } + } else if (/opera/.test(sAgent)) { + // Opera + this.OPERA = true; + this.model = 'opera'; + this.version = sAgent.replace(/(.*)opera.([^\s$]+)(.*)/, "$2"); + this.cssPrefix = '-o-'; + this.domPrefix = 'O'; + } else if (/konqueror/.test(sAgent)) { + // Konqueroh + this.KONQUEROR = true; + this.model = 'konqueror'; + this.version = sAgent.replace(/(.*)konqueror\/([^;]+);(.*)/, "$2"); + this.cssPrefix = '-khtml-'; + this.domPrefix = 'Khtml'; + } else if (/(msie|trident)/i.test(sAgent)) { + // MSIE + this.IE = true; + this.model = 'ie'; + if (/rv:((?:\d|\.)+)/.test(sAgent)) { // IE 11 + this.version = sAgent.match(/rv:((?:\d|\.)+)/)[1]; + } else { + this.version = sAgent.replace(/(.*)\smsie\s([^;]+);(.*)/, "$2"); + } + this.cssPrefix = '-ms-'; + this.domPrefix = 'ms'; + } else if (/gecko/.test(sAgent)) { + // GECKO + // Supports only: + // Camino, Chimera, Epiphany, Minefield (firefox 3), Firefox, Firebird, Phoenix, Galeon, + // Iceweasel, K-Meleon, SeaMonkey, Netscape, Songbird, Sylera, + this.cssPrefix = '-moz-'; + this.domPrefix = 'Moz'; + + this.GECKO = true; + + var re = /(camino|chimera|epiphany|minefield|firefox|firebird|phoenix|galeon|iceweasel|k\-meleon|seamonkey|netscape|songbird|sylera)/; + if(re.test(sAgent)) { + this.model = sAgent.match(re)[1]; + this.version = sAgent.replace(new RegExp("(.*)"+this.model+"\/([^;\\s$]+)(.*)"), "$2"); + } else { + // probably is mozilla + this.model = 'mozilla'; + var reVersion = /(.*)rv:([^)]+)(.*)/; + if(reVersion.test(sAgent)) { + this.version = sAgent.replace(reVersion, "$2"); + } + } + } + }, + + /** + * Debug function which displays browser (and Ink.Dom.Browser) information as an alert message. + * + * @method debug + * @public + * @sample Ink_Dom_Browser_1_debug.html + */ + debug: function() { + /*global alert:false */ + var str = "known browsers: (ie, gecko, opera, safari, konqueror) \n"; + str += [this.IE, this.GECKO, this.OPERA, this.SAFARI, this.KONQUEROR] +"\n"; + str += "cssPrefix -> "+this.cssPrefix+"\n"; + str += "domPrefix -> "+this.domPrefix+"\n"; + str += "model -> "+this.model+"\n"; + str += "version -> "+this.version+"\n"; + str += "\n"; + str += "original UA -> "+this.userAgent; + + alert(str); + } + }; + + Browser.init(); + + return Browser; +}); + +/** + * CSS Utilities and toolbox + * @module Ink.Dom.Css_1 + * @version 1 + */ + +Ink.createModule( 'Ink.Dom.Css', 1, [], function() { + + 'use strict'; + + // getComputedStyle feature detection. + var getCs = ("defaultView" in document) && ("getComputedStyle" in document.defaultView) ? document.defaultView.getComputedStyle : window.getComputedStyle; + + /** + * @namespace Ink.Dom.Css + * @static + */ + + var Css = { + /** + * Adds of removes a class. + * Depending on addRemState, this method either adds a class if it's true or removes if if false. + * + * @method addRemoveClassName + * @param {DOMElement|string} elm DOM element or element id + * @param {string} className class name to add or remove. + * @param {boolean} addRemState Whether to add or remove. `true` to add, `false` to remove. + * @sample Ink_Dom_Css_addRemoveClassName.html + */ + addRemoveClassName: function(elm, className, addRemState) { + if (addRemState) { + return this.addClassName(elm, className); + } + this.removeClassName(elm, className); + }, + + /** + * Adds a class to a given element + * + * @method addClassName + * @param {DOMElement|String} elm DOM element or element id + * @param {String|Array} className Classes + * @sample Ink_Dom_Css_addClassName.html + */ + addClassName: function(elm, className) { + elm = Ink.i(elm); + if (!elm || !className) { return null; } + className = ('' + className).split(/[, ]+/); + var i = 0; + var len = className.length; + + for (; i < len; i++) { + // remove whitespace and ignore on empty string + if (className[i].replace(/^\s+|\s+$/g, '')) { + if (typeof elm.classList !== "undefined") { + elm.classList.add(className[i]); + } else if (!Css.hasClassName(elm, className[i])) { + elm.className += (elm.className ? ' ' : '') + className[i]; + } + } + } + }, + + /** + * Removes a class from a given element + * + * @method removeClassName + * @param {DOMElement|String} elm DOM element or element id + * @param {String|Array} className Class names to remove. You can either use a space separated string of classnames, comma-separated list or an array + * @sample Ink_Dom_Css_removeClassName.html + */ + removeClassName: function(elm, className) { + elm = Ink.i(elm); + if (!elm || !className) { return null; } + + className = ('' + className).split(/[, ]+/); + var i = 0; + var len = className.length; + + if (typeof elm.classList !== "undefined"){ + for (; i < len; i++) { + elm.classList.remove(className[i]); + } + } else { + var elmClassName = elm.className || ''; + var re; + for (; i < len; i++) { + re = new RegExp("(^|\\s+)" + className[i] + "(\\s+|$)"); + elmClassName = elmClassName.replace(re, ' '); + } + elm.className = (elmClassName + .replace(/^\s+/, '') + .replace(/\s+$/, '')); + } + }, + + /** + * Alias to addRemoveClassName. + * Utility function, saves many if/elses. + * + * @method setClassName + * @uses addRemoveClassName + * @param {DOMElement|String} elm DOM element or element id + * @param {String|Array} className Class names to add\remove. Comma separated, space separated or simply an Array + * @param {Boolean} [add]=false Flag to switch behavior from removal to addition. true to add, false to remove + */ + setClassName: function(elm, className, add) { + this.addRemoveClassName(elm, className, add || false); + }, + + /** + * Checks if an element has a class. + * This method verifies if an element has ONE of a list of classes. If the last argument is flagged as true, instead checks if the element has ALL the classes + * + * @method hasClassName + * @param {DOMElement|String} elm DOM element or element id + * @param {String|Array} className Class names to test + * @param {Boolean} [all]=false If flagged as true, it will check if the element contains ALL the CSS classes + * @return {Boolean} true if a given class is applied to a given element + * @sample Ink_Dom_Css_hasClassName.html + */ + hasClassName: function(elm, className, all) { + elm = Ink.i(elm); + if (!elm || !className) { return false; } + + className = ('' + className).split(/[, ]+/); + var i = 0; + var len = className.length; + var has; + var re; + + for ( ; i < len; i++) { + if (typeof elm.classList !== "undefined"){ + has = elm.classList.contains(className[i]); + } else { + var elmClassName = elm.className; + if (elmClassName === className[i]) { + has = true; + } else { + re = new RegExp("(^|\\s)" + className[i] + "(\\s|$)"); + has = re.test(elmClassName); + } + } + if (has && !all) { return true; } // return if looking for any class + if (!has && all) { return false; } // return if looking for all classes + } + + if (all) { + // if we got here, all classes were found so far + return true; + } else { + // if we got here with all == false, no class was found + return false; + } + }, + + /** + * Blinks a class from an element + * Add and removes the class from the element with a timeout, so it blinks + * + * @method blinkClass + * @uses addRemoveClassName + * @param {DOMElement|String} elm DOM element or element id + * @param {String|Array} className Class name(s) to blink + * @param {Number} timeout timeout in ms between adding and removing, default 100 ms + * @param {Boolean} negate is true, class is removed then added + * @sample Ink_Dom_Css_blinkClass.html + */ + blinkClass: function(element, className, timeout, negate){ + element = Ink.i(element); + Css.addRemoveClassName(element, className, !negate); + setTimeout(function() { + Css.addRemoveClassName(element, className, negate); + }, Number(timeout) || 100); + }, + + /** + * Toggles a class name from a given element + * + * @method toggleClassName + * @param {DOMElement|String} elm DOM element or element id + * @param {String} className Class name + * @param {Boolean} [forceAdd] Flag to force adding the the classe names if they don't exist yet. + * @sample Ink_Dom_Css_toggleClassName.html + */ + toggleClassName: function(elm, className, forceAdd) { + if (elm && className){ + if (typeof elm.classList !== "undefined" && !/[, ]/.test(className)){ + elm = Ink.i(elm); + if (elm !== null){ + elm.classList.toggle(className); + } + return true; + } + } + + if (typeof forceAdd !== 'undefined') { + if (forceAdd === true) { + Css.addClassName(elm, className); + } + else if (forceAdd === false) { + Css.removeClassName(elm, className); + } + } else { + if (Css.hasClassName(elm, className)) { + Css.removeClassName(elm, className); + } else { + Css.addClassName(elm, className); + } + } + }, + + /** + * Sets the opacity of given element + * + * @method setOpacity + * @param {DOMElement|String} elm DOM element or element id + * @param {Number} value allows 0 to 1(default mode decimal) or percentage (warning using 0 or 1 will reset to default mode) + * @sample Ink_Dom_Css_setOpacity.html + */ + setOpacity: function(elm, value) { + elm = Ink.i(elm); + if (elm !== null){ + var val = 1; + + if (!isNaN(Number(value))){ + if (value <= 0) { val = 0; } + else if (value <= 1) { val = value; } + else if (value <= 100) { val = value / 100; } + else { val = 1; } + } + + if (typeof elm.style.opacity !== 'undefined') { + elm.style.opacity = val; + } + else { + elm.style.filter = "alpha(opacity:"+(val*100|0)+")"; + } + } + }, + + /** + * Converts a css property name to a string in camelcase to be used with CSSStyleDeclaration. + * @method _camelCase + * @private + * @param {String} str String to convert + * @return {String} Converted string + */ + _camelCase: function(str) { + return str ? str.replace(/-(\w)/g, function (_, $1) { + return $1.toUpperCase(); + }) : str; + }, + + + /** + * Gets the value for an element's style attribute + * + * @method getStyle + * @param {DOMElement|String} elm DOM element or element id + * @param {String} style Which css attribute to fetch + * @return Style value + * @sample Ink_Dom_Css_getStyle.html + */ + getStyle: function(elm, style) { + elm = Ink.i(elm); + if (elm !== null && elm.style) { + style = style === 'float' ? 'cssFloat': this._camelCase(style); + + var value = elm.style[style]; + + if (getCs && (!value || value === 'auto')) { + var css = getCs(elm, null); + value = css ? css[style] : null; + } + else if (!value && elm.currentStyle) { + value = elm.currentStyle[style]; + if (value === 'auto' && (style === 'width' || style === 'height')) { + value = elm["offset" + style.charAt(0).toUpperCase() + style.slice(1)] + "px"; + } + } + + if (style === 'opacity') { + return value ? parseFloat(value, 10) : 1.0; + } + else if (style === 'borderTopWidth' || style === 'borderBottomWidth' || + style === 'borderRightWidth' || style === 'borderLeftWidth' ) { + if (value === 'thin') { return '1px'; } + else if (value === 'medium') { return '3px'; } + else if (value === 'thick') { return '5px'; } + } + + return value === 'auto' ? null : value; + } + }, + + + /** + * Adds CSS rules to an element's style attribute. + * + * @method setStyle + * @param {DOMElement|String} elm DOM element or element id + * @param {String} style Which css attribute to set + * @sample Ink_Dom_Css_setStyle.html + */ + setStyle: function(elm, style) { + elm = Ink.i(elm); + if (elm === null) { return; } + if (typeof style === 'string') { + elm.style.cssText += '; '+style; + + if (style.indexOf('opacity') !== -1) { + this.setOpacity(elm, style.match(/opacity:\s*(\d?\.?\d*)/)[1]); + } + } + else { + for (var prop in style) { + if (style.hasOwnProperty(prop)){ + if (prop === 'opacity') { + this.setOpacity(elm, style[prop]); + } + else if (prop === 'float' || prop === 'cssFloat') { + if (typeof elm.style.styleFloat === 'undefined') { + elm.style.cssFloat = style[prop]; + } + else { + elm.style.styleFloat = style[prop]; + } + } else { + elm.style[prop] = style[prop]; + } + } + } + } + }, + + + /** + * Shows an element. + * Internally it unsets the display property of an element. You can force a specific display property using forceDisplayProperty + * + * @method show + * @param {DOMElement|String} elm DOM element or element id + * @param {String} [forceDisplayProperty] Css display property to apply on show + * @sample Ink_Dom_Css_show.html + */ + show: function(elm, forceDisplayProperty) { + elm = Ink.i(elm); + if (elm !== null) { + elm.style.display = (forceDisplayProperty) ? forceDisplayProperty : ''; + } + }, + + /** + * Hides an element. + * + * @method hide + * @param {DOMElement|String} elm DOM element or element id + * @sample Ink_Dom_Css_hide.html + */ + hide: function(elm) { + elm = Ink.i(elm); + if (elm !== null) { + elm.style.display = 'none'; + } + }, + + /** + * Shows or hides an element. + * If the show parameter is true, it shows the element. Otherwise, hides it. + * + * @method showHide + * @param {DOMElement|String} elm DOM element or element id + * @param {boolean} [show]=false Whether to show or hide `elm`. + * @sample Ink_Dom_Css_showHide.html + */ + showHide: function(elm, show) { + elm = Ink.i(elm); + if (elm) { + elm.style.display = show ? '' : 'none'; + } + }, + + /** + * Toggles an element visibility. + * + * @method toggle + * @param {DOMElement|String} elm DOM element or element id + * @param {Boolean} forceShow Forces showing if element is hidden + * @sample Ink_Dom_Css_toggle.html + */ + toggle: function(elm, forceShow) { + elm = Ink.i(elm); + if (elm !== null) { + if (typeof forceShow !== 'undefined') { + if (forceShow === true) { + this.show(elm); + } else { + this.hide(elm); + } + } else { + if (this.getStyle(elm,'display').toLowerCase() === 'none') { + this.show(elm); + } + else { + this.hide(elm); + } + } + } + }, + + _getRefTag: function(head){ + if (head.firstElementChild) { + return head.firstElementChild; + } + + for (var child = head.firstChild; child; child = child.nextSibling){ + if (child.nodeType === 1){ + return child; + } + } + return null; + }, + + /** + * Injects style tags with rules to the page. + * + * @method appendStyleTag + * @param {String} selector The css selector for the rule + * @param {String} style The content of the style rule + * @param {Object} options Options for the tag + * @param {String} [options.type]='text/css' File type + * @param {Boolean} [options.force]=false If true, the style tag will be appended to end of head + * + * @sample Ink_Dom_Css_appendStyleTag.html + */ + appendStyleTag: function(selector, style, options){ + options = Ink.extendObj({ + type: 'text/css', + force: false + }, options || {}); + + var styles = document.getElementsByTagName("style"), + oldStyle = false, setStyle = true, i, l; + + for (i=0, l=styles.length; i= 0) { + setStyle = false; + } + } + + if (setStyle) { + var defStyle = document.createElement("style"), + head = document.getElementsByTagName("head")[0], + refTag = false, styleStr = ''; + + defStyle.type = options.type; + + styleStr += selector +" {"; + styleStr += style; + styleStr += "} "; + + if (typeof defStyle.styleSheet !== "undefined") { + defStyle.styleSheet.cssText = styleStr; + } else { + defStyle.appendChild(document.createTextNode(styleStr)); + } + + if (options.force){ + head.appendChild(defStyle); + } else { + refTag = this._getRefTag(head); + if (refTag){ + head.insertBefore(defStyle, refTag); + } + } + } + }, + + /** + * Injects an external link tag. + * This method add a stylesheet to the head of a page + * + * @method appendStylesheet + * @param {String} path File path + * @param {Object} options Options for the tag + * @param {String} [options.media]='screen' Media type + * @param {String} [options.type]='text/css' File type + * @param {Boolean} [options.force]=false If true, tag will be appended to end of head + * @sample Ink_Dom_Css_appendStylesheet.html + */ + appendStylesheet: function(path, options){ + options = Ink.extendObj({ + media: 'screen', + type: 'text/css', + force: false + }, options || {}); + + var refTag, + style = document.createElement("link"), + head = document.getElementsByTagName("head")[0]; + + style.media = options.media; + style.type = options.type; + style.href = path; + style.rel = "Stylesheet"; + + if (options.force){ + head.appendChild(style); + } + else { + refTag = this._getRefTag(head); + if (refTag){ + head.insertBefore(style, refTag); + } + } + }, + + /** + * Injects an external link tag. + * Loads CSS via LINK element inclusion in HEAD (skips append if already there) + * + * Works similarly to appendStylesheet but: + * supports optional callback which gets invoked once the CSS has been applied + * + * @method appendStylesheetCb + * @param {String} cssURI URI of the CSS to load, if empty ignores and just calls back directly + * @param {Function(cssURI)} [callback] optional callback which will be called once the CSS is loaded + * @sample Ink_Dom_Css_appendStylesheetCb.html + */ + _loadingCSSFiles: {}, + _loadedCSSFiles: {}, + appendStylesheetCb: function(url, callback) { + if (!url) { + return callback(url); + } + + if (this._loadedCSSFiles[url]) { + return callback(url); + } + + var cbs = this._loadingCSSFiles[url]; + if (cbs) { + return cbs.push(callback); + } + + this._loadingCSSFiles[url] = [callback]; + + var linkEl = document.createElement('link'); + linkEl.type = 'text/css'; + linkEl.rel = 'stylesheet'; + linkEl.href = url; + + var headEl = document.getElementsByTagName('head')[0]; + headEl.appendChild(linkEl); + + var imgEl = document.createElement('img'); + /* + var _self = this; + (function(_url) { + imgEl.onerror = function() { + //var url = this; + var url = _url; + _self._loadedCSSFiles[url] = true; + var callbacks = _self._loadingCSSFiles[url]; + for (var i = 0, f = callbacks.length; i < f; ++i) { + callbacks[i](url); + } + delete _self._loadingCSSFiles[url]; + }; + })(url); + */ + imgEl.onerror = Ink.bindEvent(function(event, _url) { + //var url = this; + var url = _url; + this._loadedCSSFiles[url] = true; + var callbacks = this._loadingCSSFiles[url]; + for (var i = 0, f = callbacks.length; i < f; ++i) { + callbacks[i](url); + } + delete this._loadingCSSFiles[url]; + }, this, url); + imgEl.src = url; + }, + + /** + * Converts decimal to hexadecimal values + * Useful to convert colors to their hexadecimal representation. + * + * @method decToHex + * @param {String} dec Either a single decimal value, an rgb(r, g, b) string or an Object with r, g and b properties + * @return {String} Hexadecimal value + * @sample Ink_Dom_Css_decToHex.html + */ + decToHex: function(dec) { + var normalizeTo2 = function(val) { + if (val.length === 1) { + val = '0' + val; + } + val = val.toUpperCase(); + return val; + }; + + if (typeof dec === 'object') { + var rDec = normalizeTo2(parseInt(dec.r, 10).toString(16)); + var gDec = normalizeTo2(parseInt(dec.g, 10).toString(16)); + var bDec = normalizeTo2(parseInt(dec.b, 10).toString(16)); + return rDec+gDec+bDec; + } + else { + dec += ''; + var rgb = dec.match(/\((\d+),\s?(\d+),\s?(\d+)\)/); + if (rgb !== null) { + return normalizeTo2(parseInt(rgb[1], 10).toString(16)) + + normalizeTo2(parseInt(rgb[2], 10).toString(16)) + + normalizeTo2(parseInt(rgb[3], 10).toString(16)); + } + else { + return normalizeTo2(parseInt(dec, 10).toString(16)); + } + } + }, + + /** + * Converts hexadecimal values to decimal + * Useful to use with CSS colors + * + * @method hexToDec + * @param {String} hex hexadecimal Value with 6, 3, 2 or 1 characters + * @return {Number} Object with properties r, g, b if length of number is >= 3 or decimal value instead. + * @sample Ink_Dom_Css_hexToDec.html + */ + hexToDec: function(hex){ + if (hex.indexOf('#') === 0) { + hex = hex.substr(1); + } + if (hex.length === 6) { // will return object RGB + return { + r: parseInt(hex.substr(0,2), 16), + g: parseInt(hex.substr(2,2), 16), + b: parseInt(hex.substr(4,2), 16) + }; + } + else if (hex.length === 3) { // will return object RGB + return { + r: parseInt(hex.charAt(0) + hex.charAt(0), 16), + g: parseInt(hex.charAt(1) + hex.charAt(1), 16), + b: parseInt(hex.charAt(2) + hex.charAt(2), 16) + }; + } + else if (hex.length <= 2) { // will return int + return parseInt(hex, 16); + } + }, + + /** + * Get a single property from a stylesheet. + * Use this to obtain the value of a CSS property (searched from loaded CSS documents) + * + * @method getPropertyFromStylesheet + * @param {String} selector a CSS rule. must be an exact match + * @param {String} property a CSS property + * @return {String} value of the found property, or null if it wasn't matched + */ + getPropertyFromStylesheet: function(selector, property) { + var rule = this.getRuleFromStylesheet(selector); + if (rule) { + return rule.style[property]; + } + return null; + }, + + getPropertyFromStylesheet2: function(selector, property) { + var rules = this.getRulesFromStylesheet(selector); + /* + rules.forEach(function(rule) { + var x = rule.style[property]; + if (x !== null && x !== undefined) { + return x; + } + }); + */ + var x; + for(var i=0, t=rules.length; i < t; i++) { + x = rules[i].style[property]; + if (x !== null && x !== undefined) { + return x; + } + } + return null; + }, + + getRuleFromStylesheet: function(selector) { + var sheet, rules, ri, rf, rule; + var s = document.styleSheets; + if (!s) { + return null; + } + + for (var si = 0, sf = document.styleSheets.length; si < sf; ++si) { + sheet = document.styleSheets[si]; + rules = sheet.rules ? sheet.rules : sheet.cssRules; + if (!rules) { return null; } + + for (ri = 0, rf = rules.length; ri < rf; ++ri) { + rule = rules[ri]; + if (!rule.selectorText) { continue; } + if (rule.selectorText === selector) { + return rule; + } + } + } + + return null; + }, + + getRulesFromStylesheet: function(selector) { + var res = []; + var sheet, rules, ri, rf, rule; + var s = document.styleSheets; + if (!s) { return res; } + + for (var si = 0, sf = document.styleSheets.length; si < sf; ++si) { + sheet = document.styleSheets[si]; + rules = sheet.rules ? sheet.rules : sheet.cssRules; + if (!rules) { + return null; + } + + for (ri = 0, rf = rules.length; ri < rf; ++ri) { + rule = rules[ri]; + if (!rule.selectorText) { continue; } + if (rule.selectorText === selector) { + res.push(rule); + } + } + } + + return res; + }, + + getPropertiesFromRule: function(selector) { + var rule = this.getRuleFromStylesheet(selector); + var props = {}; + var prop, i, f; + + /*if (typeof rule.style.length === 'snumber') { + for (i = 0, f = rule.style.length; i < f; ++i) { + prop = this._camelCase( rule.style[i] ); + props[prop] = rule.style[prop]; + } + } + else { // HANDLES IE 8, FIREFOX RULE JOINING... */ + rule = rule.style.cssText; + var parts = rule.split(';'); + var steps, val, pre, pos; + for (i = 0, f = parts.length; i < f; ++i) { + if (parts[i].charAt(0) === ' ') { + parts[i] = parts[i].substring(1); + } + steps = parts[i].split(':'); + prop = this._camelCase( steps[0].toLowerCase() ); + val = steps[1]; + if (val) { + val = val.substring(1); + + if (prop === 'padding' || prop === 'margin' || prop === 'borderWidth') { + + if (prop === 'borderWidth') { pre = 'border'; pos = 'Width'; } + else { pre = prop; pos = ''; } + + if (val.indexOf(' ') !== -1) { + val = val.split(' '); + props[pre + 'Top' + pos] = val[0]; + props[pre + 'Bottom'+ pos] = val[0]; + props[pre + 'Left' + pos] = val[1]; + props[pre + 'Right' + pos] = val[1]; + } + else { + props[pre + 'Top' + pos] = val; + props[pre + 'Bottom'+ pos] = val; + props[pre + 'Left' + pos] = val; + props[pre + 'Right' + pos] = val; + } + } + else if (prop === 'borderRadius') { + if (val.indexOf(' ') !== -1) { + val = val.split(' '); + props.borderTopLeftRadius = val[0]; + props.borderBottomRightRadius = val[0]; + props.borderTopRightRadius = val[1]; + props.borderBottomLeftRadius = val[1]; + } + else { + props.borderTopLeftRadius = val; + props.borderTopRightRadius = val; + props.borderBottomLeftRadius = val; + props.borderBottomRightRadius = val; + } + } + else { + props[prop] = val; + } + } + } + //} + //console.log(props); + + return props; + }, + + /** + * Change the font size of elements. + * Changes the font size of the elements which match the given CSS rule + * For this function to work, the CSS file must be in the same domain than the host page, otherwise JS can't access it. + * + * @method changeFontSize + * @param {String} selector CSS selector rule + * @param {Number} delta Number of pixels to change on font-size + * @param {String} [op] Supported operations are '+' and '*'. defaults to '+' + * @param {Number} [minVal] If result gets smaller than minVal, change does not occurr + * @param {Number} [maxVal] If result gets bigger than maxVal, change does not occurr + */ + changeFontSize: function(selector, delta, op, minVal, maxVal) { + var that = this; + Ink.requireModules(['Ink.Dom.Selector_1'], function(Selector) { + var e; + if (typeof selector !== 'string') { e = '1st argument must be a CSS selector rule.'; } + else if (typeof delta !== 'number') { e = '2nd argument must be a number.'; } + else if (op !== undefined && op !== '+' && op !== '*') { e = '3rd argument must be one of "+", "*".'; } + else if (minVal !== undefined && (typeof minVal !== 'number' || minVal <= 0)) { e = '4th argument must be a positive number.'; } + else if (maxVal !== undefined && (typeof maxVal !== 'number' || maxVal < maxVal)) { e = '5th argument must be a positive number greater than minValue.'; } + if (e) { throw new TypeError(e); } + + var val, el, els = Selector.select(selector); + if (minVal === undefined) { minVal = 1; } + op = (op === '*') ? function(a,b){return a*b;} : function(a,b){return a+b;}; + for (var i = 0, f = els.length; i < f; ++i) { + el = els[i]; + val = parseFloat( that.getStyle(el, 'fontSize')); + val = op(val, delta); + if (val < minVal) { continue; } + if (typeof maxVal === 'number' && val > maxVal) { continue; } + el.style.fontSize = val + 'px'; + } + }); + } + + }; + + return Css; + +}); + +/** + * DOM Traversal and manipulation + * @module Ink.Dom.Element_1 + * @version 1 + */ + +Ink.createModule('Ink.Dom.Element', 1, [], function() { + + 'use strict'; + + var createContextualFragmentSupport = ( + typeof document.createRange === 'function' && + typeof window.Range.prototype.createContextualFragment === 'function'); + + var deleteThisTbodyToken = 'Ink.Dom.Element tbody: ' + Math.random(); + var browserCreatesTbodies = (function () { + var div = document.createElement('div'); + div.innerHTML = ''; + return div.getElementsByTagName('tbody').length !== 0; + }()); + + function rect(elem){ + var dimensions = {}; + try { + dimensions = elem.getBoundingClientRect(); + } catch(e){ + dimensions = { top: elem.offsetTop, left: elem.offsetLeft }; + } + return dimensions; + } + + /** + * @namespace Ink.Dom.Element_1 + */ + + var InkElement = { + + /** + * Checks if something is a DOM Element. + * + * @method isDOMElement + * @static + * @param {Mixed} o The object to be checked. + * @return {Boolean} True if it's a valid DOM Element. + * @example + * var el = Ink.s('#element'); + * if( InkElement.isDOMElement( el ) === true ){ + * // It is a DOM Element. + * } else { + * // It is NOT a DOM Element. + * } + */ + isDOMElement: function(o) { + return o !== null && typeof o === 'object' && 'nodeType' in o && o.nodeType === 1; + }, + + /** + * Shortcut for `document.getElementById` + * + * @method get + * @param {String|DOMElement} elm Either an ID of an element, or an element. + * @return {DOMElement|null} The DOM element with the given id or null when it was not found + * @sample Ink_Dom_Element_1_get.html + */ + get: function(elm) { + if(typeof elm !== 'undefined') { + if(typeof elm === 'string') { + return document.getElementById(elm); + } + return elm; + } + return null; + }, + + /** + * Creates a DOM element + * + * @method create + * @param {String} tag tag name + * @param {Object} properties object with properties to be set on the element. You can also call other functions in Ink.Dom.Element like this + * @sample Ink_Dom_Element_1_create.html + */ + create: function(tag, properties) { + var el = document.createElement(tag); + //Ink.extendObj(el, properties); + for(var property in properties) { + if(properties.hasOwnProperty(property)) { + if (property in InkElement) { + InkElement[property](el, properties[property]); + } else { + if(property === 'className' || property === 'class') { + el.className = properties.className || properties['class']; + } else { + el.setAttribute(property, properties[property]); + } + } + } + } + return el; + }, + + /** + * Removes a DOM Element + * + * @method remove + * @param {DOMElement} elm The element to remove + * @sample Ink_Dom_Element_1_remove.html + */ + remove: function(el) { + el = Ink.i(el); + var parEl; + if (el && (parEl = el.parentNode)) { + parEl.removeChild(el); + } + }, + + /** + * Scrolls the window to an element + * + * @method scrollTo + * @param {DOMElement|String} elm Element where to scroll + * @sample Ink_Dom_Element_1_scrollTo.html + */ + scrollTo: function(elm) { + elm = InkElement.get(elm); + if(elm) { + if (elm.scrollIntoView) { + return elm.scrollIntoView(); + } + + var elmOffset = {}, + elmTop = 0, elmLeft = 0; + + do { + elmTop += elm.offsetTop || 0; + elmLeft += elm.offsetLeft || 0; + + elm = elm.offsetParent; + } while(elm); + + elmOffset = {x: elmLeft, y: elmTop}; + + window.scrollTo(elmOffset.x, elmOffset.y); + } + }, + + /** + * Gets the top offset of an element + * + * @method offsetTop + * @uses Ink.Dom.Browser + * + * @param {DOMElement|String} elm Target element + * @return {Number} Offset from the target element to the top of the document + * @sample Ink_Dom_Element_1_offsetTop.html + */ + offsetTop: function(elm) { + return InkElement.offset(elm)[1]; + }, + + /** + * Gets the left offset of an element + * + * @method offsetLeft + * @uses Ink.Dom.Browser + * + * @param {DOMElement|String} elm Target element + * @return {Number} Offset from the target element to the left of the document + * @sample Ink_Dom_Element_1_offsetLeft.html + */ + offsetLeft: function(elm) { + return InkElement.offset(elm)[0]; + }, + + /** + * Gets the relative offset of an element + * + * @method positionedOffset + * @param {DOMElement|String} elm Target element + * @return {Array} Array with the element offsetleft and offsettop relative to the closest positioned ancestor + * @sample Ink_Dom_Element_1_positionedOffset.html + */ + positionedOffset: function(element) { + var valueTop = 0, valueLeft = 0; + element = InkElement.get(element); + do { + valueTop += element.offsetTop || 0; + valueLeft += element.offsetLeft || 0; + element = element.offsetParent; + if (element) { + if (element.tagName.toLowerCase() === 'body') { break; } + + var value = element.style.position; + if (!value && element.currentStyle) { + value = element.currentStyle.position; + } + if ((!value || value === 'auto') && typeof getComputedStyle !== 'undefined') { + var css = getComputedStyle(element, null); + value = css ? css.position : null; + } + if (value === 'relative' || value === 'absolute') { break; } + } + } while (element); + return [valueLeft, valueTop]; + }, + + /** + * Gets the cumulative offset for an element + * + * Returns the top left position of the element on the page + * + * @method offset + * @uses Ink.Dom.Browser + * + * @method offset + * @param {DOMElement|String} elm Target element + * @return {[Number, Number]} Array with pixel distance from the target element to the top left corner of the document + * @sample Ink_Dom_Element_1_offset.html + */ + offset: function(el) { + /*jshint boss:true */ + el = Ink.i(el); + var res = [0, 0]; + var doc = el.ownerDocument, + docElem = doc.documentElement, + box = rect(el), + body = doc.body, + clientTop = docElem.clientTop || body.clientTop || 0, + clientLeft = docElem.clientLeft || body.clientLeft || 0, + scrollTop = doc.pageYOffset || docElem.scrollTop || body.scrollTop, + scrollLeft = doc.pageXOffset || docElem.scrollLeft || body.scrollLeft, + top = box.top + scrollTop - clientTop, + left = box.left + scrollLeft - clientLeft; + res = [left, top]; + return res; + }, + + /** + * Gets the scroll of the element + * + * @method scroll + * @param {DOMElement|String} [elm] Target element or document.body + * @returns {Array} offset values for x and y scroll + * @sample Ink_Dom_Element_1_scroll.html + */ + scroll: function(elm) { + elm = elm ? Ink.i(elm) : document.body; + return [ + ( ( !window.pageXOffset ) ? elm.scrollLeft : window.pageXOffset ), + ( ( !window.pageYOffset ) ? elm.scrollTop : window.pageYOffset ) + ]; + }, + + _getPropPx: function(cs, prop) { + var n, c; + var val = cs.getPropertyValue ? cs.getPropertyValue(prop) : cs[prop]; + if (!val) { n = 0; } + else { + c = val.indexOf('px'); + if (c === -1) { n = 0; } + else { + n = parseFloat(val, 10); + } + } + + //console.log([prop, ' "', val, '" ', n].join('')); + + return n; + }, + + /** + * Alias for offset() + * + * @method offset2 + * @deprecated Kept for historic reasons. Use offset() instead. + */ + offset2: function(el) { + return InkElement.offset(el); + }, + + /** + * Checks if an element has an attribute + * + * @method hasAttribute + * @param {Object} elm Target element + * @param {String} attr Attribute name + * @return {Boolean} Boolean based on existance of attribute + * @sample Ink_Dom_Element_1_hasAttribute.html + */ + hasAttribute: function(elm, attr){ + elm = Ink.i(elm); + return elm.hasAttribute ? elm.hasAttribute(attr) : !!elm.getAttribute(attr); + }, + /** + * Inserts an element right after another + * + * @method insertAfter + * @param {DOMElement} newElm Element to be inserted + * @param {DOMElement|String} targetElm Key element + * @sample Ink_Dom_Element_1_insertAfter.html + */ + insertAfter: function(newElm, targetElm) { + /*jshint boss:true */ + if (targetElm = InkElement.get(targetElm)) { + if (targetElm.nextSibling !== null) { + targetElm.parentNode.insertBefore(newElm, targetElm.nextSibling); + } else { + targetElm.parentNode.appendChild(newElm); + } + } + }, + + /** + * Inserts an element before another + * + * @method insertBefore + * @param {DOMElement} newElm Element to be inserted + * @param {DOMElement|String} targetElm Key element + * @sample Ink_Dom_Element_1_insertBefore.html + */ + insertBefore: function (newElm, targetElm) { + /*jshint boss:true */ + if ( (targetElm = InkElement.get(targetElm)) ) { + targetElm.parentNode.insertBefore(newElm, targetElm); + } + }, + + /** + * Inserts an element as the first child of another + * + * @method insertTop + * @param {DOMElement} newElm Element to be inserted + * @param {DOMElement|String} targetElm Key element + * @sample Ink_Dom_Element_1_insertTop.html + */ + insertTop: function(newElm,targetElm) { + /*jshint boss:true */ + if (targetElm = InkElement.get(targetElm)) { + if (targetElm.firstChild) { + targetElm.insertBefore(newElm, targetElm.firstChild); + } else { + targetElm.appendChild(newElm); + } + } + }, + + /** + * Inserts an element as the last child of another + * + * @method insertBottom + * @param {DOMElement} newElm Element to be inserted + * @param {DOMElement|String} targetElm Key element + * @sample Ink_Dom_Element_1_insertBottom.html + */ + insertBottom: function(newElm, targetElm) { + /*jshint boss:true */ + targetElm = Ink.i(targetElm); + targetElm.appendChild(newElm); + }, + + /** + * Retrieves textContent from node + * + * @method textContent + * @param {DOMNode} node Where to retreive text from. Can be any node type. + * @return {String} the text + * @sample Ink_Dom_Element_1_textContent.html + */ + textContent: function(node){ + node = Ink.i(node); + var text, k, cs, m; + + switch(node && node.nodeType) { + case 9: /*DOCUMENT_NODE*/ + // IE quirks mode does not have documentElement + return InkElement.textContent(node.documentElement || node.body && node.body.parentNode || node.body); + + case 1: /*ELEMENT_NODE*/ + text = node.innerText; + if (typeof text !== 'undefined') { + return text; + } + /* falls through */ + case 11: /*DOCUMENT_FRAGMENT_NODE*/ + text = node.textContent; + if (typeof text !== 'undefined') { + return text; + } + + if (node.firstChild === node.lastChild) { + // Common case: 0 or 1 children + return InkElement.textContent(node.firstChild); + } + + text = []; + cs = node.childNodes; + for (k = 0, m = cs.length; k < m; ++k) { + text.push( InkElement.textContent( cs[k] ) ); + } + return text.join(''); + + case 3: /*TEXT_NODE*/ + case 4: /*CDATA_SECTION_NODE*/ + return node.nodeValue; + } + return ''; + }, + + /** + * Replaces text content of a DOM Node + * This method removes any child node previously present + * + * @method setTextContent + * @param {DOMNode} node node Target node where the text will be added. + * @param {String} text text Text to be added on the node. + * @sample Ink_Dom_Element_1_setTextContent.html + */ + setTextContent: function(node, text){ + node = Ink.i(node); + switch(node && node.nodeType) + { + case 1: /*ELEMENT_NODE*/ + if ('innerText' in node) { + node.innerText = text; + break; + } + /* falls through */ + case 11: /*DOCUMENT_FRAGMENT_NODE*/ + if ('textContent' in node) { + node.textContent = text; + break; + } + /* falls through */ + case 9: /*DOCUMENT_NODE*/ + while(node.firstChild) { + node.removeChild(node.firstChild); + } + if (text !== '') { + var doc = node.ownerDocument || node; + node.appendChild(doc.createTextNode(text)); + } + break; + + case 3: /*TEXT_NODE*/ + case 4: /*CDATA_SECTION_NODE*/ + node.nodeValue = text; + break; + } + }, + + /** + * Checks if an element is a link + * + * @method isLink + * @param {DOMNode} node Node to check if it's link + * @return {Boolean} + * @sample Ink_Dom_Element_1_isLink.html + */ + isLink: function(element){ + var b = element && element.nodeType === 1 && ((/^a|area$/i).test(element.tagName) || + element.hasAttributeNS && element.hasAttributeNS('http://www.w3.org/1999/xlink','href')); + return !!b; + }, + + /** + * Checks if a node is an ancestor of another + * + * @method isAncestorOf + * @param {DOMNode} ancestor Ancestor node + * @param {DOMNode} node Descendant node + * @return {Boolean} + * @sample Ink_Dom_Element_1_isAncestorOf.html + */ + isAncestorOf: function(ancestor, node){ + /*jshint boss:true */ + if (!node || !ancestor) { + return false; + } + if (node.compareDocumentPosition) { + return (ancestor.compareDocumentPosition(node) & 0x10) !== 0;/*Node.DOCUMENT_POSITION_CONTAINED_BY*/ + } + while (node = node.parentNode){ + if (node === ancestor){ + return true; + } + } + return false; + }, + + /** + * Checks if a node is descendant of another + * + * @method descendantOf + * @param {DOMNode} node The ancestor + * @param {DOMNode} descendant The descendant + * @return {Boolean} true if 'descendant' is descendant of 'node' + * @sample Ink_Dom_Element_1_descendantOf.html + */ + descendantOf: function(node, descendant){ + return node !== descendant && InkElement.isAncestorOf(node, descendant); + }, + + /** + * Get first child element of another + * @method firstElementChild + * @param {DOMElement} elm Parent node + * @return {DOMElement} the Element child + * @sample Ink_Dom_Element_1_firstElementChild.html + */ + firstElementChild: function(elm){ + if(!elm) { + return null; + } + if ('firstElementChild' in elm) { + return elm.firstElementChild; + } + var child = elm.firstChild; + while(child && child.nodeType !== 1) { + child = child.nextSibling; + } + return child; + }, + + /** + * Get the last child element of another + * @method lastElementChild + * @param {DOMElement} elm Parent node + * @return {DOMElement} the Element child + * @sample Ink_Dom_Element_1_lastElementChild.html + */ + lastElementChild: function(elm){ + if(!elm) { + return null; + } + if ('lastElementChild' in elm) { + return elm.lastElementChild; + } + var child = elm.lastChild; + while(child && child.nodeType !== 1) { + child = child.previousSibling; + } + return child; + }, + + /** + * Get the first sibling element after the node + * + * @method nextElementSibling + * @param {DOMNode} node The current node + * @return {DOMElement|Null} The first sibling element after node or null if none is found + * @sample Ink_Dom_Element_1_nextElementSibling.html + */ + nextElementSibling: function(node){ + var sibling = null; + + if(!node){ return sibling; } + + if("nextElementSibling" in node){ + return node.nextElementSibling; + } else { + sibling = node.nextSibling; + + // 1 === Node.ELEMENT_NODE + while(sibling && sibling.nodeType !== 1){ + sibling = sibling.nextSibling; + } + + return sibling; + } + }, + + /** + * Get the first sibling element before the node + * + * @method previousElementSibling + * @param {DOMNode} node The current node + * @return {DOMElement|Null} The first element sibling before node or null if none is found + * @sample Ink_Dom_Element_1_previousElementSibling.html + */ + previousElementSibling: function(node){ + var sibling = null; + + if(!node){ return sibling; } + + if("previousElementSibling" in node){ + return node.previousElementSibling; + } else { + sibling = node.previousSibling; + + // 1 === Node.ELEMENT_NODE + while(sibling && sibling.nodeType !== 1){ + sibling = sibling.previousSibling; + } + + return sibling; + } + }, + + /** + * Get an element's width in pixels. + * + * @method elementWidth + * @param {DOMElement|String} element Target DOM element or target ID + * @return {Number} The element's width + * @sample Ink_Dom_Element_1_elementWidth.html + */ + elementWidth: function(element) { + if(typeof element === "string") { + element = document.getElementById(element); + } + return element.offsetWidth; + }, + + /** + * Get an element's height in pixels. + * + * @method elementHeight + * @param {DOMElement|String} element DOM element or target ID + * @return {Number} The element's height + * @sample Ink_Dom_Element_1_elementHeight.html + */ + elementHeight: function(element) { + if(typeof element === "string") { + element = document.getElementById(element); + } + return element.offsetHeight; + }, + + /** + * Deprecated. Alias for offsetLeft() + * + * @method elementLeft + * @param {DOMElement|String} element DOM element or target ID + * @return {Number} Element's left position + */ + elementLeft: function(element) { + return InkElement.offsetLeft(element); + }, + + /** + * Deprecated. Alias for offsetTop() + * + * @method elementTop + * @param {DOMElement|string} element Target DOM element or target ID + * @return {Number} element's top position + */ + elementTop: function(element) { + return InkElement.offsetTop(element); + }, + + /** + * Get an element's dimensions in pixels. + * + * @method elementDimensions + * @param {DOMElement|string} element DOM element or target ID + * @return {Array} Array with element's width and height + * @sample Ink_Dom_Element_1_elementDimensions.html + */ + elementDimensions: function(element) { + element = Ink.i(element); + return [element.offsetWidth, element.offsetHeight]; + }, + + /** + * Get the outer dimensions of an element in pixels. + * + * @method outerDimensions + * @uses Ink.Dom.Css + * + * @param {DOMElement} element Target element + * @return {Array} Array with element width and height. + * @sample Ink_Dom_Element_1_outerDimensions.html + */ + outerDimensions: function (element) { + var bbox = rect(element); + + var Css = Ink.getModule('Ink.Dom.Css_1'); + var getStyle = Ink.bindMethod(Css, 'getStyle', element); + + return [ + bbox.right - bbox.left + parseFloat(getStyle('marginLeft') || 0) + parseFloat(getStyle('marginRight') || 0), // w + bbox.bottom - bbox.top + parseFloat(getStyle('marginTop') || 0) + parseFloat(getStyle('marginBottom') || 0) // h + ]; + }, + + /** + * Check if an element is inside the viewport + * + * @method inViewport + * @param {DOMElement} element DOM Element + * @param {Object} [options] Options object. If you pass a Boolean value here, it is interpreted as `options.partial` + * @param {Boolean} [options.partial]=false Return `true` even if it is only partially visible. + * @param {Number} [options.margin]=0 Consider a margin all around the viewport with `opts.margin` width a dead zone. + * @return {Boolean} + * @sample Ink_Dom_Element_1_inViewport.html + */ + inViewport: function (element, opts) { + var dims = rect(Ink.i(element)); + if (typeof opts === 'boolean') { + opts = {partial: opts, margin: 0}; + } + opts = Ink.extendObj({ partial: false, margin: 0}, opts || {}); + if (opts.partial) { + return dims.bottom + opts.margin > 0 && // from the top + dims.left - opts.margin < InkElement.viewportWidth() && // from the right + dims.top - opts.margin < InkElement.viewportHeight() && // from the bottom + dims.right + opts.margin > 0; // from the left + } else { + return dims.top + opts.margin > 0 && // from the top + dims.right - opts.margin < InkElement.viewportWidth() && // from the right + dims.bottom - opts.margin < InkElement.viewportHeight() && // from the bottom + dims.left + opts.margin > 0; // from the left + } + }, + + /** + * Check if an element is hidden. + * Taken from Mootools Element extras ( https://gist.github.com/cheeaun/73342 ) + * Does not take into account visibility:hidden + * @method isHidden + * @param {DOMElement} element Element to check + * @return {Boolean} + * @sample Ink_Dom_Element_1_isHidden.html + */ + + isHidden: function (element) { + var w = element.offsetWidth, + h = element.offsetHeight, + force = (element.tagName.toLowerCase() === 'tr'); + + var Css = Ink.getModule('Ink.Dom.Css_1'); + + return (w===0 && h===0 && !force) ? true : + (w!==0 && h!==0 && !force) ? false : + Css.getStyle(element, 'display').toLowerCase() === 'none'; + }, + + /** + * Check if an element is visible + * + * @method isVisible + * @uses isHidden + * @param {DOMElement} element Element to check + * @return {Boolean} + * @sample Ink_Dom_Element_1_isVisible.html + */ + + isVisible: function (element) { + return !this.isHidden(element); + }, + + /** + * Clones an element's position to another + * + * @method clonePosition + * @param {DOMElement} cloneTo element to be position cloned + * @param {DOMElement} cloneFrom element to get the cloned position + * @return {DOMElement} The element with positionClone + * @sample Ink_Dom_Element_1_clonePosition.html + */ + clonePosition: function(cloneTo, cloneFrom){ + var pos = InkElement.offset(cloneFrom); + cloneTo.style.left = pos[0]+'px'; + cloneTo.style.top = pos[1]+'px'; + + return cloneTo; + }, + + /** + * Text-overflow: ellipsis emulation + * Slices off a piece of text at the end of the element and adds the ellipsis so all text fits inside. + * + * @method ellipsizeText + * @param {DOMElement} element Element to modify text content + * @param {String} [ellipsis]='\u2026' String to append to the chopped text + */ + ellipsizeText: function(element/*, ellipsis*/){ + if ((element = Ink.i(element))) { + element.style.overflow = 'hidden'; + element.style.whiteSpace = 'nowrap'; + element.style.textOverflow = 'ellipsis'; + } + }, + + /** + * Finds the closest ancestor element matching your test function + * + * + * @method findUpwardsHaving + * @param {DOMElement} element Element to base the search from + * @param {Function} boolTest Testing function + * @return {DOMElement|false} The matched element or false if did not match + * @sample Ink_Dom_Element_1_findUpwardsHaving.html + */ + findUpwardsHaving: function(element, boolTest) { + while (element && element.nodeType === 1) { + if (boolTest(element)) { + return element; + } + element = element.parentNode; + } + return false; + }, + + /** + * Finds the closest ancestor by class name + * + * @method findUpwardsByClass + * @uses findUpwardsHaving + * @param {DOMElement} element Element to base the search from + * @param {String} className Class name to search + * @returns {DOMElement|false} The matched element or false if did not match + * @sample Ink_Dom_Element_1_findUpwardsByClass.html + */ + findUpwardsByClass: function(element, className) { + var re = new RegExp("(^|\\s)" + className + "(\\s|$)"); + var tst = function(el) { + var cls = el.className; + return cls && re.test(cls); + }; + return InkElement.findUpwardsHaving(element, tst); + }, + + /** + * Finds the closest ancestor by tag name + * + * @method findUpwardsByTag + * @param {DOMElement} element Element to base the search from + * @param {String} tag Tag to search + * @returns {DOMElement|false} the matched element or false if did not match + * @sample Ink_Dom_Element_1_findUpwardsByTag.html + */ + findUpwardsByTag: function(element, tag) { + tag = tag.toUpperCase(); + var tst = function(el) { + return el.nodeName && el.nodeName.toUpperCase() === tag; + }; + return InkElement.findUpwardsHaving(element, tst); + }, + + /** + * Finds the closest ancestor by id + * + * @method findUpwardsById + * @param {HtmlElement} element Element to base the search from + * @param {String} id ID to search + * @returns {HtmlElement|false} The matched element or false if did not match + * @sample Ink_Dom_Element_1_findUpwardsById.html + */ + findUpwardsById: function(element, id) { + var tst = function(el) { + return el.id === id; + }; + return InkElement.findUpwardsHaving(element, tst); + }, + + /** + * Finds the closest ancestor by CSS selector + * + * @method findUpwardsBySelector + * @param {HtmlElement} element Element to base the search from + * @param {String} sel CSS selector + * @returns {HtmlElement|false} The matched element or false if did not match + * @sample Ink_Dom_Element_1_findUpwardsBySelector.html + */ + findUpwardsBySelector: function(element, sel) { + var Selector = Ink.getModule('Ink.Dom.Selector', '1'); + if (!Selector) { + throw new Error('This method requires Ink.Dom.Selector'); + } + var tst = function(el) { + return Selector.matchesSelector(el, sel); + }; + return InkElement.findUpwardsHaving(element, tst); + }, + + /** + * Gets the trimmed text of an element + * + * @method getChildrenText + * @param {DOMElement} el Element to base the search from + * @param {Boolean} [removeIt] Flag to remove the text from the element + * @return {String} Text found + * @sample Ink_Dom_Element_1_getChildrenText.html + */ + getChildrenText: function(el, removeIt) { + var node, + j, + part, + nodes = el.childNodes, + jLen = nodes.length, + text = ''; + + if (!el) { + return text; + } + + for (j = 0; j < jLen; ++j) { + node = nodes[j]; + if (!node) { continue; } + if (node.nodeType === 3) { // TEXT NODE + part = InkElement._trimString( String(node.data) ); + if (part.length > 0) { + text += part; + if (removeIt) { el.removeChild(node); } + } + else { el.removeChild(node); } + } + } + + return text; + }, + + /** + * String trim implementation + * Used by getChildrenText + * + * function _trimString + * param {String} text + * return {String} trimmed text + */ + _trimString: function(text) { + return (String.prototype.trim) ? text.trim() : text.replace(/^\s*/, '').replace(/\s*$/, ''); + }, + + /** + * Gets value of a select element + * + * @method getSelectValues + * @param {DOMElement|String} select element + * @return {Array} The selected values + * @sample Ink_Dom_Element_1_getSelectValues.html + */ + getSelectValues: function (select) { + var selectEl = Ink.i(select); + var values = []; + for (var i = 0; i < selectEl.options.length; ++i) { + values.push( selectEl.options[i].value ); + } + return values; + }, + + + /* used by fills */ + _normalizeData: function(data) { + var d, data2 = []; + for (var i = 0, f = data.length; i < f; ++i) { + d = data[i]; + + if (!(d instanceof Array)) { // if not array, wraps primitive twice: val -> [val, val] + d = [d, d]; + } + else if (d.length === 1) { // if 1 element array: [val] -> [val, val] + d.push(d[0]); + } + data2.push(d); + } + return data2; + }, + + + /** + * Fills a select element with options + * + * @method fillSelect + * @param {DOMElement|String} container Select element which will get filled + * @param {Array} data Data to populate the component + * @param {Boolean} [skipEmpty] Flag to skip empty option + * @param {String|Number} [defaultValue] Initial selected value + * + * @sample Ink_Dom_Element_1_fillSelect.html + */ + fillSelect: function(container, data, skipEmpty, defaultValue) { + var containerEl = Ink.i(container); + if (!containerEl) { return; } + + containerEl.innerHTML = ''; + var d, optionEl; + + if (!skipEmpty) { + // add initial empty option + optionEl = document.createElement('option'); + optionEl.setAttribute('value', ''); + containerEl.appendChild(optionEl); + } + + data = InkElement._normalizeData(data); + + for (var i = 0, f = data.length; i < f; ++i) { + d = data[i]; + + optionEl = document.createElement('option'); + optionEl.setAttribute('value', d[0]); + if (d.length > 2) { + optionEl.setAttribute('extra', d[2]); + } + optionEl.appendChild( document.createTextNode(d[1]) ); + + if (d[0] === defaultValue) { + optionEl.setAttribute('selected', 'selected'); + } + + containerEl.appendChild(optionEl); + } + }, + + + /** + * Creates a set of radio buttons from an array of data + * + * @method fillRadios + * @param {DOMElement|String} insertAfterEl Element after which the input elements will be created + * @param {String} name Name for the form field ([] is added if not present as a suffix) + * @param {Array} data Data to populate the component + * @param {Boolean} [skipEmpty] Flag to skip creation of empty options + * @param {String|Number} [defaultValue] Initial selected value + * @param {String} [splitEl] Name of element to add after each input element (example: 'br') + * @return {DOMElement} Wrapper element around the radio buttons + */ + fillRadios: function(insertAfterEl, name, data, skipEmpty, defaultValue, splitEl) { + insertAfterEl = Ink.i(insertAfterEl); + var containerEl = document.createElement('span'); + InkElement.insertAfter(containerEl, insertAfterEl); + + data = InkElement._normalizeData(data); + + /* + if (name.substring(name.length - 1) !== ']') { + name += '[]'; + } + */ + + var d, inputEl; + + if (!skipEmpty) { + // add initial empty option + inputEl = document.createElement('input'); + inputEl.setAttribute('type', 'radio'); + inputEl.setAttribute('name', name); + inputEl.setAttribute('value', ''); + containerEl.appendChild(inputEl); + if (splitEl) { containerEl.appendChild( document.createElement(splitEl) ); } + } + + for (var i = 0; i < data.length; ++i) { + d = data[i]; + + inputEl = document.createElement('input'); + inputEl.setAttribute('type', 'radio'); + inputEl.setAttribute('name', name); + inputEl.setAttribute('value', d[0]); + containerEl.appendChild(inputEl); + containerEl.appendChild( document.createTextNode(d[1]) ); + if (splitEl) { containerEl.appendChild( document.createElement(splitEl) ); } + + if (d[0] === defaultValue) { + inputEl.checked = true; + } + } + + return containerEl; + }, + + + /** + * Creates set of checkbox buttons + * + * @method fillChecks + * @param {DOMElement|String} insertAfterEl Element after which the input elements will be created + * @param {String} name Name for the form field ([] is added if not present as a suffix) + * @param {Array} data Data to populate the component + * @param {Boolean} [skipEmpty] Flag to skip creation of empty options + * @param {String|Number} [defaultValue] Initial selected value + * @param {String} [splitEl] Name of element to add after each input element (example: 'br') + * @return {DOMElement} Wrapper element around the checkboxes + */ + fillChecks: function(insertAfterEl, name, data, defaultValue, splitEl) { + insertAfterEl = Ink.i(insertAfterEl); + var containerEl = document.createElement('span'); + InkElement.insertAfter(containerEl, insertAfterEl); + + data = InkElement._normalizeData(data); + + if (name.substring(name.length - 1) !== ']') { + name += '[]'; + } + + var d, inputEl; + + for (var i = 0; i < data.length; ++i) { + d = data[i]; + + inputEl = document.createElement('input'); + inputEl.setAttribute('type', 'checkbox'); + inputEl.setAttribute('name', name); + inputEl.setAttribute('value', d[0]); + containerEl.appendChild(inputEl); + containerEl.appendChild( document.createTextNode(d[1]) ); + if (splitEl) { containerEl.appendChild( document.createElement(splitEl) ); } + + if (d[0] === defaultValue) { + inputEl.checked = true; + } + } + + return containerEl; + }, + + + /** + * Gets the index of an element relative to a parent + * + * @method parentIndexOf + * @param {DOMElement} parentEl Element to parse + * @param {DOMElement} childEl Child Element to look for + * @return {Number} The index of the childEl inside parentEl. Returns -1 if it's not a direct child + * @sample Ink_Dom_Element_1_parentIndexOf.html + */ + parentIndexOf: function(parentEl, childEl) { + var node, idx = 0; + for (var i = 0, f = parentEl.childNodes.length; i < f; ++i) { + node = parentEl.childNodes[i]; + if (node.nodeType === 1) { // ELEMENT + if (node === childEl) { return idx; } + ++idx; + } + } + return -1; + }, + + + /** + * Gets the next siblings of an element + * + * @method nextSiblings + * @param {String|DOMElement} elm Element + * @return {Array} Array of next sibling elements + * @sample Ink_Dom_Element_1_nextSiblings.html + */ + nextSiblings: function(elm) { + elm = Ink.i(elm); + if(typeof(elm) === 'object' && elm !== null && elm.nodeType && elm.nodeType === 1) { + var elements = [], + siblings = elm.parentNode.children, + index = InkElement.parentIndexOf(elm.parentNode, elm); + + for(var i = ++index, len = siblings.length; i
    " + deleteThisTbodyToken + "
    "; + } else { + div.innerHTML = "" + html + "
    "; + } + return div.firstChild; + }, + TBODY: function (div, html) { + div.innerHTML = '' + html + '
    '; + return div.firstChild.getElementsByTagName('tbody')[0]; + }, + THEAD: function (div, html) { + div.innerHTML = '' + html + '
    '; + return div.firstChild.getElementsByTagName('thead')[0]; + }, + TFOOT: function (div, html) { + div.innerHTML = '' + html + '
    '; + return div.firstChild.getElementsByTagName('tfoot')[0]; + }, + TR: function (div, html) { + div.innerHTML = '' + html + '
    '; + return div.firstChild.firstChild.firstChild; + } + }, + + /** + * Gets a wrapper DIV with a certain HTML content to be inserted inside another element. + * This is necessary for appendHTML,prependHTML functions, because they need a container element to copy the children from. + * + * Works around IE table quirks + * @method _getWrapper + * @private + * @param elm + * @param html + */ + _getWrapper: function (elm, html) { + var nodeName = elm.nodeName && elm.nodeName.toUpperCase(); + var wrapper = document.createElement('div'); + var wrapFunc = InkElement._wrapElements[nodeName]; + + if ( !wrapFunc ) { + wrapper.innerHTML = html; + return wrapper; + } + // special cases + wrapper = wrapFunc(wrapper, html); + // worst case: tbody auto-creation even when our HTML has a tbody. + if (browserCreatesTbodies && nodeName === 'TABLE') { + // terrible case. Deal with tbody creation too. + var tds = wrapper.getElementsByTagName('td'); + for (var i = 0, len = tds.length; i < len; i++) { + if (tds[i].innerHTML === deleteThisTbodyToken) { + var tbody = tds[i].parentNode.parentNode; + tbody.parentNode.removeChild(tbody); + } + } + } + return wrapper; + }, + + /** + * Appends HTML to an element. + * This method parses the html string and doesn't modify its contents + * + * @method appendHTML + * @param {String|DOMElement} elm Element + * @param {String} html Markup string + * @sample Ink_Dom_Element_1_appendHTML.html + */ + appendHTML: function(elm, html){ + elm = Ink.i(elm); + if(elm !== null) { + var wrapper = InkElement._getWrapper(elm, html); + while (wrapper.firstChild) { + elm.appendChild(wrapper.firstChild); + } + } + }, + + /** + * Prepends HTML to an element. + * This method parses the html string and doesn't modify its contents + * + * @method prependHTML + * @param {String|DOMElement} elm Element + * @param {String} html Markup string + * @sample Ink_Dom_Element_1_prependHTML.html + */ + prependHTML: function(elm, html){ + elm = Ink.i(elm); + if(elm !== null) { + var wrapper = InkElement._getWrapper(elm, html); + while (wrapper.lastChild) { + elm.insertBefore(wrapper.lastChild, elm.firstChild); + } + } + }, + + /** + * Sets the inner HTML of an element. + * + * @method setHTML + * @param {String|DOMElement} elm Element + * @param {String} html Markup string + * @sample Ink_Dom_Element_1_setHTML.html + */ + setHTML: function (elm, html) { + elm = Ink.i(elm); + if(elm !== null) { + try { + elm.innerHTML = html; + } catch (e) { + // Tables in IE7 + while (elm.firstChild) { + elm.removeChild(elm.firstChild); + } + InkElement.appendHTML(elm, html); + } + } + }, + + /** + * Wraps an element inside a container. + * + * The container may or may not be in the document yet. + * + * @method wrap + * @param {String|DOMElement} target Element to be wrapped + * @param {String|DOMElement} container Element to wrap the target + * @return Container element + * @sample Ink_Dom_Element_1_wrap.html + * + * @example + * before: + * + *

    + * + * call this function to wrap #target with a wrapper div. + * + * InkElement.wrap('target', InkElement.create('div', {id: 'container'}); + * + * after: + * + *
    + */ + wrap: function (target, container) { + target = Ink.i(target); + container = Ink.i(container); + + var nextNode = target.nextSibling; + var parent = target.parentNode; + + container.appendChild(target); + + if (nextNode !== null) { + parent.insertBefore(container, nextNode); + } else { + parent.appendChild(container); + } + + return container; + }, + + /** + * Places an element outside a wrapper. + * + * @method unwrap + * @param {DOMElement} elem The element you're trying to unwrap. This should be an ancestor of the wrapper. + * @param {String} [wrapperSelector] CSS Selector for the ancestor. Use this if your wrapper is not the direct parent of elem. + * @sample Ink_Dom_Element_1_unwrap.html + * + * @example + * + * When you have this: + * + *
    + *
    + *
    + * + * If you do this: + * + * InkElement.unwrap('unwrapMe'); + * + * You get this: + * + *
    + *
    + * + **/ + unwrap: function (elem, wrapperSelector) { + elem = Ink.i(elem); + var wrapper; + if (typeof wrapperSelector === 'string') { + wrapper = InkElement.findUpwardsBySelector(elem, wrapperSelector); + } else if (typeof wrapperSelector === 'object' && wrapperSelector.tagName) { + wrapper = InkElement.findUpwardsHaving(elem, function (ancestor) { + return ancestor === wrapperSelector; + }); + } else { + wrapper = elem.parentNode; + } + if (!wrapper || !wrapper.parentNode) { return; } + + InkElement.insertBefore(elem, wrapper); + }, + + /** + * Replaces an element with another. + * + * @method replace + * @param element The element to be replaced. + * @param replacement The new element. + * @sample Ink_Dom_Element_1_replace.html + * + * @example + * var newelement1 = InkElement.create('div'); + * // ... + * replace(Ink.i('element1'), newelement1); + */ + replace: function (element, replacement) { + element = Ink.i(element); + if(element !== null) { + element.parentNode.replaceChild(replacement, element); + } + }, + + /** + * Removes direct text children. + * Useful to remove nasty layout gaps generated by whitespace on the markup. + * + * @method removeTextNodeChildren + * @param {DOMElement} el Element to remove text from + * @sample Ink_Dom_Element_1_removeTextNodeChildren.html + */ + removeTextNodeChildren: function(el) { + el = Ink.i(el); + if(el !== null) { + var prevEl, toRemove, parent = el; + el = el.firstChild; + while (el) { + toRemove = (el.nodeType === 3); + prevEl = el; + el = el.nextSibling; + if (toRemove) { + parent.removeChild(prevEl); + } + } + } + }, + + /** + * Creates a documentFragment from an HTML string. + * + * @method htmlToFragment + * @param {String} html HTML string + * @return {DocumentFragment} DocumentFragment containing all of the elements from the html string + * @sample Ink_Dom_Element_1_htmlToFragment.html + */ + htmlToFragment: (createContextualFragmentSupport ? + function(html){ + var range; + + if(typeof html !== 'string'){ return document.createDocumentFragment(); } + + range = document.createRange(); + + // set the context to document.body (firefox does this already, webkit doesn't) + range.selectNode(document.body); + + return range.createContextualFragment(html); + } : function (html) { + var fragment = document.createDocumentFragment(), + tempElement, + current; + + if(typeof html !== 'string'){ return fragment; } + + tempElement = document.createElement('div'); + tempElement.innerHTML = html; + + // append child removes elements from the original parent + while( (current = tempElement.firstChild) ){ // intentional assignment + fragment.appendChild(current); + } + + return fragment; + }), + + _camelCase: function(str) + { + return str ? str.replace(/-(\w)/g, function (_, $1){ + return $1.toUpperCase(); + }) : str; + }, + + /** + * Gets data attributes from an element + * + * @method data + * @param {String|DOMElement} selector Element or CSS selector + * @return {Object} Object with the data-* properties. If no data-attributes are present, an empty object is returned. + * @sample Ink_Dom_Element_1_data.html + */ + data: function(selector) { + var el; + if (typeof selector !== 'object' && typeof selector !== 'string') { + throw '[Ink.Dom.Element.data] :: Invalid selector defined'; + } + + if (typeof selector === 'object') { + el = selector; + } + else { + var InkDomSelector = Ink.getModule('Ink.Dom.Selector', 1); + if (!InkDomSelector) { + throw "[Ink.Dom.Element.data] :: this method requires Ink.Dom.Selector - v1"; + } + el = InkDomSelector.select(selector); + if (el.length <= 0) { + throw "[Ink.Dom.Element.data] :: Can't find any element with the specified selector"; + } + el = el[0]; + } + + var dataset = {}; + var attrs = el.attributes || []; + + var curAttr, curAttrName, curAttrValue; + if (attrs) { + for (var i = 0, total = attrs.length; i < total; ++i) { + curAttr = attrs[i]; + curAttrName = curAttr.name; + curAttrValue = curAttr.value; + if (curAttrName && curAttrName.indexOf('data-') === 0) { + dataset[InkElement._camelCase(curAttrName.replace('data-', ''))] = curAttrValue; + } + } + } + + return dataset; + }, + + /** + * Move the cursor on an input or textarea element. + * @method moveCursorTo + * @param {DOMElement} el Input or Textarea element + * @param {Number} t Index of the character to move the cursor to + * @sample Ink_Dom_Element_1_moveCursorTo.html + */ + moveCursorTo: function(el, t) { + el = Ink.i(el); + if(el !== null) { + if (el.setSelectionRange) { + el.setSelectionRange(t, t); + //el.focus(); + } + else { + var range = el.createTextRange(); + range.collapse(true); + range.moveEnd( 'character', t); + range.moveStart('character', t); + range.select(); + } + } + }, + + /** + * Get the page's width. + * @method pageWidth + * @return {Number} Page width in pixels + * @sample Ink_Dom_Element_1_pageWidth.html + */ + pageWidth: function() { + var xScroll; + + if (window.innerWidth && window.scrollMaxX) { + xScroll = window.innerWidth + window.scrollMaxX; + } else if (document.body.scrollWidth > document.body.offsetWidth){ + xScroll = document.body.scrollWidth; + } else { + xScroll = document.body.offsetWidth; + } + + var windowWidth; + + if (window.self.innerWidth) { + if(document.documentElement.clientWidth){ + windowWidth = document.documentElement.clientWidth; + } else { + windowWidth = window.self.innerWidth; + } + } else if (document.documentElement && document.documentElement.clientWidth) { + windowWidth = document.documentElement.clientWidth; + } else if (document.body) { + windowWidth = document.body.clientWidth; + } + + if(xScroll < windowWidth){ + return xScroll; + } else { + return windowWidth; + } + }, + + /** + * Get the page's height. + * @method pageHeight + * @return {Number} Page height in pixels + * @sample Ink_Dom_Element_1_pageHeight.html + */ + pageHeight: function() { + var yScroll; + + if (window.innerHeight && window.scrollMaxY) { + yScroll = window.innerHeight + window.scrollMaxY; + } else if (document.body.scrollHeight > document.body.offsetHeight){ + yScroll = document.body.scrollHeight; + } else { + yScroll = document.body.offsetHeight; + } + + var windowHeight; + + if (window.self.innerHeight) { + windowHeight = window.self.innerHeight; + } else if (document.documentElement && document.documentElement.clientHeight) { + windowHeight = document.documentElement.clientHeight; + } else if (document.body) { + windowHeight = document.body.clientHeight; + } + + if(yScroll < windowHeight){ + return windowHeight; + } else { + return yScroll; + } + }, + + /** + * Get the viewport's width. + * @method viewportWidth + * @return {Number} Viewport width in pixels + * @sample Ink_Dom_Element_1_viewportWidth.html + */ + viewportWidth: function() { + if(typeof window.innerWidth !== "undefined") { + return window.innerWidth; + } + if (document.documentElement && typeof document.documentElement.offsetWidth !== "undefined") { + return document.documentElement.offsetWidth; + } + }, + + /** + * Get the viewport's height. + * @method viewportHeight + * @return {Number} Viewport height in pixels + * @sample Ink_Dom_Element_1_viewportHeight.html + */ + viewportHeight: function() { + if (typeof window.innerHeight !== "undefined") { + return window.innerHeight; + } + if (document.documentElement && typeof document.documentElement.offsetHeight !== "undefined") { + return document.documentElement.offsetHeight; + } + }, + + /** + * Get the scroll's width. + * @method scrollWidth + * @return {Number} Scroll width + */ + scrollWidth: function() { + if (typeof window.self.pageXOffset !== 'undefined') { + return window.self.pageXOffset; + } + if (typeof document.documentElement !== 'undefined' && typeof document.documentElement.scrollLeft !== 'undefined') { + return document.documentElement.scrollLeft; + } + return document.body.scrollLeft; + }, + + /** + * Get the scroll's height. + * @method scrollHeight + * @return {Number} Scroll height + */ + scrollHeight: function() { + if (typeof window.self.pageYOffset !== 'undefined') { + return window.self.pageYOffset; + } + if (typeof document.documentElement !== 'undefined' && typeof document.documentElement.scrollTop !== 'undefined') { + return document.documentElement.scrollTop; + } + return document.body.scrollTop; + } + }; + + return InkElement; + +}); + +/** + * Event management + * @module Ink.Dom.Event_1 + * @version 1 + */ + +Ink.createModule('Ink.Dom.Event', 1, [], function() { + /* jshint + asi:true, + strict:false, + laxcomma:true, + eqeqeq:false, + laxbreak:true, + boss:true, + curly:false, + expr:true + */ + + /** + * @namespace Ink.Dom.Event_1 + * @static + */ + + /*! + * Bean - copyright (c) Jacob Thornton 2011-2012 + * https://github.com/fat/bean + * MIT license + */ + var bean = (function (name, context, definition) { + return definition() + })('bean', this, function (name, context) { + name = name || 'bean' + context = context || this + + var win = window + , old = context[name] + , namespaceRegex = /[^\.]*(?=\..*)\.|.*/ + , nameRegex = /\..*/ + , addEvent = 'addEventListener' + , removeEvent = 'removeEventListener' + , doc = document || {} + , root = doc.documentElement || {} + , W3C_MODEL = root[addEvent] + , eventSupport = W3C_MODEL ? addEvent : 'attachEvent' + , ONE = {} // singleton for quick matching making add() do one() + + , slice = Array.prototype.slice + , str2arr = function (s, d) { return s.split(d || ' ') } + , isString = function (o) { return typeof o == 'string' } + , isFunction = function (o) { return typeof o == 'function' } + + // events that we consider to be 'native', anything not in this list will + // be treated as a custom event + , standardNativeEvents = + 'click dblclick mouseup mousedown contextmenu ' + // mouse buttons + 'mousewheel mousemultiwheel DOMMouseScroll ' + // mouse wheel + 'mouseover mouseout mousemove selectstart selectend ' + // mouse movement + 'keydown keypress keyup ' + // keyboard + 'orientationchange ' + // mobile + 'focus blur change reset select submit ' + // form elements + 'load unload beforeunload resize move DOMContentLoaded ' + // window + 'readystatechange message ' + // window + 'error abort scroll ' // misc + // element.fireEvent('onXYZ'... is not forgiving if we try to fire an event + // that doesn't actually exist, so make sure we only do these on newer browsers + , w3cNativeEvents = + 'show ' + // mouse buttons + 'input invalid ' + // form elements + 'touchstart touchmove touchend touchcancel ' + // touch + 'gesturestart gesturechange gestureend ' + // gesture + 'textinput' + // TextEvent + 'readystatechange pageshow pagehide popstate ' + // window + 'hashchange offline online ' + // window + 'afterprint beforeprint ' + // printing + 'dragstart dragenter dragover dragleave drag drop dragend ' + // dnd + 'loadstart progress suspend emptied stalled loadmetadata ' + // media + 'loadeddata canplay canplaythrough playing waiting seeking ' + // media + 'seeked ended durationchange timeupdate play pause ratechange ' + // media + 'volumechange cuechange ' + // media + 'checking noupdate downloading cached updateready obsolete ' // appcache + + // convert to a hash for quick lookups + , nativeEvents = (function (hash, events, i) { + for (i = 0; i < events.length; i++) events[i] && (hash[events[i]] = 1) + return hash + }({}, str2arr(standardNativeEvents + (W3C_MODEL ? w3cNativeEvents : '')))) + + // custom events are events that we *fake*, they are not provided natively but + // we can use native events to generate them + , customEvents = (function () { + var isAncestor = 'compareDocumentPosition' in root + ? function (element, container) { + return container.compareDocumentPosition && (container.compareDocumentPosition(element) & 16) === 16 + } + : 'contains' in root + ? function (element, container) { + container = container.nodeType === 9 || container === window ? root : container + return container !== element && container.contains(element) + } + : function (element, container) { + while (element = element.parentNode) if (element === container) return 1 + return 0 + } + , check = function (event) { + var related = event.relatedTarget + return !related + ? related == null + : (related !== this && related.prefix !== 'xul' && !/document/.test(this.toString()) + && !isAncestor(related, this)) + } + + return { + mouseenter: { base: 'mouseover', condition: check } + , mouseleave: { base: 'mouseout', condition: check } + , mousewheel: { base: /Firefox/.test(navigator.userAgent) ? 'DOMMouseScroll' : 'mousewheel' } + } + }()) + + // we provide a consistent Event object across browsers by taking the actual DOM + // event object and generating a new one from its properties. + , Event = (function () { + // a whitelist of properties (for different event types) tells us what to check for and copy + var commonProps = str2arr('altKey attrChange attrName bubbles cancelable ctrlKey currentTarget ' + + 'detail eventPhase getModifierState isTrusted metaKey relatedNode relatedTarget shiftKey ' + + 'srcElement target timeStamp type view which propertyName') + , mouseProps = commonProps.concat(str2arr('button buttons clientX clientY dataTransfer ' + + 'fromElement offsetX offsetY pageX pageY screenX screenY toElement')) + , mouseWheelProps = mouseProps.concat(str2arr('wheelDelta wheelDeltaX wheelDeltaY wheelDeltaZ ' + + 'axis')) // 'axis' is FF specific + , keyProps = commonProps.concat(str2arr('char charCode key keyCode keyIdentifier ' + + 'keyLocation location')) + , textProps = commonProps.concat(str2arr('data')) + , touchProps = commonProps.concat(str2arr('touches targetTouches changedTouches scale rotation')) + , messageProps = commonProps.concat(str2arr('data origin source')) + , stateProps = commonProps.concat(str2arr('state')) + , overOutRegex = /over|out/ + // some event types need special handling and some need special properties, do that all here + , typeFixers = [ + { // key events + reg: /key/i + , fix: function (event, newEvent) { + newEvent.keyCode = event.keyCode || event.which + return keyProps + } + } + , { // mouse events + reg: /click|mouse(?!(.*wheel|scroll))|menu|drag|drop/i + , fix: function (event, newEvent, type) { + newEvent.rightClick = event.which === 3 || event.button === 2 + newEvent.pos = { x: 0, y: 0 } + if (event.pageX || event.pageY) { + newEvent.clientX = event.pageX + newEvent.clientY = event.pageY + } else if (event.clientX || event.clientY) { + newEvent.clientX = event.clientX + doc.body.scrollLeft + root.scrollLeft + newEvent.clientY = event.clientY + doc.body.scrollTop + root.scrollTop + } + if (overOutRegex.test(type)) { + newEvent.relatedTarget = event.relatedTarget + || event[(type == 'mouseover' ? 'from' : 'to') + 'Element'] + } + return mouseProps + } + } + , { // mouse wheel events + reg: /mouse.*(wheel|scroll)/i + , fix: function () { return mouseWheelProps } + } + , { // TextEvent + reg: /^text/i + , fix: function () { return textProps } + } + , { // touch and gesture events + reg: /^touch|^gesture/i + , fix: function () { return touchProps } + } + , { // message events + reg: /^message$/i + , fix: function () { return messageProps } + } + , { // popstate events + reg: /^popstate$/i + , fix: function () { return stateProps } + } + , { // everything else + reg: /.*/ + , fix: function () { return commonProps } + } + ] + , typeFixerMap = {} // used to map event types to fixer functions (above), a basic cache mechanism + + , Event = function (event, element, isNative) { + if (!arguments.length) return + event = event || ((element.ownerDocument || element.document || element).parentWindow || win).event + this.originalEvent = event + this.isNative = isNative + this.isBean = true + + if (!event) return + + var type = event.type + , target = event.target || event.srcElement + , i, l, p, props, fixer + + this.target = target && target.nodeType === 3 ? target.parentNode : target + + if (isNative) { // we only need basic augmentation on custom events, the rest expensive & pointless + fixer = typeFixerMap[type] + if (!fixer) { // haven't encountered this event type before, map a fixer function for it + for (i = 0, l = typeFixers.length; i < l; i++) { + if (typeFixers[i].reg.test(type)) { // guaranteed to match at least one, last is .* + typeFixerMap[type] = fixer = typeFixers[i].fix + break + } + } + } + + props = fixer(event, this, type) + for (i = props.length; i--;) { + if (!((p = props[i]) in this) && p in event) this[p] = event[p] + } + } + } + + // preventDefault() and stopPropagation() are a consistent interface to those functions + // on the DOM, stop() is an alias for both of them together + Event.prototype.preventDefault = function () { + if (this.originalEvent.preventDefault) this.originalEvent.preventDefault() + else this.originalEvent.returnValue = false + } + Event.prototype.stopPropagation = function () { + if (this.originalEvent.stopPropagation) this.originalEvent.stopPropagation() + else this.originalEvent.cancelBubble = true + } + Event.prototype.stop = function () { + this.preventDefault() + this.stopPropagation() + this.stopped = true + } + // stopImmediatePropagation() has to be handled internally because we manage the event list for + // each element + // note that originalElement may be a Bean#Event object in some situations + Event.prototype.stopImmediatePropagation = function () { + if (this.originalEvent.stopImmediatePropagation) this.originalEvent.stopImmediatePropagation() + this.isImmediatePropagationStopped = function () { return true } + } + Event.prototype.isImmediatePropagationStopped = function () { + return this.originalEvent.isImmediatePropagationStopped && this.originalEvent.isImmediatePropagationStopped() + } + Event.prototype.clone = function (currentTarget) { + //TODO: this is ripe for optimisation, new events are *expensive* + // improving this will speed up delegated events + var ne = new Event(this, this.element, this.isNative) + ne.currentTarget = currentTarget + return ne + } + + return Event + }()) + + // if we're in old IE we can't do onpropertychange on doc or win so we use doc.documentElement for both + , targetElement = function (element, isNative) { + return !W3C_MODEL && !isNative && (element === doc || element === win) ? root : element + } + + /** + * Bean maintains an internal registry for event listeners. We don't touch elements, objects + * or functions to identify them, instead we store everything in the registry. + * Each event listener has a RegEntry object, we have one 'registry' for the whole instance. + */ + , RegEntry = (function () { + // each handler is wrapped so we can handle delegation and custom events + var wrappedHandler = function (element, fn, condition, args) { + var call = function (event, eargs) { + return fn.apply(element, args ? slice.call(eargs, event ? 0 : 1).concat(args) : eargs) + } + , findTarget = function (event, eventElement) { + return fn.__beanDel ? fn.__beanDel.ft(event.target, element) : eventElement + } + , handler = condition + ? function (event) { + var target = findTarget(event, this) // deleated event + if (condition.apply(target, arguments)) { + if (event) event.currentTarget = target + return call(event, arguments) + } + } + : function (event) { + if (fn.__beanDel) event = event.clone(findTarget(event)) // delegated event, fix the fix + return call(event, arguments) + } + handler.__beanDel = fn.__beanDel + return handler + } + + , RegEntry = function (element, type, handler, original, namespaces, args, root) { + var customType = customEvents[type] + , isNative + + if (type == 'unload') { + // self clean-up + handler = once(removeListener, element, type, handler, original) + } + + if (customType) { + if (customType.condition) { + handler = wrappedHandler(element, handler, customType.condition, args) + } + type = customType.base || type + } + + this.isNative = isNative = nativeEvents[type] && !!element[eventSupport] + this.customType = !W3C_MODEL && !isNative && type + this.element = element + this.type = type + this.original = original + this.namespaces = namespaces + this.eventType = W3C_MODEL || isNative ? type : 'propertychange' + this.target = targetElement(element, isNative) + this[eventSupport] = !!this.target[eventSupport] + this.root = root + this.handler = wrappedHandler(element, handler, null, args) + } + + // given a list of namespaces, is our entry in any of them? + RegEntry.prototype.inNamespaces = function (checkNamespaces) { + var i, j, c = 0 + if (!checkNamespaces) return true + if (!this.namespaces) return false + for (i = checkNamespaces.length; i--;) { + for (j = this.namespaces.length; j--;) { + if (checkNamespaces[i] == this.namespaces[j]) c++ + } + } + return checkNamespaces.length === c + } + + // match by element, original fn (opt), handler fn (opt) + RegEntry.prototype.matches = function (checkElement, checkOriginal, checkHandler) { + return this.element === checkElement && + (!checkOriginal || this.original === checkOriginal) && + (!checkHandler || this.handler === checkHandler) + } + + return RegEntry + }()) + + , registry = (function () { + // our map stores arrays by event type, just because it's better than storing + // everything in a single array. + // uses '$' as a prefix for the keys for safety and 'r' as a special prefix for + // rootListeners so we can look them up fast + var map = {} + + // generic functional search of our registry for matching listeners, + // `fn` returns false to break out of the loop + , forAll = function (element, type, original, handler, root, fn) { + var pfx = root ? 'r' : '$' + if (!type || type == '*') { + // search the whole registry + for (var t in map) { + if (t.charAt(0) == pfx) { + forAll(element, t.substr(1), original, handler, root, fn) + } + } + } else { + var i = 0, l, list = map[pfx + type], all = element == '*' + if (!list) return + for (l = list.length; i < l; i++) { + if ((all || list[i].matches(element, original, handler)) && !fn(list[i], list, i, type)) return + } + } + } + + , has = function (element, type, original, root) { + // we're not using forAll here simply because it's a bit slower and this + // needs to be fast + var i, list = map[(root ? 'r' : '$') + type] + if (list) { + for (i = list.length; i--;) { + if (!list[i].root && list[i].matches(element, original, null)) return true + } + } + return false + } + + , get = function (element, type, original, root) { + var entries = [] + forAll(element, type, original, null, root, function (entry) { + return entries.push(entry) + }) + return entries + } + + , put = function (entry) { + var has = !entry.root && !this.has(entry.element, entry.type, null, false) + , key = (entry.root ? 'r' : '$') + entry.type + ;(map[key] || (map[key] = [])).push(entry) + return has + } + + , del = function (entry) { + forAll(entry.element, entry.type, null, entry.handler, entry.root, function (entry, list, i) { + list.splice(i, 1) + entry.removed = true + if (list.length === 0) delete map[(entry.root ? 'r' : '$') + entry.type] + return false + }) + } + + // dump all entries, used for onunload + , entries = function () { + var t, entries = [] + for (t in map) { + if (t.charAt(0) == '$') entries = entries.concat(map[t]) + } + return entries + } + + return { has: has, get: get, put: put, del: del, entries: entries } + }()) + + // we need a selector engine for delegated events, use querySelectorAll if it exists + // but for older browsers we need Qwery, Sizzle or similar + , selectorEngine + , setSelectorEngine = function (e) { + if (!arguments.length) { + selectorEngine = doc.querySelectorAll + ? function (s, r) { + return r.querySelectorAll(s) + } + : function () { + throw new Error('Bean: No selector engine installed') // eeek + } + } else { + selectorEngine = e + } + } + + // we attach this listener to each DOM event that we need to listen to, only once + // per event type per DOM element + , rootListener = function (event, type) { + if (!W3C_MODEL && type && event && event.propertyName != '_on' + type) return + + var listeners = registry.get(this, type || event.type, null, false) + , l = listeners.length + , i = 0 + + event = new Event(event, this, true) + if (type) event.type = type + + // iterate through all handlers registered for this type, calling them unless they have + // been removed by a previous handler or stopImmediatePropagation() has been called + for (; i < l && !event.isImmediatePropagationStopped(); i++) { + if (!listeners[i].removed) listeners[i].handler.call(this, event) + } + } + + // add and remove listeners to DOM elements + , listener = W3C_MODEL + ? function (element, type, add) { + // new browsers + element[add ? addEvent : removeEvent](type, rootListener, false) + } + : function (element, type, add, custom) { + // IE8 and below, use attachEvent/detachEvent and we have to piggy-back propertychange events + // to simulate event bubbling etc. + var entry + if (add) { + registry.put(entry = new RegEntry( + element + , custom || type + , function (event) { // handler + rootListener.call(element, event, custom) + } + , rootListener + , null + , null + , true // is root + )) + if (custom && element['_on' + custom] == null) element['_on' + custom] = 0 + entry.target.attachEvent('on' + entry.eventType, entry.handler) + } else { + entry = registry.get(element, custom || type, rootListener, true)[0] + if (entry) { + entry.target.detachEvent('on' + entry.eventType, entry.handler) + registry.del(entry) + } + } + } + + , once = function (rm, element, type, fn, originalFn) { + // wrap the handler in a handler that does a remove as well + return function () { + fn.apply(this, arguments) + rm(element, type, originalFn) + } + } + + , removeListener = function (element, orgType, handler, namespaces) { + var type = orgType && orgType.replace(nameRegex, '') + , handlers = registry.get(element, type, null, false) + , removed = {} + , i, l + + for (i = 0, l = handlers.length; i < l; i++) { + if ((!handler || handlers[i].original === handler) && handlers[i].inNamespaces(namespaces)) { + // TODO: this is problematic, we have a registry.get() and registry.del() that + // both do registry searches so we waste cycles doing this. Needs to be rolled into + // a single registry.forAll(fn) that removes while finding, but the catch is that + // we'll be splicing the arrays that we're iterating over. Needs extra tests to + // make sure we don't screw it up. @rvagg + registry.del(handlers[i]) + if (!removed[handlers[i].eventType] && handlers[i][eventSupport]) + removed[handlers[i].eventType] = { t: handlers[i].eventType, c: handlers[i].type } + } + } + // check each type/element for removed listeners and remove the rootListener where it's no longer needed + for (i in removed) { + if (!registry.has(element, removed[i].t, null, false)) { + // last listener of this type, remove the rootListener + listener(element, removed[i].t, false, removed[i].c) + } + } + } + + // set up a delegate helper using the given selector, wrap the handler function + , delegate = function (selector, fn) { + //TODO: findTarget (therefore $) is called twice, once for match and once for + // setting e.currentTarget, fix this so it's only needed once + var findTarget = function (target, root) { + var i, array = isString(selector) ? selectorEngine(selector, root) : selector + for (; target && target !== root; target = target.parentNode) { + for (i = array.length; i--;) { + if (array[i] === target) return target + } + } + } + , handler = function (e) { + var match = findTarget(e.target, this) + if (match) fn.apply(match, arguments) + } + + // __beanDel isn't pleasant but it's a private function, not exposed outside of Bean + handler.__beanDel = { + ft : findTarget // attach it here for customEvents to use too + , selector : selector + } + return handler + } + + , fireListener = W3C_MODEL ? function (isNative, type, element) { + // modern browsers, do a proper dispatchEvent() + var evt = doc.createEvent(isNative ? 'HTMLEvents' : 'UIEvents') + evt[isNative ? 'initEvent' : 'initUIEvent'](type, true, true, win, 1) + element.dispatchEvent(evt) + } : function (isNative, type, element) { + // old browser use onpropertychange, just increment a custom property to trigger the event + element = targetElement(element, isNative) + isNative ? element.fireEvent('on' + type, doc.createEventObject()) : element['_on' + type]++ + } + + /** + * Public API: off(), on(), add(), (remove()), one(), fire(), clone() + */ + + /** + * off(element[, eventType(s)[, handler ]]) + */ + , off = function (element, typeSpec, fn) { + var isTypeStr = isString(typeSpec) + , k, type, namespaces, i + + if (isTypeStr && typeSpec.indexOf(' ') > 0) { + // off(el, 't1 t2 t3', fn) or off(el, 't1 t2 t3') + typeSpec = str2arr(typeSpec) + for (i = typeSpec.length; i--;) + off(element, typeSpec[i], fn) + return element + } + + type = isTypeStr && typeSpec.replace(nameRegex, '') + if (type && customEvents[type]) type = customEvents[type].base + + if (!typeSpec || isTypeStr) { + // off(el) or off(el, t1.ns) or off(el, .ns) or off(el, .ns1.ns2.ns3) + if (namespaces = isTypeStr && typeSpec.replace(namespaceRegex, '')) namespaces = str2arr(namespaces, '.') + removeListener(element, type, fn, namespaces) + } else if (isFunction(typeSpec)) { + // off(el, fn) + removeListener(element, null, typeSpec) + } else { + // off(el, { t1: fn1, t2, fn2 }) + for (k in typeSpec) { + if (typeSpec.hasOwnProperty(k)) off(element, k, typeSpec[k]) + } + } + + return element + } + + /** + * on(element, eventType(s)[, selector], handler[, args ]) + */ + , on = function(element, events, selector, fn) { + var originalFn, type, types, i, args, entry, first + + //TODO: the undefined check means you can't pass an 'args' argument, fix this perhaps? + if (selector === undefined && typeof events == 'object') { + //TODO: this can't handle delegated events + for (type in events) { + if (events.hasOwnProperty(type)) { + on.call(this, element, type, events[type]) + } + } + return + } + + if (!isFunction(selector)) { + // delegated event + originalFn = fn + args = slice.call(arguments, 4) + fn = delegate(selector, originalFn, selectorEngine) + } else { + args = slice.call(arguments, 3) + fn = originalFn = selector + } + + types = str2arr(events) + + // special case for one(), wrap in a self-removing handler + if (this === ONE) { + fn = once(off, element, events, fn, originalFn) + } + + for (i = types.length; i--;) { + // add new handler to the registry and check if it's the first for this element/type + first = registry.put(entry = new RegEntry( + element + , types[i].replace(nameRegex, '') // event type + , fn + , originalFn + , str2arr(types[i].replace(namespaceRegex, ''), '.') // namespaces + , args + , false // not root + )) + if (entry[eventSupport] && first) { + // first event of this type on this element, add root listener + listener(element, entry.eventType, true, entry.customType) + } + } + + return element + } + + /** + * add(element[, selector], eventType(s), handler[, args ]) + * + * Deprecated: kept (for now) for backward-compatibility + */ + , add = function (element, events, fn, delfn) { + return on.apply( + null + , !isString(fn) + ? slice.call(arguments) + : [ element, fn, events, delfn ].concat(arguments.length > 3 ? slice.call(arguments, 5) : []) + ) + } + + /** + * one(element, eventType(s)[, selector], handler[, args ]) + */ + , one = function () { + return on.apply(ONE, arguments) + } + + /** + * fire(element, eventType(s)[, args ]) + * + * The optional 'args' argument must be an array, if no 'args' argument is provided + * then we can use the browser's DOM event system, otherwise we trigger handlers manually + */ + , fire = function (element, type, args) { + var types = str2arr(type) + , i, j, l, names, handlers + + for (i = types.length; i--;) { + type = types[i].replace(nameRegex, '') + if (names = types[i].replace(namespaceRegex, '')) names = str2arr(names, '.') + if (!names && !args && element[eventSupport]) { + fireListener(nativeEvents[type], type, element) + } else { + // non-native event, either because of a namespace, arguments or a non DOM element + // iterate over all listeners and manually 'fire' + handlers = registry.get(element, type, null, false) + args = [false].concat(args) + for (j = 0, l = handlers.length; j < l; j++) { + if (handlers[j].inNamespaces(names)) { + handlers[j].handler.apply(element, args) + } + } + } + } + return element + } + + /** + * clone(dstElement, srcElement[, eventType ]) + * + * TODO: perhaps for consistency we should allow the same flexibility in type specifiers? + */ + , clone = function (element, from, type) { + var handlers = registry.get(from, type, null, false) + , l = handlers.length + , i = 0 + , args, beanDel + + for (; i < l; i++) { + if (handlers[i].original) { + args = [ element, handlers[i].type ] + if (beanDel = handlers[i].handler.__beanDel) args.push(beanDel.selector) + args.push(handlers[i].original) + on.apply(null, args) + } + } + return element + } + + , bean = { + 'on' : on + , 'add' : add + , 'one' : one + , 'off' : off + , 'remove' : off + , 'clone' : clone + , 'fire' : fire + , 'Event' : Event + , 'setSelectorEngine' : setSelectorEngine + , 'noConflict' : function () { + context[name] = old + return this + } + } + + // for IE, clean up on unload to avoid leaks + if (win.attachEvent) { + var cleanup = function () { + var i, entries = registry.entries() + for (i in entries) { + if (entries[i].type && entries[i].type !== 'unload') off(entries[i].element, entries[i].type) + } + win.detachEvent('onunload', cleanup) + win.CollectGarbage && win.CollectGarbage() + } + win.attachEvent('onunload', cleanup) + } + + // initialize selector engine to internal default (qSA or throw Error) + setSelectorEngine(Ink.ss) + + return bean + }); + + /** + * Keep this declaration here and off Bean as it extends the Event + * object and some properties are readonly in strict mode + */ + 'use strict'; + + var InkEvent = { + + KEY_BACKSPACE: 8, + KEY_TAB: 9, + KEY_RETURN: 13, + KEY_ESC: 27, + KEY_SPACE: 32, + KEY_LEFT: 37, + KEY_UP: 38, + KEY_RIGHT: 39, + KEY_DOWN: 40, + KEY_DELETE: 46, + KEY_HOME: 36, + KEY_END: 35, + KEY_PAGEUP: 33, + KEY_PAGEDOWN: 34, + KEY_INSERT: 45, + + /** + * Creates a debounced version of a function. + * Returns a function which calls `func`, waiting at least `wait` milliseconds between calls. This is useful for events such as `scroll` or `resize`, which can be triggered too many times per second, slowing down the browser with needless function calls. + * + * *note:* This does not delay the first function call to the function. + * + * @method throttle + * @param {Function} func Function to call. Arguments and context are both passed. + * @param {Number} [wait]=0 Milliseconds to wait between calls. + * @sample Ink_Dom_Event_1_throttle.html + **/ + throttle: function (func, wait) { + wait = wait || 0; + var lastCall = 0; // Warning: This breaks on Jan 1st 1970 0:00 + var timeout; + var throttled = function () { + var now = +new Date(); + var timeDiff = now - lastCall; + if (timeDiff >= wait) { + lastCall = now; + return func.apply(this, [].slice.call(arguments)); + } else { + var that = this; + var args = [].slice.call(arguments); + if (!timeout) { + timeout = setTimeout(function () { + timeout = null; + return throttled.apply(that, args); + }, wait - timeDiff); + } + } + }; + return throttled; + }, + + /** + * Gets the event's target element. + * + * @method element + * @param {Object} ev Event object + * @return {DOMNode} The target + * @sample Ink_Dom_Event_1_element.html + */ + element: function(ev) { + var node = ev.delegationTarget || + ev.target || + // IE stuff + (ev.type === 'mouseout' && ev.fromElement) || + (ev.type === 'mouseleave' && ev.fromElement) || + (ev.type === 'mouseover' && ev.toElement) || + (ev.type === 'mouseenter' && ev.toElement) || + ev.srcElement || + null; + return node && (node.nodeType === 3 || node.nodeType === 4) ? node.parentNode : node; + }, + + /** + * Gets the event's related target element. + * + * @method relatedTarget + * @param {Object} ev event object + * @return {DOMNode} The related target + * @sample Ink_Dom_Event_1_relatedTarget.html + */ + relatedTarget: function(ev){ + var node = ev.relatedTarget || + // IE stuff + (ev.type === 'mouseout' && ev.toElement) || + (ev.type === 'mouseleave' && ev.toElement) || + (ev.type === 'mouseover' && ev.fromElement) || + (ev.type === 'mouseenter' && ev.fromElement) || + null; + return node && (node.nodeType === 3 || node.nodeType === 4) ? node.parentNode : node; + }, + + /** + * Find closest ancestor element by tag name related to the event target. + * Navigate up the DOM tree, looking for a tag with the name `elmTagName`. + * + * If such tag is not found, `document` is returned. + * + * @method findElement + * @param {Object} ev Event object + * @param {String} elmTagName Tag name to find + * @param {Boolean} [force]=false Flag to skip returning `document` and to return `false` instead. + * @return {DOMElement} the first element which matches given tag name or the document element if the wanted tag is not found + * @sample Ink_Dom_Event_1_findElement.html + */ + findElement: function(ev, elmTagName, force) + { + var node = this.element(ev); + while(true) { + if(node.nodeName.toLowerCase() === elmTagName.toLowerCase()) { + return node; + } else { + node = node.parentNode; + if(!node) { + if(force) { + return false; + } + return document; + } + if(!node.parentNode){ + if(force){ return false; } + return document; + } + } + } + }, + + /** + * Attaches an event to element + * + * @method observe + * @param {DOMElement|String} element Element id or element + * @param {String} eventName Event name + * @param {Function} callBack Receives the event object as a parameter. If you're manually firing custom events, check it's eventName property to make sure you're handling the right event. + * @param {Boolean} [useCapture] Flag to change event listening from bubbling to capture. + * @return {Function} The event handler used. Hang on to this if you want to `stopObserving` later. + * @sample Ink_Dom_Event_1_observe.html + */ + observe: function(element, eventName, callBack, useCapture) { + element = Ink.i(element); + if(element) { + if(element.addEventListener) { + element.addEventListener(eventName, callBack, !!useCapture); + } else { + element.attachEvent('on' + eventName, (callBack = Ink.bind(callBack, element))); + } + return callBack; + } + }, + + /** + * Like observe, but listen to the event only once. + * + * @method observeOnce + * @param {DOMElement|String} element Element id or element + * @param {String} eventName Event name + * @param {Function} callBack Receives the event object as a parameter. If you're manually firing custom events, check it's eventName property to make sure you're handling the right event. + * @param {Boolean} [useCapture] Flag to change event listening from bubbling to capture. + * @return {Function} The event handler used. Hang on to this if you want to `stopObserving` later. + * @sample Ink_Dom_Event_1_observeOnce.html + */ + observeOnce: function (element, eventName, callBack, useCapture) { + var onceBack = function () { + InkEvent.stopObserving(element, eventName, onceBack); + return callBack(); + }; + return InkEvent.observe(element, eventName, onceBack, useCapture); + }, + + /** + * Attaches an event to a selector or array of elements. + * + * @method observeMulti + * @param {Array|String} elements + * @param {String} eventName Event name + * @param {Function} callBack Receives the event object as a parameter. If you're manually firing custom events, check it's eventName property to make sure you're handling the right event. + * @param {Boolean} [useCapture] Flag change event listening from bubbling to capture. + * @return {Function} The used callback. + * @sample Ink_Dom_Event_1_observeMulti.html + */ + observeMulti: function (elements, eventName, callBack, useCapture) { + if (typeof elements === 'string') { + elements = Ink.ss(elements); + } else if ( /* is an element */ elements && elements.nodeType === 1) { + elements = [elements]; + } + if (!elements[0]) { return false; } + + for (var i = 0, len = elements.length; i < len; i++) { + this.observe(elements[i], eventName, callBack, useCapture); + } + return callBack; + }, + + /** + * Observes an event on an element and its descendants matching the selector. + * + * Requires Ink.Dom.Selector if you need to use a selector. + * + * @method observeDelegated + * @param {DOMElement|String} element Element to observe. + * @param {String} eventName Event name to observe. + * @param {String} selector Child element selector. When null, finds any element. + * @param {Function} callback Callback to be called when the event is fired + * @return {Function} The used callback, for ceasing to listen to the event later. + * @sample Ink_Dom_Event_1_observeDelegated.html + **/ + observeDelegated: function (element, eventName, selector, callback) { + return InkEvent.observe(element, eventName, function (event) { + var fromElement = InkEvent.element(event); + if (!fromElement || fromElement === element) { return; } + + var cursor = fromElement; + + // Go up the document tree until we hit the element itself. + while (cursor !== element && cursor !== document && cursor) { + if (Ink.Dom.Selector_1.matchesSelector(cursor, selector)) { + event.delegationTarget = cursor; + return callback(event); + } + cursor = cursor.parentNode; + } + }); + }, + + /** + * Removes an event attached to an element. + * + * @method stopObserving + * @param {DOMElement|String} element Element id or element + * @param {String} eventName Event name + * @param {Function} callBack Callback function + * @param {Boolean} [useCapture] Set to true if the event was being observed with useCapture set to true as well. + * @sample Ink_Dom_Event_1_stopObserving.html + */ + stopObserving: function(element, eventName, callBack, useCapture) { + element = Ink.i(element); + + if(element) { + if(element.removeEventListener) { + element.removeEventListener(eventName, callBack, !!useCapture); + } else { + element.detachEvent('on' + eventName, callBack); + } + } + }, + + /** + * Stops event propagation and bubbling. + * + * @method stop + * @param {Object} event Event handle + * @sample Ink_Dom_Event_1_stop.html + */ + stop: function(event) + { + if(event.cancelBubble !== null) { + event.cancelBubble = true; + } + if(event.stopPropagation) { + event.stopPropagation(); + } + if(event.preventDefault) { + event.preventDefault(); + } + if(window.attachEvent) { + event.returnValue = false; + } + if(event.cancel !== null) { + event.cancel = true; + } + }, + + /** + * Stops event propagation. + * + * @method stopPropagation + * @param {Object} event Event handle + * @sample Ink_Dom_Event_1_stopPropagation.html + */ + stopPropagation: function(event) { + if(event.cancelBubble !== null) { + event.cancelBubble = true; + } + if(event.stopPropagation) { + event.stopPropagation(); + } + }, + + /** + * Stops event default behaviour. + * + * @method stopDefault + * @param {Object} event Event handle + * @sample Ink_Dom_Event_1_stopDefault.html + */ + stopDefault: function(event) + { + if(event.preventDefault) { + event.preventDefault(); + } + if(window.attachEvent) { + event.returnValue = false; + } + if(event.cancel !== null) { + event.cancel = true; + } + }, + + /** + * Gets the pointer's coordinates from the event object. + * + * @method pointer + * @param {Object} ev Event object + * @return {Object} An object with the mouse X and Y position + * @sample Ink_Dom_Event_1_pointer.html + */ + pointer: function(ev) + { + return { + x: this.pointerX(ev), + y: this.pointerY(ev) + }; + }, + + /** + * Gets the pointer's X coordinate. + * + * @method pointerX + * @param {Object} ev Event object + * @return {Number} Mouse X position + */ + pointerX: function(ev) + { + return (ev.touches && ev.touches[0] && ev.touches[0].clientX) || + (ev.pageX) || + (ev.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); + }, + + /** + * Gets the pointer's Y coordinate. + * + * @method pointerY + * @param {Object} ev Event object + * @return {Number} Mouse Y position + */ + pointerY: function(ev) + { + return (ev.touches && ev.touches[0] && ev.touches[0].clientY) || + (ev.pageY) || + (ev.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); + }, + + /** + * Checks if an event is a left click. + * + * @method isLeftClick + * @param {Object} ev Event object + * @return {Boolean} True if the event is a left click + * @sample Ink_Dom_Event_1_isLeftClick.html + */ + isLeftClick: function(ev) { + if (window.addEventListener) { + if(ev.button === 0){ + return true; + } else if(ev.type === 'touchend' && ev.button === null){ + // [todo] do the above check for pointerEvents too + return true; + } + } + else { + if(ev.button === 1){ return true; } + } + return false; + }, + + /** + * Checks if an event is a right click. + * + * @method isRightClick + * @param {Object} ev Event object + * @return {Boolean} True if the event is a right click + * @sample Ink_Dom_Event_1_isRightClick.html + */ + isRightClick: function(ev) { + return (ev.button === 2); + }, + + /** + * Checks if an event is a middle click. + * + * @method isMiddleClick + * @param {Object} ev Event object + * @return {Boolean} True if the event is a middle click + * @sample Ink_Dom_Event_1_isMiddleClick.html + */ + isMiddleClick: function(ev) { + if (window.addEventListener) { + return (ev.button === 1); + } + else { + return (ev.button === 4); + } + return false; + }, + + /** + * Gets character from an event. + * + * @method getCharFromKeyboardEvent + * @param {Object} event Keyboard event + * @param {Boolean} [changeCasing] If true uppercases, if false lowercases, otherwise keeps casing + * @return {String} Character representation of pressed key combination + * @sample Ink_Dom_Event_1_getCharFromKeyboardEvent.html + */ + getCharFromKeyboardEvent: function(event, changeCasing) { + var k = event.keyCode; + var c = String.fromCharCode(k); + + var shiftOn = event.shiftKey; + if (k >= 65 && k <= 90) { // A-Z + if (typeof changeCasing === 'boolean') { + shiftOn = changeCasing; + } + return (shiftOn) ? c : c.toLowerCase(); + } + else if (k >= 96 && k <= 105) { // numpad digits + return String.fromCharCode( 48 + (k-96) ); + } + switch (k) { + case 109: case 189: return '-'; + case 107: case 187: return '+'; + } + return c; + }, + + debug: function(){} +}; + +/** + * Lets you attach event listeners to both elements and objects. + * http://github.com/fat/bean#on + * + * @method on + * @param {DOMElement|Object} element An HTML DOM element or any JavaScript Object + * @param {String} eventType An Event (or multiple events, space separated) to listen to + * @param {String} [selector] A CSS DOM Element selector string to bind the listener to child elements matching the selector + * @param {Function} [handler] The callback function + * @param {Object} [args...] Additional arguments to pass to the callback function when triggered + * + * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object + * @sample Ink_Dom_Event_1_on.html + */ + +/** + * Alias for `on` but will only be executed once. + * bean.one() is an alias for bean.on() except that the handler will only be executed once and then removed for the event type(s). + * http://github.com/fat/bean#one + * + * @method one + * @param {DOMElement|Object} element An HTML DOM element or any JavaScript Object + * @param {String} eventType An Event (or multiple events, space separated) to listen to + * @param {String} [selector] A CSS DOM Element selector string to bind the listener to child elements matching the selector + * @param {Function} [handler] The callback function + * @param [args...] Additional arguments to pass to the callback function when triggered + * + * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object + * @sample Ink_Dom_Event_1_one.html + */ + +/** + * Removes event handlers. + * bean.off() is how you get rid of handlers once you no longer want them active. It's also a good idea to call off on elements before you remove them from your DOM; this gives Bean a chance to clean up some things and prevents memory leaks. + * http://github.com/fat/bean#off + * + * @method off + * @param {DOMElement|Object} element An HTML DOM element or any JavaScript Object + * @param {String} eventType An Event (or multiple events, space separated) to remove + * @param {Function} [handler] The specific callback function to remove + * + * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object + * @sample Ink_Dom_Event_1_off.html + */ + +/** + * Clones events from one object to another + * bean.clone() is a method for cloning events from one DOM element or object to another. + * http://github.com/fat/bean#clone + * + * @method clone + * @param {DOMElement|Object} destElement An HTML DOM element or any JavaScript Object to copy events to + * @param {String} srcElement An HTML DOM element or any JavaScript Object to copy events from + * @param {String} [eventType] An Event (or multiple events, space separated) to clone + * + * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object + * @sample Ink_Dom_Event_1_clone.html + */ + +/** + * Triggers events. + * http://github.com/fat/bean#fire + * + * @method fire + * @param {DOMElement|Object} destElement An HTML DOM element or any JavaScript Object fire the event on + * @param {String} eventType An Event (or multiple events, space separated) to fire + * @param [args...] Additional arguments to pass to the callback function when triggered + * + * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object + * @sample Ink_Dom_Event_1_fire.html + */ + +return Ink.extendObj(InkEvent, bean); + +}); + +/** + * @module Ink.Dom.FormSerialize_1 + * Two way serialization of form data and javascript objects. + * Valid applications are ad hoc AJAX/syndicated submission of forms, restoring form values from server side state, etc. + */ + +Ink.createModule('Ink.Dom.FormSerialize', 1, ['Ink.Util.Array_1', 'Ink.Dom.Element_1', 'Ink.Dom.Selector_1'], function (InkArray, InkElement, Selector) { + 'use strict'; + + // Check whether something is not a string or a DOM element, but still has length. + function isArrayIsh(obj) { + return obj != null && + (!InkElement.isDOMElement(obj)) && + (InkArray.isArray(obj) || (typeof obj !== 'string' && typeof obj.length === 'number')); + } + + function toArray(obj) { + if (isArrayIsh(obj)) { return obj; } + else { return [obj]; } + } + + /** + * @namespace Ink.Dom.FormSerialize + * @static + **/ + var FormSerialize = { + + /** + * Serializes a form element into a JS object + * It turns field names into keys and field values into values. + * + * note: Multi-select and checkboxes with multiple values will result in arrays + * + * @method serialize + * @param {DOMElement|String} form Form element to extract data + * @return {Object} Map of fieldName -> String|String[]|Boolean + * @sample Ink_Dom_FormSerialize_serialize.html + */ + serialize: function(form) { + var out = {}; + var emptyArrayToken = {}; // A hack so that empty select[multiple] elements appear although empty. + + var pairs = this.asPairs(form, { elements: true, emptyArray: emptyArrayToken }); + if (pairs == null) { return pairs; } + InkArray.forEach(pairs, function (pair) { + var name = pair[0].replace(/\[\]$/, ''); + var value = pair[1]; + var el = pair[2]; + + if (value === emptyArrayToken) { + out[name] = []; // It's an empty select[multiple] + } else if (!(FormSerialize._resultsInArray(el) || /\[\]$/.test(pair[0]))) { + out[name] = value; + } else { + out[name] = out[name] || []; + out[name].push(value); + } + }); + + return out; + }, + + /** + * Like `serialize`, but returns an array of [fieldName, value] pairs. + * + * @method asPairs + * @param {DOMElement|String} form Form element + * @param {Object} [options] Options object, containing: + * @param {Boolean} [options.elements] Instead of returning an array of [fieldName, value] pairs, return an array of [fieldName, value, fieldElement] triples. + * @param {Boolean} [options.emptyArray] What to emit as the value of an empty select[multiple]. If you don't pass this option, nothing comes out. + * + * @return Array of [fieldName, value] pairs. + **/ + asPairs: function (form, options) { + var out = []; + options = options || {}; + + function emit(name, val, el) { + if (options.elements) { + out.push([name, val, el]); + } else { + out.push([name, val]); + } + } + + function serializeEl(el) { + if (el.nodeName.toLowerCase() === 'select' && el.multiple) { + var didEmit = false; + InkArray.forEach(Selector.select('option:checked', el), function (thisOption) { + emit(el.name, thisOption.value, el); + didEmit = true; + }); + if (!didEmit && 'emptyArray' in options) { + emit(el.name, options.emptyArray, el); + } + } else { + emit(el.name, el.value, el); + } + } + + if ((form = Ink.i(form))) { + var inputs = InkArray.filter(form.elements, FormSerialize._isSerialized); + for (var i = 0, len = inputs.length; i < len; i++) { + serializeEl(inputs[i]); + } + return out; + } + + return null; + }, + + /** + * Sets form elements' values with values from an object + * + * Note: You can't set the values of an input with `type="file"` (browser prohibits it) + * + * @method fillIn + * @param {DOMElement|String} form Form element to be populated + * @param {Object|Array} map2 mapping of fields to values contained in fields. Can be a hash (keys as names, strings or arrays for values), or an array of [name, value] pairs. + * @sample Ink_Dom_FormSerialize_fillIn.html + */ + fillIn: function(form, map2) { + if (!(form = Ink.i(form))) { return null; } + + var pairs; + + if (typeof map2 === 'object' && !isArrayIsh(map2)) { + pairs = FormSerialize._objToPairs(map2); + } else if (isArrayIsh(map2)) { + pairs = map2; + } else { + return null; + } + + return FormSerialize._fillInPairs(form, pairs); + }, + + _objToPairs: function (obj) { + var pairs = []; + var val; + for (var name in obj) if (obj.hasOwnProperty(name)) { + val = toArray(obj[name]); + for (var i = 0, len = val.length; i < len; i++) { + pairs.push([name, val[i]]); + } + if (len === 0) { + pairs.push([name, []]); + } + } + return pairs; + }, + + _fillInPairs: function (form, pairs) { + pairs = InkArray.groupBy(pairs, { + key: function (pair) { return pair[0].replace(/\[\]$/, ''); } + }); + + // For each chunk... + pairs = InkArray.map(pairs, function (pair) { + // Join the items in the chunk by concatenating the values together and leaving the names alone + var values = InkArray.reduce(pair, function (left, right) { + return [null, left[1].concat([right[1]])]; + }, [null, []])[1]; + return [pair[0][0], values]; + }); + + var name; + var inputs; + var values; + for (var i = 0, len = pairs.length; i < len; i++) { + name = pairs[i][0]; + + if (name in form) { + inputs = form[name]; + } else if ((name + '[]') in form) { + inputs = form[name + '[]']; + name = name + '[]'; + } else { + continue; + } + + inputs = toArray(inputs); + values = pairs[i][1]; + + FormSerialize._fillInOne(name, inputs, values); + } + }, + + _fillInOne: function (name, inputs, values) { + var firstOne = inputs[0]; + var firstNodeName = firstOne.nodeName.toLowerCase(); + var firstType = firstOne.getAttribute('type'); + firstType = firstType && firstType.toLowerCase(); + var isSelectMulti = firstNodeName === 'select' && InkElement.hasAttribute(firstOne, 'multiple'); + + if (firstType === 'checkbox' || firstType === 'radio') { + FormSerialize._fillInBoolean(inputs, values, 'checked'); + } else if (isSelectMulti) { + FormSerialize._fillInBoolean(inputs[0].options, values, 'selected'); + } else { + if (inputs.length !== values.length) { + Ink.warn('Form had ' + inputs.length + ' inputs named "' + name + '", but received ' + values.length + ' values.'); + } + + for (var i = 0, len = Math.min(inputs.length, values.length); i < len; i += 1) { + inputs[i].value = values[i]; + } + } + }, + + _fillInBoolean: function (inputs, values, checkAttr /* 'selected' or 'checked' */) { + InkArray.forEach(inputs, function (input) { + var isChecked = InkArray.inArray(input.value, values); + input[checkAttr] = isChecked; + }); + }, + + /** + * Whether FormSerialize.serialize() should produce an array when looking at this element. + * @method _resultsInArray + * @private + * @param element + **/ + _resultsInArray: function (element) { + var type = element.getAttribute('type'); + var nodeName = element.nodeName.toLowerCase(); + + return type === 'checkbox' || + (nodeName === 'select' && InkElement.hasAttribute(element, 'multiple')); + }, + + _isSerialized: function (element) { + if (!InkElement.isDOMElement(element)) { return false; } + if (!InkElement.hasAttribute(element, 'name')) { return false; } + + var nodeName = element.nodeName.toLowerCase(); + + if (!nodeName || nodeName === 'fieldset') { return false; } + + if (element.type === 'checkbox' || element.type === 'radio') { + return !!element.checked; + } + + return true; + } + }; + + return FormSerialize; +}); + +/** + * Execute code only when the DOM is loaded. + * @module Ink.Dom.Loaded_1 + * @version 1 + */ + +Ink.createModule('Ink.Dom.Loaded', 1, [], function() { + + 'use strict'; + + /** + * @namespace Ink.Dom.Loaded_1 + **/ + var Loaded = { + + /** + * Callbacks and their contexts. Array of 2-arrays. + * + * [] + * + * @attribute _contexts Array + * @private + * + */ + _contexts: [], // Callbacks' queue + + /** + * Specify a function to execute when the DOM is fully loaded. + * + * @method run + * @param {Object} [win]=window Window object to attach/add the event + * @param {Function} fn Callback function to be executed after the DOM is ready + * @public + * @sample Ink_Dom_Loaded_run.html + */ + run: function(win, fn) { + if (!fn) { + fn = win; + win = window; + } + + var context; + + for (var i = 0, len = this._contexts.length; i < len; i++) { + if (this._contexts[i][0] === win) { + context = this._contexts[i][1]; + break; + } + } + if (!context) { + context = { + cbQueue: [], + win: win, + doc: win.document, + root: win.document.documentElement, + done: false, + top: true + }; + context.handlers = { + checkState: Ink.bindEvent(this._checkState, this, context), + poll: Ink.bind(this._poll, this, context) + }; + this._contexts.push( + [win, context] // Javascript Objects cannot map different windows to + // different values. + ); + } + + var ael = context.doc.addEventListener; + context.add = ael ? 'addEventListener' : 'attachEvent'; + context.rem = ael ? 'removeEventListener' : 'detachEvent'; + context.pre = ael ? '' : 'on'; + context.det = ael ? 'DOMContentLoaded' : 'onreadystatechange'; + context.wet = context.pre + 'load'; + + var csf = context.handlers.checkState; + var alreadyLoaded = ( + /complete|interactive|loaded/.test(context.doc.readyState) && + context.win.location.toString() !== 'about:blank'); // https://code.google.com/p/chromium/issues/detail?id=32357 + + if (alreadyLoaded){ + setTimeout(Ink.bind(function () { + fn.call(context.win, 'lazy'); + }, this), 0); + } else { + context.cbQueue.push(fn); + + context.doc[context.add]( context.det , csf ); + context.win[context.add]( context.wet , csf ); + + var frameElement = 1; + try{ + frameElement = context.win.frameElement; + } catch(e) {} + if ( !ael && context.root && context.root.doScroll ) { // IE HACK + try { + context.top = !frameElement; + } catch(e) { } + if (context.top) { + this._poll(context); + } + } + } + }, + + /** + * Function that will be running the callbacks after the page is loaded + * + * @method _checkState + * @param {Event} event Triggered event + * @private + */ + _checkState: function(event, context) { + if ( !event || (event.type === 'readystatechange' && context.doc.readyState !== 'complete')) { + return; + } + var where = (event.type === 'load') ? context.win : context.doc; + where[context.rem](context.pre+event.type, context.handlers.checkState, false); + this._ready(context); + }, + + /** + * Polls the load progress of the page to see if it has already loaded or not + * + * @method _poll + * @private + */ + + /** + * + * function _poll + */ + _poll: function(context) { + try { + context.root.doScroll('left'); + } catch(e) { + return setTimeout(context.handlers.poll, 50); + } + this._ready(context); + }, + + /** + * Function that runs the callbacks from the queue when the document is ready. + * + * @method _ready + * @private + */ + _ready: function(context) { + if (!context.done) { + context.done = true; + for (var i = 0; i < context.cbQueue.length; ++i) { + context.cbQueue[i].call(context.win); + } + context.cbQueue = []; + } + } + }; + + return Loaded; + +}); + +/** + * CSS selector engine + * @module Ink.Dom.Selector_1 + * @version 1 + */ + +Ink.createModule('Ink.Dom.Selector', 1, [], function() { + /*jshint forin:false, eqnull:true, noempty:false, expr:true, boss:true, maxdepth:false*/ + 'use strict'; + +/*! + * Sizzle CSS Selector Engine + * Copyright 2013 jQuery Foundation and other contributors + * Released under the MIT license + * http://sizzlejs.com/ + */ + +var i, + cachedruns, + Expr, + getText, + isXML, + compile, + outermostContext, + recompare, + sortInput, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + support = {}, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + hasDuplicate = false, + sortOrder = function() { return 0; }, + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Array methods + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + operators = "([*^$|!~]?=)", + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments quoted, + // then not containing pseudos/brackets, + // then attribute selectors/non-parenthetical expressions, + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rsibling = /[\x20\t\r\n\f]*[+~]/, + + rnative = /^[^{]+\{\s*\[native code/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rescape = /'|\\/g, + rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, + funescape = function( _, escaped ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + return high !== high ? + escaped : + // BMP codepoint + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +/* + * For feature detection + * @param {Function} fn The function to test for native support + */ +function isNative( fn ) { + return rnative.test( fn + "" ); +} + +/* + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var cache, + keys = []; + + return (cache = function( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key += " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key ] = value); + }); +} + +/* + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/* + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // release memory in IE + div = null; + } +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( documentIsHTML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // QSA path + if ( support.qsa && !rbuggyQSA.test(selector) ) { + old = true; + nid = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/* + * Detect xml + * @param {Element|Object} elem An element or a document + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/* + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var doc = node ? node.ownerDocument || node : preferredDoc; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsHTML = !isXML( doc ); + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if attributes should be retrieved by attribute nodes + support.attributes = assert(function( div ) { + div.innerHTML = ""; + var type = typeof div.lastChild.getAttribute("multiple"); + // IE8 returns a string for some attributes even when not present + return type !== "boolean" && type !== "string"; + }); + + // Check if getElementsByClassName can be trusted + support.getElementsByClassName = assert(function( div ) { + // Opera can't find a second classname (in 9.6) + div.innerHTML = ""; + if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { + return false; + } + + // Safari 3.2 caches class attributes and doesn't catch changes + div.lastChild.className = "e"; + return div.getElementsByClassName("e").length === 2; + }); + + // Check if getElementsByName privileges form controls or returns elements by ID + // If so, assume (for broader support) that getElementById returns elements by name + support.getByName = assert(function( div ) { + // Inject content + div.id = expando + 0; + // Support: Windows 8 Native Apps + // Assigning innerHTML with "name" attributes throws uncatchable exceptions + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx + div.appendChild( document.createElement("a") ).setAttribute( "name", expando ); + div.appendChild( document.createElement("i") ).setAttribute( "name", expando ); + docElem.appendChild( div ); + + // Test + var pass = doc.getElementsByName && + // buggy browsers will return fewer than the correct 2 + doc.getElementsByName( expando ).length === 2 + + // buggy browsers will return more than the correct 0 + doc.getElementsByName( expando + 0 ).length; + + // Cleanup + docElem.removeChild( div ); + + return pass; + }); + + // Support: Webkit<537.32 + // Detached nodes confoundingly follow *each other* + support.sortDetached = assert(function( div1 ) { + return div1.compareDocumentPosition && + // Should return 1, but Webkit returns 4 (following) + (div1.compareDocumentPosition( document.createElement("div") ) & 1); + }); + + // IE6/7 return modified attributes + Expr.attrHandle = assert(function( div ) { + div.innerHTML = "
    "; + return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && + div.firstChild.getAttribute("href") === "#"; + }) ? + {} : + { + "href": function( elem ) { + return elem.getAttribute( "href", 2 ); + }, + "type": function( elem ) { + return elem.getAttribute("type"); + } + }; + + // ID find and filter + if ( support.getByName ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + + return m ? + m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? + [m] : + undefined : + []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Name + Expr.find["NAME"] = support.getByName && function( tag, context ) { + if ( typeof context.getElementsByName !== strundefined ) { + return context.getElementsByName( name ); + } + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21), + // no need to also add to buggyMatches since matches checks buggyQSA + // A support test would require too much code (would include document ready) + rbuggyQSA = [ ":focus" ]; + + if ( (support.qsa = isNative(doc.querySelectorAll)) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // IE8 - Some boolean attributes are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Opera 10-12/IE8 - ^= $= *= and empty values + // Should not select anything + div.innerHTML = ""; + if ( div.querySelectorAll("[i^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = isNative( (matches = docElem.matchesSelector || + docElem.mozMatchesSelector || + docElem.webkitMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = isNative(docElem.contains) || docElem.compareDocumentPosition ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + // Document order sorting + sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b ); + + if ( compare ) { + // Disconnected nodes + if ( compare & 1 || + (recompare && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === doc || contains(preferredDoc, a) ) { + return -1; + } + if ( b === doc || contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } + + // Not directly comparable, sort on existence of method + return a.compareDocumentPosition ? -1 : 1; + } : + function( a, b ) { + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Parentless nodes are either documents or disconnected + } else if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + // rbuggyQSA always contains :focus, so no need for an existence check + if ( support.matchesSelector && documentIsHTML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && !rbuggyQSA.test(expr) ) { + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [elem] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + var val; + + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( documentIsHTML ) { + name = name.toLowerCase(); + } + if ( (val = Expr.attrHandle[ name ]) ) { + return val( elem ); + } + if ( !documentIsHTML || support.attributes ) { + return elem.getAttribute( name ); + } + return ( (val = elem.getAttributeNode( name )) || elem.getAttribute( name ) ) && elem[ name ] === true ? + name : + val && val.specified ? val.value : null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +// Document sorting and removing duplicates +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + // Compensate for sort limitations + recompare = !support.sortDetached; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + return results; +}; + +/* + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns Returns -1 if a precedes b, 1 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +// Returns a function to use in pseudos for input types +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +// Returns a function to use in pseudos for buttons +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +// Returns a function to use in pseudos for positionals +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/* + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[5] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[4] ) { + match[2] = match[4]; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeName ) { + if ( nodeName === "*" ) { + return function() { return true; }; + } + + nodeName = nodeName.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push( { + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var data, cache, outerCache, + dirkey = dirruns + " " + doneName; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { + if ( (data = cache[1]) === true || data === cachedruns ) { + return data === true; + } + } else { + cache = outerCache[ dir ] = [ dirkey ]; + cache[1] = matcher( elem, context, xml ) || cachedruns; + if ( cache[1] === true ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( tokens.slice( 0, i - 1 ) ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + // A counter to specify which element is currently being matched + var matcherCachedRuns = 0, + bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = matcherCachedRuns; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++matcherCachedRuns; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function select( selector, context, results, seed ) { + var i, tokens, token, type, find, + match = tokenize( selector ); + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && context.parentNode || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + !documentIsHTML, + results, + rsibling.test( selector ) + ); + return results; +} + +// Deprecated +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +// Check sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Initialize with the default document +setDocument(); + +// Always assume the presence of duplicates if sort doesn't +// pass them to our comparison function (as in Google Chrome). +[0, 0].sort( sortOrder ); +support.detectDuplicates = hasDuplicate; + +// EXPOSE +/*if ( typeof define === "function" && define.amd ) { + define(function() { return Sizzle; }); +} else { + window.Sizzle = Sizzle; +}*/ +// EXPOSE + +/** + * @namespace Ink.Dom.Selector + * @static + */ + +/** + * Alias for the Sizzle selector engine + * + * @method select + * @param {String} selector CSS selector to search for elements + * @param {DOMElement} [context] By default the search is done in the document element. However, you can specify an element as search context + * @param {Array} [results] By default this is considered an empty array. But if you want to merge it with other searches you did, pass their result array through here. + * @return {Array} Array of resulting DOM Elements + * @sample Ink_Dom_Selector_select.html + */ + +/** + * Filters elements that match a CSS selector. + * + * @method matches + * @param {String} selector CSS selector to search for elements + * @param {Array} matches Elements to be 'matched' with + * @return {Array} Elements that matched + * @sample Ink_Dom_Selector_matches.html + */ + +/** + * Checks if an element matches a given selector + * + * @method matchesSelector + * @param {DOMElement} element Element to test + * @param {String} selector CSS selector to test the element with + * @return {Boolean} True if element matches the CSS selector + * @sample Ink_Dom_Selector_matchesSelector.html + */ + +return { + select: Sizzle, + matches: Sizzle.matches, + matchesSelector: Sizzle.matchesSelector +}; + + +}); //( window ); + +/** + * Array Utilities + * @module Ink.Util.Array_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Array', '1', [], function() { + + 'use strict'; + + var arrayProto = Array.prototype; + + /** + * @namespace Ink.Util.Array_1 + */ + + var InkArray = { + + /** + * Checks if a value is an array + * + * @method isArray + * @param testedObject {Mixed} The object we want to check + **/ + isArray: Array.isArray || function (testedObject) { + return {}.toString.call(testedObject) === '[object Array]'; + }, + + /** + * Loops through an array, grouping similar items together. + * @method groupBy + * @param arr {Array} The input array. + * @param [options] {Object} options object, containing: + * @param [options.key] {Function} A function which computes the group key by which the items are grouped. + * @param [options.pairs] {Boolean} Set to `true` if you want to output an array of `[key, [group...]]` pairs instead of an array of groups. + * @return {Array} An array of arrays of chunks. + * + * @example + * + * InkArray.groupBy([1, 1, 2, 2, 3, 1]) // -> [ [1, 1], [2, 2], [3], [1] ] + * InkArray.groupBy([1.1, 1.2, 2.1], { key: Math.floor }) // -> [ [1.1, 1.2], [2.1] ] + * InkArray.groupBy([1.1, 1.2, 2.1], { key: Math.floor, pairs: true }) // -> [ [1, [1.1, 1.2]], [2, [2.1]] ] + * + **/ + groupBy: function (arr, options) { + options = options || {}; + var ret = []; + var latestGroup; + function eq(a, b) { + return outKey(a) === outKey(b); + } + function outKey(item) { + if (typeof options.key === 'function') { + return options.key(item); + } else { + return item; + } + } + + for (var i = 0, len = arr.length; i < len; i++) { + latestGroup = [arr[i]]; + + // Chunkin' + while ((i + 1 < len) && eq(arr[i], arr[i + 1])) { + latestGroup.push(arr[i + 1]); + i++; + } + + if (options.pairs) { + ret.push([outKey(arr[i]), latestGroup]); + } else { + ret.push(latestGroup); + } + } + return ret; + }, + + /** + * Replacement for Array.prototype.reduce. + * + * Produces a single result from a list of values by calling an "aggregator" function. + * + * Falls back to Array.prototype.reduce if available. + * + * @method reduce + * @param array {Array} Input array to be reduced. + * @param callback {Function} `function (previousValue, currentValue, index, all) { return {Mixed} }` to execute for each value. + * @param initial {Mixed} Object used as the first argument to the first call of `callback` + * + * @example + * var sum = InkArray.reduce([1, 2, 3], function (a, b) { return a + b; }); // -> 6 + */ + reduce: function (array, callback, initial) { + if (arrayProto.reduce) { + return arrayProto.reduce.apply(array, [].slice.call(arguments, 1)); + } + + // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce#Polyfill + var t = Object( array ), len = t.length >>> 0, k = 0, value; + if ( arguments.length >= 3 ) { + value = initial; + } else { + while ( k < len && !(k in t) ) k++; + if ( k >= len ) + throw new TypeError('Reduce of empty array with no initial value'); + value = t[ k++ ]; + } + for ( ; k < len ; k++ ) { + if ( k in t ) { + value = callback( value, t[k], k, t ); + } + } + return value; + }, + + /** + * Checks if a value exists in array + * + * @method inArray + * @public + * @static + * @param {Mixed} value Value to check + * @param {Array} arr Array to search in + * @return {Boolean} True if value exists in the array + * @sample Ink_Util_Array_inArray.html + */ + inArray: function(value, arr) { + if (typeof arr === 'object') { + for (var i = 0, f = arr.length; i < f; ++i) { + if (arr[i] === value) { + return true; + } + } + } + return false; + }, + + /** + * Sorts an array of objects by an object property + * + * @method sortMulti + * @param {Array} arr Array of objects to sort + * @param {String} key Property to sort by + * @return {Array|Boolean} False if it's not an array, returns a sorted array if it's an array. + * @public + * @static + * @sample Ink_Util_Array_sortMulti.html + */ + sortMulti: function(arr, key) { + if (typeof arr === 'undefined' || arr.constructor !== Array) { return false; } + if (typeof key !== 'string') { return arr.sort(); } + if (arr.length > 0) { + if (typeof(arr[0][key]) === 'undefined') { return false; } + arr.sort(function(a, b){ + var x = a[key]; + var y = b[key]; + return ((x < y) ? -1 : ((x > y) ? 1 : 0)); + }); + } + return arr; + }, + + /** + * Gets the indexes of a value in an array + * + * @method keyValue + * @param {String} value Value to search for. + * @param {Array} arr Array to run the search in. + * @param {Boolean} [first] Flag to stop the search at the first match. It also returns an index number instead of an array of indexes. + * @return {Boolean|Number|Array} False for no matches. Array of matches or first match index. + * @public + * @static + * @sample Ink_Util_Array_keyValue.html + */ + keyValue: function(value, arr, first) { + if (typeof value !== 'undefined' && typeof arr === 'object' && this.inArray(value, arr)) { + var aKeys = []; + for (var i = 0, f = arr.length; i < f; ++i) { + if (arr[i] === value) { + if (typeof first !== 'undefined' && first === true) { + return i; + } else { + aKeys.push(i); + } + } + } + return aKeys; + } + return false; + }, + + /** + * Shuffles an array. + * + * @method shuffle + * @param {Array} arr Array to shuffle + * @return {Array|Boolean} Shuffled Array or false if not an array. + * @public + * @static + * @sample Ink_Util_Array_shuffle.html + */ + shuffle: function(arr) { + if (typeof(arr) !== 'undefined' && arr.constructor !== Array) { return false; } + var total = arr.length, + tmp1 = false, + rnd = false; + + while (total--) { + rnd = Math.floor(Math.random() * (total + 1)); + tmp1 = arr[total]; + arr[total] = arr[rnd]; + arr[rnd] = tmp1; + } + return arr; + }, + + /** + * Runs a function through each of the elements of an array + * + * @method forEach + * @param {Array} arr The array to be cycled/iterated + * @param {Function} cb The function receives as arguments the value, index and array. + * @return {Array} Iterated array. + * @public + * @static + * @sample Ink_Util_Array_forEach.html + */ + forEach: function(array, callback, context) { + if (arrayProto.forEach) { + return arrayProto.forEach.call(array, callback, context); + } + for (var i = 0, len = array.length >>> 0; i < len; i++) { + callback.call(context, array[i], i, array); + } + }, + + /** + * Alias for backwards compatibility. See forEach + * + * @method each + */ + each: function () { + InkArray.forEach.apply(InkArray, [].slice.call(arguments)); + }, + + /** + * Runs a function for each item in the array. + * That function will receive each item as an argument and its return value will change the corresponding array item. + * @method map + * @param {Array} array The array to map over + * @param {Function} map The map function. Will take `(item, index, array)` as arguments and `this` will be the `context` argument. + * @param {Object} [context] Object to be `this` in the map function. + * + * @sample Ink_Util_Array_map.html + */ + map: function (array, callback, context) { + if (arrayProto.map) { + return arrayProto.map.call(array, callback, context); + } + var mapped = new Array(len); + for (var i = 0, len = array.length >>> 0; i < len; i++) { + mapped[i] = callback.call(context, array[i], i, array); + } + return mapped; + }, + + /** + * Filters an array based on a truth test. + * This method runs a test function on all the array values and returns a new array with all the values that pass the test. + * @method filter + * @param {Array} array The array to filter + * @param {Function} test A test function taking `(item, index, array)` + * @param {Object} [context] Object to be `this` in the test function. + * @return {Array} Returns the filtered array + * + * @sample Ink_Util_Array_filter.html + */ + filter: function (array, test, context) { + if (arrayProto.filter) { + return arrayProto.filter.call(array, test, context); + } + var filtered = [], + val = null; + for (var i = 0, len = array.length; i < len; i++) { + val = array[i]; // it might be mutated + if (test.call(context, val, i, array)) { + filtered.push(val); + } + } + return filtered; + }, + + /** + * Checks if some element in the array passes a truth test + * + * @method some + * @param {Array} arr The array to iterate through + * @param {Function} cb The callback to be called on the array's elements. It receives the value, the index and the array as arguments. + * @param {Object} context Object of the callback function + * @return {Boolean} True if the callback returns true at any point, false otherwise + * @public + * @static + * @sample Ink_Util_Array_some.html + */ + some: function(arr, cb, context){ + + if (arr === null){ + throw new TypeError('First argument is invalid.'); + } + + var t = Object(arr); + var len = t.length >>> 0; + if (typeof cb !== "function"){ throw new TypeError('Second argument must be a function.'); } + + for (var i = 0; i < len; i++) { + if (i in t && cb.call(context, t[i], i, t)){ return true; } + } + + return false; + }, + + /** + * Compares the values of two arrays and return the matches + * + * @method intersect + * @param {Array} arr1 First array + * @param {Array} arr2 Second array + * @return {Array} Empty array if one of the arrays is false (or do not intersect) | Array with the intersected values + * @public + * @static + * @sample Ink_Util_Array_intersect.html + */ + intersect: function(arr1, arr2) { + if (!arr1 || !arr2 || arr1 instanceof Array === false || arr2 instanceof Array === false) { + return []; + } + + var shared = []; + for (var i = 0, I = arr1.length; i 0) { + for (x = a; x < b; x += step) { + r.push(x); + } + } else { + for (x = a; x > b; x += step) { + r.push(x); + } + } + + return r; + }, + + /** + * Inserts a value on a specified index + * + * @method insert + * @param {Array} arr Array where the value will be inserted + * @param {Number} idx Index of the array where the value should be inserted + * @param {Mixed} value Value to be inserted + * @public + * @static + * @sample Ink_Util_Array_insert.html + */ + insert: function(arr, idx, value) { + arr.splice(idx, 0, value); + }, + + /** + * Removes a range of values from the array + * + * @method remove + * @param {Array} arr Array where the value will be removed + * @param {Number} from Index of the array where the removal will start removing. + * @param {Number} rLen Number of items to be removed from the index onwards. + * @return {Array} An array with the remaining values + * @public + * @static + * @sample Ink_Util_Array_remove.html + */ + remove: function(arr, from, rLen){ + var output = []; + + for(var i = 0, iLen = arr.length; i < iLen; i++){ + if(i >= from && i < from + rLen){ + continue; + } + + output.push(arr[i]); + } + + return output; + } + }; + + return InkArray; + +}); + +/** + * Binary Packing algorithm implementation + * @module Ink.Util.BinPack_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.BinPack', '1', [], function() { + + 'use strict'; + + /*jshint boss:true */ + + // https://github.com/jakesgordon/bin-packing/ + + /* + Copyright (c) 2011, 2012, 2013 Jake Gordon and contributors + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + */ + + + + var Packer = function(w, h) { + this.init(w, h); + }; + + Packer.prototype = { + + init: function(w, h) { + this.root = { x: 0, y: 0, w: w, h: h }; + }, + + fit: function(blocks) { + var n, node, block; + for (n = 0; n < blocks.length; ++n) { + block = blocks[n]; + if (node = this.findNode(this.root, block.w, block.h)) { + block.fit = this.splitNode(node, block.w, block.h); + } + } + }, + + findNode: function(root, w, h) { + if (root.used) { + return this.findNode(root.right, w, h) || this.findNode(root.down, w, h); + } + else if ((w <= root.w) && (h <= root.h)) { + return root; + } + else { + return null; + } + }, + + splitNode: function(node, w, h) { + node.used = true; + node.down = { x: node.x, y: node.y + h, w: node.w, h: node.h - h }; + node.right = { x: node.x + w, y: node.y, w: node.w - w, h: h }; + return node; + } + + }; + + + + var GrowingPacker = function() {}; + + GrowingPacker.prototype = { + + fit: function(blocks) { + var n, node, block, len = blocks.length; + var w = len > 0 ? blocks[0].w : 0; + var h = len > 0 ? blocks[0].h : 0; + this.root = { x: 0, y: 0, w: w, h: h }; + for (n = 0; n < len ; n++) { + block = blocks[n]; + if (node = this.findNode(this.root, block.w, block.h)) { + block.fit = this.splitNode(node, block.w, block.h); + } + else { + block.fit = this.growNode(block.w, block.h); + } + } + }, + + findNode: function(root, w, h) { + if (root.used) { + return this.findNode(root.right, w, h) || this.findNode(root.down, w, h); + } + else if ((w <= root.w) && (h <= root.h)) { + return root; + } + else { + return null; + } + }, + + splitNode: function(node, w, h) { + node.used = true; + node.down = { x: node.x, y: node.y + h, w: node.w, h: node.h - h }; + node.right = { x: node.x + w, y: node.y, w: node.w - w, h: h }; + return node; + }, + + growNode: function(w, h) { + var canGrowDown = (w <= this.root.w); + var canGrowRight = (h <= this.root.h); + + var shouldGrowRight = canGrowRight && (this.root.h >= (this.root.w + w)); // attempt to keep square-ish by growing right when height is much greater than width + var shouldGrowDown = canGrowDown && (this.root.w >= (this.root.h + h)); // attempt to keep square-ish by growing down when width is much greater than height + + if (shouldGrowRight) { + return this.growRight(w, h); + } + else if (shouldGrowDown) { + return this.growDown(w, h); + } + else if (canGrowRight) { + return this.growRight(w, h); + } + else if (canGrowDown) { + return this.growDown(w, h); + } + else { + return null; // need to ensure sensible root starting size to avoid this happening + } + }, + + growRight: function(w, h) { + this.root = { + used: true, + x: 0, + y: 0, + w: this.root.w + w, + h: this.root.h, + down: this.root, + right: { x: this.root.w, y: 0, w: w, h: this.root.h } + }; + var node; + if (node = this.findNode(this.root, w, h)) { + return this.splitNode(node, w, h); + } + else { + return null; + } + }, + + growDown: function(w, h) { + this.root = { + used: true, + x: 0, + y: 0, + w: this.root.w, + h: this.root.h + h, + down: { x: 0, y: this.root.h, w: this.root.w, h: h }, + right: this.root + }; + var node; + if (node = this.findNode(this.root, w, h)) { + return this.splitNode(node, w, h); + } + else { + return null; + } + } + + }; + + + + var sorts = { + random: function() { return Math.random() - 0.5; }, + w: function(a, b) { return b.w - a.w; }, + h: function(a, b) { return b.h - a.h; }, + a: function(a, b) { return b.area - a.area; }, + max: function(a, b) { return Math.max(b.w, b.h) - Math.max(a.w, a.h); }, + min: function(a, b) { return Math.min(b.w, b.h) - Math.min(a.w, a.h); }, + height: function(a, b) { return sorts.msort(a, b, ['h', 'w']); }, + width: function(a, b) { return sorts.msort(a, b, ['w', 'h']); }, + area: function(a, b) { return sorts.msort(a, b, ['a', 'h', 'w']); }, + maxside: function(a, b) { return sorts.msort(a, b, ['max', 'min', 'h', 'w']); }, + msort: function(a, b, criteria) { /* sort by multiple criteria */ + var diff, n; + for (n = 0; n < criteria.length; ++n) { + diff = sorts[ criteria[n] ](a, b); + if (diff !== 0) { + return diff; + } + } + return 0; + } + }; + + + + // end of Jake's code + + + + // aux, used to display blocks in unfitted property + var toString = function() { + return [this.w, ' x ', this.h].join(''); + }; + + + + /** + * Binary Packing algorithm implementation + * + * Based on the work of Jake Gordon + * + * see https://github.com/jakesgordon/bin-packing/ + * + * @namespace Ink.Util.BinPack + * @version 1 + * @static + */ + var BinPack = { + + /** + * @method binPack + * @param {Object} o Options + * @param {Array} o.blocks Array of items with width and height integer attributes. + * @param {Array} [o.dimensions] Flag to fix container dimensions + * @param {String} [o.sorter] Sorting function. One of: random, height, width, area, maxside + * @return {Object} Returns an object containing container dimensions, filled ratio, fitted blocks, unfitted blocks and all blocks + * @static + */ + binPack: function(o) { + var i, f, bl; + + + + // calculate area if not there already + for (i = 0, f = o.blocks.length; i < f; ++i) { + bl = o.blocks[i]; + if (! ('area' in bl) ) { + bl.area = bl.w * bl.h; + } + } + + + + // apply algorithm + var packer = o.dimensions ? new Packer(o.dimensions[0], o.dimensions[1]) : new GrowingPacker(); + + if (!o.sorter) { o.sorter = 'maxside'; } + + o.blocks.sort( sorts[ o.sorter ] ); + + packer.fit(o.blocks); + + var dims2 = [packer.root.w, packer.root.h]; + + + + // layout is done here, generating report data... + var fitted = []; + var unfitted = []; + + for (i = 0, f = o.blocks.length; i < f; ++i) { + bl = o.blocks[i]; + if (bl.fit) { + fitted.push(bl); + } + else { + bl.toString = toString; // TO AID SERIALIZATION + unfitted.push(bl); + } + } + + var area = dims2[0] * dims2[1]; + var fit = 0; + for (i = 0, f = fitted.length; i < f; ++i) { + bl = fitted[i]; + fit += bl.area; + } + + return { + dimensions: dims2, + filled: fit / area, + blocks: o.blocks, + fitted: fitted, + unfitted: unfitted + }; + } + }; + + + + return BinPack; + +}); +/** + * Cookie Utilities + * @module Ink.Util.Cookie_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Cookie', '1', [], function() { + + 'use strict'; + + /** + * @namespace Ink.Util.Cookie_1 + */ + var Cookie = { + + /** + * Gets an object with the current page cookies. + * + * @method get + * @param {String} name The cookie name. + * @return {String|Object} If the name is specified, it returns the value of that key. Otherwise it returns the full cookie object + * @public + * @static + * @sample Ink_Util_Cookie_get.html + */ + get: function(name) + { + var cookie = document.cookie || false; + + var _Cookie = {}; + if(cookie) { + cookie = cookie.replace(new RegExp("; ", "g"), ';'); + var aCookie = cookie.split(';'); + var aItem = []; + if(aCookie.length > 0) { + for(var i=0; i < aCookie.length; i++) { + aItem = aCookie[i].split('='); + if(aItem.length === 2) { + _Cookie[aItem[0]] = decodeURIComponent(aItem[1]); + } + aItem = []; + } + } + } + if(name) { + if(typeof(_Cookie[name]) !== 'undefined') { + return _Cookie[name]; + } else { + return null; + } + } + return _Cookie; + }, + + /** + * Sets a cookie. + * + * @method set + * @param {String} name Cookie name. + * @param {String} value Cookie value. + * @param {Number} [expires] Number of seconds the cookie will be valid for. + * @param {String} [path] Path for the cookie. Defaults to '/'. + * @param {String} [domain] Domain for the cookie. Defaults to current hostname. + * @param {Boolean} [secure] Flag for secure. Default 'false'. + * @public + * @static + * @sample Ink_Util_Cookie_set.html + */ + set: function(name, value, expires, path, domain, secure) + { + var sName; + if(!name || value===false || typeof(name) === 'undefined' || typeof(value) === 'undefined') { + return false; + } else { + sName = name+'='+encodeURIComponent(value); + } + var sExpires = false; + var sPath = false; + var sDomain = false; + var sSecure = false; + + if(expires && typeof(expires) !== 'undefined' && !isNaN(expires)) { + var oDate = new Date(); + var sDate = (parseInt(Number(oDate.valueOf()), 10) + (Number(parseInt(expires, 10)) * 1000)); + + var nDate = new Date(sDate); + var expiresString = nDate.toGMTString(); + + var re = new RegExp("([^\\s]+)(\\s\\d\\d)\\s(\\w\\w\\w)\\s(.*)"); + expiresString = expiresString.replace(re, "$1$2-$3-$4"); + + sExpires = 'expires='+expiresString; + } else { + if(typeof(expires) !== 'undefined' && !isNaN(expires) && Number(parseInt(expires, 10))===0) { + sExpires = ''; + } else { + sExpires = 'expires=Thu, 01-Jan-2037 00:00:01 GMT'; + } + } + + if(path && typeof(path) !== 'undefined') { + sPath = 'path='+path; + } else { + sPath = 'path=/'; + } + + if(domain && typeof(domain) !== 'undefined') { + sDomain = 'domain='+domain; + } else { + var portClean = new RegExp(":(.*)"); + sDomain = 'domain='+window.location.host; + sDomain = sDomain.replace(portClean,""); + } + + if(secure && typeof(secure) !== 'undefined') { + sSecure = secure; + } else { + sSecure = false; + } + + document.cookie = sName+'; '+sExpires+'; '+sPath+'; '+sDomain+'; '+sSecure; + }, + + /** + * Deletes a cookie. + * + * @method remove + * @param {String} cookieName Cookie name. + * @param {String} [path] Path of the cookie. Defaults to '/'. + * @param {String} [domain] Domain of the cookie. Defaults to current hostname. + * @public + * @static + * @sample Ink_Util_Cookie_remove.html + */ + remove: function(cookieName, path, domain) + { + //var expiresDate = 'Thu, 01-Jan-1970 00:00:01 GMT'; + var sPath = false; + var sDomain = false; + var expiresDate = -999999999; + + if(path && typeof(path) !== 'undefined') { + sPath = path; + } else { + sPath = '/'; + } + + if(domain && typeof(domain) !== 'undefined') { + sDomain = domain; + } else { + sDomain = window.location.host; + } + + this.set(cookieName, 'deleted', expiresDate, sPath, sDomain); + } + }; + + return Cookie; + +}); + +/** + * Date utility functions + * @module Ink.Util.Date_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Date', '1', [], function() { + + 'use strict'; + + /** + * @namespace Ink.Util.Date_1 + */ + var InkDate = { + + /** + * Function that returns the string representation of the month [PT only] + * + * @method _months + * @param {Number} index Month javascript (0 to 11) + * @return {String} The month's name + * @private + * @static + * @example + * console.log( InkDate._months(0) ); // Result: Janeiro + */ + _months: function(index){ + var _m = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']; + return _m[index]; + }, + + /** + * Function that returns the month [PT only] ( 0 to 11 ) + * + * @method _iMonth + * @param {String} month Month javascript (0 to 11) + * @return {Number} The month's number + * @private + * @static + * @example + * console.log( InkDate._iMonth('maio') ); // Result: 4 + */ + _iMonth : function( month ) + { + if ( Number( month ) ) { return +month - 1; } + return { + 'janeiro' : 0 , + 'jan' : 0 , + 'fevereiro' : 1 , + 'fev' : 1 , + 'março' : 2 , + 'mar' : 2 , + 'abril' : 3 , + 'abr' : 3 , + 'maio' : 4 , + 'mai' : 4 , + 'junho' : 5 , + 'jun' : 5 , + 'julho' : 6 , + 'jul' : 6 , + 'agosto' : 7 , + 'ago' : 7 , + 'setembro' : 8 , + 'set' : 8 , + 'outubro' : 9 , + 'out' : 9 , + 'novembro' : 10 , + 'nov' : 10 , + 'dezembro' : 11 , + 'dez' : 11 + }[ month.toLowerCase( ) ]; + } , + + /** + * Function that returns the representation the day of the week [PT Only] + * + * @method _wDays + * @param {Number} index Week's day index + * @return {String} The week's day name + * @private + * @static + * @example + * console.log( InkDate._wDays(0) ); // Result: Domingo + */ + _wDays: function(index){ + var _d = ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado']; + return _d[index]; + }, + + /** + * Function that returns day of the week in javascript 1 to 7 + * + * @method _iWeek + * @param {String} week Week's day name + * @return {Number} The week's day index + * @private + * @static + * @example + * console.log( InkDate._iWeek('quarta') ); // Result: 3 + */ + _iWeek: function( week ) + { + if ( Number( week ) ) { return +week || 7; } + return { + 'segunda' : 1 , + 'seg' : 1 , + 'terça' : 2 , + 'ter' : 2 , + 'quarta' : 3 , + 'qua' : 3 , + 'quinta' : 4 , + 'qui' : 4 , + 'sexta' : 5 , + 'sex' : 5 , + 'sábado' : 6 , + 'sáb' : 6 , + 'domingo' : 7 , + 'dom' : 7 + }[ week.toLowerCase( ) ]; + }, + + /** + * Function that returns the number of days of a given month (m) on a given year (y) + * + * @method _daysInMonth + * @param {Number} _m Month + * @param {Number} _y Year + * @return {Number} Number of days of a give month on a given year + * @private + * @static + * @example + * console.log( InkDate._daysInMonth(2,2013) ); // Result: 28 + */ + _daysInMonth: function(_m,_y){ + var nDays; + + if(_m===1 || _m===3 || _m===5 || _m===7 || _m===8 || _m===10 || _m===12) + { + nDays= 31; + } + else if ( _m===4 || _m===6 || _m===9 || _m===11) + { + nDays = 30; + } + else + { + if((_y%400===0) || (_y%4===0 && _y%100!==0)) + { + nDays = 29; + } + else + { + nDays = 28; + } + } + return nDays; + }, + + /** + * Formats a date object. + * This works exactly as php date() function. http://php.net/manual/en/function.date.php + * + * @method get + * @param {String} format The format in which the date it will be formatted. + * @param {Date} [_date] The date to format. Can receive unix timestamp or a date object. Defaults to current time. + * @return {String} Formatted date + * @public + * @static + * @sample Ink_Util_Date_get.html + */ + get: function(format, _date){ + /*jshint maxcomplexity:65 */ + if(typeof(format) === 'undefined' || format === ''){ + format = "Y-m-d"; + } + + + var iFormat = format.split(""); + var result = new Array(iFormat.length); + var escapeChar = "\\"; + var jsDate; + + if (typeof(_date) === 'undefined'){ + jsDate = new Date(); + } else if (typeof(_date)==='number'){ + jsDate = new Date(_date*1000); + } else { + jsDate = new Date(_date); + } + + var jsFirstDay, jsThisDay, jsHour; + /* This switch is presented in the same order as in php date function (PHP 5.2.2) */ + for (var i = 0; i < iFormat.length; i++) { + switch(iFormat[i]) { + case escapeChar: + result[i] = iFormat[i+1]; + i++; + break; + + + /* DAY */ + case "d": /* Day of the month, 2 digits with leading zeros; ex: 01 to 31 */ + var jsDay = jsDate.getDate(); + result[i] = (String(jsDay).length > 1) ? jsDay : "0" + jsDay; + break; + + case "D": /* A textual representation of a day, three letters; Seg to Dom */ + result[i] = this._wDays(jsDate.getDay()).substring(0, 3); + break; + + case "j": /* Day of the month without leading zeros; ex: 1 to 31 */ + result[i] = jsDate.getDate(); + break; + + case "l": /* A full textual representation of the day of the week; Domingo to Sabado */ + result[i] = this._wDays(jsDate.getDay()); + break; + + case "N": /* ISO-8601 numeric representation of the day of the week; 1 (Segunda) to 7 (Domingo) */ + result[i] = jsDate.getDay() || 7; + break; + + case "S": /* English ordinal suffix for the day of the month, 2 characters; st, nd, rd or th. Works well with j */ + var temp = jsDate.getDate(); + var suffixes = ["st", "nd", "rd"]; + var suffix = ""; + + if (temp >= 11 && temp <= 13) { + result[i] = "th"; + } else { + result[i] = (suffix = suffixes[String(temp).substr(-1) - 1]) ? (suffix) : ("th"); + } + break; + + case "w": /* Numeric representation of the day of the week; 0 (for Sunday) through 6 (for Saturday) */ + result[i] = jsDate.getDay(); + break; + + case "z": /* The day of the year (starting from 0); 0 to 365 */ + jsFirstDay = Date.UTC(jsDate.getFullYear(), 0, 0); + jsThisDay = Date.UTC(jsDate.getFullYear(), jsDate.getMonth(), jsDate.getDate()); + result[i] = Math.floor((jsThisDay - jsFirstDay) / (1000 * 60 * 60 * 24)); + break; + + /* WEEK */ + case "W": /* ISO-8601 week number of year, weeks starting on Monday; ex: 42 (the 42nd week in the year) */ + var jsYearStart = new Date( jsDate.getFullYear( ) , 0 , 1 ); + jsFirstDay = jsYearStart.getDay() || 7; + + var days = Math.floor( ( jsDate - jsYearStart ) / ( 24 * 60 * 60 * 1000 ) + 1 ); + + result[ i ] = Math.ceil( ( days - ( 8 - jsFirstDay ) ) / 7 ) + 1; + break; + + + /* MONTH */ + case "F": /* A full textual representation of a month, such as Janeiro or Marco; Janeiro a Dezembro */ + result[i] = this._months(jsDate.getMonth()); + break; + + case "m": /* Numeric representation of a month, with leading zeros; 01 to 12 */ + var jsMonth = String(jsDate.getMonth() + 1); + result[i] = (jsMonth.length > 1) ? jsMonth : "0" + jsMonth; + break; + + case "M": /* A short textual representation of a month, three letters; Jan a Dez */ + result[i] = this._months(jsDate.getMonth()).substring(0,3); + break; + + case "n": /* Numeric representation of a month, without leading zeros; 1 a 12 */ + result[i] = jsDate.getMonth() + 1; + break; + + case "t": /* Number of days in the given month; ex: 28 */ + result[i] = this._daysInMonth(jsDate.getMonth()+1,jsDate.getYear()); + break; + + /* YEAR */ + case "L": /* Whether it's a leap year; 1 if it is a leap year, 0 otherwise. */ + var jsYear = jsDate.getFullYear(); + result[i] = (jsYear % 4) ? false : ( (jsYear % 100) ? true : ( (jsYear % 400) ? false : true ) ); + break; + + case "o": /* ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. */ + throw '"o" not implemented!'; + + case "Y": /* A full numeric representation of a year, 4 digits; 1999 */ + result[i] = jsDate.getFullYear(); + break; + + case "y": /* A two digit representation of a year; 99 */ + result[i] = String(jsDate.getFullYear()).substring(2); + break; + + /* TIME */ + case "a": /* Lowercase Ante meridiem and Post meridiem; am or pm */ + result[i] = (jsDate.getHours() < 12) ? "am" : "pm"; + break; + + case "A": /* Uppercase Ante meridiem and Post meridiem; AM or PM */ + result[i] = (jsDate.getHours < 12) ? "AM" : "PM"; + break; + + case "B": /* Swatch Internet time; 000 through 999 */ + throw '"B" not implemented!'; + + case "g": /* 12-hour format of an hour without leading zeros; 1 to 12 */ + jsHour = jsDate.getHours(); + result[i] = (jsHour <= 12) ? jsHour : (jsHour - 12); + break; + + case "G": /* 24-hour format of an hour without leading zeros; 1 to 23 */ + result[i] = String(jsDate.getHours()); + break; + + case "h": /* 12-hour format of an hour with leading zeros; 01 to 12 */ + jsHour = String(jsDate.getHours()); + jsHour = (jsHour <= 12) ? jsHour : (jsHour - 12); + result[i] = (jsHour.length > 1) ? jsHour : "0" + jsHour; + break; + + case "H": /* 24-hour format of an hour with leading zeros; 01 to 24 */ + jsHour = String(jsDate.getHours()); + result[i] = (jsHour.length > 1) ? jsHour : "0" + jsHour; + break; + + case "i": /* Minutes with leading zeros; 00 to 59 */ + var jsMinute = String(jsDate.getMinutes()); + result[i] = (jsMinute.length > 1) ? jsMinute : "0" + jsMinute; + break; + + case "s": /* Seconds with leading zeros; 00 to 59; */ + var jsSecond = String(jsDate.getSeconds()); + result[i] = (jsSecond.length > 1) ? jsSecond : "0" + jsSecond; + break; + + case "u": /* Microseconds */ + throw '"u" not implemented!'; + + + /* TIMEZONE */ + + case "e": /* Timezone identifier */ + throw '"e" not implemented!'; + + case "I": /* "1" if Daylight Savings Time, "0" otherwise. Works only on the northern hemisphere */ + jsFirstDay = new Date(jsDate.getFullYear(), 0, 1); + result[i] = (jsDate.getTimezoneOffset() !== jsFirstDay.getTimezoneOffset()) ? (1) : (0); + break; + + case "O": /* Difference to Greenwich time (GMT) in hours */ + var jsMinZone = jsDate.getTimezoneOffset(); + var jsMinutes = jsMinZone % 60; + jsHour = String(((jsMinZone - jsMinutes) / 60) * -1); + + if (jsHour.charAt(0) !== "-") { + jsHour = "+" + jsHour; + } + + jsHour = (jsHour.length === 3) ? (jsHour) : (jsHour.replace(/([+\-])(\d)/, "$1" + 0 + "$2")); + result[i] = jsHour + jsMinutes + "0"; + break; + + case "P": /* Difference to Greenwich time (GMT) with colon between hours and minutes */ + throw '"P" not implemented!'; + + case "T": /* Timezone abbreviation */ + throw '"T" not implemented!'; + + case "Z": /* Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. */ + result[i] = jsDate.getTimezoneOffset() * 60; + break; + + + /* FULL DATE/TIME */ + + case "c": /* ISO 8601 date */ + throw '"c" not implemented!'; + + case "r": /* RFC 2822 formatted date */ + var jsDayName = this._wDays(jsDate.getDay()).substr(0, 3); + var jsMonthName = this._months(jsDate.getMonth()).substr(0, 3); + result[i] = jsDayName + ", " + jsDate.getDate() + " " + jsMonthName + this.get(" Y H:i:s O",jsDate); + break; + + case "U": /* Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) */ + result[i] = Math.floor(jsDate.getTime() / 1000); + break; + + default: + result[i] = iFormat[i]; + } + } + + return result.join(''); + + }, + + /** + * Creates a date object based on a format string. + * This works exactly as php date() function. http://php.net/manual/en/function.date.php + * + * @method set + * @param {String} [format] The format in which the date will be formatted. Defaults to 'Y-m-d' + * @param {String} str_date The date formatted. + * @return {Date} Date object based on the formatted date and format + * @public + * @static + * @sample Ink_Util_Date_set.html + */ + set : function( format , str_date ) { + if ( typeof str_date === 'undefined' ) { return ; } + if ( typeof format === 'undefined' || format === '' ) { format = "Y-m-d"; } + + var iFormat = format.split(""); + var result = new Array( iFormat.length ); + var escapeChar = "\\"; + var mList; + + var objIndex = { + year : undefined , + month : undefined , + day : undefined , + dayY : undefined , + dayW : undefined , + week : undefined , + hour : undefined , + hourD : undefined , + min : undefined , + sec : undefined , + msec : undefined , + ampm : undefined , + diffM : undefined , + diffH : undefined , + date : undefined + }; + + var matches = 0; + + /* This switch is presented in the same order as in php date function (PHP 5.2.2) */ + for ( var i = 0; i < iFormat.length; i++) { + switch( iFormat[ i ] ) { + case escapeChar: + result[i] = iFormat[ i + 1 ]; + i++; + break; + + /* DAY */ + case "d": /* Day of the month, 2 digits with leading zeros; ex: 01 to 31 */ + result[ i ] = '(\\d{2})'; + objIndex.day = { original : i , match : matches++ }; + break; + + case "j": /* Day of the month without leading zeros; ex: 1 to 31 */ + result[ i ] = '(\\d{1,2})'; + objIndex.day = { original : i , match : matches++ }; + break; + + case "D": /* A textual representation of a day, three letters; Seg to Dom */ + result[ i ] = '([\\wá]{3})'; + objIndex.dayW = { original : i , match : matches++ }; + break; + + case "l": /* A full textual representation of the day of the week; Domingo to Sabado */ + result[i] = '([\\wá]{5,7})'; + objIndex.dayW = { original : i , match : matches++ }; + break; + + case "N": /* ISO-8601 numeric representation of the day of the week; 1 (Segunda) to 7 (Domingo) */ + result[ i ] = '(\\d)'; + objIndex.dayW = { original : i , match : matches++ }; + break; + + case "w": /* Numeric representation of the day of the week; 0 (for Sunday) through 6 (for Saturday) */ + result[ i ] = '(\\d)'; + objIndex.dayW = { original : i , match : matches++ }; + break; + + case "S": /* English ordinal suffix for the day of the month, 2 characters; st, nd, rd or th. Works well with j */ + result[ i ] = '\\w{2}'; + break; + + case "z": /* The day of the year (starting from 0); 0 to 365 */ + result[ i ] = '(\\d{1,3})'; + objIndex.dayY = { original : i , match : matches++ }; + break; + + /* WEEK */ + case "W": /* ISO-8601 week number of year, weeks starting on Monday; ex: 42 (the 42nd week in the year) */ + result[ i ] = '(\\d{1,2})'; + objIndex.week = { original : i , match : matches++ }; + break; + + /* MONTH */ + case "F": /* A full textual representation of a month, such as Janeiro or Marco; Janeiro a Dezembro */ + result[ i ] = '([\\wç]{4,9})'; + objIndex.month = { original : i , match : matches++ }; + break; + + case "M": /* A short textual representation of a month, three letters; Jan a Dez */ + result[ i ] = '(\\w{3})'; + objIndex.month = { original : i , match : matches++ }; + break; + + case "m": /* Numeric representation of a month, with leading zeros; 01 to 12 */ + result[ i ] = '(\\d{2})'; + objIndex.month = { original : i , match : matches++ }; + break; + + case "n": /* Numeric representation of a month, without leading zeros; 1 a 12 */ + result[ i ] = '(\\d{1,2})'; + objIndex.month = { original : i , match : matches++ }; + break; + + case "t": /* Number of days in the given month; ex: 28 */ + result[ i ] = '\\d{2}'; + break; + + /* YEAR */ + case "L": /* Whether it's a leap year; 1 if it is a leap year, 0 otherwise. */ + result[ i ] = '\\w{4,5}'; + break; + + case "o": /* ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. */ + throw '"o" not implemented!'; + + case "Y": /* A full numeric representation of a year, 4 digits; 1999 */ + result[ i ] = '(\\d{4})'; + objIndex.year = { original : i , match : matches++ }; + break; + + case "y": /* A two digit representation of a year; 99 */ + result[ i ] = '(\\d{2})'; + if ( typeof objIndex.year === 'undefined' || iFormat[ objIndex.year.original ] !== 'Y' ) { + objIndex.year = { original : i , match : matches++ }; + } + break; + + /* TIME */ + case "a": /* Lowercase Ante meridiem and Post meridiem; am or pm */ + result[ i ] = '(am|pm)'; + objIndex.ampm = { original : i , match : matches++ }; + break; + + case "A": /* Uppercase Ante meridiem and Post meridiem; AM or PM */ + result[ i ] = '(AM|PM)'; + objIndex.ampm = { original : i , match : matches++ }; + break; + + case "B": /* Swatch Internet time; 000 through 999 */ + throw '"B" not implemented!'; + + case "g": /* 12-hour format of an hour without leading zeros; 1 to 12 */ + result[ i ] = '(\\d{1,2})'; + objIndex.hourD = { original : i , match : matches++ }; + break; + + case "G": /* 24-hour format of an hour without leading zeros; 1 to 23 */ + result[ i ] = '(\\d{1,2})'; + objIndex.hour = { original : i , match : matches++ }; + break; + + case "h": /* 12-hour format of an hour with leading zeros; 01 to 12 */ + result[ i ] = '(\\d{2})'; + objIndex.hourD = { original : i , match : matches++ }; + break; + + case "H": /* 24-hour format of an hour with leading zeros; 01 to 24 */ + result[ i ] = '(\\d{2})'; + objIndex.hour = { original : i , match : matches++ }; + break; + + case "i": /* Minutes with leading zeros; 00 to 59 */ + result[ i ] = '(\\d{2})'; + objIndex.min = { original : i , match : matches++ }; + break; + + case "s": /* Seconds with leading zeros; 00 to 59; */ + result[ i ] = '(\\d{2})'; + objIndex.sec = { original : i , match : matches++ }; + break; + + case "u": /* Microseconds */ + throw '"u" not implemented!'; + + /* TIMEZONE */ + case "e": /* Timezone identifier */ + throw '"e" not implemented!'; + + case "I": /* "1" if Daylight Savings Time, "0" otherwise. Works only on the northern hemisphere */ + result[i] = '\\d'; + break; + + case "O": /* Difference to Greenwich time (GMT) in hours */ + result[ i ] = '([-+]\\d{4})'; + objIndex.diffH = { original : i , match : matches++ }; + break; + + case "P": /* Difference to Greenwich time (GMT) with colon between hours and minutes */ + throw '"P" not implemented!'; + + case "T": /* Timezone abbreviation */ + throw '"T" not implemented!'; + + case "Z": /* Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. */ + result[ i ] = '(\\-?\\d{1,5})'; + objIndex.diffM = { original : i , match : matches++ }; + break; + + /* FULL DATE/TIME */ + case "c": /* ISO 8601 date */ + throw '"c" not implemented!'; + + case "r": /* RFC 2822 formatted date */ + result[ i ] = '([\\wá]{3}, \\d{1,2} \\w{3} \\d{4} \\d{2}:\\d{2}:\\d{2} [+\\-]\\d{4})'; + objIndex.date = { original : i , match : matches++ }; + break; + + case "U": /* Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) */ + result[ i ] = '(\\d{1,13})'; + objIndex.date = { original : i , match : matches++ }; + break; + + default: + result[ i ] = iFormat[ i ]; + } + } + + var pattr = new RegExp( result.join('') ); + + try { + mList = str_date.match( pattr ); + if ( !mList ) { return; } + } + catch ( e ) { return ; } + + var _haveDatetime = typeof objIndex.date !== 'undefined'; + + var _haveYear = typeof objIndex.year !== 'undefined'; + + var _haveYDay = typeof objIndex.dayY !== 'undefined'; + + var _haveDay = typeof objIndex.day !== 'undefined'; + var _haveMonth = typeof objIndex.month !== 'undefined'; + var _haveMonthDay = _haveMonth && _haveDay; + var _haveOnlyDay = !_haveMonth && _haveDay; + + var _haveWDay = typeof objIndex.dayW !== 'undefined'; + var _haveWeek = typeof objIndex.week !== 'undefined'; + var _haveWeekWDay = _haveWeek && _haveWDay; + var _haveOnlyWDay = !_haveWeek && _haveWDay; + + var _validDate = _haveYDay || _haveMonthDay || !_haveYear && _haveOnlyDay || _haveWeekWDay || !_haveYear && _haveOnlyWDay; + var _noDate = !_haveYear && !_haveYDay && !_haveDay && !_haveMonth && !_haveWDay && !_haveWeek; + + var _haveHour12 = typeof objIndex.hourD !== 'undefined' && typeof objIndex.ampm !== 'undefined'; + var _haveHour24 = typeof objIndex.hour !== 'undefined'; + var _haveHour = _haveHour12 || _haveHour24; + + var _haveMin = typeof objIndex.min !== 'undefined'; + var _haveSec = typeof objIndex.sec !== 'undefined'; + var _haveMSec = typeof objIndex.msec !== 'undefined'; + + var _haveMoreM = !_noDate || _haveHour; + var _haveMoreS = _haveMoreM || _haveMin; + + var _haveDiffM = typeof objIndex.diffM !== 'undefined'; + var _haveDiffH = typeof objIndex.diffH !== 'undefined'; + //var _haveGMT = _haveDiffM || _haveDiffH; + var hour; + var min; + + if ( _haveDatetime ) { + if ( iFormat[ objIndex.date.original ] === 'U' ) { + return new Date( +mList[ objIndex.date.match + 1 ] * 1000 ); + } + + var dList = mList[ objIndex.date.match + 1 ].match( /\w{3}, (\d{1,2}) (\w{3}) (\d{4}) (\d{2}):(\d{2}):(\d{2}) ([+\-]\d{4})/ ); + hour = +dList[ 4 ] + ( +dList[ 7 ].slice( 0 , 3 ) ); + min = +dList[ 5 ] + ( dList[ 7 ].slice( 0 , 1 ) + dList[ 7 ].slice( 3 ) ) / 100 * 60; + + return new Date( dList[ 3 ] , this._iMonth( dList[ 2 ] ) , dList[ 1 ] , hour , min , dList[ 6 ] ); + } + + var _d = new Date( ); + var year; + var month; + var day; + var sec; + var msec; + var gmt; + + if ( !_validDate && !_noDate ) { return ; } + + if ( _validDate ) { + if ( _haveYear ) { + var _y = _d.getFullYear( ) - 50 + ''; + year = mList[ objIndex.year.match + 1 ]; + if ( iFormat[ objIndex.year.original ] === 'y' ) { + year = +_y.slice( 0 , 2 ) + ( year >= ( _y ).slice( 2 ) ? 0 : 1 ) + year; + } + } else { + year = _d.getFullYear(); + } + + if ( _haveYDay ) { + month = 0; + day = mList[ objIndex.dayY.match + 1 ]; + } else if ( _haveDay ) { + if ( _haveMonth ) { + month = this._iMonth( mList[ objIndex.month.match + 1 ] ); + } else { + month = _d.getMonth( ); + } + + day = mList[ objIndex.day.match + 1 ]; + } else { + month = 0; + + var week; + if ( _haveWeek ) { + week = mList[ objIndex.week.match + 1 ]; + } else { + week = this.get( 'W' , _d ); + } + + day = ( week - 2 ) * 7 + ( 8 - ( ( new Date( year , 0 , 1 ) ).getDay( ) || 7 ) ) + this._iWeek( mList[ objIndex.week.match + 1 ] ); + } + + if ( month === 0 && day > 31 ) { + var aux = new Date( year , month , day ); + month = aux.getMonth( ); + day = aux.getDate( ); + } + } + else { + year = _d.getFullYear( ); + month = _d.getMonth( ); + day = _d.getDate( ); + } + + if ( _haveHour12 ) { hour = +mList[ objIndex.hourD.match + 1 ] + ( mList[ objIndex.ampm.match + 1 ] === 'pm' ? 12 : 0 ); } + else if ( _haveHour24 ) { hour = mList[ objIndex.hour.match + 1 ]; } + else if ( _noDate ) { hour = _d.getHours( ); } + else { hour = '00'; } + + if ( _haveMin ) { min = mList[ objIndex.min.match + 1 ]; } + else if ( !_haveMoreM ) { min = _d.getMinutes( ); } + else { min = '00'; } + + if ( _haveSec ) { sec = mList[ objIndex.sec.match + 1 ]; } + else if ( !_haveMoreS ) { sec = _d.getSeconds( ); } + else { sec = '00'; } + + if ( _haveMSec ) { msec = mList[ objIndex.msec.match + 1 ]; } + else { msec = '000'; } + + if ( _haveDiffH ) { gmt = mList[ objIndex.diffH.match + 1 ]; } + else if ( _haveDiffM ) { gmt = String( -1 * mList[ objIndex.diffM.match + 1 ] / 60 * 100 ).replace( /^(\d)/ , '+$1' ).replace( /(^[\-+])(\d{3}$)/ , '$10$2' ); } + else { gmt = '+0000'; } + + return new Date( year, month, day, hour, min, sec ); + } + }; + + + return InkDate; + +}); + +/** + * Dump/Profiling Utilities + * @module Ink.Util.Dumper_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Dumper', '1', [], function() { + + 'use strict'; + + /** + * @namespace Ink.Util.Dumper_1 + */ + + var Dumper = { + + /** + * Hex code for the 'tab' + * + * @property _tab + * @type {String} + * @private + * @readOnly + * @static + * + */ + _tab: '\xA0\xA0\xA0\xA0', + + /** + * Function that returns the argument passed formatted + * + * @method _formatParam + * @param {Mixed} param + * @return {String} The argument passed formatted + * @private + * @static + */ + _formatParam: function(param) + { + var formated = ''; + + switch(typeof(param)) { + case 'string': + formated = '(string) '+param; + break; + case 'number': + formated = '(number) '+param; + break; + case 'boolean': + formated = '(boolean) '+param; + break; + case 'object': + if(param !== null) { + if(param.constructor === Array) { + formated = 'Array \n{\n' + this._outputFormat(param, 0) + '\n}'; + } else { + formated = 'Object \n{\n' + this._outputFormat(param, 0) + '\n}'; + } + } else { + formated = 'null'; + } + break; + default: + formated = false; + } + + return formated; + }, + + /** + * Function that returns the tabs concatenated + * + * @method _getTabs + * @param {Number} numberOfTabs Number of Tabs + * @return {String} Tabs concatenated + * @private + * @static + */ + _getTabs: function(numberOfTabs) + { + var tabs = ''; + for(var _i = 0; _i < numberOfTabs; _i++) { + tabs += this._tab; + } + return tabs; + }, + + /** + * Function that formats the parameter to display. + * + * @method _outputFormat + * @param {Any} param + * @param {Number} dim + * @return {String} The parameter passed formatted to displat + * @private + * @static + */ + _outputFormat: function(param, dim) + { + var formated = ''; + //var _strVal = false; + var _typeof = false; + for(var key in param) { + if(param[key] !== null) { + if(typeof(param[key]) === 'object' && (param[key].constructor === Array || param[key].constructor === Object)) { + if(param[key].constructor === Array) { + _typeof = 'Array'; + } else if(param[key].constructor === Object) { + _typeof = 'Object'; + } + formated += this._tab + this._getTabs(dim) + '[' + key + '] => '+_typeof+'\n'; + formated += this._tab + this._getTabs(dim) + '{\n'; + formated += this._outputFormat(param[key], dim + 1) + this._tab + this._getTabs(dim) + '}\n'; + } else if(param[key].constructor === Function) { + continue; + } else { + formated = formated + this._tab + this._getTabs(dim) + '[' + key + '] => ' + param[key] + '\n'; + } + } else { + formated = formated + this._tab + this._getTabs(dim) + '[' + key + '] => null \n'; + } + } + return formated; + }, + + /** + * Prints variable structure. + * + * @method printDump + * @param {Any} param Variable to be dumped. + * @param {DOMElement|String} [target] Element to print the dump on. + * @public + * @static + * @sample Ink_Util_Dumper_printDump.html + */ + printDump: function(param, target) + { + /*jshint evil:true */ + if(!target || typeof(target) === 'undefined') { + document.write('
    '+this._formatParam(param)+'
    '); + } else { + if(typeof(target) === 'string') { + document.getElementById(target).innerHTML = '
    ' + this._formatParam(param) + '
    '; + } else if(typeof(target) === 'object') { + target.innerHTML = '
    '+this._formatParam(param)+'
    '; + } else { + throw "TARGET must be an element or an element ID"; + } + } + }, + + /** + * Get a variable's structure. + * + * @method returnDump + * @param {Any} param Variable to get the structure. + * @return {String} The variable's structure. + * @public + * @static + * @sample Ink_Util_Dumper_returnDump.html + */ + returnDump: function(param) + { + return this._formatParam(param); + }, + + /** + * Alert a variable's structure. + * + * @method alertDump + * @param {Any} param Variable to be dumped. + * @public + * @static + * @sample Ink_Util_Dumper_alertDump.html + */ + alertDump: function(param) + { + window.alert(this._formatParam(param).replace(/()(Array|Object)(<\/b>)/g, "$2")); + }, + + /** + * Prints the variable structure to a new window. + * + * @method windowDump + * @param {Any} param Variable to be dumped. + * @public + * @static + * @sample Ink_Util_Dumper_windowDump.html + */ + windowDump: function(param) + { + var dumperwindow = 'dumperwindow_'+(Math.random() * 10000); + var win = window.open('', + dumperwindow, + 'width=400,height=300,left=50,top=50,status,menubar,scrollbars,resizable' + ); + win.document.open(); + win.document.write('
    '+this._formatParam(param)+'
    '); + win.document.close(); + win.focus(); + } + + }; + + return Dumper; + +}); + +/** + * Internationalization Utilities + * @module Ink.Util.I18n_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.I18n', '1', [], function () { + 'use strict'; + + var pattrText = /\{(?:(\{.*?})|(?:%s:)?(\d+)|(?:%s)?|([\w-]+))}/g; + + var funcOrVal = function( ret , args ) { + if ( typeof ret === 'function' ) { + return ret.apply(this, args); + } else if (typeof ret !== undefined) { + return ret; + } else { + return ''; + } + }; + + /** + * You can use this module to internationalize your applications. It roughly emulates GNU gettext's API. + * + * @class Ink.Util.I18n + * @constructor + * + * @param {Object} dict Object mapping language codes (in the form of `pt_PT`, `pt_BR`, `fr`, `en_US`, etc.) to their `dictionaries` + * @param {String} [lang='pt_PT'] language code of the target language + * + * @sample Ink_Util_I18n_1.html + */ + var I18n = function( dict , lang , testMode ) { + if ( !( this instanceof I18n ) ) { return new I18n( dict , lang , testMode ); } + + this.reset( ) + .lang( lang ) + .testMode( testMode ) + .append( dict || { } , lang ); + }; + + I18n.prototype = { + reset: function( ) { + this._dicts = [ ]; + this._dict = { }; + this._testMode = false; + this._lang = this._gLang; + + return this; + }, + /** + * Adds translation strings for the helper to use. + * + * @method append + * @param {Object} dict Object containing language objects identified by their language code + * + * @sample Ink_Util_I18n_1_append.html + */ + append: function( dict ) { + this._dicts.push( dict ); + + this._dict = Ink.extendObj(this._dict , dict[ this._lang ] ); + + return this; + }, + /** + * Gets or sets the language. + * If there are more dictionaries available in cache, they will be loaded. + * + * @method lang + * @param {String} lang Language code to set this instance to. + */ + lang: function( lang ) { + if ( !arguments.length ) { return this._lang; } + + if ( lang && this._lang !== lang ) { + this._lang = lang; + + this._dict = { }; + + for ( var i = 0, l = this._dicts.length; i < l; i++ ) { + this._dict = Ink.extendObj( this._dict , this._dicts[ i ][ lang ] || { } ); + } + } + + return this; + }, + /** + * Sets or unsets test mode. + * In test mode, unknown strings are wrapped in `[ ... ]`. This is useful for debugging your application and to make sure all your translation keys are in place. + * + * @method testMode + * @param {Boolean} bool Flag to set the test mode state + */ + testMode: function( bool ) { + if ( !arguments.length ) { return !!this._testMode; } + + if ( bool !== undefined ) { this._testMode = !!bool; } + + return this; + }, + + /** + * Gest a key from the current dictionary + * + * @method getKey + * @param {String} key + * @return {Mixed} The object which happened to be in the current language dictionary on the given key. + * + * @sample Ink_Util_I18n_1_getKey.html + */ + getKey: function( key ) { + var ret; + var gLang = this._gLang; + var lang = this._lang; + + if ( key in this._dict ) { + ret = this._dict[ key ]; + } else { + I18n.langGlobal( lang ); + + ret = this._gDict[ key ]; + + I18n.langGlobal( gLang ); + } + + return ret; + }, + + /** + * Translates a string. + * Given a translation key, return a translated string, with replaced parameters. + * When a translated string is not available, the original string is returned unchanged. + * + * @method text + * @param {String} str Key to look for in i18n dictionary (which is returned verbatim if unknown) + * @param {Object} [namedParms] Named replacements. Replaces {named} with values in this object. + * @param {String} [args] Replacement #1 (replaces first {} and all {1}) + * @param {String} [arg2] Replacement #2 (replaces second {} and all {2}) + * @param {String} [argn*] Replacement #n (replaces nth {} and all {n}) + * + * @sample Ink_Util_I18n_1_text.html + */ + text: function( str /*, replacements...*/ ) { + if ( typeof str !== 'string' ) { return; } // Backwards-compat + + var pars = Array.prototype.slice.call( arguments , 1 ); + var idx = 0; + var isObj = typeof pars[ 0 ] === 'object'; + + var original = this.getKey( str ); + if ( original === undefined ) { original = this._testMode ? '[' + str + ']' : str; } + if ( typeof original === 'number' ) { original += ''; } + + if (typeof original === 'string') { + original = original.replace( pattrText , function( m , $1 , $2 , $3 ) { + var ret = + $1 ? $1 : + $2 ? pars[ $2 - ( isObj ? 0 : 1 ) ] : + $3 ? pars[ 0 ][ $3 ] || '' : + pars[ (idx++) + ( isObj ? 1 : 0 ) ]; + return funcOrVal( ret , [idx].concat(pars) ); + }); + return original; + } + + return ( + typeof original === 'function' ? original.apply( this , pars ) : + original instanceof Array ? funcOrVal( original[ pars[ 0 ] ] , pars ) : + typeof original === 'object' ? funcOrVal( original[ pars[ 0 ] ] , pars ) : + ''); + }, + + /** + * Translates and pluralizes text. + * Given a singular string, a plural string and a number, translates either the singular or plural string. + * + * @method ntext + * @return {String} + * + * @param {String} strSin Word to use when count is 1 + * @param {String} strPlur Word to use otherwise + * @param {Number} count Number which defines which word to use + * @param [args*] Extra arguments, to be passed to `text()` + * + * @sample Ink_Util_I18n_1_ntext.html + */ + ntext: function( strSin , strPlur , count ) { + var pars = Array.prototype.slice.apply( arguments ); + var original; + + if ( pars.length === 2 && typeof strPlur === 'number' ) { + original = this.getKey( strSin ); + if ( !( original instanceof Array ) ) { return ''; } + + pars.splice( 0 , 1 ); + original = original[ strPlur === 1 ? 0 : 1 ]; + } else { + pars.splice( 0 , 2 ); + original = count === 1 ? strSin : strPlur; + } + + return this.text.apply( this , [ original ].concat( pars ) ); + }, + + /** + * Gets the ordinal suffix of a number. + * + * This works by using transforms (in the form of Objects or Functions) passed into the function or found in the special key `_ordinals` in the active language dictionary. + * + * @method ordinal + * + * @param {Number} num Input number + * @param {Object|Function} [options]={} Dictionaries for translating. Each of these options' fallback is found in the current language's dictionary. The lookup order is the following: `exceptions`, `byLastDigit`, `default`. Each of these may be either an `Object` or a `Function`. If it's a function, it is called (with `number` and `digit` for any function except for byLastDigit, which is called with the `lastDigit` of the number in question), and if the function returns a string, that is used. If it's an object, the property is looked up using `obj[prop]`. If what is found is a string, it is used directly. + * @param {Object|Function} [options.byLastDigit]={} If the language requires the last digit to be considered, mappings of last digits to ordinal suffixes can be created here. + * @param {Object|Function} [options.exceptions]={} Map unique, special cases to their ordinal suffixes. + * + * @returns {String} Ordinal suffix for `num`. + * + * @sample Ink_Util_I18n_1_ordinal.html + **/ + ordinal: function( num ) { + if ( num === undefined ) { return ''; } + + var lastDig = +num.toString( ).slice( -1 ); + + var ordDict = this.getKey( '_ordinals' ); + if ( ordDict === undefined ) { return ''; } + + if ( typeof ordDict === 'string' ) { return ordDict; } + + var ret; + + if ( typeof ordDict === 'function' ) { + ret = ordDict( num , lastDig ); + + if ( typeof ret === 'string' ) { return ret; } + } + + if ( 'exceptions' in ordDict ) { + ret = typeof ordDict.exceptions === 'function' ? ordDict.exceptions( num , lastDig ) : + num in ordDict.exceptions ? funcOrVal( ordDict.exceptions[ num ] , [num , lastDig] ) : + undefined; + + if ( typeof ret === 'string' ) { return ret; } + } + + if ( 'byLastDigit' in ordDict ) { + ret = typeof ordDict.byLastDigit === 'function' ? ordDict.byLastDigit( lastDig , num ) : + lastDig in ordDict.byLastDigit ? funcOrVal( ordDict.byLastDigit[ lastDig ] , [lastDig , num] ) : + undefined; + + if ( typeof ret === 'string' ) { return ret; } + } + + if ( 'default' in ordDict ) { + ret = funcOrVal( ordDict['default'] , [ num , lastDig ] ); + + if ( typeof ret === 'string' ) { return ret; } + } + + return ''; + }, + + /** + * Create an alias. + * + * Returns an alias to this I18n instance. It contains the I18n methods documented here, but is also a function. If you call it, it just calls `text()`. This is commonly assigned to "_". + * + * @method alias + * @returns {Function} an alias to `text()` on this instance. You can also access the rest of the translation API through this alias. + * + * @sample Ink_Util_I18n_1_alias.html + */ + alias: function( ) { + var ret = Ink.bind( I18n.prototype.text , this ); + ret.ntext = Ink.bind( I18n.prototype.ntext , this ); + ret.append = Ink.bind( I18n.prototype.append , this ); + ret.ordinal = Ink.bind( I18n.prototype.ordinal , this ); + ret.testMode = Ink.bind( I18n.prototype.testMode , this ); + + return ret; + } + }; + + /** + * Resets I18n global state (global dictionaries, and default language for instances) + * + * @method reset + * @static + * + **/ + I18n.reset = function( ) { + I18n.prototype._gDicts = [ ]; + I18n.prototype._gDict = { }; + I18n.prototype._gLang = 'pt_PT'; + }; + I18n.reset( ); + + /** + * Adds a dictionary to be used in all I18n instances for the corresponding language. + * + * @method appendGlobal + * @static + * + * @param dict {Object} Dictionary to be added + * @param lang {String} Language fo the dictionary being added + * + */ + I18n.appendGlobal = function( dict , lang ) { + if ( lang ) { + if ( !( lang in dict ) ) { + var obj = { }; + + obj[ lang ] = dict; + + dict = obj; + } + + if ( lang !== I18n.prototype._gLang ) { I18n.langGlobal( lang ); } + } + + I18n.prototype._gDicts.push( dict ); + + Ink.extendObj( I18n.prototype._gDict , dict[ I18n.prototype._gLang ] ); + }; + + I18n.append = function () { + // [3.1.0] remove this alias + Ink.warn('Ink.Util.I18n.append() was renamed to appendGlobal().'); + return I18n.appendGlobal.apply(I18n, [].slice.call(arguments)); + }; + + /** + * Gets or sets the current default language of I18n instances. + * + * @method langGlobal + * @param lang the new language for all I18n instances + * + * @static + * + * @return {String} language code + */ + I18n.langGlobal = function( lang ) { + if ( !arguments.length ) { return I18n.prototype._gLang; } + + if ( lang && I18n.prototype._gLang !== lang ) { + I18n.prototype._gLang = lang; + + I18n.prototype._gDict = { }; + + for ( var i = 0, l = I18n.prototype._gDicts.length; i < l; i++ ) { + Ink.extendObj( I18n.prototype._gDict , I18n.prototype._gDicts[ i ][ lang ] || { } ); + } + } + }; + + I18n.lang = function () { + // [3.1.0] remove this alias + Ink.warn('Ink.Util.I18n.lang() was renamed to langGlobal().'); + return I18n.langGlobal.apply(I18n, [].slice.call(arguments)); + }; + + return I18n; +}); +/** + * JSON Utilities + * @module Ink.Util.Json_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Json', '1', [], function() { + 'use strict'; + + var function_call = Function.prototype.call; + var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; + + function twoDigits(n) { + var r = '' + n; + if (r.length === 1) { + return '0' + r; + } else { + return r; + } + } + + var dateToISOString = Date.prototype.toISOString ? + Ink.bind(function_call, Date.prototype.toISOString) : + function(date) { + // Adapted from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString + return date.getUTCFullYear() + + '-' + twoDigits( date.getUTCMonth() + 1 ) + + '-' + twoDigits( date.getUTCDate() ) + + 'T' + twoDigits( date.getUTCHours() ) + + ':' + twoDigits( date.getUTCMinutes() ) + + ':' + twoDigits( date.getUTCSeconds() ) + + '.' + String( (date.getUTCMilliseconds()/1000).toFixed(3) ).slice( 2, 5 ) + + 'Z'; + }; + + /** + * Use this class to convert JSON strings to JavaScript objects + * `.parse()` and also to do the opposite operation `.stringify()`. + * Internally, the standard JSON implementation is used if available + * Otherwise, the functions mimic the standard implementation. + * + * Here's how to produce JSON from an existing object: + * + * Ink.requireModules(['Ink.Util.Json_1'], function (Json) { + * var obj = { + * key1: 'value1', + * key2: 'value2', + * keyArray: ['arrayValue1', 'arrayValue2', 'arrayValue3'] + * }; + * Json.stringify(obj); // The above object as a JSON string + * }); + * + * And here is how to parse JSON: + * + * Ink.requireModules(['Ink.Util.Json_1'], function (Json) { + * var source = '{"key": "value", "array": [true, null, false]}'; + * Json.parse(source); // The above JSON string as an object + * }); + * + * @namespace Ink.Util.Json_1 + * @static + * + */ + var InkJson = { + _nativeJSON: window.JSON || null, + + _convertToUnicode: false, + + // Escape characters so as to embed them in JSON strings + _escape: function (theString) { + var _m = { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"': '\\"', '\\': '\\\\' }; + + if (/["\\\x00-\x1f]/.test(theString)) { + theString = theString.replace(/([\x00-\x1f\\"])/g, function(a, b) { + var c = _m[b]; + if (c) { + return c; + } + c = b.charCodeAt(); + return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); + }); + } + + return theString; + }, + + // A character conversion map + _toUnicode: function (theString) + { + if(!this._convertToUnicode) { + return this._escape(theString); + } else { + var unicodeString = ''; + var inInt = false; + var theUnicode = false; + var i = 0; + var total = theString.length; + while(i < total) { + inInt = theString.charCodeAt(i); + if( (inInt >= 32 && inInt <= 126) || + //(inInt >= 48 && inInt <= 57) || + //(inInt >= 65 && inInt <= 90) || + //(inInt >= 97 && inInt <= 122) || + inInt === 8 || + inInt === 9 || + inInt === 10 || + inInt === 12 || + inInt === 13 || + inInt === 32 || + inInt === 34 || + inInt === 47 || + inInt === 58 || + inInt === 92) { + + if(inInt === 34 || inInt === 92 || inInt === 47) { + theUnicode = '\\'+theString.charAt(i); + } else if(inInt === 8) { + theUnicode = '\\b'; + } else if(inInt === 9) { + theUnicode = '\\t'; + } else if(inInt === 10) { + theUnicode = '\\n'; + } else if(inInt === 12) { + theUnicode = '\\f'; + } else if(inInt === 13) { + theUnicode = '\\r'; + } else { + theUnicode = theString.charAt(i); + } + } else { + if(this._convertToUnicode) { + theUnicode = theString.charCodeAt(i).toString(16)+''.toUpperCase(); + while (theUnicode.length < 4) { + theUnicode = '0' + theUnicode; + } + theUnicode = '\\u' + theUnicode; + } else { + theUnicode = theString.charAt(i); + } + } + unicodeString += theUnicode; + + i++; + } + + return unicodeString; + } + + }, + + _stringifyValue: function(param) { + if (typeof param === 'string') { + return '"' + this._toUnicode(param) + '"'; + } else if (typeof param === 'number' && (isNaN(param) || !isFinite(param))) { // Unusable numbers go null + return 'null'; + } else if (typeof param === 'undefined' || param === null) { // And so does undefined + return 'null'; + } else if (typeof param.toJSON === 'function') { + var t = param.toJSON(); + if (typeof t === 'string') { + return '"' + this._escape(t) + '"'; + } else { + return this._escape(t.toString()); + } + } else if (typeof param === 'number' || typeof param === 'boolean') { // These ones' toString methods return valid JSON. + return '' + param; + } else if (typeof param === 'function') { + return 'null'; // match JSON.stringify + } else if (param.constructor === Date) { + return '"' + this._escape(dateToISOString(param)) + '"'; + } else if (param.constructor === Array) { + var arrayString = ''; + for (var i = 0, len = param.length; i < len; i++) { + if (i > 0) { + arrayString += ','; + } + arrayString += this._stringifyValue(param[i]); + } + return '[' + arrayString + ']'; + } else { // Object + var objectString = ''; + for (var k in param) { + if ({}.hasOwnProperty.call(param, k)) { + if (objectString !== '') { + objectString += ','; + } + objectString += '"' + this._escape(k) + '": ' + this._stringifyValue(param[k]); + } + } + return '{' + objectString + '}'; + } + }, + + /** + * Serializes a JSON object into a string. + * + * @method stringify + * @param {Object} input Data to be serialized into JSON + * @param {Boolean} convertToUnicode When `true`, converts string contents to unicode \uXXXX + * @return {String} Serialized string + * + * @sample Ink_Util_Json_stringify.html + */ + stringify: function(input, convertToUnicode) { + this._convertToUnicode = !!convertToUnicode; + if(!this._convertToUnicode && this._nativeJSON) { + return this._nativeJSON.stringify(input); + } + return this._stringifyValue(input); // And recurse. + }, + + /** + * Parses a JSON text through a function + * + * @method parse + * @param text {String} Input string + * @param reviver {Function} Function receiving `(key, value)`, and `this`=(containing object), used to walk objects. + * + * @return {Object} JSON object + * + * @sample Ink_Util_Json_parse.html + */ + /* From https://github.com/douglascrockford/JSON-js/blob/master/json.js */ + parse: function (text, reviver) { + /*jshint evil:true*/ + +// The parse method takes a text and an optional reviver function, and returns +// a JavaScript value if the text is a valid JSON text. + + var j; + + function walk(holder, key) { + +// The walk method is used to recursively walk the resulting structure so +// that modifications can be made. + + var k, v, value = holder[key]; + if (value && typeof value === 'object') { + for (k in value) { + if (Object.prototype.hasOwnProperty.call(value, k)) { + v = walk(value, k); + if (v !== undefined) { + value[k] = v; + } else { + delete value[k]; + } + } + } + } + return reviver.call(holder, key, value); + } + + +// Parsing happens in four stages. In the first stage, we replace certain +// Unicode characters with escape sequences. JavaScript handles many characters +// incorrectly, either silently deleting them, or treating them as line endings. + + text = String(text); + cx.lastIndex = 0; + if (cx.test(text)) { + text = text.replace(cx, function (a) { + return '\\u' + + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }); + } + +// In the second stage, we run the text against regular expressions that look +// for non-JSON patterns. We are especially concerned with '()' and 'new' +// because they can cause invocation, and '=' because it can cause mutation. +// But just to be safe, we want to reject all unexpected forms. + +// We split the second stage into 4 regexp operations in order to work around +// crippling inefficiencies in IE's and Safari's regexp engines. First we +// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we +// replace all simple value tokens with ']' characters. Third, we delete all +// open brackets that follow a colon or comma or that begin the text. Finally, +// we look to see that the remaining characters are only whitespace or ']' or +// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval. + + if (/^[\],:{}\s]*$/ + .test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@') + .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') + .replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { + +// In the third stage we use the eval function to compile the text into a +// JavaScript structure. The '{' operator is subject to a syntactic ambiguity +// in JavaScript: it can begin a block or an object literal. We wrap the text +// in parens to eliminate the ambiguity. + + j = eval('(' + text + ')'); + +// In the optional fourth stage, we recursively walk the new structure, passing +// each name/value pair to a reviver function for possible transformation. + + return typeof reviver === 'function' ? + walk({'': j}, '') : + j; + } + +// If the text is not JSON parseable, then a SyntaxError is thrown. + + throw new SyntaxError('JSON.parse'); + } + }; + + return InkJson; +}); + +/** + * String Utilities + * @module Ink.Util.String_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.String', '1', [], function() { + + 'use strict'; + + /** + * @namespace Ink.Util.String_1 + */ + var InkUtilString = { + + /** + * List of special chars + * + * @property _chars + * @type {Array} + * @private + * @readOnly + * @static + */ + _chars: ['&','à','á','â','ã','ä','å','æ','ç','è','é', + 'ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô', + 'õ','ö','ø','ù','ú','û','ü','ý','þ','ÿ','À', + 'Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë', + 'Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö', + 'Ø','Ù','Ú','Û','Ü','Ý','Þ','€','\"','ß','<', + '>','¢','£','¤','¥','¦','§','¨','©','ª','«', + '¬','\xad','®','¯','°','±','²','³','´','µ','¶', + '·','¸','¹','º','»','¼','½','¾'], + + /** + * List of the special characters' html entities + * + * @property _entities + * @type {Array} + * @private + * @readOnly + * @static + */ + _entities: ['amp','agrave','aacute','acirc','atilde','auml','aring', + 'aelig','ccedil','egrave','eacute','ecirc','euml','igrave', + 'iacute','icirc','iuml','eth','ntilde','ograve','oacute', + 'ocirc','otilde','ouml','oslash','ugrave','uacute','ucirc', + 'uuml','yacute','thorn','yuml','Agrave','Aacute','Acirc', + 'Atilde','Auml','Aring','AElig','Ccedil','Egrave','Eacute', + 'Ecirc','Euml','Igrave','Iacute','Icirc','Iuml','ETH','Ntilde', + 'Ograve','Oacute','Ocirc','Otilde','Ouml','Oslash','Ugrave', + 'Uacute','Ucirc','Uuml','Yacute','THORN','euro','quot','szlig', + 'lt','gt','cent','pound','curren','yen','brvbar','sect','uml', + 'copy','ordf','laquo','not','shy','reg','macr','deg','plusmn', + 'sup2','sup3','acute','micro','para','middot','cedil','sup1', + 'ordm','raquo','frac14','frac12','frac34'], + + /** + * List of accented chars + * + * @property _accentedChars + * @type {Array} + * @private + * @readOnly + * @static + */ + _accentedChars:['à','á','â','ã','ä','å', + 'è','é','ê','ë', + 'ì','í','î','ï', + 'ò','ó','ô','õ','ö', + 'ù','ú','û','ü', + 'ç','ñ', + 'À','Á','Â','Ã','Ä','Å', + 'È','É','Ê','Ë', + 'Ì','Í','Î','Ï', + 'Ò','Ó','Ô','Õ','Ö', + 'Ù','Ú','Û','Ü', + 'Ç','Ñ'], + + /** + * List of the accented chars (above), but without the accents + * + * @property _accentedRemovedChars + * @type {Array} + * @private + * @readOnly + * @static + */ + _accentedRemovedChars:['a','a','a','a','a','a', + 'e','e','e','e', + 'i','i','i','i', + 'o','o','o','o','o', + 'u','u','u','u', + 'c','n', + 'A','A','A','A','A','A', + 'E','E','E','E', + 'I','I','I','I', + 'O','O','O','O','O', + 'U','U','U','U', + 'C','N'], + /** + * Object that contains the basic HTML unsafe chars, as keys, and their HTML entities as values + * + * @property _htmlUnsafeChars + * @type {Object} + * @private + * @readOnly + * @static + */ + _htmlUnsafeChars:{'<':'<','>':'>','&':'&','"':'"',"'":'''}, + + /** + * Capitalizes a word. + * If param as more than one word, it converts first letter of all words that have more than 2 letters + * + * @method ucFirst + * @param {String} string String to capitalize. + * @param {Boolean} [firstWordOnly]=false Flag to capitalize only the first word. + * @return {String} Camel cased string. + * @public + * @static + * @sample Ink_Util_String_ucFirst.html + */ + ucFirst: function(string, firstWordOnly) { + var replacer = firstWordOnly ? /(^|\s)(\w)(\S{2,})/ : /(^|\s)(\w)(\S{2,})/g; + return string ? String(string).replace(replacer, function(_, $1, $2, $3){ + return $1 + $2.toUpperCase() + $3.toLowerCase(); + }) : string; + }, + + /** + * Trims whitespace from strings + * + * @method trim + * @param {String} string String to be trimmed + * @return {String} Trimmed string + * @public + * @static + * @sample Ink_Util_String_trim.html + */ + trim: function(string) + { + if (typeof string === 'string') { + return string.replace(/^\s+|\s+$|\n+$/g, ''); + } + return string; + }, + + /** + * Strips HTML tags from strings + * + * @method stripTags + * @param {String} string String to strip tags from. + * @param {String} allowed Comma separated list of allowed tags. + * @return {String} Stripped string + * @public + * @static + * @sample Ink_Util_String_stripTags.html + */ + stripTags: function(string, allowed) + { + if (allowed && typeof allowed === 'string') { + var aAllowed = InkUtilString.trim(allowed).split(','); + var aNewAllowed = []; + var cleanedTag = false; + for(var i=0; i < aAllowed.length; i++) { + if(InkUtilString.trim(aAllowed[i]) !== '') { + cleanedTag = InkUtilString.trim(aAllowed[i].replace(/(<|\>)/g, '').replace(/\s/, '')); + aNewAllowed.push('(<'+cleanedTag+'\\s[^>]+>|<(\\s|\\/)?(\\s|\\/)?'+cleanedTag+'>)'); + } + } + var strAllowed = aNewAllowed.join('|'); + var reAllowed = new RegExp(strAllowed, "i"); + + var aFoundTags = string.match(new RegExp("<[^>]*>", "g")); + + for(var j=0; j < aFoundTags.length; j++) { + if(!aFoundTags[j].match(reAllowed)) { + string = string.replace((new RegExp(aFoundTags[j], "gm")), ''); + } + } + return string; + } else { + return string.replace(/<[^\>]+\>/g, ''); + } + }, + + /** + * Encodes string into HTML entities. + * + * @method htmlEntitiesEncode + * @param {String} string + * @return {String} string encoded + * @public + * @static + * @sample Ink_Util_String_htmlEntitiesEncode.html + */ + htmlEntitiesEncode: function(string) + { + if (string && string.replace) { + var re = false; + for (var i = 0; i < InkUtilString._chars.length; i++) { + re = new RegExp(InkUtilString._chars[i], "gm"); + string = string.replace(re, '&' + InkUtilString._entities[i] + ';'); + } + } + return string; + }, + + /** + * Decodes string from HTML entities. + * + * @method htmlEntitiesDecode + * @param {String} string String to be decoded + * @return {String} Decoded string + * @public + * @static + * @sample Ink_Util_String_htmlEntitiesDecode.html + */ + htmlEntitiesDecode: function(string) + { + if (string && string.replace) { + var re = false; + for (var i = 0; i < InkUtilString._entities.length; i++) { + re = new RegExp("&"+InkUtilString._entities[i]+";", "gm"); + string = string.replace(re, InkUtilString._chars[i]); + } + string = string.replace(/&#[^;]+;?/g, function($0){ + if ($0.charAt(2) === 'x') { + return String.fromCharCode(parseInt($0.substring(3), 16)); + } + else { + return String.fromCharCode(parseInt($0.substring(2), 10)); + } + }); + } + return string; + }, + + /** + * Encode a string to UTF-8. + * + * @method utf8Encode + * @param {String} string String to be encoded + * @return {String} string UTF-8 encoded string + * @public + * @static + */ + utf8Encode: function(string) { + /*jshint bitwise:false*/ + string = string.replace(/\r\n/g,"\n"); + var utfstring = ""; + + for (var n = 0; n < string.length; n++) { + + var c = string.charCodeAt(n); + + if (c < 128) { + utfstring += String.fromCharCode(c); + } + else if((c > 127) && (c < 2048)) { + utfstring += String.fromCharCode((c >> 6) | 192); + utfstring += String.fromCharCode((c & 63) | 128); + } + else { + utfstring += String.fromCharCode((c >> 12) | 224); + utfstring += String.fromCharCode(((c >> 6) & 63) | 128); + utfstring += String.fromCharCode((c & 63) | 128); + } + + } + return utfstring; + }, + + /** + * Truncates a string without breaking words. + * + * @method shortString + * @param {String} str String to truncate + * @param {Number} n Number of chars of the short string + * @return {String} + * @public + * @static + * @sample Ink_Util_String_shortString.html + */ + shortString: function(str,n) { + var words = str.split(' '); + var resultstr = ''; + for(var i = 0; i < words.length; i++ ){ + if((resultstr + words[i] + ' ').length>=n){ + resultstr += '…'; + break; + } + resultstr += words[i] + ' '; + } + return resultstr; + }, + + /** + * Truncates a string, breaking words and adding ... at the end. + * + * @method truncateString + * @param {String} str String to truncate + * @param {Number} length Limit for the returned string, ellipsis included. + * @return {String} Truncated String + * @public + * @static + * @sample Ink_Util_String_truncateString.html + */ + truncateString: function(str, length) { + if(str.length - 1 > length) { + return str.substr(0, length - 1) + "\u2026"; + } else { + return str; + } + }, + + /** + * Decodes a string from UTF-8. + * + * @method utf8Decode + * @param {String} string String to be decoded + * @return {String} Decoded string + * @public + * @static + */ + utf8Decode: function(utfstring) { + /*jshint bitwise:false*/ + var string = ""; + var i = 0, c = 0, c2 = 0, c3 = 0; + + while ( i < utfstring.length ) { + + c = utfstring.charCodeAt(i); + + if (c < 128) { + string += String.fromCharCode(c); + i++; + } + else if((c > 191) && (c < 224)) { + c2 = utfstring.charCodeAt(i+1); + string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + i += 2; + } + else { + c2 = utfstring.charCodeAt(i+1); + c3 = utfstring.charCodeAt(i+2); + string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + i += 3; + } + + } + return string; + }, + + /** + * Removes all accented characters from a string. + * + * @method removeAccentedChars + * @param {String} string String to remove accents from + * @return {String} String without accented chars + * @public + * @static + * @sample Ink_Util_String_removeAccentedChars.html + */ + removeAccentedChars: function(string) + { + var newString = string; + var re = false; + for (var i = 0; i < InkUtilString._accentedChars.length; i++) { + re = new RegExp(InkUtilString._accentedChars[i], "gm"); + newString = newString.replace(re, '' + InkUtilString._accentedRemovedChars[i] + ''); + } + return newString; + }, + + /** + * Count the number of occurrences of a specific needle in a haystack + * + * @method substrCount + * @param {String} haystack String to search in + * @param {String} needle String to search for + * @return {Number} Number of occurrences + * @public + * @static + * @sample Ink_Util_String_substrCount.html + */ + substrCount: function(haystack,needle) + { + return haystack ? haystack.split(needle).length - 1 : 0; + }, + + /** + * Eval a JSON - We recommend you Ink.Util.Json + * + * @method evalJSON + * @param {String} strJSON JSON string to eval + * @param {Boolean} sanitize Flag to sanitize input + * @return {Object} JS Object + * @public + * @static + */ + evalJSON: function(strJSON, sanitize) { + /* jshint evil:true */ + if( (typeof sanitize === 'undefined' || sanitize === null) || InkUtilString.isJSON(strJSON)) { + try { + if(typeof(JSON) !== "undefined" && typeof(JSON.parse) !== 'undefined'){ + return JSON.parse(strJSON); + } + return eval('('+strJSON+')'); + } catch(e) { + throw new Error('ERROR: Bad JSON string...'); + } + } + }, + + /** + * Checks if a string is a valid JSON object (string encoded) + * + * @method isJSON + * @param {String} str String to check + * @return {Boolean} + * @public + * @static + */ + isJSON: function(str) + { + str = str.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''); + return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str); + }, + + /** + * Escapes unsafe html chars as HTML entities + * + * @method htmlEscapeUnsafe + * @param {String} str String to escape + * @return {String} Escaped string + * @public + * @static + * @sample Ink_Util_String_htmlEscapeUnsafe.html + */ + htmlEscapeUnsafe: function(str){ + var chars = InkUtilString._htmlUnsafeChars; + return str !== null ? String(str).replace(/[<>&'"]/g,function(c){return chars[c];}) : str; + }, + + /** + * Normalizes whitespace in string. + * String is trimmed and sequences of whitespaces are collapsed. + * + * @method normalizeWhitespace + * @param {String} str String to normalize + * @return {String} Normalized string + * @public + * @static + * @sample Ink_Util_String_normalizeWhitespace.html + */ + normalizeWhitespace: function(str){ + return str !== null ? InkUtilString.trim(String(str).replace(/\s+/g,' ')) : str; + }, + + /** + * Converts string to unicode. + * + * @method toUnicode + * @param {String} str String to convert + * @return {String} Unicoded String + * @public + * @static + * @sample Ink_Util_String_toUnicode.html + */ + toUnicode: function(str) { + if (typeof str === 'string') { + var unicodeString = ''; + var inInt = false; + var theUnicode = false; + var total = str.length; + var i=0; + + while(i < total) + { + inInt = str.charCodeAt(i); + if( (inInt >= 32 && inInt <= 126) || + inInt === 8 || + inInt === 9 || + inInt === 10 || + inInt === 12 || + inInt === 13 || + inInt === 32 || + inInt === 34 || + inInt === 47 || + inInt === 58 || + inInt === 92) { + + /* + if(inInt == 34 || inInt == 92 || inInt == 47) { + theUnicode = '\\'+str.charAt(i); + } else { + } + */ + if(inInt === 8) { + theUnicode = '\\b'; + } else if(inInt === 9) { + theUnicode = '\\t'; + } else if(inInt === 10) { + theUnicode = '\\n'; + } else if(inInt === 12) { + theUnicode = '\\f'; + } else if(inInt === 13) { + theUnicode = '\\r'; + } else { + theUnicode = str.charAt(i); + } + } else { + theUnicode = str.charCodeAt(i).toString(16)+''.toUpperCase(); + while (theUnicode.length < 4) { + theUnicode = '0' + theUnicode; + } + theUnicode = '\\u' + theUnicode; + } + unicodeString += theUnicode; + + i++; + } + return unicodeString; + } + }, + + /** + * Escapes a unicode character. + * + * @method escape + * @param {String} c Character to escape + * @return {String} Escaped character. Returns \xXX if hex smaller than 0x100, otherwise \uXXXX + * @public + * @static + * @sample Ink_Util_String_escape.html + */ + escape: function(c) { + var hex = (c).charCodeAt(0).toString(16).split(''); + if (hex.length < 3) { + while (hex.length < 2) { hex.unshift('0'); } + hex.unshift('x'); + } + else { + while (hex.length < 4) { hex.unshift('0'); } + hex.unshift('u'); + } + + hex.unshift('\\'); + return hex.join(''); + }, + + /** + * Unescapes a unicode character escape sequence + * + * @method unescape + * @param {String} es Escape sequence + * @return {String} String un-unicoded + * @public + * @static + * @sample Ink_Util_String_unescape.html + */ + unescape: function(es) { + var idx = es.lastIndexOf('0'); + idx = idx === -1 ? 2 : Math.min(idx, 2); + //console.log(idx); + var hexNum = es.substring(idx); + //console.log(hexNum); + var num = parseInt(hexNum, 16); + return String.fromCharCode(num); + }, + + /** + * Escapes a string to unicode characters + * + * @method escapeText + * @param {String} txt + * @param {Array} [whiteList] Whitelist of characters + * @return {String} String escaped to Unicode + * @public + * @static + * @sample Ink_Util_String_escapeText.html + */ + escapeText: function(txt, whiteList) { + if (whiteList === undefined) { + whiteList = ['[', ']', '\'', ',']; + } + var txt2 = []; + var c, C; + for (var i = 0, f = txt.length; i < f; ++i) { + c = txt[i]; + C = c.charCodeAt(0); + if (C < 32 || C > 126 && whiteList.indexOf(c) === -1) { + c = InkUtilString.escape(c); + } + txt2.push(c); + } + return txt2.join(''); + }, + + /** + * Regex to check escaped strings + * + * @property escapedCharRegex + * @type {Regex} + * @public + * @readOnly + * @static + */ + escapedCharRegex: /(\\x[0-9a-fA-F]{2})|(\\u[0-9a-fA-F]{4})/g, + + /** + * Unescapes a string + * + * @method unescapeText + * @param {String} txt + * @return {String} Unescaped string + * @public + * @static + * @sample Ink_Util_String_unescapeText.html + */ + unescapeText: function(txt) { + /*jshint boss:true */ + var m; + while (m = InkUtilString.escapedCharRegex.exec(txt)) { + m = m[0]; + txt = txt.replace(m, InkUtilString.unescape(m)); + InkUtilString.escapedCharRegex.lastIndex = 0; + } + return txt; + }, + + /** + * Compares two strings. + * + * @method strcmp + * @param {String} str1 First String + * @param {String} str2 Second String + * @return {Number} + * @public + * @static + * @sample Ink_Util_String_strcmp.html + */ + strcmp: function(str1, str2) { + return ((str1 === str2) ? 0 : ((str1 > str2) ? 1 : -1)); + }, + + /** + * Splits a string into smaller chunks + * + * @method packetize + * @param {String} str String to divide + * @param {Number} maxLen Maximum chunk size (in characters) + * @return {Array} Chunks of the original string + * @public + * @static + * @sample Ink_Util_String_packetize.html + */ + packetize: function(str, maxLen) { + var len = str.length; + var parts = new Array( Math.ceil(len / maxLen) ); + var chars = str.split(''); + var sz, i = 0; + while (len) { + sz = Math.min(maxLen, len); + parts[i++] = chars.splice(0, sz).join(''); + len -= sz; + } + return parts; + } + }; + + return InkUtilString; + +}); + +/** + * URL Utilities + * @module Ink.Util.Url_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Url', '1', [], function() { + + 'use strict'; + + /** + * @namespace Ink.Util.Url_1 + */ + var Url = { + + /** + * Auxiliary string for encoding + * + * @property _keyStr + * @type {String} + * @readOnly + * @private + */ + _keyStr : 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', + + + /** + * Gets URL of current page + * + * @method getUrl + * @return Current URL + * @public + * @static + * @sample Ink_Util_Url_getUrl.html + */ + getUrl: function() + { + return window.location.href; + }, + + /** + * Generates an URL string. + * + * @method genQueryString + * @param {String} uri Base URL + * @param {Object} params Object to transform to query string + * @return {String} URI with query string set + * @public + * @static + * @sample Ink_Util_Url_genQueryString.html + */ + genQueryString: function(uri, params) { + var hasQuestionMark = uri.indexOf('?') !== -1; + var sep, pKey, pValue, parts = [uri]; + + for (pKey in params) { + if (params.hasOwnProperty(pKey)) { + if (!hasQuestionMark) { + sep = '?'; + hasQuestionMark = true; + } else { + sep = '&'; + } + pValue = params[pKey]; + if (typeof pValue !== 'number' && !pValue) { + pValue = ''; + } + parts = parts.concat([sep, encodeURIComponent(pKey), '=', encodeURIComponent(pValue)]); + } + } + + return parts.join(''); + }, + + /** + * Gets an object from an URL encoded string. + * + * @method getQueryString + * @param {String} [str] URL String. When not specified it uses the current URL. + * @return {Object} Key-Value pair object + * @public + * @static + * @sample Ink_Util_Url_getQueryString.html + */ + getQueryString: function(str) + { + var url; + if(str && typeof(str) !== 'undefined') { + url = str; + } else { + url = this.getUrl(); + } + var aParams = {}; + if(url.match(/\?(.+)/i)) { + var queryStr = url.replace(/^(.*)\?([^\#]+)(\#(.*))?/g, "$2"); + if(queryStr.length > 0) { + var aQueryStr = queryStr.split(/[;&]/); + for(var i=0; i < aQueryStr.length; i++) { + var pairVar = aQueryStr[i].split('='); + aParams[decodeURIComponent(pairVar[0])] = (typeof(pairVar[1]) !== 'undefined' && pairVar[1]) ? decodeURIComponent(pairVar[1]) : false; + } + } + } + return aParams; + }, + + /** + * Gets the URL hash value + * + * @method getAnchor + * @param {String} [str] URL String. Defaults to current page URL. + * @return {String|Boolean} Hash in the URL. If there's no hash, returns false. + * @public + * @static + * @sample Ink_Util_Url_getAnchor.html + */ + getAnchor: function(str) + { + var url; + if(str && typeof(str) !== 'undefined') { + url = str; + } else { + url = this.getUrl(); + } + var anchor = false; + if(url.match(/#(.+)/)) { + anchor = url.replace(/([^#]+)#(.*)/, "$2"); + } + return anchor; + }, + + /** + * Gets the anchor string of an URL + * + * @method getAnchorString + * @param {String} [string] URL to parse. Defaults to current URL. + * @return {Object} Key-value pair object of the URL's hashtag 'variables' + * @public + * @static + * @sample Ink_Util_Url_getAnchorString.html + */ + getAnchorString: function(string) + { + var url; + if(string && typeof(string) !== 'undefined') { + url = string; + } else { + url = this.getUrl(); + } + var aParams = {}; + if(url.match(/#(.+)/i)) { + var anchorStr = url.replace(/^([^#]+)#(.*)?/g, "$2"); + if(anchorStr.length > 0) { + var aAnchorStr = anchorStr.split(/[;&]/); + for(var i=0; i < aAnchorStr.length; i++) { + var pairVar = aAnchorStr[i].split('='); + aParams[decodeURIComponent(pairVar[0])] = (typeof(pairVar[1]) !== 'undefined' && pairVar[1]) ? decodeURIComponent(pairVar[1]) : false; + } + } + } + return aParams; + }, + + + /** + * Parses URL string into URL parts + * + * @method parseUrl + * @param {String} url URL to be parsed + * @return {Object} Parsed URL as a key-value object. + * @public + * @static + * @sample Ink_Util_Url_parseUrl.html + */ + parseUrl: function(url) { + var aURL = {}; + if(url && typeof url === 'string') { + if(url.match(/^([^:]+):\/\//i)) { + var re = /^([^:]+):\/\/([^\/]*)\/?([^\?#]*)\??([^#]*)#?(.*)/i; + if(url.match(re)) { + aURL.scheme = url.replace(re, "$1"); + aURL.host = url.replace(re, "$2"); + aURL.path = '/'+url.replace(re, "$3"); + aURL.query = url.replace(re, "$4") || false; + aURL.fragment = url.replace(re, "$5") || false; + } + } else { + var re1 = new RegExp("^([^\\?]+)\\?([^#]+)#(.*)", "i"); + var re2 = new RegExp("^([^\\?]+)\\?([^#]+)#?", "i"); + var re3 = new RegExp("^([^\\?]+)\\??", "i"); + if(url.match(re1)) { + aURL.scheme = false; + aURL.host = false; + aURL.path = url.replace(re1, "$1"); + aURL.query = url.replace(re1, "$2"); + aURL.fragment = url.replace(re1, "$3"); + } else if(url.match(re2)) { + aURL.scheme = false; + aURL.host = false; + aURL.path = url.replace(re2, "$1"); + aURL.query = url.replace(re2, "$2"); + aURL.fragment = false; + } else if(url.match(re3)) { + aURL.scheme = false; + aURL.host = false; + aURL.path = url.replace(re3, "$1"); + aURL.query = false; + aURL.fragment = false; + } + } + if(aURL.host) { + var regPort = /^(.*?)\\:(\\d+)$/i; + // check for port + if(aURL.host.match(regPort)) { + var tmpHost1 = aURL.host; + aURL.host = tmpHost1.replace(regPort, "$1"); + aURL.port = tmpHost1.replace(regPort, "$2"); + } else { + aURL.port = false; + } + // check for user and pass + if(aURL.host.match(/@/i)) { + var tmpHost2 = aURL.host; + aURL.host = tmpHost2.split('@')[1]; + var tmpUserPass = tmpHost2.split('@')[0]; + if(tmpUserPass.match(/\:/)) { + aURL.user = tmpUserPass.split(':')[0]; + aURL.pass = tmpUserPass.split(':')[1]; + } else { + aURL.user = tmpUserPass; + aURL.pass = false; + } + } + } + } + return aURL; + }, + + /** + * Formats an URL object into an URL string. + * + * @method format + * @param urlObj Window.location, a.href, or parseUrl object to format + * @return {String} Full URL. + */ + format: function (urlObj) { + var protocol = ''; + var host = ''; + var path = ''; + var frag = ''; + var query = ''; + + if (typeof urlObj.protocol === 'string') { + protocol = urlObj.protocol + '//'; // here it comes with the colon + } else if (typeof urlObj.scheme === 'string') { + protocol = urlObj.scheme + '://'; + } + + host = urlObj.host || urlObj.hostname || ''; + path = urlObj.path || ''; + + if (typeof urlObj.query === 'string') { + query = urlObj.query; + } else if (typeof urlObj.search === 'string') { + query = urlObj.search.replace(/^\?/, ''); + } + if (typeof urlObj.fragment === 'string') { + frag = urlObj.fragment; + } else if (typeof urlObj.hash === 'string') { + frag = urlObj.hash.replace(/#$/, ''); + } + + return [ + protocol, + host, + path, + query && '?' + query, + frag && '#' + frag + ].join(''); + }, + + /** + * Gets the last loaded script element + * + * @method currentScriptElement + * @param {String} [match] String to match against the script src attribute + * @return {DOMElement|Boolean} Returns the `script` DOM Element or false if unable to find it. + * @public + * @static + * @sample Ink_Util_Url_currentScriptElement.html + */ + currentScriptElement: function(match) + { + var aScripts = document.getElementsByTagName('script'); + if(typeof(match) === 'undefined') { + if(aScripts.length > 0) { + return aScripts[(aScripts.length - 1)]; + } else { + return false; + } + } else { + var curScript = false; + var re = new RegExp(""+match+"", "i"); + for(var i=0, total = aScripts.length; i < total; i++) { + curScript = aScripts[i]; + if(re.test(curScript.src)) { + return curScript; + } + } + return false; + } + }, + + + /* + base64Encode: function(string) + { + /** + * --function {String} ? + * --Convert a string to BASE 64 + * @param {String} string - string to convert + * @return base64 encoded string + * + * + if(!SAPO.Utility.String || typeof(SAPO.Utility.String) === 'undefined') { + throw "SAPO.Utility.Url.base64Encode depends of SAPO.Utility.String, which has not been referred."; + } + + var output = ""; + var chr1, chr2, chr3, enc1, enc2, enc3, enc4; + var i = 0; + + var input = SAPO.Utility.String.utf8Encode(string); + + while (i < input.length) { + + chr1 = input.charCodeAt(i++); + chr2 = input.charCodeAt(i++); + chr3 = input.charCodeAt(i++); + + enc1 = chr1 >> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); + enc4 = chr3 & 63; + + if (isNaN(chr2)) { + enc3 = enc4 = 64; + } else if (isNaN(chr3)) { + enc4 = 64; + } + + output = output + + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); + } + return output; + }, + base64Decode: function(string) + { + * --function {String} ? + * Decode a BASE 64 encoded string + * --param {String} string base64 encoded string + * --return string decoded + if(!SAPO.Utility.String || typeof(SAPO.Utility.String) === 'undefined') { + throw "SAPO.Utility.Url.base64Decode depends of SAPO.Utility.String, which has not been referred."; + } + + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + + var input = string.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + + while (i < input.length) { + + enc1 = this._keyStr.indexOf(input.charAt(i++)); + enc2 = this._keyStr.indexOf(input.charAt(i++)); + enc3 = this._keyStr.indexOf(input.charAt(i++)); + enc4 = this._keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output = output + String.fromCharCode(chr1); + + if (enc3 !== 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 !== 64) { + output = output + String.fromCharCode(chr3); + } + } + output = SAPO.Utility.String.utf8Decode(output); + return output; + }, + */ + + + /** + * Debug function ? + * + * @method _debug + * @private + * @static + */ + _debug: function() {} + + }; + + return Url; + +}); + +/** + * Validation Utilities + * @module Ink.Util.Validator_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Validator', '1', [], function() { + + 'use strict'; + + /** + * @namespace Ink.Util.Validator_1 + */ + var Validator = { + + /** + * List of country codes avaible for the isPhone method + * + * @property _countryCodes + * @type {Array} + * @private + * @static + * @readOnly + */ + _countryCodes : [ + 'AO', + 'CV', + 'MZ', + 'PT' + ], + + /** + * International number for portugal + * + * @property _internacionalPT + * @type {Number} + * @private + * @static + * @readOnly + * + */ + _internacionalPT: 351, + + /** + * List of all portuguese number prefixes + * + * @property _indicativosPT + * @type {Object} + * @private + * @static + * @readOnly + * + */ + _indicativosPT: { + 21: 'lisboa', + 22: 'porto', + 231: 'mealhada', + 232: 'viseu', + 233: 'figueira da foz', + 234: 'aveiro', + 235: 'arganil', + 236: 'pombal', + 238: 'seia', + 239: 'coimbra', + 241: 'abrantes', + 242: 'ponte de sôr', + 243: 'santarém', + 244: 'leiria', + 245: 'portalegre', + 249: 'torres novas', + 251: 'valença', + 252: 'vila nova de famalicão', + 253: 'braga', + 254: 'peso da régua', + 255: 'penafiel', + 256: 'são joão da madeira', + 258: 'viana do castelo', + 259: 'vila real', + 261: 'torres vedras', + 262: 'caldas da raínha', + 263: 'vila franca de xira', + 265: 'setúbal', + 266: 'évora', + 268: 'estremoz', + 269: 'santiago do cacém', + 271: 'guarda', + 272: 'castelo branco', + 273: 'bragança', + 274: 'proença-a-nova', + 275: 'covilhã', + 276: 'chaves', + 277: 'idanha-a-nova', + 278: 'mirandela', + 279: 'moncorvo', + 281: 'tavira', + 282: 'portimão', + 283: 'odemira', + 284: 'beja', + 285: 'moura', + 286: 'castro verde', + 289: 'faro', + 291: 'funchal, porto santo', + 292: 'corvo, faial, flores, horta, pico', + 295: 'angra do heroísmo, graciosa, são jorge, terceira', + 296: 'ponta delgada, são miguel, santa maria', + + 91 : 'rede móvel 91 (Vodafone / Yorn)', + 93 : 'rede móvel 93 (Optimus)', + 96 : 'rede móvel 96 (TMN)', + 92 : 'rede móvel 92 (TODOS)', + //925 : 'rede móvel 925 (TMN 925)', + //926 : 'rede móvel 926 (TMN 926)', + //927 : 'rede móvel 927 (TMN 927)', + //922 : 'rede móvel 922 (Phone-ix)', + + 707: 'número único', + 760: 'número único', + 800: 'número grátis', + 808: 'chamada local', + 30: 'voip' + }, + /** + * International number for Cabo Verde + * + * @property _internacionalCV + * @type {Number} + * @private + * @static + * @readOnly + */ + _internacionalCV: 238, + + /** + * List of all Cabo Verde number prefixes + * + * @property _indicativosCV + * @type {Object} + * @private + * @static + * @readOnly + */ + _indicativosCV: { + 2: 'fixo', + 91: 'móvel 91', + 95: 'móvel 95', + 97: 'móvel 97', + 98: 'móvel 98', + 99: 'móvel 99' + }, + /** + * International number for Angola + * + * @property _internacionalAO + * @type {Number} + * @private + * @static + * @readOnly + */ + _internacionalAO: 244, + + /** + * List of all Angola number prefixes + * + * @property _indicativosAO + * @type {Object} + * @private + * @static + * @readOnly + */ + _indicativosAO: { + 2: 'fixo', + 91: 'móvel 91', + 92: 'móvel 92' + }, + /** + * International number for Mozambique + * + * @property _internacionalMZ + * @type {Number} + * @private + * @static + * @readOnly + */ + _internacionalMZ: 258, + + /** + * List of all Mozambique number prefixes + * + * @property _indicativosMZ + * @type {Object} + * @private + * @static + * @readOnly + */ + _indicativosMZ: { + 2: 'fixo', + 82: 'móvel 82', + 84: 'móvel 84' + }, + + /** + * International number for Timor + * + * @property _internacionalTL + * @type {Number} + * @private + * @static + * @readOnly + */ + _internacionalTL: 670, + + /** + * List of all Timor number prefixes + * + * @property _indicativosTL + * @type {Object} + * @private + * @static + * @readOnly + */ + _indicativosTL: { + 3: 'fixo', + 7: 'móvel 7' + }, + + /** + * Regular expression groups for several groups of characters + * + * http://en.wikipedia.org/wiki/C0_Controls_and_Basic_Latin + * http://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane + * http://en.wikipedia.org/wiki/ISO_8859-1 + * + * @property _characterGroups + * @type {Object} + * @private + * @static + * @readOnly + */ + _characterGroups: { + numbers: ['0-9'], + asciiAlpha: ['a-zA-Z'], + latin1Alpha: ['a-zA-Z', '\u00C0-\u00FF'], + unicodeAlpha: ['a-zA-Z', '\u00C0-\u00FF', '\u0100-\u1FFF', '\u2C00-\uD7FF'], + /* whitespace characters */ + space: [' '], + dash: ['-'], + underscore: ['_'], + nicknamePunctuation: ['_.-'], + + singleLineWhitespace: ['\t '], + newline: ['\n'], + whitespace: ['\t\n\u000B\f\r\u00A0 '], + + asciiPunctuation: ['\u0021-\u002F', '\u003A-\u0040', '\u005B-\u0060', '\u007B-\u007E'], + latin1Punctuation: ['\u0021-\u002F', '\u003A-\u0040', '\u005B-\u0060', '\u007B-\u007E', '\u00A1-\u00BF', '\u00D7', '\u00F7'], + unicodePunctuation: ['\u0021-\u002F', '\u003A-\u0040', '\u005B-\u0060', '\u007B-\u007E', '\u00A1-\u00BF', '\u00D7', '\u00F7', '\u2000-\u206F', '\u2E00-\u2E7F', '\u3000-\u303F'] + }, + + /** + * Creates a regular expression for several character groups. + * + * @method createRegExp + * + * @param Groups* {Object} + * Groups to build regular expressions for. Possible keys are: + * + * - **numbers**: 0-9 + * - **asciiAlpha**: a-z, A-Z + * - **latin1Alpha**: asciiAlpha, plus printable characters in latin-1 + * - **unicodeAlpha**: unicode alphanumeric characters. + * - **space**: ' ', the space character. + * - **dash**: dash character. + * - **underscore**: underscore character. + * - **nicknamePunctuation**: dash, dot, underscore + * - **singleLineWhitespace**: space and tab (whitespace which only spans one line). + * - **newline**: newline character ('\n') + * - **whitespace**: whitespace characters in the ASCII character set. + * - **asciiPunctuation**: punctuation characters in the ASCII character set. + * - **latin1Punctuation**: punctuation characters in latin-1. + * - **unicodePunctuation**: punctuation characters in unicode. + * + */ + createRegExp: function (groups) { + var re = '^['; + for (var key in groups) if (groups.hasOwnProperty(key)) { + if (!(key in Validator._characterGroups)) { + throw new Error('group ' + key + ' is not a valid character group'); + } else if (groups[key]) { + re += Validator._characterGroups[key].join(''); + } + } + if (re === '^[') { + // No changes + return new RegExp('$^'); // match nothing + } + return new RegExp(re + ']*?$'); + }, + + /** + * Checks if a field has the required groups. + * + * @method checkCharacterGroups + * @param {String} s The validation string + * @param {Object} [groups]={} What groups are included. See createRegexp + * @sample Ink_Util_Validator_checkCharacterGroups.html + */ + checkCharacterGroups: function (s, groups) { + return Validator.createRegExp(groups).test(s); + }, + + /** + * Checks if a field contains unicode printable characters. + * + * @method unicode + * @param {String} s The validation string + * @param {Object} [options]={} Optional configuration object. See createRegexp + */ + unicode: function (s, options) { + return Validator.checkCharacterGroups(s, Ink.extendObj({ + unicodeAlpha: true}, options)); + }, + + /** + * Checks if a field only contains latin-1 alphanumeric characters. + * Takes options for allowing singleline whitespace, cross-line whitespace and punctuation. + * + * @method latin1 + * + * @param {String} s The validation string + * @param {Object} [options]={} Optional configuration object. See createRegexp + * @sample Ink_Util_Validator_latin1.html + */ + latin1: function (s, options) { + return Validator.checkCharacterGroups(s, Ink.extendObj({ + latin1Alpha: true}, options)); + }, + + /** + * Checks if a field only contains only ASCII alphanumeric characters. + * Takes options for allowing singleline whitespace, cross-line whitespace and punctuation. + * + * @method ascii + * + * @param {String} s The validation string + * @param {Object} [options]={} Optional configuration object. See createRegexp + * @sample Ink_Util_Validator_ascii.html + */ + ascii: function (s, options) { + return Validator.checkCharacterGroups(s, Ink.extendObj({ + asciiAlpha: true}, options)); + }, + + /** + * Checks if a number is a valid + * + * @method number + * @param {String} numb The number + * @param {Object} [options] Further options + * @param [options.decimalSep]='.' Allow decimal separator. + * @param [options.thousandSep]="," Strip this character from the number. + * @param [options.negative]=false Allow negative numbers. + * @param [options.decimalPlaces]=null Maximum number of decimal places. Use `0` for an integer number. + * @param [options.max]=null Maximum number + * @param [options.min]=null Minimum number + * @param [options.returnNumber]=false When this option is true, return the number itself when the value is valid. + * @sample Ink_Util_Validator_number.html + */ + number: function (numb, inOptions) { + numb = numb + ''; + var options = Ink.extendObj({ + decimalSep: '.', + thousandSep: '', + negative: true, + decimalPlaces: null, + maxDigits: null, + max: null, + min: null, + returnNumber: false + }, inOptions || {}); + // smart recursion thing sets up aliases for options. + if (options.thousandSep) { + numb = numb.replace(new RegExp('\\' + options.thousandSep, 'g'), ''); + options.thousandSep = ''; + return Validator.number(numb, options); + } + if (options.negative === false) { + options.min = 0; + options.negative = true; + return Validator.number(numb, options); + } + if (options.decimalSep !== '.') { + numb = numb.replace(new RegExp('\\' + options.decimalSep, 'g'), '.'); + } + + if (!/^(-)?(\d+)?(\.\d+)?$/.test(numb) || numb === '') { + return false; // forbidden character found + } + + var split; + if (options.decimalSep && numb.indexOf(options.decimalSep) !== -1) { + split = numb.split(options.decimalSep); + if (options.decimalPlaces !== null && + split[1].length > options.decimalPlaces) { + return false; + } + } else { + split = ['' + numb, '']; + } + + if (options.maxDigits!== null) { + if (split[0].replace(/-/g, '').length > options.maxDigits) { + return split; + } + } + + // Now look at the actual float + var ret = parseFloat(numb); + + if (options.maxExcl !== null && ret >= options.maxExcl || + options.minExcl !== null && ret <= options.minExcl) { + return false; + } + if (options.max !== null && ret > options.max || + options.min !== null && ret < options.min) { + return false; + } + + if (options.returnNumber) { + return ret; + } else { + return true; + } + }, + + /** + * Checks if a year is Leap "Bissexto" + * + * @method _isLeapYear + * @param {Number} year Year to be checked + * @return {Boolean} True if it is a leap year. + * @private + * @static + * @example + * Ink.requireModules(['Ink.Util.Validator_1'], function( InkValidator ){ + * console.log( InkValidator._isLeapYear( 2004 ) ); // Result: true + * console.log( InkValidator._isLeapYear( 2006 ) ); // Result: false + * }); + */ + _isLeapYear: function(year){ + + var yearRegExp = /^\d{4}$/; + + if(yearRegExp.test(year)){ + return ((year%4) ? false: ((year%100) ? true : ((year%400)? false : true)) ); + } + + return false; + }, + + /** + * Object with the date formats available for validation + * + * @property _dateParsers + * @type {Object} + * @private + * @static + * @readOnly + */ + _dateParsers: { + 'yyyy-mm-dd': {day:5, month:3, year:1, sep: '-', parser: /^(\d{4})(\-)(\d{1,2})(\-)(\d{1,2})$/}, + 'yyyy/mm/dd': {day:5, month:3, year:1, sep: '/', parser: /^(\d{4})(\/)(\d{1,2})(\/)(\d{1,2})$/}, + 'yy-mm-dd': {day:5, month:3, year:1, sep: '-', parser: /^(\d{2})(\-)(\d{1,2})(\-)(\d{1,2})$/}, + 'yy/mm/dd': {day:5, month:3, year:1, sep: '/', parser: /^(\d{2})(\/)(\d{1,2})(\/)(\d{1,2})$/}, + 'dd-mm-yyyy': {day:1, month:3, year:5, sep: '-', parser: /^(\d{1,2})(\-)(\d{1,2})(\-)(\d{4})$/}, + 'dd/mm/yyyy': {day:1, month:3, year:5, sep: '/', parser: /^(\d{1,2})(\/)(\d{1,2})(\/)(\d{4})$/}, + 'dd-mm-yy': {day:1, month:3, year:5, sep: '-', parser: /^(\d{1,2})(\-)(\d{1,2})(\-)(\d{2})$/}, + 'dd/mm/yy': {day:1, month:3, year:5, sep: '/', parser: /^(\d{1,2})(\/)(\d{1,2})(\/)(\d{2})$/} + }, + + /** + * Gets the number of days in a given month of a given year + * + * @method _daysInMonth + * @param {Number} _m Month (1 to 12) + * @param {Number} _y Year + * @return {Number} Returns the number of days in a given month of a given year + * @private + * @static + * @example + * Ink.requireModules(['Ink.Util.Validator_1'], function( InkValidator ){ + * console.log( InkValidator._daysInMonth( 2, 2004 ) ); // Result: 29 + * console.log( InkValidator._daysInMonth( 2, 2006 ) ); // Result: 28 + * }); + */ + _daysInMonth: function(_m,_y){ + var nDays=0; + + _m = parseInt(_m, 10); + _y = parseInt(_y, 10); + + if(_m===1 || _m===3 || _m===5 || _m===7 || _m===8 || _m===10 || _m===12) { + nDays= 31; + } else if ( _m===4 || _m===6 || _m===9 || _m===11) { + nDays = 30; + } else if (_m===2) { + if((_y%400===0) || (_y%4===0 && _y%100!==0)) { + nDays = 29; + } else { + nDays = 28; + } + } + + return nDays; + }, + + + + /** + * Checks if a date is valid + * + * @method _isValidDate + * @param {Number} year + * @param {Number} month + * @param {Number} day + * @return {Boolean} True if valid + * @private + * @static + * @example + * Ink.requireModules(['Ink.Util.Validator_1'], function( InkValidator ){ + * console.log( InkValidator._isValidDate( 2004, 2, 29 ) ); // Result: true + * console.log( InkValidator._isValidDate( 2006, 2, 29 ) ); // Result: false + * }); + */ + _isValidDate: function(year, month, day){ + + var yearRegExp = /^\d{4}$/; + var validOneOrTwo = /^\d{1,2}$/; + if(yearRegExp.test(year) && validOneOrTwo.test(month) && validOneOrTwo.test(day)){ + if(month>=1 && month<=12 && day>=1 && this._daysInMonth(month,year)>=day){ + return true; + } + } + + return false; + }, + + /** + * Checks if an email is valid + * + * @method mail + * @param {String} email + * @return {Boolean} True if it's valid + * @public + * @static + * @sample Ink_Util_Validator_mail.html + */ + email: function(email) + { + var emailValido = new RegExp("^[_a-z0-9-]+((\\.|\\+)[_a-z0-9-]+)*@([\\w]*-?[\\w]*\\.)+[a-z]{2,4}$", "i"); + if(!emailValido.test(email)) { + return false; + } else { + return true; + } + }, + + /** + * Deprecated. Alias for email(). Use it instead. + * + * @method mail + * @public + * @static + * @private + */ + mail: function (mail) { return Validator.email(mail); }, + + /** + * Checks if an url is valid + * + * @method url + * @param {String} url URL to be checked + * @param {Boolean} [full] If true, validates a full URL (one that should start with 'http') + * @return {Boolean} True if valid + * @public + * @static + * @sample Ink_Util_Validator_url.html + */ + url: function(url, full) + { + if(typeof full === "undefined" || full === false) { + var reHTTP = new RegExp("(^(http\\:\\/\\/|https\\:\\/\\/)(.+))", "i"); + if(reHTTP.test(url) === false) { + url = 'http://'+url; + } + } + + var reUrl = new RegExp("^(http:\\/\\/|https:\\/\\/)([\\w]*(-?[\\w]*)*\\.)+[a-z]{2,4}", "i"); + if(reUrl.test(url) === false) { + return false; + } else { + return true; + } + }, + + /** + * Checks if a phone is valid in Portugal + * + * @method isPTPhone + * @param {Number} phone Phone number to be checked + * @return {Boolean} True if it's a valid Portuguese Phone + * @public + * @static + * @sample Ink_Util_Validator_isPTPhone.html + */ + isPTPhone: function(phone) + { + + phone = phone.toString(); + var aInd = []; + for(var i in this._indicativosPT) { + if(typeof(this._indicativosPT[i]) === 'string') { + aInd.push(i); + } + } + var strInd = aInd.join('|'); + + var re351 = /^(00351|\+351)/; + if(re351.test(phone)) { + phone = phone.replace(re351, ""); + } + + var reSpecialChars = /(\s|\-|\.)+/g; + phone = phone.replace(reSpecialChars, ''); + //var reInt = new RegExp("\\d", "i"); + var reInt = /[\d]{9}/i; + if(phone.length === 9 && reInt.test(phone)) { + var reValid = new RegExp("^("+strInd+")"); + if(reValid.test(phone)) { + return true; + } + } + + return false; + }, + + /** + * Alias function for isPTPhone + * + * @method isPortuguesePhone + * @param {Number} phone Phone number to be checked + * @return {Boolean} True if it's a valid Portuguese Phone + * @public + * @static + */ + isPortuguesePhone: function(phone) + { + return this.isPTPhone(phone); + }, + + /** + * Checks if a phone is valid in Cabo Verde + * + * @method isCVPhone + * @param {Number} phone Phone number to be checked + * @return {Boolean} True if it's a valid Cape Verdean Phone + * @public + * @static + * @sample Ink_Util_Validator_isCVPhone.html + */ + isCVPhone: function(phone) + { + phone = phone.toString(); + var aInd = []; + for(var i in this._indicativosCV) { + if(typeof(this._indicativosCV[i]) === 'string') { + aInd.push(i); + } + } + var strInd = aInd.join('|'); + + var re238 = /^(00238|\+238)/; + if(re238.test(phone)) { + phone = phone.replace(re238, ""); + } + + var reSpecialChars = /(\s|\-|\.)+/g; + phone = phone.replace(reSpecialChars, ''); + //var reInt = new RegExp("\\d", "i"); + var reInt = /[\d]{7}/i; + if(phone.length === 7 && reInt.test(phone)) { + var reValid = new RegExp("^("+strInd+")"); + if(reValid.test(phone)) { + return true; + } + } + + return false; + }, + + /** + * Checks if a phone is valid in Angola + * + * @method isAOPhone + * @param {Number} phone Phone number to be checked + * @return {Boolean} True if it's a valid Angolan Phone + * @public + * @static + * @sample Ink_Util_Validator_isAOPhone.html + */ + isAOPhone: function(phone) + { + + phone = phone.toString(); + var aInd = []; + for(var i in this._indicativosAO) { + if(typeof(this._indicativosAO[i]) === 'string') { + aInd.push(i); + } + } + var strInd = aInd.join('|'); + + var re244 = /^(00244|\+244)/; + if(re244.test(phone)) { + phone = phone.replace(re244, ""); + } + + var reSpecialChars = /(\s|\-|\.)+/g; + phone = phone.replace(reSpecialChars, ''); + //var reInt = new RegExp("\\d", "i"); + var reInt = /[\d]{9}/i; + if(phone.length === 9 && reInt.test(phone)) { + var reValid = new RegExp("^("+strInd+")"); + if(reValid.test(phone)) { + return true; + } + } + + return false; + }, + + /** + * Checks if a phone is valid in Mozambique + * + * @method isMZPhone + * @param {Number} phone Phone number to be checked + * @return {Boolean} True if it's a valid Mozambican Phone + * @public + * @static + * @sample Ink_Util_Validator_isMZPhone.html + */ + isMZPhone: function(phone) + { + + phone = phone.toString(); + var aInd = []; + for(var i in this._indicativosMZ) { + if(typeof(this._indicativosMZ[i]) === 'string') { + aInd.push(i); + } + } + var strInd = aInd.join('|'); + var re258 = /^(00258|\+258)/; + if(re258.test(phone)) { + phone = phone.replace(re258, ""); + } + + var reSpecialChars = /(\s|\-|\.)+/g; + phone = phone.replace(reSpecialChars, ''); + //var reInt = new RegExp("\\d", "i"); + var reInt = /[\d]{8,9}/i; + if((phone.length === 9 || phone.length === 8) && reInt.test(phone)) { + var reValid = new RegExp("^("+strInd+")"); + if(reValid.test(phone)) { + if(phone.indexOf('2') === 0 && phone.length === 8) { + return true; + } else if(phone.indexOf('8') === 0 && phone.length === 9) { + return true; + } + } + } + + return false; + }, + + /** + * Checks if a phone is valid in Timor + * + * @method isTLPhone + * @param {Number} phone Phone number to be checked + * @return {Boolean} True if it's a valid phone from Timor-Leste + * @public + * @static + * @sample Ink_Util_Validator_isTLPhone.html + */ + isTLPhone: function(phone) + { + + phone = phone.toString(); + var aInd = []; + for(var i in this._indicativosTL) { + if(typeof(this._indicativosTL[i]) === 'string') { + aInd.push(i); + } + } + var strInd = aInd.join('|'); + var re670 = /^(00670|\+670)/; + if(re670.test(phone)) { + phone = phone.replace(re670, ""); + } + + + var reSpecialChars = /(\s|\-|\.)+/g; + phone = phone.replace(reSpecialChars, ''); + //var reInt = new RegExp("\\d", "i"); + var reInt = /[\d]{7}/i; + if(phone.length === 7 && reInt.test(phone)) { + var reValid = new RegExp("^("+strInd+")"); + if(reValid.test(phone)) { + return true; + } + } + + return false; + }, + + /** + * Checks if a number is a phone number. + * This method validates the number in all country codes available the ones set in the second param + * + * @method isPhone + * @param {String} phone Phone number to validate + * @param {String|Array} [countryCode] Country code or array of countries to validate + * @return {Boolean} True if it's a valid phone in any country available + * @public + * @static + * @sample Ink_Util_Validator_isPhone.html + */ + isPhone: function(){ + var index; + + if(arguments.length===0){ + return false; + } + + var phone = arguments[0]; + + if(arguments.length>1){ + if(arguments[1].constructor === Array){ + var func; + for(index=0; index= 0 && match[i-1] <= 100){ + valid = true; + } else { + return false; + } + } + // check 0 to 255 values + if(i===1 || i===3 || i===5 && (typeof match[i+1] === "undefined" || match[i+1] === "")){ + if(typeof match[i] !== "undefined" && match[i] >= 0 && match[i] <= 255){ + valid = true; + } else { + return false; + } + } + } + } + + // hsl range check + if((match = hsl.exec(str)) !== null || (match = hsla.exec(str)) !== null){ + i = match.length; + while(i--){ + // check percentage values + if(i===3 || i===5){ + if(typeof match[i-1] !== "undefined" && typeof match[i] !== "undefined" && match[i] !== "" && + match[i-1] >= 0 && match[i-1] <= 100){ + valid = true; + } else { + return false; + } + } + // check 0 to 360 value + if(i===1){ + if(typeof match[i] !== "undefined" && match[i] >= 0 && match[i] <= 360){ + valid = true; + } else { + return false; + } + } + } + } + + return valid; + }, + + /** + * Checks if the value is a valid IP. + * + * @method isIP + * @param {String} value Value to be checked + * @param {String} ipType Type of IP to be validated. The values are: ipv4, ipv6. By default is ipv4. + * @return {Boolean} True if the value is a valid IP address. False if not. + * @sample Ink_Util_Validator_isIP.html + */ + isIP: function( value, ipType ){ + if( typeof value !== 'string' ){ + return false; + } + + ipType = (ipType || 'ipv4').toLowerCase(); + + switch( ipType ){ + case 'ipv4': + return (/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/).test(value); + case 'ipv6': + return (/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/).test(value); + default: + return false; + } + }, + + /** + * Credit Card specifications, to be used in the credit card verification. + * + * @property _creditCardSpecs + * @type {Object} + * @private + */ + _creditCardSpecs: { + 'default': { + 'length': '13,14,15,16,17,18,19', + 'prefix': /^.+/, + 'luhn': true + }, + + 'american express': { + 'length': '15', + 'prefix': /^3[47]/, + 'luhn' : true + }, + + 'diners club': { + 'length': '14,16', + 'prefix': /^36|55|30[0-5]/, + 'luhn' : true + }, + + 'discover': { + 'length': '16', + 'prefix': /^6(?:5|011)/, + 'luhn' : true + }, + + 'jcb': { + 'length': '15,16', + 'prefix': /^3|1800|2131/, + 'luhn' : true + }, + + 'maestro': { + 'length': '16,18', + 'prefix': /^50(?:20|38)|6(?:304|759)/, + 'luhn' : true + }, + + 'mastercard': { + 'length': '16', + 'prefix': /^5[1-5]/, + 'luhn' : true + }, + + 'visa': { + 'length': '13,16', + 'prefix': /^4/, + 'luhn' : true + } + }, + + /** + * Luhn function, to be used when validating credit cards + * + */ + _luhn: function (num){ + + num = parseInt(num,10); + + if ( (typeof num !== 'number') && (num % 1 !== 0) ){ + // Luhn can only be used on nums! + return false; + } + + num = num+''; + // Check num length + var length = num.length; + + // Checksum of the card num + var + i, checksum = 0 + ; + + for (i = length - 1; i >= 0; i -= 2) + { + // Add up every 2nd digit, starting from the right + checksum += parseInt(num.substr(i, 1),10); + } + + for (i = length - 2; i >= 0; i -= 2) + { + // Add up every 2nd digit doubled, starting from the right + var dbl = parseInt(num.substr(i, 1) * 2,10); + + // Subtract 9 from the dbl where value is greater than 10 + checksum += (dbl >= 10) ? (dbl - 9) : dbl; + } + + // If the checksum is a multiple of 10, the number is valid + return (checksum % 10 === 0); + }, + + /** + * Checks if a number is of a specific credit card type + * @method isCreditCard + * @param {String} num Number to be validates + * @param {String|Array} creditCardType Credit card type. See _creditCardSpecs for the list of supported values. + * @return {Boolean} + * @sample Ink_Util_Validator_isCreditCard.html + */ + isCreditCard: function(num, creditCardType){ + + if ( /\d+/.test(num) === false ){ + return false; + } + + if ( typeof creditCardType === 'undefined' ){ + creditCardType = 'default'; + } + else if ( creditCardType instanceof Array ){ + var i, ccLength = creditCardType.length; + for ( i=0; i < ccLength; i++ ){ + // Test each type for validity + if (this.isCreditCard(num, creditCardType[i]) ){ + return true; + } + } + + return false; + } + + // Check card type + creditCardType = creditCardType.toLowerCase(); + + if ( typeof this._creditCardSpecs[creditCardType] === 'undefined' ){ + return false; + } + + // Check card number length + var length = num.length+''; + + // Validate the card length by the card type + if ( this._creditCardSpecs[creditCardType]['length'].split(",").indexOf(length) === -1 ){ + return false; + } + + // Check card number prefix + if ( !this._creditCardSpecs[creditCardType]['prefix'].test(num) ){ + return false; + } + + // No Luhn check required + if (this._creditCardSpecs[creditCardType]['luhn'] === false){ + return true; + } + + return this._luhn(num); + } + }; + + return Validator; + +}); + +/** + * Animate.css Utility + * + * This module is a wrapper around animate.css's CSS classes to produce animation. + * It contains options to ease common tasks, like listen to the "animationend" event with all necessary prefixes, remove the necessary class names when the animation finishes, or configure the duration of your animation with the necessary browser prefix. + * + * @module Ink.UI.Animate_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.Animate', 1, ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Css_1'], function (Common, InkEvent, Css) { + 'use strict'; + + var animationPrefix = (function (el) { + return ('animationName' in el.style) ? 'animation' : + ('oAnimationName' in el.style) ? 'oAnimation' : + ('msAnimationName' in el.style) ? 'msAnimation' : + ('webkitAnimationName' in el.style) ? 'webkitAnimation' : null; + }(document.createElement('div'))); + + var animationEndEventName = { + animation: 'animationend', + oAnimation: 'oanimationend', + msAnimation: 'MSAnimationEnd', + webkitAnimation: 'webkitAnimationEnd' + }[animationPrefix]; + + /** + * @class Ink.UI.Animate_1 + * @constructor + * + * @param {DOMElement} element Animated element + * @param {Object} options Options object + * @param {String} options.animation Animation name + * @param {String|Number} [options.duration] Duration name (fast|medium|slow) or duration in milliseconds. Defaults to 'medium'. + * @param {Boolean} [options.removeClass] Flag to remove the CSS class when finished animating. Defaults to false. + * @param {Function} [options.onEnd] Callback for the animation end + * + * @sample Ink_UI_Animate_1.html + * + **/ + function Animate() { + Common.BaseUIComponent.apply(this, arguments); + } + + Animate._name = 'Animate_1'; + + Animate._optionDefinition = { + trigger: ['Element', null], + duration: ['String', 'slow'], // Actually a string with a duration name, or a number of ms + animation: ['String'], + removeClass: ['Boolean', true], + onEnd: ['Function', function () {}] + }; + + Animate.prototype._init = function () { + if (!isNaN(parseInt(this._options.duration, 10))) { + this._options.duration = parseInt(this._options.duration, 10); + } + + if (this._options.trigger) { + InkEvent.observe(this._options.trigger, 'click', Ink.bind(function () { + this.animate(); + }, this)); // later + } else { + this.animate(); + } + }; + + Animate.prototype.animate = function () { + Animate.animate(this._element, this._options.animation, this._options); + }; + + Ink.extendObj(Animate, { + /** + * Browser prefix for the CSS animations. + * + * @property _animationPrefix + * @private + **/ + _animationPrefix: animationPrefix, + + /** + * Boolean which says whether this browser has CSS3 animation support. + * + * @property animationSupported + **/ + animationSupported: !!animationPrefix, + + /** + * Prefixed 'animationend' event name. + * + * @property animationEndEventName + **/ + animationEndEventName: animationEndEventName, + + /** + * Animate an element using one of the animate.css classes + * + * **Note: This is a utility method inside the `Animate` class, which you can access through `Animate.animate()`. Do not mix these up.** + * + * @static + * @method animate + * @param element {DOMElement} animated element + * @param animation {String} animation name + * @param [options] {Object} + * @param [options.onEnd=null] {Function} callback for animation end + * @param [options.removeClass=false] {Boolean} whether to remove the Css class when finished + * @param [options.duration=medium] {String|Number} duration name (fast|medium|slow) or duration in ms + * + * @sample Ink_UI_Animate_1_animate.html + **/ + animate: function (element, animation, options) { + element = Common.elOrSelector(element); + + if (typeof options === 'number' || typeof options === 'string') { + options = { duration: options }; + } else if (!options) { + options = {}; + } + + if (typeof arguments[3] === 'function') { + options.onEnd = arguments[3]; + } + + if (typeof options.duration !== 'number' && typeof options.duration !== 'string') { + options.duration = 400; + } + + if (!Animate.animationSupported) { + if (options.onEnd) { + setTimeout(function () { + options.onEnd(null); + }, 0); + } + return; + } + + if (typeof options.duration === 'number') { + element.style[animationPrefix + 'Duration'] = options.duration + 'ms'; + } else if (typeof options.duration === 'string') { + Css.addClassName(element, options.duration); + } + + Css.addClassName(element, ['animated', animation]); + + function onAnimationEnd(event) { + if (event.target !== element) { return; } + if (event.animationName !== animation) { return; } + if (options.onEnd) { options.onEnd(event); } + if (options.removeClass) { + Css.removeClassName(element, animation); + } + if (typeof options.duration === 'string') { + Css.removeClassName(element, options.duration); + } + element.removeEventListener(animationEndEventName, onAnimationEnd, false); + } + + element.addEventListener(animationEndEventName, onAnimationEnd, false); + } + }); + + Common.createUIComponent(Animate); + + return Animate; +}); + +/** + * Flexible Carousel + * @module Ink.UI.Carousel_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.Carousel', '1', + ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Css_1', 'Ink.Dom.Element_1', 'Ink.UI.Pagination_1', 'Ink.Dom.Browser_1', 'Ink.Dom.Selector_1'], + function(Common, InkEvent, Css, InkElement, Pagination, Browser/*, Selector*/) { + 'use strict'; + + /* + * TODO: + * keyboardSupport + */ + + function limitRange(n, min, max) { + return Math.min(max, Math.max(min, n)); + } + + var requestAnimationFrame = window.requestAnimationFrame || + window.mozRequestAnimationFrame || + window.webkitRequestAnimationFrame || + function (cb) {return setTimeout(cb, 1000 / 30); }; + + /** + * @class Ink.UI.Carousel_1 + * @constructor + * + * @param {String|DOMElement} selector DOM element or element id + * @param {Object} [options] Carousel Options + * @param {Integer} [options.autoAdvance] Milliseconds to wait before auto-advancing pages. Set to 0 to disable auto-advance. Defaults to 0. + * @param {String} [options.axis] Axis of the carousel. Set to 'y' for a vertical carousel. Defaults to 'x'. + * @param {Number} [options.initialPage] Initial index page of the carousel. Defaults to 0. + * @param {Boolean} [options.spaceAfterLastSlide=true] If there are not enough slides to fill the full width of the last page, leave white space. Defaults to `true`. + * @param {Boolean} [options.swipe] Enable swipe support if available. Defaults to true. + * @param {Mixed} [options.pagination] Either an ul element to add pagination markup to or an `Ink.UI.Pagination` instance to use. + * @param {Function} [options.onChange] Callback to be called when the page changes. + * + * @sample Ink_UI_Carousel_1.html + */ + function Carousel() { + Common.BaseUIComponent.apply(this, arguments); + } + + Carousel._name = 'Carousel_1'; + + Carousel._optionDefinition = { + autoAdvance: ['Integer', 0], + axis: ['String', 'x'], + initialPage: ['Integer', 0], + spaceAfterLastSlide: ['Boolean', true], + hideLast: ['Boolean', false], + // [3.1.0] Deprecate "center". It is only needed when things are of unknown widths. + center: ['Boolean', false], + keyboardSupport:['Boolean', false], + pagination: ['String', null], + onChange: ['Function', null], + onInit: ['Function', function () {}], + swipe: ['Boolean', true] + // TODO exponential swipe + // TODO specify break point for next page when moving finger + }; + + Carousel.prototype = { + _init: function () { + this._handlers = { + paginationChange: Ink.bindMethod(this, '_onPaginationChange'), + windowResize: InkEvent.throttle(Ink.bindMethod(this, 'refit'), 200) + }; + + InkEvent.observe(window, 'resize', this._handlers.windowResize); + + this._isY = (this._options.axis === 'y'); + + var ulEl = Ink.s('ul.stage', this._element); + this._ulEl = ulEl; + + InkElement.removeTextNodeChildren(ulEl); + + if (this._options.pagination == null) { + this._currentPage = this._options.initialPage; + } + + this.refit(); // recalculate this._numPages + + if (this._isY) { + // Override white-space: no-wrap which is only necessary to make sure horizontal stuff stays horizontal, but breaks stuff intended to be vertical. + this._ulEl.style.whiteSpace = 'normal'; + } + + if (this._options.swipe) { + InkEvent.observe(this._element, 'touchstart', Ink.bindMethod(this, '_onTouchStart')); + InkEvent.observe(this._element, 'touchmove', Ink.bindMethod(this, '_onTouchMove')); + InkEvent.observe(this._element, 'touchend', Ink.bindMethod(this, '_onTouchEnd')); + } + + this._setUpPagination(); + this._setUpAutoAdvance(); + this._setUpHider(); + + this._options.onInit.call(this, this); + }, + + /** + * Repositions elements around. + * Measure the carousel once again, adjusting the involved elements' sizes. This is called automatically when the window resizes, in order to cater for changes from responsive media queries, for instance. + * + * @method refit + * @public + */ + refit: function() { + var _isY = this._isY; + + var size = function (elm, perpendicular) { + if (!elm) { return 0; } + + if (!perpendicular) { + return InkElement.outerDimensions(elm)[_isY ? 1 : 0]; + } else { + return InkElement.outerDimensions(elm)[_isY ? 0 : 1]; + } + }; + + this._liEls = Ink.ss('li.slide', this._ulEl); + var numSlides = this._liEls.length; + + var contRect = this._ulEl.getBoundingClientRect(); + this._ctnLength = _isY ? contRect.bottom - contRect.top : contRect.right - contRect.left; + this._elLength = size(this._liEls[0]); + this._slidesPerPage = Math.floor( this._ctnLength / this._elLength ) || 1; + if (!isFinite(this._slidesPerPage)) { this._slidesPerPage = 1; } + + var numPages = Math.ceil( numSlides / this._slidesPerPage ); + var numPagesChanged = this._numPages !== numPages; + this._numPages = numPages; + this._deltaLength = this._slidesPerPage * this._elLength; + + this._center(); + this._updateHider(); + this._IE7(); + + if (this._pagination && numPagesChanged) { + this._pagination.setSize(this._numPages); + } + this.setPage(limitRange(this.getPage(), 0, this._numPages)); + }, + + _setUpPagination: function () { + if (this._options.pagination) { + if (Common.isDOMElement(this._options.pagination) || + typeof this._options.pagination === 'string') { + // if dom element or css selector string... + this._pagination = new Pagination(this._options.pagination, { + size: this._numPages, + onChange: this._handlers.paginationChange + }); + } else { + // assumes instantiated pagination + this._pagination = this._options.pagination; + this._pagination._options.onChange = this._handlers.paginationChange; + this._pagination.setSize(this._numPages); + } + this._pagination.setCurrent(this._options.initialPage || 0); + } else { + this._currentPage = this._options.initialPage || 0; + } + }, + + _setUpAutoAdvance: function () { + if (!this._options.autoAdvance) { return; } + var self = this; + + setTimeout(function autoAdvance() { + self.nextPage(true /* wrap */); + setTimeout(autoAdvance, self._options.autoAdvance); + }, this._options.autoAdvance); + }, + + _setUpHider: function () { + if (this._options.hideLast) { + var hiderEl = InkElement.create('div', { + className: 'hider', + insertBottom: this._element + }); + hiderEl.style.position = 'absolute'; + hiderEl.style[ this._isY ? 'left' : 'top' ] = '0'; // fix to top.. + hiderEl.style[ this._isY ? 'right' : 'bottom' ] = '0'; // and bottom... + hiderEl.style[ this._isY ? 'bottom' : 'right' ] = '0'; // and move to the end. + this._hiderEl = hiderEl; + } + }, + + // [3.1.0] Deprecate this already + _center: function() { + if (!this._options.center) { return; } + var gap = Math.floor( (this._ctnLength - (this._elLength * this._slidesPerPage) ) / 2 ); + + var pad; + if (this._isY) { + pad = [gap, 'px 0']; + } else { + pad = ['0 ', gap, 'px']; + } + + this._ulEl.style.padding = pad.join(''); + }, + + // [3.1.0] Deprecate this already + _updateHider: function() { + if (!this._hiderEl) { return; } + if (this.getPage() === 0) { + var gap = Math.floor( this._ctnLength - (this._elLength * this._slidesPerPage) ); + if (this._options.center) { + gap /= 2; + } + this._hiderEl.style[ this._isY ? 'height' : 'width' ] = gap + 'px'; + } else { + this._hiderEl.style[ this._isY ? 'height' : 'width' ] = '0px'; + } + }, + + /** + * Refits elements for IE7 because it doesn't support inline-block. + * + * @method _IE7 + * @private + */ + _IE7: function () { + if (Browser.IE && '' + Browser.version.split('.')[0] === '7') { + // var numPages = this._numPages; + var slides = Ink.ss('li.slide', this._ulEl); + var stl = function (prop, val) {slides[i].style[prop] = val; }; + for (var i = 0, len = slides.length; i < len; i++) { + stl('position', 'absolute'); + stl(this._isY ? 'top' : 'left', (i * this._elLength) + 'px'); + } + } + }, + + _onTouchStart: function (event) { + if (event.touches.length > 1) { return; } + + this._swipeData = { + x: InkEvent.pointerX(event), + y: InkEvent.pointerY(event) + }; + + var ulRect = this._ulEl.getBoundingClientRect(); + + this._swipeData.firstUlPos = ulRect[this._isY ? 'top' : 'left']; + + this._swipeData.inUlX = this._swipeData.x - ulRect.left; + this._swipeData.inUlY = this._swipeData.y - ulRect.top; + + setTransitionProperty(this._ulEl, 'none'); + + this._touchMoveIsFirstTouchMove = true; + }, + + _onTouchMove: function (event) { + if (event.touches.length > 1) { return; /* multitouch event, not my problem. */ } + + var pointerX = InkEvent.pointerX(event); + var pointerY = InkEvent.pointerY(event); + + var deltaY = Math.abs(pointerY - this._swipeData.y); + var deltaX = Math.abs(pointerX - this._swipeData.x); + + if (this._touchMoveIsFirstTouchMove) { + this._touchMoveIsFirstTouchMove = undefined; + this._scrolling = this._isY ? + deltaX > deltaY : + deltaY > deltaX ; + + if (!this._scrolling) { + this._onAnimationFrame(); + } + } + + if (!this._scrolling && this._swipeData) { + InkEvent.stopDefault(event); + + this._swipeData.pointerPos = this._isY ? pointerY : pointerX; + } + }, + + _onAnimationFrame: function () { + var swipeData = this._swipeData; + + if (!swipeData || this._scrolling || this._touchMoveIsFirstTouchMove) { return; } + + var elRect = this._element.getBoundingClientRect(); + + var newPos; + + if (!this._isY) { + newPos = swipeData.pointerPos - swipeData.inUlX - elRect.left; + } else { + newPos = swipeData.pointerPos - swipeData.inUlY - elRect.top; + } + + this._ulEl.style[this._isY ? 'top' : 'left'] = newPos + 'px'; + + requestAnimationFrame(Ink.bindMethod(this, '_onAnimationFrame')); + }, + + _onTouchEnd: function (event) { + if (this._swipeData && this._swipeData.pointerPos && !this._scrolling && !this._touchMoveIsFirstTouchMove) { + var snapToNext = 0.1; // swipe 10% of the way to change page + + var relProgress = this._swipeData.firstUlPos - + this._ulEl.getBoundingClientRect()[this._isY ? 'top' : 'left']; + + var curPage = this.getPage(); + + // How many pages were advanced? May be fractional. + var progressInPages = relProgress / this._elLength / this._slidesPerPage; + + // Have we advanced enough to change page? + if (Math.abs(progressInPages) > snapToNext) { + curPage += Math[ relProgress < 0 ? 'floor' : 'ceil' ](progressInPages); + } + + // If something used to calculate progressInPages was zero, we get NaN here. + if (!isNaN(curPage)) { + this.setPage(curPage); + } + + InkEvent.stopDefault(event); + } + + setTransitionProperty(this._ulEl, null /* transition: left, top */); + this._swipeData = null; + this._touchMoveIsFirstTouchMove = undefined; + this._scrolling = undefined; + }, + + _onPaginationChange: function(pgn) { + this._setPage(pgn.getCurrent()); + }, + + /** + * Gets the current page index + * @method getPage + * @return The current page number + **/ + getPage: function () { + if (this._pagination) { + return this._pagination.getCurrent(); + } else { + return this._currentPage || 0; + } + }, + + /** + * Sets the current page index + * @method setPage + * @param {Number} page Index of the destination page. + * @param {Boolean} [wrap] Flag to activate circular counting. + **/ + setPage: function (page, wrap) { + if (wrap) { + // Pages outside the range [0..this._numPages] are wrapped. + page = page % this._numPages; + if (page < 0) { page = this._numPages - page; } + } + page = limitRange(page, 0, this._numPages - 1); + + if (this._pagination) { + this._pagination.setCurrent(page); // _setPage is called by pagination because it listens to its Change event. + } else { + this._setPage(page); + } + }, + + _setPage: function (page) { + var _lengthToGo = page * this._deltaLength; + var isLastPage = page === (this._numPages - 1); + + if (!this._options.spaceAfterLastSlide && isLastPage && page > 0) { + var _itemsInLastPage = this._liEls.length - (page * this._slidesPerPage); + if(_itemsInLastPage < this._slidesPerPage) { + _lengthToGo = ((page - 1) * this._deltaLength) + (_itemsInLastPage * this._elLength); + } + } + + this._ulEl.style[ this._isY ? 'top' : 'left'] = + ['-', _lengthToGo, 'px'].join(''); + + if (this._options.onChange) { + this._options.onChange.call(this, page); + } + + this._currentPage = page; + + this._updateHider(); + }, + + /** + * Goes to the next page + * @method nextPage + * @param {Boolean} [wrap] Flag to loop from last page to first page. + **/ + nextPage: function (wrap) { + this.setPage(this.getPage() + 1, wrap); + }, + + /** + * Goes to the previous page + * @method previousPage + * @param {Boolean} [wrap] Flag to loop from first page to last page. + **/ + previousPage: function (wrap) { this.setPage(this.getPage() - 1, wrap); }, + + /** + * Returns how many slides fit into a page + * @method getSlidesPerPage + * @return {Number} The number of slides per page + * @public + */ + getSlidesPerPage: function() { + return this._slidesPerPage; + }, + + /** + * Get the amount of pages in the carousel. + * @method getTotalPages + * @return {Number} The number of pages + * @public + */ + getTotalPages: function() { + return this._numPages; + }, + + /** + * Get the stage element (your UL with the class ".stage"). + * @method getStageElm + * @public + * @return {DOMElement} Stage element + **/ + getStageElm: function() { + return this._ulEl; + }, + + /** + * Get a list of your slides (elements with the ".slide" class inside your stage) + * @method getSlidesList + * @return {DOMElement[]} Array containing the slides. + * @public + */ + getSlidesList: function() { + return this._liEls; + }, + + /** + * Get the total number of slides + * @method getTotalSlides + * @return {Number} The number of slides + * @public + */ + getTotalSlides: function() { + return this.getSlidesList().length; + } + }; + + function setTransitionProperty(el, newTransition) { + el.style.transitionProperty = + el.style.oTransitionProperty = + el.style.msTransitionProperty = + el.style.mozTransitionProperty = + el.style.webkitTransitionProperty = newTransition; + } + + Common.createUIComponent(Carousel); + + return Carousel; + +}); + +/** + * Closing utilities + * @module Ink.UI.Close_1 + * @version 1 + */ +Ink.createModule('Ink.UI.Close', '1', ['Ink.Dom.Event_1','Ink.Dom.Element_1'], function(InkEvent, InkElement) { + 'use strict'; + + /** + * Subscribes clicks on the document.body. + * Whenever an element with the classes ".ink-close" or ".ink-dismiss" is clicked, this module finds an ancestor ".ink-alert" or ".ink-alert-block" element and removes it from the DOM. + * This module should be created only once per page. + * + * @class Ink.UI.Close + * @constructor + * @example + * + * + * @sample Ink_UI_Close_1.html + */ + var Close = function() { + InkEvent.observe(document.body, 'click', function(ev) { + var el = InkEvent.element(ev); + + el = InkElement.findUpwardsByClass(el, 'ink-close') || + InkElement.findUpwardsByClass(el, 'ink-dismiss'); + + if (!el) { + return; // ink-close or ink-dismiss class not found + } + + var toRemove = InkElement.findUpwardsByClass(el, 'ink-alert') || + InkElement.findUpwardsByClass(el, 'ink-alert-block') || + el; + + if (toRemove) { + InkEvent.stop(ev); + InkElement.remove(toRemove); + } + }); + }; + + Close._name = 'Close_1'; + + return Close; +}); + +/** + * Auxiliar utilities for UI Modules + * @module Ink.UI.Common_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.Common', '1', ['Ink.Dom.Element_1', 'Ink.Net.Ajax_1','Ink.Dom.Css_1','Ink.Dom.Selector_1','Ink.Util.Url_1'], function(InkElement, Ajax,Css,Selector,Url) { + + 'use strict'; + + var nothing = {} /* a marker, for reference comparison. */; + + var keys = Object.keys || function (obj) { + var ret = []; + for (var k in obj) if (obj.hasOwnProperty(k)) { + ret.push(k); + } + return ret; + }; + + var es6WeakMapSupport = 'WeakMap' in window; + var instances = es6WeakMapSupport ? new WeakMap() : null; + + var domRegistry = { + get: function get(el) { + return es6WeakMapSupport ? + instances.get(el) : + el.__InkInstances; + }, + set: function set(el, thing) { + if (es6WeakMapSupport) { + instances.set(el, thing); + } else { + el.__InkInstances = thing; + } + } + }; + + /** + * @namespace Ink.UI.Common_1 + */ + + var Common = { + + /** + * Supported Ink Layouts + * + * @property Layouts + * @type Object + * @readOnly + */ + Layouts: { + TINY: 'tiny', + SMALL: 'small', + MEDIUM: 'medium', + LARGE: 'large', + XLARGE: 'xlarge' + }, + + /** + * Checks if an item is a valid DOM Element. + * + * @method isDOMElement + * @static + * @param {Mixed} o The object to be checked. + * @return {Boolean} True if it's a valid DOM Element. + * @example + * var el = Ink.s('#element'); + * if( Ink.UI.Common.isDOMElement( el ) === true ){ + * // It is a DOM Element. + * } else { + * // It is NOT a DOM Element. + * } + */ + isDOMElement: InkElement.isDOMElement, + + /** + * Checks if an item is a valid integer. + * + * @method isInteger + * @static + * @param {Mixed} n The value to be checked. + * @return {Boolean} True if it's a valid integer. + * @example + * var value = 1; + * if( Ink.UI.Common.isInteger( value ) === true ){ + * // It is an integer. + * } else { + * // It is NOT an integer. + * } + */ + isInteger: function(n) { + return (typeof n === 'number' && n % 1 === 0); + }, + + /** + * Gets a DOM Element. + * + * @method elOrSelector + * @static + * @param {DOMElement|String} elOrSelector DOM Element or CSS Selector + * @param {String} fieldName The name of the field. Commonly used for debugging. + * @return {DOMElement} Returns the DOMElement passed or the first result of the CSS Selector. Otherwise it throws an exception. + * @example + * // In case there are several .myInput, it will retrieve the first found + * var el = Ink.UI.Common.elOrSelector('.myInput','My Input'); + */ + elOrSelector: function(elOrSelector, fieldName) { + if (!this.isDOMElement(elOrSelector)) { + var t = Selector.select(elOrSelector); + if (t.length === 0) { + Ink.warn(fieldName + ' must either be a DOM Element or a selector expression!\nThe script element must also be after the DOM Element itself.'); + return null; + } + return t[0]; + } + return elOrSelector; + }, + + /** + * Alias for `elOrSelector` but returns an array of elements. + * + * @method elsOrSelector + * + * @static + * @param {DOMElement|String} elOrSelector DOM Element or CSS Selector + * @param {String} fieldName The name of the field. Commonly used for debugging. + * @return {DOMElement} Returns the DOMElement passed or the first result of the CSS Selector. Otherwise it throws an exception. + * @param {Boolean} required Flag to accept an empty array as output. + * @return {Array} The selected DOM Elements. + * @example + * var elements = Ink.UI.Common.elsOrSelector('input.my-inputs', 'My Input'); + */ + elsOrSelector: function(elsOrSelector, fieldName, required) { + var ret; + if (typeof elsOrSelector === 'string') { + ret = Selector.select(elsOrSelector); + } else if (Common.isDOMElement(elsOrSelector)) { + ret = [elsOrSelector]; + } else if (elsOrSelector && typeof elsOrSelector === 'object' && typeof elsOrSelector.length === 'number') { + ret = elsOrSelector; + } + + if (ret && ret.length) { + return ret; + } else { + if (required) { + throw new TypeError(fieldName + ' must either be a DOM Element, an Array of elements, or a selector expression!\nThe script element must also be after the DOM Element itself.'); + } else { + return []; + } + } + }, + + /** + * Gets options an object and element's metadata. + * + * The element's data attributes take precedence. Values from the element's data-atrributes are coerced into the required type. + * + * @method options + * + * @param {Object} [fieldId] Name to be used in debugging features. + * @param {Object} defaults Object with the options' types and defaults. + * @param {Object} overrides Options to override the defaults. Usually passed when instantiating an UI module. + * @param {DOMElement} [element] Element with data-attributes + * + * @example + * + * this._options = Ink.UI.Common.options('MyComponent', { + * 'anobject': ['Object', null], // Defaults to null + * 'target': ['Element', null], + * 'stuff': ['Number', 0.1], + * 'stuff2': ['Integer', 0], + * 'doKickFlip': ['Boolean', false], + * 'targets': ['Elements'], // Required option since no default was given + * 'onClick': ['Function', null] + * }, options || {}, elm) + * + * @example + * + * ### Note about booleans + * + * Here is how options are read from the markup + * data-attributes, for several values`data-a-boolean`. + * + * Options considered true: + * + * - `data-a-boolean="true"` + * - (Every other value which is not on the list below.) + * + * Options considered false: + * + * - `data-a-boolean="false"` + * - `data-a-boolean=""` + * - `data-a-boolean` + * + * Options which go to default: + * + * - (no attribute). When `data-a-boolean` is ommitted, the + * option is not considered true nor false, and as such + * defaults to what is in the `defaults` argument. + * + **/ + options: function (fieldId, defaults, overrides, element) { + if (typeof fieldId !== 'string') { + element = overrides; + overrides = defaults; + defaults = fieldId; + fieldId = ''; + } + overrides = overrides || {}; + var out = {}; + var dataAttrs = element ? InkElement.data(element) : {}; + var fromDataAttrs; + var type; + var lType; + var defaultVal; + + var invalidStr = function (str) { + if (fieldId) { str = fieldId + ': "' + ('' + str).replace(/"/, '\\"') + '"'; } + return str; + }; + + var quote = function (str) { + return '"' + ('' + str).replace(/"/, '\\"') + '"'; + }; + + var invalidThrow = function (str) { + throw new Error(invalidStr(str)); + }; + + var invalid = function (str) { + Ink.error(invalidStr(str) + '. Ignoring option.'); + }; + + function optionValue(key) { + type = defaults[key][0]; + lType = type.toLowerCase(); + defaultVal = defaults[key].length === 2 ? defaults[key][1] : nothing; + + if (!type) { + invalidThrow('Ink.UI.Common.options: Always specify a type!'); + } + if (!(lType in Common._coerce_funcs)) { + invalidThrow('Ink.UI.Common.options: ' + defaults[key][0] + ' is not a valid type. Use one of ' + keys(Common._coerce_funcs).join(', ')); + + } + if (!defaults[key].length || defaults[key].length > 2) { + invalidThrow('the "defaults" argument must be an object mapping option names to [typestring, optional] arrays.'); + } + + if (key in dataAttrs) { + fromDataAttrs = Common._coerce_from_string(lType, dataAttrs[key], key, fieldId); + // (above can return `nothing`) + } else { + fromDataAttrs = nothing; + } + + if (fromDataAttrs !== nothing) { + if (!Common._options_validate(fromDataAttrs, lType)) { + invalid('(' + key + ' option) Invalid ' + lType + ' ' + quote(fromDataAttrs)); + return defaultVal; + } else { + return fromDataAttrs; + } + } else if (key in overrides) { + return overrides[key]; + } else if (defaultVal !== nothing) { + return defaultVal; + } else { + invalidThrow('Option ' + key + ' is required!'); + } + } + + for (var key in defaults) { + if (defaults.hasOwnProperty(key)) { + out[key] = optionValue(key); + } + } + + return out; + }, + + _coerce_from_string: function (type, val, paramName, fieldId) { + if (type in Common._coerce_funcs) { + return Common._coerce_funcs[type](val, paramName, fieldId); + } else { + return val; + } + }, + + _options_validate: function (val, type) { + if (type in Common._options_validate_types) { + return Common._options_validate_types[type].call(Common, val); + } else { + // 'object' options cannot be passed through data-attributes. + // Json you say? Not any good to embed in HTML. + return false; + } + }, + + _coerce_funcs: (function () { + var ret = { + element: function (val) { + return Common.elOrSelector(val, ''); + }, + elements: function (val) { + return Common.elsOrSelector(val, '', false /*not required, so don't throw an exception now*/); + }, + object: function (val) { return val; }, + number: function (val) { return parseFloat(val); }, + 'boolean': function (val) { + return !(val === 'false' || val === '' || val === null); + }, + string: function (val) { return val; }, + 'function': function (val, paramName, fieldId) { + Ink.error(fieldId + ': You cannot specify the option "' + paramName + '" through data-attributes because it\'s a function'); + return nothing; + } + }; + ret['float'] = ret.integer = ret.number; + return ret; + }()), + + _options_validate_types: (function () { + var types = { + string: function (val) { + return typeof val === 'string'; + }, + number: function (val) { + return typeof val === 'number' && !isNaN(val) && isFinite(val); + }, + integer: function (val) { + return val === Math.round(val); + }, + element: function (val) { + return Common.isDOMElement(val); + }, + elements: function (val) { + return val && typeof val === 'object' && typeof val.length === 'number' && val.length; + }, + 'boolean': function (val) { + return typeof val === 'boolean'; + }, + object: function () { return true; } + }; + types['float'] = types.number; + return types; + }()), + + /** + * Deep copy (clone) an object. + * Note: The object cannot have referece loops. + * + * @method clone + * @static + * @param {Object} o The object to be cloned/copied. + * @return {Object} Returns the result of the clone/copy. + * @example + * var originalObj = { + * key1: 'value1', + * key2: 'value2', + * key3: 'value3' + * }; + * var cloneObj = Ink.UI.Common.clone( originalObj ); + */ + clone: function(o) { + try { + return JSON.parse( JSON.stringify(o) ); + } catch (ex) { + throw new Error('Given object cannot have loops!'); + } + }, + + + /** + * Gets an element's one-base index relative to its parent. + * + * @method childIndex + * @static + * @param {DOMElement} childEl Valid DOM Element. + * @return {Number} Numerical position of an element relatively to its parent. + * @example + * + *
      + *
    • One
    • + *
    • Two
    • + *
    • Three
    • + *
    • Four
    • + *
    + * + * + */ + childIndex: function(childEl) { + if( Common.isDOMElement(childEl) ){ + var els = Selector.select('> *', childEl.parentNode); + for (var i = 0, f = els.length; i < f; ++i) { + if (els[i] === childEl) { + return i; + } + } + } + throw 'not found!'; + }, + + + /** + * AJAX JSON request shortcut method + * It provides a more convenient way to do an AJAX request and expect a JSON response.It also offers a callback option, as third parameter, for better async handling. + * + * @method ajaxJSON + * @static + * @async + * @param {String} endpoint Valid URL to be used as target by the request. + * @param {Object} params This field is used in the thrown Exception to identify the parameter. + * @param {Function} cb Callback for the request. + * @example + * // In case there are several .myInput, it will retrieve the first found + * var el = Ink.UI.Common.elOrSelector('.myInput','My Input'); + */ + ajaxJSON: function(endpoint, params, cb) { + new Ajax( + endpoint, + { + evalJS: 'force', + method: 'POST', + parameters: params, + + onSuccess: function( r) { + try { + r = r.responseJSON; + if (r.status !== 'ok') { + throw 'server error: ' + r.message; + } + cb(null, r); + } catch (ex) { + cb(ex); + } + }, + + onFailure: function() { + cb('communication failure'); + } + } + ); + }, + + + /** + * Gets the current Ink layout. + * + * @method currentLayout + * @static + * @return {String} A string representation of the current layout name. + * @example + * var inkLayout = Ink.UI.Common.currentLayout(); + * if (inkLayout === 'small') { + * // ... + * } + */ + currentLayout: function() { + var i, f, k, v, el, detectorEl = Selector.select('#ink-layout-detector')[0]; + if (!detectorEl) { + detectorEl = document.createElement('div'); + detectorEl.id = 'ink-layout-detector'; + for (k in this.Layouts) { + if (this.Layouts.hasOwnProperty(k)) { + v = this.Layouts[k]; + el = document.createElement('div'); + el.className = 'show-' + v + ' hide-all'; + el.setAttribute('data-ink-layout', v); + detectorEl.appendChild(el); + } + } + document.body.appendChild(detectorEl); + } + + for (i = 0, f = detectorEl.children.length; i < f; ++i) { + el = detectorEl.children[i]; + if (Css.getStyle(el, 'display') === 'block') { + return el.getAttribute('data-ink-layout'); + } + } + + return 'large'; + }, + + + /** + * Sets the location's hash (window.location.hash). + * + * @method hashSet + * @static + * @param {Object} o Object with the info to be placed in the location's hash. + * @example + * // It will set the location's hash like: #key1=value1&key2=value2&key3=value3 + * Ink.UI.Common.hashSet({ + * key1: 'value1', + * key2: 'value2', + * key3: 'value3' + * }); + */ + hashSet: function(o) { + if (typeof o !== 'object') { throw new TypeError('o should be an object!'); } + var hashParams = Url.getAnchorString(); + hashParams = Ink.extendObj(hashParams, o); + window.location.hash = Url.genQueryString('', hashParams).substring(1); + }, + + /** + * Removes children nodes from a given object. + * This method was initially created to help solve a problem in Internet Explorer(s) that occurred when trying to set the innerHTML of some specific elements like 'table'. + * + * @method cleanChildren + * @static + * @param {DOMElement} parentEl Valid DOM Element + * @example + * + *
      + *
    • One
    • + *
    • Two
    • + *
    • Three
    • + *
    • Four
    • + *
    + * + * + * + * + *
      + */ + cleanChildren: function(parentEl) { + if( !Common.isDOMElement(parentEl) ){ + throw 'Please provide a valid DOMElement'; + } + var prevEl, el = parentEl.lastChild; + while (el) { + prevEl = el.previousSibling; + parentEl.removeChild(el); + el = prevEl; + } + }, + + /** + * Stores the id and/or classes of an element in an object. + * + * @method storeIdAndClasses + * @static + * @param {DOMElement} fromEl Valid DOM Element to get the id and classes from. + * @param {Object} inObj Object where the id and classes will be saved. + * @example + *
      + * + * + */ + storeIdAndClasses: function(fromEl, inObj) { + if( !Common.isDOMElement(fromEl) ){ + throw 'Please provide a valid DOMElement as first parameter'; + } + + var id = fromEl.id; + if (id) { + inObj._id = id; + } + + var classes = fromEl.className; + if (classes) { + inObj._classes = classes; + } + }, + + /** + * Sets the id and className properties of an element based + * + * @method restoreIdAndClasses + * @static + * @param {DOMElement} toEl Valid DOM Element to set the id and classes on. + * @param {Object} inObj Object where the id and classes to be set are. This method uses the same format as the one given in `storeIdAndClasses` + * @example + *
      + * + * + * + * + *
      + */ + restoreIdAndClasses: function(toEl, inObj) { + + if( !Common.isDOMElement(toEl) ){ + throw 'Please provide a valid DOMElement as first parameter'; + } + + if (inObj._id && toEl.id !== inObj._id) { + toEl.id = inObj._id; + } + + if (inObj._classes && toEl.className.indexOf(inObj._classes) === -1) { + if (toEl.className) { toEl.className += ' ' + inObj._classes; } + else { toEl.className = inObj._classes; } + } + + if (inObj._instanceId && !toEl.getAttribute('data-instance')) { + toEl.setAttribute('data-instance', inObj._instanceId); + } + }, + + _warnDoubleInstantiation: function (elm, newInstance) { + var instances = Common.getInstance(elm); + + if (getName(newInstance) === '') { return; } + if (!instances) { return; } + + var nameWithoutVersion = getName(newInstance); + + if (!nameWithoutVersion) { return; } + + for (var i = 0, len = instances.length; i < len; i++) { + if (nameWithoutVersion === getName(instances[i])) { + // Yes, I am using + to concatenate and , to split + // arguments. + // + // Elements can't be concatenated with strings, but if + // they are passed in an argument, modern debuggers will + // pretty-print them and make it easy to find them in the + // element inspector. + // + // On the other hand, if strings are passed as different + // arguments, they get pretty printed. And the pretty + // print of a string has quotes around it. + // + // If some day people find out that strings are not + // just text and they start preserving contextual + // information, then by all means change this to a + // regular concatenation. + // + // But they won't. So don't change this. + Ink.warn('Creating more than one ' + nameWithoutVersion + '.', + '(Was creating a ' + nameWithoutVersion + ' on:', elm, ').'); + return false; + } + } + + function getName(thing) { + return ((thing.constructor && (thing.constructor._name)) || + thing._name || + '').replace(/_.*?$/, ''); + } + + return true; + }, + + /** + * Saves a component's instance reference for later retrieval. + * + * @method registerInstance + * @static + * @param {Object} inst Object that holds the instance. + * @param {DOMElement} el DOM Element to associate with the object. + */ + registerInstance: function(inst, el) { + if (!inst) { return; } + + if (!Common.isDOMElement(el)) { throw new TypeError('Ink.UI.Common.registerInstance: The element passed in is not a DOM element!'); } + + // [todo] this belongs in the BaseUIComponent's initialization + if (Common._warnDoubleInstantiation(el, inst) === false) { + return false; + } + + var instances = domRegistry.get(el); + + if (!instances) { + instances = []; + domRegistry.set(el, instances); + } + + instances.push(inst); + + return true; + }, + + /** + * Deletes an instance with a given id. + * + * @method unregisterInstance + * @static + * @param {String} id Id of the instance to be destroyed. + */ + unregisterInstance: function(inst) { + if (!inst || !inst._element) { return; } + var instances = domRegistry.get(inst._element); + for (var i = 0, len = instances.length; i < len; i++) { + if (instances[i] === inst) { + instances.splice(i, 1); + } + } + }, + + /** + * Gets an UI instance from an element or instance id. + * + * @method getInstance + * @static + * @param {String|DOMElement} el DOM Element from which we want the instances. + * @return {Object|Array} Returns an instance or a collection of instances. + */ + getInstance: function(el, UIComponent) { + el = Common.elOrSelector(el); + var instances = domRegistry.get(el); + + if (!instances) { + instances = []; + } + + if (typeof UIComponent !== 'function') { + return instances; + } + + for (var i = 0, len = instances.length; i < len; i++) { + if (instances[i] instanceof UIComponent) { + return instances[i]; + } + } + + return null; + }, + + /** + * Gets an instance based on a selector. + * + * @method getInstanceFromSelector + * @static + * @param {String} selector CSS selector to get the instances from. + * @return {Object|Array} Returns an instance or a collection of instances. + */ + getInstanceFromSelector: function(selector) { + return Common.getInstance(Common.elOrSelector(selector)); + }, + + /** + * Gets all the instance ids + * + * @method getInstanceIds + * @static + * @return {Array} Collection of instance ids + */ + getInstanceIds: function() { + var res = []; + for (var id in instances) { + if (instances.hasOwnProperty(id)) { + res.push( id ); + } + } + return res; + }, + + /** + * Gets all the instances + * + * @method getInstances + * @static + * @return {Array} Collection of existing instances. + */ + getInstances: function() { + var res = []; + for (var id in instances) { + if (instances.hasOwnProperty(id)) { + res.push( instances[id] ); + } + } + return res; + }, + + /** + * Boilerplate method to destroy a component. + * Components should copy this method as its destroy method and modify it. + * + * @method destroyComponent + * @static + */ + destroyComponent: function() { + Common.unregisterInstance(this); + this._element.parentNode.removeChild(this._element); + } + + }; + + + + + /** + * Ink UI Base Class + **/ + + function warnStub() { + /* jshint validthis: true */ + if (!this || this === window || typeof this.constructor !== 'function') { return; } + Ink.warn('You called a method on an incorrectly instantiated ' + this.constructor._name + ' component. Check the warnings above to see what went wrong.'); + } + + function stub(prototype, obj) { + for (var k in prototype) if (prototype.hasOwnProperty(k)) { + if (k === 'constructor') { continue; } + if (typeof obj[k] === 'function') { + obj[k] = warnStub; + } + } + } + + /** + * Ink UI Base Class + * + * You don't use this class directly, or inherit from it directly. + * + * See createUIComponent() (in this module) for how to create a UI component and inherit from this. It's not plain old JS inheritance, for several reasons. + * + * @class Ink.UI.Common.BaseUIComponent + * @constructor + * + * @param element + * @param options + **/ + function BaseUIComponent(element, options) { + var constructor = this.constructor; + var _name = constructor._name; + + if (!this || this === window) { + throw new Error('Use "new InkComponent()" instead of "InkComponent()"'); + } + + if (this && !(this instanceof BaseUIComponent)) { + throw new Error('You forgot to call Ink.UI.Common.createUIComponent() on this module!'); + } + + if (!element && !constructor._componentOptions.elementIsOptional) { + Ink.error(new Error(_name + ': You need to pass an element or a selector as the first argument to "new ' + _name + '()"')); + return; + } else { + this._element = Common.elsOrSelector(element, + _name + ': An element with the selector "' + element + '" was not found!')[0]; + } + + if (!this._element && !constructor._componentOptions.elementIsOptional) { + isValidInstance = false; + Ink.error(new Error(element + ' does not match an element on the page. You need to pass a valid selector to "new ' + _name + '".')); + } + + // TODO Change Common.options's signature? the below looks better, more manageable + // var options = Common.options({ + // element: this._element, + // modName: constructor._name, + // options: constructor._optionDefinition, + // defaults: constructor._globalDefaults + // }); + + this._options = Common.options(_name, constructor._optionDefinition, options, this._element); + + var isValidInstance = BaseUIComponent._validateInstance(this) === true; + + if (isValidInstance && typeof this._init === 'function') { + try { + this._init.apply(this, arguments); + } catch(e) { + isValidInstance = false; + Ink.error(e); + } + } + + if (!isValidInstance) { + BaseUIComponent._stubInstance(this, constructor, _name); + } else if (this._element) { + Common.registerInstance(this, this._element); + } + } + + /** + * Calls the `instance`'s _validate() method so it can validate itself. + * + * Returns false if the method exists, was called, but no Error was returned or thrown. + * + * @method _validateInstance + * @private + */ + BaseUIComponent._validateInstance = function (instance) { + var err; + + if (typeof instance._validate !== 'function') { return true; } + + try { + err = instance._validate(); + } catch (e) { + err = e; + } + + if (err instanceof Error) { + instance._validationError = err; + return false; + } + + return true; + }; + + + /** + * Replaces every method in the instance with stub functions which just call Ink.warn(). + * + * This avoids breaking the page when there are errors. + * + * @method _stubInstance + * @param instance + * @param constructor + * @param name + * @private + */ + BaseUIComponent._stubInstance = function (instance, constructor, name) { + stub(constructor.prototype, instance); + stub(BaseUIComponent.prototype, instance); + Ink.warn(name + ' was not correctly created. ' + (instance._validationError || '')); + }; + + // TODO BaseUIComponent.setGlobalOptions = function () {} + // TODO BaseUIComponent.createMany = function (selector) {} + BaseUIComponent.getInstance = function (elOrSelector) { + elOrSelector = Common.elOrSelector(elOrSelector); + return Common.getInstance(elOrSelector, this /* get instance by constructor */); + }; + + Ink.extendObj(BaseUIComponent.prototype, { + /** + * Get an UI component's option's value. + * + * @method getOption + * @param name + * + * @return The option value, or undefined if nothing is found. + * + * @example + * + * var myUIComponent = new Modal('#element', { trigger: '#trigger' }); // or anything else inheriting BaseUIComponent + * myUIComponent.getOption('trigger'); // -> The trigger element (not the selector string, mind you) + * + **/ + getOption: function (name) { + if (this.constructor && !(name in this.constructor._optionDefinition)) { + Ink.error('"' + name + '" is not an option for ' + this.constructor._name); + return undefined; + } + + return this._options[name]; + }, + + /** + * Sets an option's value + * + * @method getOption + * @param name + * @param value + * + * @example + * + * var myUIComponent = new Modal(...); + * myUIComponent.setOption('trigger', '#some-element'); + **/ + setOption: function (name, value) { + if (this.constructor && !(name in this.constructor._optionDefinition)) { + Ink.error('"' + name + ' is not an option for ' + this.constructor._name); + return; + } + + this._options[name] = value; + }, + + /** + * Get the element associated with an UI component (IE the one you used in the constructor) + * + * @method getElement + * @return {Element} The component's element. + * + * @example + * var myUIComponent = new Modal('#element'); // or anything else inheriting BaseUIComponent + * myUIComponent.getElement(); // -> The '#element' (not the selector string, mind you). + * + **/ + getElement: function () { + return this._element; + } + }); + + Common.BaseUIComponent = BaseUIComponent; + + /** + * @method createUIComponent + * @param theConstructor UI component constructor. It should have an _init function in its prototype, an _optionDefinition object, and a _name property indicating its name. + * @param options + * @param [options.elementIsOptional=false] Whether the element argument is optional (For example, when the component might work on existing markup or create its own). + **/ + Common.createUIComponent = function createUIComponent(theConstructor, options) { + theConstructor._componentOptions = options || {}; + + function assert(test, msg) { + if (!test) { + throw new Error('Ink.UI_1.createUIComponent: ' + msg); + } + } + + function assertProp(prop, propType, message) { + var propVal = theConstructor[prop]; + // Check that the property was passed + assert(typeof propVal !== 'undefined', + theConstructor + ' doesn\'t have a "' + prop + '" property. ' + message); + // Check that its type is correct + assert(propType && typeof propVal === propType, + 'typeof ' + theConstructor + '.' + prop + ' is not "' + propType + '". ' + message); + } + + assert(typeof theConstructor === 'function', + 'constructor argument is not a function!'); + + assertProp('_name', 'string', 'This property is used for error ' + + 'messages. Set it to the full module path and version (Ink.My.Module_1).'); + assertProp('_optionDefinition', 'object', 'This property contains the ' + + 'option names, types and defaults. See Ink.UI.Common.options() for reference.'); + + // Extend the instance methods and props + var _oldProto = theConstructor.prototype; + + if (typeof Object.create === 'function') { + theConstructor.prototype = Object.create(BaseUIComponent.prototype); + } else { + theConstructor.prototype = (function hideF() { + function F() {} + F.prototype = BaseUIComponent.prototype; + return new F(); + }()); + } + + Ink.extendObj(theConstructor.prototype, _oldProto); + theConstructor.prototype.constructor = theConstructor; + // Extend static methods + Ink.extendObj(theConstructor, BaseUIComponent); + }; + + return Common; + +}); + +/** + * Date selector + * @module Ink.UI.DatePicker_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.DatePicker', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1','Ink.Util.Date_1', 'Ink.Dom.Browser_1'], function(Common, Event, Css, InkElement, Selector, InkArray, InkDate ) { + 'use strict'; + + // Clamp a number into a min/max limit + function clamp(n, min, max) { + if (n > max) { n = max; } + if (n < min) { n = min; } + + return n; + } + + function dateishFromYMDString(YMD) { + var split = YMD.split('-'); + return dateishFromYMD(+split[0], +split[1] - 1, +split[2]); + } + + function dateishFromYMD(year, month, day) { + return {_year: year, _month: month, _day: day}; + } + + function dateishFromDate(date) { + return {_year: date.getFullYear(), _month: date.getMonth(), _day: date.getDate()}; + } + + /** + * @class Ink.UI.DatePicker + * @constructor + * @version 1 + * + * @param {String|DOMElement} selector + * @param {Object} [options] Options + * @param {Boolean} [options.autoOpen] Flag to automatically open the datepicker. + * @param {String} [options.cleanText] Text for the clean button. Defaults to 'Clear'. + * @param {String} [options.closeText] Text for the close button. Defaults to 'Close'. + * @param {String} [options.cssClass] CSS class to be applied on the datepicker + * @param {String|DOMElement} [options.pickerField] (if not using in an input[type="text"]) Element which displays the DatePicker when clicked. Defaults to an "open" link. + * @param {String} [options.dateRange] Enforce limits to year, month and day for the Date, ex: '1990-08-25:2020-11' + * @param {Boolean} [options.displayInSelect] Flag to display the component in a select element. + * @param {String|DOMElement} [options.dayField] (if using options.displayInSelect) `select` field with days. + * @param {String|DOMElement} [options.monthField] (if using options.displayInSelect) `select` field with months. + * @param {String|DOMElement} [options.yearField] (if using options.displayInSelect) `select` field with years. + * @param {String} [options.format] Date format string + * @param {Object} [options.month] Hash of month names. Defaults to portuguese month names. January is 1. + * @param {String} [options.nextLinkText] Text for the previous button. Defaults to '«'. + * @param {String} [options.ofText] Text to show between month and year. Defaults to ' of '. + * @param {Boolean} [options.onFocus] If the datepicker should open when the target element is focused. Defaults to true. + * @param {Function} [options.onMonthSelected] Callback to execute when the month is selected. + * @param {Function} [options.onSetDate] Callback to execute when the date is set. + * @param {Function} [options.onYearSelected] Callback to execute when the year is selected. + * @param {String} [options.position] Position for the datepicker. Either 'right' or 'bottom'. Defaults to 'right'. + * @param {String} [options.prevLinkText] Text for the previous button. Defaults to '«'. + * @param {Boolean} [options.showClean] If the clean button should be visible. Defaults to true. + * @param {Boolean} [options.showClose] If the close button should be visible. Defaults to true. + * @param {Boolean} [options.shy] If the datepicker should start automatically. Defaults to true. + * @param {String} [options.startDate] Date to define initial month. Must be in yyyy-mm-dd format. + * @param {Number} [options.startWeekDay] First day of the week. Sunday is zero. Defaults to 1 (Monday). + * @param {Function} [options.validYearFn] Callback to execute when 'rendering' the month (in the month view) + * @param {Function} [options.validMonthFn] Callback to execute when 'rendering' the month (in the month view) + * @param {Function} [options.validDayFn] Callback to execute when 'rendering' the day (in the month view) + * @param {Function} [options.nextValidDateFn] Function to calculate the next valid date, given the current. Useful when there's invalid dates or time frames. + * @param {Function} [options.prevValidDateFn] Function to calculate the previous valid date, given the current. Useful when there's invalid dates or time frames. + * @param {Object} [options.wDay] Hash of week day names. Sunday is 0. Defaults to { 0:'Sunday', 1:'Monday', etc... + * @param {String} [options.yearRange] Enforce limits to year for the Date, ex: '1990:2020' (deprecated) + * + * @sample Ink_UI_DatePicker_1.html + */ + var DatePicker = function() { + Common.BaseUIComponent.apply(this, arguments); + }; + + DatePicker._name = 'DatePicker_1'; + + DatePicker._optionDefinition = { + autoOpen: ['Boolean', false], + cleanText: ['String', 'Clear'], + closeText: ['String', 'Close'], + pickerField: ['Element', null], + containerElement:['Element', null], + cssClass: ['String', 'ink-calendar bottom'], + dateRange: ['String', null], + + // use this in a + * + * By applying this UI class to the above input, you get a tag field with the tags "initial" and "value". The class preserves the original input element. It remains hidden and is updated with new tag information dynamically, so regular HTML form logic still applies. + * + * Below "input" refers to the current value of the input tag (updated as the user enters text, of course), and "output" refers to the value which this class writes back to said input tag. + * + * @class Ink.UI.TagField + * @version 1 + * @constructor + * @param {String|DOMElement} element Selector or DOM Input Element. + * @param {Object} [options] Options object + * @param {String|Array} [options.tags] Initial tags in the input + * @param {Boolean} [options.allowRepeated] Flag to allow user to input several tags. Defaults to true. + * @param {RegExp} [options.separator] Split the input by this RegExp. Defaults to /[,;(space)]+/g (spaces, commas and semicolons) + * @param {String} [options.outSeparator] Use this string to separate each tag from the next in the output. Defaults to ','. + * @param {Boolean} [options.autoSplit] Flag to activate tag creation when the user types a separator. Defaults to true. + * @param {Integer} [options.maxTags] Maximum number of tags allowed. Set to -1 for no limit. Defaults to -1. + * @example + */ + function TagField() { + Common.BaseUIComponent.apply(this, arguments); + } + + TagField._name = 'TagField_1'; + + TagField._optionDefinition = { + tags: ['String', []], + tagQuery: ['Object', null], + tagQueryAsync: ['Object', null], + allowRepeated: ['Boolean', false], + maxTags: ['Integer', -1], + outSeparator: ['String', ','], + separator: ['String', /[,; ]+/g], + autoSplit: ['Boolean', true] + }; + + TagField.prototype = { + /** + * Init function called by the constructor + * + * @method _init + * @private + */ + _init: function() { + var o = this._options; + if (typeof o.separator === 'string') { + o.separator = new RegExp(o.separator, 'g'); + } + + if (typeof o.tags === 'string') { + // coerce to array using the separator + o.tags = this._readInput(o.tags); + } + + Css.addClassName(this._element, 'hide-all'); + + this._viewElm = InkElement.create('div', { + className: 'ink-tagfield', + insertAfter: this._element + }); + + this._input = InkElement.create('input', { + type: 'text', + className: 'new-tag-input', + insertBottom: this._viewElm + }); + + var tags = [].concat(o.tags, this._tagsFromMarkup(this._element)); + + this._tags = []; + + InkArray.each(tags, Ink.bindMethod(this, '_addTag')); + + InkEvent.observe(this._input, 'keyup', Ink.bindEvent(this._onKeyUp, this)); + InkEvent.observe(this._input, 'change', Ink.bindEvent(this._onKeyUp, this)); + InkEvent.observe(this._input, 'keydown', Ink.bindEvent(this._onKeyDown, this)); + InkEvent.observe(this._input, 'blur', Ink.bindEvent(this._onBlur, this)); + InkEvent.observe(this._viewElm, 'click', Ink.bindEvent(this._refocus, this)); + }, + + destroy: function () { + InkElement.remove(this._viewElm); + Css.removeClassName(this._element, 'hide-all'); + }, + + _tagsFromMarkup: function (element) { + var tagname = element.tagName.toLowerCase(); + if (tagname === 'input') { + return this._readInput(element.value); + } else if (tagname === 'select') { + return InkArray.map(element.getElementsByTagName('option'), function (option) { + return InkElement.textContent(option); + }); + } else { + throw new Error('Cannot read tags from a ' + tagname + ' tag. Unknown tag'); + } + }, + + _tagsToMarkup: function (tags, element) { + var tagname = element.tagName.toLowerCase(); + if (tagname === 'input') { + if (this._options.separator) { + element.value = tags.join(this._options.outSeparator); + } + } else if (tagname === 'select') { + element.innerHTML = ''; + InkArray.each(tags, function (tag) { + var opt = InkElement.create('option', {selected: 'selected'}); + InkElement.setTextContent(opt, tag); + element.appendChild(opt); + }); + } else { + throw new Error('TagField: Cannot read tags from a ' + tagname + ' tag. Unknown tag'); + } + }, + + _addTag: function (tag) { + if (this._options.maxTags !== -1 && + this._tags.length >= this._options.maxTags) { + return; + } + if ((!this._options.allowRepeated && + InkArray.inArray(tag, this._tags, tag)) || !tag) { + return false; + } + var elm = InkElement.create('span', { + className: 'ink-tag', + setTextContent: tag + ' ' + }); + + var remove = InkElement.create('span', { + className: 'remove fa fa-times', + insertBottom: elm + }); + InkEvent.observe(remove, 'click', Ink.bindEvent(this._removeTag, this, null)); + + var spc = document.createTextNode(' '); + + this._tags.push(tag); + this._viewElm.insertBefore(elm, this._input); + this._viewElm.insertBefore(spc, this._input); + this._tagsToMarkup(this._tags, this._element); + }, + + _readInput: function (text) { + if (this._options.separator) { + return InkArray.filter(text.split(this._options.separator), isTruthy); + } else { + return [text]; + } + }, + + _onKeyUp: function () { // TODO control input box size + if (!this._options.autoSplit) { + return; + } + var split = this._input.value.split(this._options.separator); + if (split.length <= 1) { + return; + } + var last = split[split.length - 1]; + split = split.splice(0, split.length - 1); + split = InkArray.filter(split, isTruthy); + + InkArray.each(split, Ink.bind(this._addTag, this)); + this._input.value = last; + }, + + _onKeyDown: function (event) { + if (event.which === enterKey) { + return this._onEnterKeyDown(event); + } else if (event.which === backspaceKey) { + return this._onBackspaceKeyDown(); + } else if (this._removeConfirm) { + // user pressed another key, cancel removal from a backspace key + this._unsetRemovingVisual(this._tags.length - 1); + } + }, + + /** + * When the user presses backspace twice on the empty input, we delete the last tag on the field. + * @method onBackspaceKeyDown + * @private + */ + _onBackspaceKeyDown: function () { + if (this._input.value) { return; } + + if (this._removeConfirm) { + this._unsetRemovingVisual(this._tags.length - 1); + this._removeTag(this._tags.length - 1); + this._removeConfirm = null; + } else { + this._setRemovingVisual(this._tags.length - 1); + } + }, + + _onEnterKeyDown: function (event) { + var tag = this._input.value; + if (tag) { + this._addTag(tag); + this._input.value = ''; + } + InkEvent.stopDefault(event); + }, + + _onBlur: function () { + this._addTag(this._input.value); + this._input.value = ''; + }, + + /* For when the user presses backspace. + * Set the style of the tag so that it seems like it's going to be removed + * if they press backspace again. */ + _setRemovingVisual: function (tagIndex) { + var elm = this._viewElm.children[tagIndex]; + if (!elm) { return; } + + Css.addClassName(elm, 'tag-deleting'); + + this._removeRemovingVisualTimeout = setTimeout(Ink.bindMethod(this, '_unsetRemovingVisual', tagIndex), 4000); + InkEvent.observe(this._input, 'blur', Ink.bindMethod(this, '_unsetRemovingVisual', tagIndex)); + this._removeConfirm = true; + }, + _unsetRemovingVisual: function (tagIndex) { + var elm = this._viewElm.children[tagIndex]; + if (elm) { + Css.removeClassName(elm, 'tag-deleting'); + clearTimeout(this._removeRemovingVisualTimeout); + } + this._removeConfirm = null; + }, + + _removeTag: function (event) { + var index; + if (typeof event === 'object') { // click event on close button + var elm = InkEvent.element(event).parentNode; + index = InkElement.parentIndexOf(this._viewElm, elm); + } else if (typeof event === 'number') { // manual removal + index = event; + } + this._tags = InkArray.remove(this._tags, index, 1); + InkElement.remove(this._viewElm.children[index]); + this._tagsToMarkup(this._tags, this._element); + }, + + _refocus: function (event) { + this._input.focus(); + InkEvent.stop(event); + return false; + } + }; + + Common.createUIComponent(TagField); + + return TagField; +}); + +/** + * Toggle the visibility of elements. + * @module Ink.UI.Toggle_1 + * @version 1 + */ + + Ink.createModule('Ink.UI.Toggle', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1'], function(Common, InkEvent, Css, InkElement, Selector, InkArray ) { + 'use strict'; + + /** + * + * You need two elements to use Toggle: the `trigger` element, and the `target` element (or elements). The default behaviour is to toggle the `target`(s) when you click the `trigger`. + * + * The toggle has a state. It is either "on" or "off". It works by switching between the CSS classes in `classNameOn` and `classNameOff` according to the current state. + * + * When you initialize the Toggle, it will check if the targets are visible to figure out what the initial state is. You can force the toggle to consider itself turned "on" or "off" by setting the `initialState` option to `true` or `false`, respectively. + * + * You can get the current state of the Toggle by calling `getState`, or by checking if your `trigger` element has the "active" class. + * The state can be changed through JavaScript. Just call `setState(true)` + * to turn the Toggle on (or `setState(false)` to turn it off). + * + * @class Ink.UI.Toggle + * @constructor + * @version 1 + * @param {String|DOMElement} selector Trigger element. By clicking this, the target (or targets) are triggered. + * @param {Object} [options] Options object, containing: + * + * @param {String} options.target CSS Selector that specifies the elements that this component will toggle + * @param {String} [options.classNameOn] CSS class to toggle when on. Defaults to 'show-all'. + * @param {String} [options.classNameOff] CSS class to toggle when off. Defaults to 'hide-all'. + * @param {String} [options.triggerEvent] Event that will trigger the toggling. Defaults to 'click'. + * @param {Boolean} [options.closeOnClick] Flag to toggle the targe off when clicking outside the toggled content. Defaults to true. + * @param {String} [options.closeOnInsideClick] Toggle off when a child element matching this selector is clicked. Set to null to deactivate the check. Defaults to 'a[href]'. + * @param {Boolean} [options.initialState] Flag to define initial state. false: off, true: on, null: markup. Defaults to null. + * @param {Function} [options.onChangeState] Callback when the toggle state changes. Return `false` to cancel the event. + * + * @sample Ink_UI_Toggle_1_constructor.html + */ + function Toggle(){ + Common.BaseUIComponent.apply(this, arguments); + } + + Toggle._name = 'Toggle_1'; + + Toggle._optionDefinition = { + target: ['Elements'], + triggerEvent: ['String', 'click'], + closeOnClick: ['Boolean', true], + isAccordion: ['Boolean', false], + initialState: ['Boolean', null], // May be true, false, or null to be what it is right now + classNameOn: ['String', 'show-all'], + classNameOff: ['String', 'hide-all'], + closeOnInsideClick: ['String', 'a[href]'], // closes the toggle when a target is clicked and it is a link + onChangeState: ['Function', null] + }; + + Toggle.prototype = { + + /** + * Init function called by the constructor + * + * @method _init + * @private + */ + _init: function(){ + var i, len; + + this._targets = Common.elsOrSelector(this._options.target); + + // Boolean option handling + this._options.closeOnClick = this._options.closeOnClick.toString() === 'true'; + // Actually a throolean + if (this._options.initialState !== null){ + this._options.initialState = this._options.initialState.toString() === 'true'; + } else { + this._options.initialState = Css.getStyle(this._targets[0], 'display') !== 'none'; + } + + if (this._options.classNameOn !== 'show-all' || this._options.classNameOff !== 'hide-all') { + for (i = 0, len = this._targets.length; i < len; i++) { + Css.removeClassName(this._targets[i], 'show-all'); + Css.removeClassName(this._targets[i], 'hide-all'); + } + } + + this._accordion = ( Css.hasClassName(this._element.parentNode,'accordion') || Css.hasClassName(this._targets[0].parentNode,'accordion') ); + + this._firstTime = true; + + this._bindEvents(); + + if (this._options.initialState !== null) { + this.setState(this._options.initialState, true); + } else { + // Add initial classes matching the current "display" of the object. + var state = Css.getStyle(this._targets[0], 'display') !== 'none'; + this.setState(state, true); + } + // Aditionally, remove any inline "display" style. + for (i = 0, len = this._targets.length; i < len; i++) { + if (this._targets[i].style.display) { + this._targets[i].style.display = ''; // becomes default + } + } + + this._element.setAttribute('data-is-toggle-trigger', 'true'); + }, + + /** + * @method _bindEvents + * @private + */ + _bindEvents: function () { + if ( this._options.triggerEvent ) { + InkEvent.observe( + this._element, + this._options.triggerEvent, + Ink.bind(this._onTriggerEvent, this)); + } + if( this._options.closeOnClick ){ + InkEvent.observe( document, 'click', Ink.bind(this._onOutsideClick, this)); + } + if( this._options.closeOnInsideClick && this._options.closeOnInsideClick !== 'false') { + var sel = this._options.closeOnInsideClick; + if (sel.toString() === 'true') { + sel = '*'; + } + InkEvent.observeMulti(this._targets, 'click', Ink.bind(function (e) { + if ( InkElement.findUpwardsBySelector(InkEvent.element(e), sel) ) { + this.setState(false, true); + } + }, this)); + } + }, + + /** + * Event handler. It's responsible for handling the `triggerEvent` as defined in the options. + * + * This will trigger the toggle. + * + * @method _onTriggerEvent + * @param {Event} event + * @private + */ + _onTriggerEvent: function( event ){ + // When the togglee is a child of the toggler, we get the togglee's events here. We have to check that this event is for us. + var target = InkEvent.element(event); + + var isAncestorOfClickedElement = InkArray.some(this._targets, function (thisOne) { + return thisOne === target || InkElement.isAncestorOf(thisOne, target); + }); + + if (isAncestorOfClickedElement) { + return; + } + + if (this._accordion) { + this._updateAccordion(); + } + + var has = this.getState(); + this.setState(!has, true); + if (!has && this._firstTime) { + this._firstTime = false; + } + + InkEvent.stopDefault(event); + }, + + /** + * Be compatible with accordions + * + * @method _updateAccordion + **/ + _updateAccordion: function () { + var elms, accordionElement; + if( Css.hasClassName(this._targets[0].parentNode,'accordion') ){ + accordionElement = this._targets[0].parentNode; + } else { + accordionElement = this._targets[0].parentNode.parentNode; + } + elms = Selector.select('.toggle, .ink-toggle',accordionElement); + for(var i=0; i 0) && (targetElm[0] !== this._targets[0]) ){ + targetElm[0].style.display = 'none'; + } + } + }, + + /** + * Click handler. Will handle clicks outside the toggle component. + * + * @method _onOutsideClick + * @param {Event} event + * @private + */ + _onOutsideClick: function( event ){ + var tgtEl = InkEvent.element(event), + shades; + + if (InkElement.findUpwardsBySelector(tgtEl, '[data-is-toggle-trigger="true"]')) return; + + var ancestorOfTargets = InkArray.some(this._targets, function (target) { + return InkElement.isAncestorOf(target, tgtEl) || target === tgtEl; + }); + + if( (this._element === tgtEl) || InkElement.isAncestorOf(this._element, tgtEl) || ancestorOfTargets) { + return; + } else if( (shades = Ink.ss('.ink-shade')).length ) { + var shadesLength = shades.length; + + for( var i = 0; i < shadesLength; i++ ){ + if( InkElement.isAncestorOf(shades[i],tgtEl) && InkElement.isAncestorOf(shades[i],this._element) ){ + return; + } + } + } + + this.setState(false, true); // dismiss + }, + + /** + * Sets the state of the toggle. (on/off) + * + * @method setState + * @param newState {Boolean} New state (on/off) + */ + setState: function (on, callHandler) { + if (on === this.getState()) { return; } + if (callHandler && typeof this._options.onChangeState === 'function') { + var ret = this._options.onChangeState(on); + if (ret === false) { return false; } // Canceled by the event handler + } + for (var i = 0, len = this._targets.length; i < len; i++) { + Css.addRemoveClassName(this._targets[i], this._options.classNameOn, on); + Css.addRemoveClassName(this._targets[i], this._options.classNameOff, !on); + } + Css.addRemoveClassName(this._element, 'active', on); + }, + + /** + * Gets the state of the toggle. (on/off) + * + * @method getState + * + * @return {Boolean} whether the toggle is toggled on. + */ + getState: function () { + return Css.hasClassName(this._element, 'active'); + } + }; + + Common.createUIComponent(Toggle); + + return Toggle; +}); + +/** + * Content Tooltips + * @module Ink.UI.Tooltip_1 + * @version 1 + */ +Ink.createModule('Ink.UI.Tooltip', '1', ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Element_1', 'Ink.Dom.Selector_1', 'Ink.Util.Array_1', 'Ink.Dom.Css_1', 'Ink.Dom.Browser_1'], function (Common, InkEvent, InkElement, Selector, InkArray, Css) { + 'use strict'; + + /** + * Tooltips are useful as a means to display information about functionality while avoiding clutter. + * + * Tooltips show up when you hover elements which "have" tooltips. + * + * This class will "give" a tooltip to many elements, selected by its first argument (`target`). This is contrary to the other UI modules in Ink, which are created once per element. + * + * You can define options either through the second argument of the Tooltip constructor, or as data-attributes in each `target` element. Options set through data-attributes all start with "data-tip", and override options passed into the Tooltip constructor. + * + * @class Ink.UI.Tooltip + * @constructor + * + * @param {DOMElement|String} target Target element or selector of elements, to display the tooltips on. + * @param {Object} [options] Options object + * @param {String} [options.text] Text content for the tooltip. + * @param {String} [options.html] HTML for the tooltip. Same as above, but won't escape HTML. + * @param {String} [options.where] Positioning for the tooltip. Options are 'up', 'down', 'left', 'right', 'mousemove' (follows the cursor), and 'mousefix' (stays fixed). Defaults to 'up'. + * + * @param {String} [options.color] Color of the tooltip. Options are red, orange, blue, green and black. Default is white. + * @param {Number} [options.fade] Number of seconds to fade in/out. Defaults to 0.3. + * @param {Boolean} [options.forever] Flag to prevent the tooltip from being erased when the mouse hovers away from the target. + * @param {Number} [options.timeout] Number of seconds the tooltip will stay open. Useful together with options.forever. Defaults to 0. + * @param {Number} [options.delay] Time the tooltip waits until it is displayed. Useful to avoid getting the attention of the user unnecessarily + * @param {DOMElement|Selector} [options.template] Element or selector containing HTML to be cloned into the tooltips. Can be a hidden element, because CSS `display` is set to `block`. + * @param {String} [options.templatefield] Selector within the template element to choose where the text is inserted into the tooltip. Useful when a wrapper DIV is required. + * @param {Number} [options.left] Spacing from the target to the tooltip, when `where` is `mousemove` or `mousefix`. Defaults to 10. + * @param {Number} [options.top] Spacing from the target to the tooltip, when `where` is `mousemove` or `mousefix`. Defaults to 10. + * @param {Number} [options.spacing] Spacing between the tooltip and the target element, when `where` is not `mousemove` or `mousefix`. Defaults to 8. + * + * @sample Ink_UI_Tooltip_1.html + */ + function Tooltip(element, options) { + this._init(element, options || {}); + } + + function EachTooltip(root, elm) { + this._init(root, elm); + } + + var transitionDurationName, + transitionPropertyName, + transitionTimingFunctionName; + (function () { // Feature detection + var test = document.createElement('DIV'); + var names = ['transition', 'oTransition', 'msTransition', 'mozTransition', + 'webkitTransition']; + for (var i = 0; i < names.length; i++) { + if (typeof test.style[names[i] + 'Duration'] !== 'undefined') { + transitionDurationName = names[i] + 'Duration'; + transitionPropertyName = names[i] + 'Property'; + transitionTimingFunctionName = names[i] + 'TimingFunction'; + break; + } + } + }()); + + // Body or documentElement + var bodies = document.getElementsByTagName('body'); + var body = bodies.length ? bodies[0] : document.documentElement; + + Tooltip.prototype = { + _init: function(element, options) { + var elements; + + this.options = Ink.extendObj({ + where: 'up', + zIndex: 10000, + left: 10, + top: 10, + spacing: 8, + forever: 0, + color: '', + timeout: 0, + delay: 0, + template: null, + templatefield: null, + fade: 0.3, + text: '' + }, options || {}); + + if (typeof element === 'string') { + elements = Selector.select(element); + } else if (typeof element === 'object') { + elements = [element]; + } else { + throw 'Element expected'; + } + + this.tooltips = []; + + for (var i = 0, len = elements.length; i < len; i++) { + this.tooltips[i] = new EachTooltip(this, elements[i]); + } + }, + /** + * Destroys the tooltips created by this instance + * + * @method destroy + */ + destroy: function () { + InkArray.each(this.tooltips, function (tooltip) { + tooltip._destroy(); + }); + this.tooltips = null; + this.options = null; + } + }; + + EachTooltip.prototype = { + _oppositeDirections: { + left: 'right', + right: 'left', + up: 'down', + down: 'up' + }, + _init: function(root, elm) { + InkEvent.observe(elm, 'mouseover', Ink.bindEvent(this._onMouseOver, this)); + InkEvent.observe(elm, 'mouseout', Ink.bindEvent(this._onMouseOut, this)); + InkEvent.observe(elm, 'mousemove', Ink.bindEvent(this._onMouseMove, this)); + + this.root = root; + this.element = elm; + this._delayTimeout = null; + this.tooltip = null; + + Common.registerInstance(this, this.element); + }, + _makeTooltip: function (mousePosition) { + if (!this._getOpt('text') && + !this._getOpt('html') && + !InkElement.hasAttribute(this.element, 'title')) { + return false; + } + + var tooltip = this._createTooltipElement(); + + if (this.tooltip) { + this._removeTooltip(); + } + + this.tooltip = tooltip; + + this._fadeInTooltipElement(tooltip); + this._placeTooltipElement(tooltip, mousePosition); + + InkEvent.observe(tooltip, 'mouseover', Ink.bindEvent(this._onTooltipMouseOver, this)); + + var timeout = this._getFloatOpt('timeout'); + if (timeout) { + setTimeout(Ink.bind(function () { + if (this.tooltip === tooltip) { + this._removeTooltip(); + } + }, this), timeout * 1000); + } + }, + _createTooltipElement: function () { + var template = this._getOpt('template'), // User template instead of our HTML + templatefield = this._getOpt('templatefield'), + + tooltip, // The element we float + field; // Element where we write our message. Child or same as the above + + if (template) { // The user told us of a template to use. We copy it. + var temp = document.createElement('DIV'); + temp.innerHTML = Common.elOrSelector(template, 'options.template').outerHTML; + tooltip = temp.firstChild; + + if (templatefield) { + field = Selector.select(templatefield, tooltip); + if (field) { + field = field[0]; + } else { + throw 'options.templatefield must be a valid selector within options.template'; + } + } else { + field = tooltip; // Assume same element if user did not specify a field + } + } else { // We create the default structure + tooltip = document.createElement('DIV'); + Css.addClassName(tooltip, 'ink-tooltip'); + Css.addClassName(tooltip, this._getOpt('color')); + + field = document.createElement('DIV'); + Css.addClassName(field, 'content'); + + tooltip.appendChild(field); + } + + if (this._getOpt('html')) { + field.innerHTML = this._getOpt('html'); + } else if (this._getOpt('text')) { + InkElement.setTextContent(field, this._getOpt('text')); + } else { + InkElement.setTextContent(field, this.element.getAttribute('title')); + } + tooltip.style.display = 'block'; + tooltip.style.position = 'absolute'; + tooltip.style.zIndex = this._getIntOpt('zIndex'); + + return tooltip; + }, + _fadeInTooltipElement: function (tooltip) { + var fadeTime = this._getFloatOpt('fade'); + if (transitionDurationName && fadeTime) { + tooltip.style.opacity = '0'; + tooltip.style[transitionDurationName] = fadeTime + 's'; + tooltip.style[transitionPropertyName] = 'opacity'; + tooltip.style[transitionTimingFunctionName] = 'ease-in-out'; + setTimeout(function () { + tooltip.style.opacity = '1'; + }, 0); // Wait a tick + } + }, + _placeTooltipElement: function (tooltip, mousePosition) { + var where = this._getOpt('where'); + + if (where === 'mousemove' || where === 'mousefix') { + var mPos = mousePosition; + this._setPos(mPos[0], mPos[1]); + body.appendChild(tooltip); + } else if (where.match(/(up|down|left|right)/)) { + body.appendChild(tooltip); + var targetElementPos = InkElement.offset(this.element); + var tleft = targetElementPos[0], + ttop = targetElementPos[1]; + + var centerh = (InkElement.elementWidth(this.element) / 2) - (InkElement.elementWidth(tooltip) / 2), + centerv = (InkElement.elementHeight(this.element) / 2) - (InkElement.elementHeight(tooltip) / 2); + var spacing = this._getIntOpt('spacing'); + + var tooltipDims = InkElement.elementDimensions(tooltip); + var elementDims = InkElement.elementDimensions(this.element); + + var maxX = InkElement.scrollWidth() + InkElement.viewportWidth(); + var maxY = InkElement.scrollHeight() + InkElement.viewportHeight(); + + where = this._getWhereValueInsideViewport(where, { + left: tleft - tooltipDims[0], + right: tleft + tooltipDims[0], + top: ttop + tooltipDims[1], + bottom: ttop + tooltipDims[1] + }, { + right: maxX, + bottom: maxY + }); + + if (where === 'up') { + ttop -= tooltipDims[1]; + ttop -= spacing; + tleft += centerh; + } else if (where === 'down') { + ttop += elementDims[1]; + ttop += spacing; + tleft += centerh; + } else if (where === 'left') { + tleft -= tooltipDims[0]; + tleft -= spacing; + ttop += centerv; + } else if (where === 'right') { + tleft += elementDims[0]; + tleft += spacing; + ttop += centerv; + } + + var arrow = null; + if (where.match(/(up|down|left|right)/)) { + arrow = document.createElement('SPAN'); + Css.addClassName(arrow, 'arrow'); + Css.addClassName(arrow, this._oppositeDirections[where]); + tooltip.appendChild(arrow); + } + + var tooltipLeft = tleft; + var tooltipTop = ttop; + + var toBottom = (tooltipTop + tooltipDims[1]) - maxY; + var toRight = (tooltipLeft + tooltipDims[0]) - maxX; + var toLeft = 0 - tooltipLeft; + var toTop = 0 - tooltipTop; + + if (toBottom > 0) { + if (arrow) { arrow.style.top = (tooltipDims[1] / 2) + toBottom + 'px'; } + tooltipTop -= toBottom; + } else if (toTop > 0) { + if (arrow) { arrow.style.top = (tooltipDims[1] / 2) - toTop + 'px'; } + tooltipTop += toTop; + } else if (toRight > 0) { + if (arrow) { arrow.style.left = (tooltipDims[0] / 2) + toRight + 'px'; } + tooltipLeft -= toRight; + } else if (toLeft > 0) { + if (arrow) { arrow.style.left = (tooltipDims[0] / 2) - toLeft + 'px'; } + tooltipLeft += toLeft; + } + + tooltip.style.left = tooltipLeft + 'px'; + tooltip.style.top = tooltipTop + 'px'; + } + }, + + /** + * Get a value for "where" (left/right/up/down) which doesn't put the + * tooltip off the screen + * + * @method _getWhereValueInsideViewport + * @param where {String} "where" value which was given by the user and we might change + * @param bbox {BoundingBox} A bounding box like what you get from getBoundingClientRect ({top, bottom, left, right}) with pixel positions from the top left corner of the viewport. + * @param viewport {BoundingBox} Bounding box for the viewport. "top" and "left" are omitted because these coordinates are relative to the top-left corner of the viewport so they are zero. + * + * @TODO: we can't use getBoundingClientRect in this case because it returns {0,0,0,0} on our uncreated tooltip. + */ + _getWhereValueInsideViewport: function (where, bbox, viewport) { + if (where === 'left' && bbox.left < 0) { + return 'right'; + } else if (where === 'right' && bbox.right > viewport.right) { + return 'left'; + } else if (where === 'up' && bbox.top < 0) { + return 'down'; + } else if (where === 'down' && bbox.bottom > viewport.bottom) { + return 'up'; + } + + return where; + }, + _removeTooltip: function() { + var tooltip = this.tooltip; + if (!tooltip) {return;} + + var remove = Ink.bind(InkElement.remove, {}, tooltip); + + if (this._getOpt('where') !== 'mousemove' && transitionDurationName) { + tooltip.style.opacity = 0; + // remove() will operate on correct tooltip, although this.tooltip === null then + setTimeout(remove, this._getFloatOpt('fade') * 1000); + } else { + remove(); + } + this.tooltip = null; + }, + _getOpt: function (option) { + var dataAttrVal = InkElement.data(this.element)[InkElement._camelCase('tip-' + option)]; + if (dataAttrVal /* either null or "" may signify the absense of this attribute*/) { + return dataAttrVal; + } + var instanceOption = this.root.options[option]; + if (typeof instanceOption !== 'undefined') { + return instanceOption; + } + }, + _getIntOpt: function (option) { + return parseInt(this._getOpt(option), 10); + }, + _getFloatOpt: function (option) { + return parseFloat(this._getOpt(option), 10); + }, + _destroy: function () { + if (this.tooltip) { + InkElement.remove(this.tooltip); + } + this.root = null; // Cyclic reference = memory leaks + this.element = null; + this.tooltip = null; + }, + _onMouseOver: function(e) { + // on IE < 10 you can't access the mouse event not even a tick after it fired + var mousePosition = this._getMousePosition(e); + var delay = this._getFloatOpt('delay'); + if (delay) { + this._delayTimeout = setTimeout(Ink.bind(function () { + if (!this.tooltip) { + this._makeTooltip(mousePosition); + } + this._delayTimeout = null; + }, this), delay * 1000); + } else { + this._makeTooltip(mousePosition); + } + }, + _onMouseMove: function(e) { + if (this._getOpt('where') === 'mousemove' && this.tooltip) { + var mPos = this._getMousePosition(e); + this._setPos(mPos[0], mPos[1]); + } + }, + _onMouseOut: function () { + if (!this._getIntOpt('forever')) { + this._removeTooltip(); + } + if (this._delayTimeout) { + clearTimeout(this._delayTimeout); + this._delayTimeout = null; + } + }, + _onTooltipMouseOver: function () { + if (this.tooltip) { // If tooltip is already being removed, this has no effect + this._removeTooltip(); + } + }, + _setPos: function(left, top) { + left += this._getIntOpt('left'); + top += this._getIntOpt('top'); + var pageDims = this._getPageXY(); + if (this.tooltip) { + var elmDims = [InkElement.elementWidth(this.tooltip), InkElement.elementHeight(this.tooltip)]; + var scrollDim = this._getScroll(); + + if((elmDims[0] + left - scrollDim[0]) >= (pageDims[0] - 20)) { + left = (left - elmDims[0] - this._getIntOpt('left') - 10); + } + if((elmDims[1] + top - scrollDim[1]) >= (pageDims[1] - 20)) { + top = (top - elmDims[1] - this._getIntOpt('top') - 10); + } + + this.tooltip.style.left = left + 'px'; + this.tooltip.style.top = top + 'px'; + } + }, + _getPageXY: function() { + var cWidth = 0; + var cHeight = 0; + if( typeof( window.innerWidth ) === 'number' ) { + cWidth = window.innerWidth; + cHeight = window.innerHeight; + } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { + cWidth = document.documentElement.clientWidth; + cHeight = document.documentElement.clientHeight; + } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { + cWidth = document.body.clientWidth; + cHeight = document.body.clientHeight; + } + return [parseInt(cWidth, 10), parseInt(cHeight, 10)]; + }, + _getScroll: function() { + var dd = document.documentElement, db = document.body; + if (dd && (dd.scrollLeft || dd.scrollTop)) { + return [dd.scrollLeft, dd.scrollTop]; + } else if (db) { + return [db.scrollLeft, db.scrollTop]; + } else { + return [0, 0]; + } + }, + _getMousePosition: function(e) { + return [parseInt(InkEvent.pointerX(e), 10), parseInt(InkEvent.pointerY(e), 10)]; + } + }; + + return Tooltip; +}); + +/** + * Elements in a tree structure + * @module Ink.UI.TreeView_1 + * @version 1 + */ +Ink.createModule('Ink.UI.TreeView', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1'], function(Common, Event, Css, Element, Selector, InkArray ) { + 'use strict'; + + + /** + * Shows elements in a tree structure which can be expanded and contracted. + * A TreeView is built with "node"s and "children". "node"s are `li` tags, and "children" are `ul` tags. + * You can build your TreeView out of a regular UL and LI element structure which you already use to display lists with several levels. + * If you want a node to be open when the TreeView is built, just add the data-open="true" attribute to it. + * + * @class Ink.UI.TreeView + * @constructor + * @version 1 + * @param {String|DOMElement} selector Element or selector. + * @param {String} [options] Options object, containing: + * @param {String} [options.node] Selector for the nodes. Defaults to 'li'. + * @param {String} [options.children] Selector for the children. Defaults to 'ul'. + * @param {String} [options.parentClass] CSS classes to be added to parent nodes. Defaults to 'parent'. + * @param {String} [options.openClass] CSS classes to be added to the icon when a parent is open. Defaults to 'fa fa-minus-circle'. + * @param {String} [options.closedClass] CSS classes to be added to the icon when a parent is closed. Defaults to 'fa fa-plus-circle'. + * @param {String} [options.hideClass] CSS Class to toggle visibility of the children. Defaults to 'hide-all'. + * @param {String} [options.iconTag] The name of icon tag. The component tries to find a tag with that name as a direct child of the node. If it doesn't find it, it creates it. Defaults to 'i'. + * @param {Boolean} [options.stopDefault] Flag to stops the default behavior of the click handler. Defaults to true. + * @example + * + * + * + * @sample Ink_UI_TreeView_1.html + */ + function TreeView() { + Common.BaseUIComponent.apply(this, arguments); + } + + TreeView._name = 'TreeView_1'; + + TreeView._optionDefinition = { + 'node': ['String', 'li'], + // [3.0.1] Deprecate this terrible, terrible name + 'child': ['String',null], + 'children': ['String','ul'], + 'parentClass': ['String','parent'], + 'openNodeClass': ['String', 'open'], + 'openClass': ['String','fa fa-minus-circle'], + 'closedClass': ['String','fa fa-plus-circle'], + 'hideClass': ['String','hide-all'], + 'iconTag': ['String', 'i'], + 'stopDefault' : ['Boolean', true] + }; + + TreeView.prototype = { + /** + * Init function called by the constructor. Sets the necessary event handlers. + * + * @method _init + * @private + */ + _init: function(){ + if (this._options.child) { + Ink.warn('Ink.UI.TreeView: options.child is being renamed to options.children.'); + this._options.children = this._options.child; + } + + this._handlers = { + click: Ink.bindEvent(this._onClick,this) + }; + + Event.on(this._element, 'click', this._options.node, this._handlers.click); + + InkArray.each(Ink.ss(this._options.node, this._element), Ink.bind(function(item){ + if( this.isParent(item) ) { + Css.addClassName(item, this._options.parentClass); + + var isOpen = this.isOpen(item); + if( !this._getIcon(item) ){ + Element.create(this._options.iconTag, { insertTop: item }); + } + + this._setNodeOpen(item, isOpen); + } + },this)); + }, + + _getIcon: function (node) { + return Ink.s('> ' + this._options.iconTag, node); + }, + + /** + * Checks if a node is open. + * + * @method isOpen + * @param {DOMElement} node The tree node to check + **/ + isOpen: function (node) { + if (!this._getChild(node)) { + throw new Error('not a node!'); + } + + return Element.data(node).open === 'true' || + Css.hasClassName(node, this._options.openNodeClass); + }, + + /** + * Checks if a node is a parent. + * + * @method isParent + * @param {DOMElement} node Node to check + **/ + isParent: function (node) { + return Css.hasClassName(node, this._options.parentClass) || + this._getChild(node) != null; + }, + + _setNodeOpen: function (node, beOpen) { + var child = this._getChild(node); + if (child) { + Css.setClassName(child, this._options.hideClass, !beOpen); + var icon = this._getIcon(node); + + node.setAttribute('data-open', beOpen); + + /* + * Don't refactor this to + * + * setClassName(el, className, status); setClassName(el, className, !status); + * + * because it won't work with multiple classes. + * + * Doing: + * setClassName(el, 'fa fa-whatever', true);setClassName(el, 'fa fa-whatever-else', false); + * + * will remove 'fa' although it is a class we want. + */ + + var toAdd = beOpen ? this._options.openClass : this._options.closedClass; + var toRemove = beOpen ? this._options.closedClass : this._options.openClass; + Css.removeClassName(icon, toRemove); + Css.addClassName(icon, toAdd); + + Css.setClassName(node, this._options.openNodeClass, beOpen); + } else { + Ink.error('Ink.UI.TreeView: node', node, 'is not a node!'); + } + }, + + /** + * Opens one of the tree nodes + * + * Make sure you pass the node's DOMElement + * @method open + * @param {DOMElement} node The node you wish to open. + **/ + open: function (node) { + this._setNodeOpen(node, true); + }, + + /** + * Closes one of the tree nodes + * + * Make sure you pass the node's DOMElement + * @method close + * @param {DOMElement} node The node you wish to close. + **/ + close: function (node) { + this._setNodeOpen(node, false); + }, + + /** + * Toggles a node state + * + * @method toggle + * @param {DOMElement} node The node to toggle. + **/ + toggle: function (node) { + if (this.isOpen(node)) { + this.close(node); + } else { + this.open(node); + } + }, + + _getChild: function (node) { + return Selector.select(this._options.children, node)[0] || null; + }, + + /** + * Handles the click event (as specified in the _init function). + * + * @method _onClick + * @param {Event} event + * @private + */ + _onClick: function(ev){ + /** + * Summary: + * If the clicked element is a "node" as defined in the options, will check if it has any "child". + * If so, will toggle its state and stop the event's default behavior if the stopDefault option is true. + **/ + + if (!this.isParent(ev.currentTarget) || + Selector.matchesSelector(ev.target, this._options.node) || + Selector.matchesSelector(ev.target, this._options.children)) { + return; + } + + if (this._options.stopDefault){ + ev.preventDefault(); + } + + this.toggle(ev.currentTarget); + } + }; + + Common.createUIComponent(TreeView); + + return TreeView; +}); + +Ink.createModule('Ink.UI.Upload', '1', [ + 'Ink.Dom.Event_1', + 'Ink.Dom.Element_1', + 'Ink.Dom.Browser_1', + 'Ink.UI.Common_1' +], function(Event, Element, Browser, Common) { + 'use strict'; + + var DirectoryReader = function(options) { + this.init(options); + }; + + DirectoryReader.prototype = { + init: function(options) { + this._options = Ink.extendObj({ + entry: undefined, + maxDepth: 10 + }, options || {}); + + try { + this._read(); + } catch(e) { + Ink.error(e); + } + }, + + + _read: function() { + if(!this._options.entry) { + Ink.error('You must specify the entry!'); + return; + } + + try { + this._readDirectories(); + } catch(e) { + Ink.error(e); + } + }, + + + _readDirectories: function() { + var entries = [], + running = false, + maxDepth = 0; + + /* TODO return as tree because much better well */ + var _readEntries = Ink.bind(function(currentEntry) { + var dir = currentEntry.createReader(); + running = true; + + dir.readEntries(Ink.bind(function(res) { + if(res.length > 0) { + for(var i = 0, len = res.length; i=0; i--) { + if(typeof(arr[i]) === 'undefined' || arr[i] === null || arr[i] === '') { + arr.splice(i, 1); + } + } + return arr; + } + }; + + var Queue = { + lists: [], + items: [], + + + /** + * Create new queue list + * @function create + * @public + * @param {String} list name + * @param {Function} function to iterate on items + * @return {Object} list id + */ + create: function(name) { + var id; + name = String(name); + this.lists.push({name: name}); + id = this.lists.length - 1; + return id; + }, + + + getItems: function(parentId) { + if(!parentId) { + return this.items; + } + var items = []; + for(var i = 0, len = this.items.length; i=0; i--) { + if(this.items[i] && id === this.items[i].parentId) { + this.remove(this.items[i].parentId, this.items[i].pid); + } + } + if(!keepList) { + this.lists.splice(id, 1); + } + return true; + } catch(e) { + Ink.error('Purge: invalid id'); + return false; + } + }, + + + /** + * add an item to a list + * @function add + * @public + * @param {String} name + * @param {Object} item + * @return {Number} pid + */ + add: function(parentId, item, priority) { + if(!this.lists[parentId]) { + return false; + } + if(typeof(item) !== 'object') { + item = String(item); + } + + var pid = parseInt(Math.round(Math.random() * 100000) + "" + Math.round(Math.random() * 100000), 10); + priority = priority || 0; + + this.items.push({parentId: parentId, item: item, priority: priority || 0, pid: pid}); + return pid; + }, + + + /** + * View list + * @function view + * @public + * @param {Number} list id + * @param {Number} process id + * @return {Object} item + */ + view: function(parentId, pid) { + var id = this._searchByPid(parentId, pid); + if(id === false) { + return false; + } + return this.items[id]; + }, + + + /** + * Remove an item + * @function remove + * @public + * @param {Object} item + * @return {Object|Boolean} removed item or false if not found + */ + remove: function(parentId, pid) { + try { + var id = this._searchByPid(parentId, pid); + if(id === false) { + return false; + } + this.items.splice(id, 1); + return true; + } catch(e) { + Ink.error('Remove: invalid id'); + return false; + } + }, + + _searchByPid: function(parentId, pid) { + if(!parentId && typeof(parentId) === 'boolean' || !pid) { + return false; + } + + parentId = parseInt(parentId, 10); + pid = parseInt(pid, 10); + + if(isNaN(parentId) || isNaN(pid)) { + return false; + } + + for(var i = 0, len = this.items.length; i this._options.minSizeToUseChunks; + }, + + + _dropEventHandler: function(ev) { + Event.stop(ev); + + this.publish('DropComplete', ev.dataTransfer); + + var data = ev.dataTransfer; + + if(!data || !data.files || !data.files.length) { + return false; + } + + this._files = data.files; + this._files = Array.prototype.slice.call(this._files || [], 0); + + // check if webkitGetAsEntry exists on first item + if(data.items && data.items[0] && data.items[0].webkitGetAsEntry) { + if(!this._options.foldersEnabled) { + return setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0); + } + var entry, folders = []; + for(var i = ev.dataTransfer.items.length-1; i>=0; i--) { + entry = ev.dataTransfer.items[i].webkitGetAsEntry(); + if(entry && entry.isDirectory) { + folders.push(entry); + this._files[i].isDirectory = true; + this._files.splice(i, 1); + } + } + // starting callback hell + this._addFolderToQueue(folders, Ink.bind(function() { + setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0); + }, this)); + } else { + setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0); + } + + return true; + }, + + + _addFolderToQueue: function(folders, cb) { + var files = [], invalidFolders = {}; + + if(!folders || !folders.length) { + cb(); + return files; + } + + var getFiles = function(entries) { + var files = []; + for(var i = 0, len = entries.length; i this._options.maxFilesize) { + this.publish('MaxSizeFailure', file, this._options.maxFilesize); + continue; + } + + fileID = parseInt(Math.round(Math.random() * 100000) + "" + Math.round(Math.random() * 100000), 10); + o = { id: i, data: file, fileID: fileID, directory: file.isDirectory }; + Queue.add(this._queueId, o); + + this.publish('FileAddedToQueue', o); + } + this._processQueue(true); + this._files = []; + }, + + + _processQueue: function(internalUpload) { + if(this._queueRunning) { + return false; + } + + this.running = 0; + var max = 1, i = 0, items, + queueLen = Queue.items.length; + this._queueRunning = true; + + this.interval = setInterval(Ink.bind(function() { + if(Queue.items.length === i && this.running === 0) { + Queue.purge(this._queueId, true); + this._queueRunning = false; + clearInterval(this.interval); + this.publish('QueueEnd', this._queueId, queueLen); + } + + items = Queue.getItems(this._queueId); + + if(this.running < max && items[i]) { + if(!items[i].canceled) { + _doRequest.call(this, items[i].pid, items[i].item.data, items[i].item.fileID, items[i].item.directory, internalUpload); + this.running++; + i++; + } else { + var j = i; + while(items[j] && items[j].canceled) { + i++; + j++; + } + } + return true; + } + return false; + }, this), 100); + + + var _doRequest = function(pid, data, fileID, directory, internalUpload) { + var o = { + file: data, + fileID: fileID, + cb: Ink.bind(function() { + this.running--; + }, this) + }; + if(internalUpload) { + if(directory) { + // do magic + o.cb(); + } else { + this._upload(o); + } + } + }; + + return true; + }, + + + _upload: function(o) { + var file = o.file, + xhr = new XMLHttpRequest(), + fileID = o.fileID; + + this.publish('BeforeUpload', file, this._options.extraData, fileID, xhr, this._supportChunks(file.size)); + + var forceAbort = function(showError) { + if(o.cb && typeof(o.cb === 'function')) { + o.cb(); + } + + this.publish('OnProgress', { + length: file.size, + lengthComputable: true, + loaded: file.size, + total: file.size + }, file, fileID); + this.publish('EndUpload', file, fileID, (showError ? { error: true } : true)); + this.publish('InvalidFile', file, 'name'); + xhr.abort(); + }; + + if(this._options.INVALID_FILE_NAME && this._options.INVALID_FILE_NAME instanceof RegExp) { + if(this._options.INVALID_FILE_NAME.test(o.file.name)) { + forceAbort.call(this); + return; + } + } + + // If file was renamed, abort it + // FU OPERA: Opera always return lastModified date as null + if(!file.lastModifiedDate && !Ink.Dom.Browser.OPERA) { + forceAbort.call(this, true); + return; + } + + xhr.upload.onprogress = Ink.bind(this.publish, this, 'OnProgress', file, fileID); + + var endpoint, method; + if(this._supportChunks(file.size)) { + if(file.size <= file.chunk_offset) { + endpoint = this._options.endpointChunkCommit; + method = 'POST'; + } else { + endpoint = this._options.endpointChunk; + if(file.chunk_upload_id) { + endpoint += '?upload_id=' + file.chunk_upload_id; + } + if(file.chunk_offset) { + endpoint += '&offset=' + file.chunk_offset; + } + method = 'PUT'; + } + } else { + endpoint = this._options.endpoint; + method = 'POST'; + } + + xhr.open(method, endpoint, true); + xhr.withCredentials = true; + xhr.setRequestHeader("x-requested-with", "XMLHttpRequest"); + if(this._supportChunks(file.size)) { + xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); + } + + var fd = new FormData(), + blob; + + if("Blob" in window && typeof Blob === 'function') { + blob = new Blob([file], { type: file.type }); + if(this._supportChunks(file.size)) { + file.chunk_offset = file.chunk_offset || 0; + blob = blob.slice(file.chunk_offset, file.chunk_offset + this._options.chunkSize); + } else { + fd.append(this._options.fileFormName, blob, file.name); + } + } else { + fd.append(this._options.fileFormName, file); + } + + if(!this._supportChunks(file.size)) { + for(var k in this._options.extraData) { + if(this._options.extraData.hasOwnProperty(k)) { + fd.append(k, this._options.extraData[k]); + } + } + } else { + fd.append('upload_id', file.chunk_upload_id); + fd.append('path', file.upload_path); + } + + if(!file.hasParent) { + if(!this._supportChunks(file.size)) { + xhr.send(fd); + } else { + if(file.size <= file.chunk_offset) { + xhr.send('upload_id=' + file.chunk_upload_id + '&path=' + file.upload_path + '/' + file.name); + } else { + xhr.send(blob); + } + } + } else { + this.publish('cbCreateFolder', file.parentID, file.fullPath, this._options.extraData, this._folders, file.rootPath, Ink.bind(function() { + if(!this._supportChunks(file.size)) { + xhr.send(fd); + } else { + if(file.size <= file.chunk_offset) { + xhr.send('upload_id=' + file.chunk_upload_id + '&path=' + file.upload_path + '/' + file.name); + } else { + xhr.send(blob); + } + } + }, this)); + } + + + xhr.onload = Ink.bindEvent(function() { + /* jshint boss:true */ + if(this._supportChunks(file.size) && file.size > file.chunk_offset) { + if(xhr.response) { + var response = JSON.parse(xhr.response); + + // check expected offset + var invalidOffset = file.chunk_offset && response.offset !== (file.chunk_offset + this._options.chunkSize) && file.size !== response.offset; + if(invalidOffset) { + if(o.cb) { + o.cb(); + } + this.publish('ErrorUpload', file, fileID); + } else { + file.chunk_upload_id = response.upload_id; + file.chunk_offset = response.offset; + file.chunk_expires = response.expires; + this._upload(o); + } + } else { + if(o.cb) { + o.cb(); + } + this.publish('ErrorUpload', file, fileID); + } + return (xhr = null); + } + + if(o.cb) { + o.cb(); + } + + if(xhr.responseText && xhr['status'] < 400) { + this.publish('EndUpload', file, fileID, xhr.responseText); + } else { + this.publish('ErrorUpload', file, fileID); + } + return (xhr = null); + }, this); + + + xhr.onerror = Ink.bindEvent(function() { + if(o.cb) { + o.cb(); + } + this.publish('ErrorUpload', file, fileID); + }, this); + + xhr.onabort = Ink.bindEvent(function() { + if(o.cb) { + o.cb(); + } + this.publish('AbortUpload', file, fileID, { + abortAll: Ink.bind(this.abortAll, this), + abortOne: Ink.bind(this.abortOne, this) + }); + }, this); + }, + + + abortAll: function() { + if(!this._queueRunning) { + return false; + } + clearInterval(this.interval); + this._queueRunning = false; + Queue.purge(this._queueId, true); + return true; + }, + + abortOne: function(id, cb) { + var items = Queue.getItems(0), + o; + for(var i = 0, len = items.length; ia;++a)if(c=g[a]){for(e in c.left)c.left.hasOwnProperty(e)&&(f=d[e],f&&(c.args[c.left[e]]=f,delete c.left[e],--c.remaining));if(c.remaining>0)i.push(c);else{if(h=c.cb,!h)continue;delete c.cb,h.apply(!1,c.args)}}g=i,g.length>0&&setTimeout(function(){Ink._checkPendingRequireModules()},0)},getPath:function(a,b){var d=a.split(/[._]/g),e,f,g,h;for(f=d.length;f>=0;f-=1)if(e=d.slice(0,f+1).join("."),c[e]){g=e;break}return g in c?(h=c[g],/\/$/.test(h)||(h+="/"),f0&&g[0].appendChild(f)},_loadLater:function(a){setTimeout(function(){d[a]||f[a]||h[a]||(f[a]=!0,Ink.loadScript(a))},0)},namespace:function(b,c){if(!b||!b.length)return null;for(var d=b.split("."),e=a,f,g=0,h=d.length;h>g;++g)e[d[g]]=e[d[g]]||{},f=e,e=e[d[g]];return c?[f,d[g-1]]:e},getModule:function(a,b){var c=b?[a,"_",b].join(""):a;return d[c]},createModule:function(b,c,g,i){if("string"!=typeof b)throw new Error("module name must be a string!");if(!("number"==typeof c||"string"==typeof c&&c.length>0))throw new Error("version number missing!");var k=[b,"_",c].join("");h[k]=!0;var l=function(){if(!d[k]){delete f[k],delete f[b];var g=Array.prototype.slice.call(arguments),l=i.apply(a,g);e.push(k),"object"==typeof l?l._version=c:"function"==typeof l&&(l.prototype._version=c,l._version=c);var m=0===b.indexOf("Ink."),n;m&&(n=Ink.namespace(b,!0)),d[k]=l,delete h[k],m&&(n[0][n[1]+"_"+c]=l),d[b]=l,m&&j(n[0][n[1]])&&(n[0][n[1]]=l),this&&Ink._checkPendingRequireModules()}};this.requireModules(g,l)},requireModules:function(a,b){var c,e,h,i,j;if(e=a&&a.length,h={args:new Array(e),left:{},remaining:e,cb:b},"object"!=typeof a||void 0===a.length)throw new Error("Dependency list should be an array!");if("function"!=typeof b)throw new Error("Callback should be a function!");for(c=0;e>c;++c)Ink._moduleRenames[a[c]]?(Ink.warn(a[c]+" was renamed to "+Ink._moduleRenames[a[c]]),i=Ink._moduleRenames[a[c]]):i=a[c],i?(j=d[i],j?(h.args[c]=j,--h.remaining):(f[i]||Ink._loadLater(i),h.left[i]=c)):--h.remaining;h.remaining>0?g.push(h):b.apply(!0,h.args)},_moduleRenames:{"Ink.UI.Aux_1":"Ink.UI.Common_1"},getModulesLoadOrder:function(){return e.slice()},getModuleScripts:function(){var a=this.getModulesLoadOrder();return a.unshift("Ink_1"),a=a.map(function(a){return[""].join("")}),a.join("\n")},createExt:function(a,b,c,d){return Ink.createModule("Ink.Ext."+a,b,c,d)},bind:function(a,b){var c=Array.prototype.slice.call(arguments,2);return function(){var d=Array.prototype.slice.call(arguments),e=c.concat(d);return a.apply(b===!1?this:b,e)}},bindMethod:function(a,b){return Ink.bind.apply(Ink,[a[b],a].concat([].slice.call(arguments,2)))},bindEvent:function(b,c){var d=Array.prototype.slice.call(arguments,2);return function(e){var f=d.slice();return f.unshift(e||a.event),b.apply(c===!1?this:c,f)}},i:function(a){if(!a)throw new Error("Ink.i => id or element must be passed");return"string"==typeof a?b.getElementById(a):a},ss:function(a,c){if("undefined"==typeof Ink.Dom||"undefined"==typeof Ink.Dom.Selector)throw new Error("This method requires Ink.Dom.Selector");return Ink.Dom.Selector.select(a,c||b)},s:function(a,c){if("undefined"==typeof Ink.Dom||"undefined"==typeof Ink.Dom.Selector)throw new Error("This method requires Ink.Dom.Selector");return Ink.Dom.Selector.select(a,c||b)[0]||null},extendObj:function(a){for(var b=[].slice.call(arguments,1),c=0,d=b.length;d>c;c++)if(b[c])for(var e in b[c])Object.prototype.hasOwnProperty.call(b[c],e)&&(a[e]=b[c][e]);return a},log:function(){var b=a.console;b&&b.log&&i.call(b.log,b,arguments)},warn:function(){var b=a.console;b&&b.warn&&i.call(b.warn,b,arguments)},error:function(){var b=a.console;b&&b.error&&i.call(b.error,b,arguments)}}}}(window,document),Ink.createModule("Ink.Net.Ajax","1",[],function(){"use strict";var Ajax=function(a,b){this.init(a,b)};Ajax.globalOptions={parameters:{},requestHeaders:{}};var xMLHttpRequestWithCredentials="XMLHttpRequest"in window&&"withCredentials"in new XMLHttpRequest;return Ajax.prototype={init:function(a,b){if(!a)throw new Error("WRONG_ARGUMENTS_ERR");var c=Ink.extendObj({asynchronous:!0,method:"POST",parameters:null,timeout:0,delay:0,postBody:"",contentType:"application/x-www-form-urlencoded",requestHeaders:null,onComplete:null,onSuccess:null,onFailure:null,onException:null,onHeaders:null,onCreate:null,onInit:null,onTimeout:null,sanitizeJSON:!1,evalJS:!0,xhrProxy:"",cors:!1,debug:!1,useCredentials:!1,signRequest:!1},Ajax.globalOptions);if(b&&"object"==typeof b){if(c=Ink.extendObj(c,b),"object"==typeof b.parameters)c.parameters=Ink.extendObj(Ink.extendObj({},Ajax.globalOptions.parameters),b.parameters);else if(null!==b.parameters){var d=this.paramsObjToStr(Ajax.globalOptions.parameters);d&&(c.parameters=b.parameters+"&"+d)}c.requestHeaders=Ink.extendObj({},Ajax.globalOptions.requestHeaders),c.requestHeaders=Ink.extendObj(c.requestHeaders,b.requestHeaders)}this.options=c,this.safeCall("onInit"),this.url=a;var e=this._locationFromURL(a);this.isHTTP=this._locationIsHTTP(e),this.isCrossDomain=this._locationIsCrossDomain(e,location),this.requestHasBody=c.method.search(/^get|head$/i)<0,this.options.cors&&(this.isCrossDomain=!1),this.transport=this.getTransport(),this.request()},_locationFromURL:function(a){var b=document.createElementNS?document.createElementNS("http://www.w3.org/1999/xhtml","a"):document.createElement("a");return b.href=a,b},_locationIsHTTP:function(a){return a.protocol.match(/^https?:/i)?!0:!1},_locationIsCrossDomain:function(a,b){return b=b||window.location,Ajax.prototype._locationIsHTTP(a)&&"widget:"!==b.protocol&&"object"!=typeof window.widget?b.protocol!==a.protocol||b.host.split(":")[0]!==a.host.split(":")[0]:!1},getTransport:function(){if(!xMLHttpRequestWithCredentials&&this.options.cors&&"XDomainRequest"in window)return this.usingXDomainReq=!0,new XDomainRequest;if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;if("undefined"==typeof ActiveXObject)return null;try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(a){return new ActiveXObject("Microsoft.XMLHTTP")}},setHeaders:function(){if(this.transport)try{var a={Accept:"text/javascript,text/xml,application/xml,application/xhtml+xml,text/html,application/json;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1","Accept-Language":navigator.language,"X-Requested-With":"XMLHttpRequest","X-Ink-Version":"2"};if(this.options.cors&&(this.options.signRequest||delete a["X-Requested-With"],delete a["X-Ink-Version"]),this.options.requestHeaders&&"object"==typeof this.options.requestHeaders)for(var b in this.options.requestHeaders)this.options.requestHeaders.hasOwnProperty(b)&&(a[b]=this.options.requestHeaders[b]);this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005&&(a.Connection="close");for(var c in a)a.hasOwnProperty(c)&&this.transport.setRequestHeader(c,a[c])}catch(d){}},paramsObjToStr:function(a){var b,c,d,e,f=[];if("object"!=typeof a)return a;for(d in a)if(a.hasOwnProperty(d))if(e=a[d],"[object Array]"!==Object.prototype.toString.call(e)||isNaN(e.length))f=f.concat([encodeURIComponent(d),"=",encodeURIComponent(e),"&"]);else for(b=0,c=e.length;c>b;b++)f=f.concat([encodeURIComponent(d),"[]","=",encodeURIComponent(e[b]),"&"]);return f.length>0&&f.pop(),f.join("")},setParams:function(){var a=null,b=this.options.parameters;a="object"==typeof b?this.paramsObjToStr(b):""+b,a&&(this.url=this.url.indexOf("?")>-1?this.url.split("#")[0]+"&"+a:this.url.split("#")[0]+"?"+a)},getHeader:function(a){if(this.usingXDomainReq&&"Content-Type"===a)return this.transport.contentType;try{return this.transport.getResponseHeader(a)}catch(b){return null}},getAllHeaders:function(){try{return this.transport.getAllResponseHeaders()}catch(a){return null}},getResponse:function(){var a=this.transport,b={headerJSON:null,responseJSON:null,getHeader:this.getHeader,getAllHeaders:this.getAllHeaders,request:this,transport:a,timeTaken:new Date-this.startTime,requestedUrl:this.url};b.readyState=a.readyState;try{b.responseText=a.responseText}catch(c){}try{b.responseXML=a.responseXML}catch(c){}try{b.status=a.status}catch(c){b.status=0}try{b.statusText=a.statusText}catch(c){b.statusText=""}return b},abort:function(){if(this.transport){clearTimeout(this.delayTimeout),clearTimeout(this.stoTimeout);try{this.transport.abort()}catch(a){}this.finish()}},runStateChange:function(){var a=this.transport.readyState;if(3===a)this.isHTTP&&this.safeCall("onHeaders");else if(4===a||this.usingXDomainReq){if(this.options.asynchronous&&this.options.delay&&this.startTime+this.options.delay>(new Date).getTime())return void(this.delayTimeout=setTimeout(Ink.bind(this.runStateChange,this),this.options.delay+this.startTime-(new Date).getTime()));var b,c=this.transport.responseText,d=this.getResponse(),e=this.transport.status;this.isHTTP&&!this.options.asynchronous&&this.safeCall("onHeaders"),clearTimeout(this.stoTimeout),0===e?this.isHTTP?this.safeCall("onException",this.makeError(18,"NETWORK_ERR")):e=c?200:404:304===e&&(e=200);var f=this.usingXDomainReq||e>=200&&300>e,g=this.getHeader("Content-Type")||"";if(this.options.evalJS&&(g.indexOf("application/json")>=0||"force"===this.options.evalJS))try{b=this.evalJSON(c,this.sanitizeJSON),b&&(c=d.responseJSON=b)}catch(h){f&&this.safeCall("onException",h)}if(this.usingXDomainReq&&-1!==g.indexOf("xml")&&"DOMParser"in window){var i;switch(g){case"application/xml":case"application/xhtml+xml":case"image/svg+xml":i=g;break;default:i="text/xml"}var j=(new DOMParser).parseFromString(this.transport.responseText,i);this.transport.responseXML=j,d.responseXML=j}null!==this.transport.responseXML&&null===d.responseJSON&&""!==this.transport.responseXML.xml&&(c=this.transport.responseXML),(e||this.usingXDomainReq)&&(f?this.safeCall("onSuccess",d,c):this.safeCall("onFailure",d,c),this.safeCall("on"+e,d,c)),this.finish(d,c)}},finish:function(a,b){if(a&&this.safeCall("onComplete",a,b),clearTimeout(this.stoTimeout),this.transport){try{this.transport.onreadystatechange=null}catch(c){}"function"==typeof this.transport.destroy&&this.transport.destroy(),this.transport=null}},safeCall:function(a,b){function c(a){setTimeout(function(){throw a.message&&(a.message+="\n"+(a.stacktrace||a.stack||"")),a},1)}if("function"==typeof this.options[a])try{this.options[a].apply(this,[].slice.call(arguments,1))}catch(d){c(d)}else b&&window.Error&&b instanceof Error&&c(b)},setRequestHeader:function(a,b){this.options.requestHeaders||(this.options.requestHeaders={}),this.options.requestHeaders[a]=b},request:function(){if(this.transport){var a=null;this.requestHasBody?(null!==this.options.postBody&&""!==this.options.postBody?(a=this.options.postBody,this.setParams()):null!==this.options.parameters&&""!==this.options.parameters&&(a=this.options.parameters),"object"!=typeof a||a.nodeType?"object"!=typeof a&&null!==a&&(a=""+a):a=this.paramsObjToStr(a),this.options.contentType&&this.setRequestHeader("Content-Type",this.options.contentType)):this.setParams();var b=this.url,c=this.options.method,d=this.isCrossDomain;d&&this.options.xhrProxy&&(this.setRequestHeader("X-Url",b),b=this.options.xhrProxy+encodeURIComponent(b),d=!1);try{this.transport.open(c,b,this.options.asynchronous)}catch(e){return this.safeCall("onException",e),this.finish(this.getResponse(),null)}this.setHeaders(),this.safeCall("onCreate"),this.options.timeout&&!isNaN(this.options.timeout)&&(this.stoTimeout=setTimeout(Ink.bind(function(){this.options.onTimeout&&(this.safeCall("onTimeout"),this.abort())},this),1e3*this.options.timeout)),this.options.useCredentials&&!this.usingXDomainReq&&(this.transport.withCredentials=!0),this.options.asynchronous&&!this.usingXDomainReq?this.transport.onreadystatechange=Ink.bind(this.runStateChange,this):this.usingXDomainReq&&(this.transport.onload=Ink.bind(this.runStateChange,this));try{if(d)throw this.makeError(18,"NETWORK_ERR");this.startTime=(new Date).getTime(),this.transport.send(a)}catch(e){return this.safeCall("onException",e),this.finish(this.getResponse(),null)}this.options.asynchronous||this.runStateChange()}},makeError:function(a,b){if("function"!=typeof Error)return{code:a,message:b};var c=new Error(b);return c.code=a,c},isJSON:function(a){return"string"==typeof a&&a?(a=a.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,""),/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/.test(a)):!1},evalJSON:function(strJSON,sanitize){if(strJSON&&(!sanitize||this.isJSON(strJSON)))try{return"undefined"!=typeof JSON&&"undefined"!=typeof JSON.parse?JSON.parse(strJSON):eval("("+strJSON+")")}catch(e){throw new Error("ERROR: Bad JSON string...")}return null}},Ajax.load=function(a,b){return new Ajax(a,{method:"GET",onSuccess:function(a){b(a.responseJSON||a.responseText,a)}})},Ajax.ping=function(a,b){return new Ajax(a,{method:"HEAD",onSuccess:function(a){"function"==typeof b&&b(a)}})},Ajax}),Ink.createModule("Ink.Net.JsonP","1",[],function(){"use strict";var a=function(a,b){this.init(a,b)};return a.prototype={init:function(a,b){if(this.options=Ink.extendObj({onSuccess:void 0,onFailure:void 0,failureObj:{},timeout:10,params:{},callbackParam:"jsoncallback",internalCallback:"_cb",randVar:!1},b||{}),this.randVar=this.options.randVar!==!1?this.options.randVar:parseInt(1e5*Math.random(),10),this.options.internalCallback+=this.randVar,this.uri=a,"function"==typeof this.options.onComplete&&(this.options.onSuccess=this.options.onComplete),"string"!=typeof this.uri)throw"Please define an URI";if("function"!=typeof this.options.onSuccess)throw"please define a callback function on option onSuccess!";Ink.Net.JsonP[this.options.internalCallback]=Ink.bind(function(){window.clearTimeout(this.timeout),delete window.Ink.Net.JsonP[this.options.internalCallback],this._removeScriptTag(),this.options.onSuccess(arguments[0])},this),this._addScriptTag()},_addParamsToGet:function(a,b){var c=-1!==a.indexOf("?"),d,e,f,g=[a];for(e in b)b.hasOwnProperty(e)&&(c?d="&":(d="?",c=!0),f=b[e],"number"==typeof f||f||(f=""),g=g.concat([d,e,"=",encodeURIComponent(f)]));return g.join("")},_getScriptContainer:function(){var a=document.getElementsByTagName("head");if(0===a.length){var b=document.getElementsByTagName("script");return b[0]}return a[0]},_addScriptTag:function(){this.options.params[this.options.callbackParam]="Ink.Net.JsonP."+this.options.internalCallback,this.options.params.rnd_seed=this.randVar,this.uri=this._addParamsToGet(this.uri,this.options.params);var a=document.createElement("script");a.type="text/javascript",a.src=this.uri;var b=this._getScriptContainer();b.appendChild(a),this.timeout=setTimeout(Ink.bind(this._requestFailed,this),1e3*this.options.timeout)},_requestFailed:function(){delete Ink.Net.JsonP[this.options.internalCallback],this._removeScriptTag(),"function"==typeof this.options.onFailure&&this.options.onFailure(this.options.failureObj)},_removeScriptTag:function(){for(var a,b=document.getElementsByTagName("script"),c,d=0,e=b.length;e>d;++d)if(a=b[d],c=a.getAttribute("src")||a.src,null!==c&&c===this.uri)return void a.parentNode.removeChild(a)}},a}),Ink.createModule("Ink.Dom.Browser","1",[],function(){"use strict";var a={IE:!1,GECKO:!1,OPERA:!1,SAFARI:!1,KONQUEROR:!1,CHROME:!1,model:!1,version:!1,userAgent:!1,cssPrefix:!1,domPrefix:!1,init:function(){this.detectBrowser(),this.setDimensions(),this.setReferrer()},setDimensions:function(){var a=0,b=0;"number"==typeof window.innerWidth?(a=window.innerWidth,b=window.innerHeight):document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)?(a=document.documentElement.clientWidth,b=document.documentElement.clientHeight):document.body&&(document.body.clientWidth||document.body.clientHeight)&&(a=document.body.clientWidth,b=document.body.clientHeight),this.windowWidth=a,this.windowHeight=b},setReferrer:function(){this.referrer=document.referrer&&document.referrer.length?window.escape(document.referrer):!1},detectBrowser:function(){this._sniffUserAgent(navigator.userAgent)},_sniffUserAgent:function(a){if(this.userAgent=a,a=a.toLowerCase(),/applewebkit\//.test(a))if(this.cssPrefix="-webkit-",this.domPrefix="Webkit",/(chrome|crios)\//.test(a))this.CHROME=!0,this.model="chrome",this.version=a.replace(/(.*)chrome\/([^\s]+)(.*)/,"$2");else{this.SAFARI=!0,this.model="safari";var b=/version\/([^) ]+)/;this.version=b.test(a)?a.match(b)[1]:a.replace(/(.*)applewebkit\/([^\s]+)(.*)/,"$2")}else if(/opera/.test(a))this.OPERA=!0,this.model="opera",this.version=a.replace(/(.*)opera.([^\s$]+)(.*)/,"$2"),this.cssPrefix="-o-",this.domPrefix="O";else if(/konqueror/.test(a))this.KONQUEROR=!0,this.model="konqueror",this.version=a.replace(/(.*)konqueror\/([^;]+);(.*)/,"$2"),this.cssPrefix="-khtml-",this.domPrefix="Khtml";else if(/(msie|trident)/i.test(a))this.IE=!0,this.model="ie",this.version=/rv:((?:\d|\.)+)/.test(a)?a.match(/rv:((?:\d|\.)+)/)[1]:a.replace(/(.*)\smsie\s([^;]+);(.*)/,"$2"),this.cssPrefix="-ms-",this.domPrefix="ms";else if(/gecko/.test(a)){this.cssPrefix="-moz-",this.domPrefix="Moz",this.GECKO=!0;var c=/(camino|chimera|epiphany|minefield|firefox|firebird|phoenix|galeon|iceweasel|k\-meleon|seamonkey|netscape|songbird|sylera)/;if(c.test(a))this.model=a.match(c)[1],this.version=a.replace(new RegExp("(.*)"+this.model+"/([^;\\s$]+)(.*)"),"$2");else{this.model="mozilla";var d=/(.*)rv:([^)]+)(.*)/;d.test(a)&&(this.version=a.replace(d,"$2"))}}},debug:function(){var a="known browsers: (ie, gecko, opera, safari, konqueror) \n";a+=[this.IE,this.GECKO,this.OPERA,this.SAFARI,this.KONQUEROR]+"\n",a+="cssPrefix -> "+this.cssPrefix+"\n",a+="domPrefix -> "+this.domPrefix+"\n",a+="model -> "+this.model+"\n",a+="version -> "+this.version+"\n",a+="\n",a+="original UA -> "+this.userAgent,alert(a)}};return a.init(),a}),Ink.createModule("Ink.Dom.Css",1,[],function(){"use strict";var a="defaultView"in document&&"getComputedStyle"in document.defaultView?document.defaultView.getComputedStyle:window.getComputedStyle,b={addRemoveClassName:function(a,b,c){return c?this.addClassName(a,b):void this.removeClassName(a,b)},addClassName:function(a,c){if(a=Ink.i(a),!a||!c)return null;c=(""+c).split(/[, ]+/);for(var d=0,e=c.length;e>d;d++)c[d].replace(/^\s+|\s+$/g,"")&&("undefined"!=typeof a.classList?a.classList.add(c[d]):b.hasClassName(a,c[d])||(a.className+=(a.className?" ":"")+c[d]))},removeClassName:function(a,b){if(a=Ink.i(a),!a||!b)return null;b=(""+b).split(/[, ]+/);var c=0,d=b.length;if("undefined"!=typeof a.classList)for(;d>c;c++)a.classList.remove(b[c]);else{for(var e=a.className||"",f;d>c;c++)f=new RegExp("(^|\\s+)"+b[c]+"(\\s+|$)"),e=e.replace(f," ");a.className=e.replace(/^\s+/,"").replace(/\s+$/,"")}},setClassName:function(a,b,c){this.addRemoveClassName(a,b,c||!1)},hasClassName:function(a,b,c){if(a=Ink.i(a),!a||!b)return!1;b=(""+b).split(/[, ]+/);for(var d=0,e=b.length,f,g;e>d;d++){if("undefined"!=typeof a.classList)f=a.classList.contains(b[d]);else{var h=a.className;h===b[d]?f=!0:(g=new RegExp("(^|\\s)"+b[d]+"(\\s|$)"),f=g.test(h))}if(f&&!c)return!0;if(!f&&c)return!1}return c?!0:!1},blinkClass:function(a,c,d,e){a=Ink.i(a),b.addRemoveClassName(a,c,!e),setTimeout(function(){b.addRemoveClassName(a,c,e)},Number(d)||100)},toggleClassName:function(a,c,d){return a&&c&&"undefined"!=typeof a.classList&&!/[, ]/.test(c)?(a=Ink.i(a),null!==a&&a.classList.toggle(c),!0):void("undefined"!=typeof d?d===!0?b.addClassName(a,c):d===!1&&b.removeClassName(a,c):b.hasClassName(a,c)?b.removeClassName(a,c):b.addClassName(a,c))},setOpacity:function(a,b){if(a=Ink.i(a),null!==a){var c=1;isNaN(Number(b))||(c=0>=b?0:1>=b?b:100>=b?b/100:1),"undefined"!=typeof a.style.opacity?a.style.opacity=c:a.style.filter="alpha(opacity:"+(100*c|0)+")"}},_camelCase:function(a){return a?a.replace(/-(\w)/g,function(a,b){return b.toUpperCase()}):a},getStyle:function(b,c){if(b=Ink.i(b),null!==b&&b.style){c="float"===c?"cssFloat":this._camelCase(c);var d=b.style[c];if(!a||d&&"auto"!==d)!d&&b.currentStyle&&(d=b.currentStyle[c],"auto"!==d||"width"!==c&&"height"!==c||(d=b["offset"+c.charAt(0).toUpperCase()+c.slice(1)]+"px"));else{var e=a(b,null);d=e?e[c]:null}if("opacity"===c)return d?parseFloat(d,10):1;if("borderTopWidth"===c||"borderBottomWidth"===c||"borderRightWidth"===c||"borderLeftWidth"===c){if("thin"===d)return"1px";if("medium"===d)return"3px";if("thick"===d)return"5px"}return"auto"===d?null:d}},setStyle:function(a,b){if(a=Ink.i(a),null!==a)if("string"==typeof b)a.style.cssText+="; "+b,-1!==b.indexOf("opacity")&&this.setOpacity(a,b.match(/opacity:\s*(\d?\.?\d*)/)[1]);else for(var c in b)b.hasOwnProperty(c)&&("opacity"===c?this.setOpacity(a,b[c]):"float"===c||"cssFloat"===c?"undefined"==typeof a.style.styleFloat?a.style.cssFloat=b[c]:a.style.styleFloat=b[c]:a.style[c]=b[c])},show:function(a,b){a=Ink.i(a),null!==a&&(a.style.display=b?b:"")},hide:function(a){a=Ink.i(a),null!==a&&(a.style.display="none")},showHide:function(a,b){a=Ink.i(a),a&&(a.style.display=b?"":"none")},toggle:function(a,b){a=Ink.i(a),null!==a&&("undefined"!=typeof b?b===!0?this.show(a):this.hide(a):"none"===this.getStyle(a,"display").toLowerCase()?this.show(a):this.hide(a))},_getRefTag:function(a){if(a.firstElementChild)return a.firstElementChild;for(var b=a.firstChild;b;b=b.nextSibling)if(1===b.nodeType)return b;return null},appendStyleTag:function(a,b,c){c=Ink.extendObj({type:"text/css",force:!1},c||{});var d=document.getElementsByTagName("style"),e=!1,f=!0,g,h;for(g=0,h=d.length;h>g;g++)e=d[g].innerHTML,e.indexOf(a)>=0&&(f=!1);if(f){var i=document.createElement("style"),j=document.getElementsByTagName("head")[0],k=!1,l="";i.type=c.type,l+=a+" {",l+=b,l+="} ","undefined"!=typeof i.styleSheet?i.styleSheet.cssText=l:i.appendChild(document.createTextNode(l)),c.force?j.appendChild(i):(k=this._getRefTag(j),k&&j.insertBefore(i,k))}},appendStylesheet:function(a,b){b=Ink.extendObj({media:"screen",type:"text/css",force:!1},b||{});var c,d=document.createElement("link"),e=document.getElementsByTagName("head")[0];d.media=b.media,d.type=b.type,d.href=a,d.rel="Stylesheet",b.force?e.appendChild(d):(c=this._getRefTag(e),c&&e.insertBefore(d,c))},_loadingCSSFiles:{},_loadedCSSFiles:{},appendStylesheetCb:function(a,b){if(!a)return b(a);if(this._loadedCSSFiles[a])return b(a);var c=this._loadingCSSFiles[a];if(c)return c.push(b);this._loadingCSSFiles[a]=[b];var d=document.createElement("link");d.type="text/css",d.rel="stylesheet",d.href=a;var e=document.getElementsByTagName("head")[0];e.appendChild(d);var f=document.createElement("img");f.onerror=Ink.bindEvent(function(a,b){var c=b;this._loadedCSSFiles[c]=!0;for(var d=this._loadingCSSFiles[c],e=0,f=d.length;f>e;++e)d[e](c);delete this._loadingCSSFiles[c]},this,a),f.src=a},decToHex:function(a){var b=function(a){return 1===a.length&&(a="0"+a),a=a.toUpperCase()};if("object"==typeof a){var c=b(parseInt(a.r,10).toString(16)),d=b(parseInt(a.g,10).toString(16)),e=b(parseInt(a.b,10).toString(16));return c+d+e}a+="";var f=a.match(/\((\d+),\s?(\d+),\s?(\d+)\)/);return null!==f?b(parseInt(f[1],10).toString(16))+b(parseInt(f[2],10).toString(16))+b(parseInt(f[3],10).toString(16)):b(parseInt(a,10).toString(16))},hexToDec:function(a){return 0===a.indexOf("#")&&(a=a.substr(1)),6===a.length?{r:parseInt(a.substr(0,2),16),g:parseInt(a.substr(2,2),16),b:parseInt(a.substr(4,2),16)}:3===a.length?{r:parseInt(a.charAt(0)+a.charAt(0),16),g:parseInt(a.charAt(1)+a.charAt(1),16),b:parseInt(a.charAt(2)+a.charAt(2),16)}:a.length<=2?parseInt(a,16):void 0},getPropertyFromStylesheet:function(a,b){var c=this.getRuleFromStylesheet(a);return c?c.style[b]:null},getPropertyFromStylesheet2:function(a,b){for(var c=this.getRulesFromStylesheet(a),d,e=0,f=c.length;f>e;e++)if(d=c[e].style[b],null!==d&&void 0!==d)return d;return null},getRuleFromStylesheet:function(a){var b,c,d,e,f,g=document.styleSheets;if(!g)return null;for(var h=0,i=document.styleSheets.length;i>h;++h){if(b=document.styleSheets[h],c=b.rules?b.rules:b.cssRules,!c)return null;for(d=0,e=c.length;e>d;++d)if(f=c[d],f.selectorText&&f.selectorText===a)return f}return null},getRulesFromStylesheet:function(a){var b=[],c,d,e,f,g,h=document.styleSheets;if(!h)return b;for(var i=0,j=document.styleSheets.length;j>i;++i){if(c=document.styleSheets[i],d=c.rules?c.rules:c.cssRules,!d)return null;for(e=0,f=d.length;f>e;++e)g=d[e],g.selectorText&&g.selectorText===a&&b.push(g)}return b},getPropertiesFromRule:function(a){var b=this.getRuleFromStylesheet(a),c={},d,e,f;b=b.style.cssText;var g=b.split(";"),h,i,j,k;for(e=0,f=g.length;f>e;++e)" "===g[e].charAt(0)&&(g[e]=g[e].substring(1)),h=g[e].split(":"),d=this._camelCase(h[0].toLowerCase()),i=h[1],i&&(i=i.substring(1),"padding"===d||"margin"===d||"borderWidth"===d?("borderWidth"===d?(j="border",k="Width"):(j=d,k=""),-1!==i.indexOf(" ")?(i=i.split(" "),c[j+"Top"+k]=i[0],c[j+"Bottom"+k]=i[0],c[j+"Left"+k]=i[1],c[j+"Right"+k]=i[1]):(c[j+"Top"+k]=i,c[j+"Bottom"+k]=i,c[j+"Left"+k]=i,c[j+"Right"+k]=i)):"borderRadius"===d?-1!==i.indexOf(" ")?(i=i.split(" "),c.borderTopLeftRadius=i[0],c.borderBottomRightRadius=i[0],c.borderTopRightRadius=i[1],c.borderBottomLeftRadius=i[1]):(c.borderTopLeftRadius=i,c.borderTopRightRadius=i,c.borderBottomLeftRadius=i,c.borderBottomRightRadius=i):c[d]=i);return c},changeFontSize:function(a,b,c,d,e){var f=this;Ink.requireModules(["Ink.Dom.Selector_1"],function(g){var h;if("string"!=typeof a?h="1st argument must be a CSS selector rule.":"number"!=typeof b?h="2nd argument must be a number.":void 0!==c&&"+"!==c&&"*"!==c?h='3rd argument must be one of "+", "*".':void 0!==d&&("number"!=typeof d||0>=d)?h="4th argument must be a positive number.":void 0!==e&&("number"!=typeof e||e>e)&&(h="5th argument must be a positive number greater than minValue."),h)throw new TypeError(h);var i,j,k=g.select(a);void 0===d&&(d=1),c="*"===c?function(a,b){return a*b}:function(a,b){return a+b};for(var l=0,m=k.length;m>l;++l)j=k[l],i=parseFloat(f.getStyle(j,"fontSize")),i=c(i,b),d>i||"number"==typeof e&&i>e||(j.style.fontSize=i+"px")})}};return b}),Ink.createModule("Ink.Dom.Element",1,[],function(){"use strict";function a(a){var b={};try{b=a.getBoundingClientRect()}catch(c){b={top:a.offsetTop,left:a.offsetLeft}}return b}var b="function"==typeof document.createRange&&"function"==typeof window.Range.prototype.createContextualFragment,c="Ink.Dom.Element tbody: "+Math.random(),d=function(){var a=document.createElement("div");return a.innerHTML="",0!==a.getElementsByTagName("tbody").length}(),e={isDOMElement:function(a){return null!==a&&"object"==typeof a&&"nodeType"in a&&1===a.nodeType},get:function(a){return"undefined"!=typeof a?"string"==typeof a?document.getElementById(a):a:null},create:function(a,b){var c=document.createElement(a);for(var d in b)b.hasOwnProperty(d)&&(d in e?e[d](c,b[d]):"className"===d||"class"===d?c.className=b.className||b["class"]:c.setAttribute(d,b[d]));return c},remove:function(a){a=Ink.i(a);var b;a&&(b=a.parentNode)&&b.removeChild(a)},scrollTo:function(a){if(a=e.get(a)){if(a.scrollIntoView)return a.scrollIntoView();var b={},c=0,d=0;do c+=a.offsetTop||0,d+=a.offsetLeft||0,a=a.offsetParent;while(a);b={x:d,y:c},window.scrollTo(b.x,b.y)}},offsetTop:function(a){return e.offset(a)[1]},offsetLeft:function(a){return e.offset(a)[0]},positionedOffset:function(a){var b=0,c=0;a=e.get(a);do if(b+=a.offsetTop||0,c+=a.offsetLeft||0,a=a.offsetParent){if("body"===a.tagName.toLowerCase())break;var d=a.style.position;if(!d&&a.currentStyle&&(d=a.currentStyle.position),(!d||"auto"===d)&&"undefined"!=typeof getComputedStyle){var f=getComputedStyle(a,null);d=f?f.position:null}if("relative"===d||"absolute"===d)break}while(a);return[c,b]},offset:function(b){b=Ink.i(b);var c=[0,0],d=b.ownerDocument,e=d.documentElement,f=a(b),g=d.body,h=e.clientTop||g.clientTop||0,i=e.clientLeft||g.clientLeft||0,j=d.pageYOffset||e.scrollTop||g.scrollTop,k=d.pageXOffset||e.scrollLeft||g.scrollLeft,l=f.top+j-h,m=f.left+k-i;return c=[m,l]},scroll:function(a){return a=a?Ink.i(a):document.body,[window.pageXOffset?window.pageXOffset:a.scrollLeft,window.pageYOffset?window.pageYOffset:a.scrollTop]},_getPropPx:function(a,b){var c,d,e=a.getPropertyValue?a.getPropertyValue(b):a[b];return e?(d=e.indexOf("px"),c=-1===d?0:parseFloat(e,10)):c=0,c},offset2:function(a){return e.offset(a)},hasAttribute:function(a,b){return a=Ink.i(a),a.hasAttribute?a.hasAttribute(b):!!a.getAttribute(b)},insertAfter:function(a,b){(b=e.get(b))&&(null!==b.nextSibling?b.parentNode.insertBefore(a,b.nextSibling):b.parentNode.appendChild(a))},insertBefore:function(a,b){(b=e.get(b))&&b.parentNode.insertBefore(a,b)},insertTop:function(a,b){(b=e.get(b))&&(b.firstChild?b.insertBefore(a,b.firstChild):b.appendChild(a))},insertBottom:function(a,b){b=Ink.i(b),b.appendChild(a)},textContent:function(a){a=Ink.i(a);var b,c,d,f;switch(a&&a.nodeType){case 9:return e.textContent(a.documentElement||a.body&&a.body.parentNode||a.body);case 1:if(b=a.innerText,"undefined"!=typeof b)return b;case 11:if(b=a.textContent,"undefined"!=typeof b)return b;if(a.firstChild===a.lastChild)return e.textContent(a.firstChild);for(b=[],d=a.childNodes,c=0,f=d.length;f>c;++c)b.push(e.textContent(d[c]));return b.join("");case 3:case 4:return a.nodeValue}return""},setTextContent:function(a,b){switch(a=Ink.i(a),a&&a.nodeType){case 1:if("innerText"in a){a.innerText=b;break}case 11:if("textContent"in a){a.textContent=b;break}case 9:for(;a.firstChild;)a.removeChild(a.firstChild);if(""!==b){var c=a.ownerDocument||a;a.appendChild(c.createTextNode(b))}break;case 3:case 4:a.nodeValue=b}},isLink:function(a){var b=a&&1===a.nodeType&&(/^a|area$/i.test(a.tagName)||a.hasAttributeNS&&a.hasAttributeNS("http://www.w3.org/1999/xlink","href"));return!!b},isAncestorOf:function(a,b){if(!b||!a)return!1;if(b.compareDocumentPosition)return 0!==(16&a.compareDocumentPosition(b));for(;b=b.parentNode;)if(b===a)return!0;return!1},descendantOf:function(a,b){return a!==b&&e.isAncestorOf(a,b)},firstElementChild:function(a){if(!a)return null;if("firstElementChild"in a)return a.firstElementChild;for(var b=a.firstChild;b&&1!==b.nodeType;)b=b.nextSibling;return b},lastElementChild:function(a){if(!a)return null;if("lastElementChild"in a)return a.lastElementChild;for(var b=a.lastChild;b&&1!==b.nodeType;)b=b.previousSibling;return b},nextElementSibling:function(a){var b=null;if(!a)return b;if("nextElementSibling"in a)return a.nextElementSibling;for(b=a.nextSibling;b&&1!==b.nodeType;)b=b.nextSibling;return b},previousElementSibling:function(a){var b=null;if(!a)return b;if("previousElementSibling"in a)return a.previousElementSibling;for(b=a.previousSibling;b&&1!==b.nodeType;)b=b.previousSibling;return b},elementWidth:function(a){return"string"==typeof a&&(a=document.getElementById(a)),a.offsetWidth},elementHeight:function(a){return"string"==typeof a&&(a=document.getElementById(a)),a.offsetHeight},elementLeft:function(a){return e.offsetLeft(a)},elementTop:function(a){return e.offsetTop(a)},elementDimensions:function(a){return a=Ink.i(a),[a.offsetWidth,a.offsetHeight]},outerDimensions:function(b){var c=a(b),d=Ink.getModule("Ink.Dom.Css_1"),e=Ink.bindMethod(d,"getStyle",b);return[c.right-c.left+parseFloat(e("marginLeft")||0)+parseFloat(e("marginRight")||0),c.bottom-c.top+parseFloat(e("marginTop")||0)+parseFloat(e("marginBottom")||0)] +},inViewport:function(b,c){var d=a(Ink.i(b));return"boolean"==typeof c&&(c={partial:c,margin:0}),c=Ink.extendObj({partial:!1,margin:0},c||{}),c.partial?d.bottom+c.margin>0&&d.left-c.margin0:d.top+c.margin>0&&d.right-c.margin0},isHidden:function(a){var b=a.offsetWidth,c=a.offsetHeight,d="tr"===a.tagName.toLowerCase(),e=Ink.getModule("Ink.Dom.Css_1");return 0!==b||0!==c||d?0===b||0===c||d?"none"===e.getStyle(a,"display").toLowerCase():!1:!0},isVisible:function(a){return!this.isHidden(a)},clonePosition:function(a,b){var c=e.offset(b);return a.style.left=c[0]+"px",a.style.top=c[1]+"px",a},ellipsizeText:function(a){(a=Ink.i(a))&&(a.style.overflow="hidden",a.style.whiteSpace="nowrap",a.style.textOverflow="ellipsis")},findUpwardsHaving:function(a,b){for(;a&&1===a.nodeType;){if(b(a))return a;a=a.parentNode}return!1},findUpwardsByClass:function(a,b){var c=new RegExp("(^|\\s)"+b+"(\\s|$)"),d=function(a){var b=a.className;return b&&c.test(b)};return e.findUpwardsHaving(a,d)},findUpwardsByTag:function(a,b){b=b.toUpperCase();var c=function(a){return a.nodeName&&a.nodeName.toUpperCase()===b};return e.findUpwardsHaving(a,c)},findUpwardsById:function(a,b){var c=function(a){return a.id===b};return e.findUpwardsHaving(a,c)},findUpwardsBySelector:function(a,b){var c=Ink.getModule("Ink.Dom.Selector","1");if(!c)throw new Error("This method requires Ink.Dom.Selector");var d=function(a){return c.matchesSelector(a,b)};return e.findUpwardsHaving(a,d)},getChildrenText:function(a,b){var c,d,f,g=a.childNodes,h=g.length,i="";if(!a)return i;for(d=0;h>d;++d)c=g[d],c&&3===c.nodeType&&(f=e._trimString(String(c.data)),f.length>0?(i+=f,b&&a.removeChild(c)):a.removeChild(c));return i},_trimString:function(a){return String.prototype.trim?a.trim():a.replace(/^\s*/,"").replace(/\s*$/,"")},getSelectValues:function(a){for(var b=Ink.i(a),c=[],d=0;dd;++d)b=a[d],b instanceof Array?1===b.length&&b.push(b[0]):b=[b,b],c.push(b);return c},fillSelect:function(a,b,c,d){var f=Ink.i(a);if(f){f.innerHTML="";var g,h;c||(h=document.createElement("option"),h.setAttribute("value",""),f.appendChild(h)),b=e._normalizeData(b);for(var i=0,j=b.length;j>i;++i)g=b[i],h=document.createElement("option"),h.setAttribute("value",g[0]),g.length>2&&h.setAttribute("extra",g[2]),h.appendChild(document.createTextNode(g[1])),g[0]===d&&h.setAttribute("selected","selected"),f.appendChild(h)}},fillRadios:function(a,b,c,d,f,g){a=Ink.i(a);var h=document.createElement("span");e.insertAfter(h,a),c=e._normalizeData(c);var i,j;d||(j=document.createElement("input"),j.setAttribute("type","radio"),j.setAttribute("name",b),j.setAttribute("value",""),h.appendChild(j),g&&h.appendChild(document.createElement(g)));for(var k=0;ke;++e)if(c=a.childNodes[e],1===c.nodeType){if(c===b)return d;++d}return-1},nextSiblings:function(a){if(a=Ink.i(a),"object"==typeof a&&null!==a&&a.nodeType&&1===a.nodeType){for(var b=[],c=a.parentNode.children,d=e.parentIndexOf(a.parentNode,a),f=++d,g=c.length;g>f;f++)b.push(c[f]);return b}return[]},previousSiblings:function(a){if(a=Ink.i(a),"object"==typeof a&&null!==a&&a.nodeType&&1===a.nodeType){for(var b=[],c=a.parentNode.children,d=e.parentIndexOf(a.parentNode,a),f=0,g=d;g>f;f++)b.push(c[f]);return b}return[]},siblings:function(a){if(a=Ink.i(a),"object"==typeof a&&null!==a&&a.nodeType&&1===a.nodeType){for(var b=[],c=a.parentNode.children,d=0,e=c.length;e>d;d++)a!==c[d]&&b.push(c[d]);return b}return[]},childElementCount:function(a){return a=Ink.i(a),"childElementCount"in a?a.childElementCount:a?e.siblings(a).length+1:0},_wrapElements:{TABLE:function(a,b){return a.innerHTML=d?"
      "+b+"
      "+c+"
      ":""+b+"
      ",a.firstChild},TBODY:function(a,b){return a.innerHTML=""+b+"
      ",a.firstChild.getElementsByTagName("tbody")[0]},THEAD:function(a,b){return a.innerHTML=""+b+"
      ",a.firstChild.getElementsByTagName("thead")[0]},TFOOT:function(a,b){return a.innerHTML=""+b+"
      ",a.firstChild.getElementsByTagName("tfoot")[0]},TR:function(a,b){return a.innerHTML=""+b+"
      ",a.firstChild.firstChild.firstChild}},_getWrapper:function(a,b){var f=a.nodeName&&a.nodeName.toUpperCase(),g=document.createElement("div"),h=e._wrapElements[f];if(!h)return g.innerHTML=b,g;if(g=h(g,b),d&&"TABLE"===f)for(var i=g.getElementsByTagName("td"),j=0,k=i.length;k>j;j++)if(i[j].innerHTML===c){var l=i[j].parentNode.parentNode;l.parentNode.removeChild(l)}return g},appendHTML:function(a,b){if(a=Ink.i(a),null!==a)for(var c=e._getWrapper(a,b);c.firstChild;)a.appendChild(c.firstChild)},prependHTML:function(a,b){if(a=Ink.i(a),null!==a)for(var c=e._getWrapper(a,b);c.lastChild;)a.insertBefore(c.lastChild,a.firstChild)},setHTML:function(a,b){if(a=Ink.i(a),null!==a)try{a.innerHTML=b}catch(c){for(;a.firstChild;)a.removeChild(a.firstChild);e.appendHTML(a,b)}},wrap:function(a,b){a=Ink.i(a),b=Ink.i(b);var c=a.nextSibling,d=a.parentNode;return b.appendChild(a),null!==c?d.insertBefore(b,c):d.appendChild(b),b},unwrap:function(a,b){a=Ink.i(a);var c;c="string"==typeof b?e.findUpwardsBySelector(a,b):"object"==typeof b&&b.tagName?e.findUpwardsHaving(a,function(a){return a===b}):a.parentNode,c&&c.parentNode&&e.insertBefore(a,c)},replace:function(a,b){a=Ink.i(a),null!==a&&a.parentNode.replaceChild(b,a)},removeTextNodeChildren:function(a){if(a=Ink.i(a),null!==a){var b,c,d=a;for(a=a.firstChild;a;)c=3===a.nodeType,b=a,a=a.nextSibling,c&&d.removeChild(b)}},htmlToFragment:b?function(a){var b;return"string"!=typeof a?document.createDocumentFragment():(b=document.createRange(),b.selectNode(document.body),b.createContextualFragment(a))}:function(a){var b=document.createDocumentFragment(),c,d;if("string"!=typeof a)return b;for(c=document.createElement("div"),c.innerHTML=a;d=c.firstChild;)b.appendChild(d);return b},_camelCase:function(a){return a?a.replace(/-(\w)/g,function(a,b){return b.toUpperCase()}):a},data:function(a){var b;if("object"!=typeof a&&"string"!=typeof a)throw"[Ink.Dom.Element.data] :: Invalid selector defined";if("object"==typeof a)b=a;else{var c=Ink.getModule("Ink.Dom.Selector",1);if(!c)throw"[Ink.Dom.Element.data] :: this method requires Ink.Dom.Selector - v1";if(b=c.select(a),b.length<=0)throw"[Ink.Dom.Element.data] :: Can't find any element with the specified selector";b=b[0]}var d={},f=b.attributes||[],g,h,i;if(f)for(var j=0,k=f.length;k>j;++j)g=f[j],h=g.name,i=g.value,h&&0===h.indexOf("data-")&&(d[e._camelCase(h.replace("data-",""))]=i);return d},moveCursorTo:function(a,b){if(a=Ink.i(a),null!==a)if(a.setSelectionRange)a.setSelectionRange(b,b);else{var c=a.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",b),c.select()}},pageWidth:function(){var a;a=window.innerWidth&&window.scrollMaxX?window.innerWidth+window.scrollMaxX:document.body.scrollWidth>document.body.offsetWidth?document.body.scrollWidth:document.body.offsetWidth;var b;return window.self.innerWidth?b=document.documentElement.clientWidth?document.documentElement.clientWidth:window.self.innerWidth:document.documentElement&&document.documentElement.clientWidth?b=document.documentElement.clientWidth:document.body&&(b=document.body.clientWidth),b>a?a:b},pageHeight:function(){var a;a=window.innerHeight&&window.scrollMaxY?window.innerHeight+window.scrollMaxY:document.body.scrollHeight>document.body.offsetHeight?document.body.scrollHeight:document.body.offsetHeight;var b;return window.self.innerHeight?b=window.self.innerHeight:document.documentElement&&document.documentElement.clientHeight?b=document.documentElement.clientHeight:document.body&&(b=document.body.clientHeight),b>a?b:a},viewportWidth:function(){return"undefined"!=typeof window.innerWidth?window.innerWidth:document.documentElement&&"undefined"!=typeof document.documentElement.offsetWidth?document.documentElement.offsetWidth:void 0},viewportHeight:function(){return"undefined"!=typeof window.innerHeight?window.innerHeight:document.documentElement&&"undefined"!=typeof document.documentElement.offsetHeight?document.documentElement.offsetHeight:void 0},scrollWidth:function(){return"undefined"!=typeof window.self.pageXOffset?window.self.pageXOffset:"undefined"!=typeof document.documentElement&&"undefined"!=typeof document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft},scrollHeight:function(){return"undefined"!=typeof window.self.pageYOffset?window.self.pageYOffset:"undefined"!=typeof document.documentElement&&"undefined"!=typeof document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop}};return e}),Ink.createModule("Ink.Dom.Event",1,[],function(){var a=function(a,b,c){return c()}("bean",this,function(a,b){a=a||"bean",b=b||this;var c=window,d=b[a],e=/[^\.]*(?=\..*)\.|.*/,f=/\..*/,g="addEventListener",h="removeEventListener",i=document||{},j=i.documentElement||{},k=j[g],l=k?g:"attachEvent",m={},n=Array.prototype.slice,o=function(a,b){return a.split(b||" ")},p=function(a){return"string"==typeof a},q=function(a){return"function"==typeof a},r="click dblclick mouseup mousedown contextmenu mousewheel mousemultiwheel DOMMouseScroll mouseover mouseout mousemove selectstart selectend keydown keypress keyup orientationchange focus blur change reset select submit load unload beforeunload resize move DOMContentLoaded readystatechange message error abort scroll ",s="show input invalid touchstart touchmove touchend touchcancel gesturestart gesturechange gestureend textinputreadystatechange pageshow pagehide popstate hashchange offline online afterprint beforeprint dragstart dragenter dragover dragleave drag drop dragend loadstart progress suspend emptied stalled loadmetadata loadeddata canplay canplaythrough playing waiting seeking seeked ended durationchange timeupdate play pause ratechange volumechange cuechange checking noupdate downloading cached updateready obsolete ",t=function(a,b,c){for(c=0;cg;g++)if(m[g].reg.test(e)){n[e]=k=m[g].fix;break}for(j=k(a,this,e),g=j.length;g--;)!((i=j[g])in this)&&i in a&&(this[i]=a[i])}}};return p.prototype.preventDefault=function(){this.originalEvent.preventDefault?this.originalEvent.preventDefault():this.originalEvent.returnValue=!1},p.prototype.stopPropagation=function(){this.originalEvent.stopPropagation?this.originalEvent.stopPropagation():this.originalEvent.cancelBubble=!0},p.prototype.stop=function(){this.preventDefault(),this.stopPropagation(),this.stopped=!0},p.prototype.stopImmediatePropagation=function(){this.originalEvent.stopImmediatePropagation&&this.originalEvent.stopImmediatePropagation(),this.isImmediatePropagationStopped=function(){return!0}},p.prototype.isImmediatePropagationStopped=function(){return this.originalEvent.isImmediatePropagationStopped&&this.originalEvent.isImmediatePropagationStopped()},p.prototype.clone=function(a){var b=new p(this,this.element,this.isNative);return b.currentTarget=a,b},p}(),w=function(a,b){return k||b||a!==i&&a!==c?a:j},x=function(){var a=function(a,b,c,d){var e=function(c,e){return b.apply(a,d?n.call(e,c?0:1).concat(d):e)},f=function(c,d){return b.__beanDel?b.__beanDel.ft(c.target,a):d},g=c?function(a){var b=f(a,this);return c.apply(b,arguments)?(a&&(a.currentTarget=b),e(a,arguments)):void 0}:function(a){return b.__beanDel&&(a=a.clone(f(a))),e(a,arguments)};return g.__beanDel=b.__beanDel,g},b=function(b,c,d,e,f,g,h){var i=u[c],j;"unload"==c&&(d=D(E,b,c,d,e)),i&&(i.condition&&(d=a(b,d,i.condition,g)),c=i.base||c),this.isNative=j=t[c]&&!!b[l],this.customType=!k&&!j&&c,this.element=b,this.type=c,this.original=e,this.namespaces=f,this.eventType=k||j?c:"propertychange",this.target=w(b,j),this[l]=!!this.target[l],this.root=h,this.handler=a(b,d,null,g)};return b.prototype.inNamespaces=function(a){var b,c,d=0;if(!a)return!0;if(!this.namespaces)return!1;for(b=a.length;b--;)for(c=this.namespaces.length;c--;)a[b]==this.namespaces[c]&&d++;return a.length===d},b.prototype.matches=function(a,b,c){return!(this.element!==a||b&&this.original!==b||c&&this.handler!==c)},b}(),y=function(){var a={},b=function(c,d,e,f,g,h){var i=g?"r":"$";if(d&&"*"!=d){var j=0,k,l=a[i+d],m="*"==c;if(!l)return;for(k=l.length;k>j;j++)if((m||l[j].matches(c,e,f))&&!h(l[j],l,j,d))return}else for(var n in a)n.charAt(0)==i&&b(c,n.substr(1),e,f,g,h)},c=function(b,c,d,e){var f,g=a[(e?"r":"$")+c];if(g)for(f=g.length;f--;)if(!g[f].root&&g[f].matches(b,d,null))return!0;return!1},d=function(a,c,d,e){var f=[];return b(a,c,d,null,e,function(a){return f.push(a)}),f},e=function(b){var c=!b.root&&!this.has(b.element,b.type,null,!1),d=(b.root?"r":"$")+b.type;return(a[d]||(a[d]=[])).push(b),c},f=function(c){b(c.element,c.type,null,c.handler,c.root,function(b,c,d){return c.splice(d,1),b.removed=!0,0===c.length&&delete a[(b.root?"r":"$")+b.type],!1})},g=function(){var b,c=[];for(b in a)"$"==b.charAt(0)&&(c=c.concat(a[b]));return c};return{has:c,get:d,put:e,del:f,entries:g}}(),z,A=function(a){z=arguments.length?a:i.querySelectorAll?function(a,b){return b.querySelectorAll(a)}:function(){throw new Error("Bean: No selector engine installed")}},B=function(a,b){if(k||!b||!a||a.propertyName=="_on"+b){var c=y.get(this,b||a.type,null,!1),d=c.length,e=0;for(a=new v(a,this,!0),b&&(a.type=b);d>e&&!a.isImmediatePropagationStopped();e++)c[e].removed||c[e].handler.call(this,a)}},C=k?function(a,b,c){a[c?g:h](b,B,!1)}:function(a,b,c,d){var e;c?(y.put(e=new x(a,d||b,function(b){B.call(a,b,d)},B,null,null,!0)),d&&null==a["_on"+d]&&(a["_on"+d]=0),e.target.attachEvent("on"+e.eventType,e.handler)):(e=y.get(a,d||b,B,!0)[0],e&&(e.target.detachEvent("on"+e.eventType,e.handler),y.del(e)))},D=function(a,b,c,d,e){return function(){d.apply(this,arguments),a(b,c,e)}},E=function(a,b,c,d){var e=b&&b.replace(f,""),g=y.get(a,e,null,!1),h={},i,j;for(i=0,j=g.length;j>i;i++)c&&g[i].original!==c||!g[i].inNamespaces(d)||(y.del(g[i]),!h[g[i].eventType]&&g[i][l]&&(h[g[i].eventType]={t:g[i].eventType,c:g[i].type}));for(i in h)y.has(a,h[i].t,null,!1)||C(a,h[i].t,!1,h[i].c)},F=function(a,b){var c=function(b,c){for(var d,e=p(a)?z(a,c):a;b&&b!==c;b=b.parentNode)for(d=e.length;d--;)if(e[d]===b)return b},d=function(a){var d=c(a.target,this);d&&b.apply(d,arguments)};return d.__beanDel={ft:c,selector:a},d},G=k?function(a,b,d){var e=i.createEvent(a?"HTMLEvents":"UIEvents");e[a?"initEvent":"initUIEvent"](b,!0,!0,c,1),d.dispatchEvent(e)}:function(a,b,c){c=w(c,a),a?c.fireEvent("on"+b,i.createEventObject()):c["_on"+b]++},H=function(a,b,c){var d=p(b),g,h,i,j;if(d&&b.indexOf(" ")>0){for(b=o(b),j=b.length;j--;)H(a,b[j],c);return a}if(h=d&&b.replace(f,""),h&&u[h]&&(h=u[h].base),!b||d)(i=d&&b.replace(e,""))&&(i=o(i,".")),E(a,h,c,i);else if(q(b))E(a,null,b);else for(g in b)b.hasOwnProperty(g)&&H(a,g,b[g]);return a},I=function(a,b,c,d){var g,h,i,j,k,p,r;{if(void 0!==c||"object"!=typeof b){for(q(c)?(k=n.call(arguments,3),d=g=c):(g=d,k=n.call(arguments,4),d=F(c,g,z)),i=o(b),this===m&&(d=D(H,a,b,d,g)),j=i.length;j--;)r=y.put(p=new x(a,i[j].replace(f,""),d,g,o(i[j].replace(e,""),"."),k,!1)),p[l]&&r&&C(a,p.eventType,!0,p.customType);return a}for(h in b)b.hasOwnProperty(h)&&I.call(this,a,h,b[h])}},J=function(a,b,c,d){return I.apply(null,p(c)?[a,c,b,d].concat(arguments.length>3?n.call(arguments,5):[]):n.call(arguments))},K=function(){return I.apply(m,arguments)},L=function(a,b,c){var d=o(b),g,h,i,j,k;for(g=d.length;g--;)if(b=d[g].replace(f,""),(j=d[g].replace(e,""))&&(j=o(j,".")),j||c||!a[l])for(k=y.get(a,b,null,!1),c=[!1].concat(c),h=0,i=k.length;i>h;h++)k[h].inNamespaces(j)&&k[h].handler.apply(a,c);else G(t[b],b,a);return a},M=function(a,b,c){for(var d=y.get(b,c,null,!1),e=d.length,f=0,g,h;e>f;f++)d[f].original&&(g=[a,d[f].type],(h=d[f].handler.__beanDel)&&g.push(h.selector),g.push(d[f].original),I.apply(null,g));return a},N={on:I,add:J,one:K,off:H,remove:H,clone:M,fire:L,Event:v,setSelectorEngine:A,noConflict:function(){return b[a]=d,this}};if(c.attachEvent){var O=function(){var a,b=y.entries();for(a in b)b[a].type&&"unload"!==b[a].type&&H(b[a].element,b[a].type);c.detachEvent("onunload",O),c.CollectGarbage&&c.CollectGarbage()};c.attachEvent("onunload",O)}return A(Ink.ss),N}),b={KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_SPACE:32,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45,throttle:function(a,b){b=b||0;var c=0,d,e=function(){var f=+new Date,g=f-c;if(g>=b)return c=f,a.apply(this,[].slice.call(arguments));var h=this,i=[].slice.call(arguments);d||(d=setTimeout(function(){return d=null,e.apply(h,i)},b-g))};return e},element:function(a){var b=a.delegationTarget||a.target||"mouseout"===a.type&&a.fromElement||"mouseleave"===a.type&&a.fromElement||"mouseover"===a.type&&a.toElement||"mouseenter"===a.type&&a.toElement||a.srcElement||null;return!b||3!==b.nodeType&&4!==b.nodeType?b:b.parentNode},relatedTarget:function(a){var b=a.relatedTarget||"mouseout"===a.type&&a.toElement||"mouseleave"===a.type&&a.toElement||"mouseover"===a.type&&a.fromElement||"mouseenter"===a.type&&a.fromElement||null;return!b||3!==b.nodeType&&4!==b.nodeType?b:b.parentNode},findElement:function(a,b,c){for(var d=this.element(a);;){if(d.nodeName.toLowerCase()===b.toLowerCase())return d;if(d=d.parentNode,!d)return c?!1:document;if(!d.parentNode)return c?!1:document}},observe:function(a,b,c,d){return a=Ink.i(a),a?(a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent("on"+b,c=Ink.bind(c,a)),c):void 0},observeOnce:function(a,c,d,e){var f=function(){return b.stopObserving(a,c,f),d()};return b.observe(a,c,f,e)},observeMulti:function(a,b,c,d){if("string"==typeof a?a=Ink.ss(a):a&&1===a.nodeType&&(a=[a]),!a[0])return!1;for(var e=0,f=a.length;f>e;e++)this.observe(a[e],b,c,d);return c},observeDelegated:function(a,c,d,e){return b.observe(a,c,function(c){var f=b.element(c);if(f&&f!==a)for(var g=f;g!==a&&g!==document&&g;){if(Ink.Dom.Selector_1.matchesSelector(g,d))return c.delegationTarget=g,e(c);g=g.parentNode}})},stopObserving:function(a,b,c,d){a=Ink.i(a),a&&(a.removeEventListener?a.removeEventListener(b,c,!!d):a.detachEvent("on"+b,c))},stop:function(a){null!==a.cancelBubble&&(a.cancelBubble=!0),a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),window.attachEvent&&(a.returnValue=!1),null!==a.cancel&&(a.cancel=!0)},stopPropagation:function(a){null!==a.cancelBubble&&(a.cancelBubble=!0),a.stopPropagation&&a.stopPropagation()},stopDefault:function(a){a.preventDefault&&a.preventDefault(),window.attachEvent&&(a.returnValue=!1),null!==a.cancel&&(a.cancel=!0)},pointer:function(a){return{x:this.pointerX(a),y:this.pointerY(a)}},pointerX:function(a){return a.touches&&a.touches[0]&&a.touches[0].clientX||a.pageX||a.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)},pointerY:function(a){return a.touches&&a.touches[0]&&a.touches[0].clientY||a.pageY||a.clientY+(document.documentElement.scrollTop||document.body.scrollTop)},isLeftClick:function(a){if(window.addEventListener){if(0===a.button)return!0;if("touchend"===a.type&&null===a.button)return!0}else if(1===a.button)return!0;return!1},isRightClick:function(a){return 2===a.button},isMiddleClick:function(a){return window.addEventListener?1===a.button:4===a.button;return!1},getCharFromKeyboardEvent:function(a,b){var c=a.keyCode,d=String.fromCharCode(c),e=a.shiftKey;if(c>=65&&90>=c)return"boolean"==typeof b&&(e=b),e?d:d.toLowerCase();if(c>=96&&105>=c)return String.fromCharCode(48+(c-96));switch(c){case 109:case 189:return"-";case 107:case 187:return"+"}return d},debug:function(){}};return Ink.extendObj(b,a)}),Ink.createModule("Ink.Dom.FormSerialize",1,["Ink.Util.Array_1","Ink.Dom.Element_1","Ink.Dom.Selector_1"],function(a,b,c){"use strict";function d(c){return null!=c&&!b.isDOMElement(c)&&(a.isArray(c)||"string"!=typeof c&&"number"==typeof c.length)}function e(a){return d(a)?a:[a]}var f={serialize:function(b){var c={},d={},e=this.asPairs(b,{elements:!0,emptyArray:d});return null==e?e:(a.forEach(e,function(a){var b=a[0].replace(/\[\]$/,""),e=a[1],g=a[2];e===d?c[b]=[]:f._resultsInArray(g)||/\[\]$/.test(a[0])?(c[b]=c[b]||[],c[b].push(e)):c[b]=e}),c)},asPairs:function(b,d){function e(a,b,c){h.push(d.elements?[a,b,c]:[a,b])}function g(b){if("select"===b.nodeName.toLowerCase()&&b.multiple){var f=!1;a.forEach(c.select("option:checked",b),function(a){e(b.name,a.value,b),f=!0}),!f&&"emptyArray"in d&&e(b.name,d.emptyArray,b)}else e(b.name,b.value,b)}var h=[];if(d=d||{},b=Ink.i(b)){for(var i=a.filter(b.elements,f._isSerialized),j=0,k=i.length;k>j;j++)g(i[j]);return h}return null},fillIn:function(a,b){if(!(a=Ink.i(a)))return null;var c;if("object"!=typeof b||d(b)){if(!d(b))return null;c=b}else c=f._objToPairs(b);return f._fillInPairs(a,c)},_objToPairs:function(a){var b=[],c;for(var d in a)if(a.hasOwnProperty(d)){c=e(a[d]);for(var f=0,g=c.length;g>f;f++)b.push([d,c[f]]);0===g&&b.push([d,[]])}return b},_fillInPairs:function(b,c){c=a.groupBy(c,{key:function(a){return a[0].replace(/\[\]$/,"")}}),c=a.map(c,function(b){var c=a.reduce(b,function(a,b){return[null,a[1].concat([b[1]])]},[null,[]])[1];return[b[0][0],c]});for(var d,g,h,i=0,j=c.length;j>i;i++){if(d=c[i][0],d in b)g=b[d];else{if(!(d+"[]"in b))continue;g=b[d+"[]"],d+="[]"}g=e(g),h=c[i][1],f._fillInOne(d,g,h)}},_fillInOne:function(a,c,d){var e=c[0],g=e.nodeName.toLowerCase(),h=e.getAttribute("type");h=h&&h.toLowerCase();var i="select"===g&&b.hasAttribute(e,"multiple");if("checkbox"===h||"radio"===h)f._fillInBoolean(c,d,"checked");else if(i)f._fillInBoolean(c[0].options,d,"selected");else{c.length!==d.length&&Ink.warn("Form had "+c.length+' inputs named "'+a+'", but received '+d.length+" values.");for(var j=0,k=Math.min(c.length,d.length);k>j;j+=1)c[j].value=d[j]}},_fillInBoolean:function(b,c,d){a.forEach(b,function(b){var e=a.inArray(b.value,c);b[d]=e})},_resultsInArray:function(a){var c=a.getAttribute("type"),d=a.nodeName.toLowerCase();return"checkbox"===c||"select"===d&&b.hasAttribute(a,"multiple")},_isSerialized:function(a){if(!b.isDOMElement(a))return!1;if(!b.hasAttribute(a,"name"))return!1;var c=a.nodeName.toLowerCase();return c&&"fieldset"!==c?"checkbox"===a.type||"radio"===a.type?!!a.checked:!0:!1}};return f}),Ink.createModule("Ink.Dom.Loaded",1,[],function(){"use strict";var a={_contexts:[],run:function(a,b){b||(b=a,a=window);for(var c,d=0,e=this._contexts.length;e>d;d++)if(this._contexts[d][0]===a){c=this._contexts[d][1];break}c||(c={cbQueue:[],win:a,doc:a.document,root:a.document.documentElement,done:!1,top:!0},c.handlers={checkState:Ink.bindEvent(this._checkState,this,c),poll:Ink.bind(this._poll,this,c)},this._contexts.push([a,c]));var f=c.doc.addEventListener;c.add=f?"addEventListener":"attachEvent",c.rem=f?"removeEventListener":"detachEvent",c.pre=f?"":"on",c.det=f?"DOMContentLoaded":"onreadystatechange",c.wet=c.pre+"load";var g=c.handlers.checkState,h=/complete|interactive|loaded/.test(c.doc.readyState)&&"about:blank"!==c.win.location.toString();if(h)setTimeout(Ink.bind(function(){b.call(c.win,"lazy")},this),0);else{c.cbQueue.push(b),c.doc[c.add](c.det,g),c.win[c.add](c.wet,g);var i=1;try{i=c.win.frameElement}catch(j){}if(!f&&c.root&&c.root.doScroll){try{c.top=!i}catch(j){}c.top&&this._poll(c)}}},_checkState:function(a,b){if(a&&("readystatechange"!==a.type||"complete"===b.doc.readyState)){var c="load"===a.type?b.win:b.doc;c[b.rem](b.pre+a.type,b.handlers.checkState,!1),this._ready(b)}},_poll:function(a){try{a.root.doScroll("left")}catch(b){return setTimeout(a.handlers.poll,50)}this._ready(a)},_ready:function(a){if(!a.done){a.done=!0;for(var b=0;bw.cacheLength&&delete a[b.shift()],a[c]=d}}function c(a){return a[L]=!0,a}function d(a){var b=E.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b=null}}function e(a,b,c,d){var e,f,g,h,i,l,m,n,o,p;if((b?b.ownerDocument||b:M)!==E&&D(b),b=b||E,c=c||[],!a||"string"!=typeof a)return c;if(1!==(h=b.nodeType)&&9!==h)return[];if(G&&!d){if(e=pb.exec(a))if(g=e[1]){if(9===h){if(f=b.getElementById(g),!f||!f.parentNode)return c;if(f.id===g)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(g))&&K(b,f)&&f.id===g)return c.push(f),c}else{if(e[2])return $.apply(c,b.getElementsByTagName(a)),c;if((g=e[3])&&N.getElementsByClassName&&b.getElementsByClassName)return $.apply(c,b.getElementsByClassName(g)),c}if(N.qsa&&!H.test(a)){if(m=!0,n=L,o=b,p=9===h&&a,1===h&&"object"!==b.nodeName.toLowerCase()){for(l=j(a),(m=b.getAttribute("id"))?n=m.replace(sb,"\\$&"):b.setAttribute("id",n),n="[id='"+n+"'] ",i=l.length;i--;)l[i]=n+k(l[i]);o=nb.test(a)&&b.parentNode||b,p=l.join(",")}if(p)try{return $.apply(c,o.querySelectorAll(p)),c}catch(q){}finally{m||b.removeAttribute("id")}}}return s(a.replace(hb,"$1"),b,c,d)}function f(a,b){var c=b&&a,d=c&&(~b.sourceIndex||W)-(~a.sourceIndex||W);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function g(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function h(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function i(a){return c(function(b){return b=+b,c(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function j(a,b){var c,d,f,g,h,i,j,k=R[a+" "];if(k)return b?0:k.slice(0);for(h=a,i=[],j=w.preFilter;h;){(!c||(d=ib.exec(h)))&&(d&&(h=h.slice(d[0].length)||h),i.push(f=[])),c=!1,(d=jb.exec(h))&&(c=d.shift(),f.push({value:c,type:d[0].replace(hb," ")}),h=h.slice(c.length));for(g in w.filter)!(d=mb[g].exec(h))||j[g]&&!(d=j[g](d))||(c=d.shift(),f.push({value:c,type:g,matches:d}),h=h.slice(c.length));if(!c)break}return b?h.length:h?e.error(a):R(a,i).slice(0)}function k(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function l(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=P++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=O+" "+f;if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e)if(j=b[L]||(b[L]={}),(i=j[d])&&i[0]===k){if((h=i[1])===!0||h===v)return h===!0}else if(i=j[d]=[k],i[1]=a(b,c,g)||v,i[1]===!0)return!0}}function m(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function n(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function o(a,b,d,e,f,g){return e&&!e[L]&&(e=o(e)),f&&!f[L]&&(f=o(f,g)),c(function(c,g,h,i){var j,k,l,m=[],o=[],p=g.length,q=c||r(b||"*",h.nodeType?[h]:h,[]),s=!a||!c&&b?q:n(q,m,a,h,i),t=d?f||(c?a:p||e)?[]:g:s;if(d&&d(s,t,h,i),e)for(j=n(t,o),e(j,[],h,i),k=j.length;k--;)(l=j[k])&&(t[o[k]]=!(s[o[k]]=l));if(c){if(f||a){if(f){for(j=[],k=t.length;k--;)(l=t[k])&&j.push(s[k]=l);f(null,t=[],j,i)}for(k=t.length;k--;)(l=t[k])&&(j=f?ab.call(c,l):m[k])>-1&&(c[j]=!(g[j]=l))}}else t=n(t===g?t.splice(p,t.length):t),f?f(null,g,t,i):$.apply(g,t)})}function p(a){for(var b,c,d,e=a.length,f=w.relative[a[0].type],g=f||w.relative[" "],h=f?1:0,i=l(function(a){return a===b},g,!0),j=l(function(a){return ab.call(b,a)>-1},g,!0),n=[function(a,c,d){return!f&&(d||c!==A)||((b=c).nodeType?i(a,c,d):j(a,c,d))}];e>h;h++)if(c=w.relative[a[h].type])n=[l(m(n),c)];else{if(c=w.filter[a[h].type].apply(null,a[h].matches),c[L]){for(d=++h;e>d&&!w.relative[a[d].type];d++);return o(h>1&&m(n),h>1&&k(a.slice(0,h-1)).replace(hb,"$1"),c,d>h&&p(a.slice(h,d)),e>d&&p(a=a.slice(d)),e>d&&k(a))}n.push(c)}return m(n)}function q(a,b){var d=0,f=b.length>0,g=a.length>0,h=function(c,h,i,j,k){var l,m,o,p=[],q=0,r="0",s=c&&[],t=null!=k,u=A,x=c||g&&w.find.TAG("*",k&&h.parentNode||h),y=O+=null==u?1:Math.random()||.1;for(t&&(A=h!==E&&h,v=d);null!=(l=x[r]);r++){if(g&&l){for(m=0;o=a[m++];)if(o(l,h,i)){j.push(l);break}t&&(O=y,v=++d)}f&&((l=!o&&l)&&q--,c&&s.push(l))}if(q+=r,f&&r!==q){for(m=0;o=b[m++];)o(s,p,h,i);if(c){if(q>0)for(;r--;)s[r]||p[r]||(p[r]=Y.call(j));p=n(p)}$.apply(j,p),t&&!c&&p.length>0&&q+b.length>1&&e.uniqueSort(j)}return t&&(O=y,A=u),s};return f?c(h):h}function r(a,b,c){for(var d=0,f=b.length;f>d;d++)e(a,b[d],c);return c}function s(a,b,c,d){var e,f,g,h,i,l=j(a);if(!d&&1===l.length){if(f=l[0]=l[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&9===b.nodeType&&G&&w.relative[f[1].type]){if(b=(w.find.ID(g.matches[0].replace(ub,vb),b)||[])[0],!b)return c;a=a.slice(f.shift().value.length)}for(e=mb.needsContext.test(a)?0:f.length;e--&&(g=f[e],!w.relative[h=g.type]);)if((i=w.find[h])&&(d=i(g.matches[0].replace(ub,vb),nb.test(f[0].type)&&b.parentNode||b))){if(f.splice(e,1),a=d.length&&k(f),!a)return $.apply(c,d),c; +break}}return z(a,l)(d,b,!G,c,nb.test(a)),c}function t(){}var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L="sizzle"+-new Date,M=window.document,N={},O=0,P=0,Q=b(),R=b(),S=b(),T=!1,U=function(){return 0},V="undefined",W=1<<31,X=[],Y=X.pop,Z=X.push,$=X.push,_=X.slice,ab=X.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},bb="[\\x20\\t\\r\\n\\f]",cb="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",db=cb.replace("w","w#"),eb="([*^$|!~]?=)",fb="\\["+bb+"*("+cb+")"+bb+"*(?:"+eb+bb+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+db+")|)|)"+bb+"*\\]",gb=":("+cb+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+fb.replace(3,8)+")*)|.*)\\)|)",hb=new RegExp("^"+bb+"+|((?:^|[^\\\\])(?:\\\\.)*)"+bb+"+$","g"),ib=new RegExp("^"+bb+"*,"+bb+"*"),jb=new RegExp("^"+bb+"*([\\x20\\t\\r\\n\\f>+~])"+bb+"*"),kb=new RegExp(gb),lb=new RegExp("^"+db+"$"),mb={ID:new RegExp("^#("+cb+")"),CLASS:new RegExp("^\\.("+cb+")"),NAME:new RegExp("^\\[name=['\"]?("+cb+")['\"]?\\]"),TAG:new RegExp("^("+cb.replace("w","w*")+")"),ATTR:new RegExp("^"+fb),PSEUDO:new RegExp("^"+gb),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+bb+"*(even|odd|(([+-]|)(\\d*)n|)"+bb+"*(?:([+-]|)"+bb+"*(\\d+)|))"+bb+"*\\)|)","i"),needsContext:new RegExp("^"+bb+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+bb+"*((?:-\\d)?\\d*)"+bb+"*\\)|)(?=[^-]|$)","i")},nb=/[\x20\t\r\n\f]*[+~]/,ob=/^[^{]+\{\s*\[native code/,pb=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,qb=/^(?:input|select|textarea|button)$/i,rb=/^h\d$/i,sb=/'|\\/g,tb=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,ub=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,vb=function(a,b){var c="0x"+b-65536;return c!==c?b:0>c?String.fromCharCode(c+65536):String.fromCharCode(c>>10|55296,1023&c|56320)};try{$.apply(X=_.call(M.childNodes),M.childNodes),X[M.childNodes.length].nodeType}catch(wb){$={apply:X.length?function(a,b){Z.apply(a,_.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}y=e.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},D=e.setDocument=function(b){var c=b?b.ownerDocument||b:M;return c!==E&&9===c.nodeType&&c.documentElement?(E=c,F=c.documentElement,G=!y(c),N.getElementsByTagName=d(function(a){return a.appendChild(c.createComment("")),!a.getElementsByTagName("*").length}),N.attributes=d(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return"boolean"!==b&&"string"!==b}),N.getElementsByClassName=d(function(a){return a.innerHTML="",a.getElementsByClassName&&a.getElementsByClassName("e").length?(a.lastChild.className="e",2===a.getElementsByClassName("e").length):!1}),N.getByName=d(function(a){a.id=L+0,a.appendChild(E.createElement("a")).setAttribute("name",L),a.appendChild(E.createElement("i")).setAttribute("name",L),F.appendChild(a);var b=c.getElementsByName&&c.getElementsByName(L).length===2+c.getElementsByName(L+0).length;return F.removeChild(a),b}),N.sortDetached=d(function(a){return a.compareDocumentPosition&&1&a.compareDocumentPosition(E.createElement("div"))}),w.attrHandle=d(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==V&&"#"===a.firstChild.getAttribute("href")})?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},N.getByName?(w.find.ID=function(a,b){if(typeof b.getElementById!==V&&G){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},w.filter.ID=function(a){var b=a.replace(ub,vb);return function(a){return a.getAttribute("id")===b}}):(w.find.ID=function(a,b){if(typeof b.getElementById!==V&&G){var c=b.getElementById(a);return c?c.id===a||typeof c.getAttributeNode!==V&&c.getAttributeNode("id").value===a?[c]:void 0:[]}},w.filter.ID=function(a){var b=a.replace(ub,vb);return function(a){var c=typeof a.getAttributeNode!==V&&a.getAttributeNode("id");return c&&c.value===b}}),w.find.TAG=N.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==V?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},w.find.NAME=N.getByName&&function(a,b){return typeof b.getElementsByName!==V?b.getElementsByName(name):void 0},w.find.CLASS=N.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==V&&G?b.getElementsByClassName(a):void 0},I=[],H=[":focus"],(N.qsa=a(c.querySelectorAll))&&(d(function(a){a.innerHTML="",a.querySelectorAll("[selected]").length||H.push("\\["+bb+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||H.push(":checked")}),d(function(a){a.innerHTML="",a.querySelectorAll("[i^='']").length&&H.push("[*^$]="+bb+"*(?:\"\"|'')"),a.querySelectorAll(":enabled").length||H.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),H.push(",.*:")})),(N.matchesSelector=a(J=F.matchesSelector||F.mozMatchesSelector||F.webkitMatchesSelector||F.oMatchesSelector||F.msMatchesSelector))&&d(function(a){N.disconnectedMatch=J.call(a,"div"),J.call(a,"[s!='']:x"),I.push("!=",gb)}),H=new RegExp(H.join("|")),I=I.length&&new RegExp(I.join("|")),K=a(F.contains)||F.compareDocumentPosition?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},U=F.compareDocumentPosition?function(a,b){if(a===b)return T=!0,0;var d=b.compareDocumentPosition&&a.compareDocumentPosition&&a.compareDocumentPosition(b);return d?1&d||B&&b.compareDocumentPosition(a)===d?a===c||K(M,a)?-1:b===c||K(M,b)?1:C?ab.call(C,a)-ab.call(C,b):0:4&d?-1:1:a.compareDocumentPosition?-1:1}:function(a,b){var d,e=0,g=a.parentNode,h=b.parentNode,i=[a],j=[b];if(a===b)return T=!0,0;if(!g||!h)return a===c?-1:b===c?1:g?-1:h?1:0;if(g===h)return f(a,b);for(d=a;d=d.parentNode;)i.unshift(d);for(d=b;d=d.parentNode;)j.unshift(d);for(;i[e]===j[e];)e++;return e?f(i[e],j[e]):i[e]===M?-1:j[e]===M?1:0},E):E},e.matches=function(a,b){return e(a,null,null,b)},e.matchesSelector=function(a,b){if((a.ownerDocument||a)!==E&&D(a),b=b.replace(tb,"='$1']"),N.matchesSelector&&G&&(!I||!I.test(b))&&!H.test(b))try{var c=J.call(a,b);if(c||N.disconnectedMatch||a.document&&11!==a.document.nodeType)return c}catch(d){}return e(b,E,null,[a]).length>0},e.contains=function(a,b){return(a.ownerDocument||a)!==E&&D(a),K(a,b)},e.attr=function(a,b){var c;return(a.ownerDocument||a)!==E&&D(a),G&&(b=b.toLowerCase()),(c=w.attrHandle[b])?c(a):!G||N.attributes?a.getAttribute(b):((c=a.getAttributeNode(b))||a.getAttribute(b))&&a[b]===!0?b:c&&c.specified?c.value:null},e.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},e.uniqueSort=function(a){var b,c=[],d=0,e=0;if(T=!N.detectDuplicates,B=!N.sortDetached,C=!N.sortStable&&a.slice(0),a.sort(U),T){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return a},x=e.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=x(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d];d++)c+=x(b);return c},w=e.selectors={cacheLength:50,createPseudo:c,match:mb,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ub,vb),a[3]=(a[4]||a[5]||"").replace(ub,vb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||e.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&e.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return mb.CHILD.test(a[0])?null:(a[4]?a[2]=a[4]:c&&kb.test(c)&&(b=j(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){return"*"===a?function(){return!0}:(a=a.replace(ub,vb).toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=Q[a+" "];return b||(b=new RegExp("(^|"+bb+")"+a+"("+bb+"|$)"))&&Q(a,function(a){return b.test(a.className||typeof a.getAttribute!==V&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var f=e.attr(d,a);return null==f?"!="===b:b?(f+="","="===b?f===c:"!="===b?f!==c:"^="===b?c&&0===f.indexOf(c):"*="===b?c&&f.indexOf(c)>-1:"$="===b?c&&f.slice(-c.length)===c:"~="===b?(" "+f+" ").indexOf(c)>-1:"|="===b?f===c||f.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){for(;p;){for(l=b;l=l[p];)if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(k=q[L]||(q[L]={}),j=k[a]||[],n=j[0]===O&&j[1],m=j[0]===O&&j[2],l=n&&q.childNodes[n];l=++n&&l&&l[p]||(m=n=0)||o.pop();)if(1===l.nodeType&&++m&&l===b){k[a]=[O,n,m];break}}else if(s&&(j=(b[L]||(b[L]={}))[a])&&j[0]===O)m=j[1];else for(;(l=++n&&l&&l[p]||(m=n=0)||o.pop())&&((h?l.nodeName.toLowerCase()!==r:1!==l.nodeType)||!++m||(s&&((l[L]||(l[L]={}))[a]=[O,m]),l!==b)););return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var d,f=w.pseudos[a]||w.setFilters[a.toLowerCase()]||e.error("unsupported pseudo: "+a);return f[L]?f(b):f.length>1?(d=[a,a,"",b],w.setFilters.hasOwnProperty(a.toLowerCase())?c(function(a,c){for(var d,e=f(a,b),g=e.length;g--;)d=ab.call(a,e[g]),a[d]=!(c[d]=e[g])}):function(a){return f(a,0,d)}):f}},pseudos:{not:c(function(a){var b=[],d=[],e=z(a.replace(hb,"$1"));return e[L]?c(function(a,b,c,d){for(var f,g=e(a,null,d,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,c,f){return b[0]=a,e(b,null,f,d),!d.pop()}}),has:c(function(a){return function(b){return e(a,b).length>0}}),contains:c(function(a){return function(b){return(b.textContent||b.innerText||x(b)).indexOf(a)>-1}}),lang:c(function(a){return lb.test(a||"")||e.error("unsupported lang: "+a),a=a.replace(ub,vb).toLowerCase(),function(b){var c;do if(c=G?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(a){var b=window.location&&window.location.hash;return b&&b.slice(1)===a.id},root:function(a){return a===F},focus:function(a){return a===E.activeElement&&(!E.hasFocus||E.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeName>"@"||3===a.nodeType||4===a.nodeType)return!1;return!0},parent:function(a){return!w.pseudos.empty(a)},header:function(a){return rb.test(a.nodeName)},input:function(a){return qb.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||b.toLowerCase()===a.type)},first:i(function(){return[0]}),last:i(function(a,b){return[b-1]}),eq:i(function(a,b,c){return[0>c?c+b:c]}),even:i(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:i(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:i(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:i(function(a,b,c){for(var d=0>c?c+b:c;++dc;c++)b("position","absolute"),b(this._isY?"top":"left",c*this._elLength+"px")},_onTouchStart:function(a){if(!(a.touches.length>1)){this._swipeData={x:b.pointerX(a),y:b.pointerY(a)};var c=this._ulEl.getBoundingClientRect();this._swipeData.firstUlPos=c[this._isY?"top":"left"],this._swipeData.inUlX=this._swipeData.x-c.left,this._swipeData.inUlY=this._swipeData.y-c.top,i(this._ulEl,"none"),this._touchMoveIsFirstTouchMove=!0}},_onTouchMove:function(a){if(!(a.touches.length>1)){var c=b.pointerX(a),d=b.pointerY(a),e=Math.abs(d-this._swipeData.y),f=Math.abs(c-this._swipeData.x);this._touchMoveIsFirstTouchMove&&(this._touchMoveIsFirstTouchMove=void 0,this._scrolling=this._isY?f>e:e>f,this._scrolling||this._onAnimationFrame()),!this._scrolling&&this._swipeData&&(b.stopDefault(a),this._swipeData.pointerPos=this._isY?d:c)}},_onAnimationFrame:function(){var a=this._swipeData;if(a&&!this._scrolling&&!this._touchMoveIsFirstTouchMove){var b=this._element.getBoundingClientRect(),c;c=this._isY?a.pointerPos-a.inUlY-b.top:a.pointerPos-a.inUlX-b.left,this._ulEl.style[this._isY?"top":"left"]=c+"px",j(Ink.bindMethod(this,"_onAnimationFrame"))}},_onTouchEnd:function(a){if(this._swipeData&&this._swipeData.pointerPos&&!this._scrolling&&!this._touchMoveIsFirstTouchMove){var c=.1,d=this._swipeData.firstUlPos-this._ulEl.getBoundingClientRect()[this._isY?"top":"left"],e=this.getPage(),f=d/this._elLength/this._slidesPerPage;Math.abs(f)>c&&(e+=Math[0>d?"floor":"ceil"](f)),isNaN(e)||this.setPage(e),b.stopDefault(a)}i(this._ulEl,null),this._swipeData=null,this._touchMoveIsFirstTouchMove=void 0,this._scrolling=void 0},_onPaginationChange:function(a){this._setPage(a.getCurrent())},getPage:function(){return this._pagination?this._pagination.getCurrent():this._currentPage||0},setPage:function(a,b){b&&(a%=this._numPages,0>a&&(a=this._numPages-a)),a=g(a,0,this._numPages-1),this._pagination?this._pagination.setCurrent(a):this._setPage(a)},_setPage:function(a){var b=a*this._deltaLength,c=a===this._numPages-1;if(!this._options.spaceAfterLastSlide&&c&&a>0){var d=this._liEls.length-a*this._slidesPerPage;d2)&&r('the "defaults" argument must be an object mapping option names to [typestring, optional] arrays.'),k=a in h?n._coerce_from_string(m,h[a],a,b):i,k!==i?n._options_validate(k,m)?k:(s("("+a+" option) Invalid "+m+" "+q(k)),o):a in d?d[a]:o!==i?o:void r("Option "+a+" is required!")}"string"!=typeof b&&(e=d,d=c,c=b,b=""),d=d||{};var g={},h=e?a.data(e):{},k,l,m,o,p=function(a){return b&&(a=b+': "'+(""+a).replace(/"/,'\\"')+'"'),a},q=function(a){return'"'+(""+a).replace(/"/,'\\"')+'"'},r=function(a){throw new Error(p(a))},s=function(a){Ink.error(p(a)+". Ignoring option.")};for(var t in c)c.hasOwnProperty(t)&&(g[t]=f(t));return g},_coerce_from_string:function(a,b,c,d){return a in n._coerce_funcs?n._coerce_funcs[a](b,c,d):b},_options_validate:function(a,b){return b in n._options_validate_types?n._options_validate_types[b].call(n,a):!1},_coerce_funcs:function(){var a={element:function(a){return n.elOrSelector(a,"")},elements:function(a){return n.elsOrSelector(a,"",!1)},object:function(a){return a},number:function(a){return parseFloat(a)},"boolean":function(a){return!("false"===a||""===a||null===a)},string:function(a){return a},"function":function(a,b,c){return Ink.error(c+': You cannot specify the option "'+b+"\" through data-attributes because it's a function"),i}};return a["float"]=a.integer=a.number,a}(),_options_validate_types:function(){var a={string:function(a){return"string"==typeof a},number:function(a){return"number"==typeof a&&!isNaN(a)&&isFinite(a)},integer:function(a){return a===Math.round(a)},element:function(a){return n.isDOMElement(a)},elements:function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&a.length},"boolean":function(a){return"boolean"==typeof a},object:function(){return!0}};return a["float"]=a.number,a}(),clone:function(a){try{return JSON.parse(JSON.stringify(a))}catch(b){throw new Error("Given object cannot have loops!")}},childIndex:function(a){if(n.isDOMElement(a))for(var b=d.select("> *",a.parentNode),c=0,e=b.length;e>c;++c)if(b[c]===a)return c;throw"not found!"},ajaxJSON:function(a,c,d){new b(a,{evalJS:"force",method:"POST",parameters:c,onSuccess:function(a){try{if(a=a.responseJSON,"ok"!==a.status)throw"server error: "+a.message;d(null,a)}catch(b){d(b)}},onFailure:function(){d("communication failure")}})},currentLayout:function(){var a,b,e,f,g,h=d.select("#ink-layout-detector")[0];if(!h){h=document.createElement("div"),h.id="ink-layout-detector";for(e in this.Layouts)this.Layouts.hasOwnProperty(e)&&(f=this.Layouts[e],g=document.createElement("div"),g.className="show-"+f+" hide-all",g.setAttribute("data-ink-layout",f),h.appendChild(g));document.body.appendChild(h)}for(a=0,b=h.children.length;b>a;++a)if(g=h.children[a],"block"===c.getStyle(g,"display"))return g.getAttribute("data-ink-layout");return"large"},hashSet:function(a){if("object"!=typeof a)throw new TypeError("o should be an object!");var b=e.getAnchorString();b=Ink.extendObj(b,a),window.location.hash=e.genQueryString("",b).substring(1)},cleanChildren:function(a){if(!n.isDOMElement(a))throw"Please provide a valid DOMElement";for(var b,c=a.lastChild;c;)b=c.previousSibling,a.removeChild(c),c=b},storeIdAndClasses:function(a,b){if(!n.isDOMElement(a))throw"Please provide a valid DOMElement as first parameter";var c=a.id;c&&(b._id=c);var d=a.className;d&&(b._classes=d)},restoreIdAndClasses:function(a,b){if(!n.isDOMElement(a))throw"Please provide a valid DOMElement as first parameter";b._id&&a.id!==b._id&&(a.id=b._id),b._classes&&-1===a.className.indexOf(b._classes)&&(a.className?a.className+=" "+b._classes:a.className=b._classes),b._instanceId&&!a.getAttribute("data-instance")&&a.setAttribute("data-instance",b._instanceId)},_warnDoubleInstantiation:function(a,b){function c(a){return(a.constructor&&a.constructor._name||a._name||"").replace(/_.*?$/,"")}var d=n.getInstance(a);if(""!==c(b)&&d){var e=c(b);if(e){for(var f=0,g=d.length;g>f;f++)if(e===c(d[f]))return Ink.warn("Creating more than one "+e+".","(Was creating a "+e+" on:",a,")."),!1;return!0}}},registerInstance:function(a,b){if(a){if(!n.isDOMElement(b))throw new TypeError("Ink.UI.Common.registerInstance: The element passed in is not a DOM element!");if(n._warnDoubleInstantiation(b,a)===!1)return!1;var c=m.get(b);return c||(c=[],m.set(b,c)),c.push(a),!0}},unregisterInstance:function(a){if(a&&a._element)for(var b=m.get(a._element),c=0,d=b.length;d>c;c++)b[c]===a&&b.splice(c,1)},getInstance:function(a,b){a=n.elOrSelector(a);var c=m.get(a);if(c||(c=[]),"function"!=typeof b)return c;for(var d=0,e=c.length;e>d;d++)if(c[d]instanceof b)return c[d];return null},getInstanceFromSelector:function(a){return n.getInstance(n.elOrSelector(a))},getInstanceIds:function(){var a=[];for(var b in l)l.hasOwnProperty(b)&&a.push(b);return a},getInstances:function(){var a=[];for(var b in l)l.hasOwnProperty(b)&&a.push(l[b]);return a},destroyComponent:function(){n.unregisterInstance(this),this._element.parentNode.removeChild(this._element)}};return h._validateInstance=function(a){var b;if("function"!=typeof a._validate)return!0;try{b=a._validate()}catch(c){b=c}return b instanceof Error?(a._validationError=b,!1):!0},h._stubInstance=function(a,b,c){g(b.prototype,a),g(h.prototype,a),Ink.warn(c+" was not correctly created. "+(a._validationError||""))},h.getInstance=function(a){return a=n.elOrSelector(a),n.getInstance(a,this)},Ink.extendObj(h.prototype,{getOption:function(a){return!this.constructor||a in this.constructor._optionDefinition?this._options[a]:void Ink.error('"'+a+'" is not an option for '+this.constructor._name)},setOption:function(a,b){return!this.constructor||a in this.constructor._optionDefinition?void(this._options[a]=b):void Ink.error('"'+a+" is not an option for "+this.constructor._name)},getElement:function(){return this._element}}),n.BaseUIComponent=h,n.createUIComponent=function q(a,b){function c(a,b){if(!a)throw new Error("Ink.UI_1.createUIComponent: "+b)}function d(b,d,e){var f=a[b];c("undefined"!=typeof f,a+" doesn't have a \""+b+'" property. '+e),c(d&&typeof f===d,"typeof "+a+"."+b+' is not "'+d+'". '+e)}a._componentOptions=b||{},c("function"==typeof a,"constructor argument is not a function!"),d("_name","string","This property is used for error messages. Set it to the full module path and version (Ink.My.Module_1)."),d("_optionDefinition","object","This property contains the option names, types and defaults. See Ink.UI.Common.options() for reference.");var e=a.prototype;a.prototype="function"==typeof Object.create?Object.create(h.prototype):function f(){function a(){}return a.prototype=h.prototype,new a}(),Ink.extendObj(a.prototype,e),a.prototype.constructor=a,Ink.extendObj(a,h)},n}),Ink.createModule("Ink.UI.DatePicker","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Element_1","Ink.Dom.Selector_1","Ink.Util.Array_1","Ink.Util.Date_1","Ink.Dom.Browser_1"],function(a,b,c,d,e,f,g){"use strict";function h(a,b,c){return a>c&&(a=c),b>a&&(a=b),a}function i(a){var b=a.split("-");return j(+b[0],+b[1]-1,+b[2])}function j(a,b,c){return{_year:a,_month:b,_day:c}}function k(a){return{_year:a.getFullYear(),_month:a.getMonth(),_day:a.getDate()}}var l=function(){a.BaseUIComponent.apply(this,arguments)};return l._name="DatePicker_1",l._optionDefinition={autoOpen:["Boolean",!1],cleanText:["String","Clear"],closeText:["String","Close"],pickerField:["Element",null],containerElement:["Element",null],cssClass:["String","ink-calendar bottom"],dateRange:["String",null],displayInSelect:["Boolean",!1],dayField:["Element",null],monthField:["Element",null],yearField:["Element",null],format:["String","yyyy-mm-dd"],nextLinkText:["String","»"],ofText:["String"," of "],onFocus:["Boolean",!0],onMonthSelected:["Function",null],onSetDate:["Function",null],onYearSelected:["Function",null],position:["String","right"],prevLinkText:["String","«"],showClean:["Boolean",!0],showClose:["Boolean",!0],shy:["Boolean",!0],startDate:["String",null],startWeekDay:["Number",1],validDayFn:["Function",null],validMonthFn:["Function",null],validYearFn:["Function",null],nextValidDateFn:["Function",null],prevValidDateFn:["Function",null],yearRange:["String",null],month:["Object",{1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"}],wDay:["Object",{0:"Sunday",1:"Monday",2:"Tuesday",3:"Wednesday",4:"Thursday",5:"Friday",6:"Saturday"}]},l.prototype={_init:function(){this._options.format=this._dateParsers[this._options.format]||this._options.format,this._hoverPicker=!1,this._picker=this._options.pickerField||null,this._setMinMax(this._options.dateRange||this._options.yearRange),this.setDate(this._options.startDate?this._options.startDate:this._element&&this._element.value?this._element.value:new Date),(this._options.startWeekDay<0||this._options.startWeekDay>6)&&(Ink.warn('Ink.UI.DatePicker_1: option "startWeekDay" must be between 0 (sunday) and 6 (saturday)'),this._options.startWeekDay=h(this._options.startWeekDay,0,6)),Ink.extendObj(this._options,this._lang||{}),this._render(),this._listenToContainerObjectEvents() +},_validate:function(){if(this._options.displayInSelect&&!(this._options.dayField&&this._options.monthField&&this._options.yearField))throw new Error("Ink.UI.DatePicker: displayInSelect option enabled.Please specify dayField, monthField and yearField selectors.")},_render:function(){this._containerObject=document.createElement("div"),this._containerObject.className=this._options.cssClass+" ink-datepicker-calendar hide-all",this._renderSuperTopBar();var b=document.createElement("div");b.className="ink-calendar-top",this._monthDescContainer=document.createElement("div"),this._monthDescContainer.className="ink-calendar-month_desc",this._monthPrev=document.createElement("div"),this._monthPrev.className="ink-calendar-prev",this._monthPrev.appendChild(d.create("a",{href:"#prev",className:"change_month_prev",setHTML:this._options.prevLinkText})),this._monthNext=document.createElement("div"),this._monthNext.className="ink-calendar-next",this._monthNext.appendChild(d.create("a",{href:"#next",className:"change_month_next",setHTML:this._options.nextLinkText})),b.appendChild(this._monthPrev),b.appendChild(this._monthDescContainer),b.appendChild(this._monthNext),this._monthContainer=document.createElement("div"),this._monthContainer.className="ink-calendar-month",this._containerObject.appendChild(b),this._containerObject.appendChild(this._monthContainer),this._monthSelector=this._renderMonthSelector(),this._containerObject.appendChild(this._monthSelector),this._yearSelector=document.createElement("ul"),this._yearSelector.className="ink-calendar-year-selector",this._containerObject.appendChild(this._yearSelector),(!this._options.onFocus||this._options.displayInSelect)&&(this._picker=this._options.pickerField?a.elOrSelector(this._options.pickerField,"pickerField"):d.create("a",{href:"#open_cal",setHTML:"open",insertBottom:this._element.parentNode,className:"ink-datepicker-picker-field"})),this._appendDatePickerToDom(),this._renderMonth(),this._monthChanger=d.create("a",{href:"#monthchanger",className:"ink-calendar-link-month",setTextContent:this._options.month[this._month+1]}),this._ofText=d.create("span",{className:"ink-calendar-of-text",setHTML:this._options.ofText}),this._yearChanger=d.create("a",{href:"#yearchanger",className:"ink-calendar-link-year",setTextContent:this._year}),this._monthDescContainer.appendChild(this._monthChanger),this._monthDescContainer.appendChild(this._ofText),this._monthDescContainer.appendChild(this._yearChanger),this._options.inline?this.show():this._addOpenCloseEvents(),this._addDateChangeHandlersToInputs()},_addDateChangeHandlersToInputs:function(){var a=this._element;this._options.displayInSelect&&(a=[this._options.dayField,this._options.monthField,this._options.yearField]),b.observeMulti(a,"change",Ink.bindEvent(function(){this._updateDate(),this._showDefaultView(),this.setDate(),this._inline||this._hoverPicker||this._hide(!0)},this))},show:function(){this._updateDate(),this._renderMonth(),c.removeClassName(this._containerObject,"hide-all")},_addOpenCloseEvents:function(){var a=this._picker||this._element;b.observe(a,"click",Ink.bindEvent(function(a){b.stop(a),this.show()},this)),this._options.autoOpen&&this.show(),this._options.displayInSelect||b.observe(a,"blur",Ink.bindEvent(function(){this._hoverPicker||this._hide(!0)},this)),this._options.shy&&b.observe(document,"click",Ink.bindEvent(function(a){for(var c=b.element(a),e=[this._options.dayField,this._options.monthField,this._options.yearField,this._picker,this._element],f=0,g=e.length;g>f;f++)if(e[f]&&d.descendantOf(e[f],c))return;this._hide(!0)},this))},_renderMonthSelector:function(){var a=document.createElement("ul");a.className="ink-calendar-month-selector";for(var b=document.createElement("ul"),c=1;12>=c;c++)b.appendChild(this._renderMonthButton(c)),c%4===0&&(a.appendChild(b),b=document.createElement("ul"));return a},_renderMonthButton:function(a){var b=document.createElement("li");return b.appendChild(d.create("a",{"data-cal-month":a,setTextContent:this._options.month[a].substring(0,3)})),b},_appendDatePickerToDom:function(){if(this._options.containerElement){var b=a.elOrSelector(this._options.containerElement);b.appendChild(this._containerObject)}var c=e.matchesSelector(this._element.parentNode,".ink-form .control-group .control");c?(this._wrapper=this._element.parentNode,this._wrapperIsControl=!0):(this._wrapper=d.create("div",{className:"ink-datepicker-wrapper"}),d.wrap(this._element,this._wrapper)),d.insertAfter(this._containerObject,this._element)},_renderSuperTopBar:function(){this._options.showClose&&this._options.showClean&&(this._superTopBar=document.createElement("div"),this._superTopBar.className="ink-calendar-top-options",this._options.showClean&&this._superTopBar.appendChild(d.create("a",{className:"clean",setHTML:this._options.cleanText})),this._options.showClose&&this._superTopBar.appendChild(d.create("a",{className:"close",setHTML:this._options.closeText})),this._containerObject.appendChild(this._superTopBar))},_listenToContainerObjectEvents:function(){b.observe(this._containerObject,"mouseover",Ink.bindEvent(function(a){b.stop(a),this._hoverPicker=!0},this)),b.observe(this._containerObject,"mouseout",Ink.bindEvent(function(a){b.stop(a),this._hoverPicker=!1},this)),b.observe(this._containerObject,"click",Ink.bindEvent(this._onClick,this))},_onClick:function(a){var d=b.element(a);return c.hasClassName(d,"ink-calendar-off")?(b.stopDefault(a),null):(b.stop(a),this._onRelativeChangerClick(d),this._onAbsoluteChangerClick(d),c.hasClassName(d,"ink-calendar-link-month")?this._showMonthSelector():c.hasClassName(d,"ink-calendar-link-year")?this._showYearSelector():c.hasClassName(d,"clean")?this._clean():c.hasClassName(d,"close")&&this._hide(!1),void this._updateDescription())},_onRelativeChangerClick:function(a){var b={change_year_next:1,change_year_prev:-1},c={change_month_next:1,change_month_prev:-1};a.className in c?this._updateCal(c[a.className]):a.className in b&&this._showYearSelector(b[a.className])},_onAbsoluteChangerClick:function(a){var b=d.data(a);Number(b.calDay)?(this.setDate(new Date(this._year,this._month,b.calDay)),this._hide()):Number(b.calMonth)?(this._month=Number(b.calMonth)-1,this._showDefaultView(),this._updateCal()):Number(b.calYear)&&this._changeYear(Number(b.calYear))},_changeYear:function(a){a=+a,isNaN(a)||(this._year=a,"function"==typeof this._options.onYearSelected&&this._options.onYearSelected(this,{year:this._year}),this._showMonthSelector())},_clean:function(){this._options.displayInSelect?(this._options.yearField.selectedIndex=0,this._options.monthField.selectedIndex=0,this._options.dayField.selectedIndex=0):this._element.value=""},_hide:function(a){a=void 0===a?!0:a,(a===!1||a&&this._options.shy)&&c.addClassName(this._containerObject,"hide-all")},_setMinMax:function(a){function b(){c._min=d,c._max=e}var c=this,d={_year:-Number.MAX_VALUE,_month:0,_day:1},e={_year:Number.MAX_VALUE,_month:11,_day:31};if(!a)return b();var g=a.split(":"),j=/^(\d{4})((\-)(\d{1,2})((\-)(\d{1,2}))?)?$/;f.each([{name:"_min",date:g[0],noLim:d},{name:"_max",date:g[1],noLim:e}],Ink.bind(function(a){var b=a.noLim;if("NOW"===a.date.toUpperCase()){var c=new Date;b=k(c)}else"EVER"===a.date.toUpperCase()?b=a.noLim:j.test(a.date)&&(b=i(a.date),b._month=h(b._month,0,11),b._day=h(b._day,1,this._daysInMonth(b._year,b._month+1)));this[a.name]=b},this));var l=-1!==this._dateCmp(this._max,this._min);l||b()},_fitDateToRange:function(a){return this._isValidDate(a)||(a=k(new Date)),-1===this._dateCmp(a,this._min)?Ink.extendObj({},this._min):1===this._dateCmp(a,this._max)?Ink.extendObj({},this._max):Ink.extendObj({},a)},_dateWithinRange:function(a){return arguments.length||(a=this),!this._dateAboveMax(a)&&!this._dateBelowMin(a)},_dateAboveMax:function(a){return 1===this._dateCmp(a,this._max)},_dateBelowMin:function(a){return-1===this._dateCmp(a,this._min)},_dateCmp:function(a,b){return this._dateCmpUntil(a,b,"_day")},_dateCmpUntil:function(a,b,c){var d=["_year","_month","_day"],e=-1;do{if(e++,a[d[e]]>b[d[e]])return 1;if(a[d[e]]this._min._year){var f=d.create("li");f.appendChild(d.create("a",{href:"#year_prev",className:"change_year_prev",setHTML:this._options.prevLinkText})),e.appendChild(f)}else e.appendChild(d.create("li",{setHTML:" "}));for(var g=1;11>g;g++)g%4===0&&(e=d.create("ul"),this._yearSelector.appendChild(e)),c=b+g-1,e.appendChild(this._getYearButton(c));if(cthis._max._year||b+9=1&&+a._month+1<=12&&+a._day>=1&&+a._day<=this._daysInMonth(a._year,a._month+1)},_isDate:function(a,b){try{if("undefined"==typeof a)return!1;var c=g.set(a,b);if(c&&this._isValidDate(k(c)))return!0}catch(d){}return!1},_acceptableDay:function(a){return this._acceptableDateComponent(a,"validDayFn")},_acceptableMonth:function(a){return this._acceptableDateComponent(a,"validMonthFn")},_acceptableYear:function(a){return this._acceptableDateComponent(a,"validYearFn")},_acceptableDateComponent:function(a,b){return this._options[b]?this._callUserCallbackBool(this._options[b],a):this._dateWithinRange(a)},_writeDateInFormat:function(){return g.get(this._options.format,this.getDate())},setDate:function(a){if(a&&"function"==typeof a.getDate&&(a=[a.getFullYear(),a.getMonth()+1,a.getDate()].join("-")),/\d{4}-\d{1,2}-\d{1,2}/.test(a)){var b=a.split("-");this._year=+b[0],this._month=+b[1]-1,this._day=+b[2]}this._setDate()},getDate:function(){if(!this._day)throw"Ink.UI.DatePicker: Still picking a date. Cannot getDate now!";return new Date(this._year,this._month,this._day)},_setDate:function(a){if(a){var b=d.data(a);this._day=+b.calDay||this._day}var c=this._fitDateToRange(this);this._year=c._year,this._month=c._month,this._day=c._day,this._options.displayInSelect?(this._options.dayField.value=this._day,this._options.monthField.value=this._month+1,this._options.yearField.value=this._year):this._element.value=this._writeDateInFormat(),this._options.onSetDate&&this._options.onSetDate(this,{date:this.getDate()})},_updateCal:function(a){"function"==typeof this._options.onMonthSelected&&this._options.onMonthSelected(this,{year:this._year,month:this._month}),a&&null===this._updateMonth(a)||this._renderMonth()},_daysInMonth:function(a,b){var c={2:a%400===0||a%4===0&&a%100!==0?29:28,4:30,6:30,9:30,11:30};return c[b]||31},_updateMonth:function(a){var b;return a>0?b=this._getNextMonth():0>a&&(b=this._getPrevMonth()),b?(this._year=b._year,this._month=b._month,void(this._day=b._day)):null},_getNextMonth:function(a){return this._tryLeap(a,"Month","next",function(a){return a._month+=1,a._month>11&&(a._month=0,a._year+=1),a})},_getPrevMonth:function(a){return this._tryLeap(a,"Month","prev",function(a){return a._month-=1,a._month<0&&(a._month=11,a._year-=1),a})},_getPrevYear:function(a){return this._tryLeap(a,"Year","prev",function(a){return a._year-=1,a})},_getNextYear:function(a){return this._tryLeap(a,"Year","next",function(a){return a._year+=1,a})},_tryLeap:function(a,b,c,d){a=a||{_year:this._year,_month:this._month,_day:this._day};var e="prev"===c?"_min":"_max",f=this[e];if(0===this._dateCmpUntil(a,f,b))return null;var g=this._options[c+"ValidDateFn"];return g?this._callUserCallbackDate(g,a):(a=d(a),a=this._fitDateToRange(a),this["_acceptable"+b](a)?a:null)},_getNextDecade:function(a){a=a||{_year:this._year,_month:this._month,_day:this._day};var b=this._getCurrentDecade(a);return b+10>this._max._year?null:b+10},_getPrevDecade:function(a){a=a||{_year:this._year,_month:this._month,_day:this._day};var b=this._getCurrentDecade(a);return b-10e&&(e+=6),e},_getDayButtons:function(a,b){var c=this._daysInMonth(a,b+1),e=document.createDocumentFragment(),f=d.create("ul");e.appendChild(f);for(var g=this._getFirstDayIndex(a,b),h=0;g>h;h++)f.appendChild(d.create("li",{className:"ink-calendar-empty",setHTML:" "}));for(var i=1;c>=i;i++)(i-1+g)%7===0&&(f=d.create("ul"),e.appendChild(f)),f.appendChild(this._getDayButton(a,b,i));return e},_getDayButton:function(a,b,c){var e={},f=j(a,b,c);this._acceptableDay(f)?(e["data-cal-day"]=c,this._day&&0===this._dateCmp(f,this)&&(e.className="ink-calendar-on")):e.className="ink-calendar-off",e.setTextContent=c;var g=d.create("li");return g.appendChild(d.create("a",e)),g},_getMonthCalendarHeader:function(a){for(var b=d.create("ul",{className:"ink-calendar-header"}),c,e=0;7>e;e++)c=(a+e)%7,b.appendChild(d.create("li",{setTextContent:this._options.wDay[c].substring(0,1)}));return b},_addMonthClassNames:function(a){f.forEach((a||this._monthSelector).getElementsByTagName("a"),Ink.bindMethod(this,"_addMonthButtonClassNames"))},_addMonthButtonClassNames:function(a){var b=d.data(a);if(!b.calMonth)throw"not a calendar month button!";var e=+b.calMonth-1;if(e===this._month)c.addClassName(a,"ink-calendar-on"),c.removeClassName(a,"ink-calendar-off");else{c.removeClassName(a,"ink-calendar-on");var f=!this._acceptableMonth({_year:this._year,_month:e});c.addRemoveClassName(a,"ink-calendar-off",f)}},lang:function(a){this._lang=a},showMonth:function(){this._renderMonth()},isMonthRendered:function(){var a=e.select(".ink-calendar-header",this._containerObject)[0];return"none"!==c.getStyle(a.parentNode,"display")&&"none"!==c.getStyle(a.parentNode.parentNode,"display")},destroy:function(){d.unwrap(this._element),d.remove(this._wrapper),d.remove(this._containerObject),a.unregisterInstance.call(this)}},a.createUIComponent(l),l}),Ink.createModule("Ink.UI.Draggable","1",["Ink.Dom.Element_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Browser_1","Ink.Dom.Selector_1","Ink.UI.Common_1"],function(a,b,c,d,e,f){"use strict";function g(a,b,c){return a=Math.min(a,c),a=Math.max(a,b)}function h(){f.BaseUIComponent.apply(this,arguments)}var i=0,j=1;return h._name="Draggable_1",h._optionDefinition={constraint:["String",!1],constraintElm:["Element",!1],top:["Number",!1],right:["Number",!1],bottom:["Number",!1],left:["Number",!1],handle:["Element",!1],revert:["Boolean",!1],cursor:["String","move"],zIndex:["Number",9999],fps:["Number",0],droppableProxy:["Element",!1],mouseAnchor:["String",void 0],dragClass:["String","drag"],skipChildren:["Boolean",!0],onStart:["Function",!1],onEnd:["Function",!1],onDrag:["Function",!1],onChange:["Function",!1]},h.prototype={_init:function(){var a=this._options;this.constraintElm=a.constraintElm&&f.elOrSelector(a.constraintElm),this.handle=!1,this.elmStartPosition=!1,this.active=!1,this.dragged=!1,this.prevCoords=!1,this.placeholder=!1,this.position=!1,this.zindex=!1,this.firstDrag=!0,a.fps&&(this.deltaMs=1e3/a.fps,this.lastRunAt=0),this.handlers={},this.handlers.start=Ink.bindEvent(this._onStart,this),this.handlers.dragFacade=Ink.bindEvent(this._onDragFacade,this),this.handlers.drag=Ink.bindEvent(this._onDrag,this),this.handlers.end=Ink.bindEvent(this._onEnd,this),this.handlers.selectStart=function(a){return b.stop(a),!1},this.handle=this._options.handle?f.elOrSelector(this._options.handle):this._element,this.handle.style.cursor=a.cursor,b.observe(this.handle,"touchstart",this.handlers.start),b.observe(this.handle,"mousedown",this.handlers.start),d.IE&&b.observe(this._element,"selectstart",this.handlers.selectStart)},destroy:function(){b.stopObserving(this.handle,"touchstart",this.handlers.start),b.stopObserving(this.handle,"mousedown",this.handlers.start),d.IE&&b.stopObserving(this._element,"selectstart",this.handlers.selectStart)},_getCoords:function(b){var c=[a.scrollWidth(),a.scrollHeight()];return{x:(b.touches?b.touches[0].clientX:b.clientX)+c[i],y:(b.touches?b.touches[0].clientY:b.clientY)+c[j]}},_cloneStyle:function(b,d){d.className=b.className,d.style.borderWidth="0",d.style.padding="0",d.style.position="absolute",d.style.width=a.elementWidth(b)+"px",d.style.height=a.elementHeight(b)+"px",d.style.left=a.elementLeft(b)+"px",d.style.top=a.elementTop(b)+"px",d.style.cssFloat=c.getStyle(b,"float"),d.style.display=c.getStyle(b,"display")},_onStart:function(d){if(!this.active&&b.isLeftClick(d)||"undefined"==typeof d.button){var e=b.element(d);if(this._options.skipChildren&&e!==this.handle)return;b.stop(d),c.addClassName(this._element,this._options.dragClass),this.elmStartPosition=[a.elementLeft(this._element),a.elementTop(this._element)];var f=[parseInt(c.getStyle(this._element,"left"),10),parseInt(c.getStyle(this._element,"top"),10)],g=a.elementDimensions(this._element);this.originalPosition=[f[i]?f[i]:null,f[j]?f[j]:null],this.delta=this._getCoords(d),this.active=!0,this.position=c.getStyle(this._element,"position"),this.zindex=c.getStyle(this._element,"zIndex");var h=document.createElement("div");if(h.style.position=this.position,h.style.width=g[i]+"px",h.style.height=g[j]+"px",h.style.marginTop=c.getStyle(this._element,"margin-top"),h.style.marginBottom=c.getStyle(this._element,"margin-bottom"),h.style.marginLeft=c.getStyle(this._element,"margin-left"),h.style.marginRight=c.getStyle(this._element,"margin-right"),h.style.borderWidth="0",h.style.padding="0",h.style.cssFloat=c.getStyle(this._element,"float"),h.style.display=c.getStyle(this._element,"display"),h.style.visibility="hidden",this.delta2=[this.delta.x-this.elmStartPosition[i],this.delta.y-this.elmStartPosition[j]],this._options.mouseAnchor){var k=this._options.mouseAnchor.split(" "),l=[g[i],g[j]];"left"===k[0]?l[i]=0:"center"===k[0]&&(l[i]=parseInt(l[i]/2,10)),"top"===k[1]?l[j]=0:"center"===k[1]&&(l[j]=parseInt(l[j]/2,10)),this.applyDelta=[this.delta2[i]-l[i],this.delta2[j]-l[j]]}var m=this._options.fps?"dragFacade":"drag";if(this.placeholder=h,this._options.onStart&&this._options.onStart(this._element,d),this._options.droppableProxy){this.proxy=document.createElement("div"),g=[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight];var n=this.proxy.style;n.width=g[i]+"px",n.height=g[j]+"px",n.position="fixed",n.left="0",n.top="0",n.zIndex=this._options.zindex+1,n.backgroundColor="#FF0000",c.setOpacity(this.proxy,0);for(var o=document.body.firstChild;o&&1!==o.nodeType;)o=o.nextSibling;document.body.insertBefore(this.proxy,o),b.observe(this.proxy,"mousemove",this.handlers[m]),b.observe(this.proxy,"touchmove",this.handlers[m])}else b.observe(document,"mousemove",this.handlers[m]);return this._element.style.position="absolute",this._element.style.zIndex=this._options.zindex,this._element.parentNode.insertBefore(this.placeholder,this._element),this._onDrag(d),b.observe(document,"mouseup",this.handlers.end),b.observe(document,"touchend",this.handlers.end),!1}},_onDragFacade:function(a){var b=+new Date;(!this.lastRunAt||b>this.lastRunAt+this.deltaMs)&&(this.lastRunAt=b,this._onDrag(a))},_onDrag:function(c){if(this.active){b.stop(c),this.dragged=!0;var d=this._getCoords(c),e=d.x,f=d.y,h=this._options,k=!1,l=!1;if(this.prevCoords&&e!==this.prevCoords.x||f!==this.prevCoords.y){h.onDrag&&h.onDrag(this._element,c),this.prevCoords=d,k=this.elmStartPosition[i]+e-this.delta.x,l=this.elmStartPosition[j]+f-this.delta.y;var m=a.elementDimensions(this._element);if(this.constraintElm){var n=a.offset(this.constraintElm),o=a.elementDimensions(this.constraintElm),p=n[j]+(h.top||0),q=n[j]+o[j]-(h.bottom||0),r=n[i]+(h.left||0),s=n[i]+o[i]-(h.right||0);l=g(l,p,q-m[j]),k=g(k,r,s-m[i])}else if(h.constraint){var t=h.right===!1?a.pageWidth()-m[i]:h.right,u=h.left===!1?0:h.left,v=h.top===!1?0:h.top,w=h.bottom===!1?a.pageHeight()-m[j]:h.bottom;("horizontal"===h.constraint||"both"===h.constraint)&&(k=g(k,u,t)),("vertical"===h.constraint||"both"===h.constraint)&&(l=g(l,v,w))}var x=Ink.getModule("Ink.UI.Droppable_1");if(this.firstDrag&&(x&&x.updateAll(),this.firstDrag=!1),k&&(this._element.style.left=k+"px"),l&&(this._element.style.top=l+"px"),x){var y=this._options.mouseAnchor?{x:e-this.applyDelta[i],y:f-this.applyDelta[j]}:d;x.action(y,"drag",c,this._element)}h.onChange&&h.onChange(this)}}},_onEnd:function(d){if(b.stopObserving(document,"mousemove",this.handlers.drag),b.stopObserving(document,"touchmove",this.handlers.drag),this._options.fps&&this._onDrag(d),c.removeClassName(this._element,this._options.dragClass),this.active&&this.dragged){this._options.droppableProxy&&document.body.removeChild(this.proxy),this.pt&&(a.remove(this.pt),this.pt=void 0),this.placeholder&&a.remove(this.placeholder),this._options.revert&&(this._element.style.position=this.position,this._element.style.zIndex=null!==this.zindex?this.zindex:"auto",this._element.style.left=this.originalPosition[i]?this.originalPosition[i]+"px":"",this._element.style.top=this.originalPosition[j]?this.originalPosition[j]+"px":""),this._options.onEnd&&this._options.onEnd(this._element,d);var e=Ink.getModule("Ink.UI.Droppable_1");e&&e.action(this._getCoords(d),"drop",d,this._element),this.position=!1,this.zindex=!1,this.firstDrag=!0}this.active=!1,this.dragged=!1}},f.createUIComponent(h),h}),Ink.createModule("Ink.UI.Drawer","1",["Ink.UI.Common_1","Ink.Dom.Loaded_1","Ink.Dom.Selector_1","Ink.Dom.Element_1","Ink.Dom.Event_1","Ink.Dom.Css_1"],function(a,b,c,d,e,f){"use strict";function g(a){Ink.warn('Ink.UI.Drawer_1: Could not find the "'+a+'" element on this page. Please make sure it exists.')}function h(b){a.BaseUIComponent.apply(this,[document.body,b])}return h._name="Drawer_1",h._optionDefinition={parentSelector:["String",".ink-drawer"],leftDrawer:["String",".left-drawer"],leftTrigger:["String",".left-drawer-trigger"],rightDrawer:["String",".right-drawer"],rightTrigger:["String",".right-drawer-trigger"],contentDrawer:["String",".content-drawer"],closeOnContentClick:["Boolean",!0],closeOnLinkClick:["Boolean",!0],mode:["String","push"],sides:["String","both"]},h.prototype={_init:function(){if(this._contentDrawers=Ink.ss(this._options.contentDrawer),this._leftDrawer=Ink.s(this._options.leftDrawer),this._leftTriggers=Ink.ss(this._options.leftTrigger),this._rightDrawer=Ink.s(this._options.rightDrawer),this._rightTriggers=Ink.ss(this._options.rightTrigger),f.addClassName(document.body,"ink-drawer"),0===this._contentDrawers.length)throw new Error('Ink.UI.Drawer_1: Could not find any "'+this._options.contentDrawer+'" elements on this page. Please make sure you have at least one.');switch(this._options.sides){case"both":this._triggers=this._options.leftTrigger+", "+this._options.rightTrigger+", "+this._options.contentDrawer;break;case"left":this._triggers=this._options.leftTrigger+", "+this._options.contentDrawer;break;case"right":this._triggers=this._options.rightTrigger+", "+this._options.contentDrawer}"left"===this._options.sides||"both"===this._options.sides?(this._leftDrawer||g(this._options.leftDrawer),0===this._leftTriggers.length&&g(this._options.leftTrigger)):(this._rightDrawer||g(this._options.rightDrawer),0===this._rightTriggers.length&&g(this._options.rightTrigger)),this._isOpen=!1,this._direction=void 0,this._handlers={click:Ink.bindEvent(this._onClick,this),afterTransition:Ink.bindEvent(this._afterTransition,this)},this._delay=10,this._addEvents()},_onClick:function(a){var b=Ink.bind(function(b){this._isOpen?this.close():this.open(b),a.preventDefault()},this);d.findUpwardsBySelector(a.currentTarget,this._options.leftTrigger)?b("left"):d.findUpwardsBySelector(a.currentTarget,this._options.rightTrigger)?b("right"):d.findUpwardsBySelector(a.currentTarget,this._options.contentDrawer)?this._options.closeOnContentClick&&this.close():this._options.closeOnLinkClick&&d.isLink(a.target)&&this.close()},_afterTransition:function(){this._isOpen||("left"===this._direction?f.removeClassName(this._leftDrawer,"show"):f.removeClassName(this._rightDrawer,"show"))},_addEvents:function(){e.on(document.body,"click",this._triggers+', a[href*="#"]',this._handlers.click)},open:function(a){this._isOpen=!0,this._direction=a;var b="left"===a?this._leftDrawer:this._rightDrawer;f.addClassName(b,"show"),setTimeout(Ink.bind(function(){f.addClassName(document.body,[this._options.mode,a])},this),this._delay)},close:function(){this._isOpen!==!1&&(this._isOpen=!1,e.one(document.body,"transitionend oTransitionEnd webkitTransitionEnd",this._handlers.afterTransition),f.removeClassName(document.body,[this._options.mode,this._direction]))}},a.createUIComponent(h),h}),Ink.createModule("Ink.UI.Dropdown","1",["Ink.UI.Common_1","Ink.UI.Toggle_1","Ink.Dom.Event_1","Ink.Dom.Element_1"],function(a,b,c,d){"use strict";function e(){a.BaseUIComponent.apply(this,arguments)}return e._name="Dropdown_1",e._optionDefinition={target:["Element"],hoverOpen:["Number",null],dismissOnInsideClick:["Boolean",!1],dismissOnOutsideClick:["Boolean",!0],dismissAfter:["Number",null],onInsideClick:["Function",null],onOutsideClick:["Function",null],onOpen:["Function",null],onDismiss:["Function",null]},e.prototype={_init:function(){this._toggle=new b(this._element,{target:this._options.target,closeOnInsideClick:null,closeOnClick:!1,onChangeState:Ink.bind(function(a){return this._openOrDismiss(a,!0,!0)},this)}),c.observeMulti([this._options.target,this._element],"mouseout",Ink.bindMethod(this,"_onMouseOut")),c.observeMulti([this._options.target,this._element],"mouseover",Ink.bindMethod(this,"_onMouseOver")),c.observe(this._options.target,"click",Ink.bindMethod(this,"_onInsideClick")),c.observe(document,"click",Ink.bindMethod(this,"_onOutsideClick"))},_onMouseOver:function(){"number"==typeof this._options.hoverOpen&&this._toggle.getState()===!1&&(clearTimeout(this._openTimeout),this._openTimeout=setTimeout(Ink.bindMethod(this,"open",!0),1e3*this._options.hoverOpen)),"number"==typeof this._options.dismissAfter&&clearTimeout(this._dismissTimeout)},_onMouseOut:function(){"number"==typeof this._options.dismissAfter&&this._toggle.getState()===!0&&(clearTimeout(this._dismissTimeout),this._dismissTimeout=setTimeout(Ink.bindMethod(this,"dismiss",!0),1e3*this._options.dismissAfter)),"number"==typeof this._options.hoverOpen&&clearTimeout(this._openTimeout)},_onInsideClick:function(a){var b=this._handlerCall("onInsideClick",c.element(a));b!==!1&&this._options.dismissOnInsideClick&&this.dismiss(!0)},_onOutsideClick:function(a){var b=c.element(a),e=d.findUpwardsHaving(b,Ink.bind(function(a){return a===this._element},this)),f=d.findUpwardsHaving(b,Ink.bind(function(a){return a===this._options.target},this));if(!e&&!f){var g=this._handlerCall("onOutsideClick",b);if(g===!1)return;this._options.dismissOnOutsideClick&&this.dismiss(!0)}},dismiss:function(a,b){this._openOrDismiss(!1,a,b)},open:function(a,b){this._openOrDismiss(!0,a,b)},_openOrDismiss:function(a,b,c){if(!this._toggle||this._toggle.getState()!==a){if(b&&this._handlerCall(a?"onOpen":"onDismiss")===!1)return!1;c||this._toggle.setState(a),clearTimeout(this._dismissTimeout),clearTimeout(this._openTimeout)}},_handlerCall:function(a){return this._options[a]?this._options[a].call(this,[].slice.call(arguments,1)):void 0}},a.createUIComponent(e),e}),Ink.createModule("Ink.UI.Droppable","1",["Ink.Dom.Element_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.UI.Common_1","Ink.Util.Array_1","Ink.Dom.Selector_1"],function(a,b,c,d,e,f){"use strict";var g=function(a){return function(b){return c.addClassName(a,b)}},h=function(a){return function(b){return c.removeClassName(a,b)}},i={debug:!1,_droppables:[],_draggables:[],add:function(b,c){function e(a){a.style.position="inherit"}b=d.elOrSelector(b,"Droppable.add target element");var f=Ink.extendObj({hoverClass:c.hoverclass||!1,accept:!1,onHover:!1,onDrop:!1,onDropOut:!1},c||{},a.data(b));"string"==typeof f.hoverClass&&(f.hoverClass=f.hoverClass.split(/\s+/));var g=this,h={move:function(a,b){e(a),b.appendChild(a)},copy:function(a,b){e(a),b.appendChild(a.cloneNode(!0))},revert:function(a){g._findDraggable(a).originalParent.appendChild(a),e(a)}},i;if("string"==typeof f.onHover&&(i=f.onHover,f.onHover=h[i],void 0===f.onHover))throw new Error("Unknown hover event handler: "+i);if("string"==typeof f.onDrop&&(i=f.onDrop,f.onDrop=h[i],void 0===f.onDrop))throw new Error("Unknown drop event handler: "+i);if("string"==typeof f.onDropOut&&(i=f.onDropOut,f.onDropOut=h[i],void 0===f.onDropOut))throw new Error("Unknown dropOut event handler: "+i);var j={element:b,data:{},options:f};this._droppables.push(j),this._update(j)},_findData:function(a){for(var b=this._droppables,c=0,d=b.length;d>c;c++)if(b[c].element===a)return b[c]},_findDraggable:function(a){for(var b=this._draggables,c=0,d=b.length;d>c;c++)if(b[c].element===a)return b[c]},updateAll:function(){e.each(this._droppables,i._update) +},update:function(a){this._update(this._findData(a))},_update:function(b){var c=b.data,d=b.element;c.left=a.offsetLeft(d),c.top=a.offsetTop(d),c.right=c.left+a.elementWidth(d),c.bottom=c.top+a.elementHeight(d)},remove:function(a){a=d.elOrSelector(a);for(var b=this._droppables.length,c=0;b>c;c++)if(this._droppables[c].element===a){this._droppables.splice(c,1);break}return b!==this._droppables.length},action:function(a,b,c,d){e.each(this._droppables,Ink.bind(function(i){var j=i.data,k=i.options,l=i.element;(!k.accept||f.matches(k.accept,[d]).length)&&("drag"!==b||this._findDraggable(d)||this._draggables.push({element:d,originalParent:d.parentNode}),a.x>=j.left&&a.x<=j.right&&a.y>=j.top&&a.y<=j.bottom?"drag"===b?(k.hoverClass&&e.each(k.hoverClass,g(l)),k.onHover&&k.onHover(d,l)):"drop"===b&&(k.hoverClass&&e.each(k.hoverClass,h(l)),k.onDrop&&k.onDrop(d,l,c)):"drag"===b&&k.hoverClass?e.each(k.hoverClass,h(l)):"drop"===b&&k.onDropOut&&k.onDropOut(d,l,c))},this))}};return i}),Ink.createModule("Ink.UI.FormValidator","1",["Ink.Dom.Element_1","Ink.Dom.Css_1","Ink.Util.Validator_1","Ink.Dom.Selector_1"],function(a,b,c,d){"use strict";function e(a){if(!a.name)return[];if(!a.form)return d.select('name="'+a.name+'"');var b=a.form[a.name];return"undefined"==typeof b.length&&(b=[b]),b}var f={version:"1",_flagMap:{"ink-fv-required":{msg:"Required field"},"ink-fv-email":{msg:"Invalid e-mail address"},"ink-fv-url":{msg:"Invalid URL"},"ink-fv-number":{msg:"Invalid number"},"ink-fv-phone_pt":{msg:"Invalid phone number"},"ink-fv-phone_cv":{msg:"Invalid phone number"},"ink-fv-phone_mz":{msg:"Invalid phone number"},"ink-fv-phone_ao":{msg:"Invalid phone number"},"ink-fv-date":{msg:"Invalid date"},"ink-fv-confirm":{msg:"Confirmation does not match"},"ink-fv-custom":{msg:""}},elements:{},confirmElms:{},hasConfirm:{},_errorClassName:"tip error",_errorValidationClassName:"validaton",_errorTypeWarningClassName:"warning",_errorTypeErrorClassName:"error",validate:function(a,b){if(this._free(),b=Ink.extendObj({onSuccess:!1,onError:!1,customFlag:!1,confirmGroup:[]},b||{}),"string"==typeof a&&(a=document.getElementById(a)),null===a)return!1;this.element=a,("undefined"==typeof this.element.id||null===this.element.id||""===this.element.id)&&(this.element.id="ink-fv_randomid_"+Math.round(99999*Math.random())),this.custom=b.customFlag,this.confirmGroup=b.confirmGroup;var c=this._validateElements();return c.length>0?(b.onError?b.onError(c):this._showError(a,c),!1):(b.onError||this._clearError(a),this._clearCache(),b.onSuccess&&b.onSuccess(),!0)},reset:function(){this._clearError(),this._clearCache()},_free:function(){this.element=null,this.custom=!1,this.confirmGroup=!1},_clearCache:function(){this.element=null,this.elements=[],this.custom=!1,this.confirmGroup=!1},_getElements:function(){var a=this.elements[this.element.id]=[];this.confirmElms[this.element.id]=[];for(var c=d.select(":input",this.element),e=!1,f=0,g=c.length;g>f;f++){e=c[f];var h=(e.getAttribute("type")+"").toLowerCase();if("radio"===h||"checkbox"===h){if(0===a.length||e.getAttribute("type")!==a[a.length-1].getAttribute("type")&&e.getAttribute("name")!==a[a.length-1].getAttribute("name"))for(var i in this._flagMap)if(b.hasClassName(e,i)){a.push(e);break}}else{for(var j in this._flagMap)if(b.hasClassName(e,j)&&"ink-fv-confirm"!==j){a.push(e);break}b.hasClassName(e,"ink-fv-confirm")&&(this.confirmElms[this.element.id].push(e),this.hasConfirm[this.element.id]=!0)}}},_validateElements:function(){var a;this._getElements(),this.hasConfirm[this.element.id]===!0&&(a=this._makeConfirmGroups());for(var c=[],d=!1,e=!1,f,g=0,h=this.elements[this.element.id].length;h>g;g++)if(f=!1,d=this.elements[this.element.id][g],!d.disabled)for(var i in this._flagMap)if(b.hasClassName(d,i))if("ink-fv-custom"!==i&&"ink-fv-confirm"!==i)this._isValid(d,i)||(f?c[c.length-1].errors.push(i):(c.push({elm:d,errors:[i]}),f=!0));else if("ink-fv-confirm"!==i)e=this._isCustomValid(d),e.length>0&&c.push({elm:d,errors:[i],custom:e});else if("ink-fv-confirm"===i)continue;return c=this._validateConfirmGroups(a,c)},_validateConfirmGroups:function(a,b){var c=!1;for(var d in a)a.hasOwnProperty(d)&&(c=a[d],2===c.length&&c[0].value!==c[1].value&&b.push({elm:c[1],errors:["ink-fv-confirm"]}));return b},_makeConfirmGroups:function(){var a;if(this.confirmGroup&&this.confirmGroup.length>0){a={};for(var c=!1,d=!1,e=0,f=this.confirmElms[this.element.id].length;f>e;e++){c=this.confirmElms[this.element.id][e];for(var g=0,h=this.confirmGroup.length;h>g;g++)d=this.confirmGroup[g],b.hasClassName(c,d)&&("undefined"==typeof a[d]?a[d]=[c]:a[d].push(c))}return a}return 2===this.confirmElms[this.element.id].length&&(a={"ink-fv-confirm":[this.confirmElms[this.element.id][0],this.confirmElms[this.element.id][1]]}),a;return!1},_isCustomValid:function(a){for(var c=[],d=!1,e=0,f=this.custom.length;f>e;e++)d=this.custom[e],b.hasClassName(a,d.flag)&&(d.callback(a,d.msg)||c.push({flag:d.flag,msg:d.msg}));return c},_isValid:function(a,d){var f=a.nodeName.toLowerCase(),g=(a.getAttribute("type")||"").toLowerCase(),h=this._trim(a.value);if("ink-fv-required"!==d&&"checkbox"!==g&&"radio"!==g&&""===h)return!b.hasClassName(a,"ink-fv-required");switch(d){case"ink-fv-required":if("select"===f)return a.selectedIndex>0?!0:!1;if("checkbox"!==g&&"radio"!==g&&""!==h)return!0;if("checkbox"===g||"radio"===g){for(var i=e(a),j=!1,k=0,l=i.length;l>k;k++)if(i[k].checked===!0){j=!0;break}return j}return!1;case"ink-fv-email":return c.mail(a.value);case"ink-fv-url":return c.url(a.value);case"ink-fv-number":return!isNaN(Number(a.value))&&isFinite(Number(a.value));case"ink-fv-phone_pt":return c.isPTPhone(a.value);case"ink-fv-phone_cv":return c.isCVPhone(a.value);case"ink-fv-phone_ao":return c.isAOPhone(a.value);case"ink-fv-phone_mz":return c.isMZPhone(a.value);case"ink-fv-date":var m=Ink.getModule("Ink.Dom.Element",1),n=m.data(a),o="yyyy-mm-dd";if(b.hasClassName(a,"ink-datepicker")&&"format"in n?o=n.format:"validFormat"in n&&(o=n.validFormat),!(o in c._dateParsers)){var p=[];for(var q in c._dateParsers)c._dateParsers.hasOwnProperty(q)&&p.push(q);throw new Error("The attribute data-valid-format must be one of the following values: "+p.join(", "))}return c.isDate(o,a.value);case"ink-fv-custom":}return!1},_showError:function(a,b){this._clearError(a);for(var c=!1,d=0,e=b.length;e>d;d++)c=b[d].elm,c&&this._showAnErrorOnElement(c,b[d])},_showAnErrorOnElement:function(c,d){var e=a.findUpwardsByClass(c,"control-group"),f=a.findUpwardsByClass(c,"control"),g=[this._errorClassName,this._errorTypeClassName].join(" "),h=a.create("p",{className:g});h.innerHTML="ink-fv-custom"!==d.errors[0]?this._flagMap[d.errors[0]].msg:d.custom[0].msg;var i=f||e;i?i.appendChild(h):a.insertAfter(h,c),f&&("ink-fv-required"===d.errors[0]?b.addClassName(e,"validation error"):b.addClassName(e,"validation warning"))},_clearError:function(c){for(var d=c.getElementsByTagName("p"),e,f,g=d.length-1;g>=0;g--)e=d[g],b.hasClassName(e,this._errorClassName)&&(f=a.findUpwardsBySelector(e,".control-group"),f&&b.removeClassName(f,["validation","error","warning"]),b.hasClassName(e,this._errorClassName,!0)&&a.remove(e));var h=c.getElementsByTagName("ul");for(g=h.length-1;g>=0;g--)e=h[g],b.hasClassName(e,"control-group")&&b.removeClassName(e,"validation error")},_trim:function(a){return"string"==typeof a?a.replace(/^\s+|\s+$|\n+$/g,""):void 0}};return f}),Ink.createModule("Ink.UI.FormValidator","2",["Ink.UI.Common_1","Ink.Dom.Element_1","Ink.Dom.Event_1","Ink.Dom.Selector_1","Ink.Dom.Css_1","Ink.Util.Array_1","Ink.Util.I18n_1","Ink.Util.Validator_1"],function(a,b,c,d,e,f,g,h){"use strict";function i(){a.BaseUIComponent.apply(this,arguments)}function j(){a.BaseUIComponent.apply(this,arguments)}var k={required:function(a){return"undefined"!=typeof a&&!/^\s*$/.test(a)},min_length:function(a,b){return"string"==typeof a&&a.length>=parseInt(b,10)},max_length:function(a,b){return"string"==typeof a&&a.length<=parseInt(b,10)},exact_length:function(a,b){return"string"==typeof a&&a.length===parseInt(b,10)},email:function(a){return"string"==typeof a&&h.mail(a)},url:function(a,b){return b=b||!1,"string"==typeof a&&h.url(a,b)},ip:function(a,b){return"string"!=typeof a?!1:h.isIP(a,b)},phone:function(a,b){if("string"!=typeof a)return!1;var c=b?b.toUpperCase():"";return h["is"+c+"Phone"](a)},credit_card:function(a,b){return"string"!=typeof a?!1:h.isCreditCard(a,b||"default")},date:function(a,b){return"string"==typeof a&&h.isDate(b,a)},alpha:function(a,b){return h.ascii(a,{singleLineWhitespace:b})},text:function(a,b,c){return h.unicode(a,{singleLineWhitespace:b,unicodePunctuation:c})},latin:function(a,b,c){return"string"!=typeof a?!1:h.latin1(a,{latin1Punctuation:b,singleLineWhitespace:c})},alpha_numeric:function(a){return h.ascii(a,{numbers:!0})},alpha_dash:function(a){return h.ascii(a,{dash:!0,underscore:!0})},digit:function(a){return"string"==typeof a&&/^[0-9]{1}$/.test(a)},integer:function(a,b){return h.number(a,{negative:!b,decimalPlaces:0})},decimal:function(a,b,c,d){return h.number(a,{decimalSep:b||".",decimalPlaces:+c||null,maxDigits:+d})},numeric:function(a,b,c,d){return b=b||".",-1!==a.indexOf(b)?k.decimal(a,b,c,d):k.integer(a)},range:function(a,b,c,d){return a=+a,b=+b,c=+c,isNaN(a)||isNaN(b)||isNaN(c)?!1:b>a||a>c?!1:d?(a-b)%d===0:!0},color:function(a){return h.isColor(a)},matches:function(a,b){return a===this.getFormElements()[b][0].getValue()}},l=new g({en_US:{"formvalidator.required":"The {field} filling is mandatory","formvalidator.min_length":"The {field} must have a minimum size of {param1} characters","formvalidator.max_length":"The {field} must have a maximum size of {param1} characters","formvalidator.exact_length":"The {field} must have an exact size of {param1} characters","formvalidator.email":"The {field} must have a valid e-mail address","formvalidator.url":"The {field} must have a valid URL","formvalidator.ip":"The {field} does not contain a valid {param1} IP address","formvalidator.phone":"The {field} does not contain a valid {param1} phone number","formvalidator.credit_card":"The {field} does not contain a valid {param1} credit card","formvalidator.date":"The {field} should contain a date in the {param1} format","formvalidator.alpha":"The {field} should only contain letters","formvalidator.text":"The {field} should only contain alphabetic characters","formvalidator.latin":"The {field} should only contain alphabetic characters","formvalidator.alpha_numeric":"The {field} should only contain letters or numbers","formvalidator.alpha_dash":"The {field} should only contain letters or dashes","formvalidator.digit":"The {field} should only contain a digit","formvalidator.integer":"The {field} should only contain an integer","formvalidator.decimal":"The {field} should contain a valid decimal number","formvalidator.numeric":"The {field} should contain a number","formvalidator.range":"The {field} should contain a number between {param1} and {param2}","formvalidator.color":"The {field} should contain a valid color","formvalidator.matches":"The {field} should match the field {param1}","formvalidator.validation_function_not_found":"The rule {rule} has not been defined"},pt_PT:{"formvalidator.required":"Preencher {field} é obrigatório","formvalidator.min_length":"{field} deve ter no mínimo {param1} caracteres","formvalidator.max_length":"{field} tem um tamanho máximo de {param1} caracteres","formvalidator.exact_length":"{field} devia ter exactamente {param1} caracteres","formvalidator.email":"{field} deve ser um e-mail válido","formvalidator.url":"O {field} deve ser um URL válido","formvalidator.ip":"{field} não tem um endereço IP {param1} válido","formvalidator.phone":"{field} deve ser preenchido com um número de telefone {param1} válido.","formvalidator.credit_card":"{field} não tem um cartão de crédito {param1} válido","formvalidator.date":"{field} deve conter uma data no formato {param1}","formvalidator.alpha":"O campo {field} deve conter apenas caracteres alfabéticos","formvalidator.text":"O campo {field} deve conter apenas caracteres alfabéticos","formvalidator.latin":"O campo {field} deve conter apenas caracteres alfabéticos","formvalidator.alpha_numeric":"{field} deve conter apenas letras e números","formvalidator.alpha_dash":"{field} deve conter apenas letras e traços","formvalidator.digit":"{field} destina-se a ser preenchido com apenas um dígito","formvalidator.integer":"{field} deve conter um número inteiro","formvalidator.decimal":"{field} deve conter um número válido","formvalidator.numeric":"{field} deve conter um número válido","formvalidator.range":"{field} deve conter um número entre {param1} e {param2}","formvalidator.color":"{field} deve conter uma cor válida","formvalidator.matches":"{field} deve corresponder ao campo {param1}","formvalidator.validation_function_not_found":"[A regra {rule} não foi definida]"}},"en_US");return i._name="FormElement_1",i._optionDefinition={label:["String",null],rules:["String",null],form:["Object"]},i.prototype={_init:function(){this._errors={},this._rules={},this._value=null,null===this._options.label&&(this._options.label=this._getLabel())},_getLabel:function(){var a=b.findUpwardsBySelector(this._element,".control-group label");return a?b.textContent(a):this._element.name||this._element.id||""},_parseRules:function(a){this._rules={},a=a.split("|");var b,c=a.length,d,e,f;if(c>0)for(b=0;c>b;b++)if(d=a[b])if(-1!==(f=d.indexOf("["))){e=d.substr(f+1),e=e.split("]"),e=e[0],e=e.split(",");for(var g=0,h=e.length;h>g;g++)e[g]="true"===e[g]?!0:"false"===e[g]?!1:e[g];e.splice(0,0,this.getValue()),d=d.substr(0,f),this._rules[d]=e}else this._rules[d]=[this.getValue()]},_addError:function(a){for(var b=this._rules[a]||[],c={field:this._options.label,value:this.getValue()},d=1;d"),this._errorMessages.push(f)},this)),!1)}},a.createUIComponent(j),j}),Ink.createModule("Ink.UI.ImageQuery","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.Util.Array_1"],function(a,b,c,d){"use strict";function e(){a.BaseUIComponent.apply(this,arguments)}return e._name="ImageQuery_1",e._optionDefinition={src:["String"],retina:["String",void 0],queries:["Object"],onLoad:["Function",null]},e.prototype={_init:function(){var a;if(-1!==(a=this._element.src.lastIndexOf("?"))){var c=this._element.src.substr(a);this._filename=this._element.src.replace(c,"").split("/").pop()+c}else this._filename=this._element.src.split("/").pop();this._options.queries||(this._options.queries=[]),this._options.queries=d.sortMulti(this._options.queries,"width").reverse(),"function"==typeof this._options.onLoad&&b.observe(this._element,"onload",Ink.bindEvent(this._onLoad,this)),this._onResize(),b.observe(window,"resize",b.throttle(Ink.bindMethod(this,"_onResize"),400))},_onResize:function(){if(this._options.queries.length){var a=this._findCurrentQuery(),b=a.src||this._options.src;if(window.devicePixelRatio>1&&void 0!==this._options.retina&&(b=a.retina||this._options.retina),a.file=this._filename,"function"==typeof b&&(b=b.apply(this,[this._element,a]),"string"!=typeof b))throw'[ImageQuery] :: "src" callback does not return a string';b=b.replace(/{:(.*?)}/g,function(b,c){return a[c]}),this._element.src=b,delete a.file}},_findCurrentQuery:function(){for(var a=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,b=this._options.queries,c=b.length-1,d=0;c>d;d+=1)if(b[d].width<=a)return b[d];return b[c]},_onLoad:function(){this._options.onLoad.call(this)}},a.createUIComponent(e),e}),Ink.createModule("Ink.UI.LazyLoad","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Element_1"],function(a,b,c){"use strict";function d(){a.BaseUIComponent.apply(this,arguments)}return d._name="LazyLoad_1",d._optionDefinition={item:["String",".lazyload-item"],placeholder:["String",null],source:["String","data-src"],destination:["String","src"],delay:["Number",100],delta:["Number",0],image:["Boolean",!0],scrollElement:["Element",window],touchEvents:["Boolean",!0],onInsideViewport:["Function",!1],onAfterAttributeChange:["Function",!1],autoInit:["Boolean",!0]},d.prototype={_init:function(){this._rootElm=this._element,this._aData=[],this._hasEvents=!1,this._options.autoInit&&this._activate()},_activate:function(){this._getData(),this._hasEvents||this._addEvents(),this._onScrollThrottled()},_getData:function(){for(var a=Ink.ss(this._options.item),b=null,d=0,e=a.length;e>d;d++)null==this._options.placeholder||c.hasAttribute(a[d],this._options.destination)||a[d].setAttribute(this._options.destination,this._options.placeholder),b=a[d].getAttribute(this._options.source),null===b&&this._options.image||this._aData.push({elm:a[d],original:b})},_addEvents:function(){this._onScrollThrottled=b.throttle(Ink.bindEvent(this._onScroll,this),this._options.delay),"ontouchmove"in document.documentElement&&this._options.touchEvents&&b.observe(document.documentElement,"touchmove",this._onScrollThrottled),b.observe(this._options.scrollElement,"scroll",this._onScrollThrottled),this._hasEvents=!0},_removeEvents:function(){"ontouchmove"in document.documentElement&&this._options.touchEvents&&b.stopObserving(document.documentElement,"touchmove",this._onScrollThrottled),b.stopObserving(this._options.scrollElement,"scroll",this._onScrollThrottled),this._hasEvents=!1},_onScroll:function(){for(var a,b=0;bthis.originalStatus[c]?this._modalDivStyle[h(c)]:Math.round(.9*b[c])+"px")},this)),this._resizeContainer(),this._reposition(),this._resizeTimeout=void 0},_onShadeClick:function(a){var f=b.element(a);if(c.hasClassName(f,"ink-close")||c.hasClassName(f,"ink-dismiss")||d.findUpwardsBySelector(f,".ink-close,.ink-dismiss")||this._options.closeOnClick&&(!d.descendantOf(this._shadeElement,f)||f===this._shadeElement)){for(var g=e.select(".ink-alert",this._shadeElement),h=g.length,i=0;h>i;i++)if(d.descendantOf(g[i],f))return;this.dismiss(),this._wasDismissed&&b.stop(a)}},_onKeyDown:function(a){27!==a.keyCode||this._wasDismissed||"true"===this._options.closeOnEscape.toString()&&k[k.length-1]===this&&(this.dismiss(),this._wasDismissed&&b.stop(a))},_resizeContainer:function(){var a=d.elementHeight(this._modalDiv);this._modalHeader=e.select(".modal-header",this._modalDiv)[0],this._modalHeader&&(a-=d.elementHeight(this._modalHeader)),this._modalFooter=e.select(".modal-footer",this._modalDiv)[0],this._modalFooter&&(a-=d.elementHeight(this._modalFooter)),this._contentContainer.style.height=a+"px",a!==d.elementHeight(this._contentContainer)&&(this._contentContainer.style.height=~~(a-(d.elementHeight(this._contentContainer)-a))+"px"),this._markupMode},open:function(a){a&&b.stop(a);var e="CSS1Compat"===document.compatMode?document.documentElement:document.body;this._resizeTimeout=null,c.addClassName(this._modalShadow,"ink-shade"),this._modalShadowStyle.display=this._modalDivStyle.display="block",setTimeout(Ink.bind(function(){c.addClassName(this._modalShadow,"visible"),c.addClassName(this._modalDiv,"visible")},this),100),this._contentElement=this._modalDiv,this._shadeElement=this._modalShadow,this._markupMode||this.setContentMarkup(this._options.markup);var i={width:-1!==(""+this._options.width).indexOf("%"),height:-1!==(""+this._options.height).indexOf("%")};f.forEach(["width","height"],Ink.bind(function(a){void 0!==this._options[a]?(this._modalDivStyle[a]=this._options[a],i[a]||(this._modalDivStyle[h(a)]=d["element"+g(a)](this._modalDiv)+"px")):this._modalDivStyle[h(a)]=d["element"+g(a)](this._modalDiv)+"px",i[a]&&parseInt(e["client"+h(a)],10)<=parseInt(this._modalDivStyle[a],10)&&(this._modalDivStyle[a]=Math.round(.9*parseInt(e["client"+h(a)],10))+"px")},this)),this.originalStatus={viewportHeight:d.elementHeight(e),viewportWidth:d.elementWidth(e),height:d.elementHeight(this._modalDiv),width:d.elementWidth(this._modalDiv)},"true"===this._options.responsive.toString()?(this._onResize(!0),b.observe(window,"resize",this._handlers.resize)):(this._resizeContainer(),this._reposition()),this._options.onShow&&this._options.onShow(this),b.observe(this._shadeElement,"click",this._handlers.click),"true"===this._options.closeOnEscape.toString()&&b.observe(document,"keydown",this._handlers.keyDown),this._wasDismissed=!1,k.push(this),c.addClassName(document.documentElement,"ink-modal-open")},dismiss:function(){if(!this._wasDismissed){if(this._options.onDismiss){var a=this._options.onDismiss(this);if(a===!1)return}if(this._wasDismissed=!0,this._options.responsive&&b.stopObserving(window,"resize",this._handlers.resize),this._markupMode?(c.removeClassName(this._modalDiv,"visible"),c.removeClassName(this._modalShadow,"visible"),this._waitForFade(this._modalShadow,Ink.bind(function(){this._modalShadowStyle.display="none"},this))):(this._modalShadow.parentNode.removeChild(this._modalShadow),this.destroy()),k=f.remove(k,f.keyValue(this,k),1),0===k.length){var d=document.documentElement;c.removeClassName(d,"ink-modal-open")}}},_waitForFade:function(a,d){if(!j)return d();for(var e=["transitionEnd","oTransitionEnd","webkitTransitionEnd"],f,g,h=0,i=e.length;i>h;h++)if(g=e[h],f="on"+g.toLowerCase(),f in a)return void b.observeOnce(a,g,d);var k=function(){+c.getStyle(a,"opacity")>0?setTimeout(k,250):d()};setTimeout(k,500)},destroy:function(){a.unregisterInstance(this._instanceId)},getContentElement:function(){return this._contentContainer},setContentMarkup:function(a){if(this._markupMode)this._contentContainer.innerHTML=a;else{if(this._modalDiv.innerHTML=[a].join(""),this._contentContainer=e.select(".modal-body",this._modalDiv),!this._contentContainer.length){var b=e.select(".modal-header",this._modalDiv),g=e.select(".modal-footer",this._modalDiv);f.each(b,d.remove),f.each(g,d.remove);var h=document.createElement("div");c.addClassName(h,"modal-body"),h.innerHTML=this._modalDiv.innerHTML,this._modalDiv.innerHTML="";var i=b.concat([h]).concat(g);f.each(i,Ink.bindMethod(this._modalDiv,"appendChild")),this._contentContainer=e.select(".modal-body",this._modalDiv)}this._contentContainer=this._contentContainer[0]}this._contentElement=this._modalDiv,this._resizeContainer()}},a.createUIComponent(i,{elementIsOptional:!0}),i}),Ink.createModule("Ink.UI.Pagination","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Element_1","Ink.Dom.Selector_1"],function(a,b,c,d,e){"use strict";function f(){a.BaseUIComponent.apply(this,arguments)}var g=function(a,b,c){var d=document.createElement("a");if(d.setAttribute("href","#"),"number"==typeof b&&d.setAttribute("data-index",b),c&&c.wrapText){var e=document.createElement("span");d.appendChild(e),e.innerHTML=a}else d.innerHTML=a;return d};return f._name="Pagination_1",f._optionDefinition={size:["Integer",null],totalItemCount:["Integer",null],itemsPerPage:["Integer",null],maxSize:["Integer",null],start:["Integer",1],sideButtons:["Boolean",1],firstLabel:["String","First"],lastLabel:["String","Last"],previousLabel:["String","Previous"],nextLabel:["String","Next"],previousPageLabel:["String",null],nextPageLabel:["String",null],onChange:["Function",void 0],hashParameter:["String","page"],parentTag:["String","ul"],childTag:["String","li"],wrapperClass:["String","ink-navigation"],paginationClass:["String","pagination"],activeClass:["String","active"],disabledClass:["String","disabled"],hideClass:["String","hide-all"],previousClass:["String","previous"],previousPageClass:["String","previousPage"],nextClass:["String","next"],nextPageClass:["String","nextPage"],numberFormatter:["Function",function(a){return a+1}]},f.prototype={_init:function(){this._options.previousPageLabel||(this._options.previousPageLabel=this._options.previousLabel+" "+this._options.maxSize),this._options.nextPageLabel||(this._options.nextPageLabel=this._options.nextLabel+" "+this._options.maxSize),this._handlers={click:Ink.bindEvent(this._onClick,this)},a.isInteger(this._options.totalItemCount)&&a.isInteger(this._options.itemsPerPage)?this._size=this._calculateSize(this._options.totalItemCount,this._options.itemsPerPage):a.isInteger(this._options.size)?this._size=this._options.size:(Ink.error("Ink.UI.Pagination: Please supply a size option or totalItemCount and itemsPerPage options."),this._size=0),this._current=this._options.start-1,this._itemLiEls=[],this._generateMarkup(this._element),this._updateItems(),this._observe()},_observe:function(){b.observeDelegated(this._element,"click","."+this._options.paginationClass+" > "+this._options.childTag,this._handlers.click) +},_calculateSize:function(a,b){return Math.ceil(a/b)},_updateItems:function(){var a=this._itemLiEls,b=this._size===a.length,d,e,f;if(b)for(d=0,e=this._size;e>d;++d)c.setClassName(a[d],this._options.activeClass,d===this._current);else{for(d=a.length-1;d>=0;--d)this._ulEl.removeChild(a[d]);for(a=[],d=0,e=this._size;e>d;++d)f=document.createElement(this._options.childTag),f.appendChild(g(this._options.numberFormatter(d),d)),c.setClassName(f,this._options.activeClass,d===this._current),this._nextEl?this._ulEl.insertBefore(f,this._nextEl):this._ulEl.appendChild(f),a.push(f);this._itemLiEls=a}if(this._options.maxSize){var h=Math.floor(this._current/this._options.maxSize),i=this._options.maxSize*h,j=i+this._options.maxSize-1;for(d=0,e=this._size;e>d;++d)f=a[d],c.setClassName(f,this._options.hideClass,i>d||d>j);this._pageStart=i,this._pageEnd=j,this._page=h,c.setClassName(this._prevPageEl,this._options.disabledClass,!this.hasPreviousPage()),c.setClassName(this._nextPageEl,this._options.disabledClass,!this.hasNextPage()),c.setClassName(this._firstEl,this._options.disabledClass,this.isFirst()),c.setClassName(this._lastEl,this._options.disabledClass,this.isLast())}this._prevEl&&c.setClassName(this._prevEl,this._options.disabledClass,!this.hasPrevious()),this._nextEl&&c.setClassName(this._nextEl,this._options.disabledClass,!this.hasNext())},_generateMarkup:function(a){c.addClassName(a,"ink-navigation");var b=Ink.s("."+this._options.paginationClass,a),d=!1;b?d=!0:(b=document.createElement(this._options.parentTag),c.addClassName(b,this._options.paginationClass));var e=c.hasClassName(b,"chevron"),f=c.hasClassName(b,"dotted"),h=Ink.bind(function(a,d){var e=document.createElement(this._options.childTag),f=g(this._options[a+"Label"],void 0,{wrapText:d&&d.wrapText});return c.addClassName(e,this._options[a+"Class"]),e.appendChild(f),b.appendChild(e),e},this);!f&&this._options.maxSize&&(this._firstEl=h("first"),this._prevPageEl=h("previousPage")),(f&&this._options.sideButtons===!0||!f&&this._options.sideButtons)&&(this._prevEl=h("previous",{wrapText:e}),this._nextEl=h("next",{wrapText:e})),!f&&this._options.maxSize&&(this._nextPageEl=h("nextPage"),this._lastEl=h("last")),d||a.appendChild(b),this._ulEl=b},_onClick:function(a){b.stop(a);var d=b.element(a);if(!c.hasClassName(d,this._options.activeClass)&&!c.hasClassName(d,this._options.disabledClass)){var f=c.hasClassName(d,this._options.previousClass),g=c.hasClassName(d,this._options.nextClass),h=c.hasClassName(d,this._options.previousPageClass),i=c.hasClassName(d,this._options.nextPageClass),j=c.hasClassName(d,this._options.firstClass),k=c.hasClassName(d,this._options.lastClass);if(j)this.setCurrent(0);else if(k)this.setCurrent(this._size-1);else if(h||i)this.setCurrent((h?-1:1)*this._options.maxSize,!0);else if(f||g)this.setCurrent(f?-1:1,!0);else{var l=e.select("[data-index]",d)[0],m=l&&parseInt(l.getAttribute("data-index"),10);this.setCurrent(m)}}},setOnChange:function(a){if(void 0!==a&&"function"!=typeof a)throw new TypeError("onChange option must be a function!");this._options.onChange=a},setSize:function(b){if(!a.isInteger(b))throw new TypeError("1st argument must be an integer number!");this._size=b,this._updateItems(),this._current=0},setSizeInItems:function(a,b){var c=Math.ceil(a/b);this.setSize(c)},setCurrent:function(b,c){if(!a.isInteger(b))throw new TypeError("1st argument must be an integer number!");c&&(b+=this._current),b>this._size-1&&(b=this._size-1),0>b&&(b=0),this._current=b,this._updateItems(),this._options.onChange&&this._options.onChange(this,b)},getSize:function(){return this._size},getCurrent:function(){return this._current},isFirst:function(){return 0===this._current},isLast:function(){return this._current===this._size-1},hasPrevious:function(){return this._current>0},hasNext:function(){return this._currentthis._options.maxSize-1},hasNextPage:function(){return this._options.maxSize&&this._size-this._current>=this._options.maxSize+1},destroy:a.destroyComponent},a.createUIComponent(f),f}),Ink.createModule("Ink.UI.ProgressBar","1",["Ink.UI.Common_1","Ink.Dom.Selector_1"],function(a,b){"use strict";function c(){a.BaseUIComponent.apply(this,arguments)}return c._name="ProgressBar_1",c._optionDefinition={startValue:["Number",0],onStart:["Function",function(){}],onEnd:["Function",function(){}]},c.prototype={_init:function(){if(this._value=this._options.startValue,this._elementBar=b.select(".bar",this._element),this._elementBar.length<1)throw new Error("[Ink.UI.ProgressBar] :: Bar element not found");this._elementBar=this._elementBar[0],this.setValue(this._options.startValue)},setValue:function(a){this._options.onStart.call(this,this._value),a=parseInt(a,10),isNaN(a)||0>a?a=0:a>100&&(a=100),this._value=a,this._elementBar.style.width=this._value+"%",this._options.onEnd.call(this,this._value)}},a.createUIComponent(c),c}),Ink.createModule("Ink.UI.SmoothScroller","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.Dom.Selector_1","Ink.Dom.Css_1"],function(a,b,c,d,e){"use strict";var f=window.requestAnimationFrame||function(a){return setTimeout(a,10)},g=window.cancelAnimationFrame||function(a){clearTimeout(a)},h={speed:10,changeHash:!0,margin:0,scroll:function(a,b){var d=Math.round(c.scrollHeight()),e=Math.round(a-b.margin);d+=e>d?Math.ceil((e-d)/b.speed):(e-d)/b.speed,g(h.interval),d!==e&&h.offsetTop!==d?h.interval=f(Ink.bindMethod(h,"scroll",a,b),document.body):h.onDone(b),window.scrollTo(0,d),h.offsetTop=d},init:function(a){b.on(document,"click",a||"a.scrollableLink, a.ink-smooth-scroll",h.onClick)},render:function(){},onClick:function(b){var d=b.currentTarget,f=(location+"").replace(/#.*?$/,""),g=(d.href+"").replace(/#.*?$/,"");if(g===f){var i=d.getAttribute("data-hash")||(d.getAttribute("href")||"").replace(/^.*?#/,"");if(i){b.preventDefault();var j="ul > li.active > "+k,k='a[name="'+i+'"],#'+i,l=Ink.s(k),m=Ink.s(j);if(m=m&&m.parentNode,l){e.hasClassName(d.parentNode,"active")||(m&&e.removeClassName(m,"active"),e.addClassName(d.parentNode,"active"));var n=a.options("SmoothScroller link options",{margin:["Number",h.margin],speed:["Number",h.speed],changeHash:["Boolean",h.changeHash]},{},d);h.hash=i,h.scroll(c.offsetTop(l),n)}}}},onDone:function(a){a.changeHash===!0&&(window.location.hash=h.hash),h.hash=h.offsetTop=null}};return h}),Ink.createModule("Ink.UI.SortableList","1",["Ink.UI.Common_1","Ink.Dom.Css_1","Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.Dom.Selector_1"],function(a,b,c,d,e){"use strict";function f(){a.BaseUIComponent.apply(this,arguments)}var g="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;return f._name="SortableList_1",f._optionDefinition={placeholderClass:["String","placeholder"],draggedClass:["String","hide-all"],draggingClass:["String","dragging"],dragSelector:["String","li"],dragObject:["String",null],handleSelector:["String",null],moveSelector:["String",!1],swap:["Boolean",!1],cancelMouseOut:["Boolean",!1],onDrop:["Function",function(){}]},f.prototype={_init:function(){null!=this._options.dragObject&&(Ink.warn("Ink.UI.SortableList: options.dragObject is now deprecated. Please use options.handleSelector instead."),this._options.handleSelector=this._options.handleSelector||this._options.dragObject),this._handlers={down:Ink.bind(this._onDown,this),move:Ink.bind(this._onMove,this),up:Ink.bind(this._onUp,this)},this._isMoving=!1,this._down=g?"touchstart mousedown":"mousedown",this._move=g?"touchmove mousemove":"mousemove",this._up=g?"touchend mouseup":"mouseup",this._observe()},_observe:function(){c.on(this._element,this._down,this._options.dragSelector,this._handlers.down),c.on(this._element,this._move,this._options.dragSelector,this._handlers.move),this._options.cancelMouseOut&&c.on(this._element,"mouseleave",Ink.bind(this.stopMoving,this)),c.on(document.documentElement,this._up,this._handlers.up)},_onDown:function(a){if(!(this._isMoving||this._placeholder||this._options.handleSelector&&!e.matchesSelector(a.target,this._options.handleSelector))){var b=a.currentTarget;return this._isMoving=b,this._placeholder=b.cloneNode(!0),this._movePlaceholder(b),this._addMovingClasses(),!1}},_onMove:function(a){var b=a.currentTarget;if("touchmove"===a.type){var c=a.touches[0];b=document.elementFromPoint(c.clientX,c.clientY),b=d.findUpwardsBySelector(b,this._options.dragSelector)}this.validateMove(b),a.preventDefault()},_onUp:function(a){return this._isMoving&&this._placeholder&&a.currentTarget!==this._isMoving&&a.currentTarget!==this._placeholder?(d.insertBefore(this._isMoving,this._placeholder),this.stopMoving(),this._options.onDrop.call(this,{droppedElement:a.currentTarget}),!1):void 0},_addMovingClasses:function(){b.addClassName(this._placeholder,this._options.placeholderClass),b.addClassName(this._isMoving,this._options.draggedClass),b.addClassName(document.documentElement,this._options.draggingClass)},_removeMovingClasses:function(){this._isMoving&&b.removeClassName(this._isMoving,this._options.draggedClass),this._placeholder&&b.removeClassName(this._placeholder,this._options.placeholderClass),b.removeClassName(document.documentElement,this._options.draggingClass)},_movePlaceholder:function(a){var b=this._placeholder,c,e,f,g;b?this._options.swap?(d.insertAfter(b,a),d.insertBefore(a,this._isMoving),d.insertBefore(this._isMoving,b)):(c=d.offset(a),e=d.offset(this._placeholder),f=c[1]>e[1],g=c[0]>e[0],f&&g||!f&&!g?d.insertBefore(b,a):d.insertAfter(b,a),d.insertBefore(this._isMoving,b)):d.insertAfter(b,a)},destroy:a.destroyComponent,stopMoving:function(){this._removeMovingClasses(),d.remove(this._placeholder),this._placeholder=!1,this._isMoving=!1},validateMove:function(a){a&&this._isMoving&&this._placeholder&&a!==this._placeholder&&a!==this._isMoving&&(!this._options.moveSelector||e.matchesSelector(a,this._options.moveSelector)?this._movePlaceholder(a):this.stopMoving())}},a.createUIComponent(f),f}),Ink.createModule("Ink.UI.Spy","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Element_1","Ink.Dom.Selector_1"],function(a,b,c,d,e){"use strict";function f(a){for(var b=0,c=m.length;c>b;b++)if(m[b][0]===a)return b;return null}function g(a,b){var c=f(b);null===c?m.push([b,[a]]):m[c][1].push(a)}function h(){n||(n=!0,b.observe(document,"scroll",b.throttle(i,300)))}function i(){for(var a=0,b=m.length;b>a;a++)j(m[a][0],m[a][1])}function j(a,b){for(var f=k(b),g=e.select("li.active",a),h=0,i=g.length;i>h;h++)c.removeClassName(g[h],"active");if(null!==f){var j='a[href$="#'+(f.name||f.id)+'"]',l=e.select(j,a);for(h=0,i=l.length;i>h;h++)c.addClassName(d.findUpwardsByTag(l[h],"li"),"active")}}function k(a){for(var b=-1/0,c,d,e=0,f=a.length;f>e;e++)d=a[e].getBoundingClientRect(),d.top<=0&&d.top>b&&(b=d.top,c=e);return void 0===c?null:a[c]}function l(){a.BaseUIComponent.apply(this,arguments)}var m=[],n=!1;return l._name="Spy_1",l._optionDefinition={target:["Element",void 0],activeClass:["String","active"]},l.prototype={_init:function(){g(this._element,this._options.target),h(),i()}},a.createUIComponent(l),l}),Ink.createModule("Ink.UI.Stacker",1,["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Element_1"],function(a,b,c){"use strict";function d(){a.BaseUIComponent.apply(this,arguments)}return d._name="Stacker_1",d._optionDefinition={column:["String",".stacker-column"],item:["String",".stacker-item"],customBreakPoints:["Object",null],largeMax:["Number",Number.MAX_VALUE],largeMin:["Number",961],mediumMax:["Number",960],mediumMin:["Number",651],smallMax:["Number",650],smallMin:["Number",0],largeCols:["Integer",3],mediumCols:["Integer",2],smallCols:["Integer",1],isOrdered:["Boolean",!0],onRunCallback:["Function",null],onResizeCallback:["Function",null],onAPIReloadCallback:["Function",null]},d.prototype={_init:function(){this._aList=[],this._curLayout="large",this._runFirstTime=!1,this._getPageItemsToList(),(this._canApplyLayoutChange()||!this._runFirstTime)&&(this._runFirstTime=!0,this._applyLayoutChange(),"function"==typeof this._options.onRunCallback&&this._options.onRunCallback(this._curLayout)),this._addEvents()},addItem:function(a){this._aList.push(a)},reloadItems:function(){this._applyLayoutChange(),"function"==typeof this._options.onAPIReloadCallback&&this._options.onAPIReloadCallback(this._curLayout)},_addEvents:function(){b.observe(window,"resize",Ink.bindEvent(this._onResize,this))},_onResize:function(){this._canApplyLayoutChange()&&(this._removeDomItems(),this._applyLayoutChange(),"function"==typeof this._options.onResizeCallback&&this._options.onResizeCallback(this._curLayout))},_setCurLayout:function(){var a=c.viewportWidth();if(this._options.customBreakpoints&&"object"==typeof this._options.customBreakPoints){for(var b in this._options.customBreakPoints)if(this._options.customBreakPoints.hasOwnProperty(b)&&a>=Number(this._options.customBreakPoints[b].min)&&a<=Number(this._options.customBreakPoints[b].max)&&this._curLayout!==b)return void(this._curLayout=b)}else a<=Number(this._options.largeMax)&&a>=Number(this._options.largeMin)&&"large"!==this._curLayout?this._curLayout="large":a>=Number(this._options.mediumMin)&&a<=Number(this._options.mediumMax)&&"medium"!==this._curLayout?this._curLayout="medium":a>=Number(this._options.smallMin)&&a<=Number(this._options.smallMax)&&"small"!==this._curLayout&&(this._curLayout="small")},_getColumnsToShow:function(){return Number(this._options.customBreakPoints&&"object"==typeof this._options.customBreakPoints?this._options.customBreakPoints[this._curLayout].cols:this._options[this._curLayout+"Cols"])},_canApplyLayoutChange:function(){var a=this._curLayout;return this._setCurLayout(),a!==this._curLayout?!0:!1},_getPageItemsToList:function(){this._aColumn=Ink.ss(this._options.column,this._element);var a=this._aColumn.length,b=0;if(a>0){for(var c=0;c0&&this._options.isOrdered){for(var f=[],g=0;g0)for(var b=0;a>b;b++)for(var c=Ink.ss(this._options.item,this._aColumn[b]),d=c.length-1;d>=0;d--)c[d].parentNode.removeChild(c[d])},_applyLayoutChange:function(){var a=this._getColumnsToShow(),b=this._aList.length,c=0,d=0;if(a>0)for(;a>d;){if(this._aColumn[d].appendChild(this._aList[c]),c++,d++,c===b)return;d===a&&(d=0)}}},a.createUIComponent(d),d}),Ink.createModule("Ink.UI.Sticky","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.Dom.Css_1"],function(a,b,c,d){"use strict";function e(){a.BaseUIComponent.apply(this,arguments)}return e._name="Sticky_1",e._optionDefinition={offsetBottom:["Integer",0],offsetTop:["Integer",0],topElement:["Element",null],wrapperClass:["String","ink-sticky-wrapper"],stickyClass:["String","ink-sticky-stuck"],inlineDimensions:["Boolean",!0],inlinePosition:["Boolean",!0],bottomElement:["Element",null],activateInLayouts:["String","tiny,small,medium,large,xlarge"]},e.prototype={_init:function(){this._options.activateInLayouts=this._options.activateInLayouts.toString(),this._dims=null,this._options.offsetTop=parseInt(this._options.offsetTop,10)||0,this._options.offsetBottom=parseInt(this._options.offsetBottom,10)||0,this._options.topElement&&(this._options.topElement=a.elOrSelector(this._options.topElement,"Top Element")),this._options.bottomElement&&(this._options.bottomElement=a.elOrSelector(this._options.bottomElement,"Sticky bottom Element")),this._wrapper=c.create("div",{className:this._options.wrapperClass}),c.wrap(this._element,this._wrapper);var d=document.addEventListener?document:window;this._onScroll=Ink.bind(b.throttle(this._onScroll,33),this),b.observe(d,"scroll",this._onScroll),b.observe(window,"resize",Ink.bindEvent(b.throttle(this._onResize,100),this)),this._onScroll()},_isDisabledInLayout:function(){var b=a.currentLayout();return b?-1===this._options.activateInLayouts.indexOf(b):!1},_onScroll:function(){var a=this._getDims(),b=c.scrollHeight(),d=this._isDisabledInLayout()||b<=a.top-this._options.offsetTop||this._options.topElement&&this._options.topElement.getBoundingClientRect().bottom+this._options.offsetTop>0;if(d)return void this._unstick();var e=this._options.offsetTop+a.height+c.scrollHeight(),f=document.body.scrollHeight;this._options.bottomElement&&(f=this._options.bottomElement.getBoundingClientRect().top+c.scrollHeight()),f-=this._options.offsetBottom,this._stickTo(f>e?"screen":"bottom")},_stickTo:function(a){var b=this._element.style,e=this._getDims();if(d.addClassName(this._element,this._options.stickyClass),this._wrapper.style.height=e.height+"px",this._inlineDimensions(e.height+"px",e.width+"px"),this._options.inlinePosition!==!1)if(b.left=e.left+"px","screen"===a)b.bottom=null,b.top=this._options.offsetTop+"px";else if("bottom"===a){var f=this._getBottomOffset(),g=c.scrollHeight()+c.viewportHeight(),h=c.pageHeight()-g;b.bottom=f-h+"px",b.top="auto"}},_unstick:function(){d.removeClassName(this._element,this._options.stickyClass),this._inlineDimensions(null,null),this._options.inlinePosition&&(this._element.style.left=null,this._element.style.top=null,this._element.style.bottom=null),this._wrapper.style.height=null,this._wrapper.style.width=null,this._dims=null},_onResize:function(){this._dims=null,this._onScroll()},_getDims:function(){if(null!==this._dims)return this._dims;var a=this._element.style,b=a.position,d=a.width;a.position="static",a.width=null;var e=c.outerDimensions(this._element),f=this._wrapper.getBoundingClientRect();return this._dims={height:e[1],width:e[0],left:f.left+c.scrollWidth(),top:f.top+c.scrollHeight()},a.position=b,a.width=d,this._dims},_inlineDimensions:function(a,b){this._options.inlineDimensions&&(this._element.style.height=a,this._element.style.width=b)},_getBottomOffset:function(){var a=this._options.offsetBottom;return this._options.bottomElement&&(a+=c.pageHeight()-c.offsetTop(this._options.bottomElement)),a}},a.createUIComponent(e),e}),Ink.createModule("Ink.UI.Swipe","1",["Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.UI.Common_1"],function(a,b,c){"use strict";function d(){"function"==typeof arguments[1]&&(arguments[1]={onEnd:arguments[1]}),c.BaseUIComponent.apply(this,arguments)}return d._name="Swipe_1",d._optionDefinition={onEnd:["Function",void 0],onStart:["Function",void 0],onMove:["Function",void 0],minDist:["Number",void 0],maxDist:["Number",void 0],minDuration:["Number",void 0],maxDuration:["Number",void 0],axis:["String",void 0],storeGesture:["Boolean",!1],stopEvents:["Boolean",!0]},d.prototype={_supported:"ontouchstart"in document.documentElement,_init:function(){this._handlers={down:Ink.bindEvent(this._onDown,this),move:Ink.bindEvent(this._onMove,this),up:Ink.bindEvent(this._onUp,this)};var b=document.body;a.observe(b,"touchstart",this._handlers.down),(this._options.storeGesture||this._options.onMove)&&a.observe(b,"touchmove",this._handlers.move),a.observe(b,"touchend",this._handlers.up),this._isOn=!1},_isMeOrParent:function(a,b){if(a){do{if(a===b)return!0;a=a.parentNode}while(a);return!1}},_pushGesture:function(a,b){this._options.storeGesture&&(this._gesture.push(a),this._time.push(b))},_onDown:function(b){1===b.changedTouches.length&&this._isMeOrParent(b.target,this._element)&&(this._options.stopEvents===!0&&a.stop(b),b=b.changedTouches[0],this._isOn=!0,this._target=b.target,this._t0=+new Date,this._p0=[b.pageX,b.pageY],this._options.storeGesture&&(this._gesture=[],this._time=[]),this._pushGesture(this._p0,0),this._options.onStart&&this._options.onStart({event:b,element:this._element,instance:this,position:this._p0,dt:0}))},_onMove:function(b){if(this._isOn&&1===b.changedTouches.length){this._options.stopEvents===!0&&a.stop(b),b=b.changedTouches[0];var c=+new Date,d=c-this._t0,e=[b.pageX,b.pageY];this._pushGesture(e,d),this._options.onMove&&this._options.onMove({event:b,element:this._element,instance:this,position:e,dt:d})}},_onUp:function(b){if(this._isOn&&1===b.changedTouches.length){this._options.stopEvents===!0&&a.stop(b),b=b.changedTouches[0],this._isOn=!1;var c=+new Date,d=[b.pageX,b.pageY],e=c-this._t0,f=[d[0]-this._p0[0],d[1]-this._p0[1]],g=Math.sqrt(f[0]*f[0]+f[1]*f[1]),h=Math.abs(f[0])>Math.abs(f[1])?"x":"y",i=this._options;i.minDist&&gi.maxDist||i.minDuration&&ei.maxDuration||i.axis&&h!==i.axis||this._options.onEnd&&this._options.onEnd({event:b,element:this._element,instance:this,gesture:this._gesture,time:this._time,axis:h,overallMovement:f,overallTime:e})}}},c.createUIComponent(d),d}),Ink.createModule("Ink.UI.Table","1",["Ink.Util.Url_1","Ink.UI.Pagination_1","Ink.Net.Ajax_1","Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Element_1","Ink.Dom.Selector_1","Ink.Util.Array_1","Ink.Util.String_1","Ink.Util.Json_1"],function(a,b,c,d,e,f,g,h,i,j,k){"use strict";function l(a){return!isNaN(a)&&r.test(a)?parseInt(a,10):isNaN(a)?a:parseFloat(a)}function m(a,b){return a===b?0:a>b?1:-1}function n(a,b){var c=l(g.textContent(a)),d=l(g.textContent(b));return m(c,d)}function o(a){if("undefined"!=typeof Object.keys)return Object.keys(a);var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b}function p(){d.BaseUIComponent.apply(this,arguments)}function q(a){return a}var r=/\d/g;return p._name="Table_1",p._optionDefinition={pageSize:["Integer",null],caretUpClass:["String","fa fa-caret-up"],caretDownClass:["String","fa fa-caret-down"],endpoint:["String",null],createEndpointUrl:["Function",null],getDataFromEndPoint:["Function",null],processJSONRows:["Function",q],processJSONRow:["Function",q],processJSONField:["Function",q],processJSONHeaders:["Function",function(a){return a.fields}],processJSONTotalRows:["Function",function(a){return a.length||a.totalRows}],getSortKey:["Function",null],pagination:["Element",null],allowResetSorting:["Boolean",!1],visibleFields:["String",null],tdClassNames:["Object",{}],paginationOptions:["Object",null]},p.prototype={_validate:function(){if("table"!==this._element.nodeName.toLowerCase())throw new Error("[Ink.UI.Table] :: The element is not a table")},_init:function(){this._markupMode=!this._options.endpoint,this._options.visibleFields&&(this._options.visibleFields=this._options.visibleFields.toString().split(/[, ]+/g)),this._thead=this._element.tHead||this._element.createTHead(),this._headers=h.select("th",this._thead),this._handlers={thClick:null},this._originalFields=[],this._sortableFields={},this._originalData=this._data=[],this._pagination=null,this._totalRows=0,this._handlers.thClick=e.observeDelegated(this._element,"click",'thead th[data-sortable="true"]',Ink.bindMethod(this,"_onThClick")),this._markupMode?(this._resetSortOrder(),this._addHeadersClasses(),this._data=h.select("tbody tr",this._element),this._originalData=this._data.slice(0),this._totalRows=this._data.length,this._setPagination()):this._getData()},_addHeadersClasses:function(){for(var a,b,c=0,d=this._headers.length;d>c;c++)a=g.textContent(this._headers[c]),b=this._options.tdClassNames[a],b&&f.addClassName(this._headers[c],b)},_onThClick:function(a){var b=e.element(a),c=void 0!==this._options.pageSize;e.stop(a);var f=i.keyValue(b,this._headers,!0),g=f!==!1&&void 0!==this._sortableFields[f];if(g)if(!this._markupMode&&c)this._invertSortOrder(f,!1);else{"desc"===this._sortableFields[f]&&this._options.allowResetSorting?(this._setSortOrderOfColumn(f,null),this._data=this._originalData.slice(0)):this._invertSortOrder(f,!0);var j=h.select("tbody",this._element)[0];d.cleanChildren(j),i.each(this._data,Ink.bindMethod(j,"appendChild")),this._pagination&&(this._pagination.setCurrent(0),this._paginate(1))}},_invertSortOrder:function(a,b){for(var c="asc"===this._sortableFields[a],d=0,e=this._headers.length;e>d;d++)this._setSortOrderOfColumn(d,null);b&&(this._sort(a),c&&this._data.reverse()),this._setSortOrderOfColumn(a,!c)},_setSortOrderOfColumn:function(a,b){var c=this._headers[a],d=[""],e="none";b===!0?(d=[''],e="asc"):b===!1&&(d=[''],e="desc"),this._sortableFields[a]=e,c.innerHTML=g.textContent(c)+d.join("")},_paginate:function(a){if(this._pagination){var b=this._options.pageSize,c=(a-1)*b,d=c+b;i.each(this._data,function(a,b){b>=c&&d>b?f.removeClassName(a,"hide-all"):f.addClassName(a,"hide-all")})}},_registerFieldNames:function(a){this._originalFields=[],i.forEach(a,Ink.bind(function(a){this._fieldIsVisible(a)&&this._originalFields.push(a)},this))},_fieldIsVisible:function(a){return!this._options.visibleFields||-1!==this._options.visibleFields.indexOf(a)},_sort:function(a){function b(b){return d.call(e,{columnIndex:a,columnName:c,data:g.textContent(b),element:b})}var c=g.textContent(this._headers[a]),d=this._options.getSortKey;d&&(d="function"==typeof d[c]?d[c]:"function"==typeof d?d:null);var e=this;this._data.sort(function(c,e){var f=Ink.ss("td",c)[a],g=Ink.ss("td",e)[a];return d?m(b(f),b(g)):n(f,g,a)})},_createHeadersFromJson:function(a){if(this._registerFieldNames(o(a)),!this._thead.children.length)for(var b=this._thead.insertRow(0),c,d=0,e=a.length;e>d;d++)this._fieldIsVisible(a[d])&&(c=g.create("th"),c=this._createSingleHeaderFromJson(a[d],c),b.appendChild(c),this._headers.push(c))},_createSingleHeaderFromJson:function(a,b){return a.sortable&&b.setAttribute("data-sortable","true"),a.label&&g.setTextContent(b,a.label),b},_resetSortOrder:function(){for(var a=0,b=this._headers.length;b>a;a++){var c=g.data(this._headers[a]);c.sortable&&"true"===c.sortable.toString()&&(this._sortableFields[a]="none")}},_createRowsFromJSON:function(a){var b=h.select("tbody",this._element)[0];b?g.setHTML(b,""):(b=document.createElement("tbody"),this._element.appendChild(b)),this._data=[];var c;for(var d in a)a.hasOwnProperty(d)&&(c=this._options.processJSONRow(a[d]),this._createSingleRowFromJson(b,c,d));this._originalData=this._data.slice(0)},_createSingleRowFromJson:function(a,b,c){var d=document.createElement("tr");a.appendChild(d);for(var e in b)b.hasOwnProperty(e)&&this._createFieldFromJson(d,b[e],e,c);this._data.push(d)},_createFieldFromJson:function(a,b,c,d){if(this._fieldIsVisible(c)){var e=this._options.processJSONField[c]||this._options.processJSONField,g;g="function"==typeof e?e(b,c,d):b;var h=this._elOrFieldData(g),i=this._options.tdClassNames[c];i&&f.addClassName(h,i),a.appendChild(h)}},_elOrFieldData:function(a){if(d.isDOMElement(a))return a;var b="string"==typeof a,c="number"==typeof a,e=g.create("td");if(b&&/^\s*? li.active",this._menu),g=0,h=f.length;h>g;g++)f[g]!==a&&c.removeClassName(f[g],"active");return this._activeMenuTab&&(c.removeClassName(this._activeMenuTab,"active"),c.removeClassName(this._activeSection,"active"),c.addClassName(this._activeSection,"hide-all")),this._activeMenuLink=a,this._activeMenuTab=this._activeMenuLink.parentNode,this._activeSection=e.select(d.substr(d.indexOf("#")),this._element)[0],this._activeSection?(c.addClassName(this._activeMenuTab,"active"),c.addClassName(this._activeSection,"active"),c.removeClassName(this._activeSection,"hide-all"),void(b&&"undefined"!=typeof this._options.onChange&&this._options.onChange(this))):void(this._activeMenuLink=this._activeMenuTab=this._activeSection=null)},_onTabClickedGeneric:function(a){a.preventDefault(),c.hasClassName(a.currentTarget,"ink-disabled")||this._onTabClicked(a.currentTarget)},_onTabClicked:function(a){var b=a.getAttribute("href");b=b.substr(b.indexOf("#")),b&&null!==Ink.i(this._dehashify(b))&&(this._options.preventUrlChange||(window.location.hash=b),a!==this._activeMenuLink&&this.changeTab(a))},_onResize:function(){var b=a.currentLayout();if(b!==this._lastLayout){var d=b===a.Layouts.TINY||b===a.Layouts.SMALL||b===a.Layouts.MEDIUM; +d?(c.removeClassName(this._menu,"menu"),c.removeClassName(this._menu,"horizontal")):(c.addClassName(this._menu,"menu"),c.addClassName(this._menu,"horizontal")),this._lastLayout=b}},_hashify:function(a){return a?0===a.indexOf("#")?a:"#"+a:""},_dehashify:function(a){return a?(""+a).replace(/^#/,""):""},_findLinkByHref:function(a){if(!a)return null;if(1===a.nodeType){if(d.isAncestorOf(a,this._element))return null;for(var b=e.select("a",this._menu),c=a.getAttribute("id"),f=0,g=b.length;g>f;f++){if(b[f]===a||d.isAncestorOf(a,b[f]))return b[f];if(c&&c===this._dehashify(b[f].getAttribute("href")))return b[f]}return null}return a=this._hashify(a),e.select('a[href$="'+a+'"]',this._menu)[0]||null},changeTab:function(a){a=this._findLinkByHref(a),a&&!c.hasClassName(a,"ink-disabled")&&this._changeTab(a,!0)},disable:function(a){c.addClassName(this._findLinkByHref(a),"ink-disabled")},enable:function(a){c.removeClassName(this._findLinkByHref(a),"ink-disabled")},activeTab:function(){return this._activeSection.getAttribute("id")},activeMenuTab:function(){return Ink.warn("Ink.UI.Tabs.activeMenuTab() is deprecated"),this._activeMenuTab},activeMenuLink:function(){return this._activeMenuLink},activeSection:function(){return this._activeSection},activeContentTab:function(){return Ink.warn("Ink.UI.Tabs.activeContentTab() is deprecated. Use activeSection instead."),this._activeSection()},destroy:a.destroyComponent},a.createUIComponent(f),f}),Ink.createModule("Ink.UI.TagField","1",["Ink.Dom.Element_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Browser_1","Ink.UI.Droppable_1","Ink.Util.Array_1","Ink.Dom.Selector_1","Ink.UI.Common_1"],function(a,b,c,d,e,f,g,h){"use strict";function i(){h.BaseUIComponent.apply(this,arguments)}var j=13,k=8,l=function(a){return!!a};return i._name="TagField_1",i._optionDefinition={tags:["String",[]],tagQuery:["Object",null],tagQueryAsync:["Object",null],allowRepeated:["Boolean",!1],maxTags:["Integer",-1],outSeparator:["String",","],separator:["String",/[,; ]+/g],autoSplit:["Boolean",!0]},i.prototype={_init:function(){var d=this._options;"string"==typeof d.separator&&(d.separator=new RegExp(d.separator,"g")),"string"==typeof d.tags&&(d.tags=this._readInput(d.tags)),c.addClassName(this._element,"hide-all"),this._viewElm=a.create("div",{className:"ink-tagfield",insertAfter:this._element}),this._input=a.create("input",{type:"text",className:"new-tag-input",insertBottom:this._viewElm});var e=[].concat(d.tags,this._tagsFromMarkup(this._element));this._tags=[],f.each(e,Ink.bindMethod(this,"_addTag")),b.observe(this._input,"keyup",Ink.bindEvent(this._onKeyUp,this)),b.observe(this._input,"change",Ink.bindEvent(this._onKeyUp,this)),b.observe(this._input,"keydown",Ink.bindEvent(this._onKeyDown,this)),b.observe(this._input,"blur",Ink.bindEvent(this._onBlur,this)),b.observe(this._viewElm,"click",Ink.bindEvent(this._refocus,this))},destroy:function(){a.remove(this._viewElm),c.removeClassName(this._element,"hide-all")},_tagsFromMarkup:function(b){var c=b.tagName.toLowerCase();if("input"===c)return this._readInput(b.value);if("select"===c)return f.map(b.getElementsByTagName("option"),function(b){return a.textContent(b)});throw new Error("Cannot read tags from a "+c+" tag. Unknown tag")},_tagsToMarkup:function(b,c){var d=c.tagName.toLowerCase();if("input"===d)this._options.separator&&(c.value=b.join(this._options.outSeparator));else{if("select"!==d)throw new Error("TagField: Cannot read tags from a "+d+" tag. Unknown tag");c.innerHTML="",f.each(b,function(b){var d=a.create("option",{selected:"selected"});a.setTextContent(d,b),c.appendChild(d)})}},_addTag:function(c){if(!(-1!==this._options.maxTags&&this._tags.length>=this._options.maxTags)){if(!this._options.allowRepeated&&f.inArray(c,this._tags,c)||!c)return!1;var d=a.create("span",{className:"ink-tag",setTextContent:c+" "}),e=a.create("span",{className:"remove fa fa-times",insertBottom:d});b.observe(e,"click",Ink.bindEvent(this._removeTag,this,null));var g=document.createTextNode(" ");this._tags.push(c),this._viewElm.insertBefore(d,this._input),this._viewElm.insertBefore(g,this._input),this._tagsToMarkup(this._tags,this._element)}},_readInput:function(a){return this._options.separator?f.filter(a.split(this._options.separator),l):[a]},_onKeyUp:function(){if(this._options.autoSplit){var a=this._input.value.split(this._options.separator);if(!(a.length<=1)){var b=a[a.length-1];a=a.splice(0,a.length-1),a=f.filter(a,l),f.each(a,Ink.bind(this._addTag,this)),this._input.value=b}}},_onKeyDown:function(a){return a.which===j?this._onEnterKeyDown(a):a.which===k?this._onBackspaceKeyDown():void(this._removeConfirm&&this._unsetRemovingVisual(this._tags.length-1))},_onBackspaceKeyDown:function(){this._input.value||(this._removeConfirm?(this._unsetRemovingVisual(this._tags.length-1),this._removeTag(this._tags.length-1),this._removeConfirm=null):this._setRemovingVisual(this._tags.length-1))},_onEnterKeyDown:function(a){var c=this._input.value;c&&(this._addTag(c),this._input.value=""),b.stopDefault(a)},_onBlur:function(){this._addTag(this._input.value),this._input.value=""},_setRemovingVisual:function(a){var d=this._viewElm.children[a];d&&(c.addClassName(d,"tag-deleting"),this._removeRemovingVisualTimeout=setTimeout(Ink.bindMethod(this,"_unsetRemovingVisual",a),4e3),b.observe(this._input,"blur",Ink.bindMethod(this,"_unsetRemovingVisual",a)),this._removeConfirm=!0)},_unsetRemovingVisual:function(a){var b=this._viewElm.children[a];b&&(c.removeClassName(b,"tag-deleting"),clearTimeout(this._removeRemovingVisualTimeout)),this._removeConfirm=null},_removeTag:function(c){var d;if("object"==typeof c){var e=b.element(c).parentNode;d=a.parentIndexOf(this._viewElm,e)}else"number"==typeof c&&(d=c);this._tags=f.remove(this._tags,d,1),a.remove(this._viewElm.children[d]),this._tagsToMarkup(this._tags,this._element)},_refocus:function(a){return this._input.focus(),b.stop(a),!1}},h.createUIComponent(i),i}),Ink.createModule("Ink.UI.Toggle","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Element_1","Ink.Dom.Selector_1","Ink.Util.Array_1"],function(a,b,c,d,e,f){"use strict";function g(){a.BaseUIComponent.apply(this,arguments)}return g._name="Toggle_1",g._optionDefinition={target:["Elements"],triggerEvent:["String","click"],closeOnClick:["Boolean",!0],isAccordion:["Boolean",!1],initialState:["Boolean",null],classNameOn:["String","show-all"],classNameOff:["String","hide-all"],closeOnInsideClick:["String","a[href]"],onChangeState:["Function",null]},g.prototype={_init:function(){var b,d;if(this._targets=a.elsOrSelector(this._options.target),this._options.closeOnClick="true"===this._options.closeOnClick.toString(),this._options.initialState=null!==this._options.initialState?"true"===this._options.initialState.toString():"none"!==c.getStyle(this._targets[0],"display"),"show-all"!==this._options.classNameOn||"hide-all"!==this._options.classNameOff)for(b=0,d=this._targets.length;d>b;b++)c.removeClassName(this._targets[b],"show-all"),c.removeClassName(this._targets[b],"hide-all");if(this._accordion=c.hasClassName(this._element.parentNode,"accordion")||c.hasClassName(this._targets[0].parentNode,"accordion"),this._firstTime=!0,this._bindEvents(),null!==this._options.initialState)this.setState(this._options.initialState,!0);else{var e="none"!==c.getStyle(this._targets[0],"display");this.setState(e,!0)}for(b=0,d=this._targets.length;d>b;b++)this._targets[b].style.display&&(this._targets[b].style.display="");this._element.setAttribute("data-is-toggle-trigger","true")},_bindEvents:function(){if(this._options.triggerEvent&&b.observe(this._element,this._options.triggerEvent,Ink.bind(this._onTriggerEvent,this)),this._options.closeOnClick&&b.observe(document,"click",Ink.bind(this._onOutsideClick,this)),this._options.closeOnInsideClick&&"false"!==this._options.closeOnInsideClick){var a=this._options.closeOnInsideClick;"true"===a.toString()&&(a="*"),b.observeMulti(this._targets,"click",Ink.bind(function(c){d.findUpwardsBySelector(b.element(c),a)&&this.setState(!1,!0)},this))}},_onTriggerEvent:function(a){var c=b.element(a),e=f.some(this._targets,function(a){return a===c||d.isAncestorOf(a,c)});if(!e){this._accordion&&this._updateAccordion();var g=this.getState();this.setState(!g,!0),!g&&this._firstTime&&(this._firstTime=!1),b.stopDefault(a)}},_updateAccordion:function(){var a,b;b=c.hasClassName(this._targets[0].parentNode,"accordion")?this._targets[0].parentNode:this._targets[0].parentNode.parentNode,a=e.select(".toggle, .ink-toggle",b);for(var f=0;f0&&h[0]!==this._targets[0]&&(h[0].style.display="none")}},_onOutsideClick:function(a){var c=b.element(a),e;if(!d.findUpwardsBySelector(c,'[data-is-toggle-trigger="true"]')){var g=f.some(this._targets,function(a){return d.isAncestorOf(a,c)||a===c});if(this._element!==c&&!d.isAncestorOf(this._element,c)&&!g){if((e=Ink.ss(".ink-shade")).length)for(var h=e.length,i=0;h>i;i++)if(d.isAncestorOf(e[i],c)&&d.isAncestorOf(e[i],this._element))return;this.setState(!1,!0)}}},setState:function(a,b){if(a!==this.getState()){if(b&&"function"==typeof this._options.onChangeState){var d=this._options.onChangeState(a);if(d===!1)return!1}for(var e=0,f=this._targets.length;f>e;e++)c.addRemoveClassName(this._targets[e],this._options.classNameOn,a),c.addRemoveClassName(this._targets[e],this._options.classNameOff,!a);c.addRemoveClassName(this._element,"active",a)}},getState:function(){return c.hasClassName(this._element,"active")}},a.createUIComponent(g),g}),Ink.createModule("Ink.UI.Tooltip","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.Dom.Selector_1","Ink.Util.Array_1","Ink.Dom.Css_1","Ink.Dom.Browser_1"],function(a,b,c,d,e,f){"use strict";function g(a,b){this._init(a,b||{})}function h(a,b){this._init(a,b)}var i,j,k;!function(){for(var a=document.createElement("DIV"),b=["transition","oTransition","msTransition","mozTransition","webkitTransition"],c=0;ce;e++)this.tooltips[e]=new h(this,c[e])},destroy:function(){e.each(this.tooltips,function(a){a._destroy()}),this.tooltips=null,this.options=null}},h.prototype={_oppositeDirections:{left:"right",right:"left",up:"down",down:"up"},_init:function(c,d){b.observe(d,"mouseover",Ink.bindEvent(this._onMouseOver,this)),b.observe(d,"mouseout",Ink.bindEvent(this._onMouseOut,this)),b.observe(d,"mousemove",Ink.bindEvent(this._onMouseMove,this)),this.root=c,this.element=d,this._delayTimeout=null,this.tooltip=null,a.registerInstance(this,this.element)},_makeTooltip:function(a){if(!this._getOpt("text")&&!this._getOpt("html")&&!c.hasAttribute(this.element,"title"))return!1;var d=this._createTooltipElement();this.tooltip&&this._removeTooltip(),this.tooltip=d,this._fadeInTooltipElement(d),this._placeTooltipElement(d,a),b.observe(d,"mouseover",Ink.bindEvent(this._onTooltipMouseOver,this));var e=this._getFloatOpt("timeout");e&&setTimeout(Ink.bind(function(){this.tooltip===d&&this._removeTooltip()},this),1e3*e)},_createTooltipElement:function(){var b=this._getOpt("template"),e=this._getOpt("templatefield"),g,h;if(b){var i=document.createElement("DIV");if(i.innerHTML=a.elOrSelector(b,"options.template").outerHTML,g=i.firstChild,e){if(h=d.select(e,g),!h)throw"options.templatefield must be a valid selector within options.template";h=h[0]}else h=g}else g=document.createElement("DIV"),f.addClassName(g,"ink-tooltip"),f.addClassName(g,this._getOpt("color")),h=document.createElement("DIV"),f.addClassName(h,"content"),g.appendChild(h);return this._getOpt("html")?h.innerHTML=this._getOpt("html"):this._getOpt("text")?c.setTextContent(h,this._getOpt("text")):c.setTextContent(h,this.element.getAttribute("title")),g.style.display="block",g.style.position="absolute",g.style.zIndex=this._getIntOpt("zIndex"),g},_fadeInTooltipElement:function(a){var b=this._getFloatOpt("fade");i&&b&&(a.style.opacity="0",a.style[i]=b+"s",a.style[j]="opacity",a.style[k]="ease-in-out",setTimeout(function(){a.style.opacity="1"},0))},_placeTooltipElement:function(a,b){var d=this._getOpt("where");if("mousemove"===d||"mousefix"===d){var e=b;this._setPos(e[0],e[1]),m.appendChild(a)}else if(d.match(/(up|down|left|right)/)){m.appendChild(a);var g=c.offset(this.element),h=g[0],i=g[1],j=c.elementWidth(this.element)/2-c.elementWidth(a)/2,k=c.elementHeight(this.element)/2-c.elementHeight(a)/2,l=this._getIntOpt("spacing"),n=c.elementDimensions(a),o=c.elementDimensions(this.element),p=c.scrollWidth()+c.viewportWidth(),q=c.scrollHeight()+c.viewportHeight();d=this._getWhereValueInsideViewport(d,{left:h-n[0],right:h+n[0],top:i+n[1],bottom:i+n[1]},{right:p,bottom:q}),"up"===d?(i-=n[1],i-=l,h+=j):"down"===d?(i+=o[1],i+=l,h+=j):"left"===d?(h-=n[0],h-=l,i+=k):"right"===d&&(h+=o[0],h+=l,i+=k);var r=null;d.match(/(up|down|left|right)/)&&(r=document.createElement("SPAN"),f.addClassName(r,"arrow"),f.addClassName(r,this._oppositeDirections[d]),a.appendChild(r));var s=h,t=i,u=t+n[1]-q,v=s+n[0]-p,w=0-s,x=0-t;u>0?(r&&(r.style.top=n[1]/2+u+"px"),t-=u):x>0?(r&&(r.style.top=n[1]/2-x+"px"),t+=x):v>0?(r&&(r.style.left=n[0]/2+v+"px"),s-=v):w>0&&(r&&(r.style.left=n[0]/2-w+"px"),s+=w),a.style.left=s+"px",a.style.top=t+"px"}},_getWhereValueInsideViewport:function(a,b,c){return"left"===a&&b.left<0?"right":"right"===a&&b.right>c.right?"left":"up"===a&&b.top<0?"down":"down"===a&&b.bottom>c.bottom?"up":a},_removeTooltip:function(){var a=this.tooltip;if(a){var b=Ink.bind(c.remove,{},a);"mousemove"!==this._getOpt("where")&&i?(a.style.opacity=0,setTimeout(b,1e3*this._getFloatOpt("fade"))):b(),this.tooltip=null}},_getOpt:function(a){var b=c.data(this.element)[c._camelCase("tip-"+a)];if(b)return b;var d=this.root.options[a];return"undefined"!=typeof d?d:void 0},_getIntOpt:function(a){return parseInt(this._getOpt(a),10)},_getFloatOpt:function(a){return parseFloat(this._getOpt(a),10)},_destroy:function(){this.tooltip&&c.remove(this.tooltip),this.root=null,this.element=null,this.tooltip=null},_onMouseOver:function(a){var b=this._getMousePosition(a),c=this._getFloatOpt("delay");c?this._delayTimeout=setTimeout(Ink.bind(function(){this.tooltip||this._makeTooltip(b),this._delayTimeout=null},this),1e3*c):this._makeTooltip(b)},_onMouseMove:function(a){if("mousemove"===this._getOpt("where")&&this.tooltip){var b=this._getMousePosition(a);this._setPos(b[0],b[1])}},_onMouseOut:function(){this._getIntOpt("forever")||this._removeTooltip(),this._delayTimeout&&(clearTimeout(this._delayTimeout),this._delayTimeout=null)},_onTooltipMouseOver:function(){this.tooltip&&this._removeTooltip()},_setPos:function(a,b){a+=this._getIntOpt("left"),b+=this._getIntOpt("top");var d=this._getPageXY();if(this.tooltip){var e=[c.elementWidth(this.tooltip),c.elementHeight(this.tooltip)],f=this._getScroll();e[0]+a-f[0]>=d[0]-20&&(a=a-e[0]-this._getIntOpt("left")-10),e[1]+b-f[1]>=d[1]-20&&(b=b-e[1]-this._getIntOpt("top")-10),this.tooltip.style.left=a+"px",this.tooltip.style.top=b+"px"}},_getPageXY:function(){var a=0,b=0;return"number"==typeof window.innerWidth?(a=window.innerWidth,b=window.innerHeight):document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)?(a=document.documentElement.clientWidth,b=document.documentElement.clientHeight):document.body&&(document.body.clientWidth||document.body.clientHeight)&&(a=document.body.clientWidth,b=document.body.clientHeight),[parseInt(a,10),parseInt(b,10)]},_getScroll:function(){var a=document.documentElement,b=document.body;return a&&(a.scrollLeft||a.scrollTop)?[a.scrollLeft,a.scrollTop]:b?[b.scrollLeft,b.scrollTop]:[0,0]},_getMousePosition:function(a){return[parseInt(b.pointerX(a),10),parseInt(b.pointerY(a),10)]}},g}),Ink.createModule("Ink.UI.TreeView","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Element_1","Ink.Dom.Selector_1","Ink.Util.Array_1"],function(a,b,c,d,e,f){"use strict";function g(){a.BaseUIComponent.apply(this,arguments)}return g._name="TreeView_1",g._optionDefinition={node:["String","li"],child:["String",null],children:["String","ul"],parentClass:["String","parent"],openNodeClass:["String","open"],openClass:["String","fa fa-minus-circle"],closedClass:["String","fa fa-plus-circle"],hideClass:["String","hide-all"],iconTag:["String","i"],stopDefault:["Boolean",!0]},g.prototype={_init:function(){this._options.child&&(Ink.warn("Ink.UI.TreeView: options.child is being renamed to options.children."),this._options.children=this._options.child),this._handlers={click:Ink.bindEvent(this._onClick,this)},b.on(this._element,"click",this._options.node,this._handlers.click),f.each(Ink.ss(this._options.node,this._element),Ink.bind(function(a){if(this.isParent(a)){c.addClassName(a,this._options.parentClass);var b=this.isOpen(a);this._getIcon(a)||d.create(this._options.iconTag,{insertTop:a}),this._setNodeOpen(a,b)}},this))},_getIcon:function(a){return Ink.s("> "+this._options.iconTag,a)},isOpen:function(a){if(!this._getChild(a))throw new Error("not a node!");return"true"===d.data(a).open||c.hasClassName(a,this._options.openNodeClass)},isParent:function(a){return c.hasClassName(a,this._options.parentClass)||null!=this._getChild(a)},_setNodeOpen:function(a,b){var d=this._getChild(a);if(d){c.setClassName(d,this._options.hideClass,!b);var e=this._getIcon(a);a.setAttribute("data-open",b);var f=b?this._options.openClass:this._options.closedClass,g=b?this._options.closedClass:this._options.openClass;c.removeClassName(e,g),c.addClassName(e,f),c.setClassName(a,this._options.openNodeClass,b)}else Ink.error("Ink.UI.TreeView: node",a,"is not a node!")},open:function(a){this._setNodeOpen(a,!0)},close:function(a){this._setNodeOpen(a,!1)},toggle:function(a){this.isOpen(a)?this.close(a):this.open(a)},_getChild:function(a){return e.select(this._options.children,a)[0]||null},_onClick:function(a){!this.isParent(a.currentTarget)||e.matchesSelector(a.target,this._options.node)||e.matchesSelector(a.target,this._options.children)||(this._options.stopDefault&&a.preventDefault(),this.toggle(a.currentTarget))}},a.createUIComponent(g),g}),Ink.createModule("Ink.UI.Upload","1",["Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.Dom.Browser_1","Ink.UI.Common_1"],function(a,b,c,d){"use strict";var e=function(a){this.init(a)};e.prototype={init:function(a){this._options=Ink.extendObj({entry:void 0,maxDepth:10},a||{});try{this._read()}catch(b){Ink.error(b)}},_read:function(){if(!this._options.entry)return void Ink.error("You must specify the entry!");try{this._readDirectories()}catch(a){Ink.error(a)}},_readDirectories:function(){var a=[],b=!1,c=0,d=Ink.bind(function(e){var f=e.createReader();b=!0,f.readEntries(Ink.bind(function(e){if(e.length>0){for(var f=0,g=e.length;g>f;f++)a.push(e[f]),e[f].isDirectory&&(c=this.clearArray(e[f].fullPath.split("/")),c.shift(),c=c.length,c<=this._options.maxDepth&&d(e[f]));this._stopActivityTimeout&&clearTimeout(this._stopActivityTimeout),this._stopActivityTimeout=setTimeout(function(){b=!1},250)}e.length||(b=!1)},this),Ink.bind(function(a){this._options.readError(a,e)},this))},this);d(this._options.entry);var e,f=function(){return b?!1:(clearInterval(e),this._options.readComplete&&"function"==typeof this._options.readComplete&&this._options.readComplete(a),!0)};e=setInterval(Ink.bind(f,this),250)},clearArray:function(a){for(var b=a.length-1;b>=0;b--)("undefined"==typeof a[b]||null===a[b]||""===a[b])&&a.splice(b,1);return a}};var f={lists:[],items:[],create:function(a){var b;return a=String(a),this.lists.push({name:a}),b=this.lists.length-1},getItems:function(a){if(!a)return this.items;for(var b=[],c=0,d=this.items.length;d>c;c++)this.items[c].parentId===a&&b.push(this.items[c]);return b},purge:function(a,b){if("number"!=typeof a||isNaN(Number(a)))return!1;try{for(var c=this.items.length;c>=0;c--)this.items[c]&&a===this.items[c].parentId&&this.remove(this.items[c].parentId,this.items[c].pid);return b||this.lists.splice(a,1),!0}catch(d){return Ink.error("Purge: invalid id"),!1}},add:function(a,b,c){if(!this.lists[a])return!1;"object"!=typeof b&&(b=String(b));var d=parseInt(Math.round(1e5*Math.random())+""+Math.round(1e5*Math.random()),10);return c=c||0,this.items.push({parentId:a,item:b,priority:c||0,pid:d}),d},view:function(a,b){var c=this._searchByPid(a,b);return c===!1?!1:this.items[c]},remove:function(a,b){try{var c=this._searchByPid(a,b);return c===!1?!1:(this.items.splice(c,1),!0)}catch(d){return Ink.error("Remove: invalid id"),!1}},_searchByPid:function(a,b){if(!a&&"boolean"==typeof a||!b)return!1;if(a=parseInt(a,10),b=parseInt(b,10),isNaN(a)||isNaN(b))return!1;for(var c=0,d=this.items.length;d>c;c++)if(this.items[c].parentId===a&&this.items[c].pid===b)return c;return!1}},g=function(a){this.Upload=a,this.init()};g.prototype={init:function(){this._fileButton=this.Upload._options.fileButton,this._dropzone=this.Upload._options.dropzone,this._setDropEvent(),this._setFileButton()},_setDropEvent:function(){var a=this._dropzone;if(a)for(var b=0,c=a.length;c>b;b++)a[b].ondrop=Ink.bindEvent(this.Upload._dropEventHandler,this.Upload),a[b].ondragleave=Ink.bindEvent(this._onDragLeave,this),a[b].ondragend=Ink.bindEvent(this._onDragEndEventHandler,this),a[b].ondragdrop=Ink.bindEvent(this._onDragEndEventHandler,this),a[b].ondragenter=Ink.bindEvent(this._onDragEnterHandler,this),a[b].ondragover=Ink.bindEvent(this._onDragOverHandler,this)},_onDragEnterHandler:function(a){return a&&a.stopPropagation&&a.stopPropagation(),a&&a.preventDefault&&a.preventDefault(),a&&(a.returnValue=!1),this.Upload.publish("DragEnter",a),!1},_onDragOverHandler:function(a){return a?(a.preventDefault(),a.stopPropagation(),a.returnValue=!1,!0):!1},_onDragLeave:function(a){return this.Upload.publish("DragLeave",a)},_onDragEndEventHandler:function(a){return this.Upload.publish("DragEnd",a)},_setFileButton:function(){var b=this._fileButton;b&&a.observeMulti(b,"change",Ink.bindEvent(this._fileChangeHandler,this))},_fileChangeHandler:function(c){var d=a.element(c),e=d.files,f=b.findUpwardsByTag(d,"form");return e&&window.FormData&&"withCredentials"in new XMLHttpRequest?(this.Upload._addFilesToQueue(e),void(d.value="")):(f.parentNode.submit(),!1)}};var h=function(a){this.Queue=f,this.init(a),this._events={}};return h.prototype={init:function(a){if("string"==typeof a&&(a=b.data(d.elOrSelector(a,"1st argument"))),this._options=Ink.extendObj({dropzone:void 0,fileButton:void 0,fileFormName:"Ink_Filelist",endpoint:"",maxFilesize:300<<20,INVALID_FILE_NAME:void 0,extraData:{},useChunks:!1,chunkSize:4194304,minSizeToUseChunks:20971520,endpointChunk:"",endpointChunkCommit:"",foldersEnabled:!1,directoryMaxDepth:10},a||{}),this._queueId=f.create("Ink_UPLOAD"),this._queueRunning=!1,this._folders={},this._options.dropzone&&(this._options.dropzone=d.elsOrSelector(this._options.dropzone,"Ink.UI.Upload - dropzone")),this._options.fileButton&&(this._options.fileButton=d.elsOrSelector(this._options.fileButton,"Ink.UI.Upload - fileButton")),!this._options.dropzone&&!this._options.fileButton)throw new TypeError("Ink.UI.Upload: Specify a fileButton or a Dropzone!");new g(this)},_supportChunks:function(a){return this._options.useChunks&&"Blob"in window&&(new Blob).slice&&a>this._options.minSizeToUseChunks},_dropEventHandler:function(b){a.stop(b),this.publish("DropComplete",b.dataTransfer);var c=b.dataTransfer;if(!c||!c.files||!c.files.length)return!1;if(this._files=c.files,this._files=Array.prototype.slice.call(this._files||[],0),c.items&&c.items[0]&&c.items[0].webkitGetAsEntry){if(!this._options.foldersEnabled)return setTimeout(Ink.bind(this._addFilesToQueue,this,this._files),0);for(var d,e=[],f=b.dataTransfer.items.length-1;f>=0;f--)d=b.dataTransfer.items[f].webkitGetAsEntry(),d&&d.isDirectory&&(e.push(d),this._files[f].isDirectory=!0,this._files.splice(f,1));this._addFolderToQueue(e,Ink.bind(function(){setTimeout(Ink.bind(this._addFilesToQueue,this,this._files),0)},this))}else setTimeout(Ink.bind(this._addFilesToQueue,this,this._files),0);return!0},_addFolderToQueue:function(a,b){var c=[],d={};if(!a||!a.length)return b(),c;var f=function(a){for(var b=[],c=0,d=a.length;d>c;c++)a[c].isFile&&b.push(a[c]);return b},g=function(a,b){var d;return b=b||0,this._files[b]?"fileentry"!==this._files[b].constructor.name.toLowerCase()?g.apply(this,[a,++b]):void this._files[b].file(Ink.bind(function(c){d=this._files[b].fullPath,this._files[b]=c,this._files[b].hasParent=!0,this._files[b].fullPath||(this._files[b].fullPath=d),g.apply(this,[a,++b])},this),Ink.bind(function(){this._files.splice(b,1),g.apply(this,[a,b])},this)):(a(),c)},h=Ink.bind(function(i){return a[i]?void new e({entry:a[i],maxDepth:this._options.directoryMaxDepth,readComplete:Ink.bind(function(b){if(c=c.concat(f(b)),a[i]&&!(a[i].fullPath in this._folders)){this._folders[a[i].fullPath]={items:b,files:c,length:b.length,created:!1,root:!0};for(var e=0,g=b.length;g>e;e++)b[e].isFile||(b[e].fullPath in d?delete d[b[e].fullPath]:this._folders[b[e].fullPath]={created:!1,root:!1});h(++i)}},this),readError:Ink.bind(function(a,b){d[b.fullPath]={},d[b.fullPath].error=a},this)}):(this._files=this._files.concat(c),g.call(this,b),!1)},this);return h(0),c},_addFilesToQueue:function(a){for(var b,d,e,g=0,h=a.length;h>g;g++)b=a[g],b.isDirectory||null!==b&&(b.type||b.size%4096!==0||c.CHROME&&this._options.foldersEnabled)?b.size>this._options.maxFilesize?this.publish("MaxSizeFailure",b,this._options.maxFilesize):(d=parseInt(Math.round(1e5*Math.random())+""+Math.round(1e5*Math.random()),10),e={id:g,data:b,fileID:d,directory:b.isDirectory},f.add(this._queueId,e),this.publish("FileAddedToQueue",e)):this.publish("InvalidFile",b,"size");this._processQueue(!0),this._files=[]},_processQueue:function(a){if(this._queueRunning)return!1;this.running=0;var b=1,c=0,d,e=f.items.length;this._queueRunning=!0,this.interval=setInterval(Ink.bind(function(){if(f.items.length===c&&0===this.running&&(f.purge(this._queueId,!0),this._queueRunning=!1,clearInterval(this.interval),this.publish("QueueEnd",this._queueId,e)),d=f.getItems(this._queueId),this.runningb.chunk_offset){if(c.response){var e=JSON.parse(c.response),f=b.chunk_offset&&e.offset!==b.chunk_offset+this._options.chunkSize&&b.size!==e.offset;f?(a.cb&&a.cb(),this.publish("ErrorUpload",b,d)):(b.chunk_upload_id=e.upload_id,b.chunk_offset=e.offset,b.chunk_expires=e.expires,this._upload(a))}else a.cb&&a.cb(),this.publish("ErrorUpload",b,d);return c=null}return a.cb&&a.cb(),c.responseText&&c.status<400?this.publish("EndUpload",b,d,c.responseText):this.publish("ErrorUpload",b,d),c=null},this),c.onerror=Ink.bindEvent(function(){a.cb&&a.cb(),this.publish("ErrorUpload",b,d)},this),c.onabort=Ink.bindEvent(function(){a.cb&&a.cb(),this.publish("AbortUpload",b,d,{abortAll:Ink.bind(this.abortAll,this),abortOne:Ink.bind(this.abortOne,this)})},this)},abortAll:function(){return this._queueRunning?(clearInterval(this.interval),this._queueRunning=!1,f.purge(this._queueId,!0),!0):!1},abortOne:function(a,b){for(var c=f.getItems(0),d,e=0,g=c.length;g>e;e++)if(c[e].item.fileID===a)return d={id:c[e].item.fileID,name:c[e].item.data.name,size:c[e].item.data.size,hasParent:c[e].item.data.hasParent},f.remove(0,c[e].pid),b&&b(d),!0;return!1},subscribe:function(a,b){return this._events[a]||(this._events[a]=[]),this._events[a].push(b),this._events[a]},publish:function(a){var b=this._events[a],c=Array.prototype.slice.call(arguments||[],0);if(b)for(var d=0,e=b.length;e>d;d++)try{b[d].apply(this,c.splice(1,c.length))}catch(f){Ink.error(a+": "+f)}}},h}),Ink.createModule("Ink.Util.Array","1",[],function(){"use strict";var a=Array.prototype,b={isArray:Array.isArray||function(a){return"[object Array]"==={}.toString.call(a)},groupBy:function(a,b){function c(a,b){return d(a)===d(b)}function d(a){return"function"==typeof b.key?b.key(a):a}b=b||{};for(var e=[],f,g=0,h=a.length;h>g;g++){for(f=[a[g]];h>g+1&&c(a[g],a[g+1]);)f.push(a[g+1]),g++;e.push(b.pairs?[d(a[g]),f]:f)}return e},reduce:function(b,c,d){if(a.reduce)return a.reduce.apply(b,[].slice.call(arguments,1));var e=Object(b),f=e.length>>>0,g=0,h;if(arguments.length>=3)h=d;else{for(;f>g&&!(g in e);)g++;if(g>=f)throw new TypeError("Reduce of empty array with no initial value");h=e[g++]}for(;f>g;g++)g in e&&(h=c(h,e[g],g,e));return h},inArray:function(a,b){if("object"==typeof b)for(var c=0,d=b.length;d>c;++c)if(b[c]===a)return!0;return!1},sortMulti:function(a,b){if("undefined"==typeof a||a.constructor!==Array)return!1;if("string"!=typeof b)return a.sort();if(a.length>0){if("undefined"==typeof a[0][b])return!1;a.sort(function(a,c){var d=a[b],e=c[b];return e>d?-1:d>e?1:0})}return a},keyValue:function(a,b,c){if("undefined"!=typeof a&&"object"==typeof b&&this.inArray(a,b)){for(var d=[],e=0,f=b.length;f>e;++e)if(b[e]===a){if("undefined"!=typeof c&&c===!0)return e;d.push(e)}return d}return!1},shuffle:function(a){if("undefined"!=typeof a&&a.constructor!==Array)return!1;for(var b=a.length,c=!1,d=!1;b--;)d=Math.floor(Math.random()*(b+1)),c=a[b],a[b]=a[d],a[d]=c;return a},forEach:function(b,c,d){if(a.forEach)return a.forEach.call(b,c,d);for(var e=0,f=b.length>>>0;f>e;e++)c.call(d,b[e],e,b) +},each:function(){b.forEach.apply(b,[].slice.call(arguments))},map:function(b,c,d){if(a.map)return a.map.call(b,c,d);for(var e=new Array(g),f=0,g=b.length>>>0;g>f;f++)e[f]=c.call(d,b[f],f,b);return e},filter:function(b,c,d){if(a.filter)return a.filter.call(b,c,d);for(var e=[],f=null,g=0,h=b.length;h>g;g++)f=b[g],c.call(d,f,g,b)&&e.push(f);return e},some:function(a,b,c){if(null===a)throw new TypeError("First argument is invalid.");var d=Object(a),e=d.length>>>0;if("function"!=typeof b)throw new TypeError("Second argument must be a function.");for(var f=0;e>f;f++)if(f in d&&b.call(c,d[f],f,d))return!0;return!1},intersect:function(a,b){if(!a||!b||a instanceof Array==!1||b instanceof Array==!1)return[];for(var c=[],d=0,e=a.length;e>d;++d)for(var f=0,g=b.length;g>f;++f)a[d]===b[f]&&c.push(a[d]);return c},convert:function(b){return a.slice.call(b||[],0)},unique:function(a){if(!Array.prototype.lastIndexOf){var c=[];return b.forEach(b.convert(a),function(a){b.inArray(a,c)||c.push(a)}),c}return b.filter(b.convert(a),function(a,b,c){return c.lastIndexOf(a)===b})},range:function c(a,b,d){d||(d=1);var e=[],f;if(d>0)for(f=a;b>f;f+=d)e.push(f);else for(f=a;f>b;f+=d)e.push(f);return e},insert:function(a,b,c){a.splice(b,0,c)},remove:function(a,b,c){for(var d=[],e=0,f=a.length;f>e;e++)e>=b&&b+c>e||d.push(a[e]);return d}};return b}),Ink.createModule("Ink.Util.BinPack","1",[],function(){"use strict";var a=function(a,b){this.init(a,b)};a.prototype={init:function(a,b){this.root={x:0,y:0,w:a,h:b}},fit:function(a){var b,c,d;for(b=0;b0?a[0].w:0,g=e>0?a[0].h:0;for(this.root={x:0,y:0,w:f,h:g},b=0;e>b;b++)d=a[b],d.fit=(c=this.findNode(this.root,d.w,d.h))?this.splitNode(c,d.w,d.h):this.growNode(d.w,d.h)},findNode:function(a,b,c){return a.used?this.findNode(a.right,b,c)||this.findNode(a.down,b,c):b<=a.w&&c<=a.h?a:null},splitNode:function(a,b,c){return a.used=!0,a.down={x:a.x,y:a.y+c,w:a.w,h:a.h-c},a.right={x:a.x+b,y:a.y,w:a.w-b,h:c},a},growNode:function(a,b){var c=a<=this.root.w,d=b<=this.root.h,e=d&&this.root.h>=this.root.w+a,f=c&&this.root.w>=this.root.h+b;return e?this.growRight(a,b):f?this.growDown(a,b):d?this.growRight(a,b):c?this.growDown(a,b):null},growRight:function(a,b){this.root={used:!0,x:0,y:0,w:this.root.w+a,h:this.root.h,down:this.root,right:{x:this.root.w,y:0,w:a,h:this.root.h}};var c;return(c=this.findNode(this.root,a,b))?this.splitNode(c,a,b):null},growDown:function(a,b){this.root={used:!0,x:0,y:0,w:this.root.w,h:this.root.h+b,down:{x:0,y:this.root.h,w:this.root.w,h:b},right:this.root};var c;return(c=this.findNode(this.root,a,b))?this.splitNode(c,a,b):null}};var c={random:function(){return Math.random()-.5},w:function(a,b){return b.w-a.w},h:function(a,b){return b.h-a.h},a:function(a,b){return b.area-a.area},max:function(a,b){return Math.max(b.w,b.h)-Math.max(a.w,a.h)},min:function(a,b){return Math.min(b.w,b.h)-Math.min(a.w,a.h)},height:function(a,b){return c.msort(a,b,["h","w"])},width:function(a,b){return c.msort(a,b,["w","h"])},area:function(a,b){return c.msort(a,b,["a","h","w"])},maxside:function(a,b){return c.msort(a,b,["max","min","h","w"])},msort:function(a,b,d){var e,f;for(f=0;ff;++f)h=e.blocks[f],"area"in h||(h.area=h.w*h.h);var i=e.dimensions?new a(e.dimensions[0],e.dimensions[1]):new b;e.sorter||(e.sorter="maxside"),e.blocks.sort(c[e.sorter]),i.fit(e.blocks);var j=[i.root.w,i.root.h],k=[],l=[];for(f=0,g=e.blocks.length;g>f;++f)h=e.blocks[f],h.fit?k.push(h):(h.toString=d,l.push(h));var m=j[0]*j[1],n=0;for(f=0,g=k.length;g>f;++f)h=k[f],n+=h.area;return{dimensions:j,filled:n/m,blocks:e.blocks,fitted:k,unfitted:l}}};return e}),Ink.createModule("Ink.Util.Cookie","1",[],function(){"use strict";var a={get:function(a){var b=document.cookie||!1,c={};if(b){b=b.replace(new RegExp("; ","g"),";");var d=b.split(";"),e=[];if(d.length>0)for(var f=0;f1?k:"0"+k;break;case"D":d[j]=this._wDays(f.getDay()).substring(0,3);break;case"j":d[j]=f.getDate();break;case"l":d[j]=this._wDays(f.getDay());break;case"N":d[j]=f.getDay()||7;break;case"S":var l=f.getDate(),m=["st","nd","rd"],n="";d[j]=l>=11&&13>=l?"th":(n=m[String(l).substr(-1)-1])?n:"th";break;case"w":d[j]=f.getDay();break;case"z":g=Date.UTC(f.getFullYear(),0,0),h=Date.UTC(f.getFullYear(),f.getMonth(),f.getDate()),d[j]=Math.floor((h-g)/864e5);break;case"W":var o=new Date(f.getFullYear(),0,1);g=o.getDay()||7;var p=Math.floor((f-o)/864e5+1);d[j]=Math.ceil((p-(8-g))/7)+1;break;case"F":d[j]=this._months(f.getMonth());break;case"m":var q=String(f.getMonth()+1);d[j]=q.length>1?q:"0"+q;break;case"M":d[j]=this._months(f.getMonth()).substring(0,3);break;case"n":d[j]=f.getMonth()+1;break;case"t":d[j]=this._daysInMonth(f.getMonth()+1,f.getYear());break;case"L":var r=f.getFullYear();d[j]=r%4?!1:r%100?!0:r%400?!1:!0;break;case"o":throw'"o" not implemented!';case"Y":d[j]=f.getFullYear();break;case"y":d[j]=String(f.getFullYear()).substring(2);break;case"a":d[j]=f.getHours()<12?"am":"pm";break;case"A":d[j]=f.getHours<12?"AM":"PM";break;case"B":throw'"B" not implemented!';case"g":i=f.getHours(),d[j]=12>=i?i:i-12;break;case"G":d[j]=String(f.getHours());break;case"h":i=String(f.getHours()),i=12>=i?i:i-12,d[j]=i.length>1?i:"0"+i;break;case"H":i=String(f.getHours()),d[j]=i.length>1?i:"0"+i;break;case"i":var s=String(f.getMinutes());d[j]=s.length>1?s:"0"+s;break;case"s":var t=String(f.getSeconds());d[j]=t.length>1?t:"0"+t;break;case"u":throw'"u" not implemented!';case"e":throw'"e" not implemented!';case"I":g=new Date(f.getFullYear(),0,1),d[j]=f.getTimezoneOffset()!==g.getTimezoneOffset()?1:0;break;case"O":var u=f.getTimezoneOffset(),v=u%60;i=String((u-v)/60*-1),"-"!==i.charAt(0)&&(i="+"+i),i=3===i.length?i:i.replace(/([+\-])(\d)/,"$10$2"),d[j]=i+v+"0";break;case"P":throw'"P" not implemented!';case"T":throw'"T" not implemented!';case"Z":d[j]=60*f.getTimezoneOffset();break;case"c":throw'"c" not implemented!';case"r":var w=this._wDays(f.getDay()).substr(0,3),x=this._months(f.getMonth()).substr(0,3);d[j]=w+", "+f.getDate()+" "+x+this.get(" Y H:i:s O",f);break;case"U":d[j]=Math.floor(f.getTime()/1e3);break;default:d[j]=c[j]}return d.join("")},set:function(a,b){if("undefined"!=typeof b){("undefined"==typeof a||""===a)&&(a="Y-m-d");for(var c=a.split(""),d=new Array(c.length),e="\\",f,g={year:void 0,month:void 0,day:void 0,dayY:void 0,dayW:void 0,week:void 0,hour:void 0,hourD:void 0,min:void 0,sec:void 0,msec:void 0,ampm:void 0,diffM:void 0,diffH:void 0,date:void 0},h=0,i=0;i=S.slice(2)?0:1)+M)}else M=L.getFullYear();if(n)N=0,O=f[g.dayY.match+1];else if(o)N=p?this._iMonth(f[g.month.match+1]):L.getMonth(),O=f[g.day.match+1];else{N=0;var T;T=t?f[g.week.match+1]:this.get("W",L),O=7*(T-2)+(8-(new Date(M,0,1).getDay()||7))+this._iWeek(f[g.week.match+1])}if(0===N&&O>31){var U=new Date(M,N,O);N=U.getMonth(),O=U.getDate()}}else M=L.getFullYear(),N=L.getMonth(),O=L.getDate();return I=y?+f[g.hourD.match+1]+("pm"===f[g.ampm.match+1]?12:0):z?f[g.hour.match+1]:x?L.getHours():"00",J=B?f[g.min.match+1]:E?"00":L.getMinutes(),P=C?f[g.sec.match+1]:F?"00":L.getSeconds(),Q=D?f[g.msec.match+1]:"000",R=H?f[g.diffH.match+1]:G?String(-1*f[g.diffM.match+1]/60*100).replace(/^(\d)/,"+$1").replace(/(^[\-+])(\d{3}$)/,"$10$2"):"+0000",new Date(M,N,O,I,J,P)}}}};return a}),Ink.createModule("Ink.Util.Dumper","1",[],function(){"use strict";var a={_tab:"    ",_formatParam:function(a){var b="";switch(typeof a){case"string":b="(string) "+a;break;case"number":b="(number) "+a;break;case"boolean":b="(boolean) "+a;break;case"object":b=null!==a?a.constructor===Array?"Array \n{\n"+this._outputFormat(a,0)+"\n}":"Object \n{\n"+this._outputFormat(a,0)+"\n}":"null";break;default:b=!1}return b},_getTabs:function(a){for(var b="",c=0;a>c;c++)b+=this._tab;return b},_outputFormat:function(a,b){var c="",d=!1;for(var e in a)if(null!==a[e])if("object"!=typeof a[e]||a[e].constructor!==Array&&a[e].constructor!==Object){if(a[e].constructor===Function)continue;c=c+this._tab+this._getTabs(b)+"["+e+"] => "+a[e]+"\n"}else a[e].constructor===Array?d="Array":a[e].constructor===Object&&(d="Object"),c+=this._tab+this._getTabs(b)+"["+e+"] => "+d+"\n",c+=this._tab+this._getTabs(b)+"{\n",c+=this._outputFormat(a[e],b+1)+this._tab+this._getTabs(b)+"}\n";else c=c+this._tab+this._getTabs(b)+"["+e+"] => null \n";return c},printDump:function(a,b){if(b&&"undefined"!=typeof b)if("string"==typeof b)document.getElementById(b).innerHTML="
      "+this._formatParam(a)+"
      ";else{if("object"!=typeof b)throw"TARGET must be an element or an element ID";b.innerHTML="
      "+this._formatParam(a)+"
      "}else document.write("
      "+this._formatParam(a)+"
      ")},returnDump:function(a){return this._formatParam(a)},alertDump:function(a){window.alert(this._formatParam(a).replace(/()(Array|Object)(<\/b>)/g,"$2"))},windowDump:function(a){var b="dumperwindow_"+1e4*Math.random(),c=window.open("",b,"width=400,height=300,left=50,top=50,status,menubar,scrollbars,resizable");c.document.open(),c.document.write("
      "+this._formatParam(a)+"
      "),c.document.close(),c.focus()}};return a}),Ink.createModule("Ink.Util.I18n","1",[],function(){"use strict";var a=/\{(?:(\{.*?})|(?:%s:)?(\d+)|(?:%s)?|([\w-]+))}/g,b=function(a,b){return"function"==typeof a?a.apply(this,b):void 0!==typeof a?a:""},c=function(a,b,d){return this instanceof c?void this.reset().lang(b).testMode(d).append(a||{},b):new c(a,b,d)};return c.prototype={reset:function(){return this._dicts=[],this._dict={},this._testMode=!1,this._lang=this._gLang,this},append:function(a){return this._dicts.push(a),this._dict=Ink.extendObj(this._dict,a[this._lang]),this},lang:function(a){if(!arguments.length)return this._lang;if(a&&this._lang!==a){this._lang=a,this._dict={};for(var b=0,c=this._dicts.length;c>b;b++)this._dict=Ink.extendObj(this._dict,this._dicts[b][a]||{})}return this},testMode:function(a){return arguments.length?(void 0!==a&&(this._testMode=!!a),this):!!this._testMode},getKey:function(a){var b,d=this._gLang,e=this._lang;return a in this._dict?b=this._dict[a]:(c.langGlobal(e),b=this._gDict[a],c.langGlobal(d)),b},text:function(c){if("string"==typeof c){var d=Array.prototype.slice.call(arguments,1),e=0,f="object"==typeof d[0],g=this.getKey(c);return void 0===g&&(g=this._testMode?"["+c+"]":c),"number"==typeof g&&(g+=""),"string"==typeof g?g=g.replace(a,function(a,c,g,h){var i=c?c:g?d[g-(f?0:1)]:h?d[0][h]||"":d[e++ +(f?1:0)];return b(i,[e].concat(d))}):"function"==typeof g?g.apply(this,d):g instanceof Array?b(g[d[0]],d):"object"==typeof g?b(g[d[0]],d):""}},ntext:function(a,b,c){var d=Array.prototype.slice.apply(arguments),e;if(2===d.length&&"number"==typeof b){if(e=this.getKey(a),!(e instanceof Array))return"";d.splice(0,1),e=e[1===b?0:1]}else d.splice(0,2),e=1===c?a:b;return this.text.apply(this,[e].concat(d))},ordinal:function(a){if(void 0===a)return"";var c=+a.toString().slice(-1),d=this.getKey("_ordinals");if(void 0===d)return"";if("string"==typeof d)return d;var e;return"function"==typeof d&&(e=d(a,c),"string"==typeof e)?e:"exceptions"in d&&(e="function"==typeof d.exceptions?d.exceptions(a,c):a in d.exceptions?b(d.exceptions[a],[a,c]):void 0,"string"==typeof e)?e:"byLastDigit"in d&&(e="function"==typeof d.byLastDigit?d.byLastDigit(c,a):c in d.byLastDigit?b(d.byLastDigit[c],[c,a]):void 0,"string"==typeof e)?e:"default"in d&&(e=b(d["default"],[a,c]),"string"==typeof e)?e:""},alias:function(){var a=Ink.bind(c.prototype.text,this);return a.ntext=Ink.bind(c.prototype.ntext,this),a.append=Ink.bind(c.prototype.append,this),a.ordinal=Ink.bind(c.prototype.ordinal,this),a.testMode=Ink.bind(c.prototype.testMode,this),a}},c.reset=function(){c.prototype._gDicts=[],c.prototype._gDict={},c.prototype._gLang="pt_PT"},c.reset(),c.appendGlobal=function(a,b){if(b){if(!(b in a)){var d={};d[b]=a,a=d}b!==c.prototype._gLang&&c.langGlobal(b)}c.prototype._gDicts.push(a),Ink.extendObj(c.prototype._gDict,a[c.prototype._gLang])},c.append=function(){return Ink.warn("Ink.Util.I18n.append() was renamed to appendGlobal()."),c.appendGlobal.apply(c,[].slice.call(arguments))},c.langGlobal=function(a){if(!arguments.length)return c.prototype._gLang;if(a&&c.prototype._gLang!==a){c.prototype._gLang=a,c.prototype._gDict={};for(var b=0,d=c.prototype._gDicts.length;d>b;b++)Ink.extendObj(c.prototype._gDict,c.prototype._gDicts[b][a]||{})}},c.lang=function(){return Ink.warn("Ink.Util.I18n.lang() was renamed to langGlobal()."),c.langGlobal.apply(c,[].slice.call(arguments))},c}),Ink.createModule("Ink.Util.Json","1",[],function(){"use strict";function twoDigits(a){var b=""+a;return 1===b.length?"0"+b:b}var function_call=Function.prototype.call,cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,dateToISOString=Date.prototype.toISOString?Ink.bind(function_call,Date.prototype.toISOString):function(a){return a.getUTCFullYear()+"-"+twoDigits(a.getUTCMonth()+1)+"-"+twoDigits(a.getUTCDate())+"T"+twoDigits(a.getUTCHours())+":"+twoDigits(a.getUTCMinutes())+":"+twoDigits(a.getUTCSeconds())+"."+String((a.getUTCMilliseconds()/1e3).toFixed(3)).slice(2,5)+"Z"},InkJson={_nativeJSON:window.JSON||null,_convertToUnicode:!1,_escape:function(a){var b={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return/["\\\x00-\x1f]/.test(a)&&(a=a.replace(/([\x00-\x1f\\"])/g,function(a,c){var d=b[c];return d?d:(d=c.charCodeAt(),"\\u00"+Math.floor(d/16).toString(16)+(d%16).toString(16))})),a},_toUnicode:function(a){if(this._convertToUnicode){for(var b="",c=!1,d=!1,e=0,f=a.length;f>e;){if(c=a.charCodeAt(e),c>=32&&126>=c||8===c||9===c||10===c||12===c||13===c||32===c||34===c||47===c||58===c||92===c)d=34===c||92===c||47===c?"\\"+a.charAt(e):8===c?"\\b":9===c?"\\t":10===c?"\\n":12===c?"\\f":13===c?"\\r":a.charAt(e);else if(this._convertToUnicode){for(d=a.charCodeAt(e).toString(16)+"".toUpperCase();d.length<4;)d="0"+d;d="\\u"+d}else d=a.charAt(e);b+=d,e++}return b}return this._escape(a)},_stringifyValue:function(a){if("string"==typeof a)return'"'+this._toUnicode(a)+'"';if("number"!=typeof a||!isNaN(a)&&isFinite(a)){if("undefined"==typeof a||null===a)return"null";if("function"==typeof a.toJSON){var b=a.toJSON();return"string"==typeof b?'"'+this._escape(b)+'"':this._escape(b.toString())}if("number"==typeof a||"boolean"==typeof a)return""+a;if("function"==typeof a)return"null";if(a.constructor===Date)return'"'+this._escape(dateToISOString(a))+'"';if(a.constructor===Array){for(var c="",d=0,e=a.length;e>d;d++)d>0&&(c+=","),c+=this._stringifyValue(a[d]);return"["+c+"]"}var f="";for(var g in a)({}).hasOwnProperty.call(a,g)&&(""!==f&&(f+=","),f+='"'+this._escape(g)+'": '+this._stringifyValue(a[g]));return"{"+f+"}"}return"null"},stringify:function(a,b){return this._convertToUnicode=!!b,!this._convertToUnicode&&this._nativeJSON?this._nativeJSON.stringify(a):this._stringifyValue(a)},parse:function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&"object"==typeof e)for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&(d=walk(e,c),void 0!==d?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;if(text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})),/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")}};return InkJson}),Ink.createModule("Ink.Util.String","1",[],function(){"use strict";var InkUtilString={_chars:["&","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","ø","ù","ú","û","ü","ý","þ","ÿ","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","Ø","Ù","Ú","Û","Ü","Ý","Þ","€",'"',"ß","<",">","¢","£","¤","¥","¦","§","¨","©","ª","«","¬","­","®","¯","°","±","²","³","´","µ","¶","·","¸","¹","º","»","¼","½","¾"],_entities:["amp","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","euro","quot","szlig","lt","gt","cent","pound","curren","yen","brvbar","sect","uml","copy","ordf","laquo","not","shy","reg","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34"],_accentedChars:["à","á","â","ã","ä","å","è","é","ê","ë","ì","í","î","ï","ò","ó","ô","õ","ö","ù","ú","û","ü","ç","ñ","À","Á","Â","Ã","Ä","Å","È","É","Ê","Ë","Ì","Í","Î","Ï","Ò","Ó","Ô","Õ","Ö","Ù","Ú","Û","Ü","Ç","Ñ"],_accentedRemovedChars:["a","a","a","a","a","a","e","e","e","e","i","i","i","i","o","o","o","o","o","u","u","u","u","c","n","A","A","A","A","A","A","E","E","E","E","I","I","I","I","O","O","O","O","O","U","U","U","U","C","N"],_htmlUnsafeChars:{"<":"<",">":">","&":"&",'"':""","'":"'"},ucFirst:function(a,b){var c=b?/(^|\s)(\w)(\S{2,})/:/(^|\s)(\w)(\S{2,})/g;return a?String(a).replace(c,function(a,b,c,d){return b+c.toUpperCase()+d.toLowerCase()}):a},trim:function(a){return"string"==typeof a?a.replace(/^\s+|\s+$|\n+$/g,""):a},stripTags:function(a,b){if(b&&"string"==typeof b){for(var c=InkUtilString.trim(b).split(","),d=[],e=!1,f=0;f)/g,"").replace(/\s/,"")),d.push("(<"+e+"\\s[^>]+>|<(\\s|\\/)?(\\s|\\/)?"+e+">)"));for(var g=d.join("|"),h=new RegExp(g,"i"),i=a.match(new RegExp("<[^>]*>","g")),j=0;j]+\>/g,"")},htmlEntitiesEncode:function(a){if(a&&a.replace)for(var b=!1,c=0;cd?b+=String.fromCharCode(d):d>127&&2048>d?(b+=String.fromCharCode(d>>6|192),b+=String.fromCharCode(63&d|128)):(b+=String.fromCharCode(d>>12|224),b+=String.fromCharCode(d>>6&63|128),b+=String.fromCharCode(63&d|128))}return b},shortString:function(a,b){for(var c=a.split(" "),d="",e=0;e=b){d+="…";break}d+=c[e]+" "}return d},truncateString:function(a,b){return a.length-1>b?a.substr(0,b-1)+"…":a},utf8Decode:function(a){for(var b="",c=0,d=0,e=0,f=0;cd?(b+=String.fromCharCode(d),c++):d>191&&224>d?(e=a.charCodeAt(c+1),b+=String.fromCharCode((31&d)<<6|63&e),c+=2):(e=a.charCodeAt(c+1),f=a.charCodeAt(c+2),b+=String.fromCharCode((15&d)<<12|(63&e)<<6|63&f),c+=3);return b},removeAccentedChars:function(a){for(var b=a,c=!1,d=0;d&'"]/g,function(a){return b[a]}):a},normalizeWhitespace:function(a){return null!==a?InkUtilString.trim(String(a).replace(/\s+/g," ")):a},toUnicode:function(a){if("string"==typeof a){for(var b="",c=!1,d=!1,e=a.length,f=0;e>f;){if(c=a.charCodeAt(f),c>=32&&126>=c||8===c||9===c||10===c||12===c||13===c||32===c||34===c||47===c||58===c||92===c)d=8===c?"\\b":9===c?"\\t":10===c?"\\n":12===c?"\\f":13===c?"\\r":a.charAt(f);else{for(d=a.charCodeAt(f).toString(16)+"".toUpperCase();d.length<4;)d="0"+d;d="\\u"+d}b+=d,f++}return b}},escape:function(a){var b=a.charCodeAt(0).toString(16).split("");if(b.length<3){for(;b.length<2;)b.unshift("0");b.unshift("x")}else{for(;b.length<4;)b.unshift("0");b.unshift("u")}return b.unshift("\\"),b.join("")},unescape:function(a){var b=a.lastIndexOf("0");b=-1===b?2:Math.min(b,2);var c=a.substring(b),d=parseInt(c,16);return String.fromCharCode(d)},escapeText:function(a,b){void 0===b&&(b=["[","]","'",","]);for(var c=[],d,e,f=0,g=a.length;g>f;++f)d=a[f],e=d.charCodeAt(0),(32>e||e>126&&-1===b.indexOf(d))&&(d=InkUtilString.escape(d)),c.push(d);return c.join("")},escapedCharRegex:/(\\x[0-9a-fA-F]{2})|(\\u[0-9a-fA-F]{4})/g,unescapeText:function(a){for(var b;b=InkUtilString.escapedCharRegex.exec(a);)b=b[0],a=a.replace(b,InkUtilString.unescape(b)),InkUtilString.escapedCharRegex.lastIndex=0;return a},strcmp:function(a,b){return a===b?0:a>b?1:-1},packetize:function(a,b){for(var c=a.length,d=new Array(Math.ceil(c/b)),e=a.split(""),f,g=0;c;)f=Math.min(b,c),d[g++]=e.splice(0,f).join(""),c-=f;return d}};return InkUtilString}),Ink.createModule("Ink.Util.Url","1",[],function(){"use strict";var a={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",getUrl:function(){return window.location.href},genQueryString:function(a,b){var c=-1!==a.indexOf("?"),d,e,f,g=[a];for(e in b)b.hasOwnProperty(e)&&(c?d="&":(d="?",c=!0),f=b[e],"number"==typeof f||f||(f=""),g=g.concat([d,encodeURIComponent(e),"=",encodeURIComponent(f)]));return g.join("")},getQueryString:function(a){var b;b=a&&"undefined"!=typeof a?a:this.getUrl();var c={};if(b.match(/\?(.+)/i)){var d=b.replace(/^(.*)\?([^\#]+)(\#(.*))?/g,"$2");if(d.length>0)for(var e=d.split(/[;&]/),f=0;f0)for(var e=d.split(/[;&]/),f=0;f0?b[b.length-1]:!1;for(var c=!1,d=new RegExp(""+a,"i"),e=0,f=b.length;f>e;e++)if(c=b[e],d.test(c.src))return c;return!1},_debug:function(){}};return a}),Ink.createModule("Ink.Util.Validator","1",[],function(){"use strict";var a={_countryCodes:["AO","CV","MZ","PT"],_internacionalPT:351,_indicativosPT:{21:"lisboa",22:"porto",231:"mealhada",232:"viseu",233:"figueira da foz",234:"aveiro",235:"arganil",236:"pombal",238:"seia",239:"coimbra",241:"abrantes",242:"ponte de sôr",243:"santarém",244:"leiria",245:"portalegre",249:"torres novas",251:"valença",252:"vila nova de famalicão",253:"braga",254:"peso da régua",255:"penafiel",256:"são joão da madeira",258:"viana do castelo",259:"vila real",261:"torres vedras",262:"caldas da raínha",263:"vila franca de xira",265:"setúbal",266:"évora",268:"estremoz",269:"santiago do cacém",271:"guarda",272:"castelo branco",273:"bragança",274:"proença-a-nova",275:"covilhã",276:"chaves",277:"idanha-a-nova",278:"mirandela",279:"moncorvo",281:"tavira",282:"portimão",283:"odemira",284:"beja",285:"moura",286:"castro verde",289:"faro",291:"funchal, porto santo",292:"corvo, faial, flores, horta, pico",295:"angra do heroísmo, graciosa, são jorge, terceira",296:"ponta delgada, são miguel, santa maria",91:"rede móvel 91 (Vodafone / Yorn)",93:"rede móvel 93 (Optimus)",96:"rede móvel 96 (TMN)",92:"rede móvel 92 (TODOS)",707:"número único",760:"número único",800:"número grátis",808:"chamada local",30:"voip"},_internacionalCV:238,_indicativosCV:{2:"fixo",91:"móvel 91",95:"móvel 95",97:"móvel 97",98:"móvel 98",99:"móvel 99"},_internacionalAO:244,_indicativosAO:{2:"fixo",91:"móvel 91",92:"móvel 92"},_internacionalMZ:258,_indicativosMZ:{2:"fixo",82:"móvel 82",84:"móvel 84"},_internacionalTL:670,_indicativosTL:{3:"fixo",7:"móvel 7"},_characterGroups:{numbers:["0-9"],asciiAlpha:["a-zA-Z"],latin1Alpha:["a-zA-Z","À-ÿ"],unicodeAlpha:["a-zA-Z","À-ÿ","Ā-῿","Ⰰ-퟿"],space:[" "],dash:["-"],underscore:["_"],nicknamePunctuation:["_.-"],singleLineWhitespace:[" "],newline:["\n"],whitespace:[" \n \f\r  "],asciiPunctuation:["!-/",":-@","[-`","{-~"],latin1Punctuation:["!-/",":-@","[-`","{-~","¡-¿","×","÷"],unicodePunctuation:["!-/",":-@","[-`","{-~","¡-¿","×","÷"," -","⸀-⹿"," -〿"]},createRegExp:function(b){var c="^["; +for(var d in b)if(b.hasOwnProperty(d)){if(!(d in a._characterGroups))throw new Error("group "+d+" is not a valid character group");b[d]&&(c+=a._characterGroups[d].join(""))}return new RegExp("^["===c?"$^":c+"]*?$")},checkCharacterGroups:function(b,c){return a.createRegExp(c).test(b)},unicode:function(b,c){return a.checkCharacterGroups(b,Ink.extendObj({unicodeAlpha:!0},c))},latin1:function(b,c){return a.checkCharacterGroups(b,Ink.extendObj({latin1Alpha:!0},c))},ascii:function(b,c){return a.checkCharacterGroups(b,Ink.extendObj({asciiAlpha:!0},c))},number:function(b,c){b+="";var d=Ink.extendObj({decimalSep:".",thousandSep:"",negative:!0,decimalPlaces:null,maxDigits:null,max:null,min:null,returnNumber:!1},c||{});if(d.thousandSep)return b=b.replace(new RegExp("\\"+d.thousandSep,"g"),""),d.thousandSep="",a.number(b,d);if(d.negative===!1)return d.min=0,d.negative=!0,a.number(b,d);if("."!==d.decimalSep&&(b=b.replace(new RegExp("\\"+d.decimalSep,"g"),".")),!/^(-)?(\d+)?(\.\d+)?$/.test(b)||""===b)return!1;var e;if(d.decimalSep&&-1!==b.indexOf(d.decimalSep)){if(e=b.split(d.decimalSep),null!==d.decimalPlaces&&e[1].length>d.decimalPlaces)return!1}else e=[""+b,""];if(null!==d.maxDigits&&e[0].replace(/-/g,"").length>d.maxDigits)return e;var f=parseFloat(b);return null!==d.maxExcl&&f>=d.maxExcl||null!==d.minExcl&&f<=d.minExcl?!1:null!==d.max&&f>d.max||null!==d.min&&f=1&&12>=b&&c>=1&&this._daysInMonth(b,a)>=c?!0:!1},email:function(a){var b=new RegExp("^[_a-z0-9-]+((\\.|\\+)[_a-z0-9-]+)*@([\\w]*-?[\\w]*\\.)+[a-z]{2,4}$","i");return b.test(a)?!0:!1},mail:function(b){return a.email(b)},url:function(a,b){if("undefined"==typeof b||b===!1){var c=new RegExp("(^(http\\:\\/\\/|https\\:\\/\\/)(.+))","i");c.test(a)===!1&&(a="http://"+a)}var d=new RegExp("^(http:\\/\\/|https:\\/\\/)([\\w]*(-?[\\w]*)*\\.)+[a-z]{2,4}","i");return d.test(a)===!1?!1:!0},isPTPhone:function(a){a=a.toString();var b=[];for(var c in this._indicativosPT)"string"==typeof this._indicativosPT[c]&&b.push(c);var d=b.join("|"),e=/^(00351|\+351)/;e.test(a)&&(a=a.replace(e,""));var f=/(\s|\-|\.)+/g;a=a.replace(f,"");var g=/[\d]{9}/i;if(9===a.length&&g.test(a)){var h=new RegExp("^("+d+")");if(h.test(a))return!0}return!1},isPortuguesePhone:function(a){return this.isPTPhone(a)},isCVPhone:function(a){a=a.toString();var b=[];for(var c in this._indicativosCV)"string"==typeof this._indicativosCV[c]&&b.push(c);var d=b.join("|"),e=/^(00238|\+238)/;e.test(a)&&(a=a.replace(e,""));var f=/(\s|\-|\.)+/g;a=a.replace(f,"");var g=/[\d]{7}/i;if(7===a.length&&g.test(a)){var h=new RegExp("^("+d+")");if(h.test(a))return!0}return!1},isAOPhone:function(a){a=a.toString();var b=[];for(var c in this._indicativosAO)"string"==typeof this._indicativosAO[c]&&b.push(c);var d=b.join("|"),e=/^(00244|\+244)/;e.test(a)&&(a=a.replace(e,""));var f=/(\s|\-|\.)+/g;a=a.replace(f,"");var g=/[\d]{9}/i;if(9===a.length&&g.test(a)){var h=new RegExp("^("+d+")");if(h.test(a))return!0}return!1},isMZPhone:function(a){a=a.toString();var b=[];for(var c in this._indicativosMZ)"string"==typeof this._indicativosMZ[c]&&b.push(c);var d=b.join("|"),e=/^(00258|\+258)/;e.test(a)&&(a=a.replace(e,""));var f=/(\s|\-|\.)+/g;a=a.replace(f,"");var g=/[\d]{8,9}/i;if((9===a.length||8===a.length)&&g.test(a)){var h=new RegExp("^("+d+")");if(h.test(a)){if(0===a.indexOf("2")&&8===a.length)return!0;if(0===a.indexOf("8")&&9===a.length)return!0}}return!1},isTLPhone:function(a){a=a.toString();var b=[];for(var c in this._indicativosTL)"string"==typeof this._indicativosTL[c]&&b.push(c);var d=b.join("|"),e=/^(00670|\+670)/;e.test(a)&&(a=a.replace(e,""));var f=/(\s|\-|\.)+/g;a=a.replace(f,"");var g=/[\d]{7}/i;if(7===a.length&&g.test(a)){var h=new RegExp("^("+d+")");if(h.test(a))return!0}return!1},isPhone:function(){var a;if(0===arguments.length)return!1;var b=arguments[0];if(arguments.length>1){if(arguments[1].constructor!==Array){if("function"==typeof this["is"+arguments[1].toUpperCase()+"Phone"])return this["is"+arguments[1].toUpperCase()+"Phone"](b);throw"Invalid Country Code!"}var c;for(a=0;a=0&&b[j-1]<=100))return!1;c=!0}if(1===j||3===j||5===j&&("undefined"==typeof b[j+1]||""===b[j+1])){if(!("undefined"!=typeof b[j]&&b[j]>=0&&b[j]<=255))return!1;c=!0}}if(null!==(b=h.exec(a))||null!==(b=i.exec(a)))for(j=b.length;j--;){if(3===j||5===j){if(!("undefined"!=typeof b[j-1]&&"undefined"!=typeof b[j]&&""!==b[j]&&b[j-1]>=0&&b[j-1]<=100))return!1;c=!0}if(1===j){if(!("undefined"!=typeof b[j]&&b[j]>=0&&b[j]<=360))return!1;c=!0}}return c},isIP:function(a,b){if("string"!=typeof a)return!1;switch(b=(b||"ipv4").toLowerCase()){case"ipv4":return/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(a);case"ipv6":return/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/.test(a);default:return!1}},_creditCardSpecs:{"default":{length:"13,14,15,16,17,18,19",prefix:/^.+/,luhn:!0},"american express":{length:"15",prefix:/^3[47]/,luhn:!0},"diners club":{length:"14,16",prefix:/^36|55|30[0-5]/,luhn:!0},discover:{length:"16",prefix:/^6(?:5|011)/,luhn:!0},jcb:{length:"15,16",prefix:/^3|1800|2131/,luhn:!0},maestro:{length:"16,18",prefix:/^50(?:20|38)|6(?:304|759)/,luhn:!0},mastercard:{length:"16",prefix:/^5[1-5]/,luhn:!0},visa:{length:"13,16",prefix:/^4/,luhn:!0}},_luhn:function(a){if(a=parseInt(a,10),"number"!=typeof a&&a%1!==0)return!1;a+="";var b=a.length,c,d=0;for(c=b-1;c>=0;c-=2)d+=parseInt(a.substr(c,1),10);for(c=b-2;c>=0;c-=2){var e=parseInt(2*a.substr(c,1),10);d+=e>=10?e-9:e}return d%10===0},isCreditCard:function(a,b){if(/\d+/.test(a)===!1)return!1;if("undefined"==typeof b)b="default";else if(b instanceof Array){var c,d=b.length;for(c=0;d>c;c++)if(this.isCreditCard(a,b[c]))return!0;return!1}if(b=b.toLowerCase(),"undefined"==typeof this._creditCardSpecs[b])return!1;var e=a.length+"";return-1===this._creditCardSpecs[b].length.split(",").indexOf(e)?!1:this._creditCardSpecs[b].prefix.test(a)?this._creditCardSpecs[b].luhn===!1?!0:this._luhn(a):!1}};return a}); +//# sourceMappingURL=ink-all.min.map \ No newline at end of file diff --git a/public/js/ink-all.min.map b/public/js/ink-all.min.map new file mode 100644 index 0000000..6a1f110 --- /dev/null +++ b/public/js/ink-all.min.map @@ -0,0 +1 @@ +{"version":3,"file":"ink-all.min.js","sources":["../../src/js/Ink/1/lib.js","../../src/js/Ink/Net/Ajax/1/lib.js","../../src/js/Ink/Net/JsonP/1/lib.js","../../src/js/Ink/Dom/Browser/1/lib.js","../../src/js/Ink/Dom/Css/1/lib.js","../../src/js/Ink/Dom/Element/1/lib.js","../../src/js/Ink/Dom/Event/1/lib.js","../../src/js/Ink/Dom/FormSerialize/1/lib.js","../../src/js/Ink/Dom/Loaded/1/lib.js","../../src/js/Ink/Dom/Selector/1/lib.js","../../src/js/Ink/UI/Animate/1/lib.js","../../src/js/Ink/UI/Carousel/1/lib.js","../../src/js/Ink/UI/Close/1/lib.js","../../src/js/Ink/UI/Common/1/lib.js","../../src/js/Ink/UI/DatePicker/1/lib.js","../../src/js/Ink/UI/Draggable/1/lib.js","../../src/js/Ink/UI/Drawer/1/lib.js","../../src/js/Ink/UI/Dropdown/1/lib.js","../../src/js/Ink/UI/Droppable/1/lib.js","../../src/js/Ink/UI/FormValidator/1/lib.js","../../src/js/Ink/UI/FormValidator/2/lib.js","../../src/js/Ink/UI/ImageQuery/1/lib.js","../../src/js/Ink/UI/LazyLoad/1/lib.js","../../src/js/Ink/UI/Modal/1/lib.js","../../src/js/Ink/UI/Pagination/1/lib.js","../../src/js/Ink/UI/ProgressBar/1/lib.js","../../src/js/Ink/UI/SmoothScroller/1/lib.js","../../src/js/Ink/UI/SortableList/1/lib.js","../../src/js/Ink/UI/Spy/1/lib.js","../../src/js/Ink/UI/Stacker/1/lib.js","../../src/js/Ink/UI/Sticky/1/lib.js","../../src/js/Ink/UI/Swipe/1/lib.js","../../src/js/Ink/UI/Table/1/lib.js","../../src/js/Ink/UI/Tabs/1/lib.js","../../src/js/Ink/UI/TagField/1/lib.js","../../src/js/Ink/UI/Toggle/1/lib.js","../../src/js/Ink/UI/Tooltip/1/lib.js","../../src/js/Ink/UI/TreeView/1/lib.js","../../src/js/Ink/UI/Upload/1/lib.js","../../src/js/Ink/Util/Array/1/lib.js","../../src/js/Ink/Util/BinPack/1/lib.js","../../src/js/Ink/Util/Cookie/1/lib.js","../../src/js/Ink/Util/Date/1/lib.js","../../src/js/Ink/Util/Dumper/1/lib.js","../../src/js/Ink/Util/I18n/1/lib.js","../../src/js/Ink/Util/Json/1/lib.js","../../src/js/Ink/Util/String/1/lib.js","../../src/js/Ink/Util/Url/1/lib.js","../../src/js/Ink/Util/Validator/1/lib.js"],"names":["window","document","paths","modules","modulesLoadOrder","modulesRequested","pendingRMs","modulesWaitingForDeps","apply","Function","prototype","isEmptyObject","o","k","hasOwnProperty","Ink","VERSION","_checkPendingRequireModules","I","F","dep","mod","cb","pRMs","length","left","args","remaining","push","setTimeout","getPath","key","noLib","split","curKey","i","root","path","slice","join","test","setPath","rootURI","replace","loadScript","uri","contentType","indexOf","givenUri","this","Error","scriptEl","createElement","setAttribute","onerror","onreadystatechange","ev","event","type","readyState","error","aHead","getElementsByTagName","appendChild","_loadLater","namespace","ns","returnParentAndKey","levels","nsobj","parent","f","getModule","version","createModule","ver","deps","modFn","modAll","Array","call","arguments","moduleContent","_version","isInkModule","t","requireModules","cbFn","undefined","_moduleRenames","warn","Ink.UI.Aux_1","getModulesLoadOrder","getModuleScripts","mlo","unshift","map","m","getModuleURL","createExt","moduleName","dependencies","bind","fn","context","innerArgs","finalArgs","concat","bindMethod","object","methodName","bindEvent","id","getElementById","ss","rule","from","Dom","Selector","select","s","extendObj","destination","sources","len","property","Object","log","console","Ajax","url","options","init","globalOptions","parameters","requestHeaders","xMLHttpRequestWithCredentials","XMLHttpRequest","userOptions","asynchronous","method","timeout","delay","postBody","onComplete","onSuccess","onFailure","onException","onHeaders","onCreate","onInit","onTimeout","sanitizeJSON","evalJS","xhrProxy","cors","debug","useCredentials","signRequest","globalParameters","paramsObjToStr","safeCall","urlLocation","_locationFromURL","isHTTP","_locationIsHTTP","isCrossDomain","_locationIsCrossDomain","location","requestHasBody","search","transport","getTransport","request","createElementNS","href","protocol","match","widget","host","usingXDomainReq","XDomainRequest","ActiveXObject","e","setHeaders","headers","Accept","Accept-Language","navigator","language","X-Requested-With","X-Ink-Version","headerReqName","overrideMimeType","userAgent","Connection","headerName","setRequestHeader","optParams","p","a","params","toString","isNaN","encodeURIComponent","pop","setParams","getHeader","name","getResponseHeader","getAllHeaders","getAllResponseHeaders","getResponse","r","headerJSON","responseJSON","timeTaken","Date","startTime","requestedUrl","responseText","responseXML","status","statusText","abort","clearTimeout","delayTimeout","stoTimeout","ex","finish","runStateChange","rs","getTime","responseContent","response","curStatus","makeError","isSuccess","headerContentType","evalJSON","mimeType","xmlDoc","DOMParser","parseFromString","xml","destroy","listener","first","rethrow","exception","message","stacktrace","stack","value","nodeType","crossDomain","open","withCredentials","onload","send","code","isJSON","str","strJSON","sanitize","JSON","parse","eval","load","callback","ping","JsonP","failureObj","callbackParam","internalCallback","randVar","parseInt","Math","random","Net","_removeScriptTag","_addScriptTag","_addParamsToGet","hasQuestionMark","sep","pKey","pValue","parts","_getScriptContainer","headEls","scriptEls","rnd_seed","src","scriptCtn","_requestFailed","scriptUri","getAttribute","parentNode","removeChild","Browser","IE","GECKO","OPERA","SAFARI","KONQUEROR","CHROME","model","cssPrefix","domPrefix","detectBrowser","setDimensions","setReferrer","myWidth","myHeight","innerWidth","innerHeight","documentElement","clientWidth","clientHeight","body","windowWidth","windowHeight","referrer","escape","_sniffUserAgent","sAgent","toLowerCase","rVersion","re","RegExp","reVersion","alert","getCs","defaultView","getComputedStyle","Css","addRemoveClassName","elm","className","addRemState","addClassName","removeClassName","classList","add","hasClassName","remove","elmClassName","setClassName","all","has","contains","blinkClass","element","negate","Number","toggleClassName","forceAdd","toggle","setOpacity","val","style","opacity","filter","_camelCase","_","$1","toUpperCase","getStyle","currentStyle","charAt","css","parseFloat","setStyle","cssText","prop","styleFloat","cssFloat","show","forceDisplayProperty","display","hide","showHide","forceShow","_getRefTag","head","firstElementChild","child","firstChild","nextSibling","appendStyleTag","selector","force","styles","oldStyle","l","innerHTML","defStyle","refTag","styleStr","styleSheet","createTextNode","insertBefore","appendStylesheet","media","rel","_loadingCSSFiles","_loadedCSSFiles","appendStylesheetCb","cbs","linkEl","headEl","imgEl","_url","callbacks","decToHex","dec","normalizeTo2","rDec","gDec","g","bDec","b","rgb","hexToDec","hex","substr","getPropertyFromStylesheet","getRuleFromStylesheet","getPropertyFromStylesheet2","rules","getRulesFromStylesheet","x","sheet","ri","rf","styleSheets","si","sf","cssRules","selectorText","res","getPropertiesFromRule","props","steps","pre","pos","substring","borderTopLeftRadius","borderBottomRightRadius","borderTopRightRadius","borderBottomLeftRadius","changeFontSize","delta","op","minVal","maxVal","that","TypeError","el","els","fontSize","rect","elem","dimensions","getBoundingClientRect","top","offsetTop","offsetLeft","createContextualFragmentSupport","createRange","Range","createContextualFragment","deleteThisTbodyToken","browserCreatesTbodies","div","InkElement","isDOMElement","get","create","tag","properties","parEl","scrollTo","scrollIntoView","elmOffset","elmTop","elmLeft","offsetParent","y","offset","positionedOffset","valueTop","valueLeft","tagName","position","doc","ownerDocument","docElem","box","clientTop","clientLeft","scrollTop","pageYOffset","scrollLeft","pageXOffset","scroll","_getPropPx","cs","n","c","getPropertyValue","offset2","hasAttribute","attr","insertAfter","newElm","targetElm","insertTop","insertBottom","textContent","node","text","innerText","lastChild","childNodes","nodeValue","setTextContent","isLink","hasAttributeNS","isAncestorOf","ancestor","compareDocumentPosition","descendantOf","descendant","lastElementChild","previousSibling","nextElementSibling","sibling","previousElementSibling","elementWidth","offsetWidth","elementHeight","offsetHeight","elementLeft","elementTop","elementDimensions","outerDimensions","bbox","right","bottom","inViewport","opts","dims","partial","margin","viewportWidth","viewportHeight","isHidden","w","h","isVisible","clonePosition","cloneTo","cloneFrom","ellipsizeText","overflow","whiteSpace","textOverflow","findUpwardsHaving","boolTest","findUpwardsByClass","tst","cls","findUpwardsByTag","nodeName","findUpwardsById","findUpwardsBySelector","sel","matchesSelector","getChildrenText","removeIt","j","part","nodes","jLen","_trimString","String","data","trim","getSelectValues","selectEl","values","_normalizeData","d","data2","fillSelect","container","skipEmpty","defaultValue","containerEl","optionEl","fillRadios","insertAfterEl","splitEl","inputEl","checked","fillChecks","parentIndexOf","parentEl","childEl","idx","nextSiblings","elements","siblings","children","index","previousSiblings","childElementCount","_wrapElements","TABLE","html","TBODY","THEAD","TFOOT","TR","_getWrapper","wrapper","wrapFunc","tds","tbody","appendHTML","prependHTML","setHTML","wrap","target","nextNode","unwrap","wrapperSelector","replacement","replaceChild","removeTextNodeChildren","prevEl","toRemove","htmlToFragment","range","createDocumentFragment","selectNode","fragment","tempElement","current","InkDomSelector","dataset","attrs","attributes","curAttr","curAttrName","curAttrValue","total","moveCursorTo","setSelectionRange","createTextRange","collapse","moveEnd","moveStart","pageWidth","xScroll","scrollMaxX","scrollWidth","self","pageHeight","yScroll","scrollMaxY","scrollHeight","bean","definition","win","old","namespaceRegex","nameRegex","addEvent","removeEvent","W3C_MODEL","eventSupport","ONE","str2arr","isString","isFunction","standardNativeEvents","w3cNativeEvents","nativeEvents","hash","events","customEvents","isAncestor","check","related","relatedTarget","prefix","mouseenter","base","condition","mouseleave","mousewheel","Event","commonProps","mouseProps","mouseWheelProps","keyProps","textProps","touchProps","messageProps","stateProps","overOutRegex","typeFixers","reg","fix","newEvent","keyCode","which","rightClick","button","pageX","pageY","clientX","clientY","typeFixerMap","isNative","parentWindow","originalEvent","isBean","srcElement","fixer","preventDefault","returnValue","stopPropagation","cancelBubble","stop","stopped","stopImmediatePropagation","isImmediatePropagationStopped","clone","currentTarget","ne","targetElement","RegEntry","wrappedHandler","eargs","findTarget","eventElement","__beanDel","ft","handler","original","namespaces","customType","once","removeListener","eventType","inNamespaces","checkNamespaces","matches","checkElement","checkOriginal","checkHandler","registry","forAll","pfx","list","entries","entry","put","del","splice","removed","selectorEngine","setSelectorEngine","querySelectorAll","rootListener","propertyName","listeners","custom","attachEvent","detachEvent","rm","originalFn","orgType","handlers","delegate","array","fireListener","evt","createEvent","dispatchEvent","fireEvent","createEventObject","off","typeSpec","isTypeStr","on","types","delfn","one","fire","names","beanDel","noConflict","cleanup","CollectGarbage","InkEvent","KEY_BACKSPACE","KEY_TAB","KEY_RETURN","KEY_ESC","KEY_SPACE","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","KEY_DELETE","KEY_HOME","KEY_END","KEY_PAGEUP","KEY_PAGEDOWN","KEY_INSERT","throttle","func","wait","lastCall","throttled","now","timeDiff","delegationTarget","fromElement","toElement","findElement","elmTagName","observe","eventName","callBack","useCapture","addEventListener","observeOnce","onceBack","stopObserving","observeMulti","observeDelegated","cursor","Selector_1","removeEventListener","cancel","stopDefault","pointer","pointerX","pointerY","touches","isLeftClick","isRightClick","isMiddleClick","getCharFromKeyboardEvent","changeCasing","fromCharCode","shiftOn","shiftKey","InkArray","isArrayIsh","obj","isArray","toArray","FormSerialize","serialize","form","out","emptyArrayToken","pairs","asPairs","emptyArray","forEach","pair","_resultsInArray","emit","serializeEl","multiple","didEmit","thisOption","inputs","_isSerialized","fillIn","map2","_objToPairs","_fillInPairs","groupBy","reduce","_fillInOne","firstOne","firstNodeName","firstType","isSelectMulti","_fillInBoolean","min","checkAttr","input","isChecked","inArray","Loaded","_contexts","run","cbQueue","done","checkState","_checkState","poll","_poll","ael","rem","det","wet","csf","alreadyLoaded","frameElement","doScroll","where","_ready","rnative","createCache","cache","keys","Expr","cacheLength","shift","markFunction","expando","assert","Sizzle","results","seed","groups","nid","newContext","newSelector","preferredDoc","setDocument","documentIsHTML","rquickExpr","exec","support","getElementsByClassName","qsa","rbuggyQSA","tokenize","rescape","toSelector","rsibling","qsaError","removeAttribute","rtrim","siblingCheck","cur","diff","sourceIndex","MAX_NEGATIVE","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","parseOnly","matched","tokens","soFar","preFilters","cached","tokenCache","preFilter","rcomma","rcombinators","matchExpr","addCombinator","matcher","combinator","dir","checkNonElements","doneName","outerCache","dirkey","dirruns","cachedruns","elementMatcher","matchers","condense","unmatched","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","elems","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","matcherCachedRuns","bySet","byElement","superMatcher","expandContext","setMatched","matchedCount","outermost","contextBackup","find","dirrunsUnique","uniqueSort","contexts","token","runescape","funescape","compile","setFilters","getText","isXML","recompare","sortInput","rbuggyMatches","classCache","compilerCache","hasDuplicate","sortOrder","strundefined","arr","push_native","whitespace","characterEncoding","identifier","operators","pseudos","rpseudo","ridentifier","ID","CLASS","NAME","TAG","ATTR","PSEUDO","CHILD","needsContext","rinputs","rheader","rattributeQuotes","escaped","high","createComment","getByName","pass","getElementsByName","sortDetached","div1","attrHandle","attrId","getAttributeNode","tmp","mozMatchesSelector","webkitMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","adown","bup","compare","aup","ap","bp","expr","ret","specified","msg","duplicates","detectDuplicates","sortStable","sort","selectors","createPseudo",">"," ","+","~","excess","unquoted","pattern","operator","result","what","last","simple","forward","ofType","nodeIndex","start","useCache","pseudo","not","lang","elemLang","focus","activeElement","hasFocus","tabIndex","enabled","disabled","selected","selectedIndex","empty","header","eq","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","group","filters","Common","Animate","BaseUIComponent","animationPrefix","animationEndEventName","animation","oAnimation","msAnimation","webkitAnimation","_name","_optionDefinition","trigger","duration","removeClass","onEnd","_init","_options","animate","_element","_animationPrefix","animationSupported","onAnimationEnd","animationName","elOrSelector","createUIComponent","Pagination","limitRange","max","Carousel","setTransitionProperty","newTransition","transitionProperty","oTransitionProperty","msTransitionProperty","mozTransitionProperty","webkitTransitionProperty","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","autoAdvance","axis","initialPage","spaceAfterLastSlide","hideLast","center","keyboardSupport","pagination","onChange","swipe","_handlers","paginationChange","windowResize","_isY","ulEl","_ulEl","_currentPage","refit","_setUpPagination","_setUpAutoAdvance","_setUpHider","size","perpendicular","_liEls","numSlides","contRect","_ctnLength","_elLength","_slidesPerPage","floor","isFinite","numPages","ceil","numPagesChanged","_numPages","_deltaLength","_center","_updateHider","_IE7","_pagination","setSize","setPage","getPage","setCurrent","nextPage","hiderEl","_hiderEl","gap","pad","padding","slides","stl","_onTouchStart","_swipeData","ulRect","firstUlPos","inUlX","inUlY","_touchMoveIsFirstTouchMove","_onTouchMove","deltaY","abs","deltaX","_scrolling","_onAnimationFrame","pointerPos","swipeData","elRect","newPos","_onTouchEnd","snapToNext","relProgress","curPage","progressInPages","_onPaginationChange","pgn","_setPage","getCurrent","page","_lengthToGo","isLastPage","_itemsInLastPage","previousPage","getSlidesPerPage","getTotalPages","getStageElm","getSlidesList","getTotalSlides","Close","Url","warnStub","constructor","stub","_componentOptions","elementIsOptional","elsOrSelector","isValidInstance","_validateInstance","registerInstance","_stubInstance","nothing","es6WeakMapSupport","instances","WeakMap","domRegistry","__InkInstances","set","thing","Layouts","TINY","SMALL","MEDIUM","LARGE","XLARGE","isInteger","fieldName","required","fieldId","defaults","overrides","optionValue","lType","defaultVal","invalidThrow","_coerce_funcs","fromDataAttrs","dataAttrs","_coerce_from_string","_options_validate","invalid","quote","invalidStr","paramName","_options_validate_types","number","boolean","string","function","integer","round","stringify","childIndex","ajaxJSON","endpoint","currentLayout","v","detectorEl","hashSet","hashParams","getAnchorString","genQueryString","cleanChildren","storeIdAndClasses","fromEl","inObj","_id","classes","_classes","restoreIdAndClasses","toEl","_instanceId","_warnDoubleInstantiation","newInstance","getName","getInstance","nameWithoutVersion","inst","unregisterInstance","UIComponent","getInstanceFromSelector","getInstanceIds","getInstances","destroyComponent","instance","err","_validate","_validationError","getOption","setOption","getElement","theConstructor","assertProp","propType","propVal","_oldProto","hideF","InkDate","clamp","dateishFromYMDString","YMD","dateishFromYMD","year","month","day","_year","_month","_day","dateishFromDate","date","getFullYear","getMonth","getDate","DatePicker","autoOpen","cleanText","closeText","pickerField","containerElement","cssClass","dateRange","displayInSelect","dayField","monthField","yearField","format","nextLinkText","ofText","onFocus","onMonthSelected","onSetDate","onYearSelected","prevLinkText","showClean","showClose","shy","startDate","startWeekDay","validDayFn","validMonthFn","validYearFn","nextValidDateFn","prevValidDateFn","yearRange",1,2,3,4,5,6,7,8,9,10,11,12,"wDay","_dateParsers","_hoverPicker","_picker","_setMinMax","setDate","_lang","_render","_listenToContainerObjectEvents","_containerObject","_renderSuperTopBar","calendarTop","_monthDescContainer","_monthPrev","_monthNext","_monthContainer","_monthSelector","_renderMonthSelector","_yearSelector","_appendDatePickerToDom","_renderMonth","_monthChanger","_ofText","_yearChanger","inline","_addOpenCloseEvents","_addDateChangeHandlersToInputs","fields","_updateDate","_showDefaultView","_inline","_hide","opener","cannotBe","ulSelector","mon","_renderMonthButton","liMonth","data-cal-month","appendTarget","parentIsControl","_wrapper","_wrapperIsControl","_superTopBar","_onClick","_onRelativeChangerClick","_onAbsoluteChangerClick","_showMonthSelector","_showYearSelector","_clean","_updateDescription","changeYear","change_year_next","change_year_prev","changeMonth","change_month_next","change_month_prev","_updateCal","elemData","calDay","calMonth","calYear","_changeYear","blur","noLimits","_min","noMinLimit","_max","noMaxLimit","MAX_VALUE","dates","rDate","each","noLim","lim","_daysInMonth","valid","_dateCmp","_fitDateToRange","_isValidDate","_dateWithinRange","_dateAboveMax","_dateBelowMin","oth","_dateCmpUntil","depth","_getPrevMonth","_getNextMonth","dataParsed","_parseDate","_setDate","inc","_incrementViewingYear","firstYear","thisYear","yearUl","prevYearLi","_getYearButton","nextYearLi","_acceptableYear","li","data-cal-year","_addMonthClassNames","dateStr","yearRegExp","validOneOrTwo","_isDate","_acceptableDay","_acceptableDateComponent","_acceptableMonth","userCb","_callUserCallbackBool","_writeDateInFormat","dateString","auxDate","objClicked","dt","_updateMonth","_y","_m","exceptions","incValue","_tryLeap","_getPrevYear","_getNextYear","atomName","directionName","advancer","maxOrMin","boundary","leapUserCb","_callUserCallbackDate","_getNextDecade","decade","_getCurrentDecade","_getPrevDecade","_callUserCallbackBase","yyyy-mm-dd","yyyy/mm/dd","yy-mm-dd","yy/mm/dd","dd-mm-yyyy","dd/mm/yyyy","dd-mm-yy","dd/mm/yy","mm/dd/yyyy","mm-dd-yyyy","_getMonthCalendarHeader","_getDayButtons","_getFirstDayIndex","wDayFirst","getDay","daysInMonth","ul","firstDayIndex","_getDayButton","dayButton","_addMonthButtonClassNames","btn","toDisable","showMonth","isMonthRendered","between","Draggable","constraint","constraintElm","handle","revert","zIndex","fps","droppableProxy","mouseAnchor","dragClass","skipChildren","onStart","onDrag","elmStartPosition","active","dragged","prevCoords","placeholder","zindex","firstDrag","deltaMs","lastRunAt","_onStart","dragFacade","_onDragFacade","drag","_onDrag","end","_onEnd","selectStart","_getCoords","ps","_cloneStyle","dst","borderWidth","width","height","tgtEl","originalPosition","marginTop","marginBottom","marginLeft","marginRight","visibility","delta2","ad","applyDelta","dragHandlerName","proxy","fs","backgroundColor","firstEl","mouseCoords","mPosX","mPosY","newX","newY","draggableSize","constTop","constBottom","constLeft","constRight","Droppable","updateAll","mouseCoords2","action","pt","Element","elNotFound","Drawer","parentSelector","leftDrawer","leftTrigger","rightDrawer","rightTrigger","contentDrawer","closeOnContentClick","closeOnLinkClick","mode","sides","_contentDrawers","_leftDrawer","_leftTriggers","_rightDrawer","_rightTriggers","_triggers","_isOpen","_direction","click","afterTransition","_afterTransition","_delay","_addEvents","triggerClicked","side","close","direction","Toggle","Dropdown","hoverOpen","dismissOnInsideClick","dismissOnOutsideClick","dismissAfter","onInsideClick","onOutsideClick","onOpen","onDismiss","_toggle","closeOnInsideClick","closeOnClick","onChangeState","newState","_openOrDismiss","_onMouseOver","getState","_openTimeout","_dismissTimeout","_onMouseOut","_onInsideClick","_handlerCall","dismiss","_onOutsideClick","foundElem","needle","foundTarget","callHandler","doNotInformToggle","_doNotInformToggle","setState","hAddClassName","hRemoveClassName","_droppables","_draggables","cleanStyle","draggable","opt","hoverClass","hoverclass","accept","onHover","onDrop","onDropOut","namedEventHandlers","move","droppable","copy","cloneNode","_findDraggable","originalParent","elementData","_update","_findData","elms","update","coords","InkValidator","elementsWithSameName","FormValidator","_flagMap","ink-fv-required","ink-fv-email","ink-fv-url","ink-fv-number","ink-fv-phone_pt","ink-fv-phone_cv","ink-fv-phone_mz","ink-fv-phone_ao","ink-fv-date","ink-fv-confirm","ink-fv-custom","confirmElms","hasConfirm","_errorClassName","_errorValidationClassName","_errorTypeWarningClassName","_errorTypeErrorClassName","validate","_free","onError","customFlag","confirmGroup","fail","_validateElements","_showError","_clearError","_clearCache","_getElements","formElms","curElm","totalElm","flag","flag2","oGroups","_makeConfirmGroups","errors","customErrors","_isValid","_isCustomValid","_validateConfirmGroups","curGroup","totalG","curFlag","tCustom","fieldType","inputType","_trim","aFormRadios","totalRadio","mail","isPTPhone","isCVPhone","isAOPhone","isMZPhone","validFormat","validValues","isDate","formElm","aFail","tFail","_showAnErrorOnElement","controlGroupElm","controlElm","errorClasses","_errorTypeClassName","errorMsg","aErrorLabel","control","aErrorLabel2","I18n","FormElement","validationFunctions","min_length","minSize","max_length","maxSize","exact_length","exactSize","email","fullCheck","ip","ipType","isIP","phone","phoneType","countryCode","credit_card","cardType","isCreditCard","alpha","supportSpaces","ascii","singleLineWhitespace","punctuation","unicode","unicodePunctuation","latin","latin1","latin1Punctuation","alpha_numeric","numbers","alpha_dash","dash","underscore","digit","positive","negative","decimalPlaces","decimal","decimalSeparator","leftDigits","decimalSep","maxDigits","numeric","minValue","maxValue","multipleOf","color","isColor","fieldToCompare","getFormElements","getValue","validationMessages","en_US","formvalidator.required","formvalidator.min_length","formvalidator.max_length","formvalidator.exact_length","formvalidator.email","formvalidator.url","formvalidator.ip","formvalidator.phone","formvalidator.credit_card","formvalidator.date","formvalidator.alpha","formvalidator.text","formvalidator.latin","formvalidator.alpha_numeric","formvalidator.alpha_dash","formvalidator.digit","formvalidator.integer","formvalidator.decimal","formvalidator.numeric","formvalidator.range","formvalidator.color","formvalidator.matches","formvalidator.validation_function_not_found","pt_PT","label","_errors","_rules","_value","_getLabel","_parseRules","rulesLength","paramStartPos","_addError","paramObj","field","i18nKey","getErrors","_formElements","eventTrigger","neverSubmit","searchFor","beforeValidation","setRule","errorMessage","getKey","langObj","dictObj","append","getI18n","setI18n","i18n","appendI18n","setLanguage","getRules","_rootElement","_errorMessages","_markedErrorElements","getElements","formElements","errorElement","errorElements","counter","cancelEventOnSuccess","formElement","controlGroupElement","controlElement","paragraph","errorArr","ImageQuery","retina","queries","onLoad","lastIndexOf","_filename","sortMulti","reverse","_onLoad","_onResize","_findCurrentQuery","devicePixelRatio","query","LazyLoad","item","source","scrollElement","touchEvents","onInsideViewport","onAfterAttributeChange","autoInit","_rootElm","_aData","_hasEvents","_activate","_getData","_onScrollThrottled","aElms","_onScroll","_removeEvents","_elInViewport","_userCallback","reload","upName","dimension","firstCharacter","maxName","Modal","opacitySupported","openModals","shadeClass","modalClass","triggerEvent","autoDisplay","markup","onShow","closeOnEscape","responsive","_onShadeClick","keyDown","_onKeyDown","resize","_wasDismissed","_markupMode","_modalDiv","_modalDivStyle","_modalShadow","_modalShadowStyle","_contentContainer","setContentMarkup","triggerElements","_reposition","runNow","_timeoutResizeFunction","_resizeTimeout","isPercentage","currentViewport","originalStatus","_resizeContainer","_shadeElement","alertsInTheModal","alertsLength","containerHeight","_modalHeader","_modalFooter","compatMode","_contentElement","_waitForFade","keyValue","htmlEl","transitionEndEventNames","classicName","evName","fadeChecker","getContentElement","contentMarkup","tempHeader","tempFooter","toAdd","genAEl","inner","aEl","wrapText","spanEl","totalItemCount","itemsPerPage","sideButtons","firstLabel","lastLabel","previousLabel","nextLabel","previousPageLabel","nextPageLabel","hashParameter","parentTag","childTag","wrapperClass","paginationClass","activeClass","disabledClass","hideClass","previousClass","previousPageClass","nextClass","nextPageClass","numberFormatter","_size","_calculateSize","_current","_itemLiEls","_generateMarkup","_updateItems","_observe","count","liEls","isSimpleToggle","liEl","_nextEl","pi","pf","_pageStart","_pageEnd","_page","_prevPageEl","hasPreviousPage","_nextPageEl","hasNextPage","_firstEl","isFirst","_lastEl","isLast","_prevEl","hasPrevious","hasNext","hasUlAlready","isChevron","isDotted","createLiEl","isPrev","isNext","isPrevPage","isNextPage","firstClass","lastClass","aElem","nr","setOnChange","sz","setSizeInItems","totalItems","pageNumber","isRelative","getSize","ProgressBar","startValue","_elementBar","setValue","newValue","cancelAnimationFrame","SmoothScroller","speed","changeHash","endPos","interval","onDone","onClick","render","link","thisDocument","linkedDocument","activeLiSelector","activeLi","Events","SortableList","hasTouch","maxTouchPoints","msMaxTouchPoints","placeholderClass","draggedClass","draggingClass","dragSelector","dragObject","handleSelector","moveSelector","swap","cancelMouseOut","down","_onDown","_onMove","up","_onUp","_isMoving","_down","_move","_up","stopMoving","_placeholder","_movePlaceholder","_addMovingClasses","touch","elementFromPoint","validateMove","droppedElement","_removeMovingClasses","target_position","placeholder_position","from_top","from_left","targetIndex","spyTargets","addSpied","spied","observeOnScroll","observingOnScroll","onScroll","onScrollForTarget","activeEl","findActiveElement","toDeactivate","menuLinkSelector","toActivate","closest","Infinity","closestIndex","bBox","Spy","Stacker","column","customBreakPoints","largeMax","largeMin","mediumMax","mediumMin","smallMax","smallMin","largeCols","mediumCols","smallCols","isOrdered","onRunCallback","onResizeCallback","onAPIReloadCallback","_aList","_curLayout","_runFirstTime","_getPageItemsToList","_canApplyLayoutChange","_applyLayoutChange","addItem","reloadItems","_removeDomItems","_setCurLayout","customBreakpoints","_getColumnsToShow","cols","curLayout","_aColumn","totalCols","aItems","aNewList","ii","countCol","Sticky","offsetBottom","topElement","stickyClass","inlineDimensions","inlinePosition","bottomElement","activateInLayouts","_dims","scrollTarget","_isDisabledInLayout","_getDims","unstick","_unstick","bottomOfSticky","maxBottomOfSticky","_stickTo","_inlineDimensions","_getBottomOffset","bottomOfViewport","toBottomOfDocument","oldPosition","oldWidth","dimensionsInStatic","Swipe","onMove","minDist","maxDist","minDuration","maxDuration","storeGesture","stopEvents","_supported","db","_isOn","_isMeOrParent","_pushGesture","_gesture","_time","changedTouches","_target","_t0","_p0","t1","gesture","p1","dr","dist","sqrt","time","overallMovement","overallTime","InkUrl","InkString","Json","maybeTurnIntoNumber","rNumber","cmp","numberishEnabledCmp","aValue","bValue","Table","sameSame","pageSize","caretUpClass","caretDownClass","createEndpointUrl","getDataFromEndPoint","processJSONRows","processJSONRow","processJSONField","processJSONHeaders","processJSONTotalRows","totalRows","getSortKey","allowResetSorting","visibleFields","tdClassNames","paginationOptions","_thead","tHead","createTHead","_headers","thClick","_originalFields","_sortableFields","_originalData","_data","_totalRows","_resetSortOrder","_addHeadersClasses","_setPagination","headerLabel","classNames","_onThClick","paginated","sortable","_invertSortOrder","_setSortOrderOfColumn","_paginate","sortAndReverse","isAscending","_sort","caretHtml","order","firstIndex","lastIndex","_registerFieldNames","_fieldIsVisible","userKey","keyFunction","columnIndex","columnName","trA","trB","elementA","elementB","_createHeadersFromJson","tr","insertRow","th","_createSingleHeaderFromJson","_createRowsFromJSON","rows","row","trIndex","_createSingleRowFromJson","rowIndex","_createFieldFromJson","fieldData","processor","_elOrFieldData","processed","isNumber","setEndpoint","currentPage","paginationEl","pageNo","_getSortOrder","_getDataViaAjax","_getUrl","urlCreator","parseUrl","sortField","endpointUri","success","JSONData","_onAjaxSuccess","getDataFromEndpoint","jsonResponse","_rowLength","Tabs","preventUrlChange","onBeforeChange","menuSelector","contentSelector","tabSelector","triggerEventsOnLoad","_menu","_initializeDom","_setFirstActive","contentTabs","activeMenuLink","_findLinkByHref","_changeTab","runCallbacks","activeTabs","_activeMenuTab","_activeSection","_activeMenuLink","_onTabClickedGeneric","_onTabClicked","tabElm","_dehashify","changeTab","_lastLayout","smallLayout","_hashify","links","disable","enable","activeTab","activeMenuTab","activeSection","activeContentTab","TagField","enterKey","backspaceKey","isTruthy","tags","tagQuery","tagQueryAsync","allowRepeated","maxTags","outSeparator","separator","autoSplit","_readInput","_viewElm","_input","_tagsFromMarkup","_tags","_onKeyUp","_onBlur","_refocus","tagname","option","_tagsToMarkup","_addTag","_removeTag","spc","_onEnterKeyDown","_onBackspaceKeyDown","_removeConfirm","_unsetRemovingVisual","_setRemovingVisual","tagIndex","_removeRemovingVisualTimeout","isAccordion","initialState","classNameOn","classNameOff","_targets","_accordion","_firstTime","_bindEvents","state","_onTriggerEvent","isAncestorOfClickedElement","some","thisOne","_updateAccordion","accordionElement","shades","ancestorOfTargets","shadesLength","Tooltip","EachTooltip","transitionDurationName","transitionPropertyName","transitionTimingFunctionName","bodies","spacing","forever","template","templatefield","fade","tooltips","tooltip","_destroy","_oppositeDirections","_onMouseMove","_delayTimeout","_makeTooltip","mousePosition","_getOpt","_createTooltipElement","_removeTooltip","_fadeInTooltipElement","_placeTooltipElement","_onTooltipMouseOver","_getFloatOpt","outerHTML","_getIntOpt","fadeTime","mPos","_setPos","targetElementPos","tleft","ttop","centerh","centerv","tooltipDims","elementDims","maxX","maxY","_getWhereValueInsideViewport","arrow","tooltipLeft","tooltipTop","toBottom","toRight","toLeft","toTop","viewport","dataAttrVal","instanceOption","_getMousePosition","pageDims","_getPageXY","elmDims","scrollDim","_getScroll","cWidth","cHeight","dd","TreeView","parentClass","openNodeClass","openClass","closedClass","iconTag","isParent","isOpen","_getIcon","_setNodeOpen","_getChild","beOpen","icon","DirectoryReader","maxDepth","_read","_readDirectories","running","_readEntries","currentEntry","createReader","readEntries","isDirectory","clearArray","fullPath","_stopActivityTimeout","readError","activity","checkActivity","clearInterval","readComplete","setInterval","Queue","lists","items","getItems","parentId","purge","keepList","pid","priority","view","_searchByPid","UI","Upload","_fileButton","fileButton","_dropzone","dropzone","_setDropEvent","_setFileButton","dropzones","ondrop","_dropEventHandler","ondragleave","_onDragLeave","ondragend","_onDragEndEventHandler","ondragdrop","ondragenter","_onDragEnterHandler","ondragover","_onDragOverHandler","publish","btns","_fileChangeHandler","files","FormData","_addFilesToQueue","_events","fileFormName","maxFilesize","INVALID_FILE_NAME","extraData","useChunks","chunkSize","minSizeToUseChunks","endpointChunk","endpointChunkCommit","foldersEnabled","directoryMaxDepth","_queueId","_queueRunning","_folders","_supportChunks","Blob","dataTransfer","_files","webkitGetAsEntry","folders","_addFolderToQueue","invalidFolders","getFiles","isFile","convertToFile","hasParent","getSubDirs","created","fileID","directory","_processQueue","internalUpload","queueLen","canceled","_doRequest","_upload","xhr","forceAbort","showError","lengthComputable","loaded","lastModifiedDate","upload","onprogress","chunk_offset","chunk_upload_id","fd","blob","upload_path","parentID","rootPath","invalidOffset","upload_id","chunk_expires","expires","onabort","abortAll","abortOne","subscribe","arrayProto","testedObject","outKey","latestGroup","initial","aKeys","shuffle","tmp1","rnd","filtered","intersect","arr1","arr2","shared","J","convert","unique","newArr","step","insert","rLen","output","iLen","Packer","fit","blocks","block","findNode","splitNode","used","GrowingPacker","growNode","canGrowDown","canGrowRight","shouldGrowRight","shouldGrowDown","growRight","growDown","sorts","area","msort","maxside","criteria","BinPack","binPack","bl","packer","sorter","dims2","fitted","unfitted","filled","Cookie","cookie","_Cookie","aCookie","aItem","decodeURIComponent","domain","secure","sName","sExpires","sPath","sDomain","sSecure","oDate","sDate","valueOf","nDate","expiresString","toGMTString","portClean","cookieName","expiresDate","_months","_iMonth","janeiro","jan","fevereiro","fev","março","mar","abril","abr","maio","mai","junho","jun","julho","jul","agosto","ago","setembro","outubro","novembro","nov","dezembro","dez","_wDays","_d","_iWeek","week","segunda","seg","terça","ter","quarta","qua","quinta","qui","sexta","sex","sábado","sáb","domingo","dom","nDays","_date","iFormat","escapeChar","jsDate","jsFirstDay","jsThisDay","jsHour","jsDay","suffixes","suffix","UTC","jsYearStart","days","jsMonth","getYear","jsYear","getHours","jsMinute","getMinutes","jsSecond","getSeconds","getTimezoneOffset","jsMinZone","jsMinutes","jsDayName","jsMonthName","str_date","mList","objIndex","dayY","dayW","hour","hourD","sec","msec","ampm","diffM","diffH","pattr","_haveDatetime","_haveYear","_haveYDay","_haveDay","_haveMonth","_haveMonthDay","_haveOnlyDay","_haveWDay","_haveWeek","_haveWeekWDay","_haveOnlyWDay","_validDate","_noDate","_haveHour12","_haveHour24","_haveHour","_haveMin","_haveSec","_haveMSec","_haveMoreM","_haveMoreS","_haveDiffM","_haveDiffH","dList","gmt","aux","Dumper","_tab","_formatParam","param","formated","_outputFormat","_getTabs","numberOfTabs","tabs","_i","dim","_typeof","printDump","write","returnDump","alertDump","windowDump","dumperwindow","pattrText","funcOrVal","dict","testMode","_dicts","_dict","_testMode","_gLang","bool","gLang","langGlobal","_gDict","pars","isObj","$2","$3","ntext","strSin","strPlur","ordinal","num","lastDig","ordDict","byLastDigit","alias","_gDicts","appendGlobal","twoDigits","function_call","cx","dateToISOString","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","toFixed","InkJson","_nativeJSON","_convertToUnicode","_escape","theString","\b","\t","\n","\f","\r","\"","\\","charCodeAt","_toUnicode","unicodeString","inInt","theUnicode","_stringifyValue","toJSON","arrayString","objectString","convertToUnicode","reviver","walk","holder","SyntaxError","InkUtilString","_chars","_entities","_accentedChars","_accentedRemovedChars","_htmlUnsafeChars","<","&","'","ucFirst","firstWordOnly","replacer","stripTags","allowed","aAllowed","aNewAllowed","cleanedTag","strAllowed","reAllowed","aFoundTags","htmlEntitiesEncode","htmlEntitiesDecode","$0","utf8Encode","utfstring","shortString","words","resultstr","truncateString","utf8Decode","c2","c3","removeAccentedChars","newString","substrCount","haystack","htmlEscapeUnsafe","chars","normalizeWhitespace","toUnicode","unescape","es","hexNum","escapeText","txt","whiteList","txt2","C","escapedCharRegex","unescapeText","strcmp","str1","str2","packetize","maxLen","_keyStr","getUrl","getQueryString","aParams","queryStr","aQueryStr","pairVar","getAnchor","anchor","anchorStr","aAnchorStr","aURL","scheme","re1","re2","re3","regPort","tmpHost1","port","tmpHost2","tmpUserPass","user","urlObj","frag","hostname","currentScriptElement","aScripts","curScript","_debug","Validator","_countryCodes","_internacionalPT","_indicativosPT",21,22,231,232,233,234,235,236,238,239,241,242,243,244,245,249,251,252,253,254,255,256,258,259,261,262,263,265,266,268,269,271,272,273,274,275,276,277,278,279,281,282,283,284,285,286,289,291,292,295,296,91,93,96,92,707,760,800,808,30,"_internacionalCV","_indicativosCV",95,97,98,99,"_internacionalAO","_indicativosAO","_internacionalMZ","_indicativosMZ",82,84,"_internacionalTL","_indicativosTL","_characterGroups","asciiAlpha","latin1Alpha","unicodeAlpha","space","nicknamePunctuation","newline","asciiPunctuation","createRegExp","checkCharacterGroups","numb","inOptions","thousandSep","returnNumber","maxExcl","minExcl","_isLeapYear","parser","emailValido","full","reHTTP","reUrl","aInd","strInd","re351","reSpecialChars","reInt","reValid","isPortuguesePhone","re238","re244","re258","isTLPhone","re670","isPhone","codPostal","cp1","cp2","returnBothResults","cPostalSep","cPostal4","cPostal3","parserCPostal","cPostal","yearIndex","monthIndex","dayIndex","dateParser","keyword","hexa","rgba","hsl","hsla","_creditCardSpecs","default","luhn","american express","diners club","discover","jcb","maestro","mastercard","visa","_luhn","checksum","dbl","creditCardType","ccLength"],"mappings":"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","sourcesContent":["/**\n * Ink Core.\n * @module Ink_1\n * This module provides the necessary methods to create and load the modules using Ink.\n */\n\n;(function(window, document) {\n\n 'use strict';\n\n // skip redefinition of Ink core\n if ('Ink' in window) { return; }\n\n\n // internal data\n\n /*\n * NOTE:\n * invoke Ink.setPath('Ink', '/Ink/'); before requiring local modules\n */\n var paths = {};\n var modules = {};\n var modulesLoadOrder = [];\n var modulesRequested = {};\n var pendingRMs = [];\n var modulesWaitingForDeps = {};\n\n var apply = Function.prototype.apply;\n\n // auxiliary fns\n var isEmptyObject = function(o) {\n /*jshint unused:false */\n if (typeof o !== 'object') { return false; }\n for (var k in o) {\n if (o.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n };\n\n /**\n * @namespace Ink_1\n */\n\n window.Ink = {\n VERSION: '3.0.5',\n _checkPendingRequireModules: function() {\n var I, F, o, dep, mod, cb, pRMs = [];\n for (I = 0, F = pendingRMs.length; I < F; ++I) {\n o = pendingRMs[I];\n\n if (!o) { continue; }\n\n for (dep in o.left) {\n if (o.left.hasOwnProperty(dep)) {\n mod = modules[dep];\n if (mod) {\n o.args[o.left[dep] ] = mod;\n delete o.left[dep];\n --o.remaining;\n }\n }\n }\n\n if (o.remaining > 0) {\n pRMs.push(o);\n }\n else {\n cb = o.cb;\n if (!cb) { continue; }\n delete o.cb; // to make sure I won't call this more than once!\n cb.apply(false, o.args);\n }\n }\n\n pendingRMs = pRMs;\n\n if (pendingRMs.length > 0) {\n setTimeout( function() { Ink._checkPendingRequireModules(); }, 0 );\n }\n },\n\n /**\n * Get the full path of a module.\n * This method looks up the paths given in setPath (and ultimately the default Ink's path).\n *\n * @method getPath\n * @param {String} key Name of the module you want to get the path\n * @param {Boolean} [noLib] Flag to skip appending 'lib.js' to the returned path.\n */\n getPath: function(key, noLib) {\n var split = key.split(/[._]/g);\n var curKey;\n var i;\n var root;\n var path;\n\n // Look for Ink.Dom.Element.1, Ink.Dom.Element, Ink.Dom, Ink in this order.\n for (i = split.length; i >= 0; i -= 1) {\n curKey = split.slice(0, i + 1).join('.'); // See comment in setPath\n if (paths[curKey]) {\n root = curKey;\n break;\n }\n }\n\n if (root in paths) {\n path = paths[root];\n } else {\n return null;\n }\n\n if (!/\\/$/.test(path)) {\n path += '/';\n }\n if (i < split.length) {\n // Add the rest of the path. For example, if we found\n // paths['Ink.Dom'] to be 'http://example.com/Ink/Dom/',\n // we now add '/Element/' to get the full path.\n path += split.slice(i + 1).join('/') + '/';\n }\n if (!noLib) {\n path += 'lib.js';\n }\n return path;\n },\n \n /**\n * Sets the URL path for a namespace.\n * Use this to customize where requireModules and createModule will load dependencies from.\n * This can be useful to set your own CDN for dynamic module loading or simply to change your module folder structure\n * \n * @method setPath\n *\n * @param {String} key Module or namespace\n * @param {String} rootURI Base URL path and schema to be appended to the module or namespace\n *\n * @example\n * Ink.setPath('Ink', 'http://my-cdn/Ink/');\n * Ink.setPath('Lol', 'http://my-cdn/Lol/');\n *\n * // Loads from http://my-cdn/Ink/Dom/Whatever/lib.js\n * Ink.requireModules(['Ink.Dom.Whatever'], function () { ... });\n * // Loads from http://my-cdn/Lol/Whatever/lib.js\n * Ink.requireModules(['Lol.Whatever'], function () { ... });\n */\n setPath: function(key, rootURI) {\n // Replacing version separator with dot because the difference\n // between a submodule and a version doesn't matter here.\n // It would also overcomplicate the implementation of getPath\n paths[key.replace(/_/, '.')] = rootURI;\n },\n\n /**\n * Loads a script URL.\n * This creates a `script` tag in the `head` of the document.\n * Reports errors by listening to 'error' and 'readystatechange' events.\n *\n * @method loadScript\n * @param {String} uri Can be an external URL or a module name\n * @param {String} [contentType]='text/javascript' The `type` attribute of the new script tag.\n */\n loadScript: function(uri, contentType) {\n /*jshint evil:true */\n\n if (uri.indexOf('/') === -1) {\n var givenUri = uri; // For the error message\n uri = this.getPath(uri);\n if (uri === null) {\n throw new Error('Could not load script \"' + givenUri + '\". ' +\n 'Path not found in the registry. Did you misspell ' +\n 'the name, or forgot to call setPath()?');\n }\n }\n\n var scriptEl = document.createElement('script');\n scriptEl.setAttribute('type', contentType || 'text/javascript');\n scriptEl.setAttribute('src', uri);\n\n scriptEl.onerror = scriptEl.onreadystatechange = function (ev) {\n ev = ev || window.event;\n if (ev.type === 'readystatechange' && scriptEl.readyState !== 'loaded') {\n // if not readyState == 'loaded' it's not an error.\n return;\n }\n Ink.error(['Failed to load script from ', uri, '.'].join(''));\n };\n // CHECK ON ALL BROWSERS\n /*if (document.readyState !== 'complete' && !document.body) {\n document.write( scriptEl.outerHTML );\n }\n else {*/\n var aHead = document.getElementsByTagName('head');\n if(aHead.length > 0) {\n aHead[0].appendChild(scriptEl);\n }\n //}\n },\n\n _loadLater: function (dep) {\n setTimeout(function () {\n if (modules[dep] || modulesRequested[dep] ||\n modulesWaitingForDeps[dep]) {\n return;\n }\n modulesRequested[dep] = true;\n Ink.loadScript(dep);\n }, 0);\n },\n\n /**\n * Defines a module namespace.\n *\n * @method namespace\n * @param {String} ns Namespace to define.\n * @param {Boolean} [returnParentAndKey] Flag to change the return value to an array containing the namespace parent and the namespace key\n * @return {Object|Array} Returns the created namespace object\n */\n namespace: function(ns, returnParentAndKey) {\n if (!ns || !ns.length) { return null; }\n\n var levels = ns.split('.');\n var nsobj = window;\n var parent;\n\n for (var i = 0, f = levels.length; i < f; ++i) {\n nsobj[ levels[i] ] = nsobj[ levels[i] ] || {};\n parent = nsobj;\n nsobj = nsobj[ levels[i] ];\n }\n\n if (returnParentAndKey) {\n return [\n parent,\n levels[i-1]\n ];\n }\n\n return nsobj;\n },\n\n /**\n * Loads a module.\n * A synchronous method to get the module from the internal registry.\n * It assumes the module is defined and loaded already!\n *\n * @method getModule\n * @param {String} mod Module name\n * @param {Number} [version] Version number of the module\n * @return {Object|Function} Module object or function, depending how the module is defined\n */\n getModule: function(mod, version) {\n var key = version ? [mod, '_', version].join('') : mod;\n return modules[key];\n },\n\n /**\n * Creates a new module. \n * Use this to wrap your code and benefit from the module loading used throughout the Ink library\n *\n * @method createModule\n * @param {String} mod Module name, separated by dots. Like Ink.Dom.Selector, Ink.UI.Modal\n * @param {Number} version Version number\n * @param {Array} deps Array of module names which are dependencies of the module being created. The order in which they are passed here will define the order they will be passed to the callback function.\n * @param {Function} modFn The callback function to be executed when all the dependencies are resolved. The dependencies are passed as arguments, in the same order they were declared. The function itself should return the module.\n * @sample Ink_1_createModule.html \n *\n */\n createModule: function(mod, ver, deps, modFn) { // define\n if (typeof mod !== 'string') {\n throw new Error('module name must be a string!');\n }\n\n // validate version correctness\n if (!(typeof ver === 'number' || (typeof ver === 'string' && ver.length > 0))) {\n throw new Error('version number missing!');\n }\n\n var modAll = [mod, '_', ver].join('');\n\n modulesWaitingForDeps[modAll] = true;\n\n var cb = function() {\n //console.log(['createModule(', mod, ', ', ver, ', [', deps.join(', '), '], ', !!modFn, ')'].join(''));\n\n // make sure module in not loaded twice\n if (modules[modAll]) {\n //console.warn(['Ink.createModule ', modAll, ': module has been defined already.'].join(''));\n return;\n }\n\n\n // delete related pending tasks\n delete modulesRequested[modAll];\n delete modulesRequested[mod];\n\n\n // run module's supplied factory\n var args = Array.prototype.slice.call(arguments);\n var moduleContent = modFn.apply(window, args);\n modulesLoadOrder.push(modAll);\n // console.log('** loaded module ' + modAll + '**');\n\n\n // set version\n if (typeof moduleContent === 'object') { // Dom.Css Dom.Event\n moduleContent._version = ver;\n }\n else if (typeof moduleContent === 'function') {\n moduleContent.prototype._version = ver; // if constructor\n moduleContent._version = ver; // if regular function\n }\n\n\n // add to global namespace...\n var isInkModule = mod.indexOf('Ink.') === 0;\n var t;\n if (isInkModule) {\n t = Ink.namespace(mod, true); // for mod 'Ink.Dom.Css', t[0] gets 'Ink.Dom' object and t[1] 'Css'\n }\n\n\n // versioned\n modules[ modAll ] = moduleContent; // in modules\n delete modulesWaitingForDeps[ modAll ];\n\n if (isInkModule) {\n t[0][ t[1] + '_' + ver ] = moduleContent; // in namespace\n }\n\n\n // unversioned\n modules[ mod ] = moduleContent; // in modules\n\n if (isInkModule) {\n if (isEmptyObject( t[0][ t[1] ] )) {\n t[0][ t[1] ] = moduleContent; // in namespace\n }\n // else {\n // console.warn(['Ink.createModule ', modAll, ': module has been defined already with a different version!'].join(''));\n // }\n }\n\n\n if (this) { // there may be pending requires expecting this module, check...\n Ink._checkPendingRequireModules();\n }\n };\n\n this.requireModules(deps, cb);\n },\n\n /**\n * Requires modules asynchronously \n * Use this to get modules, even if they're not loaded yet\n *\n * @method requireModules\n * @param {Array} deps Array of module names. The order in which they are passed here will define the order they will be passed to the callback function. \n * @param {Function} cbFn The callback function to be executed when all the dependencies are resolved. The dependencies are passed as arguments, in the same order they were declared.\n * @sample Ink_1_requireModules.html \n */\n requireModules: function(deps, cbFn) { // require\n //console.log(['requireModules([', deps.join(', '), '], ', !!cbFn, ')'].join(''));\n var i, f, o, dep, mod;\n f = deps && deps.length;\n o = {\n args: new Array(f),\n left: {},\n remaining: f,\n cb: cbFn\n };\n\n if (!(typeof deps === 'object' && deps.length !== undefined)) {\n throw new Error('Dependency list should be an array!');\n }\n if (typeof cbFn !== 'function') {\n throw new Error('Callback should be a function!');\n }\n\n for (i = 0; i < f; ++i) {\n if (Ink._moduleRenames[deps[i]]) {\n Ink.warn(deps[i] + ' was renamed to ' + Ink._moduleRenames[deps[i]]);\n dep = Ink._moduleRenames[deps[i]];\n } else {\n dep = deps[i];\n }\n\n // Because trailing commas in oldIE bring us undefined values here\n if (!dep) {\n --o.remaining;\n continue;\n }\n\n mod = modules[dep];\n if (mod) {\n o.args[i] = mod;\n --o.remaining;\n continue;\n }\n else if (!modulesRequested[dep]) {\n Ink._loadLater(dep);\n }\n o.left[dep] = i;\n }\n\n if (o.remaining > 0) {\n pendingRMs.push(o);\n }\n else {\n cbFn.apply(true, o.args);\n }\n },\n\n _moduleRenames: {\n 'Ink.UI.Aux_1': 'Ink.UI.Common_1'\n },\n\n /**\n * Lists loaded module names.\n * The list is ordered by loaded time (oldest module comes first)\n *\n * @method getModulesLoadOrder\n * @return {Array} returns the order in which modules were resolved and correctly loaded\n */\n getModulesLoadOrder: function() {\n return modulesLoadOrder.slice();\n },\n\n /**\n * Builds the markup needed to load the modules.\n * This method builds the script tags needed to load the currently used modules\n * \n * @method getModuleScripts\n * @uses getModulesLoadOrder\n * @return {String} The script markup\n */\n getModuleScripts: function() {\n var mlo = this.getModulesLoadOrder();\n mlo.unshift('Ink_1');\n mlo = mlo.map(function(m) {\n return [''].join('');\n });\n\n return mlo.join('\\n');\n },\n \n /**\n * Creates an Ink.Ext module\n *\n * Does exactly the same as createModule but creates the module in the Ink.Ext namespace\n *\n * @method createExt\n * @uses createModule\n * @param {String} moduleName Extension name\n * @param {String} version Extension version\n * @param {Array} dependencies Extension dependencies\n * @param {Function} modFn Function returning the extension\n * @sample Ink_1_createExt.html \n */\n createExt: function (moduleName, version, dependencies, modFn) {\n return Ink.createModule('Ink.Ext.' + moduleName, version, dependencies, modFn);\n },\n\n /**\n * Function.prototype.bind alternative.\n * Creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function is called.\n *\n * @method bind\n * @param {Function} fn The function \n * @param {Object} context The value to be passed as the this parameter to the target function when the bound function is called. If used as false, it preserves the original context and just binds the arguments.\n * @param {Any} [args*] Additional arguments will be sent to the original function as prefix arguments.\n * @return {Function}\n * @sample Ink_1_bind.html \n */\n bind: function(fn, context) {\n var args = Array.prototype.slice.call(arguments, 2);\n return function() {\n var innerArgs = Array.prototype.slice.call(arguments);\n var finalArgs = args.concat(innerArgs);\n return fn.apply(context === false ? this : context, finalArgs);\n };\n },\n\n /**\n * Function.prototype.bind alternative for class methods\n * Creates a new function that, when called, has this k\n * @method bindMethod\n * @uses bind\n * @param {Object} object The object that contains the method to bind\n * @param {String} methodName The name of the method that will be bound\n * @param {Any} [args*] Additional arguments will be sent to the new method as prefix arguments.\n * @return {Function}\n * @sample Ink_1_bindMethod.html \n */\n bindMethod: function (object, methodName) {\n return Ink.bind.apply(Ink,\n [object[methodName], object].concat([].slice.call(arguments, 2)));\n },\n\n /**\n * Function.prototype.bind alternative for event handlers.\n * Same as bind but keeps first argument of the call the original event.\n * Set \"context\" to `false` to preserve the original context of the function and just bind the arguments.\n *\n * @method bindEvent\n * @param {Function} fn The function \n * @param {Object} context The value to be passed as the this parameter to the target \n * @param {Any} [args*] Additional arguments will be sent to the original function as prefix arguments\n * @return {Function}\n * @sample Ink_1_bindEvent.html \n */\n bindEvent: function(fn, context) {\n var args = Array.prototype.slice.call(arguments, 2);\n return function(event) {\n var finalArgs = args.slice();\n finalArgs.unshift(event || window.event);\n return fn.apply(context === false ? this : context, finalArgs);\n };\n },\n\n /**\n * Alias to document.getElementById\n *\n * @method i\n * @param {String} id Element ID\n * @return {DOMElement}\n * @sample Ink_1_i.html \n */\n i: function(id) {\n if(!id) {\n throw new Error('Ink.i => id or element must be passed');\n }\n if(typeof(id) === 'string') {\n return document.getElementById(id);\n }\n return id;\n },\n\n /**\n * Alias for Ink.Dom.Selector\n *\n * @method ss\n * @uses Ink.Dom.Selector.select\n * @param {String} rule\n * @param {DOMElement} [from]\n * @return {Array} array of DOMElements\n * @sample Ink_1_ss.html \n */\n ss: function(rule, from)\n {\n if(typeof(Ink.Dom) === 'undefined' || typeof(Ink.Dom.Selector) === 'undefined') {\n throw new Error('This method requires Ink.Dom.Selector');\n }\n return Ink.Dom.Selector.select(rule, (from || document));\n },\n\n /**\n * Alias for Ink.Dom.Selector first result\n *\n * @method s\n * @uses Ink.Dom.Selector.select\n * @param {String} rule Selector string\n * @param {DOMElement} [from] Context element. If set to a DOM element, the rule will only look for descendants of this DOM Element.\n * @return {DOMElement}\n * @sample Ink_1_s.html \n */\n s: function(rule, from)\n {\n if(typeof(Ink.Dom) === 'undefined' || typeof(Ink.Dom.Selector) === 'undefined') {\n throw new Error('This method requires Ink.Dom.Selector');\n }\n return Ink.Dom.Selector.select(rule, (from || document))[0] || null;\n },\n\n /**\n * Extends an object with another\n * Copy all of the properties in one or more source objects over to the destination object, and return the destination object. It's in-order, so the last source will override properties of the same name in previous arguments.\n *\n * @method extendObj\n * @param {Object} destination The object that will receive the new/updated properties\n * @param {Object} source The object whose properties will be copied over to the destination object\n * @param {Object} [args*] Additional source objects. The last source will override properties of the same name in the previous defined sources\n * @return destination object, enriched with defaults from the sources\n * @sample Ink_1_extendObj.html \n */\n extendObj: function(destination/*, source... */) {\n var sources = [].slice.call(arguments, 1);\n\n for (var i = 0, len = sources.length; i < len; i++) {\n if (!sources[i]) { continue; }\n for (var property in sources[i]) {\n if(Object.prototype.hasOwnProperty.call(sources[i], property)) {\n destination[property] = sources[i][property];\n }\n }\n }\n\n return destination;\n },\n\n /**\n * Calls native console.log if available.\n *\n * @method log\n * @param {Any} [args*] Arguments to be evaluated\n * @sample Ink_1_log.html \n **/\n log: function () {\n // IE does not have console.log.apply in IE10 emulated mode\n var console = window.console;\n if (console && console.log) {\n apply.call(console.log, console, arguments);\n }\n },\n\n /**\n * Calls native console.warn if available.\n *\n * @method warn\n * @param {Any} [args*] Arguments to be evaluated\n * @sample Ink_1_warn.html \n **/\n warn: function () {\n // IE does not have console.log.apply in IE10 emulated mode\n var console = window.console;\n if (console && console.warn) {\n apply.call(console.warn, console, arguments);\n }\n },\n\n /**\n * Calls native console.error if available.\n *\n * @method error\n * @param {Any} [args*] Arguments to be evaluated\n * @sample Ink_1_error.html \n **/\n error: function () {\n // IE does not have console.log.apply in IE10 emulated mode\n var console = window.console;\n if (console && console.error) {\n apply.call(console.error, console, arguments);\n }\n }\n };\n\n\n // TODO for debug - to detect pending stuff\n /*\n var failCount = {}; // fail count per module name\n var maxFails = 3; // times\n var checkDelta = 0.5; //seconds\n\n var tmpTmr = setInterval(function() {\n var mk = Object.keys(modulesRequested);\n var l = mk.length;\n\n if (l > 0) {\n // console.log('** waiting for modules: ' + mk.join(', ') + ' **');\n\n for (var i = 0, f = mk.length, k, v; i < f; ++i) {\n k = mk[i];\n v = failCount[k];\n failCount[k] = (v === undefined) ? 1 : ++v;\n\n if (v >= maxFails) {\n console.error('** Loading of module ' + k + ' failed! **');\n delete modulesRequested[k];\n }\n }\n }\n else {\n // console.log('** Module loads complete. **');\n clearInterval(tmpTmr);\n }\n }, checkDelta*1000);\n */\n}(window, document));\n","/**\n * Cross Browser Ajax requests\n * @module Ink.Net.Ajax_1\n * @version 1\n */\n\nInk.createModule('Ink.Net.Ajax', '1', [], function() {\n\n 'use strict';\n\n /**\n * Creates a new XMLHttpRequest object\n *\n * @class Ink.Net.Ajax\n * @constructor\n *\n * @param {String} url Request URL\n * @param {Object} options Request options\n * @param {Boolean} [options.asynchronous]=true If false, the request synchronous.\n * @param {Boolean} [options.cors] Flag to activate CORS. Set this to true if you're doing a cross-origin request\n * @param {String} [options.method]='POST' HTTP request method. POST by default.\n * @param {Object|String} [options.parameters] Request parameters to be sent with the request\n * @param {Number} [options.timeout] Request timeout in seconds\n * @param {Number} [options.delay] Artificial delay. If the request is completed faster than this delay, wait the remaining time before executing the callbacks\n * @param {String} [options.postBody] POST request body. If not specified, it's filled with the contents from parameters\n * @param {String} [options.contentType] Content-type header to be sent. Defaults to 'application/x-www-form-urlencoded'\n * @param {Object} [options.requestHeaders] Key-value pairs for additional request headers\n * @param {Function} [options.onComplete] Callback executed after the request is completed, regardless of what happened during the request.\n * @param {Function} [options.onSuccess] Callback executed if the request is successful (requests with 2xx status codes)\n * @param {Function} [options.onFailure] Callback executed if the request fails (requests with status codes different from 2xx)\n * @param {Function} [options.onException] Callback executed if an exception occurs. Receives the exception as a parameter.\n * @param {Function} [options.onCreate] Callback executed after object initialization but before the request is made\n * @param {Function} [options.onInit] Callback executed before any initialization\n * @param {Function} [options.onTimeout] Callback executed if the request times out\n * @param {Boolean|String} [options.evalJS]=true If the request Content-type header is application/json, evaluates the response and populates responseJSON. Use 'force' if you want to force the response evaluation, no matter what Content-type it's using.\n * @param {Boolean} [options.sanitizeJSON] Flag to sanitize the content of responseText before evaluation\n * @param {String} [options.xhrProxy] URI for proxy service hosted on the same server as the web app, that can fetch documents from other domains. The service must pipe all input and output untouched (some input sanitization is allowed, like clearing cookies). e.g., requesting http://example.org/doc can become /proxy/http%3A%2F%2Fexample.org%2Fdoc The proxy service will be used for cross-domain requests, if set, else a network error is returned as exception.\n *\n * @sample Ink_Net_Ajax_1.html \n */\n var Ajax = function(url, options){\n\n // start of AjaxMock patch - uncomment to enable it\n /*var AM = SAPO.Communication.AjaxMock;\n if (AM && !options.inMock) {\n if (AM.autoRecordThisUrl && AM.autoRecordThisUrl(url)) {\n return new AM.Record(url, options);\n }\n if (AM.mockThisUrl && AM.mockThisUrl(url)) {\n return new AM.Play(url, options, true);\n }\n }*/\n // end of AjaxMock patch\n\n this.init(url, options);\n };\n\n /**\n * Options for all requests. These can then be overriden for individual ones.\n */\n Ajax.globalOptions = {\n parameters: {},\n requestHeaders: {}\n };\n\n\n // IE10 does not need XDomainRequest\n var xMLHttpRequestWithCredentials = 'XMLHttpRequest' in window && 'withCredentials' in (new XMLHttpRequest());\n\n\n\n Ajax.prototype = {\n\n init: function(url, userOptions) {\n if (!url) {\n throw new Error(\"WRONG_ARGUMENTS_ERR\");\n }\n var options = Ink.extendObj({\n asynchronous: true,\n method: 'POST',\n parameters: null,\n timeout: 0,\n delay: 0,\n postBody: '',\n contentType: 'application/x-www-form-urlencoded',\n requestHeaders: null,\n onComplete: null,\n onSuccess: null,\n onFailure: null,\n onException: null,\n onHeaders: null,\n onCreate: null,\n onInit: null,\n onTimeout: null,\n sanitizeJSON: false,\n evalJS: true,\n xhrProxy: '',\n cors: false,\n debug: false,\n useCredentials: false,\n signRequest: false\n }, Ajax.globalOptions);\n\n if (userOptions && typeof userOptions === 'object') {\n options = Ink.extendObj(options, userOptions);\n\n\n if (typeof userOptions.parameters === 'object') {\n options.parameters = Ink.extendObj(Ink.extendObj({}, Ajax.globalOptions.parameters), userOptions.parameters);\n } else if (userOptions.parameters !== null) {\n var globalParameters = this.paramsObjToStr(Ajax.globalOptions.parameters);\n if (globalParameters) {\n options.parameters = userOptions.parameters + '&' + globalParameters;\n }\n }\n\n options.requestHeaders = Ink.extendObj({}, Ajax.globalOptions.requestHeaders);\n options.requestHeaders = Ink.extendObj(options.requestHeaders, userOptions.requestHeaders);\n }\n\n this.options = options;\n\n this.safeCall('onInit');\n\n this.url = url;\n\n var urlLocation = this._locationFromURL(url);\n this.isHTTP = this._locationIsHTTP(urlLocation);\n this.isCrossDomain = this._locationIsCrossDomain(urlLocation, location);\n\n this.requestHasBody = options.method.search(/^get|head$/i) < 0;\n\n if(this.options.cors) {\n this.isCrossDomain = false;\n }\n\n this.transport = this.getTransport();\n\n this.request();\n },\n\n /**\n * Returns a location object from an URL\n *\n * @method _locationFromUrl\n * @param url\n * @private\n **/\n _locationFromURL: function (url) {\n var urlLocation = document.createElementNS ?\n document.createElementNS('http://www.w3.org/1999/xhtml', 'a') :\n document.createElement('a');\n urlLocation.href = url;\n return urlLocation;\n },\n\n /**\n * Checks whether a location is HTTP or HTTPS\n *\n * @method locationIsHttp\n * @param urlLocation\n * @private\n */\n _locationIsHTTP: function (urlLocation) {\n return urlLocation.protocol.match(/^https?:/i) ? true : false;\n },\n\n /**\n * Checks whether a location is cross-domain from another\n *\n * @method _locationIsCrossDomain\n * @param urlLocation {Location}\n * @param otherLocation {Location}\n */\n _locationIsCrossDomain: function (urlLocation, location) {\n location = location || window.location;\n if (!Ajax.prototype._locationIsHTTP(urlLocation) || location.protocol === 'widget:' || typeof window.widget === 'object') {\n return false;\n } else {\n return location.protocol !== urlLocation.protocol ||\n location.host.split(':')[0] !== urlLocation.host.split(':')[0];\n }\n },\n\n /**\n * Creates the appropriate XMLHttpRequest object\n *\n * @method getTransport\n * @return {Object} XMLHttpRequest object\n */\n getTransport: function()\n {\n /*global XDomainRequest:false, ActiveXObject:false */\n if (!xMLHttpRequestWithCredentials && this.options.cors && 'XDomainRequest' in window) {\n this.usingXDomainReq = true;\n return new XDomainRequest();\n }\n else if (typeof XMLHttpRequest !== 'undefined') {\n return new XMLHttpRequest();\n }\n else if (typeof ActiveXObject !== 'undefined') {\n try {\n return new ActiveXObject('Msxml2.XMLHTTP');\n } catch (e) {\n return new ActiveXObject('Microsoft.XMLHTTP');\n }\n } else {\n return null;\n }\n },\n\n /**\n * Set the necessary headers for an ajax request\n *\n * @method setHeaders\n * @param {String} url The url for the request\n */\n setHeaders: function()\n {\n if (this.transport) {\n try {\n var headers = {\n \"Accept\": \"text/javascript,text/xml,application/xml,application/xhtml+xml,text/html,application/json;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1\",\n \"Accept-Language\": navigator.language,\n \"X-Requested-With\": \"XMLHttpRequest\",\n \"X-Ink-Version\": \"2\"\n };\n if (this.options.cors) {\n if (!this.options.signRequest) {\n delete headers['X-Requested-With'];\n }\n delete headers['X-Ink-Version'];\n }\n\n if (this.options.requestHeaders && typeof this.options.requestHeaders === 'object') {\n for(var headerReqName in this.options.requestHeaders) {\n if (this.options.requestHeaders.hasOwnProperty(headerReqName)) {\n headers[headerReqName] = this.options.requestHeaders[headerReqName];\n }\n }\n }\n\n if (this.transport.overrideMimeType && (navigator.userAgent.match(/Gecko\\/(\\d{4})/) || [0,2005])[1] < 2005) {\n headers.Connection = 'close';\n }\n\n for (var headerName in headers) {\n if(headers.hasOwnProperty(headerName)) {\n this.transport.setRequestHeader(headerName, headers[headerName]);\n }\n }\n } catch(e) {}\n }\n },\n\n /**\n * Converts an object with parameters to a querystring\n *\n * @method paramsObjToStr\n * @param {Object|String} optParams parameters object\n * @return {String} querystring\n */\n paramsObjToStr: function(optParams) {\n var k, m, p, a, params = [];\n if (typeof optParams === 'object') {\n for (p in optParams){\n if (optParams.hasOwnProperty(p)) {\n a = optParams[p];\n if (Object.prototype.toString.call(a) === '[object Array]' && !isNaN(a.length)) {\n for (k = 0, m = a.length; k < m; k++) {\n params = params.concat([\n encodeURIComponent(p), '[]', '=',\n encodeURIComponent(a[k]), '&'\n ]);\n }\n }\n else {\n params = params.concat([\n encodeURIComponent(p), '=',\n encodeURIComponent(a), '&'\n ]);\n }\n }\n }\n if (params.length > 0) {\n params.pop();\n }\n }\n else\n {\n return optParams;\n }\n return params.join('');\n },\n\n /**\n * Set the url parameters for a GET request\n *\n * @method setParams\n */\n setParams: function()\n {\n var params = null, optParams = this.options.parameters;\n\n if(typeof optParams === \"object\"){\n params = this.paramsObjToStr(optParams);\n } else {\n params = '' + optParams;\n }\n\n if(params){\n if(this.url.indexOf('?') > -1) {\n this.url = this.url.split('#')[0] + '&' + params;\n } else {\n this.url = this.url.split('#')[0] + '?' + params;\n }\n }\n },\n\n /**\n * Gets an HTTP header from the response\n *\n * @method getHeader\n * @param {String} name Header name\n * @return {String} header Content\n */\n getHeader: function(name)\n {\n if (this.usingXDomainReq && name === 'Content-Type') {\n return this.transport.contentType;\n }\n try{\n return this.transport.getResponseHeader(name);\n } catch(e) {\n return null;\n }\n },\n\n /**\n * Gets all the HTTP headers from the response\n *\n * @method getAllHeaders\n * @return {String} The headers, each separated by a newline\n */\n getAllHeaders: function()\n {\n try {\n return this.transport.getAllResponseHeaders();\n } catch(e) {\n return null;\n }\n },\n\n /**\n * Sets the response object\n *\n * @method getResponse\n * @return {Object} the response object\n */\n getResponse: function(){\n // setup our own stuff\n var t = this.transport,\n r = {\n headerJSON: null,\n responseJSON: null,\n getHeader: this.getHeader,\n getAllHeaders: this.getAllHeaders,\n request: this,\n transport: t,\n timeTaken: new Date() - this.startTime,\n requestedUrl: this.url\n };\n\n // setup things expected from the native object\n r.readyState = t.readyState;\n try { r.responseText = t.responseText; } catch(e) {}\n try { r.responseXML = t.responseXML; } catch(e) {}\n try { r.status = t.status; } catch(e) { r.status = 0; }\n try { r.statusText = t.statusText; } catch(e) { r.statusText = ''; }\n\n return r;\n },\n\n /**\n * Aborts the request if still running. No callbacks are called\n *\n * @method abort\n */\n abort: function(){\n if (this.transport) {\n clearTimeout(this.delayTimeout);\n clearTimeout(this.stoTimeout);\n try { this.transport.abort(); } catch(ex) {}\n this.finish();\n }\n },\n\n /**\n * Executes the state changing phase of an ajax request\n *\n * @method runStateChange\n */\n runStateChange: function()\n {\n var rs = this.transport.readyState;\n if (rs === 3) {\n if (this.isHTTP) {\n this.safeCall('onHeaders');\n }\n } else if (rs === 4 || this.usingXDomainReq) {\n\n if (this.options.asynchronous && this.options.delay && (this.startTime + this.options.delay > new Date().getTime())) {\n this.delayTimeout = setTimeout(Ink.bind(this.runStateChange, this), this.options.delay + this.startTime - new Date().getTime());\n return;\n }\n\n var responseJSON,\n responseContent = this.transport.responseText,\n response = this.getResponse(),\n curStatus = this.transport.status;\n\n if (this.isHTTP && !this.options.asynchronous) {\n this.safeCall('onHeaders');\n }\n\n clearTimeout(this.stoTimeout);\n\n if (curStatus === 0) {\n // Status 0 indicates network error for http requests.\n // For http less requests, 0 is always returned.\n if (this.isHTTP) {\n this.safeCall('onException', this.makeError(18, 'NETWORK_ERR'));\n } else {\n curStatus = responseContent ? 200 : 404;\n }\n }\n else if (curStatus === 304) {\n curStatus = 200;\n }\n var isSuccess = this.usingXDomainReq || 200 <= curStatus && curStatus < 300;\n\n var headerContentType = this.getHeader('Content-Type') || '';\n if (this.options.evalJS &&\n (headerContentType.indexOf(\"application/json\") >= 0 || this.options.evalJS === 'force')){\n try {\n responseJSON = this.evalJSON(responseContent, this.sanitizeJSON);\n if(responseJSON){\n responseContent = response.responseJSON = responseJSON;\n }\n } catch(e){\n if (isSuccess) {\n // If the request failed, then this is perhaps an error page\n // so don't notify error.\n this.safeCall('onException', e);\n }\n }\n }\n\n if (this.usingXDomainReq && headerContentType.indexOf('xml') !== -1 && 'DOMParser' in window) {\n // http://msdn.microsoft.com/en-us/library/ie/ff975278(v=vs.85).aspx\n var mimeType;\n switch (headerContentType) {\n case 'application/xml':\n case 'application/xhtml+xml':\n case 'image/svg+xml':\n mimeType = headerContentType;\n break;\n default:\n mimeType = 'text/xml';\n }\n var xmlDoc = (new DOMParser()).parseFromString( this.transport.responseText, mimeType);\n this.transport.responseXML = xmlDoc;\n response.responseXML = xmlDoc;\n }\n\n if (this.transport.responseXML !== null && response.responseJSON === null && this.transport.responseXML.xml !== \"\"){\n responseContent = this.transport.responseXML;\n }\n\n if (curStatus || this.usingXDomainReq) {\n if (isSuccess) {\n this.safeCall('onSuccess', response, responseContent);\n } else {\n this.safeCall('onFailure', response, responseContent);\n }\n this.safeCall('on'+curStatus, response, responseContent);\n }\n this.finish(response, responseContent);\n }\n },\n\n /**\n * Last step after XHR is complete. Call onComplete and cleanup object\n *\n * @method finish\n * @param {Any} response\n * @param {Any} responseContent\n */\n finish: function(response, responseContent){\n if (response) {\n this.safeCall('onComplete', response, responseContent);\n }\n clearTimeout(this.stoTimeout);\n\n if (this.transport) {\n // IE6 sometimes barfs on this one\n try{ this.transport.onreadystatechange = null; } catch(e){}\n\n if (typeof this.transport.destroy === 'function') {\n // Stuff for Samsung.\n this.transport.destroy();\n }\n\n // Let XHR be collected.\n this.transport = null;\n }\n },\n\n /**\n * Safely calls a callback function.\n * Verifies that the callback is well defined and traps errors\n *\n * @method safeCall\n * @param {Function} listener\n */\n safeCall: function(listener, first/*, second*/) {\n function rethrow(exception){\n setTimeout(function() {\n // Rethrow exception so it'll land in\n // the error console, firebug, whatever.\n if (exception.message) {\n exception.message += '\\n'+(exception.stacktrace || exception.stack || '');\n }\n throw exception;\n }, 1);\n }\n if (typeof this.options[listener] === 'function') {\n //SAPO.safeCall(this, this.options[listener], first, second);\n //return object[listener].apply(object, [].slice.call(arguments, 2));\n try {\n this.options[listener].apply(this, [].slice.call(arguments, 1));\n } catch(ex) {\n rethrow(ex);\n }\n } else if (first && window.Error && (first instanceof Error)) {\n rethrow(first);\n }\n },\n\n /**\n * Sets a new request header for the next http request\n *\n * @method setRequestHeader\n * @param {String} name\n * @param {String} value\n */\n setRequestHeader: function(name, value){\n if (!this.options.requestHeaders) {\n this.options.requestHeaders = {};\n }\n this.options.requestHeaders[name] = value;\n },\n\n /**\n * Executes the request\n *\n * @method request\n */\n request: function()\n {\n if(this.transport) {\n var params = null;\n if(this.requestHasBody) {\n if(this.options.postBody !== null && this.options.postBody !== '') {\n params = this.options.postBody;\n this.setParams();\n } else if (this.options.parameters !== null && this.options.parameters !== ''){\n params = this.options.parameters;\n }\n\n if (typeof params === \"object\" && !params.nodeType) {\n params = this.paramsObjToStr(params);\n } else if (typeof params !== \"object\" && params !== null){\n params = '' + params;\n }\n\n if(this.options.contentType) {\n this.setRequestHeader('Content-Type', this.options.contentType);\n }\n } else {\n this.setParams();\n }\n\n var url = this.url;\n var method = this.options.method;\n var crossDomain = this.isCrossDomain;\n\n if (crossDomain && this.options.xhrProxy) {\n this.setRequestHeader('X-Url', url);\n url = this.options.xhrProxy + encodeURIComponent(url);\n crossDomain = false;\n }\n\n try {\n this.transport.open(method, url, this.options.asynchronous);\n } catch(e) {\n this.safeCall('onException', e);\n return this.finish(this.getResponse(), null);\n }\n\n this.setHeaders();\n\n this.safeCall('onCreate');\n\n if(this.options.timeout && !isNaN(this.options.timeout)) {\n this.stoTimeout = setTimeout(Ink.bind(function() {\n if(this.options.onTimeout) {\n this.safeCall('onTimeout');\n this.abort();\n }\n }, this), (this.options.timeout * 1000));\n }\n\n if(this.options.useCredentials && !this.usingXDomainReq) {\n this.transport.withCredentials = true;\n }\n\n if(this.options.asynchronous && !this.usingXDomainReq) {\n this.transport.onreadystatechange = Ink.bind(this.runStateChange, this);\n }\n else if (this.usingXDomainReq) {\n this.transport.onload = Ink.bind(this.runStateChange, this);\n }\n\n try {\n if (crossDomain) {\n // Need explicit handling because Mozila aborts\n // the script and Chrome fails silently.per the spec\n throw this.makeError(18, 'NETWORK_ERR');\n } else {\n this.startTime = new Date().getTime();\n this.transport.send(params);\n }\n } catch(e) {\n this.safeCall('onException', e);\n return this.finish(this.getResponse(), null);\n }\n\n if(!this.options.asynchronous) {\n this.runStateChange();\n }\n }\n },\n\n /**\n * Returns a new exception object that can be thrown\n *\n * @method makeError\n * @param code Error Code\n * @param message Message\n * @returns {Object}\n */\n makeError: function(code, message){\n if (typeof Error !== 'function') {\n return {code: code, message: message};\n }\n var e = new Error(message);\n e.code = code;\n return e;\n },\n\n /**\n * Checks if a given string is valid JSON\n *\n * @method isJSON\n * @param {String} str String to be evaluated\n * @return {Boolean} True if the string is valid JSON\n */\n isJSON: function(str)\n {\n if (typeof str !== \"string\" || !str){ return false; }\n str = str.replace(/\\\\./g, '@').replace(/\"[^\"\\\\\\n\\r]*\"/g, '');\n return (/^[,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]*$/).test(str);\n },\n\n /**\n * Evaluates a given string as JSON\n *\n * @method evalJSON\n * @param {String} str String to be evaluated\n * @param {Boolean} sanitize Flag to sanitize the content\n * @return {Object} JSON content as an object\n */\n evalJSON: function(strJSON, sanitize)\n {\n if (strJSON && (!sanitize || this.isJSON(strJSON))) {\n try {\n if (typeof JSON !== \"undefined\" && typeof JSON.parse !== 'undefined'){\n return JSON.parse(strJSON);\n }\n /*jshint evil:true */\n return eval('(' + strJSON + ')');\n } catch(e) {\n throw new Error('ERROR: Bad JSON string...');\n }\n }\n return null;\n }\n };\n\n /**\n * Loads content from a given url through an XMLHttpRequest.\n *\n * Shortcut function for simple AJAX use cases. Works with JSON, XML and plain text.\n *\n * @method load\n * @param {String} url Request URL\n * @param {Function} callback Callback to be executed if the request is successful\n * @return {Object} XMLHttpRequest object\n *\n * @sample Ink_Net_Ajax_load.html \n */\n Ajax.load = function(url, callback){\n return new Ajax(url, {\n method: 'GET',\n onSuccess: function(response){\n callback(response.responseJSON || response.responseText, response);\n }\n });\n };\n\n /**\n * Loads content from a given url through an XMLHttpRequest.\n * Shortcut function for simple AJAX use cases.\n *\n * @method ping\n * @param {String} url Request url\n * @param {Function} callback Callback to be executed if the request is successful\n * @return {Object} XMLHttpRequest object\n */\n Ajax.ping = function(url, callback){\n return new Ajax(url, {\n method: 'HEAD',\n onSuccess: function(response){\n if (typeof callback === 'function'){\n callback(response);\n }\n }\n });\n };\n\n\n return Ajax;\n});\n","/**\n * Cross Browser JsonP requests\n * @module Ink.Net.JsonP_1\n * @version 1\n */\n\nInk.createModule('Ink.Net.JsonP', '1', [], function() {\n\n 'use strict';\n\n /**\n * Executes a JSONP request\n *\n * @class Ink.Net.JsonP\n * @constructor\n *\n * @param {String} uri Request URL\n * @param {Object} options Request options\n * @param {Function} options.onSuccess Success callback\n * @param {Function} [options.onFailure] Failure callback\n * @param {Object} [options.failureObj] Object to be passed as argument to failure callback\n * @param {Number} [options.timeout] Timeout for request fail, in seconds. defaults to 10\n * @param {Object} [options.params] Object with the parameters and respective values to unfold\n * @param {String} [options.callbackParam] Parameter to use as callback. defaults to 'jsoncallback'\n * @param {String} [options.internalCallback] Name of the callback function stored in the Ink.Net.JsonP object.\n * @param {String} [options.randVar] (Advanced, not recommended unless you know what you're doing) A string to append to the callback name. By default, generate a random number. Use an empty string if you already passed the correct name in the internalCallback option.\n *\n * @sample Ink_Net_JsonP_1.html \n */\n var JsonP = function(uri, options) {\n this.init(uri, options);\n };\n\n JsonP.prototype = {\n\n init: function(uri, options) {\n this.options = Ink.extendObj( {\n onSuccess: undefined,\n onFailure: undefined,\n failureObj: {},\n timeout: 10,\n params: {},\n callbackParam: 'jsoncallback',\n internalCallback: '_cb',\n randVar: false\n }, options || {});\n\n if(this.options.randVar !== false) {\n this.randVar = this.options.randVar;\n } else {\n this.randVar = parseInt(Math.random() * 100000, 10);\n }\n\n this.options.internalCallback += this.randVar;\n\n this.uri = uri;\n\n // prevent SAPO legacy onComplete - make it onSuccess\n if(typeof(this.options.onComplete) === 'function') {\n this.options.onSuccess = this.options.onComplete;\n }\n\n if (typeof this.uri !== 'string') {\n throw 'Please define an URI';\n }\n\n if (typeof this.options.onSuccess !== 'function') {\n throw 'please define a callback function on option onSuccess!';\n }\n\n Ink.Net.JsonP[this.options.internalCallback] = Ink.bind(function() {\n window.clearTimeout(this.timeout);\n delete window.Ink.Net.JsonP[this.options.internalCallback];\n this._removeScriptTag();\n this.options.onSuccess(arguments[0]);\n }, this);\n\n this._addScriptTag();\n },\n\n _addParamsToGet: function(uri, params) {\n var hasQuestionMark = uri.indexOf('?') !== -1;\n var sep, pKey, pValue, parts = [uri];\n\n for (pKey in params) {\n if (params.hasOwnProperty(pKey)) {\n if (!hasQuestionMark) { sep = '?'; hasQuestionMark = true; }\n else { sep = '&'; }\n pValue = params[pKey];\n if (typeof pValue !== 'number' && !pValue) { pValue = ''; }\n parts = parts.concat([sep, pKey, '=', encodeURIComponent(pValue)]);\n }\n }\n\n return parts.join('');\n },\n\n _getScriptContainer: function() {\n var headEls = document.getElementsByTagName('head');\n if (headEls.length === 0) {\n var scriptEls = document.getElementsByTagName('script');\n return scriptEls[0];\n }\n return headEls[0];\n },\n\n _addScriptTag: function() {\n // enrich options will callback and random seed\n this.options.params[this.options.callbackParam] = 'Ink.Net.JsonP.' + this.options.internalCallback;\n this.options.params.rnd_seed = this.randVar;\n this.uri = this._addParamsToGet(this.uri, this.options.params);\n // create script tag\n var scriptEl = document.createElement('script');\n scriptEl.type = 'text/javascript';\n scriptEl.src = this.uri;\n var scriptCtn = this._getScriptContainer();\n scriptCtn.appendChild(scriptEl);\n this.timeout = setTimeout(Ink.bind(this._requestFailed, this), (this.options.timeout * 1000));\n },\n\n _requestFailed : function () {\n delete Ink.Net.JsonP[this.options.internalCallback];\n this._removeScriptTag();\n if(typeof this.options.onFailure === 'function'){\n this.options.onFailure(this.options.failureObj);\n }\n },\n\n _removeScriptTag: function() {\n var scriptEl;\n var scriptEls = document.getElementsByTagName('script');\n var scriptUri;\n for (var i = 0, f = scriptEls.length; i < f; ++i) {\n scriptEl = scriptEls[i];\n scriptUri = scriptEl.getAttribute('src') || scriptEl.src;\n if (scriptUri !== null && scriptUri === this.uri) {\n scriptEl.parentNode.removeChild(scriptEl);\n return;\n }\n }\n }\n\n };\n\n return JsonP;\n\n});\n","/**\n * Browser Detection and User Agent sniffing\n * @module Ink.Dom.Browser_1\n * @version 1\n */\nInk.createModule('Ink.Dom.Browser', '1', [], function() {\n 'use strict'; \n\n /**\n * @namespace Ink.Dom.Browser\n * @version 1\n * @static\n * @example\n * \n */\n var Browser = {\n /**\n * True if the browser is Internet Explorer\n *\n * @property IE\n * @type {Boolean}\n * @public\n * @static\n */\n IE: false,\n\n /**\n * True if the browser is Gecko based\n *\n * @property GECKO\n * @type {Boolean}\n * @public\n * @static\n */\n GECKO: false,\n\n /**\n * True if the browser is Opera\n *\n * @property OPERA\n * @type {Boolean}\n * @public\n * @static\n */\n OPERA: false,\n\n /**\n * True if the browser is Safari\n *\n * @property SAFARI\n * @type {Boolean}\n * @public\n * @static\n */\n SAFARI: false,\n\n /**\n * True if the browser is Konqueror\n *\n * @property KONQUEROR\n * @type {Boolean}\n * @public\n * @static\n */\n KONQUEROR: false,\n\n /**\n * True if browser is Chrome\n *\n * @property CHROME\n * @type {Boolean}\n * @public\n * @static\n */\n CHROME: false,\n\n /**\n * The specific browser model.\n * False if it is unavailable.\n *\n * @property model\n * @type {Boolean|String}\n * @public\n * @static\n */\n model: false,\n\n /**\n * The browser version.\n * False if it is unavailable.\n *\n * @property version\n * @type {Boolean|String}\n * @public\n * @static\n */\n version: false,\n\n /**\n * The user agent string.\n * False if it is unavailable.\n *\n * @property userAgent\n * @type {Boolean|String}\n * @public\n * @static\n */\n userAgent: false,\n\n /**\n * The CSS prefix (-moz-, -webkit-, -ms-, ...)\n * False if it is unavailable \n *\n * @property cssPrefix \n * @type {Boolean|String}\n * @public \n * @static \n */\n cssPrefix: false, \n\n /**\n * The DOM prefix (Moz, Webkit, ms, ...)\n * False if it is unavailable \n * @property domPrefix \n * @type {Boolean|String}\n * @public \n * @static \n */\n domPrefix: false,\n\n /**\n * Initialization function for the Browser object.\n *\n * Is called automatically when this module is loaded, and calls setDimensions, setBrowser and setReferrer.\n *\n * @method init\n * @public\n */\n init: function() {\n this.detectBrowser();\n this.setDimensions();\n this.setReferrer();\n },\n\n /**\n * Retrieves and stores window dimensions in this object. Called automatically when this module is loaded.\n *\n * @method setDimensions\n * @public\n */\n setDimensions: function() {\n //this.windowWidth=window.innerWidth !== null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body !== null ? document.body.clientWidth : null;\n //this.windowHeight=window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;\n var myWidth = 0, myHeight = 0;\n if ( typeof window.innerWidth=== 'number' ) {\n myWidth = window.innerWidth;\n myHeight = window.innerHeight;\n } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {\n myWidth = document.documentElement.clientWidth;\n myHeight = document.documentElement.clientHeight;\n } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {\n myWidth = document.body.clientWidth;\n myHeight = document.body.clientHeight;\n }\n this.windowWidth = myWidth;\n this.windowHeight = myHeight;\n },\n\n /**\n * Stores the referrer. Called automatically when this module is loaded.\n *\n * @method setReferrer\n * @public\n */\n setReferrer: function() {\n if (document.referrer && document.referrer.length) {\n this.referrer = window.escape(document.referrer);\n } else {\n this.referrer = false;\n }\n },\n\n /**\n * Detects the browser and stores the found properties. Called automatically when this module is loaded.\n *\n * @method detectBrowser\n * @public\n */\n detectBrowser: function() {\n this._sniffUserAgent(navigator.userAgent);\n },\n\n _sniffUserAgent: function (sAgent) {\n this.userAgent = sAgent;\n\n sAgent = sAgent.toLowerCase();\n\n if (/applewebkit\\//.test(sAgent)) {\n this.cssPrefix = '-webkit-';\n this.domPrefix = 'Webkit';\n if(/(chrome|crios)\\//.test(sAgent)) {\n // Chrome\n this.CHROME = true;\n this.model = 'chrome';\n this.version = sAgent.replace(/(.*)chrome\\/([^\\s]+)(.*)/, \"$2\");\n } else {\n // Safari\n this.SAFARI = true;\n this.model = 'safari';\n var rVersion = /version\\/([^) ]+)/;\n if (rVersion.test(sAgent)) {\n this.version = sAgent.match(rVersion)[1];\n } else {\n this.version = sAgent.replace(/(.*)applewebkit\\/([^\\s]+)(.*)/, \"$2\");\n }\n }\n } else if (/opera/.test(sAgent)) {\n // Opera\n this.OPERA = true;\n this.model = 'opera';\n this.version = sAgent.replace(/(.*)opera.([^\\s$]+)(.*)/, \"$2\");\n this.cssPrefix = '-o-';\n this.domPrefix = 'O';\n } else if (/konqueror/.test(sAgent)) {\n // Konqueroh\n this.KONQUEROR = true;\n this.model = 'konqueror';\n this.version = sAgent.replace(/(.*)konqueror\\/([^;]+);(.*)/, \"$2\");\n this.cssPrefix = '-khtml-';\n this.domPrefix = 'Khtml';\n } else if (/(msie|trident)/i.test(sAgent)) {\n // MSIE\n this.IE = true;\n this.model = 'ie';\n if (/rv:((?:\\d|\\.)+)/.test(sAgent)) { // IE 11\n this.version = sAgent.match(/rv:((?:\\d|\\.)+)/)[1];\n } else {\n this.version = sAgent.replace(/(.*)\\smsie\\s([^;]+);(.*)/, \"$2\");\n }\n this.cssPrefix = '-ms-';\n this.domPrefix = 'ms';\n } else if (/gecko/.test(sAgent)) {\n // GECKO\n // Supports only:\n // Camino, Chimera, Epiphany, Minefield (firefox 3), Firefox, Firebird, Phoenix, Galeon,\n // Iceweasel, K-Meleon, SeaMonkey, Netscape, Songbird, Sylera,\n this.cssPrefix = '-moz-';\n this.domPrefix = 'Moz';\n\n this.GECKO = true;\n\n var re = /(camino|chimera|epiphany|minefield|firefox|firebird|phoenix|galeon|iceweasel|k\\-meleon|seamonkey|netscape|songbird|sylera)/;\n if(re.test(sAgent)) {\n this.model = sAgent.match(re)[1];\n this.version = sAgent.replace(new RegExp(\"(.*)\"+this.model+\"\\/([^;\\\\s$]+)(.*)\"), \"$2\");\n } else {\n // probably is mozilla\n this.model = 'mozilla';\n var reVersion = /(.*)rv:([^)]+)(.*)/;\n if(reVersion.test(sAgent)) {\n this.version = sAgent.replace(reVersion, \"$2\");\n }\n }\n }\n },\n\n /**\n * Debug function which displays browser (and Ink.Dom.Browser) information as an alert message.\n *\n * @method debug\n * @public\n * @sample Ink_Dom_Browser_1_debug.html\n */\n debug: function() {\n /*global alert:false */\n var str = \"known browsers: (ie, gecko, opera, safari, konqueror) \\n\";\n str += [this.IE, this.GECKO, this.OPERA, this.SAFARI, this.KONQUEROR] +\"\\n\";\n str += \"cssPrefix -> \"+this.cssPrefix+\"\\n\";\n str += \"domPrefix -> \"+this.domPrefix+\"\\n\";\n str += \"model -> \"+this.model+\"\\n\";\n str += \"version -> \"+this.version+\"\\n\";\n str += \"\\n\";\n str += \"original UA -> \"+this.userAgent;\n\n alert(str);\n }\n };\n\n Browser.init();\n\n return Browser;\n});\n","/**\n * CSS Utilities and toolbox\n * @module Ink.Dom.Css_1\n * @version 1\n */\n\nInk.createModule( 'Ink.Dom.Css', 1, [], function() {\n\n 'use strict';\n\n // getComputedStyle feature detection.\n var getCs = (\"defaultView\" in document) && (\"getComputedStyle\" in document.defaultView) ? document.defaultView.getComputedStyle : window.getComputedStyle;\n\n /**\n * @namespace Ink.Dom.Css\n * @static\n */\n\n var Css = {\n /**\n * Adds of removes a class.\n * Depending on addRemState, this method either adds a class if it's true or removes if if false.\n *\n * @method addRemoveClassName\n * @param {DOMElement|string} elm DOM element or element id\n * @param {string} className class name to add or remove.\n * @param {boolean} addRemState Whether to add or remove. `true` to add, `false` to remove.\n * @sample Ink_Dom_Css_addRemoveClassName.html \n */\n addRemoveClassName: function(elm, className, addRemState) {\n if (addRemState) {\n return this.addClassName(elm, className);\n }\n this.removeClassName(elm, className);\n },\n\n /**\n * Adds a class to a given element\n *\n * @method addClassName\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String|Array} className Classes \n * @sample Ink_Dom_Css_addClassName.html\n */\n addClassName: function(elm, className) {\n elm = Ink.i(elm);\n if (!elm || !className) { return null; }\n className = ('' + className).split(/[, ]+/);\n var i = 0;\n var len = className.length;\n\n for (; i < len; i++) {\n // remove whitespace and ignore on empty string\n if (className[i].replace(/^\\s+|\\s+$/g, '')) {\n if (typeof elm.classList !== \"undefined\") {\n elm.classList.add(className[i]);\n } else if (!Css.hasClassName(elm, className[i])) {\n elm.className += (elm.className ? ' ' : '') + className[i];\n }\n }\n }\n },\n\n /**\n * Removes a class from a given element\n *\n * @method removeClassName\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String|Array} className Class names to remove. You can either use a space separated string of classnames, comma-separated list or an array\n * @sample Ink_Dom_Css_removeClassName.html \n */\n removeClassName: function(elm, className) {\n elm = Ink.i(elm);\n if (!elm || !className) { return null; }\n \n className = ('' + className).split(/[, ]+/);\n var i = 0;\n var len = className.length;\n\n if (typeof elm.classList !== \"undefined\"){\n for (; i < len; i++) {\n elm.classList.remove(className[i]);\n }\n } else {\n var elmClassName = elm.className || '';\n var re;\n for (; i < len; i++) {\n re = new RegExp(\"(^|\\\\s+)\" + className[i] + \"(\\\\s+|$)\");\n elmClassName = elmClassName.replace(re, ' ');\n }\n elm.className = (elmClassName\n .replace(/^\\s+/, '')\n .replace(/\\s+$/, ''));\n }\n },\n\n /**\n * Alias to addRemoveClassName. \n * Utility function, saves many if/elses.\n *\n * @method setClassName\n * @uses addRemoveClassName\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String|Array} className Class names to add\\remove. Comma separated, space separated or simply an Array\n * @param {Boolean} [add]=false Flag to switch behavior from removal to addition. true to add, false to remove\n */\n setClassName: function(elm, className, add) {\n this.addRemoveClassName(elm, className, add || false);\n },\n\n /**\n * Checks if an element has a class.\n * This method verifies if an element has ONE of a list of classes. If the last argument is flagged as true, instead checks if the element has ALL the classes\n * \n * @method hasClassName\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String|Array} className Class names to test\n * @param {Boolean} [all]=false If flagged as true, it will check if the element contains ALL the CSS classes\n * @return {Boolean} true if a given class is applied to a given element\n * @sample Ink_Dom_Css_hasClassName.html \n */\n hasClassName: function(elm, className, all) {\n elm = Ink.i(elm);\n if (!elm || !className) { return false; }\n\n className = ('' + className).split(/[, ]+/);\n var i = 0;\n var len = className.length;\n var has;\n var re;\n\n for ( ; i < len; i++) {\n if (typeof elm.classList !== \"undefined\"){\n has = elm.classList.contains(className[i]);\n } else {\n var elmClassName = elm.className;\n if (elmClassName === className[i]) {\n has = true;\n } else {\n re = new RegExp(\"(^|\\\\s)\" + className[i] + \"(\\\\s|$)\");\n has = re.test(elmClassName);\n }\n }\n if (has && !all) { return true; } // return if looking for any class\n if (!has && all) { return false; } // return if looking for all classes\n }\n\n if (all) {\n // if we got here, all classes were found so far\n return true;\n } else {\n // if we got here with all == false, no class was found\n return false;\n }\n },\n\n /**\n * Blinks a class from an element\n * Add and removes the class from the element with a timeout, so it blinks\n *\n * @method blinkClass\n * @uses addRemoveClassName\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String|Array} className Class name(s) to blink\n * @param {Number} timeout timeout in ms between adding and removing, default 100 ms\n * @param {Boolean} negate is true, class is removed then added\n * @sample Ink_Dom_Css_blinkClass.html \n */\n blinkClass: function(element, className, timeout, negate){\n element = Ink.i(element);\n Css.addRemoveClassName(element, className, !negate);\n setTimeout(function() {\n Css.addRemoveClassName(element, className, negate);\n }, Number(timeout) || 100);\n },\n\n /**\n * Toggles a class name from a given element\n *\n * @method toggleClassName\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String} className Class name\n * @param {Boolean} [forceAdd] Flag to force adding the the classe names if they don't exist yet.\n * @sample Ink_Dom_Css_toggleClassName.html \n */\n toggleClassName: function(elm, className, forceAdd) {\n if (elm && className){\n if (typeof elm.classList !== \"undefined\" && !/[, ]/.test(className)){\n elm = Ink.i(elm);\n if (elm !== null){\n elm.classList.toggle(className);\n }\n return true;\n }\n }\n\n if (typeof forceAdd !== 'undefined') {\n if (forceAdd === true) {\n Css.addClassName(elm, className);\n }\n else if (forceAdd === false) {\n Css.removeClassName(elm, className);\n }\n } else {\n if (Css.hasClassName(elm, className)) {\n Css.removeClassName(elm, className);\n } else {\n Css.addClassName(elm, className);\n }\n }\n },\n\n /**\n * Sets the opacity of given element \n *\n * @method setOpacity\n * @param {DOMElement|String} elm DOM element or element id\n * @param {Number} value allows 0 to 1(default mode decimal) or percentage (warning using 0 or 1 will reset to default mode)\n * @sample Ink_Dom_Css_setOpacity.html \n */\n setOpacity: function(elm, value) {\n elm = Ink.i(elm);\n if (elm !== null){\n var val = 1;\n\n if (!isNaN(Number(value))){\n if (value <= 0) { val = 0; }\n else if (value <= 1) { val = value; }\n else if (value <= 100) { val = value / 100; }\n else { val = 1; }\n }\n\n if (typeof elm.style.opacity !== 'undefined') {\n elm.style.opacity = val;\n }\n else {\n elm.style.filter = \"alpha(opacity:\"+(val*100|0)+\")\";\n }\n }\n },\n\n /**\n * Converts a css property name to a string in camelcase to be used with CSSStyleDeclaration.\n * @method _camelCase\n * @private\n * @param {String} str String to convert\n * @return {String} Converted string\n */\n _camelCase: function(str) {\n return str ? str.replace(/-(\\w)/g, function (_, $1) {\n return $1.toUpperCase();\n }) : str;\n },\n\n\n /**\n * Gets the value for an element's style attribute\n *\n * @method getStyle\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String} style Which css attribute to fetch\n * @return Style value\n * @sample Ink_Dom_Css_getStyle.html \n */\n getStyle: function(elm, style) {\n elm = Ink.i(elm);\n if (elm !== null && elm.style) {\n style = style === 'float' ? 'cssFloat': this._camelCase(style);\n\n var value = elm.style[style];\n\n if (getCs && (!value || value === 'auto')) {\n var css = getCs(elm, null);\n value = css ? css[style] : null;\n }\n else if (!value && elm.currentStyle) {\n value = elm.currentStyle[style];\n if (value === 'auto' && (style === 'width' || style === 'height')) {\n value = elm[\"offset\" + style.charAt(0).toUpperCase() + style.slice(1)] + \"px\";\n }\n }\n\n if (style === 'opacity') {\n return value ? parseFloat(value, 10) : 1.0;\n }\n else if (style === 'borderTopWidth' || style === 'borderBottomWidth' ||\n style === 'borderRightWidth' || style === 'borderLeftWidth' ) {\n if (value === 'thin') { return '1px'; }\n else if (value === 'medium') { return '3px'; }\n else if (value === 'thick') { return '5px'; }\n }\n\n return value === 'auto' ? null : value;\n }\n },\n\n\n /**\n * Adds CSS rules to an element's style attribute.\n *\n * @method setStyle\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String} style Which css attribute to set\n * @sample Ink_Dom_Css_setStyle.html \n */\n setStyle: function(elm, style) {\n elm = Ink.i(elm);\n if (elm === null) { return; }\n if (typeof style === 'string') {\n elm.style.cssText += '; '+style;\n\n if (style.indexOf('opacity') !== -1) {\n this.setOpacity(elm, style.match(/opacity:\\s*(\\d?\\.?\\d*)/)[1]);\n }\n }\n else {\n for (var prop in style) {\n if (style.hasOwnProperty(prop)){\n if (prop === 'opacity') {\n this.setOpacity(elm, style[prop]);\n }\n else if (prop === 'float' || prop === 'cssFloat') {\n if (typeof elm.style.styleFloat === 'undefined') {\n elm.style.cssFloat = style[prop];\n }\n else {\n elm.style.styleFloat = style[prop];\n }\n } else {\n elm.style[prop] = style[prop];\n }\n }\n }\n }\n },\n\n\n /**\n * Shows an element.\n * Internally it unsets the display property of an element. You can force a specific display property using forceDisplayProperty\n *\n * @method show\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String} [forceDisplayProperty] Css display property to apply on show\n * @sample Ink_Dom_Css_show.html \n */\n show: function(elm, forceDisplayProperty) {\n elm = Ink.i(elm);\n if (elm !== null) {\n elm.style.display = (forceDisplayProperty) ? forceDisplayProperty : '';\n }\n },\n\n /**\n * Hides an element.\n *\n * @method hide\n * @param {DOMElement|String} elm DOM element or element id\n * @sample Ink_Dom_Css_hide.html \n */\n hide: function(elm) {\n elm = Ink.i(elm);\n if (elm !== null) {\n elm.style.display = 'none';\n }\n },\n\n /**\n * Shows or hides an element.\n * If the show parameter is true, it shows the element. Otherwise, hides it.\n *\n * @method showHide\n * @param {DOMElement|String} elm DOM element or element id\n * @param {boolean} [show]=false Whether to show or hide `elm`.\n * @sample Ink_Dom_Css_showHide.html \n */\n showHide: function(elm, show) {\n elm = Ink.i(elm);\n if (elm) {\n elm.style.display = show ? '' : 'none';\n }\n },\n\n /**\n * Toggles an element visibility.\n * \n * @method toggle\n * @param {DOMElement|String} elm DOM element or element id\n * @param {Boolean} forceShow Forces showing if element is hidden\n * @sample Ink_Dom_Css_toggle.html \n */\n toggle: function(elm, forceShow) {\n elm = Ink.i(elm);\n if (elm !== null) {\n if (typeof forceShow !== 'undefined') {\n if (forceShow === true) {\n this.show(elm);\n } else {\n this.hide(elm);\n }\n } else {\n if (this.getStyle(elm,'display').toLowerCase() === 'none') {\n this.show(elm);\n }\n else {\n this.hide(elm);\n }\n }\n }\n },\n\n _getRefTag: function(head){\n if (head.firstElementChild) {\n return head.firstElementChild;\n }\n\n for (var child = head.firstChild; child; child = child.nextSibling){\n if (child.nodeType === 1){\n return child;\n }\n }\n return null;\n },\n\n /**\n * Injects style tags with rules to the page.\n *\n * @method appendStyleTag\n * @param {String} selector The css selector for the rule\n * @param {String} style The content of the style rule\n * @param {Object} options Options for the tag\n * @param {String} [options.type]='text/css' File type\n * @param {Boolean} [options.force]=false If true, the style tag will be appended to end of head\n * \n * @sample Ink_Dom_Css_appendStyleTag.html \n */\n appendStyleTag: function(selector, style, options){\n options = Ink.extendObj({\n type: 'text/css',\n force: false\n }, options || {});\n\n var styles = document.getElementsByTagName(\"style\"),\n oldStyle = false, setStyle = true, i, l;\n\n for (i=0, l=styles.length; i= 0) {\n setStyle = false;\n }\n }\n\n if (setStyle) {\n var defStyle = document.createElement(\"style\"),\n head = document.getElementsByTagName(\"head\")[0],\n refTag = false, styleStr = '';\n\n defStyle.type = options.type;\n\n styleStr += selector +\" {\";\n styleStr += style;\n styleStr += \"} \";\n\n if (typeof defStyle.styleSheet !== \"undefined\") {\n defStyle.styleSheet.cssText = styleStr;\n } else {\n defStyle.appendChild(document.createTextNode(styleStr));\n }\n\n if (options.force){\n head.appendChild(defStyle);\n } else {\n refTag = this._getRefTag(head);\n if (refTag){\n head.insertBefore(defStyle, refTag);\n }\n }\n }\n },\n\n /**\n * Injects an external link tag.\n * This method add a stylesheet to the head of a page\n *\n * @method appendStylesheet\n * @param {String} path File path\n * @param {Object} options Options for the tag\n * @param {String} [options.media]='screen' Media type\n * @param {String} [options.type]='text/css' File type\n * @param {Boolean} [options.force]=false If true, tag will be appended to end of head\n * @sample Ink_Dom_Css_appendStylesheet.html \n */\n appendStylesheet: function(path, options){\n options = Ink.extendObj({\n media: 'screen',\n type: 'text/css',\n force: false\n }, options || {});\n\n var refTag,\n style = document.createElement(\"link\"),\n head = document.getElementsByTagName(\"head\")[0];\n\n style.media = options.media;\n style.type = options.type;\n style.href = path;\n style.rel = \"Stylesheet\";\n\n if (options.force){\n head.appendChild(style);\n }\n else {\n refTag = this._getRefTag(head);\n if (refTag){\n head.insertBefore(style, refTag);\n }\n }\n },\n\n /**\n * Injects an external link tag.\n * Loads CSS via LINK element inclusion in HEAD (skips append if already there)\n *\n * Works similarly to appendStylesheet but:\n * supports optional callback which gets invoked once the CSS has been applied\n *\n * @method appendStylesheetCb\n * @param {String} cssURI URI of the CSS to load, if empty ignores and just calls back directly\n * @param {Function(cssURI)} [callback] optional callback which will be called once the CSS is loaded\n * @sample Ink_Dom_Css_appendStylesheetCb.html \n */\n _loadingCSSFiles: {},\n _loadedCSSFiles: {},\n appendStylesheetCb: function(url, callback) {\n if (!url) {\n return callback(url);\n }\n\n if (this._loadedCSSFiles[url]) {\n return callback(url);\n }\n\n var cbs = this._loadingCSSFiles[url];\n if (cbs) {\n return cbs.push(callback);\n }\n\n this._loadingCSSFiles[url] = [callback];\n\n var linkEl = document.createElement('link');\n linkEl.type = 'text/css';\n linkEl.rel = 'stylesheet';\n linkEl.href = url;\n\n var headEl = document.getElementsByTagName('head')[0];\n headEl.appendChild(linkEl);\n\n var imgEl = document.createElement('img');\n /*\n var _self = this;\n (function(_url) {\n imgEl.onerror = function() {\n //var url = this;\n var url = _url;\n _self._loadedCSSFiles[url] = true;\n var callbacks = _self._loadingCSSFiles[url];\n for (var i = 0, f = callbacks.length; i < f; ++i) {\n callbacks[i](url);\n }\n delete _self._loadingCSSFiles[url];\n };\n })(url);\n */\n imgEl.onerror = Ink.bindEvent(function(event, _url) {\n //var url = this;\n var url = _url;\n this._loadedCSSFiles[url] = true;\n var callbacks = this._loadingCSSFiles[url];\n for (var i = 0, f = callbacks.length; i < f; ++i) {\n callbacks[i](url);\n }\n delete this._loadingCSSFiles[url];\n }, this, url);\n imgEl.src = url;\n },\n\n /**\n * Converts decimal to hexadecimal values\n * Useful to convert colors to their hexadecimal representation.\n *\n * @method decToHex\n * @param {String} dec Either a single decimal value, an rgb(r, g, b) string or an Object with r, g and b properties\n * @return {String} Hexadecimal value\n * @sample Ink_Dom_Css_decToHex.html \n */\n decToHex: function(dec) {\n var normalizeTo2 = function(val) {\n if (val.length === 1) {\n val = '0' + val;\n }\n val = val.toUpperCase();\n return val;\n };\n\n if (typeof dec === 'object') {\n var rDec = normalizeTo2(parseInt(dec.r, 10).toString(16));\n var gDec = normalizeTo2(parseInt(dec.g, 10).toString(16));\n var bDec = normalizeTo2(parseInt(dec.b, 10).toString(16));\n return rDec+gDec+bDec;\n }\n else {\n dec += '';\n var rgb = dec.match(/\\((\\d+),\\s?(\\d+),\\s?(\\d+)\\)/);\n if (rgb !== null) {\n return normalizeTo2(parseInt(rgb[1], 10).toString(16)) +\n normalizeTo2(parseInt(rgb[2], 10).toString(16)) +\n normalizeTo2(parseInt(rgb[3], 10).toString(16));\n }\n else {\n return normalizeTo2(parseInt(dec, 10).toString(16));\n }\n }\n },\n\n /**\n * Converts hexadecimal values to decimal\n * Useful to use with CSS colors\n *\n * @method hexToDec\n * @param {String} hex hexadecimal Value with 6, 3, 2 or 1 characters\n * @return {Number} Object with properties r, g, b if length of number is >= 3 or decimal value instead.\n * @sample Ink_Dom_Css_hexToDec.html \n */\n hexToDec: function(hex){\n if (hex.indexOf('#') === 0) {\n hex = hex.substr(1);\n }\n if (hex.length === 6) { // will return object RGB\n return {\n r: parseInt(hex.substr(0,2), 16),\n g: parseInt(hex.substr(2,2), 16),\n b: parseInt(hex.substr(4,2), 16)\n };\n }\n else if (hex.length === 3) { // will return object RGB\n return {\n r: parseInt(hex.charAt(0) + hex.charAt(0), 16),\n g: parseInt(hex.charAt(1) + hex.charAt(1), 16),\n b: parseInt(hex.charAt(2) + hex.charAt(2), 16)\n };\n }\n else if (hex.length <= 2) { // will return int\n return parseInt(hex, 16);\n }\n },\n\n /**\n * Get a single property from a stylesheet.\n * Use this to obtain the value of a CSS property (searched from loaded CSS documents)\n *\n * @method getPropertyFromStylesheet\n * @param {String} selector a CSS rule. must be an exact match\n * @param {String} property a CSS property\n * @return {String} value of the found property, or null if it wasn't matched\n */\n getPropertyFromStylesheet: function(selector, property) {\n var rule = this.getRuleFromStylesheet(selector);\n if (rule) {\n return rule.style[property];\n }\n return null;\n },\n\n getPropertyFromStylesheet2: function(selector, property) {\n var rules = this.getRulesFromStylesheet(selector);\n /*\n rules.forEach(function(rule) {\n var x = rule.style[property];\n if (x !== null && x !== undefined) {\n return x;\n }\n });\n */\n var x;\n for(var i=0, t=rules.length; i < t; i++) {\n x = rules[i].style[property];\n if (x !== null && x !== undefined) {\n return x;\n }\n }\n return null;\n },\n\n getRuleFromStylesheet: function(selector) {\n var sheet, rules, ri, rf, rule;\n var s = document.styleSheets;\n if (!s) {\n return null;\n }\n\n for (var si = 0, sf = document.styleSheets.length; si < sf; ++si) {\n sheet = document.styleSheets[si];\n rules = sheet.rules ? sheet.rules : sheet.cssRules;\n if (!rules) { return null; }\n\n for (ri = 0, rf = rules.length; ri < rf; ++ri) {\n rule = rules[ri];\n if (!rule.selectorText) { continue; }\n if (rule.selectorText === selector) {\n return rule;\n }\n }\n }\n\n return null;\n },\n\n getRulesFromStylesheet: function(selector) {\n var res = [];\n var sheet, rules, ri, rf, rule;\n var s = document.styleSheets;\n if (!s) { return res; }\n\n for (var si = 0, sf = document.styleSheets.length; si < sf; ++si) {\n sheet = document.styleSheets[si];\n rules = sheet.rules ? sheet.rules : sheet.cssRules;\n if (!rules) {\n return null;\n }\n\n for (ri = 0, rf = rules.length; ri < rf; ++ri) {\n rule = rules[ri];\n if (!rule.selectorText) { continue; }\n if (rule.selectorText === selector) {\n res.push(rule);\n }\n }\n }\n\n return res;\n },\n\n getPropertiesFromRule: function(selector) {\n var rule = this.getRuleFromStylesheet(selector);\n var props = {};\n var prop, i, f;\n\n /*if (typeof rule.style.length === 'snumber') {\n for (i = 0, f = rule.style.length; i < f; ++i) {\n prop = this._camelCase( rule.style[i] );\n props[prop] = rule.style[prop];\n }\n }\n else { // HANDLES IE 8, FIREFOX RULE JOINING... */\n rule = rule.style.cssText;\n var parts = rule.split(';');\n var steps, val, pre, pos;\n for (i = 0, f = parts.length; i < f; ++i) {\n if (parts[i].charAt(0) === ' ') {\n parts[i] = parts[i].substring(1);\n }\n steps = parts[i].split(':');\n prop = this._camelCase( steps[0].toLowerCase() );\n val = steps[1];\n if (val) {\n val = val.substring(1);\n\n if (prop === 'padding' || prop === 'margin' || prop === 'borderWidth') {\n\n if (prop === 'borderWidth') { pre = 'border'; pos = 'Width'; }\n else { pre = prop; pos = ''; }\n\n if (val.indexOf(' ') !== -1) {\n val = val.split(' ');\n props[pre + 'Top' + pos] = val[0];\n props[pre + 'Bottom'+ pos] = val[0];\n props[pre + 'Left' + pos] = val[1];\n props[pre + 'Right' + pos] = val[1];\n }\n else {\n props[pre + 'Top' + pos] = val;\n props[pre + 'Bottom'+ pos] = val;\n props[pre + 'Left' + pos] = val;\n props[pre + 'Right' + pos] = val;\n }\n }\n else if (prop === 'borderRadius') {\n if (val.indexOf(' ') !== -1) {\n val = val.split(' ');\n props.borderTopLeftRadius = val[0];\n props.borderBottomRightRadius = val[0];\n props.borderTopRightRadius = val[1];\n props.borderBottomLeftRadius = val[1];\n }\n else {\n props.borderTopLeftRadius = val;\n props.borderTopRightRadius = val;\n props.borderBottomLeftRadius = val;\n props.borderBottomRightRadius = val;\n }\n }\n else {\n props[prop] = val;\n }\n }\n }\n //}\n //console.log(props);\n\n return props;\n },\n\n /**\n * Change the font size of elements.\n * Changes the font size of the elements which match the given CSS rule\n * For this function to work, the CSS file must be in the same domain than the host page, otherwise JS can't access it.\n *\n * @method changeFontSize\n * @param {String} selector CSS selector rule\n * @param {Number} delta Number of pixels to change on font-size\n * @param {String} [op] Supported operations are '+' and '*'. defaults to '+'\n * @param {Number} [minVal] If result gets smaller than minVal, change does not occurr\n * @param {Number} [maxVal] If result gets bigger than maxVal, change does not occurr\n */\n changeFontSize: function(selector, delta, op, minVal, maxVal) {\n var that = this;\n Ink.requireModules(['Ink.Dom.Selector_1'], function(Selector) {\n var e;\n if (typeof selector !== 'string') { e = '1st argument must be a CSS selector rule.'; }\n else if (typeof delta !== 'number') { e = '2nd argument must be a number.'; }\n else if (op !== undefined && op !== '+' && op !== '*') { e = '3rd argument must be one of \"+\", \"*\".'; }\n else if (minVal !== undefined && (typeof minVal !== 'number' || minVal <= 0)) { e = '4th argument must be a positive number.'; }\n else if (maxVal !== undefined && (typeof maxVal !== 'number' || maxVal < maxVal)) { e = '5th argument must be a positive number greater than minValue.'; }\n if (e) { throw new TypeError(e); }\n\n var val, el, els = Selector.select(selector);\n if (minVal === undefined) { minVal = 1; }\n op = (op === '*') ? function(a,b){return a*b;} : function(a,b){return a+b;};\n for (var i = 0, f = els.length; i < f; ++i) {\n el = els[i];\n val = parseFloat( that.getStyle(el, 'fontSize'));\n val = op(val, delta);\n if (val < minVal) { continue; }\n if (typeof maxVal === 'number' && val > maxVal) { continue; }\n el.style.fontSize = val + 'px';\n }\n });\n }\n\n };\n\n return Css;\n\n});\n","/**\n * DOM Traversal and manipulation\n * @module Ink.Dom.Element_1\n * @version 1\n */\n\nInk.createModule('Ink.Dom.Element', 1, [], function() {\n\n 'use strict';\n\n var createContextualFragmentSupport = (\n typeof document.createRange === 'function' &&\n typeof window.Range.prototype.createContextualFragment === 'function');\n\n var deleteThisTbodyToken = 'Ink.Dom.Element tbody: ' + Math.random();\n var browserCreatesTbodies = (function () {\n var div = document.createElement('div');\n div.innerHTML = '';\n return div.getElementsByTagName('tbody').length !== 0;\n }());\n\n function rect(elem){\n var dimensions = {};\n try {\n dimensions = elem.getBoundingClientRect();\n } catch(e){\n dimensions = { top: elem.offsetTop, left: elem.offsetLeft };\n }\n return dimensions;\n }\n\n /**\n * @namespace Ink.Dom.Element_1\n */\n\n var InkElement = {\n\n /**\n * Checks if something is a DOM Element.\n *\n * @method isDOMElement\n * @static\n * @param {Mixed} o The object to be checked.\n * @return {Boolean} True if it's a valid DOM Element.\n * @example\n * var el = Ink.s('#element');\n * if( InkElement.isDOMElement( el ) === true ){\n * // It is a DOM Element.\n * } else {\n * // It is NOT a DOM Element.\n * }\n */\n isDOMElement: function(o) {\n return o !== null && typeof o === 'object' && 'nodeType' in o && o.nodeType === 1;\n },\n\n /**\n * Shortcut for `document.getElementById`\n *\n * @method get\n * @param {String|DOMElement} elm Either an ID of an element, or an element.\n * @return {DOMElement|null} The DOM element with the given id or null when it was not found\n * @sample Ink_Dom_Element_1_get.html\n */\n get: function(elm) {\n if(typeof elm !== 'undefined') {\n if(typeof elm === 'string') {\n return document.getElementById(elm);\n }\n return elm;\n }\n return null;\n },\n\n /**\n * Creates a DOM element\n *\n * @method create\n * @param {String} tag tag name\n * @param {Object} properties object with properties to be set on the element. You can also call other functions in Ink.Dom.Element like this\n * @sample Ink_Dom_Element_1_create.html\n */\n create: function(tag, properties) {\n var el = document.createElement(tag);\n //Ink.extendObj(el, properties);\n for(var property in properties) {\n if(properties.hasOwnProperty(property)) {\n if (property in InkElement) {\n InkElement[property](el, properties[property]);\n } else {\n if(property === 'className' || property === 'class') {\n el.className = properties.className || properties['class'];\n } else {\n el.setAttribute(property, properties[property]);\n }\n }\n }\n }\n return el;\n },\n\n /**\n * Removes a DOM Element\n *\n * @method remove\n * @param {DOMElement} elm The element to remove\n * @sample Ink_Dom_Element_1_remove.html\n */\n remove: function(el) {\n el = Ink.i(el);\n var parEl;\n if (el && (parEl = el.parentNode)) {\n parEl.removeChild(el);\n }\n },\n\n /**\n * Scrolls the window to an element\n *\n * @method scrollTo\n * @param {DOMElement|String} elm Element where to scroll\n * @sample Ink_Dom_Element_1_scrollTo.html\n */\n scrollTo: function(elm) {\n elm = InkElement.get(elm);\n if(elm) {\n if (elm.scrollIntoView) {\n return elm.scrollIntoView();\n }\n\n var elmOffset = {},\n elmTop = 0, elmLeft = 0;\n\n do {\n elmTop += elm.offsetTop || 0;\n elmLeft += elm.offsetLeft || 0;\n\n elm = elm.offsetParent;\n } while(elm);\n\n elmOffset = {x: elmLeft, y: elmTop};\n\n window.scrollTo(elmOffset.x, elmOffset.y);\n }\n },\n\n /**\n * Gets the top offset of an element\n *\n * @method offsetTop\n * @uses Ink.Dom.Browser\n *\n * @param {DOMElement|String} elm Target element\n * @return {Number} Offset from the target element to the top of the document\n * @sample Ink_Dom_Element_1_offsetTop.html\n */\n offsetTop: function(elm) {\n return InkElement.offset(elm)[1];\n },\n\n /**\n * Gets the left offset of an element\n *\n * @method offsetLeft\n * @uses Ink.Dom.Browser\n *\n * @param {DOMElement|String} elm Target element\n * @return {Number} Offset from the target element to the left of the document\n * @sample Ink_Dom_Element_1_offsetLeft.html\n */\n offsetLeft: function(elm) {\n return InkElement.offset(elm)[0];\n },\n\n /**\n * Gets the relative offset of an element\n *\n * @method positionedOffset\n * @param {DOMElement|String} elm Target element\n * @return {Array} Array with the element offsetleft and offsettop relative to the closest positioned ancestor\n * @sample Ink_Dom_Element_1_positionedOffset.html\n */\n positionedOffset: function(element) {\n var valueTop = 0, valueLeft = 0;\n element = InkElement.get(element);\n do {\n valueTop += element.offsetTop || 0;\n valueLeft += element.offsetLeft || 0;\n element = element.offsetParent;\n if (element) {\n if (element.tagName.toLowerCase() === 'body') { break; }\n\n var value = element.style.position;\n if (!value && element.currentStyle) {\n value = element.currentStyle.position;\n }\n if ((!value || value === 'auto') && typeof getComputedStyle !== 'undefined') {\n var css = getComputedStyle(element, null);\n value = css ? css.position : null;\n }\n if (value === 'relative' || value === 'absolute') { break; }\n }\n } while (element);\n return [valueLeft, valueTop];\n },\n\n /**\n * Gets the cumulative offset for an element\n *\n * Returns the top left position of the element on the page\n *\n * @method offset\n * @uses Ink.Dom.Browser\n *\n * @method offset\n * @param {DOMElement|String} elm Target element\n * @return {[Number, Number]} Array with pixel distance from the target element to the top left corner of the document\n * @sample Ink_Dom_Element_1_offset.html\n */\n offset: function(el) {\n /*jshint boss:true */\n el = Ink.i(el);\n var res = [0, 0];\n var doc = el.ownerDocument,\n docElem = doc.documentElement,\n box = rect(el),\n body = doc.body,\n clientTop = docElem.clientTop || body.clientTop || 0,\n clientLeft = docElem.clientLeft || body.clientLeft || 0,\n scrollTop = doc.pageYOffset || docElem.scrollTop || body.scrollTop,\n scrollLeft = doc.pageXOffset || docElem.scrollLeft || body.scrollLeft,\n top = box.top + scrollTop - clientTop,\n left = box.left + scrollLeft - clientLeft;\n res = [left, top];\n return res;\n },\n\n /**\n * Gets the scroll of the element\n *\n * @method scroll\n * @param {DOMElement|String} [elm] Target element or document.body\n * @returns {Array} offset values for x and y scroll\n * @sample Ink_Dom_Element_1_scroll.html\n */\n scroll: function(elm) {\n elm = elm ? Ink.i(elm) : document.body;\n return [\n ( ( !window.pageXOffset ) ? elm.scrollLeft : window.pageXOffset ),\n ( ( !window.pageYOffset ) ? elm.scrollTop : window.pageYOffset )\n ];\n },\n\n _getPropPx: function(cs, prop) {\n var n, c;\n var val = cs.getPropertyValue ? cs.getPropertyValue(prop) : cs[prop];\n if (!val) { n = 0; }\n else {\n c = val.indexOf('px');\n if (c === -1) { n = 0; }\n else {\n n = parseFloat(val, 10);\n }\n }\n\n //console.log([prop, ' \"', val, '\" ', n].join(''));\n\n return n;\n },\n\n /**\n * Alias for offset()\n *\n * @method offset2\n * @deprecated Kept for historic reasons. Use offset() instead.\n */\n offset2: function(el) {\n return InkElement.offset(el);\n },\n\n /**\n * Checks if an element has an attribute\n *\n * @method hasAttribute\n * @param {Object} elm Target element\n * @param {String} attr Attribute name\n * @return {Boolean} Boolean based on existance of attribute\n * @sample Ink_Dom_Element_1_hasAttribute.html\n */\n hasAttribute: function(elm, attr){\n elm = Ink.i(elm);\n return elm.hasAttribute ? elm.hasAttribute(attr) : !!elm.getAttribute(attr);\n },\n /**\n * Inserts an element right after another\n *\n * @method insertAfter\n * @param {DOMElement} newElm Element to be inserted\n * @param {DOMElement|String} targetElm Key element\n * @sample Ink_Dom_Element_1_insertAfter.html\n */\n insertAfter: function(newElm, targetElm) {\n /*jshint boss:true */\n if (targetElm = InkElement.get(targetElm)) {\n if (targetElm.nextSibling !== null) {\n targetElm.parentNode.insertBefore(newElm, targetElm.nextSibling);\n } else {\n targetElm.parentNode.appendChild(newElm);\n }\n }\n },\n\n /**\n * Inserts an element before another\n *\n * @method insertBefore\n * @param {DOMElement} newElm Element to be inserted\n * @param {DOMElement|String} targetElm Key element\n * @sample Ink_Dom_Element_1_insertBefore.html\n */\n insertBefore: function (newElm, targetElm) {\n /*jshint boss:true */\n if ( (targetElm = InkElement.get(targetElm)) ) {\n targetElm.parentNode.insertBefore(newElm, targetElm);\n }\n },\n\n /**\n * Inserts an element as the first child of another\n *\n * @method insertTop\n * @param {DOMElement} newElm Element to be inserted\n * @param {DOMElement|String} targetElm Key element\n * @sample Ink_Dom_Element_1_insertTop.html\n */\n insertTop: function(newElm,targetElm) {\n /*jshint boss:true */\n if (targetElm = InkElement.get(targetElm)) {\n if (targetElm.firstChild) {\n targetElm.insertBefore(newElm, targetElm.firstChild);\n } else {\n targetElm.appendChild(newElm);\n }\n }\n },\n\n /**\n * Inserts an element as the last child of another\n *\n * @method insertBottom\n * @param {DOMElement} newElm Element to be inserted\n * @param {DOMElement|String} targetElm Key element\n * @sample Ink_Dom_Element_1_insertBottom.html\n */\n insertBottom: function(newElm, targetElm) {\n /*jshint boss:true */\n targetElm = Ink.i(targetElm);\n targetElm.appendChild(newElm);\n },\n\n /**\n * Retrieves textContent from node\n *\n * @method textContent\n * @param {DOMNode} node Where to retreive text from. Can be any node type.\n * @return {String} the text\n * @sample Ink_Dom_Element_1_textContent.html\n */\n textContent: function(node){\n node = Ink.i(node);\n var text, k, cs, m;\n\n switch(node && node.nodeType) {\n case 9: /*DOCUMENT_NODE*/\n // IE quirks mode does not have documentElement\n return InkElement.textContent(node.documentElement || node.body && node.body.parentNode || node.body);\n\n case 1: /*ELEMENT_NODE*/\n text = node.innerText;\n if (typeof text !== 'undefined') {\n return text;\n }\n /* falls through */\n case 11: /*DOCUMENT_FRAGMENT_NODE*/\n text = node.textContent;\n if (typeof text !== 'undefined') {\n return text;\n }\n\n if (node.firstChild === node.lastChild) {\n // Common case: 0 or 1 children\n return InkElement.textContent(node.firstChild);\n }\n\n text = [];\n cs = node.childNodes;\n for (k = 0, m = cs.length; k < m; ++k) {\n text.push( InkElement.textContent( cs[k] ) );\n }\n return text.join('');\n\n case 3: /*TEXT_NODE*/\n case 4: /*CDATA_SECTION_NODE*/\n return node.nodeValue;\n }\n return '';\n },\n\n /**\n * Replaces text content of a DOM Node\n * This method removes any child node previously present\n *\n * @method setTextContent\n * @param {DOMNode} node node Target node where the text will be added.\n * @param {String} text text Text to be added on the node.\n * @sample Ink_Dom_Element_1_setTextContent.html\n */\n setTextContent: function(node, text){\n node = Ink.i(node);\n switch(node && node.nodeType)\n {\n case 1: /*ELEMENT_NODE*/\n if ('innerText' in node) {\n node.innerText = text;\n break;\n }\n /* falls through */\n case 11: /*DOCUMENT_FRAGMENT_NODE*/\n if ('textContent' in node) {\n node.textContent = text;\n break;\n }\n /* falls through */\n case 9: /*DOCUMENT_NODE*/\n while(node.firstChild) {\n node.removeChild(node.firstChild);\n }\n if (text !== '') {\n var doc = node.ownerDocument || node;\n node.appendChild(doc.createTextNode(text));\n }\n break;\n\n case 3: /*TEXT_NODE*/\n case 4: /*CDATA_SECTION_NODE*/\n node.nodeValue = text;\n break;\n }\n },\n\n /**\n * Checks if an element is a link\n *\n * @method isLink\n * @param {DOMNode} node Node to check if it's link\n * @return {Boolean}\n * @sample Ink_Dom_Element_1_isLink.html\n */\n isLink: function(element){\n var b = element && element.nodeType === 1 && ((/^a|area$/i).test(element.tagName) ||\n element.hasAttributeNS && element.hasAttributeNS('http://www.w3.org/1999/xlink','href'));\n return !!b;\n },\n\n /**\n * Checks if a node is an ancestor of another\n *\n * @method isAncestorOf\n * @param {DOMNode} ancestor Ancestor node\n * @param {DOMNode} node Descendant node\n * @return {Boolean}\n * @sample Ink_Dom_Element_1_isAncestorOf.html\n */\n isAncestorOf: function(ancestor, node){\n /*jshint boss:true */\n if (!node || !ancestor) {\n return false;\n }\n if (node.compareDocumentPosition) {\n return (ancestor.compareDocumentPosition(node) & 0x10) !== 0;/*Node.DOCUMENT_POSITION_CONTAINED_BY*/\n }\n while (node = node.parentNode){\n if (node === ancestor){\n return true;\n }\n }\n return false;\n },\n\n /**\n * Checks if a node is descendant of another\n *\n * @method descendantOf\n * @param {DOMNode} node The ancestor\n * @param {DOMNode} descendant The descendant\n * @return {Boolean} true if 'descendant' is descendant of 'node'\n * @sample Ink_Dom_Element_1_descendantOf.html\n */\n descendantOf: function(node, descendant){\n return node !== descendant && InkElement.isAncestorOf(node, descendant);\n },\n\n /**\n * Get first child element of another\n * @method firstElementChild\n * @param {DOMElement} elm Parent node\n * @return {DOMElement} the Element child\n * @sample Ink_Dom_Element_1_firstElementChild.html\n */\n firstElementChild: function(elm){\n if(!elm) {\n return null;\n }\n if ('firstElementChild' in elm) {\n return elm.firstElementChild;\n }\n var child = elm.firstChild;\n while(child && child.nodeType !== 1) {\n child = child.nextSibling;\n }\n return child;\n },\n\n /**\n * Get the last child element of another\n * @method lastElementChild\n * @param {DOMElement} elm Parent node\n * @return {DOMElement} the Element child\n * @sample Ink_Dom_Element_1_lastElementChild.html\n */\n lastElementChild: function(elm){\n if(!elm) {\n return null;\n }\n if ('lastElementChild' in elm) {\n return elm.lastElementChild;\n }\n var child = elm.lastChild;\n while(child && child.nodeType !== 1) {\n child = child.previousSibling;\n }\n return child;\n },\n\n /**\n * Get the first sibling element after the node\n *\n * @method nextElementSibling\n * @param {DOMNode} node The current node\n * @return {DOMElement|Null} The first sibling element after node or null if none is found\n * @sample Ink_Dom_Element_1_nextElementSibling.html \n */\n nextElementSibling: function(node){\n var sibling = null;\n\n if(!node){ return sibling; }\n\n if(\"nextElementSibling\" in node){\n return node.nextElementSibling;\n } else {\n sibling = node.nextSibling;\n\n // 1 === Node.ELEMENT_NODE\n while(sibling && sibling.nodeType !== 1){\n sibling = sibling.nextSibling;\n }\n\n return sibling;\n }\n },\n\n /**\n * Get the first sibling element before the node\n *\n * @method previousElementSibling\n * @param {DOMNode} node The current node\n * @return {DOMElement|Null} The first element sibling before node or null if none is found\n * @sample Ink_Dom_Element_1_previousElementSibling.html \n */\n previousElementSibling: function(node){\n var sibling = null;\n\n if(!node){ return sibling; }\n\n if(\"previousElementSibling\" in node){\n return node.previousElementSibling;\n } else {\n sibling = node.previousSibling;\n\n // 1 === Node.ELEMENT_NODE\n while(sibling && sibling.nodeType !== 1){\n sibling = sibling.previousSibling;\n }\n\n return sibling;\n }\n },\n\n /**\n * Get an element's width in pixels.\n *\n * @method elementWidth\n * @param {DOMElement|String} element Target DOM element or target ID\n * @return {Number} The element's width\n * @sample Ink_Dom_Element_1_elementWidth.html \n */\n elementWidth: function(element) {\n if(typeof element === \"string\") {\n element = document.getElementById(element);\n }\n return element.offsetWidth;\n },\n\n /**\n * Get an element's height in pixels.\n *\n * @method elementHeight\n * @param {DOMElement|String} element DOM element or target ID\n * @return {Number} The element's height\n * @sample Ink_Dom_Element_1_elementHeight.html \n */\n elementHeight: function(element) {\n if(typeof element === \"string\") {\n element = document.getElementById(element);\n }\n return element.offsetHeight;\n },\n\n /**\n * Deprecated. Alias for offsetLeft()\n *\n * @method elementLeft\n * @param {DOMElement|String} element DOM element or target ID\n * @return {Number} Element's left position\n */\n elementLeft: function(element) {\n return InkElement.offsetLeft(element);\n },\n\n /**\n * Deprecated. Alias for offsetTop()\n *\n * @method elementTop\n * @param {DOMElement|string} element Target DOM element or target ID\n * @return {Number} element's top position\n */\n elementTop: function(element) {\n return InkElement.offsetTop(element);\n },\n\n /**\n * Get an element's dimensions in pixels.\n *\n * @method elementDimensions\n * @param {DOMElement|string} element DOM element or target ID\n * @return {Array} Array with element's width and height\n * @sample Ink_Dom_Element_1_elementDimensions.html \n */\n elementDimensions: function(element) {\n element = Ink.i(element);\n return [element.offsetWidth, element.offsetHeight];\n },\n\n /**\n * Get the outer dimensions of an element in pixels.\n *\n * @method outerDimensions\n * @uses Ink.Dom.Css\n *\n * @param {DOMElement} element Target element\n * @return {Array} Array with element width and height.\n * @sample Ink_Dom_Element_1_outerDimensions.html \n */\n outerDimensions: function (element) {\n var bbox = rect(element);\n\n var Css = Ink.getModule('Ink.Dom.Css_1');\n var getStyle = Ink.bindMethod(Css, 'getStyle', element);\n\n return [\n bbox.right - bbox.left + parseFloat(getStyle('marginLeft') || 0) + parseFloat(getStyle('marginRight') || 0), // w\n bbox.bottom - bbox.top + parseFloat(getStyle('marginTop') || 0) + parseFloat(getStyle('marginBottom') || 0) // h\n ];\n },\n\n /**\n * Check if an element is inside the viewport\n *\n * @method inViewport\n * @param {DOMElement} element DOM Element\n * @param {Object} [options] Options object. If you pass a Boolean value here, it is interpreted as `options.partial`\n * @param {Boolean} [options.partial]=false Return `true` even if it is only partially visible.\n * @param {Number} [options.margin]=0 Consider a margin all around the viewport with `opts.margin` width a dead zone.\n * @return {Boolean}\n * @sample Ink_Dom_Element_1_inViewport.html \n */\n inViewport: function (element, opts) {\n var dims = rect(Ink.i(element));\n if (typeof opts === 'boolean') {\n opts = {partial: opts, margin: 0};\n }\n opts = Ink.extendObj({ partial: false, margin: 0}, opts || {});\n if (opts.partial) {\n return dims.bottom + opts.margin > 0 && // from the top\n dims.left - opts.margin < InkElement.viewportWidth() && // from the right\n dims.top - opts.margin < InkElement.viewportHeight() && // from the bottom\n dims.right + opts.margin > 0; // from the left\n } else {\n return dims.top + opts.margin > 0 && // from the top\n dims.right - opts.margin < InkElement.viewportWidth() && // from the right\n dims.bottom - opts.margin < InkElement.viewportHeight() && // from the bottom\n dims.left + opts.margin > 0; // from the left\n }\n },\n\n /**\n * Check if an element is hidden.\n * Taken from Mootools Element extras ( https://gist.github.com/cheeaun/73342 )\n * Does not take into account visibility:hidden\n * @method isHidden\n * @param {DOMElement} element Element to check\n * @return {Boolean}\n * @sample Ink_Dom_Element_1_isHidden.html \n */\n\n isHidden: function (element) {\n var w = element.offsetWidth, \n h = element.offsetHeight,\n force = (element.tagName.toLowerCase() === 'tr');\n\n var Css = Ink.getModule('Ink.Dom.Css_1');\n\n return (w===0 && h===0 && !force) ? true :\n (w!==0 && h!==0 && !force) ? false :\n Css.getStyle(element, 'display').toLowerCase() === 'none';\n },\n\n /**\n * Check if an element is visible \n *\n * @method isVisible\n * @uses isHidden\n * @param {DOMElement} element Element to check\n * @return {Boolean}\n * @sample Ink_Dom_Element_1_isVisible.html \n */\n\n isVisible: function (element) {\n return !this.isHidden(element);\n },\n\n /**\n * Clones an element's position to another\n *\n * @method clonePosition\n * @param {DOMElement} cloneTo element to be position cloned\n * @param {DOMElement} cloneFrom element to get the cloned position\n * @return {DOMElement} The element with positionClone\n * @sample Ink_Dom_Element_1_clonePosition.html \n */\n clonePosition: function(cloneTo, cloneFrom){\n var pos = InkElement.offset(cloneFrom);\n cloneTo.style.left = pos[0]+'px';\n cloneTo.style.top = pos[1]+'px';\n\n return cloneTo;\n },\n\n /**\n * Text-overflow: ellipsis emulation\n * Slices off a piece of text at the end of the element and adds the ellipsis so all text fits inside.\n *\n * @method ellipsizeText\n * @param {DOMElement} element Element to modify text content\n * @param {String} [ellipsis]='\\u2026' String to append to the chopped text\n */\n ellipsizeText: function(element/*, ellipsis*/){\n if ((element = Ink.i(element))) {\n element.style.overflow = 'hidden';\n element.style.whiteSpace = 'nowrap';\n element.style.textOverflow = 'ellipsis';\n }\n },\n\n /**\n * Finds the closest ancestor element matching your test function\n * \n *\n * @method findUpwardsHaving\n * @param {DOMElement} element Element to base the search from\n * @param {Function} boolTest Testing function\n * @return {DOMElement|false} The matched element or false if did not match\n * @sample Ink_Dom_Element_1_findUpwardsHaving.html \n */\n findUpwardsHaving: function(element, boolTest) {\n while (element && element.nodeType === 1) {\n if (boolTest(element)) {\n return element;\n }\n element = element.parentNode;\n }\n return false;\n },\n\n /**\n * Finds the closest ancestor by class name\n *\n * @method findUpwardsByClass\n * @uses findUpwardsHaving\n * @param {DOMElement} element Element to base the search from\n * @param {String} className Class name to search\n * @returns {DOMElement|false} The matched element or false if did not match\n * @sample Ink_Dom_Element_1_findUpwardsByClass.html \n */\n findUpwardsByClass: function(element, className) {\n var re = new RegExp(\"(^|\\\\s)\" + className + \"(\\\\s|$)\");\n var tst = function(el) {\n var cls = el.className;\n return cls && re.test(cls);\n };\n return InkElement.findUpwardsHaving(element, tst);\n },\n\n /**\n * Finds the closest ancestor by tag name\n *\n * @method findUpwardsByTag\n * @param {DOMElement} element Element to base the search from\n * @param {String} tag Tag to search\n * @returns {DOMElement|false} the matched element or false if did not match\n * @sample Ink_Dom_Element_1_findUpwardsByTag.html \n */\n findUpwardsByTag: function(element, tag) {\n tag = tag.toUpperCase();\n var tst = function(el) {\n return el.nodeName && el.nodeName.toUpperCase() === tag;\n };\n return InkElement.findUpwardsHaving(element, tst);\n },\n\n /**\n * Finds the closest ancestor by id\n *\n * @method findUpwardsById\n * @param {HtmlElement} element Element to base the search from\n * @param {String} id ID to search\n * @returns {HtmlElement|false} The matched element or false if did not match\n * @sample Ink_Dom_Element_1_findUpwardsById.html \n */\n findUpwardsById: function(element, id) {\n var tst = function(el) {\n return el.id === id;\n };\n return InkElement.findUpwardsHaving(element, tst);\n },\n\n /**\n * Finds the closest ancestor by CSS selector\n *\n * @method findUpwardsBySelector\n * @param {HtmlElement} element Element to base the search from\n * @param {String} sel CSS selector\n * @returns {HtmlElement|false} The matched element or false if did not match\n * @sample Ink_Dom_Element_1_findUpwardsBySelector.html \n */\n findUpwardsBySelector: function(element, sel) {\n var Selector = Ink.getModule('Ink.Dom.Selector', '1');\n if (!Selector) {\n throw new Error('This method requires Ink.Dom.Selector');\n }\n var tst = function(el) {\n return Selector.matchesSelector(el, sel);\n };\n return InkElement.findUpwardsHaving(element, tst);\n },\n\n /**\n * Gets the trimmed text of an element\n *\n * @method getChildrenText\n * @param {DOMElement} el Element to base the search from\n * @param {Boolean} [removeIt] Flag to remove the text from the element\n * @return {String} Text found\n * @sample Ink_Dom_Element_1_getChildrenText.html \n */\n getChildrenText: function(el, removeIt) {\n var node,\n j,\n part,\n nodes = el.childNodes,\n jLen = nodes.length,\n text = '';\n\n if (!el) {\n return text;\n }\n\n for (j = 0; j < jLen; ++j) {\n node = nodes[j];\n if (!node) { continue; }\n if (node.nodeType === 3) { // TEXT NODE\n part = InkElement._trimString( String(node.data) );\n if (part.length > 0) {\n text += part;\n if (removeIt) { el.removeChild(node); }\n }\n else { el.removeChild(node); }\n }\n }\n\n return text;\n },\n\n /**\n * String trim implementation\n * Used by getChildrenText\n *\n * function _trimString\n * param {String} text\n * return {String} trimmed text\n */\n _trimString: function(text) {\n return (String.prototype.trim) ? text.trim() : text.replace(/^\\s*/, '').replace(/\\s*$/, '');\n },\n\n /**\n * Gets value of a select element\n *\n * @method getSelectValues\n * @param {DOMElement|String} select element\n * @return {Array} The selected values\n * @sample Ink_Dom_Element_1_getSelectValues.html \n */\n getSelectValues: function (select) {\n var selectEl = Ink.i(select);\n var values = [];\n for (var i = 0; i < selectEl.options.length; ++i) {\n values.push( selectEl.options[i].value );\n }\n return values;\n },\n\n\n /* used by fills */\n _normalizeData: function(data) {\n var d, data2 = [];\n for (var i = 0, f = data.length; i < f; ++i) {\n d = data[i];\n\n if (!(d instanceof Array)) { // if not array, wraps primitive twice: val -> [val, val]\n d = [d, d];\n }\n else if (d.length === 1) { // if 1 element array: [val] -> [val, val]\n d.push(d[0]);\n }\n data2.push(d);\n }\n return data2;\n },\n\n\n /**\n * Fills a select element with options\n *\n * @method fillSelect\n * @param {DOMElement|String} container Select element which will get filled\n * @param {Array} data Data to populate the component\n * @param {Boolean} [skipEmpty] Flag to skip empty option\n * @param {String|Number} [defaultValue] Initial selected value\n *\n * @sample Ink_Dom_Element_1_fillSelect.html \n */\n fillSelect: function(container, data, skipEmpty, defaultValue) {\n var containerEl = Ink.i(container);\n if (!containerEl) { return; }\n\n containerEl.innerHTML = '';\n var d, optionEl;\n\n if (!skipEmpty) {\n // add initial empty option\n optionEl = document.createElement('option');\n optionEl.setAttribute('value', '');\n containerEl.appendChild(optionEl);\n }\n\n data = InkElement._normalizeData(data);\n\n for (var i = 0, f = data.length; i < f; ++i) {\n d = data[i];\n\n optionEl = document.createElement('option');\n optionEl.setAttribute('value', d[0]);\n if (d.length > 2) {\n optionEl.setAttribute('extra', d[2]);\n }\n optionEl.appendChild( document.createTextNode(d[1]) );\n\n if (d[0] === defaultValue) {\n optionEl.setAttribute('selected', 'selected');\n }\n\n containerEl.appendChild(optionEl);\n }\n },\n\n\n /**\n * Creates a set of radio buttons from an array of data\n *\n * @method fillRadios\n * @param {DOMElement|String} insertAfterEl Element after which the input elements will be created\n * @param {String} name Name for the form field ([] is added if not present as a suffix)\n * @param {Array} data Data to populate the component\n * @param {Boolean} [skipEmpty] Flag to skip creation of empty options\n * @param {String|Number} [defaultValue] Initial selected value\n * @param {String} [splitEl] Name of element to add after each input element (example: 'br')\n * @return {DOMElement} Wrapper element around the radio buttons\n */\n fillRadios: function(insertAfterEl, name, data, skipEmpty, defaultValue, splitEl) {\n insertAfterEl = Ink.i(insertAfterEl);\n var containerEl = document.createElement('span');\n InkElement.insertAfter(containerEl, insertAfterEl);\n\n data = InkElement._normalizeData(data);\n\n /*\n if (name.substring(name.length - 1) !== ']') {\n name += '[]';\n }\n */\n\n var d, inputEl;\n\n if (!skipEmpty) {\n // add initial empty option\n inputEl = document.createElement('input');\n inputEl.setAttribute('type', 'radio');\n inputEl.setAttribute('name', name);\n inputEl.setAttribute('value', '');\n containerEl.appendChild(inputEl);\n if (splitEl) { containerEl.appendChild( document.createElement(splitEl) ); }\n }\n\n for (var i = 0; i < data.length; ++i) {\n d = data[i];\n\n inputEl = document.createElement('input');\n inputEl.setAttribute('type', 'radio');\n inputEl.setAttribute('name', name);\n inputEl.setAttribute('value', d[0]);\n containerEl.appendChild(inputEl);\n containerEl.appendChild( document.createTextNode(d[1]) );\n if (splitEl) { containerEl.appendChild( document.createElement(splitEl) ); }\n\n if (d[0] === defaultValue) {\n inputEl.checked = true;\n }\n }\n\n return containerEl;\n },\n\n\n /**\n * Creates set of checkbox buttons\n *\n * @method fillChecks\n * @param {DOMElement|String} insertAfterEl Element after which the input elements will be created\n * @param {String} name Name for the form field ([] is added if not present as a suffix)\n * @param {Array} data Data to populate the component\n * @param {Boolean} [skipEmpty] Flag to skip creation of empty options\n * @param {String|Number} [defaultValue] Initial selected value\n * @param {String} [splitEl] Name of element to add after each input element (example: 'br')\n * @return {DOMElement} Wrapper element around the checkboxes\n */\n fillChecks: function(insertAfterEl, name, data, defaultValue, splitEl) {\n insertAfterEl = Ink.i(insertAfterEl);\n var containerEl = document.createElement('span');\n InkElement.insertAfter(containerEl, insertAfterEl);\n\n data = InkElement._normalizeData(data);\n\n if (name.substring(name.length - 1) !== ']') {\n name += '[]';\n }\n\n var d, inputEl;\n\n for (var i = 0; i < data.length; ++i) {\n d = data[i];\n\n inputEl = document.createElement('input');\n inputEl.setAttribute('type', 'checkbox');\n inputEl.setAttribute('name', name);\n inputEl.setAttribute('value', d[0]);\n containerEl.appendChild(inputEl);\n containerEl.appendChild( document.createTextNode(d[1]) );\n if (splitEl) { containerEl.appendChild( document.createElement(splitEl) ); }\n\n if (d[0] === defaultValue) {\n inputEl.checked = true;\n }\n }\n\n return containerEl;\n },\n\n\n /**\n * Gets the index of an element relative to a parent\n *\n * @method parentIndexOf\n * @param {DOMElement} parentEl Element to parse\n * @param {DOMElement} childEl Child Element to look for\n * @return {Number} The index of the childEl inside parentEl. Returns -1 if it's not a direct child\n * @sample Ink_Dom_Element_1_parentIndexOf.html \n */\n parentIndexOf: function(parentEl, childEl) {\n var node, idx = 0;\n for (var i = 0, f = parentEl.childNodes.length; i < f; ++i) {\n node = parentEl.childNodes[i];\n if (node.nodeType === 1) { // ELEMENT\n if (node === childEl) { return idx; }\n ++idx;\n }\n }\n return -1;\n },\n\n\n /**\n * Gets the next siblings of an element\n *\n * @method nextSiblings\n * @param {String|DOMElement} elm Element\n * @return {Array} Array of next sibling elements\n * @sample Ink_Dom_Element_1_nextSiblings.html \n */\n nextSiblings: function(elm) {\n elm = Ink.i(elm);\n if(typeof(elm) === 'object' && elm !== null && elm.nodeType && elm.nodeType === 1) {\n var elements = [],\n siblings = elm.parentNode.children,\n index = InkElement.parentIndexOf(elm.parentNode, elm);\n\n for(var i = ++index, len = siblings.length; i\" + html + \"
      \" + deleteThisTbodyToken + \"
      \";\n } else {\n div.innerHTML = \"\" + html + \"
      \";\n }\n return div.firstChild;\n },\n TBODY: function (div, html) {\n div.innerHTML = '' + html + '
      ';\n return div.firstChild.getElementsByTagName('tbody')[0];\n },\n THEAD: function (div, html) {\n div.innerHTML = '' + html + '
      ';\n return div.firstChild.getElementsByTagName('thead')[0];\n },\n TFOOT: function (div, html) {\n div.innerHTML = '' + html + '
      ';\n return div.firstChild.getElementsByTagName('tfoot')[0];\n },\n TR: function (div, html) {\n div.innerHTML = '' + html + '
      ';\n return div.firstChild.firstChild.firstChild;\n }\n },\n\n /**\n * Gets a wrapper DIV with a certain HTML content to be inserted inside another element.\n * This is necessary for appendHTML,prependHTML functions, because they need a container element to copy the children from.\n *\n * Works around IE table quirks\n * @method _getWrapper\n * @private\n * @param elm\n * @param html\n */\n _getWrapper: function (elm, html) {\n var nodeName = elm.nodeName && elm.nodeName.toUpperCase();\n var wrapper = document.createElement('div');\n var wrapFunc = InkElement._wrapElements[nodeName];\n\n if ( !wrapFunc ) {\n wrapper.innerHTML = html;\n return wrapper;\n }\n // special cases\n wrapper = wrapFunc(wrapper, html);\n // worst case: tbody auto-creation even when our HTML has a tbody.\n if (browserCreatesTbodies && nodeName === 'TABLE') {\n // terrible case. Deal with tbody creation too.\n var tds = wrapper.getElementsByTagName('td');\n for (var i = 0, len = tds.length; i < len; i++) {\n if (tds[i].innerHTML === deleteThisTbodyToken) {\n var tbody = tds[i].parentNode.parentNode;\n tbody.parentNode.removeChild(tbody);\n }\n }\n }\n return wrapper;\n },\n\n /**\n * Appends HTML to an element.\n * This method parses the html string and doesn't modify its contents\n *\n * @method appendHTML\n * @param {String|DOMElement} elm Element\n * @param {String} html Markup string\n * @sample Ink_Dom_Element_1_appendHTML.html \n */\n appendHTML: function(elm, html){\n elm = Ink.i(elm);\n if(elm !== null) {\n var wrapper = InkElement._getWrapper(elm, html);\n while (wrapper.firstChild) {\n elm.appendChild(wrapper.firstChild);\n }\n }\n },\n\n /**\n * Prepends HTML to an element.\n * This method parses the html string and doesn't modify its contents\n *\n * @method prependHTML\n * @param {String|DOMElement} elm Element\n * @param {String} html Markup string\n * @sample Ink_Dom_Element_1_prependHTML.html \n */\n prependHTML: function(elm, html){\n elm = Ink.i(elm);\n if(elm !== null) {\n var wrapper = InkElement._getWrapper(elm, html);\n while (wrapper.lastChild) {\n elm.insertBefore(wrapper.lastChild, elm.firstChild);\n }\n }\n },\n\n /**\n * Sets the inner HTML of an element.\n *\n * @method setHTML\n * @param {String|DOMElement} elm Element\n * @param {String} html Markup string\n * @sample Ink_Dom_Element_1_setHTML.html \n */\n setHTML: function (elm, html) {\n elm = Ink.i(elm);\n if(elm !== null) {\n try {\n elm.innerHTML = html;\n } catch (e) {\n // Tables in IE7\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n InkElement.appendHTML(elm, html);\n }\n }\n },\n\n /**\n * Wraps an element inside a container.\n *\n * The container may or may not be in the document yet.\n *\n * @method wrap\n * @param {String|DOMElement} target Element to be wrapped\n * @param {String|DOMElement} container Element to wrap the target\n * @return Container element\n * @sample Ink_Dom_Element_1_wrap.html \n *\n * @example\n * before:\n *\n *
      \n *\n * call this function to wrap #target with a wrapper div.\n *\n * InkElement.wrap('target', InkElement.create('div', {id: 'container'});\n * \n * after: \n *\n *
      \n */\n wrap: function (target, container) {\n target = Ink.i(target);\n container = Ink.i(container);\n \n var nextNode = target.nextSibling;\n var parent = target.parentNode;\n\n container.appendChild(target);\n\n if (nextNode !== null) {\n parent.insertBefore(container, nextNode);\n } else {\n parent.appendChild(container);\n }\n\n return container;\n },\n\n /**\n * Places an element outside a wrapper.\n *\n * @method unwrap\n * @param {DOMElement} elem The element you're trying to unwrap. This should be an ancestor of the wrapper.\n * @param {String} [wrapperSelector] CSS Selector for the ancestor. Use this if your wrapper is not the direct parent of elem.\n * @sample Ink_Dom_Element_1_unwrap.html \n *\n * @example\n *\n * When you have this:\n *\n *
      \n *
      \n *
      \n *\n * If you do this:\n *\n * InkElement.unwrap('unwrapMe');\n *\n * You get this:\n *\n *
      \n *
      \n * \n **/\n unwrap: function (elem, wrapperSelector) {\n elem = Ink.i(elem);\n var wrapper;\n if (typeof wrapperSelector === 'string') {\n wrapper = InkElement.findUpwardsBySelector(elem, wrapperSelector);\n } else if (typeof wrapperSelector === 'object' && wrapperSelector.tagName) {\n wrapper = InkElement.findUpwardsHaving(elem, function (ancestor) {\n return ancestor === wrapperSelector;\n });\n } else {\n wrapper = elem.parentNode;\n }\n if (!wrapper || !wrapper.parentNode) { return; }\n\n InkElement.insertBefore(elem, wrapper);\n },\n\n /**\n * Replaces an element with another.\n *\n * @method replace\n * @param element The element to be replaced.\n * @param replacement The new element.\n * @sample Ink_Dom_Element_1_replace.html \n *\n * @example\n * var newelement1 = InkElement.create('div');\n * // ...\n * replace(Ink.i('element1'), newelement1);\n */\n replace: function (element, replacement) {\n element = Ink.i(element);\n if(element !== null) {\n element.parentNode.replaceChild(replacement, element);\n }\n },\n\n /**\n * Removes direct text children.\n * Useful to remove nasty layout gaps generated by whitespace on the markup.\n *\n * @method removeTextNodeChildren\n * @param {DOMElement} el Element to remove text from\n * @sample Ink_Dom_Element_1_removeTextNodeChildren.html \n */\n removeTextNodeChildren: function(el) {\n el = Ink.i(el);\n if(el !== null) {\n var prevEl, toRemove, parent = el;\n el = el.firstChild;\n while (el) {\n toRemove = (el.nodeType === 3);\n prevEl = el;\n el = el.nextSibling;\n if (toRemove) {\n parent.removeChild(prevEl);\n }\n }\n }\n },\n\n /**\n * Creates a documentFragment from an HTML string.\n *\n * @method htmlToFragment\n * @param {String} html HTML string\n * @return {DocumentFragment} DocumentFragment containing all of the elements from the html string\n * @sample Ink_Dom_Element_1_htmlToFragment.html \n */\n htmlToFragment: (createContextualFragmentSupport ?\n function(html){\n var range;\n\n if(typeof html !== 'string'){ return document.createDocumentFragment(); }\n\n range = document.createRange();\n\n // set the context to document.body (firefox does this already, webkit doesn't)\n range.selectNode(document.body);\n\n return range.createContextualFragment(html);\n } : function (html) {\n var fragment = document.createDocumentFragment(),\n tempElement,\n current;\n\n if(typeof html !== 'string'){ return fragment; }\n\n tempElement = document.createElement('div');\n tempElement.innerHTML = html;\n\n // append child removes elements from the original parent\n while( (current = tempElement.firstChild) ){ // intentional assignment\n fragment.appendChild(current);\n }\n\n return fragment;\n }),\n\n _camelCase: function(str)\n {\n return str ? str.replace(/-(\\w)/g, function (_, $1){\n return $1.toUpperCase();\n }) : str;\n },\n\n /**\n * Gets data attributes from an element\n *\n * @method data\n * @param {String|DOMElement} selector Element or CSS selector\n * @return {Object} Object with the data-* properties. If no data-attributes are present, an empty object is returned.\n * @sample Ink_Dom_Element_1_data.html \n */\n data: function(selector) {\n var el;\n if (typeof selector !== 'object' && typeof selector !== 'string') {\n throw '[Ink.Dom.Element.data] :: Invalid selector defined';\n }\n\n if (typeof selector === 'object') {\n el = selector;\n }\n else {\n var InkDomSelector = Ink.getModule('Ink.Dom.Selector', 1);\n if (!InkDomSelector) {\n throw \"[Ink.Dom.Element.data] :: this method requires Ink.Dom.Selector - v1\";\n }\n el = InkDomSelector.select(selector);\n if (el.length <= 0) {\n throw \"[Ink.Dom.Element.data] :: Can't find any element with the specified selector\";\n }\n el = el[0];\n }\n\n var dataset = {};\n var attrs = el.attributes || [];\n\n var curAttr, curAttrName, curAttrValue;\n if (attrs) {\n for (var i = 0, total = attrs.length; i < total; ++i) {\n curAttr = attrs[i];\n curAttrName = curAttr.name;\n curAttrValue = curAttr.value;\n if (curAttrName && curAttrName.indexOf('data-') === 0) {\n dataset[InkElement._camelCase(curAttrName.replace('data-', ''))] = curAttrValue;\n }\n }\n }\n\n return dataset;\n },\n\n /**\n * Move the cursor on an input or textarea element.\n * @method moveCursorTo\n * @param {DOMElement} el Input or Textarea element\n * @param {Number} t Index of the character to move the cursor to\n * @sample Ink_Dom_Element_1_moveCursorTo.html \n */\n moveCursorTo: function(el, t) {\n el = Ink.i(el);\n if(el !== null) {\n if (el.setSelectionRange) {\n el.setSelectionRange(t, t);\n //el.focus();\n }\n else {\n var range = el.createTextRange();\n range.collapse(true);\n range.moveEnd( 'character', t);\n range.moveStart('character', t);\n range.select();\n }\n }\n },\n\n /**\n * Get the page's width.\n * @method pageWidth\n * @return {Number} Page width in pixels\n * @sample Ink_Dom_Element_1_pageWidth.html \n */\n pageWidth: function() {\n var xScroll;\n\n if (window.innerWidth && window.scrollMaxX) {\n xScroll = window.innerWidth + window.scrollMaxX;\n } else if (document.body.scrollWidth > document.body.offsetWidth){\n xScroll = document.body.scrollWidth;\n } else {\n xScroll = document.body.offsetWidth;\n }\n\n var windowWidth;\n\n if (window.self.innerWidth) {\n if(document.documentElement.clientWidth){\n windowWidth = document.documentElement.clientWidth;\n } else {\n windowWidth = window.self.innerWidth;\n }\n } else if (document.documentElement && document.documentElement.clientWidth) {\n windowWidth = document.documentElement.clientWidth;\n } else if (document.body) {\n windowWidth = document.body.clientWidth;\n }\n\n if(xScroll < windowWidth){\n return xScroll;\n } else {\n return windowWidth;\n }\n },\n\n /**\n * Get the page's height.\n * @method pageHeight\n * @return {Number} Page height in pixels\n * @sample Ink_Dom_Element_1_pageHeight.html \n */\n pageHeight: function() {\n var yScroll;\n\n if (window.innerHeight && window.scrollMaxY) {\n yScroll = window.innerHeight + window.scrollMaxY;\n } else if (document.body.scrollHeight > document.body.offsetHeight){\n yScroll = document.body.scrollHeight;\n } else {\n yScroll = document.body.offsetHeight;\n }\n\n var windowHeight;\n\n if (window.self.innerHeight) {\n windowHeight = window.self.innerHeight;\n } else if (document.documentElement && document.documentElement.clientHeight) {\n windowHeight = document.documentElement.clientHeight;\n } else if (document.body) {\n windowHeight = document.body.clientHeight;\n }\n\n if(yScroll < windowHeight){\n return windowHeight;\n } else {\n return yScroll;\n }\n },\n\n /**\n * Get the viewport's width.\n * @method viewportWidth\n * @return {Number} Viewport width in pixels\n * @sample Ink_Dom_Element_1_viewportWidth.html \n */\n viewportWidth: function() {\n if(typeof window.innerWidth !== \"undefined\") {\n return window.innerWidth;\n }\n if (document.documentElement && typeof document.documentElement.offsetWidth !== \"undefined\") {\n return document.documentElement.offsetWidth;\n }\n },\n\n /**\n * Get the viewport's height.\n * @method viewportHeight\n * @return {Number} Viewport height in pixels\n * @sample Ink_Dom_Element_1_viewportHeight.html \n */\n viewportHeight: function() {\n if (typeof window.innerHeight !== \"undefined\") {\n return window.innerHeight;\n }\n if (document.documentElement && typeof document.documentElement.offsetHeight !== \"undefined\") {\n return document.documentElement.offsetHeight;\n }\n },\n\n /**\n * Get the scroll's width.\n * @method scrollWidth\n * @return {Number} Scroll width\n */\n scrollWidth: function() {\n if (typeof window.self.pageXOffset !== 'undefined') {\n return window.self.pageXOffset;\n }\n if (typeof document.documentElement !== 'undefined' && typeof document.documentElement.scrollLeft !== 'undefined') {\n return document.documentElement.scrollLeft;\n }\n return document.body.scrollLeft;\n },\n\n /**\n * Get the scroll's height.\n * @method scrollHeight\n * @return {Number} Scroll height\n */\n scrollHeight: function() {\n if (typeof window.self.pageYOffset !== 'undefined') {\n return window.self.pageYOffset;\n }\n if (typeof document.documentElement !== 'undefined' && typeof document.documentElement.scrollTop !== 'undefined') {\n return document.documentElement.scrollTop;\n }\n return document.body.scrollTop;\n }\n };\n\n return InkElement;\n\n});\n","/**\n * Event management\n * @module Ink.Dom.Event_1\n * @version 1\n */\n\nInk.createModule('Ink.Dom.Event', 1, [], function() {\n /* jshint\n asi:true,\n strict:false,\n laxcomma:true,\n eqeqeq:false,\n laxbreak:true,\n boss:true,\n curly:false,\n expr:true\n */\n\n /**\n * @namespace Ink.Dom.Event_1\n * @static\n */\n\n /*!\n * Bean - copyright (c) Jacob Thornton 2011-2012\n * https://github.com/fat/bean\n * MIT license\n */\n var bean = (function (name, context, definition) {\n return definition()\n })('bean', this, function (name, context) {\n name = name || 'bean'\n context = context || this\n\n var win = window\n , old = context[name]\n , namespaceRegex = /[^\\.]*(?=\\..*)\\.|.*/\n , nameRegex = /\\..*/\n , addEvent = 'addEventListener'\n , removeEvent = 'removeEventListener'\n , doc = document || {}\n , root = doc.documentElement || {}\n , W3C_MODEL = root[addEvent]\n , eventSupport = W3C_MODEL ? addEvent : 'attachEvent'\n , ONE = {} // singleton for quick matching making add() do one()\n\n , slice = Array.prototype.slice\n , str2arr = function (s, d) { return s.split(d || ' ') }\n , isString = function (o) { return typeof o == 'string' }\n , isFunction = function (o) { return typeof o == 'function' }\n\n // events that we consider to be 'native', anything not in this list will\n // be treated as a custom event\n , standardNativeEvents =\n 'click dblclick mouseup mousedown contextmenu ' + // mouse buttons\n 'mousewheel mousemultiwheel DOMMouseScroll ' + // mouse wheel\n 'mouseover mouseout mousemove selectstart selectend ' + // mouse movement\n 'keydown keypress keyup ' + // keyboard\n 'orientationchange ' + // mobile\n 'focus blur change reset select submit ' + // form elements\n 'load unload beforeunload resize move DOMContentLoaded ' + // window\n 'readystatechange message ' + // window\n 'error abort scroll ' // misc\n // element.fireEvent('onXYZ'... is not forgiving if we try to fire an event\n // that doesn't actually exist, so make sure we only do these on newer browsers\n , w3cNativeEvents =\n 'show ' + // mouse buttons\n 'input invalid ' + // form elements\n 'touchstart touchmove touchend touchcancel ' + // touch\n 'gesturestart gesturechange gestureend ' + // gesture\n 'textinput' + // TextEvent\n 'readystatechange pageshow pagehide popstate ' + // window\n 'hashchange offline online ' + // window\n 'afterprint beforeprint ' + // printing\n 'dragstart dragenter dragover dragleave drag drop dragend ' + // dnd\n 'loadstart progress suspend emptied stalled loadmetadata ' + // media\n 'loadeddata canplay canplaythrough playing waiting seeking ' + // media\n 'seeked ended durationchange timeupdate play pause ratechange ' + // media\n 'volumechange cuechange ' + // media\n 'checking noupdate downloading cached updateready obsolete ' // appcache\n\n // convert to a hash for quick lookups\n , nativeEvents = (function (hash, events, i) {\n for (i = 0; i < events.length; i++) events[i] && (hash[events[i]] = 1)\n return hash\n }({}, str2arr(standardNativeEvents + (W3C_MODEL ? w3cNativeEvents : ''))))\n\n // custom events are events that we *fake*, they are not provided natively but\n // we can use native events to generate them\n , customEvents = (function () {\n var isAncestor = 'compareDocumentPosition' in root\n ? function (element, container) {\n return container.compareDocumentPosition && (container.compareDocumentPosition(element) & 16) === 16\n }\n : 'contains' in root\n ? function (element, container) {\n container = container.nodeType === 9 || container === window ? root : container\n return container !== element && container.contains(element)\n }\n : function (element, container) {\n while (element = element.parentNode) if (element === container) return 1\n return 0\n }\n , check = function (event) {\n var related = event.relatedTarget\n return !related\n ? related == null\n : (related !== this && related.prefix !== 'xul' && !/document/.test(this.toString())\n && !isAncestor(related, this))\n }\n\n return {\n mouseenter: { base: 'mouseover', condition: check }\n , mouseleave: { base: 'mouseout', condition: check }\n , mousewheel: { base: /Firefox/.test(navigator.userAgent) ? 'DOMMouseScroll' : 'mousewheel' }\n }\n }())\n\n // we provide a consistent Event object across browsers by taking the actual DOM\n // event object and generating a new one from its properties.\n , Event = (function () {\n // a whitelist of properties (for different event types) tells us what to check for and copy\n var commonProps = str2arr('altKey attrChange attrName bubbles cancelable ctrlKey currentTarget ' +\n 'detail eventPhase getModifierState isTrusted metaKey relatedNode relatedTarget shiftKey ' +\n 'srcElement target timeStamp type view which propertyName')\n , mouseProps = commonProps.concat(str2arr('button buttons clientX clientY dataTransfer ' +\n 'fromElement offsetX offsetY pageX pageY screenX screenY toElement'))\n , mouseWheelProps = mouseProps.concat(str2arr('wheelDelta wheelDeltaX wheelDeltaY wheelDeltaZ ' +\n 'axis')) // 'axis' is FF specific\n , keyProps = commonProps.concat(str2arr('char charCode key keyCode keyIdentifier ' +\n 'keyLocation location'))\n , textProps = commonProps.concat(str2arr('data'))\n , touchProps = commonProps.concat(str2arr('touches targetTouches changedTouches scale rotation'))\n , messageProps = commonProps.concat(str2arr('data origin source'))\n , stateProps = commonProps.concat(str2arr('state'))\n , overOutRegex = /over|out/\n // some event types need special handling and some need special properties, do that all here\n , typeFixers = [\n { // key events\n reg: /key/i\n , fix: function (event, newEvent) {\n newEvent.keyCode = event.keyCode || event.which\n return keyProps\n }\n }\n , { // mouse events\n reg: /click|mouse(?!(.*wheel|scroll))|menu|drag|drop/i\n , fix: function (event, newEvent, type) {\n newEvent.rightClick = event.which === 3 || event.button === 2\n newEvent.pos = { x: 0, y: 0 }\n if (event.pageX || event.pageY) {\n newEvent.clientX = event.pageX\n newEvent.clientY = event.pageY\n } else if (event.clientX || event.clientY) {\n newEvent.clientX = event.clientX + doc.body.scrollLeft + root.scrollLeft\n newEvent.clientY = event.clientY + doc.body.scrollTop + root.scrollTop\n }\n if (overOutRegex.test(type)) {\n newEvent.relatedTarget = event.relatedTarget\n || event[(type == 'mouseover' ? 'from' : 'to') + 'Element']\n }\n return mouseProps\n }\n }\n , { // mouse wheel events\n reg: /mouse.*(wheel|scroll)/i\n , fix: function () { return mouseWheelProps }\n }\n , { // TextEvent\n reg: /^text/i\n , fix: function () { return textProps }\n }\n , { // touch and gesture events\n reg: /^touch|^gesture/i\n , fix: function () { return touchProps }\n }\n , { // message events\n reg: /^message$/i\n , fix: function () { return messageProps }\n }\n , { // popstate events\n reg: /^popstate$/i\n , fix: function () { return stateProps }\n }\n , { // everything else\n reg: /.*/\n , fix: function () { return commonProps }\n }\n ]\n , typeFixerMap = {} // used to map event types to fixer functions (above), a basic cache mechanism\n\n , Event = function (event, element, isNative) {\n if (!arguments.length) return\n event = event || ((element.ownerDocument || element.document || element).parentWindow || win).event\n this.originalEvent = event\n this.isNative = isNative\n this.isBean = true\n\n if (!event) return\n\n var type = event.type\n , target = event.target || event.srcElement\n , i, l, p, props, fixer\n\n this.target = target && target.nodeType === 3 ? target.parentNode : target\n\n if (isNative) { // we only need basic augmentation on custom events, the rest expensive & pointless\n fixer = typeFixerMap[type]\n if (!fixer) { // haven't encountered this event type before, map a fixer function for it\n for (i = 0, l = typeFixers.length; i < l; i++) {\n if (typeFixers[i].reg.test(type)) { // guaranteed to match at least one, last is .*\n typeFixerMap[type] = fixer = typeFixers[i].fix\n break\n }\n }\n }\n\n props = fixer(event, this, type)\n for (i = props.length; i--;) {\n if (!((p = props[i]) in this) && p in event) this[p] = event[p]\n }\n }\n }\n\n // preventDefault() and stopPropagation() are a consistent interface to those functions\n // on the DOM, stop() is an alias for both of them together\n Event.prototype.preventDefault = function () {\n if (this.originalEvent.preventDefault) this.originalEvent.preventDefault()\n else this.originalEvent.returnValue = false\n }\n Event.prototype.stopPropagation = function () {\n if (this.originalEvent.stopPropagation) this.originalEvent.stopPropagation()\n else this.originalEvent.cancelBubble = true\n }\n Event.prototype.stop = function () {\n this.preventDefault()\n this.stopPropagation()\n this.stopped = true\n }\n // stopImmediatePropagation() has to be handled internally because we manage the event list for\n // each element\n // note that originalElement may be a Bean#Event object in some situations\n Event.prototype.stopImmediatePropagation = function () {\n if (this.originalEvent.stopImmediatePropagation) this.originalEvent.stopImmediatePropagation()\n this.isImmediatePropagationStopped = function () { return true }\n }\n Event.prototype.isImmediatePropagationStopped = function () {\n return this.originalEvent.isImmediatePropagationStopped && this.originalEvent.isImmediatePropagationStopped()\n }\n Event.prototype.clone = function (currentTarget) {\n //TODO: this is ripe for optimisation, new events are *expensive*\n // improving this will speed up delegated events\n var ne = new Event(this, this.element, this.isNative)\n ne.currentTarget = currentTarget\n return ne\n }\n\n return Event\n }())\n\n // if we're in old IE we can't do onpropertychange on doc or win so we use doc.documentElement for both\n , targetElement = function (element, isNative) {\n return !W3C_MODEL && !isNative && (element === doc || element === win) ? root : element\n }\n\n /**\n * Bean maintains an internal registry for event listeners. We don't touch elements, objects\n * or functions to identify them, instead we store everything in the registry.\n * Each event listener has a RegEntry object, we have one 'registry' for the whole instance.\n */\n , RegEntry = (function () {\n // each handler is wrapped so we can handle delegation and custom events\n var wrappedHandler = function (element, fn, condition, args) {\n var call = function (event, eargs) {\n return fn.apply(element, args ? slice.call(eargs, event ? 0 : 1).concat(args) : eargs)\n }\n , findTarget = function (event, eventElement) {\n return fn.__beanDel ? fn.__beanDel.ft(event.target, element) : eventElement\n }\n , handler = condition\n ? function (event) {\n var target = findTarget(event, this) // deleated event\n if (condition.apply(target, arguments)) {\n if (event) event.currentTarget = target\n return call(event, arguments)\n }\n }\n : function (event) {\n if (fn.__beanDel) event = event.clone(findTarget(event)) // delegated event, fix the fix\n return call(event, arguments)\n }\n handler.__beanDel = fn.__beanDel\n return handler\n }\n\n , RegEntry = function (element, type, handler, original, namespaces, args, root) {\n var customType = customEvents[type]\n , isNative\n\n if (type == 'unload') {\n // self clean-up\n handler = once(removeListener, element, type, handler, original)\n }\n\n if (customType) {\n if (customType.condition) {\n handler = wrappedHandler(element, handler, customType.condition, args)\n }\n type = customType.base || type\n }\n\n this.isNative = isNative = nativeEvents[type] && !!element[eventSupport]\n this.customType = !W3C_MODEL && !isNative && type\n this.element = element\n this.type = type\n this.original = original\n this.namespaces = namespaces\n this.eventType = W3C_MODEL || isNative ? type : 'propertychange'\n this.target = targetElement(element, isNative)\n this[eventSupport] = !!this.target[eventSupport]\n this.root = root\n this.handler = wrappedHandler(element, handler, null, args)\n }\n\n // given a list of namespaces, is our entry in any of them?\n RegEntry.prototype.inNamespaces = function (checkNamespaces) {\n var i, j, c = 0\n if (!checkNamespaces) return true\n if (!this.namespaces) return false\n for (i = checkNamespaces.length; i--;) {\n for (j = this.namespaces.length; j--;) {\n if (checkNamespaces[i] == this.namespaces[j]) c++\n }\n }\n return checkNamespaces.length === c\n }\n\n // match by element, original fn (opt), handler fn (opt)\n RegEntry.prototype.matches = function (checkElement, checkOriginal, checkHandler) {\n return this.element === checkElement &&\n (!checkOriginal || this.original === checkOriginal) &&\n (!checkHandler || this.handler === checkHandler)\n }\n\n return RegEntry\n }())\n\n , registry = (function () {\n // our map stores arrays by event type, just because it's better than storing\n // everything in a single array.\n // uses '$' as a prefix for the keys for safety and 'r' as a special prefix for\n // rootListeners so we can look them up fast\n var map = {}\n\n // generic functional search of our registry for matching listeners,\n // `fn` returns false to break out of the loop\n , forAll = function (element, type, original, handler, root, fn) {\n var pfx = root ? 'r' : '$'\n if (!type || type == '*') {\n // search the whole registry\n for (var t in map) {\n if (t.charAt(0) == pfx) {\n forAll(element, t.substr(1), original, handler, root, fn)\n }\n }\n } else {\n var i = 0, l, list = map[pfx + type], all = element == '*'\n if (!list) return\n for (l = list.length; i < l; i++) {\n if ((all || list[i].matches(element, original, handler)) && !fn(list[i], list, i, type)) return\n }\n }\n }\n\n , has = function (element, type, original, root) {\n // we're not using forAll here simply because it's a bit slower and this\n // needs to be fast\n var i, list = map[(root ? 'r' : '$') + type]\n if (list) {\n for (i = list.length; i--;) {\n if (!list[i].root && list[i].matches(element, original, null)) return true\n }\n }\n return false\n }\n\n , get = function (element, type, original, root) {\n var entries = []\n forAll(element, type, original, null, root, function (entry) {\n return entries.push(entry)\n })\n return entries\n }\n\n , put = function (entry) {\n var has = !entry.root && !this.has(entry.element, entry.type, null, false)\n , key = (entry.root ? 'r' : '$') + entry.type\n ;(map[key] || (map[key] = [])).push(entry)\n return has\n }\n\n , del = function (entry) {\n forAll(entry.element, entry.type, null, entry.handler, entry.root, function (entry, list, i) {\n list.splice(i, 1)\n entry.removed = true\n if (list.length === 0) delete map[(entry.root ? 'r' : '$') + entry.type]\n return false\n })\n }\n\n // dump all entries, used for onunload\n , entries = function () {\n var t, entries = []\n for (t in map) {\n if (t.charAt(0) == '$') entries = entries.concat(map[t])\n }\n return entries\n }\n\n return { has: has, get: get, put: put, del: del, entries: entries }\n }())\n\n // we need a selector engine for delegated events, use querySelectorAll if it exists\n // but for older browsers we need Qwery, Sizzle or similar\n , selectorEngine\n , setSelectorEngine = function (e) {\n if (!arguments.length) {\n selectorEngine = doc.querySelectorAll\n ? function (s, r) {\n return r.querySelectorAll(s)\n }\n : function () {\n throw new Error('Bean: No selector engine installed') // eeek\n }\n } else {\n selectorEngine = e\n }\n }\n\n // we attach this listener to each DOM event that we need to listen to, only once\n // per event type per DOM element\n , rootListener = function (event, type) {\n if (!W3C_MODEL && type && event && event.propertyName != '_on' + type) return\n\n var listeners = registry.get(this, type || event.type, null, false)\n , l = listeners.length\n , i = 0\n\n event = new Event(event, this, true)\n if (type) event.type = type\n\n // iterate through all handlers registered for this type, calling them unless they have\n // been removed by a previous handler or stopImmediatePropagation() has been called\n for (; i < l && !event.isImmediatePropagationStopped(); i++) {\n if (!listeners[i].removed) listeners[i].handler.call(this, event)\n }\n }\n\n // add and remove listeners to DOM elements\n , listener = W3C_MODEL\n ? function (element, type, add) {\n // new browsers\n element[add ? addEvent : removeEvent](type, rootListener, false)\n }\n : function (element, type, add, custom) {\n // IE8 and below, use attachEvent/detachEvent and we have to piggy-back propertychange events\n // to simulate event bubbling etc.\n var entry\n if (add) {\n registry.put(entry = new RegEntry(\n element\n , custom || type\n , function (event) { // handler\n rootListener.call(element, event, custom)\n }\n , rootListener\n , null\n , null\n , true // is root\n ))\n if (custom && element['_on' + custom] == null) element['_on' + custom] = 0\n entry.target.attachEvent('on' + entry.eventType, entry.handler)\n } else {\n entry = registry.get(element, custom || type, rootListener, true)[0]\n if (entry) {\n entry.target.detachEvent('on' + entry.eventType, entry.handler)\n registry.del(entry)\n }\n }\n }\n\n , once = function (rm, element, type, fn, originalFn) {\n // wrap the handler in a handler that does a remove as well\n return function () {\n fn.apply(this, arguments)\n rm(element, type, originalFn)\n }\n }\n\n , removeListener = function (element, orgType, handler, namespaces) {\n var type = orgType && orgType.replace(nameRegex, '')\n , handlers = registry.get(element, type, null, false)\n , removed = {}\n , i, l\n\n for (i = 0, l = handlers.length; i < l; i++) {\n if ((!handler || handlers[i].original === handler) && handlers[i].inNamespaces(namespaces)) {\n // TODO: this is problematic, we have a registry.get() and registry.del() that\n // both do registry searches so we waste cycles doing this. Needs to be rolled into\n // a single registry.forAll(fn) that removes while finding, but the catch is that\n // we'll be splicing the arrays that we're iterating over. Needs extra tests to\n // make sure we don't screw it up. @rvagg\n registry.del(handlers[i])\n if (!removed[handlers[i].eventType] && handlers[i][eventSupport])\n removed[handlers[i].eventType] = { t: handlers[i].eventType, c: handlers[i].type }\n }\n }\n // check each type/element for removed listeners and remove the rootListener where it's no longer needed\n for (i in removed) {\n if (!registry.has(element, removed[i].t, null, false)) {\n // last listener of this type, remove the rootListener\n listener(element, removed[i].t, false, removed[i].c)\n }\n }\n }\n\n // set up a delegate helper using the given selector, wrap the handler function\n , delegate = function (selector, fn) {\n //TODO: findTarget (therefore $) is called twice, once for match and once for\n // setting e.currentTarget, fix this so it's only needed once\n var findTarget = function (target, root) {\n var i, array = isString(selector) ? selectorEngine(selector, root) : selector\n for (; target && target !== root; target = target.parentNode) {\n for (i = array.length; i--;) {\n if (array[i] === target) return target\n }\n }\n }\n , handler = function (e) {\n var match = findTarget(e.target, this)\n if (match) fn.apply(match, arguments)\n }\n\n // __beanDel isn't pleasant but it's a private function, not exposed outside of Bean\n handler.__beanDel = {\n ft : findTarget // attach it here for customEvents to use too\n , selector : selector\n }\n return handler\n }\n\n , fireListener = W3C_MODEL ? function (isNative, type, element) {\n // modern browsers, do a proper dispatchEvent()\n var evt = doc.createEvent(isNative ? 'HTMLEvents' : 'UIEvents')\n evt[isNative ? 'initEvent' : 'initUIEvent'](type, true, true, win, 1)\n element.dispatchEvent(evt)\n } : function (isNative, type, element) {\n // old browser use onpropertychange, just increment a custom property to trigger the event\n element = targetElement(element, isNative)\n isNative ? element.fireEvent('on' + type, doc.createEventObject()) : element['_on' + type]++\n }\n\n /**\n * Public API: off(), on(), add(), (remove()), one(), fire(), clone()\n */\n\n /**\n * off(element[, eventType(s)[, handler ]])\n */\n , off = function (element, typeSpec, fn) {\n var isTypeStr = isString(typeSpec)\n , k, type, namespaces, i\n\n if (isTypeStr && typeSpec.indexOf(' ') > 0) {\n // off(el, 't1 t2 t3', fn) or off(el, 't1 t2 t3')\n typeSpec = str2arr(typeSpec)\n for (i = typeSpec.length; i--;)\n off(element, typeSpec[i], fn)\n return element\n }\n\n type = isTypeStr && typeSpec.replace(nameRegex, '')\n if (type && customEvents[type]) type = customEvents[type].base\n\n if (!typeSpec || isTypeStr) {\n // off(el) or off(el, t1.ns) or off(el, .ns) or off(el, .ns1.ns2.ns3)\n if (namespaces = isTypeStr && typeSpec.replace(namespaceRegex, '')) namespaces = str2arr(namespaces, '.')\n removeListener(element, type, fn, namespaces)\n } else if (isFunction(typeSpec)) {\n // off(el, fn)\n removeListener(element, null, typeSpec)\n } else {\n // off(el, { t1: fn1, t2, fn2 })\n for (k in typeSpec) {\n if (typeSpec.hasOwnProperty(k)) off(element, k, typeSpec[k])\n }\n }\n\n return element\n }\n\n /**\n * on(element, eventType(s)[, selector], handler[, args ])\n */\n , on = function(element, events, selector, fn) {\n var originalFn, type, types, i, args, entry, first\n\n //TODO: the undefined check means you can't pass an 'args' argument, fix this perhaps?\n if (selector === undefined && typeof events == 'object') {\n //TODO: this can't handle delegated events\n for (type in events) {\n if (events.hasOwnProperty(type)) {\n on.call(this, element, type, events[type])\n }\n }\n return\n }\n\n if (!isFunction(selector)) {\n // delegated event\n originalFn = fn\n args = slice.call(arguments, 4)\n fn = delegate(selector, originalFn, selectorEngine)\n } else {\n args = slice.call(arguments, 3)\n fn = originalFn = selector\n }\n\n types = str2arr(events)\n\n // special case for one(), wrap in a self-removing handler\n if (this === ONE) {\n fn = once(off, element, events, fn, originalFn)\n }\n\n for (i = types.length; i--;) {\n // add new handler to the registry and check if it's the first for this element/type\n first = registry.put(entry = new RegEntry(\n element\n , types[i].replace(nameRegex, '') // event type\n , fn\n , originalFn\n , str2arr(types[i].replace(namespaceRegex, ''), '.') // namespaces\n , args\n , false // not root\n ))\n if (entry[eventSupport] && first) {\n // first event of this type on this element, add root listener\n listener(element, entry.eventType, true, entry.customType)\n }\n }\n\n return element\n }\n\n /**\n * add(element[, selector], eventType(s), handler[, args ])\n *\n * Deprecated: kept (for now) for backward-compatibility\n */\n , add = function (element, events, fn, delfn) {\n return on.apply(\n null\n , !isString(fn)\n ? slice.call(arguments)\n : [ element, fn, events, delfn ].concat(arguments.length > 3 ? slice.call(arguments, 5) : [])\n )\n }\n\n /**\n * one(element, eventType(s)[, selector], handler[, args ])\n */\n , one = function () {\n return on.apply(ONE, arguments)\n }\n\n /**\n * fire(element, eventType(s)[, args ])\n *\n * The optional 'args' argument must be an array, if no 'args' argument is provided\n * then we can use the browser's DOM event system, otherwise we trigger handlers manually\n */\n , fire = function (element, type, args) {\n var types = str2arr(type)\n , i, j, l, names, handlers\n\n for (i = types.length; i--;) {\n type = types[i].replace(nameRegex, '')\n if (names = types[i].replace(namespaceRegex, '')) names = str2arr(names, '.')\n if (!names && !args && element[eventSupport]) {\n fireListener(nativeEvents[type], type, element)\n } else {\n // non-native event, either because of a namespace, arguments or a non DOM element\n // iterate over all listeners and manually 'fire'\n handlers = registry.get(element, type, null, false)\n args = [false].concat(args)\n for (j = 0, l = handlers.length; j < l; j++) {\n if (handlers[j].inNamespaces(names)) {\n handlers[j].handler.apply(element, args)\n }\n }\n }\n }\n return element\n }\n\n /**\n * clone(dstElement, srcElement[, eventType ])\n *\n * TODO: perhaps for consistency we should allow the same flexibility in type specifiers?\n */\n , clone = function (element, from, type) {\n var handlers = registry.get(from, type, null, false)\n , l = handlers.length\n , i = 0\n , args, beanDel\n\n for (; i < l; i++) {\n if (handlers[i].original) {\n args = [ element, handlers[i].type ]\n if (beanDel = handlers[i].handler.__beanDel) args.push(beanDel.selector)\n args.push(handlers[i].original)\n on.apply(null, args)\n }\n }\n return element\n }\n\n , bean = {\n 'on' : on\n , 'add' : add\n , 'one' : one\n , 'off' : off\n , 'remove' : off\n , 'clone' : clone\n , 'fire' : fire\n , 'Event' : Event\n , 'setSelectorEngine' : setSelectorEngine\n , 'noConflict' : function () {\n context[name] = old\n return this\n }\n }\n\n // for IE, clean up on unload to avoid leaks\n if (win.attachEvent) {\n var cleanup = function () {\n var i, entries = registry.entries()\n for (i in entries) {\n if (entries[i].type && entries[i].type !== 'unload') off(entries[i].element, entries[i].type)\n }\n win.detachEvent('onunload', cleanup)\n win.CollectGarbage && win.CollectGarbage()\n }\n win.attachEvent('onunload', cleanup)\n }\n\n // initialize selector engine to internal default (qSA or throw Error)\n setSelectorEngine(Ink.ss)\n\n return bean\n });\n\n /**\n * Keep this declaration here and off Bean as it extends the Event\n * object and some properties are readonly in strict mode\n */\n 'use strict';\n\n var InkEvent = {\n\n KEY_BACKSPACE: 8,\n KEY_TAB: 9,\n KEY_RETURN: 13,\n KEY_ESC: 27,\n KEY_SPACE: 32,\n KEY_LEFT: 37,\n KEY_UP: 38,\n KEY_RIGHT: 39,\n KEY_DOWN: 40,\n KEY_DELETE: 46,\n KEY_HOME: 36,\n KEY_END: 35,\n KEY_PAGEUP: 33,\n KEY_PAGEDOWN: 34,\n KEY_INSERT: 45,\n \n /**\n * Creates a debounced version of a function.\n * Returns a function which calls `func`, waiting at least `wait` milliseconds between calls. This is useful for events such as `scroll` or `resize`, which can be triggered too many times per second, slowing down the browser with needless function calls.\n *\n * *note:* This does not delay the first function call to the function.\n *\n * @method throttle\n * @param {Function} func Function to call. Arguments and context are both passed.\n * @param {Number} [wait]=0 Milliseconds to wait between calls.\n * @sample Ink_Dom_Event_1_throttle.html \n **/\n throttle: function (func, wait) {\n wait = wait || 0;\n var lastCall = 0; // Warning: This breaks on Jan 1st 1970 0:00\n var timeout;\n var throttled = function () {\n var now = +new Date();\n var timeDiff = now - lastCall;\n if (timeDiff >= wait) {\n lastCall = now;\n return func.apply(this, [].slice.call(arguments));\n } else {\n var that = this;\n var args = [].slice.call(arguments);\n if (!timeout) {\n timeout = setTimeout(function () {\n timeout = null;\n return throttled.apply(that, args);\n }, wait - timeDiff);\n }\n }\n };\n return throttled;\n },\n\n /**\n * Gets the event's target element.\n *\n * @method element\n * @param {Object} ev Event object\n * @return {DOMNode} The target\n * @sample Ink_Dom_Event_1_element.html \n */\n element: function(ev) {\n var node = ev.delegationTarget ||\n ev.target ||\n // IE stuff\n (ev.type === 'mouseout' && ev.fromElement) ||\n (ev.type === 'mouseleave' && ev.fromElement) ||\n (ev.type === 'mouseover' && ev.toElement) ||\n (ev.type === 'mouseenter' && ev.toElement) ||\n ev.srcElement ||\n null;\n return node && (node.nodeType === 3 || node.nodeType === 4) ? node.parentNode : node;\n },\n\n /**\n * Gets the event's related target element.\n *\n * @method relatedTarget\n * @param {Object} ev event object\n * @return {DOMNode} The related target\n * @sample Ink_Dom_Event_1_relatedTarget.html \n */\n relatedTarget: function(ev){\n var node = ev.relatedTarget ||\n // IE stuff\n (ev.type === 'mouseout' && ev.toElement) ||\n (ev.type === 'mouseleave' && ev.toElement) ||\n (ev.type === 'mouseover' && ev.fromElement) ||\n (ev.type === 'mouseenter' && ev.fromElement) ||\n null;\n return node && (node.nodeType === 3 || node.nodeType === 4) ? node.parentNode : node;\n },\n\n /**\n * Find closest ancestor element by tag name related to the event target.\n * Navigate up the DOM tree, looking for a tag with the name `elmTagName`.\n *\n * If such tag is not found, `document` is returned.\n *\n * @method findElement\n * @param {Object} ev Event object\n * @param {String} elmTagName Tag name to find\n * @param {Boolean} [force]=false Flag to skip returning `document` and to return `false` instead.\n * @return {DOMElement} the first element which matches given tag name or the document element if the wanted tag is not found\n * @sample Ink_Dom_Event_1_findElement.html \n */\n findElement: function(ev, elmTagName, force)\n {\n var node = this.element(ev);\n while(true) {\n if(node.nodeName.toLowerCase() === elmTagName.toLowerCase()) {\n return node;\n } else {\n node = node.parentNode;\n if(!node) {\n if(force) {\n return false;\n }\n return document;\n }\n if(!node.parentNode){\n if(force){ return false; }\n return document;\n }\n }\n }\n },\n\n /**\n * Attaches an event to element\n *\n * @method observe\n * @param {DOMElement|String} element Element id or element\n * @param {String} eventName Event name\n * @param {Function} callBack Receives the event object as a parameter. If you're manually firing custom events, check it's eventName property to make sure you're handling the right event.\n * @param {Boolean} [useCapture] Flag to change event listening from bubbling to capture.\n * @return {Function} The event handler used. Hang on to this if you want to `stopObserving` later.\n * @sample Ink_Dom_Event_1_observe.html \n */\n observe: function(element, eventName, callBack, useCapture) {\n element = Ink.i(element);\n if(element) {\n if(element.addEventListener) {\n element.addEventListener(eventName, callBack, !!useCapture);\n } else {\n element.attachEvent('on' + eventName, (callBack = Ink.bind(callBack, element)));\n }\n return callBack;\n }\n },\n\n /**\n * Like observe, but listen to the event only once.\n *\n * @method observeOnce\n * @param {DOMElement|String} element Element id or element\n * @param {String} eventName Event name\n * @param {Function} callBack Receives the event object as a parameter. If you're manually firing custom events, check it's eventName property to make sure you're handling the right event.\n * @param {Boolean} [useCapture] Flag to change event listening from bubbling to capture.\n * @return {Function} The event handler used. Hang on to this if you want to `stopObserving` later.\n * @sample Ink_Dom_Event_1_observeOnce.html \n */\n observeOnce: function (element, eventName, callBack, useCapture) {\n var onceBack = function () {\n InkEvent.stopObserving(element, eventName, onceBack);\n return callBack();\n };\n return InkEvent.observe(element, eventName, onceBack, useCapture);\n },\n\n /**\n * Attaches an event to a selector or array of elements.\n *\n * @method observeMulti\n * @param {Array|String} elements \n * @param {String} eventName Event name\n * @param {Function} callBack Receives the event object as a parameter. If you're manually firing custom events, check it's eventName property to make sure you're handling the right event.\n * @param {Boolean} [useCapture] Flag change event listening from bubbling to capture.\n * @return {Function} The used callback.\n * @sample Ink_Dom_Event_1_observeMulti.html \n */\n observeMulti: function (elements, eventName, callBack, useCapture) {\n if (typeof elements === 'string') {\n elements = Ink.ss(elements);\n } else if ( /* is an element */ elements && elements.nodeType === 1) {\n elements = [elements];\n }\n if (!elements[0]) { return false; }\n\n for (var i = 0, len = elements.length; i < len; i++) {\n this.observe(elements[i], eventName, callBack, useCapture);\n }\n return callBack;\n },\n\n /**\n * Observes an event on an element and its descendants matching the selector.\n *\n * Requires Ink.Dom.Selector if you need to use a selector.\n *\n * @method observeDelegated\n * @param {DOMElement|String} element Element to observe.\n * @param {String} eventName Event name to observe.\n * @param {String} selector Child element selector. When null, finds any element.\n * @param {Function} callback Callback to be called when the event is fired\n * @return {Function} The used callback, for ceasing to listen to the event later.\n * @sample Ink_Dom_Event_1_observeDelegated.html \n **/\n observeDelegated: function (element, eventName, selector, callback) {\n return InkEvent.observe(element, eventName, function (event) {\n var fromElement = InkEvent.element(event);\n if (!fromElement || fromElement === element) { return; }\n\n var cursor = fromElement;\n\n // Go up the document tree until we hit the element itself.\n while (cursor !== element && cursor !== document && cursor) {\n if (Ink.Dom.Selector_1.matchesSelector(cursor, selector)) {\n event.delegationTarget = cursor;\n return callback(event);\n }\n cursor = cursor.parentNode;\n }\n });\n },\n\n /**\n * Removes an event attached to an element.\n *\n * @method stopObserving\n * @param {DOMElement|String} element Element id or element\n * @param {String} eventName Event name\n * @param {Function} callBack Callback function\n * @param {Boolean} [useCapture] Set to true if the event was being observed with useCapture set to true as well.\n * @sample Ink_Dom_Event_1_stopObserving.html \n */\n stopObserving: function(element, eventName, callBack, useCapture) {\n element = Ink.i(element);\n\n if(element) {\n if(element.removeEventListener) {\n element.removeEventListener(eventName, callBack, !!useCapture);\n } else {\n element.detachEvent('on' + eventName, callBack);\n }\n }\n },\n\n /**\n * Stops event propagation and bubbling.\n *\n * @method stop\n * @param {Object} event Event handle\n * @sample Ink_Dom_Event_1_stop.html \n */\n stop: function(event)\n {\n if(event.cancelBubble !== null) {\n event.cancelBubble = true;\n }\n if(event.stopPropagation) {\n event.stopPropagation();\n }\n if(event.preventDefault) {\n event.preventDefault();\n }\n if(window.attachEvent) {\n event.returnValue = false;\n }\n if(event.cancel !== null) {\n event.cancel = true;\n }\n },\n\n /**\n * Stops event propagation.\n *\n * @method stopPropagation\n * @param {Object} event Event handle\n * @sample Ink_Dom_Event_1_stopPropagation.html \n */\n stopPropagation: function(event) {\n if(event.cancelBubble !== null) {\n event.cancelBubble = true;\n }\n if(event.stopPropagation) {\n event.stopPropagation();\n }\n },\n\n /**\n * Stops event default behaviour.\n *\n * @method stopDefault\n * @param {Object} event Event handle\n * @sample Ink_Dom_Event_1_stopDefault.html \n */\n stopDefault: function(event)\n {\n if(event.preventDefault) {\n event.preventDefault();\n }\n if(window.attachEvent) {\n event.returnValue = false;\n }\n if(event.cancel !== null) {\n event.cancel = true;\n }\n },\n\n /**\n * Gets the pointer's coordinates from the event object.\n *\n * @method pointer\n * @param {Object} ev Event object\n * @return {Object} An object with the mouse X and Y position\n * @sample Ink_Dom_Event_1_pointer.html \n */\n pointer: function(ev)\n {\n return {\n x: this.pointerX(ev),\n y: this.pointerY(ev)\n };\n },\n\n /**\n * Gets the pointer's X coordinate.\n *\n * @method pointerX\n * @param {Object} ev Event object\n * @return {Number} Mouse X position\n */\n pointerX: function(ev)\n {\n return (ev.touches && ev.touches[0] && ev.touches[0].clientX) ||\n (ev.pageX) ||\n (ev.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft));\n },\n\n /**\n * Gets the pointer's Y coordinate.\n *\n * @method pointerY\n * @param {Object} ev Event object\n * @return {Number} Mouse Y position\n */\n pointerY: function(ev)\n {\n return (ev.touches && ev.touches[0] && ev.touches[0].clientY) ||\n (ev.pageY) ||\n (ev.clientY + (document.documentElement.scrollTop || document.body.scrollTop));\n },\n\n /**\n * Checks if an event is a left click.\n *\n * @method isLeftClick\n * @param {Object} ev Event object\n * @return {Boolean} True if the event is a left click\n * @sample Ink_Dom_Event_1_isLeftClick.html \n */\n isLeftClick: function(ev) {\n if (window.addEventListener) {\n if(ev.button === 0){\n return true;\n } else if(ev.type === 'touchend' && ev.button === null){\n // [todo] do the above check for pointerEvents too\n return true;\n }\n }\n else {\n if(ev.button === 1){ return true; }\n }\n return false;\n },\n\n /**\n * Checks if an event is a right click.\n *\n * @method isRightClick\n * @param {Object} ev Event object\n * @return {Boolean} True if the event is a right click\n * @sample Ink_Dom_Event_1_isRightClick.html \n */\n isRightClick: function(ev) {\n return (ev.button === 2);\n },\n\n /**\n * Checks if an event is a middle click.\n *\n * @method isMiddleClick\n * @param {Object} ev Event object\n * @return {Boolean} True if the event is a middle click\n * @sample Ink_Dom_Event_1_isMiddleClick.html \n */\n isMiddleClick: function(ev) {\n if (window.addEventListener) {\n return (ev.button === 1);\n }\n else {\n return (ev.button === 4);\n }\n return false;\n },\n\n /**\n * Gets character from an event.\n *\n * @method getCharFromKeyboardEvent\n * @param {Object} event Keyboard event\n * @param {Boolean} [changeCasing] If true uppercases, if false lowercases, otherwise keeps casing\n * @return {String} Character representation of pressed key combination\n * @sample Ink_Dom_Event_1_getCharFromKeyboardEvent.html \n */\n getCharFromKeyboardEvent: function(event, changeCasing) {\n var k = event.keyCode;\n var c = String.fromCharCode(k);\n\n var shiftOn = event.shiftKey;\n if (k >= 65 && k <= 90) { // A-Z\n if (typeof changeCasing === 'boolean') {\n shiftOn = changeCasing;\n }\n return (shiftOn) ? c : c.toLowerCase();\n }\n else if (k >= 96 && k <= 105) { // numpad digits\n return String.fromCharCode( 48 + (k-96) );\n }\n switch (k) {\n case 109: case 189: return '-';\n case 107: case 187: return '+';\n }\n return c;\n },\n\n debug: function(){}\n};\n\n/**\n * Lets you attach event listeners to both elements and objects.\n * http://github.com/fat/bean#on\n *\n * @method on\n * @param {DOMElement|Object} element An HTML DOM element or any JavaScript Object\n * @param {String} eventType An Event (or multiple events, space separated) to listen to\n * @param {String} [selector] A CSS DOM Element selector string to bind the listener to child elements matching the selector\n * @param {Function} [handler] The callback function\n * @param {Object} [args...] Additional arguments to pass to the callback function when triggered\n * \n * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object\n * @sample Ink_Dom_Event_1_on.html \n */\n\n/**\n * Alias for `on` but will only be executed once.\n * bean.one() is an alias for bean.on() except that the handler will only be executed once and then removed for the event type(s).\n * http://github.com/fat/bean#one\n *\n * @method one\n * @param {DOMElement|Object} element An HTML DOM element or any JavaScript Object\n * @param {String} eventType An Event (or multiple events, space separated) to listen to\n * @param {String} [selector] A CSS DOM Element selector string to bind the listener to child elements matching the selector\n * @param {Function} [handler] The callback function\n * @param [args...] Additional arguments to pass to the callback function when triggered\n * \n * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object\n * @sample Ink_Dom_Event_1_one.html \n */\n\n/**\n * Removes event handlers.\n * bean.off() is how you get rid of handlers once you no longer want them active. It's also a good idea to call off on elements before you remove them from your DOM; this gives Bean a chance to clean up some things and prevents memory leaks.\n * http://github.com/fat/bean#off\n *\n * @method off\n * @param {DOMElement|Object} element An HTML DOM element or any JavaScript Object\n * @param {String} eventType An Event (or multiple events, space separated) to remove\n * @param {Function} [handler] The specific callback function to remove\n * \n * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object\n * @sample Ink_Dom_Event_1_off.html \n */\n\n/**\n * Clones events from one object to another\n * bean.clone() is a method for cloning events from one DOM element or object to another.\n * http://github.com/fat/bean#clone\n *\n * @method clone\n * @param {DOMElement|Object} destElement An HTML DOM element or any JavaScript Object to copy events to\n * @param {String} srcElement An HTML DOM element or any JavaScript Object to copy events from\n * @param {String} [eventType] An Event (or multiple events, space separated) to clone\n * \n * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object\n * @sample Ink_Dom_Event_1_clone.html \n */\n\n/**\n * Triggers events.\n * http://github.com/fat/bean#fire\n *\n * @method fire\n * @param {DOMElement|Object} destElement An HTML DOM element or any JavaScript Object fire the event on\n * @param {String} eventType An Event (or multiple events, space separated) to fire\n * @param [args...] Additional arguments to pass to the callback function when triggered\n *\n * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object\n * @sample Ink_Dom_Event_1_fire.html \n */\n\nreturn Ink.extendObj(InkEvent, bean);\n\n});\n","/**\n * @module Ink.Dom.FormSerialize_1\n * Two way serialization of form data and javascript objects.\n * Valid applications are ad hoc AJAX/syndicated submission of forms, restoring form values from server side state, etc.\n */\n\nInk.createModule('Ink.Dom.FormSerialize', 1, ['Ink.Util.Array_1', 'Ink.Dom.Element_1', 'Ink.Dom.Selector_1'], function (InkArray, InkElement, Selector) {\n 'use strict';\n\n // Check whether something is not a string or a DOM element, but still has length.\n function isArrayIsh(obj) {\n return obj != null &&\n (!InkElement.isDOMElement(obj)) &&\n (InkArray.isArray(obj) || (typeof obj !== 'string' && typeof obj.length === 'number'));\n }\n\n function toArray(obj) {\n if (isArrayIsh(obj)) { return obj; }\n else { return [obj]; }\n }\n\n /**\n * @namespace Ink.Dom.FormSerialize\n * @static\n **/\n var FormSerialize = {\n\n /**\n * Serializes a form element into a JS object\n * It turns field names into keys and field values into values.\n *\n * note: Multi-select and checkboxes with multiple values will result in arrays\n *\n * @method serialize\n * @param {DOMElement|String} form Form element to extract data\n * @return {Object} Map of fieldName -> String|String[]|Boolean\n * @sample Ink_Dom_FormSerialize_serialize.html \n */\n serialize: function(form) {\n var out = {};\n var emptyArrayToken = {}; // A hack so that empty select[multiple] elements appear although empty.\n\n var pairs = this.asPairs(form, { elements: true, emptyArray: emptyArrayToken });\n if (pairs == null) { return pairs; }\n InkArray.forEach(pairs, function (pair) {\n var name = pair[0].replace(/\\[\\]$/, '');\n var value = pair[1];\n var el = pair[2];\n\n if (value === emptyArrayToken) {\n out[name] = []; // It's an empty select[multiple]\n } else if (!(FormSerialize._resultsInArray(el) || /\\[\\]$/.test(pair[0]))) {\n out[name] = value;\n } else {\n out[name] = out[name] || [];\n out[name].push(value);\n }\n });\n\n return out;\n },\n\n /**\n * Like `serialize`, but returns an array of [fieldName, value] pairs.\n *\n * @method asPairs\n * @param {DOMElement|String} form Form element\n * @param {Object} [options] Options object, containing:\n * @param {Boolean} [options.elements] Instead of returning an array of [fieldName, value] pairs, return an array of [fieldName, value, fieldElement] triples.\n * @param {Boolean} [options.emptyArray] What to emit as the value of an empty select[multiple]. If you don't pass this option, nothing comes out.\n *\n * @return Array of [fieldName, value] pairs.\n **/\n asPairs: function (form, options) {\n var out = [];\n options = options || {};\n\n function emit(name, val, el) {\n if (options.elements) {\n out.push([name, val, el]);\n } else {\n out.push([name, val]);\n }\n }\n\n function serializeEl(el) {\n if (el.nodeName.toLowerCase() === 'select' && el.multiple) {\n var didEmit = false;\n InkArray.forEach(Selector.select('option:checked', el), function (thisOption) {\n emit(el.name, thisOption.value, el);\n didEmit = true;\n });\n if (!didEmit && 'emptyArray' in options) {\n emit(el.name, options.emptyArray, el);\n }\n } else {\n emit(el.name, el.value, el);\n }\n }\n\n if ((form = Ink.i(form))) {\n var inputs = InkArray.filter(form.elements, FormSerialize._isSerialized);\n for (var i = 0, len = inputs.length; i < len; i++) {\n serializeEl(inputs[i]);\n }\n return out;\n }\n\n return null;\n },\n\n /**\n * Sets form elements' values with values from an object\n *\n * Note: You can't set the values of an input with `type=\"file\"` (browser prohibits it)\n *\n * @method fillIn \n * @param {DOMElement|String} form Form element to be populated\n * @param {Object|Array} map2 mapping of fields to values contained in fields. Can be a hash (keys as names, strings or arrays for values), or an array of [name, value] pairs.\n * @sample Ink_Dom_FormSerialize_fillIn.html \n */\n fillIn: function(form, map2) {\n if (!(form = Ink.i(form))) { return null; }\n\n var pairs;\n\n if (typeof map2 === 'object' && !isArrayIsh(map2)) {\n pairs = FormSerialize._objToPairs(map2);\n } else if (isArrayIsh(map2)) {\n pairs = map2;\n } else {\n return null;\n }\n\n return FormSerialize._fillInPairs(form, pairs);\n },\n\n _objToPairs: function (obj) {\n var pairs = [];\n var val;\n for (var name in obj) if (obj.hasOwnProperty(name)) {\n val = toArray(obj[name]);\n for (var i = 0, len = val.length; i < len; i++) {\n pairs.push([name, val[i]]);\n }\n if (len === 0) {\n pairs.push([name, []]);\n }\n }\n return pairs;\n },\n\n _fillInPairs: function (form, pairs) {\n pairs = InkArray.groupBy(pairs, {\n key: function (pair) { return pair[0].replace(/\\[\\]$/, ''); }\n });\n\n // For each chunk...\n pairs = InkArray.map(pairs, function (pair) {\n // Join the items in the chunk by concatenating the values together and leaving the names alone\n var values = InkArray.reduce(pair, function (left, right) {\n return [null, left[1].concat([right[1]])];\n }, [null, []])[1];\n return [pair[0][0], values];\n });\n\n var name;\n var inputs;\n var values;\n for (var i = 0, len = pairs.length; i < len; i++) {\n name = pairs[i][0];\n\n if (name in form) {\n inputs = form[name];\n } else if ((name + '[]') in form) {\n inputs = form[name + '[]'];\n name = name + '[]';\n } else {\n continue;\n }\n\n inputs = toArray(inputs);\n values = pairs[i][1];\n\n FormSerialize._fillInOne(name, inputs, values);\n }\n },\n\n _fillInOne: function (name, inputs, values) {\n var firstOne = inputs[0];\n var firstNodeName = firstOne.nodeName.toLowerCase();\n var firstType = firstOne.getAttribute('type');\n firstType = firstType && firstType.toLowerCase();\n var isSelectMulti = firstNodeName === 'select' && InkElement.hasAttribute(firstOne, 'multiple');\n\n if (firstType === 'checkbox' || firstType === 'radio') {\n FormSerialize._fillInBoolean(inputs, values, 'checked');\n } else if (isSelectMulti) {\n FormSerialize._fillInBoolean(inputs[0].options, values, 'selected');\n } else {\n if (inputs.length !== values.length) {\n Ink.warn('Form had ' + inputs.length + ' inputs named \"' + name + '\", but received ' + values.length + ' values.');\n }\n\n for (var i = 0, len = Math.min(inputs.length, values.length); i < len; i += 1) {\n inputs[i].value = values[i];\n }\n }\n },\n\n _fillInBoolean: function (inputs, values, checkAttr /* 'selected' or 'checked' */) {\n InkArray.forEach(inputs, function (input) {\n var isChecked = InkArray.inArray(input.value, values);\n input[checkAttr] = isChecked;\n });\n },\n\n /**\n * Whether FormSerialize.serialize() should produce an array when looking at this element.\n * @method _resultsInArray\n * @private\n * @param element\n **/\n _resultsInArray: function (element) {\n var type = element.getAttribute('type');\n var nodeName = element.nodeName.toLowerCase();\n\n return type === 'checkbox' ||\n (nodeName === 'select' && InkElement.hasAttribute(element, 'multiple'));\n },\n\n _isSerialized: function (element) {\n if (!InkElement.isDOMElement(element)) { return false; }\n if (!InkElement.hasAttribute(element, 'name')) { return false; }\n\n var nodeName = element.nodeName.toLowerCase();\n\n if (!nodeName || nodeName === 'fieldset') { return false; }\n\n if (element.type === 'checkbox' || element.type === 'radio') {\n return !!element.checked;\n }\n\n return true;\n }\n };\n\n return FormSerialize;\n});\n","/**\n * Execute code only when the DOM is loaded.\n * @module Ink.Dom.Loaded_1\n * @version 1\n */\n \nInk.createModule('Ink.Dom.Loaded', 1, [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Dom.Loaded_1\n **/\n var Loaded = {\n\n /**\n * Callbacks and their contexts. Array of 2-arrays.\n *\n * []\n *\n * @attribute _contexts Array\n * @private\n * \n */\n _contexts: [], // Callbacks' queue\n\n /**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @method run\n * @param {Object} [win]=window Window object to attach/add the event\n * @param {Function} fn Callback function to be executed after the DOM is ready\n * @public\n * @sample Ink_Dom_Loaded_run.html \n */\n run: function(win, fn) {\n if (!fn) {\n fn = win;\n win = window;\n }\n\n var context;\n\n for (var i = 0, len = this._contexts.length; i < len; i++) {\n if (this._contexts[i][0] === win) {\n context = this._contexts[i][1];\n break;\n }\n }\n if (!context) {\n context = {\n cbQueue: [],\n win: win,\n doc: win.document,\n root: win.document.documentElement,\n done: false,\n top: true\n };\n context.handlers = {\n checkState: Ink.bindEvent(this._checkState, this, context),\n poll: Ink.bind(this._poll, this, context)\n };\n this._contexts.push(\n [win, context] // Javascript Objects cannot map different windows to\n // different values.\n );\n }\n\n var ael = context.doc.addEventListener;\n context.add = ael ? 'addEventListener' : 'attachEvent';\n context.rem = ael ? 'removeEventListener' : 'detachEvent';\n context.pre = ael ? '' : 'on';\n context.det = ael ? 'DOMContentLoaded' : 'onreadystatechange';\n context.wet = context.pre + 'load';\n\n var csf = context.handlers.checkState;\n var alreadyLoaded = (\n /complete|interactive|loaded/.test(context.doc.readyState) &&\n context.win.location.toString() !== 'about:blank'); // https://code.google.com/p/chromium/issues/detail?id=32357\n\n if (alreadyLoaded){\n setTimeout(Ink.bind(function () {\n fn.call(context.win, 'lazy');\n }, this), 0);\n } else {\n context.cbQueue.push(fn);\n\n context.doc[context.add]( context.det , csf );\n context.win[context.add]( context.wet , csf );\n\n var frameElement = 1;\n try{\n frameElement = context.win.frameElement;\n } catch(e) {}\n if ( !ael && context.root && context.root.doScroll ) { // IE HACK\n try {\n context.top = !frameElement;\n } catch(e) { }\n if (context.top) {\n this._poll(context);\n }\n }\n }\n },\n\n /**\n * Function that will be running the callbacks after the page is loaded\n *\n * @method _checkState\n * @param {Event} event Triggered event\n * @private\n */\n _checkState: function(event, context) {\n if ( !event || (event.type === 'readystatechange' && context.doc.readyState !== 'complete')) {\n return;\n }\n var where = (event.type === 'load') ? context.win : context.doc;\n where[context.rem](context.pre+event.type, context.handlers.checkState, false);\n this._ready(context);\n },\n\n /**\n * Polls the load progress of the page to see if it has already loaded or not\n *\n * @method _poll\n * @private\n */\n\n /**\n *\n * function _poll\n */\n _poll: function(context) {\n try {\n context.root.doScroll('left');\n } catch(e) {\n return setTimeout(context.handlers.poll, 50);\n }\n this._ready(context);\n },\n\n /**\n * Function that runs the callbacks from the queue when the document is ready.\n *\n * @method _ready\n * @private\n */\n _ready: function(context) {\n if (!context.done) {\n context.done = true;\n for (var i = 0; i < context.cbQueue.length; ++i) {\n context.cbQueue[i].call(context.win);\n }\n context.cbQueue = [];\n }\n }\n };\n\n return Loaded;\n\n});\n","/**\n * CSS selector engine\n * @module Ink.Dom.Selector_1\n * @version 1\n */\n \nInk.createModule('Ink.Dom.Selector', 1, [], function() {\n /*jshint forin:false, eqnull:true, noempty:false, expr:true, boss:true, maxdepth:false*/\n\t'use strict';\n\n/*!\n * Sizzle CSS Selector Engine\n * Copyright 2013 jQuery Foundation and other contributors\n * Released under the MIT license\n * http://sizzlejs.com/\n */\n\nvar i,\n\tcachedruns,\n\tExpr,\n\tgetText,\n\tisXML,\n\tcompile,\n\toutermostContext,\n\trecompare,\n\tsortInput,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + -(new Date()),\n\tpreferredDoc = window.document,\n\tsupport = {},\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\thasDuplicate = false,\n\tsortOrder = function() { return 0; },\n\n\t// General-purpose constants\n\tstrundefined = typeof undefined,\n\tMAX_NEGATIVE = 1 << 31,\n\n\t// Array methods\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf if we can't use a native one\n\tindexOf = arr.indexOf || function( elem ) {\n\t\tvar i = 0,\n\t\t\tlen = this.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( this[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\n\t// Regular expressions\n\n\t// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\t// http://www.w3.org/TR/css3-syntax/#characters\n\tcharacterEncoding = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\n\t// Loosely modeled on CSS identifier characters\n\t// An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors\n\t// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = characterEncoding.replace( \"w\", \"w#\" ),\n\n\t// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors\n\toperators = \"([*^$|!~]?=)\",\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + characterEncoding + \")\" + whitespace +\n\t\t\"*(?:\" + operators + whitespace + \"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\" + identifier + \")|)|)\" + whitespace + \"*\\\\]\",\n\n\t// Prefer arguments quoted,\n\t// then not containing pseudos/brackets,\n\t// then attribute selectors/non-parenthetical expressions,\n\t// then anything else\n\t// These preferences are here to reduce the number of selectors\n\t// needing tokenize in the PSEUDO preFilter\n\tpseudos = \":(\" + characterEncoding + \")(?:\\\\(((['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes.replace( 3, 8 ) + \")*)|.*)\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([\\\\x20\\\\t\\\\r\\\\n\\\\f>+~])\" + whitespace + \"*\" ),\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + characterEncoding + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + characterEncoding + \")\" ),\n\t\t\"NAME\": new RegExp( \"^\\\\[name=['\\\"]?(\" + characterEncoding + \")['\\\"]?\\\\]\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + characterEncoding.replace( \"w\", \"w*\" ) + \")\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trsibling = /[\\x20\\t\\r\\n\\f]*[+~]/,\n\n\trnative = /^[^{]+\\{\\s*\\[native code/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trescape = /'|\\\\/g,\n\trattributeQuotes = /\\=[\\x20\\t\\r\\n\\f]*([^'\"\\]]*)[\\x20\\t\\r\\n\\f]*\\]/g,\n\n\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = /\\\\([\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|.)/g,\n\tfunescape = function( _, escaped ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\treturn high !== high ?\n\t\t\tescaped :\n\t\t\t// BMP codepoint\n\t\t\thigh < 0 ?\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t};\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\n/*\n * For feature detection\n * @param {Function} fn The function to test for native support\n */\nfunction isNative( fn ) {\n\treturn rnative.test( fn + \"\" );\n}\n\n/*\n * Create key-value caches of limited size\n * @returns {Function(string, Object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar cache,\n\t\tkeys = [];\n\n\treturn (cache = function( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key += \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key ] = value);\n\t});\n}\n\n/*\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/*\n * Support testing using an element\n * @param {Function} fn Passed the created div and expects a boolean result\n */\nfunction assert( fn ) {\n\tvar div = document.createElement(\"div\");\n\n\ttry {\n\t\treturn !!fn( div );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// release memory in IE\n\t\tdiv = null;\n\t}\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar match, elem, m, nodeType,\n\t\t// QSA vars\n\t\ti, groups, old, nid, newContext, newSelector;\n\n\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\n\tcontext = context || document;\n\tresults = results || [];\n\n\tif ( !selector || typeof selector !== \"string\" ) {\n\t\treturn results;\n\t}\n\n\tif ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) {\n\t\treturn [];\n\t}\n\n\tif ( documentIsHTML && !seed ) {\n\n\t\t// Shortcuts\n\t\tif ( (match = rquickExpr.exec( selector )) ) {\n\t\t\t// Speed-up: Sizzle(\"#ID\")\n\t\t\tif ( (m = match[1]) ) {\n\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\telem = context.getElementById( m );\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t// Handle the case where IE, Opera, and Webkit return items\n\t\t\t\t\t\t// by name instead of ID\n\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Context is not a document\n\t\t\t\t\tif ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&\n\t\t\t\t\t\tcontains( context, elem ) && elem.id === m ) {\n\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Speed-up: Sizzle(\"TAG\")\n\t\t\t} else if ( match[2] ) {\n\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\treturn results;\n\n\t\t\t// Speed-up: Sizzle(\".CLASS\")\n\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) {\n\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\treturn results;\n\t\t\t}\n\t\t}\n\n\t\t// QSA path\n\t\tif ( support.qsa && !rbuggyQSA.test(selector) ) {\n\t\t\told = true;\n\t\t\tnid = expando;\n\t\t\tnewContext = context;\n\t\t\tnewSelector = nodeType === 9 && selector;\n\n\t\t\t// qSA works strangely on Element-rooted queries\n\t\t\t// We can work around this by specifying an extra ID on the root\n\t\t\t// and working up from there (Thanks to Andrew Dupont for the technique)\n\t\t\t// IE 8 doesn't work on object elements\n\t\t\tif ( nodeType === 1 && context.nodeName.toLowerCase() !== \"object\" ) {\n\t\t\t\tgroups = tokenize( selector );\n\n\t\t\t\tif ( (old = context.getAttribute(\"id\")) ) {\n\t\t\t\t\tnid = old.replace( rescape, \"\\\\$&\" );\n\t\t\t\t} else {\n\t\t\t\t\tcontext.setAttribute( \"id\", nid );\n\t\t\t\t}\n\t\t\t\tnid = \"[id='\" + nid + \"'] \";\n\n\t\t\t\ti = groups.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tgroups[i] = nid + toSelector( groups[i] );\n\t\t\t\t}\n\t\t\t\tnewContext = rsibling.test( selector ) && context.parentNode || context;\n\t\t\t\tnewSelector = groups.join(\",\");\n\t\t\t}\n\n\t\t\tif ( newSelector ) {\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch(qsaError) {\n\t\t\t\t} finally {\n\t\t\t\t\tif ( !old ) {\n\t\t\t\t\t\tcontext.removeAttribute(\"id\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/*\n * Detect xml\n * @param {Element|Object} elem An element or a document\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/*\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar doc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// If no document and documentElement is available, return\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Set our document\n\tdocument = doc;\n\tdocElem = doc.documentElement;\n\n\t// Support tests\n\tdocumentIsHTML = !isXML( doc );\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( div ) {\n\t\tdiv.appendChild( doc.createComment(\"\") );\n\t\treturn !div.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Check if attributes should be retrieved by attribute nodes\n\tsupport.attributes = assert(function( div ) {\n\t\tdiv.innerHTML = \"\";\n\t\tvar type = typeof div.lastChild.getAttribute(\"multiple\");\n\t\t// IE8 returns a string for some attributes even when not present\n\t\treturn type !== \"boolean\" && type !== \"string\";\n\t});\n\n\t// Check if getElementsByClassName can be trusted\n\tsupport.getElementsByClassName = assert(function( div ) {\n\t\t// Opera can't find a second classname (in 9.6)\n\t\tdiv.innerHTML = \"\";\n\t\tif ( !div.getElementsByClassName || !div.getElementsByClassName(\"e\").length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Safari 3.2 caches class attributes and doesn't catch changes\n\t\tdiv.lastChild.className = \"e\";\n\t\treturn div.getElementsByClassName(\"e\").length === 2;\n\t});\n\n\t// Check if getElementsByName privileges form controls or returns elements by ID\n\t// If so, assume (for broader support) that getElementById returns elements by name\n\tsupport.getByName = assert(function( div ) {\n\t\t// Inject content\n\t\tdiv.id = expando + 0;\n\t\t// Support: Windows 8 Native Apps\n\t\t// Assigning innerHTML with \"name\" attributes throws uncatchable exceptions\n\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx\n\t\tdiv.appendChild( document.createElement(\"a\") ).setAttribute( \"name\", expando );\n\t\tdiv.appendChild( document.createElement(\"i\") ).setAttribute( \"name\", expando );\n\t\tdocElem.appendChild( div );\n\n\t\t// Test\n\t\tvar pass = doc.getElementsByName &&\n\t\t\t// buggy browsers will return fewer than the correct 2\n\t\t\tdoc.getElementsByName( expando ).length === 2 +\n\t\t\t// buggy browsers will return more than the correct 0\n\t\t\tdoc.getElementsByName( expando + 0 ).length;\n\n\t\t// Cleanup\n\t\tdocElem.removeChild( div );\n\n\t\treturn pass;\n\t});\n\n\t// Support: Webkit<537.32\n\t// Detached nodes confoundingly follow *each other*\n\tsupport.sortDetached = assert(function( div1 ) {\n\t\treturn div1.compareDocumentPosition &&\n\t\t\t// Should return 1, but Webkit returns 4 (following)\n\t\t\t(div1.compareDocumentPosition( document.createElement(\"div\") ) & 1);\n\t});\n\n\t// IE6/7 return modified attributes\n\tExpr.attrHandle = assert(function( div ) {\n\t\tdiv.innerHTML = \"\";\n\t\treturn div.firstChild && typeof div.firstChild.getAttribute !== strundefined &&\n\t\t\tdiv.firstChild.getAttribute(\"href\") === \"#\";\n\t}) ?\n\t\t{} :\n\t\t{\n\t\t\t\"href\": function( elem ) {\n\t\t\t\treturn elem.getAttribute( \"href\", 2 );\n\t\t\t},\n\t\t\t\"type\": function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"type\");\n\t\t\t}\n\t\t};\n\n\t// ID find and filter\n\tif ( support.getByName ) {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== strundefined && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\treturn m && m.parentNode ? [m] : [];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t} else {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== strundefined && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\n\t\t\t\treturn m ?\n\t\t\t\t\tm.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode(\"id\").value === id ?\n\t\t\t\t\t\t[m] :\n\t\t\t\t\t\tundefined :\n\t\t\t\t\t[];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== strundefined ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\t\t\t}\n\t\t} :\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Name\n\tExpr.find[\"NAME\"] = support.getByName && function( tag, context ) {\n\t\tif ( typeof context.getElementsByName !== strundefined ) {\n\t\t\treturn context.getElementsByName( name );\n\t\t}\n\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21),\n\t// no need to also add to buggyMatches since matches checks buggyQSA\n\t// A support test would require too much code (would include document ready)\n\trbuggyQSA = [ \":focus\" ];\n\n\tif ( (support.qsa = isNative(doc.querySelectorAll)) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( div ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\tdiv.innerHTML = \"\";\n\n\t\t\t// IE8 - Some boolean attributes are not treated correctly\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:checked|disabled|ismap|multiple|readonly|selected|value)\" );\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( div ) {\n\n\t\t\t// Opera 10-12/IE8 - ^= $= *= and empty values\n\t\t\t// Should not select anything\n\t\t\tdiv.innerHTML = \"\";\n\t\t\tif ( div.querySelectorAll(\"[i^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:\\\"\\\"|'')\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = isNative( (matches = docElem.matchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( div ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t// Element contains another\n\t// Purposefully does not implement inclusive descendent\n\t// As in, an element does not contain itself\n\tcontains = isNative(docElem.contains) || docElem.compareDocumentPosition ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t// Document order sorting\n\tsortOrder = docElem.compareDocumentPosition ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b );\n\n\t\tif ( compare ) {\n\t\t\t// Disconnected nodes\n\t\t\tif ( compare & 1 ||\n\t\t\t\t(recompare && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t\tif ( a === doc || contains(preferredDoc, a) ) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\tif ( b === doc || contains(preferredDoc, b) ) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\n\t\t\t\t// Maintain original order\n\t\t\t\treturn sortInput ?\n\t\t\t\t\t( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :\n\t\t\t\t\t0;\n\t\t\t}\n\n\t\t\treturn compare & 4 ? -1 : 1;\n\t\t}\n\n\t\t// Not directly comparable, sort on existence of method\n\t\treturn a.compareDocumentPosition ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\t} else if ( !aup || !bup ) {\n\t\t\treturn a === doc ? -1 :\n\t\t\t\tb === doc ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\t// rbuggyQSA always contains :focus, so no need for an existence check\n\tif ( support.matchesSelector && documentIsHTML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && !rbuggyQSA.test(expr) ) {\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch(e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [elem] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\tvar val;\n\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tif ( documentIsHTML ) {\n\t\tname = name.toLowerCase();\n\t}\n\tif ( (val = Expr.attrHandle[ name ]) ) {\n\t\treturn val( elem );\n\t}\n\tif ( !documentIsHTML || support.attributes ) {\n\t\treturn elem.getAttribute( name );\n\t}\n\treturn ( (val = elem.getAttributeNode( name )) || elem.getAttribute( name ) ) && elem[ name ] === true ?\n\t\tname :\n\t\tval && val.specified ? val.value : null;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n// Document sorting and removing duplicates\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\t// Compensate for sort limitations\n\trecompare = !support.sortDetached;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\treturn results;\n};\n\n/*\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns Returns -1 if a precedes b, 1 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE );\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n// Returns a function to use in pseudos for input types\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n// Returns a function to use in pseudos for buttons\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n// Returns a function to use in pseudos for positionals\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/*\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\tfor ( ; (node = elem[i]); i++ ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (see #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[5] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[4] ) {\n\t\t\t\tmatch[2] = match[4];\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeName ) {\n\t\t\tif ( nodeName === \"*\" ) {\n\t\t\t\treturn function() { return true; };\n\t\t\t}\n\n\t\t\tnodeName = nodeName.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute(\"class\")) || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, outerCache, node, diff, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\t\t\t\t\t\t\touterCache = parent[ expando ] || (parent[ expando ] = {});\n\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[0] === dirruns && cache[1];\n\t\t\t\t\t\t\tdiff = cache[0] === dirruns && cache[2];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t} else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) {\n\t\t\t\t\t\t\tdiff = cache[1];\n\n\t\t\t\t\t\t// xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\tif ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) {\n\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t(node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf.call( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": function( elem ) {\n\t\t\treturn elem.disabled === false;\n\t\t},\n\n\t\t\"disabled\": function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),\n\t\t\t// not comment, processing instructions, or others\n\t\t\t// Thanks to Diego Perini for the nodeName shortcut\n\t\t\t// Greater than \"@\" means alpha characters (specifically not starting with \"#\" or \"?\")\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeName > \"@\" || elem.nodeType === 3 || elem.nodeType === 4 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\t// IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)\n\t\t\t// use getAttribute instead to test this case\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === elem.type );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\nfunction tokenize( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( tokens = [] );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push( {\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t} );\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push( {\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t} );\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n}\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar data, cache, outerCache,\n\t\t\t\tdirkey = dirruns + \" \" + doneName;\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from dir caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\t\t\t\t\t\tif ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) {\n\t\t\t\t\t\t\tif ( (data = cache[1]) === true || data === cachedruns ) {\n\t\t\t\t\t\t\t\treturn data === true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcache = outerCache[ dir ] = [ dirkey ];\n\t\t\t\t\t\t\tcache[1] = matcher( elem, context, xml ) || cachedruns;\n\t\t\t\t\t\t\tif ( cache[1] === true ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf.call( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\treturn ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector( tokens.slice( 0, i - 1 ) ).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\t// A counter to specify which element is currently being matched\n\tvar matcherCachedRuns = 0,\n\t\tbySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, expandContext ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tsetMatched = [],\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\toutermost = expandContext != null,\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", expandContext && context.parentNode || context ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1);\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context !== document && context;\n\t\t\t\tcachedruns = matcherCachedRuns;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Keep `i` a string if there are no elements so `matchedCount` will be \"00\" below\n\t\t\tfor ( ; (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t\tcachedruns = ++matcherCachedRuns;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\tmatchedCount += i;\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !group ) {\n\t\t\tgroup = tokenize( selector );\n\t\t}\n\t\ti = group.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( group[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\t}\n\treturn cached;\n};\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction select( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tmatch = tokenize( selector );\n\n\tif ( !seed ) {\n\t\t// Try to minimize operations if there is only one group\n\t\tif ( match.length === 1 ) {\n\n\t\t\t// Take a shortcut and set the context if the root selector is an ID\n\t\t\ttokens = match[0] = match[0].slice( 0 );\n\t\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\t\tcontext.nodeType === 9 && documentIsHTML &&\n\t\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\n\t\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\t\tif ( !context ) {\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\n\t\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t\t}\n\n\t\t\t// Fetch a seed set for right-to-left matching\n\t\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\ttoken = tokens[i];\n\n\t\t\t\t// Abort if we hit a combinator\n\t\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\t\tif ( (seed = find(\n\t\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\t\trsibling.test( tokens[0].type ) && context.parentNode || context\n\t\t\t\t\t)) ) {\n\n\t\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\tcompile( selector, match )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\trsibling.test( selector )\n\t);\n\treturn results;\n}\n\n// Deprecated\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\n// Check sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Initialize with the default document\nsetDocument();\n\n// Always assume the presence of duplicates if sort doesn't\n// pass them to our comparison function (as in Google Chrome).\n[0, 0].sort( sortOrder );\nsupport.detectDuplicates = hasDuplicate;\n\n// EXPOSE\n/*if ( typeof define === \"function\" && define.amd ) {\n\tdefine(function() { return Sizzle; });\n} else {\n\twindow.Sizzle = Sizzle;\n}*/\n// EXPOSE\n\n/**\n * @namespace Ink.Dom.Selector\n * @static\n */\n\n/**\n * Alias for the Sizzle selector engine\n *\n * @method select\n * @param {String} selector CSS selector to search for elements\n * @param {DOMElement} [context] By default the search is done in the document element. However, you can specify an element as search context\n * @param {Array} [results] By default this is considered an empty array. But if you want to merge it with other searches you did, pass their result array through here.\n * @return {Array} Array of resulting DOM Elements\n * @sample Ink_Dom_Selector_select.html\n */\n\n/**\n * Filters elements that match a CSS selector.\n *\n * @method matches\n * @param {String} selector CSS selector to search for elements\n * @param {Array} matches Elements to be 'matched' with\n * @return {Array} Elements that matched\n * @sample Ink_Dom_Selector_matches.html\n */\n\n/**\n * Checks if an element matches a given selector\n *\n * @method matchesSelector\n * @param {DOMElement} element Element to test\n * @param {String} selector CSS selector to test the element with\n * @return {Boolean} True if element matches the CSS selector\n * @sample Ink_Dom_Selector_matchesSelector.html \n */\n\nreturn {\n select: Sizzle,\n matches: Sizzle.matches,\n matchesSelector: Sizzle.matchesSelector\n};\n\n\n}); //( window );\n","/**\n * Animate.css Utility\n *\n * This module is a wrapper around animate.css's CSS classes to produce animation.\n * It contains options to ease common tasks, like listen to the \"animationend\" event with all necessary prefixes, remove the necessary class names when the animation finishes, or configure the duration of your animation with the necessary browser prefix.\n *\n * @module Ink.UI.Animate_1\n * @version 1\n */\n\nInk.createModule('Ink.UI.Animate', 1, ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Css_1'], function (Common, InkEvent, Css) {\n 'use strict';\n\n var animationPrefix = (function (el) {\n return ('animationName' in el.style) ? 'animation' :\n ('oAnimationName' in el.style) ? 'oAnimation' :\n ('msAnimationName' in el.style) ? 'msAnimation' :\n ('webkitAnimationName' in el.style) ? 'webkitAnimation' : null;\n }(document.createElement('div')));\n\n var animationEndEventName = {\n animation: 'animationend',\n oAnimation: 'oanimationend',\n msAnimation: 'MSAnimationEnd',\n webkitAnimation: 'webkitAnimationEnd'\n }[animationPrefix];\n\n /**\n * @class Ink.UI.Animate_1\n * @constructor\n *\n * @param {DOMElement} element Animated element\n * @param {Object} options Options object\n * @param {String} options.animation Animation name\n * @param {String|Number} [options.duration] Duration name (fast|medium|slow) or duration in milliseconds. Defaults to 'medium'.\n * @param {Boolean} [options.removeClass] Flag to remove the CSS class when finished animating. Defaults to false.\n * @param {Function} [options.onEnd] Callback for the animation end\n *\n * @sample Ink_UI_Animate_1.html\n *\n **/\n function Animate() {\n Common.BaseUIComponent.apply(this, arguments);\n }\n\n Animate._name = 'Animate_1';\n\n Animate._optionDefinition = {\n trigger: ['Element', null],\n duration: ['String', 'slow'], // Actually a string with a duration name, or a number of ms\n animation: ['String'],\n removeClass: ['Boolean', true],\n onEnd: ['Function', function () {}]\n };\n\n Animate.prototype._init = function () {\n if (!isNaN(parseInt(this._options.duration, 10))) {\n this._options.duration = parseInt(this._options.duration, 10);\n }\n\n if (this._options.trigger) {\n InkEvent.observe(this._options.trigger, 'click', Ink.bind(function () {\n this.animate();\n }, this)); // later\n } else {\n this.animate();\n }\n };\n\n Animate.prototype.animate = function () {\n Animate.animate(this._element, this._options.animation, this._options);\n };\n\n Ink.extendObj(Animate, {\n /**\n * Browser prefix for the CSS animations.\n *\n * @property _animationPrefix\n * @private\n **/\n _animationPrefix: animationPrefix,\n\n /**\n * Boolean which says whether this browser has CSS3 animation support.\n *\n * @property animationSupported\n **/\n animationSupported: !!animationPrefix,\n\n /**\n * Prefixed 'animationend' event name.\n *\n * @property animationEndEventName\n **/\n animationEndEventName: animationEndEventName,\n\n /**\n * Animate an element using one of the animate.css classes\n *\n * **Note: This is a utility method inside the `Animate` class, which you can access through `Animate.animate()`. Do not mix these up.**\n *\n * @static\n * @method animate\n * @param element {DOMElement} animated element\n * @param animation {String} animation name\n * @param [options] {Object}\n * @param [options.onEnd=null] {Function} callback for animation end\n * @param [options.removeClass=false] {Boolean} whether to remove the Css class when finished\n * @param [options.duration=medium] {String|Number} duration name (fast|medium|slow) or duration in ms\n *\n * @sample Ink_UI_Animate_1_animate.html\n **/\n animate: function (element, animation, options) {\n element = Common.elOrSelector(element);\n\n if (typeof options === 'number' || typeof options === 'string') {\n options = { duration: options };\n } else if (!options) {\n options = {};\n }\n\n if (typeof arguments[3] === 'function') {\n options.onEnd = arguments[3];\n }\n\n if (typeof options.duration !== 'number' && typeof options.duration !== 'string') {\n options.duration = 400;\n }\n\n if (!Animate.animationSupported) {\n if (options.onEnd) {\n setTimeout(function () {\n options.onEnd(null);\n }, 0);\n }\n return;\n }\n\n if (typeof options.duration === 'number') {\n element.style[animationPrefix + 'Duration'] = options.duration + 'ms';\n } else if (typeof options.duration === 'string') {\n Css.addClassName(element, options.duration);\n }\n\n Css.addClassName(element, ['animated', animation]);\n\n function onAnimationEnd(event) {\n if (event.target !== element) { return; }\n if (event.animationName !== animation) { return; }\n if (options.onEnd) { options.onEnd(event); }\n if (options.removeClass) {\n Css.removeClassName(element, animation);\n }\n if (typeof options.duration === 'string') {\n Css.removeClassName(element, options.duration);\n }\n element.removeEventListener(animationEndEventName, onAnimationEnd, false);\n }\n\n element.addEventListener(animationEndEventName, onAnimationEnd, false);\n }\n });\n\n Common.createUIComponent(Animate);\n\n return Animate;\n});\n","/**\n * Flexible Carousel\n * @module Ink.UI.Carousel_1\n * @version 1\n */\n\nInk.createModule('Ink.UI.Carousel', '1',\n ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Css_1', 'Ink.Dom.Element_1', 'Ink.UI.Pagination_1', 'Ink.Dom.Browser_1', 'Ink.Dom.Selector_1'],\n function(Common, InkEvent, Css, InkElement, Pagination, Browser/*, Selector*/) {\n 'use strict';\n\n /*\n * TODO:\n * keyboardSupport\n */\n\n function limitRange(n, min, max) {\n return Math.min(max, Math.max(min, n));\n }\n\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (cb) {return setTimeout(cb, 1000 / 30); };\n\n /**\n * @class Ink.UI.Carousel_1\n * @constructor\n *\n * @param {String|DOMElement} selector DOM element or element id\n * @param {Object} [options] Carousel Options\n * @param {Integer} [options.autoAdvance] Milliseconds to wait before auto-advancing pages. Set to 0 to disable auto-advance. Defaults to 0.\n * @param {String} [options.axis] Axis of the carousel. Set to 'y' for a vertical carousel. Defaults to 'x'.\n * @param {Number} [options.initialPage] Initial index page of the carousel. Defaults to 0.\n * @param {Boolean} [options.spaceAfterLastSlide=true] If there are not enough slides to fill the full width of the last page, leave white space. Defaults to `true`.\n * @param {Boolean} [options.swipe] Enable swipe support if available. Defaults to true.\n * @param {Mixed} [options.pagination] Either an ul element to add pagination markup to or an `Ink.UI.Pagination` instance to use.\n * @param {Function} [options.onChange] Callback to be called when the page changes.\n *\n * @sample Ink_UI_Carousel_1.html\n */\n function Carousel() {\n Common.BaseUIComponent.apply(this, arguments);\n }\n\n Carousel._name = 'Carousel_1';\n\n Carousel._optionDefinition = {\n autoAdvance: ['Integer', 0],\n axis: ['String', 'x'],\n initialPage: ['Integer', 0],\n spaceAfterLastSlide: ['Boolean', true],\n hideLast: ['Boolean', false],\n // [3.1.0] Deprecate \"center\". It is only needed when things are of unknown widths.\n center: ['Boolean', false],\n keyboardSupport:['Boolean', false],\n pagination: ['String', null],\n onChange: ['Function', null],\n onInit: ['Function', function () {}],\n swipe: ['Boolean', true]\n // TODO exponential swipe\n // TODO specify break point for next page when moving finger\n };\n\n Carousel.prototype = {\n _init: function () {\n this._handlers = {\n paginationChange: Ink.bindMethod(this, '_onPaginationChange'),\n windowResize: InkEvent.throttle(Ink.bindMethod(this, 'refit'), 200)\n };\n\n InkEvent.observe(window, 'resize', this._handlers.windowResize);\n\n this._isY = (this._options.axis === 'y');\n\n var ulEl = Ink.s('ul.stage', this._element);\n this._ulEl = ulEl;\n\n InkElement.removeTextNodeChildren(ulEl);\n\n if (this._options.pagination == null) {\n this._currentPage = this._options.initialPage;\n }\n\n this.refit(); // recalculate this._numPages\n\n if (this._isY) {\n // Override white-space: no-wrap which is only necessary to make sure horizontal stuff stays horizontal, but breaks stuff intended to be vertical.\n this._ulEl.style.whiteSpace = 'normal';\n }\n\n if (this._options.swipe) {\n InkEvent.observe(this._element, 'touchstart', Ink.bindMethod(this, '_onTouchStart'));\n InkEvent.observe(this._element, 'touchmove', Ink.bindMethod(this, '_onTouchMove'));\n InkEvent.observe(this._element, 'touchend', Ink.bindMethod(this, '_onTouchEnd'));\n }\n\n this._setUpPagination();\n this._setUpAutoAdvance();\n this._setUpHider();\n\n this._options.onInit.call(this, this);\n },\n\n /**\n * Repositions elements around.\n * Measure the carousel once again, adjusting the involved elements' sizes. This is called automatically when the window resizes, in order to cater for changes from responsive media queries, for instance.\n *\n * @method refit\n * @public\n */\n refit: function() {\n var _isY = this._isY;\n\n var size = function (elm, perpendicular) {\n if (!elm) { return 0; }\n\n if (!perpendicular) {\n return InkElement.outerDimensions(elm)[_isY ? 1 : 0];\n } else {\n return InkElement.outerDimensions(elm)[_isY ? 0 : 1];\n }\n };\n\n this._liEls = Ink.ss('li.slide', this._ulEl);\n var numSlides = this._liEls.length;\n\n var contRect = this._ulEl.getBoundingClientRect();\n this._ctnLength = _isY ? contRect.bottom - contRect.top : contRect.right - contRect.left;\n this._elLength = size(this._liEls[0]);\n this._slidesPerPage = Math.floor( this._ctnLength / this._elLength ) || 1;\n if (!isFinite(this._slidesPerPage)) { this._slidesPerPage = 1; }\n\n var numPages = Math.ceil( numSlides / this._slidesPerPage );\n var numPagesChanged = this._numPages !== numPages;\n this._numPages = numPages;\n this._deltaLength = this._slidesPerPage * this._elLength;\n \n this._center();\n this._updateHider();\n this._IE7();\n\n if (this._pagination && numPagesChanged) {\n this._pagination.setSize(this._numPages);\n }\n this.setPage(limitRange(this.getPage(), 0, this._numPages));\n },\n\n _setUpPagination: function () {\n if (this._options.pagination) {\n if (Common.isDOMElement(this._options.pagination) ||\n typeof this._options.pagination === 'string') {\n // if dom element or css selector string...\n this._pagination = new Pagination(this._options.pagination, {\n size: this._numPages,\n onChange: this._handlers.paginationChange\n });\n } else {\n // assumes instantiated pagination\n this._pagination = this._options.pagination;\n this._pagination._options.onChange = this._handlers.paginationChange;\n this._pagination.setSize(this._numPages);\n }\n this._pagination.setCurrent(this._options.initialPage || 0);\n } else {\n this._currentPage = this._options.initialPage || 0;\n }\n },\n\n _setUpAutoAdvance: function () {\n if (!this._options.autoAdvance) { return; }\n var self = this;\n\n setTimeout(function autoAdvance() {\n self.nextPage(true /* wrap */);\n setTimeout(autoAdvance, self._options.autoAdvance);\n }, this._options.autoAdvance);\n },\n\n _setUpHider: function () {\n if (this._options.hideLast) {\n var hiderEl = InkElement.create('div', {\n className: 'hider',\n insertBottom: this._element\n });\n hiderEl.style.position = 'absolute';\n hiderEl.style[ this._isY ? 'left' : 'top' ] = '0'; // fix to top..\n hiderEl.style[ this._isY ? 'right' : 'bottom' ] = '0'; // and bottom...\n hiderEl.style[ this._isY ? 'bottom' : 'right' ] = '0'; // and move to the end.\n this._hiderEl = hiderEl;\n }\n },\n\n // [3.1.0] Deprecate this already\n _center: function() {\n if (!this._options.center) { return; }\n var gap = Math.floor( (this._ctnLength - (this._elLength * this._slidesPerPage) ) / 2 );\n\n var pad;\n if (this._isY) {\n pad = [gap, 'px 0'];\n } else {\n pad = ['0 ', gap, 'px'];\n }\n\n this._ulEl.style.padding = pad.join('');\n },\n\n // [3.1.0] Deprecate this already\n _updateHider: function() {\n if (!this._hiderEl) { return; }\n if (this.getPage() === 0) {\n var gap = Math.floor( this._ctnLength - (this._elLength * this._slidesPerPage) );\n if (this._options.center) {\n gap /= 2;\n }\n this._hiderEl.style[ this._isY ? 'height' : 'width' ] = gap + 'px';\n } else {\n this._hiderEl.style[ this._isY ? 'height' : 'width' ] = '0px';\n }\n },\n \n /**\n * Refits elements for IE7 because it doesn't support inline-block.\n *\n * @method _IE7\n * @private\n */\n _IE7: function () {\n if (Browser.IE && '' + Browser.version.split('.')[0] === '7') {\n // var numPages = this._numPages;\n var slides = Ink.ss('li.slide', this._ulEl);\n var stl = function (prop, val) {slides[i].style[prop] = val; };\n for (var i = 0, len = slides.length; i < len; i++) {\n stl('position', 'absolute');\n stl(this._isY ? 'top' : 'left', (i * this._elLength) + 'px');\n }\n }\n },\n\n _onTouchStart: function (event) {\n if (event.touches.length > 1) { return; }\n\n this._swipeData = {\n x: InkEvent.pointerX(event),\n y: InkEvent.pointerY(event)\n };\n\n var ulRect = this._ulEl.getBoundingClientRect();\n\n this._swipeData.firstUlPos = ulRect[this._isY ? 'top' : 'left'];\n\n this._swipeData.inUlX = this._swipeData.x - ulRect.left;\n this._swipeData.inUlY = this._swipeData.y - ulRect.top;\n\n setTransitionProperty(this._ulEl, 'none');\n\n this._touchMoveIsFirstTouchMove = true;\n },\n\n _onTouchMove: function (event) {\n if (event.touches.length > 1) { return; /* multitouch event, not my problem. */ }\n\n var pointerX = InkEvent.pointerX(event);\n var pointerY = InkEvent.pointerY(event);\n\n var deltaY = Math.abs(pointerY - this._swipeData.y);\n var deltaX = Math.abs(pointerX - this._swipeData.x);\n\n if (this._touchMoveIsFirstTouchMove) {\n this._touchMoveIsFirstTouchMove = undefined;\n this._scrolling = this._isY ?\n deltaX > deltaY :\n deltaY > deltaX ;\n\n if (!this._scrolling) {\n this._onAnimationFrame();\n }\n }\n\n if (!this._scrolling && this._swipeData) {\n InkEvent.stopDefault(event);\n\n this._swipeData.pointerPos = this._isY ? pointerY : pointerX;\n }\n },\n\n _onAnimationFrame: function () {\n var swipeData = this._swipeData;\n\n if (!swipeData || this._scrolling || this._touchMoveIsFirstTouchMove) { return; }\n\n var elRect = this._element.getBoundingClientRect();\n\n var newPos;\n\n if (!this._isY) {\n newPos = swipeData.pointerPos - swipeData.inUlX - elRect.left;\n } else {\n newPos = swipeData.pointerPos - swipeData.inUlY - elRect.top;\n }\n\n this._ulEl.style[this._isY ? 'top' : 'left'] = newPos + 'px';\n\n requestAnimationFrame(Ink.bindMethod(this, '_onAnimationFrame'));\n },\n\n _onTouchEnd: function (event) {\n if (this._swipeData && this._swipeData.pointerPos && !this._scrolling && !this._touchMoveIsFirstTouchMove) {\n var snapToNext = 0.1; // swipe 10% of the way to change page\n\n var relProgress = this._swipeData.firstUlPos -\n this._ulEl.getBoundingClientRect()[this._isY ? 'top' : 'left'];\n\n var curPage = this.getPage();\n\n // How many pages were advanced? May be fractional.\n var progressInPages = relProgress / this._elLength / this._slidesPerPage;\n\n // Have we advanced enough to change page?\n if (Math.abs(progressInPages) > snapToNext) {\n curPage += Math[ relProgress < 0 ? 'floor' : 'ceil' ](progressInPages);\n }\n\n // If something used to calculate progressInPages was zero, we get NaN here.\n if (!isNaN(curPage)) {\n this.setPage(curPage);\n }\n\n InkEvent.stopDefault(event);\n }\n\n setTransitionProperty(this._ulEl, null /* transition: left, top */);\n this._swipeData = null;\n this._touchMoveIsFirstTouchMove = undefined;\n this._scrolling = undefined;\n },\n\n _onPaginationChange: function(pgn) {\n this._setPage(pgn.getCurrent());\n },\n\n /**\n * Gets the current page index\n * @method getPage\n * @return The current page number\n **/\n getPage: function () {\n if (this._pagination) {\n return this._pagination.getCurrent();\n } else {\n return this._currentPage || 0;\n }\n },\n\n /**\n * Sets the current page index\n * @method setPage\n * @param {Number} page Index of the destination page.\n * @param {Boolean} [wrap] Flag to activate circular counting.\n **/\n setPage: function (page, wrap) {\n if (wrap) {\n // Pages outside the range [0..this._numPages] are wrapped.\n page = page % this._numPages;\n if (page < 0) { page = this._numPages - page; }\n }\n page = limitRange(page, 0, this._numPages - 1);\n\n if (this._pagination) {\n this._pagination.setCurrent(page); // _setPage is called by pagination because it listens to its Change event.\n } else {\n this._setPage(page);\n }\n },\n\n _setPage: function (page) {\n var _lengthToGo = page * this._deltaLength;\n var isLastPage = page === (this._numPages - 1);\n\n if (!this._options.spaceAfterLastSlide && isLastPage && page > 0) { \n var _itemsInLastPage = this._liEls.length - (page * this._slidesPerPage);\n if(_itemsInLastPage < this._slidesPerPage) {\n _lengthToGo = ((page - 1) * this._deltaLength) + (_itemsInLastPage * this._elLength);\n }\n }\n\n this._ulEl.style[ this._isY ? 'top' : 'left'] =\n ['-', _lengthToGo, 'px'].join('');\n\n if (this._options.onChange) {\n this._options.onChange.call(this, page);\n }\n\n this._currentPage = page;\n\n this._updateHider();\n },\n\n /**\n * Goes to the next page\n * @method nextPage\n * @param {Boolean} [wrap] Flag to loop from last page to first page.\n **/\n nextPage: function (wrap) {\n this.setPage(this.getPage() + 1, wrap);\n },\n\n /**\n * Goes to the previous page\n * @method previousPage\n * @param {Boolean} [wrap] Flag to loop from first page to last page.\n **/\n previousPage: function (wrap) { this.setPage(this.getPage() - 1, wrap); },\n\n /**\n * Returns how many slides fit into a page\n * @method getSlidesPerPage\n * @return {Number} The number of slides per page\n * @public\n */\n getSlidesPerPage: function() {\n return this._slidesPerPage;\n },\n\n /**\n * Get the amount of pages in the carousel.\n * @method getTotalPages\n * @return {Number} The number of pages\n * @public\n */\n getTotalPages: function() {\n return this._numPages;\n },\n\n /**\n * Get the stage element (your UL with the class \".stage\").\n * @method getStageElm\n * @public\n * @return {DOMElement} Stage element\n **/\n getStageElm: function() {\n return this._ulEl;\n },\n\n /**\n * Get a list of your slides (elements with the \".slide\" class inside your stage)\n * @method getSlidesList\n * @return {DOMElement[]} Array containing the slides.\n * @public\n */\n getSlidesList: function() {\n return this._liEls;\n },\n\n /**\n * Get the total number of slides\n * @method getTotalSlides\n * @return {Number} The number of slides\n * @public\n */\n getTotalSlides: function() {\n return this.getSlidesList().length;\n }\n };\n\n function setTransitionProperty(el, newTransition) {\n el.style.transitionProperty =\n el.style.oTransitionProperty =\n el.style.msTransitionProperty =\n el.style.mozTransitionProperty =\n el.style.webkitTransitionProperty = newTransition;\n }\n\n Common.createUIComponent(Carousel);\n\n return Carousel;\n\n});\n","/**\n * Closing utilities\n * @module Ink.UI.Close_1\n * @version 1\n */\nInk.createModule('Ink.UI.Close', '1', ['Ink.Dom.Event_1','Ink.Dom.Element_1'], function(InkEvent, InkElement) {\n 'use strict';\n\n /**\n * Subscribes clicks on the document.body.\n * Whenever an element with the classes \".ink-close\" or \".ink-dismiss\" is clicked, this module finds an ancestor \".ink-alert\" or \".ink-alert-block\" element and removes it from the DOM.\n * This module should be created only once per page.\n * \n * @class Ink.UI.Close\n * @constructor\n * @example\n * \n *\n * @sample Ink_UI_Close_1.html\n */\n var Close = function() {\n InkEvent.observe(document.body, 'click', function(ev) {\n var el = InkEvent.element(ev);\n\n el = InkElement.findUpwardsByClass(el, 'ink-close') ||\n InkElement.findUpwardsByClass(el, 'ink-dismiss');\n\n if (!el) {\n return; // ink-close or ink-dismiss class not found\n }\n\n var toRemove = InkElement.findUpwardsByClass(el, 'ink-alert') ||\n InkElement.findUpwardsByClass(el, 'ink-alert-block') ||\n el;\n\n if (toRemove) {\n InkEvent.stop(ev);\n InkElement.remove(toRemove);\n }\n });\n };\n\n Close._name = 'Close_1';\n\n return Close;\n});\n","/**\n * Auxiliar utilities for UI Modules\n * @module Ink.UI.Common_1\n * @version 1\n */\n \nInk.createModule('Ink.UI.Common', '1', ['Ink.Dom.Element_1', 'Ink.Net.Ajax_1','Ink.Dom.Css_1','Ink.Dom.Selector_1','Ink.Util.Url_1'], function(InkElement, Ajax,Css,Selector,Url) {\n\n 'use strict';\n\n var nothing = {} /* a marker, for reference comparison. */;\n\n var keys = Object.keys || function (obj) {\n var ret = [];\n for (var k in obj) if (obj.hasOwnProperty(k)) {\n ret.push(k);\n }\n return ret;\n };\n\n var es6WeakMapSupport = 'WeakMap' in window;\n var instances = es6WeakMapSupport ? new WeakMap() : null;\n\n var domRegistry = {\n get: function get(el) {\n return es6WeakMapSupport ?\n instances.get(el) :\n el.__InkInstances;\n },\n set: function set(el, thing) {\n if (es6WeakMapSupport) {\n instances.set(el, thing);\n } else {\n el.__InkInstances = thing;\n }\n }\n };\n\n /**\n * @namespace Ink.UI.Common_1\n */\n\n var Common = {\n\n /**\n * Supported Ink Layouts\n *\n * @property Layouts\n * @type Object\n * @readOnly\n */\n Layouts: {\n TINY: 'tiny',\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n XLARGE: 'xlarge'\n },\n\n /**\n * Checks if an item is a valid DOM Element.\n *\n * @method isDOMElement\n * @static\n * @param {Mixed} o The object to be checked.\n * @return {Boolean} True if it's a valid DOM Element.\n * @example\n * var el = Ink.s('#element');\n * if( Ink.UI.Common.isDOMElement( el ) === true ){\n * // It is a DOM Element.\n * } else {\n * // It is NOT a DOM Element.\n * }\n */\n isDOMElement: InkElement.isDOMElement,\n\n /**\n * Checks if an item is a valid integer.\n *\n * @method isInteger\n * @static\n * @param {Mixed} n The value to be checked.\n * @return {Boolean} True if it's a valid integer.\n * @example\n * var value = 1;\n * if( Ink.UI.Common.isInteger( value ) === true ){\n * // It is an integer.\n * } else {\n * // It is NOT an integer.\n * }\n */\n isInteger: function(n) {\n return (typeof n === 'number' && n % 1 === 0);\n },\n\n /**\n * Gets a DOM Element. \n *\n * @method elOrSelector\n * @static\n * @param {DOMElement|String} elOrSelector DOM Element or CSS Selector\n * @param {String} fieldName The name of the field. Commonly used for debugging.\n * @return {DOMElement} Returns the DOMElement passed or the first result of the CSS Selector. Otherwise it throws an exception.\n * @example\n * // In case there are several .myInput, it will retrieve the first found\n * var el = Ink.UI.Common.elOrSelector('.myInput','My Input');\n */\n elOrSelector: function(elOrSelector, fieldName) {\n if (!this.isDOMElement(elOrSelector)) {\n var t = Selector.select(elOrSelector);\n if (t.length === 0) {\n Ink.warn(fieldName + ' must either be a DOM Element or a selector expression!\\nThe script element must also be after the DOM Element itself.');\n return null;\n }\n return t[0];\n }\n return elOrSelector;\n },\n\n /**\n * Alias for `elOrSelector` but returns an array of elements.\n *\n * @method elsOrSelector\n *\n * @static\n * @param {DOMElement|String} elOrSelector DOM Element or CSS Selector\n * @param {String} fieldName The name of the field. Commonly used for debugging.\n * @return {DOMElement} Returns the DOMElement passed or the first result of the CSS Selector. Otherwise it throws an exception.\n * @param {Boolean} required Flag to accept an empty array as output.\n * @return {Array} The selected DOM Elements.\n * @example\n * var elements = Ink.UI.Common.elsOrSelector('input.my-inputs', 'My Input');\n */\n elsOrSelector: function(elsOrSelector, fieldName, required) {\n var ret;\n if (typeof elsOrSelector === 'string') {\n ret = Selector.select(elsOrSelector);\n } else if (Common.isDOMElement(elsOrSelector)) {\n ret = [elsOrSelector];\n } else if (elsOrSelector && typeof elsOrSelector === 'object' && typeof elsOrSelector.length === 'number') {\n ret = elsOrSelector;\n }\n\n if (ret && ret.length) {\n return ret;\n } else {\n if (required) {\n throw new TypeError(fieldName + ' must either be a DOM Element, an Array of elements, or a selector expression!\\nThe script element must also be after the DOM Element itself.');\n } else {\n return [];\n }\n }\n },\n\n /**\n * Gets options an object and element's metadata.\n *\n * The element's data attributes take precedence. Values from the element's data-atrributes are coerced into the required type.\n *\n * @method options\n *\n * @param {Object} [fieldId] Name to be used in debugging features.\n * @param {Object} defaults Object with the options' types and defaults.\n * @param {Object} overrides Options to override the defaults. Usually passed when instantiating an UI module.\n * @param {DOMElement} [element] Element with data-attributes\n *\n * @example\n *\n * this._options = Ink.UI.Common.options('MyComponent', {\n * 'anobject': ['Object', null], // Defaults to null\n * 'target': ['Element', null],\n * 'stuff': ['Number', 0.1],\n * 'stuff2': ['Integer', 0],\n * 'doKickFlip': ['Boolean', false],\n * 'targets': ['Elements'], // Required option since no default was given\n * 'onClick': ['Function', null]\n * }, options || {}, elm)\n *\n * @example\n *\n * ### Note about booleans\n *\n * Here is how options are read from the markup\n * data-attributes, for several values`data-a-boolean`.\n *\n * Options considered true:\n *\n * - `data-a-boolean=\"true\"`\n * - (Every other value which is not on the list below.)\n * \n * Options considered false:\n *\n * - `data-a-boolean=\"false\"`\n * - `data-a-boolean=\"\"`\n * - `data-a-boolean`\n *\n * Options which go to default:\n *\n * - (no attribute). When `data-a-boolean` is ommitted, the\n * option is not considered true nor false, and as such\n * defaults to what is in the `defaults` argument.\n *\n **/\n options: function (fieldId, defaults, overrides, element) {\n if (typeof fieldId !== 'string') {\n element = overrides;\n overrides = defaults;\n defaults = fieldId;\n fieldId = '';\n }\n overrides = overrides || {};\n var out = {};\n var dataAttrs = element ? InkElement.data(element) : {};\n var fromDataAttrs;\n var type;\n var lType;\n var defaultVal;\n\n var invalidStr = function (str) {\n if (fieldId) { str = fieldId + ': \"' + ('' + str).replace(/\"/, '\\\\\"') + '\"'; }\n return str;\n };\n\n var quote = function (str) {\n return '\"' + ('' + str).replace(/\"/, '\\\\\"') + '\"';\n };\n\n var invalidThrow = function (str) {\n throw new Error(invalidStr(str));\n };\n\n var invalid = function (str) {\n Ink.error(invalidStr(str) + '. Ignoring option.');\n };\n\n function optionValue(key) {\n type = defaults[key][0];\n lType = type.toLowerCase();\n defaultVal = defaults[key].length === 2 ? defaults[key][1] : nothing;\n\n if (!type) {\n invalidThrow('Ink.UI.Common.options: Always specify a type!');\n }\n if (!(lType in Common._coerce_funcs)) {\n invalidThrow('Ink.UI.Common.options: ' + defaults[key][0] + ' is not a valid type. Use one of ' + keys(Common._coerce_funcs).join(', '));\n\n }\n if (!defaults[key].length || defaults[key].length > 2) {\n invalidThrow('the \"defaults\" argument must be an object mapping option names to [typestring, optional] arrays.');\n }\n\n if (key in dataAttrs) {\n fromDataAttrs = Common._coerce_from_string(lType, dataAttrs[key], key, fieldId);\n // (above can return `nothing`)\n } else {\n fromDataAttrs = nothing;\n }\n\n if (fromDataAttrs !== nothing) {\n if (!Common._options_validate(fromDataAttrs, lType)) {\n invalid('(' + key + ' option) Invalid ' + lType + ' ' + quote(fromDataAttrs));\n return defaultVal;\n } else {\n return fromDataAttrs;\n }\n } else if (key in overrides) {\n return overrides[key];\n } else if (defaultVal !== nothing) {\n return defaultVal;\n } else {\n invalidThrow('Option ' + key + ' is required!');\n }\n }\n\n for (var key in defaults) {\n if (defaults.hasOwnProperty(key)) {\n out[key] = optionValue(key);\n }\n }\n\n return out;\n },\n\n _coerce_from_string: function (type, val, paramName, fieldId) {\n if (type in Common._coerce_funcs) {\n return Common._coerce_funcs[type](val, paramName, fieldId);\n } else {\n return val;\n }\n },\n\n _options_validate: function (val, type) {\n if (type in Common._options_validate_types) {\n return Common._options_validate_types[type].call(Common, val);\n } else {\n // 'object' options cannot be passed through data-attributes.\n // Json you say? Not any good to embed in HTML.\n return false;\n }\n },\n\n _coerce_funcs: (function () {\n var ret = {\n element: function (val) {\n return Common.elOrSelector(val, '');\n },\n elements: function (val) {\n return Common.elsOrSelector(val, '', false /*not required, so don't throw an exception now*/);\n },\n object: function (val) { return val; },\n number: function (val) { return parseFloat(val); },\n 'boolean': function (val) {\n return !(val === 'false' || val === '' || val === null);\n },\n string: function (val) { return val; },\n 'function': function (val, paramName, fieldId) {\n Ink.error(fieldId + ': You cannot specify the option \"' + paramName + '\" through data-attributes because it\\'s a function');\n return nothing;\n }\n };\n ret['float'] = ret.integer = ret.number;\n return ret;\n }()),\n\n _options_validate_types: (function () {\n var types = {\n string: function (val) {\n return typeof val === 'string';\n },\n number: function (val) {\n return typeof val === 'number' && !isNaN(val) && isFinite(val);\n },\n integer: function (val) {\n return val === Math.round(val);\n },\n element: function (val) {\n return Common.isDOMElement(val);\n },\n elements: function (val) {\n return val && typeof val === 'object' && typeof val.length === 'number' && val.length;\n },\n 'boolean': function (val) {\n return typeof val === 'boolean';\n },\n object: function () { return true; }\n };\n types['float'] = types.number;\n return types;\n }()),\n\n /**\n * Deep copy (clone) an object.\n * Note: The object cannot have referece loops.\n *\n * @method clone\n * @static\n * @param {Object} o The object to be cloned/copied.\n * @return {Object} Returns the result of the clone/copy.\n * @example\n * var originalObj = {\n * key1: 'value1',\n * key2: 'value2',\n * key3: 'value3'\n * };\n * var cloneObj = Ink.UI.Common.clone( originalObj );\n */\n clone: function(o) {\n try {\n return JSON.parse( JSON.stringify(o) );\n } catch (ex) {\n throw new Error('Given object cannot have loops!');\n }\n },\n\n\n /**\n * Gets an element's one-base index relative to its parent.\n *\n * @method childIndex\n * @static\n * @param {DOMElement} childEl Valid DOM Element.\n * @return {Number} Numerical position of an element relatively to its parent.\n * @example\n * \n *
        \n *
      • One
      • \n *
      • Two
      • \n *
      • Three
      • \n *
      • Four
      • \n *
      \n *\n * \n */\n childIndex: function(childEl) {\n if( Common.isDOMElement(childEl) ){\n var els = Selector.select('> *', childEl.parentNode);\n for (var i = 0, f = els.length; i < f; ++i) {\n if (els[i] === childEl) {\n return i;\n }\n }\n }\n throw 'not found!';\n },\n\n\n /**\n * AJAX JSON request shortcut method\n * It provides a more convenient way to do an AJAX request and expect a JSON response.It also offers a callback option, as third parameter, for better async handling.\n *\n * @method ajaxJSON\n * @static\n * @async\n * @param {String} endpoint Valid URL to be used as target by the request.\n * @param {Object} params This field is used in the thrown Exception to identify the parameter.\n * @param {Function} cb Callback for the request.\n * @example\n * // In case there are several .myInput, it will retrieve the first found\n * var el = Ink.UI.Common.elOrSelector('.myInput','My Input');\n */\n ajaxJSON: function(endpoint, params, cb) {\n new Ajax(\n endpoint,\n {\n evalJS: 'force',\n method: 'POST',\n parameters: params,\n\n onSuccess: function( r) {\n try {\n r = r.responseJSON;\n if (r.status !== 'ok') {\n throw 'server error: ' + r.message;\n }\n cb(null, r);\n } catch (ex) {\n cb(ex);\n }\n },\n\n onFailure: function() {\n cb('communication failure');\n }\n }\n );\n },\n\n\n /**\n * Gets the current Ink layout.\n *\n * @method currentLayout\n * @static\n * @return {String} A string representation of the current layout name.\n * @example\n * var inkLayout = Ink.UI.Common.currentLayout();\n * if (inkLayout === 'small') {\n * // ...\n * }\n */\n currentLayout: function() {\n var i, f, k, v, el, detectorEl = Selector.select('#ink-layout-detector')[0];\n if (!detectorEl) {\n detectorEl = document.createElement('div');\n detectorEl.id = 'ink-layout-detector';\n for (k in this.Layouts) {\n if (this.Layouts.hasOwnProperty(k)) {\n v = this.Layouts[k];\n el = document.createElement('div');\n el.className = 'show-' + v + ' hide-all';\n el.setAttribute('data-ink-layout', v);\n detectorEl.appendChild(el);\n }\n }\n document.body.appendChild(detectorEl);\n }\n\n for (i = 0, f = detectorEl.children.length; i < f; ++i) {\n el = detectorEl.children[i];\n if (Css.getStyle(el, 'display') === 'block') {\n return el.getAttribute('data-ink-layout');\n }\n }\n\n return 'large';\n },\n\n\n /**\n * Sets the location's hash (window.location.hash).\n *\n * @method hashSet\n * @static\n * @param {Object} o Object with the info to be placed in the location's hash.\n * @example\n * // It will set the location's hash like: #key1=value1&key2=value2&key3=value3\n * Ink.UI.Common.hashSet({\n * key1: 'value1',\n * key2: 'value2',\n * key3: 'value3'\n * });\n */\n hashSet: function(o) {\n if (typeof o !== 'object') { throw new TypeError('o should be an object!'); }\n var hashParams = Url.getAnchorString();\n hashParams = Ink.extendObj(hashParams, o);\n window.location.hash = Url.genQueryString('', hashParams).substring(1);\n },\n\n /**\n * Removes children nodes from a given object.\n * This method was initially created to help solve a problem in Internet Explorer(s) that occurred when trying to set the innerHTML of some specific elements like 'table'.\n *\n * @method cleanChildren\n * @static\n * @param {DOMElement} parentEl Valid DOM Element\n * @example\n * \n *
        \n *
      • One
      • \n *
      • Two
      • \n *
      • Three
      • \n *
      • Four
      • \n *
      \n *\n * \n *\n * \n *
        \n */\n cleanChildren: function(parentEl) {\n if( !Common.isDOMElement(parentEl) ){\n throw 'Please provide a valid DOMElement';\n }\n var prevEl, el = parentEl.lastChild;\n while (el) {\n prevEl = el.previousSibling;\n parentEl.removeChild(el);\n el = prevEl;\n }\n },\n\n /**\n * Stores the id and/or classes of an element in an object.\n *\n * @method storeIdAndClasses\n * @static\n * @param {DOMElement} fromEl Valid DOM Element to get the id and classes from.\n * @param {Object} inObj Object where the id and classes will be saved.\n * @example\n *
        \n *\n * \n */\n storeIdAndClasses: function(fromEl, inObj) {\n if( !Common.isDOMElement(fromEl) ){\n throw 'Please provide a valid DOMElement as first parameter';\n }\n\n var id = fromEl.id;\n if (id) {\n inObj._id = id;\n }\n\n var classes = fromEl.className;\n if (classes) {\n inObj._classes = classes;\n }\n },\n\n /**\n * Sets the id and className properties of an element based \n *\n * @method restoreIdAndClasses\n * @static\n * @param {DOMElement} toEl Valid DOM Element to set the id and classes on.\n * @param {Object} inObj Object where the id and classes to be set are. This method uses the same format as the one given in `storeIdAndClasses`\n * @example\n *
        \n *\n * \n *\n * \n *
        \n */\n restoreIdAndClasses: function(toEl, inObj) {\n\n if( !Common.isDOMElement(toEl) ){\n throw 'Please provide a valid DOMElement as first parameter';\n }\n\n if (inObj._id && toEl.id !== inObj._id) {\n toEl.id = inObj._id;\n }\n\n if (inObj._classes && toEl.className.indexOf(inObj._classes) === -1) {\n if (toEl.className) { toEl.className += ' ' + inObj._classes; }\n else { toEl.className = inObj._classes; }\n }\n\n if (inObj._instanceId && !toEl.getAttribute('data-instance')) {\n toEl.setAttribute('data-instance', inObj._instanceId);\n }\n },\n\n _warnDoubleInstantiation: function (elm, newInstance) {\n var instances = Common.getInstance(elm);\n\n if (getName(newInstance) === '') { return; }\n if (!instances) { return; }\n\n var nameWithoutVersion = getName(newInstance);\n\n if (!nameWithoutVersion) { return; }\n\n for (var i = 0, len = instances.length; i < len; i++) {\n if (nameWithoutVersion === getName(instances[i])) {\n // Yes, I am using + to concatenate and , to split\n // arguments.\n //\n // Elements can't be concatenated with strings, but if\n // they are passed in an argument, modern debuggers will\n // pretty-print them and make it easy to find them in the\n // element inspector.\n //\n // On the other hand, if strings are passed as different\n // arguments, they get pretty printed. And the pretty\n // print of a string has quotes around it.\n //\n // If some day people find out that strings are not\n // just text and they start preserving contextual\n // information, then by all means change this to a\n // regular concatenation.\n //\n // But they won't. So don't change this.\n Ink.warn('Creating more than one ' + nameWithoutVersion + '.',\n '(Was creating a ' + nameWithoutVersion + ' on:', elm, ').');\n return false;\n }\n }\n\n function getName(thing) {\n return ((thing.constructor && (thing.constructor._name)) ||\n thing._name ||\n '').replace(/_.*?$/, '');\n }\n\n return true;\n },\n\n /**\n * Saves a component's instance reference for later retrieval.\n *\n * @method registerInstance\n * @static\n * @param {Object} inst Object that holds the instance.\n * @param {DOMElement} el DOM Element to associate with the object.\n */\n registerInstance: function(inst, el) {\n if (!inst) { return; }\n\n if (!Common.isDOMElement(el)) { throw new TypeError('Ink.UI.Common.registerInstance: The element passed in is not a DOM element!'); }\n\n // [todo] this belongs in the BaseUIComponent's initialization\n if (Common._warnDoubleInstantiation(el, inst) === false) {\n return false;\n }\n\n var instances = domRegistry.get(el);\n\n if (!instances) {\n instances = [];\n domRegistry.set(el, instances);\n }\n\n instances.push(inst);\n\n return true;\n },\n\n /**\n * Deletes an instance with a given id.\n *\n * @method unregisterInstance\n * @static\n * @param {String} id Id of the instance to be destroyed.\n */\n unregisterInstance: function(inst) {\n if (!inst || !inst._element) { return; }\n var instances = domRegistry.get(inst._element);\n for (var i = 0, len = instances.length; i < len; i++) {\n if (instances[i] === inst) {\n instances.splice(i, 1);\n }\n }\n },\n\n /**\n * Gets an UI instance from an element or instance id.\n *\n * @method getInstance\n * @static\n * @param {String|DOMElement} el DOM Element from which we want the instances.\n * @return {Object|Array} Returns an instance or a collection of instances.\n */\n getInstance: function(el, UIComponent) {\n el = Common.elOrSelector(el);\n var instances = domRegistry.get(el);\n\n if (!instances) {\n instances = [];\n }\n\n if (typeof UIComponent !== 'function') {\n return instances;\n }\n\n for (var i = 0, len = instances.length; i < len; i++) {\n if (instances[i] instanceof UIComponent) {\n return instances[i];\n }\n }\n\n return null;\n },\n\n /**\n * Gets an instance based on a selector.\n *\n * @method getInstanceFromSelector\n * @static\n * @param {String} selector CSS selector to get the instances from.\n * @return {Object|Array} Returns an instance or a collection of instances.\n */\n getInstanceFromSelector: function(selector) {\n return Common.getInstance(Common.elOrSelector(selector));\n },\n\n /**\n * Gets all the instance ids\n *\n * @method getInstanceIds\n * @static\n * @return {Array} Collection of instance ids\n */\n getInstanceIds: function() {\n var res = [];\n for (var id in instances) {\n if (instances.hasOwnProperty(id)) {\n res.push( id );\n }\n }\n return res;\n },\n\n /**\n * Gets all the instances\n *\n * @method getInstances\n * @static\n * @return {Array} Collection of existing instances.\n */\n getInstances: function() {\n var res = [];\n for (var id in instances) {\n if (instances.hasOwnProperty(id)) {\n res.push( instances[id] );\n }\n }\n return res;\n },\n\n /**\n * Boilerplate method to destroy a component.\n * Components should copy this method as its destroy method and modify it.\n *\n * @method destroyComponent\n * @static\n */\n destroyComponent: function() {\n Common.unregisterInstance(this);\n this._element.parentNode.removeChild(this._element);\n }\n\n };\n\n\n\n\n /**\n * Ink UI Base Class\n **/\n\n function warnStub() {\n /* jshint validthis: true */\n if (!this || this === window || typeof this.constructor !== 'function') { return; }\n Ink.warn('You called a method on an incorrectly instantiated ' + this.constructor._name + ' component. Check the warnings above to see what went wrong.');\n }\n\n function stub(prototype, obj) {\n for (var k in prototype) if (prototype.hasOwnProperty(k)) {\n if (k === 'constructor') { continue; }\n if (typeof obj[k] === 'function') {\n obj[k] = warnStub;\n }\n }\n }\n\n /**\n * Ink UI Base Class\n *\n * You don't use this class directly, or inherit from it directly.\n *\n * See createUIComponent() (in this module) for how to create a UI component and inherit from this. It's not plain old JS inheritance, for several reasons.\n *\n * @class Ink.UI.Common.BaseUIComponent\n * @constructor\n *\n * @param element\n * @param options\n **/\n function BaseUIComponent(element, options) {\n var constructor = this.constructor;\n var _name = constructor._name;\n\n if (!this || this === window) {\n throw new Error('Use \"new InkComponent()\" instead of \"InkComponent()\"');\n }\n\n if (this && !(this instanceof BaseUIComponent)) {\n throw new Error('You forgot to call Ink.UI.Common.createUIComponent() on this module!');\n }\n\n if (!element && !constructor._componentOptions.elementIsOptional) {\n Ink.error(new Error(_name + ': You need to pass an element or a selector as the first argument to \"new ' + _name + '()\"'));\n return;\n } else {\n this._element = Common.elsOrSelector(element,\n _name + ': An element with the selector \"' + element + '\" was not found!')[0];\n }\n\n if (!this._element && !constructor._componentOptions.elementIsOptional) {\n isValidInstance = false;\n Ink.error(new Error(element + ' does not match an element on the page. You need to pass a valid selector to \"new ' + _name + '\".'));\n }\n\n // TODO Change Common.options's signature? the below looks better, more manageable\n // var options = Common.options({\n // element: this._element,\n // modName: constructor._name,\n // options: constructor._optionDefinition,\n // defaults: constructor._globalDefaults\n // });\n\n this._options = Common.options(_name, constructor._optionDefinition, options, this._element);\n\n var isValidInstance = BaseUIComponent._validateInstance(this) === true;\n\n if (isValidInstance && typeof this._init === 'function') {\n try {\n this._init.apply(this, arguments);\n } catch(e) {\n isValidInstance = false;\n Ink.error(e);\n }\n }\n\n if (!isValidInstance) {\n BaseUIComponent._stubInstance(this, constructor, _name);\n } else if (this._element) {\n Common.registerInstance(this, this._element);\n }\n }\n\n /**\n * Calls the `instance`'s _validate() method so it can validate itself.\n *\n * Returns false if the method exists, was called, but no Error was returned or thrown.\n *\n * @method _validateInstance\n * @private\n */\n BaseUIComponent._validateInstance = function (instance) {\n var err;\n\n if (typeof instance._validate !== 'function') { return true; }\n\n try {\n err = instance._validate();\n } catch (e) {\n err = e;\n }\n\n if (err instanceof Error) {\n instance._validationError = err;\n return false;\n }\n\n return true;\n };\n\n\n /**\n * Replaces every method in the instance with stub functions which just call Ink.warn().\n *\n * This avoids breaking the page when there are errors.\n *\n * @method _stubInstance\n * @param instance\n * @param constructor\n * @param name\n * @private\n */\n BaseUIComponent._stubInstance = function (instance, constructor, name) {\n stub(constructor.prototype, instance);\n stub(BaseUIComponent.prototype, instance);\n Ink.warn(name + ' was not correctly created. ' + (instance._validationError || ''));\n };\n\n // TODO BaseUIComponent.setGlobalOptions = function () {}\n // TODO BaseUIComponent.createMany = function (selector) {}\n BaseUIComponent.getInstance = function (elOrSelector) {\n elOrSelector = Common.elOrSelector(elOrSelector);\n return Common.getInstance(elOrSelector, this /* get instance by constructor */);\n };\n\n Ink.extendObj(BaseUIComponent.prototype, {\n /**\n * Get an UI component's option's value.\n *\n * @method getOption\n * @param name\n *\n * @return The option value, or undefined if nothing is found.\n *\n * @example\n *\n * var myUIComponent = new Modal('#element', { trigger: '#trigger' }); // or anything else inheriting BaseUIComponent\n * myUIComponent.getOption('trigger'); // -> The trigger element (not the selector string, mind you)\n *\n **/\n getOption: function (name) {\n if (this.constructor && !(name in this.constructor._optionDefinition)) {\n Ink.error('\"' + name + '\" is not an option for ' + this.constructor._name);\n return undefined;\n }\n\n return this._options[name];\n },\n\n /**\n * Sets an option's value\n *\n * @method getOption\n * @param name\n * @param value\n *\n * @example\n *\n * var myUIComponent = new Modal(...);\n * myUIComponent.setOption('trigger', '#some-element');\n **/\n setOption: function (name, value) {\n if (this.constructor && !(name in this.constructor._optionDefinition)) {\n Ink.error('\"' + name + ' is not an option for ' + this.constructor._name);\n return;\n }\n\n this._options[name] = value;\n },\n\n /**\n * Get the element associated with an UI component (IE the one you used in the constructor)\n *\n * @method getElement\n * @return {Element} The component's element.\n *\n * @example\n * var myUIComponent = new Modal('#element'); // or anything else inheriting BaseUIComponent\n * myUIComponent.getElement(); // -> The '#element' (not the selector string, mind you).\n *\n **/\n getElement: function () {\n return this._element;\n }\n });\n\n Common.BaseUIComponent = BaseUIComponent;\n\n /**\n * @method createUIComponent\n * @param theConstructor UI component constructor. It should have an _init function in its prototype, an _optionDefinition object, and a _name property indicating its name.\n * @param options\n * @param [options.elementIsOptional=false] Whether the element argument is optional (For example, when the component might work on existing markup or create its own).\n **/\n Common.createUIComponent = function createUIComponent(theConstructor, options) {\n theConstructor._componentOptions = options || {};\n\n function assert(test, msg) {\n if (!test) {\n throw new Error('Ink.UI_1.createUIComponent: ' + msg);\n }\n }\n\n function assertProp(prop, propType, message) {\n var propVal = theConstructor[prop];\n // Check that the property was passed\n assert(typeof propVal !== 'undefined',\n theConstructor + ' doesn\\'t have a \"' + prop + '\" property. ' + message);\n // Check that its type is correct\n assert(propType && typeof propVal === propType,\n 'typeof ' + theConstructor + '.' + prop + ' is not \"' + propType + '\". ' + message);\n }\n\n assert(typeof theConstructor === 'function',\n 'constructor argument is not a function!');\n\n assertProp('_name', 'string', 'This property is used for error ' +\n 'messages. Set it to the full module path and version (Ink.My.Module_1).');\n assertProp('_optionDefinition', 'object', 'This property contains the ' +\n 'option names, types and defaults. See Ink.UI.Common.options() for reference.');\n\n // Extend the instance methods and props\n var _oldProto = theConstructor.prototype;\n\n if (typeof Object.create === 'function') {\n theConstructor.prototype = Object.create(BaseUIComponent.prototype);\n } else {\n theConstructor.prototype = (function hideF() {\n function F() {}\n F.prototype = BaseUIComponent.prototype;\n return new F();\n }());\n }\n\n Ink.extendObj(theConstructor.prototype, _oldProto);\n theConstructor.prototype.constructor = theConstructor;\n // Extend static methods\n Ink.extendObj(theConstructor, BaseUIComponent);\n };\n\n return Common;\n\n});\n","/**\n * Date selector\n * @module Ink.UI.DatePicker_1\n * @version 1\n */\n\nInk.createModule('Ink.UI.DatePicker', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1','Ink.Util.Date_1', 'Ink.Dom.Browser_1'], function(Common, Event, Css, InkElement, Selector, InkArray, InkDate ) {\n 'use strict';\n\n // Clamp a number into a min/max limit\n function clamp(n, min, max) {\n if (n > max) { n = max; }\n if (n < min) { n = min; }\n\n return n;\n }\n\n function dateishFromYMDString(YMD) {\n var split = YMD.split('-');\n return dateishFromYMD(+split[0], +split[1] - 1, +split[2]);\n }\n\n function dateishFromYMD(year, month, day) {\n return {_year: year, _month: month, _day: day};\n }\n\n function dateishFromDate(date) {\n return {_year: date.getFullYear(), _month: date.getMonth(), _day: date.getDate()};\n }\n\n /**\n * @class Ink.UI.DatePicker\n * @constructor\n * @version 1\n *\n * @param {String|DOMElement} selector\n * @param {Object} [options] Options\n * @param {Boolean} [options.autoOpen] Flag to automatically open the datepicker.\n * @param {String} [options.cleanText] Text for the clean button. Defaults to 'Clear'.\n * @param {String} [options.closeText] Text for the close button. Defaults to 'Close'.\n * @param {String} [options.cssClass] CSS class to be applied on the datepicker\n * @param {String|DOMElement} [options.pickerField] (if not using in an input[type=\"text\"]) Element which displays the DatePicker when clicked. Defaults to an \"open\" link.\n * @param {String} [options.dateRange] Enforce limits to year, month and day for the Date, ex: '1990-08-25:2020-11'\n * @param {Boolean} [options.displayInSelect] Flag to display the component in a select element.\n * @param {String|DOMElement} [options.dayField] (if using options.displayInSelect) `select` field with days.\n * @param {String|DOMElement} [options.monthField] (if using options.displayInSelect) `select` field with months.\n * @param {String|DOMElement} [options.yearField] (if using options.displayInSelect) `select` field with years.\n * @param {String} [options.format] Date format string\n * @param {Object} [options.month] Hash of month names. Defaults to portuguese month names. January is 1.\n * @param {String} [options.nextLinkText] Text for the previous button. Defaults to '«'.\n * @param {String} [options.ofText] Text to show between month and year. Defaults to ' of '.\n * @param {Boolean} [options.onFocus] If the datepicker should open when the target element is focused. Defaults to true.\n * @param {Function} [options.onMonthSelected] Callback to execute when the month is selected.\n * @param {Function} [options.onSetDate] Callback to execute when the date is set.\n * @param {Function} [options.onYearSelected] Callback to execute when the year is selected.\n * @param {String} [options.position] Position for the datepicker. Either 'right' or 'bottom'. Defaults to 'right'.\n * @param {String} [options.prevLinkText] Text for the previous button. Defaults to '«'.\n * @param {Boolean} [options.showClean] If the clean button should be visible. Defaults to true.\n * @param {Boolean} [options.showClose] If the close button should be visible. Defaults to true.\n * @param {Boolean} [options.shy] If the datepicker should start automatically. Defaults to true.\n * @param {String} [options.startDate] Date to define initial month. Must be in yyyy-mm-dd format.\n * @param {Number} [options.startWeekDay] First day of the week. Sunday is zero. Defaults to 1 (Monday).\n * @param {Function} [options.validYearFn] Callback to execute when 'rendering' the month (in the month view)\n * @param {Function} [options.validMonthFn] Callback to execute when 'rendering' the month (in the month view)\n * @param {Function} [options.validDayFn] Callback to execute when 'rendering' the day (in the month view)\n * @param {Function} [options.nextValidDateFn] Function to calculate the next valid date, given the current. Useful when there's invalid dates or time frames.\n * @param {Function} [options.prevValidDateFn] Function to calculate the previous valid date, given the current. Useful when there's invalid dates or time frames.\n * @param {Object} [options.wDay] Hash of week day names. Sunday is 0. Defaults to { 0:'Sunday', 1:'Monday', etc...\n * @param {String} [options.yearRange] Enforce limits to year for the Date, ex: '1990:2020' (deprecated)\n *\n * @sample Ink_UI_DatePicker_1.html\n */\n var DatePicker = function() {\n Common.BaseUIComponent.apply(this, arguments);\n };\n\n DatePicker._name = 'DatePicker_1';\n\n DatePicker._optionDefinition = {\n autoOpen: ['Boolean', false],\n cleanText: ['String', 'Clear'],\n closeText: ['String', 'Close'],\n pickerField: ['Element', null],\n containerElement:['Element', null],\n cssClass: ['String', 'ink-calendar bottom'],\n dateRange: ['String', null],\n \n // use this in a \n *\n * By applying this UI class to the above input, you get a tag field with the tags \"initial\" and \"value\". The class preserves the original input element. It remains hidden and is updated with new tag information dynamically, so regular HTML form logic still applies.\n *\n * Below \"input\" refers to the current value of the input tag (updated as the user enters text, of course), and \"output\" refers to the value which this class writes back to said input tag.\n *\n * @class Ink.UI.TagField\n * @version 1\n * @constructor\n * @param {String|DOMElement} element Selector or DOM Input Element.\n * @param {Object} [options] Options object\n * @param {String|Array} [options.tags] Initial tags in the input\n * @param {Boolean} [options.allowRepeated] Flag to allow user to input several tags. Defaults to true.\n * @param {RegExp} [options.separator] Split the input by this RegExp. Defaults to /[,;(space)]+/g (spaces, commas and semicolons)\n * @param {String} [options.outSeparator] Use this string to separate each tag from the next in the output. Defaults to ','.\n * @param {Boolean} [options.autoSplit] Flag to activate tag creation when the user types a separator. Defaults to true.\n * @param {Integer} [options.maxTags] Maximum number of tags allowed. Set to -1 for no limit. Defaults to -1.\n * @example\n */\n function TagField() {\n Common.BaseUIComponent.apply(this, arguments);\n }\n\n TagField._name = 'TagField_1';\n\n TagField._optionDefinition = {\n tags: ['String', []],\n tagQuery: ['Object', null],\n tagQueryAsync: ['Object', null],\n allowRepeated: ['Boolean', false],\n maxTags: ['Integer', -1],\n outSeparator: ['String', ','],\n separator: ['String', /[,; ]+/g],\n autoSplit: ['Boolean', true]\n };\n\n TagField.prototype = {\n /**\n * Init function called by the constructor\n * \n * @method _init\n * @private\n */\n _init: function() {\n var o = this._options;\n if (typeof o.separator === 'string') {\n o.separator = new RegExp(o.separator, 'g');\n }\n\n if (typeof o.tags === 'string') {\n // coerce to array using the separator\n o.tags = this._readInput(o.tags);\n }\n\n Css.addClassName(this._element, 'hide-all');\n\n this._viewElm = InkElement.create('div', {\n className: 'ink-tagfield',\n insertAfter: this._element\n });\n\n this._input = InkElement.create('input', {\n type: 'text',\n className: 'new-tag-input',\n insertBottom: this._viewElm\n });\n\n var tags = [].concat(o.tags, this._tagsFromMarkup(this._element));\n\n this._tags = [];\n\n InkArray.each(tags, Ink.bindMethod(this, '_addTag'));\n\n InkEvent.observe(this._input, 'keyup', Ink.bindEvent(this._onKeyUp, this));\n InkEvent.observe(this._input, 'change', Ink.bindEvent(this._onKeyUp, this));\n InkEvent.observe(this._input, 'keydown', Ink.bindEvent(this._onKeyDown, this));\n InkEvent.observe(this._input, 'blur', Ink.bindEvent(this._onBlur, this));\n InkEvent.observe(this._viewElm, 'click', Ink.bindEvent(this._refocus, this));\n },\n\n destroy: function () {\n InkElement.remove(this._viewElm);\n Css.removeClassName(this._element, 'hide-all');\n },\n\n _tagsFromMarkup: function (element) {\n var tagname = element.tagName.toLowerCase();\n if (tagname === 'input') {\n return this._readInput(element.value);\n } else if (tagname === 'select') {\n return InkArray.map(element.getElementsByTagName('option'), function (option) {\n return InkElement.textContent(option);\n });\n } else {\n throw new Error('Cannot read tags from a ' + tagname + ' tag. Unknown tag');\n }\n },\n\n _tagsToMarkup: function (tags, element) {\n var tagname = element.tagName.toLowerCase();\n if (tagname === 'input') {\n if (this._options.separator) {\n element.value = tags.join(this._options.outSeparator);\n }\n } else if (tagname === 'select') {\n element.innerHTML = '';\n InkArray.each(tags, function (tag) {\n var opt = InkElement.create('option', {selected: 'selected'});\n InkElement.setTextContent(opt, tag);\n element.appendChild(opt);\n });\n } else {\n throw new Error('TagField: Cannot read tags from a ' + tagname + ' tag. Unknown tag');\n }\n },\n\n _addTag: function (tag) {\n if (this._options.maxTags !== -1 &&\n this._tags.length >= this._options.maxTags) {\n return;\n }\n if ((!this._options.allowRepeated &&\n InkArray.inArray(tag, this._tags, tag)) || !tag) {\n return false;\n }\n var elm = InkElement.create('span', {\n className: 'ink-tag',\n setTextContent: tag + ' '\n });\n\n var remove = InkElement.create('span', {\n className: 'remove fa fa-times',\n insertBottom: elm\n });\n InkEvent.observe(remove, 'click', Ink.bindEvent(this._removeTag, this, null));\n\n var spc = document.createTextNode(' ');\n\n this._tags.push(tag);\n this._viewElm.insertBefore(elm, this._input);\n this._viewElm.insertBefore(spc, this._input);\n this._tagsToMarkup(this._tags, this._element);\n },\n\n _readInput: function (text) {\n if (this._options.separator) {\n return InkArray.filter(text.split(this._options.separator), isTruthy);\n } else {\n return [text];\n }\n },\n\n _onKeyUp: function () { // TODO control input box size\n if (!this._options.autoSplit) {\n return;\n }\n var split = this._input.value.split(this._options.separator);\n if (split.length <= 1) {\n return;\n }\n var last = split[split.length - 1];\n split = split.splice(0, split.length - 1);\n split = InkArray.filter(split, isTruthy);\n \n InkArray.each(split, Ink.bind(this._addTag, this));\n this._input.value = last;\n },\n\n _onKeyDown: function (event) {\n if (event.which === enterKey) {\n return this._onEnterKeyDown(event);\n } else if (event.which === backspaceKey) {\n return this._onBackspaceKeyDown();\n } else if (this._removeConfirm) {\n // user pressed another key, cancel removal from a backspace key\n this._unsetRemovingVisual(this._tags.length - 1);\n }\n },\n\n /**\n * When the user presses backspace twice on the empty input, we delete the last tag on the field.\n * @method onBackspaceKeyDown\n * @private\n */\n _onBackspaceKeyDown: function () {\n if (this._input.value) { return; }\n\n if (this._removeConfirm) {\n this._unsetRemovingVisual(this._tags.length - 1);\n this._removeTag(this._tags.length - 1);\n this._removeConfirm = null;\n } else {\n this._setRemovingVisual(this._tags.length - 1);\n }\n },\n\n _onEnterKeyDown: function (event) {\n var tag = this._input.value;\n if (tag) {\n this._addTag(tag);\n this._input.value = '';\n }\n InkEvent.stopDefault(event);\n },\n\n _onBlur: function () {\n this._addTag(this._input.value);\n this._input.value = '';\n },\n\n /* For when the user presses backspace.\n * Set the style of the tag so that it seems like it's going to be removed\n * if they press backspace again. */\n _setRemovingVisual: function (tagIndex) {\n var elm = this._viewElm.children[tagIndex];\n if (!elm) { return; }\n\n Css.addClassName(elm, 'tag-deleting');\n\n this._removeRemovingVisualTimeout = setTimeout(Ink.bindMethod(this, '_unsetRemovingVisual', tagIndex), 4000);\n InkEvent.observe(this._input, 'blur', Ink.bindMethod(this, '_unsetRemovingVisual', tagIndex));\n this._removeConfirm = true;\n },\n _unsetRemovingVisual: function (tagIndex) {\n var elm = this._viewElm.children[tagIndex];\n if (elm) {\n Css.removeClassName(elm, 'tag-deleting');\n clearTimeout(this._removeRemovingVisualTimeout);\n }\n this._removeConfirm = null;\n },\n\n _removeTag: function (event) {\n var index;\n if (typeof event === 'object') { // click event on close button\n var elm = InkEvent.element(event).parentNode;\n index = InkElement.parentIndexOf(this._viewElm, elm);\n } else if (typeof event === 'number') { // manual removal\n index = event;\n }\n this._tags = InkArray.remove(this._tags, index, 1);\n InkElement.remove(this._viewElm.children[index]);\n this._tagsToMarkup(this._tags, this._element);\n },\n\n _refocus: function (event) {\n this._input.focus();\n InkEvent.stop(event);\n return false;\n }\n };\n\n Common.createUIComponent(TagField);\n\n return TagField;\n});\n","/**\n * Toggle the visibility of elements.\n * @module Ink.UI.Toggle_1\n * @version 1\n */\n\n Ink.createModule('Ink.UI.Toggle', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1'], function(Common, InkEvent, Css, InkElement, Selector, InkArray ) {\n 'use strict';\n\n /**\n *\n * You need two elements to use Toggle: the `trigger` element, and the `target` element (or elements). The default behaviour is to toggle the `target`(s) when you click the `trigger`.\n *\n * The toggle has a state. It is either \"on\" or \"off\". It works by switching between the CSS classes in `classNameOn` and `classNameOff` according to the current state.\n *\n * When you initialize the Toggle, it will check if the targets are visible to figure out what the initial state is. You can force the toggle to consider itself turned \"on\" or \"off\" by setting the `initialState` option to `true` or `false`, respectively.\n *\n * You can get the current state of the Toggle by calling `getState`, or by checking if your `trigger` element has the \"active\" class.\n * The state can be changed through JavaScript. Just call `setState(true)` \n * to turn the Toggle on (or `setState(false)` to turn it off).\n *\n * @class Ink.UI.Toggle\n * @constructor\n * @version 1\n * @param {String|DOMElement} selector Trigger element. By clicking this, the target (or targets) are triggered.\n * @param {Object} [options] Options object, containing:\n *\n * @param {String} options.target CSS Selector that specifies the elements that this component will toggle\n * @param {String} [options.classNameOn] CSS class to toggle when on. Defaults to 'show-all'.\n * @param {String} [options.classNameOff] CSS class to toggle when off. Defaults to 'hide-all'.\n * @param {String} [options.triggerEvent] Event that will trigger the toggling. Defaults to 'click'.\n * @param {Boolean} [options.closeOnClick] Flag to toggle the targe off when clicking outside the toggled content. Defaults to true.\n * @param {String} [options.closeOnInsideClick] Toggle off when a child element matching this selector is clicked. Set to null to deactivate the check. Defaults to 'a[href]'.\n * @param {Boolean} [options.initialState] Flag to define initial state. false: off, true: on, null: markup. Defaults to null.\n * @param {Function} [options.onChangeState] Callback when the toggle state changes. Return `false` to cancel the event.\n *\n * @sample Ink_UI_Toggle_1_constructor.html\n */\n function Toggle(){\n Common.BaseUIComponent.apply(this, arguments);\n }\n\n Toggle._name = 'Toggle_1';\n\n Toggle._optionDefinition = {\n target: ['Elements'],\n triggerEvent: ['String', 'click'],\n closeOnClick: ['Boolean', true],\n isAccordion: ['Boolean', false],\n initialState: ['Boolean', null], // May be true, false, or null to be what it is right now\n classNameOn: ['String', 'show-all'],\n classNameOff: ['String', 'hide-all'],\n closeOnInsideClick: ['String', 'a[href]'], // closes the toggle when a target is clicked and it is a link\n onChangeState: ['Function', null]\n };\n\n Toggle.prototype = {\n\n /**\n * Init function called by the constructor\n * \n * @method _init\n * @private\n */\n _init: function(){\n var i, len;\n\n this._targets = Common.elsOrSelector(this._options.target);\n\n // Boolean option handling\n this._options.closeOnClick = this._options.closeOnClick.toString() === 'true';\n // Actually a throolean\n if (this._options.initialState !== null){\n this._options.initialState = this._options.initialState.toString() === 'true';\n } else {\n this._options.initialState = Css.getStyle(this._targets[0], 'display') !== 'none';\n }\n\n if (this._options.classNameOn !== 'show-all' || this._options.classNameOff !== 'hide-all') {\n for (i = 0, len = this._targets.length; i < len; i++) {\n Css.removeClassName(this._targets[i], 'show-all');\n Css.removeClassName(this._targets[i], 'hide-all');\n }\n }\n\n this._accordion = ( Css.hasClassName(this._element.parentNode,'accordion') || Css.hasClassName(this._targets[0].parentNode,'accordion') );\n\n this._firstTime = true;\n\n this._bindEvents();\n\n if (this._options.initialState !== null) {\n this.setState(this._options.initialState, true);\n } else {\n // Add initial classes matching the current \"display\" of the object.\n var state = Css.getStyle(this._targets[0], 'display') !== 'none';\n this.setState(state, true);\n }\n // Aditionally, remove any inline \"display\" style.\n for (i = 0, len = this._targets.length; i < len; i++) {\n if (this._targets[i].style.display) {\n this._targets[i].style.display = ''; // becomes default\n }\n }\n\n this._element.setAttribute('data-is-toggle-trigger', 'true');\n },\n\n /**\n * @method _bindEvents\n * @private\n */\n _bindEvents: function () {\n if ( this._options.triggerEvent ) {\n InkEvent.observe(\n this._element,\n this._options.triggerEvent,\n Ink.bind(this._onTriggerEvent, this));\n }\n if( this._options.closeOnClick ){\n InkEvent.observe( document, 'click', Ink.bind(this._onOutsideClick, this));\n }\n if( this._options.closeOnInsideClick && this._options.closeOnInsideClick !== 'false') {\n var sel = this._options.closeOnInsideClick;\n if (sel.toString() === 'true') {\n sel = '*';\n }\n InkEvent.observeMulti(this._targets, 'click', Ink.bind(function (e) {\n if ( InkElement.findUpwardsBySelector(InkEvent.element(e), sel) ) {\n this.setState(false, true);\n }\n }, this));\n }\n },\n\n /**\n * Event handler. It's responsible for handling the `triggerEvent` as defined in the options.\n *\n * This will trigger the toggle.\n * \n * @method _onTriggerEvent\n * @param {Event} event\n * @private\n */\n _onTriggerEvent: function( event ){\n // When the togglee is a child of the toggler, we get the togglee's events here. We have to check that this event is for us.\n var target = InkEvent.element(event);\n\n var isAncestorOfClickedElement = InkArray.some(this._targets, function (thisOne) {\n return thisOne === target || InkElement.isAncestorOf(thisOne, target);\n });\n\n if (isAncestorOfClickedElement) {\n return;\n }\n\n if (this._accordion) {\n this._updateAccordion();\n }\n\n var has = this.getState();\n this.setState(!has, true);\n if (!has && this._firstTime) {\n this._firstTime = false;\n }\n\n InkEvent.stopDefault(event);\n },\n\n /**\n * Be compatible with accordions\n *\n * @method _updateAccordion\n **/\n _updateAccordion: function () {\n var elms, accordionElement;\n if( Css.hasClassName(this._targets[0].parentNode,'accordion') ){\n accordionElement = this._targets[0].parentNode;\n } else {\n accordionElement = this._targets[0].parentNode.parentNode;\n }\n elms = Selector.select('.toggle, .ink-toggle',accordionElement);\n for(var i=0; i 0) && (targetElm[0] !== this._targets[0]) ){\n targetElm[0].style.display = 'none';\n }\n }\n },\n\n /**\n * Click handler. Will handle clicks outside the toggle component.\n * \n * @method _onOutsideClick\n * @param {Event} event\n * @private\n */\n _onOutsideClick: function( event ){\n var tgtEl = InkEvent.element(event),\n shades;\n\n if (InkElement.findUpwardsBySelector(tgtEl, '[data-is-toggle-trigger=\"true\"]')) return;\n\n var ancestorOfTargets = InkArray.some(this._targets, function (target) {\n return InkElement.isAncestorOf(target, tgtEl) || target === tgtEl;\n });\n\n if( (this._element === tgtEl) || InkElement.isAncestorOf(this._element, tgtEl) || ancestorOfTargets) {\n return;\n } else if( (shades = Ink.ss('.ink-shade')).length ) {\n var shadesLength = shades.length;\n\n for( var i = 0; i < shadesLength; i++ ){\n if( InkElement.isAncestorOf(shades[i],tgtEl) && InkElement.isAncestorOf(shades[i],this._element) ){\n return;\n }\n }\n }\n\n this.setState(false, true); // dismiss\n },\n\n /**\n * Sets the state of the toggle. (on/off)\n *\n * @method setState\n * @param newState {Boolean} New state (on/off)\n */\n setState: function (on, callHandler) {\n if (on === this.getState()) { return; }\n if (callHandler && typeof this._options.onChangeState === 'function') {\n var ret = this._options.onChangeState(on);\n if (ret === false) { return false; } // Canceled by the event handler\n }\n for (var i = 0, len = this._targets.length; i < len; i++) {\n Css.addRemoveClassName(this._targets[i], this._options.classNameOn, on);\n Css.addRemoveClassName(this._targets[i], this._options.classNameOff, !on);\n }\n Css.addRemoveClassName(this._element, 'active', on);\n },\n\n /**\n * Gets the state of the toggle. (on/off)\n *\n * @method getState\n *\n * @return {Boolean} whether the toggle is toggled on.\n */\n getState: function () {\n return Css.hasClassName(this._element, 'active');\n }\n };\n\n Common.createUIComponent(Toggle);\n\n return Toggle;\n});\n","/**\n * Content Tooltips\n * @module Ink.UI.Tooltip_1\n * @version 1\n */\nInk.createModule('Ink.UI.Tooltip', '1', ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Element_1', 'Ink.Dom.Selector_1', 'Ink.Util.Array_1', 'Ink.Dom.Css_1', 'Ink.Dom.Browser_1'], function (Common, InkEvent, InkElement, Selector, InkArray, Css) {\n 'use strict';\n\n /**\n * Tooltips are useful as a means to display information about functionality while avoiding clutter.\n *\n * Tooltips show up when you hover elements which \"have\" tooltips.\n *\n * This class will \"give\" a tooltip to many elements, selected by its first argument (`target`). This is contrary to the other UI modules in Ink, which are created once per element.\n *\n * You can define options either through the second argument of the Tooltip constructor, or as data-attributes in each `target` element. Options set through data-attributes all start with \"data-tip\", and override options passed into the Tooltip constructor.\n *\n * @class Ink.UI.Tooltip\n * @constructor\n *\n * @param {DOMElement|String} target Target element or selector of elements, to display the tooltips on.\n * @param {Object} [options] Options object\n * @param {String} [options.text] Text content for the tooltip.\n * @param {String} [options.html] HTML for the tooltip. Same as above, but won't escape HTML.\n * @param {String} [options.where] Positioning for the tooltip. Options are 'up', 'down', 'left', 'right', 'mousemove' (follows the cursor), and 'mousefix' (stays fixed). Defaults to 'up'.\n * \n * @param {String} [options.color] Color of the tooltip. Options are red, orange, blue, green and black. Default is white.\n * @param {Number} [options.fade] Number of seconds to fade in/out. Defaults to 0.3.\n * @param {Boolean} [options.forever] Flag to prevent the tooltip from being erased when the mouse hovers away from the target.\n * @param {Number} [options.timeout] Number of seconds the tooltip will stay open. Useful together with options.forever. Defaults to 0.\n * @param {Number} [options.delay] Time the tooltip waits until it is displayed. Useful to avoid getting the attention of the user unnecessarily\n * @param {DOMElement|Selector} [options.template] Element or selector containing HTML to be cloned into the tooltips. Can be a hidden element, because CSS `display` is set to `block`.\n * @param {String} [options.templatefield] Selector within the template element to choose where the text is inserted into the tooltip. Useful when a wrapper DIV is required.\n * @param {Number} [options.left] Spacing from the target to the tooltip, when `where` is `mousemove` or `mousefix`. Defaults to 10.\n * @param {Number} [options.top] Spacing from the target to the tooltip, when `where` is `mousemove` or `mousefix`. Defaults to 10.\n * @param {Number} [options.spacing] Spacing between the tooltip and the target element, when `where` is not `mousemove` or `mousefix`. Defaults to 8.\n * \n * @sample Ink_UI_Tooltip_1.html\n */\n function Tooltip(element, options) {\n this._init(element, options || {});\n }\n\n function EachTooltip(root, elm) {\n this._init(root, elm);\n }\n\n var transitionDurationName,\n transitionPropertyName,\n transitionTimingFunctionName;\n (function () { // Feature detection\n var test = document.createElement('DIV');\n var names = ['transition', 'oTransition', 'msTransition', 'mozTransition',\n 'webkitTransition'];\n for (var i = 0; i < names.length; i++) {\n if (typeof test.style[names[i] + 'Duration'] !== 'undefined') {\n transitionDurationName = names[i] + 'Duration';\n transitionPropertyName = names[i] + 'Property';\n transitionTimingFunctionName = names[i] + 'TimingFunction';\n break;\n }\n }\n }());\n\n // Body or documentElement\n var bodies = document.getElementsByTagName('body');\n var body = bodies.length ? bodies[0] : document.documentElement;\n\n Tooltip.prototype = {\n _init: function(element, options) {\n var elements;\n\n this.options = Ink.extendObj({\n where: 'up',\n zIndex: 10000,\n left: 10,\n top: 10,\n spacing: 8,\n forever: 0,\n color: '',\n timeout: 0,\n delay: 0,\n template: null,\n templatefield: null,\n fade: 0.3,\n text: ''\n }, options || {});\n\n if (typeof element === 'string') {\n elements = Selector.select(element);\n } else if (typeof element === 'object') {\n elements = [element];\n } else {\n throw 'Element expected';\n }\n\n this.tooltips = [];\n\n for (var i = 0, len = elements.length; i < len; i++) {\n this.tooltips[i] = new EachTooltip(this, elements[i]);\n }\n },\n /**\n * Destroys the tooltips created by this instance\n *\n * @method destroy\n */\n destroy: function () {\n InkArray.each(this.tooltips, function (tooltip) {\n tooltip._destroy();\n });\n this.tooltips = null;\n this.options = null;\n }\n };\n\n EachTooltip.prototype = {\n _oppositeDirections: {\n left: 'right',\n right: 'left',\n up: 'down',\n down: 'up'\n },\n _init: function(root, elm) {\n InkEvent.observe(elm, 'mouseover', Ink.bindEvent(this._onMouseOver, this));\n InkEvent.observe(elm, 'mouseout', Ink.bindEvent(this._onMouseOut, this));\n InkEvent.observe(elm, 'mousemove', Ink.bindEvent(this._onMouseMove, this));\n\n this.root = root;\n this.element = elm;\n this._delayTimeout = null;\n this.tooltip = null;\n\n Common.registerInstance(this, this.element);\n },\n _makeTooltip: function (mousePosition) {\n if (!this._getOpt('text') &&\n !this._getOpt('html') &&\n !InkElement.hasAttribute(this.element, 'title')) {\n return false;\n }\n\n var tooltip = this._createTooltipElement();\n\n if (this.tooltip) {\n this._removeTooltip();\n }\n\n this.tooltip = tooltip;\n\n this._fadeInTooltipElement(tooltip);\n this._placeTooltipElement(tooltip, mousePosition);\n\n InkEvent.observe(tooltip, 'mouseover', Ink.bindEvent(this._onTooltipMouseOver, this));\n\n var timeout = this._getFloatOpt('timeout');\n if (timeout) {\n setTimeout(Ink.bind(function () {\n if (this.tooltip === tooltip) {\n this._removeTooltip();\n }\n }, this), timeout * 1000);\n }\n },\n _createTooltipElement: function () {\n var template = this._getOpt('template'), // User template instead of our HTML\n templatefield = this._getOpt('templatefield'),\n \n tooltip, // The element we float\n field; // Element where we write our message. Child or same as the above\n\n if (template) { // The user told us of a template to use. We copy it.\n var temp = document.createElement('DIV');\n temp.innerHTML = Common.elOrSelector(template, 'options.template').outerHTML;\n tooltip = temp.firstChild;\n \n if (templatefield) {\n field = Selector.select(templatefield, tooltip);\n if (field) {\n field = field[0];\n } else {\n throw 'options.templatefield must be a valid selector within options.template';\n }\n } else {\n field = tooltip; // Assume same element if user did not specify a field\n }\n } else { // We create the default structure\n tooltip = document.createElement('DIV');\n Css.addClassName(tooltip, 'ink-tooltip');\n Css.addClassName(tooltip, this._getOpt('color'));\n\n field = document.createElement('DIV');\n Css.addClassName(field, 'content');\n\n tooltip.appendChild(field);\n }\n \n if (this._getOpt('html')) {\n field.innerHTML = this._getOpt('html');\n } else if (this._getOpt('text')) {\n InkElement.setTextContent(field, this._getOpt('text'));\n } else {\n InkElement.setTextContent(field, this.element.getAttribute('title'));\n }\n tooltip.style.display = 'block';\n tooltip.style.position = 'absolute';\n tooltip.style.zIndex = this._getIntOpt('zIndex');\n\n return tooltip;\n },\n _fadeInTooltipElement: function (tooltip) {\n var fadeTime = this._getFloatOpt('fade');\n if (transitionDurationName && fadeTime) {\n tooltip.style.opacity = '0';\n tooltip.style[transitionDurationName] = fadeTime + 's';\n tooltip.style[transitionPropertyName] = 'opacity';\n tooltip.style[transitionTimingFunctionName] = 'ease-in-out';\n setTimeout(function () {\n tooltip.style.opacity = '1';\n }, 0); // Wait a tick\n }\n },\n _placeTooltipElement: function (tooltip, mousePosition) {\n var where = this._getOpt('where');\n\n if (where === 'mousemove' || where === 'mousefix') {\n var mPos = mousePosition;\n this._setPos(mPos[0], mPos[1]);\n body.appendChild(tooltip);\n } else if (where.match(/(up|down|left|right)/)) {\n body.appendChild(tooltip);\n var targetElementPos = InkElement.offset(this.element);\n var tleft = targetElementPos[0],\n ttop = targetElementPos[1];\n\n var centerh = (InkElement.elementWidth(this.element) / 2) - (InkElement.elementWidth(tooltip) / 2),\n centerv = (InkElement.elementHeight(this.element) / 2) - (InkElement.elementHeight(tooltip) / 2);\n var spacing = this._getIntOpt('spacing');\n\n var tooltipDims = InkElement.elementDimensions(tooltip);\n var elementDims = InkElement.elementDimensions(this.element);\n\n var maxX = InkElement.scrollWidth() + InkElement.viewportWidth();\n var maxY = InkElement.scrollHeight() + InkElement.viewportHeight();\n \n where = this._getWhereValueInsideViewport(where, {\n left: tleft - tooltipDims[0],\n right: tleft + tooltipDims[0],\n top: ttop + tooltipDims[1],\n bottom: ttop + tooltipDims[1]\n }, {\n right: maxX,\n bottom: maxY\n });\n \n if (where === 'up') {\n ttop -= tooltipDims[1];\n ttop -= spacing;\n tleft += centerh;\n } else if (where === 'down') {\n ttop += elementDims[1];\n ttop += spacing;\n tleft += centerh;\n } else if (where === 'left') {\n tleft -= tooltipDims[0];\n tleft -= spacing;\n ttop += centerv;\n } else if (where === 'right') {\n tleft += elementDims[0];\n tleft += spacing;\n ttop += centerv;\n }\n \n var arrow = null;\n if (where.match(/(up|down|left|right)/)) {\n arrow = document.createElement('SPAN');\n Css.addClassName(arrow, 'arrow');\n Css.addClassName(arrow, this._oppositeDirections[where]);\n tooltip.appendChild(arrow);\n }\n\n var tooltipLeft = tleft;\n var tooltipTop = ttop;\n\n var toBottom = (tooltipTop + tooltipDims[1]) - maxY;\n var toRight = (tooltipLeft + tooltipDims[0]) - maxX;\n var toLeft = 0 - tooltipLeft;\n var toTop = 0 - tooltipTop;\n\n if (toBottom > 0) {\n if (arrow) { arrow.style.top = (tooltipDims[1] / 2) + toBottom + 'px'; }\n tooltipTop -= toBottom;\n } else if (toTop > 0) {\n if (arrow) { arrow.style.top = (tooltipDims[1] / 2) - toTop + 'px'; }\n tooltipTop += toTop;\n } else if (toRight > 0) {\n if (arrow) { arrow.style.left = (tooltipDims[0] / 2) + toRight + 'px'; }\n tooltipLeft -= toRight;\n } else if (toLeft > 0) {\n if (arrow) { arrow.style.left = (tooltipDims[0] / 2) - toLeft + 'px'; }\n tooltipLeft += toLeft;\n }\n\n tooltip.style.left = tooltipLeft + 'px';\n tooltip.style.top = tooltipTop + 'px';\n }\n },\n\n /**\n * Get a value for \"where\" (left/right/up/down) which doesn't put the\n * tooltip off the screen\n *\n * @method _getWhereValueInsideViewport\n * @param where {String} \"where\" value which was given by the user and we might change\n * @param bbox {BoundingBox} A bounding box like what you get from getBoundingClientRect ({top, bottom, left, right}) with pixel positions from the top left corner of the viewport.\n * @param viewport {BoundingBox} Bounding box for the viewport. \"top\" and \"left\" are omitted because these coordinates are relative to the top-left corner of the viewport so they are zero.\n *\n * @TODO: we can't use getBoundingClientRect in this case because it returns {0,0,0,0} on our uncreated tooltip.\n */\n _getWhereValueInsideViewport: function (where, bbox, viewport) {\n if (where === 'left' && bbox.left < 0) {\n return 'right';\n } else if (where === 'right' && bbox.right > viewport.right) {\n return 'left';\n } else if (where === 'up' && bbox.top < 0) {\n return 'down';\n } else if (where === 'down' && bbox.bottom > viewport.bottom) {\n return 'up';\n }\n\n return where;\n },\n _removeTooltip: function() {\n var tooltip = this.tooltip;\n if (!tooltip) {return;}\n\n var remove = Ink.bind(InkElement.remove, {}, tooltip);\n\n if (this._getOpt('where') !== 'mousemove' && transitionDurationName) {\n tooltip.style.opacity = 0;\n // remove() will operate on correct tooltip, although this.tooltip === null then\n setTimeout(remove, this._getFloatOpt('fade') * 1000);\n } else {\n remove();\n }\n this.tooltip = null;\n },\n _getOpt: function (option) {\n var dataAttrVal = InkElement.data(this.element)[InkElement._camelCase('tip-' + option)];\n if (dataAttrVal /* either null or \"\" may signify the absense of this attribute*/) {\n return dataAttrVal;\n }\n var instanceOption = this.root.options[option];\n if (typeof instanceOption !== 'undefined') {\n return instanceOption;\n }\n },\n _getIntOpt: function (option) {\n return parseInt(this._getOpt(option), 10);\n },\n _getFloatOpt: function (option) {\n return parseFloat(this._getOpt(option), 10);\n },\n _destroy: function () {\n if (this.tooltip) {\n InkElement.remove(this.tooltip);\n }\n this.root = null; // Cyclic reference = memory leaks\n this.element = null;\n this.tooltip = null;\n },\n _onMouseOver: function(e) {\n // on IE < 10 you can't access the mouse event not even a tick after it fired\n var mousePosition = this._getMousePosition(e);\n var delay = this._getFloatOpt('delay');\n if (delay) {\n this._delayTimeout = setTimeout(Ink.bind(function () {\n if (!this.tooltip) {\n this._makeTooltip(mousePosition);\n }\n this._delayTimeout = null;\n }, this), delay * 1000);\n } else {\n this._makeTooltip(mousePosition);\n }\n },\n _onMouseMove: function(e) {\n if (this._getOpt('where') === 'mousemove' && this.tooltip) {\n var mPos = this._getMousePosition(e);\n this._setPos(mPos[0], mPos[1]);\n }\n },\n _onMouseOut: function () {\n if (!this._getIntOpt('forever')) {\n this._removeTooltip();\n }\n if (this._delayTimeout) {\n clearTimeout(this._delayTimeout);\n this._delayTimeout = null;\n }\n },\n _onTooltipMouseOver: function () {\n if (this.tooltip) { // If tooltip is already being removed, this has no effect\n this._removeTooltip();\n }\n },\n _setPos: function(left, top) {\n left += this._getIntOpt('left');\n top += this._getIntOpt('top');\n var pageDims = this._getPageXY();\n if (this.tooltip) {\n var elmDims = [InkElement.elementWidth(this.tooltip), InkElement.elementHeight(this.tooltip)];\n var scrollDim = this._getScroll();\n\n if((elmDims[0] + left - scrollDim[0]) >= (pageDims[0] - 20)) {\n left = (left - elmDims[0] - this._getIntOpt('left') - 10);\n }\n if((elmDims[1] + top - scrollDim[1]) >= (pageDims[1] - 20)) {\n top = (top - elmDims[1] - this._getIntOpt('top') - 10);\n }\n\n this.tooltip.style.left = left + 'px';\n this.tooltip.style.top = top + 'px';\n }\n },\n _getPageXY: function() {\n var cWidth = 0;\n var cHeight = 0;\n if( typeof( window.innerWidth ) === 'number' ) {\n cWidth = window.innerWidth;\n cHeight = window.innerHeight;\n } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {\n cWidth = document.documentElement.clientWidth;\n cHeight = document.documentElement.clientHeight;\n } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {\n cWidth = document.body.clientWidth;\n cHeight = document.body.clientHeight;\n }\n return [parseInt(cWidth, 10), parseInt(cHeight, 10)];\n },\n _getScroll: function() {\n var dd = document.documentElement, db = document.body;\n if (dd && (dd.scrollLeft || dd.scrollTop)) {\n return [dd.scrollLeft, dd.scrollTop];\n } else if (db) {\n return [db.scrollLeft, db.scrollTop];\n } else {\n return [0, 0];\n }\n },\n _getMousePosition: function(e) {\n return [parseInt(InkEvent.pointerX(e), 10), parseInt(InkEvent.pointerY(e), 10)];\n }\n };\n\n return Tooltip;\n});\n","/**\n * Elements in a tree structure\n * @module Ink.UI.TreeView_1\n * @version 1\n */\nInk.createModule('Ink.UI.TreeView', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1'], function(Common, Event, Css, Element, Selector, InkArray ) {\n 'use strict';\n\n\n /**\n * Shows elements in a tree structure which can be expanded and contracted.\n * A TreeView is built with \"node\"s and \"children\". \"node\"s are `li` tags, and \"children\" are `ul` tags.\n * You can build your TreeView out of a regular UL and LI element structure which you already use to display lists with several levels.\n * If you want a node to be open when the TreeView is built, just add the data-open=\"true\" attribute to it.\n * \n * @class Ink.UI.TreeView\n * @constructor\n * @version 1\n * @param {String|DOMElement} selector Element or selector.\n * @param {String} [options] Options object, containing:\n * @param {String} [options.node] Selector for the nodes. Defaults to 'li'.\n * @param {String} [options.children] Selector for the children. Defaults to 'ul'.\n * @param {String} [options.parentClass] CSS classes to be added to parent nodes. Defaults to 'parent'.\n * @param {String} [options.openClass] CSS classes to be added to the icon when a parent is open. Defaults to 'fa fa-minus-circle'.\n * @param {String} [options.closedClass] CSS classes to be added to the icon when a parent is closed. Defaults to 'fa fa-plus-circle'.\n * @param {String} [options.hideClass] CSS Class to toggle visibility of the children. Defaults to 'hide-all'.\n * @param {String} [options.iconTag] The name of icon tag. The component tries to find a tag with that name as a direct child of the node. If it doesn't find it, it creates it. Defaults to 'i'.\n * @param {Boolean} [options.stopDefault] Flag to stops the default behavior of the click handler. Defaults to true.\n * @example\n * \n * \n * \n * @sample Ink_UI_TreeView_1.html\n */\n function TreeView() {\n Common.BaseUIComponent.apply(this, arguments);\n }\n\n TreeView._name = 'TreeView_1';\n\n TreeView._optionDefinition = {\n 'node': ['String', 'li'],\n // [3.0.1] Deprecate this terrible, terrible name\n 'child': ['String',null],\n 'children': ['String','ul'],\n 'parentClass': ['String','parent'],\n 'openNodeClass': ['String', 'open'],\n 'openClass': ['String','fa fa-minus-circle'],\n 'closedClass': ['String','fa fa-plus-circle'],\n 'hideClass': ['String','hide-all'],\n 'iconTag': ['String', 'i'],\n 'stopDefault' : ['Boolean', true]\n };\n\n TreeView.prototype = {\n /**\n * Init function called by the constructor. Sets the necessary event handlers.\n * \n * @method _init\n * @private\n */\n _init: function(){\n if (this._options.child) {\n Ink.warn('Ink.UI.TreeView: options.child is being renamed to options.children.');\n this._options.children = this._options.child;\n }\n\n this._handlers = {\n click: Ink.bindEvent(this._onClick,this)\n };\n\n Event.on(this._element, 'click', this._options.node, this._handlers.click);\n\n InkArray.each(Ink.ss(this._options.node, this._element), Ink.bind(function(item){\n if( this.isParent(item) ) {\n Css.addClassName(item, this._options.parentClass);\n\n var isOpen = this.isOpen(item);\n if( !this._getIcon(item) ){\n Element.create(this._options.iconTag, { insertTop: item });\n }\n\n this._setNodeOpen(item, isOpen);\n }\n },this));\n },\n\n _getIcon: function (node) {\n return Ink.s('> ' + this._options.iconTag, node);\n },\n\n /**\n * Checks if a node is open.\n *\n * @method isOpen\n * @param {DOMElement} node The tree node to check\n **/\n isOpen: function (node) {\n if (!this._getChild(node)) {\n throw new Error('not a node!');\n }\n\n return Element.data(node).open === 'true' ||\n Css.hasClassName(node, this._options.openNodeClass);\n },\n\n /**\n * Checks if a node is a parent.\n *\n * @method isParent\n * @param {DOMElement} node Node to check\n **/\n isParent: function (node) {\n return Css.hasClassName(node, this._options.parentClass) ||\n this._getChild(node) != null;\n },\n\n _setNodeOpen: function (node, beOpen) {\n var child = this._getChild(node);\n if (child) {\n Css.setClassName(child, this._options.hideClass, !beOpen);\n var icon = this._getIcon(node);\n\n node.setAttribute('data-open', beOpen);\n\n /*\n * Don't refactor this to\n *\n * setClassName(el, className, status); setClassName(el, className, !status);\n *\n * because it won't work with multiple classes.\n *\n * Doing:\n * setClassName(el, 'fa fa-whatever', true);setClassName(el, 'fa fa-whatever-else', false);\n *\n * will remove 'fa' although it is a class we want.\n */\n\n var toAdd = beOpen ? this._options.openClass : this._options.closedClass;\n var toRemove = beOpen ? this._options.closedClass : this._options.openClass;\n Css.removeClassName(icon, toRemove);\n Css.addClassName(icon, toAdd);\n\n Css.setClassName(node, this._options.openNodeClass, beOpen);\n } else {\n Ink.error('Ink.UI.TreeView: node', node, 'is not a node!');\n }\n },\n\n /**\n * Opens one of the tree nodes\n *\n * Make sure you pass the node's DOMElement\n * @method open\n * @param {DOMElement} node The node you wish to open.\n **/\n open: function (node) {\n this._setNodeOpen(node, true);\n },\n\n /**\n * Closes one of the tree nodes\n *\n * Make sure you pass the node's DOMElement\n * @method close\n * @param {DOMElement} node The node you wish to close.\n **/\n close: function (node) {\n this._setNodeOpen(node, false);\n },\n\n /**\n * Toggles a node state\n *\n * @method toggle\n * @param {DOMElement} node The node to toggle.\n **/\n toggle: function (node) {\n if (this.isOpen(node)) {\n this.close(node);\n } else {\n this.open(node);\n }\n },\n\n _getChild: function (node) {\n return Selector.select(this._options.children, node)[0] || null;\n },\n\n /**\n * Handles the click event (as specified in the _init function).\n * \n * @method _onClick\n * @param {Event} event\n * @private\n */\n _onClick: function(ev){\n /**\n * Summary:\n * If the clicked element is a \"node\" as defined in the options, will check if it has any \"child\".\n * If so, will toggle its state and stop the event's default behavior if the stopDefault option is true.\n **/\n\n if (!this.isParent(ev.currentTarget) ||\n Selector.matchesSelector(ev.target, this._options.node) ||\n Selector.matchesSelector(ev.target, this._options.children)) {\n return;\n }\n\n if (this._options.stopDefault){\n ev.preventDefault();\n }\n\n this.toggle(ev.currentTarget);\n }\n };\n\n Common.createUIComponent(TreeView);\n\n return TreeView;\n});\n","Ink.createModule('Ink.UI.Upload', '1', [\n 'Ink.Dom.Event_1',\n 'Ink.Dom.Element_1',\n 'Ink.Dom.Browser_1',\n 'Ink.UI.Common_1'\n], function(Event, Element, Browser, Common) {\n 'use strict';\n\n var DirectoryReader = function(options) {\n this.init(options);\n };\n\n DirectoryReader.prototype = {\n init: function(options) {\n this._options = Ink.extendObj({\n entry: undefined,\n maxDepth: 10\n }, options || {});\n\n try {\n this._read();\n } catch(e) {\n Ink.error(e);\n }\n },\n\n\n _read: function() {\n if(!this._options.entry) {\n Ink.error('You must specify the entry!');\n return;\n }\n\n try {\n this._readDirectories();\n } catch(e) {\n Ink.error(e);\n }\n },\n\n\n _readDirectories: function() {\n var entries = [],\n running = false,\n maxDepth = 0;\n\n /* TODO return as tree because much better well */\n var _readEntries = Ink.bind(function(currentEntry) {\n var dir = currentEntry.createReader();\n running = true;\n\n dir.readEntries(Ink.bind(function(res) {\n if(res.length > 0) {\n for(var i = 0, len = res.length; i=0; i--) {\n if(typeof(arr[i]) === 'undefined' || arr[i] === null || arr[i] === '') {\n arr.splice(i, 1);\n }\n }\n return arr;\n }\n };\n\n var Queue = {\n lists: [],\n items: [],\n\n\n /**\n * Create new queue list\n * @function create\n * @public\n * @param {String} list name\n * @param {Function} function to iterate on items\n * @return {Object} list id\n */\n create: function(name) {\n var id;\n name = String(name);\n this.lists.push({name: name});\n id = this.lists.length - 1;\n return id;\n },\n\n\n getItems: function(parentId) {\n if(!parentId) {\n return this.items;\n }\n var items = [];\n for(var i = 0, len = this.items.length; i=0; i--) {\n if(this.items[i] && id === this.items[i].parentId) {\n this.remove(this.items[i].parentId, this.items[i].pid);\n }\n }\n if(!keepList) {\n this.lists.splice(id, 1);\n }\n return true;\n } catch(e) {\n Ink.error('Purge: invalid id');\n return false;\n }\n },\n\n\n /**\n * add an item to a list\n * @function add\n * @public\n * @param {String} name\n * @param {Object} item\n * @return {Number} pid\n */\n add: function(parentId, item, priority) {\n if(!this.lists[parentId]) {\n return false;\n }\n if(typeof(item) !== 'object') {\n item = String(item);\n }\n\n var pid = parseInt(Math.round(Math.random() * 100000) + \"\" + Math.round(Math.random() * 100000), 10);\n priority = priority || 0;\n\n this.items.push({parentId: parentId, item: item, priority: priority || 0, pid: pid});\n return pid;\n },\n\n\n /**\n * View list\n * @function view\n * @public\n * @param {Number} list id\n * @param {Number} process id\n * @return {Object} item\n */\n view: function(parentId, pid) {\n var id = this._searchByPid(parentId, pid);\n if(id === false) {\n return false;\n }\n return this.items[id];\n },\n\n\n /**\n * Remove an item\n * @function remove\n * @public\n * @param {Object} item\n * @return {Object|Boolean} removed item or false if not found\n */\n remove: function(parentId, pid) {\n try {\n var id = this._searchByPid(parentId, pid);\n if(id === false) {\n return false;\n }\n this.items.splice(id, 1);\n return true;\n } catch(e) {\n Ink.error('Remove: invalid id');\n return false;\n }\n },\n\n _searchByPid: function(parentId, pid) {\n if(!parentId && typeof(parentId) === 'boolean' || !pid) {\n return false;\n }\n\n parentId = parseInt(parentId, 10);\n pid = parseInt(pid, 10);\n\n if(isNaN(parentId) || isNaN(pid)) {\n return false;\n }\n\n for(var i = 0, len = this.items.length; i this._options.minSizeToUseChunks;\n },\n\n\n _dropEventHandler: function(ev) {\n Event.stop(ev);\n\n this.publish('DropComplete', ev.dataTransfer);\n\n var data = ev.dataTransfer;\n\n if(!data || !data.files || !data.files.length) {\n return false;\n }\n\n this._files = data.files;\n this._files = Array.prototype.slice.call(this._files || [], 0);\n\n // check if webkitGetAsEntry exists on first item\n if(data.items && data.items[0] && data.items[0].webkitGetAsEntry) {\n if(!this._options.foldersEnabled) {\n return setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0);\n }\n var entry, folders = [];\n for(var i = ev.dataTransfer.items.length-1; i>=0; i--) {\n entry = ev.dataTransfer.items[i].webkitGetAsEntry();\n if(entry && entry.isDirectory) {\n folders.push(entry);\n this._files[i].isDirectory = true;\n this._files.splice(i, 1);\n }\n }\n // starting callback hell\n this._addFolderToQueue(folders, Ink.bind(function() {\n setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0);\n }, this));\n } else {\n setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0);\n }\n\n return true;\n },\n\n\n _addFolderToQueue: function(folders, cb) {\n var files = [], invalidFolders = {};\n\n if(!folders || !folders.length) {\n cb();\n return files;\n }\n\n var getFiles = function(entries) {\n var files = [];\n for(var i = 0, len = entries.length; i this._options.maxFilesize) {\n this.publish('MaxSizeFailure', file, this._options.maxFilesize);\n continue;\n }\n\n fileID = parseInt(Math.round(Math.random() * 100000) + \"\" + Math.round(Math.random() * 100000), 10);\n o = { id: i, data: file, fileID: fileID, directory: file.isDirectory };\n Queue.add(this._queueId, o);\n\n this.publish('FileAddedToQueue', o);\n }\n this._processQueue(true);\n this._files = [];\n },\n\n\n _processQueue: function(internalUpload) {\n if(this._queueRunning) {\n return false;\n }\n\n this.running = 0;\n var max = 1, i = 0, items,\n queueLen = Queue.items.length;\n this._queueRunning = true;\n\n this.interval = setInterval(Ink.bind(function() {\n if(Queue.items.length === i && this.running === 0) {\n Queue.purge(this._queueId, true);\n this._queueRunning = false;\n clearInterval(this.interval);\n this.publish('QueueEnd', this._queueId, queueLen);\n }\n\n items = Queue.getItems(this._queueId);\n\n if(this.running < max && items[i]) {\n if(!items[i].canceled) {\n _doRequest.call(this, items[i].pid, items[i].item.data, items[i].item.fileID, items[i].item.directory, internalUpload);\n this.running++;\n i++;\n } else {\n var j = i;\n while(items[j] && items[j].canceled) {\n i++;\n j++;\n }\n }\n return true;\n }\n return false;\n }, this), 100);\n\n\n var _doRequest = function(pid, data, fileID, directory, internalUpload) {\n var o = {\n file: data,\n fileID: fileID,\n cb: Ink.bind(function() {\n this.running--;\n }, this)\n };\n if(internalUpload) {\n if(directory) {\n // do magic\n o.cb();\n } else {\n this._upload(o);\n }\n }\n };\n\n return true;\n },\n\n\n _upload: function(o) {\n var file = o.file,\n xhr = new XMLHttpRequest(),\n fileID = o.fileID;\n\n this.publish('BeforeUpload', file, this._options.extraData, fileID, xhr, this._supportChunks(file.size));\n\n var forceAbort = function(showError) {\n if(o.cb && typeof(o.cb === 'function')) {\n o.cb();\n }\n\n this.publish('OnProgress', {\n length: file.size,\n lengthComputable: true,\n loaded: file.size,\n total: file.size\n }, file, fileID);\n this.publish('EndUpload', file, fileID, (showError ? { error: true } : true));\n this.publish('InvalidFile', file, 'name');\n xhr.abort();\n };\n\n if(this._options.INVALID_FILE_NAME && this._options.INVALID_FILE_NAME instanceof RegExp) {\n if(this._options.INVALID_FILE_NAME.test(o.file.name)) {\n forceAbort.call(this);\n return;\n }\n }\n\n // If file was renamed, abort it\n // FU OPERA: Opera always return lastModified date as null\n if(!file.lastModifiedDate && !Ink.Dom.Browser.OPERA) {\n forceAbort.call(this, true);\n return;\n }\n\n xhr.upload.onprogress = Ink.bind(this.publish, this, 'OnProgress', file, fileID);\n\n var endpoint, method;\n if(this._supportChunks(file.size)) {\n if(file.size <= file.chunk_offset) {\n endpoint = this._options.endpointChunkCommit;\n method = 'POST';\n } else {\n endpoint = this._options.endpointChunk;\n if(file.chunk_upload_id) {\n endpoint += '?upload_id=' + file.chunk_upload_id;\n }\n if(file.chunk_offset) {\n endpoint += '&offset=' + file.chunk_offset;\n }\n method = 'PUT';\n }\n } else {\n endpoint = this._options.endpoint;\n method = 'POST';\n }\n\n xhr.open(method, endpoint, true);\n xhr.withCredentials = true;\n xhr.setRequestHeader(\"x-requested-with\", \"XMLHttpRequest\");\n if(this._supportChunks(file.size)) {\n xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n }\n\n var fd = new FormData(),\n blob;\n\n if(\"Blob\" in window && typeof Blob === 'function') {\n blob = new Blob([file], { type: file.type });\n if(this._supportChunks(file.size)) {\n file.chunk_offset = file.chunk_offset || 0;\n blob = blob.slice(file.chunk_offset, file.chunk_offset + this._options.chunkSize);\n } else {\n fd.append(this._options.fileFormName, blob, file.name);\n }\n } else {\n fd.append(this._options.fileFormName, file);\n }\n\n if(!this._supportChunks(file.size)) {\n for(var k in this._options.extraData) {\n if(this._options.extraData.hasOwnProperty(k)) {\n fd.append(k, this._options.extraData[k]);\n }\n }\n } else {\n fd.append('upload_id', file.chunk_upload_id);\n fd.append('path', file.upload_path);\n }\n\n if(!file.hasParent) {\n if(!this._supportChunks(file.size)) {\n xhr.send(fd);\n } else {\n if(file.size <= file.chunk_offset) {\n xhr.send('upload_id=' + file.chunk_upload_id + '&path=' + file.upload_path + '/' + file.name);\n } else {\n xhr.send(blob);\n }\n }\n } else {\n this.publish('cbCreateFolder', file.parentID, file.fullPath, this._options.extraData, this._folders, file.rootPath, Ink.bind(function() {\n if(!this._supportChunks(file.size)) {\n xhr.send(fd);\n } else {\n if(file.size <= file.chunk_offset) {\n xhr.send('upload_id=' + file.chunk_upload_id + '&path=' + file.upload_path + '/' + file.name);\n } else {\n xhr.send(blob);\n }\n }\n }, this));\n }\n\n\n xhr.onload = Ink.bindEvent(function() {\n /* jshint boss:true */\n if(this._supportChunks(file.size) && file.size > file.chunk_offset) {\n if(xhr.response) {\n var response = JSON.parse(xhr.response);\n\n // check expected offset\n var invalidOffset = file.chunk_offset && response.offset !== (file.chunk_offset + this._options.chunkSize) && file.size !== response.offset;\n if(invalidOffset) {\n if(o.cb) {\n o.cb();\n }\n this.publish('ErrorUpload', file, fileID);\n } else {\n file.chunk_upload_id = response.upload_id;\n file.chunk_offset = response.offset;\n file.chunk_expires = response.expires;\n this._upload(o);\n }\n } else {\n if(o.cb) {\n o.cb();\n }\n this.publish('ErrorUpload', file, fileID);\n }\n return (xhr = null);\n }\n\n if(o.cb) {\n o.cb();\n }\n\n if(xhr.responseText && xhr['status'] < 400) {\n this.publish('EndUpload', file, fileID, xhr.responseText);\n } else {\n this.publish('ErrorUpload', file, fileID);\n }\n return (xhr = null);\n }, this);\n\n\n xhr.onerror = Ink.bindEvent(function() {\n if(o.cb) {\n o.cb();\n }\n this.publish('ErrorUpload', file, fileID);\n }, this);\n\n xhr.onabort = Ink.bindEvent(function() {\n if(o.cb) {\n o.cb();\n }\n this.publish('AbortUpload', file, fileID, {\n abortAll: Ink.bind(this.abortAll, this),\n abortOne: Ink.bind(this.abortOne, this)\n });\n }, this);\n },\n\n\n abortAll: function() {\n if(!this._queueRunning) {\n return false;\n }\n clearInterval(this.interval);\n this._queueRunning = false;\n Queue.purge(this._queueId, true);\n return true;\n },\n\n abortOne: function(id, cb) {\n var items = Queue.getItems(0),\n o;\n for(var i = 0, len = items.length; i [ [1, 1], [2, 2], [3], [1] ]\n * InkArray.groupBy([1.1, 1.2, 2.1], { key: Math.floor }) // -> [ [1.1, 1.2], [2.1] ]\n * InkArray.groupBy([1.1, 1.2, 2.1], { key: Math.floor, pairs: true }) // -> [ [1, [1.1, 1.2]], [2, [2.1]] ]\n *\n **/\n groupBy: function (arr, options) {\n options = options || {};\n var ret = [];\n var latestGroup;\n function eq(a, b) {\n return outKey(a) === outKey(b);\n }\n function outKey(item) {\n if (typeof options.key === 'function') {\n return options.key(item);\n } else {\n return item;\n }\n }\n\n for (var i = 0, len = arr.length; i < len; i++) {\n latestGroup = [arr[i]];\n\n // Chunkin'\n while ((i + 1 < len) && eq(arr[i], arr[i + 1])) {\n latestGroup.push(arr[i + 1]);\n i++;\n }\n\n if (options.pairs) {\n ret.push([outKey(arr[i]), latestGroup]);\n } else {\n ret.push(latestGroup);\n }\n }\n return ret;\n },\n\n /**\n * Replacement for Array.prototype.reduce.\n *\n * Produces a single result from a list of values by calling an \"aggregator\" function.\n *\n * Falls back to Array.prototype.reduce if available.\n *\n * @method reduce\n * @param array {Array} Input array to be reduced.\n * @param callback {Function} `function (previousValue, currentValue, index, all) { return {Mixed} }` to execute for each value.\n * @param initial {Mixed} Object used as the first argument to the first call of `callback`\n *\n * @example\n * var sum = InkArray.reduce([1, 2, 3], function (a, b) { return a + b; }); // -> 6\n */\n reduce: function (array, callback, initial) {\n if (arrayProto.reduce) {\n return arrayProto.reduce.apply(array, [].slice.call(arguments, 1));\n }\n\n // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce#Polyfill\n var t = Object( array ), len = t.length >>> 0, k = 0, value;\n if ( arguments.length >= 3 ) {\n value = initial;\n } else {\n while ( k < len && !(k in t) ) k++;\n if ( k >= len )\n throw new TypeError('Reduce of empty array with no initial value');\n value = t[ k++ ];\n }\n for ( ; k < len ; k++ ) {\n if ( k in t ) {\n value = callback( value, t[k], k, t );\n }\n }\n return value;\n },\n\n /**\n * Checks if a value exists in array\n *\n * @method inArray\n * @public\n * @static\n * @param {Mixed} value Value to check\n * @param {Array} arr Array to search in\n * @return {Boolean} True if value exists in the array\n * @sample Ink_Util_Array_inArray.html\n */\n inArray: function(value, arr) {\n if (typeof arr === 'object') {\n for (var i = 0, f = arr.length; i < f; ++i) {\n if (arr[i] === value) {\n return true;\n }\n }\n }\n return false;\n },\n\n /**\n * Sorts an array of objects by an object property\n *\n * @method sortMulti\n * @param {Array} arr Array of objects to sort\n * @param {String} key Property to sort by\n * @return {Array|Boolean} False if it's not an array, returns a sorted array if it's an array.\n * @public\n * @static\n * @sample Ink_Util_Array_sortMulti.html\n */\n sortMulti: function(arr, key) {\n if (typeof arr === 'undefined' || arr.constructor !== Array) { return false; }\n if (typeof key !== 'string') { return arr.sort(); }\n if (arr.length > 0) {\n if (typeof(arr[0][key]) === 'undefined') { return false; }\n arr.sort(function(a, b){\n var x = a[key];\n var y = b[key];\n return ((x < y) ? -1 : ((x > y) ? 1 : 0));\n });\n }\n return arr;\n },\n\n /**\n * Gets the indexes of a value in an array\n *\n * @method keyValue\n * @param {String} value Value to search for.\n * @param {Array} arr Array to run the search in.\n * @param {Boolean} [first] Flag to stop the search at the first match. It also returns an index number instead of an array of indexes.\n * @return {Boolean|Number|Array} False for no matches. Array of matches or first match index.\n * @public\n * @static\n * @sample Ink_Util_Array_keyValue.html\n */\n keyValue: function(value, arr, first) {\n if (typeof value !== 'undefined' && typeof arr === 'object' && this.inArray(value, arr)) {\n var aKeys = [];\n for (var i = 0, f = arr.length; i < f; ++i) {\n if (arr[i] === value) {\n if (typeof first !== 'undefined' && first === true) {\n return i;\n } else {\n aKeys.push(i);\n }\n }\n }\n return aKeys;\n }\n return false;\n },\n\n /**\n * Shuffles an array.\n *\n * @method shuffle\n * @param {Array} arr Array to shuffle\n * @return {Array|Boolean} Shuffled Array or false if not an array.\n * @public\n * @static\n * @sample Ink_Util_Array_shuffle.html\n */\n shuffle: function(arr) {\n if (typeof(arr) !== 'undefined' && arr.constructor !== Array) { return false; }\n var total = arr.length,\n tmp1 = false,\n rnd = false;\n\n while (total--) {\n rnd = Math.floor(Math.random() * (total + 1));\n tmp1 = arr[total];\n arr[total] = arr[rnd];\n arr[rnd] = tmp1;\n }\n return arr;\n },\n\n /**\n * Runs a function through each of the elements of an array\n *\n * @method forEach\n * @param {Array} arr The array to be cycled/iterated\n * @param {Function} cb The function receives as arguments the value, index and array.\n * @return {Array} Iterated array.\n * @public\n * @static\n * @sample Ink_Util_Array_forEach.html\n */\n forEach: function(array, callback, context) {\n if (arrayProto.forEach) {\n return arrayProto.forEach.call(array, callback, context);\n }\n for (var i = 0, len = array.length >>> 0; i < len; i++) {\n callback.call(context, array[i], i, array);\n }\n },\n\n /**\n * Alias for backwards compatibility. See forEach\n *\n * @method each\n */\n each: function () {\n InkArray.forEach.apply(InkArray, [].slice.call(arguments));\n },\n\n /**\n * Runs a function for each item in the array.\n * That function will receive each item as an argument and its return value will change the corresponding array item.\n * @method map\n * @param {Array} array The array to map over\n * @param {Function} map The map function. Will take `(item, index, array)` as arguments and `this` will be the `context` argument.\n * @param {Object} [context] Object to be `this` in the map function.\n *\n * @sample Ink_Util_Array_map.html\n */\n map: function (array, callback, context) {\n if (arrayProto.map) {\n return arrayProto.map.call(array, callback, context);\n }\n var mapped = new Array(len);\n for (var i = 0, len = array.length >>> 0; i < len; i++) {\n mapped[i] = callback.call(context, array[i], i, array);\n }\n return mapped;\n },\n\n /**\n * Filters an array based on a truth test.\n * This method runs a test function on all the array values and returns a new array with all the values that pass the test.\n * @method filter\n * @param {Array} array The array to filter\n * @param {Function} test A test function taking `(item, index, array)`\n * @param {Object} [context] Object to be `this` in the test function.\n * @return {Array} Returns the filtered array\n *\n * @sample Ink_Util_Array_filter.html\n */\n filter: function (array, test, context) {\n if (arrayProto.filter) {\n return arrayProto.filter.call(array, test, context);\n }\n var filtered = [],\n val = null;\n for (var i = 0, len = array.length; i < len; i++) {\n val = array[i]; // it might be mutated\n if (test.call(context, val, i, array)) {\n filtered.push(val);\n }\n }\n return filtered;\n },\n\n /**\n * Checks if some element in the array passes a truth test\n *\n * @method some\n * @param {Array} arr The array to iterate through\n * @param {Function} cb The callback to be called on the array's elements. It receives the value, the index and the array as arguments.\n * @param {Object} context Object of the callback function\n * @return {Boolean} True if the callback returns true at any point, false otherwise\n * @public\n * @static\n * @sample Ink_Util_Array_some.html\n */\n some: function(arr, cb, context){\n\n if (arr === null){\n throw new TypeError('First argument is invalid.');\n }\n\n var t = Object(arr);\n var len = t.length >>> 0;\n if (typeof cb !== \"function\"){ throw new TypeError('Second argument must be a function.'); }\n\n for (var i = 0; i < len; i++) {\n if (i in t && cb.call(context, t[i], i, t)){ return true; }\n }\n\n return false;\n },\n\n /**\n * Compares the values of two arrays and return the matches\n *\n * @method intersect\n * @param {Array} arr1 First array\n * @param {Array} arr2 Second array\n * @return {Array} Empty array if one of the arrays is false (or do not intersect) | Array with the intersected values\n * @public\n * @static\n * @sample Ink_Util_Array_intersect.html\n */\n intersect: function(arr1, arr2) {\n if (!arr1 || !arr2 || arr1 instanceof Array === false || arr2 instanceof Array === false) {\n return [];\n }\n\n var shared = [];\n for (var i = 0, I = arr1.length; i 0) {\n for (x = a; x < b; x += step) {\n r.push(x);\n }\n } else {\n for (x = a; x > b; x += step) {\n r.push(x);\n }\n }\n\n return r;\n },\n\n /**\n * Inserts a value on a specified index\n *\n * @method insert\n * @param {Array} arr Array where the value will be inserted\n * @param {Number} idx Index of the array where the value should be inserted\n * @param {Mixed} value Value to be inserted\n * @public\n * @static\n * @sample Ink_Util_Array_insert.html\n */\n insert: function(arr, idx, value) {\n arr.splice(idx, 0, value);\n },\n\n /**\n * Removes a range of values from the array\n *\n * @method remove\n * @param {Array} arr Array where the value will be removed\n * @param {Number} from Index of the array where the removal will start removing.\n * @param {Number} rLen Number of items to be removed from the index onwards.\n * @return {Array} An array with the remaining values\n * @public\n * @static\n * @sample Ink_Util_Array_remove.html\n */\n remove: function(arr, from, rLen){\n var output = [];\n\n for(var i = 0, iLen = arr.length; i < iLen; i++){\n if(i >= from && i < from + rLen){\n continue;\n }\n\n output.push(arr[i]);\n }\n\n return output;\n }\n };\n\n return InkArray;\n\n});\n","/**\n * Binary Packing algorithm implementation\n * @module Ink.Util.BinPack_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.BinPack', '1', [], function() {\n\n 'use strict';\n\n /*jshint boss:true */\n\n // https://github.com/jakesgordon/bin-packing/\n\n /*\n Copyright (c) 2011, 2012, 2013 Jake Gordon and contributors\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n */\n\n\n\n var Packer = function(w, h) {\n this.init(w, h);\n };\n\n Packer.prototype = {\n\n init: function(w, h) {\n this.root = { x: 0, y: 0, w: w, h: h };\n },\n\n fit: function(blocks) {\n var n, node, block;\n for (n = 0; n < blocks.length; ++n) {\n block = blocks[n];\n if (node = this.findNode(this.root, block.w, block.h)) {\n block.fit = this.splitNode(node, block.w, block.h);\n }\n }\n },\n\n findNode: function(root, w, h) {\n if (root.used) {\n return this.findNode(root.right, w, h) || this.findNode(root.down, w, h);\n }\n else if ((w <= root.w) && (h <= root.h)) {\n return root;\n }\n else {\n return null;\n }\n },\n\n splitNode: function(node, w, h) {\n node.used = true;\n node.down = { x: node.x, y: node.y + h, w: node.w, h: node.h - h };\n node.right = { x: node.x + w, y: node.y, w: node.w - w, h: h };\n return node;\n }\n\n };\n\n\n\n var GrowingPacker = function() {};\n\n GrowingPacker.prototype = {\n\n fit: function(blocks) {\n var n, node, block, len = blocks.length;\n var w = len > 0 ? blocks[0].w : 0;\n var h = len > 0 ? blocks[0].h : 0;\n this.root = { x: 0, y: 0, w: w, h: h };\n for (n = 0; n < len ; n++) {\n block = blocks[n];\n if (node = this.findNode(this.root, block.w, block.h)) {\n block.fit = this.splitNode(node, block.w, block.h);\n }\n else {\n block.fit = this.growNode(block.w, block.h);\n }\n }\n },\n\n findNode: function(root, w, h) {\n if (root.used) {\n return this.findNode(root.right, w, h) || this.findNode(root.down, w, h);\n }\n else if ((w <= root.w) && (h <= root.h)) {\n return root;\n }\n else {\n return null;\n }\n },\n\n splitNode: function(node, w, h) {\n node.used = true;\n node.down = { x: node.x, y: node.y + h, w: node.w, h: node.h - h };\n node.right = { x: node.x + w, y: node.y, w: node.w - w, h: h };\n return node;\n },\n\n growNode: function(w, h) {\n var canGrowDown = (w <= this.root.w);\n var canGrowRight = (h <= this.root.h);\n\n var shouldGrowRight = canGrowRight && (this.root.h >= (this.root.w + w)); // attempt to keep square-ish by growing right when height is much greater than width\n var shouldGrowDown = canGrowDown && (this.root.w >= (this.root.h + h)); // attempt to keep square-ish by growing down when width is much greater than height\n\n if (shouldGrowRight) {\n return this.growRight(w, h);\n }\n else if (shouldGrowDown) {\n return this.growDown(w, h);\n }\n else if (canGrowRight) {\n return this.growRight(w, h);\n }\n else if (canGrowDown) {\n return this.growDown(w, h);\n }\n else {\n return null; // need to ensure sensible root starting size to avoid this happening\n }\n },\n\n growRight: function(w, h) {\n this.root = {\n used: true,\n x: 0,\n y: 0,\n w: this.root.w + w,\n h: this.root.h,\n down: this.root,\n right: { x: this.root.w, y: 0, w: w, h: this.root.h }\n };\n var node;\n if (node = this.findNode(this.root, w, h)) {\n return this.splitNode(node, w, h);\n }\n else {\n return null;\n }\n },\n\n growDown: function(w, h) {\n this.root = {\n used: true,\n x: 0,\n y: 0,\n w: this.root.w,\n h: this.root.h + h,\n down: { x: 0, y: this.root.h, w: this.root.w, h: h },\n right: this.root\n };\n var node;\n if (node = this.findNode(this.root, w, h)) {\n return this.splitNode(node, w, h);\n }\n else {\n return null;\n }\n }\n\n };\n\n\n\n var sorts = {\n random: function() { return Math.random() - 0.5; },\n w: function(a, b) { return b.w - a.w; },\n h: function(a, b) { return b.h - a.h; },\n a: function(a, b) { return b.area - a.area; },\n max: function(a, b) { return Math.max(b.w, b.h) - Math.max(a.w, a.h); },\n min: function(a, b) { return Math.min(b.w, b.h) - Math.min(a.w, a.h); },\n height: function(a, b) { return sorts.msort(a, b, ['h', 'w']); },\n width: function(a, b) { return sorts.msort(a, b, ['w', 'h']); },\n area: function(a, b) { return sorts.msort(a, b, ['a', 'h', 'w']); },\n maxside: function(a, b) { return sorts.msort(a, b, ['max', 'min', 'h', 'w']); },\n msort: function(a, b, criteria) { /* sort by multiple criteria */\n var diff, n;\n for (n = 0; n < criteria.length; ++n) {\n diff = sorts[ criteria[n] ](a, b);\n if (diff !== 0) {\n return diff;\n }\n }\n return 0;\n }\n };\n\n\n\n // end of Jake's code\n\n\n\n // aux, used to display blocks in unfitted property\n var toString = function() {\n return [this.w, ' x ', this.h].join('');\n };\n\n\n\n /**\n * Binary Packing algorithm implementation\n *\n * Based on the work of Jake Gordon\n *\n * see https://github.com/jakesgordon/bin-packing/\n *\n * @namespace Ink.Util.BinPack\n * @version 1\n * @static\n */\n var BinPack = {\n\n /**\n * @method binPack\n * @param {Object} o Options\n * @param {Array} o.blocks Array of items with width and height integer attributes.\n * @param {Array} [o.dimensions] Flag to fix container dimensions\n * @param {String} [o.sorter] Sorting function. One of: random, height, width, area, maxside\n * @return {Object} Returns an object containing container dimensions, filled ratio, fitted blocks, unfitted blocks and all blocks\n * @static\n */\n binPack: function(o) {\n var i, f, bl;\n\n\n\n // calculate area if not there already\n for (i = 0, f = o.blocks.length; i < f; ++i) {\n bl = o.blocks[i];\n if (! ('area' in bl) ) {\n bl.area = bl.w * bl.h;\n }\n }\n\n\n\n // apply algorithm\n var packer = o.dimensions ? new Packer(o.dimensions[0], o.dimensions[1]) : new GrowingPacker();\n\n if (!o.sorter) { o.sorter = 'maxside'; }\n\n o.blocks.sort( sorts[ o.sorter ] );\n\n packer.fit(o.blocks);\n\n var dims2 = [packer.root.w, packer.root.h];\n\n\n\n // layout is done here, generating report data...\n var fitted = [];\n var unfitted = [];\n\n for (i = 0, f = o.blocks.length; i < f; ++i) {\n bl = o.blocks[i];\n if (bl.fit) {\n fitted.push(bl);\n }\n else {\n bl.toString = toString; // TO AID SERIALIZATION\n unfitted.push(bl);\n }\n }\n\n var area = dims2[0] * dims2[1];\n var fit = 0;\n for (i = 0, f = fitted.length; i < f; ++i) {\n bl = fitted[i];\n fit += bl.area;\n }\n\n return {\n dimensions: dims2,\n filled: fit / area,\n blocks: o.blocks,\n fitted: fitted,\n unfitted: unfitted\n };\n }\n };\n\n\n\n return BinPack;\n\n});","/**\n * Cookie Utilities\n * @module Ink.Util.Cookie_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.Cookie', '1', [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Util.Cookie_1\n */\n var Cookie = {\n\n /**\n * Gets an object with the current page cookies.\n *\n * @method get\n * @param {String} name The cookie name.\n * @return {String|Object} If the name is specified, it returns the value of that key. Otherwise it returns the full cookie object\n * @public\n * @static\n * @sample Ink_Util_Cookie_get.html\n */\n get: function(name)\n {\n var cookie = document.cookie || false;\n\n var _Cookie = {};\n if(cookie) {\n cookie = cookie.replace(new RegExp(\"; \", \"g\"), ';');\n var aCookie = cookie.split(';');\n var aItem = [];\n if(aCookie.length > 0) {\n for(var i=0; i < aCookie.length; i++) {\n aItem = aCookie[i].split('=');\n if(aItem.length === 2) {\n _Cookie[aItem[0]] = decodeURIComponent(aItem[1]);\n }\n aItem = [];\n }\n }\n }\n if(name) {\n if(typeof(_Cookie[name]) !== 'undefined') {\n return _Cookie[name];\n } else {\n return null;\n }\n }\n return _Cookie;\n },\n\n /**\n * Sets a cookie.\n *\n * @method set\n * @param {String} name Cookie name.\n * @param {String} value Cookie value.\n * @param {Number} [expires] Number of seconds the cookie will be valid for.\n * @param {String} [path] Path for the cookie. Defaults to '/'.\n * @param {String} [domain] Domain for the cookie. Defaults to current hostname.\n * @param {Boolean} [secure] Flag for secure. Default 'false'.\n * @public\n * @static\n * @sample Ink_Util_Cookie_set.html\n */\n set: function(name, value, expires, path, domain, secure)\n {\n var sName;\n if(!name || value===false || typeof(name) === 'undefined' || typeof(value) === 'undefined') {\n return false;\n } else {\n sName = name+'='+encodeURIComponent(value);\n }\n var sExpires = false;\n var sPath = false;\n var sDomain = false;\n var sSecure = false;\n\n if(expires && typeof(expires) !== 'undefined' && !isNaN(expires)) {\n var oDate = new Date();\n var sDate = (parseInt(Number(oDate.valueOf()), 10) + (Number(parseInt(expires, 10)) * 1000));\n\n var nDate = new Date(sDate);\n var expiresString = nDate.toGMTString();\n\n var re = new RegExp(\"([^\\\\s]+)(\\\\s\\\\d\\\\d)\\\\s(\\\\w\\\\w\\\\w)\\\\s(.*)\");\n expiresString = expiresString.replace(re, \"$1$2-$3-$4\");\n\n sExpires = 'expires='+expiresString;\n } else {\n if(typeof(expires) !== 'undefined' && !isNaN(expires) && Number(parseInt(expires, 10))===0) {\n sExpires = '';\n } else {\n sExpires = 'expires=Thu, 01-Jan-2037 00:00:01 GMT';\n }\n }\n\n if(path && typeof(path) !== 'undefined') {\n sPath = 'path='+path;\n } else {\n sPath = 'path=/';\n }\n\n if(domain && typeof(domain) !== 'undefined') {\n sDomain = 'domain='+domain;\n } else {\n var portClean = new RegExp(\":(.*)\");\n sDomain = 'domain='+window.location.host;\n sDomain = sDomain.replace(portClean,\"\");\n }\n\n if(secure && typeof(secure) !== 'undefined') {\n sSecure = secure;\n } else {\n sSecure = false;\n }\n\n document.cookie = sName+'; '+sExpires+'; '+sPath+'; '+sDomain+'; '+sSecure;\n },\n\n /**\n * Deletes a cookie.\n *\n * @method remove\n * @param {String} cookieName Cookie name.\n * @param {String} [path] Path of the cookie. Defaults to '/'.\n * @param {String} [domain] Domain of the cookie. Defaults to current hostname.\n * @public\n * @static\n * @sample Ink_Util_Cookie_remove.html\n */\n remove: function(cookieName, path, domain)\n {\n //var expiresDate = 'Thu, 01-Jan-1970 00:00:01 GMT';\n var sPath = false;\n var sDomain = false;\n var expiresDate = -999999999;\n\n if(path && typeof(path) !== 'undefined') {\n sPath = path;\n } else {\n sPath = '/';\n }\n\n if(domain && typeof(domain) !== 'undefined') {\n sDomain = domain;\n } else {\n sDomain = window.location.host;\n }\n\n this.set(cookieName, 'deleted', expiresDate, sPath, sDomain);\n }\n };\n\n return Cookie;\n\n});\n","/**\n * Date utility functions\n * @module Ink.Util.Date_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.Date', '1', [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Util.Date_1 \n */\n var InkDate = {\n\n /**\n * Function that returns the string representation of the month [PT only]\n *\n * @method _months\n * @param {Number} index Month javascript (0 to 11)\n * @return {String} The month's name\n * @private\n * @static\n * @example\n * console.log( InkDate._months(0) ); // Result: Janeiro\n */\n _months: function(index){\n var _m = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];\n return _m[index];\n },\n\n /**\n * Function that returns the month [PT only] ( 0 to 11 )\n *\n * @method _iMonth\n * @param {String} month Month javascript (0 to 11)\n * @return {Number} The month's number\n * @private\n * @static\n * @example\n * console.log( InkDate._iMonth('maio') ); // Result: 4\n */\n _iMonth : function( month )\n {\n if ( Number( month ) ) { return +month - 1; }\n return {\n 'janeiro' : 0 ,\n 'jan' : 0 ,\n 'fevereiro' : 1 ,\n 'fev' : 1 ,\n 'março' : 2 ,\n 'mar' : 2 ,\n 'abril' : 3 ,\n 'abr' : 3 ,\n 'maio' : 4 ,\n 'mai' : 4 ,\n 'junho' : 5 ,\n 'jun' : 5 ,\n 'julho' : 6 ,\n 'jul' : 6 ,\n 'agosto' : 7 ,\n 'ago' : 7 ,\n 'setembro' : 8 ,\n 'set' : 8 ,\n 'outubro' : 9 ,\n 'out' : 9 ,\n 'novembro' : 10 ,\n 'nov' : 10 ,\n 'dezembro' : 11 ,\n 'dez' : 11\n }[ month.toLowerCase( ) ];\n } ,\n\n /**\n * Function that returns the representation the day of the week [PT Only]\n *\n * @method _wDays\n * @param {Number} index Week's day index\n * @return {String} The week's day name\n * @private\n * @static\n * @example\n * console.log( InkDate._wDays(0) ); // Result: Domingo\n */\n _wDays: function(index){\n var _d = ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'];\n return _d[index];\n },\n\n /**\n * Function that returns day of the week in javascript 1 to 7\n *\n * @method _iWeek\n * @param {String} week Week's day name\n * @return {Number} The week's day index\n * @private\n * @static\n * @example\n * console.log( InkDate._iWeek('quarta') ); // Result: 3\n */\n _iWeek: function( week )\n {\n if ( Number( week ) ) { return +week || 7; }\n return {\n 'segunda' : 1 ,\n 'seg' : 1 ,\n 'terça' : 2 ,\n 'ter' : 2 ,\n 'quarta' : 3 ,\n 'qua' : 3 ,\n 'quinta' : 4 ,\n 'qui' : 4 ,\n 'sexta' : 5 ,\n 'sex' : 5 ,\n 'sábado' : 6 ,\n 'sáb' : 6 ,\n 'domingo' : 7 ,\n 'dom' : 7\n }[ week.toLowerCase( ) ];\n },\n\n /**\n * Function that returns the number of days of a given month (m) on a given year (y)\n *\n * @method _daysInMonth\n * @param {Number} _m Month\n * @param {Number} _y Year\n * @return {Number} Number of days of a give month on a given year\n * @private\n * @static\n * @example\n * console.log( InkDate._daysInMonth(2,2013) ); // Result: 28\n */\n _daysInMonth: function(_m,_y){\n var nDays;\n\n if(_m===1 || _m===3 || _m===5 || _m===7 || _m===8 || _m===10 || _m===12)\n {\n nDays= 31;\n }\n else if ( _m===4 || _m===6 || _m===9 || _m===11)\n {\n nDays = 30;\n }\n else\n {\n if((_y%400===0) || (_y%4===0 && _y%100!==0))\n {\n nDays = 29;\n }\n else\n {\n nDays = 28;\n }\n }\n return nDays;\n },\n\n /**\n * Formats a date object.\n * This works exactly as php date() function. http://php.net/manual/en/function.date.php\n *\n * @method get\n * @param {String} format The format in which the date it will be formatted.\n * @param {Date} [_date] The date to format. Can receive unix timestamp or a date object. Defaults to current time.\n * @return {String} Formatted date\n * @public\n * @static\n * @sample Ink_Util_Date_get.html \n */\n get: function(format, _date){\n /*jshint maxcomplexity:65 */\n if(typeof(format) === 'undefined' || format === ''){\n format = \"Y-m-d\";\n }\n\n\n var iFormat = format.split(\"\");\n var result = new Array(iFormat.length);\n var escapeChar = \"\\\\\";\n var jsDate;\n\n if (typeof(_date) === 'undefined'){\n jsDate = new Date();\n } else if (typeof(_date)==='number'){\n jsDate = new Date(_date*1000);\n } else {\n jsDate = new Date(_date);\n }\n\n var jsFirstDay, jsThisDay, jsHour;\n /* This switch is presented in the same order as in php date function (PHP 5.2.2) */\n for (var i = 0; i < iFormat.length; i++) {\n switch(iFormat[i]) {\n case escapeChar:\n result[i] = iFormat[i+1];\n i++;\n break;\n\n\n /* DAY */\n case \"d\": /* Day of the month, 2 digits with leading zeros; ex: 01 to 31 */\n var jsDay = jsDate.getDate();\n result[i] = (String(jsDay).length > 1) ? jsDay : \"0\" + jsDay;\n break;\n\n case \"D\": /* A textual representation of a day, three letters; Seg to Dom */\n result[i] = this._wDays(jsDate.getDay()).substring(0, 3);\n break;\n\n case \"j\": /* Day of the month without leading zeros; ex: 1 to 31 */\n result[i] = jsDate.getDate();\n break;\n\n case \"l\": /* A full textual representation of the day of the week; Domingo to Sabado */\n result[i] = this._wDays(jsDate.getDay());\n break;\n\n case \"N\": /* ISO-8601 numeric representation of the day of the week; 1 (Segunda) to 7 (Domingo) */\n result[i] = jsDate.getDay() || 7;\n break;\n\n case \"S\": /* English ordinal suffix for the day of the month, 2 characters; st, nd, rd or th. Works well with j */\n var temp = jsDate.getDate();\n var suffixes = [\"st\", \"nd\", \"rd\"];\n var suffix = \"\";\n\n if (temp >= 11 && temp <= 13) {\n result[i] = \"th\";\n } else {\n result[i] = (suffix = suffixes[String(temp).substr(-1) - 1]) ? (suffix) : (\"th\");\n }\n break;\n\n case \"w\": /* Numeric representation of the day of the week; 0 (for Sunday) through 6 (for Saturday) */\n result[i] = jsDate.getDay();\n break;\n\n case \"z\": /* The day of the year (starting from 0); 0 to 365 */\n jsFirstDay = Date.UTC(jsDate.getFullYear(), 0, 0);\n jsThisDay = Date.UTC(jsDate.getFullYear(), jsDate.getMonth(), jsDate.getDate());\n result[i] = Math.floor((jsThisDay - jsFirstDay) / (1000 * 60 * 60 * 24));\n break;\n\n /* WEEK */\n case \"W\": /* ISO-8601 week number of year, weeks starting on Monday; ex: 42 (the 42nd week in the year) */\n var jsYearStart = new Date( jsDate.getFullYear( ) , 0 , 1 );\n jsFirstDay = jsYearStart.getDay() || 7;\n\n var days = Math.floor( ( jsDate - jsYearStart ) / ( 24 * 60 * 60 * 1000 ) + 1 );\n\n result[ i ] = Math.ceil( ( days - ( 8 - jsFirstDay ) ) / 7 ) + 1;\n break;\n\n\n /* MONTH */\n case \"F\": /* A full textual representation of a month, such as Janeiro or Marco; Janeiro a Dezembro */\n result[i] = this._months(jsDate.getMonth());\n break;\n\n case \"m\": /* Numeric representation of a month, with leading zeros; 01 to 12 */\n var jsMonth = String(jsDate.getMonth() + 1);\n result[i] = (jsMonth.length > 1) ? jsMonth : \"0\" + jsMonth;\n break;\n\n case \"M\": /* A short textual representation of a month, three letters; Jan a Dez */\n result[i] = this._months(jsDate.getMonth()).substring(0,3);\n break;\n\n case \"n\": /* Numeric representation of a month, without leading zeros; 1 a 12 */\n result[i] = jsDate.getMonth() + 1;\n break;\n\n case \"t\": /* Number of days in the given month; ex: 28 */\n result[i] = this._daysInMonth(jsDate.getMonth()+1,jsDate.getYear());\n break;\n\n /* YEAR */\n case \"L\": /* Whether it's a leap year; 1 if it is a leap year, 0 otherwise. */\n var jsYear = jsDate.getFullYear();\n result[i] = (jsYear % 4) ? false : ( (jsYear % 100) ? true : ( (jsYear % 400) ? false : true ) );\n break;\n\n case \"o\": /* ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. */\n throw '\"o\" not implemented!';\n\n case \"Y\": /* A full numeric representation of a year, 4 digits; 1999 */\n result[i] = jsDate.getFullYear();\n break;\n\n case \"y\": /* A two digit representation of a year; 99 */\n result[i] = String(jsDate.getFullYear()).substring(2);\n break;\n\n /* TIME */\n case \"a\": /* Lowercase Ante meridiem and Post meridiem; am or pm */\n result[i] = (jsDate.getHours() < 12) ? \"am\" : \"pm\";\n break;\n\n case \"A\": /* Uppercase Ante meridiem and Post meridiem; AM or PM */\n result[i] = (jsDate.getHours < 12) ? \"AM\" : \"PM\";\n break;\n\n case \"B\": /* Swatch Internet time; 000 through 999 */\n throw '\"B\" not implemented!';\n\n case \"g\": /* 12-hour format of an hour without leading zeros; 1 to 12 */\n jsHour = jsDate.getHours();\n result[i] = (jsHour <= 12) ? jsHour : (jsHour - 12);\n break;\n\n case \"G\": /* 24-hour format of an hour without leading zeros; 1 to 23 */\n result[i] = String(jsDate.getHours());\n break;\n\n case \"h\": /* 12-hour format of an hour with leading zeros; 01 to 12 */\n jsHour = String(jsDate.getHours());\n jsHour = (jsHour <= 12) ? jsHour : (jsHour - 12);\n result[i] = (jsHour.length > 1) ? jsHour : \"0\" + jsHour;\n break;\n\n case \"H\": /* 24-hour format of an hour with leading zeros; 01 to 24 */\n jsHour = String(jsDate.getHours());\n result[i] = (jsHour.length > 1) ? jsHour : \"0\" + jsHour;\n break;\n\n case \"i\": /* Minutes with leading zeros; 00 to 59 */\n var jsMinute = String(jsDate.getMinutes());\n result[i] = (jsMinute.length > 1) ? jsMinute : \"0\" + jsMinute;\n break;\n\n case \"s\": /* Seconds with leading zeros; 00 to 59; */\n var jsSecond = String(jsDate.getSeconds());\n result[i] = (jsSecond.length > 1) ? jsSecond : \"0\" + jsSecond;\n break;\n\n case \"u\": /* Microseconds */\n throw '\"u\" not implemented!';\n\n\n /* TIMEZONE */\n\n case \"e\": /* Timezone identifier */\n throw '\"e\" not implemented!';\n\n case \"I\": /* \"1\" if Daylight Savings Time, \"0\" otherwise. Works only on the northern hemisphere */\n jsFirstDay = new Date(jsDate.getFullYear(), 0, 1);\n result[i] = (jsDate.getTimezoneOffset() !== jsFirstDay.getTimezoneOffset()) ? (1) : (0);\n break;\n\n case \"O\": /* Difference to Greenwich time (GMT) in hours */\n var jsMinZone = jsDate.getTimezoneOffset();\n var jsMinutes = jsMinZone % 60;\n jsHour = String(((jsMinZone - jsMinutes) / 60) * -1);\n\n if (jsHour.charAt(0) !== \"-\") {\n jsHour = \"+\" + jsHour;\n }\n\n jsHour = (jsHour.length === 3) ? (jsHour) : (jsHour.replace(/([+\\-])(\\d)/, \"$1\" + 0 + \"$2\"));\n result[i] = jsHour + jsMinutes + \"0\";\n break;\n\n case \"P\": /* Difference to Greenwich time (GMT) with colon between hours and minutes */\n throw '\"P\" not implemented!';\n\n case \"T\": /* Timezone abbreviation */\n throw '\"T\" not implemented!';\n\n case \"Z\": /* Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. */\n result[i] = jsDate.getTimezoneOffset() * 60;\n break;\n\n\n /* FULL DATE/TIME */\n\n case \"c\": /* ISO 8601 date */\n throw '\"c\" not implemented!';\n\n case \"r\": /* RFC 2822 formatted date */\n var jsDayName = this._wDays(jsDate.getDay()).substr(0, 3);\n var jsMonthName = this._months(jsDate.getMonth()).substr(0, 3);\n result[i] = jsDayName + \", \" + jsDate.getDate() + \" \" + jsMonthName + this.get(\" Y H:i:s O\",jsDate);\n break;\n\n case \"U\": /* Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) */\n result[i] = Math.floor(jsDate.getTime() / 1000);\n break;\n\n default:\n result[i] = iFormat[i];\n }\n }\n\n return result.join('');\n\n },\n\n /**\n * Creates a date object based on a format string.\n * This works exactly as php date() function. http://php.net/manual/en/function.date.php\n *\n * @method set\n * @param {String} [format] The format in which the date will be formatted. Defaults to 'Y-m-d'\n * @param {String} str_date The date formatted.\n * @return {Date} Date object based on the formatted date and format\n * @public\n * @static\n * @sample Ink_Util_Date_set.html \n */\n set : function( format , str_date ) {\n if ( typeof str_date === 'undefined' ) { return ; }\n if ( typeof format === 'undefined' || format === '' ) { format = \"Y-m-d\"; }\n\n var iFormat = format.split(\"\");\n var result = new Array( iFormat.length );\n var escapeChar = \"\\\\\";\n var mList;\n\n var objIndex = {\n year : undefined ,\n month : undefined ,\n day : undefined ,\n dayY : undefined ,\n dayW : undefined ,\n week : undefined ,\n hour : undefined ,\n hourD : undefined ,\n min : undefined ,\n sec : undefined ,\n msec : undefined ,\n ampm : undefined ,\n diffM : undefined ,\n diffH : undefined ,\n date : undefined\n };\n\n var matches = 0;\n\n /* This switch is presented in the same order as in php date function (PHP 5.2.2) */\n for ( var i = 0; i < iFormat.length; i++) {\n switch( iFormat[ i ] ) {\n case escapeChar:\n result[i] = iFormat[ i + 1 ];\n i++;\n break;\n\n /* DAY */\n case \"d\": /* Day of the month, 2 digits with leading zeros; ex: 01 to 31 */\n result[ i ] = '(\\\\d{2})';\n objIndex.day = { original : i , match : matches++ };\n break;\n\n case \"j\": /* Day of the month without leading zeros; ex: 1 to 31 */\n result[ i ] = '(\\\\d{1,2})';\n objIndex.day = { original : i , match : matches++ };\n break;\n\n case \"D\": /* A textual representation of a day, three letters; Seg to Dom */\n result[ i ] = '([\\\\wá]{3})';\n objIndex.dayW = { original : i , match : matches++ };\n break;\n\n case \"l\": /* A full textual representation of the day of the week; Domingo to Sabado */\n result[i] = '([\\\\wá]{5,7})';\n objIndex.dayW = { original : i , match : matches++ };\n break;\n\n case \"N\": /* ISO-8601 numeric representation of the day of the week; 1 (Segunda) to 7 (Domingo) */\n result[ i ] = '(\\\\d)';\n objIndex.dayW = { original : i , match : matches++ };\n break;\n\n case \"w\": /* Numeric representation of the day of the week; 0 (for Sunday) through 6 (for Saturday) */\n result[ i ] = '(\\\\d)';\n objIndex.dayW = { original : i , match : matches++ };\n break;\n\n case \"S\": /* English ordinal suffix for the day of the month, 2 characters; st, nd, rd or th. Works well with j */\n result[ i ] = '\\\\w{2}';\n break;\n\n case \"z\": /* The day of the year (starting from 0); 0 to 365 */\n result[ i ] = '(\\\\d{1,3})';\n objIndex.dayY = { original : i , match : matches++ };\n break;\n\n /* WEEK */\n case \"W\": /* ISO-8601 week number of year, weeks starting on Monday; ex: 42 (the 42nd week in the year) */\n result[ i ] = '(\\\\d{1,2})';\n objIndex.week = { original : i , match : matches++ };\n break;\n\n /* MONTH */\n case \"F\": /* A full textual representation of a month, such as Janeiro or Marco; Janeiro a Dezembro */\n result[ i ] = '([\\\\wç]{4,9})';\n objIndex.month = { original : i , match : matches++ };\n break;\n\n case \"M\": /* A short textual representation of a month, three letters; Jan a Dez */\n result[ i ] = '(\\\\w{3})';\n objIndex.month = { original : i , match : matches++ };\n break;\n\n case \"m\": /* Numeric representation of a month, with leading zeros; 01 to 12 */\n result[ i ] = '(\\\\d{2})';\n objIndex.month = { original : i , match : matches++ };\n break;\n\n case \"n\": /* Numeric representation of a month, without leading zeros; 1 a 12 */\n result[ i ] = '(\\\\d{1,2})';\n objIndex.month = { original : i , match : matches++ };\n break;\n\n case \"t\": /* Number of days in the given month; ex: 28 */\n result[ i ] = '\\\\d{2}';\n break;\n\n /* YEAR */\n case \"L\": /* Whether it's a leap year; 1 if it is a leap year, 0 otherwise. */\n result[ i ] = '\\\\w{4,5}';\n break;\n\n case \"o\": /* ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. */\n throw '\"o\" not implemented!';\n\n case \"Y\": /* A full numeric representation of a year, 4 digits; 1999 */\n result[ i ] = '(\\\\d{4})';\n objIndex.year = { original : i , match : matches++ };\n break;\n\n case \"y\": /* A two digit representation of a year; 99 */\n result[ i ] = '(\\\\d{2})';\n if ( typeof objIndex.year === 'undefined' || iFormat[ objIndex.year.original ] !== 'Y' ) {\n objIndex.year = { original : i , match : matches++ };\n }\n break;\n\n /* TIME */\n case \"a\": /* Lowercase Ante meridiem and Post meridiem; am or pm */\n result[ i ] = '(am|pm)';\n objIndex.ampm = { original : i , match : matches++ };\n break;\n\n case \"A\": /* Uppercase Ante meridiem and Post meridiem; AM or PM */\n result[ i ] = '(AM|PM)';\n objIndex.ampm = { original : i , match : matches++ };\n break;\n\n case \"B\": /* Swatch Internet time; 000 through 999 */\n throw '\"B\" not implemented!';\n\n case \"g\": /* 12-hour format of an hour without leading zeros; 1 to 12 */\n result[ i ] = '(\\\\d{1,2})';\n objIndex.hourD = { original : i , match : matches++ };\n break;\n\n case \"G\": /* 24-hour format of an hour without leading zeros; 1 to 23 */\n result[ i ] = '(\\\\d{1,2})';\n objIndex.hour = { original : i , match : matches++ };\n break;\n\n case \"h\": /* 12-hour format of an hour with leading zeros; 01 to 12 */\n result[ i ] = '(\\\\d{2})';\n objIndex.hourD = { original : i , match : matches++ };\n break;\n\n case \"H\": /* 24-hour format of an hour with leading zeros; 01 to 24 */\n result[ i ] = '(\\\\d{2})';\n objIndex.hour = { original : i , match : matches++ };\n break;\n\n case \"i\": /* Minutes with leading zeros; 00 to 59 */\n result[ i ] = '(\\\\d{2})';\n objIndex.min = { original : i , match : matches++ };\n break;\n\n case \"s\": /* Seconds with leading zeros; 00 to 59; */\n result[ i ] = '(\\\\d{2})';\n objIndex.sec = { original : i , match : matches++ };\n break;\n\n case \"u\": /* Microseconds */\n throw '\"u\" not implemented!';\n\n /* TIMEZONE */\n case \"e\": /* Timezone identifier */\n throw '\"e\" not implemented!';\n\n case \"I\": /* \"1\" if Daylight Savings Time, \"0\" otherwise. Works only on the northern hemisphere */\n result[i] = '\\\\d';\n break;\n\n case \"O\": /* Difference to Greenwich time (GMT) in hours */\n result[ i ] = '([-+]\\\\d{4})';\n objIndex.diffH = { original : i , match : matches++ };\n break;\n\n case \"P\": /* Difference to Greenwich time (GMT) with colon between hours and minutes */\n throw '\"P\" not implemented!';\n\n case \"T\": /* Timezone abbreviation */\n throw '\"T\" not implemented!';\n\n case \"Z\": /* Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. */\n result[ i ] = '(\\\\-?\\\\d{1,5})';\n objIndex.diffM = { original : i , match : matches++ };\n break;\n\n /* FULL DATE/TIME */\n case \"c\": /* ISO 8601 date */\n throw '\"c\" not implemented!';\n\n case \"r\": /* RFC 2822 formatted date */\n result[ i ] = '([\\\\wá]{3}, \\\\d{1,2} \\\\w{3} \\\\d{4} \\\\d{2}:\\\\d{2}:\\\\d{2} [+\\\\-]\\\\d{4})';\n objIndex.date = { original : i , match : matches++ };\n break;\n\n case \"U\": /* Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) */\n result[ i ] = '(\\\\d{1,13})';\n objIndex.date = { original : i , match : matches++ };\n break;\n\n default:\n result[ i ] = iFormat[ i ];\n }\n }\n\n var pattr = new RegExp( result.join('') );\n\n try {\n mList = str_date.match( pattr );\n if ( !mList ) { return; }\n }\n catch ( e ) { return ; }\n\n var _haveDatetime = typeof objIndex.date !== 'undefined';\n\n var _haveYear = typeof objIndex.year !== 'undefined';\n\n var _haveYDay = typeof objIndex.dayY !== 'undefined';\n\n var _haveDay = typeof objIndex.day !== 'undefined';\n var _haveMonth = typeof objIndex.month !== 'undefined';\n var _haveMonthDay = _haveMonth && _haveDay;\n var _haveOnlyDay = !_haveMonth && _haveDay;\n\n var _haveWDay = typeof objIndex.dayW !== 'undefined';\n var _haveWeek = typeof objIndex.week !== 'undefined';\n var _haveWeekWDay = _haveWeek && _haveWDay;\n var _haveOnlyWDay = !_haveWeek && _haveWDay;\n\n var _validDate = _haveYDay || _haveMonthDay || !_haveYear && _haveOnlyDay || _haveWeekWDay || !_haveYear && _haveOnlyWDay;\n var _noDate = !_haveYear && !_haveYDay && !_haveDay && !_haveMonth && !_haveWDay && !_haveWeek;\n\n var _haveHour12 = typeof objIndex.hourD !== 'undefined' && typeof objIndex.ampm !== 'undefined';\n var _haveHour24 = typeof objIndex.hour !== 'undefined';\n var _haveHour = _haveHour12 || _haveHour24;\n\n var _haveMin = typeof objIndex.min !== 'undefined';\n var _haveSec = typeof objIndex.sec !== 'undefined';\n var _haveMSec = typeof objIndex.msec !== 'undefined';\n\n var _haveMoreM = !_noDate || _haveHour;\n var _haveMoreS = _haveMoreM || _haveMin;\n\n var _haveDiffM = typeof objIndex.diffM !== 'undefined';\n var _haveDiffH = typeof objIndex.diffH !== 'undefined';\n //var _haveGMT = _haveDiffM || _haveDiffH;\n var hour;\n var min;\n\n if ( _haveDatetime ) {\n if ( iFormat[ objIndex.date.original ] === 'U' ) {\n return new Date( +mList[ objIndex.date.match + 1 ] * 1000 );\n }\n\n var dList = mList[ objIndex.date.match + 1 ].match( /\\w{3}, (\\d{1,2}) (\\w{3}) (\\d{4}) (\\d{2}):(\\d{2}):(\\d{2}) ([+\\-]\\d{4})/ );\n hour = +dList[ 4 ] + ( +dList[ 7 ].slice( 0 , 3 ) );\n min = +dList[ 5 ] + ( dList[ 7 ].slice( 0 , 1 ) + dList[ 7 ].slice( 3 ) ) / 100 * 60;\n\n return new Date( dList[ 3 ] , this._iMonth( dList[ 2 ] ) , dList[ 1 ] , hour , min , dList[ 6 ] );\n }\n\n var _d = new Date( );\n var year;\n var month;\n var day;\n var sec;\n var msec;\n var gmt;\n\n if ( !_validDate && !_noDate ) { return ; }\n\n if ( _validDate ) {\n if ( _haveYear ) {\n var _y = _d.getFullYear( ) - 50 + '';\n year = mList[ objIndex.year.match + 1 ];\n if ( iFormat[ objIndex.year.original ] === 'y' ) {\n year = +_y.slice( 0 , 2 ) + ( year >= ( _y ).slice( 2 ) ? 0 : 1 ) + year;\n }\n } else {\n year = _d.getFullYear();\n }\n\n if ( _haveYDay ) {\n month = 0;\n day = mList[ objIndex.dayY.match + 1 ];\n } else if ( _haveDay ) {\n if ( _haveMonth ) {\n month = this._iMonth( mList[ objIndex.month.match + 1 ] );\n } else {\n month = _d.getMonth( );\n }\n\n day = mList[ objIndex.day.match + 1 ];\n } else {\n month = 0;\n\n var week;\n if ( _haveWeek ) {\n week = mList[ objIndex.week.match + 1 ];\n } else {\n week = this.get( 'W' , _d );\n }\n\n day = ( week - 2 ) * 7 + ( 8 - ( ( new Date( year , 0 , 1 ) ).getDay( ) || 7 ) ) + this._iWeek( mList[ objIndex.week.match + 1 ] );\n }\n\n if ( month === 0 && day > 31 ) {\n var aux = new Date( year , month , day );\n month = aux.getMonth( );\n day = aux.getDate( );\n }\n }\n else {\n year = _d.getFullYear( );\n month = _d.getMonth( );\n day = _d.getDate( );\n }\n\n if ( _haveHour12 ) { hour = +mList[ objIndex.hourD.match + 1 ] + ( mList[ objIndex.ampm.match + 1 ] === 'pm' ? 12 : 0 ); }\n else if ( _haveHour24 ) { hour = mList[ objIndex.hour.match + 1 ]; }\n else if ( _noDate ) { hour = _d.getHours( ); }\n else { hour = '00'; }\n\n if ( _haveMin ) { min = mList[ objIndex.min.match + 1 ]; }\n else if ( !_haveMoreM ) { min = _d.getMinutes( ); }\n else { min = '00'; }\n\n if ( _haveSec ) { sec = mList[ objIndex.sec.match + 1 ]; }\n else if ( !_haveMoreS ) { sec = _d.getSeconds( ); }\n else { sec = '00'; }\n\n if ( _haveMSec ) { msec = mList[ objIndex.msec.match + 1 ]; }\n else { msec = '000'; }\n\n if ( _haveDiffH ) { gmt = mList[ objIndex.diffH.match + 1 ]; }\n else if ( _haveDiffM ) { gmt = String( -1 * mList[ objIndex.diffM.match + 1 ] / 60 * 100 ).replace( /^(\\d)/ , '+$1' ).replace( /(^[\\-+])(\\d{3}$)/ , '$10$2' ); }\n else { gmt = '+0000'; }\n\n return new Date( year, month, day, hour, min, sec );\n }\n };\n\n\n return InkDate;\n\n});\n","/**\n * Dump/Profiling Utilities\n * @module Ink.Util.Dumper_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.Dumper', '1', [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Util.Dumper_1 \n */\n\n var Dumper = {\n\n /**\n * Hex code for the 'tab'\n * \n * @property _tab\n * @type {String}\n * @private\n * @readOnly\n * @static\n *\n */\n _tab: '\\xA0\\xA0\\xA0\\xA0',\n\n /**\n * Function that returns the argument passed formatted\n *\n * @method _formatParam\n * @param {Mixed} param\n * @return {String} The argument passed formatted\n * @private\n * @static\n */\n _formatParam: function(param)\n {\n var formated = '';\n\n switch(typeof(param)) {\n case 'string':\n formated = '(string) '+param;\n break;\n case 'number':\n formated = '(number) '+param;\n break;\n case 'boolean':\n formated = '(boolean) '+param;\n break;\n case 'object':\n if(param !== null) {\n if(param.constructor === Array) {\n formated = 'Array \\n{\\n' + this._outputFormat(param, 0) + '\\n}';\n } else {\n formated = 'Object \\n{\\n' + this._outputFormat(param, 0) + '\\n}';\n }\n } else {\n formated = 'null';\n }\n break;\n default:\n formated = false;\n }\n\n return formated;\n },\n\n /**\n * Function that returns the tabs concatenated\n *\n * @method _getTabs\n * @param {Number} numberOfTabs Number of Tabs\n * @return {String} Tabs concatenated\n * @private\n * @static\n */\n _getTabs: function(numberOfTabs)\n {\n var tabs = '';\n for(var _i = 0; _i < numberOfTabs; _i++) {\n tabs += this._tab;\n }\n return tabs;\n },\n\n /**\n * Function that formats the parameter to display.\n *\n * @method _outputFormat\n * @param {Any} param\n * @param {Number} dim\n * @return {String} The parameter passed formatted to displat\n * @private\n * @static\n */\n _outputFormat: function(param, dim)\n {\n var formated = '';\n //var _strVal = false;\n var _typeof = false;\n for(var key in param) {\n if(param[key] !== null) {\n if(typeof(param[key]) === 'object' && (param[key].constructor === Array || param[key].constructor === Object)) {\n if(param[key].constructor === Array) {\n _typeof = 'Array';\n } else if(param[key].constructor === Object) {\n _typeof = 'Object';\n }\n formated += this._tab + this._getTabs(dim) + '[' + key + '] => '+_typeof+'\\n';\n formated += this._tab + this._getTabs(dim) + '{\\n';\n formated += this._outputFormat(param[key], dim + 1) + this._tab + this._getTabs(dim) + '}\\n';\n } else if(param[key].constructor === Function) {\n continue;\n } else {\n formated = formated + this._tab + this._getTabs(dim) + '[' + key + '] => ' + param[key] + '\\n';\n }\n } else {\n formated = formated + this._tab + this._getTabs(dim) + '[' + key + '] => null \\n';\n }\n }\n return formated;\n },\n\n /**\n * Prints variable structure.\n *\n * @method printDump\n * @param {Any} param Variable to be dumped.\n * @param {DOMElement|String} [target] Element to print the dump on.\n * @public\n * @static\n * @sample Ink_Util_Dumper_printDump.html \n */\n printDump: function(param, target)\n {\n /*jshint evil:true */\n if(!target || typeof(target) === 'undefined') {\n document.write('
        '+this._formatParam(param)+'
        ');\n } else {\n if(typeof(target) === 'string') {\n document.getElementById(target).innerHTML = '
        ' + this._formatParam(param) + '
        ';\n } else if(typeof(target) === 'object') {\n target.innerHTML = '
        '+this._formatParam(param)+'
        ';\n } else {\n throw \"TARGET must be an element or an element ID\";\n }\n }\n },\n\n /**\n * Get a variable's structure.\n *\n * @method returnDump\n * @param {Any} param Variable to get the structure.\n * @return {String} The variable's structure.\n * @public\n * @static\n * @sample Ink_Util_Dumper_returnDump.html \n */\n returnDump: function(param)\n {\n return this._formatParam(param);\n },\n\n /**\n * Alert a variable's structure.\n *\n * @method alertDump\n * @param {Any} param Variable to be dumped.\n * @public\n * @static\n * @sample Ink_Util_Dumper_alertDump.html \n */\n alertDump: function(param)\n {\n window.alert(this._formatParam(param).replace(/()(Array|Object)(<\\/b>)/g, \"$2\"));\n },\n\n /**\n * Prints the variable structure to a new window.\n *\n * @method windowDump\n * @param {Any} param Variable to be dumped.\n * @public\n * @static\n * @sample Ink_Util_Dumper_windowDump.html \n */\n windowDump: function(param)\n {\n var dumperwindow = 'dumperwindow_'+(Math.random() * 10000);\n var win = window.open('',\n dumperwindow,\n 'width=400,height=300,left=50,top=50,status,menubar,scrollbars,resizable'\n );\n win.document.open();\n win.document.write('
        '+this._formatParam(param)+'
        ');\n win.document.close();\n win.focus();\n }\n\n };\n\n return Dumper;\n\n});\n","/**\n * Internationalization Utilities \n * @module Ink.Util.I18n_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.I18n', '1', [], function () {\n 'use strict';\n\n var pattrText = /\\{(?:(\\{.*?})|(?:%s:)?(\\d+)|(?:%s)?|([\\w-]+))}/g;\n\n var funcOrVal = function( ret , args ) {\n if ( typeof ret === 'function' ) {\n return ret.apply(this, args);\n } else if (typeof ret !== undefined) {\n return ret;\n } else {\n return '';\n }\n };\n\n /**\n * You can use this module to internationalize your applications. It roughly emulates GNU gettext's API.\n *\n * @class Ink.Util.I18n\n * @constructor\n *\n * @param {Object} dict Object mapping language codes (in the form of `pt_PT`, `pt_BR`, `fr`, `en_US`, etc.) to their `dictionaries`\n * @param {String} [lang='pt_PT'] language code of the target language\n *\n * @sample Ink_Util_I18n_1.html\n */\n var I18n = function( dict , lang , testMode ) {\n if ( !( this instanceof I18n ) ) { return new I18n( dict , lang , testMode ); }\n\n this.reset( )\n .lang( lang )\n .testMode( testMode )\n .append( dict || { } , lang );\n };\n\n I18n.prototype = {\n reset: function( ) {\n this._dicts = [ ];\n this._dict = { };\n this._testMode = false;\n this._lang = this._gLang;\n\n return this;\n },\n /**\n * Adds translation strings for the helper to use.\n *\n * @method append\n * @param {Object} dict Object containing language objects identified by their language code\n *\n * @sample Ink_Util_I18n_1_append.html\n */\n append: function( dict ) {\n this._dicts.push( dict );\n\n this._dict = Ink.extendObj(this._dict , dict[ this._lang ] );\n\n return this;\n },\n /**\n * Gets or sets the language.\n * If there are more dictionaries available in cache, they will be loaded.\n *\n * @method lang\n * @param {String} lang Language code to set this instance to.\n */\n lang: function( lang ) {\n if ( !arguments.length ) { return this._lang; }\n\n if ( lang && this._lang !== lang ) {\n this._lang = lang;\n\n this._dict = { };\n\n for ( var i = 0, l = this._dicts.length; i < l; i++ ) {\n this._dict = Ink.extendObj( this._dict , this._dicts[ i ][ lang ] || { } );\n }\n }\n\n return this;\n },\n /**\n * Sets or unsets test mode.\n * In test mode, unknown strings are wrapped in `[ ... ]`. This is useful for debugging your application and to make sure all your translation keys are in place.\n *\n * @method testMode\n * @param {Boolean} bool Flag to set the test mode state\n */\n testMode: function( bool ) {\n if ( !arguments.length ) { return !!this._testMode; }\n\n if ( bool !== undefined ) { this._testMode = !!bool; }\n\n return this;\n },\n\n /**\n * Gest a key from the current dictionary\n *\n * @method getKey\n * @param {String} key\n * @return {Mixed} The object which happened to be in the current language dictionary on the given key.\n *\n * @sample Ink_Util_I18n_1_getKey.html\n */\n getKey: function( key ) {\n var ret;\n var gLang = this._gLang;\n var lang = this._lang;\n \n if ( key in this._dict ) {\n ret = this._dict[ key ];\n } else {\n I18n.langGlobal( lang );\n \n ret = this._gDict[ key ];\n \n I18n.langGlobal( gLang );\n }\n \n return ret;\n },\n\n /**\n * Translates a string.\n * Given a translation key, return a translated string, with replaced parameters.\n * When a translated string is not available, the original string is returned unchanged.\n *\n * @method text\n * @param {String} str Key to look for in i18n dictionary (which is returned verbatim if unknown)\n * @param {Object} [namedParms] Named replacements. Replaces {named} with values in this object.\n * @param {String} [args] Replacement #1 (replaces first {} and all {1})\n * @param {String} [arg2] Replacement #2 (replaces second {} and all {2})\n * @param {String} [argn*] Replacement #n (replaces nth {} and all {n})\n *\n * @sample Ink_Util_I18n_1_text.html\n */\n text: function( str /*, replacements...*/ ) {\n if ( typeof str !== 'string' ) { return; } // Backwards-compat\n\n var pars = Array.prototype.slice.call( arguments , 1 );\n var idx = 0;\n var isObj = typeof pars[ 0 ] === 'object';\n\n var original = this.getKey( str );\n if ( original === undefined ) { original = this._testMode ? '[' + str + ']' : str; }\n if ( typeof original === 'number' ) { original += ''; }\n\n if (typeof original === 'string') {\n original = original.replace( pattrText , function( m , $1 , $2 , $3 ) {\n var ret =\n $1 ? $1 :\n $2 ? pars[ $2 - ( isObj ? 0 : 1 ) ] :\n $3 ? pars[ 0 ][ $3 ] || '' :\n pars[ (idx++) + ( isObj ? 1 : 0 ) ];\n return funcOrVal( ret , [idx].concat(pars) );\n });\n return original;\n }\n \n return (\n typeof original === 'function' ? original.apply( this , pars ) :\n original instanceof Array ? funcOrVal( original[ pars[ 0 ] ] , pars ) :\n typeof original === 'object' ? funcOrVal( original[ pars[ 0 ] ] , pars ) :\n '');\n },\n\n /**\n * Translates and pluralizes text.\n * Given a singular string, a plural string and a number, translates either the singular or plural string.\n *\n * @method ntext\n * @return {String}\n *\n * @param {String} strSin Word to use when count is 1\n * @param {String} strPlur Word to use otherwise\n * @param {Number} count Number which defines which word to use\n * @param [args*] Extra arguments, to be passed to `text()`\n *\n * @sample Ink_Util_I18n_1_ntext.html\n */\n ntext: function( strSin , strPlur , count ) {\n var pars = Array.prototype.slice.apply( arguments );\n var original;\n\n if ( pars.length === 2 && typeof strPlur === 'number' ) {\n original = this.getKey( strSin );\n if ( !( original instanceof Array ) ) { return ''; }\n\n pars.splice( 0 , 1 );\n original = original[ strPlur === 1 ? 0 : 1 ];\n } else {\n pars.splice( 0 , 2 );\n original = count === 1 ? strSin : strPlur;\n }\n\n return this.text.apply( this , [ original ].concat( pars ) );\n },\n\n /**\n * Gets the ordinal suffix of a number.\n *\n * This works by using transforms (in the form of Objects or Functions) passed into the function or found in the special key `_ordinals` in the active language dictionary.\n *\n * @method ordinal\n *\n * @param {Number} num Input number\n * @param {Object|Function} [options]={} Dictionaries for translating. Each of these options' fallback is found in the current language's dictionary. The lookup order is the following: `exceptions`, `byLastDigit`, `default`. Each of these may be either an `Object` or a `Function`. If it's a function, it is called (with `number` and `digit` for any function except for byLastDigit, which is called with the `lastDigit` of the number in question), and if the function returns a string, that is used. If it's an object, the property is looked up using `obj[prop]`. If what is found is a string, it is used directly.\n * @param {Object|Function} [options.byLastDigit]={} If the language requires the last digit to be considered, mappings of last digits to ordinal suffixes can be created here.\n * @param {Object|Function} [options.exceptions]={} Map unique, special cases to their ordinal suffixes.\n *\n * @returns {String} Ordinal suffix for `num`.\n *\n * @sample Ink_Util_I18n_1_ordinal.html\n **/\n ordinal: function( num ) {\n if ( num === undefined ) { return ''; }\n\n var lastDig = +num.toString( ).slice( -1 );\n\n var ordDict = this.getKey( '_ordinals' );\n if ( ordDict === undefined ) { return ''; }\n\n if ( typeof ordDict === 'string' ) { return ordDict; }\n\n var ret;\n\n if ( typeof ordDict === 'function' ) {\n ret = ordDict( num , lastDig );\n\n if ( typeof ret === 'string' ) { return ret; }\n }\n\n if ( 'exceptions' in ordDict ) {\n ret = typeof ordDict.exceptions === 'function' ? ordDict.exceptions( num , lastDig ) :\n num in ordDict.exceptions ? funcOrVal( ordDict.exceptions[ num ] , [num , lastDig] ) :\n undefined;\n\n if ( typeof ret === 'string' ) { return ret; }\n }\n\n if ( 'byLastDigit' in ordDict ) {\n ret = typeof ordDict.byLastDigit === 'function' ? ordDict.byLastDigit( lastDig , num ) :\n lastDig in ordDict.byLastDigit ? funcOrVal( ordDict.byLastDigit[ lastDig ] , [lastDig , num] ) :\n undefined;\n\n if ( typeof ret === 'string' ) { return ret; }\n }\n\n if ( 'default' in ordDict ) {\n ret = funcOrVal( ordDict['default'] , [ num , lastDig ] );\n\n if ( typeof ret === 'string' ) { return ret; }\n }\n\n return '';\n },\n\n /**\n * Create an alias.\n *\n * Returns an alias to this I18n instance. It contains the I18n methods documented here, but is also a function. If you call it, it just calls `text()`. This is commonly assigned to \"_\".\n *\n * @method alias\n * @returns {Function} an alias to `text()` on this instance. You can also access the rest of the translation API through this alias.\n *\n * @sample Ink_Util_I18n_1_alias.html\n */\n alias: function( ) {\n var ret = Ink.bind( I18n.prototype.text , this );\n ret.ntext = Ink.bind( I18n.prototype.ntext , this );\n ret.append = Ink.bind( I18n.prototype.append , this );\n ret.ordinal = Ink.bind( I18n.prototype.ordinal , this );\n ret.testMode = Ink.bind( I18n.prototype.testMode , this );\n\n return ret;\n }\n };\n\n /**\n * Resets I18n global state (global dictionaries, and default language for instances)\n *\n * @method reset\n * @static\n *\n **/\n I18n.reset = function( ) {\n I18n.prototype._gDicts = [ ];\n I18n.prototype._gDict = { };\n I18n.prototype._gLang = 'pt_PT';\n };\n I18n.reset( );\n\n /**\n * Adds a dictionary to be used in all I18n instances for the corresponding language.\n *\n * @method appendGlobal\n * @static\n *\n * @param dict {Object} Dictionary to be added\n * @param lang {String} Language fo the dictionary being added\n *\n */\n I18n.appendGlobal = function( dict , lang ) {\n if ( lang ) {\n if ( !( lang in dict ) ) {\n var obj = { };\n\n obj[ lang ] = dict;\n\n dict = obj;\n }\n\n if ( lang !== I18n.prototype._gLang ) { I18n.langGlobal( lang ); }\n }\n\n I18n.prototype._gDicts.push( dict );\n\n Ink.extendObj( I18n.prototype._gDict , dict[ I18n.prototype._gLang ] );\n };\n\n I18n.append = function () {\n // [3.1.0] remove this alias\n Ink.warn('Ink.Util.I18n.append() was renamed to appendGlobal().');\n return I18n.appendGlobal.apply(I18n, [].slice.call(arguments));\n };\n\n /**\n * Gets or sets the current default language of I18n instances.\n *\n * @method langGlobal\n * @param lang the new language for all I18n instances\n *\n * @static\n *\n * @return {String} language code\n */\n I18n.langGlobal = function( lang ) {\n if ( !arguments.length ) { return I18n.prototype._gLang; }\n\n if ( lang && I18n.prototype._gLang !== lang ) {\n I18n.prototype._gLang = lang;\n\n I18n.prototype._gDict = { };\n\n for ( var i = 0, l = I18n.prototype._gDicts.length; i < l; i++ ) {\n Ink.extendObj( I18n.prototype._gDict , I18n.prototype._gDicts[ i ][ lang ] || { } );\n }\n }\n };\n\n I18n.lang = function () {\n // [3.1.0] remove this alias\n Ink.warn('Ink.Util.I18n.lang() was renamed to langGlobal().');\n return I18n.langGlobal.apply(I18n, [].slice.call(arguments));\n };\n \n return I18n;\n});","/**\n * JSON Utilities\n * @module Ink.Util.Json_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.Json', '1', [], function() {\n 'use strict';\n\n var function_call = Function.prototype.call;\n var cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\n\n function twoDigits(n) {\n var r = '' + n;\n if (r.length === 1) {\n return '0' + r;\n } else {\n return r;\n }\n }\n\n var dateToISOString = Date.prototype.toISOString ?\n Ink.bind(function_call, Date.prototype.toISOString) :\n function(date) {\n // Adapted from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString\n return date.getUTCFullYear() +\n '-' + twoDigits( date.getUTCMonth() + 1 ) +\n '-' + twoDigits( date.getUTCDate() ) +\n 'T' + twoDigits( date.getUTCHours() ) +\n ':' + twoDigits( date.getUTCMinutes() ) +\n ':' + twoDigits( date.getUTCSeconds() ) +\n '.' + String( (date.getUTCMilliseconds()/1000).toFixed(3) ).slice( 2, 5 ) +\n 'Z';\n };\n\n /**\n * Use this class to convert JSON strings to JavaScript objects\n * `.parse()` and also to do the opposite operation `.stringify()`.\n * Internally, the standard JSON implementation is used if available\n * Otherwise, the functions mimic the standard implementation.\n *\n * Here's how to produce JSON from an existing object:\n * \n * Ink.requireModules(['Ink.Util.Json_1'], function (Json) {\n * var obj = {\n * key1: 'value1',\n * key2: 'value2',\n * keyArray: ['arrayValue1', 'arrayValue2', 'arrayValue3']\n * };\n * Json.stringify(obj); // The above object as a JSON string\n * });\n *\n * And here is how to parse JSON:\n *\n * Ink.requireModules(['Ink.Util.Json_1'], function (Json) {\n * var source = '{\"key\": \"value\", \"array\": [true, null, false]}';\n * Json.parse(source); // The above JSON string as an object\n * });\n *\n * @namespace Ink.Util.Json_1 \n * @static\n * \n */\n var InkJson = {\n _nativeJSON: window.JSON || null,\n\n _convertToUnicode: false,\n\n // Escape characters so as to embed them in JSON strings\n _escape: function (theString) {\n var _m = { '\\b': '\\\\b', '\\t': '\\\\t', '\\n': '\\\\n', '\\f': '\\\\f', '\\r': '\\\\r', '\"': '\\\\\"', '\\\\': '\\\\\\\\' };\n\n if (/[\"\\\\\\x00-\\x1f]/.test(theString)) {\n theString = theString.replace(/([\\x00-\\x1f\\\\\"])/g, function(a, b) {\n var c = _m[b];\n if (c) {\n return c;\n }\n c = b.charCodeAt();\n return '\\\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16);\n });\n }\n\n return theString;\n },\n\n // A character conversion map\n _toUnicode: function (theString)\n {\n if(!this._convertToUnicode) {\n return this._escape(theString);\n } else {\n var unicodeString = '';\n var inInt = false;\n var theUnicode = false;\n var i = 0;\n var total = theString.length;\n while(i < total) {\n inInt = theString.charCodeAt(i);\n if( (inInt >= 32 && inInt <= 126) ||\n //(inInt >= 48 && inInt <= 57) ||\n //(inInt >= 65 && inInt <= 90) ||\n //(inInt >= 97 && inInt <= 122) ||\n inInt === 8 ||\n inInt === 9 ||\n inInt === 10 ||\n inInt === 12 ||\n inInt === 13 ||\n inInt === 32 ||\n inInt === 34 ||\n inInt === 47 ||\n inInt === 58 ||\n inInt === 92) {\n\n if(inInt === 34 || inInt === 92 || inInt === 47) {\n theUnicode = '\\\\'+theString.charAt(i);\n } else if(inInt === 8) {\n theUnicode = '\\\\b';\n } else if(inInt === 9) {\n theUnicode = '\\\\t';\n } else if(inInt === 10) {\n theUnicode = '\\\\n';\n } else if(inInt === 12) {\n theUnicode = '\\\\f';\n } else if(inInt === 13) {\n theUnicode = '\\\\r';\n } else {\n theUnicode = theString.charAt(i);\n }\n } else {\n if(this._convertToUnicode) {\n theUnicode = theString.charCodeAt(i).toString(16)+''.toUpperCase();\n while (theUnicode.length < 4) {\n theUnicode = '0' + theUnicode;\n }\n theUnicode = '\\\\u' + theUnicode;\n } else {\n theUnicode = theString.charAt(i);\n }\n }\n unicodeString += theUnicode;\n\n i++;\n }\n\n return unicodeString;\n }\n\n },\n\n _stringifyValue: function(param) {\n if (typeof param === 'string') {\n return '\"' + this._toUnicode(param) + '\"';\n } else if (typeof param === 'number' && (isNaN(param) || !isFinite(param))) { // Unusable numbers go null\n return 'null';\n } else if (typeof param === 'undefined' || param === null) { // And so does undefined\n return 'null';\n } else if (typeof param.toJSON === 'function') {\n var t = param.toJSON();\n if (typeof t === 'string') {\n return '\"' + this._escape(t) + '\"';\n } else {\n return this._escape(t.toString());\n }\n } else if (typeof param === 'number' || typeof param === 'boolean') { // These ones' toString methods return valid JSON.\n return '' + param;\n } else if (typeof param === 'function') {\n return 'null'; // match JSON.stringify\n } else if (param.constructor === Date) {\n return '\"' + this._escape(dateToISOString(param)) + '\"';\n } else if (param.constructor === Array) {\n var arrayString = '';\n for (var i = 0, len = param.length; i < len; i++) {\n if (i > 0) {\n arrayString += ',';\n }\n arrayString += this._stringifyValue(param[i]);\n }\n return '[' + arrayString + ']';\n } else { // Object\n var objectString = '';\n for (var k in param) {\n if ({}.hasOwnProperty.call(param, k)) {\n if (objectString !== '') {\n objectString += ',';\n }\n objectString += '\"' + this._escape(k) + '\": ' + this._stringifyValue(param[k]);\n }\n }\n return '{' + objectString + '}';\n }\n },\n\n /**\n * Serializes a JSON object into a string.\n *\n * @method stringify\n * @param {Object} input Data to be serialized into JSON\n * @param {Boolean} convertToUnicode When `true`, converts string contents to unicode \\uXXXX\n * @return {String} Serialized string\n *\n * @sample Ink_Util_Json_stringify.html \n */\n stringify: function(input, convertToUnicode) {\n this._convertToUnicode = !!convertToUnicode;\n if(!this._convertToUnicode && this._nativeJSON) {\n return this._nativeJSON.stringify(input);\n }\n return this._stringifyValue(input); // And recurse.\n },\n \n /**\n * Parses a JSON text through a function\n * \n * @method parse\n * @param text {String} Input string\n * @param reviver {Function} Function receiving `(key, value)`, and `this`=(containing object), used to walk objects.\n * \n * @return {Object} JSON object\n *\n * @sample Ink_Util_Json_parse.html \n */\n /* From https://github.com/douglascrockford/JSON-js/blob/master/json.js */\n parse: function (text, reviver) {\n /*jshint evil:true*/\n\n// The parse method takes a text and an optional reviver function, and returns\n// a JavaScript value if the text is a valid JSON text.\n\n var j;\n\n function walk(holder, key) {\n\n// The walk method is used to recursively walk the resulting structure so\n// that modifications can be made.\n\n var k, v, value = holder[key];\n if (value && typeof value === 'object') {\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = walk(value, k);\n if (v !== undefined) {\n value[k] = v;\n } else {\n delete value[k];\n }\n }\n }\n }\n return reviver.call(holder, key, value);\n }\n\n\n// Parsing happens in four stages. In the first stage, we replace certain\n// Unicode characters with escape sequences. JavaScript handles many characters\n// incorrectly, either silently deleting them, or treating them as line endings.\n\n text = String(text);\n cx.lastIndex = 0;\n if (cx.test(text)) {\n text = text.replace(cx, function (a) {\n return '\\\\u' +\n ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n });\n }\n\n// In the second stage, we run the text against regular expressions that look\n// for non-JSON patterns. We are especially concerned with '()' and 'new'\n// because they can cause invocation, and '=' because it can cause mutation.\n// But just to be safe, we want to reject all unexpected forms.\n\n// We split the second stage into 4 regexp operations in order to work around\n// crippling inefficiencies in IE's and Safari's regexp engines. First we\n// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we\n// replace all simple value tokens with ']' characters. Third, we delete all\n// open brackets that follow a colon or comma or that begin the text. Finally,\n// we look to see that the remaining characters are only whitespace or ']' or\n// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.\n\n if (/^[\\],:{}\\s]*$/\n .test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')\n .replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']')\n .replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) {\n\n// In the third stage we use the eval function to compile the text into a\n// JavaScript structure. The '{' operator is subject to a syntactic ambiguity\n// in JavaScript: it can begin a block or an object literal. We wrap the text\n// in parens to eliminate the ambiguity.\n\n j = eval('(' + text + ')');\n\n// In the optional fourth stage, we recursively walk the new structure, passing\n// each name/value pair to a reviver function for possible transformation.\n\n return typeof reviver === 'function' ?\n walk({'': j}, '') :\n j;\n }\n\n// If the text is not JSON parseable, then a SyntaxError is thrown.\n\n throw new SyntaxError('JSON.parse');\n }\n };\n\n return InkJson;\n});\n","/**\n * String Utilities\n * @module Ink.Util.String_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.String', '1', [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Util.String_1 \n */\n var InkUtilString = {\n\n /**\n * List of special chars\n * \n * @property _chars\n * @type {Array}\n * @private\n * @readOnly\n * @static\n */\n _chars: ['&','à','á','â','ã','ä','å','æ','ç','è','é',\n 'ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô',\n 'õ','ö','ø','ù','ú','û','ü','ý','þ','ÿ','À',\n 'Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë',\n 'Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö',\n 'Ø','Ù','Ú','Û','Ü','Ý','Þ','€','\\\"','ß','<',\n '>','¢','£','¤','¥','¦','§','¨','©','ª','«',\n '¬','\\xad','®','¯','°','±','²','³','´','µ','¶',\n '·','¸','¹','º','»','¼','½','¾'],\n\n /**\n * List of the special characters' html entities\n * \n * @property _entities\n * @type {Array}\n * @private\n * @readOnly\n * @static\n */\n _entities: ['amp','agrave','aacute','acirc','atilde','auml','aring',\n 'aelig','ccedil','egrave','eacute','ecirc','euml','igrave',\n 'iacute','icirc','iuml','eth','ntilde','ograve','oacute',\n 'ocirc','otilde','ouml','oslash','ugrave','uacute','ucirc',\n 'uuml','yacute','thorn','yuml','Agrave','Aacute','Acirc',\n 'Atilde','Auml','Aring','AElig','Ccedil','Egrave','Eacute',\n 'Ecirc','Euml','Igrave','Iacute','Icirc','Iuml','ETH','Ntilde',\n 'Ograve','Oacute','Ocirc','Otilde','Ouml','Oslash','Ugrave',\n 'Uacute','Ucirc','Uuml','Yacute','THORN','euro','quot','szlig',\n 'lt','gt','cent','pound','curren','yen','brvbar','sect','uml',\n 'copy','ordf','laquo','not','shy','reg','macr','deg','plusmn',\n 'sup2','sup3','acute','micro','para','middot','cedil','sup1',\n 'ordm','raquo','frac14','frac12','frac34'],\n\n /**\n * List of accented chars\n * \n * @property _accentedChars\n * @type {Array}\n * @private\n * @readOnly\n * @static\n */\n _accentedChars:['à','á','â','ã','ä','å',\n 'è','é','ê','ë',\n 'ì','í','î','ï',\n 'ò','ó','ô','õ','ö',\n 'ù','ú','û','ü',\n 'ç','ñ',\n 'À','Á','Â','Ã','Ä','Å',\n 'È','É','Ê','Ë',\n 'Ì','Í','Î','Ï',\n 'Ò','Ó','Ô','Õ','Ö',\n 'Ù','Ú','Û','Ü',\n 'Ç','Ñ'],\n\n /**\n * List of the accented chars (above), but without the accents\n * \n * @property _accentedRemovedChars\n * @type {Array}\n * @private\n * @readOnly\n * @static\n */\n _accentedRemovedChars:['a','a','a','a','a','a',\n 'e','e','e','e',\n 'i','i','i','i',\n 'o','o','o','o','o',\n 'u','u','u','u',\n 'c','n',\n 'A','A','A','A','A','A',\n 'E','E','E','E',\n 'I','I','I','I',\n 'O','O','O','O','O',\n 'U','U','U','U',\n 'C','N'],\n /**\n * Object that contains the basic HTML unsafe chars, as keys, and their HTML entities as values\n * \n * @property _htmlUnsafeChars\n * @type {Object}\n * @private\n * @readOnly\n * @static\n */\n _htmlUnsafeChars:{'<':'<','>':'>','&':'&','\"':'"',\"'\":'''},\n\n /**\n * Capitalizes a word.\n * If param as more than one word, it converts first letter of all words that have more than 2 letters\n *\n * @method ucFirst\n * @param {String} string String to capitalize.\n * @param {Boolean} [firstWordOnly]=false Flag to capitalize only the first word.\n * @return {String} Camel cased string.\n * @public\n * @static\n * @sample Ink_Util_String_ucFirst.html \n */\n ucFirst: function(string, firstWordOnly) {\n var replacer = firstWordOnly ? /(^|\\s)(\\w)(\\S{2,})/ : /(^|\\s)(\\w)(\\S{2,})/g;\n return string ? String(string).replace(replacer, function(_, $1, $2, $3){\n return $1 + $2.toUpperCase() + $3.toLowerCase();\n }) : string;\n },\n\n /**\n * Trims whitespace from strings\n *\n * @method trim\n * @param {String} string String to be trimmed\n * @return {String} Trimmed string\n * @public\n * @static\n * @sample Ink_Util_String_trim.html \n */\n trim: function(string)\n {\n if (typeof string === 'string') {\n return string.replace(/^\\s+|\\s+$|\\n+$/g, '');\n }\n return string;\n },\n\n /**\n * Strips HTML tags from strings\n *\n * @method stripTags\n * @param {String} string String to strip tags from.\n * @param {String} allowed Comma separated list of allowed tags.\n * @return {String} Stripped string\n * @public\n * @static\n * @sample Ink_Util_String_stripTags.html \n */\n stripTags: function(string, allowed)\n {\n if (allowed && typeof allowed === 'string') {\n var aAllowed = InkUtilString.trim(allowed).split(',');\n var aNewAllowed = [];\n var cleanedTag = false;\n for(var i=0; i < aAllowed.length; i++) {\n if(InkUtilString.trim(aAllowed[i]) !== '') {\n cleanedTag = InkUtilString.trim(aAllowed[i].replace(/(<|\\>)/g, '').replace(/\\s/, ''));\n aNewAllowed.push('(<'+cleanedTag+'\\\\s[^>]+>|<(\\\\s|\\\\/)?(\\\\s|\\\\/)?'+cleanedTag+'>)');\n }\n }\n var strAllowed = aNewAllowed.join('|');\n var reAllowed = new RegExp(strAllowed, \"i\");\n\n var aFoundTags = string.match(new RegExp(\"<[^>]*>\", \"g\"));\n\n for(var j=0; j < aFoundTags.length; j++) {\n if(!aFoundTags[j].match(reAllowed)) {\n string = string.replace((new RegExp(aFoundTags[j], \"gm\")), '');\n }\n }\n return string;\n } else {\n return string.replace(/<[^\\>]+\\>/g, '');\n }\n },\n\n /**\n * Encodes string into HTML entities.\n *\n * @method htmlEntitiesEncode\n * @param {String} string\n * @return {String} string encoded\n * @public\n * @static\n * @sample Ink_Util_String_htmlEntitiesEncode.html \n */\n htmlEntitiesEncode: function(string)\n {\n if (string && string.replace) {\n var re = false;\n for (var i = 0; i < InkUtilString._chars.length; i++) {\n re = new RegExp(InkUtilString._chars[i], \"gm\");\n string = string.replace(re, '&' + InkUtilString._entities[i] + ';');\n }\n }\n return string;\n },\n\n /**\n * Decodes string from HTML entities.\n *\n * @method htmlEntitiesDecode\n * @param {String} string String to be decoded\n * @return {String} Decoded string\n * @public\n * @static\n * @sample Ink_Util_String_htmlEntitiesDecode.html \n */\n htmlEntitiesDecode: function(string)\n {\n if (string && string.replace) {\n var re = false;\n for (var i = 0; i < InkUtilString._entities.length; i++) {\n re = new RegExp(\"&\"+InkUtilString._entities[i]+\";\", \"gm\");\n string = string.replace(re, InkUtilString._chars[i]);\n }\n string = string.replace(/&#[^;]+;?/g, function($0){\n if ($0.charAt(2) === 'x') {\n return String.fromCharCode(parseInt($0.substring(3), 16));\n }\n else {\n return String.fromCharCode(parseInt($0.substring(2), 10));\n }\n });\n }\n return string;\n },\n\n /**\n * Encode a string to UTF-8.\n *\n * @method utf8Encode\n * @param {String} string String to be encoded\n * @return {String} string UTF-8 encoded string\n * @public\n * @static\n */\n utf8Encode: function(string) {\n /*jshint bitwise:false*/\n string = string.replace(/\\r\\n/g,\"\\n\");\n var utfstring = \"\";\n\n for (var n = 0; n < string.length; n++) {\n\n var c = string.charCodeAt(n);\n\n if (c < 128) {\n utfstring += String.fromCharCode(c);\n }\n else if((c > 127) && (c < 2048)) {\n utfstring += String.fromCharCode((c >> 6) | 192);\n utfstring += String.fromCharCode((c & 63) | 128);\n }\n else {\n utfstring += String.fromCharCode((c >> 12) | 224);\n utfstring += String.fromCharCode(((c >> 6) & 63) | 128);\n utfstring += String.fromCharCode((c & 63) | 128);\n }\n\n }\n return utfstring;\n },\n\n /**\n * Truncates a string without breaking words.\n *\n * @method shortString\n * @param {String} str String to truncate\n * @param {Number} n Number of chars of the short string\n * @return {String} \n * @public\n * @static\n * @sample Ink_Util_String_shortString.html \n */\n shortString: function(str,n) {\n var words = str.split(' ');\n var resultstr = '';\n for(var i = 0; i < words.length; i++ ){\n if((resultstr + words[i] + ' ').length>=n){\n resultstr += '…';\n break;\n }\n resultstr += words[i] + ' ';\n }\n return resultstr;\n },\n\n /**\n * Truncates a string, breaking words and adding ... at the end.\n *\n * @method truncateString\n * @param {String} str String to truncate\n * @param {Number} length Limit for the returned string, ellipsis included.\n * @return {String} Truncated String\n * @public\n * @static\n * @sample Ink_Util_String_truncateString.html \n */\n truncateString: function(str, length) {\n if(str.length - 1 > length) {\n return str.substr(0, length - 1) + \"\\u2026\";\n } else {\n return str;\n }\n },\n\n /**\n * Decodes a string from UTF-8.\n *\n * @method utf8Decode\n * @param {String} string String to be decoded\n * @return {String} Decoded string\n * @public\n * @static\n */\n utf8Decode: function(utfstring) {\n /*jshint bitwise:false*/\n var string = \"\";\n var i = 0, c = 0, c2 = 0, c3 = 0;\n\n while ( i < utfstring.length ) {\n\n c = utfstring.charCodeAt(i);\n\n if (c < 128) {\n string += String.fromCharCode(c);\n i++;\n }\n else if((c > 191) && (c < 224)) {\n c2 = utfstring.charCodeAt(i+1);\n string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\n i += 2;\n }\n else {\n c2 = utfstring.charCodeAt(i+1);\n c3 = utfstring.charCodeAt(i+2);\n string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\n i += 3;\n }\n\n }\n return string;\n },\n\n /**\n * Removes all accented characters from a string.\n *\n * @method removeAccentedChars\n * @param {String} string String to remove accents from\n * @return {String} String without accented chars\n * @public\n * @static\n * @sample Ink_Util_String_removeAccentedChars.html \n */\n removeAccentedChars: function(string)\n {\n var newString = string;\n var re = false;\n for (var i = 0; i < InkUtilString._accentedChars.length; i++) {\n re = new RegExp(InkUtilString._accentedChars[i], \"gm\");\n newString = newString.replace(re, '' + InkUtilString._accentedRemovedChars[i] + '');\n }\n return newString;\n },\n\n /**\n * Count the number of occurrences of a specific needle in a haystack\n *\n * @method substrCount\n * @param {String} haystack String to search in\n * @param {String} needle String to search for\n * @return {Number} Number of occurrences\n * @public\n * @static\n * @sample Ink_Util_String_substrCount.html \n */\n substrCount: function(haystack,needle)\n {\n return haystack ? haystack.split(needle).length - 1 : 0;\n },\n\n /**\n * Eval a JSON - We recommend you Ink.Util.Json\n *\n * @method evalJSON\n * @param {String} strJSON JSON string to eval\n * @param {Boolean} sanitize Flag to sanitize input\n * @return {Object} JS Object\n * @public\n * @static\n */\n evalJSON: function(strJSON, sanitize) {\n /* jshint evil:true */\n if( (typeof sanitize === 'undefined' || sanitize === null) || InkUtilString.isJSON(strJSON)) {\n try {\n if(typeof(JSON) !== \"undefined\" && typeof(JSON.parse) !== 'undefined'){\n return JSON.parse(strJSON);\n }\n return eval('('+strJSON+')');\n } catch(e) {\n throw new Error('ERROR: Bad JSON string...');\n }\n }\n },\n\n /**\n * Checks if a string is a valid JSON object (string encoded)\n *\n * @method isJSON \n * @param {String} str String to check\n * @return {Boolean}\n * @public\n * @static\n */\n isJSON: function(str)\n {\n str = str.replace(/\\\\./g, '@').replace(/\"[^\"\\\\\\n\\r]*\"/g, '');\n return (/^[,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]*$/).test(str);\n },\n\n /**\n * Escapes unsafe html chars as HTML entities\n *\n * @method htmlEscapeUnsafe\n * @param {String} str String to escape\n * @return {String} Escaped string\n * @public\n * @static\n * @sample Ink_Util_String_htmlEscapeUnsafe.html \n */\n htmlEscapeUnsafe: function(str){\n var chars = InkUtilString._htmlUnsafeChars;\n return str !== null ? String(str).replace(/[<>&'\"]/g,function(c){return chars[c];}) : str;\n },\n\n /**\n * Normalizes whitespace in string.\n * String is trimmed and sequences of whitespaces are collapsed.\n *\n * @method normalizeWhitespace\n * @param {String} str String to normalize\n * @return {String} Normalized string\n * @public\n * @static\n * @sample Ink_Util_String_normalizeWhitespace.html \n */\n normalizeWhitespace: function(str){\n return str !== null ? InkUtilString.trim(String(str).replace(/\\s+/g,' ')) : str;\n },\n\n /**\n * Converts string to unicode.\n *\n * @method toUnicode\n * @param {String} str String to convert\n * @return {String} Unicoded String\n * @public\n * @static\n * @sample Ink_Util_String_toUnicode.html \n */\n toUnicode: function(str) {\n if (typeof str === 'string') {\n var unicodeString = '';\n var inInt = false;\n var theUnicode = false;\n var total = str.length;\n var i=0;\n\n while(i < total)\n {\n inInt = str.charCodeAt(i);\n if( (inInt >= 32 && inInt <= 126) ||\n inInt === 8 ||\n inInt === 9 ||\n inInt === 10 ||\n inInt === 12 ||\n inInt === 13 ||\n inInt === 32 ||\n inInt === 34 ||\n inInt === 47 ||\n inInt === 58 ||\n inInt === 92) {\n\n /*\n if(inInt == 34 || inInt == 92 || inInt == 47) {\n theUnicode = '\\\\'+str.charAt(i);\n } else {\n }\n */\n if(inInt === 8) {\n theUnicode = '\\\\b';\n } else if(inInt === 9) {\n theUnicode = '\\\\t';\n } else if(inInt === 10) {\n theUnicode = '\\\\n';\n } else if(inInt === 12) {\n theUnicode = '\\\\f';\n } else if(inInt === 13) {\n theUnicode = '\\\\r';\n } else {\n theUnicode = str.charAt(i);\n }\n } else {\n theUnicode = str.charCodeAt(i).toString(16)+''.toUpperCase();\n while (theUnicode.length < 4) {\n theUnicode = '0' + theUnicode;\n }\n theUnicode = '\\\\u' + theUnicode;\n }\n unicodeString += theUnicode;\n\n i++;\n }\n return unicodeString;\n }\n },\n\n /**\n * Escapes a unicode character.\n *\n * @method escape\n * @param {String} c Character to escape\n * @return {String} Escaped character. Returns \\xXX if hex smaller than 0x100, otherwise \\uXXXX\n * @public\n * @static\n * @sample Ink_Util_String_escape.html \n */\n escape: function(c) {\n var hex = (c).charCodeAt(0).toString(16).split('');\n if (hex.length < 3) {\n while (hex.length < 2) { hex.unshift('0'); }\n hex.unshift('x');\n }\n else {\n while (hex.length < 4) { hex.unshift('0'); }\n hex.unshift('u');\n }\n\n hex.unshift('\\\\');\n return hex.join('');\n },\n\n /**\n * Unescapes a unicode character escape sequence\n *\n * @method unescape\n * @param {String} es Escape sequence\n * @return {String} String un-unicoded\n * @public\n * @static\n * @sample Ink_Util_String_unescape.html \n */\n unescape: function(es) {\n var idx = es.lastIndexOf('0');\n idx = idx === -1 ? 2 : Math.min(idx, 2);\n //console.log(idx);\n var hexNum = es.substring(idx);\n //console.log(hexNum);\n var num = parseInt(hexNum, 16);\n return String.fromCharCode(num);\n },\n\n /**\n * Escapes a string to unicode characters\n *\n * @method escapeText\n * @param {String} txt \n * @param {Array} [whiteList] Whitelist of characters\n * @return {String} String escaped to Unicode\n * @public\n * @static\n * @sample Ink_Util_String_escapeText.html \n */\n escapeText: function(txt, whiteList) {\n if (whiteList === undefined) {\n whiteList = ['[', ']', '\\'', ','];\n }\n var txt2 = [];\n var c, C;\n for (var i = 0, f = txt.length; i < f; ++i) {\n c = txt[i];\n C = c.charCodeAt(0);\n if (C < 32 || C > 126 && whiteList.indexOf(c) === -1) {\n c = InkUtilString.escape(c);\n }\n txt2.push(c);\n }\n return txt2.join('');\n },\n\n /**\n * Regex to check escaped strings\n *\n * @property escapedCharRegex\n * @type {Regex}\n * @public\n * @readOnly\n * @static\n */\n escapedCharRegex: /(\\\\x[0-9a-fA-F]{2})|(\\\\u[0-9a-fA-F]{4})/g,\n\n /**\n * Unescapes a string\n *\n * @method unescapeText\n * @param {String} txt\n * @return {String} Unescaped string\n * @public\n * @static\n * @sample Ink_Util_String_unescapeText.html \n */\n unescapeText: function(txt) {\n /*jshint boss:true */\n var m;\n while (m = InkUtilString.escapedCharRegex.exec(txt)) {\n m = m[0];\n txt = txt.replace(m, InkUtilString.unescape(m));\n InkUtilString.escapedCharRegex.lastIndex = 0;\n }\n return txt;\n },\n\n /**\n * Compares two strings.\n *\n * @method strcmp\n * @param {String} str1 First String\n * @param {String} str2 Second String\n * @return {Number}\n * @public\n * @static\n * @sample Ink_Util_String_strcmp.html \n */\n strcmp: function(str1, str2) {\n return ((str1 === str2) ? 0 : ((str1 > str2) ? 1 : -1));\n },\n\n /**\n * Splits a string into smaller chunks\n *\n * @method packetize\n * @param {String} str String to divide\n * @param {Number} maxLen Maximum chunk size (in characters)\n * @return {Array} Chunks of the original string\n * @public\n * @static\n * @sample Ink_Util_String_packetize.html \n */\n packetize: function(str, maxLen) {\n var len = str.length;\n var parts = new Array( Math.ceil(len / maxLen) );\n var chars = str.split('');\n var sz, i = 0;\n while (len) {\n sz = Math.min(maxLen, len);\n parts[i++] = chars.splice(0, sz).join('');\n len -= sz;\n }\n return parts;\n }\n };\n\n return InkUtilString;\n\n});\n","/**\n * URL Utilities\n * @module Ink.Util.Url_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.Url', '1', [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Util.Url_1\n */\n var Url = {\n\n /**\n * Auxiliary string for encoding\n *\n * @property _keyStr\n * @type {String}\n * @readOnly\n * @private\n */\n _keyStr : 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n\n\n /**\n * Gets URL of current page\n *\n * @method getUrl\n * @return Current URL\n * @public\n * @static\n * @sample Ink_Util_Url_getUrl.html \n */\n getUrl: function()\n {\n return window.location.href;\n },\n\n /**\n * Generates an URL string.\n *\n * @method genQueryString\n * @param {String} uri Base URL\n * @param {Object} params Object to transform to query string\n * @return {String} URI with query string set\n * @public\n * @static\n * @sample Ink_Util_Url_genQueryString.html \n */\n genQueryString: function(uri, params) {\n var hasQuestionMark = uri.indexOf('?') !== -1;\n var sep, pKey, pValue, parts = [uri];\n\n for (pKey in params) {\n if (params.hasOwnProperty(pKey)) {\n if (!hasQuestionMark) {\n sep = '?';\n hasQuestionMark = true;\n } else {\n sep = '&';\n }\n pValue = params[pKey];\n if (typeof pValue !== 'number' && !pValue) {\n pValue = '';\n }\n parts = parts.concat([sep, encodeURIComponent(pKey), '=', encodeURIComponent(pValue)]);\n }\n }\n\n return parts.join('');\n },\n\n /**\n * Gets an object from an URL encoded string.\n *\n * @method getQueryString\n * @param {String} [str] URL String. When not specified it uses the current URL.\n * @return {Object} Key-Value pair object\n * @public\n * @static\n * @sample Ink_Util_Url_getQueryString.html \n */\n getQueryString: function(str)\n {\n var url;\n if(str && typeof(str) !== 'undefined') {\n url = str;\n } else {\n url = this.getUrl();\n }\n var aParams = {};\n if(url.match(/\\?(.+)/i)) {\n var queryStr = url.replace(/^(.*)\\?([^\\#]+)(\\#(.*))?/g, \"$2\");\n if(queryStr.length > 0) {\n var aQueryStr = queryStr.split(/[;&]/);\n for(var i=0; i < aQueryStr.length; i++) {\n var pairVar = aQueryStr[i].split('=');\n aParams[decodeURIComponent(pairVar[0])] = (typeof(pairVar[1]) !== 'undefined' && pairVar[1]) ? decodeURIComponent(pairVar[1]) : false;\n }\n }\n }\n return aParams;\n },\n\n /**\n * Gets the URL hash value\n *\n * @method getAnchor\n * @param {String} [str] URL String. Defaults to current page URL.\n * @return {String|Boolean} Hash in the URL. If there's no hash, returns false.\n * @public\n * @static\n * @sample Ink_Util_Url_getAnchor.html \n */\n getAnchor: function(str)\n {\n var url;\n if(str && typeof(str) !== 'undefined') {\n url = str;\n } else {\n url = this.getUrl();\n }\n var anchor = false;\n if(url.match(/#(.+)/)) {\n anchor = url.replace(/([^#]+)#(.*)/, \"$2\");\n }\n return anchor;\n },\n\n /**\n * Gets the anchor string of an URL\n *\n * @method getAnchorString\n * @param {String} [string] URL to parse. Defaults to current URL.\n * @return {Object} Key-value pair object of the URL's hashtag 'variables'\n * @public\n * @static\n * @sample Ink_Util_Url_getAnchorString.html \n */\n getAnchorString: function(string)\n {\n var url;\n if(string && typeof(string) !== 'undefined') {\n url = string;\n } else {\n url = this.getUrl();\n }\n var aParams = {};\n if(url.match(/#(.+)/i)) {\n var anchorStr = url.replace(/^([^#]+)#(.*)?/g, \"$2\");\n if(anchorStr.length > 0) {\n var aAnchorStr = anchorStr.split(/[;&]/);\n for(var i=0; i < aAnchorStr.length; i++) {\n var pairVar = aAnchorStr[i].split('=');\n aParams[decodeURIComponent(pairVar[0])] = (typeof(pairVar[1]) !== 'undefined' && pairVar[1]) ? decodeURIComponent(pairVar[1]) : false;\n }\n }\n }\n return aParams;\n },\n\n\n /**\n * Parses URL string into URL parts\n *\n * @method parseUrl\n * @param {String} url URL to be parsed\n * @return {Object} Parsed URL as a key-value object.\n * @public\n * @static\n * @sample Ink_Util_Url_parseUrl.html \n */\n parseUrl: function(url) {\n var aURL = {};\n if(url && typeof url === 'string') {\n if(url.match(/^([^:]+):\\/\\//i)) {\n var re = /^([^:]+):\\/\\/([^\\/]*)\\/?([^\\?#]*)\\??([^#]*)#?(.*)/i;\n if(url.match(re)) {\n aURL.scheme = url.replace(re, \"$1\");\n aURL.host = url.replace(re, \"$2\");\n aURL.path = '/'+url.replace(re, \"$3\");\n aURL.query = url.replace(re, \"$4\") || false;\n aURL.fragment = url.replace(re, \"$5\") || false;\n }\n } else {\n var re1 = new RegExp(\"^([^\\\\?]+)\\\\?([^#]+)#(.*)\", \"i\");\n var re2 = new RegExp(\"^([^\\\\?]+)\\\\?([^#]+)#?\", \"i\");\n var re3 = new RegExp(\"^([^\\\\?]+)\\\\??\", \"i\");\n if(url.match(re1)) {\n aURL.scheme = false;\n aURL.host = false;\n aURL.path = url.replace(re1, \"$1\");\n aURL.query = url.replace(re1, \"$2\");\n aURL.fragment = url.replace(re1, \"$3\");\n } else if(url.match(re2)) {\n aURL.scheme = false;\n aURL.host = false;\n aURL.path = url.replace(re2, \"$1\");\n aURL.query = url.replace(re2, \"$2\");\n aURL.fragment = false;\n } else if(url.match(re3)) {\n aURL.scheme = false;\n aURL.host = false;\n aURL.path = url.replace(re3, \"$1\");\n aURL.query = false;\n aURL.fragment = false;\n }\n }\n if(aURL.host) {\n var regPort = /^(.*?)\\\\:(\\\\d+)$/i;\n // check for port\n if(aURL.host.match(regPort)) {\n var tmpHost1 = aURL.host;\n aURL.host = tmpHost1.replace(regPort, \"$1\");\n aURL.port = tmpHost1.replace(regPort, \"$2\");\n } else {\n aURL.port = false;\n }\n // check for user and pass\n if(aURL.host.match(/@/i)) {\n var tmpHost2 = aURL.host;\n aURL.host = tmpHost2.split('@')[1];\n var tmpUserPass = tmpHost2.split('@')[0];\n if(tmpUserPass.match(/\\:/)) {\n aURL.user = tmpUserPass.split(':')[0];\n aURL.pass = tmpUserPass.split(':')[1];\n } else {\n aURL.user = tmpUserPass;\n aURL.pass = false;\n }\n }\n }\n }\n return aURL;\n },\n\n /**\n * Formats an URL object into an URL string.\n *\n * @method format\n * @param urlObj Window.location, a.href, or parseUrl object to format\n * @return {String} Full URL.\n */\n format: function (urlObj) {\n var protocol = '';\n var host = '';\n var path = '';\n var frag = '';\n var query = '';\n\n if (typeof urlObj.protocol === 'string') {\n protocol = urlObj.protocol + '//'; // here it comes with the colon\n } else if (typeof urlObj.scheme === 'string') {\n protocol = urlObj.scheme + '://';\n }\n\n host = urlObj.host || urlObj.hostname || '';\n path = urlObj.path || '';\n\n if (typeof urlObj.query === 'string') {\n query = urlObj.query;\n } else if (typeof urlObj.search === 'string') {\n query = urlObj.search.replace(/^\\?/, '');\n }\n if (typeof urlObj.fragment === 'string') {\n frag = urlObj.fragment;\n } else if (typeof urlObj.hash === 'string') {\n frag = urlObj.hash.replace(/#$/, '');\n }\n\n return [\n protocol,\n host,\n path,\n query && '?' + query,\n frag && '#' + frag\n ].join('');\n },\n\n /**\n * Gets the last loaded script element\n *\n * @method currentScriptElement\n * @param {String} [match] String to match against the script src attribute\n * @return {DOMElement|Boolean} Returns the `script` DOM Element or false if unable to find it.\n * @public\n * @static\n * @sample Ink_Util_Url_currentScriptElement.html \n */\n currentScriptElement: function(match)\n {\n var aScripts = document.getElementsByTagName('script');\n if(typeof(match) === 'undefined') {\n if(aScripts.length > 0) {\n return aScripts[(aScripts.length - 1)];\n } else {\n return false;\n }\n } else {\n var curScript = false;\n var re = new RegExp(\"\"+match+\"\", \"i\");\n for(var i=0, total = aScripts.length; i < total; i++) {\n curScript = aScripts[i];\n if(re.test(curScript.src)) {\n return curScript;\n }\n }\n return false;\n }\n },\n\n \n /*\n base64Encode: function(string)\n {\n /**\n * --function {String} ?\n * --Convert a string to BASE 64\n * @param {String} string - string to convert\n * @return base64 encoded string\n *\n * \n if(!SAPO.Utility.String || typeof(SAPO.Utility.String) === 'undefined') {\n throw \"SAPO.Utility.Url.base64Encode depends of SAPO.Utility.String, which has not been referred.\";\n }\n\n var output = \"\";\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\n var i = 0;\n\n var input = SAPO.Utility.String.utf8Encode(string);\n\n while (i < input.length) {\n\n chr1 = input.charCodeAt(i++);\n chr2 = input.charCodeAt(i++);\n chr3 = input.charCodeAt(i++);\n\n enc1 = chr1 >> 2;\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n enc3 = enc4 = 64;\n } else if (isNaN(chr3)) {\n enc4 = 64;\n }\n\n output = output +\n this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +\n this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);\n }\n return output;\n },\n base64Decode: function(string)\n {\n * --function {String} ?\n * Decode a BASE 64 encoded string\n * --param {String} string base64 encoded string\n * --return string decoded\n if(!SAPO.Utility.String || typeof(SAPO.Utility.String) === 'undefined') {\n throw \"SAPO.Utility.Url.base64Decode depends of SAPO.Utility.String, which has not been referred.\";\n }\n\n var output = \"\";\n var chr1, chr2, chr3;\n var enc1, enc2, enc3, enc4;\n var i = 0;\n\n var input = string.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n while (i < input.length) {\n\n enc1 = this._keyStr.indexOf(input.charAt(i++));\n enc2 = this._keyStr.indexOf(input.charAt(i++));\n enc3 = this._keyStr.indexOf(input.charAt(i++));\n enc4 = this._keyStr.indexOf(input.charAt(i++));\n\n chr1 = (enc1 << 2) | (enc2 >> 4);\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n chr3 = ((enc3 & 3) << 6) | enc4;\n\n output = output + String.fromCharCode(chr1);\n\n if (enc3 !== 64) {\n output = output + String.fromCharCode(chr2);\n }\n if (enc4 !== 64) {\n output = output + String.fromCharCode(chr3);\n }\n }\n output = SAPO.Utility.String.utf8Decode(output);\n return output;\n },\n */\n\n\n /**\n * Debug function ?\n *\n * @method _debug\n * @private\n * @static\n */\n _debug: function() {}\n\n };\n\n return Url;\n\n});\n","/**\n * Validation Utilities\n * @module Ink.Util.Validator_1\n * @version 1\n */\n \nInk.createModule('Ink.Util.Validator', '1', [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Util.Validator_1 \n */\n var Validator = {\n\n /**\n * List of country codes avaible for the isPhone method\n *\n * @property _countryCodes\n * @type {Array}\n * @private\n * @static\n * @readOnly\n */\n _countryCodes : [\n 'AO',\n 'CV',\n 'MZ',\n 'PT'\n ],\n\n /**\n * International number for portugal\n *\n * @property _internacionalPT\n * @type {Number}\n * @private\n * @static\n * @readOnly\n *\n */\n _internacionalPT: 351,\n\n /**\n * List of all portuguese number prefixes\n *\n * @property _indicativosPT\n * @type {Object}\n * @private\n * @static\n * @readOnly\n *\n */\n _indicativosPT: {\n 21: 'lisboa',\n 22: 'porto',\n 231: 'mealhada',\n 232: 'viseu',\n 233: 'figueira da foz',\n 234: 'aveiro',\n 235: 'arganil',\n 236: 'pombal',\n 238: 'seia',\n 239: 'coimbra',\n 241: 'abrantes',\n 242: 'ponte de sôr',\n 243: 'santarém',\n 244: 'leiria',\n 245: 'portalegre',\n 249: 'torres novas',\n 251: 'valença',\n 252: 'vila nova de famalicão',\n 253: 'braga',\n 254: 'peso da régua',\n 255: 'penafiel',\n 256: 'são joão da madeira',\n 258: 'viana do castelo',\n 259: 'vila real',\n 261: 'torres vedras',\n 262: 'caldas da raínha',\n 263: 'vila franca de xira',\n 265: 'setúbal',\n 266: 'évora',\n 268: 'estremoz',\n 269: 'santiago do cacém',\n 271: 'guarda',\n 272: 'castelo branco',\n 273: 'bragança',\n 274: 'proença-a-nova',\n 275: 'covilhã',\n 276: 'chaves',\n 277: 'idanha-a-nova',\n 278: 'mirandela',\n 279: 'moncorvo',\n 281: 'tavira',\n 282: 'portimão',\n 283: 'odemira',\n 284: 'beja',\n 285: 'moura',\n 286: 'castro verde',\n 289: 'faro',\n 291: 'funchal, porto santo',\n 292: 'corvo, faial, flores, horta, pico',\n 295: 'angra do heroísmo, graciosa, são jorge, terceira',\n 296: 'ponta delgada, são miguel, santa maria',\n\n 91 : 'rede móvel 91 (Vodafone / Yorn)',\n 93 : 'rede móvel 93 (Optimus)',\n 96 : 'rede móvel 96 (TMN)',\n 92 : 'rede móvel 92 (TODOS)',\n //925 : 'rede móvel 925 (TMN 925)',\n //926 : 'rede móvel 926 (TMN 926)',\n //927 : 'rede móvel 927 (TMN 927)',\n //922 : 'rede móvel 922 (Phone-ix)',\n\n 707: 'número único',\n 760: 'número único',\n 800: 'número grátis',\n 808: 'chamada local',\n 30: 'voip'\n },\n /**\n * International number for Cabo Verde\n *\n * @property _internacionalCV\n * @type {Number}\n * @private\n * @static\n * @readOnly\n */\n _internacionalCV: 238,\n\n /**\n * List of all Cabo Verde number prefixes\n *\n * @property _indicativosCV\n * @type {Object}\n * @private\n * @static\n * @readOnly\n */\n _indicativosCV: {\n 2: 'fixo',\n 91: 'móvel 91',\n 95: 'móvel 95',\n 97: 'móvel 97',\n 98: 'móvel 98',\n 99: 'móvel 99'\n },\n /**\n * International number for Angola\n *\n * @property _internacionalAO\n * @type {Number}\n * @private\n * @static\n * @readOnly\n */\n _internacionalAO: 244,\n\n /**\n * List of all Angola number prefixes\n *\n * @property _indicativosAO\n * @type {Object}\n * @private\n * @static\n * @readOnly\n */\n _indicativosAO: {\n 2: 'fixo',\n 91: 'móvel 91',\n 92: 'móvel 92'\n },\n /**\n * International number for Mozambique\n *\n * @property _internacionalMZ\n * @type {Number}\n * @private\n * @static\n * @readOnly\n */\n _internacionalMZ: 258,\n\n /**\n * List of all Mozambique number prefixes\n *\n * @property _indicativosMZ\n * @type {Object}\n * @private\n * @static\n * @readOnly\n */\n _indicativosMZ: {\n 2: 'fixo',\n 82: 'móvel 82',\n 84: 'móvel 84'\n },\n\n /**\n * International number for Timor\n *\n * @property _internacionalTL\n * @type {Number}\n * @private\n * @static\n * @readOnly\n */\n _internacionalTL: 670,\n\n /**\n * List of all Timor number prefixes\n *\n * @property _indicativosTL\n * @type {Object}\n * @private\n * @static\n * @readOnly\n */\n _indicativosTL: {\n 3: 'fixo',\n 7: 'móvel 7'\n },\n\n /**\n * Regular expression groups for several groups of characters\n *\n * http://en.wikipedia.org/wiki/C0_Controls_and_Basic_Latin\n * http://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane\n * http://en.wikipedia.org/wiki/ISO_8859-1\n *\n * @property _characterGroups\n * @type {Object}\n * @private\n * @static\n * @readOnly\n */\n _characterGroups: {\n numbers: ['0-9'],\n asciiAlpha: ['a-zA-Z'],\n latin1Alpha: ['a-zA-Z', '\\u00C0-\\u00FF'],\n unicodeAlpha: ['a-zA-Z', '\\u00C0-\\u00FF', '\\u0100-\\u1FFF', '\\u2C00-\\uD7FF'],\n /* whitespace characters */\n space: [' '],\n dash: ['-'],\n underscore: ['_'],\n nicknamePunctuation: ['_.-'],\n\n singleLineWhitespace: ['\\t '],\n newline: ['\\n'],\n whitespace: ['\\t\\n\\u000B\\f\\r\\u00A0 '],\n\n asciiPunctuation: ['\\u0021-\\u002F', '\\u003A-\\u0040', '\\u005B-\\u0060', '\\u007B-\\u007E'],\n latin1Punctuation: ['\\u0021-\\u002F', '\\u003A-\\u0040', '\\u005B-\\u0060', '\\u007B-\\u007E', '\\u00A1-\\u00BF', '\\u00D7', '\\u00F7'],\n unicodePunctuation: ['\\u0021-\\u002F', '\\u003A-\\u0040', '\\u005B-\\u0060', '\\u007B-\\u007E', '\\u00A1-\\u00BF', '\\u00D7', '\\u00F7', '\\u2000-\\u206F', '\\u2E00-\\u2E7F', '\\u3000-\\u303F']\n },\n\n /**\n * Creates a regular expression for several character groups.\n *\n * @method createRegExp\n *\n * @param Groups* {Object}\n * Groups to build regular expressions for. Possible keys are:\n *\n * - **numbers**: 0-9\n * - **asciiAlpha**: a-z, A-Z\n * - **latin1Alpha**: asciiAlpha, plus printable characters in latin-1\n * - **unicodeAlpha**: unicode alphanumeric characters.\n * - **space**: ' ', the space character.\n * - **dash**: dash character.\n * - **underscore**: underscore character.\n * - **nicknamePunctuation**: dash, dot, underscore\n * - **singleLineWhitespace**: space and tab (whitespace which only spans one line).\n * - **newline**: newline character ('\\n')\n * - **whitespace**: whitespace characters in the ASCII character set.\n * - **asciiPunctuation**: punctuation characters in the ASCII character set.\n * - **latin1Punctuation**: punctuation characters in latin-1.\n * - **unicodePunctuation**: punctuation characters in unicode.\n *\n */\n createRegExp: function (groups) {\n var re = '^[';\n for (var key in groups) if (groups.hasOwnProperty(key)) {\n if (!(key in Validator._characterGroups)) {\n throw new Error('group ' + key + ' is not a valid character group');\n } else if (groups[key]) {\n re += Validator._characterGroups[key].join('');\n }\n }\n if (re === '^[') {\n // No changes\n return new RegExp('$^'); // match nothing\n }\n return new RegExp(re + ']*?$');\n },\n\n /**\n * Checks if a field has the required groups.\n *\n * @method checkCharacterGroups\n * @param {String} s The validation string\n * @param {Object} [groups]={} What groups are included. See createRegexp\n * @sample Ink_Util_Validator_checkCharacterGroups.html \n */\n checkCharacterGroups: function (s, groups) {\n return Validator.createRegExp(groups).test(s);\n },\n\n /**\n * Checks if a field contains unicode printable characters.\n *\n * @method unicode\n * @param {String} s The validation string\n * @param {Object} [options]={} Optional configuration object. See createRegexp\n */\n unicode: function (s, options) {\n return Validator.checkCharacterGroups(s, Ink.extendObj({\n unicodeAlpha: true}, options));\n },\n\n /**\n * Checks if a field only contains latin-1 alphanumeric characters. \n * Takes options for allowing singleline whitespace, cross-line whitespace and punctuation.\n *\n * @method latin1\n *\n * @param {String} s The validation string\n * @param {Object} [options]={} Optional configuration object. See createRegexp\n * @sample Ink_Util_Validator_latin1.html \n */\n latin1: function (s, options) {\n return Validator.checkCharacterGroups(s, Ink.extendObj({\n latin1Alpha: true}, options));\n },\n\n /**\n * Checks if a field only contains only ASCII alphanumeric characters. \n * Takes options for allowing singleline whitespace, cross-line whitespace and punctuation.\n *\n * @method ascii\n *\n * @param {String} s The validation string\n * @param {Object} [options]={} Optional configuration object. See createRegexp\n * @sample Ink_Util_Validator_ascii.html \n */\n ascii: function (s, options) {\n return Validator.checkCharacterGroups(s, Ink.extendObj({\n asciiAlpha: true}, options));\n },\n\n /**\n * Checks if a number is a valid\n *\n * @method number\n * @param {String} numb The number\n * @param {Object} [options] Further options\n * @param [options.decimalSep]='.' Allow decimal separator.\n * @param [options.thousandSep]=\",\" Strip this character from the number.\n * @param [options.negative]=false Allow negative numbers.\n * @param [options.decimalPlaces]=null Maximum number of decimal places. Use `0` for an integer number.\n * @param [options.max]=null Maximum number\n * @param [options.min]=null Minimum number\n * @param [options.returnNumber]=false When this option is true, return the number itself when the value is valid.\n * @sample Ink_Util_Validator_number.html \n */\n number: function (numb, inOptions) {\n numb = numb + '';\n var options = Ink.extendObj({\n decimalSep: '.',\n thousandSep: '',\n negative: true,\n decimalPlaces: null,\n maxDigits: null,\n max: null,\n min: null,\n returnNumber: false\n }, inOptions || {});\n // smart recursion thing sets up aliases for options.\n if (options.thousandSep) {\n numb = numb.replace(new RegExp('\\\\' + options.thousandSep, 'g'), '');\n options.thousandSep = '';\n return Validator.number(numb, options);\n }\n if (options.negative === false) {\n options.min = 0;\n options.negative = true;\n return Validator.number(numb, options);\n }\n if (options.decimalSep !== '.') {\n numb = numb.replace(new RegExp('\\\\' + options.decimalSep, 'g'), '.');\n }\n\n if (!/^(-)?(\\d+)?(\\.\\d+)?$/.test(numb) || numb === '') {\n return false; // forbidden character found\n }\n \n var split;\n if (options.decimalSep && numb.indexOf(options.decimalSep) !== -1) {\n split = numb.split(options.decimalSep);\n if (options.decimalPlaces !== null &&\n split[1].length > options.decimalPlaces) {\n return false;\n }\n } else {\n split = ['' + numb, ''];\n }\n \n if (options.maxDigits!== null) {\n if (split[0].replace(/-/g, '').length > options.maxDigits) {\n return split;\n }\n }\n \n // Now look at the actual float\n var ret = parseFloat(numb);\n \n if (options.maxExcl !== null && ret >= options.maxExcl ||\n options.minExcl !== null && ret <= options.minExcl) {\n return false;\n }\n if (options.max !== null && ret > options.max ||\n options.min !== null && ret < options.min) {\n return false;\n }\n \n if (options.returnNumber) {\n return ret;\n } else {\n return true;\n }\n },\n\n /**\n * Checks if a year is Leap \"Bissexto\"\n *\n * @method _isLeapYear\n * @param {Number} year Year to be checked\n * @return {Boolean} True if it is a leap year.\n * @private\n * @static\n * @example\n * Ink.requireModules(['Ink.Util.Validator_1'], function( InkValidator ){\n * console.log( InkValidator._isLeapYear( 2004 ) ); // Result: true\n * console.log( InkValidator._isLeapYear( 2006 ) ); // Result: false\n * });\n */\n _isLeapYear: function(year){\n\n var yearRegExp = /^\\d{4}$/;\n\n if(yearRegExp.test(year)){\n return ((year%4) ? false: ((year%100) ? true : ((year%400)? false : true)) );\n }\n\n return false;\n },\n\n /**\n * Object with the date formats available for validation\n *\n * @property _dateParsers\n * @type {Object}\n * @private\n * @static\n * @readOnly\n */\n _dateParsers: {\n 'yyyy-mm-dd': {day:5, month:3, year:1, sep: '-', parser: /^(\\d{4})(\\-)(\\d{1,2})(\\-)(\\d{1,2})$/},\n 'yyyy/mm/dd': {day:5, month:3, year:1, sep: '/', parser: /^(\\d{4})(\\/)(\\d{1,2})(\\/)(\\d{1,2})$/},\n 'yy-mm-dd': {day:5, month:3, year:1, sep: '-', parser: /^(\\d{2})(\\-)(\\d{1,2})(\\-)(\\d{1,2})$/},\n 'yy/mm/dd': {day:5, month:3, year:1, sep: '/', parser: /^(\\d{2})(\\/)(\\d{1,2})(\\/)(\\d{1,2})$/},\n 'dd-mm-yyyy': {day:1, month:3, year:5, sep: '-', parser: /^(\\d{1,2})(\\-)(\\d{1,2})(\\-)(\\d{4})$/},\n 'dd/mm/yyyy': {day:1, month:3, year:5, sep: '/', parser: /^(\\d{1,2})(\\/)(\\d{1,2})(\\/)(\\d{4})$/},\n 'dd-mm-yy': {day:1, month:3, year:5, sep: '-', parser: /^(\\d{1,2})(\\-)(\\d{1,2})(\\-)(\\d{2})$/},\n 'dd/mm/yy': {day:1, month:3, year:5, sep: '/', parser: /^(\\d{1,2})(\\/)(\\d{1,2})(\\/)(\\d{2})$/}\n },\n\n /**\n * Gets the number of days in a given month of a given year\n *\n * @method _daysInMonth\n * @param {Number} _m Month (1 to 12)\n * @param {Number} _y Year\n * @return {Number} Returns the number of days in a given month of a given year\n * @private\n * @static\n * @example\n * Ink.requireModules(['Ink.Util.Validator_1'], function( InkValidator ){\n * console.log( InkValidator._daysInMonth( 2, 2004 ) ); // Result: 29\n * console.log( InkValidator._daysInMonth( 2, 2006 ) ); // Result: 28\n * });\n */\n _daysInMonth: function(_m,_y){\n var nDays=0;\n\n _m = parseInt(_m, 10);\n _y = parseInt(_y, 10);\n\n if(_m===1 || _m===3 || _m===5 || _m===7 || _m===8 || _m===10 || _m===12) {\n nDays= 31;\n } else if ( _m===4 || _m===6 || _m===9 || _m===11) {\n nDays = 30;\n } else if (_m===2) {\n if((_y%400===0) || (_y%4===0 && _y%100!==0)) {\n nDays = 29;\n } else {\n nDays = 28;\n }\n }\n\n return nDays;\n },\n\n\n\n /**\n * Checks if a date is valid\n *\n * @method _isValidDate\n * @param {Number} year\n * @param {Number} month\n * @param {Number} day\n * @return {Boolean} True if valid\n * @private\n * @static\n * @example\n * Ink.requireModules(['Ink.Util.Validator_1'], function( InkValidator ){\n * console.log( InkValidator._isValidDate( 2004, 2, 29 ) ); // Result: true\n * console.log( InkValidator._isValidDate( 2006, 2, 29 ) ); // Result: false\n * });\n */\n _isValidDate: function(year, month, day){\n\n var yearRegExp = /^\\d{4}$/;\n var validOneOrTwo = /^\\d{1,2}$/;\n if(yearRegExp.test(year) && validOneOrTwo.test(month) && validOneOrTwo.test(day)){\n if(month>=1 && month<=12 && day>=1 && this._daysInMonth(month,year)>=day){\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Checks if an email is valid\n *\n * @method mail\n * @param {String} email\n * @return {Boolean} True if it's valid\n * @public\n * @static\n * @sample Ink_Util_Validator_mail.html \n */\n email: function(email)\n {\n var emailValido = new RegExp(\"^[_a-z0-9-]+((\\\\.|\\\\+)[_a-z0-9-]+)*@([\\\\w]*-?[\\\\w]*\\\\.)+[a-z]{2,4}$\", \"i\");\n if(!emailValido.test(email)) {\n return false;\n } else {\n return true;\n }\n },\n\n /**\n * Deprecated. Alias for email(). Use it instead.\n *\n * @method mail\n * @public\n * @static\n * @private\n */\n mail: function (mail) { return Validator.email(mail); },\n\n /**\n * Checks if an url is valid\n *\n * @method url\n * @param {String} url URL to be checked\n * @param {Boolean} [full] If true, validates a full URL (one that should start with 'http')\n * @return {Boolean} True if valid\n * @public\n * @static\n * @sample Ink_Util_Validator_url.html \n */\n url: function(url, full)\n {\n if(typeof full === \"undefined\" || full === false) {\n var reHTTP = new RegExp(\"(^(http\\\\:\\\\/\\\\/|https\\\\:\\\\/\\\\/)(.+))\", \"i\");\n if(reHTTP.test(url) === false) {\n url = 'http://'+url;\n }\n }\n\n var reUrl = new RegExp(\"^(http:\\\\/\\\\/|https:\\\\/\\\\/)([\\\\w]*(-?[\\\\w]*)*\\\\.)+[a-z]{2,4}\", \"i\");\n if(reUrl.test(url) === false) {\n return false;\n } else {\n return true;\n }\n },\n\n /**\n * Checks if a phone is valid in Portugal\n *\n * @method isPTPhone\n * @param {Number} phone Phone number to be checked\n * @return {Boolean} True if it's a valid Portuguese Phone\n * @public\n * @static\n * @sample Ink_Util_Validator_isPTPhone.html\n */\n isPTPhone: function(phone)\n {\n\n phone = phone.toString();\n var aInd = [];\n for(var i in this._indicativosPT) {\n if(typeof(this._indicativosPT[i]) === 'string') {\n aInd.push(i);\n }\n }\n var strInd = aInd.join('|');\n\n var re351 = /^(00351|\\+351)/;\n if(re351.test(phone)) {\n phone = phone.replace(re351, \"\");\n }\n\n var reSpecialChars = /(\\s|\\-|\\.)+/g;\n phone = phone.replace(reSpecialChars, '');\n //var reInt = new RegExp(\"\\\\d\", \"i\");\n var reInt = /[\\d]{9}/i;\n if(phone.length === 9 && reInt.test(phone)) {\n var reValid = new RegExp(\"^(\"+strInd+\")\");\n if(reValid.test(phone)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Alias function for isPTPhone\n *\n * @method isPortuguesePhone\n * @param {Number} phone Phone number to be checked\n * @return {Boolean} True if it's a valid Portuguese Phone\n * @public\n * @static\n */\n isPortuguesePhone: function(phone)\n {\n return this.isPTPhone(phone);\n },\n\n /**\n * Checks if a phone is valid in Cabo Verde\n *\n * @method isCVPhone\n * @param {Number} phone Phone number to be checked\n * @return {Boolean} True if it's a valid Cape Verdean Phone\n * @public\n * @static\n * @sample Ink_Util_Validator_isCVPhone.html \n */\n isCVPhone: function(phone)\n {\n phone = phone.toString();\n var aInd = [];\n for(var i in this._indicativosCV) {\n if(typeof(this._indicativosCV[i]) === 'string') {\n aInd.push(i);\n }\n }\n var strInd = aInd.join('|');\n\n var re238 = /^(00238|\\+238)/;\n if(re238.test(phone)) {\n phone = phone.replace(re238, \"\");\n }\n\n var reSpecialChars = /(\\s|\\-|\\.)+/g;\n phone = phone.replace(reSpecialChars, '');\n //var reInt = new RegExp(\"\\\\d\", \"i\");\n var reInt = /[\\d]{7}/i;\n if(phone.length === 7 && reInt.test(phone)) {\n var reValid = new RegExp(\"^(\"+strInd+\")\");\n if(reValid.test(phone)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Checks if a phone is valid in Angola\n *\n * @method isAOPhone\n * @param {Number} phone Phone number to be checked\n * @return {Boolean} True if it's a valid Angolan Phone\n * @public\n * @static\n * @sample Ink_Util_Validator_isAOPhone.html \n */\n isAOPhone: function(phone)\n {\n\n phone = phone.toString();\n var aInd = [];\n for(var i in this._indicativosAO) {\n if(typeof(this._indicativosAO[i]) === 'string') {\n aInd.push(i);\n }\n }\n var strInd = aInd.join('|');\n\n var re244 = /^(00244|\\+244)/;\n if(re244.test(phone)) {\n phone = phone.replace(re244, \"\");\n }\n\n var reSpecialChars = /(\\s|\\-|\\.)+/g;\n phone = phone.replace(reSpecialChars, '');\n //var reInt = new RegExp(\"\\\\d\", \"i\");\n var reInt = /[\\d]{9}/i;\n if(phone.length === 9 && reInt.test(phone)) {\n var reValid = new RegExp(\"^(\"+strInd+\")\");\n if(reValid.test(phone)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Checks if a phone is valid in Mozambique\n *\n * @method isMZPhone\n * @param {Number} phone Phone number to be checked\n * @return {Boolean} True if it's a valid Mozambican Phone\n * @public\n * @static\n * @sample Ink_Util_Validator_isMZPhone.html \n */\n isMZPhone: function(phone)\n {\n\n phone = phone.toString();\n var aInd = [];\n for(var i in this._indicativosMZ) {\n if(typeof(this._indicativosMZ[i]) === 'string') {\n aInd.push(i);\n }\n }\n var strInd = aInd.join('|');\n var re258 = /^(00258|\\+258)/;\n if(re258.test(phone)) {\n phone = phone.replace(re258, \"\");\n }\n\n var reSpecialChars = /(\\s|\\-|\\.)+/g;\n phone = phone.replace(reSpecialChars, '');\n //var reInt = new RegExp(\"\\\\d\", \"i\");\n var reInt = /[\\d]{8,9}/i;\n if((phone.length === 9 || phone.length === 8) && reInt.test(phone)) {\n var reValid = new RegExp(\"^(\"+strInd+\")\");\n if(reValid.test(phone)) {\n if(phone.indexOf('2') === 0 && phone.length === 8) {\n return true;\n } else if(phone.indexOf('8') === 0 && phone.length === 9) {\n return true;\n }\n }\n }\n\n return false;\n },\n\n /**\n * Checks if a phone is valid in Timor\n *\n * @method isTLPhone\n * @param {Number} phone Phone number to be checked\n * @return {Boolean} True if it's a valid phone from Timor-Leste\n * @public\n * @static\n * @sample Ink_Util_Validator_isTLPhone.html \n */\n isTLPhone: function(phone)\n {\n\n phone = phone.toString();\n var aInd = [];\n for(var i in this._indicativosTL) {\n if(typeof(this._indicativosTL[i]) === 'string') {\n aInd.push(i);\n }\n }\n var strInd = aInd.join('|');\n var re670 = /^(00670|\\+670)/;\n if(re670.test(phone)) {\n phone = phone.replace(re670, \"\");\n }\n\n\n var reSpecialChars = /(\\s|\\-|\\.)+/g;\n phone = phone.replace(reSpecialChars, '');\n //var reInt = new RegExp(\"\\\\d\", \"i\");\n var reInt = /[\\d]{7}/i;\n if(phone.length === 7 && reInt.test(phone)) {\n var reValid = new RegExp(\"^(\"+strInd+\")\");\n if(reValid.test(phone)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Checks if a number is a phone number.\n * This method validates the number in all country codes available the ones set in the second param\n *\n * @method isPhone\n * @param {String} phone Phone number to validate\n * @param {String|Array} [countryCode] Country code or array of countries to validate\n * @return {Boolean} True if it's a valid phone in any country available\n * @public\n * @static\n * @sample Ink_Util_Validator_isPhone.html\n */\n isPhone: function(){\n var index;\n\n if(arguments.length===0){\n return false;\n }\n\n var phone = arguments[0];\n\n if(arguments.length>1){\n if(arguments[1].constructor === Array){\n var func;\n for(index=0; index= 0 && match[i-1] <= 100){\n valid = true;\n } else {\n return false;\n }\n }\n // check 0 to 255 values\n if(i===1 || i===3 || i===5 && (typeof match[i+1] === \"undefined\" || match[i+1] === \"\")){\n if(typeof match[i] !== \"undefined\" && match[i] >= 0 && match[i] <= 255){\n valid = true;\n } else {\n return false;\n }\n }\n }\n }\n\n // hsl range check\n if((match = hsl.exec(str)) !== null || (match = hsla.exec(str)) !== null){\n i = match.length;\n while(i--){\n // check percentage values\n if(i===3 || i===5){\n if(typeof match[i-1] !== \"undefined\" && typeof match[i] !== \"undefined\" && match[i] !== \"\" &&\n match[i-1] >= 0 && match[i-1] <= 100){\n valid = true;\n } else {\n return false;\n }\n }\n // check 0 to 360 value\n if(i===1){\n if(typeof match[i] !== \"undefined\" && match[i] >= 0 && match[i] <= 360){\n valid = true;\n } else {\n return false;\n }\n }\n }\n }\n\n return valid;\n },\n\n /**\n * Checks if the value is a valid IP. \n *\n * @method isIP\n * @param {String} value Value to be checked\n * @param {String} ipType Type of IP to be validated. The values are: ipv4, ipv6. By default is ipv4.\n * @return {Boolean} True if the value is a valid IP address. False if not.\n * @sample Ink_Util_Validator_isIP.html \n */\n isIP: function( value, ipType ){\n if( typeof value !== 'string' ){\n return false;\n }\n\n ipType = (ipType || 'ipv4').toLowerCase();\n\n switch( ipType ){\n case 'ipv4':\n return (/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/).test(value);\n case 'ipv6':\n return (/^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$/).test(value);\n default:\n return false;\n }\n },\n\n /**\n * Credit Card specifications, to be used in the credit card verification.\n *\n * @property _creditCardSpecs\n * @type {Object}\n * @private\n */\n _creditCardSpecs: {\n 'default': {\n 'length': '13,14,15,16,17,18,19',\n 'prefix': /^.+/,\n 'luhn': true\n },\n\n 'american express': {\n 'length': '15',\n 'prefix': /^3[47]/,\n 'luhn' : true\n },\n\n 'diners club': {\n 'length': '14,16',\n 'prefix': /^36|55|30[0-5]/,\n 'luhn' : true\n },\n\n 'discover': {\n 'length': '16',\n 'prefix': /^6(?:5|011)/,\n 'luhn' : true\n },\n\n 'jcb': {\n 'length': '15,16',\n 'prefix': /^3|1800|2131/,\n 'luhn' : true\n },\n\n 'maestro': {\n 'length': '16,18',\n 'prefix': /^50(?:20|38)|6(?:304|759)/,\n 'luhn' : true\n },\n\n 'mastercard': {\n 'length': '16',\n 'prefix': /^5[1-5]/,\n 'luhn' : true\n },\n\n 'visa': {\n 'length': '13,16',\n 'prefix': /^4/,\n 'luhn' : true\n }\n },\n\n /**\n * Luhn function, to be used when validating credit cards\n *\n */\n _luhn: function (num){\n\n num = parseInt(num,10);\n\n if ( (typeof num !== 'number') && (num % 1 !== 0) ){\n // Luhn can only be used on nums!\n return false;\n }\n\n num = num+'';\n // Check num length\n var length = num.length;\n\n // Checksum of the card num\n var\n i, checksum = 0\n ;\n\n for (i = length - 1; i >= 0; i -= 2)\n {\n // Add up every 2nd digit, starting from the right\n checksum += parseInt(num.substr(i, 1),10);\n }\n\n for (i = length - 2; i >= 0; i -= 2)\n {\n // Add up every 2nd digit doubled, starting from the right\n var dbl = parseInt(num.substr(i, 1) * 2,10);\n\n // Subtract 9 from the dbl where value is greater than 10\n checksum += (dbl >= 10) ? (dbl - 9) : dbl;\n }\n\n // If the checksum is a multiple of 10, the number is valid\n return (checksum % 10 === 0);\n },\n\n /**\n * Checks if a number is of a specific credit card type\n * @method isCreditCard\n * @param {String} num Number to be validates\n * @param {String|Array} creditCardType Credit card type. See _creditCardSpecs for the list of supported values.\n * @return {Boolean}\n * @sample Ink_Util_Validator_isCreditCard.html \n */\n isCreditCard: function(num, creditCardType){\n\n if ( /\\d+/.test(num) === false ){\n return false;\n }\n\n if ( typeof creditCardType === 'undefined' ){\n creditCardType = 'default';\n }\n else if ( creditCardType instanceof Array ){\n var i, ccLength = creditCardType.length;\n for ( i=0; i < ccLength; i++ ){\n // Test each type for validity\n if (this.isCreditCard(num, creditCardType[i]) ){\n return true;\n }\n }\n\n return false;\n }\n\n // Check card type\n creditCardType = creditCardType.toLowerCase();\n\n if ( typeof this._creditCardSpecs[creditCardType] === 'undefined' ){\n return false;\n }\n\n // Check card number length\n var length = num.length+'';\n\n // Validate the card length by the card type\n if ( this._creditCardSpecs[creditCardType]['length'].split(\",\").indexOf(length) === -1 ){\n return false;\n }\n\n // Check card number prefix\n if ( !this._creditCardSpecs[creditCardType]['prefix'].test(num) ){\n return false;\n }\n\n // No Luhn check required\n if (this._creditCardSpecs[creditCardType]['luhn'] === false){\n return true;\n }\n\n return this._luhn(num);\n }\n };\n\n return Validator;\n\n});\n"]} \ No newline at end of file diff --git a/public/js/ink-ui.js b/public/js/ink-ui.js new file mode 100644 index 0000000..0a888d2 --- /dev/null +++ b/public/js/ink-ui.js @@ -0,0 +1,12105 @@ +/** + * Animate.css Utility + * + * This module is a wrapper around animate.css's CSS classes to produce animation. + * It contains options to ease common tasks, like listen to the "animationend" event with all necessary prefixes, remove the necessary class names when the animation finishes, or configure the duration of your animation with the necessary browser prefix. + * + * @module Ink.UI.Animate_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.Animate', 1, ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Css_1'], function (Common, InkEvent, Css) { + 'use strict'; + + var animationPrefix = (function (el) { + return ('animationName' in el.style) ? 'animation' : + ('oAnimationName' in el.style) ? 'oAnimation' : + ('msAnimationName' in el.style) ? 'msAnimation' : + ('webkitAnimationName' in el.style) ? 'webkitAnimation' : null; + }(document.createElement('div'))); + + var animationEndEventName = { + animation: 'animationend', + oAnimation: 'oanimationend', + msAnimation: 'MSAnimationEnd', + webkitAnimation: 'webkitAnimationEnd' + }[animationPrefix]; + + /** + * @class Ink.UI.Animate_1 + * @constructor + * + * @param {DOMElement} element Animated element + * @param {Object} options Options object + * @param {String} options.animation Animation name + * @param {String|Number} [options.duration] Duration name (fast|medium|slow) or duration in milliseconds. Defaults to 'medium'. + * @param {Boolean} [options.removeClass] Flag to remove the CSS class when finished animating. Defaults to false. + * @param {Function} [options.onEnd] Callback for the animation end + * + * @sample Ink_UI_Animate_1.html + * + **/ + function Animate() { + Common.BaseUIComponent.apply(this, arguments); + } + + Animate._name = 'Animate_1'; + + Animate._optionDefinition = { + trigger: ['Element', null], + duration: ['String', 'slow'], // Actually a string with a duration name, or a number of ms + animation: ['String'], + removeClass: ['Boolean', true], + onEnd: ['Function', function () {}] + }; + + Animate.prototype._init = function () { + if (!isNaN(parseInt(this._options.duration, 10))) { + this._options.duration = parseInt(this._options.duration, 10); + } + + if (this._options.trigger) { + InkEvent.observe(this._options.trigger, 'click', Ink.bind(function () { + this.animate(); + }, this)); // later + } else { + this.animate(); + } + }; + + Animate.prototype.animate = function () { + Animate.animate(this._element, this._options.animation, this._options); + }; + + Ink.extendObj(Animate, { + /** + * Browser prefix for the CSS animations. + * + * @property _animationPrefix + * @private + **/ + _animationPrefix: animationPrefix, + + /** + * Boolean which says whether this browser has CSS3 animation support. + * + * @property animationSupported + **/ + animationSupported: !!animationPrefix, + + /** + * Prefixed 'animationend' event name. + * + * @property animationEndEventName + **/ + animationEndEventName: animationEndEventName, + + /** + * Animate an element using one of the animate.css classes + * + * **Note: This is a utility method inside the `Animate` class, which you can access through `Animate.animate()`. Do not mix these up.** + * + * @static + * @method animate + * @param element {DOMElement} animated element + * @param animation {String} animation name + * @param [options] {Object} + * @param [options.onEnd=null] {Function} callback for animation end + * @param [options.removeClass=false] {Boolean} whether to remove the Css class when finished + * @param [options.duration=medium] {String|Number} duration name (fast|medium|slow) or duration in ms + * + * @sample Ink_UI_Animate_1_animate.html + **/ + animate: function (element, animation, options) { + element = Common.elOrSelector(element); + + if (typeof options === 'number' || typeof options === 'string') { + options = { duration: options }; + } else if (!options) { + options = {}; + } + + if (typeof arguments[3] === 'function') { + options.onEnd = arguments[3]; + } + + if (typeof options.duration !== 'number' && typeof options.duration !== 'string') { + options.duration = 400; + } + + if (!Animate.animationSupported) { + if (options.onEnd) { + setTimeout(function () { + options.onEnd(null); + }, 0); + } + return; + } + + if (typeof options.duration === 'number') { + element.style[animationPrefix + 'Duration'] = options.duration + 'ms'; + } else if (typeof options.duration === 'string') { + Css.addClassName(element, options.duration); + } + + Css.addClassName(element, ['animated', animation]); + + function onAnimationEnd(event) { + if (event.target !== element) { return; } + if (event.animationName !== animation) { return; } + if (options.onEnd) { options.onEnd(event); } + if (options.removeClass) { + Css.removeClassName(element, animation); + } + if (typeof options.duration === 'string') { + Css.removeClassName(element, options.duration); + } + element.removeEventListener(animationEndEventName, onAnimationEnd, false); + } + + element.addEventListener(animationEndEventName, onAnimationEnd, false); + } + }); + + Common.createUIComponent(Animate); + + return Animate; +}); + +/** + * Flexible Carousel + * @module Ink.UI.Carousel_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.Carousel', '1', + ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Css_1', 'Ink.Dom.Element_1', 'Ink.UI.Pagination_1', 'Ink.Dom.Browser_1', 'Ink.Dom.Selector_1'], + function(Common, InkEvent, Css, InkElement, Pagination, Browser/*, Selector*/) { + 'use strict'; + + /* + * TODO: + * keyboardSupport + */ + + function limitRange(n, min, max) { + return Math.min(max, Math.max(min, n)); + } + + var requestAnimationFrame = window.requestAnimationFrame || + window.mozRequestAnimationFrame || + window.webkitRequestAnimationFrame || + function (cb) {return setTimeout(cb, 1000 / 30); }; + + /** + * @class Ink.UI.Carousel_1 + * @constructor + * + * @param {String|DOMElement} selector DOM element or element id + * @param {Object} [options] Carousel Options + * @param {Integer} [options.autoAdvance] Milliseconds to wait before auto-advancing pages. Set to 0 to disable auto-advance. Defaults to 0. + * @param {String} [options.axis] Axis of the carousel. Set to 'y' for a vertical carousel. Defaults to 'x'. + * @param {Number} [options.initialPage] Initial index page of the carousel. Defaults to 0. + * @param {Boolean} [options.spaceAfterLastSlide=true] If there are not enough slides to fill the full width of the last page, leave white space. Defaults to `true`. + * @param {Boolean} [options.swipe] Enable swipe support if available. Defaults to true. + * @param {Mixed} [options.pagination] Either an ul element to add pagination markup to or an `Ink.UI.Pagination` instance to use. + * @param {Function} [options.onChange] Callback to be called when the page changes. + * + * @sample Ink_UI_Carousel_1.html + */ + function Carousel() { + Common.BaseUIComponent.apply(this, arguments); + } + + Carousel._name = 'Carousel_1'; + + Carousel._optionDefinition = { + autoAdvance: ['Integer', 0], + axis: ['String', 'x'], + initialPage: ['Integer', 0], + spaceAfterLastSlide: ['Boolean', true], + hideLast: ['Boolean', false], + // [3.1.0] Deprecate "center". It is only needed when things are of unknown widths. + center: ['Boolean', false], + keyboardSupport:['Boolean', false], + pagination: ['String', null], + onChange: ['Function', null], + onInit: ['Function', function () {}], + swipe: ['Boolean', true] + // TODO exponential swipe + // TODO specify break point for next page when moving finger + }; + + Carousel.prototype = { + _init: function () { + this._handlers = { + paginationChange: Ink.bindMethod(this, '_onPaginationChange'), + windowResize: InkEvent.throttle(Ink.bindMethod(this, 'refit'), 200) + }; + + InkEvent.observe(window, 'resize', this._handlers.windowResize); + + this._isY = (this._options.axis === 'y'); + + var ulEl = Ink.s('ul.stage', this._element); + this._ulEl = ulEl; + + InkElement.removeTextNodeChildren(ulEl); + + if (this._options.pagination == null) { + this._currentPage = this._options.initialPage; + } + + this.refit(); // recalculate this._numPages + + if (this._isY) { + // Override white-space: no-wrap which is only necessary to make sure horizontal stuff stays horizontal, but breaks stuff intended to be vertical. + this._ulEl.style.whiteSpace = 'normal'; + } + + if (this._options.swipe) { + InkEvent.observe(this._element, 'touchstart', Ink.bindMethod(this, '_onTouchStart')); + InkEvent.observe(this._element, 'touchmove', Ink.bindMethod(this, '_onTouchMove')); + InkEvent.observe(this._element, 'touchend', Ink.bindMethod(this, '_onTouchEnd')); + } + + this._setUpPagination(); + this._setUpAutoAdvance(); + this._setUpHider(); + + this._options.onInit.call(this, this); + }, + + /** + * Repositions elements around. + * Measure the carousel once again, adjusting the involved elements' sizes. This is called automatically when the window resizes, in order to cater for changes from responsive media queries, for instance. + * + * @method refit + * @public + */ + refit: function() { + var _isY = this._isY; + + var size = function (elm, perpendicular) { + if (!elm) { return 0; } + + if (!perpendicular) { + return InkElement.outerDimensions(elm)[_isY ? 1 : 0]; + } else { + return InkElement.outerDimensions(elm)[_isY ? 0 : 1]; + } + }; + + this._liEls = Ink.ss('li.slide', this._ulEl); + var numSlides = this._liEls.length; + + var contRect = this._ulEl.getBoundingClientRect(); + this._ctnLength = _isY ? contRect.bottom - contRect.top : contRect.right - contRect.left; + this._elLength = size(this._liEls[0]); + this._slidesPerPage = Math.floor( this._ctnLength / this._elLength ) || 1; + if (!isFinite(this._slidesPerPage)) { this._slidesPerPage = 1; } + + var numPages = Math.ceil( numSlides / this._slidesPerPage ); + var numPagesChanged = this._numPages !== numPages; + this._numPages = numPages; + this._deltaLength = this._slidesPerPage * this._elLength; + + this._center(); + this._updateHider(); + this._IE7(); + + if (this._pagination && numPagesChanged) { + this._pagination.setSize(this._numPages); + } + this.setPage(limitRange(this.getPage(), 0, this._numPages)); + }, + + _setUpPagination: function () { + if (this._options.pagination) { + if (Common.isDOMElement(this._options.pagination) || + typeof this._options.pagination === 'string') { + // if dom element or css selector string... + this._pagination = new Pagination(this._options.pagination, { + size: this._numPages, + onChange: this._handlers.paginationChange + }); + } else { + // assumes instantiated pagination + this._pagination = this._options.pagination; + this._pagination._options.onChange = this._handlers.paginationChange; + this._pagination.setSize(this._numPages); + } + this._pagination.setCurrent(this._options.initialPage || 0); + } else { + this._currentPage = this._options.initialPage || 0; + } + }, + + _setUpAutoAdvance: function () { + if (!this._options.autoAdvance) { return; } + var self = this; + + setTimeout(function autoAdvance() { + self.nextPage(true /* wrap */); + setTimeout(autoAdvance, self._options.autoAdvance); + }, this._options.autoAdvance); + }, + + _setUpHider: function () { + if (this._options.hideLast) { + var hiderEl = InkElement.create('div', { + className: 'hider', + insertBottom: this._element + }); + hiderEl.style.position = 'absolute'; + hiderEl.style[ this._isY ? 'left' : 'top' ] = '0'; // fix to top.. + hiderEl.style[ this._isY ? 'right' : 'bottom' ] = '0'; // and bottom... + hiderEl.style[ this._isY ? 'bottom' : 'right' ] = '0'; // and move to the end. + this._hiderEl = hiderEl; + } + }, + + // [3.1.0] Deprecate this already + _center: function() { + if (!this._options.center) { return; } + var gap = Math.floor( (this._ctnLength - (this._elLength * this._slidesPerPage) ) / 2 ); + + var pad; + if (this._isY) { + pad = [gap, 'px 0']; + } else { + pad = ['0 ', gap, 'px']; + } + + this._ulEl.style.padding = pad.join(''); + }, + + // [3.1.0] Deprecate this already + _updateHider: function() { + if (!this._hiderEl) { return; } + if (this.getPage() === 0) { + var gap = Math.floor( this._ctnLength - (this._elLength * this._slidesPerPage) ); + if (this._options.center) { + gap /= 2; + } + this._hiderEl.style[ this._isY ? 'height' : 'width' ] = gap + 'px'; + } else { + this._hiderEl.style[ this._isY ? 'height' : 'width' ] = '0px'; + } + }, + + /** + * Refits elements for IE7 because it doesn't support inline-block. + * + * @method _IE7 + * @private + */ + _IE7: function () { + if (Browser.IE && '' + Browser.version.split('.')[0] === '7') { + // var numPages = this._numPages; + var slides = Ink.ss('li.slide', this._ulEl); + var stl = function (prop, val) {slides[i].style[prop] = val; }; + for (var i = 0, len = slides.length; i < len; i++) { + stl('position', 'absolute'); + stl(this._isY ? 'top' : 'left', (i * this._elLength) + 'px'); + } + } + }, + + _onTouchStart: function (event) { + if (event.touches.length > 1) { return; } + + this._swipeData = { + x: InkEvent.pointerX(event), + y: InkEvent.pointerY(event) + }; + + var ulRect = this._ulEl.getBoundingClientRect(); + + this._swipeData.firstUlPos = ulRect[this._isY ? 'top' : 'left']; + + this._swipeData.inUlX = this._swipeData.x - ulRect.left; + this._swipeData.inUlY = this._swipeData.y - ulRect.top; + + setTransitionProperty(this._ulEl, 'none'); + + this._touchMoveIsFirstTouchMove = true; + }, + + _onTouchMove: function (event) { + if (event.touches.length > 1) { return; /* multitouch event, not my problem. */ } + + var pointerX = InkEvent.pointerX(event); + var pointerY = InkEvent.pointerY(event); + + var deltaY = Math.abs(pointerY - this._swipeData.y); + var deltaX = Math.abs(pointerX - this._swipeData.x); + + if (this._touchMoveIsFirstTouchMove) { + this._touchMoveIsFirstTouchMove = undefined; + this._scrolling = this._isY ? + deltaX > deltaY : + deltaY > deltaX ; + + if (!this._scrolling) { + this._onAnimationFrame(); + } + } + + if (!this._scrolling && this._swipeData) { + InkEvent.stopDefault(event); + + this._swipeData.pointerPos = this._isY ? pointerY : pointerX; + } + }, + + _onAnimationFrame: function () { + var swipeData = this._swipeData; + + if (!swipeData || this._scrolling || this._touchMoveIsFirstTouchMove) { return; } + + var elRect = this._element.getBoundingClientRect(); + + var newPos; + + if (!this._isY) { + newPos = swipeData.pointerPos - swipeData.inUlX - elRect.left; + } else { + newPos = swipeData.pointerPos - swipeData.inUlY - elRect.top; + } + + this._ulEl.style[this._isY ? 'top' : 'left'] = newPos + 'px'; + + requestAnimationFrame(Ink.bindMethod(this, '_onAnimationFrame')); + }, + + _onTouchEnd: function (event) { + if (this._swipeData && this._swipeData.pointerPos && !this._scrolling && !this._touchMoveIsFirstTouchMove) { + var snapToNext = 0.1; // swipe 10% of the way to change page + + var relProgress = this._swipeData.firstUlPos - + this._ulEl.getBoundingClientRect()[this._isY ? 'top' : 'left']; + + var curPage = this.getPage(); + + // How many pages were advanced? May be fractional. + var progressInPages = relProgress / this._elLength / this._slidesPerPage; + + // Have we advanced enough to change page? + if (Math.abs(progressInPages) > snapToNext) { + curPage += Math[ relProgress < 0 ? 'floor' : 'ceil' ](progressInPages); + } + + // If something used to calculate progressInPages was zero, we get NaN here. + if (!isNaN(curPage)) { + this.setPage(curPage); + } + + InkEvent.stopDefault(event); + } + + setTransitionProperty(this._ulEl, null /* transition: left, top */); + this._swipeData = null; + this._touchMoveIsFirstTouchMove = undefined; + this._scrolling = undefined; + }, + + _onPaginationChange: function(pgn) { + this._setPage(pgn.getCurrent()); + }, + + /** + * Gets the current page index + * @method getPage + * @return The current page number + **/ + getPage: function () { + if (this._pagination) { + return this._pagination.getCurrent(); + } else { + return this._currentPage || 0; + } + }, + + /** + * Sets the current page index + * @method setPage + * @param {Number} page Index of the destination page. + * @param {Boolean} [wrap] Flag to activate circular counting. + **/ + setPage: function (page, wrap) { + if (wrap) { + // Pages outside the range [0..this._numPages] are wrapped. + page = page % this._numPages; + if (page < 0) { page = this._numPages - page; } + } + page = limitRange(page, 0, this._numPages - 1); + + if (this._pagination) { + this._pagination.setCurrent(page); // _setPage is called by pagination because it listens to its Change event. + } else { + this._setPage(page); + } + }, + + _setPage: function (page) { + var _lengthToGo = page * this._deltaLength; + var isLastPage = page === (this._numPages - 1); + + if (!this._options.spaceAfterLastSlide && isLastPage && page > 0) { + var _itemsInLastPage = this._liEls.length - (page * this._slidesPerPage); + if(_itemsInLastPage < this._slidesPerPage) { + _lengthToGo = ((page - 1) * this._deltaLength) + (_itemsInLastPage * this._elLength); + } + } + + this._ulEl.style[ this._isY ? 'top' : 'left'] = + ['-', _lengthToGo, 'px'].join(''); + + if (this._options.onChange) { + this._options.onChange.call(this, page); + } + + this._currentPage = page; + + this._updateHider(); + }, + + /** + * Goes to the next page + * @method nextPage + * @param {Boolean} [wrap] Flag to loop from last page to first page. + **/ + nextPage: function (wrap) { + this.setPage(this.getPage() + 1, wrap); + }, + + /** + * Goes to the previous page + * @method previousPage + * @param {Boolean} [wrap] Flag to loop from first page to last page. + **/ + previousPage: function (wrap) { this.setPage(this.getPage() - 1, wrap); }, + + /** + * Returns how many slides fit into a page + * @method getSlidesPerPage + * @return {Number} The number of slides per page + * @public + */ + getSlidesPerPage: function() { + return this._slidesPerPage; + }, + + /** + * Get the amount of pages in the carousel. + * @method getTotalPages + * @return {Number} The number of pages + * @public + */ + getTotalPages: function() { + return this._numPages; + }, + + /** + * Get the stage element (your UL with the class ".stage"). + * @method getStageElm + * @public + * @return {DOMElement} Stage element + **/ + getStageElm: function() { + return this._ulEl; + }, + + /** + * Get a list of your slides (elements with the ".slide" class inside your stage) + * @method getSlidesList + * @return {DOMElement[]} Array containing the slides. + * @public + */ + getSlidesList: function() { + return this._liEls; + }, + + /** + * Get the total number of slides + * @method getTotalSlides + * @return {Number} The number of slides + * @public + */ + getTotalSlides: function() { + return this.getSlidesList().length; + } + }; + + function setTransitionProperty(el, newTransition) { + el.style.transitionProperty = + el.style.oTransitionProperty = + el.style.msTransitionProperty = + el.style.mozTransitionProperty = + el.style.webkitTransitionProperty = newTransition; + } + + Common.createUIComponent(Carousel); + + return Carousel; + +}); + +/** + * Closing utilities + * @module Ink.UI.Close_1 + * @version 1 + */ +Ink.createModule('Ink.UI.Close', '1', ['Ink.Dom.Event_1','Ink.Dom.Element_1'], function(InkEvent, InkElement) { + 'use strict'; + + /** + * Subscribes clicks on the document.body. + * Whenever an element with the classes ".ink-close" or ".ink-dismiss" is clicked, this module finds an ancestor ".ink-alert" or ".ink-alert-block" element and removes it from the DOM. + * This module should be created only once per page. + * + * @class Ink.UI.Close + * @constructor + * @example + * + * + * @sample Ink_UI_Close_1.html + */ + var Close = function() { + InkEvent.observe(document.body, 'click', function(ev) { + var el = InkEvent.element(ev); + + el = InkElement.findUpwardsByClass(el, 'ink-close') || + InkElement.findUpwardsByClass(el, 'ink-dismiss'); + + if (!el) { + return; // ink-close or ink-dismiss class not found + } + + var toRemove = InkElement.findUpwardsByClass(el, 'ink-alert') || + InkElement.findUpwardsByClass(el, 'ink-alert-block') || + el; + + if (toRemove) { + InkEvent.stop(ev); + InkElement.remove(toRemove); + } + }); + }; + + Close._name = 'Close_1'; + + return Close; +}); + +/** + * Auxiliar utilities for UI Modules + * @module Ink.UI.Common_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.Common', '1', ['Ink.Dom.Element_1', 'Ink.Net.Ajax_1','Ink.Dom.Css_1','Ink.Dom.Selector_1','Ink.Util.Url_1'], function(InkElement, Ajax,Css,Selector,Url) { + + 'use strict'; + + var nothing = {} /* a marker, for reference comparison. */; + + var keys = Object.keys || function (obj) { + var ret = []; + for (var k in obj) if (obj.hasOwnProperty(k)) { + ret.push(k); + } + return ret; + }; + + var es6WeakMapSupport = 'WeakMap' in window; + var instances = es6WeakMapSupport ? new WeakMap() : null; + + var domRegistry = { + get: function get(el) { + return es6WeakMapSupport ? + instances.get(el) : + el.__InkInstances; + }, + set: function set(el, thing) { + if (es6WeakMapSupport) { + instances.set(el, thing); + } else { + el.__InkInstances = thing; + } + } + }; + + /** + * @namespace Ink.UI.Common_1 + */ + + var Common = { + + /** + * Supported Ink Layouts + * + * @property Layouts + * @type Object + * @readOnly + */ + Layouts: { + TINY: 'tiny', + SMALL: 'small', + MEDIUM: 'medium', + LARGE: 'large', + XLARGE: 'xlarge' + }, + + /** + * Checks if an item is a valid DOM Element. + * + * @method isDOMElement + * @static + * @param {Mixed} o The object to be checked. + * @return {Boolean} True if it's a valid DOM Element. + * @example + * var el = Ink.s('#element'); + * if( Ink.UI.Common.isDOMElement( el ) === true ){ + * // It is a DOM Element. + * } else { + * // It is NOT a DOM Element. + * } + */ + isDOMElement: InkElement.isDOMElement, + + /** + * Checks if an item is a valid integer. + * + * @method isInteger + * @static + * @param {Mixed} n The value to be checked. + * @return {Boolean} True if it's a valid integer. + * @example + * var value = 1; + * if( Ink.UI.Common.isInteger( value ) === true ){ + * // It is an integer. + * } else { + * // It is NOT an integer. + * } + */ + isInteger: function(n) { + return (typeof n === 'number' && n % 1 === 0); + }, + + /** + * Gets a DOM Element. + * + * @method elOrSelector + * @static + * @param {DOMElement|String} elOrSelector DOM Element or CSS Selector + * @param {String} fieldName The name of the field. Commonly used for debugging. + * @return {DOMElement} Returns the DOMElement passed or the first result of the CSS Selector. Otherwise it throws an exception. + * @example + * // In case there are several .myInput, it will retrieve the first found + * var el = Ink.UI.Common.elOrSelector('.myInput','My Input'); + */ + elOrSelector: function(elOrSelector, fieldName) { + if (!this.isDOMElement(elOrSelector)) { + var t = Selector.select(elOrSelector); + if (t.length === 0) { + Ink.warn(fieldName + ' must either be a DOM Element or a selector expression!\nThe script element must also be after the DOM Element itself.'); + return null; + } + return t[0]; + } + return elOrSelector; + }, + + /** + * Alias for `elOrSelector` but returns an array of elements. + * + * @method elsOrSelector + * + * @static + * @param {DOMElement|String} elOrSelector DOM Element or CSS Selector + * @param {String} fieldName The name of the field. Commonly used for debugging. + * @return {DOMElement} Returns the DOMElement passed or the first result of the CSS Selector. Otherwise it throws an exception. + * @param {Boolean} required Flag to accept an empty array as output. + * @return {Array} The selected DOM Elements. + * @example + * var elements = Ink.UI.Common.elsOrSelector('input.my-inputs', 'My Input'); + */ + elsOrSelector: function(elsOrSelector, fieldName, required) { + var ret; + if (typeof elsOrSelector === 'string') { + ret = Selector.select(elsOrSelector); + } else if (Common.isDOMElement(elsOrSelector)) { + ret = [elsOrSelector]; + } else if (elsOrSelector && typeof elsOrSelector === 'object' && typeof elsOrSelector.length === 'number') { + ret = elsOrSelector; + } + + if (ret && ret.length) { + return ret; + } else { + if (required) { + throw new TypeError(fieldName + ' must either be a DOM Element, an Array of elements, or a selector expression!\nThe script element must also be after the DOM Element itself.'); + } else { + return []; + } + } + }, + + /** + * Gets options an object and element's metadata. + * + * The element's data attributes take precedence. Values from the element's data-atrributes are coerced into the required type. + * + * @method options + * + * @param {Object} [fieldId] Name to be used in debugging features. + * @param {Object} defaults Object with the options' types and defaults. + * @param {Object} overrides Options to override the defaults. Usually passed when instantiating an UI module. + * @param {DOMElement} [element] Element with data-attributes + * + * @example + * + * this._options = Ink.UI.Common.options('MyComponent', { + * 'anobject': ['Object', null], // Defaults to null + * 'target': ['Element', null], + * 'stuff': ['Number', 0.1], + * 'stuff2': ['Integer', 0], + * 'doKickFlip': ['Boolean', false], + * 'targets': ['Elements'], // Required option since no default was given + * 'onClick': ['Function', null] + * }, options || {}, elm) + * + * @example + * + * ### Note about booleans + * + * Here is how options are read from the markup + * data-attributes, for several values`data-a-boolean`. + * + * Options considered true: + * + * - `data-a-boolean="true"` + * - (Every other value which is not on the list below.) + * + * Options considered false: + * + * - `data-a-boolean="false"` + * - `data-a-boolean=""` + * - `data-a-boolean` + * + * Options which go to default: + * + * - (no attribute). When `data-a-boolean` is ommitted, the + * option is not considered true nor false, and as such + * defaults to what is in the `defaults` argument. + * + **/ + options: function (fieldId, defaults, overrides, element) { + if (typeof fieldId !== 'string') { + element = overrides; + overrides = defaults; + defaults = fieldId; + fieldId = ''; + } + overrides = overrides || {}; + var out = {}; + var dataAttrs = element ? InkElement.data(element) : {}; + var fromDataAttrs; + var type; + var lType; + var defaultVal; + + var invalidStr = function (str) { + if (fieldId) { str = fieldId + ': "' + ('' + str).replace(/"/, '\\"') + '"'; } + return str; + }; + + var quote = function (str) { + return '"' + ('' + str).replace(/"/, '\\"') + '"'; + }; + + var invalidThrow = function (str) { + throw new Error(invalidStr(str)); + }; + + var invalid = function (str) { + Ink.error(invalidStr(str) + '. Ignoring option.'); + }; + + function optionValue(key) { + type = defaults[key][0]; + lType = type.toLowerCase(); + defaultVal = defaults[key].length === 2 ? defaults[key][1] : nothing; + + if (!type) { + invalidThrow('Ink.UI.Common.options: Always specify a type!'); + } + if (!(lType in Common._coerce_funcs)) { + invalidThrow('Ink.UI.Common.options: ' + defaults[key][0] + ' is not a valid type. Use one of ' + keys(Common._coerce_funcs).join(', ')); + + } + if (!defaults[key].length || defaults[key].length > 2) { + invalidThrow('the "defaults" argument must be an object mapping option names to [typestring, optional] arrays.'); + } + + if (key in dataAttrs) { + fromDataAttrs = Common._coerce_from_string(lType, dataAttrs[key], key, fieldId); + // (above can return `nothing`) + } else { + fromDataAttrs = nothing; + } + + if (fromDataAttrs !== nothing) { + if (!Common._options_validate(fromDataAttrs, lType)) { + invalid('(' + key + ' option) Invalid ' + lType + ' ' + quote(fromDataAttrs)); + return defaultVal; + } else { + return fromDataAttrs; + } + } else if (key in overrides) { + return overrides[key]; + } else if (defaultVal !== nothing) { + return defaultVal; + } else { + invalidThrow('Option ' + key + ' is required!'); + } + } + + for (var key in defaults) { + if (defaults.hasOwnProperty(key)) { + out[key] = optionValue(key); + } + } + + return out; + }, + + _coerce_from_string: function (type, val, paramName, fieldId) { + if (type in Common._coerce_funcs) { + return Common._coerce_funcs[type](val, paramName, fieldId); + } else { + return val; + } + }, + + _options_validate: function (val, type) { + if (type in Common._options_validate_types) { + return Common._options_validate_types[type].call(Common, val); + } else { + // 'object' options cannot be passed through data-attributes. + // Json you say? Not any good to embed in HTML. + return false; + } + }, + + _coerce_funcs: (function () { + var ret = { + element: function (val) { + return Common.elOrSelector(val, ''); + }, + elements: function (val) { + return Common.elsOrSelector(val, '', false /*not required, so don't throw an exception now*/); + }, + object: function (val) { return val; }, + number: function (val) { return parseFloat(val); }, + 'boolean': function (val) { + return !(val === 'false' || val === '' || val === null); + }, + string: function (val) { return val; }, + 'function': function (val, paramName, fieldId) { + Ink.error(fieldId + ': You cannot specify the option "' + paramName + '" through data-attributes because it\'s a function'); + return nothing; + } + }; + ret['float'] = ret.integer = ret.number; + return ret; + }()), + + _options_validate_types: (function () { + var types = { + string: function (val) { + return typeof val === 'string'; + }, + number: function (val) { + return typeof val === 'number' && !isNaN(val) && isFinite(val); + }, + integer: function (val) { + return val === Math.round(val); + }, + element: function (val) { + return Common.isDOMElement(val); + }, + elements: function (val) { + return val && typeof val === 'object' && typeof val.length === 'number' && val.length; + }, + 'boolean': function (val) { + return typeof val === 'boolean'; + }, + object: function () { return true; } + }; + types['float'] = types.number; + return types; + }()), + + /** + * Deep copy (clone) an object. + * Note: The object cannot have referece loops. + * + * @method clone + * @static + * @param {Object} o The object to be cloned/copied. + * @return {Object} Returns the result of the clone/copy. + * @example + * var originalObj = { + * key1: 'value1', + * key2: 'value2', + * key3: 'value3' + * }; + * var cloneObj = Ink.UI.Common.clone( originalObj ); + */ + clone: function(o) { + try { + return JSON.parse( JSON.stringify(o) ); + } catch (ex) { + throw new Error('Given object cannot have loops!'); + } + }, + + + /** + * Gets an element's one-base index relative to its parent. + * + * @method childIndex + * @static + * @param {DOMElement} childEl Valid DOM Element. + * @return {Number} Numerical position of an element relatively to its parent. + * @example + * + *
          + *
        • One
        • + *
        • Two
        • + *
        • Three
        • + *
        • Four
        • + *
        + * + * + */ + childIndex: function(childEl) { + if( Common.isDOMElement(childEl) ){ + var els = Selector.select('> *', childEl.parentNode); + for (var i = 0, f = els.length; i < f; ++i) { + if (els[i] === childEl) { + return i; + } + } + } + throw 'not found!'; + }, + + + /** + * AJAX JSON request shortcut method + * It provides a more convenient way to do an AJAX request and expect a JSON response.It also offers a callback option, as third parameter, for better async handling. + * + * @method ajaxJSON + * @static + * @async + * @param {String} endpoint Valid URL to be used as target by the request. + * @param {Object} params This field is used in the thrown Exception to identify the parameter. + * @param {Function} cb Callback for the request. + * @example + * // In case there are several .myInput, it will retrieve the first found + * var el = Ink.UI.Common.elOrSelector('.myInput','My Input'); + */ + ajaxJSON: function(endpoint, params, cb) { + new Ajax( + endpoint, + { + evalJS: 'force', + method: 'POST', + parameters: params, + + onSuccess: function( r) { + try { + r = r.responseJSON; + if (r.status !== 'ok') { + throw 'server error: ' + r.message; + } + cb(null, r); + } catch (ex) { + cb(ex); + } + }, + + onFailure: function() { + cb('communication failure'); + } + } + ); + }, + + + /** + * Gets the current Ink layout. + * + * @method currentLayout + * @static + * @return {String} A string representation of the current layout name. + * @example + * var inkLayout = Ink.UI.Common.currentLayout(); + * if (inkLayout === 'small') { + * // ... + * } + */ + currentLayout: function() { + var i, f, k, v, el, detectorEl = Selector.select('#ink-layout-detector')[0]; + if (!detectorEl) { + detectorEl = document.createElement('div'); + detectorEl.id = 'ink-layout-detector'; + for (k in this.Layouts) { + if (this.Layouts.hasOwnProperty(k)) { + v = this.Layouts[k]; + el = document.createElement('div'); + el.className = 'show-' + v + ' hide-all'; + el.setAttribute('data-ink-layout', v); + detectorEl.appendChild(el); + } + } + document.body.appendChild(detectorEl); + } + + for (i = 0, f = detectorEl.children.length; i < f; ++i) { + el = detectorEl.children[i]; + if (Css.getStyle(el, 'display') === 'block') { + return el.getAttribute('data-ink-layout'); + } + } + + return 'large'; + }, + + + /** + * Sets the location's hash (window.location.hash). + * + * @method hashSet + * @static + * @param {Object} o Object with the info to be placed in the location's hash. + * @example + * // It will set the location's hash like: #key1=value1&key2=value2&key3=value3 + * Ink.UI.Common.hashSet({ + * key1: 'value1', + * key2: 'value2', + * key3: 'value3' + * }); + */ + hashSet: function(o) { + if (typeof o !== 'object') { throw new TypeError('o should be an object!'); } + var hashParams = Url.getAnchorString(); + hashParams = Ink.extendObj(hashParams, o); + window.location.hash = Url.genQueryString('', hashParams).substring(1); + }, + + /** + * Removes children nodes from a given object. + * This method was initially created to help solve a problem in Internet Explorer(s) that occurred when trying to set the innerHTML of some specific elements like 'table'. + * + * @method cleanChildren + * @static + * @param {DOMElement} parentEl Valid DOM Element + * @example + * + *
          + *
        • One
        • + *
        • Two
        • + *
        • Three
        • + *
        • Four
        • + *
        + * + * + * + * + *
          + */ + cleanChildren: function(parentEl) { + if( !Common.isDOMElement(parentEl) ){ + throw 'Please provide a valid DOMElement'; + } + var prevEl, el = parentEl.lastChild; + while (el) { + prevEl = el.previousSibling; + parentEl.removeChild(el); + el = prevEl; + } + }, + + /** + * Stores the id and/or classes of an element in an object. + * + * @method storeIdAndClasses + * @static + * @param {DOMElement} fromEl Valid DOM Element to get the id and classes from. + * @param {Object} inObj Object where the id and classes will be saved. + * @example + *
          + * + * + */ + storeIdAndClasses: function(fromEl, inObj) { + if( !Common.isDOMElement(fromEl) ){ + throw 'Please provide a valid DOMElement as first parameter'; + } + + var id = fromEl.id; + if (id) { + inObj._id = id; + } + + var classes = fromEl.className; + if (classes) { + inObj._classes = classes; + } + }, + + /** + * Sets the id and className properties of an element based + * + * @method restoreIdAndClasses + * @static + * @param {DOMElement} toEl Valid DOM Element to set the id and classes on. + * @param {Object} inObj Object where the id and classes to be set are. This method uses the same format as the one given in `storeIdAndClasses` + * @example + *
          + * + * + * + * + *
          + */ + restoreIdAndClasses: function(toEl, inObj) { + + if( !Common.isDOMElement(toEl) ){ + throw 'Please provide a valid DOMElement as first parameter'; + } + + if (inObj._id && toEl.id !== inObj._id) { + toEl.id = inObj._id; + } + + if (inObj._classes && toEl.className.indexOf(inObj._classes) === -1) { + if (toEl.className) { toEl.className += ' ' + inObj._classes; } + else { toEl.className = inObj._classes; } + } + + if (inObj._instanceId && !toEl.getAttribute('data-instance')) { + toEl.setAttribute('data-instance', inObj._instanceId); + } + }, + + _warnDoubleInstantiation: function (elm, newInstance) { + var instances = Common.getInstance(elm); + + if (getName(newInstance) === '') { return; } + if (!instances) { return; } + + var nameWithoutVersion = getName(newInstance); + + if (!nameWithoutVersion) { return; } + + for (var i = 0, len = instances.length; i < len; i++) { + if (nameWithoutVersion === getName(instances[i])) { + // Yes, I am using + to concatenate and , to split + // arguments. + // + // Elements can't be concatenated with strings, but if + // they are passed in an argument, modern debuggers will + // pretty-print them and make it easy to find them in the + // element inspector. + // + // On the other hand, if strings are passed as different + // arguments, they get pretty printed. And the pretty + // print of a string has quotes around it. + // + // If some day people find out that strings are not + // just text and they start preserving contextual + // information, then by all means change this to a + // regular concatenation. + // + // But they won't. So don't change this. + Ink.warn('Creating more than one ' + nameWithoutVersion + '.', + '(Was creating a ' + nameWithoutVersion + ' on:', elm, ').'); + return false; + } + } + + function getName(thing) { + return ((thing.constructor && (thing.constructor._name)) || + thing._name || + '').replace(/_.*?$/, ''); + } + + return true; + }, + + /** + * Saves a component's instance reference for later retrieval. + * + * @method registerInstance + * @static + * @param {Object} inst Object that holds the instance. + * @param {DOMElement} el DOM Element to associate with the object. + */ + registerInstance: function(inst, el) { + if (!inst) { return; } + + if (!Common.isDOMElement(el)) { throw new TypeError('Ink.UI.Common.registerInstance: The element passed in is not a DOM element!'); } + + // [todo] this belongs in the BaseUIComponent's initialization + if (Common._warnDoubleInstantiation(el, inst) === false) { + return false; + } + + var instances = domRegistry.get(el); + + if (!instances) { + instances = []; + domRegistry.set(el, instances); + } + + instances.push(inst); + + return true; + }, + + /** + * Deletes an instance with a given id. + * + * @method unregisterInstance + * @static + * @param {String} id Id of the instance to be destroyed. + */ + unregisterInstance: function(inst) { + if (!inst || !inst._element) { return; } + var instances = domRegistry.get(inst._element); + for (var i = 0, len = instances.length; i < len; i++) { + if (instances[i] === inst) { + instances.splice(i, 1); + } + } + }, + + /** + * Gets an UI instance from an element or instance id. + * + * @method getInstance + * @static + * @param {String|DOMElement} el DOM Element from which we want the instances. + * @return {Object|Array} Returns an instance or a collection of instances. + */ + getInstance: function(el, UIComponent) { + el = Common.elOrSelector(el); + var instances = domRegistry.get(el); + + if (!instances) { + instances = []; + } + + if (typeof UIComponent !== 'function') { + return instances; + } + + for (var i = 0, len = instances.length; i < len; i++) { + if (instances[i] instanceof UIComponent) { + return instances[i]; + } + } + + return null; + }, + + /** + * Gets an instance based on a selector. + * + * @method getInstanceFromSelector + * @static + * @param {String} selector CSS selector to get the instances from. + * @return {Object|Array} Returns an instance or a collection of instances. + */ + getInstanceFromSelector: function(selector) { + return Common.getInstance(Common.elOrSelector(selector)); + }, + + /** + * Gets all the instance ids + * + * @method getInstanceIds + * @static + * @return {Array} Collection of instance ids + */ + getInstanceIds: function() { + var res = []; + for (var id in instances) { + if (instances.hasOwnProperty(id)) { + res.push( id ); + } + } + return res; + }, + + /** + * Gets all the instances + * + * @method getInstances + * @static + * @return {Array} Collection of existing instances. + */ + getInstances: function() { + var res = []; + for (var id in instances) { + if (instances.hasOwnProperty(id)) { + res.push( instances[id] ); + } + } + return res; + }, + + /** + * Boilerplate method to destroy a component. + * Components should copy this method as its destroy method and modify it. + * + * @method destroyComponent + * @static + */ + destroyComponent: function() { + Common.unregisterInstance(this); + this._element.parentNode.removeChild(this._element); + } + + }; + + + + + /** + * Ink UI Base Class + **/ + + function warnStub() { + /* jshint validthis: true */ + if (!this || this === window || typeof this.constructor !== 'function') { return; } + Ink.warn('You called a method on an incorrectly instantiated ' + this.constructor._name + ' component. Check the warnings above to see what went wrong.'); + } + + function stub(prototype, obj) { + for (var k in prototype) if (prototype.hasOwnProperty(k)) { + if (k === 'constructor') { continue; } + if (typeof obj[k] === 'function') { + obj[k] = warnStub; + } + } + } + + /** + * Ink UI Base Class + * + * You don't use this class directly, or inherit from it directly. + * + * See createUIComponent() (in this module) for how to create a UI component and inherit from this. It's not plain old JS inheritance, for several reasons. + * + * @class Ink.UI.Common.BaseUIComponent + * @constructor + * + * @param element + * @param options + **/ + function BaseUIComponent(element, options) { + var constructor = this.constructor; + var _name = constructor._name; + + if (!this || this === window) { + throw new Error('Use "new InkComponent()" instead of "InkComponent()"'); + } + + if (this && !(this instanceof BaseUIComponent)) { + throw new Error('You forgot to call Ink.UI.Common.createUIComponent() on this module!'); + } + + if (!element && !constructor._componentOptions.elementIsOptional) { + Ink.error(new Error(_name + ': You need to pass an element or a selector as the first argument to "new ' + _name + '()"')); + return; + } else { + this._element = Common.elsOrSelector(element, + _name + ': An element with the selector "' + element + '" was not found!')[0]; + } + + if (!this._element && !constructor._componentOptions.elementIsOptional) { + isValidInstance = false; + Ink.error(new Error(element + ' does not match an element on the page. You need to pass a valid selector to "new ' + _name + '".')); + } + + // TODO Change Common.options's signature? the below looks better, more manageable + // var options = Common.options({ + // element: this._element, + // modName: constructor._name, + // options: constructor._optionDefinition, + // defaults: constructor._globalDefaults + // }); + + this._options = Common.options(_name, constructor._optionDefinition, options, this._element); + + var isValidInstance = BaseUIComponent._validateInstance(this) === true; + + if (isValidInstance && typeof this._init === 'function') { + try { + this._init.apply(this, arguments); + } catch(e) { + isValidInstance = false; + Ink.error(e); + } + } + + if (!isValidInstance) { + BaseUIComponent._stubInstance(this, constructor, _name); + } else if (this._element) { + Common.registerInstance(this, this._element); + } + } + + /** + * Calls the `instance`'s _validate() method so it can validate itself. + * + * Returns false if the method exists, was called, but no Error was returned or thrown. + * + * @method _validateInstance + * @private + */ + BaseUIComponent._validateInstance = function (instance) { + var err; + + if (typeof instance._validate !== 'function') { return true; } + + try { + err = instance._validate(); + } catch (e) { + err = e; + } + + if (err instanceof Error) { + instance._validationError = err; + return false; + } + + return true; + }; + + + /** + * Replaces every method in the instance with stub functions which just call Ink.warn(). + * + * This avoids breaking the page when there are errors. + * + * @method _stubInstance + * @param instance + * @param constructor + * @param name + * @private + */ + BaseUIComponent._stubInstance = function (instance, constructor, name) { + stub(constructor.prototype, instance); + stub(BaseUIComponent.prototype, instance); + Ink.warn(name + ' was not correctly created. ' + (instance._validationError || '')); + }; + + // TODO BaseUIComponent.setGlobalOptions = function () {} + // TODO BaseUIComponent.createMany = function (selector) {} + BaseUIComponent.getInstance = function (elOrSelector) { + elOrSelector = Common.elOrSelector(elOrSelector); + return Common.getInstance(elOrSelector, this /* get instance by constructor */); + }; + + Ink.extendObj(BaseUIComponent.prototype, { + /** + * Get an UI component's option's value. + * + * @method getOption + * @param name + * + * @return The option value, or undefined if nothing is found. + * + * @example + * + * var myUIComponent = new Modal('#element', { trigger: '#trigger' }); // or anything else inheriting BaseUIComponent + * myUIComponent.getOption('trigger'); // -> The trigger element (not the selector string, mind you) + * + **/ + getOption: function (name) { + if (this.constructor && !(name in this.constructor._optionDefinition)) { + Ink.error('"' + name + '" is not an option for ' + this.constructor._name); + return undefined; + } + + return this._options[name]; + }, + + /** + * Sets an option's value + * + * @method getOption + * @param name + * @param value + * + * @example + * + * var myUIComponent = new Modal(...); + * myUIComponent.setOption('trigger', '#some-element'); + **/ + setOption: function (name, value) { + if (this.constructor && !(name in this.constructor._optionDefinition)) { + Ink.error('"' + name + ' is not an option for ' + this.constructor._name); + return; + } + + this._options[name] = value; + }, + + /** + * Get the element associated with an UI component (IE the one you used in the constructor) + * + * @method getElement + * @return {Element} The component's element. + * + * @example + * var myUIComponent = new Modal('#element'); // or anything else inheriting BaseUIComponent + * myUIComponent.getElement(); // -> The '#element' (not the selector string, mind you). + * + **/ + getElement: function () { + return this._element; + } + }); + + Common.BaseUIComponent = BaseUIComponent; + + /** + * @method createUIComponent + * @param theConstructor UI component constructor. It should have an _init function in its prototype, an _optionDefinition object, and a _name property indicating its name. + * @param options + * @param [options.elementIsOptional=false] Whether the element argument is optional (For example, when the component might work on existing markup or create its own). + **/ + Common.createUIComponent = function createUIComponent(theConstructor, options) { + theConstructor._componentOptions = options || {}; + + function assert(test, msg) { + if (!test) { + throw new Error('Ink.UI_1.createUIComponent: ' + msg); + } + } + + function assertProp(prop, propType, message) { + var propVal = theConstructor[prop]; + // Check that the property was passed + assert(typeof propVal !== 'undefined', + theConstructor + ' doesn\'t have a "' + prop + '" property. ' + message); + // Check that its type is correct + assert(propType && typeof propVal === propType, + 'typeof ' + theConstructor + '.' + prop + ' is not "' + propType + '". ' + message); + } + + assert(typeof theConstructor === 'function', + 'constructor argument is not a function!'); + + assertProp('_name', 'string', 'This property is used for error ' + + 'messages. Set it to the full module path and version (Ink.My.Module_1).'); + assertProp('_optionDefinition', 'object', 'This property contains the ' + + 'option names, types and defaults. See Ink.UI.Common.options() for reference.'); + + // Extend the instance methods and props + var _oldProto = theConstructor.prototype; + + if (typeof Object.create === 'function') { + theConstructor.prototype = Object.create(BaseUIComponent.prototype); + } else { + theConstructor.prototype = (function hideF() { + function F() {} + F.prototype = BaseUIComponent.prototype; + return new F(); + }()); + } + + Ink.extendObj(theConstructor.prototype, _oldProto); + theConstructor.prototype.constructor = theConstructor; + // Extend static methods + Ink.extendObj(theConstructor, BaseUIComponent); + }; + + return Common; + +}); + +/** + * Date selector + * @module Ink.UI.DatePicker_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.DatePicker', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1','Ink.Util.Date_1', 'Ink.Dom.Browser_1'], function(Common, Event, Css, InkElement, Selector, InkArray, InkDate ) { + 'use strict'; + + // Clamp a number into a min/max limit + function clamp(n, min, max) { + if (n > max) { n = max; } + if (n < min) { n = min; } + + return n; + } + + function dateishFromYMDString(YMD) { + var split = YMD.split('-'); + return dateishFromYMD(+split[0], +split[1] - 1, +split[2]); + } + + function dateishFromYMD(year, month, day) { + return {_year: year, _month: month, _day: day}; + } + + function dateishFromDate(date) { + return {_year: date.getFullYear(), _month: date.getMonth(), _day: date.getDate()}; + } + + /** + * @class Ink.UI.DatePicker + * @constructor + * @version 1 + * + * @param {String|DOMElement} selector + * @param {Object} [options] Options + * @param {Boolean} [options.autoOpen] Flag to automatically open the datepicker. + * @param {String} [options.cleanText] Text for the clean button. Defaults to 'Clear'. + * @param {String} [options.closeText] Text for the close button. Defaults to 'Close'. + * @param {String} [options.cssClass] CSS class to be applied on the datepicker + * @param {String|DOMElement} [options.pickerField] (if not using in an input[type="text"]) Element which displays the DatePicker when clicked. Defaults to an "open" link. + * @param {String} [options.dateRange] Enforce limits to year, month and day for the Date, ex: '1990-08-25:2020-11' + * @param {Boolean} [options.displayInSelect] Flag to display the component in a select element. + * @param {String|DOMElement} [options.dayField] (if using options.displayInSelect) `select` field with days. + * @param {String|DOMElement} [options.monthField] (if using options.displayInSelect) `select` field with months. + * @param {String|DOMElement} [options.yearField] (if using options.displayInSelect) `select` field with years. + * @param {String} [options.format] Date format string + * @param {Object} [options.month] Hash of month names. Defaults to portuguese month names. January is 1. + * @param {String} [options.nextLinkText] Text for the previous button. Defaults to '«'. + * @param {String} [options.ofText] Text to show between month and year. Defaults to ' of '. + * @param {Boolean} [options.onFocus] If the datepicker should open when the target element is focused. Defaults to true. + * @param {Function} [options.onMonthSelected] Callback to execute when the month is selected. + * @param {Function} [options.onSetDate] Callback to execute when the date is set. + * @param {Function} [options.onYearSelected] Callback to execute when the year is selected. + * @param {String} [options.position] Position for the datepicker. Either 'right' or 'bottom'. Defaults to 'right'. + * @param {String} [options.prevLinkText] Text for the previous button. Defaults to '«'. + * @param {Boolean} [options.showClean] If the clean button should be visible. Defaults to true. + * @param {Boolean} [options.showClose] If the close button should be visible. Defaults to true. + * @param {Boolean} [options.shy] If the datepicker should start automatically. Defaults to true. + * @param {String} [options.startDate] Date to define initial month. Must be in yyyy-mm-dd format. + * @param {Number} [options.startWeekDay] First day of the week. Sunday is zero. Defaults to 1 (Monday). + * @param {Function} [options.validYearFn] Callback to execute when 'rendering' the month (in the month view) + * @param {Function} [options.validMonthFn] Callback to execute when 'rendering' the month (in the month view) + * @param {Function} [options.validDayFn] Callback to execute when 'rendering' the day (in the month view) + * @param {Function} [options.nextValidDateFn] Function to calculate the next valid date, given the current. Useful when there's invalid dates or time frames. + * @param {Function} [options.prevValidDateFn] Function to calculate the previous valid date, given the current. Useful when there's invalid dates or time frames. + * @param {Object} [options.wDay] Hash of week day names. Sunday is 0. Defaults to { 0:'Sunday', 1:'Monday', etc... + * @param {String} [options.yearRange] Enforce limits to year for the Date, ex: '1990:2020' (deprecated) + * + * @sample Ink_UI_DatePicker_1.html + */ + var DatePicker = function() { + Common.BaseUIComponent.apply(this, arguments); + }; + + DatePicker._name = 'DatePicker_1'; + + DatePicker._optionDefinition = { + autoOpen: ['Boolean', false], + cleanText: ['String', 'Clear'], + closeText: ['String', 'Close'], + pickerField: ['Element', null], + containerElement:['Element', null], + cssClass: ['String', 'ink-calendar bottom'], + dateRange: ['String', null], + + // use this in a + * + * By applying this UI class to the above input, you get a tag field with the tags "initial" and "value". The class preserves the original input element. It remains hidden and is updated with new tag information dynamically, so regular HTML form logic still applies. + * + * Below "input" refers to the current value of the input tag (updated as the user enters text, of course), and "output" refers to the value which this class writes back to said input tag. + * + * @class Ink.UI.TagField + * @version 1 + * @constructor + * @param {String|DOMElement} element Selector or DOM Input Element. + * @param {Object} [options] Options object + * @param {String|Array} [options.tags] Initial tags in the input + * @param {Boolean} [options.allowRepeated] Flag to allow user to input several tags. Defaults to true. + * @param {RegExp} [options.separator] Split the input by this RegExp. Defaults to /[,;(space)]+/g (spaces, commas and semicolons) + * @param {String} [options.outSeparator] Use this string to separate each tag from the next in the output. Defaults to ','. + * @param {Boolean} [options.autoSplit] Flag to activate tag creation when the user types a separator. Defaults to true. + * @param {Integer} [options.maxTags] Maximum number of tags allowed. Set to -1 for no limit. Defaults to -1. + * @example + */ + function TagField() { + Common.BaseUIComponent.apply(this, arguments); + } + + TagField._name = 'TagField_1'; + + TagField._optionDefinition = { + tags: ['String', []], + tagQuery: ['Object', null], + tagQueryAsync: ['Object', null], + allowRepeated: ['Boolean', false], + maxTags: ['Integer', -1], + outSeparator: ['String', ','], + separator: ['String', /[,; ]+/g], + autoSplit: ['Boolean', true] + }; + + TagField.prototype = { + /** + * Init function called by the constructor + * + * @method _init + * @private + */ + _init: function() { + var o = this._options; + if (typeof o.separator === 'string') { + o.separator = new RegExp(o.separator, 'g'); + } + + if (typeof o.tags === 'string') { + // coerce to array using the separator + o.tags = this._readInput(o.tags); + } + + Css.addClassName(this._element, 'hide-all'); + + this._viewElm = InkElement.create('div', { + className: 'ink-tagfield', + insertAfter: this._element + }); + + this._input = InkElement.create('input', { + type: 'text', + className: 'new-tag-input', + insertBottom: this._viewElm + }); + + var tags = [].concat(o.tags, this._tagsFromMarkup(this._element)); + + this._tags = []; + + InkArray.each(tags, Ink.bindMethod(this, '_addTag')); + + InkEvent.observe(this._input, 'keyup', Ink.bindEvent(this._onKeyUp, this)); + InkEvent.observe(this._input, 'change', Ink.bindEvent(this._onKeyUp, this)); + InkEvent.observe(this._input, 'keydown', Ink.bindEvent(this._onKeyDown, this)); + InkEvent.observe(this._input, 'blur', Ink.bindEvent(this._onBlur, this)); + InkEvent.observe(this._viewElm, 'click', Ink.bindEvent(this._refocus, this)); + }, + + destroy: function () { + InkElement.remove(this._viewElm); + Css.removeClassName(this._element, 'hide-all'); + }, + + _tagsFromMarkup: function (element) { + var tagname = element.tagName.toLowerCase(); + if (tagname === 'input') { + return this._readInput(element.value); + } else if (tagname === 'select') { + return InkArray.map(element.getElementsByTagName('option'), function (option) { + return InkElement.textContent(option); + }); + } else { + throw new Error('Cannot read tags from a ' + tagname + ' tag. Unknown tag'); + } + }, + + _tagsToMarkup: function (tags, element) { + var tagname = element.tagName.toLowerCase(); + if (tagname === 'input') { + if (this._options.separator) { + element.value = tags.join(this._options.outSeparator); + } + } else if (tagname === 'select') { + element.innerHTML = ''; + InkArray.each(tags, function (tag) { + var opt = InkElement.create('option', {selected: 'selected'}); + InkElement.setTextContent(opt, tag); + element.appendChild(opt); + }); + } else { + throw new Error('TagField: Cannot read tags from a ' + tagname + ' tag. Unknown tag'); + } + }, + + _addTag: function (tag) { + if (this._options.maxTags !== -1 && + this._tags.length >= this._options.maxTags) { + return; + } + if ((!this._options.allowRepeated && + InkArray.inArray(tag, this._tags, tag)) || !tag) { + return false; + } + var elm = InkElement.create('span', { + className: 'ink-tag', + setTextContent: tag + ' ' + }); + + var remove = InkElement.create('span', { + className: 'remove fa fa-times', + insertBottom: elm + }); + InkEvent.observe(remove, 'click', Ink.bindEvent(this._removeTag, this, null)); + + var spc = document.createTextNode(' '); + + this._tags.push(tag); + this._viewElm.insertBefore(elm, this._input); + this._viewElm.insertBefore(spc, this._input); + this._tagsToMarkup(this._tags, this._element); + }, + + _readInput: function (text) { + if (this._options.separator) { + return InkArray.filter(text.split(this._options.separator), isTruthy); + } else { + return [text]; + } + }, + + _onKeyUp: function () { // TODO control input box size + if (!this._options.autoSplit) { + return; + } + var split = this._input.value.split(this._options.separator); + if (split.length <= 1) { + return; + } + var last = split[split.length - 1]; + split = split.splice(0, split.length - 1); + split = InkArray.filter(split, isTruthy); + + InkArray.each(split, Ink.bind(this._addTag, this)); + this._input.value = last; + }, + + _onKeyDown: function (event) { + if (event.which === enterKey) { + return this._onEnterKeyDown(event); + } else if (event.which === backspaceKey) { + return this._onBackspaceKeyDown(); + } else if (this._removeConfirm) { + // user pressed another key, cancel removal from a backspace key + this._unsetRemovingVisual(this._tags.length - 1); + } + }, + + /** + * When the user presses backspace twice on the empty input, we delete the last tag on the field. + * @method onBackspaceKeyDown + * @private + */ + _onBackspaceKeyDown: function () { + if (this._input.value) { return; } + + if (this._removeConfirm) { + this._unsetRemovingVisual(this._tags.length - 1); + this._removeTag(this._tags.length - 1); + this._removeConfirm = null; + } else { + this._setRemovingVisual(this._tags.length - 1); + } + }, + + _onEnterKeyDown: function (event) { + var tag = this._input.value; + if (tag) { + this._addTag(tag); + this._input.value = ''; + } + InkEvent.stopDefault(event); + }, + + _onBlur: function () { + this._addTag(this._input.value); + this._input.value = ''; + }, + + /* For when the user presses backspace. + * Set the style of the tag so that it seems like it's going to be removed + * if they press backspace again. */ + _setRemovingVisual: function (tagIndex) { + var elm = this._viewElm.children[tagIndex]; + if (!elm) { return; } + + Css.addClassName(elm, 'tag-deleting'); + + this._removeRemovingVisualTimeout = setTimeout(Ink.bindMethod(this, '_unsetRemovingVisual', tagIndex), 4000); + InkEvent.observe(this._input, 'blur', Ink.bindMethod(this, '_unsetRemovingVisual', tagIndex)); + this._removeConfirm = true; + }, + _unsetRemovingVisual: function (tagIndex) { + var elm = this._viewElm.children[tagIndex]; + if (elm) { + Css.removeClassName(elm, 'tag-deleting'); + clearTimeout(this._removeRemovingVisualTimeout); + } + this._removeConfirm = null; + }, + + _removeTag: function (event) { + var index; + if (typeof event === 'object') { // click event on close button + var elm = InkEvent.element(event).parentNode; + index = InkElement.parentIndexOf(this._viewElm, elm); + } else if (typeof event === 'number') { // manual removal + index = event; + } + this._tags = InkArray.remove(this._tags, index, 1); + InkElement.remove(this._viewElm.children[index]); + this._tagsToMarkup(this._tags, this._element); + }, + + _refocus: function (event) { + this._input.focus(); + InkEvent.stop(event); + return false; + } + }; + + Common.createUIComponent(TagField); + + return TagField; +}); + +/** + * Toggle the visibility of elements. + * @module Ink.UI.Toggle_1 + * @version 1 + */ + + Ink.createModule('Ink.UI.Toggle', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1'], function(Common, InkEvent, Css, InkElement, Selector, InkArray ) { + 'use strict'; + + /** + * + * You need two elements to use Toggle: the `trigger` element, and the `target` element (or elements). The default behaviour is to toggle the `target`(s) when you click the `trigger`. + * + * The toggle has a state. It is either "on" or "off". It works by switching between the CSS classes in `classNameOn` and `classNameOff` according to the current state. + * + * When you initialize the Toggle, it will check if the targets are visible to figure out what the initial state is. You can force the toggle to consider itself turned "on" or "off" by setting the `initialState` option to `true` or `false`, respectively. + * + * You can get the current state of the Toggle by calling `getState`, or by checking if your `trigger` element has the "active" class. + * The state can be changed through JavaScript. Just call `setState(true)` + * to turn the Toggle on (or `setState(false)` to turn it off). + * + * @class Ink.UI.Toggle + * @constructor + * @version 1 + * @param {String|DOMElement} selector Trigger element. By clicking this, the target (or targets) are triggered. + * @param {Object} [options] Options object, containing: + * + * @param {String} options.target CSS Selector that specifies the elements that this component will toggle + * @param {String} [options.classNameOn] CSS class to toggle when on. Defaults to 'show-all'. + * @param {String} [options.classNameOff] CSS class to toggle when off. Defaults to 'hide-all'. + * @param {String} [options.triggerEvent] Event that will trigger the toggling. Defaults to 'click'. + * @param {Boolean} [options.closeOnClick] Flag to toggle the targe off when clicking outside the toggled content. Defaults to true. + * @param {String} [options.closeOnInsideClick] Toggle off when a child element matching this selector is clicked. Set to null to deactivate the check. Defaults to 'a[href]'. + * @param {Boolean} [options.initialState] Flag to define initial state. false: off, true: on, null: markup. Defaults to null. + * @param {Function} [options.onChangeState] Callback when the toggle state changes. Return `false` to cancel the event. + * + * @sample Ink_UI_Toggle_1_constructor.html + */ + function Toggle(){ + Common.BaseUIComponent.apply(this, arguments); + } + + Toggle._name = 'Toggle_1'; + + Toggle._optionDefinition = { + target: ['Elements'], + triggerEvent: ['String', 'click'], + closeOnClick: ['Boolean', true], + isAccordion: ['Boolean', false], + initialState: ['Boolean', null], // May be true, false, or null to be what it is right now + classNameOn: ['String', 'show-all'], + classNameOff: ['String', 'hide-all'], + closeOnInsideClick: ['String', 'a[href]'], // closes the toggle when a target is clicked and it is a link + onChangeState: ['Function', null] + }; + + Toggle.prototype = { + + /** + * Init function called by the constructor + * + * @method _init + * @private + */ + _init: function(){ + var i, len; + + this._targets = Common.elsOrSelector(this._options.target); + + // Boolean option handling + this._options.closeOnClick = this._options.closeOnClick.toString() === 'true'; + // Actually a throolean + if (this._options.initialState !== null){ + this._options.initialState = this._options.initialState.toString() === 'true'; + } else { + this._options.initialState = Css.getStyle(this._targets[0], 'display') !== 'none'; + } + + if (this._options.classNameOn !== 'show-all' || this._options.classNameOff !== 'hide-all') { + for (i = 0, len = this._targets.length; i < len; i++) { + Css.removeClassName(this._targets[i], 'show-all'); + Css.removeClassName(this._targets[i], 'hide-all'); + } + } + + this._accordion = ( Css.hasClassName(this._element.parentNode,'accordion') || Css.hasClassName(this._targets[0].parentNode,'accordion') ); + + this._firstTime = true; + + this._bindEvents(); + + if (this._options.initialState !== null) { + this.setState(this._options.initialState, true); + } else { + // Add initial classes matching the current "display" of the object. + var state = Css.getStyle(this._targets[0], 'display') !== 'none'; + this.setState(state, true); + } + // Aditionally, remove any inline "display" style. + for (i = 0, len = this._targets.length; i < len; i++) { + if (this._targets[i].style.display) { + this._targets[i].style.display = ''; // becomes default + } + } + + this._element.setAttribute('data-is-toggle-trigger', 'true'); + }, + + /** + * @method _bindEvents + * @private + */ + _bindEvents: function () { + if ( this._options.triggerEvent ) { + InkEvent.observe( + this._element, + this._options.triggerEvent, + Ink.bind(this._onTriggerEvent, this)); + } + if( this._options.closeOnClick ){ + InkEvent.observe( document, 'click', Ink.bind(this._onOutsideClick, this)); + } + if( this._options.closeOnInsideClick && this._options.closeOnInsideClick !== 'false') { + var sel = this._options.closeOnInsideClick; + if (sel.toString() === 'true') { + sel = '*'; + } + InkEvent.observeMulti(this._targets, 'click', Ink.bind(function (e) { + if ( InkElement.findUpwardsBySelector(InkEvent.element(e), sel) ) { + this.setState(false, true); + } + }, this)); + } + }, + + /** + * Event handler. It's responsible for handling the `triggerEvent` as defined in the options. + * + * This will trigger the toggle. + * + * @method _onTriggerEvent + * @param {Event} event + * @private + */ + _onTriggerEvent: function( event ){ + // When the togglee is a child of the toggler, we get the togglee's events here. We have to check that this event is for us. + var target = InkEvent.element(event); + + var isAncestorOfClickedElement = InkArray.some(this._targets, function (thisOne) { + return thisOne === target || InkElement.isAncestorOf(thisOne, target); + }); + + if (isAncestorOfClickedElement) { + return; + } + + if (this._accordion) { + this._updateAccordion(); + } + + var has = this.getState(); + this.setState(!has, true); + if (!has && this._firstTime) { + this._firstTime = false; + } + + InkEvent.stopDefault(event); + }, + + /** + * Be compatible with accordions + * + * @method _updateAccordion + **/ + _updateAccordion: function () { + var elms, accordionElement; + if( Css.hasClassName(this._targets[0].parentNode,'accordion') ){ + accordionElement = this._targets[0].parentNode; + } else { + accordionElement = this._targets[0].parentNode.parentNode; + } + elms = Selector.select('.toggle, .ink-toggle',accordionElement); + for(var i=0; i 0) && (targetElm[0] !== this._targets[0]) ){ + targetElm[0].style.display = 'none'; + } + } + }, + + /** + * Click handler. Will handle clicks outside the toggle component. + * + * @method _onOutsideClick + * @param {Event} event + * @private + */ + _onOutsideClick: function( event ){ + var tgtEl = InkEvent.element(event), + shades; + + if (InkElement.findUpwardsBySelector(tgtEl, '[data-is-toggle-trigger="true"]')) return; + + var ancestorOfTargets = InkArray.some(this._targets, function (target) { + return InkElement.isAncestorOf(target, tgtEl) || target === tgtEl; + }); + + if( (this._element === tgtEl) || InkElement.isAncestorOf(this._element, tgtEl) || ancestorOfTargets) { + return; + } else if( (shades = Ink.ss('.ink-shade')).length ) { + var shadesLength = shades.length; + + for( var i = 0; i < shadesLength; i++ ){ + if( InkElement.isAncestorOf(shades[i],tgtEl) && InkElement.isAncestorOf(shades[i],this._element) ){ + return; + } + } + } + + this.setState(false, true); // dismiss + }, + + /** + * Sets the state of the toggle. (on/off) + * + * @method setState + * @param newState {Boolean} New state (on/off) + */ + setState: function (on, callHandler) { + if (on === this.getState()) { return; } + if (callHandler && typeof this._options.onChangeState === 'function') { + var ret = this._options.onChangeState(on); + if (ret === false) { return false; } // Canceled by the event handler + } + for (var i = 0, len = this._targets.length; i < len; i++) { + Css.addRemoveClassName(this._targets[i], this._options.classNameOn, on); + Css.addRemoveClassName(this._targets[i], this._options.classNameOff, !on); + } + Css.addRemoveClassName(this._element, 'active', on); + }, + + /** + * Gets the state of the toggle. (on/off) + * + * @method getState + * + * @return {Boolean} whether the toggle is toggled on. + */ + getState: function () { + return Css.hasClassName(this._element, 'active'); + } + }; + + Common.createUIComponent(Toggle); + + return Toggle; +}); + +/** + * Content Tooltips + * @module Ink.UI.Tooltip_1 + * @version 1 + */ +Ink.createModule('Ink.UI.Tooltip', '1', ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Element_1', 'Ink.Dom.Selector_1', 'Ink.Util.Array_1', 'Ink.Dom.Css_1', 'Ink.Dom.Browser_1'], function (Common, InkEvent, InkElement, Selector, InkArray, Css) { + 'use strict'; + + /** + * Tooltips are useful as a means to display information about functionality while avoiding clutter. + * + * Tooltips show up when you hover elements which "have" tooltips. + * + * This class will "give" a tooltip to many elements, selected by its first argument (`target`). This is contrary to the other UI modules in Ink, which are created once per element. + * + * You can define options either through the second argument of the Tooltip constructor, or as data-attributes in each `target` element. Options set through data-attributes all start with "data-tip", and override options passed into the Tooltip constructor. + * + * @class Ink.UI.Tooltip + * @constructor + * + * @param {DOMElement|String} target Target element or selector of elements, to display the tooltips on. + * @param {Object} [options] Options object + * @param {String} [options.text] Text content for the tooltip. + * @param {String} [options.html] HTML for the tooltip. Same as above, but won't escape HTML. + * @param {String} [options.where] Positioning for the tooltip. Options are 'up', 'down', 'left', 'right', 'mousemove' (follows the cursor), and 'mousefix' (stays fixed). Defaults to 'up'. + * + * @param {String} [options.color] Color of the tooltip. Options are red, orange, blue, green and black. Default is white. + * @param {Number} [options.fade] Number of seconds to fade in/out. Defaults to 0.3. + * @param {Boolean} [options.forever] Flag to prevent the tooltip from being erased when the mouse hovers away from the target. + * @param {Number} [options.timeout] Number of seconds the tooltip will stay open. Useful together with options.forever. Defaults to 0. + * @param {Number} [options.delay] Time the tooltip waits until it is displayed. Useful to avoid getting the attention of the user unnecessarily + * @param {DOMElement|Selector} [options.template] Element or selector containing HTML to be cloned into the tooltips. Can be a hidden element, because CSS `display` is set to `block`. + * @param {String} [options.templatefield] Selector within the template element to choose where the text is inserted into the tooltip. Useful when a wrapper DIV is required. + * @param {Number} [options.left] Spacing from the target to the tooltip, when `where` is `mousemove` or `mousefix`. Defaults to 10. + * @param {Number} [options.top] Spacing from the target to the tooltip, when `where` is `mousemove` or `mousefix`. Defaults to 10. + * @param {Number} [options.spacing] Spacing between the tooltip and the target element, when `where` is not `mousemove` or `mousefix`. Defaults to 8. + * + * @sample Ink_UI_Tooltip_1.html + */ + function Tooltip(element, options) { + this._init(element, options || {}); + } + + function EachTooltip(root, elm) { + this._init(root, elm); + } + + var transitionDurationName, + transitionPropertyName, + transitionTimingFunctionName; + (function () { // Feature detection + var test = document.createElement('DIV'); + var names = ['transition', 'oTransition', 'msTransition', 'mozTransition', + 'webkitTransition']; + for (var i = 0; i < names.length; i++) { + if (typeof test.style[names[i] + 'Duration'] !== 'undefined') { + transitionDurationName = names[i] + 'Duration'; + transitionPropertyName = names[i] + 'Property'; + transitionTimingFunctionName = names[i] + 'TimingFunction'; + break; + } + } + }()); + + // Body or documentElement + var bodies = document.getElementsByTagName('body'); + var body = bodies.length ? bodies[0] : document.documentElement; + + Tooltip.prototype = { + _init: function(element, options) { + var elements; + + this.options = Ink.extendObj({ + where: 'up', + zIndex: 10000, + left: 10, + top: 10, + spacing: 8, + forever: 0, + color: '', + timeout: 0, + delay: 0, + template: null, + templatefield: null, + fade: 0.3, + text: '' + }, options || {}); + + if (typeof element === 'string') { + elements = Selector.select(element); + } else if (typeof element === 'object') { + elements = [element]; + } else { + throw 'Element expected'; + } + + this.tooltips = []; + + for (var i = 0, len = elements.length; i < len; i++) { + this.tooltips[i] = new EachTooltip(this, elements[i]); + } + }, + /** + * Destroys the tooltips created by this instance + * + * @method destroy + */ + destroy: function () { + InkArray.each(this.tooltips, function (tooltip) { + tooltip._destroy(); + }); + this.tooltips = null; + this.options = null; + } + }; + + EachTooltip.prototype = { + _oppositeDirections: { + left: 'right', + right: 'left', + up: 'down', + down: 'up' + }, + _init: function(root, elm) { + InkEvent.observe(elm, 'mouseover', Ink.bindEvent(this._onMouseOver, this)); + InkEvent.observe(elm, 'mouseout', Ink.bindEvent(this._onMouseOut, this)); + InkEvent.observe(elm, 'mousemove', Ink.bindEvent(this._onMouseMove, this)); + + this.root = root; + this.element = elm; + this._delayTimeout = null; + this.tooltip = null; + + Common.registerInstance(this, this.element); + }, + _makeTooltip: function (mousePosition) { + if (!this._getOpt('text') && + !this._getOpt('html') && + !InkElement.hasAttribute(this.element, 'title')) { + return false; + } + + var tooltip = this._createTooltipElement(); + + if (this.tooltip) { + this._removeTooltip(); + } + + this.tooltip = tooltip; + + this._fadeInTooltipElement(tooltip); + this._placeTooltipElement(tooltip, mousePosition); + + InkEvent.observe(tooltip, 'mouseover', Ink.bindEvent(this._onTooltipMouseOver, this)); + + var timeout = this._getFloatOpt('timeout'); + if (timeout) { + setTimeout(Ink.bind(function () { + if (this.tooltip === tooltip) { + this._removeTooltip(); + } + }, this), timeout * 1000); + } + }, + _createTooltipElement: function () { + var template = this._getOpt('template'), // User template instead of our HTML + templatefield = this._getOpt('templatefield'), + + tooltip, // The element we float + field; // Element where we write our message. Child or same as the above + + if (template) { // The user told us of a template to use. We copy it. + var temp = document.createElement('DIV'); + temp.innerHTML = Common.elOrSelector(template, 'options.template').outerHTML; + tooltip = temp.firstChild; + + if (templatefield) { + field = Selector.select(templatefield, tooltip); + if (field) { + field = field[0]; + } else { + throw 'options.templatefield must be a valid selector within options.template'; + } + } else { + field = tooltip; // Assume same element if user did not specify a field + } + } else { // We create the default structure + tooltip = document.createElement('DIV'); + Css.addClassName(tooltip, 'ink-tooltip'); + Css.addClassName(tooltip, this._getOpt('color')); + + field = document.createElement('DIV'); + Css.addClassName(field, 'content'); + + tooltip.appendChild(field); + } + + if (this._getOpt('html')) { + field.innerHTML = this._getOpt('html'); + } else if (this._getOpt('text')) { + InkElement.setTextContent(field, this._getOpt('text')); + } else { + InkElement.setTextContent(field, this.element.getAttribute('title')); + } + tooltip.style.display = 'block'; + tooltip.style.position = 'absolute'; + tooltip.style.zIndex = this._getIntOpt('zIndex'); + + return tooltip; + }, + _fadeInTooltipElement: function (tooltip) { + var fadeTime = this._getFloatOpt('fade'); + if (transitionDurationName && fadeTime) { + tooltip.style.opacity = '0'; + tooltip.style[transitionDurationName] = fadeTime + 's'; + tooltip.style[transitionPropertyName] = 'opacity'; + tooltip.style[transitionTimingFunctionName] = 'ease-in-out'; + setTimeout(function () { + tooltip.style.opacity = '1'; + }, 0); // Wait a tick + } + }, + _placeTooltipElement: function (tooltip, mousePosition) { + var where = this._getOpt('where'); + + if (where === 'mousemove' || where === 'mousefix') { + var mPos = mousePosition; + this._setPos(mPos[0], mPos[1]); + body.appendChild(tooltip); + } else if (where.match(/(up|down|left|right)/)) { + body.appendChild(tooltip); + var targetElementPos = InkElement.offset(this.element); + var tleft = targetElementPos[0], + ttop = targetElementPos[1]; + + var centerh = (InkElement.elementWidth(this.element) / 2) - (InkElement.elementWidth(tooltip) / 2), + centerv = (InkElement.elementHeight(this.element) / 2) - (InkElement.elementHeight(tooltip) / 2); + var spacing = this._getIntOpt('spacing'); + + var tooltipDims = InkElement.elementDimensions(tooltip); + var elementDims = InkElement.elementDimensions(this.element); + + var maxX = InkElement.scrollWidth() + InkElement.viewportWidth(); + var maxY = InkElement.scrollHeight() + InkElement.viewportHeight(); + + where = this._getWhereValueInsideViewport(where, { + left: tleft - tooltipDims[0], + right: tleft + tooltipDims[0], + top: ttop + tooltipDims[1], + bottom: ttop + tooltipDims[1] + }, { + right: maxX, + bottom: maxY + }); + + if (where === 'up') { + ttop -= tooltipDims[1]; + ttop -= spacing; + tleft += centerh; + } else if (where === 'down') { + ttop += elementDims[1]; + ttop += spacing; + tleft += centerh; + } else if (where === 'left') { + tleft -= tooltipDims[0]; + tleft -= spacing; + ttop += centerv; + } else if (where === 'right') { + tleft += elementDims[0]; + tleft += spacing; + ttop += centerv; + } + + var arrow = null; + if (where.match(/(up|down|left|right)/)) { + arrow = document.createElement('SPAN'); + Css.addClassName(arrow, 'arrow'); + Css.addClassName(arrow, this._oppositeDirections[where]); + tooltip.appendChild(arrow); + } + + var tooltipLeft = tleft; + var tooltipTop = ttop; + + var toBottom = (tooltipTop + tooltipDims[1]) - maxY; + var toRight = (tooltipLeft + tooltipDims[0]) - maxX; + var toLeft = 0 - tooltipLeft; + var toTop = 0 - tooltipTop; + + if (toBottom > 0) { + if (arrow) { arrow.style.top = (tooltipDims[1] / 2) + toBottom + 'px'; } + tooltipTop -= toBottom; + } else if (toTop > 0) { + if (arrow) { arrow.style.top = (tooltipDims[1] / 2) - toTop + 'px'; } + tooltipTop += toTop; + } else if (toRight > 0) { + if (arrow) { arrow.style.left = (tooltipDims[0] / 2) + toRight + 'px'; } + tooltipLeft -= toRight; + } else if (toLeft > 0) { + if (arrow) { arrow.style.left = (tooltipDims[0] / 2) - toLeft + 'px'; } + tooltipLeft += toLeft; + } + + tooltip.style.left = tooltipLeft + 'px'; + tooltip.style.top = tooltipTop + 'px'; + } + }, + + /** + * Get a value for "where" (left/right/up/down) which doesn't put the + * tooltip off the screen + * + * @method _getWhereValueInsideViewport + * @param where {String} "where" value which was given by the user and we might change + * @param bbox {BoundingBox} A bounding box like what you get from getBoundingClientRect ({top, bottom, left, right}) with pixel positions from the top left corner of the viewport. + * @param viewport {BoundingBox} Bounding box for the viewport. "top" and "left" are omitted because these coordinates are relative to the top-left corner of the viewport so they are zero. + * + * @TODO: we can't use getBoundingClientRect in this case because it returns {0,0,0,0} on our uncreated tooltip. + */ + _getWhereValueInsideViewport: function (where, bbox, viewport) { + if (where === 'left' && bbox.left < 0) { + return 'right'; + } else if (where === 'right' && bbox.right > viewport.right) { + return 'left'; + } else if (where === 'up' && bbox.top < 0) { + return 'down'; + } else if (where === 'down' && bbox.bottom > viewport.bottom) { + return 'up'; + } + + return where; + }, + _removeTooltip: function() { + var tooltip = this.tooltip; + if (!tooltip) {return;} + + var remove = Ink.bind(InkElement.remove, {}, tooltip); + + if (this._getOpt('where') !== 'mousemove' && transitionDurationName) { + tooltip.style.opacity = 0; + // remove() will operate on correct tooltip, although this.tooltip === null then + setTimeout(remove, this._getFloatOpt('fade') * 1000); + } else { + remove(); + } + this.tooltip = null; + }, + _getOpt: function (option) { + var dataAttrVal = InkElement.data(this.element)[InkElement._camelCase('tip-' + option)]; + if (dataAttrVal /* either null or "" may signify the absense of this attribute*/) { + return dataAttrVal; + } + var instanceOption = this.root.options[option]; + if (typeof instanceOption !== 'undefined') { + return instanceOption; + } + }, + _getIntOpt: function (option) { + return parseInt(this._getOpt(option), 10); + }, + _getFloatOpt: function (option) { + return parseFloat(this._getOpt(option), 10); + }, + _destroy: function () { + if (this.tooltip) { + InkElement.remove(this.tooltip); + } + this.root = null; // Cyclic reference = memory leaks + this.element = null; + this.tooltip = null; + }, + _onMouseOver: function(e) { + // on IE < 10 you can't access the mouse event not even a tick after it fired + var mousePosition = this._getMousePosition(e); + var delay = this._getFloatOpt('delay'); + if (delay) { + this._delayTimeout = setTimeout(Ink.bind(function () { + if (!this.tooltip) { + this._makeTooltip(mousePosition); + } + this._delayTimeout = null; + }, this), delay * 1000); + } else { + this._makeTooltip(mousePosition); + } + }, + _onMouseMove: function(e) { + if (this._getOpt('where') === 'mousemove' && this.tooltip) { + var mPos = this._getMousePosition(e); + this._setPos(mPos[0], mPos[1]); + } + }, + _onMouseOut: function () { + if (!this._getIntOpt('forever')) { + this._removeTooltip(); + } + if (this._delayTimeout) { + clearTimeout(this._delayTimeout); + this._delayTimeout = null; + } + }, + _onTooltipMouseOver: function () { + if (this.tooltip) { // If tooltip is already being removed, this has no effect + this._removeTooltip(); + } + }, + _setPos: function(left, top) { + left += this._getIntOpt('left'); + top += this._getIntOpt('top'); + var pageDims = this._getPageXY(); + if (this.tooltip) { + var elmDims = [InkElement.elementWidth(this.tooltip), InkElement.elementHeight(this.tooltip)]; + var scrollDim = this._getScroll(); + + if((elmDims[0] + left - scrollDim[0]) >= (pageDims[0] - 20)) { + left = (left - elmDims[0] - this._getIntOpt('left') - 10); + } + if((elmDims[1] + top - scrollDim[1]) >= (pageDims[1] - 20)) { + top = (top - elmDims[1] - this._getIntOpt('top') - 10); + } + + this.tooltip.style.left = left + 'px'; + this.tooltip.style.top = top + 'px'; + } + }, + _getPageXY: function() { + var cWidth = 0; + var cHeight = 0; + if( typeof( window.innerWidth ) === 'number' ) { + cWidth = window.innerWidth; + cHeight = window.innerHeight; + } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { + cWidth = document.documentElement.clientWidth; + cHeight = document.documentElement.clientHeight; + } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { + cWidth = document.body.clientWidth; + cHeight = document.body.clientHeight; + } + return [parseInt(cWidth, 10), parseInt(cHeight, 10)]; + }, + _getScroll: function() { + var dd = document.documentElement, db = document.body; + if (dd && (dd.scrollLeft || dd.scrollTop)) { + return [dd.scrollLeft, dd.scrollTop]; + } else if (db) { + return [db.scrollLeft, db.scrollTop]; + } else { + return [0, 0]; + } + }, + _getMousePosition: function(e) { + return [parseInt(InkEvent.pointerX(e), 10), parseInt(InkEvent.pointerY(e), 10)]; + } + }; + + return Tooltip; +}); + +/** + * Elements in a tree structure + * @module Ink.UI.TreeView_1 + * @version 1 + */ +Ink.createModule('Ink.UI.TreeView', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1'], function(Common, Event, Css, Element, Selector, InkArray ) { + 'use strict'; + + + /** + * Shows elements in a tree structure which can be expanded and contracted. + * A TreeView is built with "node"s and "children". "node"s are `li` tags, and "children" are `ul` tags. + * You can build your TreeView out of a regular UL and LI element structure which you already use to display lists with several levels. + * If you want a node to be open when the TreeView is built, just add the data-open="true" attribute to it. + * + * @class Ink.UI.TreeView + * @constructor + * @version 1 + * @param {String|DOMElement} selector Element or selector. + * @param {String} [options] Options object, containing: + * @param {String} [options.node] Selector for the nodes. Defaults to 'li'. + * @param {String} [options.children] Selector for the children. Defaults to 'ul'. + * @param {String} [options.parentClass] CSS classes to be added to parent nodes. Defaults to 'parent'. + * @param {String} [options.openClass] CSS classes to be added to the icon when a parent is open. Defaults to 'fa fa-minus-circle'. + * @param {String} [options.closedClass] CSS classes to be added to the icon when a parent is closed. Defaults to 'fa fa-plus-circle'. + * @param {String} [options.hideClass] CSS Class to toggle visibility of the children. Defaults to 'hide-all'. + * @param {String} [options.iconTag] The name of icon tag. The component tries to find a tag with that name as a direct child of the node. If it doesn't find it, it creates it. Defaults to 'i'. + * @param {Boolean} [options.stopDefault] Flag to stops the default behavior of the click handler. Defaults to true. + * @example + * + * + * + * @sample Ink_UI_TreeView_1.html + */ + function TreeView() { + Common.BaseUIComponent.apply(this, arguments); + } + + TreeView._name = 'TreeView_1'; + + TreeView._optionDefinition = { + 'node': ['String', 'li'], + // [3.0.1] Deprecate this terrible, terrible name + 'child': ['String',null], + 'children': ['String','ul'], + 'parentClass': ['String','parent'], + 'openNodeClass': ['String', 'open'], + 'openClass': ['String','fa fa-minus-circle'], + 'closedClass': ['String','fa fa-plus-circle'], + 'hideClass': ['String','hide-all'], + 'iconTag': ['String', 'i'], + 'stopDefault' : ['Boolean', true] + }; + + TreeView.prototype = { + /** + * Init function called by the constructor. Sets the necessary event handlers. + * + * @method _init + * @private + */ + _init: function(){ + if (this._options.child) { + Ink.warn('Ink.UI.TreeView: options.child is being renamed to options.children.'); + this._options.children = this._options.child; + } + + this._handlers = { + click: Ink.bindEvent(this._onClick,this) + }; + + Event.on(this._element, 'click', this._options.node, this._handlers.click); + + InkArray.each(Ink.ss(this._options.node, this._element), Ink.bind(function(item){ + if( this.isParent(item) ) { + Css.addClassName(item, this._options.parentClass); + + var isOpen = this.isOpen(item); + if( !this._getIcon(item) ){ + Element.create(this._options.iconTag, { insertTop: item }); + } + + this._setNodeOpen(item, isOpen); + } + },this)); + }, + + _getIcon: function (node) { + return Ink.s('> ' + this._options.iconTag, node); + }, + + /** + * Checks if a node is open. + * + * @method isOpen + * @param {DOMElement} node The tree node to check + **/ + isOpen: function (node) { + if (!this._getChild(node)) { + throw new Error('not a node!'); + } + + return Element.data(node).open === 'true' || + Css.hasClassName(node, this._options.openNodeClass); + }, + + /** + * Checks if a node is a parent. + * + * @method isParent + * @param {DOMElement} node Node to check + **/ + isParent: function (node) { + return Css.hasClassName(node, this._options.parentClass) || + this._getChild(node) != null; + }, + + _setNodeOpen: function (node, beOpen) { + var child = this._getChild(node); + if (child) { + Css.setClassName(child, this._options.hideClass, !beOpen); + var icon = this._getIcon(node); + + node.setAttribute('data-open', beOpen); + + /* + * Don't refactor this to + * + * setClassName(el, className, status); setClassName(el, className, !status); + * + * because it won't work with multiple classes. + * + * Doing: + * setClassName(el, 'fa fa-whatever', true);setClassName(el, 'fa fa-whatever-else', false); + * + * will remove 'fa' although it is a class we want. + */ + + var toAdd = beOpen ? this._options.openClass : this._options.closedClass; + var toRemove = beOpen ? this._options.closedClass : this._options.openClass; + Css.removeClassName(icon, toRemove); + Css.addClassName(icon, toAdd); + + Css.setClassName(node, this._options.openNodeClass, beOpen); + } else { + Ink.error('Ink.UI.TreeView: node', node, 'is not a node!'); + } + }, + + /** + * Opens one of the tree nodes + * + * Make sure you pass the node's DOMElement + * @method open + * @param {DOMElement} node The node you wish to open. + **/ + open: function (node) { + this._setNodeOpen(node, true); + }, + + /** + * Closes one of the tree nodes + * + * Make sure you pass the node's DOMElement + * @method close + * @param {DOMElement} node The node you wish to close. + **/ + close: function (node) { + this._setNodeOpen(node, false); + }, + + /** + * Toggles a node state + * + * @method toggle + * @param {DOMElement} node The node to toggle. + **/ + toggle: function (node) { + if (this.isOpen(node)) { + this.close(node); + } else { + this.open(node); + } + }, + + _getChild: function (node) { + return Selector.select(this._options.children, node)[0] || null; + }, + + /** + * Handles the click event (as specified in the _init function). + * + * @method _onClick + * @param {Event} event + * @private + */ + _onClick: function(ev){ + /** + * Summary: + * If the clicked element is a "node" as defined in the options, will check if it has any "child". + * If so, will toggle its state and stop the event's default behavior if the stopDefault option is true. + **/ + + if (!this.isParent(ev.currentTarget) || + Selector.matchesSelector(ev.target, this._options.node) || + Selector.matchesSelector(ev.target, this._options.children)) { + return; + } + + if (this._options.stopDefault){ + ev.preventDefault(); + } + + this.toggle(ev.currentTarget); + } + }; + + Common.createUIComponent(TreeView); + + return TreeView; +}); + +Ink.createModule('Ink.UI.Upload', '1', [ + 'Ink.Dom.Event_1', + 'Ink.Dom.Element_1', + 'Ink.Dom.Browser_1', + 'Ink.UI.Common_1' +], function(Event, Element, Browser, Common) { + 'use strict'; + + var DirectoryReader = function(options) { + this.init(options); + }; + + DirectoryReader.prototype = { + init: function(options) { + this._options = Ink.extendObj({ + entry: undefined, + maxDepth: 10 + }, options || {}); + + try { + this._read(); + } catch(e) { + Ink.error(e); + } + }, + + + _read: function() { + if(!this._options.entry) { + Ink.error('You must specify the entry!'); + return; + } + + try { + this._readDirectories(); + } catch(e) { + Ink.error(e); + } + }, + + + _readDirectories: function() { + var entries = [], + running = false, + maxDepth = 0; + + /* TODO return as tree because much better well */ + var _readEntries = Ink.bind(function(currentEntry) { + var dir = currentEntry.createReader(); + running = true; + + dir.readEntries(Ink.bind(function(res) { + if(res.length > 0) { + for(var i = 0, len = res.length; i=0; i--) { + if(typeof(arr[i]) === 'undefined' || arr[i] === null || arr[i] === '') { + arr.splice(i, 1); + } + } + return arr; + } + }; + + var Queue = { + lists: [], + items: [], + + + /** + * Create new queue list + * @function create + * @public + * @param {String} list name + * @param {Function} function to iterate on items + * @return {Object} list id + */ + create: function(name) { + var id; + name = String(name); + this.lists.push({name: name}); + id = this.lists.length - 1; + return id; + }, + + + getItems: function(parentId) { + if(!parentId) { + return this.items; + } + var items = []; + for(var i = 0, len = this.items.length; i=0; i--) { + if(this.items[i] && id === this.items[i].parentId) { + this.remove(this.items[i].parentId, this.items[i].pid); + } + } + if(!keepList) { + this.lists.splice(id, 1); + } + return true; + } catch(e) { + Ink.error('Purge: invalid id'); + return false; + } + }, + + + /** + * add an item to a list + * @function add + * @public + * @param {String} name + * @param {Object} item + * @return {Number} pid + */ + add: function(parentId, item, priority) { + if(!this.lists[parentId]) { + return false; + } + if(typeof(item) !== 'object') { + item = String(item); + } + + var pid = parseInt(Math.round(Math.random() * 100000) + "" + Math.round(Math.random() * 100000), 10); + priority = priority || 0; + + this.items.push({parentId: parentId, item: item, priority: priority || 0, pid: pid}); + return pid; + }, + + + /** + * View list + * @function view + * @public + * @param {Number} list id + * @param {Number} process id + * @return {Object} item + */ + view: function(parentId, pid) { + var id = this._searchByPid(parentId, pid); + if(id === false) { + return false; + } + return this.items[id]; + }, + + + /** + * Remove an item + * @function remove + * @public + * @param {Object} item + * @return {Object|Boolean} removed item or false if not found + */ + remove: function(parentId, pid) { + try { + var id = this._searchByPid(parentId, pid); + if(id === false) { + return false; + } + this.items.splice(id, 1); + return true; + } catch(e) { + Ink.error('Remove: invalid id'); + return false; + } + }, + + _searchByPid: function(parentId, pid) { + if(!parentId && typeof(parentId) === 'boolean' || !pid) { + return false; + } + + parentId = parseInt(parentId, 10); + pid = parseInt(pid, 10); + + if(isNaN(parentId) || isNaN(pid)) { + return false; + } + + for(var i = 0, len = this.items.length; i this._options.minSizeToUseChunks; + }, + + + _dropEventHandler: function(ev) { + Event.stop(ev); + + this.publish('DropComplete', ev.dataTransfer); + + var data = ev.dataTransfer; + + if(!data || !data.files || !data.files.length) { + return false; + } + + this._files = data.files; + this._files = Array.prototype.slice.call(this._files || [], 0); + + // check if webkitGetAsEntry exists on first item + if(data.items && data.items[0] && data.items[0].webkitGetAsEntry) { + if(!this._options.foldersEnabled) { + return setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0); + } + var entry, folders = []; + for(var i = ev.dataTransfer.items.length-1; i>=0; i--) { + entry = ev.dataTransfer.items[i].webkitGetAsEntry(); + if(entry && entry.isDirectory) { + folders.push(entry); + this._files[i].isDirectory = true; + this._files.splice(i, 1); + } + } + // starting callback hell + this._addFolderToQueue(folders, Ink.bind(function() { + setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0); + }, this)); + } else { + setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0); + } + + return true; + }, + + + _addFolderToQueue: function(folders, cb) { + var files = [], invalidFolders = {}; + + if(!folders || !folders.length) { + cb(); + return files; + } + + var getFiles = function(entries) { + var files = []; + for(var i = 0, len = entries.length; i this._options.maxFilesize) { + this.publish('MaxSizeFailure', file, this._options.maxFilesize); + continue; + } + + fileID = parseInt(Math.round(Math.random() * 100000) + "" + Math.round(Math.random() * 100000), 10); + o = { id: i, data: file, fileID: fileID, directory: file.isDirectory }; + Queue.add(this._queueId, o); + + this.publish('FileAddedToQueue', o); + } + this._processQueue(true); + this._files = []; + }, + + + _processQueue: function(internalUpload) { + if(this._queueRunning) { + return false; + } + + this.running = 0; + var max = 1, i = 0, items, + queueLen = Queue.items.length; + this._queueRunning = true; + + this.interval = setInterval(Ink.bind(function() { + if(Queue.items.length === i && this.running === 0) { + Queue.purge(this._queueId, true); + this._queueRunning = false; + clearInterval(this.interval); + this.publish('QueueEnd', this._queueId, queueLen); + } + + items = Queue.getItems(this._queueId); + + if(this.running < max && items[i]) { + if(!items[i].canceled) { + _doRequest.call(this, items[i].pid, items[i].item.data, items[i].item.fileID, items[i].item.directory, internalUpload); + this.running++; + i++; + } else { + var j = i; + while(items[j] && items[j].canceled) { + i++; + j++; + } + } + return true; + } + return false; + }, this), 100); + + + var _doRequest = function(pid, data, fileID, directory, internalUpload) { + var o = { + file: data, + fileID: fileID, + cb: Ink.bind(function() { + this.running--; + }, this) + }; + if(internalUpload) { + if(directory) { + // do magic + o.cb(); + } else { + this._upload(o); + } + } + }; + + return true; + }, + + + _upload: function(o) { + var file = o.file, + xhr = new XMLHttpRequest(), + fileID = o.fileID; + + this.publish('BeforeUpload', file, this._options.extraData, fileID, xhr, this._supportChunks(file.size)); + + var forceAbort = function(showError) { + if(o.cb && typeof(o.cb === 'function')) { + o.cb(); + } + + this.publish('OnProgress', { + length: file.size, + lengthComputable: true, + loaded: file.size, + total: file.size + }, file, fileID); + this.publish('EndUpload', file, fileID, (showError ? { error: true } : true)); + this.publish('InvalidFile', file, 'name'); + xhr.abort(); + }; + + if(this._options.INVALID_FILE_NAME && this._options.INVALID_FILE_NAME instanceof RegExp) { + if(this._options.INVALID_FILE_NAME.test(o.file.name)) { + forceAbort.call(this); + return; + } + } + + // If file was renamed, abort it + // FU OPERA: Opera always return lastModified date as null + if(!file.lastModifiedDate && !Ink.Dom.Browser.OPERA) { + forceAbort.call(this, true); + return; + } + + xhr.upload.onprogress = Ink.bind(this.publish, this, 'OnProgress', file, fileID); + + var endpoint, method; + if(this._supportChunks(file.size)) { + if(file.size <= file.chunk_offset) { + endpoint = this._options.endpointChunkCommit; + method = 'POST'; + } else { + endpoint = this._options.endpointChunk; + if(file.chunk_upload_id) { + endpoint += '?upload_id=' + file.chunk_upload_id; + } + if(file.chunk_offset) { + endpoint += '&offset=' + file.chunk_offset; + } + method = 'PUT'; + } + } else { + endpoint = this._options.endpoint; + method = 'POST'; + } + + xhr.open(method, endpoint, true); + xhr.withCredentials = true; + xhr.setRequestHeader("x-requested-with", "XMLHttpRequest"); + if(this._supportChunks(file.size)) { + xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); + } + + var fd = new FormData(), + blob; + + if("Blob" in window && typeof Blob === 'function') { + blob = new Blob([file], { type: file.type }); + if(this._supportChunks(file.size)) { + file.chunk_offset = file.chunk_offset || 0; + blob = blob.slice(file.chunk_offset, file.chunk_offset + this._options.chunkSize); + } else { + fd.append(this._options.fileFormName, blob, file.name); + } + } else { + fd.append(this._options.fileFormName, file); + } + + if(!this._supportChunks(file.size)) { + for(var k in this._options.extraData) { + if(this._options.extraData.hasOwnProperty(k)) { + fd.append(k, this._options.extraData[k]); + } + } + } else { + fd.append('upload_id', file.chunk_upload_id); + fd.append('path', file.upload_path); + } + + if(!file.hasParent) { + if(!this._supportChunks(file.size)) { + xhr.send(fd); + } else { + if(file.size <= file.chunk_offset) { + xhr.send('upload_id=' + file.chunk_upload_id + '&path=' + file.upload_path + '/' + file.name); + } else { + xhr.send(blob); + } + } + } else { + this.publish('cbCreateFolder', file.parentID, file.fullPath, this._options.extraData, this._folders, file.rootPath, Ink.bind(function() { + if(!this._supportChunks(file.size)) { + xhr.send(fd); + } else { + if(file.size <= file.chunk_offset) { + xhr.send('upload_id=' + file.chunk_upload_id + '&path=' + file.upload_path + '/' + file.name); + } else { + xhr.send(blob); + } + } + }, this)); + } + + + xhr.onload = Ink.bindEvent(function() { + /* jshint boss:true */ + if(this._supportChunks(file.size) && file.size > file.chunk_offset) { + if(xhr.response) { + var response = JSON.parse(xhr.response); + + // check expected offset + var invalidOffset = file.chunk_offset && response.offset !== (file.chunk_offset + this._options.chunkSize) && file.size !== response.offset; + if(invalidOffset) { + if(o.cb) { + o.cb(); + } + this.publish('ErrorUpload', file, fileID); + } else { + file.chunk_upload_id = response.upload_id; + file.chunk_offset = response.offset; + file.chunk_expires = response.expires; + this._upload(o); + } + } else { + if(o.cb) { + o.cb(); + } + this.publish('ErrorUpload', file, fileID); + } + return (xhr = null); + } + + if(o.cb) { + o.cb(); + } + + if(xhr.responseText && xhr['status'] < 400) { + this.publish('EndUpload', file, fileID, xhr.responseText); + } else { + this.publish('ErrorUpload', file, fileID); + } + return (xhr = null); + }, this); + + + xhr.onerror = Ink.bindEvent(function() { + if(o.cb) { + o.cb(); + } + this.publish('ErrorUpload', file, fileID); + }, this); + + xhr.onabort = Ink.bindEvent(function() { + if(o.cb) { + o.cb(); + } + this.publish('AbortUpload', file, fileID, { + abortAll: Ink.bind(this.abortAll, this), + abortOne: Ink.bind(this.abortOne, this) + }); + }, this); + }, + + + abortAll: function() { + if(!this._queueRunning) { + return false; + } + clearInterval(this.interval); + this._queueRunning = false; + Queue.purge(this._queueId, true); + return true; + }, + + abortOne: function(id, cb) { + var items = Queue.getItems(0), + o; + for(var i = 0, len = items.length; ic;c++)b("position","absolute"),b(this._isY?"top":"left",c*this._elLength+"px")},_onTouchStart:function(a){if(!(a.touches.length>1)){this._swipeData={x:b.pointerX(a),y:b.pointerY(a)};var c=this._ulEl.getBoundingClientRect();this._swipeData.firstUlPos=c[this._isY?"top":"left"],this._swipeData.inUlX=this._swipeData.x-c.left,this._swipeData.inUlY=this._swipeData.y-c.top,i(this._ulEl,"none"),this._touchMoveIsFirstTouchMove=!0}},_onTouchMove:function(a){if(!(a.touches.length>1)){var c=b.pointerX(a),d=b.pointerY(a),e=Math.abs(d-this._swipeData.y),f=Math.abs(c-this._swipeData.x);this._touchMoveIsFirstTouchMove&&(this._touchMoveIsFirstTouchMove=void 0,this._scrolling=this._isY?f>e:e>f,this._scrolling||this._onAnimationFrame()),!this._scrolling&&this._swipeData&&(b.stopDefault(a),this._swipeData.pointerPos=this._isY?d:c)}},_onAnimationFrame:function(){var a=this._swipeData;if(a&&!this._scrolling&&!this._touchMoveIsFirstTouchMove){var b=this._element.getBoundingClientRect(),c;c=this._isY?a.pointerPos-a.inUlY-b.top:a.pointerPos-a.inUlX-b.left,this._ulEl.style[this._isY?"top":"left"]=c+"px",j(Ink.bindMethod(this,"_onAnimationFrame"))}},_onTouchEnd:function(a){if(this._swipeData&&this._swipeData.pointerPos&&!this._scrolling&&!this._touchMoveIsFirstTouchMove){var c=.1,d=this._swipeData.firstUlPos-this._ulEl.getBoundingClientRect()[this._isY?"top":"left"],e=this.getPage(),f=d/this._elLength/this._slidesPerPage;Math.abs(f)>c&&(e+=Math[0>d?"floor":"ceil"](f)),isNaN(e)||this.setPage(e),b.stopDefault(a)}i(this._ulEl,null),this._swipeData=null,this._touchMoveIsFirstTouchMove=void 0,this._scrolling=void 0},_onPaginationChange:function(a){this._setPage(a.getCurrent())},getPage:function(){return this._pagination?this._pagination.getCurrent():this._currentPage||0},setPage:function(a,b){b&&(a%=this._numPages,0>a&&(a=this._numPages-a)),a=g(a,0,this._numPages-1),this._pagination?this._pagination.setCurrent(a):this._setPage(a)},_setPage:function(a){var b=a*this._deltaLength,c=a===this._numPages-1;if(!this._options.spaceAfterLastSlide&&c&&a>0){var d=this._liEls.length-a*this._slidesPerPage;d2)&&r('the "defaults" argument must be an object mapping option names to [typestring, optional] arrays.'),k=a in h?n._coerce_from_string(m,h[a],a,b):i,k!==i?n._options_validate(k,m)?k:(s("("+a+" option) Invalid "+m+" "+q(k)),o):a in d?d[a]:o!==i?o:void r("Option "+a+" is required!")}"string"!=typeof b&&(e=d,d=c,c=b,b=""),d=d||{};var g={},h=e?a.data(e):{},k,l,m,o,p=function(a){return b&&(a=b+': "'+(""+a).replace(/"/,'\\"')+'"'),a},q=function(a){return'"'+(""+a).replace(/"/,'\\"')+'"'},r=function(a){throw new Error(p(a))},s=function(a){Ink.error(p(a)+". Ignoring option.")};for(var t in c)c.hasOwnProperty(t)&&(g[t]=f(t));return g},_coerce_from_string:function(a,b,c,d){return a in n._coerce_funcs?n._coerce_funcs[a](b,c,d):b},_options_validate:function(a,b){return b in n._options_validate_types?n._options_validate_types[b].call(n,a):!1},_coerce_funcs:function(){var a={element:function(a){return n.elOrSelector(a,"")},elements:function(a){return n.elsOrSelector(a,"",!1)},object:function(a){return a},number:function(a){return parseFloat(a)},"boolean":function(a){return!("false"===a||""===a||null===a)},string:function(a){return a},"function":function(a,b,c){return Ink.error(c+': You cannot specify the option "'+b+"\" through data-attributes because it's a function"),i}};return a["float"]=a.integer=a.number,a}(),_options_validate_types:function(){var a={string:function(a){return"string"==typeof a},number:function(a){return"number"==typeof a&&!isNaN(a)&&isFinite(a)},integer:function(a){return a===Math.round(a)},element:function(a){return n.isDOMElement(a)},elements:function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&a.length},"boolean":function(a){return"boolean"==typeof a},object:function(){return!0}};return a["float"]=a.number,a}(),clone:function(a){try{return JSON.parse(JSON.stringify(a))}catch(b){throw new Error("Given object cannot have loops!")}},childIndex:function(a){if(n.isDOMElement(a))for(var b=d.select("> *",a.parentNode),c=0,e=b.length;e>c;++c)if(b[c]===a)return c;throw"not found!"},ajaxJSON:function(a,c,d){new b(a,{evalJS:"force",method:"POST",parameters:c,onSuccess:function(a){try{if(a=a.responseJSON,"ok"!==a.status)throw"server error: "+a.message;d(null,a)}catch(b){d(b)}},onFailure:function(){d("communication failure")}})},currentLayout:function(){var a,b,e,f,g,h=d.select("#ink-layout-detector")[0];if(!h){h=document.createElement("div"),h.id="ink-layout-detector";for(e in this.Layouts)this.Layouts.hasOwnProperty(e)&&(f=this.Layouts[e],g=document.createElement("div"),g.className="show-"+f+" hide-all",g.setAttribute("data-ink-layout",f),h.appendChild(g));document.body.appendChild(h)}for(a=0,b=h.children.length;b>a;++a)if(g=h.children[a],"block"===c.getStyle(g,"display"))return g.getAttribute("data-ink-layout");return"large"},hashSet:function(a){if("object"!=typeof a)throw new TypeError("o should be an object!");var b=e.getAnchorString();b=Ink.extendObj(b,a),window.location.hash=e.genQueryString("",b).substring(1)},cleanChildren:function(a){if(!n.isDOMElement(a))throw"Please provide a valid DOMElement";for(var b,c=a.lastChild;c;)b=c.previousSibling,a.removeChild(c),c=b},storeIdAndClasses:function(a,b){if(!n.isDOMElement(a))throw"Please provide a valid DOMElement as first parameter";var c=a.id;c&&(b._id=c);var d=a.className;d&&(b._classes=d)},restoreIdAndClasses:function(a,b){if(!n.isDOMElement(a))throw"Please provide a valid DOMElement as first parameter";b._id&&a.id!==b._id&&(a.id=b._id),b._classes&&-1===a.className.indexOf(b._classes)&&(a.className?a.className+=" "+b._classes:a.className=b._classes),b._instanceId&&!a.getAttribute("data-instance")&&a.setAttribute("data-instance",b._instanceId)},_warnDoubleInstantiation:function(a,b){function c(a){return(a.constructor&&a.constructor._name||a._name||"").replace(/_.*?$/,"")}var d=n.getInstance(a);if(""!==c(b)&&d){var e=c(b);if(e){for(var f=0,g=d.length;g>f;f++)if(e===c(d[f]))return Ink.warn("Creating more than one "+e+".","(Was creating a "+e+" on:",a,")."),!1;return!0}}},registerInstance:function(a,b){if(a){if(!n.isDOMElement(b))throw new TypeError("Ink.UI.Common.registerInstance: The element passed in is not a DOM element!");if(n._warnDoubleInstantiation(b,a)===!1)return!1;var c=m.get(b);return c||(c=[],m.set(b,c)),c.push(a),!0}},unregisterInstance:function(a){if(a&&a._element)for(var b=m.get(a._element),c=0,d=b.length;d>c;c++)b[c]===a&&b.splice(c,1)},getInstance:function(a,b){a=n.elOrSelector(a);var c=m.get(a);if(c||(c=[]),"function"!=typeof b)return c;for(var d=0,e=c.length;e>d;d++)if(c[d]instanceof b)return c[d];return null},getInstanceFromSelector:function(a){return n.getInstance(n.elOrSelector(a))},getInstanceIds:function(){var a=[];for(var b in l)l.hasOwnProperty(b)&&a.push(b);return a},getInstances:function(){var a=[];for(var b in l)l.hasOwnProperty(b)&&a.push(l[b]);return a},destroyComponent:function(){n.unregisterInstance(this),this._element.parentNode.removeChild(this._element)}};return h._validateInstance=function(a){var b;if("function"!=typeof a._validate)return!0;try{b=a._validate()}catch(c){b=c}return b instanceof Error?(a._validationError=b,!1):!0},h._stubInstance=function(a,b,c){g(b.prototype,a),g(h.prototype,a),Ink.warn(c+" was not correctly created. "+(a._validationError||""))},h.getInstance=function(a){return a=n.elOrSelector(a),n.getInstance(a,this)},Ink.extendObj(h.prototype,{getOption:function(a){return!this.constructor||a in this.constructor._optionDefinition?this._options[a]:void Ink.error('"'+a+'" is not an option for '+this.constructor._name)},setOption:function(a,b){return!this.constructor||a in this.constructor._optionDefinition?void(this._options[a]=b):void Ink.error('"'+a+" is not an option for "+this.constructor._name)},getElement:function(){return this._element}}),n.BaseUIComponent=h,n.createUIComponent=function q(a,b){function c(a,b){if(!a)throw new Error("Ink.UI_1.createUIComponent: "+b)}function d(b,d,e){var f=a[b];c("undefined"!=typeof f,a+" doesn't have a \""+b+'" property. '+e),c(d&&typeof f===d,"typeof "+a+"."+b+' is not "'+d+'". '+e)}a._componentOptions=b||{},c("function"==typeof a,"constructor argument is not a function!"),d("_name","string","This property is used for error messages. Set it to the full module path and version (Ink.My.Module_1)."),d("_optionDefinition","object","This property contains the option names, types and defaults. See Ink.UI.Common.options() for reference.");var e=a.prototype;a.prototype="function"==typeof Object.create?Object.create(h.prototype):function f(){function a(){}return a.prototype=h.prototype,new a}(),Ink.extendObj(a.prototype,e),a.prototype.constructor=a,Ink.extendObj(a,h)},n}),Ink.createModule("Ink.UI.DatePicker","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Element_1","Ink.Dom.Selector_1","Ink.Util.Array_1","Ink.Util.Date_1","Ink.Dom.Browser_1"],function(a,b,c,d,e,f,g){"use strict";function h(a,b,c){return a>c&&(a=c),b>a&&(a=b),a}function i(a){var b=a.split("-");return j(+b[0],+b[1]-1,+b[2])}function j(a,b,c){return{_year:a,_month:b,_day:c}}function k(a){return{_year:a.getFullYear(),_month:a.getMonth(),_day:a.getDate()}}var l=function(){a.BaseUIComponent.apply(this,arguments)};return l._name="DatePicker_1",l._optionDefinition={autoOpen:["Boolean",!1],cleanText:["String","Clear"],closeText:["String","Close"],pickerField:["Element",null],containerElement:["Element",null],cssClass:["String","ink-calendar bottom"],dateRange:["String",null],displayInSelect:["Boolean",!1],dayField:["Element",null],monthField:["Element",null],yearField:["Element",null],format:["String","yyyy-mm-dd"],nextLinkText:["String","»"],ofText:["String"," of "],onFocus:["Boolean",!0],onMonthSelected:["Function",null],onSetDate:["Function",null],onYearSelected:["Function",null],position:["String","right"],prevLinkText:["String","«"],showClean:["Boolean",!0],showClose:["Boolean",!0],shy:["Boolean",!0],startDate:["String",null],startWeekDay:["Number",1],validDayFn:["Function",null],validMonthFn:["Function",null],validYearFn:["Function",null],nextValidDateFn:["Function",null],prevValidDateFn:["Function",null],yearRange:["String",null],month:["Object",{1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"}],wDay:["Object",{0:"Sunday",1:"Monday",2:"Tuesday",3:"Wednesday",4:"Thursday",5:"Friday",6:"Saturday"}]},l.prototype={_init:function(){this._options.format=this._dateParsers[this._options.format]||this._options.format,this._hoverPicker=!1,this._picker=this._options.pickerField||null,this._setMinMax(this._options.dateRange||this._options.yearRange),this.setDate(this._options.startDate?this._options.startDate:this._element&&this._element.value?this._element.value:new Date),(this._options.startWeekDay<0||this._options.startWeekDay>6)&&(Ink.warn('Ink.UI.DatePicker_1: option "startWeekDay" must be between 0 (sunday) and 6 (saturday)'),this._options.startWeekDay=h(this._options.startWeekDay,0,6)),Ink.extendObj(this._options,this._lang||{}),this._render(),this._listenToContainerObjectEvents()},_validate:function(){if(this._options.displayInSelect&&!(this._options.dayField&&this._options.monthField&&this._options.yearField))throw new Error("Ink.UI.DatePicker: displayInSelect option enabled.Please specify dayField, monthField and yearField selectors.")},_render:function(){this._containerObject=document.createElement("div"),this._containerObject.className=this._options.cssClass+" ink-datepicker-calendar hide-all",this._renderSuperTopBar();var b=document.createElement("div");b.className="ink-calendar-top",this._monthDescContainer=document.createElement("div"),this._monthDescContainer.className="ink-calendar-month_desc",this._monthPrev=document.createElement("div"),this._monthPrev.className="ink-calendar-prev",this._monthPrev.appendChild(d.create("a",{href:"#prev",className:"change_month_prev",setHTML:this._options.prevLinkText})),this._monthNext=document.createElement("div"),this._monthNext.className="ink-calendar-next",this._monthNext.appendChild(d.create("a",{href:"#next",className:"change_month_next",setHTML:this._options.nextLinkText})),b.appendChild(this._monthPrev),b.appendChild(this._monthDescContainer),b.appendChild(this._monthNext),this._monthContainer=document.createElement("div"),this._monthContainer.className="ink-calendar-month",this._containerObject.appendChild(b),this._containerObject.appendChild(this._monthContainer),this._monthSelector=this._renderMonthSelector(),this._containerObject.appendChild(this._monthSelector),this._yearSelector=document.createElement("ul"),this._yearSelector.className="ink-calendar-year-selector",this._containerObject.appendChild(this._yearSelector),(!this._options.onFocus||this._options.displayInSelect)&&(this._picker=this._options.pickerField?a.elOrSelector(this._options.pickerField,"pickerField"):d.create("a",{href:"#open_cal",setHTML:"open",insertBottom:this._element.parentNode,className:"ink-datepicker-picker-field"})),this._appendDatePickerToDom(),this._renderMonth(),this._monthChanger=d.create("a",{href:"#monthchanger",className:"ink-calendar-link-month",setTextContent:this._options.month[this._month+1]}),this._ofText=d.create("span",{className:"ink-calendar-of-text",setHTML:this._options.ofText}),this._yearChanger=d.create("a",{href:"#yearchanger",className:"ink-calendar-link-year",setTextContent:this._year}),this._monthDescContainer.appendChild(this._monthChanger),this._monthDescContainer.appendChild(this._ofText),this._monthDescContainer.appendChild(this._yearChanger),this._options.inline?this.show():this._addOpenCloseEvents(),this._addDateChangeHandlersToInputs()},_addDateChangeHandlersToInputs:function(){var a=this._element;this._options.displayInSelect&&(a=[this._options.dayField,this._options.monthField,this._options.yearField]),b.observeMulti(a,"change",Ink.bindEvent(function(){this._updateDate(),this._showDefaultView(),this.setDate(),this._inline||this._hoverPicker||this._hide(!0)},this))},show:function(){this._updateDate(),this._renderMonth(),c.removeClassName(this._containerObject,"hide-all")},_addOpenCloseEvents:function(){var a=this._picker||this._element;b.observe(a,"click",Ink.bindEvent(function(a){b.stop(a),this.show()},this)),this._options.autoOpen&&this.show(),this._options.displayInSelect||b.observe(a,"blur",Ink.bindEvent(function(){this._hoverPicker||this._hide(!0)},this)),this._options.shy&&b.observe(document,"click",Ink.bindEvent(function(a){for(var c=b.element(a),e=[this._options.dayField,this._options.monthField,this._options.yearField,this._picker,this._element],f=0,g=e.length;g>f;f++)if(e[f]&&d.descendantOf(e[f],c))return;this._hide(!0)},this))},_renderMonthSelector:function(){var a=document.createElement("ul");a.className="ink-calendar-month-selector";for(var b=document.createElement("ul"),c=1;12>=c;c++)b.appendChild(this._renderMonthButton(c)),c%4===0&&(a.appendChild(b),b=document.createElement("ul"));return a},_renderMonthButton:function(a){var b=document.createElement("li");return b.appendChild(d.create("a",{"data-cal-month":a,setTextContent:this._options.month[a].substring(0,3)})),b},_appendDatePickerToDom:function(){if(this._options.containerElement){var b=a.elOrSelector(this._options.containerElement);b.appendChild(this._containerObject)}var c=e.matchesSelector(this._element.parentNode,".ink-form .control-group .control");c?(this._wrapper=this._element.parentNode,this._wrapperIsControl=!0):(this._wrapper=d.create("div",{className:"ink-datepicker-wrapper"}),d.wrap(this._element,this._wrapper)),d.insertAfter(this._containerObject,this._element)},_renderSuperTopBar:function(){this._options.showClose&&this._options.showClean&&(this._superTopBar=document.createElement("div"),this._superTopBar.className="ink-calendar-top-options",this._options.showClean&&this._superTopBar.appendChild(d.create("a",{className:"clean",setHTML:this._options.cleanText})),this._options.showClose&&this._superTopBar.appendChild(d.create("a",{className:"close",setHTML:this._options.closeText})),this._containerObject.appendChild(this._superTopBar))},_listenToContainerObjectEvents:function(){b.observe(this._containerObject,"mouseover",Ink.bindEvent(function(a){b.stop(a),this._hoverPicker=!0},this)),b.observe(this._containerObject,"mouseout",Ink.bindEvent(function(a){b.stop(a),this._hoverPicker=!1},this)),b.observe(this._containerObject,"click",Ink.bindEvent(this._onClick,this))},_onClick:function(a){var d=b.element(a);return c.hasClassName(d,"ink-calendar-off")?(b.stopDefault(a),null):(b.stop(a),this._onRelativeChangerClick(d),this._onAbsoluteChangerClick(d),c.hasClassName(d,"ink-calendar-link-month")?this._showMonthSelector():c.hasClassName(d,"ink-calendar-link-year")?this._showYearSelector():c.hasClassName(d,"clean")?this._clean():c.hasClassName(d,"close")&&this._hide(!1),void this._updateDescription())},_onRelativeChangerClick:function(a){var b={change_year_next:1,change_year_prev:-1},c={change_month_next:1,change_month_prev:-1};a.className in c?this._updateCal(c[a.className]):a.className in b&&this._showYearSelector(b[a.className])},_onAbsoluteChangerClick:function(a){var b=d.data(a);Number(b.calDay)?(this.setDate(new Date(this._year,this._month,b.calDay)),this._hide()):Number(b.calMonth)?(this._month=Number(b.calMonth)-1,this._showDefaultView(),this._updateCal()):Number(b.calYear)&&this._changeYear(Number(b.calYear))},_changeYear:function(a){a=+a,isNaN(a)||(this._year=a,"function"==typeof this._options.onYearSelected&&this._options.onYearSelected(this,{year:this._year}),this._showMonthSelector())},_clean:function(){this._options.displayInSelect?(this._options.yearField.selectedIndex=0,this._options.monthField.selectedIndex=0,this._options.dayField.selectedIndex=0):this._element.value=""},_hide:function(a){a=void 0===a?!0:a,(a===!1||a&&this._options.shy)&&c.addClassName(this._containerObject,"hide-all")},_setMinMax:function(a){function b(){c._min=d,c._max=e}var c=this,d={_year:-Number.MAX_VALUE,_month:0,_day:1},e={_year:Number.MAX_VALUE,_month:11,_day:31};if(!a)return b();var g=a.split(":"),j=/^(\d{4})((\-)(\d{1,2})((\-)(\d{1,2}))?)?$/;f.each([{name:"_min",date:g[0],noLim:d},{name:"_max",date:g[1],noLim:e}],Ink.bind(function(a){var b=a.noLim;if("NOW"===a.date.toUpperCase()){var c=new Date;b=k(c)}else"EVER"===a.date.toUpperCase()?b=a.noLim:j.test(a.date)&&(b=i(a.date),b._month=h(b._month,0,11),b._day=h(b._day,1,this._daysInMonth(b._year,b._month+1)));this[a.name]=b},this));var l=-1!==this._dateCmp(this._max,this._min);l||b()},_fitDateToRange:function(a){return this._isValidDate(a)||(a=k(new Date)),-1===this._dateCmp(a,this._min)?Ink.extendObj({},this._min):1===this._dateCmp(a,this._max)?Ink.extendObj({},this._max):Ink.extendObj({},a)},_dateWithinRange:function(a){return arguments.length||(a=this),!this._dateAboveMax(a)&&!this._dateBelowMin(a)},_dateAboveMax:function(a){return 1===this._dateCmp(a,this._max)},_dateBelowMin:function(a){return-1===this._dateCmp(a,this._min)},_dateCmp:function(a,b){return this._dateCmpUntil(a,b,"_day")},_dateCmpUntil:function(a,b,c){var d=["_year","_month","_day"],e=-1;do{if(e++,a[d[e]]>b[d[e]])return 1;if(a[d[e]]this._min._year){var f=d.create("li");f.appendChild(d.create("a",{href:"#year_prev",className:"change_year_prev",setHTML:this._options.prevLinkText})),e.appendChild(f)}else e.appendChild(d.create("li",{setHTML:" "}));for(var g=1;11>g;g++)g%4===0&&(e=d.create("ul"),this._yearSelector.appendChild(e)),c=b+g-1,e.appendChild(this._getYearButton(c));if(cthis._max._year||b+9=1&&+a._month+1<=12&&+a._day>=1&&+a._day<=this._daysInMonth(a._year,a._month+1)},_isDate:function(a,b){try{if("undefined"==typeof a)return!1;var c=g.set(a,b);if(c&&this._isValidDate(k(c)))return!0}catch(d){}return!1},_acceptableDay:function(a){return this._acceptableDateComponent(a,"validDayFn")},_acceptableMonth:function(a){return this._acceptableDateComponent(a,"validMonthFn")},_acceptableYear:function(a){return this._acceptableDateComponent(a,"validYearFn")},_acceptableDateComponent:function(a,b){return this._options[b]?this._callUserCallbackBool(this._options[b],a):this._dateWithinRange(a)},_writeDateInFormat:function(){return g.get(this._options.format,this.getDate())},setDate:function(a){if(a&&"function"==typeof a.getDate&&(a=[a.getFullYear(),a.getMonth()+1,a.getDate()].join("-")),/\d{4}-\d{1,2}-\d{1,2}/.test(a)){var b=a.split("-");this._year=+b[0],this._month=+b[1]-1,this._day=+b[2]}this._setDate()},getDate:function(){if(!this._day)throw"Ink.UI.DatePicker: Still picking a date. Cannot getDate now!";return new Date(this._year,this._month,this._day)},_setDate:function(a){if(a){var b=d.data(a);this._day=+b.calDay||this._day}var c=this._fitDateToRange(this);this._year=c._year,this._month=c._month,this._day=c._day,this._options.displayInSelect?(this._options.dayField.value=this._day,this._options.monthField.value=this._month+1,this._options.yearField.value=this._year):this._element.value=this._writeDateInFormat(),this._options.onSetDate&&this._options.onSetDate(this,{date:this.getDate()})},_updateCal:function(a){"function"==typeof this._options.onMonthSelected&&this._options.onMonthSelected(this,{year:this._year,month:this._month}),a&&null===this._updateMonth(a)||this._renderMonth()},_daysInMonth:function(a,b){var c={2:a%400===0||a%4===0&&a%100!==0?29:28,4:30,6:30,9:30,11:30};return c[b]||31},_updateMonth:function(a){var b;return a>0?b=this._getNextMonth():0>a&&(b=this._getPrevMonth()),b?(this._year=b._year,this._month=b._month,void(this._day=b._day)):null},_getNextMonth:function(a){return this._tryLeap(a,"Month","next",function(a){return a._month+=1,a._month>11&&(a._month=0,a._year+=1),a})},_getPrevMonth:function(a){return this._tryLeap(a,"Month","prev",function(a){return a._month-=1,a._month<0&&(a._month=11,a._year-=1),a})},_getPrevYear:function(a){return this._tryLeap(a,"Year","prev",function(a){return a._year-=1,a})},_getNextYear:function(a){return this._tryLeap(a,"Year","next",function(a){return a._year+=1,a})},_tryLeap:function(a,b,c,d){a=a||{_year:this._year,_month:this._month,_day:this._day};var e="prev"===c?"_min":"_max",f=this[e];if(0===this._dateCmpUntil(a,f,b))return null;var g=this._options[c+"ValidDateFn"];return g?this._callUserCallbackDate(g,a):(a=d(a),a=this._fitDateToRange(a),this["_acceptable"+b](a)?a:null)},_getNextDecade:function(a){a=a||{_year:this._year,_month:this._month,_day:this._day};var b=this._getCurrentDecade(a);return b+10>this._max._year?null:b+10},_getPrevDecade:function(a){a=a||{_year:this._year,_month:this._month,_day:this._day};var b=this._getCurrentDecade(a);return b-10e&&(e+=6),e},_getDayButtons:function(a,b){var c=this._daysInMonth(a,b+1),e=document.createDocumentFragment(),f=d.create("ul");e.appendChild(f);for(var g=this._getFirstDayIndex(a,b),h=0;g>h;h++)f.appendChild(d.create("li",{className:"ink-calendar-empty",setHTML:" "}));for(var i=1;c>=i;i++)(i-1+g)%7===0&&(f=d.create("ul"),e.appendChild(f)),f.appendChild(this._getDayButton(a,b,i));return e},_getDayButton:function(a,b,c){var e={},f=j(a,b,c);this._acceptableDay(f)?(e["data-cal-day"]=c,this._day&&0===this._dateCmp(f,this)&&(e.className="ink-calendar-on")):e.className="ink-calendar-off",e.setTextContent=c;var g=d.create("li");return g.appendChild(d.create("a",e)),g},_getMonthCalendarHeader:function(a){for(var b=d.create("ul",{className:"ink-calendar-header"}),c,e=0;7>e;e++)c=(a+e)%7,b.appendChild(d.create("li",{setTextContent:this._options.wDay[c].substring(0,1)}));return b},_addMonthClassNames:function(a){f.forEach((a||this._monthSelector).getElementsByTagName("a"),Ink.bindMethod(this,"_addMonthButtonClassNames"))},_addMonthButtonClassNames:function(a){var b=d.data(a);if(!b.calMonth)throw"not a calendar month button!";var e=+b.calMonth-1;if(e===this._month)c.addClassName(a,"ink-calendar-on"),c.removeClassName(a,"ink-calendar-off");else{c.removeClassName(a,"ink-calendar-on");var f=!this._acceptableMonth({_year:this._year,_month:e});c.addRemoveClassName(a,"ink-calendar-off",f)}},lang:function(a){this._lang=a},showMonth:function(){this._renderMonth()},isMonthRendered:function(){var a=e.select(".ink-calendar-header",this._containerObject)[0];return"none"!==c.getStyle(a.parentNode,"display")&&"none"!==c.getStyle(a.parentNode.parentNode,"display")},destroy:function(){d.unwrap(this._element),d.remove(this._wrapper),d.remove(this._containerObject),a.unregisterInstance.call(this)}},a.createUIComponent(l),l}),Ink.createModule("Ink.UI.Draggable","1",["Ink.Dom.Element_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Browser_1","Ink.Dom.Selector_1","Ink.UI.Common_1"],function(a,b,c,d,e,f){"use strict";function g(a,b,c){return a=Math.min(a,c),a=Math.max(a,b)}function h(){f.BaseUIComponent.apply(this,arguments)}var i=0,j=1;return h._name="Draggable_1",h._optionDefinition={constraint:["String",!1],constraintElm:["Element",!1],top:["Number",!1],right:["Number",!1],bottom:["Number",!1],left:["Number",!1],handle:["Element",!1],revert:["Boolean",!1],cursor:["String","move"],zIndex:["Number",9999],fps:["Number",0],droppableProxy:["Element",!1],mouseAnchor:["String",void 0],dragClass:["String","drag"],skipChildren:["Boolean",!0],onStart:["Function",!1],onEnd:["Function",!1],onDrag:["Function",!1],onChange:["Function",!1]},h.prototype={_init:function(){var a=this._options;this.constraintElm=a.constraintElm&&f.elOrSelector(a.constraintElm),this.handle=!1,this.elmStartPosition=!1,this.active=!1,this.dragged=!1,this.prevCoords=!1,this.placeholder=!1,this.position=!1,this.zindex=!1,this.firstDrag=!0,a.fps&&(this.deltaMs=1e3/a.fps,this.lastRunAt=0),this.handlers={},this.handlers.start=Ink.bindEvent(this._onStart,this),this.handlers.dragFacade=Ink.bindEvent(this._onDragFacade,this),this.handlers.drag=Ink.bindEvent(this._onDrag,this),this.handlers.end=Ink.bindEvent(this._onEnd,this),this.handlers.selectStart=function(a){return b.stop(a),!1},this.handle=this._options.handle?f.elOrSelector(this._options.handle):this._element,this.handle.style.cursor=a.cursor,b.observe(this.handle,"touchstart",this.handlers.start),b.observe(this.handle,"mousedown",this.handlers.start),d.IE&&b.observe(this._element,"selectstart",this.handlers.selectStart)},destroy:function(){b.stopObserving(this.handle,"touchstart",this.handlers.start),b.stopObserving(this.handle,"mousedown",this.handlers.start),d.IE&&b.stopObserving(this._element,"selectstart",this.handlers.selectStart)},_getCoords:function(b){var c=[a.scrollWidth(),a.scrollHeight()];return{x:(b.touches?b.touches[0].clientX:b.clientX)+c[i],y:(b.touches?b.touches[0].clientY:b.clientY)+c[j]}},_cloneStyle:function(b,d){d.className=b.className,d.style.borderWidth="0",d.style.padding="0",d.style.position="absolute",d.style.width=a.elementWidth(b)+"px",d.style.height=a.elementHeight(b)+"px",d.style.left=a.elementLeft(b)+"px",d.style.top=a.elementTop(b)+"px",d.style.cssFloat=c.getStyle(b,"float"),d.style.display=c.getStyle(b,"display")},_onStart:function(d){if(!this.active&&b.isLeftClick(d)||"undefined"==typeof d.button){var e=b.element(d);if(this._options.skipChildren&&e!==this.handle)return;b.stop(d),c.addClassName(this._element,this._options.dragClass),this.elmStartPosition=[a.elementLeft(this._element),a.elementTop(this._element)];var f=[parseInt(c.getStyle(this._element,"left"),10),parseInt(c.getStyle(this._element,"top"),10)],g=a.elementDimensions(this._element);this.originalPosition=[f[i]?f[i]:null,f[j]?f[j]:null],this.delta=this._getCoords(d),this.active=!0,this.position=c.getStyle(this._element,"position"),this.zindex=c.getStyle(this._element,"zIndex");var h=document.createElement("div");if(h.style.position=this.position,h.style.width=g[i]+"px",h.style.height=g[j]+"px",h.style.marginTop=c.getStyle(this._element,"margin-top"),h.style.marginBottom=c.getStyle(this._element,"margin-bottom"),h.style.marginLeft=c.getStyle(this._element,"margin-left"),h.style.marginRight=c.getStyle(this._element,"margin-right"),h.style.borderWidth="0",h.style.padding="0",h.style.cssFloat=c.getStyle(this._element,"float"),h.style.display=c.getStyle(this._element,"display"),h.style.visibility="hidden",this.delta2=[this.delta.x-this.elmStartPosition[i],this.delta.y-this.elmStartPosition[j]],this._options.mouseAnchor){var k=this._options.mouseAnchor.split(" "),l=[g[i],g[j]];"left"===k[0]?l[i]=0:"center"===k[0]&&(l[i]=parseInt(l[i]/2,10)),"top"===k[1]?l[j]=0:"center"===k[1]&&(l[j]=parseInt(l[j]/2,10)),this.applyDelta=[this.delta2[i]-l[i],this.delta2[j]-l[j]]}var m=this._options.fps?"dragFacade":"drag";if(this.placeholder=h,this._options.onStart&&this._options.onStart(this._element,d),this._options.droppableProxy){this.proxy=document.createElement("div"),g=[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight];var n=this.proxy.style;n.width=g[i]+"px",n.height=g[j]+"px",n.position="fixed",n.left="0",n.top="0",n.zIndex=this._options.zindex+1,n.backgroundColor="#FF0000",c.setOpacity(this.proxy,0);for(var o=document.body.firstChild;o&&1!==o.nodeType;)o=o.nextSibling;document.body.insertBefore(this.proxy,o),b.observe(this.proxy,"mousemove",this.handlers[m]),b.observe(this.proxy,"touchmove",this.handlers[m])}else b.observe(document,"mousemove",this.handlers[m]);return this._element.style.position="absolute",this._element.style.zIndex=this._options.zindex,this._element.parentNode.insertBefore(this.placeholder,this._element),this._onDrag(d),b.observe(document,"mouseup",this.handlers.end),b.observe(document,"touchend",this.handlers.end),!1}},_onDragFacade:function(a){var b=+new Date;(!this.lastRunAt||b>this.lastRunAt+this.deltaMs)&&(this.lastRunAt=b,this._onDrag(a))},_onDrag:function(c){if(this.active){b.stop(c),this.dragged=!0;var d=this._getCoords(c),e=d.x,f=d.y,h=this._options,k=!1,l=!1;if(this.prevCoords&&e!==this.prevCoords.x||f!==this.prevCoords.y){h.onDrag&&h.onDrag(this._element,c),this.prevCoords=d,k=this.elmStartPosition[i]+e-this.delta.x,l=this.elmStartPosition[j]+f-this.delta.y;var m=a.elementDimensions(this._element);if(this.constraintElm){var n=a.offset(this.constraintElm),o=a.elementDimensions(this.constraintElm),p=n[j]+(h.top||0),q=n[j]+o[j]-(h.bottom||0),r=n[i]+(h.left||0),s=n[i]+o[i]-(h.right||0);l=g(l,p,q-m[j]),k=g(k,r,s-m[i])}else if(h.constraint){var t=h.right===!1?a.pageWidth()-m[i]:h.right,u=h.left===!1?0:h.left,v=h.top===!1?0:h.top,w=h.bottom===!1?a.pageHeight()-m[j]:h.bottom;("horizontal"===h.constraint||"both"===h.constraint)&&(k=g(k,u,t)),("vertical"===h.constraint||"both"===h.constraint)&&(l=g(l,v,w))}var x=Ink.getModule("Ink.UI.Droppable_1");if(this.firstDrag&&(x&&x.updateAll(),this.firstDrag=!1),k&&(this._element.style.left=k+"px"),l&&(this._element.style.top=l+"px"),x){var y=this._options.mouseAnchor?{x:e-this.applyDelta[i],y:f-this.applyDelta[j]}:d;x.action(y,"drag",c,this._element)}h.onChange&&h.onChange(this)}}},_onEnd:function(d){if(b.stopObserving(document,"mousemove",this.handlers.drag),b.stopObserving(document,"touchmove",this.handlers.drag),this._options.fps&&this._onDrag(d),c.removeClassName(this._element,this._options.dragClass),this.active&&this.dragged){this._options.droppableProxy&&document.body.removeChild(this.proxy),this.pt&&(a.remove(this.pt),this.pt=void 0),this.placeholder&&a.remove(this.placeholder),this._options.revert&&(this._element.style.position=this.position,this._element.style.zIndex=null!==this.zindex?this.zindex:"auto",this._element.style.left=this.originalPosition[i]?this.originalPosition[i]+"px":"",this._element.style.top=this.originalPosition[j]?this.originalPosition[j]+"px":""),this._options.onEnd&&this._options.onEnd(this._element,d);var e=Ink.getModule("Ink.UI.Droppable_1");e&&e.action(this._getCoords(d),"drop",d,this._element),this.position=!1,this.zindex=!1,this.firstDrag=!0}this.active=!1,this.dragged=!1}},f.createUIComponent(h),h}),Ink.createModule("Ink.UI.Drawer","1",["Ink.UI.Common_1","Ink.Dom.Loaded_1","Ink.Dom.Selector_1","Ink.Dom.Element_1","Ink.Dom.Event_1","Ink.Dom.Css_1"],function(a,b,c,d,e,f){"use strict";function g(a){Ink.warn('Ink.UI.Drawer_1: Could not find the "'+a+'" element on this page. Please make sure it exists.')}function h(b){a.BaseUIComponent.apply(this,[document.body,b])}return h._name="Drawer_1",h._optionDefinition={parentSelector:["String",".ink-drawer"],leftDrawer:["String",".left-drawer"],leftTrigger:["String",".left-drawer-trigger"],rightDrawer:["String",".right-drawer"],rightTrigger:["String",".right-drawer-trigger"],contentDrawer:["String",".content-drawer"],closeOnContentClick:["Boolean",!0],closeOnLinkClick:["Boolean",!0],mode:["String","push"],sides:["String","both"]},h.prototype={_init:function(){if(this._contentDrawers=Ink.ss(this._options.contentDrawer),this._leftDrawer=Ink.s(this._options.leftDrawer),this._leftTriggers=Ink.ss(this._options.leftTrigger),this._rightDrawer=Ink.s(this._options.rightDrawer),this._rightTriggers=Ink.ss(this._options.rightTrigger),f.addClassName(document.body,"ink-drawer"),0===this._contentDrawers.length)throw new Error('Ink.UI.Drawer_1: Could not find any "'+this._options.contentDrawer+'" elements on this page. Please make sure you have at least one.');switch(this._options.sides){case"both":this._triggers=this._options.leftTrigger+", "+this._options.rightTrigger+", "+this._options.contentDrawer;break;case"left":this._triggers=this._options.leftTrigger+", "+this._options.contentDrawer;break;case"right":this._triggers=this._options.rightTrigger+", "+this._options.contentDrawer}"left"===this._options.sides||"both"===this._options.sides?(this._leftDrawer||g(this._options.leftDrawer),0===this._leftTriggers.length&&g(this._options.leftTrigger)):(this._rightDrawer||g(this._options.rightDrawer),0===this._rightTriggers.length&&g(this._options.rightTrigger)),this._isOpen=!1,this._direction=void 0,this._handlers={click:Ink.bindEvent(this._onClick,this),afterTransition:Ink.bindEvent(this._afterTransition,this)},this._delay=10,this._addEvents()},_onClick:function(a){var b=Ink.bind(function(b){this._isOpen?this.close():this.open(b),a.preventDefault()},this);d.findUpwardsBySelector(a.currentTarget,this._options.leftTrigger)?b("left"):d.findUpwardsBySelector(a.currentTarget,this._options.rightTrigger)?b("right"):d.findUpwardsBySelector(a.currentTarget,this._options.contentDrawer)?this._options.closeOnContentClick&&this.close():this._options.closeOnLinkClick&&d.isLink(a.target)&&this.close()},_afterTransition:function(){this._isOpen||("left"===this._direction?f.removeClassName(this._leftDrawer,"show"):f.removeClassName(this._rightDrawer,"show"))},_addEvents:function(){e.on(document.body,"click",this._triggers+', a[href*="#"]',this._handlers.click)},open:function(a){this._isOpen=!0,this._direction=a;var b="left"===a?this._leftDrawer:this._rightDrawer;f.addClassName(b,"show"),setTimeout(Ink.bind(function(){f.addClassName(document.body,[this._options.mode,a])},this),this._delay)},close:function(){this._isOpen!==!1&&(this._isOpen=!1,e.one(document.body,"transitionend oTransitionEnd webkitTransitionEnd",this._handlers.afterTransition),f.removeClassName(document.body,[this._options.mode,this._direction]))}},a.createUIComponent(h),h}),Ink.createModule("Ink.UI.Dropdown","1",["Ink.UI.Common_1","Ink.UI.Toggle_1","Ink.Dom.Event_1","Ink.Dom.Element_1"],function(a,b,c,d){"use strict";function e(){a.BaseUIComponent.apply(this,arguments)}return e._name="Dropdown_1",e._optionDefinition={target:["Element"],hoverOpen:["Number",null],dismissOnInsideClick:["Boolean",!1],dismissOnOutsideClick:["Boolean",!0],dismissAfter:["Number",null],onInsideClick:["Function",null],onOutsideClick:["Function",null],onOpen:["Function",null],onDismiss:["Function",null]},e.prototype={_init:function(){this._toggle=new b(this._element,{target:this._options.target,closeOnInsideClick:null,closeOnClick:!1,onChangeState:Ink.bind(function(a){return this._openOrDismiss(a,!0,!0)},this)}),c.observeMulti([this._options.target,this._element],"mouseout",Ink.bindMethod(this,"_onMouseOut")),c.observeMulti([this._options.target,this._element],"mouseover",Ink.bindMethod(this,"_onMouseOver")),c.observe(this._options.target,"click",Ink.bindMethod(this,"_onInsideClick")),c.observe(document,"click",Ink.bindMethod(this,"_onOutsideClick"))},_onMouseOver:function(){"number"==typeof this._options.hoverOpen&&this._toggle.getState()===!1&&(clearTimeout(this._openTimeout),this._openTimeout=setTimeout(Ink.bindMethod(this,"open",!0),1e3*this._options.hoverOpen)),"number"==typeof this._options.dismissAfter&&clearTimeout(this._dismissTimeout)},_onMouseOut:function(){"number"==typeof this._options.dismissAfter&&this._toggle.getState()===!0&&(clearTimeout(this._dismissTimeout),this._dismissTimeout=setTimeout(Ink.bindMethod(this,"dismiss",!0),1e3*this._options.dismissAfter)),"number"==typeof this._options.hoverOpen&&clearTimeout(this._openTimeout)},_onInsideClick:function(a){var b=this._handlerCall("onInsideClick",c.element(a));b!==!1&&this._options.dismissOnInsideClick&&this.dismiss(!0)},_onOutsideClick:function(a){var b=c.element(a),e=d.findUpwardsHaving(b,Ink.bind(function(a){return a===this._element},this)),f=d.findUpwardsHaving(b,Ink.bind(function(a){return a===this._options.target},this));if(!e&&!f){var g=this._handlerCall("onOutsideClick",b);if(g===!1)return;this._options.dismissOnOutsideClick&&this.dismiss(!0)}},dismiss:function(a,b){this._openOrDismiss(!1,a,b)},open:function(a,b){this._openOrDismiss(!0,a,b)},_openOrDismiss:function(a,b,c){if(!this._toggle||this._toggle.getState()!==a){if(b&&this._handlerCall(a?"onOpen":"onDismiss")===!1)return!1;c||this._toggle.setState(a),clearTimeout(this._dismissTimeout),clearTimeout(this._openTimeout)}},_handlerCall:function(a){return this._options[a]?this._options[a].call(this,[].slice.call(arguments,1)):void 0}},a.createUIComponent(e),e}),Ink.createModule("Ink.UI.Droppable","1",["Ink.Dom.Element_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.UI.Common_1","Ink.Util.Array_1","Ink.Dom.Selector_1"],function(a,b,c,d,e,f){"use strict";var g=function(a){return function(b){return c.addClassName(a,b)}},h=function(a){return function(b){return c.removeClassName(a,b)}},i={debug:!1,_droppables:[],_draggables:[],add:function(b,c){function e(a){a.style.position="inherit"}b=d.elOrSelector(b,"Droppable.add target element");var f=Ink.extendObj({hoverClass:c.hoverclass||!1,accept:!1,onHover:!1,onDrop:!1,onDropOut:!1},c||{},a.data(b));"string"==typeof f.hoverClass&&(f.hoverClass=f.hoverClass.split(/\s+/));var g=this,h={move:function(a,b){e(a),b.appendChild(a)},copy:function(a,b){e(a),b.appendChild(a.cloneNode(!0))},revert:function(a){g._findDraggable(a).originalParent.appendChild(a),e(a)}},i;if("string"==typeof f.onHover&&(i=f.onHover,f.onHover=h[i],void 0===f.onHover))throw new Error("Unknown hover event handler: "+i);if("string"==typeof f.onDrop&&(i=f.onDrop,f.onDrop=h[i],void 0===f.onDrop))throw new Error("Unknown drop event handler: "+i);if("string"==typeof f.onDropOut&&(i=f.onDropOut,f.onDropOut=h[i],void 0===f.onDropOut))throw new Error("Unknown dropOut event handler: "+i);var j={element:b,data:{},options:f};this._droppables.push(j),this._update(j)},_findData:function(a){for(var b=this._droppables,c=0,d=b.length;d>c;c++)if(b[c].element===a)return b[c]},_findDraggable:function(a){for(var b=this._draggables,c=0,d=b.length;d>c;c++)if(b[c].element===a)return b[c]},updateAll:function(){e.each(this._droppables,i._update)},update:function(a){this._update(this._findData(a))},_update:function(b){var c=b.data,d=b.element;c.left=a.offsetLeft(d),c.top=a.offsetTop(d),c.right=c.left+a.elementWidth(d),c.bottom=c.top+a.elementHeight(d)},remove:function(a){a=d.elOrSelector(a);for(var b=this._droppables.length,c=0;b>c;c++)if(this._droppables[c].element===a){this._droppables.splice(c,1);break}return b!==this._droppables.length},action:function(a,b,c,d){e.each(this._droppables,Ink.bind(function(i){var j=i.data,k=i.options,l=i.element;(!k.accept||f.matches(k.accept,[d]).length)&&("drag"!==b||this._findDraggable(d)||this._draggables.push({element:d,originalParent:d.parentNode}),a.x>=j.left&&a.x<=j.right&&a.y>=j.top&&a.y<=j.bottom?"drag"===b?(k.hoverClass&&e.each(k.hoverClass,g(l)),k.onHover&&k.onHover(d,l)):"drop"===b&&(k.hoverClass&&e.each(k.hoverClass,h(l)),k.onDrop&&k.onDrop(d,l,c)):"drag"===b&&k.hoverClass?e.each(k.hoverClass,h(l)):"drop"===b&&k.onDropOut&&k.onDropOut(d,l,c))},this))}};return i}),Ink.createModule("Ink.UI.FormValidator","1",["Ink.Dom.Element_1","Ink.Dom.Css_1","Ink.Util.Validator_1","Ink.Dom.Selector_1"],function(a,b,c,d){"use strict";function e(a){if(!a.name)return[];if(!a.form)return d.select('name="'+a.name+'"');var b=a.form[a.name];return"undefined"==typeof b.length&&(b=[b]),b}var f={version:"1",_flagMap:{"ink-fv-required":{msg:"Required field"},"ink-fv-email":{msg:"Invalid e-mail address"},"ink-fv-url":{msg:"Invalid URL"},"ink-fv-number":{msg:"Invalid number"},"ink-fv-phone_pt":{msg:"Invalid phone number"},"ink-fv-phone_cv":{msg:"Invalid phone number"},"ink-fv-phone_mz":{msg:"Invalid phone number"},"ink-fv-phone_ao":{msg:"Invalid phone number"},"ink-fv-date":{msg:"Invalid date"},"ink-fv-confirm":{msg:"Confirmation does not match"},"ink-fv-custom":{msg:""}},elements:{},confirmElms:{},hasConfirm:{},_errorClassName:"tip error",_errorValidationClassName:"validaton",_errorTypeWarningClassName:"warning",_errorTypeErrorClassName:"error",validate:function(a,b){if(this._free(),b=Ink.extendObj({onSuccess:!1,onError:!1,customFlag:!1,confirmGroup:[]},b||{}),"string"==typeof a&&(a=document.getElementById(a)),null===a)return!1;this.element=a,("undefined"==typeof this.element.id||null===this.element.id||""===this.element.id)&&(this.element.id="ink-fv_randomid_"+Math.round(99999*Math.random())),this.custom=b.customFlag,this.confirmGroup=b.confirmGroup;var c=this._validateElements();return c.length>0?(b.onError?b.onError(c):this._showError(a,c),!1):(b.onError||this._clearError(a),this._clearCache(),b.onSuccess&&b.onSuccess(),!0)},reset:function(){this._clearError(),this._clearCache()},_free:function(){this.element=null,this.custom=!1,this.confirmGroup=!1},_clearCache:function(){this.element=null,this.elements=[],this.custom=!1,this.confirmGroup=!1},_getElements:function(){var a=this.elements[this.element.id]=[];this.confirmElms[this.element.id]=[];for(var c=d.select(":input",this.element),e=!1,f=0,g=c.length;g>f;f++){e=c[f];var h=(e.getAttribute("type")+"").toLowerCase();if("radio"===h||"checkbox"===h){if(0===a.length||e.getAttribute("type")!==a[a.length-1].getAttribute("type")&&e.getAttribute("name")!==a[a.length-1].getAttribute("name"))for(var i in this._flagMap)if(b.hasClassName(e,i)){a.push(e);break}}else{for(var j in this._flagMap)if(b.hasClassName(e,j)&&"ink-fv-confirm"!==j){a.push(e);break}b.hasClassName(e,"ink-fv-confirm")&&(this.confirmElms[this.element.id].push(e),this.hasConfirm[this.element.id]=!0)}}},_validateElements:function(){var a;this._getElements(),this.hasConfirm[this.element.id]===!0&&(a=this._makeConfirmGroups());for(var c=[],d=!1,e=!1,f,g=0,h=this.elements[this.element.id].length;h>g;g++)if(f=!1,d=this.elements[this.element.id][g],!d.disabled)for(var i in this._flagMap)if(b.hasClassName(d,i))if("ink-fv-custom"!==i&&"ink-fv-confirm"!==i)this._isValid(d,i)||(f?c[c.length-1].errors.push(i):(c.push({elm:d,errors:[i]}),f=!0));else if("ink-fv-confirm"!==i)e=this._isCustomValid(d),e.length>0&&c.push({elm:d,errors:[i],custom:e});else if("ink-fv-confirm"===i)continue;return c=this._validateConfirmGroups(a,c)},_validateConfirmGroups:function(a,b){var c=!1;for(var d in a)a.hasOwnProperty(d)&&(c=a[d],2===c.length&&c[0].value!==c[1].value&&b.push({elm:c[1],errors:["ink-fv-confirm"]}));return b},_makeConfirmGroups:function(){var a;if(this.confirmGroup&&this.confirmGroup.length>0){a={};for(var c=!1,d=!1,e=0,f=this.confirmElms[this.element.id].length;f>e;e++){c=this.confirmElms[this.element.id][e];for(var g=0,h=this.confirmGroup.length;h>g;g++)d=this.confirmGroup[g],b.hasClassName(c,d)&&("undefined"==typeof a[d]?a[d]=[c]:a[d].push(c))}return a}return 2===this.confirmElms[this.element.id].length&&(a={"ink-fv-confirm":[this.confirmElms[this.element.id][0],this.confirmElms[this.element.id][1]]}),a;return!1},_isCustomValid:function(a){for(var c=[],d=!1,e=0,f=this.custom.length;f>e;e++)d=this.custom[e],b.hasClassName(a,d.flag)&&(d.callback(a,d.msg)||c.push({flag:d.flag,msg:d.msg}));return c},_isValid:function(a,d){var f=a.nodeName.toLowerCase(),g=(a.getAttribute("type")||"").toLowerCase(),h=this._trim(a.value);if("ink-fv-required"!==d&&"checkbox"!==g&&"radio"!==g&&""===h)return!b.hasClassName(a,"ink-fv-required");switch(d){case"ink-fv-required":if("select"===f)return a.selectedIndex>0?!0:!1;if("checkbox"!==g&&"radio"!==g&&""!==h)return!0;if("checkbox"===g||"radio"===g){for(var i=e(a),j=!1,k=0,l=i.length;l>k;k++)if(i[k].checked===!0){j=!0;break}return j}return!1;case"ink-fv-email":return c.mail(a.value);case"ink-fv-url":return c.url(a.value);case"ink-fv-number":return!isNaN(Number(a.value))&&isFinite(Number(a.value));case"ink-fv-phone_pt":return c.isPTPhone(a.value);case"ink-fv-phone_cv":return c.isCVPhone(a.value);case"ink-fv-phone_ao":return c.isAOPhone(a.value);case"ink-fv-phone_mz":return c.isMZPhone(a.value);case"ink-fv-date":var m=Ink.getModule("Ink.Dom.Element",1),n=m.data(a),o="yyyy-mm-dd";if(b.hasClassName(a,"ink-datepicker")&&"format"in n?o=n.format:"validFormat"in n&&(o=n.validFormat),!(o in c._dateParsers)){var p=[];for(var q in c._dateParsers)c._dateParsers.hasOwnProperty(q)&&p.push(q);throw new Error("The attribute data-valid-format must be one of the following values: "+p.join(", "))}return c.isDate(o,a.value);case"ink-fv-custom":}return!1},_showError:function(a,b){this._clearError(a);for(var c=!1,d=0,e=b.length;e>d;d++)c=b[d].elm,c&&this._showAnErrorOnElement(c,b[d])},_showAnErrorOnElement:function(c,d){var e=a.findUpwardsByClass(c,"control-group"),f=a.findUpwardsByClass(c,"control"),g=[this._errorClassName,this._errorTypeClassName].join(" "),h=a.create("p",{className:g});h.innerHTML="ink-fv-custom"!==d.errors[0]?this._flagMap[d.errors[0]].msg:d.custom[0].msg;var i=f||e;i?i.appendChild(h):a.insertAfter(h,c),f&&("ink-fv-required"===d.errors[0]?b.addClassName(e,"validation error"):b.addClassName(e,"validation warning"))},_clearError:function(c){for(var d=c.getElementsByTagName("p"),e,f,g=d.length-1;g>=0;g--)e=d[g],b.hasClassName(e,this._errorClassName)&&(f=a.findUpwardsBySelector(e,".control-group"),f&&b.removeClassName(f,["validation","error","warning"]),b.hasClassName(e,this._errorClassName,!0)&&a.remove(e));var h=c.getElementsByTagName("ul");for(g=h.length-1;g>=0;g--)e=h[g],b.hasClassName(e,"control-group")&&b.removeClassName(e,"validation error")},_trim:function(a){return"string"==typeof a?a.replace(/^\s+|\s+$|\n+$/g,""):void 0}};return f}),Ink.createModule("Ink.UI.FormValidator","2",["Ink.UI.Common_1","Ink.Dom.Element_1","Ink.Dom.Event_1","Ink.Dom.Selector_1","Ink.Dom.Css_1","Ink.Util.Array_1","Ink.Util.I18n_1","Ink.Util.Validator_1"],function(a,b,c,d,e,f,g,h){"use strict";function i(){a.BaseUIComponent.apply(this,arguments)}function j(){a.BaseUIComponent.apply(this,arguments)}var k={required:function(a){return"undefined"!=typeof a&&!/^\s*$/.test(a)},min_length:function(a,b){return"string"==typeof a&&a.length>=parseInt(b,10)},max_length:function(a,b){return"string"==typeof a&&a.length<=parseInt(b,10)},exact_length:function(a,b){return"string"==typeof a&&a.length===parseInt(b,10)},email:function(a){return"string"==typeof a&&h.mail(a)},url:function(a,b){return b=b||!1,"string"==typeof a&&h.url(a,b)},ip:function(a,b){return"string"!=typeof a?!1:h.isIP(a,b)},phone:function(a,b){if("string"!=typeof a)return!1;var c=b?b.toUpperCase():"";return h["is"+c+"Phone"](a)},credit_card:function(a,b){return"string"!=typeof a?!1:h.isCreditCard(a,b||"default")},date:function(a,b){return"string"==typeof a&&h.isDate(b,a)},alpha:function(a,b){return h.ascii(a,{singleLineWhitespace:b})},text:function(a,b,c){return h.unicode(a,{singleLineWhitespace:b,unicodePunctuation:c})},latin:function(a,b,c){return"string"!=typeof a?!1:h.latin1(a,{latin1Punctuation:b,singleLineWhitespace:c})},alpha_numeric:function(a){return h.ascii(a,{numbers:!0})},alpha_dash:function(a){return h.ascii(a,{dash:!0,underscore:!0})},digit:function(a){return"string"==typeof a&&/^[0-9]{1}$/.test(a)},integer:function(a,b){return h.number(a,{negative:!b,decimalPlaces:0})},decimal:function(a,b,c,d){return h.number(a,{decimalSep:b||".",decimalPlaces:+c||null,maxDigits:+d})},numeric:function(a,b,c,d){return b=b||".",-1!==a.indexOf(b)?k.decimal(a,b,c,d):k.integer(a)},range:function(a,b,c,d){return a=+a,b=+b,c=+c,isNaN(a)||isNaN(b)||isNaN(c)?!1:b>a||a>c?!1:d?(a-b)%d===0:!0},color:function(a){return h.isColor(a)},matches:function(a,b){return a===this.getFormElements()[b][0].getValue()}},l=new g({en_US:{"formvalidator.required":"The {field} filling is mandatory","formvalidator.min_length":"The {field} must have a minimum size of {param1} characters","formvalidator.max_length":"The {field} must have a maximum size of {param1} characters","formvalidator.exact_length":"The {field} must have an exact size of {param1} characters","formvalidator.email":"The {field} must have a valid e-mail address","formvalidator.url":"The {field} must have a valid URL","formvalidator.ip":"The {field} does not contain a valid {param1} IP address","formvalidator.phone":"The {field} does not contain a valid {param1} phone number","formvalidator.credit_card":"The {field} does not contain a valid {param1} credit card","formvalidator.date":"The {field} should contain a date in the {param1} format","formvalidator.alpha":"The {field} should only contain letters","formvalidator.text":"The {field} should only contain alphabetic characters","formvalidator.latin":"The {field} should only contain alphabetic characters","formvalidator.alpha_numeric":"The {field} should only contain letters or numbers","formvalidator.alpha_dash":"The {field} should only contain letters or dashes","formvalidator.digit":"The {field} should only contain a digit","formvalidator.integer":"The {field} should only contain an integer","formvalidator.decimal":"The {field} should contain a valid decimal number","formvalidator.numeric":"The {field} should contain a number","formvalidator.range":"The {field} should contain a number between {param1} and {param2}","formvalidator.color":"The {field} should contain a valid color","formvalidator.matches":"The {field} should match the field {param1}","formvalidator.validation_function_not_found":"The rule {rule} has not been defined"},pt_PT:{"formvalidator.required":"Preencher {field} é obrigatório","formvalidator.min_length":"{field} deve ter no mínimo {param1} caracteres","formvalidator.max_length":"{field} tem um tamanho máximo de {param1} caracteres","formvalidator.exact_length":"{field} devia ter exactamente {param1} caracteres","formvalidator.email":"{field} deve ser um e-mail válido","formvalidator.url":"O {field} deve ser um URL válido","formvalidator.ip":"{field} não tem um endereço IP {param1} válido","formvalidator.phone":"{field} deve ser preenchido com um número de telefone {param1} válido.","formvalidator.credit_card":"{field} não tem um cartão de crédito {param1} válido","formvalidator.date":"{field} deve conter uma data no formato {param1}","formvalidator.alpha":"O campo {field} deve conter apenas caracteres alfabéticos","formvalidator.text":"O campo {field} deve conter apenas caracteres alfabéticos","formvalidator.latin":"O campo {field} deve conter apenas caracteres alfabéticos","formvalidator.alpha_numeric":"{field} deve conter apenas letras e números","formvalidator.alpha_dash":"{field} deve conter apenas letras e traços","formvalidator.digit":"{field} destina-se a ser preenchido com apenas um dígito","formvalidator.integer":"{field} deve conter um número inteiro","formvalidator.decimal":"{field} deve conter um número válido","formvalidator.numeric":"{field} deve conter um número válido","formvalidator.range":"{field} deve conter um número entre {param1} e {param2}","formvalidator.color":"{field} deve conter uma cor válida","formvalidator.matches":"{field} deve corresponder ao campo {param1}","formvalidator.validation_function_not_found":"[A regra {rule} não foi definida]"}},"en_US"); +return i._name="FormElement_1",i._optionDefinition={label:["String",null],rules:["String",null],form:["Object"]},i.prototype={_init:function(){this._errors={},this._rules={},this._value=null,null===this._options.label&&(this._options.label=this._getLabel())},_getLabel:function(){var a=b.findUpwardsBySelector(this._element,".control-group label");return a?b.textContent(a):this._element.name||this._element.id||""},_parseRules:function(a){this._rules={},a=a.split("|");var b,c=a.length,d,e,f;if(c>0)for(b=0;c>b;b++)if(d=a[b])if(-1!==(f=d.indexOf("["))){e=d.substr(f+1),e=e.split("]"),e=e[0],e=e.split(",");for(var g=0,h=e.length;h>g;g++)e[g]="true"===e[g]?!0:"false"===e[g]?!1:e[g];e.splice(0,0,this.getValue()),d=d.substr(0,f),this._rules[d]=e}else this._rules[d]=[this.getValue()]},_addError:function(a){for(var b=this._rules[a]||[],c={field:this._options.label,value:this.getValue()},d=1;d"),this._errorMessages.push(f)},this)),!1)}},a.createUIComponent(j),j}),Ink.createModule("Ink.UI.ImageQuery","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.Util.Array_1"],function(a,b,c,d){"use strict";function e(){a.BaseUIComponent.apply(this,arguments)}return e._name="ImageQuery_1",e._optionDefinition={src:["String"],retina:["String",void 0],queries:["Object"],onLoad:["Function",null]},e.prototype={_init:function(){var a;if(-1!==(a=this._element.src.lastIndexOf("?"))){var c=this._element.src.substr(a);this._filename=this._element.src.replace(c,"").split("/").pop()+c}else this._filename=this._element.src.split("/").pop();this._options.queries||(this._options.queries=[]),this._options.queries=d.sortMulti(this._options.queries,"width").reverse(),"function"==typeof this._options.onLoad&&b.observe(this._element,"onload",Ink.bindEvent(this._onLoad,this)),this._onResize(),b.observe(window,"resize",b.throttle(Ink.bindMethod(this,"_onResize"),400))},_onResize:function(){if(this._options.queries.length){var a=this._findCurrentQuery(),b=a.src||this._options.src;if(window.devicePixelRatio>1&&void 0!==this._options.retina&&(b=a.retina||this._options.retina),a.file=this._filename,"function"==typeof b&&(b=b.apply(this,[this._element,a]),"string"!=typeof b))throw'[ImageQuery] :: "src" callback does not return a string';b=b.replace(/{:(.*?)}/g,function(b,c){return a[c]}),this._element.src=b,delete a.file}},_findCurrentQuery:function(){for(var a=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,b=this._options.queries,c=b.length-1,d=0;c>d;d+=1)if(b[d].width<=a)return b[d];return b[c]},_onLoad:function(){this._options.onLoad.call(this)}},a.createUIComponent(e),e}),Ink.createModule("Ink.UI.LazyLoad","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Element_1"],function(a,b,c){"use strict";function d(){a.BaseUIComponent.apply(this,arguments)}return d._name="LazyLoad_1",d._optionDefinition={item:["String",".lazyload-item"],placeholder:["String",null],source:["String","data-src"],destination:["String","src"],delay:["Number",100],delta:["Number",0],image:["Boolean",!0],scrollElement:["Element",window],touchEvents:["Boolean",!0],onInsideViewport:["Function",!1],onAfterAttributeChange:["Function",!1],autoInit:["Boolean",!0]},d.prototype={_init:function(){this._rootElm=this._element,this._aData=[],this._hasEvents=!1,this._options.autoInit&&this._activate()},_activate:function(){this._getData(),this._hasEvents||this._addEvents(),this._onScrollThrottled()},_getData:function(){for(var a=Ink.ss(this._options.item),b=null,d=0,e=a.length;e>d;d++)null==this._options.placeholder||c.hasAttribute(a[d],this._options.destination)||a[d].setAttribute(this._options.destination,this._options.placeholder),b=a[d].getAttribute(this._options.source),null===b&&this._options.image||this._aData.push({elm:a[d],original:b})},_addEvents:function(){this._onScrollThrottled=b.throttle(Ink.bindEvent(this._onScroll,this),this._options.delay),"ontouchmove"in document.documentElement&&this._options.touchEvents&&b.observe(document.documentElement,"touchmove",this._onScrollThrottled),b.observe(this._options.scrollElement,"scroll",this._onScrollThrottled),this._hasEvents=!0},_removeEvents:function(){"ontouchmove"in document.documentElement&&this._options.touchEvents&&b.stopObserving(document.documentElement,"touchmove",this._onScrollThrottled),b.stopObserving(this._options.scrollElement,"scroll",this._onScrollThrottled),this._hasEvents=!1},_onScroll:function(){for(var a,b=0;bthis.originalStatus[c]?this._modalDivStyle[h(c)]:Math.round(.9*b[c])+"px")},this)),this._resizeContainer(),this._reposition(),this._resizeTimeout=void 0},_onShadeClick:function(a){var f=b.element(a);if(c.hasClassName(f,"ink-close")||c.hasClassName(f,"ink-dismiss")||d.findUpwardsBySelector(f,".ink-close,.ink-dismiss")||this._options.closeOnClick&&(!d.descendantOf(this._shadeElement,f)||f===this._shadeElement)){for(var g=e.select(".ink-alert",this._shadeElement),h=g.length,i=0;h>i;i++)if(d.descendantOf(g[i],f))return;this.dismiss(),this._wasDismissed&&b.stop(a)}},_onKeyDown:function(a){27!==a.keyCode||this._wasDismissed||"true"===this._options.closeOnEscape.toString()&&k[k.length-1]===this&&(this.dismiss(),this._wasDismissed&&b.stop(a))},_resizeContainer:function(){var a=d.elementHeight(this._modalDiv);this._modalHeader=e.select(".modal-header",this._modalDiv)[0],this._modalHeader&&(a-=d.elementHeight(this._modalHeader)),this._modalFooter=e.select(".modal-footer",this._modalDiv)[0],this._modalFooter&&(a-=d.elementHeight(this._modalFooter)),this._contentContainer.style.height=a+"px",a!==d.elementHeight(this._contentContainer)&&(this._contentContainer.style.height=~~(a-(d.elementHeight(this._contentContainer)-a))+"px"),this._markupMode},open:function(a){a&&b.stop(a);var e="CSS1Compat"===document.compatMode?document.documentElement:document.body;this._resizeTimeout=null,c.addClassName(this._modalShadow,"ink-shade"),this._modalShadowStyle.display=this._modalDivStyle.display="block",setTimeout(Ink.bind(function(){c.addClassName(this._modalShadow,"visible"),c.addClassName(this._modalDiv,"visible")},this),100),this._contentElement=this._modalDiv,this._shadeElement=this._modalShadow,this._markupMode||this.setContentMarkup(this._options.markup);var i={width:-1!==(""+this._options.width).indexOf("%"),height:-1!==(""+this._options.height).indexOf("%")};f.forEach(["width","height"],Ink.bind(function(a){void 0!==this._options[a]?(this._modalDivStyle[a]=this._options[a],i[a]||(this._modalDivStyle[h(a)]=d["element"+g(a)](this._modalDiv)+"px")):this._modalDivStyle[h(a)]=d["element"+g(a)](this._modalDiv)+"px",i[a]&&parseInt(e["client"+h(a)],10)<=parseInt(this._modalDivStyle[a],10)&&(this._modalDivStyle[a]=Math.round(.9*parseInt(e["client"+h(a)],10))+"px")},this)),this.originalStatus={viewportHeight:d.elementHeight(e),viewportWidth:d.elementWidth(e),height:d.elementHeight(this._modalDiv),width:d.elementWidth(this._modalDiv)},"true"===this._options.responsive.toString()?(this._onResize(!0),b.observe(window,"resize",this._handlers.resize)):(this._resizeContainer(),this._reposition()),this._options.onShow&&this._options.onShow(this),b.observe(this._shadeElement,"click",this._handlers.click),"true"===this._options.closeOnEscape.toString()&&b.observe(document,"keydown",this._handlers.keyDown),this._wasDismissed=!1,k.push(this),c.addClassName(document.documentElement,"ink-modal-open")},dismiss:function(){if(!this._wasDismissed){if(this._options.onDismiss){var a=this._options.onDismiss(this);if(a===!1)return}if(this._wasDismissed=!0,this._options.responsive&&b.stopObserving(window,"resize",this._handlers.resize),this._markupMode?(c.removeClassName(this._modalDiv,"visible"),c.removeClassName(this._modalShadow,"visible"),this._waitForFade(this._modalShadow,Ink.bind(function(){this._modalShadowStyle.display="none"},this))):(this._modalShadow.parentNode.removeChild(this._modalShadow),this.destroy()),k=f.remove(k,f.keyValue(this,k),1),0===k.length){var d=document.documentElement;c.removeClassName(d,"ink-modal-open")}}},_waitForFade:function(a,d){if(!j)return d();for(var e=["transitionEnd","oTransitionEnd","webkitTransitionEnd"],f,g,h=0,i=e.length;i>h;h++)if(g=e[h],f="on"+g.toLowerCase(),f in a)return void b.observeOnce(a,g,d);var k=function(){+c.getStyle(a,"opacity")>0?setTimeout(k,250):d()};setTimeout(k,500)},destroy:function(){a.unregisterInstance(this._instanceId)},getContentElement:function(){return this._contentContainer},setContentMarkup:function(a){if(this._markupMode)this._contentContainer.innerHTML=a;else{if(this._modalDiv.innerHTML=[a].join(""),this._contentContainer=e.select(".modal-body",this._modalDiv),!this._contentContainer.length){var b=e.select(".modal-header",this._modalDiv),g=e.select(".modal-footer",this._modalDiv);f.each(b,d.remove),f.each(g,d.remove);var h=document.createElement("div");c.addClassName(h,"modal-body"),h.innerHTML=this._modalDiv.innerHTML,this._modalDiv.innerHTML="";var i=b.concat([h]).concat(g);f.each(i,Ink.bindMethod(this._modalDiv,"appendChild")),this._contentContainer=e.select(".modal-body",this._modalDiv)}this._contentContainer=this._contentContainer[0]}this._contentElement=this._modalDiv,this._resizeContainer()}},a.createUIComponent(i,{elementIsOptional:!0}),i}),Ink.createModule("Ink.UI.Pagination","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Element_1","Ink.Dom.Selector_1"],function(a,b,c,d,e){"use strict";function f(){a.BaseUIComponent.apply(this,arguments)}var g=function(a,b,c){var d=document.createElement("a");if(d.setAttribute("href","#"),"number"==typeof b&&d.setAttribute("data-index",b),c&&c.wrapText){var e=document.createElement("span");d.appendChild(e),e.innerHTML=a}else d.innerHTML=a;return d};return f._name="Pagination_1",f._optionDefinition={size:["Integer",null],totalItemCount:["Integer",null],itemsPerPage:["Integer",null],maxSize:["Integer",null],start:["Integer",1],sideButtons:["Boolean",1],firstLabel:["String","First"],lastLabel:["String","Last"],previousLabel:["String","Previous"],nextLabel:["String","Next"],previousPageLabel:["String",null],nextPageLabel:["String",null],onChange:["Function",void 0],hashParameter:["String","page"],parentTag:["String","ul"],childTag:["String","li"],wrapperClass:["String","ink-navigation"],paginationClass:["String","pagination"],activeClass:["String","active"],disabledClass:["String","disabled"],hideClass:["String","hide-all"],previousClass:["String","previous"],previousPageClass:["String","previousPage"],nextClass:["String","next"],nextPageClass:["String","nextPage"],numberFormatter:["Function",function(a){return a+1}]},f.prototype={_init:function(){this._options.previousPageLabel||(this._options.previousPageLabel=this._options.previousLabel+" "+this._options.maxSize),this._options.nextPageLabel||(this._options.nextPageLabel=this._options.nextLabel+" "+this._options.maxSize),this._handlers={click:Ink.bindEvent(this._onClick,this)},a.isInteger(this._options.totalItemCount)&&a.isInteger(this._options.itemsPerPage)?this._size=this._calculateSize(this._options.totalItemCount,this._options.itemsPerPage):a.isInteger(this._options.size)?this._size=this._options.size:(Ink.error("Ink.UI.Pagination: Please supply a size option or totalItemCount and itemsPerPage options."),this._size=0),this._current=this._options.start-1,this._itemLiEls=[],this._generateMarkup(this._element),this._updateItems(),this._observe()},_observe:function(){b.observeDelegated(this._element,"click","."+this._options.paginationClass+" > "+this._options.childTag,this._handlers.click)},_calculateSize:function(a,b){return Math.ceil(a/b)},_updateItems:function(){var a=this._itemLiEls,b=this._size===a.length,d,e,f;if(b)for(d=0,e=this._size;e>d;++d)c.setClassName(a[d],this._options.activeClass,d===this._current);else{for(d=a.length-1;d>=0;--d)this._ulEl.removeChild(a[d]);for(a=[],d=0,e=this._size;e>d;++d)f=document.createElement(this._options.childTag),f.appendChild(g(this._options.numberFormatter(d),d)),c.setClassName(f,this._options.activeClass,d===this._current),this._nextEl?this._ulEl.insertBefore(f,this._nextEl):this._ulEl.appendChild(f),a.push(f);this._itemLiEls=a}if(this._options.maxSize){var h=Math.floor(this._current/this._options.maxSize),i=this._options.maxSize*h,j=i+this._options.maxSize-1;for(d=0,e=this._size;e>d;++d)f=a[d],c.setClassName(f,this._options.hideClass,i>d||d>j);this._pageStart=i,this._pageEnd=j,this._page=h,c.setClassName(this._prevPageEl,this._options.disabledClass,!this.hasPreviousPage()),c.setClassName(this._nextPageEl,this._options.disabledClass,!this.hasNextPage()),c.setClassName(this._firstEl,this._options.disabledClass,this.isFirst()),c.setClassName(this._lastEl,this._options.disabledClass,this.isLast())}this._prevEl&&c.setClassName(this._prevEl,this._options.disabledClass,!this.hasPrevious()),this._nextEl&&c.setClassName(this._nextEl,this._options.disabledClass,!this.hasNext())},_generateMarkup:function(a){c.addClassName(a,"ink-navigation");var b=Ink.s("."+this._options.paginationClass,a),d=!1;b?d=!0:(b=document.createElement(this._options.parentTag),c.addClassName(b,this._options.paginationClass));var e=c.hasClassName(b,"chevron"),f=c.hasClassName(b,"dotted"),h=Ink.bind(function(a,d){var e=document.createElement(this._options.childTag),f=g(this._options[a+"Label"],void 0,{wrapText:d&&d.wrapText});return c.addClassName(e,this._options[a+"Class"]),e.appendChild(f),b.appendChild(e),e},this);!f&&this._options.maxSize&&(this._firstEl=h("first"),this._prevPageEl=h("previousPage")),(f&&this._options.sideButtons===!0||!f&&this._options.sideButtons)&&(this._prevEl=h("previous",{wrapText:e}),this._nextEl=h("next",{wrapText:e})),!f&&this._options.maxSize&&(this._nextPageEl=h("nextPage"),this._lastEl=h("last")),d||a.appendChild(b),this._ulEl=b},_onClick:function(a){b.stop(a);var d=b.element(a);if(!c.hasClassName(d,this._options.activeClass)&&!c.hasClassName(d,this._options.disabledClass)){var f=c.hasClassName(d,this._options.previousClass),g=c.hasClassName(d,this._options.nextClass),h=c.hasClassName(d,this._options.previousPageClass),i=c.hasClassName(d,this._options.nextPageClass),j=c.hasClassName(d,this._options.firstClass),k=c.hasClassName(d,this._options.lastClass);if(j)this.setCurrent(0);else if(k)this.setCurrent(this._size-1);else if(h||i)this.setCurrent((h?-1:1)*this._options.maxSize,!0);else if(f||g)this.setCurrent(f?-1:1,!0);else{var l=e.select("[data-index]",d)[0],m=l&&parseInt(l.getAttribute("data-index"),10);this.setCurrent(m)}}},setOnChange:function(a){if(void 0!==a&&"function"!=typeof a)throw new TypeError("onChange option must be a function!");this._options.onChange=a},setSize:function(b){if(!a.isInteger(b))throw new TypeError("1st argument must be an integer number!");this._size=b,this._updateItems(),this._current=0},setSizeInItems:function(a,b){var c=Math.ceil(a/b);this.setSize(c)},setCurrent:function(b,c){if(!a.isInteger(b))throw new TypeError("1st argument must be an integer number!");c&&(b+=this._current),b>this._size-1&&(b=this._size-1),0>b&&(b=0),this._current=b,this._updateItems(),this._options.onChange&&this._options.onChange(this,b)},getSize:function(){return this._size},getCurrent:function(){return this._current},isFirst:function(){return 0===this._current},isLast:function(){return this._current===this._size-1},hasPrevious:function(){return this._current>0},hasNext:function(){return this._currentthis._options.maxSize-1},hasNextPage:function(){return this._options.maxSize&&this._size-this._current>=this._options.maxSize+1},destroy:a.destroyComponent},a.createUIComponent(f),f}),Ink.createModule("Ink.UI.ProgressBar","1",["Ink.UI.Common_1","Ink.Dom.Selector_1"],function(a,b){"use strict";function c(){a.BaseUIComponent.apply(this,arguments)}return c._name="ProgressBar_1",c._optionDefinition={startValue:["Number",0],onStart:["Function",function(){}],onEnd:["Function",function(){}]},c.prototype={_init:function(){if(this._value=this._options.startValue,this._elementBar=b.select(".bar",this._element),this._elementBar.length<1)throw new Error("[Ink.UI.ProgressBar] :: Bar element not found");this._elementBar=this._elementBar[0],this.setValue(this._options.startValue)},setValue:function(a){this._options.onStart.call(this,this._value),a=parseInt(a,10),isNaN(a)||0>a?a=0:a>100&&(a=100),this._value=a,this._elementBar.style.width=this._value+"%",this._options.onEnd.call(this,this._value)}},a.createUIComponent(c),c}),Ink.createModule("Ink.UI.SmoothScroller","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.Dom.Selector_1","Ink.Dom.Css_1"],function(a,b,c,d,e){"use strict";var f=window.requestAnimationFrame||function(a){return setTimeout(a,10)},g=window.cancelAnimationFrame||function(a){clearTimeout(a)},h={speed:10,changeHash:!0,margin:0,scroll:function(a,b){var d=Math.round(c.scrollHeight()),e=Math.round(a-b.margin);d+=e>d?Math.ceil((e-d)/b.speed):(e-d)/b.speed,g(h.interval),d!==e&&h.offsetTop!==d?h.interval=f(Ink.bindMethod(h,"scroll",a,b),document.body):h.onDone(b),window.scrollTo(0,d),h.offsetTop=d},init:function(a){b.on(document,"click",a||"a.scrollableLink, a.ink-smooth-scroll",h.onClick)},render:function(){},onClick:function(b){var d=b.currentTarget,f=(location+"").replace(/#.*?$/,""),g=(d.href+"").replace(/#.*?$/,"");if(g===f){var i=d.getAttribute("data-hash")||(d.getAttribute("href")||"").replace(/^.*?#/,"");if(i){b.preventDefault();var j="ul > li.active > "+k,k='a[name="'+i+'"],#'+i,l=Ink.s(k),m=Ink.s(j);if(m=m&&m.parentNode,l){e.hasClassName(d.parentNode,"active")||(m&&e.removeClassName(m,"active"),e.addClassName(d.parentNode,"active"));var n=a.options("SmoothScroller link options",{margin:["Number",h.margin],speed:["Number",h.speed],changeHash:["Boolean",h.changeHash]},{},d);h.hash=i,h.scroll(c.offsetTop(l),n)}}}},onDone:function(a){a.changeHash===!0&&(window.location.hash=h.hash),h.hash=h.offsetTop=null}};return h}),Ink.createModule("Ink.UI.SortableList","1",["Ink.UI.Common_1","Ink.Dom.Css_1","Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.Dom.Selector_1"],function(a,b,c,d,e){"use strict";function f(){a.BaseUIComponent.apply(this,arguments)}var g="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;return f._name="SortableList_1",f._optionDefinition={placeholderClass:["String","placeholder"],draggedClass:["String","hide-all"],draggingClass:["String","dragging"],dragSelector:["String","li"],dragObject:["String",null],handleSelector:["String",null],moveSelector:["String",!1],swap:["Boolean",!1],cancelMouseOut:["Boolean",!1],onDrop:["Function",function(){}]},f.prototype={_init:function(){null!=this._options.dragObject&&(Ink.warn("Ink.UI.SortableList: options.dragObject is now deprecated. Please use options.handleSelector instead."),this._options.handleSelector=this._options.handleSelector||this._options.dragObject),this._handlers={down:Ink.bind(this._onDown,this),move:Ink.bind(this._onMove,this),up:Ink.bind(this._onUp,this)},this._isMoving=!1,this._down=g?"touchstart mousedown":"mousedown",this._move=g?"touchmove mousemove":"mousemove",this._up=g?"touchend mouseup":"mouseup",this._observe()},_observe:function(){c.on(this._element,this._down,this._options.dragSelector,this._handlers.down),c.on(this._element,this._move,this._options.dragSelector,this._handlers.move),this._options.cancelMouseOut&&c.on(this._element,"mouseleave",Ink.bind(this.stopMoving,this)),c.on(document.documentElement,this._up,this._handlers.up)},_onDown:function(a){if(!(this._isMoving||this._placeholder||this._options.handleSelector&&!e.matchesSelector(a.target,this._options.handleSelector))){var b=a.currentTarget;return this._isMoving=b,this._placeholder=b.cloneNode(!0),this._movePlaceholder(b),this._addMovingClasses(),!1}},_onMove:function(a){var b=a.currentTarget;if("touchmove"===a.type){var c=a.touches[0];b=document.elementFromPoint(c.clientX,c.clientY),b=d.findUpwardsBySelector(b,this._options.dragSelector)}this.validateMove(b),a.preventDefault()},_onUp:function(a){return this._isMoving&&this._placeholder&&a.currentTarget!==this._isMoving&&a.currentTarget!==this._placeholder?(d.insertBefore(this._isMoving,this._placeholder),this.stopMoving(),this._options.onDrop.call(this,{droppedElement:a.currentTarget}),!1):void 0},_addMovingClasses:function(){b.addClassName(this._placeholder,this._options.placeholderClass),b.addClassName(this._isMoving,this._options.draggedClass),b.addClassName(document.documentElement,this._options.draggingClass)},_removeMovingClasses:function(){this._isMoving&&b.removeClassName(this._isMoving,this._options.draggedClass),this._placeholder&&b.removeClassName(this._placeholder,this._options.placeholderClass),b.removeClassName(document.documentElement,this._options.draggingClass)},_movePlaceholder:function(a){var b=this._placeholder,c,e,f,g;b?this._options.swap?(d.insertAfter(b,a),d.insertBefore(a,this._isMoving),d.insertBefore(this._isMoving,b)):(c=d.offset(a),e=d.offset(this._placeholder),f=c[1]>e[1],g=c[0]>e[0],f&&g||!f&&!g?d.insertBefore(b,a):d.insertAfter(b,a),d.insertBefore(this._isMoving,b)):d.insertAfter(b,a)},destroy:a.destroyComponent,stopMoving:function(){this._removeMovingClasses(),d.remove(this._placeholder),this._placeholder=!1,this._isMoving=!1},validateMove:function(a){a&&this._isMoving&&this._placeholder&&a!==this._placeholder&&a!==this._isMoving&&(!this._options.moveSelector||e.matchesSelector(a,this._options.moveSelector)?this._movePlaceholder(a):this.stopMoving())}},a.createUIComponent(f),f}),Ink.createModule("Ink.UI.Spy","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Element_1","Ink.Dom.Selector_1"],function(a,b,c,d,e){"use strict";function f(a){for(var b=0,c=m.length;c>b;b++)if(m[b][0]===a)return b;return null}function g(a,b){var c=f(b);null===c?m.push([b,[a]]):m[c][1].push(a)}function h(){n||(n=!0,b.observe(document,"scroll",b.throttle(i,300)))}function i(){for(var a=0,b=m.length;b>a;a++)j(m[a][0],m[a][1])}function j(a,b){for(var f=k(b),g=e.select("li.active",a),h=0,i=g.length;i>h;h++)c.removeClassName(g[h],"active");if(null!==f){var j='a[href$="#'+(f.name||f.id)+'"]',l=e.select(j,a);for(h=0,i=l.length;i>h;h++)c.addClassName(d.findUpwardsByTag(l[h],"li"),"active")}}function k(a){for(var b=-1/0,c,d,e=0,f=a.length;f>e;e++)d=a[e].getBoundingClientRect(),d.top<=0&&d.top>b&&(b=d.top,c=e);return void 0===c?null:a[c]}function l(){a.BaseUIComponent.apply(this,arguments)}var m=[],n=!1;return l._name="Spy_1",l._optionDefinition={target:["Element",void 0],activeClass:["String","active"]},l.prototype={_init:function(){g(this._element,this._options.target),h(),i()}},a.createUIComponent(l),l}),Ink.createModule("Ink.UI.Stacker",1,["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Element_1"],function(a,b,c){"use strict";function d(){a.BaseUIComponent.apply(this,arguments)}return d._name="Stacker_1",d._optionDefinition={column:["String",".stacker-column"],item:["String",".stacker-item"],customBreakPoints:["Object",null],largeMax:["Number",Number.MAX_VALUE],largeMin:["Number",961],mediumMax:["Number",960],mediumMin:["Number",651],smallMax:["Number",650],smallMin:["Number",0],largeCols:["Integer",3],mediumCols:["Integer",2],smallCols:["Integer",1],isOrdered:["Boolean",!0],onRunCallback:["Function",null],onResizeCallback:["Function",null],onAPIReloadCallback:["Function",null]},d.prototype={_init:function(){this._aList=[],this._curLayout="large",this._runFirstTime=!1,this._getPageItemsToList(),(this._canApplyLayoutChange()||!this._runFirstTime)&&(this._runFirstTime=!0,this._applyLayoutChange(),"function"==typeof this._options.onRunCallback&&this._options.onRunCallback(this._curLayout)),this._addEvents()},addItem:function(a){this._aList.push(a)},reloadItems:function(){this._applyLayoutChange(),"function"==typeof this._options.onAPIReloadCallback&&this._options.onAPIReloadCallback(this._curLayout)},_addEvents:function(){b.observe(window,"resize",Ink.bindEvent(this._onResize,this))},_onResize:function(){this._canApplyLayoutChange()&&(this._removeDomItems(),this._applyLayoutChange(),"function"==typeof this._options.onResizeCallback&&this._options.onResizeCallback(this._curLayout))},_setCurLayout:function(){var a=c.viewportWidth();if(this._options.customBreakpoints&&"object"==typeof this._options.customBreakPoints){for(var b in this._options.customBreakPoints)if(this._options.customBreakPoints.hasOwnProperty(b)&&a>=Number(this._options.customBreakPoints[b].min)&&a<=Number(this._options.customBreakPoints[b].max)&&this._curLayout!==b)return void(this._curLayout=b) +}else a<=Number(this._options.largeMax)&&a>=Number(this._options.largeMin)&&"large"!==this._curLayout?this._curLayout="large":a>=Number(this._options.mediumMin)&&a<=Number(this._options.mediumMax)&&"medium"!==this._curLayout?this._curLayout="medium":a>=Number(this._options.smallMin)&&a<=Number(this._options.smallMax)&&"small"!==this._curLayout&&(this._curLayout="small")},_getColumnsToShow:function(){return Number(this._options.customBreakPoints&&"object"==typeof this._options.customBreakPoints?this._options.customBreakPoints[this._curLayout].cols:this._options[this._curLayout+"Cols"])},_canApplyLayoutChange:function(){var a=this._curLayout;return this._setCurLayout(),a!==this._curLayout?!0:!1},_getPageItemsToList:function(){this._aColumn=Ink.ss(this._options.column,this._element);var a=this._aColumn.length,b=0;if(a>0){for(var c=0;c0&&this._options.isOrdered){for(var f=[],g=0;g0)for(var b=0;a>b;b++)for(var c=Ink.ss(this._options.item,this._aColumn[b]),d=c.length-1;d>=0;d--)c[d].parentNode.removeChild(c[d])},_applyLayoutChange:function(){var a=this._getColumnsToShow(),b=this._aList.length,c=0,d=0;if(a>0)for(;a>d;){if(this._aColumn[d].appendChild(this._aList[c]),c++,d++,c===b)return;d===a&&(d=0)}}},a.createUIComponent(d),d}),Ink.createModule("Ink.UI.Sticky","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.Dom.Css_1"],function(a,b,c,d){"use strict";function e(){a.BaseUIComponent.apply(this,arguments)}return e._name="Sticky_1",e._optionDefinition={offsetBottom:["Integer",0],offsetTop:["Integer",0],topElement:["Element",null],wrapperClass:["String","ink-sticky-wrapper"],stickyClass:["String","ink-sticky-stuck"],inlineDimensions:["Boolean",!0],inlinePosition:["Boolean",!0],bottomElement:["Element",null],activateInLayouts:["String","tiny,small,medium,large,xlarge"]},e.prototype={_init:function(){this._options.activateInLayouts=this._options.activateInLayouts.toString(),this._dims=null,this._options.offsetTop=parseInt(this._options.offsetTop,10)||0,this._options.offsetBottom=parseInt(this._options.offsetBottom,10)||0,this._options.topElement&&(this._options.topElement=a.elOrSelector(this._options.topElement,"Top Element")),this._options.bottomElement&&(this._options.bottomElement=a.elOrSelector(this._options.bottomElement,"Sticky bottom Element")),this._wrapper=c.create("div",{className:this._options.wrapperClass}),c.wrap(this._element,this._wrapper);var d=document.addEventListener?document:window;this._onScroll=Ink.bind(b.throttle(this._onScroll,33),this),b.observe(d,"scroll",this._onScroll),b.observe(window,"resize",Ink.bindEvent(b.throttle(this._onResize,100),this)),this._onScroll()},_isDisabledInLayout:function(){var b=a.currentLayout();return b?-1===this._options.activateInLayouts.indexOf(b):!1},_onScroll:function(){var a=this._getDims(),b=c.scrollHeight(),d=this._isDisabledInLayout()||b<=a.top-this._options.offsetTop||this._options.topElement&&this._options.topElement.getBoundingClientRect().bottom+this._options.offsetTop>0;if(d)return void this._unstick();var e=this._options.offsetTop+a.height+c.scrollHeight(),f=document.body.scrollHeight;this._options.bottomElement&&(f=this._options.bottomElement.getBoundingClientRect().top+c.scrollHeight()),f-=this._options.offsetBottom,this._stickTo(f>e?"screen":"bottom")},_stickTo:function(a){var b=this._element.style,e=this._getDims();if(d.addClassName(this._element,this._options.stickyClass),this._wrapper.style.height=e.height+"px",this._inlineDimensions(e.height+"px",e.width+"px"),this._options.inlinePosition!==!1)if(b.left=e.left+"px","screen"===a)b.bottom=null,b.top=this._options.offsetTop+"px";else if("bottom"===a){var f=this._getBottomOffset(),g=c.scrollHeight()+c.viewportHeight(),h=c.pageHeight()-g;b.bottom=f-h+"px",b.top="auto"}},_unstick:function(){d.removeClassName(this._element,this._options.stickyClass),this._inlineDimensions(null,null),this._options.inlinePosition&&(this._element.style.left=null,this._element.style.top=null,this._element.style.bottom=null),this._wrapper.style.height=null,this._wrapper.style.width=null,this._dims=null},_onResize:function(){this._dims=null,this._onScroll()},_getDims:function(){if(null!==this._dims)return this._dims;var a=this._element.style,b=a.position,d=a.width;a.position="static",a.width=null;var e=c.outerDimensions(this._element),f=this._wrapper.getBoundingClientRect();return this._dims={height:e[1],width:e[0],left:f.left+c.scrollWidth(),top:f.top+c.scrollHeight()},a.position=b,a.width=d,this._dims},_inlineDimensions:function(a,b){this._options.inlineDimensions&&(this._element.style.height=a,this._element.style.width=b)},_getBottomOffset:function(){var a=this._options.offsetBottom;return this._options.bottomElement&&(a+=c.pageHeight()-c.offsetTop(this._options.bottomElement)),a}},a.createUIComponent(e),e}),Ink.createModule("Ink.UI.Swipe","1",["Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.UI.Common_1"],function(a,b,c){"use strict";function d(){"function"==typeof arguments[1]&&(arguments[1]={onEnd:arguments[1]}),c.BaseUIComponent.apply(this,arguments)}return d._name="Swipe_1",d._optionDefinition={onEnd:["Function",void 0],onStart:["Function",void 0],onMove:["Function",void 0],minDist:["Number",void 0],maxDist:["Number",void 0],minDuration:["Number",void 0],maxDuration:["Number",void 0],axis:["String",void 0],storeGesture:["Boolean",!1],stopEvents:["Boolean",!0]},d.prototype={_supported:"ontouchstart"in document.documentElement,_init:function(){this._handlers={down:Ink.bindEvent(this._onDown,this),move:Ink.bindEvent(this._onMove,this),up:Ink.bindEvent(this._onUp,this)};var b=document.body;a.observe(b,"touchstart",this._handlers.down),(this._options.storeGesture||this._options.onMove)&&a.observe(b,"touchmove",this._handlers.move),a.observe(b,"touchend",this._handlers.up),this._isOn=!1},_isMeOrParent:function(a,b){if(a){do{if(a===b)return!0;a=a.parentNode}while(a);return!1}},_pushGesture:function(a,b){this._options.storeGesture&&(this._gesture.push(a),this._time.push(b))},_onDown:function(b){1===b.changedTouches.length&&this._isMeOrParent(b.target,this._element)&&(this._options.stopEvents===!0&&a.stop(b),b=b.changedTouches[0],this._isOn=!0,this._target=b.target,this._t0=+new Date,this._p0=[b.pageX,b.pageY],this._options.storeGesture&&(this._gesture=[],this._time=[]),this._pushGesture(this._p0,0),this._options.onStart&&this._options.onStart({event:b,element:this._element,instance:this,position:this._p0,dt:0}))},_onMove:function(b){if(this._isOn&&1===b.changedTouches.length){this._options.stopEvents===!0&&a.stop(b),b=b.changedTouches[0];var c=+new Date,d=c-this._t0,e=[b.pageX,b.pageY];this._pushGesture(e,d),this._options.onMove&&this._options.onMove({event:b,element:this._element,instance:this,position:e,dt:d})}},_onUp:function(b){if(this._isOn&&1===b.changedTouches.length){this._options.stopEvents===!0&&a.stop(b),b=b.changedTouches[0],this._isOn=!1;var c=+new Date,d=[b.pageX,b.pageY],e=c-this._t0,f=[d[0]-this._p0[0],d[1]-this._p0[1]],g=Math.sqrt(f[0]*f[0]+f[1]*f[1]),h=Math.abs(f[0])>Math.abs(f[1])?"x":"y",i=this._options;i.minDist&&gi.maxDist||i.minDuration&&ei.maxDuration||i.axis&&h!==i.axis||this._options.onEnd&&this._options.onEnd({event:b,element:this._element,instance:this,gesture:this._gesture,time:this._time,axis:h,overallMovement:f,overallTime:e})}}},c.createUIComponent(d),d}),Ink.createModule("Ink.UI.Table","1",["Ink.Util.Url_1","Ink.UI.Pagination_1","Ink.Net.Ajax_1","Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Element_1","Ink.Dom.Selector_1","Ink.Util.Array_1","Ink.Util.String_1","Ink.Util.Json_1"],function(a,b,c,d,e,f,g,h,i,j,k){"use strict";function l(a){return!isNaN(a)&&r.test(a)?parseInt(a,10):isNaN(a)?a:parseFloat(a)}function m(a,b){return a===b?0:a>b?1:-1}function n(a,b){var c=l(g.textContent(a)),d=l(g.textContent(b));return m(c,d)}function o(a){if("undefined"!=typeof Object.keys)return Object.keys(a);var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b}function p(){d.BaseUIComponent.apply(this,arguments)}function q(a){return a}var r=/\d/g;return p._name="Table_1",p._optionDefinition={pageSize:["Integer",null],caretUpClass:["String","fa fa-caret-up"],caretDownClass:["String","fa fa-caret-down"],endpoint:["String",null],createEndpointUrl:["Function",null],getDataFromEndPoint:["Function",null],processJSONRows:["Function",q],processJSONRow:["Function",q],processJSONField:["Function",q],processJSONHeaders:["Function",function(a){return a.fields}],processJSONTotalRows:["Function",function(a){return a.length||a.totalRows}],getSortKey:["Function",null],pagination:["Element",null],allowResetSorting:["Boolean",!1],visibleFields:["String",null],tdClassNames:["Object",{}],paginationOptions:["Object",null]},p.prototype={_validate:function(){if("table"!==this._element.nodeName.toLowerCase())throw new Error("[Ink.UI.Table] :: The element is not a table")},_init:function(){this._markupMode=!this._options.endpoint,this._options.visibleFields&&(this._options.visibleFields=this._options.visibleFields.toString().split(/[, ]+/g)),this._thead=this._element.tHead||this._element.createTHead(),this._headers=h.select("th",this._thead),this._handlers={thClick:null},this._originalFields=[],this._sortableFields={},this._originalData=this._data=[],this._pagination=null,this._totalRows=0,this._handlers.thClick=e.observeDelegated(this._element,"click",'thead th[data-sortable="true"]',Ink.bindMethod(this,"_onThClick")),this._markupMode?(this._resetSortOrder(),this._addHeadersClasses(),this._data=h.select("tbody tr",this._element),this._originalData=this._data.slice(0),this._totalRows=this._data.length,this._setPagination()):this._getData()},_addHeadersClasses:function(){for(var a,b,c=0,d=this._headers.length;d>c;c++)a=g.textContent(this._headers[c]),b=this._options.tdClassNames[a],b&&f.addClassName(this._headers[c],b)},_onThClick:function(a){var b=e.element(a),c=void 0!==this._options.pageSize;e.stop(a);var f=i.keyValue(b,this._headers,!0),g=f!==!1&&void 0!==this._sortableFields[f];if(g)if(!this._markupMode&&c)this._invertSortOrder(f,!1);else{"desc"===this._sortableFields[f]&&this._options.allowResetSorting?(this._setSortOrderOfColumn(f,null),this._data=this._originalData.slice(0)):this._invertSortOrder(f,!0);var j=h.select("tbody",this._element)[0];d.cleanChildren(j),i.each(this._data,Ink.bindMethod(j,"appendChild")),this._pagination&&(this._pagination.setCurrent(0),this._paginate(1))}},_invertSortOrder:function(a,b){for(var c="asc"===this._sortableFields[a],d=0,e=this._headers.length;e>d;d++)this._setSortOrderOfColumn(d,null);b&&(this._sort(a),c&&this._data.reverse()),this._setSortOrderOfColumn(a,!c)},_setSortOrderOfColumn:function(a,b){var c=this._headers[a],d=[""],e="none";b===!0?(d=[''],e="asc"):b===!1&&(d=[''],e="desc"),this._sortableFields[a]=e,c.innerHTML=g.textContent(c)+d.join("")},_paginate:function(a){if(this._pagination){var b=this._options.pageSize,c=(a-1)*b,d=c+b;i.each(this._data,function(a,b){b>=c&&d>b?f.removeClassName(a,"hide-all"):f.addClassName(a,"hide-all")})}},_registerFieldNames:function(a){this._originalFields=[],i.forEach(a,Ink.bind(function(a){this._fieldIsVisible(a)&&this._originalFields.push(a)},this))},_fieldIsVisible:function(a){return!this._options.visibleFields||-1!==this._options.visibleFields.indexOf(a)},_sort:function(a){function b(b){return d.call(e,{columnIndex:a,columnName:c,data:g.textContent(b),element:b})}var c=g.textContent(this._headers[a]),d=this._options.getSortKey;d&&(d="function"==typeof d[c]?d[c]:"function"==typeof d?d:null);var e=this;this._data.sort(function(c,e){var f=Ink.ss("td",c)[a],g=Ink.ss("td",e)[a];return d?m(b(f),b(g)):n(f,g,a)})},_createHeadersFromJson:function(a){if(this._registerFieldNames(o(a)),!this._thead.children.length)for(var b=this._thead.insertRow(0),c,d=0,e=a.length;e>d;d++)this._fieldIsVisible(a[d])&&(c=g.create("th"),c=this._createSingleHeaderFromJson(a[d],c),b.appendChild(c),this._headers.push(c))},_createSingleHeaderFromJson:function(a,b){return a.sortable&&b.setAttribute("data-sortable","true"),a.label&&g.setTextContent(b,a.label),b},_resetSortOrder:function(){for(var a=0,b=this._headers.length;b>a;a++){var c=g.data(this._headers[a]);c.sortable&&"true"===c.sortable.toString()&&(this._sortableFields[a]="none")}},_createRowsFromJSON:function(a){var b=h.select("tbody",this._element)[0];b?g.setHTML(b,""):(b=document.createElement("tbody"),this._element.appendChild(b)),this._data=[];var c;for(var d in a)a.hasOwnProperty(d)&&(c=this._options.processJSONRow(a[d]),this._createSingleRowFromJson(b,c,d));this._originalData=this._data.slice(0)},_createSingleRowFromJson:function(a,b,c){var d=document.createElement("tr");a.appendChild(d);for(var e in b)b.hasOwnProperty(e)&&this._createFieldFromJson(d,b[e],e,c);this._data.push(d)},_createFieldFromJson:function(a,b,c,d){if(this._fieldIsVisible(c)){var e=this._options.processJSONField[c]||this._options.processJSONField,g;g="function"==typeof e?e(b,c,d):b;var h=this._elOrFieldData(g),i=this._options.tdClassNames[c];i&&f.addClassName(h,i),a.appendChild(h)}},_elOrFieldData:function(a){if(d.isDOMElement(a))return a;var b="string"==typeof a,c="number"==typeof a,e=g.create("td");if(b&&/^\s*? li.active",this._menu),g=0,h=f.length;h>g;g++)f[g]!==a&&c.removeClassName(f[g],"active");return this._activeMenuTab&&(c.removeClassName(this._activeMenuTab,"active"),c.removeClassName(this._activeSection,"active"),c.addClassName(this._activeSection,"hide-all")),this._activeMenuLink=a,this._activeMenuTab=this._activeMenuLink.parentNode,this._activeSection=e.select(d.substr(d.indexOf("#")),this._element)[0],this._activeSection?(c.addClassName(this._activeMenuTab,"active"),c.addClassName(this._activeSection,"active"),c.removeClassName(this._activeSection,"hide-all"),void(b&&"undefined"!=typeof this._options.onChange&&this._options.onChange(this))):void(this._activeMenuLink=this._activeMenuTab=this._activeSection=null)},_onTabClickedGeneric:function(a){a.preventDefault(),c.hasClassName(a.currentTarget,"ink-disabled")||this._onTabClicked(a.currentTarget)},_onTabClicked:function(a){var b=a.getAttribute("href");b=b.substr(b.indexOf("#")),b&&null!==Ink.i(this._dehashify(b))&&(this._options.preventUrlChange||(window.location.hash=b),a!==this._activeMenuLink&&this.changeTab(a))},_onResize:function(){var b=a.currentLayout();if(b!==this._lastLayout){var d=b===a.Layouts.TINY||b===a.Layouts.SMALL||b===a.Layouts.MEDIUM;d?(c.removeClassName(this._menu,"menu"),c.removeClassName(this._menu,"horizontal")):(c.addClassName(this._menu,"menu"),c.addClassName(this._menu,"horizontal")),this._lastLayout=b}},_hashify:function(a){return a?0===a.indexOf("#")?a:"#"+a:""},_dehashify:function(a){return a?(""+a).replace(/^#/,""):""},_findLinkByHref:function(a){if(!a)return null;if(1===a.nodeType){if(d.isAncestorOf(a,this._element))return null;for(var b=e.select("a",this._menu),c=a.getAttribute("id"),f=0,g=b.length;g>f;f++){if(b[f]===a||d.isAncestorOf(a,b[f]))return b[f];if(c&&c===this._dehashify(b[f].getAttribute("href")))return b[f]}return null}return a=this._hashify(a),e.select('a[href$="'+a+'"]',this._menu)[0]||null},changeTab:function(a){a=this._findLinkByHref(a),a&&!c.hasClassName(a,"ink-disabled")&&this._changeTab(a,!0)},disable:function(a){c.addClassName(this._findLinkByHref(a),"ink-disabled")},enable:function(a){c.removeClassName(this._findLinkByHref(a),"ink-disabled")},activeTab:function(){return this._activeSection.getAttribute("id")},activeMenuTab:function(){return Ink.warn("Ink.UI.Tabs.activeMenuTab() is deprecated"),this._activeMenuTab},activeMenuLink:function(){return this._activeMenuLink},activeSection:function(){return this._activeSection},activeContentTab:function(){return Ink.warn("Ink.UI.Tabs.activeContentTab() is deprecated. Use activeSection instead."),this._activeSection()},destroy:a.destroyComponent},a.createUIComponent(f),f}),Ink.createModule("Ink.UI.TagField","1",["Ink.Dom.Element_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Browser_1","Ink.UI.Droppable_1","Ink.Util.Array_1","Ink.Dom.Selector_1","Ink.UI.Common_1"],function(a,b,c,d,e,f,g,h){"use strict";function i(){h.BaseUIComponent.apply(this,arguments)}var j=13,k=8,l=function(a){return!!a};return i._name="TagField_1",i._optionDefinition={tags:["String",[]],tagQuery:["Object",null],tagQueryAsync:["Object",null],allowRepeated:["Boolean",!1],maxTags:["Integer",-1],outSeparator:["String",","],separator:["String",/[,; ]+/g],autoSplit:["Boolean",!0]},i.prototype={_init:function(){var d=this._options;"string"==typeof d.separator&&(d.separator=new RegExp(d.separator,"g")),"string"==typeof d.tags&&(d.tags=this._readInput(d.tags)),c.addClassName(this._element,"hide-all"),this._viewElm=a.create("div",{className:"ink-tagfield",insertAfter:this._element}),this._input=a.create("input",{type:"text",className:"new-tag-input",insertBottom:this._viewElm});var e=[].concat(d.tags,this._tagsFromMarkup(this._element));this._tags=[],f.each(e,Ink.bindMethod(this,"_addTag")),b.observe(this._input,"keyup",Ink.bindEvent(this._onKeyUp,this)),b.observe(this._input,"change",Ink.bindEvent(this._onKeyUp,this)),b.observe(this._input,"keydown",Ink.bindEvent(this._onKeyDown,this)),b.observe(this._input,"blur",Ink.bindEvent(this._onBlur,this)),b.observe(this._viewElm,"click",Ink.bindEvent(this._refocus,this))},destroy:function(){a.remove(this._viewElm),c.removeClassName(this._element,"hide-all")},_tagsFromMarkup:function(b){var c=b.tagName.toLowerCase();if("input"===c)return this._readInput(b.value);if("select"===c)return f.map(b.getElementsByTagName("option"),function(b){return a.textContent(b)});throw new Error("Cannot read tags from a "+c+" tag. Unknown tag")},_tagsToMarkup:function(b,c){var d=c.tagName.toLowerCase();if("input"===d)this._options.separator&&(c.value=b.join(this._options.outSeparator));else{if("select"!==d)throw new Error("TagField: Cannot read tags from a "+d+" tag. Unknown tag");c.innerHTML="",f.each(b,function(b){var d=a.create("option",{selected:"selected"});a.setTextContent(d,b),c.appendChild(d)})}},_addTag:function(c){if(!(-1!==this._options.maxTags&&this._tags.length>=this._options.maxTags)){if(!this._options.allowRepeated&&f.inArray(c,this._tags,c)||!c)return!1;var d=a.create("span",{className:"ink-tag",setTextContent:c+" "}),e=a.create("span",{className:"remove fa fa-times",insertBottom:d});b.observe(e,"click",Ink.bindEvent(this._removeTag,this,null));var g=document.createTextNode(" ");this._tags.push(c),this._viewElm.insertBefore(d,this._input),this._viewElm.insertBefore(g,this._input),this._tagsToMarkup(this._tags,this._element)}},_readInput:function(a){return this._options.separator?f.filter(a.split(this._options.separator),l):[a]},_onKeyUp:function(){if(this._options.autoSplit){var a=this._input.value.split(this._options.separator);if(!(a.length<=1)){var b=a[a.length-1];a=a.splice(0,a.length-1),a=f.filter(a,l),f.each(a,Ink.bind(this._addTag,this)),this._input.value=b}}},_onKeyDown:function(a){return a.which===j?this._onEnterKeyDown(a):a.which===k?this._onBackspaceKeyDown():void(this._removeConfirm&&this._unsetRemovingVisual(this._tags.length-1))},_onBackspaceKeyDown:function(){this._input.value||(this._removeConfirm?(this._unsetRemovingVisual(this._tags.length-1),this._removeTag(this._tags.length-1),this._removeConfirm=null):this._setRemovingVisual(this._tags.length-1))},_onEnterKeyDown:function(a){var c=this._input.value;c&&(this._addTag(c),this._input.value=""),b.stopDefault(a)},_onBlur:function(){this._addTag(this._input.value),this._input.value=""},_setRemovingVisual:function(a){var d=this._viewElm.children[a];d&&(c.addClassName(d,"tag-deleting"),this._removeRemovingVisualTimeout=setTimeout(Ink.bindMethod(this,"_unsetRemovingVisual",a),4e3),b.observe(this._input,"blur",Ink.bindMethod(this,"_unsetRemovingVisual",a)),this._removeConfirm=!0)},_unsetRemovingVisual:function(a){var b=this._viewElm.children[a];b&&(c.removeClassName(b,"tag-deleting"),clearTimeout(this._removeRemovingVisualTimeout)),this._removeConfirm=null},_removeTag:function(c){var d;if("object"==typeof c){var e=b.element(c).parentNode;d=a.parentIndexOf(this._viewElm,e)}else"number"==typeof c&&(d=c);this._tags=f.remove(this._tags,d,1),a.remove(this._viewElm.children[d]),this._tagsToMarkup(this._tags,this._element)},_refocus:function(a){return this._input.focus(),b.stop(a),!1}},h.createUIComponent(i),i}),Ink.createModule("Ink.UI.Toggle","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Element_1","Ink.Dom.Selector_1","Ink.Util.Array_1"],function(a,b,c,d,e,f){"use strict";function g(){a.BaseUIComponent.apply(this,arguments)}return g._name="Toggle_1",g._optionDefinition={target:["Elements"],triggerEvent:["String","click"],closeOnClick:["Boolean",!0],isAccordion:["Boolean",!1],initialState:["Boolean",null],classNameOn:["String","show-all"],classNameOff:["String","hide-all"],closeOnInsideClick:["String","a[href]"],onChangeState:["Function",null]},g.prototype={_init:function(){var b,d;if(this._targets=a.elsOrSelector(this._options.target),this._options.closeOnClick="true"===this._options.closeOnClick.toString(),this._options.initialState=null!==this._options.initialState?"true"===this._options.initialState.toString():"none"!==c.getStyle(this._targets[0],"display"),"show-all"!==this._options.classNameOn||"hide-all"!==this._options.classNameOff)for(b=0,d=this._targets.length;d>b;b++)c.removeClassName(this._targets[b],"show-all"),c.removeClassName(this._targets[b],"hide-all");if(this._accordion=c.hasClassName(this._element.parentNode,"accordion")||c.hasClassName(this._targets[0].parentNode,"accordion"),this._firstTime=!0,this._bindEvents(),null!==this._options.initialState)this.setState(this._options.initialState,!0);else{var e="none"!==c.getStyle(this._targets[0],"display");this.setState(e,!0)}for(b=0,d=this._targets.length;d>b;b++)this._targets[b].style.display&&(this._targets[b].style.display="");this._element.setAttribute("data-is-toggle-trigger","true")},_bindEvents:function(){if(this._options.triggerEvent&&b.observe(this._element,this._options.triggerEvent,Ink.bind(this._onTriggerEvent,this)),this._options.closeOnClick&&b.observe(document,"click",Ink.bind(this._onOutsideClick,this)),this._options.closeOnInsideClick&&"false"!==this._options.closeOnInsideClick){var a=this._options.closeOnInsideClick;"true"===a.toString()&&(a="*"),b.observeMulti(this._targets,"click",Ink.bind(function(c){d.findUpwardsBySelector(b.element(c),a)&&this.setState(!1,!0)},this))}},_onTriggerEvent:function(a){var c=b.element(a),e=f.some(this._targets,function(a){return a===c||d.isAncestorOf(a,c)});if(!e){this._accordion&&this._updateAccordion();var g=this.getState();this.setState(!g,!0),!g&&this._firstTime&&(this._firstTime=!1),b.stopDefault(a)}},_updateAccordion:function(){var a,b;b=c.hasClassName(this._targets[0].parentNode,"accordion")?this._targets[0].parentNode:this._targets[0].parentNode.parentNode,a=e.select(".toggle, .ink-toggle",b);for(var f=0;f0&&h[0]!==this._targets[0]&&(h[0].style.display="none")}},_onOutsideClick:function(a){var c=b.element(a),e;if(!d.findUpwardsBySelector(c,'[data-is-toggle-trigger="true"]')){var g=f.some(this._targets,function(a){return d.isAncestorOf(a,c)||a===c});if(this._element!==c&&!d.isAncestorOf(this._element,c)&&!g){if((e=Ink.ss(".ink-shade")).length)for(var h=e.length,i=0;h>i;i++)if(d.isAncestorOf(e[i],c)&&d.isAncestorOf(e[i],this._element))return;this.setState(!1,!0)}}},setState:function(a,b){if(a!==this.getState()){if(b&&"function"==typeof this._options.onChangeState){var d=this._options.onChangeState(a);if(d===!1)return!1}for(var e=0,f=this._targets.length;f>e;e++)c.addRemoveClassName(this._targets[e],this._options.classNameOn,a),c.addRemoveClassName(this._targets[e],this._options.classNameOff,!a);c.addRemoveClassName(this._element,"active",a)}},getState:function(){return c.hasClassName(this._element,"active")}},a.createUIComponent(g),g}),Ink.createModule("Ink.UI.Tooltip","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.Dom.Selector_1","Ink.Util.Array_1","Ink.Dom.Css_1","Ink.Dom.Browser_1"],function(a,b,c,d,e,f){"use strict";function g(a,b){this._init(a,b||{})}function h(a,b){this._init(a,b)}var i,j,k;!function(){for(var a=document.createElement("DIV"),b=["transition","oTransition","msTransition","mozTransition","webkitTransition"],c=0;ce;e++)this.tooltips[e]=new h(this,c[e])},destroy:function(){e.each(this.tooltips,function(a){a._destroy()}),this.tooltips=null,this.options=null}},h.prototype={_oppositeDirections:{left:"right",right:"left",up:"down",down:"up"},_init:function(c,d){b.observe(d,"mouseover",Ink.bindEvent(this._onMouseOver,this)),b.observe(d,"mouseout",Ink.bindEvent(this._onMouseOut,this)),b.observe(d,"mousemove",Ink.bindEvent(this._onMouseMove,this)),this.root=c,this.element=d,this._delayTimeout=null,this.tooltip=null,a.registerInstance(this,this.element)},_makeTooltip:function(a){if(!this._getOpt("text")&&!this._getOpt("html")&&!c.hasAttribute(this.element,"title"))return!1;var d=this._createTooltipElement();this.tooltip&&this._removeTooltip(),this.tooltip=d,this._fadeInTooltipElement(d),this._placeTooltipElement(d,a),b.observe(d,"mouseover",Ink.bindEvent(this._onTooltipMouseOver,this));var e=this._getFloatOpt("timeout");e&&setTimeout(Ink.bind(function(){this.tooltip===d&&this._removeTooltip()},this),1e3*e)},_createTooltipElement:function(){var b=this._getOpt("template"),e=this._getOpt("templatefield"),g,h;if(b){var i=document.createElement("DIV");if(i.innerHTML=a.elOrSelector(b,"options.template").outerHTML,g=i.firstChild,e){if(h=d.select(e,g),!h)throw"options.templatefield must be a valid selector within options.template";h=h[0]}else h=g}else g=document.createElement("DIV"),f.addClassName(g,"ink-tooltip"),f.addClassName(g,this._getOpt("color")),h=document.createElement("DIV"),f.addClassName(h,"content"),g.appendChild(h);return this._getOpt("html")?h.innerHTML=this._getOpt("html"):this._getOpt("text")?c.setTextContent(h,this._getOpt("text")):c.setTextContent(h,this.element.getAttribute("title")),g.style.display="block",g.style.position="absolute",g.style.zIndex=this._getIntOpt("zIndex"),g},_fadeInTooltipElement:function(a){var b=this._getFloatOpt("fade");i&&b&&(a.style.opacity="0",a.style[i]=b+"s",a.style[j]="opacity",a.style[k]="ease-in-out",setTimeout(function(){a.style.opacity="1"},0))},_placeTooltipElement:function(a,b){var d=this._getOpt("where");if("mousemove"===d||"mousefix"===d){var e=b;this._setPos(e[0],e[1]),m.appendChild(a)}else if(d.match(/(up|down|left|right)/)){m.appendChild(a);var g=c.offset(this.element),h=g[0],i=g[1],j=c.elementWidth(this.element)/2-c.elementWidth(a)/2,k=c.elementHeight(this.element)/2-c.elementHeight(a)/2,l=this._getIntOpt("spacing"),n=c.elementDimensions(a),o=c.elementDimensions(this.element),p=c.scrollWidth()+c.viewportWidth(),q=c.scrollHeight()+c.viewportHeight(); +d=this._getWhereValueInsideViewport(d,{left:h-n[0],right:h+n[0],top:i+n[1],bottom:i+n[1]},{right:p,bottom:q}),"up"===d?(i-=n[1],i-=l,h+=j):"down"===d?(i+=o[1],i+=l,h+=j):"left"===d?(h-=n[0],h-=l,i+=k):"right"===d&&(h+=o[0],h+=l,i+=k);var r=null;d.match(/(up|down|left|right)/)&&(r=document.createElement("SPAN"),f.addClassName(r,"arrow"),f.addClassName(r,this._oppositeDirections[d]),a.appendChild(r));var s=h,t=i,u=t+n[1]-q,v=s+n[0]-p,w=0-s,x=0-t;u>0?(r&&(r.style.top=n[1]/2+u+"px"),t-=u):x>0?(r&&(r.style.top=n[1]/2-x+"px"),t+=x):v>0?(r&&(r.style.left=n[0]/2+v+"px"),s-=v):w>0&&(r&&(r.style.left=n[0]/2-w+"px"),s+=w),a.style.left=s+"px",a.style.top=t+"px"}},_getWhereValueInsideViewport:function(a,b,c){return"left"===a&&b.left<0?"right":"right"===a&&b.right>c.right?"left":"up"===a&&b.top<0?"down":"down"===a&&b.bottom>c.bottom?"up":a},_removeTooltip:function(){var a=this.tooltip;if(a){var b=Ink.bind(c.remove,{},a);"mousemove"!==this._getOpt("where")&&i?(a.style.opacity=0,setTimeout(b,1e3*this._getFloatOpt("fade"))):b(),this.tooltip=null}},_getOpt:function(a){var b=c.data(this.element)[c._camelCase("tip-"+a)];if(b)return b;var d=this.root.options[a];return"undefined"!=typeof d?d:void 0},_getIntOpt:function(a){return parseInt(this._getOpt(a),10)},_getFloatOpt:function(a){return parseFloat(this._getOpt(a),10)},_destroy:function(){this.tooltip&&c.remove(this.tooltip),this.root=null,this.element=null,this.tooltip=null},_onMouseOver:function(a){var b=this._getMousePosition(a),c=this._getFloatOpt("delay");c?this._delayTimeout=setTimeout(Ink.bind(function(){this.tooltip||this._makeTooltip(b),this._delayTimeout=null},this),1e3*c):this._makeTooltip(b)},_onMouseMove:function(a){if("mousemove"===this._getOpt("where")&&this.tooltip){var b=this._getMousePosition(a);this._setPos(b[0],b[1])}},_onMouseOut:function(){this._getIntOpt("forever")||this._removeTooltip(),this._delayTimeout&&(clearTimeout(this._delayTimeout),this._delayTimeout=null)},_onTooltipMouseOver:function(){this.tooltip&&this._removeTooltip()},_setPos:function(a,b){a+=this._getIntOpt("left"),b+=this._getIntOpt("top");var d=this._getPageXY();if(this.tooltip){var e=[c.elementWidth(this.tooltip),c.elementHeight(this.tooltip)],f=this._getScroll();e[0]+a-f[0]>=d[0]-20&&(a=a-e[0]-this._getIntOpt("left")-10),e[1]+b-f[1]>=d[1]-20&&(b=b-e[1]-this._getIntOpt("top")-10),this.tooltip.style.left=a+"px",this.tooltip.style.top=b+"px"}},_getPageXY:function(){var a=0,b=0;return"number"==typeof window.innerWidth?(a=window.innerWidth,b=window.innerHeight):document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)?(a=document.documentElement.clientWidth,b=document.documentElement.clientHeight):document.body&&(document.body.clientWidth||document.body.clientHeight)&&(a=document.body.clientWidth,b=document.body.clientHeight),[parseInt(a,10),parseInt(b,10)]},_getScroll:function(){var a=document.documentElement,b=document.body;return a&&(a.scrollLeft||a.scrollTop)?[a.scrollLeft,a.scrollTop]:b?[b.scrollLeft,b.scrollTop]:[0,0]},_getMousePosition:function(a){return[parseInt(b.pointerX(a),10),parseInt(b.pointerY(a),10)]}},g}),Ink.createModule("Ink.UI.TreeView","1",["Ink.UI.Common_1","Ink.Dom.Event_1","Ink.Dom.Css_1","Ink.Dom.Element_1","Ink.Dom.Selector_1","Ink.Util.Array_1"],function(a,b,c,d,e,f){"use strict";function g(){a.BaseUIComponent.apply(this,arguments)}return g._name="TreeView_1",g._optionDefinition={node:["String","li"],child:["String",null],children:["String","ul"],parentClass:["String","parent"],openNodeClass:["String","open"],openClass:["String","fa fa-minus-circle"],closedClass:["String","fa fa-plus-circle"],hideClass:["String","hide-all"],iconTag:["String","i"],stopDefault:["Boolean",!0]},g.prototype={_init:function(){this._options.child&&(Ink.warn("Ink.UI.TreeView: options.child is being renamed to options.children."),this._options.children=this._options.child),this._handlers={click:Ink.bindEvent(this._onClick,this)},b.on(this._element,"click",this._options.node,this._handlers.click),f.each(Ink.ss(this._options.node,this._element),Ink.bind(function(a){if(this.isParent(a)){c.addClassName(a,this._options.parentClass);var b=this.isOpen(a);this._getIcon(a)||d.create(this._options.iconTag,{insertTop:a}),this._setNodeOpen(a,b)}},this))},_getIcon:function(a){return Ink.s("> "+this._options.iconTag,a)},isOpen:function(a){if(!this._getChild(a))throw new Error("not a node!");return"true"===d.data(a).open||c.hasClassName(a,this._options.openNodeClass)},isParent:function(a){return c.hasClassName(a,this._options.parentClass)||null!=this._getChild(a)},_setNodeOpen:function(a,b){var d=this._getChild(a);if(d){c.setClassName(d,this._options.hideClass,!b);var e=this._getIcon(a);a.setAttribute("data-open",b);var f=b?this._options.openClass:this._options.closedClass,g=b?this._options.closedClass:this._options.openClass;c.removeClassName(e,g),c.addClassName(e,f),c.setClassName(a,this._options.openNodeClass,b)}else Ink.error("Ink.UI.TreeView: node",a,"is not a node!")},open:function(a){this._setNodeOpen(a,!0)},close:function(a){this._setNodeOpen(a,!1)},toggle:function(a){this.isOpen(a)?this.close(a):this.open(a)},_getChild:function(a){return e.select(this._options.children,a)[0]||null},_onClick:function(a){!this.isParent(a.currentTarget)||e.matchesSelector(a.target,this._options.node)||e.matchesSelector(a.target,this._options.children)||(this._options.stopDefault&&a.preventDefault(),this.toggle(a.currentTarget))}},a.createUIComponent(g),g}),Ink.createModule("Ink.UI.Upload","1",["Ink.Dom.Event_1","Ink.Dom.Element_1","Ink.Dom.Browser_1","Ink.UI.Common_1"],function(a,b,c,d){"use strict";var e=function(a){this.init(a)};e.prototype={init:function(a){this._options=Ink.extendObj({entry:void 0,maxDepth:10},a||{});try{this._read()}catch(b){Ink.error(b)}},_read:function(){if(!this._options.entry)return void Ink.error("You must specify the entry!");try{this._readDirectories()}catch(a){Ink.error(a)}},_readDirectories:function(){var a=[],b=!1,c=0,d=Ink.bind(function(e){var f=e.createReader();b=!0,f.readEntries(Ink.bind(function(e){if(e.length>0){for(var f=0,g=e.length;g>f;f++)a.push(e[f]),e[f].isDirectory&&(c=this.clearArray(e[f].fullPath.split("/")),c.shift(),c=c.length,c<=this._options.maxDepth&&d(e[f]));this._stopActivityTimeout&&clearTimeout(this._stopActivityTimeout),this._stopActivityTimeout=setTimeout(function(){b=!1},250)}e.length||(b=!1)},this),Ink.bind(function(a){this._options.readError(a,e)},this))},this);d(this._options.entry);var e,f=function(){return b?!1:(clearInterval(e),this._options.readComplete&&"function"==typeof this._options.readComplete&&this._options.readComplete(a),!0)};e=setInterval(Ink.bind(f,this),250)},clearArray:function(a){for(var b=a.length-1;b>=0;b--)("undefined"==typeof a[b]||null===a[b]||""===a[b])&&a.splice(b,1);return a}};var f={lists:[],items:[],create:function(a){var b;return a=String(a),this.lists.push({name:a}),b=this.lists.length-1},getItems:function(a){if(!a)return this.items;for(var b=[],c=0,d=this.items.length;d>c;c++)this.items[c].parentId===a&&b.push(this.items[c]);return b},purge:function(a,b){if("number"!=typeof a||isNaN(Number(a)))return!1;try{for(var c=this.items.length;c>=0;c--)this.items[c]&&a===this.items[c].parentId&&this.remove(this.items[c].parentId,this.items[c].pid);return b||this.lists.splice(a,1),!0}catch(d){return Ink.error("Purge: invalid id"),!1}},add:function(a,b,c){if(!this.lists[a])return!1;"object"!=typeof b&&(b=String(b));var d=parseInt(Math.round(1e5*Math.random())+""+Math.round(1e5*Math.random()),10);return c=c||0,this.items.push({parentId:a,item:b,priority:c||0,pid:d}),d},view:function(a,b){var c=this._searchByPid(a,b);return c===!1?!1:this.items[c]},remove:function(a,b){try{var c=this._searchByPid(a,b);return c===!1?!1:(this.items.splice(c,1),!0)}catch(d){return Ink.error("Remove: invalid id"),!1}},_searchByPid:function(a,b){if(!a&&"boolean"==typeof a||!b)return!1;if(a=parseInt(a,10),b=parseInt(b,10),isNaN(a)||isNaN(b))return!1;for(var c=0,d=this.items.length;d>c;c++)if(this.items[c].parentId===a&&this.items[c].pid===b)return c;return!1}},g=function(a){this.Upload=a,this.init()};g.prototype={init:function(){this._fileButton=this.Upload._options.fileButton,this._dropzone=this.Upload._options.dropzone,this._setDropEvent(),this._setFileButton()},_setDropEvent:function(){var a=this._dropzone;if(a)for(var b=0,c=a.length;c>b;b++)a[b].ondrop=Ink.bindEvent(this.Upload._dropEventHandler,this.Upload),a[b].ondragleave=Ink.bindEvent(this._onDragLeave,this),a[b].ondragend=Ink.bindEvent(this._onDragEndEventHandler,this),a[b].ondragdrop=Ink.bindEvent(this._onDragEndEventHandler,this),a[b].ondragenter=Ink.bindEvent(this._onDragEnterHandler,this),a[b].ondragover=Ink.bindEvent(this._onDragOverHandler,this)},_onDragEnterHandler:function(a){return a&&a.stopPropagation&&a.stopPropagation(),a&&a.preventDefault&&a.preventDefault(),a&&(a.returnValue=!1),this.Upload.publish("DragEnter",a),!1},_onDragOverHandler:function(a){return a?(a.preventDefault(),a.stopPropagation(),a.returnValue=!1,!0):!1},_onDragLeave:function(a){return this.Upload.publish("DragLeave",a)},_onDragEndEventHandler:function(a){return this.Upload.publish("DragEnd",a)},_setFileButton:function(){var b=this._fileButton;b&&a.observeMulti(b,"change",Ink.bindEvent(this._fileChangeHandler,this))},_fileChangeHandler:function(c){var d=a.element(c),e=d.files,f=b.findUpwardsByTag(d,"form");return e&&window.FormData&&"withCredentials"in new XMLHttpRequest?(this.Upload._addFilesToQueue(e),void(d.value="")):(f.parentNode.submit(),!1)}};var h=function(a){this.Queue=f,this.init(a),this._events={}};return h.prototype={init:function(a){if("string"==typeof a&&(a=b.data(d.elOrSelector(a,"1st argument"))),this._options=Ink.extendObj({dropzone:void 0,fileButton:void 0,fileFormName:"Ink_Filelist",endpoint:"",maxFilesize:300<<20,INVALID_FILE_NAME:void 0,extraData:{},useChunks:!1,chunkSize:4194304,minSizeToUseChunks:20971520,endpointChunk:"",endpointChunkCommit:"",foldersEnabled:!1,directoryMaxDepth:10},a||{}),this._queueId=f.create("Ink_UPLOAD"),this._queueRunning=!1,this._folders={},this._options.dropzone&&(this._options.dropzone=d.elsOrSelector(this._options.dropzone,"Ink.UI.Upload - dropzone")),this._options.fileButton&&(this._options.fileButton=d.elsOrSelector(this._options.fileButton,"Ink.UI.Upload - fileButton")),!this._options.dropzone&&!this._options.fileButton)throw new TypeError("Ink.UI.Upload: Specify a fileButton or a Dropzone!");new g(this)},_supportChunks:function(a){return this._options.useChunks&&"Blob"in window&&(new Blob).slice&&a>this._options.minSizeToUseChunks},_dropEventHandler:function(b){a.stop(b),this.publish("DropComplete",b.dataTransfer);var c=b.dataTransfer;if(!c||!c.files||!c.files.length)return!1;if(this._files=c.files,this._files=Array.prototype.slice.call(this._files||[],0),c.items&&c.items[0]&&c.items[0].webkitGetAsEntry){if(!this._options.foldersEnabled)return setTimeout(Ink.bind(this._addFilesToQueue,this,this._files),0);for(var d,e=[],f=b.dataTransfer.items.length-1;f>=0;f--)d=b.dataTransfer.items[f].webkitGetAsEntry(),d&&d.isDirectory&&(e.push(d),this._files[f].isDirectory=!0,this._files.splice(f,1));this._addFolderToQueue(e,Ink.bind(function(){setTimeout(Ink.bind(this._addFilesToQueue,this,this._files),0)},this))}else setTimeout(Ink.bind(this._addFilesToQueue,this,this._files),0);return!0},_addFolderToQueue:function(a,b){var c=[],d={};if(!a||!a.length)return b(),c;var f=function(a){for(var b=[],c=0,d=a.length;d>c;c++)a[c].isFile&&b.push(a[c]);return b},g=function(a,b){var d;return b=b||0,this._files[b]?"fileentry"!==this._files[b].constructor.name.toLowerCase()?g.apply(this,[a,++b]):void this._files[b].file(Ink.bind(function(c){d=this._files[b].fullPath,this._files[b]=c,this._files[b].hasParent=!0,this._files[b].fullPath||(this._files[b].fullPath=d),g.apply(this,[a,++b])},this),Ink.bind(function(){this._files.splice(b,1),g.apply(this,[a,b])},this)):(a(),c)},h=Ink.bind(function(i){return a[i]?void new e({entry:a[i],maxDepth:this._options.directoryMaxDepth,readComplete:Ink.bind(function(b){if(c=c.concat(f(b)),a[i]&&!(a[i].fullPath in this._folders)){this._folders[a[i].fullPath]={items:b,files:c,length:b.length,created:!1,root:!0};for(var e=0,g=b.length;g>e;e++)b[e].isFile||(b[e].fullPath in d?delete d[b[e].fullPath]:this._folders[b[e].fullPath]={created:!1,root:!1});h(++i)}},this),readError:Ink.bind(function(a,b){d[b.fullPath]={},d[b.fullPath].error=a},this)}):(this._files=this._files.concat(c),g.call(this,b),!1)},this);return h(0),c},_addFilesToQueue:function(a){for(var b,d,e,g=0,h=a.length;h>g;g++)b=a[g],b.isDirectory||null!==b&&(b.type||b.size%4096!==0||c.CHROME&&this._options.foldersEnabled)?b.size>this._options.maxFilesize?this.publish("MaxSizeFailure",b,this._options.maxFilesize):(d=parseInt(Math.round(1e5*Math.random())+""+Math.round(1e5*Math.random()),10),e={id:g,data:b,fileID:d,directory:b.isDirectory},f.add(this._queueId,e),this.publish("FileAddedToQueue",e)):this.publish("InvalidFile",b,"size");this._processQueue(!0),this._files=[]},_processQueue:function(a){if(this._queueRunning)return!1;this.running=0;var b=1,c=0,d,e=f.items.length;this._queueRunning=!0,this.interval=setInterval(Ink.bind(function(){if(f.items.length===c&&0===this.running&&(f.purge(this._queueId,!0),this._queueRunning=!1,clearInterval(this.interval),this.publish("QueueEnd",this._queueId,e)),d=f.getItems(this._queueId),this.runningb.chunk_offset){if(c.response){var e=JSON.parse(c.response),f=b.chunk_offset&&e.offset!==b.chunk_offset+this._options.chunkSize&&b.size!==e.offset;f?(a.cb&&a.cb(),this.publish("ErrorUpload",b,d)):(b.chunk_upload_id=e.upload_id,b.chunk_offset=e.offset,b.chunk_expires=e.expires,this._upload(a))}else a.cb&&a.cb(),this.publish("ErrorUpload",b,d);return c=null}return a.cb&&a.cb(),c.responseText&&c.status<400?this.publish("EndUpload",b,d,c.responseText):this.publish("ErrorUpload",b,d),c=null},this),c.onerror=Ink.bindEvent(function(){a.cb&&a.cb(),this.publish("ErrorUpload",b,d)},this),c.onabort=Ink.bindEvent(function(){a.cb&&a.cb(),this.publish("AbortUpload",b,d,{abortAll:Ink.bind(this.abortAll,this),abortOne:Ink.bind(this.abortOne,this)})},this)},abortAll:function(){return this._queueRunning?(clearInterval(this.interval),this._queueRunning=!1,f.purge(this._queueId,!0),!0):!1},abortOne:function(a,b){for(var c=f.getItems(0),d,e=0,g=c.length;g>e;e++)if(c[e].item.fileID===a)return d={id:c[e].item.fileID,name:c[e].item.data.name,size:c[e].item.data.size,hasParent:c[e].item.data.hasParent},f.remove(0,c[e].pid),b&&b(d),!0;return!1},subscribe:function(a,b){return this._events[a]||(this._events[a]=[]),this._events[a].push(b),this._events[a]},publish:function(a){var b=this._events[a],c=Array.prototype.slice.call(arguments||[],0);if(b)for(var d=0,e=b.length;e>d;d++)try{b[d].apply(this,c.splice(1,c.length))}catch(f){Ink.error(a+": "+f)}}},h}); +//# sourceMappingURL=ink-ui.min.map \ No newline at end of file diff --git a/public/js/ink-ui.min.map b/public/js/ink-ui.min.map new file mode 100644 index 0000000..933b5e4 --- /dev/null +++ b/public/js/ink-ui.min.map @@ -0,0 +1 @@ +{"version":3,"file":"ink-ui.min.js","sources":["../../src/js/Ink/UI/Animate/1/lib.js","../../src/js/Ink/UI/Carousel/1/lib.js","../../src/js/Ink/UI/Close/1/lib.js","../../src/js/Ink/UI/Common/1/lib.js","../../src/js/Ink/UI/DatePicker/1/lib.js","../../src/js/Ink/UI/Draggable/1/lib.js","../../src/js/Ink/UI/Drawer/1/lib.js","../../src/js/Ink/UI/Dropdown/1/lib.js","../../src/js/Ink/UI/Droppable/1/lib.js","../../src/js/Ink/UI/FormValidator/1/lib.js","../../src/js/Ink/UI/FormValidator/2/lib.js","../../src/js/Ink/UI/ImageQuery/1/lib.js","../../src/js/Ink/UI/LazyLoad/1/lib.js","../../src/js/Ink/UI/Modal/1/lib.js","../../src/js/Ink/UI/Pagination/1/lib.js","../../src/js/Ink/UI/ProgressBar/1/lib.js","../../src/js/Ink/UI/SmoothScroller/1/lib.js","../../src/js/Ink/UI/SortableList/1/lib.js","../../src/js/Ink/UI/Spy/1/lib.js","../../src/js/Ink/UI/Stacker/1/lib.js","../../src/js/Ink/UI/Sticky/1/lib.js","../../src/js/Ink/UI/Swipe/1/lib.js","../../src/js/Ink/UI/Table/1/lib.js","../../src/js/Ink/UI/Tabs/1/lib.js","../../src/js/Ink/UI/TagField/1/lib.js","../../src/js/Ink/UI/Toggle/1/lib.js","../../src/js/Ink/UI/Tooltip/1/lib.js","../../src/js/Ink/UI/TreeView/1/lib.js","../../src/js/Ink/UI/Upload/1/lib.js"],"names":["Ink","createModule","Common","InkEvent","Css","Animate","BaseUIComponent","apply","this","arguments","animationPrefix","el","style","document","createElement","animationEndEventName","animation","oAnimation","msAnimation","webkitAnimation","_name","_optionDefinition","trigger","duration","removeClass","onEnd","prototype","_init","isNaN","parseInt","_options","observe","bind","animate","_element","extendObj","_animationPrefix","animationSupported","element","options","onAnimationEnd","event","target","animationName","removeClassName","removeEventListener","elOrSelector","addClassName","addEventListener","setTimeout","createUIComponent","InkElement","Pagination","Browser","limitRange","n","min","max","Math","Carousel","setTransitionProperty","newTransition","transitionProperty","oTransitionProperty","msTransitionProperty","mozTransitionProperty","webkitTransitionProperty","requestAnimationFrame","window","mozRequestAnimationFrame","webkitRequestAnimationFrame","cb","autoAdvance","axis","initialPage","spaceAfterLastSlide","hideLast","center","keyboardSupport","pagination","onChange","onInit","swipe","_handlers","paginationChange","bindMethod","windowResize","throttle","_isY","ulEl","s","_ulEl","removeTextNodeChildren","_currentPage","refit","whiteSpace","_setUpPagination","_setUpAutoAdvance","_setUpHider","call","size","elm","perpendicular","outerDimensions","_liEls","ss","numSlides","length","contRect","getBoundingClientRect","_ctnLength","bottom","top","right","left","_elLength","_slidesPerPage","floor","isFinite","numPages","ceil","numPagesChanged","_numPages","_deltaLength","_center","_updateHider","_IE7","_pagination","setSize","setPage","getPage","isDOMElement","setCurrent","self","nextPage","hiderEl","create","className","insertBottom","position","_hiderEl","gap","pad","padding","join","IE","version","split","slides","stl","prop","val","i","len","_onTouchStart","touches","_swipeData","x","pointerX","y","pointerY","ulRect","firstUlPos","inUlX","inUlY","_touchMoveIsFirstTouchMove","_onTouchMove","deltaY","abs","deltaX","undefined","_scrolling","_onAnimationFrame","stopDefault","pointerPos","swipeData","elRect","newPos","_onTouchEnd","snapToNext","relProgress","curPage","progressInPages","_onPaginationChange","pgn","_setPage","getCurrent","page","wrap","_lengthToGo","isLastPage","_itemsInLastPage","previousPage","getSlidesPerPage","getTotalPages","getStageElm","getSlidesList","getTotalSlides","Close","body","ev","findUpwardsByClass","toRemove","stop","remove","Ajax","Selector","Url","warnStub","constructor","warn","stub","obj","k","hasOwnProperty","Error","_componentOptions","elementIsOptional","error","elsOrSelector","isValidInstance","_validateInstance","e","registerInstance","_stubInstance","nothing","keys","Object","ret","push","es6WeakMapSupport","instances","WeakMap","domRegistry","get","__InkInstances","set","thing","Layouts","TINY","SMALL","MEDIUM","LARGE","XLARGE","isInteger","fieldName","t","select","required","TypeError","fieldId","defaults","overrides","optionValue","key","type","lType","toLowerCase","defaultVal","invalidThrow","_coerce_funcs","fromDataAttrs","dataAttrs","_coerce_from_string","_options_validate","invalid","quote","out","data","invalidStr","str","replace","paramName","_options_validate_types","elements","object","number","parseFloat","boolean","string","function","integer","types","round","clone","o","JSON","parse","stringify","ex","childIndex","childEl","els","parentNode","f","ajaxJSON","endpoint","params","evalJS","method","parameters","onSuccess","r","responseJSON","status","message","onFailure","currentLayout","v","detectorEl","id","setAttribute","appendChild","children","getStyle","getAttribute","hashSet","hashParams","getAnchorString","location","hash","genQueryString","substring","cleanChildren","parentEl","prevEl","lastChild","previousSibling","removeChild","storeIdAndClasses","fromEl","inObj","_id","classes","_classes","restoreIdAndClasses","toEl","indexOf","_instanceId","_warnDoubleInstantiation","newInstance","getName","getInstance","nameWithoutVersion","inst","unregisterInstance","splice","UIComponent","getInstanceFromSelector","selector","getInstanceIds","res","getInstances","destroyComponent","instance","err","_validate","_validationError","name","getOption","setOption","value","getElement","theConstructor","assert","test","msg","assertProp","propType","propVal","_oldProto","hideF","F","Event","InkArray","InkDate","clamp","dateishFromYMDString","YMD","dateishFromYMD","year","month","day","_year","_month","_day","dateishFromDate","date","getFullYear","getMonth","getDate","DatePicker","autoOpen","cleanText","closeText","pickerField","containerElement","cssClass","dateRange","displayInSelect","dayField","monthField","yearField","format","nextLinkText","ofText","onFocus","onMonthSelected","onSetDate","onYearSelected","prevLinkText","showClean","showClose","shy","startDate","startWeekDay","validDayFn","validMonthFn","validYearFn","nextValidDateFn","prevValidDateFn","yearRange",1,2,3,4,5,6,7,8,9,10,11,12,"wDay","_dateParsers","_hoverPicker","_picker","_setMinMax","setDate","Date","_lang","_render","_listenToContainerObjectEvents","_containerObject","_renderSuperTopBar","calendarTop","_monthDescContainer","_monthPrev","href","setHTML","_monthNext","_monthContainer","_monthSelector","_renderMonthSelector","_yearSelector","_appendDatePickerToDom","_renderMonth","_monthChanger","setTextContent","_ofText","_yearChanger","inline","show","_addOpenCloseEvents","_addDateChangeHandlersToInputs","fields","observeMulti","bindEvent","_updateDate","_showDefaultView","_inline","_hide","opener","cannotBe","descendantOf","ulSelector","mon","_renderMonthButton","liMonth","data-cal-month","appendTarget","parentIsControl","matchesSelector","_wrapper","_wrapperIsControl","insertAfter","_superTopBar","_onClick","elem","hasClassName","_onRelativeChangerClick","_onAbsoluteChangerClick","_showMonthSelector","_showYearSelector","_clean","_updateDescription","changeYear","change_year_next","change_year_prev","changeMonth","change_month_next","change_month_prev","_updateCal","elemData","Number","calDay","calMonth","calYear","_changeYear","selectedIndex","blur","noLimits","_min","noMinLimit","_max","noMaxLimit","MAX_VALUE","dates","rDate","each","noLim","lim","toUpperCase","now","_daysInMonth","valid","_dateCmp","_fitDateToRange","_isValidDate","_dateWithinRange","_dateAboveMax","_dateBelowMin","oth","_dateCmpUntil","depth","props","display","childNodes","_getPrevMonth","_getNextMonth","dataParsed","_parseDate","_setDate","inc","_incrementViewingYear","firstYear","thisYear","yearUl","prevYearLi","_getYearButton","nextYearLi","_acceptableYear","li","data-cal-year","_addMonthClassNames","dateStr","yearRegExp","validOneOrTwo","_isDate","_acceptableDay","_acceptableDateComponent","_acceptableMonth","userCb","_callUserCallbackBool","_writeDateInFormat","dateString","auxDate","objClicked","dt","_updateMonth","_y","_m","exceptions","incValue","_tryLeap","d","_getPrevYear","_getNextYear","atomName","directionName","advancer","maxOrMin","boundary","leapUserCb","_callUserCallbackDate","_getNextDecade","decade","_getCurrentDecade","_getPrevDecade","_callUserCallbackBase","yyyy-mm-dd","yyyy/mm/dd","yy-mm-dd","yy/mm/dd","dd-mm-yyyy","dd/mm/yyyy","dd-mm-yy","dd/mm/yy","mm/dd/yyyy","mm-dd-yyyy","_getMonthCalendarHeader","_getDayButtons","_getFirstDayIndex","wDayFirst","getDay","result","daysInMonth","createDocumentFragment","ul","firstDayIndex","_getDayButton","attrs","dayButton","header","parent","forEach","getElementsByTagName","_addMonthButtonClassNames","btn","toDisable","addRemoveClassName","lang","showMonth","isMonthRendered","destroy","unwrap","between","Draggable","constraint","constraintElm","handle","revert","cursor","zIndex","fps","droppableProxy","mouseAnchor","dragClass","skipChildren","onStart","onDrag","elmStartPosition","active","dragged","prevCoords","placeholder","zindex","firstDrag","deltaMs","lastRunAt","handlers","start","_onStart","dragFacade","_onDragFacade","drag","_onDrag","end","_onEnd","selectStart","stopObserving","_getCoords","ps","scrollWidth","scrollHeight","clientX","clientY","_cloneStyle","src","dst","borderWidth","width","elementWidth","height","elementHeight","elementLeft","elementTop","cssFloat","isLeftClick","button","tgtEl","pos","dims","elementDimensions","originalPosition","delta","div","marginTop","marginBottom","marginLeft","marginRight","visibility","delta2","parts","ad","applyDelta","dragHandlerName","proxy","innerWidth","documentElement","clientWidth","innerHeight","clientHeight","fs","backgroundColor","setOpacity","firstEl","firstChild","nodeType","nextSibling","insertBefore","mouseCoords","mPosX","mPosY","newX","newY","draggableSize","offset","constTop","constBottom","constLeft","constRight","pageWidth","pageHeight","Droppable","getModule","updateAll","mouseCoords2","action","pt","Loaded","Element","elNotFound","Drawer","parentSelector","leftDrawer","leftTrigger","rightDrawer","rightTrigger","contentDrawer","closeOnContentClick","closeOnLinkClick","mode","sides","_contentDrawers","_leftDrawer","_leftTriggers","_rightDrawer","_rightTriggers","_triggers","_isOpen","_direction","click","afterTransition","_afterTransition","_delay","_addEvents","triggerClicked","side","close","open","preventDefault","findUpwardsBySelector","currentTarget","isLink","on","direction","one","Toggle","Dropdown","hoverOpen","dismissOnInsideClick","dismissOnOutsideClick","dismissAfter","onInsideClick","onOutsideClick","onOpen","onDismiss","_toggle","closeOnInsideClick","closeOnClick","onChangeState","newState","_openOrDismiss","_onMouseOver","getState","clearTimeout","_openTimeout","_dismissTimeout","_onMouseOut","_onInsideClick","_handlerCall","dismiss","_onOutsideClick","foundElem","findUpwardsHaving","needle","foundTarget","callHandler","doNotInformToggle","_doNotInformToggle","setState","handler","slice","hAddClassName","hRemoveClassName","debug","_droppables","_draggables","add","cleanStyle","draggable","opt","hoverClass","hoverclass","accept","onHover","onDrop","onDropOut","that","namedEventHandlers","move","droppable","copy","cloneNode","_findDraggable","originalParent","elementData","_update","_findData","elms","update","offsetLeft","offsetTop","coords","matches","InkValidator","elementsWithSameName","form","FormValidator","_flagMap","ink-fv-required","ink-fv-email","ink-fv-url","ink-fv-number","ink-fv-phone_pt","ink-fv-phone_cv","ink-fv-phone_mz","ink-fv-phone_ao","ink-fv-date","ink-fv-confirm","ink-fv-custom","confirmElms","hasConfirm","_errorClassName","_errorValidationClassName","_errorTypeWarningClassName","_errorTypeErrorClassName","validate","_free","onError","customFlag","confirmGroup","getElementById","random","custom","fail","_validateElements","_showError","_clearError","_clearCache","reset","_getElements","formElms","curElm","totalElm","flag","flag2","oGroups","_makeConfirmGroups","errors","customErrors","inArray","disabled","_isValid","_isCustomValid","_validateConfirmGroups","curGroup","total","j","totalG","curFlag","tCustom","callback","fieldType","nodeName","inputType","_trim","aFormRadios","isChecked","totalRadio","checked","mail","url","isPTPhone","isCVPhone","isAOPhone","isMZPhone","dataset","validFormat","validValues","isDate","formElm","aFail","tFail","_showAnErrorOnElement","controlGroupElm","controlElm","errorClasses","_errorTypeClassName","errorMsg","innerHTML","aErrorLabel","control","aErrorLabel2","I18n","FormElement","validationFunctions","min_length","minSize","max_length","maxSize","exact_length","exactSize","email","fullCheck","ip","ipType","isIP","phone","phoneType","countryCode","credit_card","cardType","isCreditCard","alpha","supportSpaces","ascii","singleLineWhitespace","text","whitespace","punctuation","unicode","unicodePunctuation","latin","latin1","latin1Punctuation","alpha_numeric","numbers","alpha_dash","dash","underscore","digit","positive","negative","decimalPlaces","decimal","decimalSeparator","leftDigits","decimalSep","maxDigits","numeric","range","minValue","maxValue","multipleOf","color","isColor","fieldToCompare","getFormElements","getValue","validationMessages","en_US","formvalidator.required","formvalidator.min_length","formvalidator.max_length","formvalidator.exact_length","formvalidator.email","formvalidator.url","formvalidator.ip","formvalidator.phone","formvalidator.credit_card","formvalidator.date","formvalidator.alpha","formvalidator.text","formvalidator.latin","formvalidator.alpha_numeric","formvalidator.alpha_dash","formvalidator.digit","formvalidator.integer","formvalidator.decimal","formvalidator.numeric","formvalidator.range","formvalidator.color","formvalidator.matches","formvalidator.validation_function_not_found","pt_PT","label","rules","_errors","_rules","_value","_getLabel","textContent","_parseRules","rulesLength","rule","paramStartPos","substr","p","_addError","paramObj","field","i18nKey","getErrors","_formElements","eventTrigger","neverSubmit","searchFor","beforeValidation","setRule","errorMessage","getKey","langObj","dictObj","append","getI18n","setI18n","i18n","appendI18n","setLanguage","language","getRules","_rootElement","_errorMessages","_markedErrorElements","getElements","formElements","errorElement","errorElements","counter","cancelEventOnSuccess","formElement","controlGroupElement","controlElement","paragraph","errorArr","ImageQuery","retina","queries","onLoad","lastIndexOf","search","_filename","pop","sortMulti","reverse","_onLoad","_onResize","current","_findCurrentQuery","devicePixelRatio","file","_","viewportWidth","last","query","LazyLoad","item","source","destination","delay","image","scrollElement","touchEvents","onInsideViewport","onAfterAttributeChange","autoInit","_rootElm","_aData","_hasEvents","_activate","_getData","_onScrollThrottled","aElms","attr","hasAttribute","original","_onScroll","_removeEvents","inViewport","partial","margin","_elInViewport","_userCallback","removeAttribute","reload","upName","dimension","firstCharacter","match","maxName","Modal","opacitySupported","opacity","openModals","shadeClass","modalClass","triggerEvent","autoDisplay","markup","onShow","closeOnEscape","responsive","_onShadeClick","keyDown","_onKeyDown","resize","_wasDismissed","_markupMode","_modalDiv","_modalDivStyle","_modalShadow","_modalShadowStyle","_contentContainer","setContentMarkup","triggerElements","toString","_reposition","runNow","_timeoutResizeFunction","_resizeTimeout","isPercentage","currentViewport","viewportHeight","originalStatus","_resizeContainer","_shadeElement","alertsInTheModal","alertsLength","keyCode","containerHeight","_modalHeader","_modalFooter","compatMode","_contentElement","_waitForFade","keyValue","htmlEl","transitionEndEventNames","classicName","evName","observeOnce","fadeChecker","getContentElement","contentMarkup","tempHeader","tempFooter","toAdd","concat","genAEl","inner","index","aEl","wrapText","spanEl","totalItemCount","itemsPerPage","sideButtons","firstLabel","lastLabel","previousLabel","nextLabel","previousPageLabel","nextPageLabel","hashParameter","parentTag","childTag","wrapperClass","paginationClass","activeClass","disabledClass","hideClass","previousClass","previousPageClass","nextClass","nextPageClass","numberFormatter","_size","_calculateSize","_current","_itemLiEls","_generateMarkup","_updateItems","_observe","observeDelegated","count","liEls","isSimpleToggle","liEl","setClassName","_nextEl","pi","pf","_pageStart","_pageEnd","_page","_prevPageEl","hasPreviousPage","_nextPageEl","hasNextPage","_firstEl","isFirst","_lastEl","isLast","_prevEl","hasPrevious","hasNext","hasUlAlready","isChevron","isDotted","createLiEl","isPrev","isNext","isPrevPage","isNextPage","firstClass","lastClass","aElem","nr","setOnChange","sz","setSizeInItems","totalItems","pageNumber","isRelative","getSize","ProgressBar","startValue","_elementBar","setValue","newValue","cancelAnimationFrame","SmoothScroller","speed","changeHash","scroll","a","endPos","interval","onDone","scrollTo","init","onClick","render","link","thisDocument","linkedDocument","activeLiSelector","activeLi","Events","SortableList","hasTouch","navigator","maxTouchPoints","msMaxTouchPoints","placeholderClass","draggedClass","draggingClass","dragSelector","dragObject","handleSelector","moveSelector","swap","cancelMouseOut","down","_onDown","_onMove","up","_onUp","_isMoving","_down","_move","_up","stopMoving","_placeholder","_movePlaceholder","_addMovingClasses","touch","elementFromPoint","validateMove","droppedElement","_removeMovingClasses","target_position","placeholder_position","from_top","from_left","targetIndex","spyTargets","addSpied","spied","observeOnScroll","observingOnScroll","onScroll","onScrollForTarget","activeEl","findActiveElement","toDeactivate","menuLinkSelector","toActivate","findUpwardsByTag","closest","Infinity","closestIndex","bBox","Spy","Stacker","column","customBreakPoints","largeMax","largeMin","mediumMax","mediumMin","smallMax","smallMin","largeCols","mediumCols","smallCols","isOrdered","onRunCallback","onResizeCallback","onAPIReloadCallback","_aList","_curLayout","_runFirstTime","_getPageItemsToList","_canApplyLayoutChange","_applyLayoutChange","addItem","reloadItems","_removeDomItems","_setCurLayout","customBreakpoints","_getColumnsToShow","cols","curLayout","_aColumn","totalCols","aItems","aNewList","ii","countCol","Sticky","offsetBottom","topElement","stickyClass","inlineDimensions","inlinePosition","bottomElement","activateInLayouts","_dims","scrollTarget","_isDisabledInLayout","_getDims","unstick","_unstick","bottomOfSticky","maxBottomOfSticky","_stickTo","where","_inlineDimensions","_getBottomOffset","bottomOfViewport","toBottomOfDocument","oldPosition","oldWidth","dimensionsInStatic","rect","Swipe","onMove","minDist","maxDist","minDuration","maxDuration","storeGesture","stopEvents","_supported","db","_isOn","_isMeOrParent","_pushGesture","_gesture","_time","changedTouches","_target","_t0","_p0","pageX","pageY","t1","gesture","p1","dr","dist","sqrt","time","overallMovement","overallTime","InkUrl","InkString","Json","maybeTurnIntoNumber","rNumber","cmp","b","numberishEnabledCmp","aValue","bValue","Table","sameSame","pageSize","caretUpClass","caretDownClass","createEndpointUrl","getDataFromEndPoint","processJSONRows","processJSONRow","processJSONField","processJSONHeaders","processJSONTotalRows","totalRows","getSortKey","allowResetSorting","visibleFields","tdClassNames","paginationOptions","_thead","tHead","createTHead","_headers","thClick","_originalFields","_sortableFields","_originalData","_data","_totalRows","_resetSortOrder","_addHeadersClasses","_setPagination","headerLabel","classNames","_onThClick","paginated","sortable","_invertSortOrder","_setSortOrderOfColumn","tbody","_paginate","sortAndReverse","isAscending","_sort","caretHtml","order","firstIndex","lastIndex","_registerFieldNames","names","_fieldIsVisible","userKey","keyFunction","columnIndex","columnName","sort","trA","trB","elementA","elementB","_createHeadersFromJson","headers","tr","insertRow","th","_createSingleHeaderFromJson","_createRowsFromJSON","rows","row","trIndex","_createSingleRowFromJson","rowIndex","_createFieldFromJson","fieldData","processor","_elOrFieldData","processed","isString","isNumber","setEndpoint","currentPage","paginationEl","pageNo","sortOrder","_getSortOrder","_getDataViaAjax","_getUrl","urlCreator","parseUrl","sortField","endpointUri","success","JSONData","_onAjaxSuccess","getDataFromEndpoint","contentType","sanitizeJSON","response","responseText","jsonResponse","_rowLength","Tabs","preventUrlChange","onBeforeChange","menuSelector","contentSelector","tabSelector","triggerEventsOnLoad","_menu","_initializeDom","_setFirstActive","contentTabs","activeMenuLink","_findLinkByHref","_changeTab","runCallbacks","activeTabs","_activeMenuTab","_activeSection","_activeMenuLink","_onTabClickedGeneric","_onTabClicked","tabElm","_dehashify","changeTab","_lastLayout","smallLayout","_hashify","isAncestorOf","links","disable","enable","activeTab","activeMenuTab","activeSection","activeContentTab","TagField","enterKey","backspaceKey","isTruthy","tags","tagQuery","tagQueryAsync","allowRepeated","maxTags","outSeparator","separator","autoSplit","RegExp","_readInput","_viewElm","_input","_tagsFromMarkup","_tags","_onKeyUp","_onBlur","_refocus","tagname","tagName","map","option","_tagsToMarkup","tag","selected","_addTag","_removeTag","spc","createTextNode","filter","which","_onEnterKeyDown","_onBackspaceKeyDown","_removeConfirm","_unsetRemovingVisual","_setRemovingVisual","tagIndex","_removeRemovingVisualTimeout","parentIndexOf","focus","isAccordion","initialState","classNameOn","classNameOff","_targets","_accordion","_firstTime","_bindEvents","state","_onTriggerEvent","sel","isAncestorOfClickedElement","some","thisOne","_updateAccordion","has","accordionElement","targetElm","shades","ancestorOfTargets","shadesLength","Tooltip","EachTooltip","root","transitionDurationName","transitionPropertyName","transitionTimingFunctionName","bodies","spacing","forever","timeout","template","templatefield","fade","tooltips","tooltip","_destroy","_oppositeDirections","_onMouseMove","_delayTimeout","_makeTooltip","mousePosition","_getOpt","_createTooltipElement","_removeTooltip","_fadeInTooltipElement","_placeTooltipElement","_onTooltipMouseOver","_getFloatOpt","temp","outerHTML","_getIntOpt","fadeTime","mPos","_setPos","targetElementPos","tleft","ttop","centerh","centerv","tooltipDims","elementDims","maxX","maxY","_getWhereValueInsideViewport","arrow","tooltipLeft","tooltipTop","toBottom","toRight","toLeft","toTop","bbox","viewport","dataAttrVal","_camelCase","instanceOption","_getMousePosition","pageDims","_getPageXY","elmDims","scrollDim","_getScroll","cWidth","cHeight","dd","scrollLeft","scrollTop","TreeView","node","child","parentClass","openNodeClass","openClass","closedClass","iconTag","isParent","isOpen","_getIcon","insertTop","_setNodeOpen","_getChild","beOpen","icon","toggle","DirectoryReader","entry","maxDepth","_read","_readDirectories","entries","running","_readEntries","currentEntry","dir","createReader","readEntries","isDirectory","clearArray","fullPath","shift","_stopActivityTimeout","readError","activity","checkActivity","clearInterval","readComplete","setInterval","arr","Queue","lists","items","String","getItems","parentId","purge","keepList","pid","priority","view","_searchByPid","UI","Upload","_fileButton","fileButton","_dropzone","dropzone","_setDropEvent","_setFileButton","dropzones","ondrop","_dropEventHandler","ondragleave","_onDragLeave","ondragend","_onDragEndEventHandler","ondragdrop","ondragenter","_onDragEnterHandler","ondragover","_onDragOverHandler","stopPropagation","returnValue","publish","btns","_fileChangeHandler","files","FormData","XMLHttpRequest","_addFilesToQueue","submit","_events","fileFormName","maxFilesize","INVALID_FILE_NAME","extraData","useChunks","chunkSize","minSizeToUseChunks","endpointChunk","endpointChunkCommit","foldersEnabled","directoryMaxDepth","_queueId","_queueRunning","_folders","_supportChunks","Blob","dataTransfer","_files","Array","webkitGetAsEntry","folders","_addFolderToQueue","invalidFolders","getFiles","isFile","convertToFile","hasParent","getSubDirs","created","fileID","CHROME","directory","_processQueue","internalUpload","queueLen","canceled","_doRequest","_upload","xhr","forceAbort","showError","lengthComputable","loaded","abort","lastModifiedDate","Dom","OPERA","upload","onprogress","chunk_offset","chunk_upload_id","withCredentials","setRequestHeader","fd","blob","upload_path","parentID","rootPath","send","onload","invalidOffset","upload_id","chunk_expires","expires","onerror","onabort","abortAll","abortOne","subscribe","eventName","fn","events","args"],"mappings":"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","sourcesContent":["/**\n * Animate.css Utility\n *\n * This module is a wrapper around animate.css's CSS classes to produce animation.\n * It contains options to ease common tasks, like listen to the \"animationend\" event with all necessary prefixes, remove the necessary class names when the animation finishes, or configure the duration of your animation with the necessary browser prefix.\n *\n * @module Ink.UI.Animate_1\n * @version 1\n */\n\nInk.createModule('Ink.UI.Animate', 1, ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Css_1'], function (Common, InkEvent, Css) {\n 'use strict';\n\n var animationPrefix = (function (el) {\n return ('animationName' in el.style) ? 'animation' :\n ('oAnimationName' in el.style) ? 'oAnimation' :\n ('msAnimationName' in el.style) ? 'msAnimation' :\n ('webkitAnimationName' in el.style) ? 'webkitAnimation' : null;\n }(document.createElement('div')));\n\n var animationEndEventName = {\n animation: 'animationend',\n oAnimation: 'oanimationend',\n msAnimation: 'MSAnimationEnd',\n webkitAnimation: 'webkitAnimationEnd'\n }[animationPrefix];\n\n /**\n * @class Ink.UI.Animate_1\n * @constructor\n *\n * @param {DOMElement} element Animated element\n * @param {Object} options Options object\n * @param {String} options.animation Animation name\n * @param {String|Number} [options.duration] Duration name (fast|medium|slow) or duration in milliseconds. Defaults to 'medium'.\n * @param {Boolean} [options.removeClass] Flag to remove the CSS class when finished animating. Defaults to false.\n * @param {Function} [options.onEnd] Callback for the animation end\n *\n * @sample Ink_UI_Animate_1.html\n *\n **/\n function Animate() {\n Common.BaseUIComponent.apply(this, arguments);\n }\n\n Animate._name = 'Animate_1';\n\n Animate._optionDefinition = {\n trigger: ['Element', null],\n duration: ['String', 'slow'], // Actually a string with a duration name, or a number of ms\n animation: ['String'],\n removeClass: ['Boolean', true],\n onEnd: ['Function', function () {}]\n };\n\n Animate.prototype._init = function () {\n if (!isNaN(parseInt(this._options.duration, 10))) {\n this._options.duration = parseInt(this._options.duration, 10);\n }\n\n if (this._options.trigger) {\n InkEvent.observe(this._options.trigger, 'click', Ink.bind(function () {\n this.animate();\n }, this)); // later\n } else {\n this.animate();\n }\n };\n\n Animate.prototype.animate = function () {\n Animate.animate(this._element, this._options.animation, this._options);\n };\n\n Ink.extendObj(Animate, {\n /**\n * Browser prefix for the CSS animations.\n *\n * @property _animationPrefix\n * @private\n **/\n _animationPrefix: animationPrefix,\n\n /**\n * Boolean which says whether this browser has CSS3 animation support.\n *\n * @property animationSupported\n **/\n animationSupported: !!animationPrefix,\n\n /**\n * Prefixed 'animationend' event name.\n *\n * @property animationEndEventName\n **/\n animationEndEventName: animationEndEventName,\n\n /**\n * Animate an element using one of the animate.css classes\n *\n * **Note: This is a utility method inside the `Animate` class, which you can access through `Animate.animate()`. Do not mix these up.**\n *\n * @static\n * @method animate\n * @param element {DOMElement} animated element\n * @param animation {String} animation name\n * @param [options] {Object}\n * @param [options.onEnd=null] {Function} callback for animation end\n * @param [options.removeClass=false] {Boolean} whether to remove the Css class when finished\n * @param [options.duration=medium] {String|Number} duration name (fast|medium|slow) or duration in ms\n *\n * @sample Ink_UI_Animate_1_animate.html\n **/\n animate: function (element, animation, options) {\n element = Common.elOrSelector(element);\n\n if (typeof options === 'number' || typeof options === 'string') {\n options = { duration: options };\n } else if (!options) {\n options = {};\n }\n\n if (typeof arguments[3] === 'function') {\n options.onEnd = arguments[3];\n }\n\n if (typeof options.duration !== 'number' && typeof options.duration !== 'string') {\n options.duration = 400;\n }\n\n if (!Animate.animationSupported) {\n if (options.onEnd) {\n setTimeout(function () {\n options.onEnd(null);\n }, 0);\n }\n return;\n }\n\n if (typeof options.duration === 'number') {\n element.style[animationPrefix + 'Duration'] = options.duration + 'ms';\n } else if (typeof options.duration === 'string') {\n Css.addClassName(element, options.duration);\n }\n\n Css.addClassName(element, ['animated', animation]);\n\n function onAnimationEnd(event) {\n if (event.target !== element) { return; }\n if (event.animationName !== animation) { return; }\n if (options.onEnd) { options.onEnd(event); }\n if (options.removeClass) {\n Css.removeClassName(element, animation);\n }\n if (typeof options.duration === 'string') {\n Css.removeClassName(element, options.duration);\n }\n element.removeEventListener(animationEndEventName, onAnimationEnd, false);\n }\n\n element.addEventListener(animationEndEventName, onAnimationEnd, false);\n }\n });\n\n Common.createUIComponent(Animate);\n\n return Animate;\n});\n","/**\n * Flexible Carousel\n * @module Ink.UI.Carousel_1\n * @version 1\n */\n\nInk.createModule('Ink.UI.Carousel', '1',\n ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Css_1', 'Ink.Dom.Element_1', 'Ink.UI.Pagination_1', 'Ink.Dom.Browser_1', 'Ink.Dom.Selector_1'],\n function(Common, InkEvent, Css, InkElement, Pagination, Browser/*, Selector*/) {\n 'use strict';\n\n /*\n * TODO:\n * keyboardSupport\n */\n\n function limitRange(n, min, max) {\n return Math.min(max, Math.max(min, n));\n }\n\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (cb) {return setTimeout(cb, 1000 / 30); };\n\n /**\n * @class Ink.UI.Carousel_1\n * @constructor\n *\n * @param {String|DOMElement} selector DOM element or element id\n * @param {Object} [options] Carousel Options\n * @param {Integer} [options.autoAdvance] Milliseconds to wait before auto-advancing pages. Set to 0 to disable auto-advance. Defaults to 0.\n * @param {String} [options.axis] Axis of the carousel. Set to 'y' for a vertical carousel. Defaults to 'x'.\n * @param {Number} [options.initialPage] Initial index page of the carousel. Defaults to 0.\n * @param {Boolean} [options.spaceAfterLastSlide=true] If there are not enough slides to fill the full width of the last page, leave white space. Defaults to `true`.\n * @param {Boolean} [options.swipe] Enable swipe support if available. Defaults to true.\n * @param {Mixed} [options.pagination] Either an ul element to add pagination markup to or an `Ink.UI.Pagination` instance to use.\n * @param {Function} [options.onChange] Callback to be called when the page changes.\n *\n * @sample Ink_UI_Carousel_1.html\n */\n function Carousel() {\n Common.BaseUIComponent.apply(this, arguments);\n }\n\n Carousel._name = 'Carousel_1';\n\n Carousel._optionDefinition = {\n autoAdvance: ['Integer', 0],\n axis: ['String', 'x'],\n initialPage: ['Integer', 0],\n spaceAfterLastSlide: ['Boolean', true],\n hideLast: ['Boolean', false],\n // [3.1.0] Deprecate \"center\". It is only needed when things are of unknown widths.\n center: ['Boolean', false],\n keyboardSupport:['Boolean', false],\n pagination: ['String', null],\n onChange: ['Function', null],\n onInit: ['Function', function () {}],\n swipe: ['Boolean', true]\n // TODO exponential swipe\n // TODO specify break point for next page when moving finger\n };\n\n Carousel.prototype = {\n _init: function () {\n this._handlers = {\n paginationChange: Ink.bindMethod(this, '_onPaginationChange'),\n windowResize: InkEvent.throttle(Ink.bindMethod(this, 'refit'), 200)\n };\n\n InkEvent.observe(window, 'resize', this._handlers.windowResize);\n\n this._isY = (this._options.axis === 'y');\n\n var ulEl = Ink.s('ul.stage', this._element);\n this._ulEl = ulEl;\n\n InkElement.removeTextNodeChildren(ulEl);\n\n if (this._options.pagination == null) {\n this._currentPage = this._options.initialPage;\n }\n\n this.refit(); // recalculate this._numPages\n\n if (this._isY) {\n // Override white-space: no-wrap which is only necessary to make sure horizontal stuff stays horizontal, but breaks stuff intended to be vertical.\n this._ulEl.style.whiteSpace = 'normal';\n }\n\n if (this._options.swipe) {\n InkEvent.observe(this._element, 'touchstart', Ink.bindMethod(this, '_onTouchStart'));\n InkEvent.observe(this._element, 'touchmove', Ink.bindMethod(this, '_onTouchMove'));\n InkEvent.observe(this._element, 'touchend', Ink.bindMethod(this, '_onTouchEnd'));\n }\n\n this._setUpPagination();\n this._setUpAutoAdvance();\n this._setUpHider();\n\n this._options.onInit.call(this, this);\n },\n\n /**\n * Repositions elements around.\n * Measure the carousel once again, adjusting the involved elements' sizes. This is called automatically when the window resizes, in order to cater for changes from responsive media queries, for instance.\n *\n * @method refit\n * @public\n */\n refit: function() {\n var _isY = this._isY;\n\n var size = function (elm, perpendicular) {\n if (!elm) { return 0; }\n\n if (!perpendicular) {\n return InkElement.outerDimensions(elm)[_isY ? 1 : 0];\n } else {\n return InkElement.outerDimensions(elm)[_isY ? 0 : 1];\n }\n };\n\n this._liEls = Ink.ss('li.slide', this._ulEl);\n var numSlides = this._liEls.length;\n\n var contRect = this._ulEl.getBoundingClientRect();\n this._ctnLength = _isY ? contRect.bottom - contRect.top : contRect.right - contRect.left;\n this._elLength = size(this._liEls[0]);\n this._slidesPerPage = Math.floor( this._ctnLength / this._elLength ) || 1;\n if (!isFinite(this._slidesPerPage)) { this._slidesPerPage = 1; }\n\n var numPages = Math.ceil( numSlides / this._slidesPerPage );\n var numPagesChanged = this._numPages !== numPages;\n this._numPages = numPages;\n this._deltaLength = this._slidesPerPage * this._elLength;\n \n this._center();\n this._updateHider();\n this._IE7();\n\n if (this._pagination && numPagesChanged) {\n this._pagination.setSize(this._numPages);\n }\n this.setPage(limitRange(this.getPage(), 0, this._numPages));\n },\n\n _setUpPagination: function () {\n if (this._options.pagination) {\n if (Common.isDOMElement(this._options.pagination) ||\n typeof this._options.pagination === 'string') {\n // if dom element or css selector string...\n this._pagination = new Pagination(this._options.pagination, {\n size: this._numPages,\n onChange: this._handlers.paginationChange\n });\n } else {\n // assumes instantiated pagination\n this._pagination = this._options.pagination;\n this._pagination._options.onChange = this._handlers.paginationChange;\n this._pagination.setSize(this._numPages);\n }\n this._pagination.setCurrent(this._options.initialPage || 0);\n } else {\n this._currentPage = this._options.initialPage || 0;\n }\n },\n\n _setUpAutoAdvance: function () {\n if (!this._options.autoAdvance) { return; }\n var self = this;\n\n setTimeout(function autoAdvance() {\n self.nextPage(true /* wrap */);\n setTimeout(autoAdvance, self._options.autoAdvance);\n }, this._options.autoAdvance);\n },\n\n _setUpHider: function () {\n if (this._options.hideLast) {\n var hiderEl = InkElement.create('div', {\n className: 'hider',\n insertBottom: this._element\n });\n hiderEl.style.position = 'absolute';\n hiderEl.style[ this._isY ? 'left' : 'top' ] = '0'; // fix to top..\n hiderEl.style[ this._isY ? 'right' : 'bottom' ] = '0'; // and bottom...\n hiderEl.style[ this._isY ? 'bottom' : 'right' ] = '0'; // and move to the end.\n this._hiderEl = hiderEl;\n }\n },\n\n // [3.1.0] Deprecate this already\n _center: function() {\n if (!this._options.center) { return; }\n var gap = Math.floor( (this._ctnLength - (this._elLength * this._slidesPerPage) ) / 2 );\n\n var pad;\n if (this._isY) {\n pad = [gap, 'px 0'];\n } else {\n pad = ['0 ', gap, 'px'];\n }\n\n this._ulEl.style.padding = pad.join('');\n },\n\n // [3.1.0] Deprecate this already\n _updateHider: function() {\n if (!this._hiderEl) { return; }\n if (this.getPage() === 0) {\n var gap = Math.floor( this._ctnLength - (this._elLength * this._slidesPerPage) );\n if (this._options.center) {\n gap /= 2;\n }\n this._hiderEl.style[ this._isY ? 'height' : 'width' ] = gap + 'px';\n } else {\n this._hiderEl.style[ this._isY ? 'height' : 'width' ] = '0px';\n }\n },\n \n /**\n * Refits elements for IE7 because it doesn't support inline-block.\n *\n * @method _IE7\n * @private\n */\n _IE7: function () {\n if (Browser.IE && '' + Browser.version.split('.')[0] === '7') {\n // var numPages = this._numPages;\n var slides = Ink.ss('li.slide', this._ulEl);\n var stl = function (prop, val) {slides[i].style[prop] = val; };\n for (var i = 0, len = slides.length; i < len; i++) {\n stl('position', 'absolute');\n stl(this._isY ? 'top' : 'left', (i * this._elLength) + 'px');\n }\n }\n },\n\n _onTouchStart: function (event) {\n if (event.touches.length > 1) { return; }\n\n this._swipeData = {\n x: InkEvent.pointerX(event),\n y: InkEvent.pointerY(event)\n };\n\n var ulRect = this._ulEl.getBoundingClientRect();\n\n this._swipeData.firstUlPos = ulRect[this._isY ? 'top' : 'left'];\n\n this._swipeData.inUlX = this._swipeData.x - ulRect.left;\n this._swipeData.inUlY = this._swipeData.y - ulRect.top;\n\n setTransitionProperty(this._ulEl, 'none');\n\n this._touchMoveIsFirstTouchMove = true;\n },\n\n _onTouchMove: function (event) {\n if (event.touches.length > 1) { return; /* multitouch event, not my problem. */ }\n\n var pointerX = InkEvent.pointerX(event);\n var pointerY = InkEvent.pointerY(event);\n\n var deltaY = Math.abs(pointerY - this._swipeData.y);\n var deltaX = Math.abs(pointerX - this._swipeData.x);\n\n if (this._touchMoveIsFirstTouchMove) {\n this._touchMoveIsFirstTouchMove = undefined;\n this._scrolling = this._isY ?\n deltaX > deltaY :\n deltaY > deltaX ;\n\n if (!this._scrolling) {\n this._onAnimationFrame();\n }\n }\n\n if (!this._scrolling && this._swipeData) {\n InkEvent.stopDefault(event);\n\n this._swipeData.pointerPos = this._isY ? pointerY : pointerX;\n }\n },\n\n _onAnimationFrame: function () {\n var swipeData = this._swipeData;\n\n if (!swipeData || this._scrolling || this._touchMoveIsFirstTouchMove) { return; }\n\n var elRect = this._element.getBoundingClientRect();\n\n var newPos;\n\n if (!this._isY) {\n newPos = swipeData.pointerPos - swipeData.inUlX - elRect.left;\n } else {\n newPos = swipeData.pointerPos - swipeData.inUlY - elRect.top;\n }\n\n this._ulEl.style[this._isY ? 'top' : 'left'] = newPos + 'px';\n\n requestAnimationFrame(Ink.bindMethod(this, '_onAnimationFrame'));\n },\n\n _onTouchEnd: function (event) {\n if (this._swipeData && this._swipeData.pointerPos && !this._scrolling && !this._touchMoveIsFirstTouchMove) {\n var snapToNext = 0.1; // swipe 10% of the way to change page\n\n var relProgress = this._swipeData.firstUlPos -\n this._ulEl.getBoundingClientRect()[this._isY ? 'top' : 'left'];\n\n var curPage = this.getPage();\n\n // How many pages were advanced? May be fractional.\n var progressInPages = relProgress / this._elLength / this._slidesPerPage;\n\n // Have we advanced enough to change page?\n if (Math.abs(progressInPages) > snapToNext) {\n curPage += Math[ relProgress < 0 ? 'floor' : 'ceil' ](progressInPages);\n }\n\n // If something used to calculate progressInPages was zero, we get NaN here.\n if (!isNaN(curPage)) {\n this.setPage(curPage);\n }\n\n InkEvent.stopDefault(event);\n }\n\n setTransitionProperty(this._ulEl, null /* transition: left, top */);\n this._swipeData = null;\n this._touchMoveIsFirstTouchMove = undefined;\n this._scrolling = undefined;\n },\n\n _onPaginationChange: function(pgn) {\n this._setPage(pgn.getCurrent());\n },\n\n /**\n * Gets the current page index\n * @method getPage\n * @return The current page number\n **/\n getPage: function () {\n if (this._pagination) {\n return this._pagination.getCurrent();\n } else {\n return this._currentPage || 0;\n }\n },\n\n /**\n * Sets the current page index\n * @method setPage\n * @param {Number} page Index of the destination page.\n * @param {Boolean} [wrap] Flag to activate circular counting.\n **/\n setPage: function (page, wrap) {\n if (wrap) {\n // Pages outside the range [0..this._numPages] are wrapped.\n page = page % this._numPages;\n if (page < 0) { page = this._numPages - page; }\n }\n page = limitRange(page, 0, this._numPages - 1);\n\n if (this._pagination) {\n this._pagination.setCurrent(page); // _setPage is called by pagination because it listens to its Change event.\n } else {\n this._setPage(page);\n }\n },\n\n _setPage: function (page) {\n var _lengthToGo = page * this._deltaLength;\n var isLastPage = page === (this._numPages - 1);\n\n if (!this._options.spaceAfterLastSlide && isLastPage && page > 0) { \n var _itemsInLastPage = this._liEls.length - (page * this._slidesPerPage);\n if(_itemsInLastPage < this._slidesPerPage) {\n _lengthToGo = ((page - 1) * this._deltaLength) + (_itemsInLastPage * this._elLength);\n }\n }\n\n this._ulEl.style[ this._isY ? 'top' : 'left'] =\n ['-', _lengthToGo, 'px'].join('');\n\n if (this._options.onChange) {\n this._options.onChange.call(this, page);\n }\n\n this._currentPage = page;\n\n this._updateHider();\n },\n\n /**\n * Goes to the next page\n * @method nextPage\n * @param {Boolean} [wrap] Flag to loop from last page to first page.\n **/\n nextPage: function (wrap) {\n this.setPage(this.getPage() + 1, wrap);\n },\n\n /**\n * Goes to the previous page\n * @method previousPage\n * @param {Boolean} [wrap] Flag to loop from first page to last page.\n **/\n previousPage: function (wrap) { this.setPage(this.getPage() - 1, wrap); },\n\n /**\n * Returns how many slides fit into a page\n * @method getSlidesPerPage\n * @return {Number} The number of slides per page\n * @public\n */\n getSlidesPerPage: function() {\n return this._slidesPerPage;\n },\n\n /**\n * Get the amount of pages in the carousel.\n * @method getTotalPages\n * @return {Number} The number of pages\n * @public\n */\n getTotalPages: function() {\n return this._numPages;\n },\n\n /**\n * Get the stage element (your UL with the class \".stage\").\n * @method getStageElm\n * @public\n * @return {DOMElement} Stage element\n **/\n getStageElm: function() {\n return this._ulEl;\n },\n\n /**\n * Get a list of your slides (elements with the \".slide\" class inside your stage)\n * @method getSlidesList\n * @return {DOMElement[]} Array containing the slides.\n * @public\n */\n getSlidesList: function() {\n return this._liEls;\n },\n\n /**\n * Get the total number of slides\n * @method getTotalSlides\n * @return {Number} The number of slides\n * @public\n */\n getTotalSlides: function() {\n return this.getSlidesList().length;\n }\n };\n\n function setTransitionProperty(el, newTransition) {\n el.style.transitionProperty =\n el.style.oTransitionProperty =\n el.style.msTransitionProperty =\n el.style.mozTransitionProperty =\n el.style.webkitTransitionProperty = newTransition;\n }\n\n Common.createUIComponent(Carousel);\n\n return Carousel;\n\n});\n","/**\n * Closing utilities\n * @module Ink.UI.Close_1\n * @version 1\n */\nInk.createModule('Ink.UI.Close', '1', ['Ink.Dom.Event_1','Ink.Dom.Element_1'], function(InkEvent, InkElement) {\n 'use strict';\n\n /**\n * Subscribes clicks on the document.body.\n * Whenever an element with the classes \".ink-close\" or \".ink-dismiss\" is clicked, this module finds an ancestor \".ink-alert\" or \".ink-alert-block\" element and removes it from the DOM.\n * This module should be created only once per page.\n * \n * @class Ink.UI.Close\n * @constructor\n * @example\n * \n *\n * @sample Ink_UI_Close_1.html\n */\n var Close = function() {\n InkEvent.observe(document.body, 'click', function(ev) {\n var el = InkEvent.element(ev);\n\n el = InkElement.findUpwardsByClass(el, 'ink-close') ||\n InkElement.findUpwardsByClass(el, 'ink-dismiss');\n\n if (!el) {\n return; // ink-close or ink-dismiss class not found\n }\n\n var toRemove = InkElement.findUpwardsByClass(el, 'ink-alert') ||\n InkElement.findUpwardsByClass(el, 'ink-alert-block') ||\n el;\n\n if (toRemove) {\n InkEvent.stop(ev);\n InkElement.remove(toRemove);\n }\n });\n };\n\n Close._name = 'Close_1';\n\n return Close;\n});\n","/**\n * Auxiliar utilities for UI Modules\n * @module Ink.UI.Common_1\n * @version 1\n */\n \nInk.createModule('Ink.UI.Common', '1', ['Ink.Dom.Element_1', 'Ink.Net.Ajax_1','Ink.Dom.Css_1','Ink.Dom.Selector_1','Ink.Util.Url_1'], function(InkElement, Ajax,Css,Selector,Url) {\n\n 'use strict';\n\n var nothing = {} /* a marker, for reference comparison. */;\n\n var keys = Object.keys || function (obj) {\n var ret = [];\n for (var k in obj) if (obj.hasOwnProperty(k)) {\n ret.push(k);\n }\n return ret;\n };\n\n var es6WeakMapSupport = 'WeakMap' in window;\n var instances = es6WeakMapSupport ? new WeakMap() : null;\n\n var domRegistry = {\n get: function get(el) {\n return es6WeakMapSupport ?\n instances.get(el) :\n el.__InkInstances;\n },\n set: function set(el, thing) {\n if (es6WeakMapSupport) {\n instances.set(el, thing);\n } else {\n el.__InkInstances = thing;\n }\n }\n };\n\n /**\n * @namespace Ink.UI.Common_1\n */\n\n var Common = {\n\n /**\n * Supported Ink Layouts\n *\n * @property Layouts\n * @type Object\n * @readOnly\n */\n Layouts: {\n TINY: 'tiny',\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n XLARGE: 'xlarge'\n },\n\n /**\n * Checks if an item is a valid DOM Element.\n *\n * @method isDOMElement\n * @static\n * @param {Mixed} o The object to be checked.\n * @return {Boolean} True if it's a valid DOM Element.\n * @example\n * var el = Ink.s('#element');\n * if( Ink.UI.Common.isDOMElement( el ) === true ){\n * // It is a DOM Element.\n * } else {\n * // It is NOT a DOM Element.\n * }\n */\n isDOMElement: InkElement.isDOMElement,\n\n /**\n * Checks if an item is a valid integer.\n *\n * @method isInteger\n * @static\n * @param {Mixed} n The value to be checked.\n * @return {Boolean} True if it's a valid integer.\n * @example\n * var value = 1;\n * if( Ink.UI.Common.isInteger( value ) === true ){\n * // It is an integer.\n * } else {\n * // It is NOT an integer.\n * }\n */\n isInteger: function(n) {\n return (typeof n === 'number' && n % 1 === 0);\n },\n\n /**\n * Gets a DOM Element. \n *\n * @method elOrSelector\n * @static\n * @param {DOMElement|String} elOrSelector DOM Element or CSS Selector\n * @param {String} fieldName The name of the field. Commonly used for debugging.\n * @return {DOMElement} Returns the DOMElement passed or the first result of the CSS Selector. Otherwise it throws an exception.\n * @example\n * // In case there are several .myInput, it will retrieve the first found\n * var el = Ink.UI.Common.elOrSelector('.myInput','My Input');\n */\n elOrSelector: function(elOrSelector, fieldName) {\n if (!this.isDOMElement(elOrSelector)) {\n var t = Selector.select(elOrSelector);\n if (t.length === 0) {\n Ink.warn(fieldName + ' must either be a DOM Element or a selector expression!\\nThe script element must also be after the DOM Element itself.');\n return null;\n }\n return t[0];\n }\n return elOrSelector;\n },\n\n /**\n * Alias for `elOrSelector` but returns an array of elements.\n *\n * @method elsOrSelector\n *\n * @static\n * @param {DOMElement|String} elOrSelector DOM Element or CSS Selector\n * @param {String} fieldName The name of the field. Commonly used for debugging.\n * @return {DOMElement} Returns the DOMElement passed or the first result of the CSS Selector. Otherwise it throws an exception.\n * @param {Boolean} required Flag to accept an empty array as output.\n * @return {Array} The selected DOM Elements.\n * @example\n * var elements = Ink.UI.Common.elsOrSelector('input.my-inputs', 'My Input');\n */\n elsOrSelector: function(elsOrSelector, fieldName, required) {\n var ret;\n if (typeof elsOrSelector === 'string') {\n ret = Selector.select(elsOrSelector);\n } else if (Common.isDOMElement(elsOrSelector)) {\n ret = [elsOrSelector];\n } else if (elsOrSelector && typeof elsOrSelector === 'object' && typeof elsOrSelector.length === 'number') {\n ret = elsOrSelector;\n }\n\n if (ret && ret.length) {\n return ret;\n } else {\n if (required) {\n throw new TypeError(fieldName + ' must either be a DOM Element, an Array of elements, or a selector expression!\\nThe script element must also be after the DOM Element itself.');\n } else {\n return [];\n }\n }\n },\n\n /**\n * Gets options an object and element's metadata.\n *\n * The element's data attributes take precedence. Values from the element's data-atrributes are coerced into the required type.\n *\n * @method options\n *\n * @param {Object} [fieldId] Name to be used in debugging features.\n * @param {Object} defaults Object with the options' types and defaults.\n * @param {Object} overrides Options to override the defaults. Usually passed when instantiating an UI module.\n * @param {DOMElement} [element] Element with data-attributes\n *\n * @example\n *\n * this._options = Ink.UI.Common.options('MyComponent', {\n * 'anobject': ['Object', null], // Defaults to null\n * 'target': ['Element', null],\n * 'stuff': ['Number', 0.1],\n * 'stuff2': ['Integer', 0],\n * 'doKickFlip': ['Boolean', false],\n * 'targets': ['Elements'], // Required option since no default was given\n * 'onClick': ['Function', null]\n * }, options || {}, elm)\n *\n * @example\n *\n * ### Note about booleans\n *\n * Here is how options are read from the markup\n * data-attributes, for several values`data-a-boolean`.\n *\n * Options considered true:\n *\n * - `data-a-boolean=\"true\"`\n * - (Every other value which is not on the list below.)\n * \n * Options considered false:\n *\n * - `data-a-boolean=\"false\"`\n * - `data-a-boolean=\"\"`\n * - `data-a-boolean`\n *\n * Options which go to default:\n *\n * - (no attribute). When `data-a-boolean` is ommitted, the\n * option is not considered true nor false, and as such\n * defaults to what is in the `defaults` argument.\n *\n **/\n options: function (fieldId, defaults, overrides, element) {\n if (typeof fieldId !== 'string') {\n element = overrides;\n overrides = defaults;\n defaults = fieldId;\n fieldId = '';\n }\n overrides = overrides || {};\n var out = {};\n var dataAttrs = element ? InkElement.data(element) : {};\n var fromDataAttrs;\n var type;\n var lType;\n var defaultVal;\n\n var invalidStr = function (str) {\n if (fieldId) { str = fieldId + ': \"' + ('' + str).replace(/\"/, '\\\\\"') + '\"'; }\n return str;\n };\n\n var quote = function (str) {\n return '\"' + ('' + str).replace(/\"/, '\\\\\"') + '\"';\n };\n\n var invalidThrow = function (str) {\n throw new Error(invalidStr(str));\n };\n\n var invalid = function (str) {\n Ink.error(invalidStr(str) + '. Ignoring option.');\n };\n\n function optionValue(key) {\n type = defaults[key][0];\n lType = type.toLowerCase();\n defaultVal = defaults[key].length === 2 ? defaults[key][1] : nothing;\n\n if (!type) {\n invalidThrow('Ink.UI.Common.options: Always specify a type!');\n }\n if (!(lType in Common._coerce_funcs)) {\n invalidThrow('Ink.UI.Common.options: ' + defaults[key][0] + ' is not a valid type. Use one of ' + keys(Common._coerce_funcs).join(', '));\n\n }\n if (!defaults[key].length || defaults[key].length > 2) {\n invalidThrow('the \"defaults\" argument must be an object mapping option names to [typestring, optional] arrays.');\n }\n\n if (key in dataAttrs) {\n fromDataAttrs = Common._coerce_from_string(lType, dataAttrs[key], key, fieldId);\n // (above can return `nothing`)\n } else {\n fromDataAttrs = nothing;\n }\n\n if (fromDataAttrs !== nothing) {\n if (!Common._options_validate(fromDataAttrs, lType)) {\n invalid('(' + key + ' option) Invalid ' + lType + ' ' + quote(fromDataAttrs));\n return defaultVal;\n } else {\n return fromDataAttrs;\n }\n } else if (key in overrides) {\n return overrides[key];\n } else if (defaultVal !== nothing) {\n return defaultVal;\n } else {\n invalidThrow('Option ' + key + ' is required!');\n }\n }\n\n for (var key in defaults) {\n if (defaults.hasOwnProperty(key)) {\n out[key] = optionValue(key);\n }\n }\n\n return out;\n },\n\n _coerce_from_string: function (type, val, paramName, fieldId) {\n if (type in Common._coerce_funcs) {\n return Common._coerce_funcs[type](val, paramName, fieldId);\n } else {\n return val;\n }\n },\n\n _options_validate: function (val, type) {\n if (type in Common._options_validate_types) {\n return Common._options_validate_types[type].call(Common, val);\n } else {\n // 'object' options cannot be passed through data-attributes.\n // Json you say? Not any good to embed in HTML.\n return false;\n }\n },\n\n _coerce_funcs: (function () {\n var ret = {\n element: function (val) {\n return Common.elOrSelector(val, '');\n },\n elements: function (val) {\n return Common.elsOrSelector(val, '', false /*not required, so don't throw an exception now*/);\n },\n object: function (val) { return val; },\n number: function (val) { return parseFloat(val); },\n 'boolean': function (val) {\n return !(val === 'false' || val === '' || val === null);\n },\n string: function (val) { return val; },\n 'function': function (val, paramName, fieldId) {\n Ink.error(fieldId + ': You cannot specify the option \"' + paramName + '\" through data-attributes because it\\'s a function');\n return nothing;\n }\n };\n ret['float'] = ret.integer = ret.number;\n return ret;\n }()),\n\n _options_validate_types: (function () {\n var types = {\n string: function (val) {\n return typeof val === 'string';\n },\n number: function (val) {\n return typeof val === 'number' && !isNaN(val) && isFinite(val);\n },\n integer: function (val) {\n return val === Math.round(val);\n },\n element: function (val) {\n return Common.isDOMElement(val);\n },\n elements: function (val) {\n return val && typeof val === 'object' && typeof val.length === 'number' && val.length;\n },\n 'boolean': function (val) {\n return typeof val === 'boolean';\n },\n object: function () { return true; }\n };\n types['float'] = types.number;\n return types;\n }()),\n\n /**\n * Deep copy (clone) an object.\n * Note: The object cannot have referece loops.\n *\n * @method clone\n * @static\n * @param {Object} o The object to be cloned/copied.\n * @return {Object} Returns the result of the clone/copy.\n * @example\n * var originalObj = {\n * key1: 'value1',\n * key2: 'value2',\n * key3: 'value3'\n * };\n * var cloneObj = Ink.UI.Common.clone( originalObj );\n */\n clone: function(o) {\n try {\n return JSON.parse( JSON.stringify(o) );\n } catch (ex) {\n throw new Error('Given object cannot have loops!');\n }\n },\n\n\n /**\n * Gets an element's one-base index relative to its parent.\n *\n * @method childIndex\n * @static\n * @param {DOMElement} childEl Valid DOM Element.\n * @return {Number} Numerical position of an element relatively to its parent.\n * @example\n * \n *
            \n *
          • One
          • \n *
          • Two
          • \n *
          • Three
          • \n *
          • Four
          • \n *
          \n *\n * \n */\n childIndex: function(childEl) {\n if( Common.isDOMElement(childEl) ){\n var els = Selector.select('> *', childEl.parentNode);\n for (var i = 0, f = els.length; i < f; ++i) {\n if (els[i] === childEl) {\n return i;\n }\n }\n }\n throw 'not found!';\n },\n\n\n /**\n * AJAX JSON request shortcut method\n * It provides a more convenient way to do an AJAX request and expect a JSON response.It also offers a callback option, as third parameter, for better async handling.\n *\n * @method ajaxJSON\n * @static\n * @async\n * @param {String} endpoint Valid URL to be used as target by the request.\n * @param {Object} params This field is used in the thrown Exception to identify the parameter.\n * @param {Function} cb Callback for the request.\n * @example\n * // In case there are several .myInput, it will retrieve the first found\n * var el = Ink.UI.Common.elOrSelector('.myInput','My Input');\n */\n ajaxJSON: function(endpoint, params, cb) {\n new Ajax(\n endpoint,\n {\n evalJS: 'force',\n method: 'POST',\n parameters: params,\n\n onSuccess: function( r) {\n try {\n r = r.responseJSON;\n if (r.status !== 'ok') {\n throw 'server error: ' + r.message;\n }\n cb(null, r);\n } catch (ex) {\n cb(ex);\n }\n },\n\n onFailure: function() {\n cb('communication failure');\n }\n }\n );\n },\n\n\n /**\n * Gets the current Ink layout.\n *\n * @method currentLayout\n * @static\n * @return {String} A string representation of the current layout name.\n * @example\n * var inkLayout = Ink.UI.Common.currentLayout();\n * if (inkLayout === 'small') {\n * // ...\n * }\n */\n currentLayout: function() {\n var i, f, k, v, el, detectorEl = Selector.select('#ink-layout-detector')[0];\n if (!detectorEl) {\n detectorEl = document.createElement('div');\n detectorEl.id = 'ink-layout-detector';\n for (k in this.Layouts) {\n if (this.Layouts.hasOwnProperty(k)) {\n v = this.Layouts[k];\n el = document.createElement('div');\n el.className = 'show-' + v + ' hide-all';\n el.setAttribute('data-ink-layout', v);\n detectorEl.appendChild(el);\n }\n }\n document.body.appendChild(detectorEl);\n }\n\n for (i = 0, f = detectorEl.children.length; i < f; ++i) {\n el = detectorEl.children[i];\n if (Css.getStyle(el, 'display') === 'block') {\n return el.getAttribute('data-ink-layout');\n }\n }\n\n return 'large';\n },\n\n\n /**\n * Sets the location's hash (window.location.hash).\n *\n * @method hashSet\n * @static\n * @param {Object} o Object with the info to be placed in the location's hash.\n * @example\n * // It will set the location's hash like: #key1=value1&key2=value2&key3=value3\n * Ink.UI.Common.hashSet({\n * key1: 'value1',\n * key2: 'value2',\n * key3: 'value3'\n * });\n */\n hashSet: function(o) {\n if (typeof o !== 'object') { throw new TypeError('o should be an object!'); }\n var hashParams = Url.getAnchorString();\n hashParams = Ink.extendObj(hashParams, o);\n window.location.hash = Url.genQueryString('', hashParams).substring(1);\n },\n\n /**\n * Removes children nodes from a given object.\n * This method was initially created to help solve a problem in Internet Explorer(s) that occurred when trying to set the innerHTML of some specific elements like 'table'.\n *\n * @method cleanChildren\n * @static\n * @param {DOMElement} parentEl Valid DOM Element\n * @example\n * \n *
            \n *
          • One
          • \n *
          • Two
          • \n *
          • Three
          • \n *
          • Four
          • \n *
          \n *\n * \n *\n * \n *
            \n */\n cleanChildren: function(parentEl) {\n if( !Common.isDOMElement(parentEl) ){\n throw 'Please provide a valid DOMElement';\n }\n var prevEl, el = parentEl.lastChild;\n while (el) {\n prevEl = el.previousSibling;\n parentEl.removeChild(el);\n el = prevEl;\n }\n },\n\n /**\n * Stores the id and/or classes of an element in an object.\n *\n * @method storeIdAndClasses\n * @static\n * @param {DOMElement} fromEl Valid DOM Element to get the id and classes from.\n * @param {Object} inObj Object where the id and classes will be saved.\n * @example\n *
            \n *\n * \n */\n storeIdAndClasses: function(fromEl, inObj) {\n if( !Common.isDOMElement(fromEl) ){\n throw 'Please provide a valid DOMElement as first parameter';\n }\n\n var id = fromEl.id;\n if (id) {\n inObj._id = id;\n }\n\n var classes = fromEl.className;\n if (classes) {\n inObj._classes = classes;\n }\n },\n\n /**\n * Sets the id and className properties of an element based \n *\n * @method restoreIdAndClasses\n * @static\n * @param {DOMElement} toEl Valid DOM Element to set the id and classes on.\n * @param {Object} inObj Object where the id and classes to be set are. This method uses the same format as the one given in `storeIdAndClasses`\n * @example\n *
            \n *\n * \n *\n * \n *
            \n */\n restoreIdAndClasses: function(toEl, inObj) {\n\n if( !Common.isDOMElement(toEl) ){\n throw 'Please provide a valid DOMElement as first parameter';\n }\n\n if (inObj._id && toEl.id !== inObj._id) {\n toEl.id = inObj._id;\n }\n\n if (inObj._classes && toEl.className.indexOf(inObj._classes) === -1) {\n if (toEl.className) { toEl.className += ' ' + inObj._classes; }\n else { toEl.className = inObj._classes; }\n }\n\n if (inObj._instanceId && !toEl.getAttribute('data-instance')) {\n toEl.setAttribute('data-instance', inObj._instanceId);\n }\n },\n\n _warnDoubleInstantiation: function (elm, newInstance) {\n var instances = Common.getInstance(elm);\n\n if (getName(newInstance) === '') { return; }\n if (!instances) { return; }\n\n var nameWithoutVersion = getName(newInstance);\n\n if (!nameWithoutVersion) { return; }\n\n for (var i = 0, len = instances.length; i < len; i++) {\n if (nameWithoutVersion === getName(instances[i])) {\n // Yes, I am using + to concatenate and , to split\n // arguments.\n //\n // Elements can't be concatenated with strings, but if\n // they are passed in an argument, modern debuggers will\n // pretty-print them and make it easy to find them in the\n // element inspector.\n //\n // On the other hand, if strings are passed as different\n // arguments, they get pretty printed. And the pretty\n // print of a string has quotes around it.\n //\n // If some day people find out that strings are not\n // just text and they start preserving contextual\n // information, then by all means change this to a\n // regular concatenation.\n //\n // But they won't. So don't change this.\n Ink.warn('Creating more than one ' + nameWithoutVersion + '.',\n '(Was creating a ' + nameWithoutVersion + ' on:', elm, ').');\n return false;\n }\n }\n\n function getName(thing) {\n return ((thing.constructor && (thing.constructor._name)) ||\n thing._name ||\n '').replace(/_.*?$/, '');\n }\n\n return true;\n },\n\n /**\n * Saves a component's instance reference for later retrieval.\n *\n * @method registerInstance\n * @static\n * @param {Object} inst Object that holds the instance.\n * @param {DOMElement} el DOM Element to associate with the object.\n */\n registerInstance: function(inst, el) {\n if (!inst) { return; }\n\n if (!Common.isDOMElement(el)) { throw new TypeError('Ink.UI.Common.registerInstance: The element passed in is not a DOM element!'); }\n\n // [todo] this belongs in the BaseUIComponent's initialization\n if (Common._warnDoubleInstantiation(el, inst) === false) {\n return false;\n }\n\n var instances = domRegistry.get(el);\n\n if (!instances) {\n instances = [];\n domRegistry.set(el, instances);\n }\n\n instances.push(inst);\n\n return true;\n },\n\n /**\n * Deletes an instance with a given id.\n *\n * @method unregisterInstance\n * @static\n * @param {String} id Id of the instance to be destroyed.\n */\n unregisterInstance: function(inst) {\n if (!inst || !inst._element) { return; }\n var instances = domRegistry.get(inst._element);\n for (var i = 0, len = instances.length; i < len; i++) {\n if (instances[i] === inst) {\n instances.splice(i, 1);\n }\n }\n },\n\n /**\n * Gets an UI instance from an element or instance id.\n *\n * @method getInstance\n * @static\n * @param {String|DOMElement} el DOM Element from which we want the instances.\n * @return {Object|Array} Returns an instance or a collection of instances.\n */\n getInstance: function(el, UIComponent) {\n el = Common.elOrSelector(el);\n var instances = domRegistry.get(el);\n\n if (!instances) {\n instances = [];\n }\n\n if (typeof UIComponent !== 'function') {\n return instances;\n }\n\n for (var i = 0, len = instances.length; i < len; i++) {\n if (instances[i] instanceof UIComponent) {\n return instances[i];\n }\n }\n\n return null;\n },\n\n /**\n * Gets an instance based on a selector.\n *\n * @method getInstanceFromSelector\n * @static\n * @param {String} selector CSS selector to get the instances from.\n * @return {Object|Array} Returns an instance or a collection of instances.\n */\n getInstanceFromSelector: function(selector) {\n return Common.getInstance(Common.elOrSelector(selector));\n },\n\n /**\n * Gets all the instance ids\n *\n * @method getInstanceIds\n * @static\n * @return {Array} Collection of instance ids\n */\n getInstanceIds: function() {\n var res = [];\n for (var id in instances) {\n if (instances.hasOwnProperty(id)) {\n res.push( id );\n }\n }\n return res;\n },\n\n /**\n * Gets all the instances\n *\n * @method getInstances\n * @static\n * @return {Array} Collection of existing instances.\n */\n getInstances: function() {\n var res = [];\n for (var id in instances) {\n if (instances.hasOwnProperty(id)) {\n res.push( instances[id] );\n }\n }\n return res;\n },\n\n /**\n * Boilerplate method to destroy a component.\n * Components should copy this method as its destroy method and modify it.\n *\n * @method destroyComponent\n * @static\n */\n destroyComponent: function() {\n Common.unregisterInstance(this);\n this._element.parentNode.removeChild(this._element);\n }\n\n };\n\n\n\n\n /**\n * Ink UI Base Class\n **/\n\n function warnStub() {\n /* jshint validthis: true */\n if (!this || this === window || typeof this.constructor !== 'function') { return; }\n Ink.warn('You called a method on an incorrectly instantiated ' + this.constructor._name + ' component. Check the warnings above to see what went wrong.');\n }\n\n function stub(prototype, obj) {\n for (var k in prototype) if (prototype.hasOwnProperty(k)) {\n if (k === 'constructor') { continue; }\n if (typeof obj[k] === 'function') {\n obj[k] = warnStub;\n }\n }\n }\n\n /**\n * Ink UI Base Class\n *\n * You don't use this class directly, or inherit from it directly.\n *\n * See createUIComponent() (in this module) for how to create a UI component and inherit from this. It's not plain old JS inheritance, for several reasons.\n *\n * @class Ink.UI.Common.BaseUIComponent\n * @constructor\n *\n * @param element\n * @param options\n **/\n function BaseUIComponent(element, options) {\n var constructor = this.constructor;\n var _name = constructor._name;\n\n if (!this || this === window) {\n throw new Error('Use \"new InkComponent()\" instead of \"InkComponent()\"');\n }\n\n if (this && !(this instanceof BaseUIComponent)) {\n throw new Error('You forgot to call Ink.UI.Common.createUIComponent() on this module!');\n }\n\n if (!element && !constructor._componentOptions.elementIsOptional) {\n Ink.error(new Error(_name + ': You need to pass an element or a selector as the first argument to \"new ' + _name + '()\"'));\n return;\n } else {\n this._element = Common.elsOrSelector(element,\n _name + ': An element with the selector \"' + element + '\" was not found!')[0];\n }\n\n if (!this._element && !constructor._componentOptions.elementIsOptional) {\n isValidInstance = false;\n Ink.error(new Error(element + ' does not match an element on the page. You need to pass a valid selector to \"new ' + _name + '\".'));\n }\n\n // TODO Change Common.options's signature? the below looks better, more manageable\n // var options = Common.options({\n // element: this._element,\n // modName: constructor._name,\n // options: constructor._optionDefinition,\n // defaults: constructor._globalDefaults\n // });\n\n this._options = Common.options(_name, constructor._optionDefinition, options, this._element);\n\n var isValidInstance = BaseUIComponent._validateInstance(this) === true;\n\n if (isValidInstance && typeof this._init === 'function') {\n try {\n this._init.apply(this, arguments);\n } catch(e) {\n isValidInstance = false;\n Ink.error(e);\n }\n }\n\n if (!isValidInstance) {\n BaseUIComponent._stubInstance(this, constructor, _name);\n } else if (this._element) {\n Common.registerInstance(this, this._element);\n }\n }\n\n /**\n * Calls the `instance`'s _validate() method so it can validate itself.\n *\n * Returns false if the method exists, was called, but no Error was returned or thrown.\n *\n * @method _validateInstance\n * @private\n */\n BaseUIComponent._validateInstance = function (instance) {\n var err;\n\n if (typeof instance._validate !== 'function') { return true; }\n\n try {\n err = instance._validate();\n } catch (e) {\n err = e;\n }\n\n if (err instanceof Error) {\n instance._validationError = err;\n return false;\n }\n\n return true;\n };\n\n\n /**\n * Replaces every method in the instance with stub functions which just call Ink.warn().\n *\n * This avoids breaking the page when there are errors.\n *\n * @method _stubInstance\n * @param instance\n * @param constructor\n * @param name\n * @private\n */\n BaseUIComponent._stubInstance = function (instance, constructor, name) {\n stub(constructor.prototype, instance);\n stub(BaseUIComponent.prototype, instance);\n Ink.warn(name + ' was not correctly created. ' + (instance._validationError || ''));\n };\n\n // TODO BaseUIComponent.setGlobalOptions = function () {}\n // TODO BaseUIComponent.createMany = function (selector) {}\n BaseUIComponent.getInstance = function (elOrSelector) {\n elOrSelector = Common.elOrSelector(elOrSelector);\n return Common.getInstance(elOrSelector, this /* get instance by constructor */);\n };\n\n Ink.extendObj(BaseUIComponent.prototype, {\n /**\n * Get an UI component's option's value.\n *\n * @method getOption\n * @param name\n *\n * @return The option value, or undefined if nothing is found.\n *\n * @example\n *\n * var myUIComponent = new Modal('#element', { trigger: '#trigger' }); // or anything else inheriting BaseUIComponent\n * myUIComponent.getOption('trigger'); // -> The trigger element (not the selector string, mind you)\n *\n **/\n getOption: function (name) {\n if (this.constructor && !(name in this.constructor._optionDefinition)) {\n Ink.error('\"' + name + '\" is not an option for ' + this.constructor._name);\n return undefined;\n }\n\n return this._options[name];\n },\n\n /**\n * Sets an option's value\n *\n * @method getOption\n * @param name\n * @param value\n *\n * @example\n *\n * var myUIComponent = new Modal(...);\n * myUIComponent.setOption('trigger', '#some-element');\n **/\n setOption: function (name, value) {\n if (this.constructor && !(name in this.constructor._optionDefinition)) {\n Ink.error('\"' + name + ' is not an option for ' + this.constructor._name);\n return;\n }\n\n this._options[name] = value;\n },\n\n /**\n * Get the element associated with an UI component (IE the one you used in the constructor)\n *\n * @method getElement\n * @return {Element} The component's element.\n *\n * @example\n * var myUIComponent = new Modal('#element'); // or anything else inheriting BaseUIComponent\n * myUIComponent.getElement(); // -> The '#element' (not the selector string, mind you).\n *\n **/\n getElement: function () {\n return this._element;\n }\n });\n\n Common.BaseUIComponent = BaseUIComponent;\n\n /**\n * @method createUIComponent\n * @param theConstructor UI component constructor. It should have an _init function in its prototype, an _optionDefinition object, and a _name property indicating its name.\n * @param options\n * @param [options.elementIsOptional=false] Whether the element argument is optional (For example, when the component might work on existing markup or create its own).\n **/\n Common.createUIComponent = function createUIComponent(theConstructor, options) {\n theConstructor._componentOptions = options || {};\n\n function assert(test, msg) {\n if (!test) {\n throw new Error('Ink.UI_1.createUIComponent: ' + msg);\n }\n }\n\n function assertProp(prop, propType, message) {\n var propVal = theConstructor[prop];\n // Check that the property was passed\n assert(typeof propVal !== 'undefined',\n theConstructor + ' doesn\\'t have a \"' + prop + '\" property. ' + message);\n // Check that its type is correct\n assert(propType && typeof propVal === propType,\n 'typeof ' + theConstructor + '.' + prop + ' is not \"' + propType + '\". ' + message);\n }\n\n assert(typeof theConstructor === 'function',\n 'constructor argument is not a function!');\n\n assertProp('_name', 'string', 'This property is used for error ' +\n 'messages. Set it to the full module path and version (Ink.My.Module_1).');\n assertProp('_optionDefinition', 'object', 'This property contains the ' +\n 'option names, types and defaults. See Ink.UI.Common.options() for reference.');\n\n // Extend the instance methods and props\n var _oldProto = theConstructor.prototype;\n\n if (typeof Object.create === 'function') {\n theConstructor.prototype = Object.create(BaseUIComponent.prototype);\n } else {\n theConstructor.prototype = (function hideF() {\n function F() {}\n F.prototype = BaseUIComponent.prototype;\n return new F();\n }());\n }\n\n Ink.extendObj(theConstructor.prototype, _oldProto);\n theConstructor.prototype.constructor = theConstructor;\n // Extend static methods\n Ink.extendObj(theConstructor, BaseUIComponent);\n };\n\n return Common;\n\n});\n","/**\n * Date selector\n * @module Ink.UI.DatePicker_1\n * @version 1\n */\n\nInk.createModule('Ink.UI.DatePicker', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1','Ink.Util.Date_1', 'Ink.Dom.Browser_1'], function(Common, Event, Css, InkElement, Selector, InkArray, InkDate ) {\n 'use strict';\n\n // Clamp a number into a min/max limit\n function clamp(n, min, max) {\n if (n > max) { n = max; }\n if (n < min) { n = min; }\n\n return n;\n }\n\n function dateishFromYMDString(YMD) {\n var split = YMD.split('-');\n return dateishFromYMD(+split[0], +split[1] - 1, +split[2]);\n }\n\n function dateishFromYMD(year, month, day) {\n return {_year: year, _month: month, _day: day};\n }\n\n function dateishFromDate(date) {\n return {_year: date.getFullYear(), _month: date.getMonth(), _day: date.getDate()};\n }\n\n /**\n * @class Ink.UI.DatePicker\n * @constructor\n * @version 1\n *\n * @param {String|DOMElement} selector\n * @param {Object} [options] Options\n * @param {Boolean} [options.autoOpen] Flag to automatically open the datepicker.\n * @param {String} [options.cleanText] Text for the clean button. Defaults to 'Clear'.\n * @param {String} [options.closeText] Text for the close button. Defaults to 'Close'.\n * @param {String} [options.cssClass] CSS class to be applied on the datepicker\n * @param {String|DOMElement} [options.pickerField] (if not using in an input[type=\"text\"]) Element which displays the DatePicker when clicked. Defaults to an \"open\" link.\n * @param {String} [options.dateRange] Enforce limits to year, month and day for the Date, ex: '1990-08-25:2020-11'\n * @param {Boolean} [options.displayInSelect] Flag to display the component in a select element.\n * @param {String|DOMElement} [options.dayField] (if using options.displayInSelect) `select` field with days.\n * @param {String|DOMElement} [options.monthField] (if using options.displayInSelect) `select` field with months.\n * @param {String|DOMElement} [options.yearField] (if using options.displayInSelect) `select` field with years.\n * @param {String} [options.format] Date format string\n * @param {Object} [options.month] Hash of month names. Defaults to portuguese month names. January is 1.\n * @param {String} [options.nextLinkText] Text for the previous button. Defaults to '«'.\n * @param {String} [options.ofText] Text to show between month and year. Defaults to ' of '.\n * @param {Boolean} [options.onFocus] If the datepicker should open when the target element is focused. Defaults to true.\n * @param {Function} [options.onMonthSelected] Callback to execute when the month is selected.\n * @param {Function} [options.onSetDate] Callback to execute when the date is set.\n * @param {Function} [options.onYearSelected] Callback to execute when the year is selected.\n * @param {String} [options.position] Position for the datepicker. Either 'right' or 'bottom'. Defaults to 'right'.\n * @param {String} [options.prevLinkText] Text for the previous button. Defaults to '«'.\n * @param {Boolean} [options.showClean] If the clean button should be visible. Defaults to true.\n * @param {Boolean} [options.showClose] If the close button should be visible. Defaults to true.\n * @param {Boolean} [options.shy] If the datepicker should start automatically. Defaults to true.\n * @param {String} [options.startDate] Date to define initial month. Must be in yyyy-mm-dd format.\n * @param {Number} [options.startWeekDay] First day of the week. Sunday is zero. Defaults to 1 (Monday).\n * @param {Function} [options.validYearFn] Callback to execute when 'rendering' the month (in the month view)\n * @param {Function} [options.validMonthFn] Callback to execute when 'rendering' the month (in the month view)\n * @param {Function} [options.validDayFn] Callback to execute when 'rendering' the day (in the month view)\n * @param {Function} [options.nextValidDateFn] Function to calculate the next valid date, given the current. Useful when there's invalid dates or time frames.\n * @param {Function} [options.prevValidDateFn] Function to calculate the previous valid date, given the current. Useful when there's invalid dates or time frames.\n * @param {Object} [options.wDay] Hash of week day names. Sunday is 0. Defaults to { 0:'Sunday', 1:'Monday', etc...\n * @param {String} [options.yearRange] Enforce limits to year for the Date, ex: '1990:2020' (deprecated)\n *\n * @sample Ink_UI_DatePicker_1.html\n */\n var DatePicker = function() {\n Common.BaseUIComponent.apply(this, arguments);\n };\n\n DatePicker._name = 'DatePicker_1';\n\n DatePicker._optionDefinition = {\n autoOpen: ['Boolean', false],\n cleanText: ['String', 'Clear'],\n closeText: ['String', 'Close'],\n pickerField: ['Element', null],\n containerElement:['Element', null],\n cssClass: ['String', 'ink-calendar bottom'],\n dateRange: ['String', null],\n \n // use this in a \n *\n * By applying this UI class to the above input, you get a tag field with the tags \"initial\" and \"value\". The class preserves the original input element. It remains hidden and is updated with new tag information dynamically, so regular HTML form logic still applies.\n *\n * Below \"input\" refers to the current value of the input tag (updated as the user enters text, of course), and \"output\" refers to the value which this class writes back to said input tag.\n *\n * @class Ink.UI.TagField\n * @version 1\n * @constructor\n * @param {String|DOMElement} element Selector or DOM Input Element.\n * @param {Object} [options] Options object\n * @param {String|Array} [options.tags] Initial tags in the input\n * @param {Boolean} [options.allowRepeated] Flag to allow user to input several tags. Defaults to true.\n * @param {RegExp} [options.separator] Split the input by this RegExp. Defaults to /[,;(space)]+/g (spaces, commas and semicolons)\n * @param {String} [options.outSeparator] Use this string to separate each tag from the next in the output. Defaults to ','.\n * @param {Boolean} [options.autoSplit] Flag to activate tag creation when the user types a separator. Defaults to true.\n * @param {Integer} [options.maxTags] Maximum number of tags allowed. Set to -1 for no limit. Defaults to -1.\n * @example\n */\n function TagField() {\n Common.BaseUIComponent.apply(this, arguments);\n }\n\n TagField._name = 'TagField_1';\n\n TagField._optionDefinition = {\n tags: ['String', []],\n tagQuery: ['Object', null],\n tagQueryAsync: ['Object', null],\n allowRepeated: ['Boolean', false],\n maxTags: ['Integer', -1],\n outSeparator: ['String', ','],\n separator: ['String', /[,; ]+/g],\n autoSplit: ['Boolean', true]\n };\n\n TagField.prototype = {\n /**\n * Init function called by the constructor\n * \n * @method _init\n * @private\n */\n _init: function() {\n var o = this._options;\n if (typeof o.separator === 'string') {\n o.separator = new RegExp(o.separator, 'g');\n }\n\n if (typeof o.tags === 'string') {\n // coerce to array using the separator\n o.tags = this._readInput(o.tags);\n }\n\n Css.addClassName(this._element, 'hide-all');\n\n this._viewElm = InkElement.create('div', {\n className: 'ink-tagfield',\n insertAfter: this._element\n });\n\n this._input = InkElement.create('input', {\n type: 'text',\n className: 'new-tag-input',\n insertBottom: this._viewElm\n });\n\n var tags = [].concat(o.tags, this._tagsFromMarkup(this._element));\n\n this._tags = [];\n\n InkArray.each(tags, Ink.bindMethod(this, '_addTag'));\n\n InkEvent.observe(this._input, 'keyup', Ink.bindEvent(this._onKeyUp, this));\n InkEvent.observe(this._input, 'change', Ink.bindEvent(this._onKeyUp, this));\n InkEvent.observe(this._input, 'keydown', Ink.bindEvent(this._onKeyDown, this));\n InkEvent.observe(this._input, 'blur', Ink.bindEvent(this._onBlur, this));\n InkEvent.observe(this._viewElm, 'click', Ink.bindEvent(this._refocus, this));\n },\n\n destroy: function () {\n InkElement.remove(this._viewElm);\n Css.removeClassName(this._element, 'hide-all');\n },\n\n _tagsFromMarkup: function (element) {\n var tagname = element.tagName.toLowerCase();\n if (tagname === 'input') {\n return this._readInput(element.value);\n } else if (tagname === 'select') {\n return InkArray.map(element.getElementsByTagName('option'), function (option) {\n return InkElement.textContent(option);\n });\n } else {\n throw new Error('Cannot read tags from a ' + tagname + ' tag. Unknown tag');\n }\n },\n\n _tagsToMarkup: function (tags, element) {\n var tagname = element.tagName.toLowerCase();\n if (tagname === 'input') {\n if (this._options.separator) {\n element.value = tags.join(this._options.outSeparator);\n }\n } else if (tagname === 'select') {\n element.innerHTML = '';\n InkArray.each(tags, function (tag) {\n var opt = InkElement.create('option', {selected: 'selected'});\n InkElement.setTextContent(opt, tag);\n element.appendChild(opt);\n });\n } else {\n throw new Error('TagField: Cannot read tags from a ' + tagname + ' tag. Unknown tag');\n }\n },\n\n _addTag: function (tag) {\n if (this._options.maxTags !== -1 &&\n this._tags.length >= this._options.maxTags) {\n return;\n }\n if ((!this._options.allowRepeated &&\n InkArray.inArray(tag, this._tags, tag)) || !tag) {\n return false;\n }\n var elm = InkElement.create('span', {\n className: 'ink-tag',\n setTextContent: tag + ' '\n });\n\n var remove = InkElement.create('span', {\n className: 'remove fa fa-times',\n insertBottom: elm\n });\n InkEvent.observe(remove, 'click', Ink.bindEvent(this._removeTag, this, null));\n\n var spc = document.createTextNode(' ');\n\n this._tags.push(tag);\n this._viewElm.insertBefore(elm, this._input);\n this._viewElm.insertBefore(spc, this._input);\n this._tagsToMarkup(this._tags, this._element);\n },\n\n _readInput: function (text) {\n if (this._options.separator) {\n return InkArray.filter(text.split(this._options.separator), isTruthy);\n } else {\n return [text];\n }\n },\n\n _onKeyUp: function () { // TODO control input box size\n if (!this._options.autoSplit) {\n return;\n }\n var split = this._input.value.split(this._options.separator);\n if (split.length <= 1) {\n return;\n }\n var last = split[split.length - 1];\n split = split.splice(0, split.length - 1);\n split = InkArray.filter(split, isTruthy);\n \n InkArray.each(split, Ink.bind(this._addTag, this));\n this._input.value = last;\n },\n\n _onKeyDown: function (event) {\n if (event.which === enterKey) {\n return this._onEnterKeyDown(event);\n } else if (event.which === backspaceKey) {\n return this._onBackspaceKeyDown();\n } else if (this._removeConfirm) {\n // user pressed another key, cancel removal from a backspace key\n this._unsetRemovingVisual(this._tags.length - 1);\n }\n },\n\n /**\n * When the user presses backspace twice on the empty input, we delete the last tag on the field.\n * @method onBackspaceKeyDown\n * @private\n */\n _onBackspaceKeyDown: function () {\n if (this._input.value) { return; }\n\n if (this._removeConfirm) {\n this._unsetRemovingVisual(this._tags.length - 1);\n this._removeTag(this._tags.length - 1);\n this._removeConfirm = null;\n } else {\n this._setRemovingVisual(this._tags.length - 1);\n }\n },\n\n _onEnterKeyDown: function (event) {\n var tag = this._input.value;\n if (tag) {\n this._addTag(tag);\n this._input.value = '';\n }\n InkEvent.stopDefault(event);\n },\n\n _onBlur: function () {\n this._addTag(this._input.value);\n this._input.value = '';\n },\n\n /* For when the user presses backspace.\n * Set the style of the tag so that it seems like it's going to be removed\n * if they press backspace again. */\n _setRemovingVisual: function (tagIndex) {\n var elm = this._viewElm.children[tagIndex];\n if (!elm) { return; }\n\n Css.addClassName(elm, 'tag-deleting');\n\n this._removeRemovingVisualTimeout = setTimeout(Ink.bindMethod(this, '_unsetRemovingVisual', tagIndex), 4000);\n InkEvent.observe(this._input, 'blur', Ink.bindMethod(this, '_unsetRemovingVisual', tagIndex));\n this._removeConfirm = true;\n },\n _unsetRemovingVisual: function (tagIndex) {\n var elm = this._viewElm.children[tagIndex];\n if (elm) {\n Css.removeClassName(elm, 'tag-deleting');\n clearTimeout(this._removeRemovingVisualTimeout);\n }\n this._removeConfirm = null;\n },\n\n _removeTag: function (event) {\n var index;\n if (typeof event === 'object') { // click event on close button\n var elm = InkEvent.element(event).parentNode;\n index = InkElement.parentIndexOf(this._viewElm, elm);\n } else if (typeof event === 'number') { // manual removal\n index = event;\n }\n this._tags = InkArray.remove(this._tags, index, 1);\n InkElement.remove(this._viewElm.children[index]);\n this._tagsToMarkup(this._tags, this._element);\n },\n\n _refocus: function (event) {\n this._input.focus();\n InkEvent.stop(event);\n return false;\n }\n };\n\n Common.createUIComponent(TagField);\n\n return TagField;\n});\n","/**\n * Toggle the visibility of elements.\n * @module Ink.UI.Toggle_1\n * @version 1\n */\n\n Ink.createModule('Ink.UI.Toggle', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1'], function(Common, InkEvent, Css, InkElement, Selector, InkArray ) {\n 'use strict';\n\n /**\n *\n * You need two elements to use Toggle: the `trigger` element, and the `target` element (or elements). The default behaviour is to toggle the `target`(s) when you click the `trigger`.\n *\n * The toggle has a state. It is either \"on\" or \"off\". It works by switching between the CSS classes in `classNameOn` and `classNameOff` according to the current state.\n *\n * When you initialize the Toggle, it will check if the targets are visible to figure out what the initial state is. You can force the toggle to consider itself turned \"on\" or \"off\" by setting the `initialState` option to `true` or `false`, respectively.\n *\n * You can get the current state of the Toggle by calling `getState`, or by checking if your `trigger` element has the \"active\" class.\n * The state can be changed through JavaScript. Just call `setState(true)` \n * to turn the Toggle on (or `setState(false)` to turn it off).\n *\n * @class Ink.UI.Toggle\n * @constructor\n * @version 1\n * @param {String|DOMElement} selector Trigger element. By clicking this, the target (or targets) are triggered.\n * @param {Object} [options] Options object, containing:\n *\n * @param {String} options.target CSS Selector that specifies the elements that this component will toggle\n * @param {String} [options.classNameOn] CSS class to toggle when on. Defaults to 'show-all'.\n * @param {String} [options.classNameOff] CSS class to toggle when off. Defaults to 'hide-all'.\n * @param {String} [options.triggerEvent] Event that will trigger the toggling. Defaults to 'click'.\n * @param {Boolean} [options.closeOnClick] Flag to toggle the targe off when clicking outside the toggled content. Defaults to true.\n * @param {String} [options.closeOnInsideClick] Toggle off when a child element matching this selector is clicked. Set to null to deactivate the check. Defaults to 'a[href]'.\n * @param {Boolean} [options.initialState] Flag to define initial state. false: off, true: on, null: markup. Defaults to null.\n * @param {Function} [options.onChangeState] Callback when the toggle state changes. Return `false` to cancel the event.\n *\n * @sample Ink_UI_Toggle_1_constructor.html\n */\n function Toggle(){\n Common.BaseUIComponent.apply(this, arguments);\n }\n\n Toggle._name = 'Toggle_1';\n\n Toggle._optionDefinition = {\n target: ['Elements'],\n triggerEvent: ['String', 'click'],\n closeOnClick: ['Boolean', true],\n isAccordion: ['Boolean', false],\n initialState: ['Boolean', null], // May be true, false, or null to be what it is right now\n classNameOn: ['String', 'show-all'],\n classNameOff: ['String', 'hide-all'],\n closeOnInsideClick: ['String', 'a[href]'], // closes the toggle when a target is clicked and it is a link\n onChangeState: ['Function', null]\n };\n\n Toggle.prototype = {\n\n /**\n * Init function called by the constructor\n * \n * @method _init\n * @private\n */\n _init: function(){\n var i, len;\n\n this._targets = Common.elsOrSelector(this._options.target);\n\n // Boolean option handling\n this._options.closeOnClick = this._options.closeOnClick.toString() === 'true';\n // Actually a throolean\n if (this._options.initialState !== null){\n this._options.initialState = this._options.initialState.toString() === 'true';\n } else {\n this._options.initialState = Css.getStyle(this._targets[0], 'display') !== 'none';\n }\n\n if (this._options.classNameOn !== 'show-all' || this._options.classNameOff !== 'hide-all') {\n for (i = 0, len = this._targets.length; i < len; i++) {\n Css.removeClassName(this._targets[i], 'show-all');\n Css.removeClassName(this._targets[i], 'hide-all');\n }\n }\n\n this._accordion = ( Css.hasClassName(this._element.parentNode,'accordion') || Css.hasClassName(this._targets[0].parentNode,'accordion') );\n\n this._firstTime = true;\n\n this._bindEvents();\n\n if (this._options.initialState !== null) {\n this.setState(this._options.initialState, true);\n } else {\n // Add initial classes matching the current \"display\" of the object.\n var state = Css.getStyle(this._targets[0], 'display') !== 'none';\n this.setState(state, true);\n }\n // Aditionally, remove any inline \"display\" style.\n for (i = 0, len = this._targets.length; i < len; i++) {\n if (this._targets[i].style.display) {\n this._targets[i].style.display = ''; // becomes default\n }\n }\n\n this._element.setAttribute('data-is-toggle-trigger', 'true');\n },\n\n /**\n * @method _bindEvents\n * @private\n */\n _bindEvents: function () {\n if ( this._options.triggerEvent ) {\n InkEvent.observe(\n this._element,\n this._options.triggerEvent,\n Ink.bind(this._onTriggerEvent, this));\n }\n if( this._options.closeOnClick ){\n InkEvent.observe( document, 'click', Ink.bind(this._onOutsideClick, this));\n }\n if( this._options.closeOnInsideClick && this._options.closeOnInsideClick !== 'false') {\n var sel = this._options.closeOnInsideClick;\n if (sel.toString() === 'true') {\n sel = '*';\n }\n InkEvent.observeMulti(this._targets, 'click', Ink.bind(function (e) {\n if ( InkElement.findUpwardsBySelector(InkEvent.element(e), sel) ) {\n this.setState(false, true);\n }\n }, this));\n }\n },\n\n /**\n * Event handler. It's responsible for handling the `triggerEvent` as defined in the options.\n *\n * This will trigger the toggle.\n * \n * @method _onTriggerEvent\n * @param {Event} event\n * @private\n */\n _onTriggerEvent: function( event ){\n // When the togglee is a child of the toggler, we get the togglee's events here. We have to check that this event is for us.\n var target = InkEvent.element(event);\n\n var isAncestorOfClickedElement = InkArray.some(this._targets, function (thisOne) {\n return thisOne === target || InkElement.isAncestorOf(thisOne, target);\n });\n\n if (isAncestorOfClickedElement) {\n return;\n }\n\n if (this._accordion) {\n this._updateAccordion();\n }\n\n var has = this.getState();\n this.setState(!has, true);\n if (!has && this._firstTime) {\n this._firstTime = false;\n }\n\n InkEvent.stopDefault(event);\n },\n\n /**\n * Be compatible with accordions\n *\n * @method _updateAccordion\n **/\n _updateAccordion: function () {\n var elms, accordionElement;\n if( Css.hasClassName(this._targets[0].parentNode,'accordion') ){\n accordionElement = this._targets[0].parentNode;\n } else {\n accordionElement = this._targets[0].parentNode.parentNode;\n }\n elms = Selector.select('.toggle, .ink-toggle',accordionElement);\n for(var i=0; i 0) && (targetElm[0] !== this._targets[0]) ){\n targetElm[0].style.display = 'none';\n }\n }\n },\n\n /**\n * Click handler. Will handle clicks outside the toggle component.\n * \n * @method _onOutsideClick\n * @param {Event} event\n * @private\n */\n _onOutsideClick: function( event ){\n var tgtEl = InkEvent.element(event),\n shades;\n\n if (InkElement.findUpwardsBySelector(tgtEl, '[data-is-toggle-trigger=\"true\"]')) return;\n\n var ancestorOfTargets = InkArray.some(this._targets, function (target) {\n return InkElement.isAncestorOf(target, tgtEl) || target === tgtEl;\n });\n\n if( (this._element === tgtEl) || InkElement.isAncestorOf(this._element, tgtEl) || ancestorOfTargets) {\n return;\n } else if( (shades = Ink.ss('.ink-shade')).length ) {\n var shadesLength = shades.length;\n\n for( var i = 0; i < shadesLength; i++ ){\n if( InkElement.isAncestorOf(shades[i],tgtEl) && InkElement.isAncestorOf(shades[i],this._element) ){\n return;\n }\n }\n }\n\n this.setState(false, true); // dismiss\n },\n\n /**\n * Sets the state of the toggle. (on/off)\n *\n * @method setState\n * @param newState {Boolean} New state (on/off)\n */\n setState: function (on, callHandler) {\n if (on === this.getState()) { return; }\n if (callHandler && typeof this._options.onChangeState === 'function') {\n var ret = this._options.onChangeState(on);\n if (ret === false) { return false; } // Canceled by the event handler\n }\n for (var i = 0, len = this._targets.length; i < len; i++) {\n Css.addRemoveClassName(this._targets[i], this._options.classNameOn, on);\n Css.addRemoveClassName(this._targets[i], this._options.classNameOff, !on);\n }\n Css.addRemoveClassName(this._element, 'active', on);\n },\n\n /**\n * Gets the state of the toggle. (on/off)\n *\n * @method getState\n *\n * @return {Boolean} whether the toggle is toggled on.\n */\n getState: function () {\n return Css.hasClassName(this._element, 'active');\n }\n };\n\n Common.createUIComponent(Toggle);\n\n return Toggle;\n});\n","/**\n * Content Tooltips\n * @module Ink.UI.Tooltip_1\n * @version 1\n */\nInk.createModule('Ink.UI.Tooltip', '1', ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Element_1', 'Ink.Dom.Selector_1', 'Ink.Util.Array_1', 'Ink.Dom.Css_1', 'Ink.Dom.Browser_1'], function (Common, InkEvent, InkElement, Selector, InkArray, Css) {\n 'use strict';\n\n /**\n * Tooltips are useful as a means to display information about functionality while avoiding clutter.\n *\n * Tooltips show up when you hover elements which \"have\" tooltips.\n *\n * This class will \"give\" a tooltip to many elements, selected by its first argument (`target`). This is contrary to the other UI modules in Ink, which are created once per element.\n *\n * You can define options either through the second argument of the Tooltip constructor, or as data-attributes in each `target` element. Options set through data-attributes all start with \"data-tip\", and override options passed into the Tooltip constructor.\n *\n * @class Ink.UI.Tooltip\n * @constructor\n *\n * @param {DOMElement|String} target Target element or selector of elements, to display the tooltips on.\n * @param {Object} [options] Options object\n * @param {String} [options.text] Text content for the tooltip.\n * @param {String} [options.html] HTML for the tooltip. Same as above, but won't escape HTML.\n * @param {String} [options.where] Positioning for the tooltip. Options are 'up', 'down', 'left', 'right', 'mousemove' (follows the cursor), and 'mousefix' (stays fixed). Defaults to 'up'.\n * \n * @param {String} [options.color] Color of the tooltip. Options are red, orange, blue, green and black. Default is white.\n * @param {Number} [options.fade] Number of seconds to fade in/out. Defaults to 0.3.\n * @param {Boolean} [options.forever] Flag to prevent the tooltip from being erased when the mouse hovers away from the target.\n * @param {Number} [options.timeout] Number of seconds the tooltip will stay open. Useful together with options.forever. Defaults to 0.\n * @param {Number} [options.delay] Time the tooltip waits until it is displayed. Useful to avoid getting the attention of the user unnecessarily\n * @param {DOMElement|Selector} [options.template] Element or selector containing HTML to be cloned into the tooltips. Can be a hidden element, because CSS `display` is set to `block`.\n * @param {String} [options.templatefield] Selector within the template element to choose where the text is inserted into the tooltip. Useful when a wrapper DIV is required.\n * @param {Number} [options.left] Spacing from the target to the tooltip, when `where` is `mousemove` or `mousefix`. Defaults to 10.\n * @param {Number} [options.top] Spacing from the target to the tooltip, when `where` is `mousemove` or `mousefix`. Defaults to 10.\n * @param {Number} [options.spacing] Spacing between the tooltip and the target element, when `where` is not `mousemove` or `mousefix`. Defaults to 8.\n * \n * @sample Ink_UI_Tooltip_1.html\n */\n function Tooltip(element, options) {\n this._init(element, options || {});\n }\n\n function EachTooltip(root, elm) {\n this._init(root, elm);\n }\n\n var transitionDurationName,\n transitionPropertyName,\n transitionTimingFunctionName;\n (function () { // Feature detection\n var test = document.createElement('DIV');\n var names = ['transition', 'oTransition', 'msTransition', 'mozTransition',\n 'webkitTransition'];\n for (var i = 0; i < names.length; i++) {\n if (typeof test.style[names[i] + 'Duration'] !== 'undefined') {\n transitionDurationName = names[i] + 'Duration';\n transitionPropertyName = names[i] + 'Property';\n transitionTimingFunctionName = names[i] + 'TimingFunction';\n break;\n }\n }\n }());\n\n // Body or documentElement\n var bodies = document.getElementsByTagName('body');\n var body = bodies.length ? bodies[0] : document.documentElement;\n\n Tooltip.prototype = {\n _init: function(element, options) {\n var elements;\n\n this.options = Ink.extendObj({\n where: 'up',\n zIndex: 10000,\n left: 10,\n top: 10,\n spacing: 8,\n forever: 0,\n color: '',\n timeout: 0,\n delay: 0,\n template: null,\n templatefield: null,\n fade: 0.3,\n text: ''\n }, options || {});\n\n if (typeof element === 'string') {\n elements = Selector.select(element);\n } else if (typeof element === 'object') {\n elements = [element];\n } else {\n throw 'Element expected';\n }\n\n this.tooltips = [];\n\n for (var i = 0, len = elements.length; i < len; i++) {\n this.tooltips[i] = new EachTooltip(this, elements[i]);\n }\n },\n /**\n * Destroys the tooltips created by this instance\n *\n * @method destroy\n */\n destroy: function () {\n InkArray.each(this.tooltips, function (tooltip) {\n tooltip._destroy();\n });\n this.tooltips = null;\n this.options = null;\n }\n };\n\n EachTooltip.prototype = {\n _oppositeDirections: {\n left: 'right',\n right: 'left',\n up: 'down',\n down: 'up'\n },\n _init: function(root, elm) {\n InkEvent.observe(elm, 'mouseover', Ink.bindEvent(this._onMouseOver, this));\n InkEvent.observe(elm, 'mouseout', Ink.bindEvent(this._onMouseOut, this));\n InkEvent.observe(elm, 'mousemove', Ink.bindEvent(this._onMouseMove, this));\n\n this.root = root;\n this.element = elm;\n this._delayTimeout = null;\n this.tooltip = null;\n\n Common.registerInstance(this, this.element);\n },\n _makeTooltip: function (mousePosition) {\n if (!this._getOpt('text') &&\n !this._getOpt('html') &&\n !InkElement.hasAttribute(this.element, 'title')) {\n return false;\n }\n\n var tooltip = this._createTooltipElement();\n\n if (this.tooltip) {\n this._removeTooltip();\n }\n\n this.tooltip = tooltip;\n\n this._fadeInTooltipElement(tooltip);\n this._placeTooltipElement(tooltip, mousePosition);\n\n InkEvent.observe(tooltip, 'mouseover', Ink.bindEvent(this._onTooltipMouseOver, this));\n\n var timeout = this._getFloatOpt('timeout');\n if (timeout) {\n setTimeout(Ink.bind(function () {\n if (this.tooltip === tooltip) {\n this._removeTooltip();\n }\n }, this), timeout * 1000);\n }\n },\n _createTooltipElement: function () {\n var template = this._getOpt('template'), // User template instead of our HTML\n templatefield = this._getOpt('templatefield'),\n \n tooltip, // The element we float\n field; // Element where we write our message. Child or same as the above\n\n if (template) { // The user told us of a template to use. We copy it.\n var temp = document.createElement('DIV');\n temp.innerHTML = Common.elOrSelector(template, 'options.template').outerHTML;\n tooltip = temp.firstChild;\n \n if (templatefield) {\n field = Selector.select(templatefield, tooltip);\n if (field) {\n field = field[0];\n } else {\n throw 'options.templatefield must be a valid selector within options.template';\n }\n } else {\n field = tooltip; // Assume same element if user did not specify a field\n }\n } else { // We create the default structure\n tooltip = document.createElement('DIV');\n Css.addClassName(tooltip, 'ink-tooltip');\n Css.addClassName(tooltip, this._getOpt('color'));\n\n field = document.createElement('DIV');\n Css.addClassName(field, 'content');\n\n tooltip.appendChild(field);\n }\n \n if (this._getOpt('html')) {\n field.innerHTML = this._getOpt('html');\n } else if (this._getOpt('text')) {\n InkElement.setTextContent(field, this._getOpt('text'));\n } else {\n InkElement.setTextContent(field, this.element.getAttribute('title'));\n }\n tooltip.style.display = 'block';\n tooltip.style.position = 'absolute';\n tooltip.style.zIndex = this._getIntOpt('zIndex');\n\n return tooltip;\n },\n _fadeInTooltipElement: function (tooltip) {\n var fadeTime = this._getFloatOpt('fade');\n if (transitionDurationName && fadeTime) {\n tooltip.style.opacity = '0';\n tooltip.style[transitionDurationName] = fadeTime + 's';\n tooltip.style[transitionPropertyName] = 'opacity';\n tooltip.style[transitionTimingFunctionName] = 'ease-in-out';\n setTimeout(function () {\n tooltip.style.opacity = '1';\n }, 0); // Wait a tick\n }\n },\n _placeTooltipElement: function (tooltip, mousePosition) {\n var where = this._getOpt('where');\n\n if (where === 'mousemove' || where === 'mousefix') {\n var mPos = mousePosition;\n this._setPos(mPos[0], mPos[1]);\n body.appendChild(tooltip);\n } else if (where.match(/(up|down|left|right)/)) {\n body.appendChild(tooltip);\n var targetElementPos = InkElement.offset(this.element);\n var tleft = targetElementPos[0],\n ttop = targetElementPos[1];\n\n var centerh = (InkElement.elementWidth(this.element) / 2) - (InkElement.elementWidth(tooltip) / 2),\n centerv = (InkElement.elementHeight(this.element) / 2) - (InkElement.elementHeight(tooltip) / 2);\n var spacing = this._getIntOpt('spacing');\n\n var tooltipDims = InkElement.elementDimensions(tooltip);\n var elementDims = InkElement.elementDimensions(this.element);\n\n var maxX = InkElement.scrollWidth() + InkElement.viewportWidth();\n var maxY = InkElement.scrollHeight() + InkElement.viewportHeight();\n \n where = this._getWhereValueInsideViewport(where, {\n left: tleft - tooltipDims[0],\n right: tleft + tooltipDims[0],\n top: ttop + tooltipDims[1],\n bottom: ttop + tooltipDims[1]\n }, {\n right: maxX,\n bottom: maxY\n });\n \n if (where === 'up') {\n ttop -= tooltipDims[1];\n ttop -= spacing;\n tleft += centerh;\n } else if (where === 'down') {\n ttop += elementDims[1];\n ttop += spacing;\n tleft += centerh;\n } else if (where === 'left') {\n tleft -= tooltipDims[0];\n tleft -= spacing;\n ttop += centerv;\n } else if (where === 'right') {\n tleft += elementDims[0];\n tleft += spacing;\n ttop += centerv;\n }\n \n var arrow = null;\n if (where.match(/(up|down|left|right)/)) {\n arrow = document.createElement('SPAN');\n Css.addClassName(arrow, 'arrow');\n Css.addClassName(arrow, this._oppositeDirections[where]);\n tooltip.appendChild(arrow);\n }\n\n var tooltipLeft = tleft;\n var tooltipTop = ttop;\n\n var toBottom = (tooltipTop + tooltipDims[1]) - maxY;\n var toRight = (tooltipLeft + tooltipDims[0]) - maxX;\n var toLeft = 0 - tooltipLeft;\n var toTop = 0 - tooltipTop;\n\n if (toBottom > 0) {\n if (arrow) { arrow.style.top = (tooltipDims[1] / 2) + toBottom + 'px'; }\n tooltipTop -= toBottom;\n } else if (toTop > 0) {\n if (arrow) { arrow.style.top = (tooltipDims[1] / 2) - toTop + 'px'; }\n tooltipTop += toTop;\n } else if (toRight > 0) {\n if (arrow) { arrow.style.left = (tooltipDims[0] / 2) + toRight + 'px'; }\n tooltipLeft -= toRight;\n } else if (toLeft > 0) {\n if (arrow) { arrow.style.left = (tooltipDims[0] / 2) - toLeft + 'px'; }\n tooltipLeft += toLeft;\n }\n\n tooltip.style.left = tooltipLeft + 'px';\n tooltip.style.top = tooltipTop + 'px';\n }\n },\n\n /**\n * Get a value for \"where\" (left/right/up/down) which doesn't put the\n * tooltip off the screen\n *\n * @method _getWhereValueInsideViewport\n * @param where {String} \"where\" value which was given by the user and we might change\n * @param bbox {BoundingBox} A bounding box like what you get from getBoundingClientRect ({top, bottom, left, right}) with pixel positions from the top left corner of the viewport.\n * @param viewport {BoundingBox} Bounding box for the viewport. \"top\" and \"left\" are omitted because these coordinates are relative to the top-left corner of the viewport so they are zero.\n *\n * @TODO: we can't use getBoundingClientRect in this case because it returns {0,0,0,0} on our uncreated tooltip.\n */\n _getWhereValueInsideViewport: function (where, bbox, viewport) {\n if (where === 'left' && bbox.left < 0) {\n return 'right';\n } else if (where === 'right' && bbox.right > viewport.right) {\n return 'left';\n } else if (where === 'up' && bbox.top < 0) {\n return 'down';\n } else if (where === 'down' && bbox.bottom > viewport.bottom) {\n return 'up';\n }\n\n return where;\n },\n _removeTooltip: function() {\n var tooltip = this.tooltip;\n if (!tooltip) {return;}\n\n var remove = Ink.bind(InkElement.remove, {}, tooltip);\n\n if (this._getOpt('where') !== 'mousemove' && transitionDurationName) {\n tooltip.style.opacity = 0;\n // remove() will operate on correct tooltip, although this.tooltip === null then\n setTimeout(remove, this._getFloatOpt('fade') * 1000);\n } else {\n remove();\n }\n this.tooltip = null;\n },\n _getOpt: function (option) {\n var dataAttrVal = InkElement.data(this.element)[InkElement._camelCase('tip-' + option)];\n if (dataAttrVal /* either null or \"\" may signify the absense of this attribute*/) {\n return dataAttrVal;\n }\n var instanceOption = this.root.options[option];\n if (typeof instanceOption !== 'undefined') {\n return instanceOption;\n }\n },\n _getIntOpt: function (option) {\n return parseInt(this._getOpt(option), 10);\n },\n _getFloatOpt: function (option) {\n return parseFloat(this._getOpt(option), 10);\n },\n _destroy: function () {\n if (this.tooltip) {\n InkElement.remove(this.tooltip);\n }\n this.root = null; // Cyclic reference = memory leaks\n this.element = null;\n this.tooltip = null;\n },\n _onMouseOver: function(e) {\n // on IE < 10 you can't access the mouse event not even a tick after it fired\n var mousePosition = this._getMousePosition(e);\n var delay = this._getFloatOpt('delay');\n if (delay) {\n this._delayTimeout = setTimeout(Ink.bind(function () {\n if (!this.tooltip) {\n this._makeTooltip(mousePosition);\n }\n this._delayTimeout = null;\n }, this), delay * 1000);\n } else {\n this._makeTooltip(mousePosition);\n }\n },\n _onMouseMove: function(e) {\n if (this._getOpt('where') === 'mousemove' && this.tooltip) {\n var mPos = this._getMousePosition(e);\n this._setPos(mPos[0], mPos[1]);\n }\n },\n _onMouseOut: function () {\n if (!this._getIntOpt('forever')) {\n this._removeTooltip();\n }\n if (this._delayTimeout) {\n clearTimeout(this._delayTimeout);\n this._delayTimeout = null;\n }\n },\n _onTooltipMouseOver: function () {\n if (this.tooltip) { // If tooltip is already being removed, this has no effect\n this._removeTooltip();\n }\n },\n _setPos: function(left, top) {\n left += this._getIntOpt('left');\n top += this._getIntOpt('top');\n var pageDims = this._getPageXY();\n if (this.tooltip) {\n var elmDims = [InkElement.elementWidth(this.tooltip), InkElement.elementHeight(this.tooltip)];\n var scrollDim = this._getScroll();\n\n if((elmDims[0] + left - scrollDim[0]) >= (pageDims[0] - 20)) {\n left = (left - elmDims[0] - this._getIntOpt('left') - 10);\n }\n if((elmDims[1] + top - scrollDim[1]) >= (pageDims[1] - 20)) {\n top = (top - elmDims[1] - this._getIntOpt('top') - 10);\n }\n\n this.tooltip.style.left = left + 'px';\n this.tooltip.style.top = top + 'px';\n }\n },\n _getPageXY: function() {\n var cWidth = 0;\n var cHeight = 0;\n if( typeof( window.innerWidth ) === 'number' ) {\n cWidth = window.innerWidth;\n cHeight = window.innerHeight;\n } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {\n cWidth = document.documentElement.clientWidth;\n cHeight = document.documentElement.clientHeight;\n } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {\n cWidth = document.body.clientWidth;\n cHeight = document.body.clientHeight;\n }\n return [parseInt(cWidth, 10), parseInt(cHeight, 10)];\n },\n _getScroll: function() {\n var dd = document.documentElement, db = document.body;\n if (dd && (dd.scrollLeft || dd.scrollTop)) {\n return [dd.scrollLeft, dd.scrollTop];\n } else if (db) {\n return [db.scrollLeft, db.scrollTop];\n } else {\n return [0, 0];\n }\n },\n _getMousePosition: function(e) {\n return [parseInt(InkEvent.pointerX(e), 10), parseInt(InkEvent.pointerY(e), 10)];\n }\n };\n\n return Tooltip;\n});\n","/**\n * Elements in a tree structure\n * @module Ink.UI.TreeView_1\n * @version 1\n */\nInk.createModule('Ink.UI.TreeView', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1'], function(Common, Event, Css, Element, Selector, InkArray ) {\n 'use strict';\n\n\n /**\n * Shows elements in a tree structure which can be expanded and contracted.\n * A TreeView is built with \"node\"s and \"children\". \"node\"s are `li` tags, and \"children\" are `ul` tags.\n * You can build your TreeView out of a regular UL and LI element structure which you already use to display lists with several levels.\n * If you want a node to be open when the TreeView is built, just add the data-open=\"true\" attribute to it.\n * \n * @class Ink.UI.TreeView\n * @constructor\n * @version 1\n * @param {String|DOMElement} selector Element or selector.\n * @param {String} [options] Options object, containing:\n * @param {String} [options.node] Selector for the nodes. Defaults to 'li'.\n * @param {String} [options.children] Selector for the children. Defaults to 'ul'.\n * @param {String} [options.parentClass] CSS classes to be added to parent nodes. Defaults to 'parent'.\n * @param {String} [options.openClass] CSS classes to be added to the icon when a parent is open. Defaults to 'fa fa-minus-circle'.\n * @param {String} [options.closedClass] CSS classes to be added to the icon when a parent is closed. Defaults to 'fa fa-plus-circle'.\n * @param {String} [options.hideClass] CSS Class to toggle visibility of the children. Defaults to 'hide-all'.\n * @param {String} [options.iconTag] The name of icon tag. The component tries to find a tag with that name as a direct child of the node. If it doesn't find it, it creates it. Defaults to 'i'.\n * @param {Boolean} [options.stopDefault] Flag to stops the default behavior of the click handler. Defaults to true.\n * @example\n * \n * \n * \n * @sample Ink_UI_TreeView_1.html\n */\n function TreeView() {\n Common.BaseUIComponent.apply(this, arguments);\n }\n\n TreeView._name = 'TreeView_1';\n\n TreeView._optionDefinition = {\n 'node': ['String', 'li'],\n // [3.0.1] Deprecate this terrible, terrible name\n 'child': ['String',null],\n 'children': ['String','ul'],\n 'parentClass': ['String','parent'],\n 'openNodeClass': ['String', 'open'],\n 'openClass': ['String','fa fa-minus-circle'],\n 'closedClass': ['String','fa fa-plus-circle'],\n 'hideClass': ['String','hide-all'],\n 'iconTag': ['String', 'i'],\n 'stopDefault' : ['Boolean', true]\n };\n\n TreeView.prototype = {\n /**\n * Init function called by the constructor. Sets the necessary event handlers.\n * \n * @method _init\n * @private\n */\n _init: function(){\n if (this._options.child) {\n Ink.warn('Ink.UI.TreeView: options.child is being renamed to options.children.');\n this._options.children = this._options.child;\n }\n\n this._handlers = {\n click: Ink.bindEvent(this._onClick,this)\n };\n\n Event.on(this._element, 'click', this._options.node, this._handlers.click);\n\n InkArray.each(Ink.ss(this._options.node, this._element), Ink.bind(function(item){\n if( this.isParent(item) ) {\n Css.addClassName(item, this._options.parentClass);\n\n var isOpen = this.isOpen(item);\n if( !this._getIcon(item) ){\n Element.create(this._options.iconTag, { insertTop: item });\n }\n\n this._setNodeOpen(item, isOpen);\n }\n },this));\n },\n\n _getIcon: function (node) {\n return Ink.s('> ' + this._options.iconTag, node);\n },\n\n /**\n * Checks if a node is open.\n *\n * @method isOpen\n * @param {DOMElement} node The tree node to check\n **/\n isOpen: function (node) {\n if (!this._getChild(node)) {\n throw new Error('not a node!');\n }\n\n return Element.data(node).open === 'true' ||\n Css.hasClassName(node, this._options.openNodeClass);\n },\n\n /**\n * Checks if a node is a parent.\n *\n * @method isParent\n * @param {DOMElement} node Node to check\n **/\n isParent: function (node) {\n return Css.hasClassName(node, this._options.parentClass) ||\n this._getChild(node) != null;\n },\n\n _setNodeOpen: function (node, beOpen) {\n var child = this._getChild(node);\n if (child) {\n Css.setClassName(child, this._options.hideClass, !beOpen);\n var icon = this._getIcon(node);\n\n node.setAttribute('data-open', beOpen);\n\n /*\n * Don't refactor this to\n *\n * setClassName(el, className, status); setClassName(el, className, !status);\n *\n * because it won't work with multiple classes.\n *\n * Doing:\n * setClassName(el, 'fa fa-whatever', true);setClassName(el, 'fa fa-whatever-else', false);\n *\n * will remove 'fa' although it is a class we want.\n */\n\n var toAdd = beOpen ? this._options.openClass : this._options.closedClass;\n var toRemove = beOpen ? this._options.closedClass : this._options.openClass;\n Css.removeClassName(icon, toRemove);\n Css.addClassName(icon, toAdd);\n\n Css.setClassName(node, this._options.openNodeClass, beOpen);\n } else {\n Ink.error('Ink.UI.TreeView: node', node, 'is not a node!');\n }\n },\n\n /**\n * Opens one of the tree nodes\n *\n * Make sure you pass the node's DOMElement\n * @method open\n * @param {DOMElement} node The node you wish to open.\n **/\n open: function (node) {\n this._setNodeOpen(node, true);\n },\n\n /**\n * Closes one of the tree nodes\n *\n * Make sure you pass the node's DOMElement\n * @method close\n * @param {DOMElement} node The node you wish to close.\n **/\n close: function (node) {\n this._setNodeOpen(node, false);\n },\n\n /**\n * Toggles a node state\n *\n * @method toggle\n * @param {DOMElement} node The node to toggle.\n **/\n toggle: function (node) {\n if (this.isOpen(node)) {\n this.close(node);\n } else {\n this.open(node);\n }\n },\n\n _getChild: function (node) {\n return Selector.select(this._options.children, node)[0] || null;\n },\n\n /**\n * Handles the click event (as specified in the _init function).\n * \n * @method _onClick\n * @param {Event} event\n * @private\n */\n _onClick: function(ev){\n /**\n * Summary:\n * If the clicked element is a \"node\" as defined in the options, will check if it has any \"child\".\n * If so, will toggle its state and stop the event's default behavior if the stopDefault option is true.\n **/\n\n if (!this.isParent(ev.currentTarget) ||\n Selector.matchesSelector(ev.target, this._options.node) ||\n Selector.matchesSelector(ev.target, this._options.children)) {\n return;\n }\n\n if (this._options.stopDefault){\n ev.preventDefault();\n }\n\n this.toggle(ev.currentTarget);\n }\n };\n\n Common.createUIComponent(TreeView);\n\n return TreeView;\n});\n","Ink.createModule('Ink.UI.Upload', '1', [\n 'Ink.Dom.Event_1',\n 'Ink.Dom.Element_1',\n 'Ink.Dom.Browser_1',\n 'Ink.UI.Common_1'\n], function(Event, Element, Browser, Common) {\n 'use strict';\n\n var DirectoryReader = function(options) {\n this.init(options);\n };\n\n DirectoryReader.prototype = {\n init: function(options) {\n this._options = Ink.extendObj({\n entry: undefined,\n maxDepth: 10\n }, options || {});\n\n try {\n this._read();\n } catch(e) {\n Ink.error(e);\n }\n },\n\n\n _read: function() {\n if(!this._options.entry) {\n Ink.error('You must specify the entry!');\n return;\n }\n\n try {\n this._readDirectories();\n } catch(e) {\n Ink.error(e);\n }\n },\n\n\n _readDirectories: function() {\n var entries = [],\n running = false,\n maxDepth = 0;\n\n /* TODO return as tree because much better well */\n var _readEntries = Ink.bind(function(currentEntry) {\n var dir = currentEntry.createReader();\n running = true;\n\n dir.readEntries(Ink.bind(function(res) {\n if(res.length > 0) {\n for(var i = 0, len = res.length; i=0; i--) {\n if(typeof(arr[i]) === 'undefined' || arr[i] === null || arr[i] === '') {\n arr.splice(i, 1);\n }\n }\n return arr;\n }\n };\n\n var Queue = {\n lists: [],\n items: [],\n\n\n /**\n * Create new queue list\n * @function create\n * @public\n * @param {String} list name\n * @param {Function} function to iterate on items\n * @return {Object} list id\n */\n create: function(name) {\n var id;\n name = String(name);\n this.lists.push({name: name});\n id = this.lists.length - 1;\n return id;\n },\n\n\n getItems: function(parentId) {\n if(!parentId) {\n return this.items;\n }\n var items = [];\n for(var i = 0, len = this.items.length; i=0; i--) {\n if(this.items[i] && id === this.items[i].parentId) {\n this.remove(this.items[i].parentId, this.items[i].pid);\n }\n }\n if(!keepList) {\n this.lists.splice(id, 1);\n }\n return true;\n } catch(e) {\n Ink.error('Purge: invalid id');\n return false;\n }\n },\n\n\n /**\n * add an item to a list\n * @function add\n * @public\n * @param {String} name\n * @param {Object} item\n * @return {Number} pid\n */\n add: function(parentId, item, priority) {\n if(!this.lists[parentId]) {\n return false;\n }\n if(typeof(item) !== 'object') {\n item = String(item);\n }\n\n var pid = parseInt(Math.round(Math.random() * 100000) + \"\" + Math.round(Math.random() * 100000), 10);\n priority = priority || 0;\n\n this.items.push({parentId: parentId, item: item, priority: priority || 0, pid: pid});\n return pid;\n },\n\n\n /**\n * View list\n * @function view\n * @public\n * @param {Number} list id\n * @param {Number} process id\n * @return {Object} item\n */\n view: function(parentId, pid) {\n var id = this._searchByPid(parentId, pid);\n if(id === false) {\n return false;\n }\n return this.items[id];\n },\n\n\n /**\n * Remove an item\n * @function remove\n * @public\n * @param {Object} item\n * @return {Object|Boolean} removed item or false if not found\n */\n remove: function(parentId, pid) {\n try {\n var id = this._searchByPid(parentId, pid);\n if(id === false) {\n return false;\n }\n this.items.splice(id, 1);\n return true;\n } catch(e) {\n Ink.error('Remove: invalid id');\n return false;\n }\n },\n\n _searchByPid: function(parentId, pid) {\n if(!parentId && typeof(parentId) === 'boolean' || !pid) {\n return false;\n }\n\n parentId = parseInt(parentId, 10);\n pid = parseInt(pid, 10);\n\n if(isNaN(parentId) || isNaN(pid)) {\n return false;\n }\n\n for(var i = 0, len = this.items.length; i this._options.minSizeToUseChunks;\n },\n\n\n _dropEventHandler: function(ev) {\n Event.stop(ev);\n\n this.publish('DropComplete', ev.dataTransfer);\n\n var data = ev.dataTransfer;\n\n if(!data || !data.files || !data.files.length) {\n return false;\n }\n\n this._files = data.files;\n this._files = Array.prototype.slice.call(this._files || [], 0);\n\n // check if webkitGetAsEntry exists on first item\n if(data.items && data.items[0] && data.items[0].webkitGetAsEntry) {\n if(!this._options.foldersEnabled) {\n return setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0);\n }\n var entry, folders = [];\n for(var i = ev.dataTransfer.items.length-1; i>=0; i--) {\n entry = ev.dataTransfer.items[i].webkitGetAsEntry();\n if(entry && entry.isDirectory) {\n folders.push(entry);\n this._files[i].isDirectory = true;\n this._files.splice(i, 1);\n }\n }\n // starting callback hell\n this._addFolderToQueue(folders, Ink.bind(function() {\n setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0);\n }, this));\n } else {\n setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0);\n }\n\n return true;\n },\n\n\n _addFolderToQueue: function(folders, cb) {\n var files = [], invalidFolders = {};\n\n if(!folders || !folders.length) {\n cb();\n return files;\n }\n\n var getFiles = function(entries) {\n var files = [];\n for(var i = 0, len = entries.length; i this._options.maxFilesize) {\n this.publish('MaxSizeFailure', file, this._options.maxFilesize);\n continue;\n }\n\n fileID = parseInt(Math.round(Math.random() * 100000) + \"\" + Math.round(Math.random() * 100000), 10);\n o = { id: i, data: file, fileID: fileID, directory: file.isDirectory };\n Queue.add(this._queueId, o);\n\n this.publish('FileAddedToQueue', o);\n }\n this._processQueue(true);\n this._files = [];\n },\n\n\n _processQueue: function(internalUpload) {\n if(this._queueRunning) {\n return false;\n }\n\n this.running = 0;\n var max = 1, i = 0, items,\n queueLen = Queue.items.length;\n this._queueRunning = true;\n\n this.interval = setInterval(Ink.bind(function() {\n if(Queue.items.length === i && this.running === 0) {\n Queue.purge(this._queueId, true);\n this._queueRunning = false;\n clearInterval(this.interval);\n this.publish('QueueEnd', this._queueId, queueLen);\n }\n\n items = Queue.getItems(this._queueId);\n\n if(this.running < max && items[i]) {\n if(!items[i].canceled) {\n _doRequest.call(this, items[i].pid, items[i].item.data, items[i].item.fileID, items[i].item.directory, internalUpload);\n this.running++;\n i++;\n } else {\n var j = i;\n while(items[j] && items[j].canceled) {\n i++;\n j++;\n }\n }\n return true;\n }\n return false;\n }, this), 100);\n\n\n var _doRequest = function(pid, data, fileID, directory, internalUpload) {\n var o = {\n file: data,\n fileID: fileID,\n cb: Ink.bind(function() {\n this.running--;\n }, this)\n };\n if(internalUpload) {\n if(directory) {\n // do magic\n o.cb();\n } else {\n this._upload(o);\n }\n }\n };\n\n return true;\n },\n\n\n _upload: function(o) {\n var file = o.file,\n xhr = new XMLHttpRequest(),\n fileID = o.fileID;\n\n this.publish('BeforeUpload', file, this._options.extraData, fileID, xhr, this._supportChunks(file.size));\n\n var forceAbort = function(showError) {\n if(o.cb && typeof(o.cb === 'function')) {\n o.cb();\n }\n\n this.publish('OnProgress', {\n length: file.size,\n lengthComputable: true,\n loaded: file.size,\n total: file.size\n }, file, fileID);\n this.publish('EndUpload', file, fileID, (showError ? { error: true } : true));\n this.publish('InvalidFile', file, 'name');\n xhr.abort();\n };\n\n if(this._options.INVALID_FILE_NAME && this._options.INVALID_FILE_NAME instanceof RegExp) {\n if(this._options.INVALID_FILE_NAME.test(o.file.name)) {\n forceAbort.call(this);\n return;\n }\n }\n\n // If file was renamed, abort it\n // FU OPERA: Opera always return lastModified date as null\n if(!file.lastModifiedDate && !Ink.Dom.Browser.OPERA) {\n forceAbort.call(this, true);\n return;\n }\n\n xhr.upload.onprogress = Ink.bind(this.publish, this, 'OnProgress', file, fileID);\n\n var endpoint, method;\n if(this._supportChunks(file.size)) {\n if(file.size <= file.chunk_offset) {\n endpoint = this._options.endpointChunkCommit;\n method = 'POST';\n } else {\n endpoint = this._options.endpointChunk;\n if(file.chunk_upload_id) {\n endpoint += '?upload_id=' + file.chunk_upload_id;\n }\n if(file.chunk_offset) {\n endpoint += '&offset=' + file.chunk_offset;\n }\n method = 'PUT';\n }\n } else {\n endpoint = this._options.endpoint;\n method = 'POST';\n }\n\n xhr.open(method, endpoint, true);\n xhr.withCredentials = true;\n xhr.setRequestHeader(\"x-requested-with\", \"XMLHttpRequest\");\n if(this._supportChunks(file.size)) {\n xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n }\n\n var fd = new FormData(),\n blob;\n\n if(\"Blob\" in window && typeof Blob === 'function') {\n blob = new Blob([file], { type: file.type });\n if(this._supportChunks(file.size)) {\n file.chunk_offset = file.chunk_offset || 0;\n blob = blob.slice(file.chunk_offset, file.chunk_offset + this._options.chunkSize);\n } else {\n fd.append(this._options.fileFormName, blob, file.name);\n }\n } else {\n fd.append(this._options.fileFormName, file);\n }\n\n if(!this._supportChunks(file.size)) {\n for(var k in this._options.extraData) {\n if(this._options.extraData.hasOwnProperty(k)) {\n fd.append(k, this._options.extraData[k]);\n }\n }\n } else {\n fd.append('upload_id', file.chunk_upload_id);\n fd.append('path', file.upload_path);\n }\n\n if(!file.hasParent) {\n if(!this._supportChunks(file.size)) {\n xhr.send(fd);\n } else {\n if(file.size <= file.chunk_offset) {\n xhr.send('upload_id=' + file.chunk_upload_id + '&path=' + file.upload_path + '/' + file.name);\n } else {\n xhr.send(blob);\n }\n }\n } else {\n this.publish('cbCreateFolder', file.parentID, file.fullPath, this._options.extraData, this._folders, file.rootPath, Ink.bind(function() {\n if(!this._supportChunks(file.size)) {\n xhr.send(fd);\n } else {\n if(file.size <= file.chunk_offset) {\n xhr.send('upload_id=' + file.chunk_upload_id + '&path=' + file.upload_path + '/' + file.name);\n } else {\n xhr.send(blob);\n }\n }\n }, this));\n }\n\n\n xhr.onload = Ink.bindEvent(function() {\n /* jshint boss:true */\n if(this._supportChunks(file.size) && file.size > file.chunk_offset) {\n if(xhr.response) {\n var response = JSON.parse(xhr.response);\n\n // check expected offset\n var invalidOffset = file.chunk_offset && response.offset !== (file.chunk_offset + this._options.chunkSize) && file.size !== response.offset;\n if(invalidOffset) {\n if(o.cb) {\n o.cb();\n }\n this.publish('ErrorUpload', file, fileID);\n } else {\n file.chunk_upload_id = response.upload_id;\n file.chunk_offset = response.offset;\n file.chunk_expires = response.expires;\n this._upload(o);\n }\n } else {\n if(o.cb) {\n o.cb();\n }\n this.publish('ErrorUpload', file, fileID);\n }\n return (xhr = null);\n }\n\n if(o.cb) {\n o.cb();\n }\n\n if(xhr.responseText && xhr['status'] < 400) {\n this.publish('EndUpload', file, fileID, xhr.responseText);\n } else {\n this.publish('ErrorUpload', file, fileID);\n }\n return (xhr = null);\n }, this);\n\n\n xhr.onerror = Ink.bindEvent(function() {\n if(o.cb) {\n o.cb();\n }\n this.publish('ErrorUpload', file, fileID);\n }, this);\n\n xhr.onabort = Ink.bindEvent(function() {\n if(o.cb) {\n o.cb();\n }\n this.publish('AbortUpload', file, fileID, {\n abortAll: Ink.bind(this.abortAll, this),\n abortOne: Ink.bind(this.abortOne, this)\n });\n }, this);\n },\n\n\n abortAll: function() {\n if(!this._queueRunning) {\n return false;\n }\n clearInterval(this.interval);\n this._queueRunning = false;\n Queue.purge(this._queueId, true);\n return true;\n },\n\n abortOne: function(id, cb) {\n var items = Queue.getItems(0),\n o;\n for(var i = 0, len = items.length; i 1) { return; } + + this._swipeData = { + x: InkEvent.pointerX(event), + y: InkEvent.pointerY(event) + }; + + var ulRect = this._ulEl.getBoundingClientRect(); + + this._swipeData.firstUlPos = ulRect[this._isY ? 'top' : 'left']; + + this._swipeData.inUlX = this._swipeData.x - ulRect.left; + this._swipeData.inUlY = this._swipeData.y - ulRect.top; + + setTransitionProperty(this._ulEl, 'none'); + + this._touchMoveIsFirstTouchMove = true; + }, + + _onTouchMove: function (event) { + if (event.touches.length > 1) { return; /* multitouch event, not my problem. */ } + + var pointerX = InkEvent.pointerX(event); + var pointerY = InkEvent.pointerY(event); + + var deltaY = Math.abs(pointerY - this._swipeData.y); + var deltaX = Math.abs(pointerX - this._swipeData.x); + + if (this._touchMoveIsFirstTouchMove) { + this._touchMoveIsFirstTouchMove = undefined; + this._scrolling = this._isY ? + deltaX > deltaY : + deltaY > deltaX ; + + if (!this._scrolling) { + this._onAnimationFrame(); + } + } + + if (!this._scrolling && this._swipeData) { + InkEvent.stopDefault(event); + + this._swipeData.pointerPos = this._isY ? pointerY : pointerX; + } + }, + + _onAnimationFrame: function () { + var swipeData = this._swipeData; + + if (!swipeData || this._scrolling || this._touchMoveIsFirstTouchMove) { return; } + + var elRect = this._element.getBoundingClientRect(); + + var newPos; + + if (!this._isY) { + newPos = swipeData.pointerPos - swipeData.inUlX - elRect.left; + } else { + newPos = swipeData.pointerPos - swipeData.inUlY - elRect.top; + } + + this._ulEl.style[this._isY ? 'top' : 'left'] = newPos + 'px'; + + requestAnimationFrame(Ink.bindMethod(this, '_onAnimationFrame')); + }, + + _onTouchEnd: function (event) { + if (this._swipeData && this._swipeData.pointerPos && !this._scrolling && !this._touchMoveIsFirstTouchMove) { + var snapToNext = 0.1; // swipe 10% of the way to change page + + var relProgress = this._swipeData.firstUlPos - + this._ulEl.getBoundingClientRect()[this._isY ? 'top' : 'left']; + + var curPage = this.getPage(); + + // How many pages were advanced? May be fractional. + var progressInPages = relProgress / this._elLength / this._slidesPerPage; + + // Have we advanced enough to change page? + if (Math.abs(progressInPages) > snapToNext) { + curPage += Math[ relProgress < 0 ? 'floor' : 'ceil' ](progressInPages); + } + + // If something used to calculate progressInPages was zero, we get NaN here. + if (!isNaN(curPage)) { + this.setPage(curPage); + } + + InkEvent.stopDefault(event); + } + + setTransitionProperty(this._ulEl, null /* transition: left, top */); + this._swipeData = null; + this._touchMoveIsFirstTouchMove = undefined; + this._scrolling = undefined; + }, + + _onPaginationChange: function(pgn) { + this._setPage(pgn.getCurrent()); + }, + + /** + * Gets the current page index + * @method getPage + * @return The current page number + **/ + getPage: function () { + if (this._pagination) { + return this._pagination.getCurrent(); + } else { + return this._currentPage || 0; + } + }, + + /** + * Sets the current page index + * @method setPage + * @param {Number} page Index of the destination page. + * @param {Boolean} [wrap] Flag to activate circular counting. + **/ + setPage: function (page, wrap) { + if (wrap) { + // Pages outside the range [0..this._numPages] are wrapped. + page = page % this._numPages; + if (page < 0) { page = this._numPages - page; } + } + page = limitRange(page, 0, this._numPages - 1); + + if (this._pagination) { + this._pagination.setCurrent(page); // _setPage is called by pagination because it listens to its Change event. + } else { + this._setPage(page); + } + }, + + _setPage: function (page) { + var _lengthToGo = page * this._deltaLength; + var isLastPage = page === (this._numPages - 1); + + if (!this._options.spaceAfterLastSlide && isLastPage && page > 0) { + var _itemsInLastPage = this._liEls.length - (page * this._slidesPerPage); + if(_itemsInLastPage < this._slidesPerPage) { + _lengthToGo = ((page - 1) * this._deltaLength) + (_itemsInLastPage * this._elLength); + } + } + + this._ulEl.style[ this._isY ? 'top' : 'left'] = + ['-', _lengthToGo, 'px'].join(''); + + if (this._options.onChange) { + this._options.onChange.call(this, page); + } + + this._currentPage = page; + + this._updateHider(); + }, + + /** + * Goes to the next page + * @method nextPage + * @param {Boolean} [wrap] Flag to loop from last page to first page. + **/ + nextPage: function (wrap) { + this.setPage(this.getPage() + 1, wrap); + }, + + /** + * Goes to the previous page + * @method previousPage + * @param {Boolean} [wrap] Flag to loop from first page to last page. + **/ + previousPage: function (wrap) { this.setPage(this.getPage() - 1, wrap); }, + + /** + * Returns how many slides fit into a page + * @method getSlidesPerPage + * @return {Number} The number of slides per page + * @public + */ + getSlidesPerPage: function() { + return this._slidesPerPage; + }, + + /** + * Get the amount of pages in the carousel. + * @method getTotalPages + * @return {Number} The number of pages + * @public + */ + getTotalPages: function() { + return this._numPages; + }, + + /** + * Get the stage element (your UL with the class ".stage"). + * @method getStageElm + * @public + * @return {DOMElement} Stage element + **/ + getStageElm: function() { + return this._ulEl; + }, + + /** + * Get a list of your slides (elements with the ".slide" class inside your stage) + * @method getSlidesList + * @return {DOMElement[]} Array containing the slides. + * @public + */ + getSlidesList: function() { + return this._liEls; + }, + + /** + * Get the total number of slides + * @method getTotalSlides + * @return {Number} The number of slides + * @public + */ + getTotalSlides: function() { + return this.getSlidesList().length; + } + }; + + function setTransitionProperty(el, newTransition) { + el.style.transitionProperty = + el.style.oTransitionProperty = + el.style.msTransitionProperty = + el.style.mozTransitionProperty = + el.style.webkitTransitionProperty = newTransition; + } + + Common.createUIComponent(Carousel); + + return Carousel; + +}); diff --git a/public/js/ink.close.js b/public/js/ink.close.js new file mode 100644 index 0000000..84986a3 --- /dev/null +++ b/public/js/ink.close.js @@ -0,0 +1,50 @@ +/** + * Closing utilities + * @module Ink.UI.Close_1 + * @version 1 + */ +Ink.createModule('Ink.UI.Close', '1', ['Ink.Dom.Event_1','Ink.Dom.Element_1'], function(InkEvent, InkElement) { + 'use strict'; + + /** + * Subscribes clicks on the document.body. + * Whenever an element with the classes ".ink-close" or ".ink-dismiss" is clicked, this module finds an ancestor ".ink-alert" or ".ink-alert-block" element and removes it from the DOM. + * This module should be created only once per page. + * + * @class Ink.UI.Close + * @constructor + * @example + * + * + * @sample Ink_UI_Close_1.html + */ + var Close = function() { + InkEvent.observe(document.body, 'click', function(ev) { + var el = InkEvent.element(ev); + + el = InkElement.findUpwardsByClass(el, 'ink-close') || + InkElement.findUpwardsByClass(el, 'ink-dismiss'); + + if (!el) { + return; // ink-close or ink-dismiss class not found + } + + var toRemove = InkElement.findUpwardsByClass(el, 'ink-alert') || + InkElement.findUpwardsByClass(el, 'ink-alert-block') || + el; + + if (toRemove) { + InkEvent.stop(ev); + InkElement.remove(toRemove); + } + }); + }; + + Close._name = 'Close_1'; + + return Close; +}); diff --git a/public/js/ink.common.js b/public/js/ink.common.js new file mode 100644 index 0000000..cf32875 --- /dev/null +++ b/public/js/ink.common.js @@ -0,0 +1,1064 @@ +/** + * Auxiliar utilities for UI Modules + * @module Ink.UI.Common_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.Common', '1', ['Ink.Dom.Element_1', 'Ink.Net.Ajax_1','Ink.Dom.Css_1','Ink.Dom.Selector_1','Ink.Util.Url_1'], function(InkElement, Ajax,Css,Selector,Url) { + + 'use strict'; + + var nothing = {} /* a marker, for reference comparison. */; + + var keys = Object.keys || function (obj) { + var ret = []; + for (var k in obj) if (obj.hasOwnProperty(k)) { + ret.push(k); + } + return ret; + }; + + var es6WeakMapSupport = 'WeakMap' in window; + var instances = es6WeakMapSupport ? new WeakMap() : null; + + var domRegistry = { + get: function get(el) { + return es6WeakMapSupport ? + instances.get(el) : + el.__InkInstances; + }, + set: function set(el, thing) { + if (es6WeakMapSupport) { + instances.set(el, thing); + } else { + el.__InkInstances = thing; + } + } + }; + + /** + * @namespace Ink.UI.Common_1 + */ + + var Common = { + + /** + * Supported Ink Layouts + * + * @property Layouts + * @type Object + * @readOnly + */ + Layouts: { + TINY: 'tiny', + SMALL: 'small', + MEDIUM: 'medium', + LARGE: 'large', + XLARGE: 'xlarge' + }, + + /** + * Checks if an item is a valid DOM Element. + * + * @method isDOMElement + * @static + * @param {Mixed} o The object to be checked. + * @return {Boolean} True if it's a valid DOM Element. + * @example + * var el = Ink.s('#element'); + * if( Ink.UI.Common.isDOMElement( el ) === true ){ + * // It is a DOM Element. + * } else { + * // It is NOT a DOM Element. + * } + */ + isDOMElement: InkElement.isDOMElement, + + /** + * Checks if an item is a valid integer. + * + * @method isInteger + * @static + * @param {Mixed} n The value to be checked. + * @return {Boolean} True if it's a valid integer. + * @example + * var value = 1; + * if( Ink.UI.Common.isInteger( value ) === true ){ + * // It is an integer. + * } else { + * // It is NOT an integer. + * } + */ + isInteger: function(n) { + return (typeof n === 'number' && n % 1 === 0); + }, + + /** + * Gets a DOM Element. + * + * @method elOrSelector + * @static + * @param {DOMElement|String} elOrSelector DOM Element or CSS Selector + * @param {String} fieldName The name of the field. Commonly used for debugging. + * @return {DOMElement} Returns the DOMElement passed or the first result of the CSS Selector. Otherwise it throws an exception. + * @example + * // In case there are several .myInput, it will retrieve the first found + * var el = Ink.UI.Common.elOrSelector('.myInput','My Input'); + */ + elOrSelector: function(elOrSelector, fieldName) { + if (!this.isDOMElement(elOrSelector)) { + var t = Selector.select(elOrSelector); + if (t.length === 0) { + Ink.warn(fieldName + ' must either be a DOM Element or a selector expression!\nThe script element must also be after the DOM Element itself.'); + return null; + } + return t[0]; + } + return elOrSelector; + }, + + /** + * Alias for `elOrSelector` but returns an array of elements. + * + * @method elsOrSelector + * + * @static + * @param {DOMElement|String} elOrSelector DOM Element or CSS Selector + * @param {String} fieldName The name of the field. Commonly used for debugging. + * @return {DOMElement} Returns the DOMElement passed or the first result of the CSS Selector. Otherwise it throws an exception. + * @param {Boolean} required Flag to accept an empty array as output. + * @return {Array} The selected DOM Elements. + * @example + * var elements = Ink.UI.Common.elsOrSelector('input.my-inputs', 'My Input'); + */ + elsOrSelector: function(elsOrSelector, fieldName, required) { + var ret; + if (typeof elsOrSelector === 'string') { + ret = Selector.select(elsOrSelector); + } else if (Common.isDOMElement(elsOrSelector)) { + ret = [elsOrSelector]; + } else if (elsOrSelector && typeof elsOrSelector === 'object' && typeof elsOrSelector.length === 'number') { + ret = elsOrSelector; + } + + if (ret && ret.length) { + return ret; + } else { + if (required) { + throw new TypeError(fieldName + ' must either be a DOM Element, an Array of elements, or a selector expression!\nThe script element must also be after the DOM Element itself.'); + } else { + return []; + } + } + }, + + /** + * Gets options an object and element's metadata. + * + * The element's data attributes take precedence. Values from the element's data-atrributes are coerced into the required type. + * + * @method options + * + * @param {Object} [fieldId] Name to be used in debugging features. + * @param {Object} defaults Object with the options' types and defaults. + * @param {Object} overrides Options to override the defaults. Usually passed when instantiating an UI module. + * @param {DOMElement} [element] Element with data-attributes + * + * @example + * + * this._options = Ink.UI.Common.options('MyComponent', { + * 'anobject': ['Object', null], // Defaults to null + * 'target': ['Element', null], + * 'stuff': ['Number', 0.1], + * 'stuff2': ['Integer', 0], + * 'doKickFlip': ['Boolean', false], + * 'targets': ['Elements'], // Required option since no default was given + * 'onClick': ['Function', null] + * }, options || {}, elm) + * + * @example + * + * ### Note about booleans + * + * Here is how options are read from the markup + * data-attributes, for several values`data-a-boolean`. + * + * Options considered true: + * + * - `data-a-boolean="true"` + * - (Every other value which is not on the list below.) + * + * Options considered false: + * + * - `data-a-boolean="false"` + * - `data-a-boolean=""` + * - `data-a-boolean` + * + * Options which go to default: + * + * - (no attribute). When `data-a-boolean` is ommitted, the + * option is not considered true nor false, and as such + * defaults to what is in the `defaults` argument. + * + **/ + options: function (fieldId, defaults, overrides, element) { + if (typeof fieldId !== 'string') { + element = overrides; + overrides = defaults; + defaults = fieldId; + fieldId = ''; + } + overrides = overrides || {}; + var out = {}; + var dataAttrs = element ? InkElement.data(element) : {}; + var fromDataAttrs; + var type; + var lType; + var defaultVal; + + var invalidStr = function (str) { + if (fieldId) { str = fieldId + ': "' + ('' + str).replace(/"/, '\\"') + '"'; } + return str; + }; + + var quote = function (str) { + return '"' + ('' + str).replace(/"/, '\\"') + '"'; + }; + + var invalidThrow = function (str) { + throw new Error(invalidStr(str)); + }; + + var invalid = function (str) { + Ink.error(invalidStr(str) + '. Ignoring option.'); + }; + + function optionValue(key) { + type = defaults[key][0]; + lType = type.toLowerCase(); + defaultVal = defaults[key].length === 2 ? defaults[key][1] : nothing; + + if (!type) { + invalidThrow('Ink.UI.Common.options: Always specify a type!'); + } + if (!(lType in Common._coerce_funcs)) { + invalidThrow('Ink.UI.Common.options: ' + defaults[key][0] + ' is not a valid type. Use one of ' + keys(Common._coerce_funcs).join(', ')); + + } + if (!defaults[key].length || defaults[key].length > 2) { + invalidThrow('the "defaults" argument must be an object mapping option names to [typestring, optional] arrays.'); + } + + if (key in dataAttrs) { + fromDataAttrs = Common._coerce_from_string(lType, dataAttrs[key], key, fieldId); + // (above can return `nothing`) + } else { + fromDataAttrs = nothing; + } + + if (fromDataAttrs !== nothing) { + if (!Common._options_validate(fromDataAttrs, lType)) { + invalid('(' + key + ' option) Invalid ' + lType + ' ' + quote(fromDataAttrs)); + return defaultVal; + } else { + return fromDataAttrs; + } + } else if (key in overrides) { + return overrides[key]; + } else if (defaultVal !== nothing) { + return defaultVal; + } else { + invalidThrow('Option ' + key + ' is required!'); + } + } + + for (var key in defaults) { + if (defaults.hasOwnProperty(key)) { + out[key] = optionValue(key); + } + } + + return out; + }, + + _coerce_from_string: function (type, val, paramName, fieldId) { + if (type in Common._coerce_funcs) { + return Common._coerce_funcs[type](val, paramName, fieldId); + } else { + return val; + } + }, + + _options_validate: function (val, type) { + if (type in Common._options_validate_types) { + return Common._options_validate_types[type].call(Common, val); + } else { + // 'object' options cannot be passed through data-attributes. + // Json you say? Not any good to embed in HTML. + return false; + } + }, + + _coerce_funcs: (function () { + var ret = { + element: function (val) { + return Common.elOrSelector(val, ''); + }, + elements: function (val) { + return Common.elsOrSelector(val, '', false /*not required, so don't throw an exception now*/); + }, + object: function (val) { return val; }, + number: function (val) { return parseFloat(val); }, + 'boolean': function (val) { + return !(val === 'false' || val === '' || val === null); + }, + string: function (val) { return val; }, + 'function': function (val, paramName, fieldId) { + Ink.error(fieldId + ': You cannot specify the option "' + paramName + '" through data-attributes because it\'s a function'); + return nothing; + } + }; + ret['float'] = ret.integer = ret.number; + return ret; + }()), + + _options_validate_types: (function () { + var types = { + string: function (val) { + return typeof val === 'string'; + }, + number: function (val) { + return typeof val === 'number' && !isNaN(val) && isFinite(val); + }, + integer: function (val) { + return val === Math.round(val); + }, + element: function (val) { + return Common.isDOMElement(val); + }, + elements: function (val) { + return val && typeof val === 'object' && typeof val.length === 'number' && val.length; + }, + 'boolean': function (val) { + return typeof val === 'boolean'; + }, + object: function () { return true; } + }; + types['float'] = types.number; + return types; + }()), + + /** + * Deep copy (clone) an object. + * Note: The object cannot have referece loops. + * + * @method clone + * @static + * @param {Object} o The object to be cloned/copied. + * @return {Object} Returns the result of the clone/copy. + * @example + * var originalObj = { + * key1: 'value1', + * key2: 'value2', + * key3: 'value3' + * }; + * var cloneObj = Ink.UI.Common.clone( originalObj ); + */ + clone: function(o) { + try { + return JSON.parse( JSON.stringify(o) ); + } catch (ex) { + throw new Error('Given object cannot have loops!'); + } + }, + + + /** + * Gets an element's one-base index relative to its parent. + * + * @method childIndex + * @static + * @param {DOMElement} childEl Valid DOM Element. + * @return {Number} Numerical position of an element relatively to its parent. + * @example + * + *
              + *
            • One
            • + *
            • Two
            • + *
            • Three
            • + *
            • Four
            • + *
            + * + * + */ + childIndex: function(childEl) { + if( Common.isDOMElement(childEl) ){ + var els = Selector.select('> *', childEl.parentNode); + for (var i = 0, f = els.length; i < f; ++i) { + if (els[i] === childEl) { + return i; + } + } + } + throw 'not found!'; + }, + + + /** + * AJAX JSON request shortcut method + * It provides a more convenient way to do an AJAX request and expect a JSON response.It also offers a callback option, as third parameter, for better async handling. + * + * @method ajaxJSON + * @static + * @async + * @param {String} endpoint Valid URL to be used as target by the request. + * @param {Object} params This field is used in the thrown Exception to identify the parameter. + * @param {Function} cb Callback for the request. + * @example + * // In case there are several .myInput, it will retrieve the first found + * var el = Ink.UI.Common.elOrSelector('.myInput','My Input'); + */ + ajaxJSON: function(endpoint, params, cb) { + new Ajax( + endpoint, + { + evalJS: 'force', + method: 'POST', + parameters: params, + + onSuccess: function( r) { + try { + r = r.responseJSON; + if (r.status !== 'ok') { + throw 'server error: ' + r.message; + } + cb(null, r); + } catch (ex) { + cb(ex); + } + }, + + onFailure: function() { + cb('communication failure'); + } + } + ); + }, + + + /** + * Gets the current Ink layout. + * + * @method currentLayout + * @static + * @return {String} A string representation of the current layout name. + * @example + * var inkLayout = Ink.UI.Common.currentLayout(); + * if (inkLayout === 'small') { + * // ... + * } + */ + currentLayout: function() { + var i, f, k, v, el, detectorEl = Selector.select('#ink-layout-detector')[0]; + if (!detectorEl) { + detectorEl = document.createElement('div'); + detectorEl.id = 'ink-layout-detector'; + for (k in this.Layouts) { + if (this.Layouts.hasOwnProperty(k)) { + v = this.Layouts[k]; + el = document.createElement('div'); + el.className = 'show-' + v + ' hide-all'; + el.setAttribute('data-ink-layout', v); + detectorEl.appendChild(el); + } + } + document.body.appendChild(detectorEl); + } + + for (i = 0, f = detectorEl.children.length; i < f; ++i) { + el = detectorEl.children[i]; + if (Css.getStyle(el, 'display') === 'block') { + return el.getAttribute('data-ink-layout'); + } + } + + return 'large'; + }, + + + /** + * Sets the location's hash (window.location.hash). + * + * @method hashSet + * @static + * @param {Object} o Object with the info to be placed in the location's hash. + * @example + * // It will set the location's hash like: #key1=value1&key2=value2&key3=value3 + * Ink.UI.Common.hashSet({ + * key1: 'value1', + * key2: 'value2', + * key3: 'value3' + * }); + */ + hashSet: function(o) { + if (typeof o !== 'object') { throw new TypeError('o should be an object!'); } + var hashParams = Url.getAnchorString(); + hashParams = Ink.extendObj(hashParams, o); + window.location.hash = Url.genQueryString('', hashParams).substring(1); + }, + + /** + * Removes children nodes from a given object. + * This method was initially created to help solve a problem in Internet Explorer(s) that occurred when trying to set the innerHTML of some specific elements like 'table'. + * + * @method cleanChildren + * @static + * @param {DOMElement} parentEl Valid DOM Element + * @example + * + *
              + *
            • One
            • + *
            • Two
            • + *
            • Three
            • + *
            • Four
            • + *
            + * + * + * + * + *
              + */ + cleanChildren: function(parentEl) { + if( !Common.isDOMElement(parentEl) ){ + throw 'Please provide a valid DOMElement'; + } + var prevEl, el = parentEl.lastChild; + while (el) { + prevEl = el.previousSibling; + parentEl.removeChild(el); + el = prevEl; + } + }, + + /** + * Stores the id and/or classes of an element in an object. + * + * @method storeIdAndClasses + * @static + * @param {DOMElement} fromEl Valid DOM Element to get the id and classes from. + * @param {Object} inObj Object where the id and classes will be saved. + * @example + *
              + * + * + */ + storeIdAndClasses: function(fromEl, inObj) { + if( !Common.isDOMElement(fromEl) ){ + throw 'Please provide a valid DOMElement as first parameter'; + } + + var id = fromEl.id; + if (id) { + inObj._id = id; + } + + var classes = fromEl.className; + if (classes) { + inObj._classes = classes; + } + }, + + /** + * Sets the id and className properties of an element based + * + * @method restoreIdAndClasses + * @static + * @param {DOMElement} toEl Valid DOM Element to set the id and classes on. + * @param {Object} inObj Object where the id and classes to be set are. This method uses the same format as the one given in `storeIdAndClasses` + * @example + *
              + * + * + * + * + *
              + */ + restoreIdAndClasses: function(toEl, inObj) { + + if( !Common.isDOMElement(toEl) ){ + throw 'Please provide a valid DOMElement as first parameter'; + } + + if (inObj._id && toEl.id !== inObj._id) { + toEl.id = inObj._id; + } + + if (inObj._classes && toEl.className.indexOf(inObj._classes) === -1) { + if (toEl.className) { toEl.className += ' ' + inObj._classes; } + else { toEl.className = inObj._classes; } + } + + if (inObj._instanceId && !toEl.getAttribute('data-instance')) { + toEl.setAttribute('data-instance', inObj._instanceId); + } + }, + + _warnDoubleInstantiation: function (elm, newInstance) { + var instances = Common.getInstance(elm); + + if (getName(newInstance) === '') { return; } + if (!instances) { return; } + + var nameWithoutVersion = getName(newInstance); + + if (!nameWithoutVersion) { return; } + + for (var i = 0, len = instances.length; i < len; i++) { + if (nameWithoutVersion === getName(instances[i])) { + // Yes, I am using + to concatenate and , to split + // arguments. + // + // Elements can't be concatenated with strings, but if + // they are passed in an argument, modern debuggers will + // pretty-print them and make it easy to find them in the + // element inspector. + // + // On the other hand, if strings are passed as different + // arguments, they get pretty printed. And the pretty + // print of a string has quotes around it. + // + // If some day people find out that strings are not + // just text and they start preserving contextual + // information, then by all means change this to a + // regular concatenation. + // + // But they won't. So don't change this. + Ink.warn('Creating more than one ' + nameWithoutVersion + '.', + '(Was creating a ' + nameWithoutVersion + ' on:', elm, ').'); + return false; + } + } + + function getName(thing) { + return ((thing.constructor && (thing.constructor._name)) || + thing._name || + '').replace(/_.*?$/, ''); + } + + return true; + }, + + /** + * Saves a component's instance reference for later retrieval. + * + * @method registerInstance + * @static + * @param {Object} inst Object that holds the instance. + * @param {DOMElement} el DOM Element to associate with the object. + */ + registerInstance: function(inst, el) { + if (!inst) { return; } + + if (!Common.isDOMElement(el)) { throw new TypeError('Ink.UI.Common.registerInstance: The element passed in is not a DOM element!'); } + + // [todo] this belongs in the BaseUIComponent's initialization + if (Common._warnDoubleInstantiation(el, inst) === false) { + return false; + } + + var instances = domRegistry.get(el); + + if (!instances) { + instances = []; + domRegistry.set(el, instances); + } + + instances.push(inst); + + return true; + }, + + /** + * Deletes an instance with a given id. + * + * @method unregisterInstance + * @static + * @param {String} id Id of the instance to be destroyed. + */ + unregisterInstance: function(inst) { + if (!inst || !inst._element) { return; } + var instances = domRegistry.get(inst._element); + for (var i = 0, len = instances.length; i < len; i++) { + if (instances[i] === inst) { + instances.splice(i, 1); + } + } + }, + + /** + * Gets an UI instance from an element or instance id. + * + * @method getInstance + * @static + * @param {String|DOMElement} el DOM Element from which we want the instances. + * @return {Object|Array} Returns an instance or a collection of instances. + */ + getInstance: function(el, UIComponent) { + el = Common.elOrSelector(el); + var instances = domRegistry.get(el); + + if (!instances) { + instances = []; + } + + if (typeof UIComponent !== 'function') { + return instances; + } + + for (var i = 0, len = instances.length; i < len; i++) { + if (instances[i] instanceof UIComponent) { + return instances[i]; + } + } + + return null; + }, + + /** + * Gets an instance based on a selector. + * + * @method getInstanceFromSelector + * @static + * @param {String} selector CSS selector to get the instances from. + * @return {Object|Array} Returns an instance or a collection of instances. + */ + getInstanceFromSelector: function(selector) { + return Common.getInstance(Common.elOrSelector(selector)); + }, + + /** + * Gets all the instance ids + * + * @method getInstanceIds + * @static + * @return {Array} Collection of instance ids + */ + getInstanceIds: function() { + var res = []; + for (var id in instances) { + if (instances.hasOwnProperty(id)) { + res.push( id ); + } + } + return res; + }, + + /** + * Gets all the instances + * + * @method getInstances + * @static + * @return {Array} Collection of existing instances. + */ + getInstances: function() { + var res = []; + for (var id in instances) { + if (instances.hasOwnProperty(id)) { + res.push( instances[id] ); + } + } + return res; + }, + + /** + * Boilerplate method to destroy a component. + * Components should copy this method as its destroy method and modify it. + * + * @method destroyComponent + * @static + */ + destroyComponent: function() { + Common.unregisterInstance(this); + this._element.parentNode.removeChild(this._element); + } + + }; + + + + + /** + * Ink UI Base Class + **/ + + function warnStub() { + /* jshint validthis: true */ + if (!this || this === window || typeof this.constructor !== 'function') { return; } + Ink.warn('You called a method on an incorrectly instantiated ' + this.constructor._name + ' component. Check the warnings above to see what went wrong.'); + } + + function stub(prototype, obj) { + for (var k in prototype) if (prototype.hasOwnProperty(k)) { + if (k === 'constructor') { continue; } + if (typeof obj[k] === 'function') { + obj[k] = warnStub; + } + } + } + + /** + * Ink UI Base Class + * + * You don't use this class directly, or inherit from it directly. + * + * See createUIComponent() (in this module) for how to create a UI component and inherit from this. It's not plain old JS inheritance, for several reasons. + * + * @class Ink.UI.Common.BaseUIComponent + * @constructor + * + * @param element + * @param options + **/ + function BaseUIComponent(element, options) { + var constructor = this.constructor; + var _name = constructor._name; + + if (!this || this === window) { + throw new Error('Use "new InkComponent()" instead of "InkComponent()"'); + } + + if (this && !(this instanceof BaseUIComponent)) { + throw new Error('You forgot to call Ink.UI.Common.createUIComponent() on this module!'); + } + + if (!element && !constructor._componentOptions.elementIsOptional) { + Ink.error(new Error(_name + ': You need to pass an element or a selector as the first argument to "new ' + _name + '()"')); + return; + } else { + this._element = Common.elsOrSelector(element, + _name + ': An element with the selector "' + element + '" was not found!')[0]; + } + + if (!this._element && !constructor._componentOptions.elementIsOptional) { + isValidInstance = false; + Ink.error(new Error(element + ' does not match an element on the page. You need to pass a valid selector to "new ' + _name + '".')); + } + + // TODO Change Common.options's signature? the below looks better, more manageable + // var options = Common.options({ + // element: this._element, + // modName: constructor._name, + // options: constructor._optionDefinition, + // defaults: constructor._globalDefaults + // }); + + this._options = Common.options(_name, constructor._optionDefinition, options, this._element); + + var isValidInstance = BaseUIComponent._validateInstance(this) === true; + + if (isValidInstance && typeof this._init === 'function') { + try { + this._init.apply(this, arguments); + } catch(e) { + isValidInstance = false; + Ink.error(e); + } + } + + if (!isValidInstance) { + BaseUIComponent._stubInstance(this, constructor, _name); + } else if (this._element) { + Common.registerInstance(this, this._element); + } + } + + /** + * Calls the `instance`'s _validate() method so it can validate itself. + * + * Returns false if the method exists, was called, but no Error was returned or thrown. + * + * @method _validateInstance + * @private + */ + BaseUIComponent._validateInstance = function (instance) { + var err; + + if (typeof instance._validate !== 'function') { return true; } + + try { + err = instance._validate(); + } catch (e) { + err = e; + } + + if (err instanceof Error) { + instance._validationError = err; + return false; + } + + return true; + }; + + + /** + * Replaces every method in the instance with stub functions which just call Ink.warn(). + * + * This avoids breaking the page when there are errors. + * + * @method _stubInstance + * @param instance + * @param constructor + * @param name + * @private + */ + BaseUIComponent._stubInstance = function (instance, constructor, name) { + stub(constructor.prototype, instance); + stub(BaseUIComponent.prototype, instance); + Ink.warn(name + ' was not correctly created. ' + (instance._validationError || '')); + }; + + // TODO BaseUIComponent.setGlobalOptions = function () {} + // TODO BaseUIComponent.createMany = function (selector) {} + BaseUIComponent.getInstance = function (elOrSelector) { + elOrSelector = Common.elOrSelector(elOrSelector); + return Common.getInstance(elOrSelector, this /* get instance by constructor */); + }; + + Ink.extendObj(BaseUIComponent.prototype, { + /** + * Get an UI component's option's value. + * + * @method getOption + * @param name + * + * @return The option value, or undefined if nothing is found. + * + * @example + * + * var myUIComponent = new Modal('#element', { trigger: '#trigger' }); // or anything else inheriting BaseUIComponent + * myUIComponent.getOption('trigger'); // -> The trigger element (not the selector string, mind you) + * + **/ + getOption: function (name) { + if (this.constructor && !(name in this.constructor._optionDefinition)) { + Ink.error('"' + name + '" is not an option for ' + this.constructor._name); + return undefined; + } + + return this._options[name]; + }, + + /** + * Sets an option's value + * + * @method getOption + * @param name + * @param value + * + * @example + * + * var myUIComponent = new Modal(...); + * myUIComponent.setOption('trigger', '#some-element'); + **/ + setOption: function (name, value) { + if (this.constructor && !(name in this.constructor._optionDefinition)) { + Ink.error('"' + name + ' is not an option for ' + this.constructor._name); + return; + } + + this._options[name] = value; + }, + + /** + * Get the element associated with an UI component (IE the one you used in the constructor) + * + * @method getElement + * @return {Element} The component's element. + * + * @example + * var myUIComponent = new Modal('#element'); // or anything else inheriting BaseUIComponent + * myUIComponent.getElement(); // -> The '#element' (not the selector string, mind you). + * + **/ + getElement: function () { + return this._element; + } + }); + + Common.BaseUIComponent = BaseUIComponent; + + /** + * @method createUIComponent + * @param theConstructor UI component constructor. It should have an _init function in its prototype, an _optionDefinition object, and a _name property indicating its name. + * @param options + * @param [options.elementIsOptional=false] Whether the element argument is optional (For example, when the component might work on existing markup or create its own). + **/ + Common.createUIComponent = function createUIComponent(theConstructor, options) { + theConstructor._componentOptions = options || {}; + + function assert(test, msg) { + if (!test) { + throw new Error('Ink.UI_1.createUIComponent: ' + msg); + } + } + + function assertProp(prop, propType, message) { + var propVal = theConstructor[prop]; + // Check that the property was passed + assert(typeof propVal !== 'undefined', + theConstructor + ' doesn\'t have a "' + prop + '" property. ' + message); + // Check that its type is correct + assert(propType && typeof propVal === propType, + 'typeof ' + theConstructor + '.' + prop + ' is not "' + propType + '". ' + message); + } + + assert(typeof theConstructor === 'function', + 'constructor argument is not a function!'); + + assertProp('_name', 'string', 'This property is used for error ' + + 'messages. Set it to the full module path and version (Ink.My.Module_1).'); + assertProp('_optionDefinition', 'object', 'This property contains the ' + + 'option names, types and defaults. See Ink.UI.Common.options() for reference.'); + + // Extend the instance methods and props + var _oldProto = theConstructor.prototype; + + if (typeof Object.create === 'function') { + theConstructor.prototype = Object.create(BaseUIComponent.prototype); + } else { + theConstructor.prototype = (function hideF() { + function F() {} + F.prototype = BaseUIComponent.prototype; + return new F(); + }()); + } + + Ink.extendObj(theConstructor.prototype, _oldProto); + theConstructor.prototype.constructor = theConstructor; + // Extend static methods + Ink.extendObj(theConstructor, BaseUIComponent); + }; + + return Common; + +}); diff --git a/public/js/ink.datepicker.js b/public/js/ink.datepicker.js new file mode 100644 index 0000000..595be5d --- /dev/null +++ b/public/js/ink.datepicker.js @@ -0,0 +1,1453 @@ +/** + * Date selector + * @module Ink.UI.DatePicker_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.DatePicker', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1','Ink.Util.Date_1', 'Ink.Dom.Browser_1'], function(Common, Event, Css, InkElement, Selector, InkArray, InkDate ) { + 'use strict'; + + // Clamp a number into a min/max limit + function clamp(n, min, max) { + if (n > max) { n = max; } + if (n < min) { n = min; } + + return n; + } + + function dateishFromYMDString(YMD) { + var split = YMD.split('-'); + return dateishFromYMD(+split[0], +split[1] - 1, +split[2]); + } + + function dateishFromYMD(year, month, day) { + return {_year: year, _month: month, _day: day}; + } + + function dateishFromDate(date) { + return {_year: date.getFullYear(), _month: date.getMonth(), _day: date.getDate()}; + } + + /** + * @class Ink.UI.DatePicker + * @constructor + * @version 1 + * + * @param {String|DOMElement} selector + * @param {Object} [options] Options + * @param {Boolean} [options.autoOpen] Flag to automatically open the datepicker. + * @param {String} [options.cleanText] Text for the clean button. Defaults to 'Clear'. + * @param {String} [options.closeText] Text for the close button. Defaults to 'Close'. + * @param {String} [options.cssClass] CSS class to be applied on the datepicker + * @param {String|DOMElement} [options.pickerField] (if not using in an input[type="text"]) Element which displays the DatePicker when clicked. Defaults to an "open" link. + * @param {String} [options.dateRange] Enforce limits to year, month and day for the Date, ex: '1990-08-25:2020-11' + * @param {Boolean} [options.displayInSelect] Flag to display the component in a select element. + * @param {String|DOMElement} [options.dayField] (if using options.displayInSelect) `select` field with days. + * @param {String|DOMElement} [options.monthField] (if using options.displayInSelect) `select` field with months. + * @param {String|DOMElement} [options.yearField] (if using options.displayInSelect) `select` field with years. + * @param {String} [options.format] Date format string + * @param {Object} [options.month] Hash of month names. Defaults to portuguese month names. January is 1. + * @param {String} [options.nextLinkText] Text for the previous button. Defaults to '«'. + * @param {String} [options.ofText] Text to show between month and year. Defaults to ' of '. + * @param {Boolean} [options.onFocus] If the datepicker should open when the target element is focused. Defaults to true. + * @param {Function} [options.onMonthSelected] Callback to execute when the month is selected. + * @param {Function} [options.onSetDate] Callback to execute when the date is set. + * @param {Function} [options.onYearSelected] Callback to execute when the year is selected. + * @param {String} [options.position] Position for the datepicker. Either 'right' or 'bottom'. Defaults to 'right'. + * @param {String} [options.prevLinkText] Text for the previous button. Defaults to '«'. + * @param {Boolean} [options.showClean] If the clean button should be visible. Defaults to true. + * @param {Boolean} [options.showClose] If the close button should be visible. Defaults to true. + * @param {Boolean} [options.shy] If the datepicker should start automatically. Defaults to true. + * @param {String} [options.startDate] Date to define initial month. Must be in yyyy-mm-dd format. + * @param {Number} [options.startWeekDay] First day of the week. Sunday is zero. Defaults to 1 (Monday). + * @param {Function} [options.validYearFn] Callback to execute when 'rendering' the month (in the month view) + * @param {Function} [options.validMonthFn] Callback to execute when 'rendering' the month (in the month view) + * @param {Function} [options.validDayFn] Callback to execute when 'rendering' the day (in the month view) + * @param {Function} [options.nextValidDateFn] Function to calculate the next valid date, given the current. Useful when there's invalid dates or time frames. + * @param {Function} [options.prevValidDateFn] Function to calculate the previous valid date, given the current. Useful when there's invalid dates or time frames. + * @param {Object} [options.wDay] Hash of week day names. Sunday is 0. Defaults to { 0:'Sunday', 1:'Monday', etc... + * @param {String} [options.yearRange] Enforce limits to year for the Date, ex: '1990:2020' (deprecated) + * + * @sample Ink_UI_DatePicker_1.html + */ + var DatePicker = function() { + Common.BaseUIComponent.apply(this, arguments); + }; + + DatePicker._name = 'DatePicker_1'; + + DatePicker._optionDefinition = { + autoOpen: ['Boolean', false], + cleanText: ['String', 'Clear'], + closeText: ['String', 'Close'], + pickerField: ['Element', null], + containerElement:['Element', null], + cssClass: ['String', 'ink-calendar bottom'], + dateRange: ['String', null], + + // use this in a "; + var type = typeof div.lastChild.getAttribute("multiple"); + // IE8 returns a string for some attributes even when not present + return type !== "boolean" && type !== "string"; + }); + + // Check if getElementsByClassName can be trusted + support.getElementsByClassName = assert(function( div ) { + // Opera can't find a second classname (in 9.6) + div.innerHTML = ""; + if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { + return false; + } + + // Safari 3.2 caches class attributes and doesn't catch changes + div.lastChild.className = "e"; + return div.getElementsByClassName("e").length === 2; + }); + + // Check if getElementsByName privileges form controls or returns elements by ID + // If so, assume (for broader support) that getElementById returns elements by name + support.getByName = assert(function( div ) { + // Inject content + div.id = expando + 0; + // Support: Windows 8 Native Apps + // Assigning innerHTML with "name" attributes throws uncatchable exceptions + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx + div.appendChild( document.createElement("a") ).setAttribute( "name", expando ); + div.appendChild( document.createElement("i") ).setAttribute( "name", expando ); + docElem.appendChild( div ); + + // Test + var pass = doc.getElementsByName && + // buggy browsers will return fewer than the correct 2 + doc.getElementsByName( expando ).length === 2 + + // buggy browsers will return more than the correct 0 + doc.getElementsByName( expando + 0 ).length; + + // Cleanup + docElem.removeChild( div ); + + return pass; + }); + + // Support: Webkit<537.32 + // Detached nodes confoundingly follow *each other* + support.sortDetached = assert(function( div1 ) { + return div1.compareDocumentPosition && + // Should return 1, but Webkit returns 4 (following) + (div1.compareDocumentPosition( document.createElement("div") ) & 1); + }); + + // IE6/7 return modified attributes + Expr.attrHandle = assert(function( div ) { + div.innerHTML = ""; + return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && + div.firstChild.getAttribute("href") === "#"; + }) ? + {} : + { + "href": function( elem ) { + return elem.getAttribute( "href", 2 ); + }, + "type": function( elem ) { + return elem.getAttribute("type"); + } + }; + + // ID find and filter + if ( support.getByName ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + + return m ? + m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? + [m] : + undefined : + []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Name + Expr.find["NAME"] = support.getByName && function( tag, context ) { + if ( typeof context.getElementsByName !== strundefined ) { + return context.getElementsByName( name ); + } + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21), + // no need to also add to buggyMatches since matches checks buggyQSA + // A support test would require too much code (would include document ready) + rbuggyQSA = [ ":focus" ]; + + if ( (support.qsa = isNative(doc.querySelectorAll)) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // IE8 - Some boolean attributes are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Opera 10-12/IE8 - ^= $= *= and empty values + // Should not select anything + div.innerHTML = ""; + if ( div.querySelectorAll("[i^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = isNative( (matches = docElem.matchesSelector || + docElem.mozMatchesSelector || + docElem.webkitMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = isNative(docElem.contains) || docElem.compareDocumentPosition ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + // Document order sorting + sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b ); + + if ( compare ) { + // Disconnected nodes + if ( compare & 1 || + (recompare && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === doc || contains(preferredDoc, a) ) { + return -1; + } + if ( b === doc || contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } + + // Not directly comparable, sort on existence of method + return a.compareDocumentPosition ? -1 : 1; + } : + function( a, b ) { + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Parentless nodes are either documents or disconnected + } else if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + // rbuggyQSA always contains :focus, so no need for an existence check + if ( support.matchesSelector && documentIsHTML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && !rbuggyQSA.test(expr) ) { + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [elem] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + var val; + + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( documentIsHTML ) { + name = name.toLowerCase(); + } + if ( (val = Expr.attrHandle[ name ]) ) { + return val( elem ); + } + if ( !documentIsHTML || support.attributes ) { + return elem.getAttribute( name ); + } + return ( (val = elem.getAttributeNode( name )) || elem.getAttribute( name ) ) && elem[ name ] === true ? + name : + val && val.specified ? val.value : null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +// Document sorting and removing duplicates +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + // Compensate for sort limitations + recompare = !support.sortDetached; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + return results; +}; + +/* + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns Returns -1 if a precedes b, 1 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +// Returns a function to use in pseudos for input types +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +// Returns a function to use in pseudos for buttons +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +// Returns a function to use in pseudos for positionals +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/* + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[5] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[4] ) { + match[2] = match[4]; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeName ) { + if ( nodeName === "*" ) { + return function() { return true; }; + } + + nodeName = nodeName.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push( { + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var data, cache, outerCache, + dirkey = dirruns + " " + doneName; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { + if ( (data = cache[1]) === true || data === cachedruns ) { + return data === true; + } + } else { + cache = outerCache[ dir ] = [ dirkey ]; + cache[1] = matcher( elem, context, xml ) || cachedruns; + if ( cache[1] === true ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( tokens.slice( 0, i - 1 ) ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + // A counter to specify which element is currently being matched + var matcherCachedRuns = 0, + bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = matcherCachedRuns; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++matcherCachedRuns; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function select( selector, context, results, seed ) { + var i, tokens, token, type, find, + match = tokenize( selector ); + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && context.parentNode || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + !documentIsHTML, + results, + rsibling.test( selector ) + ); + return results; +} + +// Deprecated +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +// Check sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Initialize with the default document +setDocument(); + +// Always assume the presence of duplicates if sort doesn't +// pass them to our comparison function (as in Google Chrome). +[0, 0].sort( sortOrder ); +support.detectDuplicates = hasDuplicate; + +// EXPOSE +/*if ( typeof define === "function" && define.amd ) { + define(function() { return Sizzle; }); +} else { + window.Sizzle = Sizzle; +}*/ +// EXPOSE + +/** + * @namespace Ink.Dom.Selector + * @static + */ + +/** + * Alias for the Sizzle selector engine + * + * @method select + * @param {String} selector CSS selector to search for elements + * @param {DOMElement} [context] By default the search is done in the document element. However, you can specify an element as search context + * @param {Array} [results] By default this is considered an empty array. But if you want to merge it with other searches you did, pass their result array through here. + * @return {Array} Array of resulting DOM Elements + * @sample Ink_Dom_Selector_select.html + */ + +/** + * Filters elements that match a CSS selector. + * + * @method matches + * @param {String} selector CSS selector to search for elements + * @param {Array} matches Elements to be 'matched' with + * @return {Array} Elements that matched + * @sample Ink_Dom_Selector_matches.html + */ + +/** + * Checks if an element matches a given selector + * + * @method matchesSelector + * @param {DOMElement} element Element to test + * @param {String} selector CSS selector to test the element with + * @return {Boolean} True if element matches the CSS selector + * @sample Ink_Dom_Selector_matchesSelector.html + */ + +return { + select: Sizzle, + matches: Sizzle.matches, + matchesSelector: Sizzle.matchesSelector +}; + + +}); //( window ); + +/** + * Array Utilities + * @module Ink.Util.Array_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Array', '1', [], function() { + + 'use strict'; + + var arrayProto = Array.prototype; + + /** + * @namespace Ink.Util.Array_1 + */ + + var InkArray = { + + /** + * Checks if a value is an array + * + * @method isArray + * @param testedObject {Mixed} The object we want to check + **/ + isArray: Array.isArray || function (testedObject) { + return {}.toString.call(testedObject) === '[object Array]'; + }, + + /** + * Loops through an array, grouping similar items together. + * @method groupBy + * @param arr {Array} The input array. + * @param [options] {Object} options object, containing: + * @param [options.key] {Function} A function which computes the group key by which the items are grouped. + * @param [options.pairs] {Boolean} Set to `true` if you want to output an array of `[key, [group...]]` pairs instead of an array of groups. + * @return {Array} An array of arrays of chunks. + * + * @example + * + * InkArray.groupBy([1, 1, 2, 2, 3, 1]) // -> [ [1, 1], [2, 2], [3], [1] ] + * InkArray.groupBy([1.1, 1.2, 2.1], { key: Math.floor }) // -> [ [1.1, 1.2], [2.1] ] + * InkArray.groupBy([1.1, 1.2, 2.1], { key: Math.floor, pairs: true }) // -> [ [1, [1.1, 1.2]], [2, [2.1]] ] + * + **/ + groupBy: function (arr, options) { + options = options || {}; + var ret = []; + var latestGroup; + function eq(a, b) { + return outKey(a) === outKey(b); + } + function outKey(item) { + if (typeof options.key === 'function') { + return options.key(item); + } else { + return item; + } + } + + for (var i = 0, len = arr.length; i < len; i++) { + latestGroup = [arr[i]]; + + // Chunkin' + while ((i + 1 < len) && eq(arr[i], arr[i + 1])) { + latestGroup.push(arr[i + 1]); + i++; + } + + if (options.pairs) { + ret.push([outKey(arr[i]), latestGroup]); + } else { + ret.push(latestGroup); + } + } + return ret; + }, + + /** + * Replacement for Array.prototype.reduce. + * + * Produces a single result from a list of values by calling an "aggregator" function. + * + * Falls back to Array.prototype.reduce if available. + * + * @method reduce + * @param array {Array} Input array to be reduced. + * @param callback {Function} `function (previousValue, currentValue, index, all) { return {Mixed} }` to execute for each value. + * @param initial {Mixed} Object used as the first argument to the first call of `callback` + * + * @example + * var sum = InkArray.reduce([1, 2, 3], function (a, b) { return a + b; }); // -> 6 + */ + reduce: function (array, callback, initial) { + if (arrayProto.reduce) { + return arrayProto.reduce.apply(array, [].slice.call(arguments, 1)); + } + + // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce#Polyfill + var t = Object( array ), len = t.length >>> 0, k = 0, value; + if ( arguments.length >= 3 ) { + value = initial; + } else { + while ( k < len && !(k in t) ) k++; + if ( k >= len ) + throw new TypeError('Reduce of empty array with no initial value'); + value = t[ k++ ]; + } + for ( ; k < len ; k++ ) { + if ( k in t ) { + value = callback( value, t[k], k, t ); + } + } + return value; + }, + + /** + * Checks if a value exists in array + * + * @method inArray + * @public + * @static + * @param {Mixed} value Value to check + * @param {Array} arr Array to search in + * @return {Boolean} True if value exists in the array + * @sample Ink_Util_Array_inArray.html + */ + inArray: function(value, arr) { + if (typeof arr === 'object') { + for (var i = 0, f = arr.length; i < f; ++i) { + if (arr[i] === value) { + return true; + } + } + } + return false; + }, + + /** + * Sorts an array of objects by an object property + * + * @method sortMulti + * @param {Array} arr Array of objects to sort + * @param {String} key Property to sort by + * @return {Array|Boolean} False if it's not an array, returns a sorted array if it's an array. + * @public + * @static + * @sample Ink_Util_Array_sortMulti.html + */ + sortMulti: function(arr, key) { + if (typeof arr === 'undefined' || arr.constructor !== Array) { return false; } + if (typeof key !== 'string') { return arr.sort(); } + if (arr.length > 0) { + if (typeof(arr[0][key]) === 'undefined') { return false; } + arr.sort(function(a, b){ + var x = a[key]; + var y = b[key]; + return ((x < y) ? -1 : ((x > y) ? 1 : 0)); + }); + } + return arr; + }, + + /** + * Gets the indexes of a value in an array + * + * @method keyValue + * @param {String} value Value to search for. + * @param {Array} arr Array to run the search in. + * @param {Boolean} [first] Flag to stop the search at the first match. It also returns an index number instead of an array of indexes. + * @return {Boolean|Number|Array} False for no matches. Array of matches or first match index. + * @public + * @static + * @sample Ink_Util_Array_keyValue.html + */ + keyValue: function(value, arr, first) { + if (typeof value !== 'undefined' && typeof arr === 'object' && this.inArray(value, arr)) { + var aKeys = []; + for (var i = 0, f = arr.length; i < f; ++i) { + if (arr[i] === value) { + if (typeof first !== 'undefined' && first === true) { + return i; + } else { + aKeys.push(i); + } + } + } + return aKeys; + } + return false; + }, + + /** + * Shuffles an array. + * + * @method shuffle + * @param {Array} arr Array to shuffle + * @return {Array|Boolean} Shuffled Array or false if not an array. + * @public + * @static + * @sample Ink_Util_Array_shuffle.html + */ + shuffle: function(arr) { + if (typeof(arr) !== 'undefined' && arr.constructor !== Array) { return false; } + var total = arr.length, + tmp1 = false, + rnd = false; + + while (total--) { + rnd = Math.floor(Math.random() * (total + 1)); + tmp1 = arr[total]; + arr[total] = arr[rnd]; + arr[rnd] = tmp1; + } + return arr; + }, + + /** + * Runs a function through each of the elements of an array + * + * @method forEach + * @param {Array} arr The array to be cycled/iterated + * @param {Function} cb The function receives as arguments the value, index and array. + * @return {Array} Iterated array. + * @public + * @static + * @sample Ink_Util_Array_forEach.html + */ + forEach: function(array, callback, context) { + if (arrayProto.forEach) { + return arrayProto.forEach.call(array, callback, context); + } + for (var i = 0, len = array.length >>> 0; i < len; i++) { + callback.call(context, array[i], i, array); + } + }, + + /** + * Alias for backwards compatibility. See forEach + * + * @method each + */ + each: function () { + InkArray.forEach.apply(InkArray, [].slice.call(arguments)); + }, + + /** + * Runs a function for each item in the array. + * That function will receive each item as an argument and its return value will change the corresponding array item. + * @method map + * @param {Array} array The array to map over + * @param {Function} map The map function. Will take `(item, index, array)` as arguments and `this` will be the `context` argument. + * @param {Object} [context] Object to be `this` in the map function. + * + * @sample Ink_Util_Array_map.html + */ + map: function (array, callback, context) { + if (arrayProto.map) { + return arrayProto.map.call(array, callback, context); + } + var mapped = new Array(len); + for (var i = 0, len = array.length >>> 0; i < len; i++) { + mapped[i] = callback.call(context, array[i], i, array); + } + return mapped; + }, + + /** + * Filters an array based on a truth test. + * This method runs a test function on all the array values and returns a new array with all the values that pass the test. + * @method filter + * @param {Array} array The array to filter + * @param {Function} test A test function taking `(item, index, array)` + * @param {Object} [context] Object to be `this` in the test function. + * @return {Array} Returns the filtered array + * + * @sample Ink_Util_Array_filter.html + */ + filter: function (array, test, context) { + if (arrayProto.filter) { + return arrayProto.filter.call(array, test, context); + } + var filtered = [], + val = null; + for (var i = 0, len = array.length; i < len; i++) { + val = array[i]; // it might be mutated + if (test.call(context, val, i, array)) { + filtered.push(val); + } + } + return filtered; + }, + + /** + * Checks if some element in the array passes a truth test + * + * @method some + * @param {Array} arr The array to iterate through + * @param {Function} cb The callback to be called on the array's elements. It receives the value, the index and the array as arguments. + * @param {Object} context Object of the callback function + * @return {Boolean} True if the callback returns true at any point, false otherwise + * @public + * @static + * @sample Ink_Util_Array_some.html + */ + some: function(arr, cb, context){ + + if (arr === null){ + throw new TypeError('First argument is invalid.'); + } + + var t = Object(arr); + var len = t.length >>> 0; + if (typeof cb !== "function"){ throw new TypeError('Second argument must be a function.'); } + + for (var i = 0; i < len; i++) { + if (i in t && cb.call(context, t[i], i, t)){ return true; } + } + + return false; + }, + + /** + * Compares the values of two arrays and return the matches + * + * @method intersect + * @param {Array} arr1 First array + * @param {Array} arr2 Second array + * @return {Array} Empty array if one of the arrays is false (or do not intersect) | Array with the intersected values + * @public + * @static + * @sample Ink_Util_Array_intersect.html + */ + intersect: function(arr1, arr2) { + if (!arr1 || !arr2 || arr1 instanceof Array === false || arr2 instanceof Array === false) { + return []; + } + + var shared = []; + for (var i = 0, I = arr1.length; i 0) { + for (x = a; x < b; x += step) { + r.push(x); + } + } else { + for (x = a; x > b; x += step) { + r.push(x); + } + } + + return r; + }, + + /** + * Inserts a value on a specified index + * + * @method insert + * @param {Array} arr Array where the value will be inserted + * @param {Number} idx Index of the array where the value should be inserted + * @param {Mixed} value Value to be inserted + * @public + * @static + * @sample Ink_Util_Array_insert.html + */ + insert: function(arr, idx, value) { + arr.splice(idx, 0, value); + }, + + /** + * Removes a range of values from the array + * + * @method remove + * @param {Array} arr Array where the value will be removed + * @param {Number} from Index of the array where the removal will start removing. + * @param {Number} rLen Number of items to be removed from the index onwards. + * @return {Array} An array with the remaining values + * @public + * @static + * @sample Ink_Util_Array_remove.html + */ + remove: function(arr, from, rLen){ + var output = []; + + for(var i = 0, iLen = arr.length; i < iLen; i++){ + if(i >= from && i < from + rLen){ + continue; + } + + output.push(arr[i]); + } + + return output; + } + }; + + return InkArray; + +}); + +/** + * Binary Packing algorithm implementation + * @module Ink.Util.BinPack_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.BinPack', '1', [], function() { + + 'use strict'; + + /*jshint boss:true */ + + // https://github.com/jakesgordon/bin-packing/ + + /* + Copyright (c) 2011, 2012, 2013 Jake Gordon and contributors + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + */ + + + + var Packer = function(w, h) { + this.init(w, h); + }; + + Packer.prototype = { + + init: function(w, h) { + this.root = { x: 0, y: 0, w: w, h: h }; + }, + + fit: function(blocks) { + var n, node, block; + for (n = 0; n < blocks.length; ++n) { + block = blocks[n]; + if (node = this.findNode(this.root, block.w, block.h)) { + block.fit = this.splitNode(node, block.w, block.h); + } + } + }, + + findNode: function(root, w, h) { + if (root.used) { + return this.findNode(root.right, w, h) || this.findNode(root.down, w, h); + } + else if ((w <= root.w) && (h <= root.h)) { + return root; + } + else { + return null; + } + }, + + splitNode: function(node, w, h) { + node.used = true; + node.down = { x: node.x, y: node.y + h, w: node.w, h: node.h - h }; + node.right = { x: node.x + w, y: node.y, w: node.w - w, h: h }; + return node; + } + + }; + + + + var GrowingPacker = function() {}; + + GrowingPacker.prototype = { + + fit: function(blocks) { + var n, node, block, len = blocks.length; + var w = len > 0 ? blocks[0].w : 0; + var h = len > 0 ? blocks[0].h : 0; + this.root = { x: 0, y: 0, w: w, h: h }; + for (n = 0; n < len ; n++) { + block = blocks[n]; + if (node = this.findNode(this.root, block.w, block.h)) { + block.fit = this.splitNode(node, block.w, block.h); + } + else { + block.fit = this.growNode(block.w, block.h); + } + } + }, + + findNode: function(root, w, h) { + if (root.used) { + return this.findNode(root.right, w, h) || this.findNode(root.down, w, h); + } + else if ((w <= root.w) && (h <= root.h)) { + return root; + } + else { + return null; + } + }, + + splitNode: function(node, w, h) { + node.used = true; + node.down = { x: node.x, y: node.y + h, w: node.w, h: node.h - h }; + node.right = { x: node.x + w, y: node.y, w: node.w - w, h: h }; + return node; + }, + + growNode: function(w, h) { + var canGrowDown = (w <= this.root.w); + var canGrowRight = (h <= this.root.h); + + var shouldGrowRight = canGrowRight && (this.root.h >= (this.root.w + w)); // attempt to keep square-ish by growing right when height is much greater than width + var shouldGrowDown = canGrowDown && (this.root.w >= (this.root.h + h)); // attempt to keep square-ish by growing down when width is much greater than height + + if (shouldGrowRight) { + return this.growRight(w, h); + } + else if (shouldGrowDown) { + return this.growDown(w, h); + } + else if (canGrowRight) { + return this.growRight(w, h); + } + else if (canGrowDown) { + return this.growDown(w, h); + } + else { + return null; // need to ensure sensible root starting size to avoid this happening + } + }, + + growRight: function(w, h) { + this.root = { + used: true, + x: 0, + y: 0, + w: this.root.w + w, + h: this.root.h, + down: this.root, + right: { x: this.root.w, y: 0, w: w, h: this.root.h } + }; + var node; + if (node = this.findNode(this.root, w, h)) { + return this.splitNode(node, w, h); + } + else { + return null; + } + }, + + growDown: function(w, h) { + this.root = { + used: true, + x: 0, + y: 0, + w: this.root.w, + h: this.root.h + h, + down: { x: 0, y: this.root.h, w: this.root.w, h: h }, + right: this.root + }; + var node; + if (node = this.findNode(this.root, w, h)) { + return this.splitNode(node, w, h); + } + else { + return null; + } + } + + }; + + + + var sorts = { + random: function() { return Math.random() - 0.5; }, + w: function(a, b) { return b.w - a.w; }, + h: function(a, b) { return b.h - a.h; }, + a: function(a, b) { return b.area - a.area; }, + max: function(a, b) { return Math.max(b.w, b.h) - Math.max(a.w, a.h); }, + min: function(a, b) { return Math.min(b.w, b.h) - Math.min(a.w, a.h); }, + height: function(a, b) { return sorts.msort(a, b, ['h', 'w']); }, + width: function(a, b) { return sorts.msort(a, b, ['w', 'h']); }, + area: function(a, b) { return sorts.msort(a, b, ['a', 'h', 'w']); }, + maxside: function(a, b) { return sorts.msort(a, b, ['max', 'min', 'h', 'w']); }, + msort: function(a, b, criteria) { /* sort by multiple criteria */ + var diff, n; + for (n = 0; n < criteria.length; ++n) { + diff = sorts[ criteria[n] ](a, b); + if (diff !== 0) { + return diff; + } + } + return 0; + } + }; + + + + // end of Jake's code + + + + // aux, used to display blocks in unfitted property + var toString = function() { + return [this.w, ' x ', this.h].join(''); + }; + + + + /** + * Binary Packing algorithm implementation + * + * Based on the work of Jake Gordon + * + * see https://github.com/jakesgordon/bin-packing/ + * + * @namespace Ink.Util.BinPack + * @version 1 + * @static + */ + var BinPack = { + + /** + * @method binPack + * @param {Object} o Options + * @param {Array} o.blocks Array of items with width and height integer attributes. + * @param {Array} [o.dimensions] Flag to fix container dimensions + * @param {String} [o.sorter] Sorting function. One of: random, height, width, area, maxside + * @return {Object} Returns an object containing container dimensions, filled ratio, fitted blocks, unfitted blocks and all blocks + * @static + */ + binPack: function(o) { + var i, f, bl; + + + + // calculate area if not there already + for (i = 0, f = o.blocks.length; i < f; ++i) { + bl = o.blocks[i]; + if (! ('area' in bl) ) { + bl.area = bl.w * bl.h; + } + } + + + + // apply algorithm + var packer = o.dimensions ? new Packer(o.dimensions[0], o.dimensions[1]) : new GrowingPacker(); + + if (!o.sorter) { o.sorter = 'maxside'; } + + o.blocks.sort( sorts[ o.sorter ] ); + + packer.fit(o.blocks); + + var dims2 = [packer.root.w, packer.root.h]; + + + + // layout is done here, generating report data... + var fitted = []; + var unfitted = []; + + for (i = 0, f = o.blocks.length; i < f; ++i) { + bl = o.blocks[i]; + if (bl.fit) { + fitted.push(bl); + } + else { + bl.toString = toString; // TO AID SERIALIZATION + unfitted.push(bl); + } + } + + var area = dims2[0] * dims2[1]; + var fit = 0; + for (i = 0, f = fitted.length; i < f; ++i) { + bl = fitted[i]; + fit += bl.area; + } + + return { + dimensions: dims2, + filled: fit / area, + blocks: o.blocks, + fitted: fitted, + unfitted: unfitted + }; + } + }; + + + + return BinPack; + +}); +/** + * Cookie Utilities + * @module Ink.Util.Cookie_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Cookie', '1', [], function() { + + 'use strict'; + + /** + * @namespace Ink.Util.Cookie_1 + */ + var Cookie = { + + /** + * Gets an object with the current page cookies. + * + * @method get + * @param {String} name The cookie name. + * @return {String|Object} If the name is specified, it returns the value of that key. Otherwise it returns the full cookie object + * @public + * @static + * @sample Ink_Util_Cookie_get.html + */ + get: function(name) + { + var cookie = document.cookie || false; + + var _Cookie = {}; + if(cookie) { + cookie = cookie.replace(new RegExp("; ", "g"), ';'); + var aCookie = cookie.split(';'); + var aItem = []; + if(aCookie.length > 0) { + for(var i=0; i < aCookie.length; i++) { + aItem = aCookie[i].split('='); + if(aItem.length === 2) { + _Cookie[aItem[0]] = decodeURIComponent(aItem[1]); + } + aItem = []; + } + } + } + if(name) { + if(typeof(_Cookie[name]) !== 'undefined') { + return _Cookie[name]; + } else { + return null; + } + } + return _Cookie; + }, + + /** + * Sets a cookie. + * + * @method set + * @param {String} name Cookie name. + * @param {String} value Cookie value. + * @param {Number} [expires] Number of seconds the cookie will be valid for. + * @param {String} [path] Path for the cookie. Defaults to '/'. + * @param {String} [domain] Domain for the cookie. Defaults to current hostname. + * @param {Boolean} [secure] Flag for secure. Default 'false'. + * @public + * @static + * @sample Ink_Util_Cookie_set.html + */ + set: function(name, value, expires, path, domain, secure) + { + var sName; + if(!name || value===false || typeof(name) === 'undefined' || typeof(value) === 'undefined') { + return false; + } else { + sName = name+'='+encodeURIComponent(value); + } + var sExpires = false; + var sPath = false; + var sDomain = false; + var sSecure = false; + + if(expires && typeof(expires) !== 'undefined' && !isNaN(expires)) { + var oDate = new Date(); + var sDate = (parseInt(Number(oDate.valueOf()), 10) + (Number(parseInt(expires, 10)) * 1000)); + + var nDate = new Date(sDate); + var expiresString = nDate.toGMTString(); + + var re = new RegExp("([^\\s]+)(\\s\\d\\d)\\s(\\w\\w\\w)\\s(.*)"); + expiresString = expiresString.replace(re, "$1$2-$3-$4"); + + sExpires = 'expires='+expiresString; + } else { + if(typeof(expires) !== 'undefined' && !isNaN(expires) && Number(parseInt(expires, 10))===0) { + sExpires = ''; + } else { + sExpires = 'expires=Thu, 01-Jan-2037 00:00:01 GMT'; + } + } + + if(path && typeof(path) !== 'undefined') { + sPath = 'path='+path; + } else { + sPath = 'path=/'; + } + + if(domain && typeof(domain) !== 'undefined') { + sDomain = 'domain='+domain; + } else { + var portClean = new RegExp(":(.*)"); + sDomain = 'domain='+window.location.host; + sDomain = sDomain.replace(portClean,""); + } + + if(secure && typeof(secure) !== 'undefined') { + sSecure = secure; + } else { + sSecure = false; + } + + document.cookie = sName+'; '+sExpires+'; '+sPath+'; '+sDomain+'; '+sSecure; + }, + + /** + * Deletes a cookie. + * + * @method remove + * @param {String} cookieName Cookie name. + * @param {String} [path] Path of the cookie. Defaults to '/'. + * @param {String} [domain] Domain of the cookie. Defaults to current hostname. + * @public + * @static + * @sample Ink_Util_Cookie_remove.html + */ + remove: function(cookieName, path, domain) + { + //var expiresDate = 'Thu, 01-Jan-1970 00:00:01 GMT'; + var sPath = false; + var sDomain = false; + var expiresDate = -999999999; + + if(path && typeof(path) !== 'undefined') { + sPath = path; + } else { + sPath = '/'; + } + + if(domain && typeof(domain) !== 'undefined') { + sDomain = domain; + } else { + sDomain = window.location.host; + } + + this.set(cookieName, 'deleted', expiresDate, sPath, sDomain); + } + }; + + return Cookie; + +}); + +/** + * Date utility functions + * @module Ink.Util.Date_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Date', '1', [], function() { + + 'use strict'; + + /** + * @namespace Ink.Util.Date_1 + */ + var InkDate = { + + /** + * Function that returns the string representation of the month [PT only] + * + * @method _months + * @param {Number} index Month javascript (0 to 11) + * @return {String} The month's name + * @private + * @static + * @example + * console.log( InkDate._months(0) ); // Result: Janeiro + */ + _months: function(index){ + var _m = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']; + return _m[index]; + }, + + /** + * Function that returns the month [PT only] ( 0 to 11 ) + * + * @method _iMonth + * @param {String} month Month javascript (0 to 11) + * @return {Number} The month's number + * @private + * @static + * @example + * console.log( InkDate._iMonth('maio') ); // Result: 4 + */ + _iMonth : function( month ) + { + if ( Number( month ) ) { return +month - 1; } + return { + 'janeiro' : 0 , + 'jan' : 0 , + 'fevereiro' : 1 , + 'fev' : 1 , + 'março' : 2 , + 'mar' : 2 , + 'abril' : 3 , + 'abr' : 3 , + 'maio' : 4 , + 'mai' : 4 , + 'junho' : 5 , + 'jun' : 5 , + 'julho' : 6 , + 'jul' : 6 , + 'agosto' : 7 , + 'ago' : 7 , + 'setembro' : 8 , + 'set' : 8 , + 'outubro' : 9 , + 'out' : 9 , + 'novembro' : 10 , + 'nov' : 10 , + 'dezembro' : 11 , + 'dez' : 11 + }[ month.toLowerCase( ) ]; + } , + + /** + * Function that returns the representation the day of the week [PT Only] + * + * @method _wDays + * @param {Number} index Week's day index + * @return {String} The week's day name + * @private + * @static + * @example + * console.log( InkDate._wDays(0) ); // Result: Domingo + */ + _wDays: function(index){ + var _d = ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado']; + return _d[index]; + }, + + /** + * Function that returns day of the week in javascript 1 to 7 + * + * @method _iWeek + * @param {String} week Week's day name + * @return {Number} The week's day index + * @private + * @static + * @example + * console.log( InkDate._iWeek('quarta') ); // Result: 3 + */ + _iWeek: function( week ) + { + if ( Number( week ) ) { return +week || 7; } + return { + 'segunda' : 1 , + 'seg' : 1 , + 'terça' : 2 , + 'ter' : 2 , + 'quarta' : 3 , + 'qua' : 3 , + 'quinta' : 4 , + 'qui' : 4 , + 'sexta' : 5 , + 'sex' : 5 , + 'sábado' : 6 , + 'sáb' : 6 , + 'domingo' : 7 , + 'dom' : 7 + }[ week.toLowerCase( ) ]; + }, + + /** + * Function that returns the number of days of a given month (m) on a given year (y) + * + * @method _daysInMonth + * @param {Number} _m Month + * @param {Number} _y Year + * @return {Number} Number of days of a give month on a given year + * @private + * @static + * @example + * console.log( InkDate._daysInMonth(2,2013) ); // Result: 28 + */ + _daysInMonth: function(_m,_y){ + var nDays; + + if(_m===1 || _m===3 || _m===5 || _m===7 || _m===8 || _m===10 || _m===12) + { + nDays= 31; + } + else if ( _m===4 || _m===6 || _m===9 || _m===11) + { + nDays = 30; + } + else + { + if((_y%400===0) || (_y%4===0 && _y%100!==0)) + { + nDays = 29; + } + else + { + nDays = 28; + } + } + return nDays; + }, + + /** + * Formats a date object. + * This works exactly as php date() function. http://php.net/manual/en/function.date.php + * + * @method get + * @param {String} format The format in which the date it will be formatted. + * @param {Date} [_date] The date to format. Can receive unix timestamp or a date object. Defaults to current time. + * @return {String} Formatted date + * @public + * @static + * @sample Ink_Util_Date_get.html + */ + get: function(format, _date){ + /*jshint maxcomplexity:65 */ + if(typeof(format) === 'undefined' || format === ''){ + format = "Y-m-d"; + } + + + var iFormat = format.split(""); + var result = new Array(iFormat.length); + var escapeChar = "\\"; + var jsDate; + + if (typeof(_date) === 'undefined'){ + jsDate = new Date(); + } else if (typeof(_date)==='number'){ + jsDate = new Date(_date*1000); + } else { + jsDate = new Date(_date); + } + + var jsFirstDay, jsThisDay, jsHour; + /* This switch is presented in the same order as in php date function (PHP 5.2.2) */ + for (var i = 0; i < iFormat.length; i++) { + switch(iFormat[i]) { + case escapeChar: + result[i] = iFormat[i+1]; + i++; + break; + + + /* DAY */ + case "d": /* Day of the month, 2 digits with leading zeros; ex: 01 to 31 */ + var jsDay = jsDate.getDate(); + result[i] = (String(jsDay).length > 1) ? jsDay : "0" + jsDay; + break; + + case "D": /* A textual representation of a day, three letters; Seg to Dom */ + result[i] = this._wDays(jsDate.getDay()).substring(0, 3); + break; + + case "j": /* Day of the month without leading zeros; ex: 1 to 31 */ + result[i] = jsDate.getDate(); + break; + + case "l": /* A full textual representation of the day of the week; Domingo to Sabado */ + result[i] = this._wDays(jsDate.getDay()); + break; + + case "N": /* ISO-8601 numeric representation of the day of the week; 1 (Segunda) to 7 (Domingo) */ + result[i] = jsDate.getDay() || 7; + break; + + case "S": /* English ordinal suffix for the day of the month, 2 characters; st, nd, rd or th. Works well with j */ + var temp = jsDate.getDate(); + var suffixes = ["st", "nd", "rd"]; + var suffix = ""; + + if (temp >= 11 && temp <= 13) { + result[i] = "th"; + } else { + result[i] = (suffix = suffixes[String(temp).substr(-1) - 1]) ? (suffix) : ("th"); + } + break; + + case "w": /* Numeric representation of the day of the week; 0 (for Sunday) through 6 (for Saturday) */ + result[i] = jsDate.getDay(); + break; + + case "z": /* The day of the year (starting from 0); 0 to 365 */ + jsFirstDay = Date.UTC(jsDate.getFullYear(), 0, 0); + jsThisDay = Date.UTC(jsDate.getFullYear(), jsDate.getMonth(), jsDate.getDate()); + result[i] = Math.floor((jsThisDay - jsFirstDay) / (1000 * 60 * 60 * 24)); + break; + + /* WEEK */ + case "W": /* ISO-8601 week number of year, weeks starting on Monday; ex: 42 (the 42nd week in the year) */ + var jsYearStart = new Date( jsDate.getFullYear( ) , 0 , 1 ); + jsFirstDay = jsYearStart.getDay() || 7; + + var days = Math.floor( ( jsDate - jsYearStart ) / ( 24 * 60 * 60 * 1000 ) + 1 ); + + result[ i ] = Math.ceil( ( days - ( 8 - jsFirstDay ) ) / 7 ) + 1; + break; + + + /* MONTH */ + case "F": /* A full textual representation of a month, such as Janeiro or Marco; Janeiro a Dezembro */ + result[i] = this._months(jsDate.getMonth()); + break; + + case "m": /* Numeric representation of a month, with leading zeros; 01 to 12 */ + var jsMonth = String(jsDate.getMonth() + 1); + result[i] = (jsMonth.length > 1) ? jsMonth : "0" + jsMonth; + break; + + case "M": /* A short textual representation of a month, three letters; Jan a Dez */ + result[i] = this._months(jsDate.getMonth()).substring(0,3); + break; + + case "n": /* Numeric representation of a month, without leading zeros; 1 a 12 */ + result[i] = jsDate.getMonth() + 1; + break; + + case "t": /* Number of days in the given month; ex: 28 */ + result[i] = this._daysInMonth(jsDate.getMonth()+1,jsDate.getYear()); + break; + + /* YEAR */ + case "L": /* Whether it's a leap year; 1 if it is a leap year, 0 otherwise. */ + var jsYear = jsDate.getFullYear(); + result[i] = (jsYear % 4) ? false : ( (jsYear % 100) ? true : ( (jsYear % 400) ? false : true ) ); + break; + + case "o": /* ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. */ + throw '"o" not implemented!'; + + case "Y": /* A full numeric representation of a year, 4 digits; 1999 */ + result[i] = jsDate.getFullYear(); + break; + + case "y": /* A two digit representation of a year; 99 */ + result[i] = String(jsDate.getFullYear()).substring(2); + break; + + /* TIME */ + case "a": /* Lowercase Ante meridiem and Post meridiem; am or pm */ + result[i] = (jsDate.getHours() < 12) ? "am" : "pm"; + break; + + case "A": /* Uppercase Ante meridiem and Post meridiem; AM or PM */ + result[i] = (jsDate.getHours < 12) ? "AM" : "PM"; + break; + + case "B": /* Swatch Internet time; 000 through 999 */ + throw '"B" not implemented!'; + + case "g": /* 12-hour format of an hour without leading zeros; 1 to 12 */ + jsHour = jsDate.getHours(); + result[i] = (jsHour <= 12) ? jsHour : (jsHour - 12); + break; + + case "G": /* 24-hour format of an hour without leading zeros; 1 to 23 */ + result[i] = String(jsDate.getHours()); + break; + + case "h": /* 12-hour format of an hour with leading zeros; 01 to 12 */ + jsHour = String(jsDate.getHours()); + jsHour = (jsHour <= 12) ? jsHour : (jsHour - 12); + result[i] = (jsHour.length > 1) ? jsHour : "0" + jsHour; + break; + + case "H": /* 24-hour format of an hour with leading zeros; 01 to 24 */ + jsHour = String(jsDate.getHours()); + result[i] = (jsHour.length > 1) ? jsHour : "0" + jsHour; + break; + + case "i": /* Minutes with leading zeros; 00 to 59 */ + var jsMinute = String(jsDate.getMinutes()); + result[i] = (jsMinute.length > 1) ? jsMinute : "0" + jsMinute; + break; + + case "s": /* Seconds with leading zeros; 00 to 59; */ + var jsSecond = String(jsDate.getSeconds()); + result[i] = (jsSecond.length > 1) ? jsSecond : "0" + jsSecond; + break; + + case "u": /* Microseconds */ + throw '"u" not implemented!'; + + + /* TIMEZONE */ + + case "e": /* Timezone identifier */ + throw '"e" not implemented!'; + + case "I": /* "1" if Daylight Savings Time, "0" otherwise. Works only on the northern hemisphere */ + jsFirstDay = new Date(jsDate.getFullYear(), 0, 1); + result[i] = (jsDate.getTimezoneOffset() !== jsFirstDay.getTimezoneOffset()) ? (1) : (0); + break; + + case "O": /* Difference to Greenwich time (GMT) in hours */ + var jsMinZone = jsDate.getTimezoneOffset(); + var jsMinutes = jsMinZone % 60; + jsHour = String(((jsMinZone - jsMinutes) / 60) * -1); + + if (jsHour.charAt(0) !== "-") { + jsHour = "+" + jsHour; + } + + jsHour = (jsHour.length === 3) ? (jsHour) : (jsHour.replace(/([+\-])(\d)/, "$1" + 0 + "$2")); + result[i] = jsHour + jsMinutes + "0"; + break; + + case "P": /* Difference to Greenwich time (GMT) with colon between hours and minutes */ + throw '"P" not implemented!'; + + case "T": /* Timezone abbreviation */ + throw '"T" not implemented!'; + + case "Z": /* Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. */ + result[i] = jsDate.getTimezoneOffset() * 60; + break; + + + /* FULL DATE/TIME */ + + case "c": /* ISO 8601 date */ + throw '"c" not implemented!'; + + case "r": /* RFC 2822 formatted date */ + var jsDayName = this._wDays(jsDate.getDay()).substr(0, 3); + var jsMonthName = this._months(jsDate.getMonth()).substr(0, 3); + result[i] = jsDayName + ", " + jsDate.getDate() + " " + jsMonthName + this.get(" Y H:i:s O",jsDate); + break; + + case "U": /* Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) */ + result[i] = Math.floor(jsDate.getTime() / 1000); + break; + + default: + result[i] = iFormat[i]; + } + } + + return result.join(''); + + }, + + /** + * Creates a date object based on a format string. + * This works exactly as php date() function. http://php.net/manual/en/function.date.php + * + * @method set + * @param {String} [format] The format in which the date will be formatted. Defaults to 'Y-m-d' + * @param {String} str_date The date formatted. + * @return {Date} Date object based on the formatted date and format + * @public + * @static + * @sample Ink_Util_Date_set.html + */ + set : function( format , str_date ) { + if ( typeof str_date === 'undefined' ) { return ; } + if ( typeof format === 'undefined' || format === '' ) { format = "Y-m-d"; } + + var iFormat = format.split(""); + var result = new Array( iFormat.length ); + var escapeChar = "\\"; + var mList; + + var objIndex = { + year : undefined , + month : undefined , + day : undefined , + dayY : undefined , + dayW : undefined , + week : undefined , + hour : undefined , + hourD : undefined , + min : undefined , + sec : undefined , + msec : undefined , + ampm : undefined , + diffM : undefined , + diffH : undefined , + date : undefined + }; + + var matches = 0; + + /* This switch is presented in the same order as in php date function (PHP 5.2.2) */ + for ( var i = 0; i < iFormat.length; i++) { + switch( iFormat[ i ] ) { + case escapeChar: + result[i] = iFormat[ i + 1 ]; + i++; + break; + + /* DAY */ + case "d": /* Day of the month, 2 digits with leading zeros; ex: 01 to 31 */ + result[ i ] = '(\\d{2})'; + objIndex.day = { original : i , match : matches++ }; + break; + + case "j": /* Day of the month without leading zeros; ex: 1 to 31 */ + result[ i ] = '(\\d{1,2})'; + objIndex.day = { original : i , match : matches++ }; + break; + + case "D": /* A textual representation of a day, three letters; Seg to Dom */ + result[ i ] = '([\\wá]{3})'; + objIndex.dayW = { original : i , match : matches++ }; + break; + + case "l": /* A full textual representation of the day of the week; Domingo to Sabado */ + result[i] = '([\\wá]{5,7})'; + objIndex.dayW = { original : i , match : matches++ }; + break; + + case "N": /* ISO-8601 numeric representation of the day of the week; 1 (Segunda) to 7 (Domingo) */ + result[ i ] = '(\\d)'; + objIndex.dayW = { original : i , match : matches++ }; + break; + + case "w": /* Numeric representation of the day of the week; 0 (for Sunday) through 6 (for Saturday) */ + result[ i ] = '(\\d)'; + objIndex.dayW = { original : i , match : matches++ }; + break; + + case "S": /* English ordinal suffix for the day of the month, 2 characters; st, nd, rd or th. Works well with j */ + result[ i ] = '\\w{2}'; + break; + + case "z": /* The day of the year (starting from 0); 0 to 365 */ + result[ i ] = '(\\d{1,3})'; + objIndex.dayY = { original : i , match : matches++ }; + break; + + /* WEEK */ + case "W": /* ISO-8601 week number of year, weeks starting on Monday; ex: 42 (the 42nd week in the year) */ + result[ i ] = '(\\d{1,2})'; + objIndex.week = { original : i , match : matches++ }; + break; + + /* MONTH */ + case "F": /* A full textual representation of a month, such as Janeiro or Marco; Janeiro a Dezembro */ + result[ i ] = '([\\wç]{4,9})'; + objIndex.month = { original : i , match : matches++ }; + break; + + case "M": /* A short textual representation of a month, three letters; Jan a Dez */ + result[ i ] = '(\\w{3})'; + objIndex.month = { original : i , match : matches++ }; + break; + + case "m": /* Numeric representation of a month, with leading zeros; 01 to 12 */ + result[ i ] = '(\\d{2})'; + objIndex.month = { original : i , match : matches++ }; + break; + + case "n": /* Numeric representation of a month, without leading zeros; 1 a 12 */ + result[ i ] = '(\\d{1,2})'; + objIndex.month = { original : i , match : matches++ }; + break; + + case "t": /* Number of days in the given month; ex: 28 */ + result[ i ] = '\\d{2}'; + break; + + /* YEAR */ + case "L": /* Whether it's a leap year; 1 if it is a leap year, 0 otherwise. */ + result[ i ] = '\\w{4,5}'; + break; + + case "o": /* ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. */ + throw '"o" not implemented!'; + + case "Y": /* A full numeric representation of a year, 4 digits; 1999 */ + result[ i ] = '(\\d{4})'; + objIndex.year = { original : i , match : matches++ }; + break; + + case "y": /* A two digit representation of a year; 99 */ + result[ i ] = '(\\d{2})'; + if ( typeof objIndex.year === 'undefined' || iFormat[ objIndex.year.original ] !== 'Y' ) { + objIndex.year = { original : i , match : matches++ }; + } + break; + + /* TIME */ + case "a": /* Lowercase Ante meridiem and Post meridiem; am or pm */ + result[ i ] = '(am|pm)'; + objIndex.ampm = { original : i , match : matches++ }; + break; + + case "A": /* Uppercase Ante meridiem and Post meridiem; AM or PM */ + result[ i ] = '(AM|PM)'; + objIndex.ampm = { original : i , match : matches++ }; + break; + + case "B": /* Swatch Internet time; 000 through 999 */ + throw '"B" not implemented!'; + + case "g": /* 12-hour format of an hour without leading zeros; 1 to 12 */ + result[ i ] = '(\\d{1,2})'; + objIndex.hourD = { original : i , match : matches++ }; + break; + + case "G": /* 24-hour format of an hour without leading zeros; 1 to 23 */ + result[ i ] = '(\\d{1,2})'; + objIndex.hour = { original : i , match : matches++ }; + break; + + case "h": /* 12-hour format of an hour with leading zeros; 01 to 12 */ + result[ i ] = '(\\d{2})'; + objIndex.hourD = { original : i , match : matches++ }; + break; + + case "H": /* 24-hour format of an hour with leading zeros; 01 to 24 */ + result[ i ] = '(\\d{2})'; + objIndex.hour = { original : i , match : matches++ }; + break; + + case "i": /* Minutes with leading zeros; 00 to 59 */ + result[ i ] = '(\\d{2})'; + objIndex.min = { original : i , match : matches++ }; + break; + + case "s": /* Seconds with leading zeros; 00 to 59; */ + result[ i ] = '(\\d{2})'; + objIndex.sec = { original : i , match : matches++ }; + break; + + case "u": /* Microseconds */ + throw '"u" not implemented!'; + + /* TIMEZONE */ + case "e": /* Timezone identifier */ + throw '"e" not implemented!'; + + case "I": /* "1" if Daylight Savings Time, "0" otherwise. Works only on the northern hemisphere */ + result[i] = '\\d'; + break; + + case "O": /* Difference to Greenwich time (GMT) in hours */ + result[ i ] = '([-+]\\d{4})'; + objIndex.diffH = { original : i , match : matches++ }; + break; + + case "P": /* Difference to Greenwich time (GMT) with colon between hours and minutes */ + throw '"P" not implemented!'; + + case "T": /* Timezone abbreviation */ + throw '"T" not implemented!'; + + case "Z": /* Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. */ + result[ i ] = '(\\-?\\d{1,5})'; + objIndex.diffM = { original : i , match : matches++ }; + break; + + /* FULL DATE/TIME */ + case "c": /* ISO 8601 date */ + throw '"c" not implemented!'; + + case "r": /* RFC 2822 formatted date */ + result[ i ] = '([\\wá]{3}, \\d{1,2} \\w{3} \\d{4} \\d{2}:\\d{2}:\\d{2} [+\\-]\\d{4})'; + objIndex.date = { original : i , match : matches++ }; + break; + + case "U": /* Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) */ + result[ i ] = '(\\d{1,13})'; + objIndex.date = { original : i , match : matches++ }; + break; + + default: + result[ i ] = iFormat[ i ]; + } + } + + var pattr = new RegExp( result.join('') ); + + try { + mList = str_date.match( pattr ); + if ( !mList ) { return; } + } + catch ( e ) { return ; } + + var _haveDatetime = typeof objIndex.date !== 'undefined'; + + var _haveYear = typeof objIndex.year !== 'undefined'; + + var _haveYDay = typeof objIndex.dayY !== 'undefined'; + + var _haveDay = typeof objIndex.day !== 'undefined'; + var _haveMonth = typeof objIndex.month !== 'undefined'; + var _haveMonthDay = _haveMonth && _haveDay; + var _haveOnlyDay = !_haveMonth && _haveDay; + + var _haveWDay = typeof objIndex.dayW !== 'undefined'; + var _haveWeek = typeof objIndex.week !== 'undefined'; + var _haveWeekWDay = _haveWeek && _haveWDay; + var _haveOnlyWDay = !_haveWeek && _haveWDay; + + var _validDate = _haveYDay || _haveMonthDay || !_haveYear && _haveOnlyDay || _haveWeekWDay || !_haveYear && _haveOnlyWDay; + var _noDate = !_haveYear && !_haveYDay && !_haveDay && !_haveMonth && !_haveWDay && !_haveWeek; + + var _haveHour12 = typeof objIndex.hourD !== 'undefined' && typeof objIndex.ampm !== 'undefined'; + var _haveHour24 = typeof objIndex.hour !== 'undefined'; + var _haveHour = _haveHour12 || _haveHour24; + + var _haveMin = typeof objIndex.min !== 'undefined'; + var _haveSec = typeof objIndex.sec !== 'undefined'; + var _haveMSec = typeof objIndex.msec !== 'undefined'; + + var _haveMoreM = !_noDate || _haveHour; + var _haveMoreS = _haveMoreM || _haveMin; + + var _haveDiffM = typeof objIndex.diffM !== 'undefined'; + var _haveDiffH = typeof objIndex.diffH !== 'undefined'; + //var _haveGMT = _haveDiffM || _haveDiffH; + var hour; + var min; + + if ( _haveDatetime ) { + if ( iFormat[ objIndex.date.original ] === 'U' ) { + return new Date( +mList[ objIndex.date.match + 1 ] * 1000 ); + } + + var dList = mList[ objIndex.date.match + 1 ].match( /\w{3}, (\d{1,2}) (\w{3}) (\d{4}) (\d{2}):(\d{2}):(\d{2}) ([+\-]\d{4})/ ); + hour = +dList[ 4 ] + ( +dList[ 7 ].slice( 0 , 3 ) ); + min = +dList[ 5 ] + ( dList[ 7 ].slice( 0 , 1 ) + dList[ 7 ].slice( 3 ) ) / 100 * 60; + + return new Date( dList[ 3 ] , this._iMonth( dList[ 2 ] ) , dList[ 1 ] , hour , min , dList[ 6 ] ); + } + + var _d = new Date( ); + var year; + var month; + var day; + var sec; + var msec; + var gmt; + + if ( !_validDate && !_noDate ) { return ; } + + if ( _validDate ) { + if ( _haveYear ) { + var _y = _d.getFullYear( ) - 50 + ''; + year = mList[ objIndex.year.match + 1 ]; + if ( iFormat[ objIndex.year.original ] === 'y' ) { + year = +_y.slice( 0 , 2 ) + ( year >= ( _y ).slice( 2 ) ? 0 : 1 ) + year; + } + } else { + year = _d.getFullYear(); + } + + if ( _haveYDay ) { + month = 0; + day = mList[ objIndex.dayY.match + 1 ]; + } else if ( _haveDay ) { + if ( _haveMonth ) { + month = this._iMonth( mList[ objIndex.month.match + 1 ] ); + } else { + month = _d.getMonth( ); + } + + day = mList[ objIndex.day.match + 1 ]; + } else { + month = 0; + + var week; + if ( _haveWeek ) { + week = mList[ objIndex.week.match + 1 ]; + } else { + week = this.get( 'W' , _d ); + } + + day = ( week - 2 ) * 7 + ( 8 - ( ( new Date( year , 0 , 1 ) ).getDay( ) || 7 ) ) + this._iWeek( mList[ objIndex.week.match + 1 ] ); + } + + if ( month === 0 && day > 31 ) { + var aux = new Date( year , month , day ); + month = aux.getMonth( ); + day = aux.getDate( ); + } + } + else { + year = _d.getFullYear( ); + month = _d.getMonth( ); + day = _d.getDate( ); + } + + if ( _haveHour12 ) { hour = +mList[ objIndex.hourD.match + 1 ] + ( mList[ objIndex.ampm.match + 1 ] === 'pm' ? 12 : 0 ); } + else if ( _haveHour24 ) { hour = mList[ objIndex.hour.match + 1 ]; } + else if ( _noDate ) { hour = _d.getHours( ); } + else { hour = '00'; } + + if ( _haveMin ) { min = mList[ objIndex.min.match + 1 ]; } + else if ( !_haveMoreM ) { min = _d.getMinutes( ); } + else { min = '00'; } + + if ( _haveSec ) { sec = mList[ objIndex.sec.match + 1 ]; } + else if ( !_haveMoreS ) { sec = _d.getSeconds( ); } + else { sec = '00'; } + + if ( _haveMSec ) { msec = mList[ objIndex.msec.match + 1 ]; } + else { msec = '000'; } + + if ( _haveDiffH ) { gmt = mList[ objIndex.diffH.match + 1 ]; } + else if ( _haveDiffM ) { gmt = String( -1 * mList[ objIndex.diffM.match + 1 ] / 60 * 100 ).replace( /^(\d)/ , '+$1' ).replace( /(^[\-+])(\d{3}$)/ , '$10$2' ); } + else { gmt = '+0000'; } + + return new Date( year, month, day, hour, min, sec ); + } + }; + + + return InkDate; + +}); + +/** + * Dump/Profiling Utilities + * @module Ink.Util.Dumper_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Dumper', '1', [], function() { + + 'use strict'; + + /** + * @namespace Ink.Util.Dumper_1 + */ + + var Dumper = { + + /** + * Hex code for the 'tab' + * + * @property _tab + * @type {String} + * @private + * @readOnly + * @static + * + */ + _tab: '\xA0\xA0\xA0\xA0', + + /** + * Function that returns the argument passed formatted + * + * @method _formatParam + * @param {Mixed} param + * @return {String} The argument passed formatted + * @private + * @static + */ + _formatParam: function(param) + { + var formated = ''; + + switch(typeof(param)) { + case 'string': + formated = '(string) '+param; + break; + case 'number': + formated = '(number) '+param; + break; + case 'boolean': + formated = '(boolean) '+param; + break; + case 'object': + if(param !== null) { + if(param.constructor === Array) { + formated = 'Array \n{\n' + this._outputFormat(param, 0) + '\n}'; + } else { + formated = 'Object \n{\n' + this._outputFormat(param, 0) + '\n}'; + } + } else { + formated = 'null'; + } + break; + default: + formated = false; + } + + return formated; + }, + + /** + * Function that returns the tabs concatenated + * + * @method _getTabs + * @param {Number} numberOfTabs Number of Tabs + * @return {String} Tabs concatenated + * @private + * @static + */ + _getTabs: function(numberOfTabs) + { + var tabs = ''; + for(var _i = 0; _i < numberOfTabs; _i++) { + tabs += this._tab; + } + return tabs; + }, + + /** + * Function that formats the parameter to display. + * + * @method _outputFormat + * @param {Any} param + * @param {Number} dim + * @return {String} The parameter passed formatted to displat + * @private + * @static + */ + _outputFormat: function(param, dim) + { + var formated = ''; + //var _strVal = false; + var _typeof = false; + for(var key in param) { + if(param[key] !== null) { + if(typeof(param[key]) === 'object' && (param[key].constructor === Array || param[key].constructor === Object)) { + if(param[key].constructor === Array) { + _typeof = 'Array'; + } else if(param[key].constructor === Object) { + _typeof = 'Object'; + } + formated += this._tab + this._getTabs(dim) + '[' + key + '] => '+_typeof+'\n'; + formated += this._tab + this._getTabs(dim) + '{\n'; + formated += this._outputFormat(param[key], dim + 1) + this._tab + this._getTabs(dim) + '}\n'; + } else if(param[key].constructor === Function) { + continue; + } else { + formated = formated + this._tab + this._getTabs(dim) + '[' + key + '] => ' + param[key] + '\n'; + } + } else { + formated = formated + this._tab + this._getTabs(dim) + '[' + key + '] => null \n'; + } + } + return formated; + }, + + /** + * Prints variable structure. + * + * @method printDump + * @param {Any} param Variable to be dumped. + * @param {DOMElement|String} [target] Element to print the dump on. + * @public + * @static + * @sample Ink_Util_Dumper_printDump.html + */ + printDump: function(param, target) + { + /*jshint evil:true */ + if(!target || typeof(target) === 'undefined') { + document.write('
              '+this._formatParam(param)+'
              '); + } else { + if(typeof(target) === 'string') { + document.getElementById(target).innerHTML = '
              ' + this._formatParam(param) + '
              '; + } else if(typeof(target) === 'object') { + target.innerHTML = '
              '+this._formatParam(param)+'
              '; + } else { + throw "TARGET must be an element or an element ID"; + } + } + }, + + /** + * Get a variable's structure. + * + * @method returnDump + * @param {Any} param Variable to get the structure. + * @return {String} The variable's structure. + * @public + * @static + * @sample Ink_Util_Dumper_returnDump.html + */ + returnDump: function(param) + { + return this._formatParam(param); + }, + + /** + * Alert a variable's structure. + * + * @method alertDump + * @param {Any} param Variable to be dumped. + * @public + * @static + * @sample Ink_Util_Dumper_alertDump.html + */ + alertDump: function(param) + { + window.alert(this._formatParam(param).replace(/()(Array|Object)(<\/b>)/g, "$2")); + }, + + /** + * Prints the variable structure to a new window. + * + * @method windowDump + * @param {Any} param Variable to be dumped. + * @public + * @static + * @sample Ink_Util_Dumper_windowDump.html + */ + windowDump: function(param) + { + var dumperwindow = 'dumperwindow_'+(Math.random() * 10000); + var win = window.open('', + dumperwindow, + 'width=400,height=300,left=50,top=50,status,menubar,scrollbars,resizable' + ); + win.document.open(); + win.document.write('
              '+this._formatParam(param)+'
              '); + win.document.close(); + win.focus(); + } + + }; + + return Dumper; + +}); + +/** + * Internationalization Utilities + * @module Ink.Util.I18n_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.I18n', '1', [], function () { + 'use strict'; + + var pattrText = /\{(?:(\{.*?})|(?:%s:)?(\d+)|(?:%s)?|([\w-]+))}/g; + + var funcOrVal = function( ret , args ) { + if ( typeof ret === 'function' ) { + return ret.apply(this, args); + } else if (typeof ret !== undefined) { + return ret; + } else { + return ''; + } + }; + + /** + * You can use this module to internationalize your applications. It roughly emulates GNU gettext's API. + * + * @class Ink.Util.I18n + * @constructor + * + * @param {Object} dict Object mapping language codes (in the form of `pt_PT`, `pt_BR`, `fr`, `en_US`, etc.) to their `dictionaries` + * @param {String} [lang='pt_PT'] language code of the target language + * + * @sample Ink_Util_I18n_1.html + */ + var I18n = function( dict , lang , testMode ) { + if ( !( this instanceof I18n ) ) { return new I18n( dict , lang , testMode ); } + + this.reset( ) + .lang( lang ) + .testMode( testMode ) + .append( dict || { } , lang ); + }; + + I18n.prototype = { + reset: function( ) { + this._dicts = [ ]; + this._dict = { }; + this._testMode = false; + this._lang = this._gLang; + + return this; + }, + /** + * Adds translation strings for the helper to use. + * + * @method append + * @param {Object} dict Object containing language objects identified by their language code + * + * @sample Ink_Util_I18n_1_append.html + */ + append: function( dict ) { + this._dicts.push( dict ); + + this._dict = Ink.extendObj(this._dict , dict[ this._lang ] ); + + return this; + }, + /** + * Gets or sets the language. + * If there are more dictionaries available in cache, they will be loaded. + * + * @method lang + * @param {String} lang Language code to set this instance to. + */ + lang: function( lang ) { + if ( !arguments.length ) { return this._lang; } + + if ( lang && this._lang !== lang ) { + this._lang = lang; + + this._dict = { }; + + for ( var i = 0, l = this._dicts.length; i < l; i++ ) { + this._dict = Ink.extendObj( this._dict , this._dicts[ i ][ lang ] || { } ); + } + } + + return this; + }, + /** + * Sets or unsets test mode. + * In test mode, unknown strings are wrapped in `[ ... ]`. This is useful for debugging your application and to make sure all your translation keys are in place. + * + * @method testMode + * @param {Boolean} bool Flag to set the test mode state + */ + testMode: function( bool ) { + if ( !arguments.length ) { return !!this._testMode; } + + if ( bool !== undefined ) { this._testMode = !!bool; } + + return this; + }, + + /** + * Gest a key from the current dictionary + * + * @method getKey + * @param {String} key + * @return {Mixed} The object which happened to be in the current language dictionary on the given key. + * + * @sample Ink_Util_I18n_1_getKey.html + */ + getKey: function( key ) { + var ret; + var gLang = this._gLang; + var lang = this._lang; + + if ( key in this._dict ) { + ret = this._dict[ key ]; + } else { + I18n.langGlobal( lang ); + + ret = this._gDict[ key ]; + + I18n.langGlobal( gLang ); + } + + return ret; + }, + + /** + * Translates a string. + * Given a translation key, return a translated string, with replaced parameters. + * When a translated string is not available, the original string is returned unchanged. + * + * @method text + * @param {String} str Key to look for in i18n dictionary (which is returned verbatim if unknown) + * @param {Object} [namedParms] Named replacements. Replaces {named} with values in this object. + * @param {String} [args] Replacement #1 (replaces first {} and all {1}) + * @param {String} [arg2] Replacement #2 (replaces second {} and all {2}) + * @param {String} [argn*] Replacement #n (replaces nth {} and all {n}) + * + * @sample Ink_Util_I18n_1_text.html + */ + text: function( str /*, replacements...*/ ) { + if ( typeof str !== 'string' ) { return; } // Backwards-compat + + var pars = Array.prototype.slice.call( arguments , 1 ); + var idx = 0; + var isObj = typeof pars[ 0 ] === 'object'; + + var original = this.getKey( str ); + if ( original === undefined ) { original = this._testMode ? '[' + str + ']' : str; } + if ( typeof original === 'number' ) { original += ''; } + + if (typeof original === 'string') { + original = original.replace( pattrText , function( m , $1 , $2 , $3 ) { + var ret = + $1 ? $1 : + $2 ? pars[ $2 - ( isObj ? 0 : 1 ) ] : + $3 ? pars[ 0 ][ $3 ] || '' : + pars[ (idx++) + ( isObj ? 1 : 0 ) ]; + return funcOrVal( ret , [idx].concat(pars) ); + }); + return original; + } + + return ( + typeof original === 'function' ? original.apply( this , pars ) : + original instanceof Array ? funcOrVal( original[ pars[ 0 ] ] , pars ) : + typeof original === 'object' ? funcOrVal( original[ pars[ 0 ] ] , pars ) : + ''); + }, + + /** + * Translates and pluralizes text. + * Given a singular string, a plural string and a number, translates either the singular or plural string. + * + * @method ntext + * @return {String} + * + * @param {String} strSin Word to use when count is 1 + * @param {String} strPlur Word to use otherwise + * @param {Number} count Number which defines which word to use + * @param [args*] Extra arguments, to be passed to `text()` + * + * @sample Ink_Util_I18n_1_ntext.html + */ + ntext: function( strSin , strPlur , count ) { + var pars = Array.prototype.slice.apply( arguments ); + var original; + + if ( pars.length === 2 && typeof strPlur === 'number' ) { + original = this.getKey( strSin ); + if ( !( original instanceof Array ) ) { return ''; } + + pars.splice( 0 , 1 ); + original = original[ strPlur === 1 ? 0 : 1 ]; + } else { + pars.splice( 0 , 2 ); + original = count === 1 ? strSin : strPlur; + } + + return this.text.apply( this , [ original ].concat( pars ) ); + }, + + /** + * Gets the ordinal suffix of a number. + * + * This works by using transforms (in the form of Objects or Functions) passed into the function or found in the special key `_ordinals` in the active language dictionary. + * + * @method ordinal + * + * @param {Number} num Input number + * @param {Object|Function} [options]={} Dictionaries for translating. Each of these options' fallback is found in the current language's dictionary. The lookup order is the following: `exceptions`, `byLastDigit`, `default`. Each of these may be either an `Object` or a `Function`. If it's a function, it is called (with `number` and `digit` for any function except for byLastDigit, which is called with the `lastDigit` of the number in question), and if the function returns a string, that is used. If it's an object, the property is looked up using `obj[prop]`. If what is found is a string, it is used directly. + * @param {Object|Function} [options.byLastDigit]={} If the language requires the last digit to be considered, mappings of last digits to ordinal suffixes can be created here. + * @param {Object|Function} [options.exceptions]={} Map unique, special cases to their ordinal suffixes. + * + * @returns {String} Ordinal suffix for `num`. + * + * @sample Ink_Util_I18n_1_ordinal.html + **/ + ordinal: function( num ) { + if ( num === undefined ) { return ''; } + + var lastDig = +num.toString( ).slice( -1 ); + + var ordDict = this.getKey( '_ordinals' ); + if ( ordDict === undefined ) { return ''; } + + if ( typeof ordDict === 'string' ) { return ordDict; } + + var ret; + + if ( typeof ordDict === 'function' ) { + ret = ordDict( num , lastDig ); + + if ( typeof ret === 'string' ) { return ret; } + } + + if ( 'exceptions' in ordDict ) { + ret = typeof ordDict.exceptions === 'function' ? ordDict.exceptions( num , lastDig ) : + num in ordDict.exceptions ? funcOrVal( ordDict.exceptions[ num ] , [num , lastDig] ) : + undefined; + + if ( typeof ret === 'string' ) { return ret; } + } + + if ( 'byLastDigit' in ordDict ) { + ret = typeof ordDict.byLastDigit === 'function' ? ordDict.byLastDigit( lastDig , num ) : + lastDig in ordDict.byLastDigit ? funcOrVal( ordDict.byLastDigit[ lastDig ] , [lastDig , num] ) : + undefined; + + if ( typeof ret === 'string' ) { return ret; } + } + + if ( 'default' in ordDict ) { + ret = funcOrVal( ordDict['default'] , [ num , lastDig ] ); + + if ( typeof ret === 'string' ) { return ret; } + } + + return ''; + }, + + /** + * Create an alias. + * + * Returns an alias to this I18n instance. It contains the I18n methods documented here, but is also a function. If you call it, it just calls `text()`. This is commonly assigned to "_". + * + * @method alias + * @returns {Function} an alias to `text()` on this instance. You can also access the rest of the translation API through this alias. + * + * @sample Ink_Util_I18n_1_alias.html + */ + alias: function( ) { + var ret = Ink.bind( I18n.prototype.text , this ); + ret.ntext = Ink.bind( I18n.prototype.ntext , this ); + ret.append = Ink.bind( I18n.prototype.append , this ); + ret.ordinal = Ink.bind( I18n.prototype.ordinal , this ); + ret.testMode = Ink.bind( I18n.prototype.testMode , this ); + + return ret; + } + }; + + /** + * Resets I18n global state (global dictionaries, and default language for instances) + * + * @method reset + * @static + * + **/ + I18n.reset = function( ) { + I18n.prototype._gDicts = [ ]; + I18n.prototype._gDict = { }; + I18n.prototype._gLang = 'pt_PT'; + }; + I18n.reset( ); + + /** + * Adds a dictionary to be used in all I18n instances for the corresponding language. + * + * @method appendGlobal + * @static + * + * @param dict {Object} Dictionary to be added + * @param lang {String} Language fo the dictionary being added + * + */ + I18n.appendGlobal = function( dict , lang ) { + if ( lang ) { + if ( !( lang in dict ) ) { + var obj = { }; + + obj[ lang ] = dict; + + dict = obj; + } + + if ( lang !== I18n.prototype._gLang ) { I18n.langGlobal( lang ); } + } + + I18n.prototype._gDicts.push( dict ); + + Ink.extendObj( I18n.prototype._gDict , dict[ I18n.prototype._gLang ] ); + }; + + I18n.append = function () { + // [3.1.0] remove this alias + Ink.warn('Ink.Util.I18n.append() was renamed to appendGlobal().'); + return I18n.appendGlobal.apply(I18n, [].slice.call(arguments)); + }; + + /** + * Gets or sets the current default language of I18n instances. + * + * @method langGlobal + * @param lang the new language for all I18n instances + * + * @static + * + * @return {String} language code + */ + I18n.langGlobal = function( lang ) { + if ( !arguments.length ) { return I18n.prototype._gLang; } + + if ( lang && I18n.prototype._gLang !== lang ) { + I18n.prototype._gLang = lang; + + I18n.prototype._gDict = { }; + + for ( var i = 0, l = I18n.prototype._gDicts.length; i < l; i++ ) { + Ink.extendObj( I18n.prototype._gDict , I18n.prototype._gDicts[ i ][ lang ] || { } ); + } + } + }; + + I18n.lang = function () { + // [3.1.0] remove this alias + Ink.warn('Ink.Util.I18n.lang() was renamed to langGlobal().'); + return I18n.langGlobal.apply(I18n, [].slice.call(arguments)); + }; + + return I18n; +}); +/** + * JSON Utilities + * @module Ink.Util.Json_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Json', '1', [], function() { + 'use strict'; + + var function_call = Function.prototype.call; + var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; + + function twoDigits(n) { + var r = '' + n; + if (r.length === 1) { + return '0' + r; + } else { + return r; + } + } + + var dateToISOString = Date.prototype.toISOString ? + Ink.bind(function_call, Date.prototype.toISOString) : + function(date) { + // Adapted from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString + return date.getUTCFullYear() + + '-' + twoDigits( date.getUTCMonth() + 1 ) + + '-' + twoDigits( date.getUTCDate() ) + + 'T' + twoDigits( date.getUTCHours() ) + + ':' + twoDigits( date.getUTCMinutes() ) + + ':' + twoDigits( date.getUTCSeconds() ) + + '.' + String( (date.getUTCMilliseconds()/1000).toFixed(3) ).slice( 2, 5 ) + + 'Z'; + }; + + /** + * Use this class to convert JSON strings to JavaScript objects + * `.parse()` and also to do the opposite operation `.stringify()`. + * Internally, the standard JSON implementation is used if available + * Otherwise, the functions mimic the standard implementation. + * + * Here's how to produce JSON from an existing object: + * + * Ink.requireModules(['Ink.Util.Json_1'], function (Json) { + * var obj = { + * key1: 'value1', + * key2: 'value2', + * keyArray: ['arrayValue1', 'arrayValue2', 'arrayValue3'] + * }; + * Json.stringify(obj); // The above object as a JSON string + * }); + * + * And here is how to parse JSON: + * + * Ink.requireModules(['Ink.Util.Json_1'], function (Json) { + * var source = '{"key": "value", "array": [true, null, false]}'; + * Json.parse(source); // The above JSON string as an object + * }); + * + * @namespace Ink.Util.Json_1 + * @static + * + */ + var InkJson = { + _nativeJSON: window.JSON || null, + + _convertToUnicode: false, + + // Escape characters so as to embed them in JSON strings + _escape: function (theString) { + var _m = { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"': '\\"', '\\': '\\\\' }; + + if (/["\\\x00-\x1f]/.test(theString)) { + theString = theString.replace(/([\x00-\x1f\\"])/g, function(a, b) { + var c = _m[b]; + if (c) { + return c; + } + c = b.charCodeAt(); + return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); + }); + } + + return theString; + }, + + // A character conversion map + _toUnicode: function (theString) + { + if(!this._convertToUnicode) { + return this._escape(theString); + } else { + var unicodeString = ''; + var inInt = false; + var theUnicode = false; + var i = 0; + var total = theString.length; + while(i < total) { + inInt = theString.charCodeAt(i); + if( (inInt >= 32 && inInt <= 126) || + //(inInt >= 48 && inInt <= 57) || + //(inInt >= 65 && inInt <= 90) || + //(inInt >= 97 && inInt <= 122) || + inInt === 8 || + inInt === 9 || + inInt === 10 || + inInt === 12 || + inInt === 13 || + inInt === 32 || + inInt === 34 || + inInt === 47 || + inInt === 58 || + inInt === 92) { + + if(inInt === 34 || inInt === 92 || inInt === 47) { + theUnicode = '\\'+theString.charAt(i); + } else if(inInt === 8) { + theUnicode = '\\b'; + } else if(inInt === 9) { + theUnicode = '\\t'; + } else if(inInt === 10) { + theUnicode = '\\n'; + } else if(inInt === 12) { + theUnicode = '\\f'; + } else if(inInt === 13) { + theUnicode = '\\r'; + } else { + theUnicode = theString.charAt(i); + } + } else { + if(this._convertToUnicode) { + theUnicode = theString.charCodeAt(i).toString(16)+''.toUpperCase(); + while (theUnicode.length < 4) { + theUnicode = '0' + theUnicode; + } + theUnicode = '\\u' + theUnicode; + } else { + theUnicode = theString.charAt(i); + } + } + unicodeString += theUnicode; + + i++; + } + + return unicodeString; + } + + }, + + _stringifyValue: function(param) { + if (typeof param === 'string') { + return '"' + this._toUnicode(param) + '"'; + } else if (typeof param === 'number' && (isNaN(param) || !isFinite(param))) { // Unusable numbers go null + return 'null'; + } else if (typeof param === 'undefined' || param === null) { // And so does undefined + return 'null'; + } else if (typeof param.toJSON === 'function') { + var t = param.toJSON(); + if (typeof t === 'string') { + return '"' + this._escape(t) + '"'; + } else { + return this._escape(t.toString()); + } + } else if (typeof param === 'number' || typeof param === 'boolean') { // These ones' toString methods return valid JSON. + return '' + param; + } else if (typeof param === 'function') { + return 'null'; // match JSON.stringify + } else if (param.constructor === Date) { + return '"' + this._escape(dateToISOString(param)) + '"'; + } else if (param.constructor === Array) { + var arrayString = ''; + for (var i = 0, len = param.length; i < len; i++) { + if (i > 0) { + arrayString += ','; + } + arrayString += this._stringifyValue(param[i]); + } + return '[' + arrayString + ']'; + } else { // Object + var objectString = ''; + for (var k in param) { + if ({}.hasOwnProperty.call(param, k)) { + if (objectString !== '') { + objectString += ','; + } + objectString += '"' + this._escape(k) + '": ' + this._stringifyValue(param[k]); + } + } + return '{' + objectString + '}'; + } + }, + + /** + * Serializes a JSON object into a string. + * + * @method stringify + * @param {Object} input Data to be serialized into JSON + * @param {Boolean} convertToUnicode When `true`, converts string contents to unicode \uXXXX + * @return {String} Serialized string + * + * @sample Ink_Util_Json_stringify.html + */ + stringify: function(input, convertToUnicode) { + this._convertToUnicode = !!convertToUnicode; + if(!this._convertToUnicode && this._nativeJSON) { + return this._nativeJSON.stringify(input); + } + return this._stringifyValue(input); // And recurse. + }, + + /** + * Parses a JSON text through a function + * + * @method parse + * @param text {String} Input string + * @param reviver {Function} Function receiving `(key, value)`, and `this`=(containing object), used to walk objects. + * + * @return {Object} JSON object + * + * @sample Ink_Util_Json_parse.html + */ + /* From https://github.com/douglascrockford/JSON-js/blob/master/json.js */ + parse: function (text, reviver) { + /*jshint evil:true*/ + +// The parse method takes a text and an optional reviver function, and returns +// a JavaScript value if the text is a valid JSON text. + + var j; + + function walk(holder, key) { + +// The walk method is used to recursively walk the resulting structure so +// that modifications can be made. + + var k, v, value = holder[key]; + if (value && typeof value === 'object') { + for (k in value) { + if (Object.prototype.hasOwnProperty.call(value, k)) { + v = walk(value, k); + if (v !== undefined) { + value[k] = v; + } else { + delete value[k]; + } + } + } + } + return reviver.call(holder, key, value); + } + + +// Parsing happens in four stages. In the first stage, we replace certain +// Unicode characters with escape sequences. JavaScript handles many characters +// incorrectly, either silently deleting them, or treating them as line endings. + + text = String(text); + cx.lastIndex = 0; + if (cx.test(text)) { + text = text.replace(cx, function (a) { + return '\\u' + + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }); + } + +// In the second stage, we run the text against regular expressions that look +// for non-JSON patterns. We are especially concerned with '()' and 'new' +// because they can cause invocation, and '=' because it can cause mutation. +// But just to be safe, we want to reject all unexpected forms. + +// We split the second stage into 4 regexp operations in order to work around +// crippling inefficiencies in IE's and Safari's regexp engines. First we +// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we +// replace all simple value tokens with ']' characters. Third, we delete all +// open brackets that follow a colon or comma or that begin the text. Finally, +// we look to see that the remaining characters are only whitespace or ']' or +// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval. + + if (/^[\],:{}\s]*$/ + .test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@') + .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') + .replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { + +// In the third stage we use the eval function to compile the text into a +// JavaScript structure. The '{' operator is subject to a syntactic ambiguity +// in JavaScript: it can begin a block or an object literal. We wrap the text +// in parens to eliminate the ambiguity. + + j = eval('(' + text + ')'); + +// In the optional fourth stage, we recursively walk the new structure, passing +// each name/value pair to a reviver function for possible transformation. + + return typeof reviver === 'function' ? + walk({'': j}, '') : + j; + } + +// If the text is not JSON parseable, then a SyntaxError is thrown. + + throw new SyntaxError('JSON.parse'); + } + }; + + return InkJson; +}); + +/** + * String Utilities + * @module Ink.Util.String_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.String', '1', [], function() { + + 'use strict'; + + /** + * @namespace Ink.Util.String_1 + */ + var InkUtilString = { + + /** + * List of special chars + * + * @property _chars + * @type {Array} + * @private + * @readOnly + * @static + */ + _chars: ['&','à','á','â','ã','ä','å','æ','ç','è','é', + 'ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô', + 'õ','ö','ø','ù','ú','û','ü','ý','þ','ÿ','À', + 'Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë', + 'Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö', + 'Ø','Ù','Ú','Û','Ü','Ý','Þ','€','\"','ß','<', + '>','¢','£','¤','¥','¦','§','¨','©','ª','«', + '¬','\xad','®','¯','°','±','²','³','´','µ','¶', + '·','¸','¹','º','»','¼','½','¾'], + + /** + * List of the special characters' html entities + * + * @property _entities + * @type {Array} + * @private + * @readOnly + * @static + */ + _entities: ['amp','agrave','aacute','acirc','atilde','auml','aring', + 'aelig','ccedil','egrave','eacute','ecirc','euml','igrave', + 'iacute','icirc','iuml','eth','ntilde','ograve','oacute', + 'ocirc','otilde','ouml','oslash','ugrave','uacute','ucirc', + 'uuml','yacute','thorn','yuml','Agrave','Aacute','Acirc', + 'Atilde','Auml','Aring','AElig','Ccedil','Egrave','Eacute', + 'Ecirc','Euml','Igrave','Iacute','Icirc','Iuml','ETH','Ntilde', + 'Ograve','Oacute','Ocirc','Otilde','Ouml','Oslash','Ugrave', + 'Uacute','Ucirc','Uuml','Yacute','THORN','euro','quot','szlig', + 'lt','gt','cent','pound','curren','yen','brvbar','sect','uml', + 'copy','ordf','laquo','not','shy','reg','macr','deg','plusmn', + 'sup2','sup3','acute','micro','para','middot','cedil','sup1', + 'ordm','raquo','frac14','frac12','frac34'], + + /** + * List of accented chars + * + * @property _accentedChars + * @type {Array} + * @private + * @readOnly + * @static + */ + _accentedChars:['à','á','â','ã','ä','å', + 'è','é','ê','ë', + 'ì','í','î','ï', + 'ò','ó','ô','õ','ö', + 'ù','ú','û','ü', + 'ç','ñ', + 'À','Á','Â','Ã','Ä','Å', + 'È','É','Ê','Ë', + 'Ì','Í','Î','Ï', + 'Ò','Ó','Ô','Õ','Ö', + 'Ù','Ú','Û','Ü', + 'Ç','Ñ'], + + /** + * List of the accented chars (above), but without the accents + * + * @property _accentedRemovedChars + * @type {Array} + * @private + * @readOnly + * @static + */ + _accentedRemovedChars:['a','a','a','a','a','a', + 'e','e','e','e', + 'i','i','i','i', + 'o','o','o','o','o', + 'u','u','u','u', + 'c','n', + 'A','A','A','A','A','A', + 'E','E','E','E', + 'I','I','I','I', + 'O','O','O','O','O', + 'U','U','U','U', + 'C','N'], + /** + * Object that contains the basic HTML unsafe chars, as keys, and their HTML entities as values + * + * @property _htmlUnsafeChars + * @type {Object} + * @private + * @readOnly + * @static + */ + _htmlUnsafeChars:{'<':'<','>':'>','&':'&','"':'"',"'":'''}, + + /** + * Capitalizes a word. + * If param as more than one word, it converts first letter of all words that have more than 2 letters + * + * @method ucFirst + * @param {String} string String to capitalize. + * @param {Boolean} [firstWordOnly]=false Flag to capitalize only the first word. + * @return {String} Camel cased string. + * @public + * @static + * @sample Ink_Util_String_ucFirst.html + */ + ucFirst: function(string, firstWordOnly) { + var replacer = firstWordOnly ? /(^|\s)(\w)(\S{2,})/ : /(^|\s)(\w)(\S{2,})/g; + return string ? String(string).replace(replacer, function(_, $1, $2, $3){ + return $1 + $2.toUpperCase() + $3.toLowerCase(); + }) : string; + }, + + /** + * Trims whitespace from strings + * + * @method trim + * @param {String} string String to be trimmed + * @return {String} Trimmed string + * @public + * @static + * @sample Ink_Util_String_trim.html + */ + trim: function(string) + { + if (typeof string === 'string') { + return string.replace(/^\s+|\s+$|\n+$/g, ''); + } + return string; + }, + + /** + * Strips HTML tags from strings + * + * @method stripTags + * @param {String} string String to strip tags from. + * @param {String} allowed Comma separated list of allowed tags. + * @return {String} Stripped string + * @public + * @static + * @sample Ink_Util_String_stripTags.html + */ + stripTags: function(string, allowed) + { + if (allowed && typeof allowed === 'string') { + var aAllowed = InkUtilString.trim(allowed).split(','); + var aNewAllowed = []; + var cleanedTag = false; + for(var i=0; i < aAllowed.length; i++) { + if(InkUtilString.trim(aAllowed[i]) !== '') { + cleanedTag = InkUtilString.trim(aAllowed[i].replace(/(<|\>)/g, '').replace(/\s/, '')); + aNewAllowed.push('(<'+cleanedTag+'\\s[^>]+>|<(\\s|\\/)?(\\s|\\/)?'+cleanedTag+'>)'); + } + } + var strAllowed = aNewAllowed.join('|'); + var reAllowed = new RegExp(strAllowed, "i"); + + var aFoundTags = string.match(new RegExp("<[^>]*>", "g")); + + for(var j=0; j < aFoundTags.length; j++) { + if(!aFoundTags[j].match(reAllowed)) { + string = string.replace((new RegExp(aFoundTags[j], "gm")), ''); + } + } + return string; + } else { + return string.replace(/<[^\>]+\>/g, ''); + } + }, + + /** + * Encodes string into HTML entities. + * + * @method htmlEntitiesEncode + * @param {String} string + * @return {String} string encoded + * @public + * @static + * @sample Ink_Util_String_htmlEntitiesEncode.html + */ + htmlEntitiesEncode: function(string) + { + if (string && string.replace) { + var re = false; + for (var i = 0; i < InkUtilString._chars.length; i++) { + re = new RegExp(InkUtilString._chars[i], "gm"); + string = string.replace(re, '&' + InkUtilString._entities[i] + ';'); + } + } + return string; + }, + + /** + * Decodes string from HTML entities. + * + * @method htmlEntitiesDecode + * @param {String} string String to be decoded + * @return {String} Decoded string + * @public + * @static + * @sample Ink_Util_String_htmlEntitiesDecode.html + */ + htmlEntitiesDecode: function(string) + { + if (string && string.replace) { + var re = false; + for (var i = 0; i < InkUtilString._entities.length; i++) { + re = new RegExp("&"+InkUtilString._entities[i]+";", "gm"); + string = string.replace(re, InkUtilString._chars[i]); + } + string = string.replace(/&#[^;]+;?/g, function($0){ + if ($0.charAt(2) === 'x') { + return String.fromCharCode(parseInt($0.substring(3), 16)); + } + else { + return String.fromCharCode(parseInt($0.substring(2), 10)); + } + }); + } + return string; + }, + + /** + * Encode a string to UTF-8. + * + * @method utf8Encode + * @param {String} string String to be encoded + * @return {String} string UTF-8 encoded string + * @public + * @static + */ + utf8Encode: function(string) { + /*jshint bitwise:false*/ + string = string.replace(/\r\n/g,"\n"); + var utfstring = ""; + + for (var n = 0; n < string.length; n++) { + + var c = string.charCodeAt(n); + + if (c < 128) { + utfstring += String.fromCharCode(c); + } + else if((c > 127) && (c < 2048)) { + utfstring += String.fromCharCode((c >> 6) | 192); + utfstring += String.fromCharCode((c & 63) | 128); + } + else { + utfstring += String.fromCharCode((c >> 12) | 224); + utfstring += String.fromCharCode(((c >> 6) & 63) | 128); + utfstring += String.fromCharCode((c & 63) | 128); + } + + } + return utfstring; + }, + + /** + * Truncates a string without breaking words. + * + * @method shortString + * @param {String} str String to truncate + * @param {Number} n Number of chars of the short string + * @return {String} + * @public + * @static + * @sample Ink_Util_String_shortString.html + */ + shortString: function(str,n) { + var words = str.split(' '); + var resultstr = ''; + for(var i = 0; i < words.length; i++ ){ + if((resultstr + words[i] + ' ').length>=n){ + resultstr += '…'; + break; + } + resultstr += words[i] + ' '; + } + return resultstr; + }, + + /** + * Truncates a string, breaking words and adding ... at the end. + * + * @method truncateString + * @param {String} str String to truncate + * @param {Number} length Limit for the returned string, ellipsis included. + * @return {String} Truncated String + * @public + * @static + * @sample Ink_Util_String_truncateString.html + */ + truncateString: function(str, length) { + if(str.length - 1 > length) { + return str.substr(0, length - 1) + "\u2026"; + } else { + return str; + } + }, + + /** + * Decodes a string from UTF-8. + * + * @method utf8Decode + * @param {String} string String to be decoded + * @return {String} Decoded string + * @public + * @static + */ + utf8Decode: function(utfstring) { + /*jshint bitwise:false*/ + var string = ""; + var i = 0, c = 0, c2 = 0, c3 = 0; + + while ( i < utfstring.length ) { + + c = utfstring.charCodeAt(i); + + if (c < 128) { + string += String.fromCharCode(c); + i++; + } + else if((c > 191) && (c < 224)) { + c2 = utfstring.charCodeAt(i+1); + string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + i += 2; + } + else { + c2 = utfstring.charCodeAt(i+1); + c3 = utfstring.charCodeAt(i+2); + string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + i += 3; + } + + } + return string; + }, + + /** + * Removes all accented characters from a string. + * + * @method removeAccentedChars + * @param {String} string String to remove accents from + * @return {String} String without accented chars + * @public + * @static + * @sample Ink_Util_String_removeAccentedChars.html + */ + removeAccentedChars: function(string) + { + var newString = string; + var re = false; + for (var i = 0; i < InkUtilString._accentedChars.length; i++) { + re = new RegExp(InkUtilString._accentedChars[i], "gm"); + newString = newString.replace(re, '' + InkUtilString._accentedRemovedChars[i] + ''); + } + return newString; + }, + + /** + * Count the number of occurrences of a specific needle in a haystack + * + * @method substrCount + * @param {String} haystack String to search in + * @param {String} needle String to search for + * @return {Number} Number of occurrences + * @public + * @static + * @sample Ink_Util_String_substrCount.html + */ + substrCount: function(haystack,needle) + { + return haystack ? haystack.split(needle).length - 1 : 0; + }, + + /** + * Eval a JSON - We recommend you Ink.Util.Json + * + * @method evalJSON + * @param {String} strJSON JSON string to eval + * @param {Boolean} sanitize Flag to sanitize input + * @return {Object} JS Object + * @public + * @static + */ + evalJSON: function(strJSON, sanitize) { + /* jshint evil:true */ + if( (typeof sanitize === 'undefined' || sanitize === null) || InkUtilString.isJSON(strJSON)) { + try { + if(typeof(JSON) !== "undefined" && typeof(JSON.parse) !== 'undefined'){ + return JSON.parse(strJSON); + } + return eval('('+strJSON+')'); + } catch(e) { + throw new Error('ERROR: Bad JSON string...'); + } + } + }, + + /** + * Checks if a string is a valid JSON object (string encoded) + * + * @method isJSON + * @param {String} str String to check + * @return {Boolean} + * @public + * @static + */ + isJSON: function(str) + { + str = str.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''); + return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str); + }, + + /** + * Escapes unsafe html chars as HTML entities + * + * @method htmlEscapeUnsafe + * @param {String} str String to escape + * @return {String} Escaped string + * @public + * @static + * @sample Ink_Util_String_htmlEscapeUnsafe.html + */ + htmlEscapeUnsafe: function(str){ + var chars = InkUtilString._htmlUnsafeChars; + return str !== null ? String(str).replace(/[<>&'"]/g,function(c){return chars[c];}) : str; + }, + + /** + * Normalizes whitespace in string. + * String is trimmed and sequences of whitespaces are collapsed. + * + * @method normalizeWhitespace + * @param {String} str String to normalize + * @return {String} Normalized string + * @public + * @static + * @sample Ink_Util_String_normalizeWhitespace.html + */ + normalizeWhitespace: function(str){ + return str !== null ? InkUtilString.trim(String(str).replace(/\s+/g,' ')) : str; + }, + + /** + * Converts string to unicode. + * + * @method toUnicode + * @param {String} str String to convert + * @return {String} Unicoded String + * @public + * @static + * @sample Ink_Util_String_toUnicode.html + */ + toUnicode: function(str) { + if (typeof str === 'string') { + var unicodeString = ''; + var inInt = false; + var theUnicode = false; + var total = str.length; + var i=0; + + while(i < total) + { + inInt = str.charCodeAt(i); + if( (inInt >= 32 && inInt <= 126) || + inInt === 8 || + inInt === 9 || + inInt === 10 || + inInt === 12 || + inInt === 13 || + inInt === 32 || + inInt === 34 || + inInt === 47 || + inInt === 58 || + inInt === 92) { + + /* + if(inInt == 34 || inInt == 92 || inInt == 47) { + theUnicode = '\\'+str.charAt(i); + } else { + } + */ + if(inInt === 8) { + theUnicode = '\\b'; + } else if(inInt === 9) { + theUnicode = '\\t'; + } else if(inInt === 10) { + theUnicode = '\\n'; + } else if(inInt === 12) { + theUnicode = '\\f'; + } else if(inInt === 13) { + theUnicode = '\\r'; + } else { + theUnicode = str.charAt(i); + } + } else { + theUnicode = str.charCodeAt(i).toString(16)+''.toUpperCase(); + while (theUnicode.length < 4) { + theUnicode = '0' + theUnicode; + } + theUnicode = '\\u' + theUnicode; + } + unicodeString += theUnicode; + + i++; + } + return unicodeString; + } + }, + + /** + * Escapes a unicode character. + * + * @method escape + * @param {String} c Character to escape + * @return {String} Escaped character. Returns \xXX if hex smaller than 0x100, otherwise \uXXXX + * @public + * @static + * @sample Ink_Util_String_escape.html + */ + escape: function(c) { + var hex = (c).charCodeAt(0).toString(16).split(''); + if (hex.length < 3) { + while (hex.length < 2) { hex.unshift('0'); } + hex.unshift('x'); + } + else { + while (hex.length < 4) { hex.unshift('0'); } + hex.unshift('u'); + } + + hex.unshift('\\'); + return hex.join(''); + }, + + /** + * Unescapes a unicode character escape sequence + * + * @method unescape + * @param {String} es Escape sequence + * @return {String} String un-unicoded + * @public + * @static + * @sample Ink_Util_String_unescape.html + */ + unescape: function(es) { + var idx = es.lastIndexOf('0'); + idx = idx === -1 ? 2 : Math.min(idx, 2); + //console.log(idx); + var hexNum = es.substring(idx); + //console.log(hexNum); + var num = parseInt(hexNum, 16); + return String.fromCharCode(num); + }, + + /** + * Escapes a string to unicode characters + * + * @method escapeText + * @param {String} txt + * @param {Array} [whiteList] Whitelist of characters + * @return {String} String escaped to Unicode + * @public + * @static + * @sample Ink_Util_String_escapeText.html + */ + escapeText: function(txt, whiteList) { + if (whiteList === undefined) { + whiteList = ['[', ']', '\'', ',']; + } + var txt2 = []; + var c, C; + for (var i = 0, f = txt.length; i < f; ++i) { + c = txt[i]; + C = c.charCodeAt(0); + if (C < 32 || C > 126 && whiteList.indexOf(c) === -1) { + c = InkUtilString.escape(c); + } + txt2.push(c); + } + return txt2.join(''); + }, + + /** + * Regex to check escaped strings + * + * @property escapedCharRegex + * @type {Regex} + * @public + * @readOnly + * @static + */ + escapedCharRegex: /(\\x[0-9a-fA-F]{2})|(\\u[0-9a-fA-F]{4})/g, + + /** + * Unescapes a string + * + * @method unescapeText + * @param {String} txt + * @return {String} Unescaped string + * @public + * @static + * @sample Ink_Util_String_unescapeText.html + */ + unescapeText: function(txt) { + /*jshint boss:true */ + var m; + while (m = InkUtilString.escapedCharRegex.exec(txt)) { + m = m[0]; + txt = txt.replace(m, InkUtilString.unescape(m)); + InkUtilString.escapedCharRegex.lastIndex = 0; + } + return txt; + }, + + /** + * Compares two strings. + * + * @method strcmp + * @param {String} str1 First String + * @param {String} str2 Second String + * @return {Number} + * @public + * @static + * @sample Ink_Util_String_strcmp.html + */ + strcmp: function(str1, str2) { + return ((str1 === str2) ? 0 : ((str1 > str2) ? 1 : -1)); + }, + + /** + * Splits a string into smaller chunks + * + * @method packetize + * @param {String} str String to divide + * @param {Number} maxLen Maximum chunk size (in characters) + * @return {Array} Chunks of the original string + * @public + * @static + * @sample Ink_Util_String_packetize.html + */ + packetize: function(str, maxLen) { + var len = str.length; + var parts = new Array( Math.ceil(len / maxLen) ); + var chars = str.split(''); + var sz, i = 0; + while (len) { + sz = Math.min(maxLen, len); + parts[i++] = chars.splice(0, sz).join(''); + len -= sz; + } + return parts; + } + }; + + return InkUtilString; + +}); + +/** + * URL Utilities + * @module Ink.Util.Url_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Url', '1', [], function() { + + 'use strict'; + + /** + * @namespace Ink.Util.Url_1 + */ + var Url = { + + /** + * Auxiliary string for encoding + * + * @property _keyStr + * @type {String} + * @readOnly + * @private + */ + _keyStr : 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', + + + /** + * Gets URL of current page + * + * @method getUrl + * @return Current URL + * @public + * @static + * @sample Ink_Util_Url_getUrl.html + */ + getUrl: function() + { + return window.location.href; + }, + + /** + * Generates an URL string. + * + * @method genQueryString + * @param {String} uri Base URL + * @param {Object} params Object to transform to query string + * @return {String} URI with query string set + * @public + * @static + * @sample Ink_Util_Url_genQueryString.html + */ + genQueryString: function(uri, params) { + var hasQuestionMark = uri.indexOf('?') !== -1; + var sep, pKey, pValue, parts = [uri]; + + for (pKey in params) { + if (params.hasOwnProperty(pKey)) { + if (!hasQuestionMark) { + sep = '?'; + hasQuestionMark = true; + } else { + sep = '&'; + } + pValue = params[pKey]; + if (typeof pValue !== 'number' && !pValue) { + pValue = ''; + } + parts = parts.concat([sep, encodeURIComponent(pKey), '=', encodeURIComponent(pValue)]); + } + } + + return parts.join(''); + }, + + /** + * Gets an object from an URL encoded string. + * + * @method getQueryString + * @param {String} [str] URL String. When not specified it uses the current URL. + * @return {Object} Key-Value pair object + * @public + * @static + * @sample Ink_Util_Url_getQueryString.html + */ + getQueryString: function(str) + { + var url; + if(str && typeof(str) !== 'undefined') { + url = str; + } else { + url = this.getUrl(); + } + var aParams = {}; + if(url.match(/\?(.+)/i)) { + var queryStr = url.replace(/^(.*)\?([^\#]+)(\#(.*))?/g, "$2"); + if(queryStr.length > 0) { + var aQueryStr = queryStr.split(/[;&]/); + for(var i=0; i < aQueryStr.length; i++) { + var pairVar = aQueryStr[i].split('='); + aParams[decodeURIComponent(pairVar[0])] = (typeof(pairVar[1]) !== 'undefined' && pairVar[1]) ? decodeURIComponent(pairVar[1]) : false; + } + } + } + return aParams; + }, + + /** + * Gets the URL hash value + * + * @method getAnchor + * @param {String} [str] URL String. Defaults to current page URL. + * @return {String|Boolean} Hash in the URL. If there's no hash, returns false. + * @public + * @static + * @sample Ink_Util_Url_getAnchor.html + */ + getAnchor: function(str) + { + var url; + if(str && typeof(str) !== 'undefined') { + url = str; + } else { + url = this.getUrl(); + } + var anchor = false; + if(url.match(/#(.+)/)) { + anchor = url.replace(/([^#]+)#(.*)/, "$2"); + } + return anchor; + }, + + /** + * Gets the anchor string of an URL + * + * @method getAnchorString + * @param {String} [string] URL to parse. Defaults to current URL. + * @return {Object} Key-value pair object of the URL's hashtag 'variables' + * @public + * @static + * @sample Ink_Util_Url_getAnchorString.html + */ + getAnchorString: function(string) + { + var url; + if(string && typeof(string) !== 'undefined') { + url = string; + } else { + url = this.getUrl(); + } + var aParams = {}; + if(url.match(/#(.+)/i)) { + var anchorStr = url.replace(/^([^#]+)#(.*)?/g, "$2"); + if(anchorStr.length > 0) { + var aAnchorStr = anchorStr.split(/[;&]/); + for(var i=0; i < aAnchorStr.length; i++) { + var pairVar = aAnchorStr[i].split('='); + aParams[decodeURIComponent(pairVar[0])] = (typeof(pairVar[1]) !== 'undefined' && pairVar[1]) ? decodeURIComponent(pairVar[1]) : false; + } + } + } + return aParams; + }, + + + /** + * Parses URL string into URL parts + * + * @method parseUrl + * @param {String} url URL to be parsed + * @return {Object} Parsed URL as a key-value object. + * @public + * @static + * @sample Ink_Util_Url_parseUrl.html + */ + parseUrl: function(url) { + var aURL = {}; + if(url && typeof url === 'string') { + if(url.match(/^([^:]+):\/\//i)) { + var re = /^([^:]+):\/\/([^\/]*)\/?([^\?#]*)\??([^#]*)#?(.*)/i; + if(url.match(re)) { + aURL.scheme = url.replace(re, "$1"); + aURL.host = url.replace(re, "$2"); + aURL.path = '/'+url.replace(re, "$3"); + aURL.query = url.replace(re, "$4") || false; + aURL.fragment = url.replace(re, "$5") || false; + } + } else { + var re1 = new RegExp("^([^\\?]+)\\?([^#]+)#(.*)", "i"); + var re2 = new RegExp("^([^\\?]+)\\?([^#]+)#?", "i"); + var re3 = new RegExp("^([^\\?]+)\\??", "i"); + if(url.match(re1)) { + aURL.scheme = false; + aURL.host = false; + aURL.path = url.replace(re1, "$1"); + aURL.query = url.replace(re1, "$2"); + aURL.fragment = url.replace(re1, "$3"); + } else if(url.match(re2)) { + aURL.scheme = false; + aURL.host = false; + aURL.path = url.replace(re2, "$1"); + aURL.query = url.replace(re2, "$2"); + aURL.fragment = false; + } else if(url.match(re3)) { + aURL.scheme = false; + aURL.host = false; + aURL.path = url.replace(re3, "$1"); + aURL.query = false; + aURL.fragment = false; + } + } + if(aURL.host) { + var regPort = /^(.*?)\\:(\\d+)$/i; + // check for port + if(aURL.host.match(regPort)) { + var tmpHost1 = aURL.host; + aURL.host = tmpHost1.replace(regPort, "$1"); + aURL.port = tmpHost1.replace(regPort, "$2"); + } else { + aURL.port = false; + } + // check for user and pass + if(aURL.host.match(/@/i)) { + var tmpHost2 = aURL.host; + aURL.host = tmpHost2.split('@')[1]; + var tmpUserPass = tmpHost2.split('@')[0]; + if(tmpUserPass.match(/\:/)) { + aURL.user = tmpUserPass.split(':')[0]; + aURL.pass = tmpUserPass.split(':')[1]; + } else { + aURL.user = tmpUserPass; + aURL.pass = false; + } + } + } + } + return aURL; + }, + + /** + * Formats an URL object into an URL string. + * + * @method format + * @param urlObj Window.location, a.href, or parseUrl object to format + * @return {String} Full URL. + */ + format: function (urlObj) { + var protocol = ''; + var host = ''; + var path = ''; + var frag = ''; + var query = ''; + + if (typeof urlObj.protocol === 'string') { + protocol = urlObj.protocol + '//'; // here it comes with the colon + } else if (typeof urlObj.scheme === 'string') { + protocol = urlObj.scheme + '://'; + } + + host = urlObj.host || urlObj.hostname || ''; + path = urlObj.path || ''; + + if (typeof urlObj.query === 'string') { + query = urlObj.query; + } else if (typeof urlObj.search === 'string') { + query = urlObj.search.replace(/^\?/, ''); + } + if (typeof urlObj.fragment === 'string') { + frag = urlObj.fragment; + } else if (typeof urlObj.hash === 'string') { + frag = urlObj.hash.replace(/#$/, ''); + } + + return [ + protocol, + host, + path, + query && '?' + query, + frag && '#' + frag + ].join(''); + }, + + /** + * Gets the last loaded script element + * + * @method currentScriptElement + * @param {String} [match] String to match against the script src attribute + * @return {DOMElement|Boolean} Returns the `script` DOM Element or false if unable to find it. + * @public + * @static + * @sample Ink_Util_Url_currentScriptElement.html + */ + currentScriptElement: function(match) + { + var aScripts = document.getElementsByTagName('script'); + if(typeof(match) === 'undefined') { + if(aScripts.length > 0) { + return aScripts[(aScripts.length - 1)]; + } else { + return false; + } + } else { + var curScript = false; + var re = new RegExp(""+match+"", "i"); + for(var i=0, total = aScripts.length; i < total; i++) { + curScript = aScripts[i]; + if(re.test(curScript.src)) { + return curScript; + } + } + return false; + } + }, + + + /* + base64Encode: function(string) + { + /** + * --function {String} ? + * --Convert a string to BASE 64 + * @param {String} string - string to convert + * @return base64 encoded string + * + * + if(!SAPO.Utility.String || typeof(SAPO.Utility.String) === 'undefined') { + throw "SAPO.Utility.Url.base64Encode depends of SAPO.Utility.String, which has not been referred."; + } + + var output = ""; + var chr1, chr2, chr3, enc1, enc2, enc3, enc4; + var i = 0; + + var input = SAPO.Utility.String.utf8Encode(string); + + while (i < input.length) { + + chr1 = input.charCodeAt(i++); + chr2 = input.charCodeAt(i++); + chr3 = input.charCodeAt(i++); + + enc1 = chr1 >> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); + enc4 = chr3 & 63; + + if (isNaN(chr2)) { + enc3 = enc4 = 64; + } else if (isNaN(chr3)) { + enc4 = 64; + } + + output = output + + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); + } + return output; + }, + base64Decode: function(string) + { + * --function {String} ? + * Decode a BASE 64 encoded string + * --param {String} string base64 encoded string + * --return string decoded + if(!SAPO.Utility.String || typeof(SAPO.Utility.String) === 'undefined') { + throw "SAPO.Utility.Url.base64Decode depends of SAPO.Utility.String, which has not been referred."; + } + + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + + var input = string.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + + while (i < input.length) { + + enc1 = this._keyStr.indexOf(input.charAt(i++)); + enc2 = this._keyStr.indexOf(input.charAt(i++)); + enc3 = this._keyStr.indexOf(input.charAt(i++)); + enc4 = this._keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output = output + String.fromCharCode(chr1); + + if (enc3 !== 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 !== 64) { + output = output + String.fromCharCode(chr3); + } + } + output = SAPO.Utility.String.utf8Decode(output); + return output; + }, + */ + + + /** + * Debug function ? + * + * @method _debug + * @private + * @static + */ + _debug: function() {} + + }; + + return Url; + +}); + +/** + * Validation Utilities + * @module Ink.Util.Validator_1 + * @version 1 + */ + +Ink.createModule('Ink.Util.Validator', '1', [], function() { + + 'use strict'; + + /** + * @namespace Ink.Util.Validator_1 + */ + var Validator = { + + /** + * List of country codes avaible for the isPhone method + * + * @property _countryCodes + * @type {Array} + * @private + * @static + * @readOnly + */ + _countryCodes : [ + 'AO', + 'CV', + 'MZ', + 'PT' + ], + + /** + * International number for portugal + * + * @property _internacionalPT + * @type {Number} + * @private + * @static + * @readOnly + * + */ + _internacionalPT: 351, + + /** + * List of all portuguese number prefixes + * + * @property _indicativosPT + * @type {Object} + * @private + * @static + * @readOnly + * + */ + _indicativosPT: { + 21: 'lisboa', + 22: 'porto', + 231: 'mealhada', + 232: 'viseu', + 233: 'figueira da foz', + 234: 'aveiro', + 235: 'arganil', + 236: 'pombal', + 238: 'seia', + 239: 'coimbra', + 241: 'abrantes', + 242: 'ponte de sôr', + 243: 'santarém', + 244: 'leiria', + 245: 'portalegre', + 249: 'torres novas', + 251: 'valença', + 252: 'vila nova de famalicão', + 253: 'braga', + 254: 'peso da régua', + 255: 'penafiel', + 256: 'são joão da madeira', + 258: 'viana do castelo', + 259: 'vila real', + 261: 'torres vedras', + 262: 'caldas da raínha', + 263: 'vila franca de xira', + 265: 'setúbal', + 266: 'évora', + 268: 'estremoz', + 269: 'santiago do cacém', + 271: 'guarda', + 272: 'castelo branco', + 273: 'bragança', + 274: 'proença-a-nova', + 275: 'covilhã', + 276: 'chaves', + 277: 'idanha-a-nova', + 278: 'mirandela', + 279: 'moncorvo', + 281: 'tavira', + 282: 'portimão', + 283: 'odemira', + 284: 'beja', + 285: 'moura', + 286: 'castro verde', + 289: 'faro', + 291: 'funchal, porto santo', + 292: 'corvo, faial, flores, horta, pico', + 295: 'angra do heroísmo, graciosa, são jorge, terceira', + 296: 'ponta delgada, são miguel, santa maria', + + 91 : 'rede móvel 91 (Vodafone / Yorn)', + 93 : 'rede móvel 93 (Optimus)', + 96 : 'rede móvel 96 (TMN)', + 92 : 'rede móvel 92 (TODOS)', + //925 : 'rede móvel 925 (TMN 925)', + //926 : 'rede móvel 926 (TMN 926)', + //927 : 'rede móvel 927 (TMN 927)', + //922 : 'rede móvel 922 (Phone-ix)', + + 707: 'número único', + 760: 'número único', + 800: 'número grátis', + 808: 'chamada local', + 30: 'voip' + }, + /** + * International number for Cabo Verde + * + * @property _internacionalCV + * @type {Number} + * @private + * @static + * @readOnly + */ + _internacionalCV: 238, + + /** + * List of all Cabo Verde number prefixes + * + * @property _indicativosCV + * @type {Object} + * @private + * @static + * @readOnly + */ + _indicativosCV: { + 2: 'fixo', + 91: 'móvel 91', + 95: 'móvel 95', + 97: 'móvel 97', + 98: 'móvel 98', + 99: 'móvel 99' + }, + /** + * International number for Angola + * + * @property _internacionalAO + * @type {Number} + * @private + * @static + * @readOnly + */ + _internacionalAO: 244, + + /** + * List of all Angola number prefixes + * + * @property _indicativosAO + * @type {Object} + * @private + * @static + * @readOnly + */ + _indicativosAO: { + 2: 'fixo', + 91: 'móvel 91', + 92: 'móvel 92' + }, + /** + * International number for Mozambique + * + * @property _internacionalMZ + * @type {Number} + * @private + * @static + * @readOnly + */ + _internacionalMZ: 258, + + /** + * List of all Mozambique number prefixes + * + * @property _indicativosMZ + * @type {Object} + * @private + * @static + * @readOnly + */ + _indicativosMZ: { + 2: 'fixo', + 82: 'móvel 82', + 84: 'móvel 84' + }, + + /** + * International number for Timor + * + * @property _internacionalTL + * @type {Number} + * @private + * @static + * @readOnly + */ + _internacionalTL: 670, + + /** + * List of all Timor number prefixes + * + * @property _indicativosTL + * @type {Object} + * @private + * @static + * @readOnly + */ + _indicativosTL: { + 3: 'fixo', + 7: 'móvel 7' + }, + + /** + * Regular expression groups for several groups of characters + * + * http://en.wikipedia.org/wiki/C0_Controls_and_Basic_Latin + * http://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane + * http://en.wikipedia.org/wiki/ISO_8859-1 + * + * @property _characterGroups + * @type {Object} + * @private + * @static + * @readOnly + */ + _characterGroups: { + numbers: ['0-9'], + asciiAlpha: ['a-zA-Z'], + latin1Alpha: ['a-zA-Z', '\u00C0-\u00FF'], + unicodeAlpha: ['a-zA-Z', '\u00C0-\u00FF', '\u0100-\u1FFF', '\u2C00-\uD7FF'], + /* whitespace characters */ + space: [' '], + dash: ['-'], + underscore: ['_'], + nicknamePunctuation: ['_.-'], + + singleLineWhitespace: ['\t '], + newline: ['\n'], + whitespace: ['\t\n\u000B\f\r\u00A0 '], + + asciiPunctuation: ['\u0021-\u002F', '\u003A-\u0040', '\u005B-\u0060', '\u007B-\u007E'], + latin1Punctuation: ['\u0021-\u002F', '\u003A-\u0040', '\u005B-\u0060', '\u007B-\u007E', '\u00A1-\u00BF', '\u00D7', '\u00F7'], + unicodePunctuation: ['\u0021-\u002F', '\u003A-\u0040', '\u005B-\u0060', '\u007B-\u007E', '\u00A1-\u00BF', '\u00D7', '\u00F7', '\u2000-\u206F', '\u2E00-\u2E7F', '\u3000-\u303F'] + }, + + /** + * Creates a regular expression for several character groups. + * + * @method createRegExp + * + * @param Groups* {Object} + * Groups to build regular expressions for. Possible keys are: + * + * - **numbers**: 0-9 + * - **asciiAlpha**: a-z, A-Z + * - **latin1Alpha**: asciiAlpha, plus printable characters in latin-1 + * - **unicodeAlpha**: unicode alphanumeric characters. + * - **space**: ' ', the space character. + * - **dash**: dash character. + * - **underscore**: underscore character. + * - **nicknamePunctuation**: dash, dot, underscore + * - **singleLineWhitespace**: space and tab (whitespace which only spans one line). + * - **newline**: newline character ('\n') + * - **whitespace**: whitespace characters in the ASCII character set. + * - **asciiPunctuation**: punctuation characters in the ASCII character set. + * - **latin1Punctuation**: punctuation characters in latin-1. + * - **unicodePunctuation**: punctuation characters in unicode. + * + */ + createRegExp: function (groups) { + var re = '^['; + for (var key in groups) if (groups.hasOwnProperty(key)) { + if (!(key in Validator._characterGroups)) { + throw new Error('group ' + key + ' is not a valid character group'); + } else if (groups[key]) { + re += Validator._characterGroups[key].join(''); + } + } + if (re === '^[') { + // No changes + return new RegExp('$^'); // match nothing + } + return new RegExp(re + ']*?$'); + }, + + /** + * Checks if a field has the required groups. + * + * @method checkCharacterGroups + * @param {String} s The validation string + * @param {Object} [groups]={} What groups are included. See createRegexp + * @sample Ink_Util_Validator_checkCharacterGroups.html + */ + checkCharacterGroups: function (s, groups) { + return Validator.createRegExp(groups).test(s); + }, + + /** + * Checks if a field contains unicode printable characters. + * + * @method unicode + * @param {String} s The validation string + * @param {Object} [options]={} Optional configuration object. See createRegexp + */ + unicode: function (s, options) { + return Validator.checkCharacterGroups(s, Ink.extendObj({ + unicodeAlpha: true}, options)); + }, + + /** + * Checks if a field only contains latin-1 alphanumeric characters. + * Takes options for allowing singleline whitespace, cross-line whitespace and punctuation. + * + * @method latin1 + * + * @param {String} s The validation string + * @param {Object} [options]={} Optional configuration object. See createRegexp + * @sample Ink_Util_Validator_latin1.html + */ + latin1: function (s, options) { + return Validator.checkCharacterGroups(s, Ink.extendObj({ + latin1Alpha: true}, options)); + }, + + /** + * Checks if a field only contains only ASCII alphanumeric characters. + * Takes options for allowing singleline whitespace, cross-line whitespace and punctuation. + * + * @method ascii + * + * @param {String} s The validation string + * @param {Object} [options]={} Optional configuration object. See createRegexp + * @sample Ink_Util_Validator_ascii.html + */ + ascii: function (s, options) { + return Validator.checkCharacterGroups(s, Ink.extendObj({ + asciiAlpha: true}, options)); + }, + + /** + * Checks if a number is a valid + * + * @method number + * @param {String} numb The number + * @param {Object} [options] Further options + * @param [options.decimalSep]='.' Allow decimal separator. + * @param [options.thousandSep]="," Strip this character from the number. + * @param [options.negative]=false Allow negative numbers. + * @param [options.decimalPlaces]=null Maximum number of decimal places. Use `0` for an integer number. + * @param [options.max]=null Maximum number + * @param [options.min]=null Minimum number + * @param [options.returnNumber]=false When this option is true, return the number itself when the value is valid. + * @sample Ink_Util_Validator_number.html + */ + number: function (numb, inOptions) { + numb = numb + ''; + var options = Ink.extendObj({ + decimalSep: '.', + thousandSep: '', + negative: true, + decimalPlaces: null, + maxDigits: null, + max: null, + min: null, + returnNumber: false + }, inOptions || {}); + // smart recursion thing sets up aliases for options. + if (options.thousandSep) { + numb = numb.replace(new RegExp('\\' + options.thousandSep, 'g'), ''); + options.thousandSep = ''; + return Validator.number(numb, options); + } + if (options.negative === false) { + options.min = 0; + options.negative = true; + return Validator.number(numb, options); + } + if (options.decimalSep !== '.') { + numb = numb.replace(new RegExp('\\' + options.decimalSep, 'g'), '.'); + } + + if (!/^(-)?(\d+)?(\.\d+)?$/.test(numb) || numb === '') { + return false; // forbidden character found + } + + var split; + if (options.decimalSep && numb.indexOf(options.decimalSep) !== -1) { + split = numb.split(options.decimalSep); + if (options.decimalPlaces !== null && + split[1].length > options.decimalPlaces) { + return false; + } + } else { + split = ['' + numb, '']; + } + + if (options.maxDigits!== null) { + if (split[0].replace(/-/g, '').length > options.maxDigits) { + return split; + } + } + + // Now look at the actual float + var ret = parseFloat(numb); + + if (options.maxExcl !== null && ret >= options.maxExcl || + options.minExcl !== null && ret <= options.minExcl) { + return false; + } + if (options.max !== null && ret > options.max || + options.min !== null && ret < options.min) { + return false; + } + + if (options.returnNumber) { + return ret; + } else { + return true; + } + }, + + /** + * Checks if a year is Leap "Bissexto" + * + * @method _isLeapYear + * @param {Number} year Year to be checked + * @return {Boolean} True if it is a leap year. + * @private + * @static + * @example + * Ink.requireModules(['Ink.Util.Validator_1'], function( InkValidator ){ + * console.log( InkValidator._isLeapYear( 2004 ) ); // Result: true + * console.log( InkValidator._isLeapYear( 2006 ) ); // Result: false + * }); + */ + _isLeapYear: function(year){ + + var yearRegExp = /^\d{4}$/; + + if(yearRegExp.test(year)){ + return ((year%4) ? false: ((year%100) ? true : ((year%400)? false : true)) ); + } + + return false; + }, + + /** + * Object with the date formats available for validation + * + * @property _dateParsers + * @type {Object} + * @private + * @static + * @readOnly + */ + _dateParsers: { + 'yyyy-mm-dd': {day:5, month:3, year:1, sep: '-', parser: /^(\d{4})(\-)(\d{1,2})(\-)(\d{1,2})$/}, + 'yyyy/mm/dd': {day:5, month:3, year:1, sep: '/', parser: /^(\d{4})(\/)(\d{1,2})(\/)(\d{1,2})$/}, + 'yy-mm-dd': {day:5, month:3, year:1, sep: '-', parser: /^(\d{2})(\-)(\d{1,2})(\-)(\d{1,2})$/}, + 'yy/mm/dd': {day:5, month:3, year:1, sep: '/', parser: /^(\d{2})(\/)(\d{1,2})(\/)(\d{1,2})$/}, + 'dd-mm-yyyy': {day:1, month:3, year:5, sep: '-', parser: /^(\d{1,2})(\-)(\d{1,2})(\-)(\d{4})$/}, + 'dd/mm/yyyy': {day:1, month:3, year:5, sep: '/', parser: /^(\d{1,2})(\/)(\d{1,2})(\/)(\d{4})$/}, + 'dd-mm-yy': {day:1, month:3, year:5, sep: '-', parser: /^(\d{1,2})(\-)(\d{1,2})(\-)(\d{2})$/}, + 'dd/mm/yy': {day:1, month:3, year:5, sep: '/', parser: /^(\d{1,2})(\/)(\d{1,2})(\/)(\d{2})$/} + }, + + /** + * Gets the number of days in a given month of a given year + * + * @method _daysInMonth + * @param {Number} _m Month (1 to 12) + * @param {Number} _y Year + * @return {Number} Returns the number of days in a given month of a given year + * @private + * @static + * @example + * Ink.requireModules(['Ink.Util.Validator_1'], function( InkValidator ){ + * console.log( InkValidator._daysInMonth( 2, 2004 ) ); // Result: 29 + * console.log( InkValidator._daysInMonth( 2, 2006 ) ); // Result: 28 + * }); + */ + _daysInMonth: function(_m,_y){ + var nDays=0; + + _m = parseInt(_m, 10); + _y = parseInt(_y, 10); + + if(_m===1 || _m===3 || _m===5 || _m===7 || _m===8 || _m===10 || _m===12) { + nDays= 31; + } else if ( _m===4 || _m===6 || _m===9 || _m===11) { + nDays = 30; + } else if (_m===2) { + if((_y%400===0) || (_y%4===0 && _y%100!==0)) { + nDays = 29; + } else { + nDays = 28; + } + } + + return nDays; + }, + + + + /** + * Checks if a date is valid + * + * @method _isValidDate + * @param {Number} year + * @param {Number} month + * @param {Number} day + * @return {Boolean} True if valid + * @private + * @static + * @example + * Ink.requireModules(['Ink.Util.Validator_1'], function( InkValidator ){ + * console.log( InkValidator._isValidDate( 2004, 2, 29 ) ); // Result: true + * console.log( InkValidator._isValidDate( 2006, 2, 29 ) ); // Result: false + * }); + */ + _isValidDate: function(year, month, day){ + + var yearRegExp = /^\d{4}$/; + var validOneOrTwo = /^\d{1,2}$/; + if(yearRegExp.test(year) && validOneOrTwo.test(month) && validOneOrTwo.test(day)){ + if(month>=1 && month<=12 && day>=1 && this._daysInMonth(month,year)>=day){ + return true; + } + } + + return false; + }, + + /** + * Checks if an email is valid + * + * @method mail + * @param {String} email + * @return {Boolean} True if it's valid + * @public + * @static + * @sample Ink_Util_Validator_mail.html + */ + email: function(email) + { + var emailValido = new RegExp("^[_a-z0-9-]+((\\.|\\+)[_a-z0-9-]+)*@([\\w]*-?[\\w]*\\.)+[a-z]{2,4}$", "i"); + if(!emailValido.test(email)) { + return false; + } else { + return true; + } + }, + + /** + * Deprecated. Alias for email(). Use it instead. + * + * @method mail + * @public + * @static + * @private + */ + mail: function (mail) { return Validator.email(mail); }, + + /** + * Checks if an url is valid + * + * @method url + * @param {String} url URL to be checked + * @param {Boolean} [full] If true, validates a full URL (one that should start with 'http') + * @return {Boolean} True if valid + * @public + * @static + * @sample Ink_Util_Validator_url.html + */ + url: function(url, full) + { + if(typeof full === "undefined" || full === false) { + var reHTTP = new RegExp("(^(http\\:\\/\\/|https\\:\\/\\/)(.+))", "i"); + if(reHTTP.test(url) === false) { + url = 'http://'+url; + } + } + + var reUrl = new RegExp("^(http:\\/\\/|https:\\/\\/)([\\w]*(-?[\\w]*)*\\.)+[a-z]{2,4}", "i"); + if(reUrl.test(url) === false) { + return false; + } else { + return true; + } + }, + + /** + * Checks if a phone is valid in Portugal + * + * @method isPTPhone + * @param {Number} phone Phone number to be checked + * @return {Boolean} True if it's a valid Portuguese Phone + * @public + * @static + * @sample Ink_Util_Validator_isPTPhone.html + */ + isPTPhone: function(phone) + { + + phone = phone.toString(); + var aInd = []; + for(var i in this._indicativosPT) { + if(typeof(this._indicativosPT[i]) === 'string') { + aInd.push(i); + } + } + var strInd = aInd.join('|'); + + var re351 = /^(00351|\+351)/; + if(re351.test(phone)) { + phone = phone.replace(re351, ""); + } + + var reSpecialChars = /(\s|\-|\.)+/g; + phone = phone.replace(reSpecialChars, ''); + //var reInt = new RegExp("\\d", "i"); + var reInt = /[\d]{9}/i; + if(phone.length === 9 && reInt.test(phone)) { + var reValid = new RegExp("^("+strInd+")"); + if(reValid.test(phone)) { + return true; + } + } + + return false; + }, + + /** + * Alias function for isPTPhone + * + * @method isPortuguesePhone + * @param {Number} phone Phone number to be checked + * @return {Boolean} True if it's a valid Portuguese Phone + * @public + * @static + */ + isPortuguesePhone: function(phone) + { + return this.isPTPhone(phone); + }, + + /** + * Checks if a phone is valid in Cabo Verde + * + * @method isCVPhone + * @param {Number} phone Phone number to be checked + * @return {Boolean} True if it's a valid Cape Verdean Phone + * @public + * @static + * @sample Ink_Util_Validator_isCVPhone.html + */ + isCVPhone: function(phone) + { + phone = phone.toString(); + var aInd = []; + for(var i in this._indicativosCV) { + if(typeof(this._indicativosCV[i]) === 'string') { + aInd.push(i); + } + } + var strInd = aInd.join('|'); + + var re238 = /^(00238|\+238)/; + if(re238.test(phone)) { + phone = phone.replace(re238, ""); + } + + var reSpecialChars = /(\s|\-|\.)+/g; + phone = phone.replace(reSpecialChars, ''); + //var reInt = new RegExp("\\d", "i"); + var reInt = /[\d]{7}/i; + if(phone.length === 7 && reInt.test(phone)) { + var reValid = new RegExp("^("+strInd+")"); + if(reValid.test(phone)) { + return true; + } + } + + return false; + }, + + /** + * Checks if a phone is valid in Angola + * + * @method isAOPhone + * @param {Number} phone Phone number to be checked + * @return {Boolean} True if it's a valid Angolan Phone + * @public + * @static + * @sample Ink_Util_Validator_isAOPhone.html + */ + isAOPhone: function(phone) + { + + phone = phone.toString(); + var aInd = []; + for(var i in this._indicativosAO) { + if(typeof(this._indicativosAO[i]) === 'string') { + aInd.push(i); + } + } + var strInd = aInd.join('|'); + + var re244 = /^(00244|\+244)/; + if(re244.test(phone)) { + phone = phone.replace(re244, ""); + } + + var reSpecialChars = /(\s|\-|\.)+/g; + phone = phone.replace(reSpecialChars, ''); + //var reInt = new RegExp("\\d", "i"); + var reInt = /[\d]{9}/i; + if(phone.length === 9 && reInt.test(phone)) { + var reValid = new RegExp("^("+strInd+")"); + if(reValid.test(phone)) { + return true; + } + } + + return false; + }, + + /** + * Checks if a phone is valid in Mozambique + * + * @method isMZPhone + * @param {Number} phone Phone number to be checked + * @return {Boolean} True if it's a valid Mozambican Phone + * @public + * @static + * @sample Ink_Util_Validator_isMZPhone.html + */ + isMZPhone: function(phone) + { + + phone = phone.toString(); + var aInd = []; + for(var i in this._indicativosMZ) { + if(typeof(this._indicativosMZ[i]) === 'string') { + aInd.push(i); + } + } + var strInd = aInd.join('|'); + var re258 = /^(00258|\+258)/; + if(re258.test(phone)) { + phone = phone.replace(re258, ""); + } + + var reSpecialChars = /(\s|\-|\.)+/g; + phone = phone.replace(reSpecialChars, ''); + //var reInt = new RegExp("\\d", "i"); + var reInt = /[\d]{8,9}/i; + if((phone.length === 9 || phone.length === 8) && reInt.test(phone)) { + var reValid = new RegExp("^("+strInd+")"); + if(reValid.test(phone)) { + if(phone.indexOf('2') === 0 && phone.length === 8) { + return true; + } else if(phone.indexOf('8') === 0 && phone.length === 9) { + return true; + } + } + } + + return false; + }, + + /** + * Checks if a phone is valid in Timor + * + * @method isTLPhone + * @param {Number} phone Phone number to be checked + * @return {Boolean} True if it's a valid phone from Timor-Leste + * @public + * @static + * @sample Ink_Util_Validator_isTLPhone.html + */ + isTLPhone: function(phone) + { + + phone = phone.toString(); + var aInd = []; + for(var i in this._indicativosTL) { + if(typeof(this._indicativosTL[i]) === 'string') { + aInd.push(i); + } + } + var strInd = aInd.join('|'); + var re670 = /^(00670|\+670)/; + if(re670.test(phone)) { + phone = phone.replace(re670, ""); + } + + + var reSpecialChars = /(\s|\-|\.)+/g; + phone = phone.replace(reSpecialChars, ''); + //var reInt = new RegExp("\\d", "i"); + var reInt = /[\d]{7}/i; + if(phone.length === 7 && reInt.test(phone)) { + var reValid = new RegExp("^("+strInd+")"); + if(reValid.test(phone)) { + return true; + } + } + + return false; + }, + + /** + * Checks if a number is a phone number. + * This method validates the number in all country codes available the ones set in the second param + * + * @method isPhone + * @param {String} phone Phone number to validate + * @param {String|Array} [countryCode] Country code or array of countries to validate + * @return {Boolean} True if it's a valid phone in any country available + * @public + * @static + * @sample Ink_Util_Validator_isPhone.html + */ + isPhone: function(){ + var index; + + if(arguments.length===0){ + return false; + } + + var phone = arguments[0]; + + if(arguments.length>1){ + if(arguments[1].constructor === Array){ + var func; + for(index=0; index= 0 && match[i-1] <= 100){ + valid = true; + } else { + return false; + } + } + // check 0 to 255 values + if(i===1 || i===3 || i===5 && (typeof match[i+1] === "undefined" || match[i+1] === "")){ + if(typeof match[i] !== "undefined" && match[i] >= 0 && match[i] <= 255){ + valid = true; + } else { + return false; + } + } + } + } + + // hsl range check + if((match = hsl.exec(str)) !== null || (match = hsla.exec(str)) !== null){ + i = match.length; + while(i--){ + // check percentage values + if(i===3 || i===5){ + if(typeof match[i-1] !== "undefined" && typeof match[i] !== "undefined" && match[i] !== "" && + match[i-1] >= 0 && match[i-1] <= 100){ + valid = true; + } else { + return false; + } + } + // check 0 to 360 value + if(i===1){ + if(typeof match[i] !== "undefined" && match[i] >= 0 && match[i] <= 360){ + valid = true; + } else { + return false; + } + } + } + } + + return valid; + }, + + /** + * Checks if the value is a valid IP. + * + * @method isIP + * @param {String} value Value to be checked + * @param {String} ipType Type of IP to be validated. The values are: ipv4, ipv6. By default is ipv4. + * @return {Boolean} True if the value is a valid IP address. False if not. + * @sample Ink_Util_Validator_isIP.html + */ + isIP: function( value, ipType ){ + if( typeof value !== 'string' ){ + return false; + } + + ipType = (ipType || 'ipv4').toLowerCase(); + + switch( ipType ){ + case 'ipv4': + return (/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/).test(value); + case 'ipv6': + return (/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/).test(value); + default: + return false; + } + }, + + /** + * Credit Card specifications, to be used in the credit card verification. + * + * @property _creditCardSpecs + * @type {Object} + * @private + */ + _creditCardSpecs: { + 'default': { + 'length': '13,14,15,16,17,18,19', + 'prefix': /^.+/, + 'luhn': true + }, + + 'american express': { + 'length': '15', + 'prefix': /^3[47]/, + 'luhn' : true + }, + + 'diners club': { + 'length': '14,16', + 'prefix': /^36|55|30[0-5]/, + 'luhn' : true + }, + + 'discover': { + 'length': '16', + 'prefix': /^6(?:5|011)/, + 'luhn' : true + }, + + 'jcb': { + 'length': '15,16', + 'prefix': /^3|1800|2131/, + 'luhn' : true + }, + + 'maestro': { + 'length': '16,18', + 'prefix': /^50(?:20|38)|6(?:304|759)/, + 'luhn' : true + }, + + 'mastercard': { + 'length': '16', + 'prefix': /^5[1-5]/, + 'luhn' : true + }, + + 'visa': { + 'length': '13,16', + 'prefix': /^4/, + 'luhn' : true + } + }, + + /** + * Luhn function, to be used when validating credit cards + * + */ + _luhn: function (num){ + + num = parseInt(num,10); + + if ( (typeof num !== 'number') && (num % 1 !== 0) ){ + // Luhn can only be used on nums! + return false; + } + + num = num+''; + // Check num length + var length = num.length; + + // Checksum of the card num + var + i, checksum = 0 + ; + + for (i = length - 1; i >= 0; i -= 2) + { + // Add up every 2nd digit, starting from the right + checksum += parseInt(num.substr(i, 1),10); + } + + for (i = length - 2; i >= 0; i -= 2) + { + // Add up every 2nd digit doubled, starting from the right + var dbl = parseInt(num.substr(i, 1) * 2,10); + + // Subtract 9 from the dbl where value is greater than 10 + checksum += (dbl >= 10) ? (dbl - 9) : dbl; + } + + // If the checksum is a multiple of 10, the number is valid + return (checksum % 10 === 0); + }, + + /** + * Checks if a number is of a specific credit card type + * @method isCreditCard + * @param {String} num Number to be validates + * @param {String|Array} creditCardType Credit card type. See _creditCardSpecs for the list of supported values. + * @return {Boolean} + * @sample Ink_Util_Validator_isCreditCard.html + */ + isCreditCard: function(num, creditCardType){ + + if ( /\d+/.test(num) === false ){ + return false; + } + + if ( typeof creditCardType === 'undefined' ){ + creditCardType = 'default'; + } + else if ( creditCardType instanceof Array ){ + var i, ccLength = creditCardType.length; + for ( i=0; i < ccLength; i++ ){ + // Test each type for validity + if (this.isCreditCard(num, creditCardType[i]) ){ + return true; + } + } + + return false; + } + + // Check card type + creditCardType = creditCardType.toLowerCase(); + + if ( typeof this._creditCardSpecs[creditCardType] === 'undefined' ){ + return false; + } + + // Check card number length + var length = num.length+''; + + // Validate the card length by the card type + if ( this._creditCardSpecs[creditCardType]['length'].split(",").indexOf(length) === -1 ){ + return false; + } + + // Check card number prefix + if ( !this._creditCardSpecs[creditCardType]['prefix'].test(num) ){ + return false; + } + + // No Luhn check required + if (this._creditCardSpecs[creditCardType]['luhn'] === false){ + return true; + } + + return this._luhn(num); + } + }; + + return Validator; + +}); diff --git a/public/js/ink.lazyload.js b/public/js/ink.lazyload.js new file mode 100644 index 0000000..7687b72 --- /dev/null +++ b/public/js/ink.lazyload.js @@ -0,0 +1,196 @@ +/** + * Delays content loading + * @module Ink.UI.LazyLoad_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.LazyLoad', '1', ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Element_1'], function(Common, InkEvent, InkElement) { +'use strict'; + +function LazyLoad() { + Common.BaseUIComponent.apply(this, arguments); +} + +LazyLoad._name = 'LazyLoad_1'; + +LazyLoad._optionDefinition = { + item: ['String', '.lazyload-item'], + placeholder: ['String', null], + source: ['String', 'data-src'], + destination: ['String', 'src'], + delay: ['Number', 100], + delta: ['Number', 0], + image: ['Boolean', true], + scrollElement: ['Element', window], + touchEvents: ['Boolean', true], + onInsideViewport: ['Function', false], + onAfterAttributeChange: ['Function', false], + autoInit: ['Boolean', true] +}; + +LazyLoad.prototype = { + /** + * Stops the browser from loading a barrage of content at once. + * + * This delays the loading of images and other content until the corresponding elements are visible in the browser viewport. + * This was created to load images later, but can be also used for widgets which are slow to load and are only useful when on screen. + * + * This works through copying the `src` attribute into `data-src`, and placing a `placeholder` string in the `src` attribute. Then, when the element is on screen, the `data-src` attribute is copied back to `src` and the content starts loading. You can use the options below to change what attributes are involved in the exchange. + * + * You can also provide your `onInsideViewport` callback and use it to start widgets which need javascript, such as an interactive map or an animation. + * + * @class Ink.UI.LazyLoad_1 + * @constructor + * + * @param rootElement {String|DOMElement} The element which contains the lazily-loaded items. + * @param {Object} [options] Options object, containing: + * @param {String} [options.item] Item selector. Defaults to '.lazyload-item'. + * @param {String} [options.placeholder] Placeholder value for items which are not 'visible', in case they don't already have a value set. + * @param {String} [options.source] Source attribute. When an item is 'visible', use this attribute's value to set its destination attribute. Defaults to 'data-src'. + * @param {String} [options.destination] Destination attribute. Attribute to change when the element is 'visible'. Defaults to 'src'. + * @param {Number} [options.delay] Milliseconds to wait before trying to load items. Defaults to 100. + * @param {Number} [options.delta] Offset distance in pixels. Determines how far the top of an item must be from the viewport be considered 'visible'. Negative values shrink the considered 'visible' viewport while positive values enlarge it. Defaults to 0. + * @param {Boolean} [options.image] Set to false to make this component do nothing to any elements and just give you the onInsideViewport callback. + * @param {DOMElement} [options.scrollElement] (advanced) What element is to be listened for the scroll event. Defaults to document.window. + * @param {Boolean} [options.touchEvents] Subscribe to touch events in addition to scroll events. Useful in mobile safari because 'scroll' events aren't frequent enough. Defaults to true. + * @param {Function} [options.onInsideViewport] Callback function for when an `item` is 'visible'. Receives an object containing the item's element as an argument. + * @param {Function} [options.onAfterAttributeChange] (advanced) Callback function when an item's attribute changes. Receives an object containing the item's element as an argument. + * @param {Boolean} [options.autoInit] (advanced) Set to false if you want to start LazyLoad yourself with `reload()`. Defaults to true. + * + * @sample Ink_UI_LazyLoad_1.html + */ + _init: function() { + this._rootElm = this._element; + + this._aData = []; + this._hasEvents = false; + + if(this._options.autoInit) { + this._activate(); + } + }, + + _activate: function() + { + this._getData(); + if(!this._hasEvents) { + this._addEvents(); + } + this._onScrollThrottled(); + }, + + _getData: function() + { + var aElms = Ink.ss(this._options.item); + var attr = null; + for(var i=0, t=aElms.length; i < t; i++) { + if (this._options.placeholder != null && !InkElement.hasAttribute(aElms[i], this._options.destination)) { + aElms[i].setAttribute(this._options.destination, this._options.placeholder); + } + attr = aElms[i].getAttribute(this._options.source); + if(attr !== null || !this._options.image) { + this._aData.push({elm: aElms[i], original: attr}); + } + } + }, + + _addEvents: function() + { + this._onScrollThrottled = InkEvent.throttle(Ink.bindEvent(this._onScroll, this), this._options.delay); + if('ontouchmove' in document.documentElement && this._options.touchEvents) { + InkEvent.observe(document.documentElement, 'touchmove', this._onScrollThrottled); + } + InkEvent.observe(this._options.scrollElement, 'scroll', this._onScrollThrottled); + this._hasEvents = true; + }, + + _removeEvents: function() { + if('ontouchmove' in document.documentElement && this._options.touchEvents) { + InkEvent.stopObserving(document.documentElement, 'touchmove', this._onScrollThrottled); + } + InkEvent.stopObserving(this._options.scrollElement, 'scroll', this._onScrollThrottled); + this._hasEvents = false; + }, + + _onScroll: function() { + var curElm; + + for(var i=0; i < this._aData.length; i++) { + curElm = this._aData[i]; + + if(InkElement.inViewport(curElm.elm, { partial: true, margin: this._options.delta })) { + this._elInViewport(curElm); + if (this._options.image) { + /* [todo] a seemingly unrelated option creates a branch? Some of this belongs in another module. */ + this._aData.splice(i, 1); + i -= 1; + } + } + } + + if (this._aData.length === 0) { + this._removeEvents(); + } + }, + + /** + * Called when an element is detected inside the viewport + * + * @method _elInViewport + * @param {LazyLoadInternalElementData} curElm + * @private + **/ + _elInViewport: function (curElm) { + this._userCallback('onInsideViewport', { element: curElm.elm }); + + if(this._options.image) { + curElm.elm.setAttribute(this._options.destination, curElm.original); + curElm.elm.removeAttribute(this._options.source); + } + + this._userCallback('onAfterAttributeChange', { element: curElm.elm }); + }, + + /** + * Call a callback if it exists and its `typeof` is `"function"`. + * @method _userCallback + * @param name {String} Callback name in this._options. + * @private + **/ + _userCallback: function (name) { + if (typeof this._options[name] === 'function') { + this._options[name].apply(this, [].slice.call(arguments, 1)); + } + }, + + /** + * Load or reload the component. + * Adding the 'scroll' event listener if necessary and checks if anything needs to be loaded now. + * + * You can use this to manually invoke the loading logic without user action. + * + * @method reload + * @public + */ + reload: function() { + this._activate(); + }, + + /** + * Destroy this component + * @method destroy + * @public + **/ + destroy: function() { + if(this._hasEvents) { + this._removeEvents(); + } + Common.destroyComponent.call(this); + } +}; + +Common.createUIComponent(LazyLoad); + +return LazyLoad; + +}); diff --git a/public/js/ink.min.js b/public/js/ink.min.js new file mode 100644 index 0000000..71613c4 --- /dev/null +++ b/public/js/ink.min.js @@ -0,0 +1,5 @@ +!function(a,b){"use strict";if(!("Ink"in a)){var c={},d={},e=[],f={},g=[],h={},i=Function.prototype.apply,j=function(a){if("object"!=typeof a)return!1;for(var b in a)if(a.hasOwnProperty(b))return!1;return!0};a.Ink={VERSION:"3.0.5",_checkPendingRequireModules:function(){var a,b,c,e,f,h,i=[];for(a=0,b=g.length;b>a;++a)if(c=g[a]){for(e in c.left)c.left.hasOwnProperty(e)&&(f=d[e],f&&(c.args[c.left[e]]=f,delete c.left[e],--c.remaining));if(c.remaining>0)i.push(c);else{if(h=c.cb,!h)continue;delete c.cb,h.apply(!1,c.args)}}g=i,g.length>0&&setTimeout(function(){Ink._checkPendingRequireModules()},0)},getPath:function(a,b){var d=a.split(/[._]/g),e,f,g,h;for(f=d.length;f>=0;f-=1)if(e=d.slice(0,f+1).join("."),c[e]){g=e;break}return g in c?(h=c[g],/\/$/.test(h)||(h+="/"),f0&&g[0].appendChild(f)},_loadLater:function(a){setTimeout(function(){d[a]||f[a]||h[a]||(f[a]=!0,Ink.loadScript(a))},0)},namespace:function(b,c){if(!b||!b.length)return null;for(var d=b.split("."),e=a,f,g=0,h=d.length;h>g;++g)e[d[g]]=e[d[g]]||{},f=e,e=e[d[g]];return c?[f,d[g-1]]:e},getModule:function(a,b){var c=b?[a,"_",b].join(""):a;return d[c]},createModule:function(b,c,g,i){if("string"!=typeof b)throw new Error("module name must be a string!");if(!("number"==typeof c||"string"==typeof c&&c.length>0))throw new Error("version number missing!");var k=[b,"_",c].join("");h[k]=!0;var l=function(){if(!d[k]){delete f[k],delete f[b];var g=Array.prototype.slice.call(arguments),l=i.apply(a,g);e.push(k),"object"==typeof l?l._version=c:"function"==typeof l&&(l.prototype._version=c,l._version=c);var m=0===b.indexOf("Ink."),n;m&&(n=Ink.namespace(b,!0)),d[k]=l,delete h[k],m&&(n[0][n[1]+"_"+c]=l),d[b]=l,m&&j(n[0][n[1]])&&(n[0][n[1]]=l),this&&Ink._checkPendingRequireModules()}};this.requireModules(g,l)},requireModules:function(a,b){var c,e,h,i,j;if(e=a&&a.length,h={args:new Array(e),left:{},remaining:e,cb:b},"object"!=typeof a||void 0===a.length)throw new Error("Dependency list should be an array!");if("function"!=typeof b)throw new Error("Callback should be a function!");for(c=0;e>c;++c)Ink._moduleRenames[a[c]]?(Ink.warn(a[c]+" was renamed to "+Ink._moduleRenames[a[c]]),i=Ink._moduleRenames[a[c]]):i=a[c],i?(j=d[i],j?(h.args[c]=j,--h.remaining):(f[i]||Ink._loadLater(i),h.left[i]=c)):--h.remaining;h.remaining>0?g.push(h):b.apply(!0,h.args)},_moduleRenames:{"Ink.UI.Aux_1":"Ink.UI.Common_1"},getModulesLoadOrder:function(){return e.slice()},getModuleScripts:function(){var a=this.getModulesLoadOrder();return a.unshift("Ink_1"),a=a.map(function(a){return[""].join("")}),a.join("\n")},createExt:function(a,b,c,d){return Ink.createModule("Ink.Ext."+a,b,c,d)},bind:function(a,b){var c=Array.prototype.slice.call(arguments,2);return function(){var d=Array.prototype.slice.call(arguments),e=c.concat(d);return a.apply(b===!1?this:b,e)}},bindMethod:function(a,b){return Ink.bind.apply(Ink,[a[b],a].concat([].slice.call(arguments,2)))},bindEvent:function(b,c){var d=Array.prototype.slice.call(arguments,2);return function(e){var f=d.slice();return f.unshift(e||a.event),b.apply(c===!1?this:c,f)}},i:function(a){if(!a)throw new Error("Ink.i => id or element must be passed");return"string"==typeof a?b.getElementById(a):a},ss:function(a,c){if("undefined"==typeof Ink.Dom||"undefined"==typeof Ink.Dom.Selector)throw new Error("This method requires Ink.Dom.Selector");return Ink.Dom.Selector.select(a,c||b)},s:function(a,c){if("undefined"==typeof Ink.Dom||"undefined"==typeof Ink.Dom.Selector)throw new Error("This method requires Ink.Dom.Selector");return Ink.Dom.Selector.select(a,c||b)[0]||null},extendObj:function(a){for(var b=[].slice.call(arguments,1),c=0,d=b.length;d>c;c++)if(b[c])for(var e in b[c])Object.prototype.hasOwnProperty.call(b[c],e)&&(a[e]=b[c][e]);return a},log:function(){var b=a.console;b&&b.log&&i.call(b.log,b,arguments)},warn:function(){var b=a.console;b&&b.warn&&i.call(b.warn,b,arguments)},error:function(){var b=a.console;b&&b.error&&i.call(b.error,b,arguments)}}}}(window,document),Ink.createModule("Ink.Net.Ajax","1",[],function(){"use strict";var Ajax=function(a,b){this.init(a,b)};Ajax.globalOptions={parameters:{},requestHeaders:{}};var xMLHttpRequestWithCredentials="XMLHttpRequest"in window&&"withCredentials"in new XMLHttpRequest;return Ajax.prototype={init:function(a,b){if(!a)throw new Error("WRONG_ARGUMENTS_ERR");var c=Ink.extendObj({asynchronous:!0,method:"POST",parameters:null,timeout:0,delay:0,postBody:"",contentType:"application/x-www-form-urlencoded",requestHeaders:null,onComplete:null,onSuccess:null,onFailure:null,onException:null,onHeaders:null,onCreate:null,onInit:null,onTimeout:null,sanitizeJSON:!1,evalJS:!0,xhrProxy:"",cors:!1,debug:!1,useCredentials:!1,signRequest:!1},Ajax.globalOptions);if(b&&"object"==typeof b){if(c=Ink.extendObj(c,b),"object"==typeof b.parameters)c.parameters=Ink.extendObj(Ink.extendObj({},Ajax.globalOptions.parameters),b.parameters);else if(null!==b.parameters){var d=this.paramsObjToStr(Ajax.globalOptions.parameters);d&&(c.parameters=b.parameters+"&"+d)}c.requestHeaders=Ink.extendObj({},Ajax.globalOptions.requestHeaders),c.requestHeaders=Ink.extendObj(c.requestHeaders,b.requestHeaders)}this.options=c,this.safeCall("onInit"),this.url=a;var e=this._locationFromURL(a);this.isHTTP=this._locationIsHTTP(e),this.isCrossDomain=this._locationIsCrossDomain(e,location),this.requestHasBody=c.method.search(/^get|head$/i)<0,this.options.cors&&(this.isCrossDomain=!1),this.transport=this.getTransport(),this.request()},_locationFromURL:function(a){var b=document.createElementNS?document.createElementNS("http://www.w3.org/1999/xhtml","a"):document.createElement("a");return b.href=a,b},_locationIsHTTP:function(a){return a.protocol.match(/^https?:/i)?!0:!1},_locationIsCrossDomain:function(a,b){return b=b||window.location,Ajax.prototype._locationIsHTTP(a)&&"widget:"!==b.protocol&&"object"!=typeof window.widget?b.protocol!==a.protocol||b.host.split(":")[0]!==a.host.split(":")[0]:!1},getTransport:function(){if(!xMLHttpRequestWithCredentials&&this.options.cors&&"XDomainRequest"in window)return this.usingXDomainReq=!0,new XDomainRequest;if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;if("undefined"==typeof ActiveXObject)return null;try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(a){return new ActiveXObject("Microsoft.XMLHTTP")}},setHeaders:function(){if(this.transport)try{var a={Accept:"text/javascript,text/xml,application/xml,application/xhtml+xml,text/html,application/json;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1","Accept-Language":navigator.language,"X-Requested-With":"XMLHttpRequest","X-Ink-Version":"2"};if(this.options.cors&&(this.options.signRequest||delete a["X-Requested-With"],delete a["X-Ink-Version"]),this.options.requestHeaders&&"object"==typeof this.options.requestHeaders)for(var b in this.options.requestHeaders)this.options.requestHeaders.hasOwnProperty(b)&&(a[b]=this.options.requestHeaders[b]);this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005&&(a.Connection="close");for(var c in a)a.hasOwnProperty(c)&&this.transport.setRequestHeader(c,a[c])}catch(d){}},paramsObjToStr:function(a){var b,c,d,e,f=[];if("object"!=typeof a)return a;for(d in a)if(a.hasOwnProperty(d))if(e=a[d],"[object Array]"!==Object.prototype.toString.call(e)||isNaN(e.length))f=f.concat([encodeURIComponent(d),"=",encodeURIComponent(e),"&"]);else for(b=0,c=e.length;c>b;b++)f=f.concat([encodeURIComponent(d),"[]","=",encodeURIComponent(e[b]),"&"]);return f.length>0&&f.pop(),f.join("")},setParams:function(){var a=null,b=this.options.parameters;a="object"==typeof b?this.paramsObjToStr(b):""+b,a&&(this.url=this.url.indexOf("?")>-1?this.url.split("#")[0]+"&"+a:this.url.split("#")[0]+"?"+a)},getHeader:function(a){if(this.usingXDomainReq&&"Content-Type"===a)return this.transport.contentType;try{return this.transport.getResponseHeader(a)}catch(b){return null}},getAllHeaders:function(){try{return this.transport.getAllResponseHeaders()}catch(a){return null}},getResponse:function(){var a=this.transport,b={headerJSON:null,responseJSON:null,getHeader:this.getHeader,getAllHeaders:this.getAllHeaders,request:this,transport:a,timeTaken:new Date-this.startTime,requestedUrl:this.url};b.readyState=a.readyState;try{b.responseText=a.responseText}catch(c){}try{b.responseXML=a.responseXML}catch(c){}try{b.status=a.status}catch(c){b.status=0}try{b.statusText=a.statusText}catch(c){b.statusText=""}return b},abort:function(){if(this.transport){clearTimeout(this.delayTimeout),clearTimeout(this.stoTimeout);try{this.transport.abort()}catch(a){}this.finish()}},runStateChange:function(){var a=this.transport.readyState;if(3===a)this.isHTTP&&this.safeCall("onHeaders");else if(4===a||this.usingXDomainReq){if(this.options.asynchronous&&this.options.delay&&this.startTime+this.options.delay>(new Date).getTime())return void(this.delayTimeout=setTimeout(Ink.bind(this.runStateChange,this),this.options.delay+this.startTime-(new Date).getTime()));var b,c=this.transport.responseText,d=this.getResponse(),e=this.transport.status;this.isHTTP&&!this.options.asynchronous&&this.safeCall("onHeaders"),clearTimeout(this.stoTimeout),0===e?this.isHTTP?this.safeCall("onException",this.makeError(18,"NETWORK_ERR")):e=c?200:404:304===e&&(e=200);var f=this.usingXDomainReq||e>=200&&300>e,g=this.getHeader("Content-Type")||"";if(this.options.evalJS&&(g.indexOf("application/json")>=0||"force"===this.options.evalJS))try{b=this.evalJSON(c,this.sanitizeJSON),b&&(c=d.responseJSON=b)}catch(h){f&&this.safeCall("onException",h)}if(this.usingXDomainReq&&-1!==g.indexOf("xml")&&"DOMParser"in window){var i;switch(g){case"application/xml":case"application/xhtml+xml":case"image/svg+xml":i=g;break;default:i="text/xml"}var j=(new DOMParser).parseFromString(this.transport.responseText,i);this.transport.responseXML=j,d.responseXML=j}null!==this.transport.responseXML&&null===d.responseJSON&&""!==this.transport.responseXML.xml&&(c=this.transport.responseXML),(e||this.usingXDomainReq)&&(f?this.safeCall("onSuccess",d,c):this.safeCall("onFailure",d,c),this.safeCall("on"+e,d,c)),this.finish(d,c)}},finish:function(a,b){if(a&&this.safeCall("onComplete",a,b),clearTimeout(this.stoTimeout),this.transport){try{this.transport.onreadystatechange=null}catch(c){}"function"==typeof this.transport.destroy&&this.transport.destroy(),this.transport=null}},safeCall:function(a,b){function c(a){setTimeout(function(){throw a.message&&(a.message+="\n"+(a.stacktrace||a.stack||"")),a},1)}if("function"==typeof this.options[a])try{this.options[a].apply(this,[].slice.call(arguments,1))}catch(d){c(d)}else b&&window.Error&&b instanceof Error&&c(b)},setRequestHeader:function(a,b){this.options.requestHeaders||(this.options.requestHeaders={}),this.options.requestHeaders[a]=b},request:function(){if(this.transport){var a=null;this.requestHasBody?(null!==this.options.postBody&&""!==this.options.postBody?(a=this.options.postBody,this.setParams()):null!==this.options.parameters&&""!==this.options.parameters&&(a=this.options.parameters),"object"!=typeof a||a.nodeType?"object"!=typeof a&&null!==a&&(a=""+a):a=this.paramsObjToStr(a),this.options.contentType&&this.setRequestHeader("Content-Type",this.options.contentType)):this.setParams();var b=this.url,c=this.options.method,d=this.isCrossDomain;d&&this.options.xhrProxy&&(this.setRequestHeader("X-Url",b),b=this.options.xhrProxy+encodeURIComponent(b),d=!1);try{this.transport.open(c,b,this.options.asynchronous)}catch(e){return this.safeCall("onException",e),this.finish(this.getResponse(),null)}this.setHeaders(),this.safeCall("onCreate"),this.options.timeout&&!isNaN(this.options.timeout)&&(this.stoTimeout=setTimeout(Ink.bind(function(){this.options.onTimeout&&(this.safeCall("onTimeout"),this.abort())},this),1e3*this.options.timeout)),this.options.useCredentials&&!this.usingXDomainReq&&(this.transport.withCredentials=!0),this.options.asynchronous&&!this.usingXDomainReq?this.transport.onreadystatechange=Ink.bind(this.runStateChange,this):this.usingXDomainReq&&(this.transport.onload=Ink.bind(this.runStateChange,this));try{if(d)throw this.makeError(18,"NETWORK_ERR");this.startTime=(new Date).getTime(),this.transport.send(a)}catch(e){return this.safeCall("onException",e),this.finish(this.getResponse(),null)}this.options.asynchronous||this.runStateChange()}},makeError:function(a,b){if("function"!=typeof Error)return{code:a,message:b};var c=new Error(b);return c.code=a,c},isJSON:function(a){return"string"==typeof a&&a?(a=a.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,""),/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/.test(a)):!1},evalJSON:function(strJSON,sanitize){if(strJSON&&(!sanitize||this.isJSON(strJSON)))try{return"undefined"!=typeof JSON&&"undefined"!=typeof JSON.parse?JSON.parse(strJSON):eval("("+strJSON+")")}catch(e){throw new Error("ERROR: Bad JSON string...")}return null}},Ajax.load=function(a,b){return new Ajax(a,{method:"GET",onSuccess:function(a){b(a.responseJSON||a.responseText,a)}})},Ajax.ping=function(a,b){return new Ajax(a,{method:"HEAD",onSuccess:function(a){"function"==typeof b&&b(a)}})},Ajax}),Ink.createModule("Ink.Net.JsonP","1",[],function(){"use strict";var a=function(a,b){this.init(a,b)};return a.prototype={init:function(a,b){if(this.options=Ink.extendObj({onSuccess:void 0,onFailure:void 0,failureObj:{},timeout:10,params:{},callbackParam:"jsoncallback",internalCallback:"_cb",randVar:!1},b||{}),this.randVar=this.options.randVar!==!1?this.options.randVar:parseInt(1e5*Math.random(),10),this.options.internalCallback+=this.randVar,this.uri=a,"function"==typeof this.options.onComplete&&(this.options.onSuccess=this.options.onComplete),"string"!=typeof this.uri)throw"Please define an URI";if("function"!=typeof this.options.onSuccess)throw"please define a callback function on option onSuccess!";Ink.Net.JsonP[this.options.internalCallback]=Ink.bind(function(){window.clearTimeout(this.timeout),delete window.Ink.Net.JsonP[this.options.internalCallback],this._removeScriptTag(),this.options.onSuccess(arguments[0])},this),this._addScriptTag()},_addParamsToGet:function(a,b){var c=-1!==a.indexOf("?"),d,e,f,g=[a];for(e in b)b.hasOwnProperty(e)&&(c?d="&":(d="?",c=!0),f=b[e],"number"==typeof f||f||(f=""),g=g.concat([d,e,"=",encodeURIComponent(f)]));return g.join("")},_getScriptContainer:function(){var a=document.getElementsByTagName("head");if(0===a.length){var b=document.getElementsByTagName("script");return b[0]}return a[0]},_addScriptTag:function(){this.options.params[this.options.callbackParam]="Ink.Net.JsonP."+this.options.internalCallback,this.options.params.rnd_seed=this.randVar,this.uri=this._addParamsToGet(this.uri,this.options.params);var a=document.createElement("script");a.type="text/javascript",a.src=this.uri;var b=this._getScriptContainer();b.appendChild(a),this.timeout=setTimeout(Ink.bind(this._requestFailed,this),1e3*this.options.timeout)},_requestFailed:function(){delete Ink.Net.JsonP[this.options.internalCallback],this._removeScriptTag(),"function"==typeof this.options.onFailure&&this.options.onFailure(this.options.failureObj)},_removeScriptTag:function(){for(var a,b=document.getElementsByTagName("script"),c,d=0,e=b.length;e>d;++d)if(a=b[d],c=a.getAttribute("src")||a.src,null!==c&&c===this.uri)return void a.parentNode.removeChild(a)}},a}),Ink.createModule("Ink.Dom.Browser","1",[],function(){"use strict";var a={IE:!1,GECKO:!1,OPERA:!1,SAFARI:!1,KONQUEROR:!1,CHROME:!1,model:!1,version:!1,userAgent:!1,cssPrefix:!1,domPrefix:!1,init:function(){this.detectBrowser(),this.setDimensions(),this.setReferrer()},setDimensions:function(){var a=0,b=0;"number"==typeof window.innerWidth?(a=window.innerWidth,b=window.innerHeight):document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)?(a=document.documentElement.clientWidth,b=document.documentElement.clientHeight):document.body&&(document.body.clientWidth||document.body.clientHeight)&&(a=document.body.clientWidth,b=document.body.clientHeight),this.windowWidth=a,this.windowHeight=b},setReferrer:function(){this.referrer=document.referrer&&document.referrer.length?window.escape(document.referrer):!1},detectBrowser:function(){this._sniffUserAgent(navigator.userAgent)},_sniffUserAgent:function(a){if(this.userAgent=a,a=a.toLowerCase(),/applewebkit\//.test(a))if(this.cssPrefix="-webkit-",this.domPrefix="Webkit",/(chrome|crios)\//.test(a))this.CHROME=!0,this.model="chrome",this.version=a.replace(/(.*)chrome\/([^\s]+)(.*)/,"$2");else{this.SAFARI=!0,this.model="safari";var b=/version\/([^) ]+)/;this.version=b.test(a)?a.match(b)[1]:a.replace(/(.*)applewebkit\/([^\s]+)(.*)/,"$2")}else if(/opera/.test(a))this.OPERA=!0,this.model="opera",this.version=a.replace(/(.*)opera.([^\s$]+)(.*)/,"$2"),this.cssPrefix="-o-",this.domPrefix="O";else if(/konqueror/.test(a))this.KONQUEROR=!0,this.model="konqueror",this.version=a.replace(/(.*)konqueror\/([^;]+);(.*)/,"$2"),this.cssPrefix="-khtml-",this.domPrefix="Khtml";else if(/(msie|trident)/i.test(a))this.IE=!0,this.model="ie",this.version=/rv:((?:\d|\.)+)/.test(a)?a.match(/rv:((?:\d|\.)+)/)[1]:a.replace(/(.*)\smsie\s([^;]+);(.*)/,"$2"),this.cssPrefix="-ms-",this.domPrefix="ms";else if(/gecko/.test(a)){this.cssPrefix="-moz-",this.domPrefix="Moz",this.GECKO=!0;var c=/(camino|chimera|epiphany|minefield|firefox|firebird|phoenix|galeon|iceweasel|k\-meleon|seamonkey|netscape|songbird|sylera)/;if(c.test(a))this.model=a.match(c)[1],this.version=a.replace(new RegExp("(.*)"+this.model+"/([^;\\s$]+)(.*)"),"$2");else{this.model="mozilla";var d=/(.*)rv:([^)]+)(.*)/;d.test(a)&&(this.version=a.replace(d,"$2"))}}},debug:function(){var a="known browsers: (ie, gecko, opera, safari, konqueror) \n";a+=[this.IE,this.GECKO,this.OPERA,this.SAFARI,this.KONQUEROR]+"\n",a+="cssPrefix -> "+this.cssPrefix+"\n",a+="domPrefix -> "+this.domPrefix+"\n",a+="model -> "+this.model+"\n",a+="version -> "+this.version+"\n",a+="\n",a+="original UA -> "+this.userAgent,alert(a)}};return a.init(),a}),Ink.createModule("Ink.Dom.Css",1,[],function(){"use strict";var a="defaultView"in document&&"getComputedStyle"in document.defaultView?document.defaultView.getComputedStyle:window.getComputedStyle,b={addRemoveClassName:function(a,b,c){return c?this.addClassName(a,b):void this.removeClassName(a,b)},addClassName:function(a,c){if(a=Ink.i(a),!a||!c)return null;c=(""+c).split(/[, ]+/);for(var d=0,e=c.length;e>d;d++)c[d].replace(/^\s+|\s+$/g,"")&&("undefined"!=typeof a.classList?a.classList.add(c[d]):b.hasClassName(a,c[d])||(a.className+=(a.className?" ":"")+c[d]))},removeClassName:function(a,b){if(a=Ink.i(a),!a||!b)return null;b=(""+b).split(/[, ]+/);var c=0,d=b.length;if("undefined"!=typeof a.classList)for(;d>c;c++)a.classList.remove(b[c]);else{for(var e=a.className||"",f;d>c;c++)f=new RegExp("(^|\\s+)"+b[c]+"(\\s+|$)"),e=e.replace(f," ");a.className=e.replace(/^\s+/,"").replace(/\s+$/,"")}},setClassName:function(a,b,c){this.addRemoveClassName(a,b,c||!1)},hasClassName:function(a,b,c){if(a=Ink.i(a),!a||!b)return!1;b=(""+b).split(/[, ]+/);for(var d=0,e=b.length,f,g;e>d;d++){if("undefined"!=typeof a.classList)f=a.classList.contains(b[d]);else{var h=a.className;h===b[d]?f=!0:(g=new RegExp("(^|\\s)"+b[d]+"(\\s|$)"),f=g.test(h))}if(f&&!c)return!0;if(!f&&c)return!1}return c?!0:!1},blinkClass:function(a,c,d,e){a=Ink.i(a),b.addRemoveClassName(a,c,!e),setTimeout(function(){b.addRemoveClassName(a,c,e)},Number(d)||100)},toggleClassName:function(a,c,d){return a&&c&&"undefined"!=typeof a.classList&&!/[, ]/.test(c)?(a=Ink.i(a),null!==a&&a.classList.toggle(c),!0):void("undefined"!=typeof d?d===!0?b.addClassName(a,c):d===!1&&b.removeClassName(a,c):b.hasClassName(a,c)?b.removeClassName(a,c):b.addClassName(a,c))},setOpacity:function(a,b){if(a=Ink.i(a),null!==a){var c=1;isNaN(Number(b))||(c=0>=b?0:1>=b?b:100>=b?b/100:1),"undefined"!=typeof a.style.opacity?a.style.opacity=c:a.style.filter="alpha(opacity:"+(100*c|0)+")"}},_camelCase:function(a){return a?a.replace(/-(\w)/g,function(a,b){return b.toUpperCase()}):a},getStyle:function(b,c){if(b=Ink.i(b),null!==b&&b.style){c="float"===c?"cssFloat":this._camelCase(c);var d=b.style[c];if(!a||d&&"auto"!==d)!d&&b.currentStyle&&(d=b.currentStyle[c],"auto"!==d||"width"!==c&&"height"!==c||(d=b["offset"+c.charAt(0).toUpperCase()+c.slice(1)]+"px"));else{var e=a(b,null);d=e?e[c]:null}if("opacity"===c)return d?parseFloat(d,10):1;if("borderTopWidth"===c||"borderBottomWidth"===c||"borderRightWidth"===c||"borderLeftWidth"===c){if("thin"===d)return"1px";if("medium"===d)return"3px";if("thick"===d)return"5px"}return"auto"===d?null:d}},setStyle:function(a,b){if(a=Ink.i(a),null!==a)if("string"==typeof b)a.style.cssText+="; "+b,-1!==b.indexOf("opacity")&&this.setOpacity(a,b.match(/opacity:\s*(\d?\.?\d*)/)[1]);else for(var c in b)b.hasOwnProperty(c)&&("opacity"===c?this.setOpacity(a,b[c]):"float"===c||"cssFloat"===c?"undefined"==typeof a.style.styleFloat?a.style.cssFloat=b[c]:a.style.styleFloat=b[c]:a.style[c]=b[c])},show:function(a,b){a=Ink.i(a),null!==a&&(a.style.display=b?b:"")},hide:function(a){a=Ink.i(a),null!==a&&(a.style.display="none")},showHide:function(a,b){a=Ink.i(a),a&&(a.style.display=b?"":"none")},toggle:function(a,b){a=Ink.i(a),null!==a&&("undefined"!=typeof b?b===!0?this.show(a):this.hide(a):"none"===this.getStyle(a,"display").toLowerCase()?this.show(a):this.hide(a))},_getRefTag:function(a){if(a.firstElementChild)return a.firstElementChild;for(var b=a.firstChild;b;b=b.nextSibling)if(1===b.nodeType)return b;return null},appendStyleTag:function(a,b,c){c=Ink.extendObj({type:"text/css",force:!1},c||{});var d=document.getElementsByTagName("style"),e=!1,f=!0,g,h;for(g=0,h=d.length;h>g;g++)e=d[g].innerHTML,e.indexOf(a)>=0&&(f=!1);if(f){var i=document.createElement("style"),j=document.getElementsByTagName("head")[0],k=!1,l="";i.type=c.type,l+=a+" {",l+=b,l+="} ","undefined"!=typeof i.styleSheet?i.styleSheet.cssText=l:i.appendChild(document.createTextNode(l)),c.force?j.appendChild(i):(k=this._getRefTag(j),k&&j.insertBefore(i,k))}},appendStylesheet:function(a,b){b=Ink.extendObj({media:"screen",type:"text/css",force:!1},b||{});var c,d=document.createElement("link"),e=document.getElementsByTagName("head")[0];d.media=b.media,d.type=b.type,d.href=a,d.rel="Stylesheet",b.force?e.appendChild(d):(c=this._getRefTag(e),c&&e.insertBefore(d,c))},_loadingCSSFiles:{},_loadedCSSFiles:{},appendStylesheetCb:function(a,b){if(!a)return b(a);if(this._loadedCSSFiles[a])return b(a);var c=this._loadingCSSFiles[a];if(c)return c.push(b);this._loadingCSSFiles[a]=[b];var d=document.createElement("link");d.type="text/css",d.rel="stylesheet",d.href=a;var e=document.getElementsByTagName("head")[0];e.appendChild(d);var f=document.createElement("img");f.onerror=Ink.bindEvent(function(a,b){var c=b;this._loadedCSSFiles[c]=!0;for(var d=this._loadingCSSFiles[c],e=0,f=d.length;f>e;++e)d[e](c);delete this._loadingCSSFiles[c]},this,a),f.src=a},decToHex:function(a){var b=function(a){return 1===a.length&&(a="0"+a),a=a.toUpperCase()};if("object"==typeof a){var c=b(parseInt(a.r,10).toString(16)),d=b(parseInt(a.g,10).toString(16)),e=b(parseInt(a.b,10).toString(16));return c+d+e}a+="";var f=a.match(/\((\d+),\s?(\d+),\s?(\d+)\)/);return null!==f?b(parseInt(f[1],10).toString(16))+b(parseInt(f[2],10).toString(16))+b(parseInt(f[3],10).toString(16)):b(parseInt(a,10).toString(16))},hexToDec:function(a){return 0===a.indexOf("#")&&(a=a.substr(1)),6===a.length?{r:parseInt(a.substr(0,2),16),g:parseInt(a.substr(2,2),16),b:parseInt(a.substr(4,2),16)}:3===a.length?{r:parseInt(a.charAt(0)+a.charAt(0),16),g:parseInt(a.charAt(1)+a.charAt(1),16),b:parseInt(a.charAt(2)+a.charAt(2),16)}:a.length<=2?parseInt(a,16):void 0},getPropertyFromStylesheet:function(a,b){var c=this.getRuleFromStylesheet(a);return c?c.style[b]:null},getPropertyFromStylesheet2:function(a,b){for(var c=this.getRulesFromStylesheet(a),d,e=0,f=c.length;f>e;e++)if(d=c[e].style[b],null!==d&&void 0!==d)return d;return null},getRuleFromStylesheet:function(a){var b,c,d,e,f,g=document.styleSheets;if(!g)return null;for(var h=0,i=document.styleSheets.length;i>h;++h){if(b=document.styleSheets[h],c=b.rules?b.rules:b.cssRules,!c)return null;for(d=0,e=c.length;e>d;++d)if(f=c[d],f.selectorText&&f.selectorText===a)return f}return null},getRulesFromStylesheet:function(a){var b=[],c,d,e,f,g,h=document.styleSheets;if(!h)return b;for(var i=0,j=document.styleSheets.length;j>i;++i){if(c=document.styleSheets[i],d=c.rules?c.rules:c.cssRules,!d)return null;for(e=0,f=d.length;f>e;++e)g=d[e],g.selectorText&&g.selectorText===a&&b.push(g)}return b},getPropertiesFromRule:function(a){var b=this.getRuleFromStylesheet(a),c={},d,e,f;b=b.style.cssText;var g=b.split(";"),h,i,j,k;for(e=0,f=g.length;f>e;++e)" "===g[e].charAt(0)&&(g[e]=g[e].substring(1)),h=g[e].split(":"),d=this._camelCase(h[0].toLowerCase()),i=h[1],i&&(i=i.substring(1),"padding"===d||"margin"===d||"borderWidth"===d?("borderWidth"===d?(j="border",k="Width"):(j=d,k=""),-1!==i.indexOf(" ")?(i=i.split(" "),c[j+"Top"+k]=i[0],c[j+"Bottom"+k]=i[0],c[j+"Left"+k]=i[1],c[j+"Right"+k]=i[1]):(c[j+"Top"+k]=i,c[j+"Bottom"+k]=i,c[j+"Left"+k]=i,c[j+"Right"+k]=i)):"borderRadius"===d?-1!==i.indexOf(" ")?(i=i.split(" "),c.borderTopLeftRadius=i[0],c.borderBottomRightRadius=i[0],c.borderTopRightRadius=i[1],c.borderBottomLeftRadius=i[1]):(c.borderTopLeftRadius=i,c.borderTopRightRadius=i,c.borderBottomLeftRadius=i,c.borderBottomRightRadius=i):c[d]=i);return c},changeFontSize:function(a,b,c,d,e){var f=this;Ink.requireModules(["Ink.Dom.Selector_1"],function(g){var h;if("string"!=typeof a?h="1st argument must be a CSS selector rule.":"number"!=typeof b?h="2nd argument must be a number.":void 0!==c&&"+"!==c&&"*"!==c?h='3rd argument must be one of "+", "*".':void 0!==d&&("number"!=typeof d||0>=d)?h="4th argument must be a positive number.":void 0!==e&&("number"!=typeof e||e>e)&&(h="5th argument must be a positive number greater than minValue."),h)throw new TypeError(h);var i,j,k=g.select(a);void 0===d&&(d=1),c="*"===c?function(a,b){return a*b}:function(a,b){return a+b};for(var l=0,m=k.length;m>l;++l)j=k[l],i=parseFloat(f.getStyle(j,"fontSize")),i=c(i,b),d>i||"number"==typeof e&&i>e||(j.style.fontSize=i+"px")})}};return b}),Ink.createModule("Ink.Dom.Element",1,[],function(){"use strict";function a(a){var b={};try{b=a.getBoundingClientRect()}catch(c){b={top:a.offsetTop,left:a.offsetLeft}}return b}var b="function"==typeof document.createRange&&"function"==typeof window.Range.prototype.createContextualFragment,c="Ink.Dom.Element tbody: "+Math.random(),d=function(){var a=document.createElement("div");return a.innerHTML="",0!==a.getElementsByTagName("tbody").length}(),e={isDOMElement:function(a){return null!==a&&"object"==typeof a&&"nodeType"in a&&1===a.nodeType},get:function(a){return"undefined"!=typeof a?"string"==typeof a?document.getElementById(a):a:null},create:function(a,b){var c=document.createElement(a);for(var d in b)b.hasOwnProperty(d)&&(d in e?e[d](c,b[d]):"className"===d||"class"===d?c.className=b.className||b["class"]:c.setAttribute(d,b[d]));return c},remove:function(a){a=Ink.i(a);var b;a&&(b=a.parentNode)&&b.removeChild(a)},scrollTo:function(a){if(a=e.get(a)){if(a.scrollIntoView)return a.scrollIntoView();var b={},c=0,d=0;do c+=a.offsetTop||0,d+=a.offsetLeft||0,a=a.offsetParent;while(a);b={x:d,y:c},window.scrollTo(b.x,b.y)}},offsetTop:function(a){return e.offset(a)[1]},offsetLeft:function(a){return e.offset(a)[0]},positionedOffset:function(a){var b=0,c=0;a=e.get(a);do if(b+=a.offsetTop||0,c+=a.offsetLeft||0,a=a.offsetParent){if("body"===a.tagName.toLowerCase())break;var d=a.style.position;if(!d&&a.currentStyle&&(d=a.currentStyle.position),(!d||"auto"===d)&&"undefined"!=typeof getComputedStyle){var f=getComputedStyle(a,null);d=f?f.position:null}if("relative"===d||"absolute"===d)break}while(a);return[c,b]},offset:function(b){b=Ink.i(b);var c=[0,0],d=b.ownerDocument,e=d.documentElement,f=a(b),g=d.body,h=e.clientTop||g.clientTop||0,i=e.clientLeft||g.clientLeft||0,j=d.pageYOffset||e.scrollTop||g.scrollTop,k=d.pageXOffset||e.scrollLeft||g.scrollLeft,l=f.top+j-h,m=f.left+k-i;return c=[m,l]},scroll:function(a){return a=a?Ink.i(a):document.body,[window.pageXOffset?window.pageXOffset:a.scrollLeft,window.pageYOffset?window.pageYOffset:a.scrollTop]},_getPropPx:function(a,b){var c,d,e=a.getPropertyValue?a.getPropertyValue(b):a[b];return e?(d=e.indexOf("px"),c=-1===d?0:parseFloat(e,10)):c=0,c},offset2:function(a){return e.offset(a)},hasAttribute:function(a,b){return a=Ink.i(a),a.hasAttribute?a.hasAttribute(b):!!a.getAttribute(b)},insertAfter:function(a,b){(b=e.get(b))&&(null!==b.nextSibling?b.parentNode.insertBefore(a,b.nextSibling):b.parentNode.appendChild(a))},insertBefore:function(a,b){(b=e.get(b))&&b.parentNode.insertBefore(a,b)},insertTop:function(a,b){(b=e.get(b))&&(b.firstChild?b.insertBefore(a,b.firstChild):b.appendChild(a))},insertBottom:function(a,b){b=Ink.i(b),b.appendChild(a)},textContent:function(a){a=Ink.i(a);var b,c,d,f;switch(a&&a.nodeType){case 9:return e.textContent(a.documentElement||a.body&&a.body.parentNode||a.body);case 1:if(b=a.innerText,"undefined"!=typeof b)return b;case 11:if(b=a.textContent,"undefined"!=typeof b)return b;if(a.firstChild===a.lastChild)return e.textContent(a.firstChild);for(b=[],d=a.childNodes,c=0,f=d.length;f>c;++c)b.push(e.textContent(d[c]));return b.join("");case 3:case 4:return a.nodeValue}return""},setTextContent:function(a,b){switch(a=Ink.i(a),a&&a.nodeType){case 1:if("innerText"in a){a.innerText=b;break}case 11:if("textContent"in a){a.textContent=b;break}case 9:for(;a.firstChild;)a.removeChild(a.firstChild);if(""!==b){var c=a.ownerDocument||a;a.appendChild(c.createTextNode(b))}break;case 3:case 4:a.nodeValue=b}},isLink:function(a){var b=a&&1===a.nodeType&&(/^a|area$/i.test(a.tagName)||a.hasAttributeNS&&a.hasAttributeNS("http://www.w3.org/1999/xlink","href"));return!!b},isAncestorOf:function(a,b){if(!b||!a)return!1;if(b.compareDocumentPosition)return 0!==(16&a.compareDocumentPosition(b));for(;b=b.parentNode;)if(b===a)return!0;return!1},descendantOf:function(a,b){return a!==b&&e.isAncestorOf(a,b)},firstElementChild:function(a){if(!a)return null;if("firstElementChild"in a)return a.firstElementChild;for(var b=a.firstChild;b&&1!==b.nodeType;)b=b.nextSibling;return b},lastElementChild:function(a){if(!a)return null;if("lastElementChild"in a)return a.lastElementChild;for(var b=a.lastChild;b&&1!==b.nodeType;)b=b.previousSibling;return b},nextElementSibling:function(a){var b=null;if(!a)return b;if("nextElementSibling"in a)return a.nextElementSibling;for(b=a.nextSibling;b&&1!==b.nodeType;)b=b.nextSibling;return b},previousElementSibling:function(a){var b=null;if(!a)return b;if("previousElementSibling"in a)return a.previousElementSibling;for(b=a.previousSibling;b&&1!==b.nodeType;)b=b.previousSibling;return b},elementWidth:function(a){return"string"==typeof a&&(a=document.getElementById(a)),a.offsetWidth},elementHeight:function(a){return"string"==typeof a&&(a=document.getElementById(a)),a.offsetHeight},elementLeft:function(a){return e.offsetLeft(a)},elementTop:function(a){return e.offsetTop(a)},elementDimensions:function(a){return a=Ink.i(a),[a.offsetWidth,a.offsetHeight]},outerDimensions:function(b){var c=a(b),d=Ink.getModule("Ink.Dom.Css_1"),e=Ink.bindMethod(d,"getStyle",b);return[c.right-c.left+parseFloat(e("marginLeft")||0)+parseFloat(e("marginRight")||0),c.bottom-c.top+parseFloat(e("marginTop")||0)+parseFloat(e("marginBottom")||0)] +},inViewport:function(b,c){var d=a(Ink.i(b));return"boolean"==typeof c&&(c={partial:c,margin:0}),c=Ink.extendObj({partial:!1,margin:0},c||{}),c.partial?d.bottom+c.margin>0&&d.left-c.margin0:d.top+c.margin>0&&d.right-c.margin0},isHidden:function(a){var b=a.offsetWidth,c=a.offsetHeight,d="tr"===a.tagName.toLowerCase(),e=Ink.getModule("Ink.Dom.Css_1");return 0!==b||0!==c||d?0===b||0===c||d?"none"===e.getStyle(a,"display").toLowerCase():!1:!0},isVisible:function(a){return!this.isHidden(a)},clonePosition:function(a,b){var c=e.offset(b);return a.style.left=c[0]+"px",a.style.top=c[1]+"px",a},ellipsizeText:function(a){(a=Ink.i(a))&&(a.style.overflow="hidden",a.style.whiteSpace="nowrap",a.style.textOverflow="ellipsis")},findUpwardsHaving:function(a,b){for(;a&&1===a.nodeType;){if(b(a))return a;a=a.parentNode}return!1},findUpwardsByClass:function(a,b){var c=new RegExp("(^|\\s)"+b+"(\\s|$)"),d=function(a){var b=a.className;return b&&c.test(b)};return e.findUpwardsHaving(a,d)},findUpwardsByTag:function(a,b){b=b.toUpperCase();var c=function(a){return a.nodeName&&a.nodeName.toUpperCase()===b};return e.findUpwardsHaving(a,c)},findUpwardsById:function(a,b){var c=function(a){return a.id===b};return e.findUpwardsHaving(a,c)},findUpwardsBySelector:function(a,b){var c=Ink.getModule("Ink.Dom.Selector","1");if(!c)throw new Error("This method requires Ink.Dom.Selector");var d=function(a){return c.matchesSelector(a,b)};return e.findUpwardsHaving(a,d)},getChildrenText:function(a,b){var c,d,f,g=a.childNodes,h=g.length,i="";if(!a)return i;for(d=0;h>d;++d)c=g[d],c&&3===c.nodeType&&(f=e._trimString(String(c.data)),f.length>0?(i+=f,b&&a.removeChild(c)):a.removeChild(c));return i},_trimString:function(a){return String.prototype.trim?a.trim():a.replace(/^\s*/,"").replace(/\s*$/,"")},getSelectValues:function(a){for(var b=Ink.i(a),c=[],d=0;dd;++d)b=a[d],b instanceof Array?1===b.length&&b.push(b[0]):b=[b,b],c.push(b);return c},fillSelect:function(a,b,c,d){var f=Ink.i(a);if(f){f.innerHTML="";var g,h;c||(h=document.createElement("option"),h.setAttribute("value",""),f.appendChild(h)),b=e._normalizeData(b);for(var i=0,j=b.length;j>i;++i)g=b[i],h=document.createElement("option"),h.setAttribute("value",g[0]),g.length>2&&h.setAttribute("extra",g[2]),h.appendChild(document.createTextNode(g[1])),g[0]===d&&h.setAttribute("selected","selected"),f.appendChild(h)}},fillRadios:function(a,b,c,d,f,g){a=Ink.i(a);var h=document.createElement("span");e.insertAfter(h,a),c=e._normalizeData(c);var i,j;d||(j=document.createElement("input"),j.setAttribute("type","radio"),j.setAttribute("name",b),j.setAttribute("value",""),h.appendChild(j),g&&h.appendChild(document.createElement(g)));for(var k=0;ke;++e)if(c=a.childNodes[e],1===c.nodeType){if(c===b)return d;++d}return-1},nextSiblings:function(a){if(a=Ink.i(a),"object"==typeof a&&null!==a&&a.nodeType&&1===a.nodeType){for(var b=[],c=a.parentNode.children,d=e.parentIndexOf(a.parentNode,a),f=++d,g=c.length;g>f;f++)b.push(c[f]);return b}return[]},previousSiblings:function(a){if(a=Ink.i(a),"object"==typeof a&&null!==a&&a.nodeType&&1===a.nodeType){for(var b=[],c=a.parentNode.children,d=e.parentIndexOf(a.parentNode,a),f=0,g=d;g>f;f++)b.push(c[f]);return b}return[]},siblings:function(a){if(a=Ink.i(a),"object"==typeof a&&null!==a&&a.nodeType&&1===a.nodeType){for(var b=[],c=a.parentNode.children,d=0,e=c.length;e>d;d++)a!==c[d]&&b.push(c[d]);return b}return[]},childElementCount:function(a){return a=Ink.i(a),"childElementCount"in a?a.childElementCount:a?e.siblings(a).length+1:0},_wrapElements:{TABLE:function(a,b){return a.innerHTML=d?"
              "+b+"
              "+c+"
              ":""+b+"
              ",a.firstChild},TBODY:function(a,b){return a.innerHTML=""+b+"
              ",a.firstChild.getElementsByTagName("tbody")[0]},THEAD:function(a,b){return a.innerHTML=""+b+"
              ",a.firstChild.getElementsByTagName("thead")[0]},TFOOT:function(a,b){return a.innerHTML=""+b+"
              ",a.firstChild.getElementsByTagName("tfoot")[0]},TR:function(a,b){return a.innerHTML=""+b+"
              ",a.firstChild.firstChild.firstChild}},_getWrapper:function(a,b){var f=a.nodeName&&a.nodeName.toUpperCase(),g=document.createElement("div"),h=e._wrapElements[f];if(!h)return g.innerHTML=b,g;if(g=h(g,b),d&&"TABLE"===f)for(var i=g.getElementsByTagName("td"),j=0,k=i.length;k>j;j++)if(i[j].innerHTML===c){var l=i[j].parentNode.parentNode;l.parentNode.removeChild(l)}return g},appendHTML:function(a,b){if(a=Ink.i(a),null!==a)for(var c=e._getWrapper(a,b);c.firstChild;)a.appendChild(c.firstChild)},prependHTML:function(a,b){if(a=Ink.i(a),null!==a)for(var c=e._getWrapper(a,b);c.lastChild;)a.insertBefore(c.lastChild,a.firstChild)},setHTML:function(a,b){if(a=Ink.i(a),null!==a)try{a.innerHTML=b}catch(c){for(;a.firstChild;)a.removeChild(a.firstChild);e.appendHTML(a,b)}},wrap:function(a,b){a=Ink.i(a),b=Ink.i(b);var c=a.nextSibling,d=a.parentNode;return b.appendChild(a),null!==c?d.insertBefore(b,c):d.appendChild(b),b},unwrap:function(a,b){a=Ink.i(a);var c;c="string"==typeof b?e.findUpwardsBySelector(a,b):"object"==typeof b&&b.tagName?e.findUpwardsHaving(a,function(a){return a===b}):a.parentNode,c&&c.parentNode&&e.insertBefore(a,c)},replace:function(a,b){a=Ink.i(a),null!==a&&a.parentNode.replaceChild(b,a)},removeTextNodeChildren:function(a){if(a=Ink.i(a),null!==a){var b,c,d=a;for(a=a.firstChild;a;)c=3===a.nodeType,b=a,a=a.nextSibling,c&&d.removeChild(b)}},htmlToFragment:b?function(a){var b;return"string"!=typeof a?document.createDocumentFragment():(b=document.createRange(),b.selectNode(document.body),b.createContextualFragment(a))}:function(a){var b=document.createDocumentFragment(),c,d;if("string"!=typeof a)return b;for(c=document.createElement("div"),c.innerHTML=a;d=c.firstChild;)b.appendChild(d);return b},_camelCase:function(a){return a?a.replace(/-(\w)/g,function(a,b){return b.toUpperCase()}):a},data:function(a){var b;if("object"!=typeof a&&"string"!=typeof a)throw"[Ink.Dom.Element.data] :: Invalid selector defined";if("object"==typeof a)b=a;else{var c=Ink.getModule("Ink.Dom.Selector",1);if(!c)throw"[Ink.Dom.Element.data] :: this method requires Ink.Dom.Selector - v1";if(b=c.select(a),b.length<=0)throw"[Ink.Dom.Element.data] :: Can't find any element with the specified selector";b=b[0]}var d={},f=b.attributes||[],g,h,i;if(f)for(var j=0,k=f.length;k>j;++j)g=f[j],h=g.name,i=g.value,h&&0===h.indexOf("data-")&&(d[e._camelCase(h.replace("data-",""))]=i);return d},moveCursorTo:function(a,b){if(a=Ink.i(a),null!==a)if(a.setSelectionRange)a.setSelectionRange(b,b);else{var c=a.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",b),c.select()}},pageWidth:function(){var a;a=window.innerWidth&&window.scrollMaxX?window.innerWidth+window.scrollMaxX:document.body.scrollWidth>document.body.offsetWidth?document.body.scrollWidth:document.body.offsetWidth;var b;return window.self.innerWidth?b=document.documentElement.clientWidth?document.documentElement.clientWidth:window.self.innerWidth:document.documentElement&&document.documentElement.clientWidth?b=document.documentElement.clientWidth:document.body&&(b=document.body.clientWidth),b>a?a:b},pageHeight:function(){var a;a=window.innerHeight&&window.scrollMaxY?window.innerHeight+window.scrollMaxY:document.body.scrollHeight>document.body.offsetHeight?document.body.scrollHeight:document.body.offsetHeight;var b;return window.self.innerHeight?b=window.self.innerHeight:document.documentElement&&document.documentElement.clientHeight?b=document.documentElement.clientHeight:document.body&&(b=document.body.clientHeight),b>a?b:a},viewportWidth:function(){return"undefined"!=typeof window.innerWidth?window.innerWidth:document.documentElement&&"undefined"!=typeof document.documentElement.offsetWidth?document.documentElement.offsetWidth:void 0},viewportHeight:function(){return"undefined"!=typeof window.innerHeight?window.innerHeight:document.documentElement&&"undefined"!=typeof document.documentElement.offsetHeight?document.documentElement.offsetHeight:void 0},scrollWidth:function(){return"undefined"!=typeof window.self.pageXOffset?window.self.pageXOffset:"undefined"!=typeof document.documentElement&&"undefined"!=typeof document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft},scrollHeight:function(){return"undefined"!=typeof window.self.pageYOffset?window.self.pageYOffset:"undefined"!=typeof document.documentElement&&"undefined"!=typeof document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop}};return e}),Ink.createModule("Ink.Dom.Event",1,[],function(){var a=function(a,b,c){return c()}("bean",this,function(a,b){a=a||"bean",b=b||this;var c=window,d=b[a],e=/[^\.]*(?=\..*)\.|.*/,f=/\..*/,g="addEventListener",h="removeEventListener",i=document||{},j=i.documentElement||{},k=j[g],l=k?g:"attachEvent",m={},n=Array.prototype.slice,o=function(a,b){return a.split(b||" ")},p=function(a){return"string"==typeof a},q=function(a){return"function"==typeof a},r="click dblclick mouseup mousedown contextmenu mousewheel mousemultiwheel DOMMouseScroll mouseover mouseout mousemove selectstart selectend keydown keypress keyup orientationchange focus blur change reset select submit load unload beforeunload resize move DOMContentLoaded readystatechange message error abort scroll ",s="show input invalid touchstart touchmove touchend touchcancel gesturestart gesturechange gestureend textinputreadystatechange pageshow pagehide popstate hashchange offline online afterprint beforeprint dragstart dragenter dragover dragleave drag drop dragend loadstart progress suspend emptied stalled loadmetadata loadeddata canplay canplaythrough playing waiting seeking seeked ended durationchange timeupdate play pause ratechange volumechange cuechange checking noupdate downloading cached updateready obsolete ",t=function(a,b,c){for(c=0;cg;g++)if(m[g].reg.test(e)){n[e]=k=m[g].fix;break}for(j=k(a,this,e),g=j.length;g--;)!((i=j[g])in this)&&i in a&&(this[i]=a[i])}}};return p.prototype.preventDefault=function(){this.originalEvent.preventDefault?this.originalEvent.preventDefault():this.originalEvent.returnValue=!1},p.prototype.stopPropagation=function(){this.originalEvent.stopPropagation?this.originalEvent.stopPropagation():this.originalEvent.cancelBubble=!0},p.prototype.stop=function(){this.preventDefault(),this.stopPropagation(),this.stopped=!0},p.prototype.stopImmediatePropagation=function(){this.originalEvent.stopImmediatePropagation&&this.originalEvent.stopImmediatePropagation(),this.isImmediatePropagationStopped=function(){return!0}},p.prototype.isImmediatePropagationStopped=function(){return this.originalEvent.isImmediatePropagationStopped&&this.originalEvent.isImmediatePropagationStopped()},p.prototype.clone=function(a){var b=new p(this,this.element,this.isNative);return b.currentTarget=a,b},p}(),w=function(a,b){return k||b||a!==i&&a!==c?a:j},x=function(){var a=function(a,b,c,d){var e=function(c,e){return b.apply(a,d?n.call(e,c?0:1).concat(d):e)},f=function(c,d){return b.__beanDel?b.__beanDel.ft(c.target,a):d},g=c?function(a){var b=f(a,this);return c.apply(b,arguments)?(a&&(a.currentTarget=b),e(a,arguments)):void 0}:function(a){return b.__beanDel&&(a=a.clone(f(a))),e(a,arguments)};return g.__beanDel=b.__beanDel,g},b=function(b,c,d,e,f,g,h){var i=u[c],j;"unload"==c&&(d=D(E,b,c,d,e)),i&&(i.condition&&(d=a(b,d,i.condition,g)),c=i.base||c),this.isNative=j=t[c]&&!!b[l],this.customType=!k&&!j&&c,this.element=b,this.type=c,this.original=e,this.namespaces=f,this.eventType=k||j?c:"propertychange",this.target=w(b,j),this[l]=!!this.target[l],this.root=h,this.handler=a(b,d,null,g)};return b.prototype.inNamespaces=function(a){var b,c,d=0;if(!a)return!0;if(!this.namespaces)return!1;for(b=a.length;b--;)for(c=this.namespaces.length;c--;)a[b]==this.namespaces[c]&&d++;return a.length===d},b.prototype.matches=function(a,b,c){return!(this.element!==a||b&&this.original!==b||c&&this.handler!==c)},b}(),y=function(){var a={},b=function(c,d,e,f,g,h){var i=g?"r":"$";if(d&&"*"!=d){var j=0,k,l=a[i+d],m="*"==c;if(!l)return;for(k=l.length;k>j;j++)if((m||l[j].matches(c,e,f))&&!h(l[j],l,j,d))return}else for(var n in a)n.charAt(0)==i&&b(c,n.substr(1),e,f,g,h)},c=function(b,c,d,e){var f,g=a[(e?"r":"$")+c];if(g)for(f=g.length;f--;)if(!g[f].root&&g[f].matches(b,d,null))return!0;return!1},d=function(a,c,d,e){var f=[];return b(a,c,d,null,e,function(a){return f.push(a)}),f},e=function(b){var c=!b.root&&!this.has(b.element,b.type,null,!1),d=(b.root?"r":"$")+b.type;return(a[d]||(a[d]=[])).push(b),c},f=function(c){b(c.element,c.type,null,c.handler,c.root,function(b,c,d){return c.splice(d,1),b.removed=!0,0===c.length&&delete a[(b.root?"r":"$")+b.type],!1})},g=function(){var b,c=[];for(b in a)"$"==b.charAt(0)&&(c=c.concat(a[b]));return c};return{has:c,get:d,put:e,del:f,entries:g}}(),z,A=function(a){z=arguments.length?a:i.querySelectorAll?function(a,b){return b.querySelectorAll(a)}:function(){throw new Error("Bean: No selector engine installed")}},B=function(a,b){if(k||!b||!a||a.propertyName=="_on"+b){var c=y.get(this,b||a.type,null,!1),d=c.length,e=0;for(a=new v(a,this,!0),b&&(a.type=b);d>e&&!a.isImmediatePropagationStopped();e++)c[e].removed||c[e].handler.call(this,a)}},C=k?function(a,b,c){a[c?g:h](b,B,!1)}:function(a,b,c,d){var e;c?(y.put(e=new x(a,d||b,function(b){B.call(a,b,d)},B,null,null,!0)),d&&null==a["_on"+d]&&(a["_on"+d]=0),e.target.attachEvent("on"+e.eventType,e.handler)):(e=y.get(a,d||b,B,!0)[0],e&&(e.target.detachEvent("on"+e.eventType,e.handler),y.del(e)))},D=function(a,b,c,d,e){return function(){d.apply(this,arguments),a(b,c,e)}},E=function(a,b,c,d){var e=b&&b.replace(f,""),g=y.get(a,e,null,!1),h={},i,j;for(i=0,j=g.length;j>i;i++)c&&g[i].original!==c||!g[i].inNamespaces(d)||(y.del(g[i]),!h[g[i].eventType]&&g[i][l]&&(h[g[i].eventType]={t:g[i].eventType,c:g[i].type}));for(i in h)y.has(a,h[i].t,null,!1)||C(a,h[i].t,!1,h[i].c)},F=function(a,b){var c=function(b,c){for(var d,e=p(a)?z(a,c):a;b&&b!==c;b=b.parentNode)for(d=e.length;d--;)if(e[d]===b)return b},d=function(a){var d=c(a.target,this);d&&b.apply(d,arguments)};return d.__beanDel={ft:c,selector:a},d},G=k?function(a,b,d){var e=i.createEvent(a?"HTMLEvents":"UIEvents");e[a?"initEvent":"initUIEvent"](b,!0,!0,c,1),d.dispatchEvent(e)}:function(a,b,c){c=w(c,a),a?c.fireEvent("on"+b,i.createEventObject()):c["_on"+b]++},H=function(a,b,c){var d=p(b),g,h,i,j;if(d&&b.indexOf(" ")>0){for(b=o(b),j=b.length;j--;)H(a,b[j],c);return a}if(h=d&&b.replace(f,""),h&&u[h]&&(h=u[h].base),!b||d)(i=d&&b.replace(e,""))&&(i=o(i,".")),E(a,h,c,i);else if(q(b))E(a,null,b);else for(g in b)b.hasOwnProperty(g)&&H(a,g,b[g]);return a},I=function(a,b,c,d){var g,h,i,j,k,p,r;{if(void 0!==c||"object"!=typeof b){for(q(c)?(k=n.call(arguments,3),d=g=c):(g=d,k=n.call(arguments,4),d=F(c,g,z)),i=o(b),this===m&&(d=D(H,a,b,d,g)),j=i.length;j--;)r=y.put(p=new x(a,i[j].replace(f,""),d,g,o(i[j].replace(e,""),"."),k,!1)),p[l]&&r&&C(a,p.eventType,!0,p.customType);return a}for(h in b)b.hasOwnProperty(h)&&I.call(this,a,h,b[h])}},J=function(a,b,c,d){return I.apply(null,p(c)?[a,c,b,d].concat(arguments.length>3?n.call(arguments,5):[]):n.call(arguments))},K=function(){return I.apply(m,arguments)},L=function(a,b,c){var d=o(b),g,h,i,j,k;for(g=d.length;g--;)if(b=d[g].replace(f,""),(j=d[g].replace(e,""))&&(j=o(j,".")),j||c||!a[l])for(k=y.get(a,b,null,!1),c=[!1].concat(c),h=0,i=k.length;i>h;h++)k[h].inNamespaces(j)&&k[h].handler.apply(a,c);else G(t[b],b,a);return a},M=function(a,b,c){for(var d=y.get(b,c,null,!1),e=d.length,f=0,g,h;e>f;f++)d[f].original&&(g=[a,d[f].type],(h=d[f].handler.__beanDel)&&g.push(h.selector),g.push(d[f].original),I.apply(null,g));return a},N={on:I,add:J,one:K,off:H,remove:H,clone:M,fire:L,Event:v,setSelectorEngine:A,noConflict:function(){return b[a]=d,this}};if(c.attachEvent){var O=function(){var a,b=y.entries();for(a in b)b[a].type&&"unload"!==b[a].type&&H(b[a].element,b[a].type);c.detachEvent("onunload",O),c.CollectGarbage&&c.CollectGarbage()};c.attachEvent("onunload",O)}return A(Ink.ss),N}),b={KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_SPACE:32,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45,throttle:function(a,b){b=b||0;var c=0,d,e=function(){var f=+new Date,g=f-c;if(g>=b)return c=f,a.apply(this,[].slice.call(arguments));var h=this,i=[].slice.call(arguments);d||(d=setTimeout(function(){return d=null,e.apply(h,i)},b-g))};return e},element:function(a){var b=a.delegationTarget||a.target||"mouseout"===a.type&&a.fromElement||"mouseleave"===a.type&&a.fromElement||"mouseover"===a.type&&a.toElement||"mouseenter"===a.type&&a.toElement||a.srcElement||null;return!b||3!==b.nodeType&&4!==b.nodeType?b:b.parentNode},relatedTarget:function(a){var b=a.relatedTarget||"mouseout"===a.type&&a.toElement||"mouseleave"===a.type&&a.toElement||"mouseover"===a.type&&a.fromElement||"mouseenter"===a.type&&a.fromElement||null;return!b||3!==b.nodeType&&4!==b.nodeType?b:b.parentNode},findElement:function(a,b,c){for(var d=this.element(a);;){if(d.nodeName.toLowerCase()===b.toLowerCase())return d;if(d=d.parentNode,!d)return c?!1:document;if(!d.parentNode)return c?!1:document}},observe:function(a,b,c,d){return a=Ink.i(a),a?(a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent("on"+b,c=Ink.bind(c,a)),c):void 0},observeOnce:function(a,c,d,e){var f=function(){return b.stopObserving(a,c,f),d()};return b.observe(a,c,f,e)},observeMulti:function(a,b,c,d){if("string"==typeof a?a=Ink.ss(a):a&&1===a.nodeType&&(a=[a]),!a[0])return!1;for(var e=0,f=a.length;f>e;e++)this.observe(a[e],b,c,d);return c},observeDelegated:function(a,c,d,e){return b.observe(a,c,function(c){var f=b.element(c);if(f&&f!==a)for(var g=f;g!==a&&g!==document&&g;){if(Ink.Dom.Selector_1.matchesSelector(g,d))return c.delegationTarget=g,e(c);g=g.parentNode}})},stopObserving:function(a,b,c,d){a=Ink.i(a),a&&(a.removeEventListener?a.removeEventListener(b,c,!!d):a.detachEvent("on"+b,c))},stop:function(a){null!==a.cancelBubble&&(a.cancelBubble=!0),a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),window.attachEvent&&(a.returnValue=!1),null!==a.cancel&&(a.cancel=!0)},stopPropagation:function(a){null!==a.cancelBubble&&(a.cancelBubble=!0),a.stopPropagation&&a.stopPropagation()},stopDefault:function(a){a.preventDefault&&a.preventDefault(),window.attachEvent&&(a.returnValue=!1),null!==a.cancel&&(a.cancel=!0)},pointer:function(a){return{x:this.pointerX(a),y:this.pointerY(a)}},pointerX:function(a){return a.touches&&a.touches[0]&&a.touches[0].clientX||a.pageX||a.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)},pointerY:function(a){return a.touches&&a.touches[0]&&a.touches[0].clientY||a.pageY||a.clientY+(document.documentElement.scrollTop||document.body.scrollTop)},isLeftClick:function(a){if(window.addEventListener){if(0===a.button)return!0;if("touchend"===a.type&&null===a.button)return!0}else if(1===a.button)return!0;return!1},isRightClick:function(a){return 2===a.button},isMiddleClick:function(a){return window.addEventListener?1===a.button:4===a.button;return!1},getCharFromKeyboardEvent:function(a,b){var c=a.keyCode,d=String.fromCharCode(c),e=a.shiftKey;if(c>=65&&90>=c)return"boolean"==typeof b&&(e=b),e?d:d.toLowerCase();if(c>=96&&105>=c)return String.fromCharCode(48+(c-96));switch(c){case 109:case 189:return"-";case 107:case 187:return"+"}return d},debug:function(){}};return Ink.extendObj(b,a)}),Ink.createModule("Ink.Dom.FormSerialize",1,["Ink.Util.Array_1","Ink.Dom.Element_1","Ink.Dom.Selector_1"],function(a,b,c){"use strict";function d(c){return null!=c&&!b.isDOMElement(c)&&(a.isArray(c)||"string"!=typeof c&&"number"==typeof c.length)}function e(a){return d(a)?a:[a]}var f={serialize:function(b){var c={},d={},e=this.asPairs(b,{elements:!0,emptyArray:d});return null==e?e:(a.forEach(e,function(a){var b=a[0].replace(/\[\]$/,""),e=a[1],g=a[2];e===d?c[b]=[]:f._resultsInArray(g)||/\[\]$/.test(a[0])?(c[b]=c[b]||[],c[b].push(e)):c[b]=e}),c)},asPairs:function(b,d){function e(a,b,c){h.push(d.elements?[a,b,c]:[a,b])}function g(b){if("select"===b.nodeName.toLowerCase()&&b.multiple){var f=!1;a.forEach(c.select("option:checked",b),function(a){e(b.name,a.value,b),f=!0}),!f&&"emptyArray"in d&&e(b.name,d.emptyArray,b)}else e(b.name,b.value,b)}var h=[];if(d=d||{},b=Ink.i(b)){for(var i=a.filter(b.elements,f._isSerialized),j=0,k=i.length;k>j;j++)g(i[j]);return h}return null},fillIn:function(a,b){if(!(a=Ink.i(a)))return null;var c;if("object"!=typeof b||d(b)){if(!d(b))return null;c=b}else c=f._objToPairs(b);return f._fillInPairs(a,c)},_objToPairs:function(a){var b=[],c;for(var d in a)if(a.hasOwnProperty(d)){c=e(a[d]);for(var f=0,g=c.length;g>f;f++)b.push([d,c[f]]);0===g&&b.push([d,[]])}return b},_fillInPairs:function(b,c){c=a.groupBy(c,{key:function(a){return a[0].replace(/\[\]$/,"")}}),c=a.map(c,function(b){var c=a.reduce(b,function(a,b){return[null,a[1].concat([b[1]])]},[null,[]])[1];return[b[0][0],c]});for(var d,g,h,i=0,j=c.length;j>i;i++){if(d=c[i][0],d in b)g=b[d];else{if(!(d+"[]"in b))continue;g=b[d+"[]"],d+="[]"}g=e(g),h=c[i][1],f._fillInOne(d,g,h)}},_fillInOne:function(a,c,d){var e=c[0],g=e.nodeName.toLowerCase(),h=e.getAttribute("type");h=h&&h.toLowerCase();var i="select"===g&&b.hasAttribute(e,"multiple");if("checkbox"===h||"radio"===h)f._fillInBoolean(c,d,"checked");else if(i)f._fillInBoolean(c[0].options,d,"selected");else{c.length!==d.length&&Ink.warn("Form had "+c.length+' inputs named "'+a+'", but received '+d.length+" values.");for(var j=0,k=Math.min(c.length,d.length);k>j;j+=1)c[j].value=d[j]}},_fillInBoolean:function(b,c,d){a.forEach(b,function(b){var e=a.inArray(b.value,c);b[d]=e})},_resultsInArray:function(a){var c=a.getAttribute("type"),d=a.nodeName.toLowerCase();return"checkbox"===c||"select"===d&&b.hasAttribute(a,"multiple")},_isSerialized:function(a){if(!b.isDOMElement(a))return!1;if(!b.hasAttribute(a,"name"))return!1;var c=a.nodeName.toLowerCase();return c&&"fieldset"!==c?"checkbox"===a.type||"radio"===a.type?!!a.checked:!0:!1}};return f}),Ink.createModule("Ink.Dom.Loaded",1,[],function(){"use strict";var a={_contexts:[],run:function(a,b){b||(b=a,a=window);for(var c,d=0,e=this._contexts.length;e>d;d++)if(this._contexts[d][0]===a){c=this._contexts[d][1];break}c||(c={cbQueue:[],win:a,doc:a.document,root:a.document.documentElement,done:!1,top:!0},c.handlers={checkState:Ink.bindEvent(this._checkState,this,c),poll:Ink.bind(this._poll,this,c)},this._contexts.push([a,c]));var f=c.doc.addEventListener;c.add=f?"addEventListener":"attachEvent",c.rem=f?"removeEventListener":"detachEvent",c.pre=f?"":"on",c.det=f?"DOMContentLoaded":"onreadystatechange",c.wet=c.pre+"load";var g=c.handlers.checkState,h=/complete|interactive|loaded/.test(c.doc.readyState)&&"about:blank"!==c.win.location.toString();if(h)setTimeout(Ink.bind(function(){b.call(c.win,"lazy")},this),0);else{c.cbQueue.push(b),c.doc[c.add](c.det,g),c.win[c.add](c.wet,g);var i=1;try{i=c.win.frameElement}catch(j){}if(!f&&c.root&&c.root.doScroll){try{c.top=!i}catch(j){}c.top&&this._poll(c)}}},_checkState:function(a,b){if(a&&("readystatechange"!==a.type||"complete"===b.doc.readyState)){var c="load"===a.type?b.win:b.doc;c[b.rem](b.pre+a.type,b.handlers.checkState,!1),this._ready(b)}},_poll:function(a){try{a.root.doScroll("left")}catch(b){return setTimeout(a.handlers.poll,50)}this._ready(a)},_ready:function(a){if(!a.done){a.done=!0;for(var b=0;bw.cacheLength&&delete a[b.shift()],a[c]=d}}function c(a){return a[L]=!0,a}function d(a){var b=E.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b=null}}function e(a,b,c,d){var e,f,g,h,i,l,m,n,o,p;if((b?b.ownerDocument||b:M)!==E&&D(b),b=b||E,c=c||[],!a||"string"!=typeof a)return c;if(1!==(h=b.nodeType)&&9!==h)return[];if(G&&!d){if(e=pb.exec(a))if(g=e[1]){if(9===h){if(f=b.getElementById(g),!f||!f.parentNode)return c;if(f.id===g)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(g))&&K(b,f)&&f.id===g)return c.push(f),c}else{if(e[2])return $.apply(c,b.getElementsByTagName(a)),c;if((g=e[3])&&N.getElementsByClassName&&b.getElementsByClassName)return $.apply(c,b.getElementsByClassName(g)),c}if(N.qsa&&!H.test(a)){if(m=!0,n=L,o=b,p=9===h&&a,1===h&&"object"!==b.nodeName.toLowerCase()){for(l=j(a),(m=b.getAttribute("id"))?n=m.replace(sb,"\\$&"):b.setAttribute("id",n),n="[id='"+n+"'] ",i=l.length;i--;)l[i]=n+k(l[i]);o=nb.test(a)&&b.parentNode||b,p=l.join(",")}if(p)try{return $.apply(c,o.querySelectorAll(p)),c}catch(q){}finally{m||b.removeAttribute("id")}}}return s(a.replace(hb,"$1"),b,c,d)}function f(a,b){var c=b&&a,d=c&&(~b.sourceIndex||W)-(~a.sourceIndex||W);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function g(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function h(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function i(a){return c(function(b){return b=+b,c(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function j(a,b){var c,d,f,g,h,i,j,k=R[a+" "];if(k)return b?0:k.slice(0);for(h=a,i=[],j=w.preFilter;h;){(!c||(d=ib.exec(h)))&&(d&&(h=h.slice(d[0].length)||h),i.push(f=[])),c=!1,(d=jb.exec(h))&&(c=d.shift(),f.push({value:c,type:d[0].replace(hb," ")}),h=h.slice(c.length));for(g in w.filter)!(d=mb[g].exec(h))||j[g]&&!(d=j[g](d))||(c=d.shift(),f.push({value:c,type:g,matches:d}),h=h.slice(c.length));if(!c)break}return b?h.length:h?e.error(a):R(a,i).slice(0)}function k(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function l(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=P++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=O+" "+f;if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e)if(j=b[L]||(b[L]={}),(i=j[d])&&i[0]===k){if((h=i[1])===!0||h===v)return h===!0}else if(i=j[d]=[k],i[1]=a(b,c,g)||v,i[1]===!0)return!0}}function m(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function n(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function o(a,b,d,e,f,g){return e&&!e[L]&&(e=o(e)),f&&!f[L]&&(f=o(f,g)),c(function(c,g,h,i){var j,k,l,m=[],o=[],p=g.length,q=c||r(b||"*",h.nodeType?[h]:h,[]),s=!a||!c&&b?q:n(q,m,a,h,i),t=d?f||(c?a:p||e)?[]:g:s;if(d&&d(s,t,h,i),e)for(j=n(t,o),e(j,[],h,i),k=j.length;k--;)(l=j[k])&&(t[o[k]]=!(s[o[k]]=l));if(c){if(f||a){if(f){for(j=[],k=t.length;k--;)(l=t[k])&&j.push(s[k]=l);f(null,t=[],j,i)}for(k=t.length;k--;)(l=t[k])&&(j=f?ab.call(c,l):m[k])>-1&&(c[j]=!(g[j]=l))}}else t=n(t===g?t.splice(p,t.length):t),f?f(null,g,t,i):$.apply(g,t)})}function p(a){for(var b,c,d,e=a.length,f=w.relative[a[0].type],g=f||w.relative[" "],h=f?1:0,i=l(function(a){return a===b},g,!0),j=l(function(a){return ab.call(b,a)>-1},g,!0),n=[function(a,c,d){return!f&&(d||c!==A)||((b=c).nodeType?i(a,c,d):j(a,c,d))}];e>h;h++)if(c=w.relative[a[h].type])n=[l(m(n),c)];else{if(c=w.filter[a[h].type].apply(null,a[h].matches),c[L]){for(d=++h;e>d&&!w.relative[a[d].type];d++);return o(h>1&&m(n),h>1&&k(a.slice(0,h-1)).replace(hb,"$1"),c,d>h&&p(a.slice(h,d)),e>d&&p(a=a.slice(d)),e>d&&k(a))}n.push(c)}return m(n)}function q(a,b){var d=0,f=b.length>0,g=a.length>0,h=function(c,h,i,j,k){var l,m,o,p=[],q=0,r="0",s=c&&[],t=null!=k,u=A,x=c||g&&w.find.TAG("*",k&&h.parentNode||h),y=O+=null==u?1:Math.random()||.1;for(t&&(A=h!==E&&h,v=d);null!=(l=x[r]);r++){if(g&&l){for(m=0;o=a[m++];)if(o(l,h,i)){j.push(l);break}t&&(O=y,v=++d)}f&&((l=!o&&l)&&q--,c&&s.push(l))}if(q+=r,f&&r!==q){for(m=0;o=b[m++];)o(s,p,h,i);if(c){if(q>0)for(;r--;)s[r]||p[r]||(p[r]=Y.call(j));p=n(p)}$.apply(j,p),t&&!c&&p.length>0&&q+b.length>1&&e.uniqueSort(j)}return t&&(O=y,A=u),s};return f?c(h):h}function r(a,b,c){for(var d=0,f=b.length;f>d;d++)e(a,b[d],c);return c}function s(a,b,c,d){var e,f,g,h,i,l=j(a);if(!d&&1===l.length){if(f=l[0]=l[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&9===b.nodeType&&G&&w.relative[f[1].type]){if(b=(w.find.ID(g.matches[0].replace(ub,vb),b)||[])[0],!b)return c;a=a.slice(f.shift().value.length)}for(e=mb.needsContext.test(a)?0:f.length;e--&&(g=f[e],!w.relative[h=g.type]);)if((i=w.find[h])&&(d=i(g.matches[0].replace(ub,vb),nb.test(f[0].type)&&b.parentNode||b))){if(f.splice(e,1),a=d.length&&k(f),!a)return $.apply(c,d),c; +break}}return z(a,l)(d,b,!G,c,nb.test(a)),c}function t(){}var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L="sizzle"+-new Date,M=window.document,N={},O=0,P=0,Q=b(),R=b(),S=b(),T=!1,U=function(){return 0},V="undefined",W=1<<31,X=[],Y=X.pop,Z=X.push,$=X.push,_=X.slice,ab=X.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},bb="[\\x20\\t\\r\\n\\f]",cb="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",db=cb.replace("w","w#"),eb="([*^$|!~]?=)",fb="\\["+bb+"*("+cb+")"+bb+"*(?:"+eb+bb+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+db+")|)|)"+bb+"*\\]",gb=":("+cb+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+fb.replace(3,8)+")*)|.*)\\)|)",hb=new RegExp("^"+bb+"+|((?:^|[^\\\\])(?:\\\\.)*)"+bb+"+$","g"),ib=new RegExp("^"+bb+"*,"+bb+"*"),jb=new RegExp("^"+bb+"*([\\x20\\t\\r\\n\\f>+~])"+bb+"*"),kb=new RegExp(gb),lb=new RegExp("^"+db+"$"),mb={ID:new RegExp("^#("+cb+")"),CLASS:new RegExp("^\\.("+cb+")"),NAME:new RegExp("^\\[name=['\"]?("+cb+")['\"]?\\]"),TAG:new RegExp("^("+cb.replace("w","w*")+")"),ATTR:new RegExp("^"+fb),PSEUDO:new RegExp("^"+gb),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+bb+"*(even|odd|(([+-]|)(\\d*)n|)"+bb+"*(?:([+-]|)"+bb+"*(\\d+)|))"+bb+"*\\)|)","i"),needsContext:new RegExp("^"+bb+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+bb+"*((?:-\\d)?\\d*)"+bb+"*\\)|)(?=[^-]|$)","i")},nb=/[\x20\t\r\n\f]*[+~]/,ob=/^[^{]+\{\s*\[native code/,pb=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,qb=/^(?:input|select|textarea|button)$/i,rb=/^h\d$/i,sb=/'|\\/g,tb=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,ub=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,vb=function(a,b){var c="0x"+b-65536;return c!==c?b:0>c?String.fromCharCode(c+65536):String.fromCharCode(c>>10|55296,1023&c|56320)};try{$.apply(X=_.call(M.childNodes),M.childNodes),X[M.childNodes.length].nodeType}catch(wb){$={apply:X.length?function(a,b){Z.apply(a,_.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}y=e.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},D=e.setDocument=function(b){var c=b?b.ownerDocument||b:M;return c!==E&&9===c.nodeType&&c.documentElement?(E=c,F=c.documentElement,G=!y(c),N.getElementsByTagName=d(function(a){return a.appendChild(c.createComment("")),!a.getElementsByTagName("*").length}),N.attributes=d(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return"boolean"!==b&&"string"!==b}),N.getElementsByClassName=d(function(a){return a.innerHTML="",a.getElementsByClassName&&a.getElementsByClassName("e").length?(a.lastChild.className="e",2===a.getElementsByClassName("e").length):!1}),N.getByName=d(function(a){a.id=L+0,a.appendChild(E.createElement("a")).setAttribute("name",L),a.appendChild(E.createElement("i")).setAttribute("name",L),F.appendChild(a);var b=c.getElementsByName&&c.getElementsByName(L).length===2+c.getElementsByName(L+0).length;return F.removeChild(a),b}),N.sortDetached=d(function(a){return a.compareDocumentPosition&&1&a.compareDocumentPosition(E.createElement("div"))}),w.attrHandle=d(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==V&&"#"===a.firstChild.getAttribute("href")})?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},N.getByName?(w.find.ID=function(a,b){if(typeof b.getElementById!==V&&G){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},w.filter.ID=function(a){var b=a.replace(ub,vb);return function(a){return a.getAttribute("id")===b}}):(w.find.ID=function(a,b){if(typeof b.getElementById!==V&&G){var c=b.getElementById(a);return c?c.id===a||typeof c.getAttributeNode!==V&&c.getAttributeNode("id").value===a?[c]:void 0:[]}},w.filter.ID=function(a){var b=a.replace(ub,vb);return function(a){var c=typeof a.getAttributeNode!==V&&a.getAttributeNode("id");return c&&c.value===b}}),w.find.TAG=N.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==V?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},w.find.NAME=N.getByName&&function(a,b){return typeof b.getElementsByName!==V?b.getElementsByName(name):void 0},w.find.CLASS=N.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==V&&G?b.getElementsByClassName(a):void 0},I=[],H=[":focus"],(N.qsa=a(c.querySelectorAll))&&(d(function(a){a.innerHTML="",a.querySelectorAll("[selected]").length||H.push("\\["+bb+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||H.push(":checked")}),d(function(a){a.innerHTML="",a.querySelectorAll("[i^='']").length&&H.push("[*^$]="+bb+"*(?:\"\"|'')"),a.querySelectorAll(":enabled").length||H.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),H.push(",.*:")})),(N.matchesSelector=a(J=F.matchesSelector||F.mozMatchesSelector||F.webkitMatchesSelector||F.oMatchesSelector||F.msMatchesSelector))&&d(function(a){N.disconnectedMatch=J.call(a,"div"),J.call(a,"[s!='']:x"),I.push("!=",gb)}),H=new RegExp(H.join("|")),I=I.length&&new RegExp(I.join("|")),K=a(F.contains)||F.compareDocumentPosition?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},U=F.compareDocumentPosition?function(a,b){if(a===b)return T=!0,0;var d=b.compareDocumentPosition&&a.compareDocumentPosition&&a.compareDocumentPosition(b);return d?1&d||B&&b.compareDocumentPosition(a)===d?a===c||K(M,a)?-1:b===c||K(M,b)?1:C?ab.call(C,a)-ab.call(C,b):0:4&d?-1:1:a.compareDocumentPosition?-1:1}:function(a,b){var d,e=0,g=a.parentNode,h=b.parentNode,i=[a],j=[b];if(a===b)return T=!0,0;if(!g||!h)return a===c?-1:b===c?1:g?-1:h?1:0;if(g===h)return f(a,b);for(d=a;d=d.parentNode;)i.unshift(d);for(d=b;d=d.parentNode;)j.unshift(d);for(;i[e]===j[e];)e++;return e?f(i[e],j[e]):i[e]===M?-1:j[e]===M?1:0},E):E},e.matches=function(a,b){return e(a,null,null,b)},e.matchesSelector=function(a,b){if((a.ownerDocument||a)!==E&&D(a),b=b.replace(tb,"='$1']"),N.matchesSelector&&G&&(!I||!I.test(b))&&!H.test(b))try{var c=J.call(a,b);if(c||N.disconnectedMatch||a.document&&11!==a.document.nodeType)return c}catch(d){}return e(b,E,null,[a]).length>0},e.contains=function(a,b){return(a.ownerDocument||a)!==E&&D(a),K(a,b)},e.attr=function(a,b){var c;return(a.ownerDocument||a)!==E&&D(a),G&&(b=b.toLowerCase()),(c=w.attrHandle[b])?c(a):!G||N.attributes?a.getAttribute(b):((c=a.getAttributeNode(b))||a.getAttribute(b))&&a[b]===!0?b:c&&c.specified?c.value:null},e.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},e.uniqueSort=function(a){var b,c=[],d=0,e=0;if(T=!N.detectDuplicates,B=!N.sortDetached,C=!N.sortStable&&a.slice(0),a.sort(U),T){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return a},x=e.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=x(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d];d++)c+=x(b);return c},w=e.selectors={cacheLength:50,createPseudo:c,match:mb,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ub,vb),a[3]=(a[4]||a[5]||"").replace(ub,vb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||e.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&e.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return mb.CHILD.test(a[0])?null:(a[4]?a[2]=a[4]:c&&kb.test(c)&&(b=j(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){return"*"===a?function(){return!0}:(a=a.replace(ub,vb).toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=Q[a+" "];return b||(b=new RegExp("(^|"+bb+")"+a+"("+bb+"|$)"))&&Q(a,function(a){return b.test(a.className||typeof a.getAttribute!==V&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var f=e.attr(d,a);return null==f?"!="===b:b?(f+="","="===b?f===c:"!="===b?f!==c:"^="===b?c&&0===f.indexOf(c):"*="===b?c&&f.indexOf(c)>-1:"$="===b?c&&f.slice(-c.length)===c:"~="===b?(" "+f+" ").indexOf(c)>-1:"|="===b?f===c||f.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){for(;p;){for(l=b;l=l[p];)if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(k=q[L]||(q[L]={}),j=k[a]||[],n=j[0]===O&&j[1],m=j[0]===O&&j[2],l=n&&q.childNodes[n];l=++n&&l&&l[p]||(m=n=0)||o.pop();)if(1===l.nodeType&&++m&&l===b){k[a]=[O,n,m];break}}else if(s&&(j=(b[L]||(b[L]={}))[a])&&j[0]===O)m=j[1];else for(;(l=++n&&l&&l[p]||(m=n=0)||o.pop())&&((h?l.nodeName.toLowerCase()!==r:1!==l.nodeType)||!++m||(s&&((l[L]||(l[L]={}))[a]=[O,m]),l!==b)););return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var d,f=w.pseudos[a]||w.setFilters[a.toLowerCase()]||e.error("unsupported pseudo: "+a);return f[L]?f(b):f.length>1?(d=[a,a,"",b],w.setFilters.hasOwnProperty(a.toLowerCase())?c(function(a,c){for(var d,e=f(a,b),g=e.length;g--;)d=ab.call(a,e[g]),a[d]=!(c[d]=e[g])}):function(a){return f(a,0,d)}):f}},pseudos:{not:c(function(a){var b=[],d=[],e=z(a.replace(hb,"$1"));return e[L]?c(function(a,b,c,d){for(var f,g=e(a,null,d,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,c,f){return b[0]=a,e(b,null,f,d),!d.pop()}}),has:c(function(a){return function(b){return e(a,b).length>0}}),contains:c(function(a){return function(b){return(b.textContent||b.innerText||x(b)).indexOf(a)>-1}}),lang:c(function(a){return lb.test(a||"")||e.error("unsupported lang: "+a),a=a.replace(ub,vb).toLowerCase(),function(b){var c;do if(c=G?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(a){var b=window.location&&window.location.hash;return b&&b.slice(1)===a.id},root:function(a){return a===F},focus:function(a){return a===E.activeElement&&(!E.hasFocus||E.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeName>"@"||3===a.nodeType||4===a.nodeType)return!1;return!0},parent:function(a){return!w.pseudos.empty(a)},header:function(a){return rb.test(a.nodeName)},input:function(a){return qb.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||b.toLowerCase()===a.type)},first:i(function(){return[0]}),last:i(function(a,b){return[b-1]}),eq:i(function(a,b,c){return[0>c?c+b:c]}),even:i(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:i(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:i(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:i(function(a,b,c){for(var d=0>c?c+b:c;++dg;g++){for(f=[a[g]];h>g+1&&c(a[g],a[g+1]);)f.push(a[g+1]),g++;e.push(b.pairs?[d(a[g]),f]:f)}return e},reduce:function(b,c,d){if(a.reduce)return a.reduce.apply(b,[].slice.call(arguments,1));var e=Object(b),f=e.length>>>0,g=0,h;if(arguments.length>=3)h=d;else{for(;f>g&&!(g in e);)g++;if(g>=f)throw new TypeError("Reduce of empty array with no initial value");h=e[g++]}for(;f>g;g++)g in e&&(h=c(h,e[g],g,e));return h},inArray:function(a,b){if("object"==typeof b)for(var c=0,d=b.length;d>c;++c)if(b[c]===a)return!0;return!1},sortMulti:function(a,b){if("undefined"==typeof a||a.constructor!==Array)return!1;if("string"!=typeof b)return a.sort();if(a.length>0){if("undefined"==typeof a[0][b])return!1;a.sort(function(a,c){var d=a[b],e=c[b];return e>d?-1:d>e?1:0})}return a},keyValue:function(a,b,c){if("undefined"!=typeof a&&"object"==typeof b&&this.inArray(a,b)){for(var d=[],e=0,f=b.length;f>e;++e)if(b[e]===a){if("undefined"!=typeof c&&c===!0)return e;d.push(e)}return d}return!1},shuffle:function(a){if("undefined"!=typeof a&&a.constructor!==Array)return!1;for(var b=a.length,c=!1,d=!1;b--;)d=Math.floor(Math.random()*(b+1)),c=a[b],a[b]=a[d],a[d]=c;return a},forEach:function(b,c,d){if(a.forEach)return a.forEach.call(b,c,d);for(var e=0,f=b.length>>>0;f>e;e++)c.call(d,b[e],e,b)},each:function(){b.forEach.apply(b,[].slice.call(arguments))},map:function(b,c,d){if(a.map)return a.map.call(b,c,d);for(var e=new Array(g),f=0,g=b.length>>>0;g>f;f++)e[f]=c.call(d,b[f],f,b);return e},filter:function(b,c,d){if(a.filter)return a.filter.call(b,c,d);for(var e=[],f=null,g=0,h=b.length;h>g;g++)f=b[g],c.call(d,f,g,b)&&e.push(f);return e},some:function(a,b,c){if(null===a)throw new TypeError("First argument is invalid.");var d=Object(a),e=d.length>>>0;if("function"!=typeof b)throw new TypeError("Second argument must be a function.");for(var f=0;e>f;f++)if(f in d&&b.call(c,d[f],f,d))return!0;return!1},intersect:function(a,b){if(!a||!b||a instanceof Array==!1||b instanceof Array==!1)return[];for(var c=[],d=0,e=a.length;e>d;++d)for(var f=0,g=b.length;g>f;++f)a[d]===b[f]&&c.push(a[d]);return c},convert:function(b){return a.slice.call(b||[],0)},unique:function(a){if(!Array.prototype.lastIndexOf){var c=[];return b.forEach(b.convert(a),function(a){b.inArray(a,c)||c.push(a)}),c}return b.filter(b.convert(a),function(a,b,c){return c.lastIndexOf(a)===b})},range:function c(a,b,d){d||(d=1);var e=[],f;if(d>0)for(f=a;b>f;f+=d)e.push(f);else for(f=a;f>b;f+=d)e.push(f);return e},insert:function(a,b,c){a.splice(b,0,c)},remove:function(a,b,c){for(var d=[],e=0,f=a.length;f>e;e++)e>=b&&b+c>e||d.push(a[e]);return d}};return b}),Ink.createModule("Ink.Util.BinPack","1",[],function(){"use strict";var a=function(a,b){this.init(a,b)};a.prototype={init:function(a,b){this.root={x:0,y:0,w:a,h:b}},fit:function(a){var b,c,d;for(b=0;b0?a[0].w:0,g=e>0?a[0].h:0;for(this.root={x:0,y:0,w:f,h:g},b=0;e>b;b++)d=a[b],d.fit=(c=this.findNode(this.root,d.w,d.h))?this.splitNode(c,d.w,d.h):this.growNode(d.w,d.h)},findNode:function(a,b,c){return a.used?this.findNode(a.right,b,c)||this.findNode(a.down,b,c):b<=a.w&&c<=a.h?a:null},splitNode:function(a,b,c){return a.used=!0,a.down={x:a.x,y:a.y+c,w:a.w,h:a.h-c},a.right={x:a.x+b,y:a.y,w:a.w-b,h:c},a},growNode:function(a,b){var c=a<=this.root.w,d=b<=this.root.h,e=d&&this.root.h>=this.root.w+a,f=c&&this.root.w>=this.root.h+b;return e?this.growRight(a,b):f?this.growDown(a,b):d?this.growRight(a,b):c?this.growDown(a,b):null},growRight:function(a,b){this.root={used:!0,x:0,y:0,w:this.root.w+a,h:this.root.h,down:this.root,right:{x:this.root.w,y:0,w:a,h:this.root.h}};var c;return(c=this.findNode(this.root,a,b))?this.splitNode(c,a,b):null},growDown:function(a,b){this.root={used:!0,x:0,y:0,w:this.root.w,h:this.root.h+b,down:{x:0,y:this.root.h,w:this.root.w,h:b},right:this.root};var c;return(c=this.findNode(this.root,a,b))?this.splitNode(c,a,b):null}};var c={random:function(){return Math.random()-.5},w:function(a,b){return b.w-a.w},h:function(a,b){return b.h-a.h},a:function(a,b){return b.area-a.area},max:function(a,b){return Math.max(b.w,b.h)-Math.max(a.w,a.h)},min:function(a,b){return Math.min(b.w,b.h)-Math.min(a.w,a.h)},height:function(a,b){return c.msort(a,b,["h","w"])},width:function(a,b){return c.msort(a,b,["w","h"])},area:function(a,b){return c.msort(a,b,["a","h","w"])},maxside:function(a,b){return c.msort(a,b,["max","min","h","w"])},msort:function(a,b,d){var e,f;for(f=0;ff;++f)h=e.blocks[f],"area"in h||(h.area=h.w*h.h);var i=e.dimensions?new a(e.dimensions[0],e.dimensions[1]):new b;e.sorter||(e.sorter="maxside"),e.blocks.sort(c[e.sorter]),i.fit(e.blocks);var j=[i.root.w,i.root.h],k=[],l=[];for(f=0,g=e.blocks.length;g>f;++f)h=e.blocks[f],h.fit?k.push(h):(h.toString=d,l.push(h));var m=j[0]*j[1],n=0;for(f=0,g=k.length;g>f;++f)h=k[f],n+=h.area;return{dimensions:j,filled:n/m,blocks:e.blocks,fitted:k,unfitted:l}}};return e}),Ink.createModule("Ink.Util.Cookie","1",[],function(){"use strict";var a={get:function(a){var b=document.cookie||!1,c={};if(b){b=b.replace(new RegExp("; ","g"),";");var d=b.split(";"),e=[];if(d.length>0)for(var f=0;f1?k:"0"+k;break;case"D":d[j]=this._wDays(f.getDay()).substring(0,3);break;case"j":d[j]=f.getDate();break;case"l":d[j]=this._wDays(f.getDay());break;case"N":d[j]=f.getDay()||7;break;case"S":var l=f.getDate(),m=["st","nd","rd"],n="";d[j]=l>=11&&13>=l?"th":(n=m[String(l).substr(-1)-1])?n:"th";break;case"w":d[j]=f.getDay();break;case"z":g=Date.UTC(f.getFullYear(),0,0),h=Date.UTC(f.getFullYear(),f.getMonth(),f.getDate()),d[j]=Math.floor((h-g)/864e5);break;case"W":var o=new Date(f.getFullYear(),0,1);g=o.getDay()||7;var p=Math.floor((f-o)/864e5+1);d[j]=Math.ceil((p-(8-g))/7)+1;break;case"F":d[j]=this._months(f.getMonth());break;case"m":var q=String(f.getMonth()+1);d[j]=q.length>1?q:"0"+q;break;case"M":d[j]=this._months(f.getMonth()).substring(0,3);break;case"n":d[j]=f.getMonth()+1;break;case"t":d[j]=this._daysInMonth(f.getMonth()+1,f.getYear());break;case"L":var r=f.getFullYear();d[j]=r%4?!1:r%100?!0:r%400?!1:!0;break;case"o":throw'"o" not implemented!';case"Y":d[j]=f.getFullYear();break;case"y":d[j]=String(f.getFullYear()).substring(2);break;case"a":d[j]=f.getHours()<12?"am":"pm";break;case"A":d[j]=f.getHours<12?"AM":"PM";break;case"B":throw'"B" not implemented!';case"g":i=f.getHours(),d[j]=12>=i?i:i-12;break;case"G":d[j]=String(f.getHours());break;case"h":i=String(f.getHours()),i=12>=i?i:i-12,d[j]=i.length>1?i:"0"+i;break;case"H":i=String(f.getHours()),d[j]=i.length>1?i:"0"+i;break;case"i":var s=String(f.getMinutes());d[j]=s.length>1?s:"0"+s;break;case"s":var t=String(f.getSeconds());d[j]=t.length>1?t:"0"+t;break;case"u":throw'"u" not implemented!';case"e":throw'"e" not implemented!';case"I":g=new Date(f.getFullYear(),0,1),d[j]=f.getTimezoneOffset()!==g.getTimezoneOffset()?1:0;break;case"O":var u=f.getTimezoneOffset(),v=u%60;i=String((u-v)/60*-1),"-"!==i.charAt(0)&&(i="+"+i),i=3===i.length?i:i.replace(/([+\-])(\d)/,"$10$2"),d[j]=i+v+"0";break;case"P":throw'"P" not implemented!';case"T":throw'"T" not implemented!';case"Z":d[j]=60*f.getTimezoneOffset();break;case"c":throw'"c" not implemented!';case"r":var w=this._wDays(f.getDay()).substr(0,3),x=this._months(f.getMonth()).substr(0,3);d[j]=w+", "+f.getDate()+" "+x+this.get(" Y H:i:s O",f);break;case"U":d[j]=Math.floor(f.getTime()/1e3);break;default:d[j]=c[j]}return d.join("")},set:function(a,b){if("undefined"!=typeof b){("undefined"==typeof a||""===a)&&(a="Y-m-d");for(var c=a.split(""),d=new Array(c.length),e="\\",f,g={year:void 0,month:void 0,day:void 0,dayY:void 0,dayW:void 0,week:void 0,hour:void 0,hourD:void 0,min:void 0,sec:void 0,msec:void 0,ampm:void 0,diffM:void 0,diffH:void 0,date:void 0},h=0,i=0;i=S.slice(2)?0:1)+M)}else M=L.getFullYear();if(n)N=0,O=f[g.dayY.match+1];else if(o)N=p?this._iMonth(f[g.month.match+1]):L.getMonth(),O=f[g.day.match+1];else{N=0;var T;T=t?f[g.week.match+1]:this.get("W",L),O=7*(T-2)+(8-(new Date(M,0,1).getDay()||7))+this._iWeek(f[g.week.match+1])}if(0===N&&O>31){var U=new Date(M,N,O);N=U.getMonth(),O=U.getDate()}}else M=L.getFullYear(),N=L.getMonth(),O=L.getDate();return I=y?+f[g.hourD.match+1]+("pm"===f[g.ampm.match+1]?12:0):z?f[g.hour.match+1]:x?L.getHours():"00",J=B?f[g.min.match+1]:E?"00":L.getMinutes(),P=C?f[g.sec.match+1]:F?"00":L.getSeconds(),Q=D?f[g.msec.match+1]:"000",R=H?f[g.diffH.match+1]:G?String(-1*f[g.diffM.match+1]/60*100).replace(/^(\d)/,"+$1").replace(/(^[\-+])(\d{3}$)/,"$10$2"):"+0000",new Date(M,N,O,I,J,P)}}}};return a}),Ink.createModule("Ink.Util.Dumper","1",[],function(){"use strict";var a={_tab:"    ",_formatParam:function(a){var b="";switch(typeof a){case"string":b="(string) "+a;break;case"number":b="(number) "+a;break;case"boolean":b="(boolean) "+a;break;case"object":b=null!==a?a.constructor===Array?"Array \n{\n"+this._outputFormat(a,0)+"\n}":"Object \n{\n"+this._outputFormat(a,0)+"\n}":"null";break;default:b=!1}return b},_getTabs:function(a){for(var b="",c=0;a>c;c++)b+=this._tab;return b},_outputFormat:function(a,b){var c="",d=!1;for(var e in a)if(null!==a[e])if("object"!=typeof a[e]||a[e].constructor!==Array&&a[e].constructor!==Object){if(a[e].constructor===Function)continue;c=c+this._tab+this._getTabs(b)+"["+e+"] => "+a[e]+"\n"}else a[e].constructor===Array?d="Array":a[e].constructor===Object&&(d="Object"),c+=this._tab+this._getTabs(b)+"["+e+"] => "+d+"\n",c+=this._tab+this._getTabs(b)+"{\n",c+=this._outputFormat(a[e],b+1)+this._tab+this._getTabs(b)+"}\n";else c=c+this._tab+this._getTabs(b)+"["+e+"] => null \n";return c},printDump:function(a,b){if(b&&"undefined"!=typeof b)if("string"==typeof b)document.getElementById(b).innerHTML="
              "+this._formatParam(a)+"
              ";else{if("object"!=typeof b)throw"TARGET must be an element or an element ID";b.innerHTML="
              "+this._formatParam(a)+"
              "}else document.write("
              "+this._formatParam(a)+"
              ")},returnDump:function(a){return this._formatParam(a)},alertDump:function(a){window.alert(this._formatParam(a).replace(/()(Array|Object)(<\/b>)/g,"$2"))},windowDump:function(a){var b="dumperwindow_"+1e4*Math.random(),c=window.open("",b,"width=400,height=300,left=50,top=50,status,menubar,scrollbars,resizable");c.document.open(),c.document.write("
              "+this._formatParam(a)+"
              "),c.document.close(),c.focus()}};return a}),Ink.createModule("Ink.Util.I18n","1",[],function(){"use strict";var a=/\{(?:(\{.*?})|(?:%s:)?(\d+)|(?:%s)?|([\w-]+))}/g,b=function(a,b){return"function"==typeof a?a.apply(this,b):void 0!==typeof a?a:""},c=function(a,b,d){return this instanceof c?void this.reset().lang(b).testMode(d).append(a||{},b):new c(a,b,d)};return c.prototype={reset:function(){return this._dicts=[],this._dict={},this._testMode=!1,this._lang=this._gLang,this},append:function(a){return this._dicts.push(a),this._dict=Ink.extendObj(this._dict,a[this._lang]),this},lang:function(a){if(!arguments.length)return this._lang;if(a&&this._lang!==a){this._lang=a,this._dict={};for(var b=0,c=this._dicts.length;c>b;b++)this._dict=Ink.extendObj(this._dict,this._dicts[b][a]||{})}return this},testMode:function(a){return arguments.length?(void 0!==a&&(this._testMode=!!a),this):!!this._testMode},getKey:function(a){var b,d=this._gLang,e=this._lang;return a in this._dict?b=this._dict[a]:(c.langGlobal(e),b=this._gDict[a],c.langGlobal(d)),b},text:function(c){if("string"==typeof c){var d=Array.prototype.slice.call(arguments,1),e=0,f="object"==typeof d[0],g=this.getKey(c);return void 0===g&&(g=this._testMode?"["+c+"]":c),"number"==typeof g&&(g+=""),"string"==typeof g?g=g.replace(a,function(a,c,g,h){var i=c?c:g?d[g-(f?0:1)]:h?d[0][h]||"":d[e++ +(f?1:0)];return b(i,[e].concat(d))}):"function"==typeof g?g.apply(this,d):g instanceof Array?b(g[d[0]],d):"object"==typeof g?b(g[d[0]],d):""}},ntext:function(a,b,c){var d=Array.prototype.slice.apply(arguments),e;if(2===d.length&&"number"==typeof b){if(e=this.getKey(a),!(e instanceof Array))return"";d.splice(0,1),e=e[1===b?0:1]}else d.splice(0,2),e=1===c?a:b;return this.text.apply(this,[e].concat(d))},ordinal:function(a){if(void 0===a)return"";var c=+a.toString().slice(-1),d=this.getKey("_ordinals");if(void 0===d)return"";if("string"==typeof d)return d;var e;return"function"==typeof d&&(e=d(a,c),"string"==typeof e)?e:"exceptions"in d&&(e="function"==typeof d.exceptions?d.exceptions(a,c):a in d.exceptions?b(d.exceptions[a],[a,c]):void 0,"string"==typeof e)?e:"byLastDigit"in d&&(e="function"==typeof d.byLastDigit?d.byLastDigit(c,a):c in d.byLastDigit?b(d.byLastDigit[c],[c,a]):void 0,"string"==typeof e)?e:"default"in d&&(e=b(d["default"],[a,c]),"string"==typeof e)?e:""},alias:function(){var a=Ink.bind(c.prototype.text,this);return a.ntext=Ink.bind(c.prototype.ntext,this),a.append=Ink.bind(c.prototype.append,this),a.ordinal=Ink.bind(c.prototype.ordinal,this),a.testMode=Ink.bind(c.prototype.testMode,this),a}},c.reset=function(){c.prototype._gDicts=[],c.prototype._gDict={},c.prototype._gLang="pt_PT"},c.reset(),c.appendGlobal=function(a,b){if(b){if(!(b in a)){var d={};d[b]=a,a=d}b!==c.prototype._gLang&&c.langGlobal(b)}c.prototype._gDicts.push(a),Ink.extendObj(c.prototype._gDict,a[c.prototype._gLang]) +},c.append=function(){return Ink.warn("Ink.Util.I18n.append() was renamed to appendGlobal()."),c.appendGlobal.apply(c,[].slice.call(arguments))},c.langGlobal=function(a){if(!arguments.length)return c.prototype._gLang;if(a&&c.prototype._gLang!==a){c.prototype._gLang=a,c.prototype._gDict={};for(var b=0,d=c.prototype._gDicts.length;d>b;b++)Ink.extendObj(c.prototype._gDict,c.prototype._gDicts[b][a]||{})}},c.lang=function(){return Ink.warn("Ink.Util.I18n.lang() was renamed to langGlobal()."),c.langGlobal.apply(c,[].slice.call(arguments))},c}),Ink.createModule("Ink.Util.Json","1",[],function(){"use strict";function twoDigits(a){var b=""+a;return 1===b.length?"0"+b:b}var function_call=Function.prototype.call,cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,dateToISOString=Date.prototype.toISOString?Ink.bind(function_call,Date.prototype.toISOString):function(a){return a.getUTCFullYear()+"-"+twoDigits(a.getUTCMonth()+1)+"-"+twoDigits(a.getUTCDate())+"T"+twoDigits(a.getUTCHours())+":"+twoDigits(a.getUTCMinutes())+":"+twoDigits(a.getUTCSeconds())+"."+String((a.getUTCMilliseconds()/1e3).toFixed(3)).slice(2,5)+"Z"},InkJson={_nativeJSON:window.JSON||null,_convertToUnicode:!1,_escape:function(a){var b={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return/["\\\x00-\x1f]/.test(a)&&(a=a.replace(/([\x00-\x1f\\"])/g,function(a,c){var d=b[c];return d?d:(d=c.charCodeAt(),"\\u00"+Math.floor(d/16).toString(16)+(d%16).toString(16))})),a},_toUnicode:function(a){if(this._convertToUnicode){for(var b="",c=!1,d=!1,e=0,f=a.length;f>e;){if(c=a.charCodeAt(e),c>=32&&126>=c||8===c||9===c||10===c||12===c||13===c||32===c||34===c||47===c||58===c||92===c)d=34===c||92===c||47===c?"\\"+a.charAt(e):8===c?"\\b":9===c?"\\t":10===c?"\\n":12===c?"\\f":13===c?"\\r":a.charAt(e);else if(this._convertToUnicode){for(d=a.charCodeAt(e).toString(16)+"".toUpperCase();d.length<4;)d="0"+d;d="\\u"+d}else d=a.charAt(e);b+=d,e++}return b}return this._escape(a)},_stringifyValue:function(a){if("string"==typeof a)return'"'+this._toUnicode(a)+'"';if("number"!=typeof a||!isNaN(a)&&isFinite(a)){if("undefined"==typeof a||null===a)return"null";if("function"==typeof a.toJSON){var b=a.toJSON();return"string"==typeof b?'"'+this._escape(b)+'"':this._escape(b.toString())}if("number"==typeof a||"boolean"==typeof a)return""+a;if("function"==typeof a)return"null";if(a.constructor===Date)return'"'+this._escape(dateToISOString(a))+'"';if(a.constructor===Array){for(var c="",d=0,e=a.length;e>d;d++)d>0&&(c+=","),c+=this._stringifyValue(a[d]);return"["+c+"]"}var f="";for(var g in a)({}).hasOwnProperty.call(a,g)&&(""!==f&&(f+=","),f+='"'+this._escape(g)+'": '+this._stringifyValue(a[g]));return"{"+f+"}"}return"null"},stringify:function(a,b){return this._convertToUnicode=!!b,!this._convertToUnicode&&this._nativeJSON?this._nativeJSON.stringify(a):this._stringifyValue(a)},parse:function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&"object"==typeof e)for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&(d=walk(e,c),void 0!==d?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;if(text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})),/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")}};return InkJson}),Ink.createModule("Ink.Util.String","1",[],function(){"use strict";var InkUtilString={_chars:["&","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","ø","ù","ú","û","ü","ý","þ","ÿ","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","Ø","Ù","Ú","Û","Ü","Ý","Þ","€",'"',"ß","<",">","¢","£","¤","¥","¦","§","¨","©","ª","«","¬","­","®","¯","°","±","²","³","´","µ","¶","·","¸","¹","º","»","¼","½","¾"],_entities:["amp","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","euro","quot","szlig","lt","gt","cent","pound","curren","yen","brvbar","sect","uml","copy","ordf","laquo","not","shy","reg","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34"],_accentedChars:["à","á","â","ã","ä","å","è","é","ê","ë","ì","í","î","ï","ò","ó","ô","õ","ö","ù","ú","û","ü","ç","ñ","À","Á","Â","Ã","Ä","Å","È","É","Ê","Ë","Ì","Í","Î","Ï","Ò","Ó","Ô","Õ","Ö","Ù","Ú","Û","Ü","Ç","Ñ"],_accentedRemovedChars:["a","a","a","a","a","a","e","e","e","e","i","i","i","i","o","o","o","o","o","u","u","u","u","c","n","A","A","A","A","A","A","E","E","E","E","I","I","I","I","O","O","O","O","O","U","U","U","U","C","N"],_htmlUnsafeChars:{"<":"<",">":">","&":"&",'"':""","'":"'"},ucFirst:function(a,b){var c=b?/(^|\s)(\w)(\S{2,})/:/(^|\s)(\w)(\S{2,})/g;return a?String(a).replace(c,function(a,b,c,d){return b+c.toUpperCase()+d.toLowerCase()}):a},trim:function(a){return"string"==typeof a?a.replace(/^\s+|\s+$|\n+$/g,""):a},stripTags:function(a,b){if(b&&"string"==typeof b){for(var c=InkUtilString.trim(b).split(","),d=[],e=!1,f=0;f)/g,"").replace(/\s/,"")),d.push("(<"+e+"\\s[^>]+>|<(\\s|\\/)?(\\s|\\/)?"+e+">)"));for(var g=d.join("|"),h=new RegExp(g,"i"),i=a.match(new RegExp("<[^>]*>","g")),j=0;j]+\>/g,"")},htmlEntitiesEncode:function(a){if(a&&a.replace)for(var b=!1,c=0;cd?b+=String.fromCharCode(d):d>127&&2048>d?(b+=String.fromCharCode(d>>6|192),b+=String.fromCharCode(63&d|128)):(b+=String.fromCharCode(d>>12|224),b+=String.fromCharCode(d>>6&63|128),b+=String.fromCharCode(63&d|128))}return b},shortString:function(a,b){for(var c=a.split(" "),d="",e=0;e=b){d+="…";break}d+=c[e]+" "}return d},truncateString:function(a,b){return a.length-1>b?a.substr(0,b-1)+"…":a},utf8Decode:function(a){for(var b="",c=0,d=0,e=0,f=0;cd?(b+=String.fromCharCode(d),c++):d>191&&224>d?(e=a.charCodeAt(c+1),b+=String.fromCharCode((31&d)<<6|63&e),c+=2):(e=a.charCodeAt(c+1),f=a.charCodeAt(c+2),b+=String.fromCharCode((15&d)<<12|(63&e)<<6|63&f),c+=3);return b},removeAccentedChars:function(a){for(var b=a,c=!1,d=0;d&'"]/g,function(a){return b[a]}):a},normalizeWhitespace:function(a){return null!==a?InkUtilString.trim(String(a).replace(/\s+/g," ")):a},toUnicode:function(a){if("string"==typeof a){for(var b="",c=!1,d=!1,e=a.length,f=0;e>f;){if(c=a.charCodeAt(f),c>=32&&126>=c||8===c||9===c||10===c||12===c||13===c||32===c||34===c||47===c||58===c||92===c)d=8===c?"\\b":9===c?"\\t":10===c?"\\n":12===c?"\\f":13===c?"\\r":a.charAt(f);else{for(d=a.charCodeAt(f).toString(16)+"".toUpperCase();d.length<4;)d="0"+d;d="\\u"+d}b+=d,f++}return b}},escape:function(a){var b=a.charCodeAt(0).toString(16).split("");if(b.length<3){for(;b.length<2;)b.unshift("0");b.unshift("x")}else{for(;b.length<4;)b.unshift("0");b.unshift("u")}return b.unshift("\\"),b.join("")},unescape:function(a){var b=a.lastIndexOf("0");b=-1===b?2:Math.min(b,2);var c=a.substring(b),d=parseInt(c,16);return String.fromCharCode(d)},escapeText:function(a,b){void 0===b&&(b=["[","]","'",","]);for(var c=[],d,e,f=0,g=a.length;g>f;++f)d=a[f],e=d.charCodeAt(0),(32>e||e>126&&-1===b.indexOf(d))&&(d=InkUtilString.escape(d)),c.push(d);return c.join("")},escapedCharRegex:/(\\x[0-9a-fA-F]{2})|(\\u[0-9a-fA-F]{4})/g,unescapeText:function(a){for(var b;b=InkUtilString.escapedCharRegex.exec(a);)b=b[0],a=a.replace(b,InkUtilString.unescape(b)),InkUtilString.escapedCharRegex.lastIndex=0;return a},strcmp:function(a,b){return a===b?0:a>b?1:-1},packetize:function(a,b){for(var c=a.length,d=new Array(Math.ceil(c/b)),e=a.split(""),f,g=0;c;)f=Math.min(b,c),d[g++]=e.splice(0,f).join(""),c-=f;return d}};return InkUtilString}),Ink.createModule("Ink.Util.Url","1",[],function(){"use strict";var a={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",getUrl:function(){return window.location.href},genQueryString:function(a,b){var c=-1!==a.indexOf("?"),d,e,f,g=[a];for(e in b)b.hasOwnProperty(e)&&(c?d="&":(d="?",c=!0),f=b[e],"number"==typeof f||f||(f=""),g=g.concat([d,encodeURIComponent(e),"=",encodeURIComponent(f)]));return g.join("")},getQueryString:function(a){var b;b=a&&"undefined"!=typeof a?a:this.getUrl();var c={};if(b.match(/\?(.+)/i)){var d=b.replace(/^(.*)\?([^\#]+)(\#(.*))?/g,"$2");if(d.length>0)for(var e=d.split(/[;&]/),f=0;f0)for(var e=d.split(/[;&]/),f=0;f0?b[b.length-1]:!1;for(var c=!1,d=new RegExp(""+a,"i"),e=0,f=b.length;f>e;e++)if(c=b[e],d.test(c.src))return c;return!1},_debug:function(){}};return a}),Ink.createModule("Ink.Util.Validator","1",[],function(){"use strict";var a={_countryCodes:["AO","CV","MZ","PT"],_internacionalPT:351,_indicativosPT:{21:"lisboa",22:"porto",231:"mealhada",232:"viseu",233:"figueira da foz",234:"aveiro",235:"arganil",236:"pombal",238:"seia",239:"coimbra",241:"abrantes",242:"ponte de sôr",243:"santarém",244:"leiria",245:"portalegre",249:"torres novas",251:"valença",252:"vila nova de famalicão",253:"braga",254:"peso da régua",255:"penafiel",256:"são joão da madeira",258:"viana do castelo",259:"vila real",261:"torres vedras",262:"caldas da raínha",263:"vila franca de xira",265:"setúbal",266:"évora",268:"estremoz",269:"santiago do cacém",271:"guarda",272:"castelo branco",273:"bragança",274:"proença-a-nova",275:"covilhã",276:"chaves",277:"idanha-a-nova",278:"mirandela",279:"moncorvo",281:"tavira",282:"portimão",283:"odemira",284:"beja",285:"moura",286:"castro verde",289:"faro",291:"funchal, porto santo",292:"corvo, faial, flores, horta, pico",295:"angra do heroísmo, graciosa, são jorge, terceira",296:"ponta delgada, são miguel, santa maria",91:"rede móvel 91 (Vodafone / Yorn)",93:"rede móvel 93 (Optimus)",96:"rede móvel 96 (TMN)",92:"rede móvel 92 (TODOS)",707:"número único",760:"número único",800:"número grátis",808:"chamada local",30:"voip"},_internacionalCV:238,_indicativosCV:{2:"fixo",91:"móvel 91",95:"móvel 95",97:"móvel 97",98:"móvel 98",99:"móvel 99"},_internacionalAO:244,_indicativosAO:{2:"fixo",91:"móvel 91",92:"móvel 92"},_internacionalMZ:258,_indicativosMZ:{2:"fixo",82:"móvel 82",84:"móvel 84"},_internacionalTL:670,_indicativosTL:{3:"fixo",7:"móvel 7"},_characterGroups:{numbers:["0-9"],asciiAlpha:["a-zA-Z"],latin1Alpha:["a-zA-Z","À-ÿ"],unicodeAlpha:["a-zA-Z","À-ÿ","Ā-῿","Ⰰ-퟿"],space:[" "],dash:["-"],underscore:["_"],nicknamePunctuation:["_.-"],singleLineWhitespace:[" "],newline:["\n"],whitespace:[" \n \f\r  "],asciiPunctuation:["!-/",":-@","[-`","{-~"],latin1Punctuation:["!-/",":-@","[-`","{-~","¡-¿","×","÷"],unicodePunctuation:["!-/",":-@","[-`","{-~","¡-¿","×","÷"," -","⸀-⹿"," -〿"]},createRegExp:function(b){var c="^[";for(var d in b)if(b.hasOwnProperty(d)){if(!(d in a._characterGroups))throw new Error("group "+d+" is not a valid character group");b[d]&&(c+=a._characterGroups[d].join(""))}return new RegExp("^["===c?"$^":c+"]*?$")},checkCharacterGroups:function(b,c){return a.createRegExp(c).test(b)},unicode:function(b,c){return a.checkCharacterGroups(b,Ink.extendObj({unicodeAlpha:!0},c))},latin1:function(b,c){return a.checkCharacterGroups(b,Ink.extendObj({latin1Alpha:!0},c))},ascii:function(b,c){return a.checkCharacterGroups(b,Ink.extendObj({asciiAlpha:!0},c))},number:function(b,c){b+="";var d=Ink.extendObj({decimalSep:".",thousandSep:"",negative:!0,decimalPlaces:null,maxDigits:null,max:null,min:null,returnNumber:!1},c||{});if(d.thousandSep)return b=b.replace(new RegExp("\\"+d.thousandSep,"g"),""),d.thousandSep="",a.number(b,d);if(d.negative===!1)return d.min=0,d.negative=!0,a.number(b,d);if("."!==d.decimalSep&&(b=b.replace(new RegExp("\\"+d.decimalSep,"g"),".")),!/^(-)?(\d+)?(\.\d+)?$/.test(b)||""===b)return!1;var e;if(d.decimalSep&&-1!==b.indexOf(d.decimalSep)){if(e=b.split(d.decimalSep),null!==d.decimalPlaces&&e[1].length>d.decimalPlaces)return!1}else e=[""+b,""];if(null!==d.maxDigits&&e[0].replace(/-/g,"").length>d.maxDigits)return e;var f=parseFloat(b);return null!==d.maxExcl&&f>=d.maxExcl||null!==d.minExcl&&f<=d.minExcl?!1:null!==d.max&&f>d.max||null!==d.min&&f=1&&12>=b&&c>=1&&this._daysInMonth(b,a)>=c?!0:!1},email:function(a){var b=new RegExp("^[_a-z0-9-]+((\\.|\\+)[_a-z0-9-]+)*@([\\w]*-?[\\w]*\\.)+[a-z]{2,4}$","i");return b.test(a)?!0:!1},mail:function(b){return a.email(b)},url:function(a,b){if("undefined"==typeof b||b===!1){var c=new RegExp("(^(http\\:\\/\\/|https\\:\\/\\/)(.+))","i");c.test(a)===!1&&(a="http://"+a)}var d=new RegExp("^(http:\\/\\/|https:\\/\\/)([\\w]*(-?[\\w]*)*\\.)+[a-z]{2,4}","i");return d.test(a)===!1?!1:!0},isPTPhone:function(a){a=a.toString();var b=[];for(var c in this._indicativosPT)"string"==typeof this._indicativosPT[c]&&b.push(c);var d=b.join("|"),e=/^(00351|\+351)/;e.test(a)&&(a=a.replace(e,""));var f=/(\s|\-|\.)+/g;a=a.replace(f,"");var g=/[\d]{9}/i;if(9===a.length&&g.test(a)){var h=new RegExp("^("+d+")");if(h.test(a))return!0}return!1},isPortuguesePhone:function(a){return this.isPTPhone(a)},isCVPhone:function(a){a=a.toString();var b=[];for(var c in this._indicativosCV)"string"==typeof this._indicativosCV[c]&&b.push(c);var d=b.join("|"),e=/^(00238|\+238)/;e.test(a)&&(a=a.replace(e,""));var f=/(\s|\-|\.)+/g;a=a.replace(f,"");var g=/[\d]{7}/i;if(7===a.length&&g.test(a)){var h=new RegExp("^("+d+")");if(h.test(a))return!0}return!1},isAOPhone:function(a){a=a.toString();var b=[];for(var c in this._indicativosAO)"string"==typeof this._indicativosAO[c]&&b.push(c);var d=b.join("|"),e=/^(00244|\+244)/;e.test(a)&&(a=a.replace(e,""));var f=/(\s|\-|\.)+/g;a=a.replace(f,"");var g=/[\d]{9}/i;if(9===a.length&&g.test(a)){var h=new RegExp("^("+d+")");if(h.test(a))return!0}return!1},isMZPhone:function(a){a=a.toString();var b=[];for(var c in this._indicativosMZ)"string"==typeof this._indicativosMZ[c]&&b.push(c);var d=b.join("|"),e=/^(00258|\+258)/;e.test(a)&&(a=a.replace(e,""));var f=/(\s|\-|\.)+/g;a=a.replace(f,"");var g=/[\d]{8,9}/i;if((9===a.length||8===a.length)&&g.test(a)){var h=new RegExp("^("+d+")");if(h.test(a)){if(0===a.indexOf("2")&&8===a.length)return!0;if(0===a.indexOf("8")&&9===a.length)return!0}}return!1},isTLPhone:function(a){a=a.toString();var b=[];for(var c in this._indicativosTL)"string"==typeof this._indicativosTL[c]&&b.push(c);var d=b.join("|"),e=/^(00670|\+670)/;e.test(a)&&(a=a.replace(e,""));var f=/(\s|\-|\.)+/g;a=a.replace(f,"");var g=/[\d]{7}/i;if(7===a.length&&g.test(a)){var h=new RegExp("^("+d+")");if(h.test(a))return!0}return!1},isPhone:function(){var a;if(0===arguments.length)return!1;var b=arguments[0];if(arguments.length>1){if(arguments[1].constructor!==Array){if("function"==typeof this["is"+arguments[1].toUpperCase()+"Phone"])return this["is"+arguments[1].toUpperCase()+"Phone"](b);throw"Invalid Country Code!"}var c;for(a=0;a=0&&b[j-1]<=100))return!1;c=!0}if(1===j||3===j||5===j&&("undefined"==typeof b[j+1]||""===b[j+1])){if(!("undefined"!=typeof b[j]&&b[j]>=0&&b[j]<=255))return!1;c=!0}}if(null!==(b=h.exec(a))||null!==(b=i.exec(a)))for(j=b.length;j--;){if(3===j||5===j){if(!("undefined"!=typeof b[j-1]&&"undefined"!=typeof b[j]&&""!==b[j]&&b[j-1]>=0&&b[j-1]<=100))return!1;c=!0}if(1===j){if(!("undefined"!=typeof b[j]&&b[j]>=0&&b[j]<=360))return!1;c=!0}}return c},isIP:function(a,b){if("string"!=typeof a)return!1;switch(b=(b||"ipv4").toLowerCase()){case"ipv4":return/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(a);case"ipv6":return/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/.test(a);default:return!1}},_creditCardSpecs:{"default":{length:"13,14,15,16,17,18,19",prefix:/^.+/,luhn:!0},"american express":{length:"15",prefix:/^3[47]/,luhn:!0},"diners club":{length:"14,16",prefix:/^36|55|30[0-5]/,luhn:!0},discover:{length:"16",prefix:/^6(?:5|011)/,luhn:!0},jcb:{length:"15,16",prefix:/^3|1800|2131/,luhn:!0},maestro:{length:"16,18",prefix:/^50(?:20|38)|6(?:304|759)/,luhn:!0},mastercard:{length:"16",prefix:/^5[1-5]/,luhn:!0},visa:{length:"13,16",prefix:/^4/,luhn:!0}},_luhn:function(a){if(a=parseInt(a,10),"number"!=typeof a&&a%1!==0)return!1;a+="";var b=a.length,c,d=0;for(c=b-1;c>=0;c-=2)d+=parseInt(a.substr(c,1),10);for(c=b-2;c>=0;c-=2){var e=parseInt(2*a.substr(c,1),10);d+=e>=10?e-9:e}return d%10===0},isCreditCard:function(a,b){if(/\d+/.test(a)===!1)return!1;if("undefined"==typeof b)b="default";else if(b instanceof Array){var c,d=b.length;for(c=0;d>c;c++)if(this.isCreditCard(a,b[c]))return!0;return!1}if(b=b.toLowerCase(),"undefined"==typeof this._creditCardSpecs[b])return!1;var e=a.length+"";return-1===this._creditCardSpecs[b].length.split(",").indexOf(e)?!1:this._creditCardSpecs[b].prefix.test(a)?this._creditCardSpecs[b].luhn===!1?!0:this._luhn(a):!1}};return a}); +//# sourceMappingURL=ink.min.map \ No newline at end of file diff --git a/public/js/ink.min.map b/public/js/ink.min.map new file mode 100644 index 0000000..68e5ceb --- /dev/null +++ b/public/js/ink.min.map @@ -0,0 +1 @@ +{"version":3,"file":"ink.min.js","sources":["../../src/js/Ink/1/lib.js","../../src/js/Ink/Net/Ajax/1/lib.js","../../src/js/Ink/Net/JsonP/1/lib.js","../../src/js/Ink/Dom/Browser/1/lib.js","../../src/js/Ink/Dom/Css/1/lib.js","../../src/js/Ink/Dom/Element/1/lib.js","../../src/js/Ink/Dom/Event/1/lib.js","../../src/js/Ink/Dom/FormSerialize/1/lib.js","../../src/js/Ink/Dom/Loaded/1/lib.js","../../src/js/Ink/Dom/Selector/1/lib.js","../../src/js/Ink/Util/Array/1/lib.js","../../src/js/Ink/Util/BinPack/1/lib.js","../../src/js/Ink/Util/Cookie/1/lib.js","../../src/js/Ink/Util/Date/1/lib.js","../../src/js/Ink/Util/Dumper/1/lib.js","../../src/js/Ink/Util/I18n/1/lib.js","../../src/js/Ink/Util/Json/1/lib.js","../../src/js/Ink/Util/String/1/lib.js","../../src/js/Ink/Util/Url/1/lib.js","../../src/js/Ink/Util/Validator/1/lib.js"],"names":["window","document","paths","modules","modulesLoadOrder","modulesRequested","pendingRMs","modulesWaitingForDeps","apply","Function","prototype","isEmptyObject","o","k","hasOwnProperty","Ink","VERSION","_checkPendingRequireModules","I","F","dep","mod","cb","pRMs","length","left","args","remaining","push","setTimeout","getPath","key","noLib","split","curKey","i","root","path","slice","join","test","setPath","rootURI","replace","loadScript","uri","contentType","indexOf","givenUri","this","Error","scriptEl","createElement","setAttribute","onerror","onreadystatechange","ev","event","type","readyState","error","aHead","getElementsByTagName","appendChild","_loadLater","namespace","ns","returnParentAndKey","levels","nsobj","parent","f","getModule","version","createModule","ver","deps","modFn","modAll","Array","call","arguments","moduleContent","_version","isInkModule","t","requireModules","cbFn","undefined","_moduleRenames","warn","Ink.UI.Aux_1","getModulesLoadOrder","getModuleScripts","mlo","unshift","map","m","getModuleURL","createExt","moduleName","dependencies","bind","fn","context","innerArgs","finalArgs","concat","bindMethod","object","methodName","bindEvent","id","getElementById","ss","rule","from","Dom","Selector","select","s","extendObj","destination","sources","len","property","Object","log","console","Ajax","url","options","init","globalOptions","parameters","requestHeaders","xMLHttpRequestWithCredentials","XMLHttpRequest","userOptions","asynchronous","method","timeout","delay","postBody","onComplete","onSuccess","onFailure","onException","onHeaders","onCreate","onInit","onTimeout","sanitizeJSON","evalJS","xhrProxy","cors","debug","useCredentials","signRequest","globalParameters","paramsObjToStr","safeCall","urlLocation","_locationFromURL","isHTTP","_locationIsHTTP","isCrossDomain","_locationIsCrossDomain","location","requestHasBody","search","transport","getTransport","request","createElementNS","href","protocol","match","widget","host","usingXDomainReq","XDomainRequest","ActiveXObject","e","setHeaders","headers","Accept","Accept-Language","navigator","language","X-Requested-With","X-Ink-Version","headerReqName","overrideMimeType","userAgent","Connection","headerName","setRequestHeader","optParams","p","a","params","toString","isNaN","encodeURIComponent","pop","setParams","getHeader","name","getResponseHeader","getAllHeaders","getAllResponseHeaders","getResponse","r","headerJSON","responseJSON","timeTaken","Date","startTime","requestedUrl","responseText","responseXML","status","statusText","abort","clearTimeout","delayTimeout","stoTimeout","ex","finish","runStateChange","rs","getTime","responseContent","response","curStatus","makeError","isSuccess","headerContentType","evalJSON","mimeType","xmlDoc","DOMParser","parseFromString","xml","destroy","listener","first","rethrow","exception","message","stacktrace","stack","value","nodeType","crossDomain","open","withCredentials","onload","send","code","isJSON","str","strJSON","sanitize","JSON","parse","eval","load","callback","ping","JsonP","failureObj","callbackParam","internalCallback","randVar","parseInt","Math","random","Net","_removeScriptTag","_addScriptTag","_addParamsToGet","hasQuestionMark","sep","pKey","pValue","parts","_getScriptContainer","headEls","scriptEls","rnd_seed","src","scriptCtn","_requestFailed","scriptUri","getAttribute","parentNode","removeChild","Browser","IE","GECKO","OPERA","SAFARI","KONQUEROR","CHROME","model","cssPrefix","domPrefix","detectBrowser","setDimensions","setReferrer","myWidth","myHeight","innerWidth","innerHeight","documentElement","clientWidth","clientHeight","body","windowWidth","windowHeight","referrer","escape","_sniffUserAgent","sAgent","toLowerCase","rVersion","re","RegExp","reVersion","alert","getCs","defaultView","getComputedStyle","Css","addRemoveClassName","elm","className","addRemState","addClassName","removeClassName","classList","add","hasClassName","remove","elmClassName","setClassName","all","has","contains","blinkClass","element","negate","Number","toggleClassName","forceAdd","toggle","setOpacity","val","style","opacity","filter","_camelCase","_","$1","toUpperCase","getStyle","currentStyle","charAt","css","parseFloat","setStyle","cssText","prop","styleFloat","cssFloat","show","forceDisplayProperty","display","hide","showHide","forceShow","_getRefTag","head","firstElementChild","child","firstChild","nextSibling","appendStyleTag","selector","force","styles","oldStyle","l","innerHTML","defStyle","refTag","styleStr","styleSheet","createTextNode","insertBefore","appendStylesheet","media","rel","_loadingCSSFiles","_loadedCSSFiles","appendStylesheetCb","cbs","linkEl","headEl","imgEl","_url","callbacks","decToHex","dec","normalizeTo2","rDec","gDec","g","bDec","b","rgb","hexToDec","hex","substr","getPropertyFromStylesheet","getRuleFromStylesheet","getPropertyFromStylesheet2","rules","getRulesFromStylesheet","x","sheet","ri","rf","styleSheets","si","sf","cssRules","selectorText","res","getPropertiesFromRule","props","steps","pre","pos","substring","borderTopLeftRadius","borderBottomRightRadius","borderTopRightRadius","borderBottomLeftRadius","changeFontSize","delta","op","minVal","maxVal","that","TypeError","el","els","fontSize","rect","elem","dimensions","getBoundingClientRect","top","offsetTop","offsetLeft","createContextualFragmentSupport","createRange","Range","createContextualFragment","deleteThisTbodyToken","browserCreatesTbodies","div","InkElement","isDOMElement","get","create","tag","properties","parEl","scrollTo","scrollIntoView","elmOffset","elmTop","elmLeft","offsetParent","y","offset","positionedOffset","valueTop","valueLeft","tagName","position","doc","ownerDocument","docElem","box","clientTop","clientLeft","scrollTop","pageYOffset","scrollLeft","pageXOffset","scroll","_getPropPx","cs","n","c","getPropertyValue","offset2","hasAttribute","attr","insertAfter","newElm","targetElm","insertTop","insertBottom","textContent","node","text","innerText","lastChild","childNodes","nodeValue","setTextContent","isLink","hasAttributeNS","isAncestorOf","ancestor","compareDocumentPosition","descendantOf","descendant","lastElementChild","previousSibling","nextElementSibling","sibling","previousElementSibling","elementWidth","offsetWidth","elementHeight","offsetHeight","elementLeft","elementTop","elementDimensions","outerDimensions","bbox","right","bottom","inViewport","opts","dims","partial","margin","viewportWidth","viewportHeight","isHidden","w","h","isVisible","clonePosition","cloneTo","cloneFrom","ellipsizeText","overflow","whiteSpace","textOverflow","findUpwardsHaving","boolTest","findUpwardsByClass","tst","cls","findUpwardsByTag","nodeName","findUpwardsById","findUpwardsBySelector","sel","matchesSelector","getChildrenText","removeIt","j","part","nodes","jLen","_trimString","String","data","trim","getSelectValues","selectEl","values","_normalizeData","d","data2","fillSelect","container","skipEmpty","defaultValue","containerEl","optionEl","fillRadios","insertAfterEl","splitEl","inputEl","checked","fillChecks","parentIndexOf","parentEl","childEl","idx","nextSiblings","elements","siblings","children","index","previousSiblings","childElementCount","_wrapElements","TABLE","html","TBODY","THEAD","TFOOT","TR","_getWrapper","wrapper","wrapFunc","tds","tbody","appendHTML","prependHTML","setHTML","wrap","target","nextNode","unwrap","wrapperSelector","replacement","replaceChild","removeTextNodeChildren","prevEl","toRemove","htmlToFragment","range","createDocumentFragment","selectNode","fragment","tempElement","current","InkDomSelector","dataset","attrs","attributes","curAttr","curAttrName","curAttrValue","total","moveCursorTo","setSelectionRange","createTextRange","collapse","moveEnd","moveStart","pageWidth","xScroll","scrollMaxX","scrollWidth","self","pageHeight","yScroll","scrollMaxY","scrollHeight","bean","definition","win","old","namespaceRegex","nameRegex","addEvent","removeEvent","W3C_MODEL","eventSupport","ONE","str2arr","isString","isFunction","standardNativeEvents","w3cNativeEvents","nativeEvents","hash","events","customEvents","isAncestor","check","related","relatedTarget","prefix","mouseenter","base","condition","mouseleave","mousewheel","Event","commonProps","mouseProps","mouseWheelProps","keyProps","textProps","touchProps","messageProps","stateProps","overOutRegex","typeFixers","reg","fix","newEvent","keyCode","which","rightClick","button","pageX","pageY","clientX","clientY","typeFixerMap","isNative","parentWindow","originalEvent","isBean","srcElement","fixer","preventDefault","returnValue","stopPropagation","cancelBubble","stop","stopped","stopImmediatePropagation","isImmediatePropagationStopped","clone","currentTarget","ne","targetElement","RegEntry","wrappedHandler","eargs","findTarget","eventElement","__beanDel","ft","handler","original","namespaces","customType","once","removeListener","eventType","inNamespaces","checkNamespaces","matches","checkElement","checkOriginal","checkHandler","registry","forAll","pfx","list","entries","entry","put","del","splice","removed","selectorEngine","setSelectorEngine","querySelectorAll","rootListener","propertyName","listeners","custom","attachEvent","detachEvent","rm","originalFn","orgType","handlers","delegate","array","fireListener","evt","createEvent","dispatchEvent","fireEvent","createEventObject","off","typeSpec","isTypeStr","on","types","delfn","one","fire","names","beanDel","noConflict","cleanup","CollectGarbage","InkEvent","KEY_BACKSPACE","KEY_TAB","KEY_RETURN","KEY_ESC","KEY_SPACE","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","KEY_DELETE","KEY_HOME","KEY_END","KEY_PAGEUP","KEY_PAGEDOWN","KEY_INSERT","throttle","func","wait","lastCall","throttled","now","timeDiff","delegationTarget","fromElement","toElement","findElement","elmTagName","observe","eventName","callBack","useCapture","addEventListener","observeOnce","onceBack","stopObserving","observeMulti","observeDelegated","cursor","Selector_1","removeEventListener","cancel","stopDefault","pointer","pointerX","pointerY","touches","isLeftClick","isRightClick","isMiddleClick","getCharFromKeyboardEvent","changeCasing","fromCharCode","shiftOn","shiftKey","InkArray","isArrayIsh","obj","isArray","toArray","FormSerialize","serialize","form","out","emptyArrayToken","pairs","asPairs","emptyArray","forEach","pair","_resultsInArray","emit","serializeEl","multiple","didEmit","thisOption","inputs","_isSerialized","fillIn","map2","_objToPairs","_fillInPairs","groupBy","reduce","_fillInOne","firstOne","firstNodeName","firstType","isSelectMulti","_fillInBoolean","min","checkAttr","input","isChecked","inArray","Loaded","_contexts","run","cbQueue","done","checkState","_checkState","poll","_poll","ael","rem","det","wet","csf","alreadyLoaded","frameElement","doScroll","where","_ready","rnative","createCache","cache","keys","Expr","cacheLength","shift","markFunction","expando","assert","Sizzle","results","seed","groups","nid","newContext","newSelector","preferredDoc","setDocument","documentIsHTML","rquickExpr","exec","support","getElementsByClassName","qsa","rbuggyQSA","tokenize","rescape","toSelector","rsibling","qsaError","removeAttribute","rtrim","siblingCheck","cur","diff","sourceIndex","MAX_NEGATIVE","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","parseOnly","matched","tokens","soFar","preFilters","cached","tokenCache","preFilter","rcomma","rcombinators","matchExpr","addCombinator","matcher","combinator","dir","checkNonElements","doneName","outerCache","dirkey","dirruns","cachedruns","elementMatcher","matchers","condense","unmatched","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","elems","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","matcherCachedRuns","bySet","byElement","superMatcher","expandContext","setMatched","matchedCount","outermost","contextBackup","find","dirrunsUnique","uniqueSort","contexts","token","runescape","funescape","compile","setFilters","getText","isXML","recompare","sortInput","rbuggyMatches","classCache","compilerCache","hasDuplicate","sortOrder","strundefined","arr","push_native","whitespace","characterEncoding","identifier","operators","pseudos","rpseudo","ridentifier","ID","CLASS","NAME","TAG","ATTR","PSEUDO","CHILD","needsContext","rinputs","rheader","rattributeQuotes","escaped","high","createComment","getByName","pass","getElementsByName","sortDetached","div1","attrHandle","attrId","getAttributeNode","tmp","mozMatchesSelector","webkitMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","adown","bup","compare","aup","ap","bp","expr","ret","specified","msg","duplicates","detectDuplicates","sortStable","sort","selectors","createPseudo",">"," ","+","~","excess","unquoted","pattern","operator","result","what","last","simple","forward","ofType","nodeIndex","start","useCache","pseudo","not","lang","elemLang","focus","activeElement","hasFocus","tabIndex","enabled","disabled","selected","selectedIndex","empty","header","eq","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","group","filters","arrayProto","testedObject","outKey","item","latestGroup","initial","sortMulti","constructor","keyValue","aKeys","shuffle","tmp1","rnd","floor","each","filtered","some","intersect","arr1","arr2","shared","J","convert","unique","lastIndexOf","newArr","step","insert","rLen","output","iLen","Packer","fit","blocks","block","findNode","splitNode","used","down","GrowingPacker","growNode","canGrowDown","canGrowRight","shouldGrowRight","shouldGrowDown","growRight","growDown","sorts","area","max","height","msort","width","maxside","criteria","BinPack","binPack","bl","packer","sorter","dims2","fitted","unfitted","filled","Cookie","cookie","_Cookie","aCookie","aItem","decodeURIComponent","set","expires","domain","secure","sName","sExpires","sPath","sDomain","sSecure","oDate","sDate","valueOf","nDate","expiresString","toGMTString","portClean","cookieName","expiresDate","InkDate","_months","_m","_iMonth","month","janeiro","jan","fevereiro","fev","março","mar","abril","abr","maio","mai","junho","jun","julho","jul","agosto","ago","setembro","outubro","novembro","nov","dezembro","dez","_wDays","_d","_iWeek","week","segunda","seg","terça","ter","quarta","qua","quinta","qui","sexta","sex","sábado","sáb","domingo","dom","_daysInMonth","_y","nDays","format","_date","iFormat","escapeChar","jsDate","jsFirstDay","jsThisDay","jsHour","jsDay","getDate","getDay","suffixes","suffix","UTC","getFullYear","getMonth","jsYearStart","days","ceil","jsMonth","getYear","jsYear","getHours","jsMinute","getMinutes","jsSecond","getSeconds","getTimezoneOffset","jsMinZone","jsMinutes","jsDayName","jsMonthName","str_date","mList","objIndex","year","day","dayY","dayW","hour","hourD","sec","msec","ampm","diffM","diffH","date","pattr","_haveDatetime","_haveYear","_haveYDay","_haveDay","_haveMonth","_haveMonthDay","_haveOnlyDay","_haveWDay","_haveWeek","_haveWeekWDay","_haveOnlyWDay","_validDate","_noDate","_haveHour12","_haveHour24","_haveHour","_haveMin","_haveSec","_haveMSec","_haveMoreM","_haveMoreS","_haveDiffM","_haveDiffH","dList","gmt","aux","Dumper","_tab","_formatParam","param","formated","_outputFormat","_getTabs","numberOfTabs","tabs","_i","dim","_typeof","printDump","write","returnDump","alertDump","windowDump","dumperwindow","close","pattrText","funcOrVal","I18n","dict","testMode","append","_dicts","_dict","_testMode","_lang","_gLang","bool","getKey","gLang","langGlobal","_gDict","pars","isObj","$2","$3","ntext","strSin","strPlur","count","ordinal","num","lastDig","ordDict","exceptions","byLastDigit","alias","_gDicts","appendGlobal","twoDigits","function_call","cx","dateToISOString","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","toFixed","InkJson","_nativeJSON","_convertToUnicode","_escape","theString","\b","\t","\n","\f","\r","\"","\\","charCodeAt","_toUnicode","unicodeString","inInt","theUnicode","_stringifyValue","isFinite","toJSON","arrayString","objectString","stringify","convertToUnicode","reviver","walk","holder","v","lastIndex","SyntaxError","InkUtilString","_chars","_entities","_accentedChars","_accentedRemovedChars","_htmlUnsafeChars","<","&","'","ucFirst","string","firstWordOnly","replacer","stripTags","allowed","aAllowed","aNewAllowed","cleanedTag","strAllowed","reAllowed","aFoundTags","htmlEntitiesEncode","htmlEntitiesDecode","$0","utf8Encode","utfstring","shortString","words","resultstr","truncateString","utf8Decode","c2","c3","removeAccentedChars","newString","substrCount","haystack","needle","htmlEscapeUnsafe","chars","normalizeWhitespace","toUnicode","unescape","es","hexNum","escapeText","txt","whiteList","txt2","C","escapedCharRegex","unescapeText","strcmp","str1","str2","packetize","maxLen","sz","Url","_keyStr","getUrl","genQueryString","getQueryString","aParams","queryStr","aQueryStr","pairVar","getAnchor","anchor","getAnchorString","anchorStr","aAnchorStr","parseUrl","aURL","scheme","query","re1","re2","re3","regPort","tmpHost1","port","tmpHost2","tmpUserPass","user","urlObj","frag","hostname","currentScriptElement","aScripts","curScript","_debug","Validator","_countryCodes","_internacionalPT","_indicativosPT",21,22,231,232,233,234,235,236,238,239,241,242,243,244,245,249,251,252,253,254,255,256,258,259,261,262,263,265,266,268,269,271,272,273,274,275,276,277,278,279,281,282,283,284,285,286,289,291,292,295,296,91,93,96,92,707,760,800,808,30,"_internacionalCV","_indicativosCV",2,95,97,98,99,"_internacionalAO","_indicativosAO","_internacionalMZ","_indicativosMZ",82,84,"_internacionalTL","_indicativosTL",3,7,"_characterGroups","numbers","asciiAlpha","latin1Alpha","unicodeAlpha","space","dash","underscore","nicknamePunctuation","singleLineWhitespace","newline","asciiPunctuation","latin1Punctuation","unicodePunctuation","createRegExp","checkCharacterGroups","unicode","latin1","ascii","number","numb","inOptions","decimalSep","thousandSep","negative","decimalPlaces","maxDigits","returnNumber","maxExcl","minExcl","_isLeapYear","yearRegExp","_dateParsers","yyyy-mm-dd","parser","yyyy/mm/dd","yy-mm-dd","yy/mm/dd","dd-mm-yyyy","dd/mm/yyyy","dd-mm-yy","dd/mm/yy","_isValidDate","validOneOrTwo","email","emailValido","mail","full","reHTTP","reUrl","isPTPhone","phone","aInd","strInd","re351","reSpecialChars","reInt","reValid","isPortuguesePhone","isCVPhone","re238","isAOPhone","re244","isMZPhone","re258","isTLPhone","re670","isPhone","codPostal","cp1","cp2","returnBothResults","cPostalSep","cPostal4","cPostal3","parserCPostal","cPostal","isDate","dateStr","yearIndex","monthIndex","dayIndex","dateParser","separator","isColor","valid","keyword","hexa","rgba","hsl","hsla","isIP","ipType","_creditCardSpecs","default","luhn","american express","diners club","discover","jcb","maestro","mastercard","visa","_luhn","checksum","dbl","isCreditCard","creditCardType","ccLength"],"mappings":"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","sourcesContent":["/**\n * Ink Core.\n * @module Ink_1\n * This module provides the necessary methods to create and load the modules using Ink.\n */\n\n;(function(window, document) {\n\n 'use strict';\n\n // skip redefinition of Ink core\n if ('Ink' in window) { return; }\n\n\n // internal data\n\n /*\n * NOTE:\n * invoke Ink.setPath('Ink', '/Ink/'); before requiring local modules\n */\n var paths = {};\n var modules = {};\n var modulesLoadOrder = [];\n var modulesRequested = {};\n var pendingRMs = [];\n var modulesWaitingForDeps = {};\n\n var apply = Function.prototype.apply;\n\n // auxiliary fns\n var isEmptyObject = function(o) {\n /*jshint unused:false */\n if (typeof o !== 'object') { return false; }\n for (var k in o) {\n if (o.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n };\n\n /**\n * @namespace Ink_1\n */\n\n window.Ink = {\n VERSION: '3.0.5',\n _checkPendingRequireModules: function() {\n var I, F, o, dep, mod, cb, pRMs = [];\n for (I = 0, F = pendingRMs.length; I < F; ++I) {\n o = pendingRMs[I];\n\n if (!o) { continue; }\n\n for (dep in o.left) {\n if (o.left.hasOwnProperty(dep)) {\n mod = modules[dep];\n if (mod) {\n o.args[o.left[dep] ] = mod;\n delete o.left[dep];\n --o.remaining;\n }\n }\n }\n\n if (o.remaining > 0) {\n pRMs.push(o);\n }\n else {\n cb = o.cb;\n if (!cb) { continue; }\n delete o.cb; // to make sure I won't call this more than once!\n cb.apply(false, o.args);\n }\n }\n\n pendingRMs = pRMs;\n\n if (pendingRMs.length > 0) {\n setTimeout( function() { Ink._checkPendingRequireModules(); }, 0 );\n }\n },\n\n /**\n * Get the full path of a module.\n * This method looks up the paths given in setPath (and ultimately the default Ink's path).\n *\n * @method getPath\n * @param {String} key Name of the module you want to get the path\n * @param {Boolean} [noLib] Flag to skip appending 'lib.js' to the returned path.\n */\n getPath: function(key, noLib) {\n var split = key.split(/[._]/g);\n var curKey;\n var i;\n var root;\n var path;\n\n // Look for Ink.Dom.Element.1, Ink.Dom.Element, Ink.Dom, Ink in this order.\n for (i = split.length; i >= 0; i -= 1) {\n curKey = split.slice(0, i + 1).join('.'); // See comment in setPath\n if (paths[curKey]) {\n root = curKey;\n break;\n }\n }\n\n if (root in paths) {\n path = paths[root];\n } else {\n return null;\n }\n\n if (!/\\/$/.test(path)) {\n path += '/';\n }\n if (i < split.length) {\n // Add the rest of the path. For example, if we found\n // paths['Ink.Dom'] to be 'http://example.com/Ink/Dom/',\n // we now add '/Element/' to get the full path.\n path += split.slice(i + 1).join('/') + '/';\n }\n if (!noLib) {\n path += 'lib.js';\n }\n return path;\n },\n \n /**\n * Sets the URL path for a namespace.\n * Use this to customize where requireModules and createModule will load dependencies from.\n * This can be useful to set your own CDN for dynamic module loading or simply to change your module folder structure\n * \n * @method setPath\n *\n * @param {String} key Module or namespace\n * @param {String} rootURI Base URL path and schema to be appended to the module or namespace\n *\n * @example\n * Ink.setPath('Ink', 'http://my-cdn/Ink/');\n * Ink.setPath('Lol', 'http://my-cdn/Lol/');\n *\n * // Loads from http://my-cdn/Ink/Dom/Whatever/lib.js\n * Ink.requireModules(['Ink.Dom.Whatever'], function () { ... });\n * // Loads from http://my-cdn/Lol/Whatever/lib.js\n * Ink.requireModules(['Lol.Whatever'], function () { ... });\n */\n setPath: function(key, rootURI) {\n // Replacing version separator with dot because the difference\n // between a submodule and a version doesn't matter here.\n // It would also overcomplicate the implementation of getPath\n paths[key.replace(/_/, '.')] = rootURI;\n },\n\n /**\n * Loads a script URL.\n * This creates a `script` tag in the `head` of the document.\n * Reports errors by listening to 'error' and 'readystatechange' events.\n *\n * @method loadScript\n * @param {String} uri Can be an external URL or a module name\n * @param {String} [contentType]='text/javascript' The `type` attribute of the new script tag.\n */\n loadScript: function(uri, contentType) {\n /*jshint evil:true */\n\n if (uri.indexOf('/') === -1) {\n var givenUri = uri; // For the error message\n uri = this.getPath(uri);\n if (uri === null) {\n throw new Error('Could not load script \"' + givenUri + '\". ' +\n 'Path not found in the registry. Did you misspell ' +\n 'the name, or forgot to call setPath()?');\n }\n }\n\n var scriptEl = document.createElement('script');\n scriptEl.setAttribute('type', contentType || 'text/javascript');\n scriptEl.setAttribute('src', uri);\n\n scriptEl.onerror = scriptEl.onreadystatechange = function (ev) {\n ev = ev || window.event;\n if (ev.type === 'readystatechange' && scriptEl.readyState !== 'loaded') {\n // if not readyState == 'loaded' it's not an error.\n return;\n }\n Ink.error(['Failed to load script from ', uri, '.'].join(''));\n };\n // CHECK ON ALL BROWSERS\n /*if (document.readyState !== 'complete' && !document.body) {\n document.write( scriptEl.outerHTML );\n }\n else {*/\n var aHead = document.getElementsByTagName('head');\n if(aHead.length > 0) {\n aHead[0].appendChild(scriptEl);\n }\n //}\n },\n\n _loadLater: function (dep) {\n setTimeout(function () {\n if (modules[dep] || modulesRequested[dep] ||\n modulesWaitingForDeps[dep]) {\n return;\n }\n modulesRequested[dep] = true;\n Ink.loadScript(dep);\n }, 0);\n },\n\n /**\n * Defines a module namespace.\n *\n * @method namespace\n * @param {String} ns Namespace to define.\n * @param {Boolean} [returnParentAndKey] Flag to change the return value to an array containing the namespace parent and the namespace key\n * @return {Object|Array} Returns the created namespace object\n */\n namespace: function(ns, returnParentAndKey) {\n if (!ns || !ns.length) { return null; }\n\n var levels = ns.split('.');\n var nsobj = window;\n var parent;\n\n for (var i = 0, f = levels.length; i < f; ++i) {\n nsobj[ levels[i] ] = nsobj[ levels[i] ] || {};\n parent = nsobj;\n nsobj = nsobj[ levels[i] ];\n }\n\n if (returnParentAndKey) {\n return [\n parent,\n levels[i-1]\n ];\n }\n\n return nsobj;\n },\n\n /**\n * Loads a module.\n * A synchronous method to get the module from the internal registry.\n * It assumes the module is defined and loaded already!\n *\n * @method getModule\n * @param {String} mod Module name\n * @param {Number} [version] Version number of the module\n * @return {Object|Function} Module object or function, depending how the module is defined\n */\n getModule: function(mod, version) {\n var key = version ? [mod, '_', version].join('') : mod;\n return modules[key];\n },\n\n /**\n * Creates a new module. \n * Use this to wrap your code and benefit from the module loading used throughout the Ink library\n *\n * @method createModule\n * @param {String} mod Module name, separated by dots. Like Ink.Dom.Selector, Ink.UI.Modal\n * @param {Number} version Version number\n * @param {Array} deps Array of module names which are dependencies of the module being created. The order in which they are passed here will define the order they will be passed to the callback function.\n * @param {Function} modFn The callback function to be executed when all the dependencies are resolved. The dependencies are passed as arguments, in the same order they were declared. The function itself should return the module.\n * @sample Ink_1_createModule.html \n *\n */\n createModule: function(mod, ver, deps, modFn) { // define\n if (typeof mod !== 'string') {\n throw new Error('module name must be a string!');\n }\n\n // validate version correctness\n if (!(typeof ver === 'number' || (typeof ver === 'string' && ver.length > 0))) {\n throw new Error('version number missing!');\n }\n\n var modAll = [mod, '_', ver].join('');\n\n modulesWaitingForDeps[modAll] = true;\n\n var cb = function() {\n //console.log(['createModule(', mod, ', ', ver, ', [', deps.join(', '), '], ', !!modFn, ')'].join(''));\n\n // make sure module in not loaded twice\n if (modules[modAll]) {\n //console.warn(['Ink.createModule ', modAll, ': module has been defined already.'].join(''));\n return;\n }\n\n\n // delete related pending tasks\n delete modulesRequested[modAll];\n delete modulesRequested[mod];\n\n\n // run module's supplied factory\n var args = Array.prototype.slice.call(arguments);\n var moduleContent = modFn.apply(window, args);\n modulesLoadOrder.push(modAll);\n // console.log('** loaded module ' + modAll + '**');\n\n\n // set version\n if (typeof moduleContent === 'object') { // Dom.Css Dom.Event\n moduleContent._version = ver;\n }\n else if (typeof moduleContent === 'function') {\n moduleContent.prototype._version = ver; // if constructor\n moduleContent._version = ver; // if regular function\n }\n\n\n // add to global namespace...\n var isInkModule = mod.indexOf('Ink.') === 0;\n var t;\n if (isInkModule) {\n t = Ink.namespace(mod, true); // for mod 'Ink.Dom.Css', t[0] gets 'Ink.Dom' object and t[1] 'Css'\n }\n\n\n // versioned\n modules[ modAll ] = moduleContent; // in modules\n delete modulesWaitingForDeps[ modAll ];\n\n if (isInkModule) {\n t[0][ t[1] + '_' + ver ] = moduleContent; // in namespace\n }\n\n\n // unversioned\n modules[ mod ] = moduleContent; // in modules\n\n if (isInkModule) {\n if (isEmptyObject( t[0][ t[1] ] )) {\n t[0][ t[1] ] = moduleContent; // in namespace\n }\n // else {\n // console.warn(['Ink.createModule ', modAll, ': module has been defined already with a different version!'].join(''));\n // }\n }\n\n\n if (this) { // there may be pending requires expecting this module, check...\n Ink._checkPendingRequireModules();\n }\n };\n\n this.requireModules(deps, cb);\n },\n\n /**\n * Requires modules asynchronously \n * Use this to get modules, even if they're not loaded yet\n *\n * @method requireModules\n * @param {Array} deps Array of module names. The order in which they are passed here will define the order they will be passed to the callback function. \n * @param {Function} cbFn The callback function to be executed when all the dependencies are resolved. The dependencies are passed as arguments, in the same order they were declared.\n * @sample Ink_1_requireModules.html \n */\n requireModules: function(deps, cbFn) { // require\n //console.log(['requireModules([', deps.join(', '), '], ', !!cbFn, ')'].join(''));\n var i, f, o, dep, mod;\n f = deps && deps.length;\n o = {\n args: new Array(f),\n left: {},\n remaining: f,\n cb: cbFn\n };\n\n if (!(typeof deps === 'object' && deps.length !== undefined)) {\n throw new Error('Dependency list should be an array!');\n }\n if (typeof cbFn !== 'function') {\n throw new Error('Callback should be a function!');\n }\n\n for (i = 0; i < f; ++i) {\n if (Ink._moduleRenames[deps[i]]) {\n Ink.warn(deps[i] + ' was renamed to ' + Ink._moduleRenames[deps[i]]);\n dep = Ink._moduleRenames[deps[i]];\n } else {\n dep = deps[i];\n }\n\n // Because trailing commas in oldIE bring us undefined values here\n if (!dep) {\n --o.remaining;\n continue;\n }\n\n mod = modules[dep];\n if (mod) {\n o.args[i] = mod;\n --o.remaining;\n continue;\n }\n else if (!modulesRequested[dep]) {\n Ink._loadLater(dep);\n }\n o.left[dep] = i;\n }\n\n if (o.remaining > 0) {\n pendingRMs.push(o);\n }\n else {\n cbFn.apply(true, o.args);\n }\n },\n\n _moduleRenames: {\n 'Ink.UI.Aux_1': 'Ink.UI.Common_1'\n },\n\n /**\n * Lists loaded module names.\n * The list is ordered by loaded time (oldest module comes first)\n *\n * @method getModulesLoadOrder\n * @return {Array} returns the order in which modules were resolved and correctly loaded\n */\n getModulesLoadOrder: function() {\n return modulesLoadOrder.slice();\n },\n\n /**\n * Builds the markup needed to load the modules.\n * This method builds the script tags needed to load the currently used modules\n * \n * @method getModuleScripts\n * @uses getModulesLoadOrder\n * @return {String} The script markup\n */\n getModuleScripts: function() {\n var mlo = this.getModulesLoadOrder();\n mlo.unshift('Ink_1');\n mlo = mlo.map(function(m) {\n return [''].join('');\n });\n\n return mlo.join('\\n');\n },\n \n /**\n * Creates an Ink.Ext module\n *\n * Does exactly the same as createModule but creates the module in the Ink.Ext namespace\n *\n * @method createExt\n * @uses createModule\n * @param {String} moduleName Extension name\n * @param {String} version Extension version\n * @param {Array} dependencies Extension dependencies\n * @param {Function} modFn Function returning the extension\n * @sample Ink_1_createExt.html \n */\n createExt: function (moduleName, version, dependencies, modFn) {\n return Ink.createModule('Ink.Ext.' + moduleName, version, dependencies, modFn);\n },\n\n /**\n * Function.prototype.bind alternative.\n * Creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function is called.\n *\n * @method bind\n * @param {Function} fn The function \n * @param {Object} context The value to be passed as the this parameter to the target function when the bound function is called. If used as false, it preserves the original context and just binds the arguments.\n * @param {Any} [args*] Additional arguments will be sent to the original function as prefix arguments.\n * @return {Function}\n * @sample Ink_1_bind.html \n */\n bind: function(fn, context) {\n var args = Array.prototype.slice.call(arguments, 2);\n return function() {\n var innerArgs = Array.prototype.slice.call(arguments);\n var finalArgs = args.concat(innerArgs);\n return fn.apply(context === false ? this : context, finalArgs);\n };\n },\n\n /**\n * Function.prototype.bind alternative for class methods\n * Creates a new function that, when called, has this k\n * @method bindMethod\n * @uses bind\n * @param {Object} object The object that contains the method to bind\n * @param {String} methodName The name of the method that will be bound\n * @param {Any} [args*] Additional arguments will be sent to the new method as prefix arguments.\n * @return {Function}\n * @sample Ink_1_bindMethod.html \n */\n bindMethod: function (object, methodName) {\n return Ink.bind.apply(Ink,\n [object[methodName], object].concat([].slice.call(arguments, 2)));\n },\n\n /**\n * Function.prototype.bind alternative for event handlers.\n * Same as bind but keeps first argument of the call the original event.\n * Set \"context\" to `false` to preserve the original context of the function and just bind the arguments.\n *\n * @method bindEvent\n * @param {Function} fn The function \n * @param {Object} context The value to be passed as the this parameter to the target \n * @param {Any} [args*] Additional arguments will be sent to the original function as prefix arguments\n * @return {Function}\n * @sample Ink_1_bindEvent.html \n */\n bindEvent: function(fn, context) {\n var args = Array.prototype.slice.call(arguments, 2);\n return function(event) {\n var finalArgs = args.slice();\n finalArgs.unshift(event || window.event);\n return fn.apply(context === false ? this : context, finalArgs);\n };\n },\n\n /**\n * Alias to document.getElementById\n *\n * @method i\n * @param {String} id Element ID\n * @return {DOMElement}\n * @sample Ink_1_i.html \n */\n i: function(id) {\n if(!id) {\n throw new Error('Ink.i => id or element must be passed');\n }\n if(typeof(id) === 'string') {\n return document.getElementById(id);\n }\n return id;\n },\n\n /**\n * Alias for Ink.Dom.Selector\n *\n * @method ss\n * @uses Ink.Dom.Selector.select\n * @param {String} rule\n * @param {DOMElement} [from]\n * @return {Array} array of DOMElements\n * @sample Ink_1_ss.html \n */\n ss: function(rule, from)\n {\n if(typeof(Ink.Dom) === 'undefined' || typeof(Ink.Dom.Selector) === 'undefined') {\n throw new Error('This method requires Ink.Dom.Selector');\n }\n return Ink.Dom.Selector.select(rule, (from || document));\n },\n\n /**\n * Alias for Ink.Dom.Selector first result\n *\n * @method s\n * @uses Ink.Dom.Selector.select\n * @param {String} rule Selector string\n * @param {DOMElement} [from] Context element. If set to a DOM element, the rule will only look for descendants of this DOM Element.\n * @return {DOMElement}\n * @sample Ink_1_s.html \n */\n s: function(rule, from)\n {\n if(typeof(Ink.Dom) === 'undefined' || typeof(Ink.Dom.Selector) === 'undefined') {\n throw new Error('This method requires Ink.Dom.Selector');\n }\n return Ink.Dom.Selector.select(rule, (from || document))[0] || null;\n },\n\n /**\n * Extends an object with another\n * Copy all of the properties in one or more source objects over to the destination object, and return the destination object. It's in-order, so the last source will override properties of the same name in previous arguments.\n *\n * @method extendObj\n * @param {Object} destination The object that will receive the new/updated properties\n * @param {Object} source The object whose properties will be copied over to the destination object\n * @param {Object} [args*] Additional source objects. The last source will override properties of the same name in the previous defined sources\n * @return destination object, enriched with defaults from the sources\n * @sample Ink_1_extendObj.html \n */\n extendObj: function(destination/*, source... */) {\n var sources = [].slice.call(arguments, 1);\n\n for (var i = 0, len = sources.length; i < len; i++) {\n if (!sources[i]) { continue; }\n for (var property in sources[i]) {\n if(Object.prototype.hasOwnProperty.call(sources[i], property)) {\n destination[property] = sources[i][property];\n }\n }\n }\n\n return destination;\n },\n\n /**\n * Calls native console.log if available.\n *\n * @method log\n * @param {Any} [args*] Arguments to be evaluated\n * @sample Ink_1_log.html \n **/\n log: function () {\n // IE does not have console.log.apply in IE10 emulated mode\n var console = window.console;\n if (console && console.log) {\n apply.call(console.log, console, arguments);\n }\n },\n\n /**\n * Calls native console.warn if available.\n *\n * @method warn\n * @param {Any} [args*] Arguments to be evaluated\n * @sample Ink_1_warn.html \n **/\n warn: function () {\n // IE does not have console.log.apply in IE10 emulated mode\n var console = window.console;\n if (console && console.warn) {\n apply.call(console.warn, console, arguments);\n }\n },\n\n /**\n * Calls native console.error if available.\n *\n * @method error\n * @param {Any} [args*] Arguments to be evaluated\n * @sample Ink_1_error.html \n **/\n error: function () {\n // IE does not have console.log.apply in IE10 emulated mode\n var console = window.console;\n if (console && console.error) {\n apply.call(console.error, console, arguments);\n }\n }\n };\n\n\n // TODO for debug - to detect pending stuff\n /*\n var failCount = {}; // fail count per module name\n var maxFails = 3; // times\n var checkDelta = 0.5; //seconds\n\n var tmpTmr = setInterval(function() {\n var mk = Object.keys(modulesRequested);\n var l = mk.length;\n\n if (l > 0) {\n // console.log('** waiting for modules: ' + mk.join(', ') + ' **');\n\n for (var i = 0, f = mk.length, k, v; i < f; ++i) {\n k = mk[i];\n v = failCount[k];\n failCount[k] = (v === undefined) ? 1 : ++v;\n\n if (v >= maxFails) {\n console.error('** Loading of module ' + k + ' failed! **');\n delete modulesRequested[k];\n }\n }\n }\n else {\n // console.log('** Module loads complete. **');\n clearInterval(tmpTmr);\n }\n }, checkDelta*1000);\n */\n}(window, document));\n","/**\n * Cross Browser Ajax requests\n * @module Ink.Net.Ajax_1\n * @version 1\n */\n\nInk.createModule('Ink.Net.Ajax', '1', [], function() {\n\n 'use strict';\n\n /**\n * Creates a new XMLHttpRequest object\n *\n * @class Ink.Net.Ajax\n * @constructor\n *\n * @param {String} url Request URL\n * @param {Object} options Request options\n * @param {Boolean} [options.asynchronous]=true If false, the request synchronous.\n * @param {Boolean} [options.cors] Flag to activate CORS. Set this to true if you're doing a cross-origin request\n * @param {String} [options.method]='POST' HTTP request method. POST by default.\n * @param {Object|String} [options.parameters] Request parameters to be sent with the request\n * @param {Number} [options.timeout] Request timeout in seconds\n * @param {Number} [options.delay] Artificial delay. If the request is completed faster than this delay, wait the remaining time before executing the callbacks\n * @param {String} [options.postBody] POST request body. If not specified, it's filled with the contents from parameters\n * @param {String} [options.contentType] Content-type header to be sent. Defaults to 'application/x-www-form-urlencoded'\n * @param {Object} [options.requestHeaders] Key-value pairs for additional request headers\n * @param {Function} [options.onComplete] Callback executed after the request is completed, regardless of what happened during the request.\n * @param {Function} [options.onSuccess] Callback executed if the request is successful (requests with 2xx status codes)\n * @param {Function} [options.onFailure] Callback executed if the request fails (requests with status codes different from 2xx)\n * @param {Function} [options.onException] Callback executed if an exception occurs. Receives the exception as a parameter.\n * @param {Function} [options.onCreate] Callback executed after object initialization but before the request is made\n * @param {Function} [options.onInit] Callback executed before any initialization\n * @param {Function} [options.onTimeout] Callback executed if the request times out\n * @param {Boolean|String} [options.evalJS]=true If the request Content-type header is application/json, evaluates the response and populates responseJSON. Use 'force' if you want to force the response evaluation, no matter what Content-type it's using.\n * @param {Boolean} [options.sanitizeJSON] Flag to sanitize the content of responseText before evaluation\n * @param {String} [options.xhrProxy] URI for proxy service hosted on the same server as the web app, that can fetch documents from other domains. The service must pipe all input and output untouched (some input sanitization is allowed, like clearing cookies). e.g., requesting http://example.org/doc can become /proxy/http%3A%2F%2Fexample.org%2Fdoc The proxy service will be used for cross-domain requests, if set, else a network error is returned as exception.\n *\n * @sample Ink_Net_Ajax_1.html \n */\n var Ajax = function(url, options){\n\n // start of AjaxMock patch - uncomment to enable it\n /*var AM = SAPO.Communication.AjaxMock;\n if (AM && !options.inMock) {\n if (AM.autoRecordThisUrl && AM.autoRecordThisUrl(url)) {\n return new AM.Record(url, options);\n }\n if (AM.mockThisUrl && AM.mockThisUrl(url)) {\n return new AM.Play(url, options, true);\n }\n }*/\n // end of AjaxMock patch\n\n this.init(url, options);\n };\n\n /**\n * Options for all requests. These can then be overriden for individual ones.\n */\n Ajax.globalOptions = {\n parameters: {},\n requestHeaders: {}\n };\n\n\n // IE10 does not need XDomainRequest\n var xMLHttpRequestWithCredentials = 'XMLHttpRequest' in window && 'withCredentials' in (new XMLHttpRequest());\n\n\n\n Ajax.prototype = {\n\n init: function(url, userOptions) {\n if (!url) {\n throw new Error(\"WRONG_ARGUMENTS_ERR\");\n }\n var options = Ink.extendObj({\n asynchronous: true,\n method: 'POST',\n parameters: null,\n timeout: 0,\n delay: 0,\n postBody: '',\n contentType: 'application/x-www-form-urlencoded',\n requestHeaders: null,\n onComplete: null,\n onSuccess: null,\n onFailure: null,\n onException: null,\n onHeaders: null,\n onCreate: null,\n onInit: null,\n onTimeout: null,\n sanitizeJSON: false,\n evalJS: true,\n xhrProxy: '',\n cors: false,\n debug: false,\n useCredentials: false,\n signRequest: false\n }, Ajax.globalOptions);\n\n if (userOptions && typeof userOptions === 'object') {\n options = Ink.extendObj(options, userOptions);\n\n\n if (typeof userOptions.parameters === 'object') {\n options.parameters = Ink.extendObj(Ink.extendObj({}, Ajax.globalOptions.parameters), userOptions.parameters);\n } else if (userOptions.parameters !== null) {\n var globalParameters = this.paramsObjToStr(Ajax.globalOptions.parameters);\n if (globalParameters) {\n options.parameters = userOptions.parameters + '&' + globalParameters;\n }\n }\n\n options.requestHeaders = Ink.extendObj({}, Ajax.globalOptions.requestHeaders);\n options.requestHeaders = Ink.extendObj(options.requestHeaders, userOptions.requestHeaders);\n }\n\n this.options = options;\n\n this.safeCall('onInit');\n\n this.url = url;\n\n var urlLocation = this._locationFromURL(url);\n this.isHTTP = this._locationIsHTTP(urlLocation);\n this.isCrossDomain = this._locationIsCrossDomain(urlLocation, location);\n\n this.requestHasBody = options.method.search(/^get|head$/i) < 0;\n\n if(this.options.cors) {\n this.isCrossDomain = false;\n }\n\n this.transport = this.getTransport();\n\n this.request();\n },\n\n /**\n * Returns a location object from an URL\n *\n * @method _locationFromUrl\n * @param url\n * @private\n **/\n _locationFromURL: function (url) {\n var urlLocation = document.createElementNS ?\n document.createElementNS('http://www.w3.org/1999/xhtml', 'a') :\n document.createElement('a');\n urlLocation.href = url;\n return urlLocation;\n },\n\n /**\n * Checks whether a location is HTTP or HTTPS\n *\n * @method locationIsHttp\n * @param urlLocation\n * @private\n */\n _locationIsHTTP: function (urlLocation) {\n return urlLocation.protocol.match(/^https?:/i) ? true : false;\n },\n\n /**\n * Checks whether a location is cross-domain from another\n *\n * @method _locationIsCrossDomain\n * @param urlLocation {Location}\n * @param otherLocation {Location}\n */\n _locationIsCrossDomain: function (urlLocation, location) {\n location = location || window.location;\n if (!Ajax.prototype._locationIsHTTP(urlLocation) || location.protocol === 'widget:' || typeof window.widget === 'object') {\n return false;\n } else {\n return location.protocol !== urlLocation.protocol ||\n location.host.split(':')[0] !== urlLocation.host.split(':')[0];\n }\n },\n\n /**\n * Creates the appropriate XMLHttpRequest object\n *\n * @method getTransport\n * @return {Object} XMLHttpRequest object\n */\n getTransport: function()\n {\n /*global XDomainRequest:false, ActiveXObject:false */\n if (!xMLHttpRequestWithCredentials && this.options.cors && 'XDomainRequest' in window) {\n this.usingXDomainReq = true;\n return new XDomainRequest();\n }\n else if (typeof XMLHttpRequest !== 'undefined') {\n return new XMLHttpRequest();\n }\n else if (typeof ActiveXObject !== 'undefined') {\n try {\n return new ActiveXObject('Msxml2.XMLHTTP');\n } catch (e) {\n return new ActiveXObject('Microsoft.XMLHTTP');\n }\n } else {\n return null;\n }\n },\n\n /**\n * Set the necessary headers for an ajax request\n *\n * @method setHeaders\n * @param {String} url The url for the request\n */\n setHeaders: function()\n {\n if (this.transport) {\n try {\n var headers = {\n \"Accept\": \"text/javascript,text/xml,application/xml,application/xhtml+xml,text/html,application/json;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1\",\n \"Accept-Language\": navigator.language,\n \"X-Requested-With\": \"XMLHttpRequest\",\n \"X-Ink-Version\": \"2\"\n };\n if (this.options.cors) {\n if (!this.options.signRequest) {\n delete headers['X-Requested-With'];\n }\n delete headers['X-Ink-Version'];\n }\n\n if (this.options.requestHeaders && typeof this.options.requestHeaders === 'object') {\n for(var headerReqName in this.options.requestHeaders) {\n if (this.options.requestHeaders.hasOwnProperty(headerReqName)) {\n headers[headerReqName] = this.options.requestHeaders[headerReqName];\n }\n }\n }\n\n if (this.transport.overrideMimeType && (navigator.userAgent.match(/Gecko\\/(\\d{4})/) || [0,2005])[1] < 2005) {\n headers.Connection = 'close';\n }\n\n for (var headerName in headers) {\n if(headers.hasOwnProperty(headerName)) {\n this.transport.setRequestHeader(headerName, headers[headerName]);\n }\n }\n } catch(e) {}\n }\n },\n\n /**\n * Converts an object with parameters to a querystring\n *\n * @method paramsObjToStr\n * @param {Object|String} optParams parameters object\n * @return {String} querystring\n */\n paramsObjToStr: function(optParams) {\n var k, m, p, a, params = [];\n if (typeof optParams === 'object') {\n for (p in optParams){\n if (optParams.hasOwnProperty(p)) {\n a = optParams[p];\n if (Object.prototype.toString.call(a) === '[object Array]' && !isNaN(a.length)) {\n for (k = 0, m = a.length; k < m; k++) {\n params = params.concat([\n encodeURIComponent(p), '[]', '=',\n encodeURIComponent(a[k]), '&'\n ]);\n }\n }\n else {\n params = params.concat([\n encodeURIComponent(p), '=',\n encodeURIComponent(a), '&'\n ]);\n }\n }\n }\n if (params.length > 0) {\n params.pop();\n }\n }\n else\n {\n return optParams;\n }\n return params.join('');\n },\n\n /**\n * Set the url parameters for a GET request\n *\n * @method setParams\n */\n setParams: function()\n {\n var params = null, optParams = this.options.parameters;\n\n if(typeof optParams === \"object\"){\n params = this.paramsObjToStr(optParams);\n } else {\n params = '' + optParams;\n }\n\n if(params){\n if(this.url.indexOf('?') > -1) {\n this.url = this.url.split('#')[0] + '&' + params;\n } else {\n this.url = this.url.split('#')[0] + '?' + params;\n }\n }\n },\n\n /**\n * Gets an HTTP header from the response\n *\n * @method getHeader\n * @param {String} name Header name\n * @return {String} header Content\n */\n getHeader: function(name)\n {\n if (this.usingXDomainReq && name === 'Content-Type') {\n return this.transport.contentType;\n }\n try{\n return this.transport.getResponseHeader(name);\n } catch(e) {\n return null;\n }\n },\n\n /**\n * Gets all the HTTP headers from the response\n *\n * @method getAllHeaders\n * @return {String} The headers, each separated by a newline\n */\n getAllHeaders: function()\n {\n try {\n return this.transport.getAllResponseHeaders();\n } catch(e) {\n return null;\n }\n },\n\n /**\n * Sets the response object\n *\n * @method getResponse\n * @return {Object} the response object\n */\n getResponse: function(){\n // setup our own stuff\n var t = this.transport,\n r = {\n headerJSON: null,\n responseJSON: null,\n getHeader: this.getHeader,\n getAllHeaders: this.getAllHeaders,\n request: this,\n transport: t,\n timeTaken: new Date() - this.startTime,\n requestedUrl: this.url\n };\n\n // setup things expected from the native object\n r.readyState = t.readyState;\n try { r.responseText = t.responseText; } catch(e) {}\n try { r.responseXML = t.responseXML; } catch(e) {}\n try { r.status = t.status; } catch(e) { r.status = 0; }\n try { r.statusText = t.statusText; } catch(e) { r.statusText = ''; }\n\n return r;\n },\n\n /**\n * Aborts the request if still running. No callbacks are called\n *\n * @method abort\n */\n abort: function(){\n if (this.transport) {\n clearTimeout(this.delayTimeout);\n clearTimeout(this.stoTimeout);\n try { this.transport.abort(); } catch(ex) {}\n this.finish();\n }\n },\n\n /**\n * Executes the state changing phase of an ajax request\n *\n * @method runStateChange\n */\n runStateChange: function()\n {\n var rs = this.transport.readyState;\n if (rs === 3) {\n if (this.isHTTP) {\n this.safeCall('onHeaders');\n }\n } else if (rs === 4 || this.usingXDomainReq) {\n\n if (this.options.asynchronous && this.options.delay && (this.startTime + this.options.delay > new Date().getTime())) {\n this.delayTimeout = setTimeout(Ink.bind(this.runStateChange, this), this.options.delay + this.startTime - new Date().getTime());\n return;\n }\n\n var responseJSON,\n responseContent = this.transport.responseText,\n response = this.getResponse(),\n curStatus = this.transport.status;\n\n if (this.isHTTP && !this.options.asynchronous) {\n this.safeCall('onHeaders');\n }\n\n clearTimeout(this.stoTimeout);\n\n if (curStatus === 0) {\n // Status 0 indicates network error for http requests.\n // For http less requests, 0 is always returned.\n if (this.isHTTP) {\n this.safeCall('onException', this.makeError(18, 'NETWORK_ERR'));\n } else {\n curStatus = responseContent ? 200 : 404;\n }\n }\n else if (curStatus === 304) {\n curStatus = 200;\n }\n var isSuccess = this.usingXDomainReq || 200 <= curStatus && curStatus < 300;\n\n var headerContentType = this.getHeader('Content-Type') || '';\n if (this.options.evalJS &&\n (headerContentType.indexOf(\"application/json\") >= 0 || this.options.evalJS === 'force')){\n try {\n responseJSON = this.evalJSON(responseContent, this.sanitizeJSON);\n if(responseJSON){\n responseContent = response.responseJSON = responseJSON;\n }\n } catch(e){\n if (isSuccess) {\n // If the request failed, then this is perhaps an error page\n // so don't notify error.\n this.safeCall('onException', e);\n }\n }\n }\n\n if (this.usingXDomainReq && headerContentType.indexOf('xml') !== -1 && 'DOMParser' in window) {\n // http://msdn.microsoft.com/en-us/library/ie/ff975278(v=vs.85).aspx\n var mimeType;\n switch (headerContentType) {\n case 'application/xml':\n case 'application/xhtml+xml':\n case 'image/svg+xml':\n mimeType = headerContentType;\n break;\n default:\n mimeType = 'text/xml';\n }\n var xmlDoc = (new DOMParser()).parseFromString( this.transport.responseText, mimeType);\n this.transport.responseXML = xmlDoc;\n response.responseXML = xmlDoc;\n }\n\n if (this.transport.responseXML !== null && response.responseJSON === null && this.transport.responseXML.xml !== \"\"){\n responseContent = this.transport.responseXML;\n }\n\n if (curStatus || this.usingXDomainReq) {\n if (isSuccess) {\n this.safeCall('onSuccess', response, responseContent);\n } else {\n this.safeCall('onFailure', response, responseContent);\n }\n this.safeCall('on'+curStatus, response, responseContent);\n }\n this.finish(response, responseContent);\n }\n },\n\n /**\n * Last step after XHR is complete. Call onComplete and cleanup object\n *\n * @method finish\n * @param {Any} response\n * @param {Any} responseContent\n */\n finish: function(response, responseContent){\n if (response) {\n this.safeCall('onComplete', response, responseContent);\n }\n clearTimeout(this.stoTimeout);\n\n if (this.transport) {\n // IE6 sometimes barfs on this one\n try{ this.transport.onreadystatechange = null; } catch(e){}\n\n if (typeof this.transport.destroy === 'function') {\n // Stuff for Samsung.\n this.transport.destroy();\n }\n\n // Let XHR be collected.\n this.transport = null;\n }\n },\n\n /**\n * Safely calls a callback function.\n * Verifies that the callback is well defined and traps errors\n *\n * @method safeCall\n * @param {Function} listener\n */\n safeCall: function(listener, first/*, second*/) {\n function rethrow(exception){\n setTimeout(function() {\n // Rethrow exception so it'll land in\n // the error console, firebug, whatever.\n if (exception.message) {\n exception.message += '\\n'+(exception.stacktrace || exception.stack || '');\n }\n throw exception;\n }, 1);\n }\n if (typeof this.options[listener] === 'function') {\n //SAPO.safeCall(this, this.options[listener], first, second);\n //return object[listener].apply(object, [].slice.call(arguments, 2));\n try {\n this.options[listener].apply(this, [].slice.call(arguments, 1));\n } catch(ex) {\n rethrow(ex);\n }\n } else if (first && window.Error && (first instanceof Error)) {\n rethrow(first);\n }\n },\n\n /**\n * Sets a new request header for the next http request\n *\n * @method setRequestHeader\n * @param {String} name\n * @param {String} value\n */\n setRequestHeader: function(name, value){\n if (!this.options.requestHeaders) {\n this.options.requestHeaders = {};\n }\n this.options.requestHeaders[name] = value;\n },\n\n /**\n * Executes the request\n *\n * @method request\n */\n request: function()\n {\n if(this.transport) {\n var params = null;\n if(this.requestHasBody) {\n if(this.options.postBody !== null && this.options.postBody !== '') {\n params = this.options.postBody;\n this.setParams();\n } else if (this.options.parameters !== null && this.options.parameters !== ''){\n params = this.options.parameters;\n }\n\n if (typeof params === \"object\" && !params.nodeType) {\n params = this.paramsObjToStr(params);\n } else if (typeof params !== \"object\" && params !== null){\n params = '' + params;\n }\n\n if(this.options.contentType) {\n this.setRequestHeader('Content-Type', this.options.contentType);\n }\n } else {\n this.setParams();\n }\n\n var url = this.url;\n var method = this.options.method;\n var crossDomain = this.isCrossDomain;\n\n if (crossDomain && this.options.xhrProxy) {\n this.setRequestHeader('X-Url', url);\n url = this.options.xhrProxy + encodeURIComponent(url);\n crossDomain = false;\n }\n\n try {\n this.transport.open(method, url, this.options.asynchronous);\n } catch(e) {\n this.safeCall('onException', e);\n return this.finish(this.getResponse(), null);\n }\n\n this.setHeaders();\n\n this.safeCall('onCreate');\n\n if(this.options.timeout && !isNaN(this.options.timeout)) {\n this.stoTimeout = setTimeout(Ink.bind(function() {\n if(this.options.onTimeout) {\n this.safeCall('onTimeout');\n this.abort();\n }\n }, this), (this.options.timeout * 1000));\n }\n\n if(this.options.useCredentials && !this.usingXDomainReq) {\n this.transport.withCredentials = true;\n }\n\n if(this.options.asynchronous && !this.usingXDomainReq) {\n this.transport.onreadystatechange = Ink.bind(this.runStateChange, this);\n }\n else if (this.usingXDomainReq) {\n this.transport.onload = Ink.bind(this.runStateChange, this);\n }\n\n try {\n if (crossDomain) {\n // Need explicit handling because Mozila aborts\n // the script and Chrome fails silently.per the spec\n throw this.makeError(18, 'NETWORK_ERR');\n } else {\n this.startTime = new Date().getTime();\n this.transport.send(params);\n }\n } catch(e) {\n this.safeCall('onException', e);\n return this.finish(this.getResponse(), null);\n }\n\n if(!this.options.asynchronous) {\n this.runStateChange();\n }\n }\n },\n\n /**\n * Returns a new exception object that can be thrown\n *\n * @method makeError\n * @param code Error Code\n * @param message Message\n * @returns {Object}\n */\n makeError: function(code, message){\n if (typeof Error !== 'function') {\n return {code: code, message: message};\n }\n var e = new Error(message);\n e.code = code;\n return e;\n },\n\n /**\n * Checks if a given string is valid JSON\n *\n * @method isJSON\n * @param {String} str String to be evaluated\n * @return {Boolean} True if the string is valid JSON\n */\n isJSON: function(str)\n {\n if (typeof str !== \"string\" || !str){ return false; }\n str = str.replace(/\\\\./g, '@').replace(/\"[^\"\\\\\\n\\r]*\"/g, '');\n return (/^[,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]*$/).test(str);\n },\n\n /**\n * Evaluates a given string as JSON\n *\n * @method evalJSON\n * @param {String} str String to be evaluated\n * @param {Boolean} sanitize Flag to sanitize the content\n * @return {Object} JSON content as an object\n */\n evalJSON: function(strJSON, sanitize)\n {\n if (strJSON && (!sanitize || this.isJSON(strJSON))) {\n try {\n if (typeof JSON !== \"undefined\" && typeof JSON.parse !== 'undefined'){\n return JSON.parse(strJSON);\n }\n /*jshint evil:true */\n return eval('(' + strJSON + ')');\n } catch(e) {\n throw new Error('ERROR: Bad JSON string...');\n }\n }\n return null;\n }\n };\n\n /**\n * Loads content from a given url through an XMLHttpRequest.\n *\n * Shortcut function for simple AJAX use cases. Works with JSON, XML and plain text.\n *\n * @method load\n * @param {String} url Request URL\n * @param {Function} callback Callback to be executed if the request is successful\n * @return {Object} XMLHttpRequest object\n *\n * @sample Ink_Net_Ajax_load.html \n */\n Ajax.load = function(url, callback){\n return new Ajax(url, {\n method: 'GET',\n onSuccess: function(response){\n callback(response.responseJSON || response.responseText, response);\n }\n });\n };\n\n /**\n * Loads content from a given url through an XMLHttpRequest.\n * Shortcut function for simple AJAX use cases.\n *\n * @method ping\n * @param {String} url Request url\n * @param {Function} callback Callback to be executed if the request is successful\n * @return {Object} XMLHttpRequest object\n */\n Ajax.ping = function(url, callback){\n return new Ajax(url, {\n method: 'HEAD',\n onSuccess: function(response){\n if (typeof callback === 'function'){\n callback(response);\n }\n }\n });\n };\n\n\n return Ajax;\n});\n","/**\n * Cross Browser JsonP requests\n * @module Ink.Net.JsonP_1\n * @version 1\n */\n\nInk.createModule('Ink.Net.JsonP', '1', [], function() {\n\n 'use strict';\n\n /**\n * Executes a JSONP request\n *\n * @class Ink.Net.JsonP\n * @constructor\n *\n * @param {String} uri Request URL\n * @param {Object} options Request options\n * @param {Function} options.onSuccess Success callback\n * @param {Function} [options.onFailure] Failure callback\n * @param {Object} [options.failureObj] Object to be passed as argument to failure callback\n * @param {Number} [options.timeout] Timeout for request fail, in seconds. defaults to 10\n * @param {Object} [options.params] Object with the parameters and respective values to unfold\n * @param {String} [options.callbackParam] Parameter to use as callback. defaults to 'jsoncallback'\n * @param {String} [options.internalCallback] Name of the callback function stored in the Ink.Net.JsonP object.\n * @param {String} [options.randVar] (Advanced, not recommended unless you know what you're doing) A string to append to the callback name. By default, generate a random number. Use an empty string if you already passed the correct name in the internalCallback option.\n *\n * @sample Ink_Net_JsonP_1.html \n */\n var JsonP = function(uri, options) {\n this.init(uri, options);\n };\n\n JsonP.prototype = {\n\n init: function(uri, options) {\n this.options = Ink.extendObj( {\n onSuccess: undefined,\n onFailure: undefined,\n failureObj: {},\n timeout: 10,\n params: {},\n callbackParam: 'jsoncallback',\n internalCallback: '_cb',\n randVar: false\n }, options || {});\n\n if(this.options.randVar !== false) {\n this.randVar = this.options.randVar;\n } else {\n this.randVar = parseInt(Math.random() * 100000, 10);\n }\n\n this.options.internalCallback += this.randVar;\n\n this.uri = uri;\n\n // prevent SAPO legacy onComplete - make it onSuccess\n if(typeof(this.options.onComplete) === 'function') {\n this.options.onSuccess = this.options.onComplete;\n }\n\n if (typeof this.uri !== 'string') {\n throw 'Please define an URI';\n }\n\n if (typeof this.options.onSuccess !== 'function') {\n throw 'please define a callback function on option onSuccess!';\n }\n\n Ink.Net.JsonP[this.options.internalCallback] = Ink.bind(function() {\n window.clearTimeout(this.timeout);\n delete window.Ink.Net.JsonP[this.options.internalCallback];\n this._removeScriptTag();\n this.options.onSuccess(arguments[0]);\n }, this);\n\n this._addScriptTag();\n },\n\n _addParamsToGet: function(uri, params) {\n var hasQuestionMark = uri.indexOf('?') !== -1;\n var sep, pKey, pValue, parts = [uri];\n\n for (pKey in params) {\n if (params.hasOwnProperty(pKey)) {\n if (!hasQuestionMark) { sep = '?'; hasQuestionMark = true; }\n else { sep = '&'; }\n pValue = params[pKey];\n if (typeof pValue !== 'number' && !pValue) { pValue = ''; }\n parts = parts.concat([sep, pKey, '=', encodeURIComponent(pValue)]);\n }\n }\n\n return parts.join('');\n },\n\n _getScriptContainer: function() {\n var headEls = document.getElementsByTagName('head');\n if (headEls.length === 0) {\n var scriptEls = document.getElementsByTagName('script');\n return scriptEls[0];\n }\n return headEls[0];\n },\n\n _addScriptTag: function() {\n // enrich options will callback and random seed\n this.options.params[this.options.callbackParam] = 'Ink.Net.JsonP.' + this.options.internalCallback;\n this.options.params.rnd_seed = this.randVar;\n this.uri = this._addParamsToGet(this.uri, this.options.params);\n // create script tag\n var scriptEl = document.createElement('script');\n scriptEl.type = 'text/javascript';\n scriptEl.src = this.uri;\n var scriptCtn = this._getScriptContainer();\n scriptCtn.appendChild(scriptEl);\n this.timeout = setTimeout(Ink.bind(this._requestFailed, this), (this.options.timeout * 1000));\n },\n\n _requestFailed : function () {\n delete Ink.Net.JsonP[this.options.internalCallback];\n this._removeScriptTag();\n if(typeof this.options.onFailure === 'function'){\n this.options.onFailure(this.options.failureObj);\n }\n },\n\n _removeScriptTag: function() {\n var scriptEl;\n var scriptEls = document.getElementsByTagName('script');\n var scriptUri;\n for (var i = 0, f = scriptEls.length; i < f; ++i) {\n scriptEl = scriptEls[i];\n scriptUri = scriptEl.getAttribute('src') || scriptEl.src;\n if (scriptUri !== null && scriptUri === this.uri) {\n scriptEl.parentNode.removeChild(scriptEl);\n return;\n }\n }\n }\n\n };\n\n return JsonP;\n\n});\n","/**\n * Browser Detection and User Agent sniffing\n * @module Ink.Dom.Browser_1\n * @version 1\n */\nInk.createModule('Ink.Dom.Browser', '1', [], function() {\n 'use strict'; \n\n /**\n * @namespace Ink.Dom.Browser\n * @version 1\n * @static\n * @example\n * \n */\n var Browser = {\n /**\n * True if the browser is Internet Explorer\n *\n * @property IE\n * @type {Boolean}\n * @public\n * @static\n */\n IE: false,\n\n /**\n * True if the browser is Gecko based\n *\n * @property GECKO\n * @type {Boolean}\n * @public\n * @static\n */\n GECKO: false,\n\n /**\n * True if the browser is Opera\n *\n * @property OPERA\n * @type {Boolean}\n * @public\n * @static\n */\n OPERA: false,\n\n /**\n * True if the browser is Safari\n *\n * @property SAFARI\n * @type {Boolean}\n * @public\n * @static\n */\n SAFARI: false,\n\n /**\n * True if the browser is Konqueror\n *\n * @property KONQUEROR\n * @type {Boolean}\n * @public\n * @static\n */\n KONQUEROR: false,\n\n /**\n * True if browser is Chrome\n *\n * @property CHROME\n * @type {Boolean}\n * @public\n * @static\n */\n CHROME: false,\n\n /**\n * The specific browser model.\n * False if it is unavailable.\n *\n * @property model\n * @type {Boolean|String}\n * @public\n * @static\n */\n model: false,\n\n /**\n * The browser version.\n * False if it is unavailable.\n *\n * @property version\n * @type {Boolean|String}\n * @public\n * @static\n */\n version: false,\n\n /**\n * The user agent string.\n * False if it is unavailable.\n *\n * @property userAgent\n * @type {Boolean|String}\n * @public\n * @static\n */\n userAgent: false,\n\n /**\n * The CSS prefix (-moz-, -webkit-, -ms-, ...)\n * False if it is unavailable \n *\n * @property cssPrefix \n * @type {Boolean|String}\n * @public \n * @static \n */\n cssPrefix: false, \n\n /**\n * The DOM prefix (Moz, Webkit, ms, ...)\n * False if it is unavailable \n * @property domPrefix \n * @type {Boolean|String}\n * @public \n * @static \n */\n domPrefix: false,\n\n /**\n * Initialization function for the Browser object.\n *\n * Is called automatically when this module is loaded, and calls setDimensions, setBrowser and setReferrer.\n *\n * @method init\n * @public\n */\n init: function() {\n this.detectBrowser();\n this.setDimensions();\n this.setReferrer();\n },\n\n /**\n * Retrieves and stores window dimensions in this object. Called automatically when this module is loaded.\n *\n * @method setDimensions\n * @public\n */\n setDimensions: function() {\n //this.windowWidth=window.innerWidth !== null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body !== null ? document.body.clientWidth : null;\n //this.windowHeight=window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;\n var myWidth = 0, myHeight = 0;\n if ( typeof window.innerWidth=== 'number' ) {\n myWidth = window.innerWidth;\n myHeight = window.innerHeight;\n } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {\n myWidth = document.documentElement.clientWidth;\n myHeight = document.documentElement.clientHeight;\n } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {\n myWidth = document.body.clientWidth;\n myHeight = document.body.clientHeight;\n }\n this.windowWidth = myWidth;\n this.windowHeight = myHeight;\n },\n\n /**\n * Stores the referrer. Called automatically when this module is loaded.\n *\n * @method setReferrer\n * @public\n */\n setReferrer: function() {\n if (document.referrer && document.referrer.length) {\n this.referrer = window.escape(document.referrer);\n } else {\n this.referrer = false;\n }\n },\n\n /**\n * Detects the browser and stores the found properties. Called automatically when this module is loaded.\n *\n * @method detectBrowser\n * @public\n */\n detectBrowser: function() {\n this._sniffUserAgent(navigator.userAgent);\n },\n\n _sniffUserAgent: function (sAgent) {\n this.userAgent = sAgent;\n\n sAgent = sAgent.toLowerCase();\n\n if (/applewebkit\\//.test(sAgent)) {\n this.cssPrefix = '-webkit-';\n this.domPrefix = 'Webkit';\n if(/(chrome|crios)\\//.test(sAgent)) {\n // Chrome\n this.CHROME = true;\n this.model = 'chrome';\n this.version = sAgent.replace(/(.*)chrome\\/([^\\s]+)(.*)/, \"$2\");\n } else {\n // Safari\n this.SAFARI = true;\n this.model = 'safari';\n var rVersion = /version\\/([^) ]+)/;\n if (rVersion.test(sAgent)) {\n this.version = sAgent.match(rVersion)[1];\n } else {\n this.version = sAgent.replace(/(.*)applewebkit\\/([^\\s]+)(.*)/, \"$2\");\n }\n }\n } else if (/opera/.test(sAgent)) {\n // Opera\n this.OPERA = true;\n this.model = 'opera';\n this.version = sAgent.replace(/(.*)opera.([^\\s$]+)(.*)/, \"$2\");\n this.cssPrefix = '-o-';\n this.domPrefix = 'O';\n } else if (/konqueror/.test(sAgent)) {\n // Konqueroh\n this.KONQUEROR = true;\n this.model = 'konqueror';\n this.version = sAgent.replace(/(.*)konqueror\\/([^;]+);(.*)/, \"$2\");\n this.cssPrefix = '-khtml-';\n this.domPrefix = 'Khtml';\n } else if (/(msie|trident)/i.test(sAgent)) {\n // MSIE\n this.IE = true;\n this.model = 'ie';\n if (/rv:((?:\\d|\\.)+)/.test(sAgent)) { // IE 11\n this.version = sAgent.match(/rv:((?:\\d|\\.)+)/)[1];\n } else {\n this.version = sAgent.replace(/(.*)\\smsie\\s([^;]+);(.*)/, \"$2\");\n }\n this.cssPrefix = '-ms-';\n this.domPrefix = 'ms';\n } else if (/gecko/.test(sAgent)) {\n // GECKO\n // Supports only:\n // Camino, Chimera, Epiphany, Minefield (firefox 3), Firefox, Firebird, Phoenix, Galeon,\n // Iceweasel, K-Meleon, SeaMonkey, Netscape, Songbird, Sylera,\n this.cssPrefix = '-moz-';\n this.domPrefix = 'Moz';\n\n this.GECKO = true;\n\n var re = /(camino|chimera|epiphany|minefield|firefox|firebird|phoenix|galeon|iceweasel|k\\-meleon|seamonkey|netscape|songbird|sylera)/;\n if(re.test(sAgent)) {\n this.model = sAgent.match(re)[1];\n this.version = sAgent.replace(new RegExp(\"(.*)\"+this.model+\"\\/([^;\\\\s$]+)(.*)\"), \"$2\");\n } else {\n // probably is mozilla\n this.model = 'mozilla';\n var reVersion = /(.*)rv:([^)]+)(.*)/;\n if(reVersion.test(sAgent)) {\n this.version = sAgent.replace(reVersion, \"$2\");\n }\n }\n }\n },\n\n /**\n * Debug function which displays browser (and Ink.Dom.Browser) information as an alert message.\n *\n * @method debug\n * @public\n * @sample Ink_Dom_Browser_1_debug.html\n */\n debug: function() {\n /*global alert:false */\n var str = \"known browsers: (ie, gecko, opera, safari, konqueror) \\n\";\n str += [this.IE, this.GECKO, this.OPERA, this.SAFARI, this.KONQUEROR] +\"\\n\";\n str += \"cssPrefix -> \"+this.cssPrefix+\"\\n\";\n str += \"domPrefix -> \"+this.domPrefix+\"\\n\";\n str += \"model -> \"+this.model+\"\\n\";\n str += \"version -> \"+this.version+\"\\n\";\n str += \"\\n\";\n str += \"original UA -> \"+this.userAgent;\n\n alert(str);\n }\n };\n\n Browser.init();\n\n return Browser;\n});\n","/**\n * CSS Utilities and toolbox\n * @module Ink.Dom.Css_1\n * @version 1\n */\n\nInk.createModule( 'Ink.Dom.Css', 1, [], function() {\n\n 'use strict';\n\n // getComputedStyle feature detection.\n var getCs = (\"defaultView\" in document) && (\"getComputedStyle\" in document.defaultView) ? document.defaultView.getComputedStyle : window.getComputedStyle;\n\n /**\n * @namespace Ink.Dom.Css\n * @static\n */\n\n var Css = {\n /**\n * Adds of removes a class.\n * Depending on addRemState, this method either adds a class if it's true or removes if if false.\n *\n * @method addRemoveClassName\n * @param {DOMElement|string} elm DOM element or element id\n * @param {string} className class name to add or remove.\n * @param {boolean} addRemState Whether to add or remove. `true` to add, `false` to remove.\n * @sample Ink_Dom_Css_addRemoveClassName.html \n */\n addRemoveClassName: function(elm, className, addRemState) {\n if (addRemState) {\n return this.addClassName(elm, className);\n }\n this.removeClassName(elm, className);\n },\n\n /**\n * Adds a class to a given element\n *\n * @method addClassName\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String|Array} className Classes \n * @sample Ink_Dom_Css_addClassName.html\n */\n addClassName: function(elm, className) {\n elm = Ink.i(elm);\n if (!elm || !className) { return null; }\n className = ('' + className).split(/[, ]+/);\n var i = 0;\n var len = className.length;\n\n for (; i < len; i++) {\n // remove whitespace and ignore on empty string\n if (className[i].replace(/^\\s+|\\s+$/g, '')) {\n if (typeof elm.classList !== \"undefined\") {\n elm.classList.add(className[i]);\n } else if (!Css.hasClassName(elm, className[i])) {\n elm.className += (elm.className ? ' ' : '') + className[i];\n }\n }\n }\n },\n\n /**\n * Removes a class from a given element\n *\n * @method removeClassName\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String|Array} className Class names to remove. You can either use a space separated string of classnames, comma-separated list or an array\n * @sample Ink_Dom_Css_removeClassName.html \n */\n removeClassName: function(elm, className) {\n elm = Ink.i(elm);\n if (!elm || !className) { return null; }\n \n className = ('' + className).split(/[, ]+/);\n var i = 0;\n var len = className.length;\n\n if (typeof elm.classList !== \"undefined\"){\n for (; i < len; i++) {\n elm.classList.remove(className[i]);\n }\n } else {\n var elmClassName = elm.className || '';\n var re;\n for (; i < len; i++) {\n re = new RegExp(\"(^|\\\\s+)\" + className[i] + \"(\\\\s+|$)\");\n elmClassName = elmClassName.replace(re, ' ');\n }\n elm.className = (elmClassName\n .replace(/^\\s+/, '')\n .replace(/\\s+$/, ''));\n }\n },\n\n /**\n * Alias to addRemoveClassName. \n * Utility function, saves many if/elses.\n *\n * @method setClassName\n * @uses addRemoveClassName\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String|Array} className Class names to add\\remove. Comma separated, space separated or simply an Array\n * @param {Boolean} [add]=false Flag to switch behavior from removal to addition. true to add, false to remove\n */\n setClassName: function(elm, className, add) {\n this.addRemoveClassName(elm, className, add || false);\n },\n\n /**\n * Checks if an element has a class.\n * This method verifies if an element has ONE of a list of classes. If the last argument is flagged as true, instead checks if the element has ALL the classes\n * \n * @method hasClassName\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String|Array} className Class names to test\n * @param {Boolean} [all]=false If flagged as true, it will check if the element contains ALL the CSS classes\n * @return {Boolean} true if a given class is applied to a given element\n * @sample Ink_Dom_Css_hasClassName.html \n */\n hasClassName: function(elm, className, all) {\n elm = Ink.i(elm);\n if (!elm || !className) { return false; }\n\n className = ('' + className).split(/[, ]+/);\n var i = 0;\n var len = className.length;\n var has;\n var re;\n\n for ( ; i < len; i++) {\n if (typeof elm.classList !== \"undefined\"){\n has = elm.classList.contains(className[i]);\n } else {\n var elmClassName = elm.className;\n if (elmClassName === className[i]) {\n has = true;\n } else {\n re = new RegExp(\"(^|\\\\s)\" + className[i] + \"(\\\\s|$)\");\n has = re.test(elmClassName);\n }\n }\n if (has && !all) { return true; } // return if looking for any class\n if (!has && all) { return false; } // return if looking for all classes\n }\n\n if (all) {\n // if we got here, all classes were found so far\n return true;\n } else {\n // if we got here with all == false, no class was found\n return false;\n }\n },\n\n /**\n * Blinks a class from an element\n * Add and removes the class from the element with a timeout, so it blinks\n *\n * @method blinkClass\n * @uses addRemoveClassName\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String|Array} className Class name(s) to blink\n * @param {Number} timeout timeout in ms between adding and removing, default 100 ms\n * @param {Boolean} negate is true, class is removed then added\n * @sample Ink_Dom_Css_blinkClass.html \n */\n blinkClass: function(element, className, timeout, negate){\n element = Ink.i(element);\n Css.addRemoveClassName(element, className, !negate);\n setTimeout(function() {\n Css.addRemoveClassName(element, className, negate);\n }, Number(timeout) || 100);\n },\n\n /**\n * Toggles a class name from a given element\n *\n * @method toggleClassName\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String} className Class name\n * @param {Boolean} [forceAdd] Flag to force adding the the classe names if they don't exist yet.\n * @sample Ink_Dom_Css_toggleClassName.html \n */\n toggleClassName: function(elm, className, forceAdd) {\n if (elm && className){\n if (typeof elm.classList !== \"undefined\" && !/[, ]/.test(className)){\n elm = Ink.i(elm);\n if (elm !== null){\n elm.classList.toggle(className);\n }\n return true;\n }\n }\n\n if (typeof forceAdd !== 'undefined') {\n if (forceAdd === true) {\n Css.addClassName(elm, className);\n }\n else if (forceAdd === false) {\n Css.removeClassName(elm, className);\n }\n } else {\n if (Css.hasClassName(elm, className)) {\n Css.removeClassName(elm, className);\n } else {\n Css.addClassName(elm, className);\n }\n }\n },\n\n /**\n * Sets the opacity of given element \n *\n * @method setOpacity\n * @param {DOMElement|String} elm DOM element or element id\n * @param {Number} value allows 0 to 1(default mode decimal) or percentage (warning using 0 or 1 will reset to default mode)\n * @sample Ink_Dom_Css_setOpacity.html \n */\n setOpacity: function(elm, value) {\n elm = Ink.i(elm);\n if (elm !== null){\n var val = 1;\n\n if (!isNaN(Number(value))){\n if (value <= 0) { val = 0; }\n else if (value <= 1) { val = value; }\n else if (value <= 100) { val = value / 100; }\n else { val = 1; }\n }\n\n if (typeof elm.style.opacity !== 'undefined') {\n elm.style.opacity = val;\n }\n else {\n elm.style.filter = \"alpha(opacity:\"+(val*100|0)+\")\";\n }\n }\n },\n\n /**\n * Converts a css property name to a string in camelcase to be used with CSSStyleDeclaration.\n * @method _camelCase\n * @private\n * @param {String} str String to convert\n * @return {String} Converted string\n */\n _camelCase: function(str) {\n return str ? str.replace(/-(\\w)/g, function (_, $1) {\n return $1.toUpperCase();\n }) : str;\n },\n\n\n /**\n * Gets the value for an element's style attribute\n *\n * @method getStyle\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String} style Which css attribute to fetch\n * @return Style value\n * @sample Ink_Dom_Css_getStyle.html \n */\n getStyle: function(elm, style) {\n elm = Ink.i(elm);\n if (elm !== null && elm.style) {\n style = style === 'float' ? 'cssFloat': this._camelCase(style);\n\n var value = elm.style[style];\n\n if (getCs && (!value || value === 'auto')) {\n var css = getCs(elm, null);\n value = css ? css[style] : null;\n }\n else if (!value && elm.currentStyle) {\n value = elm.currentStyle[style];\n if (value === 'auto' && (style === 'width' || style === 'height')) {\n value = elm[\"offset\" + style.charAt(0).toUpperCase() + style.slice(1)] + \"px\";\n }\n }\n\n if (style === 'opacity') {\n return value ? parseFloat(value, 10) : 1.0;\n }\n else if (style === 'borderTopWidth' || style === 'borderBottomWidth' ||\n style === 'borderRightWidth' || style === 'borderLeftWidth' ) {\n if (value === 'thin') { return '1px'; }\n else if (value === 'medium') { return '3px'; }\n else if (value === 'thick') { return '5px'; }\n }\n\n return value === 'auto' ? null : value;\n }\n },\n\n\n /**\n * Adds CSS rules to an element's style attribute.\n *\n * @method setStyle\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String} style Which css attribute to set\n * @sample Ink_Dom_Css_setStyle.html \n */\n setStyle: function(elm, style) {\n elm = Ink.i(elm);\n if (elm === null) { return; }\n if (typeof style === 'string') {\n elm.style.cssText += '; '+style;\n\n if (style.indexOf('opacity') !== -1) {\n this.setOpacity(elm, style.match(/opacity:\\s*(\\d?\\.?\\d*)/)[1]);\n }\n }\n else {\n for (var prop in style) {\n if (style.hasOwnProperty(prop)){\n if (prop === 'opacity') {\n this.setOpacity(elm, style[prop]);\n }\n else if (prop === 'float' || prop === 'cssFloat') {\n if (typeof elm.style.styleFloat === 'undefined') {\n elm.style.cssFloat = style[prop];\n }\n else {\n elm.style.styleFloat = style[prop];\n }\n } else {\n elm.style[prop] = style[prop];\n }\n }\n }\n }\n },\n\n\n /**\n * Shows an element.\n * Internally it unsets the display property of an element. You can force a specific display property using forceDisplayProperty\n *\n * @method show\n * @param {DOMElement|String} elm DOM element or element id\n * @param {String} [forceDisplayProperty] Css display property to apply on show\n * @sample Ink_Dom_Css_show.html \n */\n show: function(elm, forceDisplayProperty) {\n elm = Ink.i(elm);\n if (elm !== null) {\n elm.style.display = (forceDisplayProperty) ? forceDisplayProperty : '';\n }\n },\n\n /**\n * Hides an element.\n *\n * @method hide\n * @param {DOMElement|String} elm DOM element or element id\n * @sample Ink_Dom_Css_hide.html \n */\n hide: function(elm) {\n elm = Ink.i(elm);\n if (elm !== null) {\n elm.style.display = 'none';\n }\n },\n\n /**\n * Shows or hides an element.\n * If the show parameter is true, it shows the element. Otherwise, hides it.\n *\n * @method showHide\n * @param {DOMElement|String} elm DOM element or element id\n * @param {boolean} [show]=false Whether to show or hide `elm`.\n * @sample Ink_Dom_Css_showHide.html \n */\n showHide: function(elm, show) {\n elm = Ink.i(elm);\n if (elm) {\n elm.style.display = show ? '' : 'none';\n }\n },\n\n /**\n * Toggles an element visibility.\n * \n * @method toggle\n * @param {DOMElement|String} elm DOM element or element id\n * @param {Boolean} forceShow Forces showing if element is hidden\n * @sample Ink_Dom_Css_toggle.html \n */\n toggle: function(elm, forceShow) {\n elm = Ink.i(elm);\n if (elm !== null) {\n if (typeof forceShow !== 'undefined') {\n if (forceShow === true) {\n this.show(elm);\n } else {\n this.hide(elm);\n }\n } else {\n if (this.getStyle(elm,'display').toLowerCase() === 'none') {\n this.show(elm);\n }\n else {\n this.hide(elm);\n }\n }\n }\n },\n\n _getRefTag: function(head){\n if (head.firstElementChild) {\n return head.firstElementChild;\n }\n\n for (var child = head.firstChild; child; child = child.nextSibling){\n if (child.nodeType === 1){\n return child;\n }\n }\n return null;\n },\n\n /**\n * Injects style tags with rules to the page.\n *\n * @method appendStyleTag\n * @param {String} selector The css selector for the rule\n * @param {String} style The content of the style rule\n * @param {Object} options Options for the tag\n * @param {String} [options.type]='text/css' File type\n * @param {Boolean} [options.force]=false If true, the style tag will be appended to end of head\n * \n * @sample Ink_Dom_Css_appendStyleTag.html \n */\n appendStyleTag: function(selector, style, options){\n options = Ink.extendObj({\n type: 'text/css',\n force: false\n }, options || {});\n\n var styles = document.getElementsByTagName(\"style\"),\n oldStyle = false, setStyle = true, i, l;\n\n for (i=0, l=styles.length; i= 0) {\n setStyle = false;\n }\n }\n\n if (setStyle) {\n var defStyle = document.createElement(\"style\"),\n head = document.getElementsByTagName(\"head\")[0],\n refTag = false, styleStr = '';\n\n defStyle.type = options.type;\n\n styleStr += selector +\" {\";\n styleStr += style;\n styleStr += \"} \";\n\n if (typeof defStyle.styleSheet !== \"undefined\") {\n defStyle.styleSheet.cssText = styleStr;\n } else {\n defStyle.appendChild(document.createTextNode(styleStr));\n }\n\n if (options.force){\n head.appendChild(defStyle);\n } else {\n refTag = this._getRefTag(head);\n if (refTag){\n head.insertBefore(defStyle, refTag);\n }\n }\n }\n },\n\n /**\n * Injects an external link tag.\n * This method add a stylesheet to the head of a page\n *\n * @method appendStylesheet\n * @param {String} path File path\n * @param {Object} options Options for the tag\n * @param {String} [options.media]='screen' Media type\n * @param {String} [options.type]='text/css' File type\n * @param {Boolean} [options.force]=false If true, tag will be appended to end of head\n * @sample Ink_Dom_Css_appendStylesheet.html \n */\n appendStylesheet: function(path, options){\n options = Ink.extendObj({\n media: 'screen',\n type: 'text/css',\n force: false\n }, options || {});\n\n var refTag,\n style = document.createElement(\"link\"),\n head = document.getElementsByTagName(\"head\")[0];\n\n style.media = options.media;\n style.type = options.type;\n style.href = path;\n style.rel = \"Stylesheet\";\n\n if (options.force){\n head.appendChild(style);\n }\n else {\n refTag = this._getRefTag(head);\n if (refTag){\n head.insertBefore(style, refTag);\n }\n }\n },\n\n /**\n * Injects an external link tag.\n * Loads CSS via LINK element inclusion in HEAD (skips append if already there)\n *\n * Works similarly to appendStylesheet but:\n * supports optional callback which gets invoked once the CSS has been applied\n *\n * @method appendStylesheetCb\n * @param {String} cssURI URI of the CSS to load, if empty ignores and just calls back directly\n * @param {Function(cssURI)} [callback] optional callback which will be called once the CSS is loaded\n * @sample Ink_Dom_Css_appendStylesheetCb.html \n */\n _loadingCSSFiles: {},\n _loadedCSSFiles: {},\n appendStylesheetCb: function(url, callback) {\n if (!url) {\n return callback(url);\n }\n\n if (this._loadedCSSFiles[url]) {\n return callback(url);\n }\n\n var cbs = this._loadingCSSFiles[url];\n if (cbs) {\n return cbs.push(callback);\n }\n\n this._loadingCSSFiles[url] = [callback];\n\n var linkEl = document.createElement('link');\n linkEl.type = 'text/css';\n linkEl.rel = 'stylesheet';\n linkEl.href = url;\n\n var headEl = document.getElementsByTagName('head')[0];\n headEl.appendChild(linkEl);\n\n var imgEl = document.createElement('img');\n /*\n var _self = this;\n (function(_url) {\n imgEl.onerror = function() {\n //var url = this;\n var url = _url;\n _self._loadedCSSFiles[url] = true;\n var callbacks = _self._loadingCSSFiles[url];\n for (var i = 0, f = callbacks.length; i < f; ++i) {\n callbacks[i](url);\n }\n delete _self._loadingCSSFiles[url];\n };\n })(url);\n */\n imgEl.onerror = Ink.bindEvent(function(event, _url) {\n //var url = this;\n var url = _url;\n this._loadedCSSFiles[url] = true;\n var callbacks = this._loadingCSSFiles[url];\n for (var i = 0, f = callbacks.length; i < f; ++i) {\n callbacks[i](url);\n }\n delete this._loadingCSSFiles[url];\n }, this, url);\n imgEl.src = url;\n },\n\n /**\n * Converts decimal to hexadecimal values\n * Useful to convert colors to their hexadecimal representation.\n *\n * @method decToHex\n * @param {String} dec Either a single decimal value, an rgb(r, g, b) string or an Object with r, g and b properties\n * @return {String} Hexadecimal value\n * @sample Ink_Dom_Css_decToHex.html \n */\n decToHex: function(dec) {\n var normalizeTo2 = function(val) {\n if (val.length === 1) {\n val = '0' + val;\n }\n val = val.toUpperCase();\n return val;\n };\n\n if (typeof dec === 'object') {\n var rDec = normalizeTo2(parseInt(dec.r, 10).toString(16));\n var gDec = normalizeTo2(parseInt(dec.g, 10).toString(16));\n var bDec = normalizeTo2(parseInt(dec.b, 10).toString(16));\n return rDec+gDec+bDec;\n }\n else {\n dec += '';\n var rgb = dec.match(/\\((\\d+),\\s?(\\d+),\\s?(\\d+)\\)/);\n if (rgb !== null) {\n return normalizeTo2(parseInt(rgb[1], 10).toString(16)) +\n normalizeTo2(parseInt(rgb[2], 10).toString(16)) +\n normalizeTo2(parseInt(rgb[3], 10).toString(16));\n }\n else {\n return normalizeTo2(parseInt(dec, 10).toString(16));\n }\n }\n },\n\n /**\n * Converts hexadecimal values to decimal\n * Useful to use with CSS colors\n *\n * @method hexToDec\n * @param {String} hex hexadecimal Value with 6, 3, 2 or 1 characters\n * @return {Number} Object with properties r, g, b if length of number is >= 3 or decimal value instead.\n * @sample Ink_Dom_Css_hexToDec.html \n */\n hexToDec: function(hex){\n if (hex.indexOf('#') === 0) {\n hex = hex.substr(1);\n }\n if (hex.length === 6) { // will return object RGB\n return {\n r: parseInt(hex.substr(0,2), 16),\n g: parseInt(hex.substr(2,2), 16),\n b: parseInt(hex.substr(4,2), 16)\n };\n }\n else if (hex.length === 3) { // will return object RGB\n return {\n r: parseInt(hex.charAt(0) + hex.charAt(0), 16),\n g: parseInt(hex.charAt(1) + hex.charAt(1), 16),\n b: parseInt(hex.charAt(2) + hex.charAt(2), 16)\n };\n }\n else if (hex.length <= 2) { // will return int\n return parseInt(hex, 16);\n }\n },\n\n /**\n * Get a single property from a stylesheet.\n * Use this to obtain the value of a CSS property (searched from loaded CSS documents)\n *\n * @method getPropertyFromStylesheet\n * @param {String} selector a CSS rule. must be an exact match\n * @param {String} property a CSS property\n * @return {String} value of the found property, or null if it wasn't matched\n */\n getPropertyFromStylesheet: function(selector, property) {\n var rule = this.getRuleFromStylesheet(selector);\n if (rule) {\n return rule.style[property];\n }\n return null;\n },\n\n getPropertyFromStylesheet2: function(selector, property) {\n var rules = this.getRulesFromStylesheet(selector);\n /*\n rules.forEach(function(rule) {\n var x = rule.style[property];\n if (x !== null && x !== undefined) {\n return x;\n }\n });\n */\n var x;\n for(var i=0, t=rules.length; i < t; i++) {\n x = rules[i].style[property];\n if (x !== null && x !== undefined) {\n return x;\n }\n }\n return null;\n },\n\n getRuleFromStylesheet: function(selector) {\n var sheet, rules, ri, rf, rule;\n var s = document.styleSheets;\n if (!s) {\n return null;\n }\n\n for (var si = 0, sf = document.styleSheets.length; si < sf; ++si) {\n sheet = document.styleSheets[si];\n rules = sheet.rules ? sheet.rules : sheet.cssRules;\n if (!rules) { return null; }\n\n for (ri = 0, rf = rules.length; ri < rf; ++ri) {\n rule = rules[ri];\n if (!rule.selectorText) { continue; }\n if (rule.selectorText === selector) {\n return rule;\n }\n }\n }\n\n return null;\n },\n\n getRulesFromStylesheet: function(selector) {\n var res = [];\n var sheet, rules, ri, rf, rule;\n var s = document.styleSheets;\n if (!s) { return res; }\n\n for (var si = 0, sf = document.styleSheets.length; si < sf; ++si) {\n sheet = document.styleSheets[si];\n rules = sheet.rules ? sheet.rules : sheet.cssRules;\n if (!rules) {\n return null;\n }\n\n for (ri = 0, rf = rules.length; ri < rf; ++ri) {\n rule = rules[ri];\n if (!rule.selectorText) { continue; }\n if (rule.selectorText === selector) {\n res.push(rule);\n }\n }\n }\n\n return res;\n },\n\n getPropertiesFromRule: function(selector) {\n var rule = this.getRuleFromStylesheet(selector);\n var props = {};\n var prop, i, f;\n\n /*if (typeof rule.style.length === 'snumber') {\n for (i = 0, f = rule.style.length; i < f; ++i) {\n prop = this._camelCase( rule.style[i] );\n props[prop] = rule.style[prop];\n }\n }\n else { // HANDLES IE 8, FIREFOX RULE JOINING... */\n rule = rule.style.cssText;\n var parts = rule.split(';');\n var steps, val, pre, pos;\n for (i = 0, f = parts.length; i < f; ++i) {\n if (parts[i].charAt(0) === ' ') {\n parts[i] = parts[i].substring(1);\n }\n steps = parts[i].split(':');\n prop = this._camelCase( steps[0].toLowerCase() );\n val = steps[1];\n if (val) {\n val = val.substring(1);\n\n if (prop === 'padding' || prop === 'margin' || prop === 'borderWidth') {\n\n if (prop === 'borderWidth') { pre = 'border'; pos = 'Width'; }\n else { pre = prop; pos = ''; }\n\n if (val.indexOf(' ') !== -1) {\n val = val.split(' ');\n props[pre + 'Top' + pos] = val[0];\n props[pre + 'Bottom'+ pos] = val[0];\n props[pre + 'Left' + pos] = val[1];\n props[pre + 'Right' + pos] = val[1];\n }\n else {\n props[pre + 'Top' + pos] = val;\n props[pre + 'Bottom'+ pos] = val;\n props[pre + 'Left' + pos] = val;\n props[pre + 'Right' + pos] = val;\n }\n }\n else if (prop === 'borderRadius') {\n if (val.indexOf(' ') !== -1) {\n val = val.split(' ');\n props.borderTopLeftRadius = val[0];\n props.borderBottomRightRadius = val[0];\n props.borderTopRightRadius = val[1];\n props.borderBottomLeftRadius = val[1];\n }\n else {\n props.borderTopLeftRadius = val;\n props.borderTopRightRadius = val;\n props.borderBottomLeftRadius = val;\n props.borderBottomRightRadius = val;\n }\n }\n else {\n props[prop] = val;\n }\n }\n }\n //}\n //console.log(props);\n\n return props;\n },\n\n /**\n * Change the font size of elements.\n * Changes the font size of the elements which match the given CSS rule\n * For this function to work, the CSS file must be in the same domain than the host page, otherwise JS can't access it.\n *\n * @method changeFontSize\n * @param {String} selector CSS selector rule\n * @param {Number} delta Number of pixels to change on font-size\n * @param {String} [op] Supported operations are '+' and '*'. defaults to '+'\n * @param {Number} [minVal] If result gets smaller than minVal, change does not occurr\n * @param {Number} [maxVal] If result gets bigger than maxVal, change does not occurr\n */\n changeFontSize: function(selector, delta, op, minVal, maxVal) {\n var that = this;\n Ink.requireModules(['Ink.Dom.Selector_1'], function(Selector) {\n var e;\n if (typeof selector !== 'string') { e = '1st argument must be a CSS selector rule.'; }\n else if (typeof delta !== 'number') { e = '2nd argument must be a number.'; }\n else if (op !== undefined && op !== '+' && op !== '*') { e = '3rd argument must be one of \"+\", \"*\".'; }\n else if (minVal !== undefined && (typeof minVal !== 'number' || minVal <= 0)) { e = '4th argument must be a positive number.'; }\n else if (maxVal !== undefined && (typeof maxVal !== 'number' || maxVal < maxVal)) { e = '5th argument must be a positive number greater than minValue.'; }\n if (e) { throw new TypeError(e); }\n\n var val, el, els = Selector.select(selector);\n if (minVal === undefined) { minVal = 1; }\n op = (op === '*') ? function(a,b){return a*b;} : function(a,b){return a+b;};\n for (var i = 0, f = els.length; i < f; ++i) {\n el = els[i];\n val = parseFloat( that.getStyle(el, 'fontSize'));\n val = op(val, delta);\n if (val < minVal) { continue; }\n if (typeof maxVal === 'number' && val > maxVal) { continue; }\n el.style.fontSize = val + 'px';\n }\n });\n }\n\n };\n\n return Css;\n\n});\n","/**\n * DOM Traversal and manipulation\n * @module Ink.Dom.Element_1\n * @version 1\n */\n\nInk.createModule('Ink.Dom.Element', 1, [], function() {\n\n 'use strict';\n\n var createContextualFragmentSupport = (\n typeof document.createRange === 'function' &&\n typeof window.Range.prototype.createContextualFragment === 'function');\n\n var deleteThisTbodyToken = 'Ink.Dom.Element tbody: ' + Math.random();\n var browserCreatesTbodies = (function () {\n var div = document.createElement('div');\n div.innerHTML = '';\n return div.getElementsByTagName('tbody').length !== 0;\n }());\n\n function rect(elem){\n var dimensions = {};\n try {\n dimensions = elem.getBoundingClientRect();\n } catch(e){\n dimensions = { top: elem.offsetTop, left: elem.offsetLeft };\n }\n return dimensions;\n }\n\n /**\n * @namespace Ink.Dom.Element_1\n */\n\n var InkElement = {\n\n /**\n * Checks if something is a DOM Element.\n *\n * @method isDOMElement\n * @static\n * @param {Mixed} o The object to be checked.\n * @return {Boolean} True if it's a valid DOM Element.\n * @example\n * var el = Ink.s('#element');\n * if( InkElement.isDOMElement( el ) === true ){\n * // It is a DOM Element.\n * } else {\n * // It is NOT a DOM Element.\n * }\n */\n isDOMElement: function(o) {\n return o !== null && typeof o === 'object' && 'nodeType' in o && o.nodeType === 1;\n },\n\n /**\n * Shortcut for `document.getElementById`\n *\n * @method get\n * @param {String|DOMElement} elm Either an ID of an element, or an element.\n * @return {DOMElement|null} The DOM element with the given id or null when it was not found\n * @sample Ink_Dom_Element_1_get.html\n */\n get: function(elm) {\n if(typeof elm !== 'undefined') {\n if(typeof elm === 'string') {\n return document.getElementById(elm);\n }\n return elm;\n }\n return null;\n },\n\n /**\n * Creates a DOM element\n *\n * @method create\n * @param {String} tag tag name\n * @param {Object} properties object with properties to be set on the element. You can also call other functions in Ink.Dom.Element like this\n * @sample Ink_Dom_Element_1_create.html\n */\n create: function(tag, properties) {\n var el = document.createElement(tag);\n //Ink.extendObj(el, properties);\n for(var property in properties) {\n if(properties.hasOwnProperty(property)) {\n if (property in InkElement) {\n InkElement[property](el, properties[property]);\n } else {\n if(property === 'className' || property === 'class') {\n el.className = properties.className || properties['class'];\n } else {\n el.setAttribute(property, properties[property]);\n }\n }\n }\n }\n return el;\n },\n\n /**\n * Removes a DOM Element\n *\n * @method remove\n * @param {DOMElement} elm The element to remove\n * @sample Ink_Dom_Element_1_remove.html\n */\n remove: function(el) {\n el = Ink.i(el);\n var parEl;\n if (el && (parEl = el.parentNode)) {\n parEl.removeChild(el);\n }\n },\n\n /**\n * Scrolls the window to an element\n *\n * @method scrollTo\n * @param {DOMElement|String} elm Element where to scroll\n * @sample Ink_Dom_Element_1_scrollTo.html\n */\n scrollTo: function(elm) {\n elm = InkElement.get(elm);\n if(elm) {\n if (elm.scrollIntoView) {\n return elm.scrollIntoView();\n }\n\n var elmOffset = {},\n elmTop = 0, elmLeft = 0;\n\n do {\n elmTop += elm.offsetTop || 0;\n elmLeft += elm.offsetLeft || 0;\n\n elm = elm.offsetParent;\n } while(elm);\n\n elmOffset = {x: elmLeft, y: elmTop};\n\n window.scrollTo(elmOffset.x, elmOffset.y);\n }\n },\n\n /**\n * Gets the top offset of an element\n *\n * @method offsetTop\n * @uses Ink.Dom.Browser\n *\n * @param {DOMElement|String} elm Target element\n * @return {Number} Offset from the target element to the top of the document\n * @sample Ink_Dom_Element_1_offsetTop.html\n */\n offsetTop: function(elm) {\n return InkElement.offset(elm)[1];\n },\n\n /**\n * Gets the left offset of an element\n *\n * @method offsetLeft\n * @uses Ink.Dom.Browser\n *\n * @param {DOMElement|String} elm Target element\n * @return {Number} Offset from the target element to the left of the document\n * @sample Ink_Dom_Element_1_offsetLeft.html\n */\n offsetLeft: function(elm) {\n return InkElement.offset(elm)[0];\n },\n\n /**\n * Gets the relative offset of an element\n *\n * @method positionedOffset\n * @param {DOMElement|String} elm Target element\n * @return {Array} Array with the element offsetleft and offsettop relative to the closest positioned ancestor\n * @sample Ink_Dom_Element_1_positionedOffset.html\n */\n positionedOffset: function(element) {\n var valueTop = 0, valueLeft = 0;\n element = InkElement.get(element);\n do {\n valueTop += element.offsetTop || 0;\n valueLeft += element.offsetLeft || 0;\n element = element.offsetParent;\n if (element) {\n if (element.tagName.toLowerCase() === 'body') { break; }\n\n var value = element.style.position;\n if (!value && element.currentStyle) {\n value = element.currentStyle.position;\n }\n if ((!value || value === 'auto') && typeof getComputedStyle !== 'undefined') {\n var css = getComputedStyle(element, null);\n value = css ? css.position : null;\n }\n if (value === 'relative' || value === 'absolute') { break; }\n }\n } while (element);\n return [valueLeft, valueTop];\n },\n\n /**\n * Gets the cumulative offset for an element\n *\n * Returns the top left position of the element on the page\n *\n * @method offset\n * @uses Ink.Dom.Browser\n *\n * @method offset\n * @param {DOMElement|String} elm Target element\n * @return {[Number, Number]} Array with pixel distance from the target element to the top left corner of the document\n * @sample Ink_Dom_Element_1_offset.html\n */\n offset: function(el) {\n /*jshint boss:true */\n el = Ink.i(el);\n var res = [0, 0];\n var doc = el.ownerDocument,\n docElem = doc.documentElement,\n box = rect(el),\n body = doc.body,\n clientTop = docElem.clientTop || body.clientTop || 0,\n clientLeft = docElem.clientLeft || body.clientLeft || 0,\n scrollTop = doc.pageYOffset || docElem.scrollTop || body.scrollTop,\n scrollLeft = doc.pageXOffset || docElem.scrollLeft || body.scrollLeft,\n top = box.top + scrollTop - clientTop,\n left = box.left + scrollLeft - clientLeft;\n res = [left, top];\n return res;\n },\n\n /**\n * Gets the scroll of the element\n *\n * @method scroll\n * @param {DOMElement|String} [elm] Target element or document.body\n * @returns {Array} offset values for x and y scroll\n * @sample Ink_Dom_Element_1_scroll.html\n */\n scroll: function(elm) {\n elm = elm ? Ink.i(elm) : document.body;\n return [\n ( ( !window.pageXOffset ) ? elm.scrollLeft : window.pageXOffset ),\n ( ( !window.pageYOffset ) ? elm.scrollTop : window.pageYOffset )\n ];\n },\n\n _getPropPx: function(cs, prop) {\n var n, c;\n var val = cs.getPropertyValue ? cs.getPropertyValue(prop) : cs[prop];\n if (!val) { n = 0; }\n else {\n c = val.indexOf('px');\n if (c === -1) { n = 0; }\n else {\n n = parseFloat(val, 10);\n }\n }\n\n //console.log([prop, ' \"', val, '\" ', n].join(''));\n\n return n;\n },\n\n /**\n * Alias for offset()\n *\n * @method offset2\n * @deprecated Kept for historic reasons. Use offset() instead.\n */\n offset2: function(el) {\n return InkElement.offset(el);\n },\n\n /**\n * Checks if an element has an attribute\n *\n * @method hasAttribute\n * @param {Object} elm Target element\n * @param {String} attr Attribute name\n * @return {Boolean} Boolean based on existance of attribute\n * @sample Ink_Dom_Element_1_hasAttribute.html\n */\n hasAttribute: function(elm, attr){\n elm = Ink.i(elm);\n return elm.hasAttribute ? elm.hasAttribute(attr) : !!elm.getAttribute(attr);\n },\n /**\n * Inserts an element right after another\n *\n * @method insertAfter\n * @param {DOMElement} newElm Element to be inserted\n * @param {DOMElement|String} targetElm Key element\n * @sample Ink_Dom_Element_1_insertAfter.html\n */\n insertAfter: function(newElm, targetElm) {\n /*jshint boss:true */\n if (targetElm = InkElement.get(targetElm)) {\n if (targetElm.nextSibling !== null) {\n targetElm.parentNode.insertBefore(newElm, targetElm.nextSibling);\n } else {\n targetElm.parentNode.appendChild(newElm);\n }\n }\n },\n\n /**\n * Inserts an element before another\n *\n * @method insertBefore\n * @param {DOMElement} newElm Element to be inserted\n * @param {DOMElement|String} targetElm Key element\n * @sample Ink_Dom_Element_1_insertBefore.html\n */\n insertBefore: function (newElm, targetElm) {\n /*jshint boss:true */\n if ( (targetElm = InkElement.get(targetElm)) ) {\n targetElm.parentNode.insertBefore(newElm, targetElm);\n }\n },\n\n /**\n * Inserts an element as the first child of another\n *\n * @method insertTop\n * @param {DOMElement} newElm Element to be inserted\n * @param {DOMElement|String} targetElm Key element\n * @sample Ink_Dom_Element_1_insertTop.html\n */\n insertTop: function(newElm,targetElm) {\n /*jshint boss:true */\n if (targetElm = InkElement.get(targetElm)) {\n if (targetElm.firstChild) {\n targetElm.insertBefore(newElm, targetElm.firstChild);\n } else {\n targetElm.appendChild(newElm);\n }\n }\n },\n\n /**\n * Inserts an element as the last child of another\n *\n * @method insertBottom\n * @param {DOMElement} newElm Element to be inserted\n * @param {DOMElement|String} targetElm Key element\n * @sample Ink_Dom_Element_1_insertBottom.html\n */\n insertBottom: function(newElm, targetElm) {\n /*jshint boss:true */\n targetElm = Ink.i(targetElm);\n targetElm.appendChild(newElm);\n },\n\n /**\n * Retrieves textContent from node\n *\n * @method textContent\n * @param {DOMNode} node Where to retreive text from. Can be any node type.\n * @return {String} the text\n * @sample Ink_Dom_Element_1_textContent.html\n */\n textContent: function(node){\n node = Ink.i(node);\n var text, k, cs, m;\n\n switch(node && node.nodeType) {\n case 9: /*DOCUMENT_NODE*/\n // IE quirks mode does not have documentElement\n return InkElement.textContent(node.documentElement || node.body && node.body.parentNode || node.body);\n\n case 1: /*ELEMENT_NODE*/\n text = node.innerText;\n if (typeof text !== 'undefined') {\n return text;\n }\n /* falls through */\n case 11: /*DOCUMENT_FRAGMENT_NODE*/\n text = node.textContent;\n if (typeof text !== 'undefined') {\n return text;\n }\n\n if (node.firstChild === node.lastChild) {\n // Common case: 0 or 1 children\n return InkElement.textContent(node.firstChild);\n }\n\n text = [];\n cs = node.childNodes;\n for (k = 0, m = cs.length; k < m; ++k) {\n text.push( InkElement.textContent( cs[k] ) );\n }\n return text.join('');\n\n case 3: /*TEXT_NODE*/\n case 4: /*CDATA_SECTION_NODE*/\n return node.nodeValue;\n }\n return '';\n },\n\n /**\n * Replaces text content of a DOM Node\n * This method removes any child node previously present\n *\n * @method setTextContent\n * @param {DOMNode} node node Target node where the text will be added.\n * @param {String} text text Text to be added on the node.\n * @sample Ink_Dom_Element_1_setTextContent.html\n */\n setTextContent: function(node, text){\n node = Ink.i(node);\n switch(node && node.nodeType)\n {\n case 1: /*ELEMENT_NODE*/\n if ('innerText' in node) {\n node.innerText = text;\n break;\n }\n /* falls through */\n case 11: /*DOCUMENT_FRAGMENT_NODE*/\n if ('textContent' in node) {\n node.textContent = text;\n break;\n }\n /* falls through */\n case 9: /*DOCUMENT_NODE*/\n while(node.firstChild) {\n node.removeChild(node.firstChild);\n }\n if (text !== '') {\n var doc = node.ownerDocument || node;\n node.appendChild(doc.createTextNode(text));\n }\n break;\n\n case 3: /*TEXT_NODE*/\n case 4: /*CDATA_SECTION_NODE*/\n node.nodeValue = text;\n break;\n }\n },\n\n /**\n * Checks if an element is a link\n *\n * @method isLink\n * @param {DOMNode} node Node to check if it's link\n * @return {Boolean}\n * @sample Ink_Dom_Element_1_isLink.html\n */\n isLink: function(element){\n var b = element && element.nodeType === 1 && ((/^a|area$/i).test(element.tagName) ||\n element.hasAttributeNS && element.hasAttributeNS('http://www.w3.org/1999/xlink','href'));\n return !!b;\n },\n\n /**\n * Checks if a node is an ancestor of another\n *\n * @method isAncestorOf\n * @param {DOMNode} ancestor Ancestor node\n * @param {DOMNode} node Descendant node\n * @return {Boolean}\n * @sample Ink_Dom_Element_1_isAncestorOf.html\n */\n isAncestorOf: function(ancestor, node){\n /*jshint boss:true */\n if (!node || !ancestor) {\n return false;\n }\n if (node.compareDocumentPosition) {\n return (ancestor.compareDocumentPosition(node) & 0x10) !== 0;/*Node.DOCUMENT_POSITION_CONTAINED_BY*/\n }\n while (node = node.parentNode){\n if (node === ancestor){\n return true;\n }\n }\n return false;\n },\n\n /**\n * Checks if a node is descendant of another\n *\n * @method descendantOf\n * @param {DOMNode} node The ancestor\n * @param {DOMNode} descendant The descendant\n * @return {Boolean} true if 'descendant' is descendant of 'node'\n * @sample Ink_Dom_Element_1_descendantOf.html\n */\n descendantOf: function(node, descendant){\n return node !== descendant && InkElement.isAncestorOf(node, descendant);\n },\n\n /**\n * Get first child element of another\n * @method firstElementChild\n * @param {DOMElement} elm Parent node\n * @return {DOMElement} the Element child\n * @sample Ink_Dom_Element_1_firstElementChild.html\n */\n firstElementChild: function(elm){\n if(!elm) {\n return null;\n }\n if ('firstElementChild' in elm) {\n return elm.firstElementChild;\n }\n var child = elm.firstChild;\n while(child && child.nodeType !== 1) {\n child = child.nextSibling;\n }\n return child;\n },\n\n /**\n * Get the last child element of another\n * @method lastElementChild\n * @param {DOMElement} elm Parent node\n * @return {DOMElement} the Element child\n * @sample Ink_Dom_Element_1_lastElementChild.html\n */\n lastElementChild: function(elm){\n if(!elm) {\n return null;\n }\n if ('lastElementChild' in elm) {\n return elm.lastElementChild;\n }\n var child = elm.lastChild;\n while(child && child.nodeType !== 1) {\n child = child.previousSibling;\n }\n return child;\n },\n\n /**\n * Get the first sibling element after the node\n *\n * @method nextElementSibling\n * @param {DOMNode} node The current node\n * @return {DOMElement|Null} The first sibling element after node or null if none is found\n * @sample Ink_Dom_Element_1_nextElementSibling.html \n */\n nextElementSibling: function(node){\n var sibling = null;\n\n if(!node){ return sibling; }\n\n if(\"nextElementSibling\" in node){\n return node.nextElementSibling;\n } else {\n sibling = node.nextSibling;\n\n // 1 === Node.ELEMENT_NODE\n while(sibling && sibling.nodeType !== 1){\n sibling = sibling.nextSibling;\n }\n\n return sibling;\n }\n },\n\n /**\n * Get the first sibling element before the node\n *\n * @method previousElementSibling\n * @param {DOMNode} node The current node\n * @return {DOMElement|Null} The first element sibling before node or null if none is found\n * @sample Ink_Dom_Element_1_previousElementSibling.html \n */\n previousElementSibling: function(node){\n var sibling = null;\n\n if(!node){ return sibling; }\n\n if(\"previousElementSibling\" in node){\n return node.previousElementSibling;\n } else {\n sibling = node.previousSibling;\n\n // 1 === Node.ELEMENT_NODE\n while(sibling && sibling.nodeType !== 1){\n sibling = sibling.previousSibling;\n }\n\n return sibling;\n }\n },\n\n /**\n * Get an element's width in pixels.\n *\n * @method elementWidth\n * @param {DOMElement|String} element Target DOM element or target ID\n * @return {Number} The element's width\n * @sample Ink_Dom_Element_1_elementWidth.html \n */\n elementWidth: function(element) {\n if(typeof element === \"string\") {\n element = document.getElementById(element);\n }\n return element.offsetWidth;\n },\n\n /**\n * Get an element's height in pixels.\n *\n * @method elementHeight\n * @param {DOMElement|String} element DOM element or target ID\n * @return {Number} The element's height\n * @sample Ink_Dom_Element_1_elementHeight.html \n */\n elementHeight: function(element) {\n if(typeof element === \"string\") {\n element = document.getElementById(element);\n }\n return element.offsetHeight;\n },\n\n /**\n * Deprecated. Alias for offsetLeft()\n *\n * @method elementLeft\n * @param {DOMElement|String} element DOM element or target ID\n * @return {Number} Element's left position\n */\n elementLeft: function(element) {\n return InkElement.offsetLeft(element);\n },\n\n /**\n * Deprecated. Alias for offsetTop()\n *\n * @method elementTop\n * @param {DOMElement|string} element Target DOM element or target ID\n * @return {Number} element's top position\n */\n elementTop: function(element) {\n return InkElement.offsetTop(element);\n },\n\n /**\n * Get an element's dimensions in pixels.\n *\n * @method elementDimensions\n * @param {DOMElement|string} element DOM element or target ID\n * @return {Array} Array with element's width and height\n * @sample Ink_Dom_Element_1_elementDimensions.html \n */\n elementDimensions: function(element) {\n element = Ink.i(element);\n return [element.offsetWidth, element.offsetHeight];\n },\n\n /**\n * Get the outer dimensions of an element in pixels.\n *\n * @method outerDimensions\n * @uses Ink.Dom.Css\n *\n * @param {DOMElement} element Target element\n * @return {Array} Array with element width and height.\n * @sample Ink_Dom_Element_1_outerDimensions.html \n */\n outerDimensions: function (element) {\n var bbox = rect(element);\n\n var Css = Ink.getModule('Ink.Dom.Css_1');\n var getStyle = Ink.bindMethod(Css, 'getStyle', element);\n\n return [\n bbox.right - bbox.left + parseFloat(getStyle('marginLeft') || 0) + parseFloat(getStyle('marginRight') || 0), // w\n bbox.bottom - bbox.top + parseFloat(getStyle('marginTop') || 0) + parseFloat(getStyle('marginBottom') || 0) // h\n ];\n },\n\n /**\n * Check if an element is inside the viewport\n *\n * @method inViewport\n * @param {DOMElement} element DOM Element\n * @param {Object} [options] Options object. If you pass a Boolean value here, it is interpreted as `options.partial`\n * @param {Boolean} [options.partial]=false Return `true` even if it is only partially visible.\n * @param {Number} [options.margin]=0 Consider a margin all around the viewport with `opts.margin` width a dead zone.\n * @return {Boolean}\n * @sample Ink_Dom_Element_1_inViewport.html \n */\n inViewport: function (element, opts) {\n var dims = rect(Ink.i(element));\n if (typeof opts === 'boolean') {\n opts = {partial: opts, margin: 0};\n }\n opts = Ink.extendObj({ partial: false, margin: 0}, opts || {});\n if (opts.partial) {\n return dims.bottom + opts.margin > 0 && // from the top\n dims.left - opts.margin < InkElement.viewportWidth() && // from the right\n dims.top - opts.margin < InkElement.viewportHeight() && // from the bottom\n dims.right + opts.margin > 0; // from the left\n } else {\n return dims.top + opts.margin > 0 && // from the top\n dims.right - opts.margin < InkElement.viewportWidth() && // from the right\n dims.bottom - opts.margin < InkElement.viewportHeight() && // from the bottom\n dims.left + opts.margin > 0; // from the left\n }\n },\n\n /**\n * Check if an element is hidden.\n * Taken from Mootools Element extras ( https://gist.github.com/cheeaun/73342 )\n * Does not take into account visibility:hidden\n * @method isHidden\n * @param {DOMElement} element Element to check\n * @return {Boolean}\n * @sample Ink_Dom_Element_1_isHidden.html \n */\n\n isHidden: function (element) {\n var w = element.offsetWidth, \n h = element.offsetHeight,\n force = (element.tagName.toLowerCase() === 'tr');\n\n var Css = Ink.getModule('Ink.Dom.Css_1');\n\n return (w===0 && h===0 && !force) ? true :\n (w!==0 && h!==0 && !force) ? false :\n Css.getStyle(element, 'display').toLowerCase() === 'none';\n },\n\n /**\n * Check if an element is visible \n *\n * @method isVisible\n * @uses isHidden\n * @param {DOMElement} element Element to check\n * @return {Boolean}\n * @sample Ink_Dom_Element_1_isVisible.html \n */\n\n isVisible: function (element) {\n return !this.isHidden(element);\n },\n\n /**\n * Clones an element's position to another\n *\n * @method clonePosition\n * @param {DOMElement} cloneTo element to be position cloned\n * @param {DOMElement} cloneFrom element to get the cloned position\n * @return {DOMElement} The element with positionClone\n * @sample Ink_Dom_Element_1_clonePosition.html \n */\n clonePosition: function(cloneTo, cloneFrom){\n var pos = InkElement.offset(cloneFrom);\n cloneTo.style.left = pos[0]+'px';\n cloneTo.style.top = pos[1]+'px';\n\n return cloneTo;\n },\n\n /**\n * Text-overflow: ellipsis emulation\n * Slices off a piece of text at the end of the element and adds the ellipsis so all text fits inside.\n *\n * @method ellipsizeText\n * @param {DOMElement} element Element to modify text content\n * @param {String} [ellipsis]='\\u2026' String to append to the chopped text\n */\n ellipsizeText: function(element/*, ellipsis*/){\n if ((element = Ink.i(element))) {\n element.style.overflow = 'hidden';\n element.style.whiteSpace = 'nowrap';\n element.style.textOverflow = 'ellipsis';\n }\n },\n\n /**\n * Finds the closest ancestor element matching your test function\n * \n *\n * @method findUpwardsHaving\n * @param {DOMElement} element Element to base the search from\n * @param {Function} boolTest Testing function\n * @return {DOMElement|false} The matched element or false if did not match\n * @sample Ink_Dom_Element_1_findUpwardsHaving.html \n */\n findUpwardsHaving: function(element, boolTest) {\n while (element && element.nodeType === 1) {\n if (boolTest(element)) {\n return element;\n }\n element = element.parentNode;\n }\n return false;\n },\n\n /**\n * Finds the closest ancestor by class name\n *\n * @method findUpwardsByClass\n * @uses findUpwardsHaving\n * @param {DOMElement} element Element to base the search from\n * @param {String} className Class name to search\n * @returns {DOMElement|false} The matched element or false if did not match\n * @sample Ink_Dom_Element_1_findUpwardsByClass.html \n */\n findUpwardsByClass: function(element, className) {\n var re = new RegExp(\"(^|\\\\s)\" + className + \"(\\\\s|$)\");\n var tst = function(el) {\n var cls = el.className;\n return cls && re.test(cls);\n };\n return InkElement.findUpwardsHaving(element, tst);\n },\n\n /**\n * Finds the closest ancestor by tag name\n *\n * @method findUpwardsByTag\n * @param {DOMElement} element Element to base the search from\n * @param {String} tag Tag to search\n * @returns {DOMElement|false} the matched element or false if did not match\n * @sample Ink_Dom_Element_1_findUpwardsByTag.html \n */\n findUpwardsByTag: function(element, tag) {\n tag = tag.toUpperCase();\n var tst = function(el) {\n return el.nodeName && el.nodeName.toUpperCase() === tag;\n };\n return InkElement.findUpwardsHaving(element, tst);\n },\n\n /**\n * Finds the closest ancestor by id\n *\n * @method findUpwardsById\n * @param {HtmlElement} element Element to base the search from\n * @param {String} id ID to search\n * @returns {HtmlElement|false} The matched element or false if did not match\n * @sample Ink_Dom_Element_1_findUpwardsById.html \n */\n findUpwardsById: function(element, id) {\n var tst = function(el) {\n return el.id === id;\n };\n return InkElement.findUpwardsHaving(element, tst);\n },\n\n /**\n * Finds the closest ancestor by CSS selector\n *\n * @method findUpwardsBySelector\n * @param {HtmlElement} element Element to base the search from\n * @param {String} sel CSS selector\n * @returns {HtmlElement|false} The matched element or false if did not match\n * @sample Ink_Dom_Element_1_findUpwardsBySelector.html \n */\n findUpwardsBySelector: function(element, sel) {\n var Selector = Ink.getModule('Ink.Dom.Selector', '1');\n if (!Selector) {\n throw new Error('This method requires Ink.Dom.Selector');\n }\n var tst = function(el) {\n return Selector.matchesSelector(el, sel);\n };\n return InkElement.findUpwardsHaving(element, tst);\n },\n\n /**\n * Gets the trimmed text of an element\n *\n * @method getChildrenText\n * @param {DOMElement} el Element to base the search from\n * @param {Boolean} [removeIt] Flag to remove the text from the element\n * @return {String} Text found\n * @sample Ink_Dom_Element_1_getChildrenText.html \n */\n getChildrenText: function(el, removeIt) {\n var node,\n j,\n part,\n nodes = el.childNodes,\n jLen = nodes.length,\n text = '';\n\n if (!el) {\n return text;\n }\n\n for (j = 0; j < jLen; ++j) {\n node = nodes[j];\n if (!node) { continue; }\n if (node.nodeType === 3) { // TEXT NODE\n part = InkElement._trimString( String(node.data) );\n if (part.length > 0) {\n text += part;\n if (removeIt) { el.removeChild(node); }\n }\n else { el.removeChild(node); }\n }\n }\n\n return text;\n },\n\n /**\n * String trim implementation\n * Used by getChildrenText\n *\n * function _trimString\n * param {String} text\n * return {String} trimmed text\n */\n _trimString: function(text) {\n return (String.prototype.trim) ? text.trim() : text.replace(/^\\s*/, '').replace(/\\s*$/, '');\n },\n\n /**\n * Gets value of a select element\n *\n * @method getSelectValues\n * @param {DOMElement|String} select element\n * @return {Array} The selected values\n * @sample Ink_Dom_Element_1_getSelectValues.html \n */\n getSelectValues: function (select) {\n var selectEl = Ink.i(select);\n var values = [];\n for (var i = 0; i < selectEl.options.length; ++i) {\n values.push( selectEl.options[i].value );\n }\n return values;\n },\n\n\n /* used by fills */\n _normalizeData: function(data) {\n var d, data2 = [];\n for (var i = 0, f = data.length; i < f; ++i) {\n d = data[i];\n\n if (!(d instanceof Array)) { // if not array, wraps primitive twice: val -> [val, val]\n d = [d, d];\n }\n else if (d.length === 1) { // if 1 element array: [val] -> [val, val]\n d.push(d[0]);\n }\n data2.push(d);\n }\n return data2;\n },\n\n\n /**\n * Fills a select element with options\n *\n * @method fillSelect\n * @param {DOMElement|String} container Select element which will get filled\n * @param {Array} data Data to populate the component\n * @param {Boolean} [skipEmpty] Flag to skip empty option\n * @param {String|Number} [defaultValue] Initial selected value\n *\n * @sample Ink_Dom_Element_1_fillSelect.html \n */\n fillSelect: function(container, data, skipEmpty, defaultValue) {\n var containerEl = Ink.i(container);\n if (!containerEl) { return; }\n\n containerEl.innerHTML = '';\n var d, optionEl;\n\n if (!skipEmpty) {\n // add initial empty option\n optionEl = document.createElement('option');\n optionEl.setAttribute('value', '');\n containerEl.appendChild(optionEl);\n }\n\n data = InkElement._normalizeData(data);\n\n for (var i = 0, f = data.length; i < f; ++i) {\n d = data[i];\n\n optionEl = document.createElement('option');\n optionEl.setAttribute('value', d[0]);\n if (d.length > 2) {\n optionEl.setAttribute('extra', d[2]);\n }\n optionEl.appendChild( document.createTextNode(d[1]) );\n\n if (d[0] === defaultValue) {\n optionEl.setAttribute('selected', 'selected');\n }\n\n containerEl.appendChild(optionEl);\n }\n },\n\n\n /**\n * Creates a set of radio buttons from an array of data\n *\n * @method fillRadios\n * @param {DOMElement|String} insertAfterEl Element after which the input elements will be created\n * @param {String} name Name for the form field ([] is added if not present as a suffix)\n * @param {Array} data Data to populate the component\n * @param {Boolean} [skipEmpty] Flag to skip creation of empty options\n * @param {String|Number} [defaultValue] Initial selected value\n * @param {String} [splitEl] Name of element to add after each input element (example: 'br')\n * @return {DOMElement} Wrapper element around the radio buttons\n */\n fillRadios: function(insertAfterEl, name, data, skipEmpty, defaultValue, splitEl) {\n insertAfterEl = Ink.i(insertAfterEl);\n var containerEl = document.createElement('span');\n InkElement.insertAfter(containerEl, insertAfterEl);\n\n data = InkElement._normalizeData(data);\n\n /*\n if (name.substring(name.length - 1) !== ']') {\n name += '[]';\n }\n */\n\n var d, inputEl;\n\n if (!skipEmpty) {\n // add initial empty option\n inputEl = document.createElement('input');\n inputEl.setAttribute('type', 'radio');\n inputEl.setAttribute('name', name);\n inputEl.setAttribute('value', '');\n containerEl.appendChild(inputEl);\n if (splitEl) { containerEl.appendChild( document.createElement(splitEl) ); }\n }\n\n for (var i = 0; i < data.length; ++i) {\n d = data[i];\n\n inputEl = document.createElement('input');\n inputEl.setAttribute('type', 'radio');\n inputEl.setAttribute('name', name);\n inputEl.setAttribute('value', d[0]);\n containerEl.appendChild(inputEl);\n containerEl.appendChild( document.createTextNode(d[1]) );\n if (splitEl) { containerEl.appendChild( document.createElement(splitEl) ); }\n\n if (d[0] === defaultValue) {\n inputEl.checked = true;\n }\n }\n\n return containerEl;\n },\n\n\n /**\n * Creates set of checkbox buttons\n *\n * @method fillChecks\n * @param {DOMElement|String} insertAfterEl Element after which the input elements will be created\n * @param {String} name Name for the form field ([] is added if not present as a suffix)\n * @param {Array} data Data to populate the component\n * @param {Boolean} [skipEmpty] Flag to skip creation of empty options\n * @param {String|Number} [defaultValue] Initial selected value\n * @param {String} [splitEl] Name of element to add after each input element (example: 'br')\n * @return {DOMElement} Wrapper element around the checkboxes\n */\n fillChecks: function(insertAfterEl, name, data, defaultValue, splitEl) {\n insertAfterEl = Ink.i(insertAfterEl);\n var containerEl = document.createElement('span');\n InkElement.insertAfter(containerEl, insertAfterEl);\n\n data = InkElement._normalizeData(data);\n\n if (name.substring(name.length - 1) !== ']') {\n name += '[]';\n }\n\n var d, inputEl;\n\n for (var i = 0; i < data.length; ++i) {\n d = data[i];\n\n inputEl = document.createElement('input');\n inputEl.setAttribute('type', 'checkbox');\n inputEl.setAttribute('name', name);\n inputEl.setAttribute('value', d[0]);\n containerEl.appendChild(inputEl);\n containerEl.appendChild( document.createTextNode(d[1]) );\n if (splitEl) { containerEl.appendChild( document.createElement(splitEl) ); }\n\n if (d[0] === defaultValue) {\n inputEl.checked = true;\n }\n }\n\n return containerEl;\n },\n\n\n /**\n * Gets the index of an element relative to a parent\n *\n * @method parentIndexOf\n * @param {DOMElement} parentEl Element to parse\n * @param {DOMElement} childEl Child Element to look for\n * @return {Number} The index of the childEl inside parentEl. Returns -1 if it's not a direct child\n * @sample Ink_Dom_Element_1_parentIndexOf.html \n */\n parentIndexOf: function(parentEl, childEl) {\n var node, idx = 0;\n for (var i = 0, f = parentEl.childNodes.length; i < f; ++i) {\n node = parentEl.childNodes[i];\n if (node.nodeType === 1) { // ELEMENT\n if (node === childEl) { return idx; }\n ++idx;\n }\n }\n return -1;\n },\n\n\n /**\n * Gets the next siblings of an element\n *\n * @method nextSiblings\n * @param {String|DOMElement} elm Element\n * @return {Array} Array of next sibling elements\n * @sample Ink_Dom_Element_1_nextSiblings.html \n */\n nextSiblings: function(elm) {\n elm = Ink.i(elm);\n if(typeof(elm) === 'object' && elm !== null && elm.nodeType && elm.nodeType === 1) {\n var elements = [],\n siblings = elm.parentNode.children,\n index = InkElement.parentIndexOf(elm.parentNode, elm);\n\n for(var i = ++index, len = siblings.length; i\" + html + \"
              \" + deleteThisTbodyToken + \"
              \";\n } else {\n div.innerHTML = \"\" + html + \"
              \";\n }\n return div.firstChild;\n },\n TBODY: function (div, html) {\n div.innerHTML = '' + html + '
              ';\n return div.firstChild.getElementsByTagName('tbody')[0];\n },\n THEAD: function (div, html) {\n div.innerHTML = '' + html + '
              ';\n return div.firstChild.getElementsByTagName('thead')[0];\n },\n TFOOT: function (div, html) {\n div.innerHTML = '' + html + '
              ';\n return div.firstChild.getElementsByTagName('tfoot')[0];\n },\n TR: function (div, html) {\n div.innerHTML = '' + html + '
              ';\n return div.firstChild.firstChild.firstChild;\n }\n },\n\n /**\n * Gets a wrapper DIV with a certain HTML content to be inserted inside another element.\n * This is necessary for appendHTML,prependHTML functions, because they need a container element to copy the children from.\n *\n * Works around IE table quirks\n * @method _getWrapper\n * @private\n * @param elm\n * @param html\n */\n _getWrapper: function (elm, html) {\n var nodeName = elm.nodeName && elm.nodeName.toUpperCase();\n var wrapper = document.createElement('div');\n var wrapFunc = InkElement._wrapElements[nodeName];\n\n if ( !wrapFunc ) {\n wrapper.innerHTML = html;\n return wrapper;\n }\n // special cases\n wrapper = wrapFunc(wrapper, html);\n // worst case: tbody auto-creation even when our HTML has a tbody.\n if (browserCreatesTbodies && nodeName === 'TABLE') {\n // terrible case. Deal with tbody creation too.\n var tds = wrapper.getElementsByTagName('td');\n for (var i = 0, len = tds.length; i < len; i++) {\n if (tds[i].innerHTML === deleteThisTbodyToken) {\n var tbody = tds[i].parentNode.parentNode;\n tbody.parentNode.removeChild(tbody);\n }\n }\n }\n return wrapper;\n },\n\n /**\n * Appends HTML to an element.\n * This method parses the html string and doesn't modify its contents\n *\n * @method appendHTML\n * @param {String|DOMElement} elm Element\n * @param {String} html Markup string\n * @sample Ink_Dom_Element_1_appendHTML.html \n */\n appendHTML: function(elm, html){\n elm = Ink.i(elm);\n if(elm !== null) {\n var wrapper = InkElement._getWrapper(elm, html);\n while (wrapper.firstChild) {\n elm.appendChild(wrapper.firstChild);\n }\n }\n },\n\n /**\n * Prepends HTML to an element.\n * This method parses the html string and doesn't modify its contents\n *\n * @method prependHTML\n * @param {String|DOMElement} elm Element\n * @param {String} html Markup string\n * @sample Ink_Dom_Element_1_prependHTML.html \n */\n prependHTML: function(elm, html){\n elm = Ink.i(elm);\n if(elm !== null) {\n var wrapper = InkElement._getWrapper(elm, html);\n while (wrapper.lastChild) {\n elm.insertBefore(wrapper.lastChild, elm.firstChild);\n }\n }\n },\n\n /**\n * Sets the inner HTML of an element.\n *\n * @method setHTML\n * @param {String|DOMElement} elm Element\n * @param {String} html Markup string\n * @sample Ink_Dom_Element_1_setHTML.html \n */\n setHTML: function (elm, html) {\n elm = Ink.i(elm);\n if(elm !== null) {\n try {\n elm.innerHTML = html;\n } catch (e) {\n // Tables in IE7\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n InkElement.appendHTML(elm, html);\n }\n }\n },\n\n /**\n * Wraps an element inside a container.\n *\n * The container may or may not be in the document yet.\n *\n * @method wrap\n * @param {String|DOMElement} target Element to be wrapped\n * @param {String|DOMElement} container Element to wrap the target\n * @return Container element\n * @sample Ink_Dom_Element_1_wrap.html \n *\n * @example\n * before:\n *\n *
              \n *\n * call this function to wrap #target with a wrapper div.\n *\n * InkElement.wrap('target', InkElement.create('div', {id: 'container'});\n * \n * after: \n *\n *
              \n */\n wrap: function (target, container) {\n target = Ink.i(target);\n container = Ink.i(container);\n \n var nextNode = target.nextSibling;\n var parent = target.parentNode;\n\n container.appendChild(target);\n\n if (nextNode !== null) {\n parent.insertBefore(container, nextNode);\n } else {\n parent.appendChild(container);\n }\n\n return container;\n },\n\n /**\n * Places an element outside a wrapper.\n *\n * @method unwrap\n * @param {DOMElement} elem The element you're trying to unwrap. This should be an ancestor of the wrapper.\n * @param {String} [wrapperSelector] CSS Selector for the ancestor. Use this if your wrapper is not the direct parent of elem.\n * @sample Ink_Dom_Element_1_unwrap.html \n *\n * @example\n *\n * When you have this:\n *\n *
              \n *
              \n *
              \n *\n * If you do this:\n *\n * InkElement.unwrap('unwrapMe');\n *\n * You get this:\n *\n *
              \n *
              \n * \n **/\n unwrap: function (elem, wrapperSelector) {\n elem = Ink.i(elem);\n var wrapper;\n if (typeof wrapperSelector === 'string') {\n wrapper = InkElement.findUpwardsBySelector(elem, wrapperSelector);\n } else if (typeof wrapperSelector === 'object' && wrapperSelector.tagName) {\n wrapper = InkElement.findUpwardsHaving(elem, function (ancestor) {\n return ancestor === wrapperSelector;\n });\n } else {\n wrapper = elem.parentNode;\n }\n if (!wrapper || !wrapper.parentNode) { return; }\n\n InkElement.insertBefore(elem, wrapper);\n },\n\n /**\n * Replaces an element with another.\n *\n * @method replace\n * @param element The element to be replaced.\n * @param replacement The new element.\n * @sample Ink_Dom_Element_1_replace.html \n *\n * @example\n * var newelement1 = InkElement.create('div');\n * // ...\n * replace(Ink.i('element1'), newelement1);\n */\n replace: function (element, replacement) {\n element = Ink.i(element);\n if(element !== null) {\n element.parentNode.replaceChild(replacement, element);\n }\n },\n\n /**\n * Removes direct text children.\n * Useful to remove nasty layout gaps generated by whitespace on the markup.\n *\n * @method removeTextNodeChildren\n * @param {DOMElement} el Element to remove text from\n * @sample Ink_Dom_Element_1_removeTextNodeChildren.html \n */\n removeTextNodeChildren: function(el) {\n el = Ink.i(el);\n if(el !== null) {\n var prevEl, toRemove, parent = el;\n el = el.firstChild;\n while (el) {\n toRemove = (el.nodeType === 3);\n prevEl = el;\n el = el.nextSibling;\n if (toRemove) {\n parent.removeChild(prevEl);\n }\n }\n }\n },\n\n /**\n * Creates a documentFragment from an HTML string.\n *\n * @method htmlToFragment\n * @param {String} html HTML string\n * @return {DocumentFragment} DocumentFragment containing all of the elements from the html string\n * @sample Ink_Dom_Element_1_htmlToFragment.html \n */\n htmlToFragment: (createContextualFragmentSupport ?\n function(html){\n var range;\n\n if(typeof html !== 'string'){ return document.createDocumentFragment(); }\n\n range = document.createRange();\n\n // set the context to document.body (firefox does this already, webkit doesn't)\n range.selectNode(document.body);\n\n return range.createContextualFragment(html);\n } : function (html) {\n var fragment = document.createDocumentFragment(),\n tempElement,\n current;\n\n if(typeof html !== 'string'){ return fragment; }\n\n tempElement = document.createElement('div');\n tempElement.innerHTML = html;\n\n // append child removes elements from the original parent\n while( (current = tempElement.firstChild) ){ // intentional assignment\n fragment.appendChild(current);\n }\n\n return fragment;\n }),\n\n _camelCase: function(str)\n {\n return str ? str.replace(/-(\\w)/g, function (_, $1){\n return $1.toUpperCase();\n }) : str;\n },\n\n /**\n * Gets data attributes from an element\n *\n * @method data\n * @param {String|DOMElement} selector Element or CSS selector\n * @return {Object} Object with the data-* properties. If no data-attributes are present, an empty object is returned.\n * @sample Ink_Dom_Element_1_data.html \n */\n data: function(selector) {\n var el;\n if (typeof selector !== 'object' && typeof selector !== 'string') {\n throw '[Ink.Dom.Element.data] :: Invalid selector defined';\n }\n\n if (typeof selector === 'object') {\n el = selector;\n }\n else {\n var InkDomSelector = Ink.getModule('Ink.Dom.Selector', 1);\n if (!InkDomSelector) {\n throw \"[Ink.Dom.Element.data] :: this method requires Ink.Dom.Selector - v1\";\n }\n el = InkDomSelector.select(selector);\n if (el.length <= 0) {\n throw \"[Ink.Dom.Element.data] :: Can't find any element with the specified selector\";\n }\n el = el[0];\n }\n\n var dataset = {};\n var attrs = el.attributes || [];\n\n var curAttr, curAttrName, curAttrValue;\n if (attrs) {\n for (var i = 0, total = attrs.length; i < total; ++i) {\n curAttr = attrs[i];\n curAttrName = curAttr.name;\n curAttrValue = curAttr.value;\n if (curAttrName && curAttrName.indexOf('data-') === 0) {\n dataset[InkElement._camelCase(curAttrName.replace('data-', ''))] = curAttrValue;\n }\n }\n }\n\n return dataset;\n },\n\n /**\n * Move the cursor on an input or textarea element.\n * @method moveCursorTo\n * @param {DOMElement} el Input or Textarea element\n * @param {Number} t Index of the character to move the cursor to\n * @sample Ink_Dom_Element_1_moveCursorTo.html \n */\n moveCursorTo: function(el, t) {\n el = Ink.i(el);\n if(el !== null) {\n if (el.setSelectionRange) {\n el.setSelectionRange(t, t);\n //el.focus();\n }\n else {\n var range = el.createTextRange();\n range.collapse(true);\n range.moveEnd( 'character', t);\n range.moveStart('character', t);\n range.select();\n }\n }\n },\n\n /**\n * Get the page's width.\n * @method pageWidth\n * @return {Number} Page width in pixels\n * @sample Ink_Dom_Element_1_pageWidth.html \n */\n pageWidth: function() {\n var xScroll;\n\n if (window.innerWidth && window.scrollMaxX) {\n xScroll = window.innerWidth + window.scrollMaxX;\n } else if (document.body.scrollWidth > document.body.offsetWidth){\n xScroll = document.body.scrollWidth;\n } else {\n xScroll = document.body.offsetWidth;\n }\n\n var windowWidth;\n\n if (window.self.innerWidth) {\n if(document.documentElement.clientWidth){\n windowWidth = document.documentElement.clientWidth;\n } else {\n windowWidth = window.self.innerWidth;\n }\n } else if (document.documentElement && document.documentElement.clientWidth) {\n windowWidth = document.documentElement.clientWidth;\n } else if (document.body) {\n windowWidth = document.body.clientWidth;\n }\n\n if(xScroll < windowWidth){\n return xScroll;\n } else {\n return windowWidth;\n }\n },\n\n /**\n * Get the page's height.\n * @method pageHeight\n * @return {Number} Page height in pixels\n * @sample Ink_Dom_Element_1_pageHeight.html \n */\n pageHeight: function() {\n var yScroll;\n\n if (window.innerHeight && window.scrollMaxY) {\n yScroll = window.innerHeight + window.scrollMaxY;\n } else if (document.body.scrollHeight > document.body.offsetHeight){\n yScroll = document.body.scrollHeight;\n } else {\n yScroll = document.body.offsetHeight;\n }\n\n var windowHeight;\n\n if (window.self.innerHeight) {\n windowHeight = window.self.innerHeight;\n } else if (document.documentElement && document.documentElement.clientHeight) {\n windowHeight = document.documentElement.clientHeight;\n } else if (document.body) {\n windowHeight = document.body.clientHeight;\n }\n\n if(yScroll < windowHeight){\n return windowHeight;\n } else {\n return yScroll;\n }\n },\n\n /**\n * Get the viewport's width.\n * @method viewportWidth\n * @return {Number} Viewport width in pixels\n * @sample Ink_Dom_Element_1_viewportWidth.html \n */\n viewportWidth: function() {\n if(typeof window.innerWidth !== \"undefined\") {\n return window.innerWidth;\n }\n if (document.documentElement && typeof document.documentElement.offsetWidth !== \"undefined\") {\n return document.documentElement.offsetWidth;\n }\n },\n\n /**\n * Get the viewport's height.\n * @method viewportHeight\n * @return {Number} Viewport height in pixels\n * @sample Ink_Dom_Element_1_viewportHeight.html \n */\n viewportHeight: function() {\n if (typeof window.innerHeight !== \"undefined\") {\n return window.innerHeight;\n }\n if (document.documentElement && typeof document.documentElement.offsetHeight !== \"undefined\") {\n return document.documentElement.offsetHeight;\n }\n },\n\n /**\n * Get the scroll's width.\n * @method scrollWidth\n * @return {Number} Scroll width\n */\n scrollWidth: function() {\n if (typeof window.self.pageXOffset !== 'undefined') {\n return window.self.pageXOffset;\n }\n if (typeof document.documentElement !== 'undefined' && typeof document.documentElement.scrollLeft !== 'undefined') {\n return document.documentElement.scrollLeft;\n }\n return document.body.scrollLeft;\n },\n\n /**\n * Get the scroll's height.\n * @method scrollHeight\n * @return {Number} Scroll height\n */\n scrollHeight: function() {\n if (typeof window.self.pageYOffset !== 'undefined') {\n return window.self.pageYOffset;\n }\n if (typeof document.documentElement !== 'undefined' && typeof document.documentElement.scrollTop !== 'undefined') {\n return document.documentElement.scrollTop;\n }\n return document.body.scrollTop;\n }\n };\n\n return InkElement;\n\n});\n","/**\n * Event management\n * @module Ink.Dom.Event_1\n * @version 1\n */\n\nInk.createModule('Ink.Dom.Event', 1, [], function() {\n /* jshint\n asi:true,\n strict:false,\n laxcomma:true,\n eqeqeq:false,\n laxbreak:true,\n boss:true,\n curly:false,\n expr:true\n */\n\n /**\n * @namespace Ink.Dom.Event_1\n * @static\n */\n\n /*!\n * Bean - copyright (c) Jacob Thornton 2011-2012\n * https://github.com/fat/bean\n * MIT license\n */\n var bean = (function (name, context, definition) {\n return definition()\n })('bean', this, function (name, context) {\n name = name || 'bean'\n context = context || this\n\n var win = window\n , old = context[name]\n , namespaceRegex = /[^\\.]*(?=\\..*)\\.|.*/\n , nameRegex = /\\..*/\n , addEvent = 'addEventListener'\n , removeEvent = 'removeEventListener'\n , doc = document || {}\n , root = doc.documentElement || {}\n , W3C_MODEL = root[addEvent]\n , eventSupport = W3C_MODEL ? addEvent : 'attachEvent'\n , ONE = {} // singleton for quick matching making add() do one()\n\n , slice = Array.prototype.slice\n , str2arr = function (s, d) { return s.split(d || ' ') }\n , isString = function (o) { return typeof o == 'string' }\n , isFunction = function (o) { return typeof o == 'function' }\n\n // events that we consider to be 'native', anything not in this list will\n // be treated as a custom event\n , standardNativeEvents =\n 'click dblclick mouseup mousedown contextmenu ' + // mouse buttons\n 'mousewheel mousemultiwheel DOMMouseScroll ' + // mouse wheel\n 'mouseover mouseout mousemove selectstart selectend ' + // mouse movement\n 'keydown keypress keyup ' + // keyboard\n 'orientationchange ' + // mobile\n 'focus blur change reset select submit ' + // form elements\n 'load unload beforeunload resize move DOMContentLoaded ' + // window\n 'readystatechange message ' + // window\n 'error abort scroll ' // misc\n // element.fireEvent('onXYZ'... is not forgiving if we try to fire an event\n // that doesn't actually exist, so make sure we only do these on newer browsers\n , w3cNativeEvents =\n 'show ' + // mouse buttons\n 'input invalid ' + // form elements\n 'touchstart touchmove touchend touchcancel ' + // touch\n 'gesturestart gesturechange gestureend ' + // gesture\n 'textinput' + // TextEvent\n 'readystatechange pageshow pagehide popstate ' + // window\n 'hashchange offline online ' + // window\n 'afterprint beforeprint ' + // printing\n 'dragstart dragenter dragover dragleave drag drop dragend ' + // dnd\n 'loadstart progress suspend emptied stalled loadmetadata ' + // media\n 'loadeddata canplay canplaythrough playing waiting seeking ' + // media\n 'seeked ended durationchange timeupdate play pause ratechange ' + // media\n 'volumechange cuechange ' + // media\n 'checking noupdate downloading cached updateready obsolete ' // appcache\n\n // convert to a hash for quick lookups\n , nativeEvents = (function (hash, events, i) {\n for (i = 0; i < events.length; i++) events[i] && (hash[events[i]] = 1)\n return hash\n }({}, str2arr(standardNativeEvents + (W3C_MODEL ? w3cNativeEvents : ''))))\n\n // custom events are events that we *fake*, they are not provided natively but\n // we can use native events to generate them\n , customEvents = (function () {\n var isAncestor = 'compareDocumentPosition' in root\n ? function (element, container) {\n return container.compareDocumentPosition && (container.compareDocumentPosition(element) & 16) === 16\n }\n : 'contains' in root\n ? function (element, container) {\n container = container.nodeType === 9 || container === window ? root : container\n return container !== element && container.contains(element)\n }\n : function (element, container) {\n while (element = element.parentNode) if (element === container) return 1\n return 0\n }\n , check = function (event) {\n var related = event.relatedTarget\n return !related\n ? related == null\n : (related !== this && related.prefix !== 'xul' && !/document/.test(this.toString())\n && !isAncestor(related, this))\n }\n\n return {\n mouseenter: { base: 'mouseover', condition: check }\n , mouseleave: { base: 'mouseout', condition: check }\n , mousewheel: { base: /Firefox/.test(navigator.userAgent) ? 'DOMMouseScroll' : 'mousewheel' }\n }\n }())\n\n // we provide a consistent Event object across browsers by taking the actual DOM\n // event object and generating a new one from its properties.\n , Event = (function () {\n // a whitelist of properties (for different event types) tells us what to check for and copy\n var commonProps = str2arr('altKey attrChange attrName bubbles cancelable ctrlKey currentTarget ' +\n 'detail eventPhase getModifierState isTrusted metaKey relatedNode relatedTarget shiftKey ' +\n 'srcElement target timeStamp type view which propertyName')\n , mouseProps = commonProps.concat(str2arr('button buttons clientX clientY dataTransfer ' +\n 'fromElement offsetX offsetY pageX pageY screenX screenY toElement'))\n , mouseWheelProps = mouseProps.concat(str2arr('wheelDelta wheelDeltaX wheelDeltaY wheelDeltaZ ' +\n 'axis')) // 'axis' is FF specific\n , keyProps = commonProps.concat(str2arr('char charCode key keyCode keyIdentifier ' +\n 'keyLocation location'))\n , textProps = commonProps.concat(str2arr('data'))\n , touchProps = commonProps.concat(str2arr('touches targetTouches changedTouches scale rotation'))\n , messageProps = commonProps.concat(str2arr('data origin source'))\n , stateProps = commonProps.concat(str2arr('state'))\n , overOutRegex = /over|out/\n // some event types need special handling and some need special properties, do that all here\n , typeFixers = [\n { // key events\n reg: /key/i\n , fix: function (event, newEvent) {\n newEvent.keyCode = event.keyCode || event.which\n return keyProps\n }\n }\n , { // mouse events\n reg: /click|mouse(?!(.*wheel|scroll))|menu|drag|drop/i\n , fix: function (event, newEvent, type) {\n newEvent.rightClick = event.which === 3 || event.button === 2\n newEvent.pos = { x: 0, y: 0 }\n if (event.pageX || event.pageY) {\n newEvent.clientX = event.pageX\n newEvent.clientY = event.pageY\n } else if (event.clientX || event.clientY) {\n newEvent.clientX = event.clientX + doc.body.scrollLeft + root.scrollLeft\n newEvent.clientY = event.clientY + doc.body.scrollTop + root.scrollTop\n }\n if (overOutRegex.test(type)) {\n newEvent.relatedTarget = event.relatedTarget\n || event[(type == 'mouseover' ? 'from' : 'to') + 'Element']\n }\n return mouseProps\n }\n }\n , { // mouse wheel events\n reg: /mouse.*(wheel|scroll)/i\n , fix: function () { return mouseWheelProps }\n }\n , { // TextEvent\n reg: /^text/i\n , fix: function () { return textProps }\n }\n , { // touch and gesture events\n reg: /^touch|^gesture/i\n , fix: function () { return touchProps }\n }\n , { // message events\n reg: /^message$/i\n , fix: function () { return messageProps }\n }\n , { // popstate events\n reg: /^popstate$/i\n , fix: function () { return stateProps }\n }\n , { // everything else\n reg: /.*/\n , fix: function () { return commonProps }\n }\n ]\n , typeFixerMap = {} // used to map event types to fixer functions (above), a basic cache mechanism\n\n , Event = function (event, element, isNative) {\n if (!arguments.length) return\n event = event || ((element.ownerDocument || element.document || element).parentWindow || win).event\n this.originalEvent = event\n this.isNative = isNative\n this.isBean = true\n\n if (!event) return\n\n var type = event.type\n , target = event.target || event.srcElement\n , i, l, p, props, fixer\n\n this.target = target && target.nodeType === 3 ? target.parentNode : target\n\n if (isNative) { // we only need basic augmentation on custom events, the rest expensive & pointless\n fixer = typeFixerMap[type]\n if (!fixer) { // haven't encountered this event type before, map a fixer function for it\n for (i = 0, l = typeFixers.length; i < l; i++) {\n if (typeFixers[i].reg.test(type)) { // guaranteed to match at least one, last is .*\n typeFixerMap[type] = fixer = typeFixers[i].fix\n break\n }\n }\n }\n\n props = fixer(event, this, type)\n for (i = props.length; i--;) {\n if (!((p = props[i]) in this) && p in event) this[p] = event[p]\n }\n }\n }\n\n // preventDefault() and stopPropagation() are a consistent interface to those functions\n // on the DOM, stop() is an alias for both of them together\n Event.prototype.preventDefault = function () {\n if (this.originalEvent.preventDefault) this.originalEvent.preventDefault()\n else this.originalEvent.returnValue = false\n }\n Event.prototype.stopPropagation = function () {\n if (this.originalEvent.stopPropagation) this.originalEvent.stopPropagation()\n else this.originalEvent.cancelBubble = true\n }\n Event.prototype.stop = function () {\n this.preventDefault()\n this.stopPropagation()\n this.stopped = true\n }\n // stopImmediatePropagation() has to be handled internally because we manage the event list for\n // each element\n // note that originalElement may be a Bean#Event object in some situations\n Event.prototype.stopImmediatePropagation = function () {\n if (this.originalEvent.stopImmediatePropagation) this.originalEvent.stopImmediatePropagation()\n this.isImmediatePropagationStopped = function () { return true }\n }\n Event.prototype.isImmediatePropagationStopped = function () {\n return this.originalEvent.isImmediatePropagationStopped && this.originalEvent.isImmediatePropagationStopped()\n }\n Event.prototype.clone = function (currentTarget) {\n //TODO: this is ripe for optimisation, new events are *expensive*\n // improving this will speed up delegated events\n var ne = new Event(this, this.element, this.isNative)\n ne.currentTarget = currentTarget\n return ne\n }\n\n return Event\n }())\n\n // if we're in old IE we can't do onpropertychange on doc or win so we use doc.documentElement for both\n , targetElement = function (element, isNative) {\n return !W3C_MODEL && !isNative && (element === doc || element === win) ? root : element\n }\n\n /**\n * Bean maintains an internal registry for event listeners. We don't touch elements, objects\n * or functions to identify them, instead we store everything in the registry.\n * Each event listener has a RegEntry object, we have one 'registry' for the whole instance.\n */\n , RegEntry = (function () {\n // each handler is wrapped so we can handle delegation and custom events\n var wrappedHandler = function (element, fn, condition, args) {\n var call = function (event, eargs) {\n return fn.apply(element, args ? slice.call(eargs, event ? 0 : 1).concat(args) : eargs)\n }\n , findTarget = function (event, eventElement) {\n return fn.__beanDel ? fn.__beanDel.ft(event.target, element) : eventElement\n }\n , handler = condition\n ? function (event) {\n var target = findTarget(event, this) // deleated event\n if (condition.apply(target, arguments)) {\n if (event) event.currentTarget = target\n return call(event, arguments)\n }\n }\n : function (event) {\n if (fn.__beanDel) event = event.clone(findTarget(event)) // delegated event, fix the fix\n return call(event, arguments)\n }\n handler.__beanDel = fn.__beanDel\n return handler\n }\n\n , RegEntry = function (element, type, handler, original, namespaces, args, root) {\n var customType = customEvents[type]\n , isNative\n\n if (type == 'unload') {\n // self clean-up\n handler = once(removeListener, element, type, handler, original)\n }\n\n if (customType) {\n if (customType.condition) {\n handler = wrappedHandler(element, handler, customType.condition, args)\n }\n type = customType.base || type\n }\n\n this.isNative = isNative = nativeEvents[type] && !!element[eventSupport]\n this.customType = !W3C_MODEL && !isNative && type\n this.element = element\n this.type = type\n this.original = original\n this.namespaces = namespaces\n this.eventType = W3C_MODEL || isNative ? type : 'propertychange'\n this.target = targetElement(element, isNative)\n this[eventSupport] = !!this.target[eventSupport]\n this.root = root\n this.handler = wrappedHandler(element, handler, null, args)\n }\n\n // given a list of namespaces, is our entry in any of them?\n RegEntry.prototype.inNamespaces = function (checkNamespaces) {\n var i, j, c = 0\n if (!checkNamespaces) return true\n if (!this.namespaces) return false\n for (i = checkNamespaces.length; i--;) {\n for (j = this.namespaces.length; j--;) {\n if (checkNamespaces[i] == this.namespaces[j]) c++\n }\n }\n return checkNamespaces.length === c\n }\n\n // match by element, original fn (opt), handler fn (opt)\n RegEntry.prototype.matches = function (checkElement, checkOriginal, checkHandler) {\n return this.element === checkElement &&\n (!checkOriginal || this.original === checkOriginal) &&\n (!checkHandler || this.handler === checkHandler)\n }\n\n return RegEntry\n }())\n\n , registry = (function () {\n // our map stores arrays by event type, just because it's better than storing\n // everything in a single array.\n // uses '$' as a prefix for the keys for safety and 'r' as a special prefix for\n // rootListeners so we can look them up fast\n var map = {}\n\n // generic functional search of our registry for matching listeners,\n // `fn` returns false to break out of the loop\n , forAll = function (element, type, original, handler, root, fn) {\n var pfx = root ? 'r' : '$'\n if (!type || type == '*') {\n // search the whole registry\n for (var t in map) {\n if (t.charAt(0) == pfx) {\n forAll(element, t.substr(1), original, handler, root, fn)\n }\n }\n } else {\n var i = 0, l, list = map[pfx + type], all = element == '*'\n if (!list) return\n for (l = list.length; i < l; i++) {\n if ((all || list[i].matches(element, original, handler)) && !fn(list[i], list, i, type)) return\n }\n }\n }\n\n , has = function (element, type, original, root) {\n // we're not using forAll here simply because it's a bit slower and this\n // needs to be fast\n var i, list = map[(root ? 'r' : '$') + type]\n if (list) {\n for (i = list.length; i--;) {\n if (!list[i].root && list[i].matches(element, original, null)) return true\n }\n }\n return false\n }\n\n , get = function (element, type, original, root) {\n var entries = []\n forAll(element, type, original, null, root, function (entry) {\n return entries.push(entry)\n })\n return entries\n }\n\n , put = function (entry) {\n var has = !entry.root && !this.has(entry.element, entry.type, null, false)\n , key = (entry.root ? 'r' : '$') + entry.type\n ;(map[key] || (map[key] = [])).push(entry)\n return has\n }\n\n , del = function (entry) {\n forAll(entry.element, entry.type, null, entry.handler, entry.root, function (entry, list, i) {\n list.splice(i, 1)\n entry.removed = true\n if (list.length === 0) delete map[(entry.root ? 'r' : '$') + entry.type]\n return false\n })\n }\n\n // dump all entries, used for onunload\n , entries = function () {\n var t, entries = []\n for (t in map) {\n if (t.charAt(0) == '$') entries = entries.concat(map[t])\n }\n return entries\n }\n\n return { has: has, get: get, put: put, del: del, entries: entries }\n }())\n\n // we need a selector engine for delegated events, use querySelectorAll if it exists\n // but for older browsers we need Qwery, Sizzle or similar\n , selectorEngine\n , setSelectorEngine = function (e) {\n if (!arguments.length) {\n selectorEngine = doc.querySelectorAll\n ? function (s, r) {\n return r.querySelectorAll(s)\n }\n : function () {\n throw new Error('Bean: No selector engine installed') // eeek\n }\n } else {\n selectorEngine = e\n }\n }\n\n // we attach this listener to each DOM event that we need to listen to, only once\n // per event type per DOM element\n , rootListener = function (event, type) {\n if (!W3C_MODEL && type && event && event.propertyName != '_on' + type) return\n\n var listeners = registry.get(this, type || event.type, null, false)\n , l = listeners.length\n , i = 0\n\n event = new Event(event, this, true)\n if (type) event.type = type\n\n // iterate through all handlers registered for this type, calling them unless they have\n // been removed by a previous handler or stopImmediatePropagation() has been called\n for (; i < l && !event.isImmediatePropagationStopped(); i++) {\n if (!listeners[i].removed) listeners[i].handler.call(this, event)\n }\n }\n\n // add and remove listeners to DOM elements\n , listener = W3C_MODEL\n ? function (element, type, add) {\n // new browsers\n element[add ? addEvent : removeEvent](type, rootListener, false)\n }\n : function (element, type, add, custom) {\n // IE8 and below, use attachEvent/detachEvent and we have to piggy-back propertychange events\n // to simulate event bubbling etc.\n var entry\n if (add) {\n registry.put(entry = new RegEntry(\n element\n , custom || type\n , function (event) { // handler\n rootListener.call(element, event, custom)\n }\n , rootListener\n , null\n , null\n , true // is root\n ))\n if (custom && element['_on' + custom] == null) element['_on' + custom] = 0\n entry.target.attachEvent('on' + entry.eventType, entry.handler)\n } else {\n entry = registry.get(element, custom || type, rootListener, true)[0]\n if (entry) {\n entry.target.detachEvent('on' + entry.eventType, entry.handler)\n registry.del(entry)\n }\n }\n }\n\n , once = function (rm, element, type, fn, originalFn) {\n // wrap the handler in a handler that does a remove as well\n return function () {\n fn.apply(this, arguments)\n rm(element, type, originalFn)\n }\n }\n\n , removeListener = function (element, orgType, handler, namespaces) {\n var type = orgType && orgType.replace(nameRegex, '')\n , handlers = registry.get(element, type, null, false)\n , removed = {}\n , i, l\n\n for (i = 0, l = handlers.length; i < l; i++) {\n if ((!handler || handlers[i].original === handler) && handlers[i].inNamespaces(namespaces)) {\n // TODO: this is problematic, we have a registry.get() and registry.del() that\n // both do registry searches so we waste cycles doing this. Needs to be rolled into\n // a single registry.forAll(fn) that removes while finding, but the catch is that\n // we'll be splicing the arrays that we're iterating over. Needs extra tests to\n // make sure we don't screw it up. @rvagg\n registry.del(handlers[i])\n if (!removed[handlers[i].eventType] && handlers[i][eventSupport])\n removed[handlers[i].eventType] = { t: handlers[i].eventType, c: handlers[i].type }\n }\n }\n // check each type/element for removed listeners and remove the rootListener where it's no longer needed\n for (i in removed) {\n if (!registry.has(element, removed[i].t, null, false)) {\n // last listener of this type, remove the rootListener\n listener(element, removed[i].t, false, removed[i].c)\n }\n }\n }\n\n // set up a delegate helper using the given selector, wrap the handler function\n , delegate = function (selector, fn) {\n //TODO: findTarget (therefore $) is called twice, once for match and once for\n // setting e.currentTarget, fix this so it's only needed once\n var findTarget = function (target, root) {\n var i, array = isString(selector) ? selectorEngine(selector, root) : selector\n for (; target && target !== root; target = target.parentNode) {\n for (i = array.length; i--;) {\n if (array[i] === target) return target\n }\n }\n }\n , handler = function (e) {\n var match = findTarget(e.target, this)\n if (match) fn.apply(match, arguments)\n }\n\n // __beanDel isn't pleasant but it's a private function, not exposed outside of Bean\n handler.__beanDel = {\n ft : findTarget // attach it here for customEvents to use too\n , selector : selector\n }\n return handler\n }\n\n , fireListener = W3C_MODEL ? function (isNative, type, element) {\n // modern browsers, do a proper dispatchEvent()\n var evt = doc.createEvent(isNative ? 'HTMLEvents' : 'UIEvents')\n evt[isNative ? 'initEvent' : 'initUIEvent'](type, true, true, win, 1)\n element.dispatchEvent(evt)\n } : function (isNative, type, element) {\n // old browser use onpropertychange, just increment a custom property to trigger the event\n element = targetElement(element, isNative)\n isNative ? element.fireEvent('on' + type, doc.createEventObject()) : element['_on' + type]++\n }\n\n /**\n * Public API: off(), on(), add(), (remove()), one(), fire(), clone()\n */\n\n /**\n * off(element[, eventType(s)[, handler ]])\n */\n , off = function (element, typeSpec, fn) {\n var isTypeStr = isString(typeSpec)\n , k, type, namespaces, i\n\n if (isTypeStr && typeSpec.indexOf(' ') > 0) {\n // off(el, 't1 t2 t3', fn) or off(el, 't1 t2 t3')\n typeSpec = str2arr(typeSpec)\n for (i = typeSpec.length; i--;)\n off(element, typeSpec[i], fn)\n return element\n }\n\n type = isTypeStr && typeSpec.replace(nameRegex, '')\n if (type && customEvents[type]) type = customEvents[type].base\n\n if (!typeSpec || isTypeStr) {\n // off(el) or off(el, t1.ns) or off(el, .ns) or off(el, .ns1.ns2.ns3)\n if (namespaces = isTypeStr && typeSpec.replace(namespaceRegex, '')) namespaces = str2arr(namespaces, '.')\n removeListener(element, type, fn, namespaces)\n } else if (isFunction(typeSpec)) {\n // off(el, fn)\n removeListener(element, null, typeSpec)\n } else {\n // off(el, { t1: fn1, t2, fn2 })\n for (k in typeSpec) {\n if (typeSpec.hasOwnProperty(k)) off(element, k, typeSpec[k])\n }\n }\n\n return element\n }\n\n /**\n * on(element, eventType(s)[, selector], handler[, args ])\n */\n , on = function(element, events, selector, fn) {\n var originalFn, type, types, i, args, entry, first\n\n //TODO: the undefined check means you can't pass an 'args' argument, fix this perhaps?\n if (selector === undefined && typeof events == 'object') {\n //TODO: this can't handle delegated events\n for (type in events) {\n if (events.hasOwnProperty(type)) {\n on.call(this, element, type, events[type])\n }\n }\n return\n }\n\n if (!isFunction(selector)) {\n // delegated event\n originalFn = fn\n args = slice.call(arguments, 4)\n fn = delegate(selector, originalFn, selectorEngine)\n } else {\n args = slice.call(arguments, 3)\n fn = originalFn = selector\n }\n\n types = str2arr(events)\n\n // special case for one(), wrap in a self-removing handler\n if (this === ONE) {\n fn = once(off, element, events, fn, originalFn)\n }\n\n for (i = types.length; i--;) {\n // add new handler to the registry and check if it's the first for this element/type\n first = registry.put(entry = new RegEntry(\n element\n , types[i].replace(nameRegex, '') // event type\n , fn\n , originalFn\n , str2arr(types[i].replace(namespaceRegex, ''), '.') // namespaces\n , args\n , false // not root\n ))\n if (entry[eventSupport] && first) {\n // first event of this type on this element, add root listener\n listener(element, entry.eventType, true, entry.customType)\n }\n }\n\n return element\n }\n\n /**\n * add(element[, selector], eventType(s), handler[, args ])\n *\n * Deprecated: kept (for now) for backward-compatibility\n */\n , add = function (element, events, fn, delfn) {\n return on.apply(\n null\n , !isString(fn)\n ? slice.call(arguments)\n : [ element, fn, events, delfn ].concat(arguments.length > 3 ? slice.call(arguments, 5) : [])\n )\n }\n\n /**\n * one(element, eventType(s)[, selector], handler[, args ])\n */\n , one = function () {\n return on.apply(ONE, arguments)\n }\n\n /**\n * fire(element, eventType(s)[, args ])\n *\n * The optional 'args' argument must be an array, if no 'args' argument is provided\n * then we can use the browser's DOM event system, otherwise we trigger handlers manually\n */\n , fire = function (element, type, args) {\n var types = str2arr(type)\n , i, j, l, names, handlers\n\n for (i = types.length; i--;) {\n type = types[i].replace(nameRegex, '')\n if (names = types[i].replace(namespaceRegex, '')) names = str2arr(names, '.')\n if (!names && !args && element[eventSupport]) {\n fireListener(nativeEvents[type], type, element)\n } else {\n // non-native event, either because of a namespace, arguments or a non DOM element\n // iterate over all listeners and manually 'fire'\n handlers = registry.get(element, type, null, false)\n args = [false].concat(args)\n for (j = 0, l = handlers.length; j < l; j++) {\n if (handlers[j].inNamespaces(names)) {\n handlers[j].handler.apply(element, args)\n }\n }\n }\n }\n return element\n }\n\n /**\n * clone(dstElement, srcElement[, eventType ])\n *\n * TODO: perhaps for consistency we should allow the same flexibility in type specifiers?\n */\n , clone = function (element, from, type) {\n var handlers = registry.get(from, type, null, false)\n , l = handlers.length\n , i = 0\n , args, beanDel\n\n for (; i < l; i++) {\n if (handlers[i].original) {\n args = [ element, handlers[i].type ]\n if (beanDel = handlers[i].handler.__beanDel) args.push(beanDel.selector)\n args.push(handlers[i].original)\n on.apply(null, args)\n }\n }\n return element\n }\n\n , bean = {\n 'on' : on\n , 'add' : add\n , 'one' : one\n , 'off' : off\n , 'remove' : off\n , 'clone' : clone\n , 'fire' : fire\n , 'Event' : Event\n , 'setSelectorEngine' : setSelectorEngine\n , 'noConflict' : function () {\n context[name] = old\n return this\n }\n }\n\n // for IE, clean up on unload to avoid leaks\n if (win.attachEvent) {\n var cleanup = function () {\n var i, entries = registry.entries()\n for (i in entries) {\n if (entries[i].type && entries[i].type !== 'unload') off(entries[i].element, entries[i].type)\n }\n win.detachEvent('onunload', cleanup)\n win.CollectGarbage && win.CollectGarbage()\n }\n win.attachEvent('onunload', cleanup)\n }\n\n // initialize selector engine to internal default (qSA or throw Error)\n setSelectorEngine(Ink.ss)\n\n return bean\n });\n\n /**\n * Keep this declaration here and off Bean as it extends the Event\n * object and some properties are readonly in strict mode\n */\n 'use strict';\n\n var InkEvent = {\n\n KEY_BACKSPACE: 8,\n KEY_TAB: 9,\n KEY_RETURN: 13,\n KEY_ESC: 27,\n KEY_SPACE: 32,\n KEY_LEFT: 37,\n KEY_UP: 38,\n KEY_RIGHT: 39,\n KEY_DOWN: 40,\n KEY_DELETE: 46,\n KEY_HOME: 36,\n KEY_END: 35,\n KEY_PAGEUP: 33,\n KEY_PAGEDOWN: 34,\n KEY_INSERT: 45,\n \n /**\n * Creates a debounced version of a function.\n * Returns a function which calls `func`, waiting at least `wait` milliseconds between calls. This is useful for events such as `scroll` or `resize`, which can be triggered too many times per second, slowing down the browser with needless function calls.\n *\n * *note:* This does not delay the first function call to the function.\n *\n * @method throttle\n * @param {Function} func Function to call. Arguments and context are both passed.\n * @param {Number} [wait]=0 Milliseconds to wait between calls.\n * @sample Ink_Dom_Event_1_throttle.html \n **/\n throttle: function (func, wait) {\n wait = wait || 0;\n var lastCall = 0; // Warning: This breaks on Jan 1st 1970 0:00\n var timeout;\n var throttled = function () {\n var now = +new Date();\n var timeDiff = now - lastCall;\n if (timeDiff >= wait) {\n lastCall = now;\n return func.apply(this, [].slice.call(arguments));\n } else {\n var that = this;\n var args = [].slice.call(arguments);\n if (!timeout) {\n timeout = setTimeout(function () {\n timeout = null;\n return throttled.apply(that, args);\n }, wait - timeDiff);\n }\n }\n };\n return throttled;\n },\n\n /**\n * Gets the event's target element.\n *\n * @method element\n * @param {Object} ev Event object\n * @return {DOMNode} The target\n * @sample Ink_Dom_Event_1_element.html \n */\n element: function(ev) {\n var node = ev.delegationTarget ||\n ev.target ||\n // IE stuff\n (ev.type === 'mouseout' && ev.fromElement) ||\n (ev.type === 'mouseleave' && ev.fromElement) ||\n (ev.type === 'mouseover' && ev.toElement) ||\n (ev.type === 'mouseenter' && ev.toElement) ||\n ev.srcElement ||\n null;\n return node && (node.nodeType === 3 || node.nodeType === 4) ? node.parentNode : node;\n },\n\n /**\n * Gets the event's related target element.\n *\n * @method relatedTarget\n * @param {Object} ev event object\n * @return {DOMNode} The related target\n * @sample Ink_Dom_Event_1_relatedTarget.html \n */\n relatedTarget: function(ev){\n var node = ev.relatedTarget ||\n // IE stuff\n (ev.type === 'mouseout' && ev.toElement) ||\n (ev.type === 'mouseleave' && ev.toElement) ||\n (ev.type === 'mouseover' && ev.fromElement) ||\n (ev.type === 'mouseenter' && ev.fromElement) ||\n null;\n return node && (node.nodeType === 3 || node.nodeType === 4) ? node.parentNode : node;\n },\n\n /**\n * Find closest ancestor element by tag name related to the event target.\n * Navigate up the DOM tree, looking for a tag with the name `elmTagName`.\n *\n * If such tag is not found, `document` is returned.\n *\n * @method findElement\n * @param {Object} ev Event object\n * @param {String} elmTagName Tag name to find\n * @param {Boolean} [force]=false Flag to skip returning `document` and to return `false` instead.\n * @return {DOMElement} the first element which matches given tag name or the document element if the wanted tag is not found\n * @sample Ink_Dom_Event_1_findElement.html \n */\n findElement: function(ev, elmTagName, force)\n {\n var node = this.element(ev);\n while(true) {\n if(node.nodeName.toLowerCase() === elmTagName.toLowerCase()) {\n return node;\n } else {\n node = node.parentNode;\n if(!node) {\n if(force) {\n return false;\n }\n return document;\n }\n if(!node.parentNode){\n if(force){ return false; }\n return document;\n }\n }\n }\n },\n\n /**\n * Attaches an event to element\n *\n * @method observe\n * @param {DOMElement|String} element Element id or element\n * @param {String} eventName Event name\n * @param {Function} callBack Receives the event object as a parameter. If you're manually firing custom events, check it's eventName property to make sure you're handling the right event.\n * @param {Boolean} [useCapture] Flag to change event listening from bubbling to capture.\n * @return {Function} The event handler used. Hang on to this if you want to `stopObserving` later.\n * @sample Ink_Dom_Event_1_observe.html \n */\n observe: function(element, eventName, callBack, useCapture) {\n element = Ink.i(element);\n if(element) {\n if(element.addEventListener) {\n element.addEventListener(eventName, callBack, !!useCapture);\n } else {\n element.attachEvent('on' + eventName, (callBack = Ink.bind(callBack, element)));\n }\n return callBack;\n }\n },\n\n /**\n * Like observe, but listen to the event only once.\n *\n * @method observeOnce\n * @param {DOMElement|String} element Element id or element\n * @param {String} eventName Event name\n * @param {Function} callBack Receives the event object as a parameter. If you're manually firing custom events, check it's eventName property to make sure you're handling the right event.\n * @param {Boolean} [useCapture] Flag to change event listening from bubbling to capture.\n * @return {Function} The event handler used. Hang on to this if you want to `stopObserving` later.\n * @sample Ink_Dom_Event_1_observeOnce.html \n */\n observeOnce: function (element, eventName, callBack, useCapture) {\n var onceBack = function () {\n InkEvent.stopObserving(element, eventName, onceBack);\n return callBack();\n };\n return InkEvent.observe(element, eventName, onceBack, useCapture);\n },\n\n /**\n * Attaches an event to a selector or array of elements.\n *\n * @method observeMulti\n * @param {Array|String} elements \n * @param {String} eventName Event name\n * @param {Function} callBack Receives the event object as a parameter. If you're manually firing custom events, check it's eventName property to make sure you're handling the right event.\n * @param {Boolean} [useCapture] Flag change event listening from bubbling to capture.\n * @return {Function} The used callback.\n * @sample Ink_Dom_Event_1_observeMulti.html \n */\n observeMulti: function (elements, eventName, callBack, useCapture) {\n if (typeof elements === 'string') {\n elements = Ink.ss(elements);\n } else if ( /* is an element */ elements && elements.nodeType === 1) {\n elements = [elements];\n }\n if (!elements[0]) { return false; }\n\n for (var i = 0, len = elements.length; i < len; i++) {\n this.observe(elements[i], eventName, callBack, useCapture);\n }\n return callBack;\n },\n\n /**\n * Observes an event on an element and its descendants matching the selector.\n *\n * Requires Ink.Dom.Selector if you need to use a selector.\n *\n * @method observeDelegated\n * @param {DOMElement|String} element Element to observe.\n * @param {String} eventName Event name to observe.\n * @param {String} selector Child element selector. When null, finds any element.\n * @param {Function} callback Callback to be called when the event is fired\n * @return {Function} The used callback, for ceasing to listen to the event later.\n * @sample Ink_Dom_Event_1_observeDelegated.html \n **/\n observeDelegated: function (element, eventName, selector, callback) {\n return InkEvent.observe(element, eventName, function (event) {\n var fromElement = InkEvent.element(event);\n if (!fromElement || fromElement === element) { return; }\n\n var cursor = fromElement;\n\n // Go up the document tree until we hit the element itself.\n while (cursor !== element && cursor !== document && cursor) {\n if (Ink.Dom.Selector_1.matchesSelector(cursor, selector)) {\n event.delegationTarget = cursor;\n return callback(event);\n }\n cursor = cursor.parentNode;\n }\n });\n },\n\n /**\n * Removes an event attached to an element.\n *\n * @method stopObserving\n * @param {DOMElement|String} element Element id or element\n * @param {String} eventName Event name\n * @param {Function} callBack Callback function\n * @param {Boolean} [useCapture] Set to true if the event was being observed with useCapture set to true as well.\n * @sample Ink_Dom_Event_1_stopObserving.html \n */\n stopObserving: function(element, eventName, callBack, useCapture) {\n element = Ink.i(element);\n\n if(element) {\n if(element.removeEventListener) {\n element.removeEventListener(eventName, callBack, !!useCapture);\n } else {\n element.detachEvent('on' + eventName, callBack);\n }\n }\n },\n\n /**\n * Stops event propagation and bubbling.\n *\n * @method stop\n * @param {Object} event Event handle\n * @sample Ink_Dom_Event_1_stop.html \n */\n stop: function(event)\n {\n if(event.cancelBubble !== null) {\n event.cancelBubble = true;\n }\n if(event.stopPropagation) {\n event.stopPropagation();\n }\n if(event.preventDefault) {\n event.preventDefault();\n }\n if(window.attachEvent) {\n event.returnValue = false;\n }\n if(event.cancel !== null) {\n event.cancel = true;\n }\n },\n\n /**\n * Stops event propagation.\n *\n * @method stopPropagation\n * @param {Object} event Event handle\n * @sample Ink_Dom_Event_1_stopPropagation.html \n */\n stopPropagation: function(event) {\n if(event.cancelBubble !== null) {\n event.cancelBubble = true;\n }\n if(event.stopPropagation) {\n event.stopPropagation();\n }\n },\n\n /**\n * Stops event default behaviour.\n *\n * @method stopDefault\n * @param {Object} event Event handle\n * @sample Ink_Dom_Event_1_stopDefault.html \n */\n stopDefault: function(event)\n {\n if(event.preventDefault) {\n event.preventDefault();\n }\n if(window.attachEvent) {\n event.returnValue = false;\n }\n if(event.cancel !== null) {\n event.cancel = true;\n }\n },\n\n /**\n * Gets the pointer's coordinates from the event object.\n *\n * @method pointer\n * @param {Object} ev Event object\n * @return {Object} An object with the mouse X and Y position\n * @sample Ink_Dom_Event_1_pointer.html \n */\n pointer: function(ev)\n {\n return {\n x: this.pointerX(ev),\n y: this.pointerY(ev)\n };\n },\n\n /**\n * Gets the pointer's X coordinate.\n *\n * @method pointerX\n * @param {Object} ev Event object\n * @return {Number} Mouse X position\n */\n pointerX: function(ev)\n {\n return (ev.touches && ev.touches[0] && ev.touches[0].clientX) ||\n (ev.pageX) ||\n (ev.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft));\n },\n\n /**\n * Gets the pointer's Y coordinate.\n *\n * @method pointerY\n * @param {Object} ev Event object\n * @return {Number} Mouse Y position\n */\n pointerY: function(ev)\n {\n return (ev.touches && ev.touches[0] && ev.touches[0].clientY) ||\n (ev.pageY) ||\n (ev.clientY + (document.documentElement.scrollTop || document.body.scrollTop));\n },\n\n /**\n * Checks if an event is a left click.\n *\n * @method isLeftClick\n * @param {Object} ev Event object\n * @return {Boolean} True if the event is a left click\n * @sample Ink_Dom_Event_1_isLeftClick.html \n */\n isLeftClick: function(ev) {\n if (window.addEventListener) {\n if(ev.button === 0){\n return true;\n } else if(ev.type === 'touchend' && ev.button === null){\n // [todo] do the above check for pointerEvents too\n return true;\n }\n }\n else {\n if(ev.button === 1){ return true; }\n }\n return false;\n },\n\n /**\n * Checks if an event is a right click.\n *\n * @method isRightClick\n * @param {Object} ev Event object\n * @return {Boolean} True if the event is a right click\n * @sample Ink_Dom_Event_1_isRightClick.html \n */\n isRightClick: function(ev) {\n return (ev.button === 2);\n },\n\n /**\n * Checks if an event is a middle click.\n *\n * @method isMiddleClick\n * @param {Object} ev Event object\n * @return {Boolean} True if the event is a middle click\n * @sample Ink_Dom_Event_1_isMiddleClick.html \n */\n isMiddleClick: function(ev) {\n if (window.addEventListener) {\n return (ev.button === 1);\n }\n else {\n return (ev.button === 4);\n }\n return false;\n },\n\n /**\n * Gets character from an event.\n *\n * @method getCharFromKeyboardEvent\n * @param {Object} event Keyboard event\n * @param {Boolean} [changeCasing] If true uppercases, if false lowercases, otherwise keeps casing\n * @return {String} Character representation of pressed key combination\n * @sample Ink_Dom_Event_1_getCharFromKeyboardEvent.html \n */\n getCharFromKeyboardEvent: function(event, changeCasing) {\n var k = event.keyCode;\n var c = String.fromCharCode(k);\n\n var shiftOn = event.shiftKey;\n if (k >= 65 && k <= 90) { // A-Z\n if (typeof changeCasing === 'boolean') {\n shiftOn = changeCasing;\n }\n return (shiftOn) ? c : c.toLowerCase();\n }\n else if (k >= 96 && k <= 105) { // numpad digits\n return String.fromCharCode( 48 + (k-96) );\n }\n switch (k) {\n case 109: case 189: return '-';\n case 107: case 187: return '+';\n }\n return c;\n },\n\n debug: function(){}\n};\n\n/**\n * Lets you attach event listeners to both elements and objects.\n * http://github.com/fat/bean#on\n *\n * @method on\n * @param {DOMElement|Object} element An HTML DOM element or any JavaScript Object\n * @param {String} eventType An Event (or multiple events, space separated) to listen to\n * @param {String} [selector] A CSS DOM Element selector string to bind the listener to child elements matching the selector\n * @param {Function} [handler] The callback function\n * @param {Object} [args...] Additional arguments to pass to the callback function when triggered\n * \n * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object\n * @sample Ink_Dom_Event_1_on.html \n */\n\n/**\n * Alias for `on` but will only be executed once.\n * bean.one() is an alias for bean.on() except that the handler will only be executed once and then removed for the event type(s).\n * http://github.com/fat/bean#one\n *\n * @method one\n * @param {DOMElement|Object} element An HTML DOM element or any JavaScript Object\n * @param {String} eventType An Event (or multiple events, space separated) to listen to\n * @param {String} [selector] A CSS DOM Element selector string to bind the listener to child elements matching the selector\n * @param {Function} [handler] The callback function\n * @param [args...] Additional arguments to pass to the callback function when triggered\n * \n * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object\n * @sample Ink_Dom_Event_1_one.html \n */\n\n/**\n * Removes event handlers.\n * bean.off() is how you get rid of handlers once you no longer want them active. It's also a good idea to call off on elements before you remove them from your DOM; this gives Bean a chance to clean up some things and prevents memory leaks.\n * http://github.com/fat/bean#off\n *\n * @method off\n * @param {DOMElement|Object} element An HTML DOM element or any JavaScript Object\n * @param {String} eventType An Event (or multiple events, space separated) to remove\n * @param {Function} [handler] The specific callback function to remove\n * \n * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object\n * @sample Ink_Dom_Event_1_off.html \n */\n\n/**\n * Clones events from one object to another\n * bean.clone() is a method for cloning events from one DOM element or object to another.\n * http://github.com/fat/bean#clone\n *\n * @method clone\n * @param {DOMElement|Object} destElement An HTML DOM element or any JavaScript Object to copy events to\n * @param {String} srcElement An HTML DOM element or any JavaScript Object to copy events from\n * @param {String} [eventType] An Event (or multiple events, space separated) to clone\n * \n * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object\n * @sample Ink_Dom_Event_1_clone.html \n */\n\n/**\n * Triggers events.\n * http://github.com/fat/bean#fire\n *\n * @method fire\n * @param {DOMElement|Object} destElement An HTML DOM element or any JavaScript Object fire the event on\n * @param {String} eventType An Event (or multiple events, space separated) to fire\n * @param [args...] Additional arguments to pass to the callback function when triggered\n *\n * @return {DOMElement|Object} Returns the original DOM Element or Javascript Object\n * @sample Ink_Dom_Event_1_fire.html \n */\n\nreturn Ink.extendObj(InkEvent, bean);\n\n});\n","/**\n * @module Ink.Dom.FormSerialize_1\n * Two way serialization of form data and javascript objects.\n * Valid applications are ad hoc AJAX/syndicated submission of forms, restoring form values from server side state, etc.\n */\n\nInk.createModule('Ink.Dom.FormSerialize', 1, ['Ink.Util.Array_1', 'Ink.Dom.Element_1', 'Ink.Dom.Selector_1'], function (InkArray, InkElement, Selector) {\n 'use strict';\n\n // Check whether something is not a string or a DOM element, but still has length.\n function isArrayIsh(obj) {\n return obj != null &&\n (!InkElement.isDOMElement(obj)) &&\n (InkArray.isArray(obj) || (typeof obj !== 'string' && typeof obj.length === 'number'));\n }\n\n function toArray(obj) {\n if (isArrayIsh(obj)) { return obj; }\n else { return [obj]; }\n }\n\n /**\n * @namespace Ink.Dom.FormSerialize\n * @static\n **/\n var FormSerialize = {\n\n /**\n * Serializes a form element into a JS object\n * It turns field names into keys and field values into values.\n *\n * note: Multi-select and checkboxes with multiple values will result in arrays\n *\n * @method serialize\n * @param {DOMElement|String} form Form element to extract data\n * @return {Object} Map of fieldName -> String|String[]|Boolean\n * @sample Ink_Dom_FormSerialize_serialize.html \n */\n serialize: function(form) {\n var out = {};\n var emptyArrayToken = {}; // A hack so that empty select[multiple] elements appear although empty.\n\n var pairs = this.asPairs(form, { elements: true, emptyArray: emptyArrayToken });\n if (pairs == null) { return pairs; }\n InkArray.forEach(pairs, function (pair) {\n var name = pair[0].replace(/\\[\\]$/, '');\n var value = pair[1];\n var el = pair[2];\n\n if (value === emptyArrayToken) {\n out[name] = []; // It's an empty select[multiple]\n } else if (!(FormSerialize._resultsInArray(el) || /\\[\\]$/.test(pair[0]))) {\n out[name] = value;\n } else {\n out[name] = out[name] || [];\n out[name].push(value);\n }\n });\n\n return out;\n },\n\n /**\n * Like `serialize`, but returns an array of [fieldName, value] pairs.\n *\n * @method asPairs\n * @param {DOMElement|String} form Form element\n * @param {Object} [options] Options object, containing:\n * @param {Boolean} [options.elements] Instead of returning an array of [fieldName, value] pairs, return an array of [fieldName, value, fieldElement] triples.\n * @param {Boolean} [options.emptyArray] What to emit as the value of an empty select[multiple]. If you don't pass this option, nothing comes out.\n *\n * @return Array of [fieldName, value] pairs.\n **/\n asPairs: function (form, options) {\n var out = [];\n options = options || {};\n\n function emit(name, val, el) {\n if (options.elements) {\n out.push([name, val, el]);\n } else {\n out.push([name, val]);\n }\n }\n\n function serializeEl(el) {\n if (el.nodeName.toLowerCase() === 'select' && el.multiple) {\n var didEmit = false;\n InkArray.forEach(Selector.select('option:checked', el), function (thisOption) {\n emit(el.name, thisOption.value, el);\n didEmit = true;\n });\n if (!didEmit && 'emptyArray' in options) {\n emit(el.name, options.emptyArray, el);\n }\n } else {\n emit(el.name, el.value, el);\n }\n }\n\n if ((form = Ink.i(form))) {\n var inputs = InkArray.filter(form.elements, FormSerialize._isSerialized);\n for (var i = 0, len = inputs.length; i < len; i++) {\n serializeEl(inputs[i]);\n }\n return out;\n }\n\n return null;\n },\n\n /**\n * Sets form elements' values with values from an object\n *\n * Note: You can't set the values of an input with `type=\"file\"` (browser prohibits it)\n *\n * @method fillIn \n * @param {DOMElement|String} form Form element to be populated\n * @param {Object|Array} map2 mapping of fields to values contained in fields. Can be a hash (keys as names, strings or arrays for values), or an array of [name, value] pairs.\n * @sample Ink_Dom_FormSerialize_fillIn.html \n */\n fillIn: function(form, map2) {\n if (!(form = Ink.i(form))) { return null; }\n\n var pairs;\n\n if (typeof map2 === 'object' && !isArrayIsh(map2)) {\n pairs = FormSerialize._objToPairs(map2);\n } else if (isArrayIsh(map2)) {\n pairs = map2;\n } else {\n return null;\n }\n\n return FormSerialize._fillInPairs(form, pairs);\n },\n\n _objToPairs: function (obj) {\n var pairs = [];\n var val;\n for (var name in obj) if (obj.hasOwnProperty(name)) {\n val = toArray(obj[name]);\n for (var i = 0, len = val.length; i < len; i++) {\n pairs.push([name, val[i]]);\n }\n if (len === 0) {\n pairs.push([name, []]);\n }\n }\n return pairs;\n },\n\n _fillInPairs: function (form, pairs) {\n pairs = InkArray.groupBy(pairs, {\n key: function (pair) { return pair[0].replace(/\\[\\]$/, ''); }\n });\n\n // For each chunk...\n pairs = InkArray.map(pairs, function (pair) {\n // Join the items in the chunk by concatenating the values together and leaving the names alone\n var values = InkArray.reduce(pair, function (left, right) {\n return [null, left[1].concat([right[1]])];\n }, [null, []])[1];\n return [pair[0][0], values];\n });\n\n var name;\n var inputs;\n var values;\n for (var i = 0, len = pairs.length; i < len; i++) {\n name = pairs[i][0];\n\n if (name in form) {\n inputs = form[name];\n } else if ((name + '[]') in form) {\n inputs = form[name + '[]'];\n name = name + '[]';\n } else {\n continue;\n }\n\n inputs = toArray(inputs);\n values = pairs[i][1];\n\n FormSerialize._fillInOne(name, inputs, values);\n }\n },\n\n _fillInOne: function (name, inputs, values) {\n var firstOne = inputs[0];\n var firstNodeName = firstOne.nodeName.toLowerCase();\n var firstType = firstOne.getAttribute('type');\n firstType = firstType && firstType.toLowerCase();\n var isSelectMulti = firstNodeName === 'select' && InkElement.hasAttribute(firstOne, 'multiple');\n\n if (firstType === 'checkbox' || firstType === 'radio') {\n FormSerialize._fillInBoolean(inputs, values, 'checked');\n } else if (isSelectMulti) {\n FormSerialize._fillInBoolean(inputs[0].options, values, 'selected');\n } else {\n if (inputs.length !== values.length) {\n Ink.warn('Form had ' + inputs.length + ' inputs named \"' + name + '\", but received ' + values.length + ' values.');\n }\n\n for (var i = 0, len = Math.min(inputs.length, values.length); i < len; i += 1) {\n inputs[i].value = values[i];\n }\n }\n },\n\n _fillInBoolean: function (inputs, values, checkAttr /* 'selected' or 'checked' */) {\n InkArray.forEach(inputs, function (input) {\n var isChecked = InkArray.inArray(input.value, values);\n input[checkAttr] = isChecked;\n });\n },\n\n /**\n * Whether FormSerialize.serialize() should produce an array when looking at this element.\n * @method _resultsInArray\n * @private\n * @param element\n **/\n _resultsInArray: function (element) {\n var type = element.getAttribute('type');\n var nodeName = element.nodeName.toLowerCase();\n\n return type === 'checkbox' ||\n (nodeName === 'select' && InkElement.hasAttribute(element, 'multiple'));\n },\n\n _isSerialized: function (element) {\n if (!InkElement.isDOMElement(element)) { return false; }\n if (!InkElement.hasAttribute(element, 'name')) { return false; }\n\n var nodeName = element.nodeName.toLowerCase();\n\n if (!nodeName || nodeName === 'fieldset') { return false; }\n\n if (element.type === 'checkbox' || element.type === 'radio') {\n return !!element.checked;\n }\n\n return true;\n }\n };\n\n return FormSerialize;\n});\n","/**\n * Execute code only when the DOM is loaded.\n * @module Ink.Dom.Loaded_1\n * @version 1\n */\n \nInk.createModule('Ink.Dom.Loaded', 1, [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Dom.Loaded_1\n **/\n var Loaded = {\n\n /**\n * Callbacks and their contexts. Array of 2-arrays.\n *\n * []\n *\n * @attribute _contexts Array\n * @private\n * \n */\n _contexts: [], // Callbacks' queue\n\n /**\n * Specify a function to execute when the DOM is fully loaded.\n *\n * @method run\n * @param {Object} [win]=window Window object to attach/add the event\n * @param {Function} fn Callback function to be executed after the DOM is ready\n * @public\n * @sample Ink_Dom_Loaded_run.html \n */\n run: function(win, fn) {\n if (!fn) {\n fn = win;\n win = window;\n }\n\n var context;\n\n for (var i = 0, len = this._contexts.length; i < len; i++) {\n if (this._contexts[i][0] === win) {\n context = this._contexts[i][1];\n break;\n }\n }\n if (!context) {\n context = {\n cbQueue: [],\n win: win,\n doc: win.document,\n root: win.document.documentElement,\n done: false,\n top: true\n };\n context.handlers = {\n checkState: Ink.bindEvent(this._checkState, this, context),\n poll: Ink.bind(this._poll, this, context)\n };\n this._contexts.push(\n [win, context] // Javascript Objects cannot map different windows to\n // different values.\n );\n }\n\n var ael = context.doc.addEventListener;\n context.add = ael ? 'addEventListener' : 'attachEvent';\n context.rem = ael ? 'removeEventListener' : 'detachEvent';\n context.pre = ael ? '' : 'on';\n context.det = ael ? 'DOMContentLoaded' : 'onreadystatechange';\n context.wet = context.pre + 'load';\n\n var csf = context.handlers.checkState;\n var alreadyLoaded = (\n /complete|interactive|loaded/.test(context.doc.readyState) &&\n context.win.location.toString() !== 'about:blank'); // https://code.google.com/p/chromium/issues/detail?id=32357\n\n if (alreadyLoaded){\n setTimeout(Ink.bind(function () {\n fn.call(context.win, 'lazy');\n }, this), 0);\n } else {\n context.cbQueue.push(fn);\n\n context.doc[context.add]( context.det , csf );\n context.win[context.add]( context.wet , csf );\n\n var frameElement = 1;\n try{\n frameElement = context.win.frameElement;\n } catch(e) {}\n if ( !ael && context.root && context.root.doScroll ) { // IE HACK\n try {\n context.top = !frameElement;\n } catch(e) { }\n if (context.top) {\n this._poll(context);\n }\n }\n }\n },\n\n /**\n * Function that will be running the callbacks after the page is loaded\n *\n * @method _checkState\n * @param {Event} event Triggered event\n * @private\n */\n _checkState: function(event, context) {\n if ( !event || (event.type === 'readystatechange' && context.doc.readyState !== 'complete')) {\n return;\n }\n var where = (event.type === 'load') ? context.win : context.doc;\n where[context.rem](context.pre+event.type, context.handlers.checkState, false);\n this._ready(context);\n },\n\n /**\n * Polls the load progress of the page to see if it has already loaded or not\n *\n * @method _poll\n * @private\n */\n\n /**\n *\n * function _poll\n */\n _poll: function(context) {\n try {\n context.root.doScroll('left');\n } catch(e) {\n return setTimeout(context.handlers.poll, 50);\n }\n this._ready(context);\n },\n\n /**\n * Function that runs the callbacks from the queue when the document is ready.\n *\n * @method _ready\n * @private\n */\n _ready: function(context) {\n if (!context.done) {\n context.done = true;\n for (var i = 0; i < context.cbQueue.length; ++i) {\n context.cbQueue[i].call(context.win);\n }\n context.cbQueue = [];\n }\n }\n };\n\n return Loaded;\n\n});\n","/**\n * CSS selector engine\n * @module Ink.Dom.Selector_1\n * @version 1\n */\n \nInk.createModule('Ink.Dom.Selector', 1, [], function() {\n /*jshint forin:false, eqnull:true, noempty:false, expr:true, boss:true, maxdepth:false*/\n\t'use strict';\n\n/*!\n * Sizzle CSS Selector Engine\n * Copyright 2013 jQuery Foundation and other contributors\n * Released under the MIT license\n * http://sizzlejs.com/\n */\n\nvar i,\n\tcachedruns,\n\tExpr,\n\tgetText,\n\tisXML,\n\tcompile,\n\toutermostContext,\n\trecompare,\n\tsortInput,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + -(new Date()),\n\tpreferredDoc = window.document,\n\tsupport = {},\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\thasDuplicate = false,\n\tsortOrder = function() { return 0; },\n\n\t// General-purpose constants\n\tstrundefined = typeof undefined,\n\tMAX_NEGATIVE = 1 << 31,\n\n\t// Array methods\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf if we can't use a native one\n\tindexOf = arr.indexOf || function( elem ) {\n\t\tvar i = 0,\n\t\t\tlen = this.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( this[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\n\t// Regular expressions\n\n\t// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\t// http://www.w3.org/TR/css3-syntax/#characters\n\tcharacterEncoding = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\n\t// Loosely modeled on CSS identifier characters\n\t// An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors\n\t// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = characterEncoding.replace( \"w\", \"w#\" ),\n\n\t// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors\n\toperators = \"([*^$|!~]?=)\",\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + characterEncoding + \")\" + whitespace +\n\t\t\"*(?:\" + operators + whitespace + \"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\" + identifier + \")|)|)\" + whitespace + \"*\\\\]\",\n\n\t// Prefer arguments quoted,\n\t// then not containing pseudos/brackets,\n\t// then attribute selectors/non-parenthetical expressions,\n\t// then anything else\n\t// These preferences are here to reduce the number of selectors\n\t// needing tokenize in the PSEUDO preFilter\n\tpseudos = \":(\" + characterEncoding + \")(?:\\\\(((['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes.replace( 3, 8 ) + \")*)|.*)\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([\\\\x20\\\\t\\\\r\\\\n\\\\f>+~])\" + whitespace + \"*\" ),\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + characterEncoding + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + characterEncoding + \")\" ),\n\t\t\"NAME\": new RegExp( \"^\\\\[name=['\\\"]?(\" + characterEncoding + \")['\\\"]?\\\\]\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + characterEncoding.replace( \"w\", \"w*\" ) + \")\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trsibling = /[\\x20\\t\\r\\n\\f]*[+~]/,\n\n\trnative = /^[^{]+\\{\\s*\\[native code/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trescape = /'|\\\\/g,\n\trattributeQuotes = /\\=[\\x20\\t\\r\\n\\f]*([^'\"\\]]*)[\\x20\\t\\r\\n\\f]*\\]/g,\n\n\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = /\\\\([\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|.)/g,\n\tfunescape = function( _, escaped ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\treturn high !== high ?\n\t\t\tescaped :\n\t\t\t// BMP codepoint\n\t\t\thigh < 0 ?\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t};\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\n/*\n * For feature detection\n * @param {Function} fn The function to test for native support\n */\nfunction isNative( fn ) {\n\treturn rnative.test( fn + \"\" );\n}\n\n/*\n * Create key-value caches of limited size\n * @returns {Function(string, Object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar cache,\n\t\tkeys = [];\n\n\treturn (cache = function( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key += \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key ] = value);\n\t});\n}\n\n/*\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/*\n * Support testing using an element\n * @param {Function} fn Passed the created div and expects a boolean result\n */\nfunction assert( fn ) {\n\tvar div = document.createElement(\"div\");\n\n\ttry {\n\t\treturn !!fn( div );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// release memory in IE\n\t\tdiv = null;\n\t}\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar match, elem, m, nodeType,\n\t\t// QSA vars\n\t\ti, groups, old, nid, newContext, newSelector;\n\n\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\n\tcontext = context || document;\n\tresults = results || [];\n\n\tif ( !selector || typeof selector !== \"string\" ) {\n\t\treturn results;\n\t}\n\n\tif ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) {\n\t\treturn [];\n\t}\n\n\tif ( documentIsHTML && !seed ) {\n\n\t\t// Shortcuts\n\t\tif ( (match = rquickExpr.exec( selector )) ) {\n\t\t\t// Speed-up: Sizzle(\"#ID\")\n\t\t\tif ( (m = match[1]) ) {\n\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\telem = context.getElementById( m );\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t// Handle the case where IE, Opera, and Webkit return items\n\t\t\t\t\t\t// by name instead of ID\n\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Context is not a document\n\t\t\t\t\tif ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&\n\t\t\t\t\t\tcontains( context, elem ) && elem.id === m ) {\n\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Speed-up: Sizzle(\"TAG\")\n\t\t\t} else if ( match[2] ) {\n\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\treturn results;\n\n\t\t\t// Speed-up: Sizzle(\".CLASS\")\n\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) {\n\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\treturn results;\n\t\t\t}\n\t\t}\n\n\t\t// QSA path\n\t\tif ( support.qsa && !rbuggyQSA.test(selector) ) {\n\t\t\told = true;\n\t\t\tnid = expando;\n\t\t\tnewContext = context;\n\t\t\tnewSelector = nodeType === 9 && selector;\n\n\t\t\t// qSA works strangely on Element-rooted queries\n\t\t\t// We can work around this by specifying an extra ID on the root\n\t\t\t// and working up from there (Thanks to Andrew Dupont for the technique)\n\t\t\t// IE 8 doesn't work on object elements\n\t\t\tif ( nodeType === 1 && context.nodeName.toLowerCase() !== \"object\" ) {\n\t\t\t\tgroups = tokenize( selector );\n\n\t\t\t\tif ( (old = context.getAttribute(\"id\")) ) {\n\t\t\t\t\tnid = old.replace( rescape, \"\\\\$&\" );\n\t\t\t\t} else {\n\t\t\t\t\tcontext.setAttribute( \"id\", nid );\n\t\t\t\t}\n\t\t\t\tnid = \"[id='\" + nid + \"'] \";\n\n\t\t\t\ti = groups.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tgroups[i] = nid + toSelector( groups[i] );\n\t\t\t\t}\n\t\t\t\tnewContext = rsibling.test( selector ) && context.parentNode || context;\n\t\t\t\tnewSelector = groups.join(\",\");\n\t\t\t}\n\n\t\t\tif ( newSelector ) {\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch(qsaError) {\n\t\t\t\t} finally {\n\t\t\t\t\tif ( !old ) {\n\t\t\t\t\t\tcontext.removeAttribute(\"id\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/*\n * Detect xml\n * @param {Element|Object} elem An element or a document\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/*\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar doc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// If no document and documentElement is available, return\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Set our document\n\tdocument = doc;\n\tdocElem = doc.documentElement;\n\n\t// Support tests\n\tdocumentIsHTML = !isXML( doc );\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( div ) {\n\t\tdiv.appendChild( doc.createComment(\"\") );\n\t\treturn !div.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Check if attributes should be retrieved by attribute nodes\n\tsupport.attributes = assert(function( div ) {\n\t\tdiv.innerHTML = \"\";\n\t\tvar type = typeof div.lastChild.getAttribute(\"multiple\");\n\t\t// IE8 returns a string for some attributes even when not present\n\t\treturn type !== \"boolean\" && type !== \"string\";\n\t});\n\n\t// Check if getElementsByClassName can be trusted\n\tsupport.getElementsByClassName = assert(function( div ) {\n\t\t// Opera can't find a second classname (in 9.6)\n\t\tdiv.innerHTML = \"\";\n\t\tif ( !div.getElementsByClassName || !div.getElementsByClassName(\"e\").length ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Safari 3.2 caches class attributes and doesn't catch changes\n\t\tdiv.lastChild.className = \"e\";\n\t\treturn div.getElementsByClassName(\"e\").length === 2;\n\t});\n\n\t// Check if getElementsByName privileges form controls or returns elements by ID\n\t// If so, assume (for broader support) that getElementById returns elements by name\n\tsupport.getByName = assert(function( div ) {\n\t\t// Inject content\n\t\tdiv.id = expando + 0;\n\t\t// Support: Windows 8 Native Apps\n\t\t// Assigning innerHTML with \"name\" attributes throws uncatchable exceptions\n\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx\n\t\tdiv.appendChild( document.createElement(\"a\") ).setAttribute( \"name\", expando );\n\t\tdiv.appendChild( document.createElement(\"i\") ).setAttribute( \"name\", expando );\n\t\tdocElem.appendChild( div );\n\n\t\t// Test\n\t\tvar pass = doc.getElementsByName &&\n\t\t\t// buggy browsers will return fewer than the correct 2\n\t\t\tdoc.getElementsByName( expando ).length === 2 +\n\t\t\t// buggy browsers will return more than the correct 0\n\t\t\tdoc.getElementsByName( expando + 0 ).length;\n\n\t\t// Cleanup\n\t\tdocElem.removeChild( div );\n\n\t\treturn pass;\n\t});\n\n\t// Support: Webkit<537.32\n\t// Detached nodes confoundingly follow *each other*\n\tsupport.sortDetached = assert(function( div1 ) {\n\t\treturn div1.compareDocumentPosition &&\n\t\t\t// Should return 1, but Webkit returns 4 (following)\n\t\t\t(div1.compareDocumentPosition( document.createElement(\"div\") ) & 1);\n\t});\n\n\t// IE6/7 return modified attributes\n\tExpr.attrHandle = assert(function( div ) {\n\t\tdiv.innerHTML = \"\";\n\t\treturn div.firstChild && typeof div.firstChild.getAttribute !== strundefined &&\n\t\t\tdiv.firstChild.getAttribute(\"href\") === \"#\";\n\t}) ?\n\t\t{} :\n\t\t{\n\t\t\t\"href\": function( elem ) {\n\t\t\t\treturn elem.getAttribute( \"href\", 2 );\n\t\t\t},\n\t\t\t\"type\": function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"type\");\n\t\t\t}\n\t\t};\n\n\t// ID find and filter\n\tif ( support.getByName ) {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== strundefined && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\treturn m && m.parentNode ? [m] : [];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t} else {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== strundefined && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\n\t\t\t\treturn m ?\n\t\t\t\t\tm.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode(\"id\").value === id ?\n\t\t\t\t\t\t[m] :\n\t\t\t\t\t\tundefined :\n\t\t\t\t\t[];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== strundefined ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\t\t\t}\n\t\t} :\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Name\n\tExpr.find[\"NAME\"] = support.getByName && function( tag, context ) {\n\t\tif ( typeof context.getElementsByName !== strundefined ) {\n\t\t\treturn context.getElementsByName( name );\n\t\t}\n\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21),\n\t// no need to also add to buggyMatches since matches checks buggyQSA\n\t// A support test would require too much code (would include document ready)\n\trbuggyQSA = [ \":focus\" ];\n\n\tif ( (support.qsa = isNative(doc.querySelectorAll)) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( div ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\tdiv.innerHTML = \"\";\n\n\t\t\t// IE8 - Some boolean attributes are not treated correctly\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:checked|disabled|ismap|multiple|readonly|selected|value)\" );\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( div ) {\n\n\t\t\t// Opera 10-12/IE8 - ^= $= *= and empty values\n\t\t\t// Should not select anything\n\t\t\tdiv.innerHTML = \"\";\n\t\t\tif ( div.querySelectorAll(\"[i^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:\\\"\\\"|'')\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = isNative( (matches = docElem.matchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( div ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t// Element contains another\n\t// Purposefully does not implement inclusive descendent\n\t// As in, an element does not contain itself\n\tcontains = isNative(docElem.contains) || docElem.compareDocumentPosition ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t// Document order sorting\n\tsortOrder = docElem.compareDocumentPosition ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b );\n\n\t\tif ( compare ) {\n\t\t\t// Disconnected nodes\n\t\t\tif ( compare & 1 ||\n\t\t\t\t(recompare && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t\tif ( a === doc || contains(preferredDoc, a) ) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\tif ( b === doc || contains(preferredDoc, b) ) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\n\t\t\t\t// Maintain original order\n\t\t\t\treturn sortInput ?\n\t\t\t\t\t( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :\n\t\t\t\t\t0;\n\t\t\t}\n\n\t\t\treturn compare & 4 ? -1 : 1;\n\t\t}\n\n\t\t// Not directly comparable, sort on existence of method\n\t\treturn a.compareDocumentPosition ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\t} else if ( !aup || !bup ) {\n\t\t\treturn a === doc ? -1 :\n\t\t\t\tb === doc ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\t// rbuggyQSA always contains :focus, so no need for an existence check\n\tif ( support.matchesSelector && documentIsHTML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && !rbuggyQSA.test(expr) ) {\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch(e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [elem] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\tvar val;\n\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tif ( documentIsHTML ) {\n\t\tname = name.toLowerCase();\n\t}\n\tif ( (val = Expr.attrHandle[ name ]) ) {\n\t\treturn val( elem );\n\t}\n\tif ( !documentIsHTML || support.attributes ) {\n\t\treturn elem.getAttribute( name );\n\t}\n\treturn ( (val = elem.getAttributeNode( name )) || elem.getAttribute( name ) ) && elem[ name ] === true ?\n\t\tname :\n\t\tval && val.specified ? val.value : null;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n// Document sorting and removing duplicates\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\t// Compensate for sort limitations\n\trecompare = !support.sortDetached;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\treturn results;\n};\n\n/*\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns Returns -1 if a precedes b, 1 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE );\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n// Returns a function to use in pseudos for input types\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n// Returns a function to use in pseudos for buttons\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n// Returns a function to use in pseudos for positionals\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/*\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\tfor ( ; (node = elem[i]); i++ ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (see #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[5] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[4] ) {\n\t\t\t\tmatch[2] = match[4];\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeName ) {\n\t\t\tif ( nodeName === \"*\" ) {\n\t\t\t\treturn function() { return true; };\n\t\t\t}\n\n\t\t\tnodeName = nodeName.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute(\"class\")) || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, outerCache, node, diff, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\t\t\t\t\t\t\touterCache = parent[ expando ] || (parent[ expando ] = {});\n\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[0] === dirruns && cache[1];\n\t\t\t\t\t\t\tdiff = cache[0] === dirruns && cache[2];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t} else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) {\n\t\t\t\t\t\t\tdiff = cache[1];\n\n\t\t\t\t\t\t// xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\tif ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) {\n\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t(node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf.call( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": function( elem ) {\n\t\t\treturn elem.disabled === false;\n\t\t},\n\n\t\t\"disabled\": function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),\n\t\t\t// not comment, processing instructions, or others\n\t\t\t// Thanks to Diego Perini for the nodeName shortcut\n\t\t\t// Greater than \"@\" means alpha characters (specifically not starting with \"#\" or \"?\")\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeName > \"@\" || elem.nodeType === 3 || elem.nodeType === 4 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\t// IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)\n\t\t\t// use getAttribute instead to test this case\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === elem.type );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\nfunction tokenize( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( tokens = [] );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push( {\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t} );\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push( {\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t} );\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n}\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar data, cache, outerCache,\n\t\t\t\tdirkey = dirruns + \" \" + doneName;\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from dir caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\t\t\t\t\t\tif ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) {\n\t\t\t\t\t\t\tif ( (data = cache[1]) === true || data === cachedruns ) {\n\t\t\t\t\t\t\t\treturn data === true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcache = outerCache[ dir ] = [ dirkey ];\n\t\t\t\t\t\t\tcache[1] = matcher( elem, context, xml ) || cachedruns;\n\t\t\t\t\t\t\tif ( cache[1] === true ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf.call( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\treturn ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector( tokens.slice( 0, i - 1 ) ).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\t// A counter to specify which element is currently being matched\n\tvar matcherCachedRuns = 0,\n\t\tbySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, expandContext ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tsetMatched = [],\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\toutermost = expandContext != null,\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", expandContext && context.parentNode || context ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1);\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context !== document && context;\n\t\t\t\tcachedruns = matcherCachedRuns;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Keep `i` a string if there are no elements so `matchedCount` will be \"00\" below\n\t\t\tfor ( ; (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t\tcachedruns = ++matcherCachedRuns;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\tmatchedCount += i;\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !group ) {\n\t\t\tgroup = tokenize( selector );\n\t\t}\n\t\ti = group.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( group[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\t}\n\treturn cached;\n};\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction select( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tmatch = tokenize( selector );\n\n\tif ( !seed ) {\n\t\t// Try to minimize operations if there is only one group\n\t\tif ( match.length === 1 ) {\n\n\t\t\t// Take a shortcut and set the context if the root selector is an ID\n\t\t\ttokens = match[0] = match[0].slice( 0 );\n\t\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\t\tcontext.nodeType === 9 && documentIsHTML &&\n\t\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\n\t\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\t\tif ( !context ) {\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\n\t\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t\t}\n\n\t\t\t// Fetch a seed set for right-to-left matching\n\t\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\ttoken = tokens[i];\n\n\t\t\t\t// Abort if we hit a combinator\n\t\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\t\tif ( (seed = find(\n\t\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\t\trsibling.test( tokens[0].type ) && context.parentNode || context\n\t\t\t\t\t)) ) {\n\n\t\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\tcompile( selector, match )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\trsibling.test( selector )\n\t);\n\treturn results;\n}\n\n// Deprecated\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\n// Check sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Initialize with the default document\nsetDocument();\n\n// Always assume the presence of duplicates if sort doesn't\n// pass them to our comparison function (as in Google Chrome).\n[0, 0].sort( sortOrder );\nsupport.detectDuplicates = hasDuplicate;\n\n// EXPOSE\n/*if ( typeof define === \"function\" && define.amd ) {\n\tdefine(function() { return Sizzle; });\n} else {\n\twindow.Sizzle = Sizzle;\n}*/\n// EXPOSE\n\n/**\n * @namespace Ink.Dom.Selector\n * @static\n */\n\n/**\n * Alias for the Sizzle selector engine\n *\n * @method select\n * @param {String} selector CSS selector to search for elements\n * @param {DOMElement} [context] By default the search is done in the document element. However, you can specify an element as search context\n * @param {Array} [results] By default this is considered an empty array. But if you want to merge it with other searches you did, pass their result array through here.\n * @return {Array} Array of resulting DOM Elements\n * @sample Ink_Dom_Selector_select.html\n */\n\n/**\n * Filters elements that match a CSS selector.\n *\n * @method matches\n * @param {String} selector CSS selector to search for elements\n * @param {Array} matches Elements to be 'matched' with\n * @return {Array} Elements that matched\n * @sample Ink_Dom_Selector_matches.html\n */\n\n/**\n * Checks if an element matches a given selector\n *\n * @method matchesSelector\n * @param {DOMElement} element Element to test\n * @param {String} selector CSS selector to test the element with\n * @return {Boolean} True if element matches the CSS selector\n * @sample Ink_Dom_Selector_matchesSelector.html \n */\n\nreturn {\n select: Sizzle,\n matches: Sizzle.matches,\n matchesSelector: Sizzle.matchesSelector\n};\n\n\n}); //( window );\n","/**\n * Array Utilities\n * @module Ink.Util.Array_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.Array', '1', [], function() {\n\n 'use strict';\n\n var arrayProto = Array.prototype;\n\n /**\n * @namespace Ink.Util.Array_1\n */\n\n var InkArray = {\n\n /**\n * Checks if a value is an array\n *\n * @method isArray\n * @param testedObject {Mixed} The object we want to check\n **/\n isArray: Array.isArray || function (testedObject) {\n return {}.toString.call(testedObject) === '[object Array]';\n },\n\n /**\n * Loops through an array, grouping similar items together.\n * @method groupBy\n * @param arr {Array} The input array.\n * @param [options] {Object} options object, containing:\n * @param [options.key] {Function} A function which computes the group key by which the items are grouped.\n * @param [options.pairs] {Boolean} Set to `true` if you want to output an array of `[key, [group...]]` pairs instead of an array of groups.\n * @return {Array} An array of arrays of chunks.\n *\n * @example\n *\n * InkArray.groupBy([1, 1, 2, 2, 3, 1]) // -> [ [1, 1], [2, 2], [3], [1] ]\n * InkArray.groupBy([1.1, 1.2, 2.1], { key: Math.floor }) // -> [ [1.1, 1.2], [2.1] ]\n * InkArray.groupBy([1.1, 1.2, 2.1], { key: Math.floor, pairs: true }) // -> [ [1, [1.1, 1.2]], [2, [2.1]] ]\n *\n **/\n groupBy: function (arr, options) {\n options = options || {};\n var ret = [];\n var latestGroup;\n function eq(a, b) {\n return outKey(a) === outKey(b);\n }\n function outKey(item) {\n if (typeof options.key === 'function') {\n return options.key(item);\n } else {\n return item;\n }\n }\n\n for (var i = 0, len = arr.length; i < len; i++) {\n latestGroup = [arr[i]];\n\n // Chunkin'\n while ((i + 1 < len) && eq(arr[i], arr[i + 1])) {\n latestGroup.push(arr[i + 1]);\n i++;\n }\n\n if (options.pairs) {\n ret.push([outKey(arr[i]), latestGroup]);\n } else {\n ret.push(latestGroup);\n }\n }\n return ret;\n },\n\n /**\n * Replacement for Array.prototype.reduce.\n *\n * Produces a single result from a list of values by calling an \"aggregator\" function.\n *\n * Falls back to Array.prototype.reduce if available.\n *\n * @method reduce\n * @param array {Array} Input array to be reduced.\n * @param callback {Function} `function (previousValue, currentValue, index, all) { return {Mixed} }` to execute for each value.\n * @param initial {Mixed} Object used as the first argument to the first call of `callback`\n *\n * @example\n * var sum = InkArray.reduce([1, 2, 3], function (a, b) { return a + b; }); // -> 6\n */\n reduce: function (array, callback, initial) {\n if (arrayProto.reduce) {\n return arrayProto.reduce.apply(array, [].slice.call(arguments, 1));\n }\n\n // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce#Polyfill\n var t = Object( array ), len = t.length >>> 0, k = 0, value;\n if ( arguments.length >= 3 ) {\n value = initial;\n } else {\n while ( k < len && !(k in t) ) k++;\n if ( k >= len )\n throw new TypeError('Reduce of empty array with no initial value');\n value = t[ k++ ];\n }\n for ( ; k < len ; k++ ) {\n if ( k in t ) {\n value = callback( value, t[k], k, t );\n }\n }\n return value;\n },\n\n /**\n * Checks if a value exists in array\n *\n * @method inArray\n * @public\n * @static\n * @param {Mixed} value Value to check\n * @param {Array} arr Array to search in\n * @return {Boolean} True if value exists in the array\n * @sample Ink_Util_Array_inArray.html\n */\n inArray: function(value, arr) {\n if (typeof arr === 'object') {\n for (var i = 0, f = arr.length; i < f; ++i) {\n if (arr[i] === value) {\n return true;\n }\n }\n }\n return false;\n },\n\n /**\n * Sorts an array of objects by an object property\n *\n * @method sortMulti\n * @param {Array} arr Array of objects to sort\n * @param {String} key Property to sort by\n * @return {Array|Boolean} False if it's not an array, returns a sorted array if it's an array.\n * @public\n * @static\n * @sample Ink_Util_Array_sortMulti.html\n */\n sortMulti: function(arr, key) {\n if (typeof arr === 'undefined' || arr.constructor !== Array) { return false; }\n if (typeof key !== 'string') { return arr.sort(); }\n if (arr.length > 0) {\n if (typeof(arr[0][key]) === 'undefined') { return false; }\n arr.sort(function(a, b){\n var x = a[key];\n var y = b[key];\n return ((x < y) ? -1 : ((x > y) ? 1 : 0));\n });\n }\n return arr;\n },\n\n /**\n * Gets the indexes of a value in an array\n *\n * @method keyValue\n * @param {String} value Value to search for.\n * @param {Array} arr Array to run the search in.\n * @param {Boolean} [first] Flag to stop the search at the first match. It also returns an index number instead of an array of indexes.\n * @return {Boolean|Number|Array} False for no matches. Array of matches or first match index.\n * @public\n * @static\n * @sample Ink_Util_Array_keyValue.html\n */\n keyValue: function(value, arr, first) {\n if (typeof value !== 'undefined' && typeof arr === 'object' && this.inArray(value, arr)) {\n var aKeys = [];\n for (var i = 0, f = arr.length; i < f; ++i) {\n if (arr[i] === value) {\n if (typeof first !== 'undefined' && first === true) {\n return i;\n } else {\n aKeys.push(i);\n }\n }\n }\n return aKeys;\n }\n return false;\n },\n\n /**\n * Shuffles an array.\n *\n * @method shuffle\n * @param {Array} arr Array to shuffle\n * @return {Array|Boolean} Shuffled Array or false if not an array.\n * @public\n * @static\n * @sample Ink_Util_Array_shuffle.html\n */\n shuffle: function(arr) {\n if (typeof(arr) !== 'undefined' && arr.constructor !== Array) { return false; }\n var total = arr.length,\n tmp1 = false,\n rnd = false;\n\n while (total--) {\n rnd = Math.floor(Math.random() * (total + 1));\n tmp1 = arr[total];\n arr[total] = arr[rnd];\n arr[rnd] = tmp1;\n }\n return arr;\n },\n\n /**\n * Runs a function through each of the elements of an array\n *\n * @method forEach\n * @param {Array} arr The array to be cycled/iterated\n * @param {Function} cb The function receives as arguments the value, index and array.\n * @return {Array} Iterated array.\n * @public\n * @static\n * @sample Ink_Util_Array_forEach.html\n */\n forEach: function(array, callback, context) {\n if (arrayProto.forEach) {\n return arrayProto.forEach.call(array, callback, context);\n }\n for (var i = 0, len = array.length >>> 0; i < len; i++) {\n callback.call(context, array[i], i, array);\n }\n },\n\n /**\n * Alias for backwards compatibility. See forEach\n *\n * @method each\n */\n each: function () {\n InkArray.forEach.apply(InkArray, [].slice.call(arguments));\n },\n\n /**\n * Runs a function for each item in the array.\n * That function will receive each item as an argument and its return value will change the corresponding array item.\n * @method map\n * @param {Array} array The array to map over\n * @param {Function} map The map function. Will take `(item, index, array)` as arguments and `this` will be the `context` argument.\n * @param {Object} [context] Object to be `this` in the map function.\n *\n * @sample Ink_Util_Array_map.html\n */\n map: function (array, callback, context) {\n if (arrayProto.map) {\n return arrayProto.map.call(array, callback, context);\n }\n var mapped = new Array(len);\n for (var i = 0, len = array.length >>> 0; i < len; i++) {\n mapped[i] = callback.call(context, array[i], i, array);\n }\n return mapped;\n },\n\n /**\n * Filters an array based on a truth test.\n * This method runs a test function on all the array values and returns a new array with all the values that pass the test.\n * @method filter\n * @param {Array} array The array to filter\n * @param {Function} test A test function taking `(item, index, array)`\n * @param {Object} [context] Object to be `this` in the test function.\n * @return {Array} Returns the filtered array\n *\n * @sample Ink_Util_Array_filter.html\n */\n filter: function (array, test, context) {\n if (arrayProto.filter) {\n return arrayProto.filter.call(array, test, context);\n }\n var filtered = [],\n val = null;\n for (var i = 0, len = array.length; i < len; i++) {\n val = array[i]; // it might be mutated\n if (test.call(context, val, i, array)) {\n filtered.push(val);\n }\n }\n return filtered;\n },\n\n /**\n * Checks if some element in the array passes a truth test\n *\n * @method some\n * @param {Array} arr The array to iterate through\n * @param {Function} cb The callback to be called on the array's elements. It receives the value, the index and the array as arguments.\n * @param {Object} context Object of the callback function\n * @return {Boolean} True if the callback returns true at any point, false otherwise\n * @public\n * @static\n * @sample Ink_Util_Array_some.html\n */\n some: function(arr, cb, context){\n\n if (arr === null){\n throw new TypeError('First argument is invalid.');\n }\n\n var t = Object(arr);\n var len = t.length >>> 0;\n if (typeof cb !== \"function\"){ throw new TypeError('Second argument must be a function.'); }\n\n for (var i = 0; i < len; i++) {\n if (i in t && cb.call(context, t[i], i, t)){ return true; }\n }\n\n return false;\n },\n\n /**\n * Compares the values of two arrays and return the matches\n *\n * @method intersect\n * @param {Array} arr1 First array\n * @param {Array} arr2 Second array\n * @return {Array} Empty array if one of the arrays is false (or do not intersect) | Array with the intersected values\n * @public\n * @static\n * @sample Ink_Util_Array_intersect.html\n */\n intersect: function(arr1, arr2) {\n if (!arr1 || !arr2 || arr1 instanceof Array === false || arr2 instanceof Array === false) {\n return [];\n }\n\n var shared = [];\n for (var i = 0, I = arr1.length; i 0) {\n for (x = a; x < b; x += step) {\n r.push(x);\n }\n } else {\n for (x = a; x > b; x += step) {\n r.push(x);\n }\n }\n\n return r;\n },\n\n /**\n * Inserts a value on a specified index\n *\n * @method insert\n * @param {Array} arr Array where the value will be inserted\n * @param {Number} idx Index of the array where the value should be inserted\n * @param {Mixed} value Value to be inserted\n * @public\n * @static\n * @sample Ink_Util_Array_insert.html\n */\n insert: function(arr, idx, value) {\n arr.splice(idx, 0, value);\n },\n\n /**\n * Removes a range of values from the array\n *\n * @method remove\n * @param {Array} arr Array where the value will be removed\n * @param {Number} from Index of the array where the removal will start removing.\n * @param {Number} rLen Number of items to be removed from the index onwards.\n * @return {Array} An array with the remaining values\n * @public\n * @static\n * @sample Ink_Util_Array_remove.html\n */\n remove: function(arr, from, rLen){\n var output = [];\n\n for(var i = 0, iLen = arr.length; i < iLen; i++){\n if(i >= from && i < from + rLen){\n continue;\n }\n\n output.push(arr[i]);\n }\n\n return output;\n }\n };\n\n return InkArray;\n\n});\n","/**\n * Binary Packing algorithm implementation\n * @module Ink.Util.BinPack_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.BinPack', '1', [], function() {\n\n 'use strict';\n\n /*jshint boss:true */\n\n // https://github.com/jakesgordon/bin-packing/\n\n /*\n Copyright (c) 2011, 2012, 2013 Jake Gordon and contributors\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n */\n\n\n\n var Packer = function(w, h) {\n this.init(w, h);\n };\n\n Packer.prototype = {\n\n init: function(w, h) {\n this.root = { x: 0, y: 0, w: w, h: h };\n },\n\n fit: function(blocks) {\n var n, node, block;\n for (n = 0; n < blocks.length; ++n) {\n block = blocks[n];\n if (node = this.findNode(this.root, block.w, block.h)) {\n block.fit = this.splitNode(node, block.w, block.h);\n }\n }\n },\n\n findNode: function(root, w, h) {\n if (root.used) {\n return this.findNode(root.right, w, h) || this.findNode(root.down, w, h);\n }\n else if ((w <= root.w) && (h <= root.h)) {\n return root;\n }\n else {\n return null;\n }\n },\n\n splitNode: function(node, w, h) {\n node.used = true;\n node.down = { x: node.x, y: node.y + h, w: node.w, h: node.h - h };\n node.right = { x: node.x + w, y: node.y, w: node.w - w, h: h };\n return node;\n }\n\n };\n\n\n\n var GrowingPacker = function() {};\n\n GrowingPacker.prototype = {\n\n fit: function(blocks) {\n var n, node, block, len = blocks.length;\n var w = len > 0 ? blocks[0].w : 0;\n var h = len > 0 ? blocks[0].h : 0;\n this.root = { x: 0, y: 0, w: w, h: h };\n for (n = 0; n < len ; n++) {\n block = blocks[n];\n if (node = this.findNode(this.root, block.w, block.h)) {\n block.fit = this.splitNode(node, block.w, block.h);\n }\n else {\n block.fit = this.growNode(block.w, block.h);\n }\n }\n },\n\n findNode: function(root, w, h) {\n if (root.used) {\n return this.findNode(root.right, w, h) || this.findNode(root.down, w, h);\n }\n else if ((w <= root.w) && (h <= root.h)) {\n return root;\n }\n else {\n return null;\n }\n },\n\n splitNode: function(node, w, h) {\n node.used = true;\n node.down = { x: node.x, y: node.y + h, w: node.w, h: node.h - h };\n node.right = { x: node.x + w, y: node.y, w: node.w - w, h: h };\n return node;\n },\n\n growNode: function(w, h) {\n var canGrowDown = (w <= this.root.w);\n var canGrowRight = (h <= this.root.h);\n\n var shouldGrowRight = canGrowRight && (this.root.h >= (this.root.w + w)); // attempt to keep square-ish by growing right when height is much greater than width\n var shouldGrowDown = canGrowDown && (this.root.w >= (this.root.h + h)); // attempt to keep square-ish by growing down when width is much greater than height\n\n if (shouldGrowRight) {\n return this.growRight(w, h);\n }\n else if (shouldGrowDown) {\n return this.growDown(w, h);\n }\n else if (canGrowRight) {\n return this.growRight(w, h);\n }\n else if (canGrowDown) {\n return this.growDown(w, h);\n }\n else {\n return null; // need to ensure sensible root starting size to avoid this happening\n }\n },\n\n growRight: function(w, h) {\n this.root = {\n used: true,\n x: 0,\n y: 0,\n w: this.root.w + w,\n h: this.root.h,\n down: this.root,\n right: { x: this.root.w, y: 0, w: w, h: this.root.h }\n };\n var node;\n if (node = this.findNode(this.root, w, h)) {\n return this.splitNode(node, w, h);\n }\n else {\n return null;\n }\n },\n\n growDown: function(w, h) {\n this.root = {\n used: true,\n x: 0,\n y: 0,\n w: this.root.w,\n h: this.root.h + h,\n down: { x: 0, y: this.root.h, w: this.root.w, h: h },\n right: this.root\n };\n var node;\n if (node = this.findNode(this.root, w, h)) {\n return this.splitNode(node, w, h);\n }\n else {\n return null;\n }\n }\n\n };\n\n\n\n var sorts = {\n random: function() { return Math.random() - 0.5; },\n w: function(a, b) { return b.w - a.w; },\n h: function(a, b) { return b.h - a.h; },\n a: function(a, b) { return b.area - a.area; },\n max: function(a, b) { return Math.max(b.w, b.h) - Math.max(a.w, a.h); },\n min: function(a, b) { return Math.min(b.w, b.h) - Math.min(a.w, a.h); },\n height: function(a, b) { return sorts.msort(a, b, ['h', 'w']); },\n width: function(a, b) { return sorts.msort(a, b, ['w', 'h']); },\n area: function(a, b) { return sorts.msort(a, b, ['a', 'h', 'w']); },\n maxside: function(a, b) { return sorts.msort(a, b, ['max', 'min', 'h', 'w']); },\n msort: function(a, b, criteria) { /* sort by multiple criteria */\n var diff, n;\n for (n = 0; n < criteria.length; ++n) {\n diff = sorts[ criteria[n] ](a, b);\n if (diff !== 0) {\n return diff;\n }\n }\n return 0;\n }\n };\n\n\n\n // end of Jake's code\n\n\n\n // aux, used to display blocks in unfitted property\n var toString = function() {\n return [this.w, ' x ', this.h].join('');\n };\n\n\n\n /**\n * Binary Packing algorithm implementation\n *\n * Based on the work of Jake Gordon\n *\n * see https://github.com/jakesgordon/bin-packing/\n *\n * @namespace Ink.Util.BinPack\n * @version 1\n * @static\n */\n var BinPack = {\n\n /**\n * @method binPack\n * @param {Object} o Options\n * @param {Array} o.blocks Array of items with width and height integer attributes.\n * @param {Array} [o.dimensions] Flag to fix container dimensions\n * @param {String} [o.sorter] Sorting function. One of: random, height, width, area, maxside\n * @return {Object} Returns an object containing container dimensions, filled ratio, fitted blocks, unfitted blocks and all blocks\n * @static\n */\n binPack: function(o) {\n var i, f, bl;\n\n\n\n // calculate area if not there already\n for (i = 0, f = o.blocks.length; i < f; ++i) {\n bl = o.blocks[i];\n if (! ('area' in bl) ) {\n bl.area = bl.w * bl.h;\n }\n }\n\n\n\n // apply algorithm\n var packer = o.dimensions ? new Packer(o.dimensions[0], o.dimensions[1]) : new GrowingPacker();\n\n if (!o.sorter) { o.sorter = 'maxside'; }\n\n o.blocks.sort( sorts[ o.sorter ] );\n\n packer.fit(o.blocks);\n\n var dims2 = [packer.root.w, packer.root.h];\n\n\n\n // layout is done here, generating report data...\n var fitted = [];\n var unfitted = [];\n\n for (i = 0, f = o.blocks.length; i < f; ++i) {\n bl = o.blocks[i];\n if (bl.fit) {\n fitted.push(bl);\n }\n else {\n bl.toString = toString; // TO AID SERIALIZATION\n unfitted.push(bl);\n }\n }\n\n var area = dims2[0] * dims2[1];\n var fit = 0;\n for (i = 0, f = fitted.length; i < f; ++i) {\n bl = fitted[i];\n fit += bl.area;\n }\n\n return {\n dimensions: dims2,\n filled: fit / area,\n blocks: o.blocks,\n fitted: fitted,\n unfitted: unfitted\n };\n }\n };\n\n\n\n return BinPack;\n\n});","/**\n * Cookie Utilities\n * @module Ink.Util.Cookie_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.Cookie', '1', [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Util.Cookie_1\n */\n var Cookie = {\n\n /**\n * Gets an object with the current page cookies.\n *\n * @method get\n * @param {String} name The cookie name.\n * @return {String|Object} If the name is specified, it returns the value of that key. Otherwise it returns the full cookie object\n * @public\n * @static\n * @sample Ink_Util_Cookie_get.html\n */\n get: function(name)\n {\n var cookie = document.cookie || false;\n\n var _Cookie = {};\n if(cookie) {\n cookie = cookie.replace(new RegExp(\"; \", \"g\"), ';');\n var aCookie = cookie.split(';');\n var aItem = [];\n if(aCookie.length > 0) {\n for(var i=0; i < aCookie.length; i++) {\n aItem = aCookie[i].split('=');\n if(aItem.length === 2) {\n _Cookie[aItem[0]] = decodeURIComponent(aItem[1]);\n }\n aItem = [];\n }\n }\n }\n if(name) {\n if(typeof(_Cookie[name]) !== 'undefined') {\n return _Cookie[name];\n } else {\n return null;\n }\n }\n return _Cookie;\n },\n\n /**\n * Sets a cookie.\n *\n * @method set\n * @param {String} name Cookie name.\n * @param {String} value Cookie value.\n * @param {Number} [expires] Number of seconds the cookie will be valid for.\n * @param {String} [path] Path for the cookie. Defaults to '/'.\n * @param {String} [domain] Domain for the cookie. Defaults to current hostname.\n * @param {Boolean} [secure] Flag for secure. Default 'false'.\n * @public\n * @static\n * @sample Ink_Util_Cookie_set.html\n */\n set: function(name, value, expires, path, domain, secure)\n {\n var sName;\n if(!name || value===false || typeof(name) === 'undefined' || typeof(value) === 'undefined') {\n return false;\n } else {\n sName = name+'='+encodeURIComponent(value);\n }\n var sExpires = false;\n var sPath = false;\n var sDomain = false;\n var sSecure = false;\n\n if(expires && typeof(expires) !== 'undefined' && !isNaN(expires)) {\n var oDate = new Date();\n var sDate = (parseInt(Number(oDate.valueOf()), 10) + (Number(parseInt(expires, 10)) * 1000));\n\n var nDate = new Date(sDate);\n var expiresString = nDate.toGMTString();\n\n var re = new RegExp(\"([^\\\\s]+)(\\\\s\\\\d\\\\d)\\\\s(\\\\w\\\\w\\\\w)\\\\s(.*)\");\n expiresString = expiresString.replace(re, \"$1$2-$3-$4\");\n\n sExpires = 'expires='+expiresString;\n } else {\n if(typeof(expires) !== 'undefined' && !isNaN(expires) && Number(parseInt(expires, 10))===0) {\n sExpires = '';\n } else {\n sExpires = 'expires=Thu, 01-Jan-2037 00:00:01 GMT';\n }\n }\n\n if(path && typeof(path) !== 'undefined') {\n sPath = 'path='+path;\n } else {\n sPath = 'path=/';\n }\n\n if(domain && typeof(domain) !== 'undefined') {\n sDomain = 'domain='+domain;\n } else {\n var portClean = new RegExp(\":(.*)\");\n sDomain = 'domain='+window.location.host;\n sDomain = sDomain.replace(portClean,\"\");\n }\n\n if(secure && typeof(secure) !== 'undefined') {\n sSecure = secure;\n } else {\n sSecure = false;\n }\n\n document.cookie = sName+'; '+sExpires+'; '+sPath+'; '+sDomain+'; '+sSecure;\n },\n\n /**\n * Deletes a cookie.\n *\n * @method remove\n * @param {String} cookieName Cookie name.\n * @param {String} [path] Path of the cookie. Defaults to '/'.\n * @param {String} [domain] Domain of the cookie. Defaults to current hostname.\n * @public\n * @static\n * @sample Ink_Util_Cookie_remove.html\n */\n remove: function(cookieName, path, domain)\n {\n //var expiresDate = 'Thu, 01-Jan-1970 00:00:01 GMT';\n var sPath = false;\n var sDomain = false;\n var expiresDate = -999999999;\n\n if(path && typeof(path) !== 'undefined') {\n sPath = path;\n } else {\n sPath = '/';\n }\n\n if(domain && typeof(domain) !== 'undefined') {\n sDomain = domain;\n } else {\n sDomain = window.location.host;\n }\n\n this.set(cookieName, 'deleted', expiresDate, sPath, sDomain);\n }\n };\n\n return Cookie;\n\n});\n","/**\n * Date utility functions\n * @module Ink.Util.Date_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.Date', '1', [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Util.Date_1 \n */\n var InkDate = {\n\n /**\n * Function that returns the string representation of the month [PT only]\n *\n * @method _months\n * @param {Number} index Month javascript (0 to 11)\n * @return {String} The month's name\n * @private\n * @static\n * @example\n * console.log( InkDate._months(0) ); // Result: Janeiro\n */\n _months: function(index){\n var _m = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];\n return _m[index];\n },\n\n /**\n * Function that returns the month [PT only] ( 0 to 11 )\n *\n * @method _iMonth\n * @param {String} month Month javascript (0 to 11)\n * @return {Number} The month's number\n * @private\n * @static\n * @example\n * console.log( InkDate._iMonth('maio') ); // Result: 4\n */\n _iMonth : function( month )\n {\n if ( Number( month ) ) { return +month - 1; }\n return {\n 'janeiro' : 0 ,\n 'jan' : 0 ,\n 'fevereiro' : 1 ,\n 'fev' : 1 ,\n 'março' : 2 ,\n 'mar' : 2 ,\n 'abril' : 3 ,\n 'abr' : 3 ,\n 'maio' : 4 ,\n 'mai' : 4 ,\n 'junho' : 5 ,\n 'jun' : 5 ,\n 'julho' : 6 ,\n 'jul' : 6 ,\n 'agosto' : 7 ,\n 'ago' : 7 ,\n 'setembro' : 8 ,\n 'set' : 8 ,\n 'outubro' : 9 ,\n 'out' : 9 ,\n 'novembro' : 10 ,\n 'nov' : 10 ,\n 'dezembro' : 11 ,\n 'dez' : 11\n }[ month.toLowerCase( ) ];\n } ,\n\n /**\n * Function that returns the representation the day of the week [PT Only]\n *\n * @method _wDays\n * @param {Number} index Week's day index\n * @return {String} The week's day name\n * @private\n * @static\n * @example\n * console.log( InkDate._wDays(0) ); // Result: Domingo\n */\n _wDays: function(index){\n var _d = ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'];\n return _d[index];\n },\n\n /**\n * Function that returns day of the week in javascript 1 to 7\n *\n * @method _iWeek\n * @param {String} week Week's day name\n * @return {Number} The week's day index\n * @private\n * @static\n * @example\n * console.log( InkDate._iWeek('quarta') ); // Result: 3\n */\n _iWeek: function( week )\n {\n if ( Number( week ) ) { return +week || 7; }\n return {\n 'segunda' : 1 ,\n 'seg' : 1 ,\n 'terça' : 2 ,\n 'ter' : 2 ,\n 'quarta' : 3 ,\n 'qua' : 3 ,\n 'quinta' : 4 ,\n 'qui' : 4 ,\n 'sexta' : 5 ,\n 'sex' : 5 ,\n 'sábado' : 6 ,\n 'sáb' : 6 ,\n 'domingo' : 7 ,\n 'dom' : 7\n }[ week.toLowerCase( ) ];\n },\n\n /**\n * Function that returns the number of days of a given month (m) on a given year (y)\n *\n * @method _daysInMonth\n * @param {Number} _m Month\n * @param {Number} _y Year\n * @return {Number} Number of days of a give month on a given year\n * @private\n * @static\n * @example\n * console.log( InkDate._daysInMonth(2,2013) ); // Result: 28\n */\n _daysInMonth: function(_m,_y){\n var nDays;\n\n if(_m===1 || _m===3 || _m===5 || _m===7 || _m===8 || _m===10 || _m===12)\n {\n nDays= 31;\n }\n else if ( _m===4 || _m===6 || _m===9 || _m===11)\n {\n nDays = 30;\n }\n else\n {\n if((_y%400===0) || (_y%4===0 && _y%100!==0))\n {\n nDays = 29;\n }\n else\n {\n nDays = 28;\n }\n }\n return nDays;\n },\n\n /**\n * Formats a date object.\n * This works exactly as php date() function. http://php.net/manual/en/function.date.php\n *\n * @method get\n * @param {String} format The format in which the date it will be formatted.\n * @param {Date} [_date] The date to format. Can receive unix timestamp or a date object. Defaults to current time.\n * @return {String} Formatted date\n * @public\n * @static\n * @sample Ink_Util_Date_get.html \n */\n get: function(format, _date){\n /*jshint maxcomplexity:65 */\n if(typeof(format) === 'undefined' || format === ''){\n format = \"Y-m-d\";\n }\n\n\n var iFormat = format.split(\"\");\n var result = new Array(iFormat.length);\n var escapeChar = \"\\\\\";\n var jsDate;\n\n if (typeof(_date) === 'undefined'){\n jsDate = new Date();\n } else if (typeof(_date)==='number'){\n jsDate = new Date(_date*1000);\n } else {\n jsDate = new Date(_date);\n }\n\n var jsFirstDay, jsThisDay, jsHour;\n /* This switch is presented in the same order as in php date function (PHP 5.2.2) */\n for (var i = 0; i < iFormat.length; i++) {\n switch(iFormat[i]) {\n case escapeChar:\n result[i] = iFormat[i+1];\n i++;\n break;\n\n\n /* DAY */\n case \"d\": /* Day of the month, 2 digits with leading zeros; ex: 01 to 31 */\n var jsDay = jsDate.getDate();\n result[i] = (String(jsDay).length > 1) ? jsDay : \"0\" + jsDay;\n break;\n\n case \"D\": /* A textual representation of a day, three letters; Seg to Dom */\n result[i] = this._wDays(jsDate.getDay()).substring(0, 3);\n break;\n\n case \"j\": /* Day of the month without leading zeros; ex: 1 to 31 */\n result[i] = jsDate.getDate();\n break;\n\n case \"l\": /* A full textual representation of the day of the week; Domingo to Sabado */\n result[i] = this._wDays(jsDate.getDay());\n break;\n\n case \"N\": /* ISO-8601 numeric representation of the day of the week; 1 (Segunda) to 7 (Domingo) */\n result[i] = jsDate.getDay() || 7;\n break;\n\n case \"S\": /* English ordinal suffix for the day of the month, 2 characters; st, nd, rd or th. Works well with j */\n var temp = jsDate.getDate();\n var suffixes = [\"st\", \"nd\", \"rd\"];\n var suffix = \"\";\n\n if (temp >= 11 && temp <= 13) {\n result[i] = \"th\";\n } else {\n result[i] = (suffix = suffixes[String(temp).substr(-1) - 1]) ? (suffix) : (\"th\");\n }\n break;\n\n case \"w\": /* Numeric representation of the day of the week; 0 (for Sunday) through 6 (for Saturday) */\n result[i] = jsDate.getDay();\n break;\n\n case \"z\": /* The day of the year (starting from 0); 0 to 365 */\n jsFirstDay = Date.UTC(jsDate.getFullYear(), 0, 0);\n jsThisDay = Date.UTC(jsDate.getFullYear(), jsDate.getMonth(), jsDate.getDate());\n result[i] = Math.floor((jsThisDay - jsFirstDay) / (1000 * 60 * 60 * 24));\n break;\n\n /* WEEK */\n case \"W\": /* ISO-8601 week number of year, weeks starting on Monday; ex: 42 (the 42nd week in the year) */\n var jsYearStart = new Date( jsDate.getFullYear( ) , 0 , 1 );\n jsFirstDay = jsYearStart.getDay() || 7;\n\n var days = Math.floor( ( jsDate - jsYearStart ) / ( 24 * 60 * 60 * 1000 ) + 1 );\n\n result[ i ] = Math.ceil( ( days - ( 8 - jsFirstDay ) ) / 7 ) + 1;\n break;\n\n\n /* MONTH */\n case \"F\": /* A full textual representation of a month, such as Janeiro or Marco; Janeiro a Dezembro */\n result[i] = this._months(jsDate.getMonth());\n break;\n\n case \"m\": /* Numeric representation of a month, with leading zeros; 01 to 12 */\n var jsMonth = String(jsDate.getMonth() + 1);\n result[i] = (jsMonth.length > 1) ? jsMonth : \"0\" + jsMonth;\n break;\n\n case \"M\": /* A short textual representation of a month, three letters; Jan a Dez */\n result[i] = this._months(jsDate.getMonth()).substring(0,3);\n break;\n\n case \"n\": /* Numeric representation of a month, without leading zeros; 1 a 12 */\n result[i] = jsDate.getMonth() + 1;\n break;\n\n case \"t\": /* Number of days in the given month; ex: 28 */\n result[i] = this._daysInMonth(jsDate.getMonth()+1,jsDate.getYear());\n break;\n\n /* YEAR */\n case \"L\": /* Whether it's a leap year; 1 if it is a leap year, 0 otherwise. */\n var jsYear = jsDate.getFullYear();\n result[i] = (jsYear % 4) ? false : ( (jsYear % 100) ? true : ( (jsYear % 400) ? false : true ) );\n break;\n\n case \"o\": /* ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. */\n throw '\"o\" not implemented!';\n\n case \"Y\": /* A full numeric representation of a year, 4 digits; 1999 */\n result[i] = jsDate.getFullYear();\n break;\n\n case \"y\": /* A two digit representation of a year; 99 */\n result[i] = String(jsDate.getFullYear()).substring(2);\n break;\n\n /* TIME */\n case \"a\": /* Lowercase Ante meridiem and Post meridiem; am or pm */\n result[i] = (jsDate.getHours() < 12) ? \"am\" : \"pm\";\n break;\n\n case \"A\": /* Uppercase Ante meridiem and Post meridiem; AM or PM */\n result[i] = (jsDate.getHours < 12) ? \"AM\" : \"PM\";\n break;\n\n case \"B\": /* Swatch Internet time; 000 through 999 */\n throw '\"B\" not implemented!';\n\n case \"g\": /* 12-hour format of an hour without leading zeros; 1 to 12 */\n jsHour = jsDate.getHours();\n result[i] = (jsHour <= 12) ? jsHour : (jsHour - 12);\n break;\n\n case \"G\": /* 24-hour format of an hour without leading zeros; 1 to 23 */\n result[i] = String(jsDate.getHours());\n break;\n\n case \"h\": /* 12-hour format of an hour with leading zeros; 01 to 12 */\n jsHour = String(jsDate.getHours());\n jsHour = (jsHour <= 12) ? jsHour : (jsHour - 12);\n result[i] = (jsHour.length > 1) ? jsHour : \"0\" + jsHour;\n break;\n\n case \"H\": /* 24-hour format of an hour with leading zeros; 01 to 24 */\n jsHour = String(jsDate.getHours());\n result[i] = (jsHour.length > 1) ? jsHour : \"0\" + jsHour;\n break;\n\n case \"i\": /* Minutes with leading zeros; 00 to 59 */\n var jsMinute = String(jsDate.getMinutes());\n result[i] = (jsMinute.length > 1) ? jsMinute : \"0\" + jsMinute;\n break;\n\n case \"s\": /* Seconds with leading zeros; 00 to 59; */\n var jsSecond = String(jsDate.getSeconds());\n result[i] = (jsSecond.length > 1) ? jsSecond : \"0\" + jsSecond;\n break;\n\n case \"u\": /* Microseconds */\n throw '\"u\" not implemented!';\n\n\n /* TIMEZONE */\n\n case \"e\": /* Timezone identifier */\n throw '\"e\" not implemented!';\n\n case \"I\": /* \"1\" if Daylight Savings Time, \"0\" otherwise. Works only on the northern hemisphere */\n jsFirstDay = new Date(jsDate.getFullYear(), 0, 1);\n result[i] = (jsDate.getTimezoneOffset() !== jsFirstDay.getTimezoneOffset()) ? (1) : (0);\n break;\n\n case \"O\": /* Difference to Greenwich time (GMT) in hours */\n var jsMinZone = jsDate.getTimezoneOffset();\n var jsMinutes = jsMinZone % 60;\n jsHour = String(((jsMinZone - jsMinutes) / 60) * -1);\n\n if (jsHour.charAt(0) !== \"-\") {\n jsHour = \"+\" + jsHour;\n }\n\n jsHour = (jsHour.length === 3) ? (jsHour) : (jsHour.replace(/([+\\-])(\\d)/, \"$1\" + 0 + \"$2\"));\n result[i] = jsHour + jsMinutes + \"0\";\n break;\n\n case \"P\": /* Difference to Greenwich time (GMT) with colon between hours and minutes */\n throw '\"P\" not implemented!';\n\n case \"T\": /* Timezone abbreviation */\n throw '\"T\" not implemented!';\n\n case \"Z\": /* Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. */\n result[i] = jsDate.getTimezoneOffset() * 60;\n break;\n\n\n /* FULL DATE/TIME */\n\n case \"c\": /* ISO 8601 date */\n throw '\"c\" not implemented!';\n\n case \"r\": /* RFC 2822 formatted date */\n var jsDayName = this._wDays(jsDate.getDay()).substr(0, 3);\n var jsMonthName = this._months(jsDate.getMonth()).substr(0, 3);\n result[i] = jsDayName + \", \" + jsDate.getDate() + \" \" + jsMonthName + this.get(\" Y H:i:s O\",jsDate);\n break;\n\n case \"U\": /* Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) */\n result[i] = Math.floor(jsDate.getTime() / 1000);\n break;\n\n default:\n result[i] = iFormat[i];\n }\n }\n\n return result.join('');\n\n },\n\n /**\n * Creates a date object based on a format string.\n * This works exactly as php date() function. http://php.net/manual/en/function.date.php\n *\n * @method set\n * @param {String} [format] The format in which the date will be formatted. Defaults to 'Y-m-d'\n * @param {String} str_date The date formatted.\n * @return {Date} Date object based on the formatted date and format\n * @public\n * @static\n * @sample Ink_Util_Date_set.html \n */\n set : function( format , str_date ) {\n if ( typeof str_date === 'undefined' ) { return ; }\n if ( typeof format === 'undefined' || format === '' ) { format = \"Y-m-d\"; }\n\n var iFormat = format.split(\"\");\n var result = new Array( iFormat.length );\n var escapeChar = \"\\\\\";\n var mList;\n\n var objIndex = {\n year : undefined ,\n month : undefined ,\n day : undefined ,\n dayY : undefined ,\n dayW : undefined ,\n week : undefined ,\n hour : undefined ,\n hourD : undefined ,\n min : undefined ,\n sec : undefined ,\n msec : undefined ,\n ampm : undefined ,\n diffM : undefined ,\n diffH : undefined ,\n date : undefined\n };\n\n var matches = 0;\n\n /* This switch is presented in the same order as in php date function (PHP 5.2.2) */\n for ( var i = 0; i < iFormat.length; i++) {\n switch( iFormat[ i ] ) {\n case escapeChar:\n result[i] = iFormat[ i + 1 ];\n i++;\n break;\n\n /* DAY */\n case \"d\": /* Day of the month, 2 digits with leading zeros; ex: 01 to 31 */\n result[ i ] = '(\\\\d{2})';\n objIndex.day = { original : i , match : matches++ };\n break;\n\n case \"j\": /* Day of the month without leading zeros; ex: 1 to 31 */\n result[ i ] = '(\\\\d{1,2})';\n objIndex.day = { original : i , match : matches++ };\n break;\n\n case \"D\": /* A textual representation of a day, three letters; Seg to Dom */\n result[ i ] = '([\\\\wá]{3})';\n objIndex.dayW = { original : i , match : matches++ };\n break;\n\n case \"l\": /* A full textual representation of the day of the week; Domingo to Sabado */\n result[i] = '([\\\\wá]{5,7})';\n objIndex.dayW = { original : i , match : matches++ };\n break;\n\n case \"N\": /* ISO-8601 numeric representation of the day of the week; 1 (Segunda) to 7 (Domingo) */\n result[ i ] = '(\\\\d)';\n objIndex.dayW = { original : i , match : matches++ };\n break;\n\n case \"w\": /* Numeric representation of the day of the week; 0 (for Sunday) through 6 (for Saturday) */\n result[ i ] = '(\\\\d)';\n objIndex.dayW = { original : i , match : matches++ };\n break;\n\n case \"S\": /* English ordinal suffix for the day of the month, 2 characters; st, nd, rd or th. Works well with j */\n result[ i ] = '\\\\w{2}';\n break;\n\n case \"z\": /* The day of the year (starting from 0); 0 to 365 */\n result[ i ] = '(\\\\d{1,3})';\n objIndex.dayY = { original : i , match : matches++ };\n break;\n\n /* WEEK */\n case \"W\": /* ISO-8601 week number of year, weeks starting on Monday; ex: 42 (the 42nd week in the year) */\n result[ i ] = '(\\\\d{1,2})';\n objIndex.week = { original : i , match : matches++ };\n break;\n\n /* MONTH */\n case \"F\": /* A full textual representation of a month, such as Janeiro or Marco; Janeiro a Dezembro */\n result[ i ] = '([\\\\wç]{4,9})';\n objIndex.month = { original : i , match : matches++ };\n break;\n\n case \"M\": /* A short textual representation of a month, three letters; Jan a Dez */\n result[ i ] = '(\\\\w{3})';\n objIndex.month = { original : i , match : matches++ };\n break;\n\n case \"m\": /* Numeric representation of a month, with leading zeros; 01 to 12 */\n result[ i ] = '(\\\\d{2})';\n objIndex.month = { original : i , match : matches++ };\n break;\n\n case \"n\": /* Numeric representation of a month, without leading zeros; 1 a 12 */\n result[ i ] = '(\\\\d{1,2})';\n objIndex.month = { original : i , match : matches++ };\n break;\n\n case \"t\": /* Number of days in the given month; ex: 28 */\n result[ i ] = '\\\\d{2}';\n break;\n\n /* YEAR */\n case \"L\": /* Whether it's a leap year; 1 if it is a leap year, 0 otherwise. */\n result[ i ] = '\\\\w{4,5}';\n break;\n\n case \"o\": /* ISO-8601 year number. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. */\n throw '\"o\" not implemented!';\n\n case \"Y\": /* A full numeric representation of a year, 4 digits; 1999 */\n result[ i ] = '(\\\\d{4})';\n objIndex.year = { original : i , match : matches++ };\n break;\n\n case \"y\": /* A two digit representation of a year; 99 */\n result[ i ] = '(\\\\d{2})';\n if ( typeof objIndex.year === 'undefined' || iFormat[ objIndex.year.original ] !== 'Y' ) {\n objIndex.year = { original : i , match : matches++ };\n }\n break;\n\n /* TIME */\n case \"a\": /* Lowercase Ante meridiem and Post meridiem; am or pm */\n result[ i ] = '(am|pm)';\n objIndex.ampm = { original : i , match : matches++ };\n break;\n\n case \"A\": /* Uppercase Ante meridiem and Post meridiem; AM or PM */\n result[ i ] = '(AM|PM)';\n objIndex.ampm = { original : i , match : matches++ };\n break;\n\n case \"B\": /* Swatch Internet time; 000 through 999 */\n throw '\"B\" not implemented!';\n\n case \"g\": /* 12-hour format of an hour without leading zeros; 1 to 12 */\n result[ i ] = '(\\\\d{1,2})';\n objIndex.hourD = { original : i , match : matches++ };\n break;\n\n case \"G\": /* 24-hour format of an hour without leading zeros; 1 to 23 */\n result[ i ] = '(\\\\d{1,2})';\n objIndex.hour = { original : i , match : matches++ };\n break;\n\n case \"h\": /* 12-hour format of an hour with leading zeros; 01 to 12 */\n result[ i ] = '(\\\\d{2})';\n objIndex.hourD = { original : i , match : matches++ };\n break;\n\n case \"H\": /* 24-hour format of an hour with leading zeros; 01 to 24 */\n result[ i ] = '(\\\\d{2})';\n objIndex.hour = { original : i , match : matches++ };\n break;\n\n case \"i\": /* Minutes with leading zeros; 00 to 59 */\n result[ i ] = '(\\\\d{2})';\n objIndex.min = { original : i , match : matches++ };\n break;\n\n case \"s\": /* Seconds with leading zeros; 00 to 59; */\n result[ i ] = '(\\\\d{2})';\n objIndex.sec = { original : i , match : matches++ };\n break;\n\n case \"u\": /* Microseconds */\n throw '\"u\" not implemented!';\n\n /* TIMEZONE */\n case \"e\": /* Timezone identifier */\n throw '\"e\" not implemented!';\n\n case \"I\": /* \"1\" if Daylight Savings Time, \"0\" otherwise. Works only on the northern hemisphere */\n result[i] = '\\\\d';\n break;\n\n case \"O\": /* Difference to Greenwich time (GMT) in hours */\n result[ i ] = '([-+]\\\\d{4})';\n objIndex.diffH = { original : i , match : matches++ };\n break;\n\n case \"P\": /* Difference to Greenwich time (GMT) with colon between hours and minutes */\n throw '\"P\" not implemented!';\n\n case \"T\": /* Timezone abbreviation */\n throw '\"T\" not implemented!';\n\n case \"Z\": /* Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. */\n result[ i ] = '(\\\\-?\\\\d{1,5})';\n objIndex.diffM = { original : i , match : matches++ };\n break;\n\n /* FULL DATE/TIME */\n case \"c\": /* ISO 8601 date */\n throw '\"c\" not implemented!';\n\n case \"r\": /* RFC 2822 formatted date */\n result[ i ] = '([\\\\wá]{3}, \\\\d{1,2} \\\\w{3} \\\\d{4} \\\\d{2}:\\\\d{2}:\\\\d{2} [+\\\\-]\\\\d{4})';\n objIndex.date = { original : i , match : matches++ };\n break;\n\n case \"U\": /* Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) */\n result[ i ] = '(\\\\d{1,13})';\n objIndex.date = { original : i , match : matches++ };\n break;\n\n default:\n result[ i ] = iFormat[ i ];\n }\n }\n\n var pattr = new RegExp( result.join('') );\n\n try {\n mList = str_date.match( pattr );\n if ( !mList ) { return; }\n }\n catch ( e ) { return ; }\n\n var _haveDatetime = typeof objIndex.date !== 'undefined';\n\n var _haveYear = typeof objIndex.year !== 'undefined';\n\n var _haveYDay = typeof objIndex.dayY !== 'undefined';\n\n var _haveDay = typeof objIndex.day !== 'undefined';\n var _haveMonth = typeof objIndex.month !== 'undefined';\n var _haveMonthDay = _haveMonth && _haveDay;\n var _haveOnlyDay = !_haveMonth && _haveDay;\n\n var _haveWDay = typeof objIndex.dayW !== 'undefined';\n var _haveWeek = typeof objIndex.week !== 'undefined';\n var _haveWeekWDay = _haveWeek && _haveWDay;\n var _haveOnlyWDay = !_haveWeek && _haveWDay;\n\n var _validDate = _haveYDay || _haveMonthDay || !_haveYear && _haveOnlyDay || _haveWeekWDay || !_haveYear && _haveOnlyWDay;\n var _noDate = !_haveYear && !_haveYDay && !_haveDay && !_haveMonth && !_haveWDay && !_haveWeek;\n\n var _haveHour12 = typeof objIndex.hourD !== 'undefined' && typeof objIndex.ampm !== 'undefined';\n var _haveHour24 = typeof objIndex.hour !== 'undefined';\n var _haveHour = _haveHour12 || _haveHour24;\n\n var _haveMin = typeof objIndex.min !== 'undefined';\n var _haveSec = typeof objIndex.sec !== 'undefined';\n var _haveMSec = typeof objIndex.msec !== 'undefined';\n\n var _haveMoreM = !_noDate || _haveHour;\n var _haveMoreS = _haveMoreM || _haveMin;\n\n var _haveDiffM = typeof objIndex.diffM !== 'undefined';\n var _haveDiffH = typeof objIndex.diffH !== 'undefined';\n //var _haveGMT = _haveDiffM || _haveDiffH;\n var hour;\n var min;\n\n if ( _haveDatetime ) {\n if ( iFormat[ objIndex.date.original ] === 'U' ) {\n return new Date( +mList[ objIndex.date.match + 1 ] * 1000 );\n }\n\n var dList = mList[ objIndex.date.match + 1 ].match( /\\w{3}, (\\d{1,2}) (\\w{3}) (\\d{4}) (\\d{2}):(\\d{2}):(\\d{2}) ([+\\-]\\d{4})/ );\n hour = +dList[ 4 ] + ( +dList[ 7 ].slice( 0 , 3 ) );\n min = +dList[ 5 ] + ( dList[ 7 ].slice( 0 , 1 ) + dList[ 7 ].slice( 3 ) ) / 100 * 60;\n\n return new Date( dList[ 3 ] , this._iMonth( dList[ 2 ] ) , dList[ 1 ] , hour , min , dList[ 6 ] );\n }\n\n var _d = new Date( );\n var year;\n var month;\n var day;\n var sec;\n var msec;\n var gmt;\n\n if ( !_validDate && !_noDate ) { return ; }\n\n if ( _validDate ) {\n if ( _haveYear ) {\n var _y = _d.getFullYear( ) - 50 + '';\n year = mList[ objIndex.year.match + 1 ];\n if ( iFormat[ objIndex.year.original ] === 'y' ) {\n year = +_y.slice( 0 , 2 ) + ( year >= ( _y ).slice( 2 ) ? 0 : 1 ) + year;\n }\n } else {\n year = _d.getFullYear();\n }\n\n if ( _haveYDay ) {\n month = 0;\n day = mList[ objIndex.dayY.match + 1 ];\n } else if ( _haveDay ) {\n if ( _haveMonth ) {\n month = this._iMonth( mList[ objIndex.month.match + 1 ] );\n } else {\n month = _d.getMonth( );\n }\n\n day = mList[ objIndex.day.match + 1 ];\n } else {\n month = 0;\n\n var week;\n if ( _haveWeek ) {\n week = mList[ objIndex.week.match + 1 ];\n } else {\n week = this.get( 'W' , _d );\n }\n\n day = ( week - 2 ) * 7 + ( 8 - ( ( new Date( year , 0 , 1 ) ).getDay( ) || 7 ) ) + this._iWeek( mList[ objIndex.week.match + 1 ] );\n }\n\n if ( month === 0 && day > 31 ) {\n var aux = new Date( year , month , day );\n month = aux.getMonth( );\n day = aux.getDate( );\n }\n }\n else {\n year = _d.getFullYear( );\n month = _d.getMonth( );\n day = _d.getDate( );\n }\n\n if ( _haveHour12 ) { hour = +mList[ objIndex.hourD.match + 1 ] + ( mList[ objIndex.ampm.match + 1 ] === 'pm' ? 12 : 0 ); }\n else if ( _haveHour24 ) { hour = mList[ objIndex.hour.match + 1 ]; }\n else if ( _noDate ) { hour = _d.getHours( ); }\n else { hour = '00'; }\n\n if ( _haveMin ) { min = mList[ objIndex.min.match + 1 ]; }\n else if ( !_haveMoreM ) { min = _d.getMinutes( ); }\n else { min = '00'; }\n\n if ( _haveSec ) { sec = mList[ objIndex.sec.match + 1 ]; }\n else if ( !_haveMoreS ) { sec = _d.getSeconds( ); }\n else { sec = '00'; }\n\n if ( _haveMSec ) { msec = mList[ objIndex.msec.match + 1 ]; }\n else { msec = '000'; }\n\n if ( _haveDiffH ) { gmt = mList[ objIndex.diffH.match + 1 ]; }\n else if ( _haveDiffM ) { gmt = String( -1 * mList[ objIndex.diffM.match + 1 ] / 60 * 100 ).replace( /^(\\d)/ , '+$1' ).replace( /(^[\\-+])(\\d{3}$)/ , '$10$2' ); }\n else { gmt = '+0000'; }\n\n return new Date( year, month, day, hour, min, sec );\n }\n };\n\n\n return InkDate;\n\n});\n","/**\n * Dump/Profiling Utilities\n * @module Ink.Util.Dumper_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.Dumper', '1', [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Util.Dumper_1 \n */\n\n var Dumper = {\n\n /**\n * Hex code for the 'tab'\n * \n * @property _tab\n * @type {String}\n * @private\n * @readOnly\n * @static\n *\n */\n _tab: '\\xA0\\xA0\\xA0\\xA0',\n\n /**\n * Function that returns the argument passed formatted\n *\n * @method _formatParam\n * @param {Mixed} param\n * @return {String} The argument passed formatted\n * @private\n * @static\n */\n _formatParam: function(param)\n {\n var formated = '';\n\n switch(typeof(param)) {\n case 'string':\n formated = '(string) '+param;\n break;\n case 'number':\n formated = '(number) '+param;\n break;\n case 'boolean':\n formated = '(boolean) '+param;\n break;\n case 'object':\n if(param !== null) {\n if(param.constructor === Array) {\n formated = 'Array \\n{\\n' + this._outputFormat(param, 0) + '\\n}';\n } else {\n formated = 'Object \\n{\\n' + this._outputFormat(param, 0) + '\\n}';\n }\n } else {\n formated = 'null';\n }\n break;\n default:\n formated = false;\n }\n\n return formated;\n },\n\n /**\n * Function that returns the tabs concatenated\n *\n * @method _getTabs\n * @param {Number} numberOfTabs Number of Tabs\n * @return {String} Tabs concatenated\n * @private\n * @static\n */\n _getTabs: function(numberOfTabs)\n {\n var tabs = '';\n for(var _i = 0; _i < numberOfTabs; _i++) {\n tabs += this._tab;\n }\n return tabs;\n },\n\n /**\n * Function that formats the parameter to display.\n *\n * @method _outputFormat\n * @param {Any} param\n * @param {Number} dim\n * @return {String} The parameter passed formatted to displat\n * @private\n * @static\n */\n _outputFormat: function(param, dim)\n {\n var formated = '';\n //var _strVal = false;\n var _typeof = false;\n for(var key in param) {\n if(param[key] !== null) {\n if(typeof(param[key]) === 'object' && (param[key].constructor === Array || param[key].constructor === Object)) {\n if(param[key].constructor === Array) {\n _typeof = 'Array';\n } else if(param[key].constructor === Object) {\n _typeof = 'Object';\n }\n formated += this._tab + this._getTabs(dim) + '[' + key + '] => '+_typeof+'\\n';\n formated += this._tab + this._getTabs(dim) + '{\\n';\n formated += this._outputFormat(param[key], dim + 1) + this._tab + this._getTabs(dim) + '}\\n';\n } else if(param[key].constructor === Function) {\n continue;\n } else {\n formated = formated + this._tab + this._getTabs(dim) + '[' + key + '] => ' + param[key] + '\\n';\n }\n } else {\n formated = formated + this._tab + this._getTabs(dim) + '[' + key + '] => null \\n';\n }\n }\n return formated;\n },\n\n /**\n * Prints variable structure.\n *\n * @method printDump\n * @param {Any} param Variable to be dumped.\n * @param {DOMElement|String} [target] Element to print the dump on.\n * @public\n * @static\n * @sample Ink_Util_Dumper_printDump.html \n */\n printDump: function(param, target)\n {\n /*jshint evil:true */\n if(!target || typeof(target) === 'undefined') {\n document.write('
              '+this._formatParam(param)+'
              ');\n } else {\n if(typeof(target) === 'string') {\n document.getElementById(target).innerHTML = '
              ' + this._formatParam(param) + '
              ';\n } else if(typeof(target) === 'object') {\n target.innerHTML = '
              '+this._formatParam(param)+'
              ';\n } else {\n throw \"TARGET must be an element or an element ID\";\n }\n }\n },\n\n /**\n * Get a variable's structure.\n *\n * @method returnDump\n * @param {Any} param Variable to get the structure.\n * @return {String} The variable's structure.\n * @public\n * @static\n * @sample Ink_Util_Dumper_returnDump.html \n */\n returnDump: function(param)\n {\n return this._formatParam(param);\n },\n\n /**\n * Alert a variable's structure.\n *\n * @method alertDump\n * @param {Any} param Variable to be dumped.\n * @public\n * @static\n * @sample Ink_Util_Dumper_alertDump.html \n */\n alertDump: function(param)\n {\n window.alert(this._formatParam(param).replace(/()(Array|Object)(<\\/b>)/g, \"$2\"));\n },\n\n /**\n * Prints the variable structure to a new window.\n *\n * @method windowDump\n * @param {Any} param Variable to be dumped.\n * @public\n * @static\n * @sample Ink_Util_Dumper_windowDump.html \n */\n windowDump: function(param)\n {\n var dumperwindow = 'dumperwindow_'+(Math.random() * 10000);\n var win = window.open('',\n dumperwindow,\n 'width=400,height=300,left=50,top=50,status,menubar,scrollbars,resizable'\n );\n win.document.open();\n win.document.write('
              '+this._formatParam(param)+'
              ');\n win.document.close();\n win.focus();\n }\n\n };\n\n return Dumper;\n\n});\n","/**\n * Internationalization Utilities \n * @module Ink.Util.I18n_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.I18n', '1', [], function () {\n 'use strict';\n\n var pattrText = /\\{(?:(\\{.*?})|(?:%s:)?(\\d+)|(?:%s)?|([\\w-]+))}/g;\n\n var funcOrVal = function( ret , args ) {\n if ( typeof ret === 'function' ) {\n return ret.apply(this, args);\n } else if (typeof ret !== undefined) {\n return ret;\n } else {\n return '';\n }\n };\n\n /**\n * You can use this module to internationalize your applications. It roughly emulates GNU gettext's API.\n *\n * @class Ink.Util.I18n\n * @constructor\n *\n * @param {Object} dict Object mapping language codes (in the form of `pt_PT`, `pt_BR`, `fr`, `en_US`, etc.) to their `dictionaries`\n * @param {String} [lang='pt_PT'] language code of the target language\n *\n * @sample Ink_Util_I18n_1.html\n */\n var I18n = function( dict , lang , testMode ) {\n if ( !( this instanceof I18n ) ) { return new I18n( dict , lang , testMode ); }\n\n this.reset( )\n .lang( lang )\n .testMode( testMode )\n .append( dict || { } , lang );\n };\n\n I18n.prototype = {\n reset: function( ) {\n this._dicts = [ ];\n this._dict = { };\n this._testMode = false;\n this._lang = this._gLang;\n\n return this;\n },\n /**\n * Adds translation strings for the helper to use.\n *\n * @method append\n * @param {Object} dict Object containing language objects identified by their language code\n *\n * @sample Ink_Util_I18n_1_append.html\n */\n append: function( dict ) {\n this._dicts.push( dict );\n\n this._dict = Ink.extendObj(this._dict , dict[ this._lang ] );\n\n return this;\n },\n /**\n * Gets or sets the language.\n * If there are more dictionaries available in cache, they will be loaded.\n *\n * @method lang\n * @param {String} lang Language code to set this instance to.\n */\n lang: function( lang ) {\n if ( !arguments.length ) { return this._lang; }\n\n if ( lang && this._lang !== lang ) {\n this._lang = lang;\n\n this._dict = { };\n\n for ( var i = 0, l = this._dicts.length; i < l; i++ ) {\n this._dict = Ink.extendObj( this._dict , this._dicts[ i ][ lang ] || { } );\n }\n }\n\n return this;\n },\n /**\n * Sets or unsets test mode.\n * In test mode, unknown strings are wrapped in `[ ... ]`. This is useful for debugging your application and to make sure all your translation keys are in place.\n *\n * @method testMode\n * @param {Boolean} bool Flag to set the test mode state\n */\n testMode: function( bool ) {\n if ( !arguments.length ) { return !!this._testMode; }\n\n if ( bool !== undefined ) { this._testMode = !!bool; }\n\n return this;\n },\n\n /**\n * Gest a key from the current dictionary\n *\n * @method getKey\n * @param {String} key\n * @return {Mixed} The object which happened to be in the current language dictionary on the given key.\n *\n * @sample Ink_Util_I18n_1_getKey.html\n */\n getKey: function( key ) {\n var ret;\n var gLang = this._gLang;\n var lang = this._lang;\n \n if ( key in this._dict ) {\n ret = this._dict[ key ];\n } else {\n I18n.langGlobal( lang );\n \n ret = this._gDict[ key ];\n \n I18n.langGlobal( gLang );\n }\n \n return ret;\n },\n\n /**\n * Translates a string.\n * Given a translation key, return a translated string, with replaced parameters.\n * When a translated string is not available, the original string is returned unchanged.\n *\n * @method text\n * @param {String} str Key to look for in i18n dictionary (which is returned verbatim if unknown)\n * @param {Object} [namedParms] Named replacements. Replaces {named} with values in this object.\n * @param {String} [args] Replacement #1 (replaces first {} and all {1})\n * @param {String} [arg2] Replacement #2 (replaces second {} and all {2})\n * @param {String} [argn*] Replacement #n (replaces nth {} and all {n})\n *\n * @sample Ink_Util_I18n_1_text.html\n */\n text: function( str /*, replacements...*/ ) {\n if ( typeof str !== 'string' ) { return; } // Backwards-compat\n\n var pars = Array.prototype.slice.call( arguments , 1 );\n var idx = 0;\n var isObj = typeof pars[ 0 ] === 'object';\n\n var original = this.getKey( str );\n if ( original === undefined ) { original = this._testMode ? '[' + str + ']' : str; }\n if ( typeof original === 'number' ) { original += ''; }\n\n if (typeof original === 'string') {\n original = original.replace( pattrText , function( m , $1 , $2 , $3 ) {\n var ret =\n $1 ? $1 :\n $2 ? pars[ $2 - ( isObj ? 0 : 1 ) ] :\n $3 ? pars[ 0 ][ $3 ] || '' :\n pars[ (idx++) + ( isObj ? 1 : 0 ) ];\n return funcOrVal( ret , [idx].concat(pars) );\n });\n return original;\n }\n \n return (\n typeof original === 'function' ? original.apply( this , pars ) :\n original instanceof Array ? funcOrVal( original[ pars[ 0 ] ] , pars ) :\n typeof original === 'object' ? funcOrVal( original[ pars[ 0 ] ] , pars ) :\n '');\n },\n\n /**\n * Translates and pluralizes text.\n * Given a singular string, a plural string and a number, translates either the singular or plural string.\n *\n * @method ntext\n * @return {String}\n *\n * @param {String} strSin Word to use when count is 1\n * @param {String} strPlur Word to use otherwise\n * @param {Number} count Number which defines which word to use\n * @param [args*] Extra arguments, to be passed to `text()`\n *\n * @sample Ink_Util_I18n_1_ntext.html\n */\n ntext: function( strSin , strPlur , count ) {\n var pars = Array.prototype.slice.apply( arguments );\n var original;\n\n if ( pars.length === 2 && typeof strPlur === 'number' ) {\n original = this.getKey( strSin );\n if ( !( original instanceof Array ) ) { return ''; }\n\n pars.splice( 0 , 1 );\n original = original[ strPlur === 1 ? 0 : 1 ];\n } else {\n pars.splice( 0 , 2 );\n original = count === 1 ? strSin : strPlur;\n }\n\n return this.text.apply( this , [ original ].concat( pars ) );\n },\n\n /**\n * Gets the ordinal suffix of a number.\n *\n * This works by using transforms (in the form of Objects or Functions) passed into the function or found in the special key `_ordinals` in the active language dictionary.\n *\n * @method ordinal\n *\n * @param {Number} num Input number\n * @param {Object|Function} [options]={} Dictionaries for translating. Each of these options' fallback is found in the current language's dictionary. The lookup order is the following: `exceptions`, `byLastDigit`, `default`. Each of these may be either an `Object` or a `Function`. If it's a function, it is called (with `number` and `digit` for any function except for byLastDigit, which is called with the `lastDigit` of the number in question), and if the function returns a string, that is used. If it's an object, the property is looked up using `obj[prop]`. If what is found is a string, it is used directly.\n * @param {Object|Function} [options.byLastDigit]={} If the language requires the last digit to be considered, mappings of last digits to ordinal suffixes can be created here.\n * @param {Object|Function} [options.exceptions]={} Map unique, special cases to their ordinal suffixes.\n *\n * @returns {String} Ordinal suffix for `num`.\n *\n * @sample Ink_Util_I18n_1_ordinal.html\n **/\n ordinal: function( num ) {\n if ( num === undefined ) { return ''; }\n\n var lastDig = +num.toString( ).slice( -1 );\n\n var ordDict = this.getKey( '_ordinals' );\n if ( ordDict === undefined ) { return ''; }\n\n if ( typeof ordDict === 'string' ) { return ordDict; }\n\n var ret;\n\n if ( typeof ordDict === 'function' ) {\n ret = ordDict( num , lastDig );\n\n if ( typeof ret === 'string' ) { return ret; }\n }\n\n if ( 'exceptions' in ordDict ) {\n ret = typeof ordDict.exceptions === 'function' ? ordDict.exceptions( num , lastDig ) :\n num in ordDict.exceptions ? funcOrVal( ordDict.exceptions[ num ] , [num , lastDig] ) :\n undefined;\n\n if ( typeof ret === 'string' ) { return ret; }\n }\n\n if ( 'byLastDigit' in ordDict ) {\n ret = typeof ordDict.byLastDigit === 'function' ? ordDict.byLastDigit( lastDig , num ) :\n lastDig in ordDict.byLastDigit ? funcOrVal( ordDict.byLastDigit[ lastDig ] , [lastDig , num] ) :\n undefined;\n\n if ( typeof ret === 'string' ) { return ret; }\n }\n\n if ( 'default' in ordDict ) {\n ret = funcOrVal( ordDict['default'] , [ num , lastDig ] );\n\n if ( typeof ret === 'string' ) { return ret; }\n }\n\n return '';\n },\n\n /**\n * Create an alias.\n *\n * Returns an alias to this I18n instance. It contains the I18n methods documented here, but is also a function. If you call it, it just calls `text()`. This is commonly assigned to \"_\".\n *\n * @method alias\n * @returns {Function} an alias to `text()` on this instance. You can also access the rest of the translation API through this alias.\n *\n * @sample Ink_Util_I18n_1_alias.html\n */\n alias: function( ) {\n var ret = Ink.bind( I18n.prototype.text , this );\n ret.ntext = Ink.bind( I18n.prototype.ntext , this );\n ret.append = Ink.bind( I18n.prototype.append , this );\n ret.ordinal = Ink.bind( I18n.prototype.ordinal , this );\n ret.testMode = Ink.bind( I18n.prototype.testMode , this );\n\n return ret;\n }\n };\n\n /**\n * Resets I18n global state (global dictionaries, and default language for instances)\n *\n * @method reset\n * @static\n *\n **/\n I18n.reset = function( ) {\n I18n.prototype._gDicts = [ ];\n I18n.prototype._gDict = { };\n I18n.prototype._gLang = 'pt_PT';\n };\n I18n.reset( );\n\n /**\n * Adds a dictionary to be used in all I18n instances for the corresponding language.\n *\n * @method appendGlobal\n * @static\n *\n * @param dict {Object} Dictionary to be added\n * @param lang {String} Language fo the dictionary being added\n *\n */\n I18n.appendGlobal = function( dict , lang ) {\n if ( lang ) {\n if ( !( lang in dict ) ) {\n var obj = { };\n\n obj[ lang ] = dict;\n\n dict = obj;\n }\n\n if ( lang !== I18n.prototype._gLang ) { I18n.langGlobal( lang ); }\n }\n\n I18n.prototype._gDicts.push( dict );\n\n Ink.extendObj( I18n.prototype._gDict , dict[ I18n.prototype._gLang ] );\n };\n\n I18n.append = function () {\n // [3.1.0] remove this alias\n Ink.warn('Ink.Util.I18n.append() was renamed to appendGlobal().');\n return I18n.appendGlobal.apply(I18n, [].slice.call(arguments));\n };\n\n /**\n * Gets or sets the current default language of I18n instances.\n *\n * @method langGlobal\n * @param lang the new language for all I18n instances\n *\n * @static\n *\n * @return {String} language code\n */\n I18n.langGlobal = function( lang ) {\n if ( !arguments.length ) { return I18n.prototype._gLang; }\n\n if ( lang && I18n.prototype._gLang !== lang ) {\n I18n.prototype._gLang = lang;\n\n I18n.prototype._gDict = { };\n\n for ( var i = 0, l = I18n.prototype._gDicts.length; i < l; i++ ) {\n Ink.extendObj( I18n.prototype._gDict , I18n.prototype._gDicts[ i ][ lang ] || { } );\n }\n }\n };\n\n I18n.lang = function () {\n // [3.1.0] remove this alias\n Ink.warn('Ink.Util.I18n.lang() was renamed to langGlobal().');\n return I18n.langGlobal.apply(I18n, [].slice.call(arguments));\n };\n \n return I18n;\n});","/**\n * JSON Utilities\n * @module Ink.Util.Json_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.Json', '1', [], function() {\n 'use strict';\n\n var function_call = Function.prototype.call;\n var cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\n\n function twoDigits(n) {\n var r = '' + n;\n if (r.length === 1) {\n return '0' + r;\n } else {\n return r;\n }\n }\n\n var dateToISOString = Date.prototype.toISOString ?\n Ink.bind(function_call, Date.prototype.toISOString) :\n function(date) {\n // Adapted from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString\n return date.getUTCFullYear() +\n '-' + twoDigits( date.getUTCMonth() + 1 ) +\n '-' + twoDigits( date.getUTCDate() ) +\n 'T' + twoDigits( date.getUTCHours() ) +\n ':' + twoDigits( date.getUTCMinutes() ) +\n ':' + twoDigits( date.getUTCSeconds() ) +\n '.' + String( (date.getUTCMilliseconds()/1000).toFixed(3) ).slice( 2, 5 ) +\n 'Z';\n };\n\n /**\n * Use this class to convert JSON strings to JavaScript objects\n * `.parse()` and also to do the opposite operation `.stringify()`.\n * Internally, the standard JSON implementation is used if available\n * Otherwise, the functions mimic the standard implementation.\n *\n * Here's how to produce JSON from an existing object:\n * \n * Ink.requireModules(['Ink.Util.Json_1'], function (Json) {\n * var obj = {\n * key1: 'value1',\n * key2: 'value2',\n * keyArray: ['arrayValue1', 'arrayValue2', 'arrayValue3']\n * };\n * Json.stringify(obj); // The above object as a JSON string\n * });\n *\n * And here is how to parse JSON:\n *\n * Ink.requireModules(['Ink.Util.Json_1'], function (Json) {\n * var source = '{\"key\": \"value\", \"array\": [true, null, false]}';\n * Json.parse(source); // The above JSON string as an object\n * });\n *\n * @namespace Ink.Util.Json_1 \n * @static\n * \n */\n var InkJson = {\n _nativeJSON: window.JSON || null,\n\n _convertToUnicode: false,\n\n // Escape characters so as to embed them in JSON strings\n _escape: function (theString) {\n var _m = { '\\b': '\\\\b', '\\t': '\\\\t', '\\n': '\\\\n', '\\f': '\\\\f', '\\r': '\\\\r', '\"': '\\\\\"', '\\\\': '\\\\\\\\' };\n\n if (/[\"\\\\\\x00-\\x1f]/.test(theString)) {\n theString = theString.replace(/([\\x00-\\x1f\\\\\"])/g, function(a, b) {\n var c = _m[b];\n if (c) {\n return c;\n }\n c = b.charCodeAt();\n return '\\\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16);\n });\n }\n\n return theString;\n },\n\n // A character conversion map\n _toUnicode: function (theString)\n {\n if(!this._convertToUnicode) {\n return this._escape(theString);\n } else {\n var unicodeString = '';\n var inInt = false;\n var theUnicode = false;\n var i = 0;\n var total = theString.length;\n while(i < total) {\n inInt = theString.charCodeAt(i);\n if( (inInt >= 32 && inInt <= 126) ||\n //(inInt >= 48 && inInt <= 57) ||\n //(inInt >= 65 && inInt <= 90) ||\n //(inInt >= 97 && inInt <= 122) ||\n inInt === 8 ||\n inInt === 9 ||\n inInt === 10 ||\n inInt === 12 ||\n inInt === 13 ||\n inInt === 32 ||\n inInt === 34 ||\n inInt === 47 ||\n inInt === 58 ||\n inInt === 92) {\n\n if(inInt === 34 || inInt === 92 || inInt === 47) {\n theUnicode = '\\\\'+theString.charAt(i);\n } else if(inInt === 8) {\n theUnicode = '\\\\b';\n } else if(inInt === 9) {\n theUnicode = '\\\\t';\n } else if(inInt === 10) {\n theUnicode = '\\\\n';\n } else if(inInt === 12) {\n theUnicode = '\\\\f';\n } else if(inInt === 13) {\n theUnicode = '\\\\r';\n } else {\n theUnicode = theString.charAt(i);\n }\n } else {\n if(this._convertToUnicode) {\n theUnicode = theString.charCodeAt(i).toString(16)+''.toUpperCase();\n while (theUnicode.length < 4) {\n theUnicode = '0' + theUnicode;\n }\n theUnicode = '\\\\u' + theUnicode;\n } else {\n theUnicode = theString.charAt(i);\n }\n }\n unicodeString += theUnicode;\n\n i++;\n }\n\n return unicodeString;\n }\n\n },\n\n _stringifyValue: function(param) {\n if (typeof param === 'string') {\n return '\"' + this._toUnicode(param) + '\"';\n } else if (typeof param === 'number' && (isNaN(param) || !isFinite(param))) { // Unusable numbers go null\n return 'null';\n } else if (typeof param === 'undefined' || param === null) { // And so does undefined\n return 'null';\n } else if (typeof param.toJSON === 'function') {\n var t = param.toJSON();\n if (typeof t === 'string') {\n return '\"' + this._escape(t) + '\"';\n } else {\n return this._escape(t.toString());\n }\n } else if (typeof param === 'number' || typeof param === 'boolean') { // These ones' toString methods return valid JSON.\n return '' + param;\n } else if (typeof param === 'function') {\n return 'null'; // match JSON.stringify\n } else if (param.constructor === Date) {\n return '\"' + this._escape(dateToISOString(param)) + '\"';\n } else if (param.constructor === Array) {\n var arrayString = '';\n for (var i = 0, len = param.length; i < len; i++) {\n if (i > 0) {\n arrayString += ',';\n }\n arrayString += this._stringifyValue(param[i]);\n }\n return '[' + arrayString + ']';\n } else { // Object\n var objectString = '';\n for (var k in param) {\n if ({}.hasOwnProperty.call(param, k)) {\n if (objectString !== '') {\n objectString += ',';\n }\n objectString += '\"' + this._escape(k) + '\": ' + this._stringifyValue(param[k]);\n }\n }\n return '{' + objectString + '}';\n }\n },\n\n /**\n * Serializes a JSON object into a string.\n *\n * @method stringify\n * @param {Object} input Data to be serialized into JSON\n * @param {Boolean} convertToUnicode When `true`, converts string contents to unicode \\uXXXX\n * @return {String} Serialized string\n *\n * @sample Ink_Util_Json_stringify.html \n */\n stringify: function(input, convertToUnicode) {\n this._convertToUnicode = !!convertToUnicode;\n if(!this._convertToUnicode && this._nativeJSON) {\n return this._nativeJSON.stringify(input);\n }\n return this._stringifyValue(input); // And recurse.\n },\n \n /**\n * Parses a JSON text through a function\n * \n * @method parse\n * @param text {String} Input string\n * @param reviver {Function} Function receiving `(key, value)`, and `this`=(containing object), used to walk objects.\n * \n * @return {Object} JSON object\n *\n * @sample Ink_Util_Json_parse.html \n */\n /* From https://github.com/douglascrockford/JSON-js/blob/master/json.js */\n parse: function (text, reviver) {\n /*jshint evil:true*/\n\n// The parse method takes a text and an optional reviver function, and returns\n// a JavaScript value if the text is a valid JSON text.\n\n var j;\n\n function walk(holder, key) {\n\n// The walk method is used to recursively walk the resulting structure so\n// that modifications can be made.\n\n var k, v, value = holder[key];\n if (value && typeof value === 'object') {\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = walk(value, k);\n if (v !== undefined) {\n value[k] = v;\n } else {\n delete value[k];\n }\n }\n }\n }\n return reviver.call(holder, key, value);\n }\n\n\n// Parsing happens in four stages. In the first stage, we replace certain\n// Unicode characters with escape sequences. JavaScript handles many characters\n// incorrectly, either silently deleting them, or treating them as line endings.\n\n text = String(text);\n cx.lastIndex = 0;\n if (cx.test(text)) {\n text = text.replace(cx, function (a) {\n return '\\\\u' +\n ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n });\n }\n\n// In the second stage, we run the text against regular expressions that look\n// for non-JSON patterns. We are especially concerned with '()' and 'new'\n// because they can cause invocation, and '=' because it can cause mutation.\n// But just to be safe, we want to reject all unexpected forms.\n\n// We split the second stage into 4 regexp operations in order to work around\n// crippling inefficiencies in IE's and Safari's regexp engines. First we\n// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we\n// replace all simple value tokens with ']' characters. Third, we delete all\n// open brackets that follow a colon or comma or that begin the text. Finally,\n// we look to see that the remaining characters are only whitespace or ']' or\n// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.\n\n if (/^[\\],:{}\\s]*$/\n .test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')\n .replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']')\n .replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) {\n\n// In the third stage we use the eval function to compile the text into a\n// JavaScript structure. The '{' operator is subject to a syntactic ambiguity\n// in JavaScript: it can begin a block or an object literal. We wrap the text\n// in parens to eliminate the ambiguity.\n\n j = eval('(' + text + ')');\n\n// In the optional fourth stage, we recursively walk the new structure, passing\n// each name/value pair to a reviver function for possible transformation.\n\n return typeof reviver === 'function' ?\n walk({'': j}, '') :\n j;\n }\n\n// If the text is not JSON parseable, then a SyntaxError is thrown.\n\n throw new SyntaxError('JSON.parse');\n }\n };\n\n return InkJson;\n});\n","/**\n * String Utilities\n * @module Ink.Util.String_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.String', '1', [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Util.String_1 \n */\n var InkUtilString = {\n\n /**\n * List of special chars\n * \n * @property _chars\n * @type {Array}\n * @private\n * @readOnly\n * @static\n */\n _chars: ['&','à','á','â','ã','ä','å','æ','ç','è','é',\n 'ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô',\n 'õ','ö','ø','ù','ú','û','ü','ý','þ','ÿ','À',\n 'Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë',\n 'Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö',\n 'Ø','Ù','Ú','Û','Ü','Ý','Þ','€','\\\"','ß','<',\n '>','¢','£','¤','¥','¦','§','¨','©','ª','«',\n '¬','\\xad','®','¯','°','±','²','³','´','µ','¶',\n '·','¸','¹','º','»','¼','½','¾'],\n\n /**\n * List of the special characters' html entities\n * \n * @property _entities\n * @type {Array}\n * @private\n * @readOnly\n * @static\n */\n _entities: ['amp','agrave','aacute','acirc','atilde','auml','aring',\n 'aelig','ccedil','egrave','eacute','ecirc','euml','igrave',\n 'iacute','icirc','iuml','eth','ntilde','ograve','oacute',\n 'ocirc','otilde','ouml','oslash','ugrave','uacute','ucirc',\n 'uuml','yacute','thorn','yuml','Agrave','Aacute','Acirc',\n 'Atilde','Auml','Aring','AElig','Ccedil','Egrave','Eacute',\n 'Ecirc','Euml','Igrave','Iacute','Icirc','Iuml','ETH','Ntilde',\n 'Ograve','Oacute','Ocirc','Otilde','Ouml','Oslash','Ugrave',\n 'Uacute','Ucirc','Uuml','Yacute','THORN','euro','quot','szlig',\n 'lt','gt','cent','pound','curren','yen','brvbar','sect','uml',\n 'copy','ordf','laquo','not','shy','reg','macr','deg','plusmn',\n 'sup2','sup3','acute','micro','para','middot','cedil','sup1',\n 'ordm','raquo','frac14','frac12','frac34'],\n\n /**\n * List of accented chars\n * \n * @property _accentedChars\n * @type {Array}\n * @private\n * @readOnly\n * @static\n */\n _accentedChars:['à','á','â','ã','ä','å',\n 'è','é','ê','ë',\n 'ì','í','î','ï',\n 'ò','ó','ô','õ','ö',\n 'ù','ú','û','ü',\n 'ç','ñ',\n 'À','Á','Â','Ã','Ä','Å',\n 'È','É','Ê','Ë',\n 'Ì','Í','Î','Ï',\n 'Ò','Ó','Ô','Õ','Ö',\n 'Ù','Ú','Û','Ü',\n 'Ç','Ñ'],\n\n /**\n * List of the accented chars (above), but without the accents\n * \n * @property _accentedRemovedChars\n * @type {Array}\n * @private\n * @readOnly\n * @static\n */\n _accentedRemovedChars:['a','a','a','a','a','a',\n 'e','e','e','e',\n 'i','i','i','i',\n 'o','o','o','o','o',\n 'u','u','u','u',\n 'c','n',\n 'A','A','A','A','A','A',\n 'E','E','E','E',\n 'I','I','I','I',\n 'O','O','O','O','O',\n 'U','U','U','U',\n 'C','N'],\n /**\n * Object that contains the basic HTML unsafe chars, as keys, and their HTML entities as values\n * \n * @property _htmlUnsafeChars\n * @type {Object}\n * @private\n * @readOnly\n * @static\n */\n _htmlUnsafeChars:{'<':'<','>':'>','&':'&','\"':'"',\"'\":'''},\n\n /**\n * Capitalizes a word.\n * If param as more than one word, it converts first letter of all words that have more than 2 letters\n *\n * @method ucFirst\n * @param {String} string String to capitalize.\n * @param {Boolean} [firstWordOnly]=false Flag to capitalize only the first word.\n * @return {String} Camel cased string.\n * @public\n * @static\n * @sample Ink_Util_String_ucFirst.html \n */\n ucFirst: function(string, firstWordOnly) {\n var replacer = firstWordOnly ? /(^|\\s)(\\w)(\\S{2,})/ : /(^|\\s)(\\w)(\\S{2,})/g;\n return string ? String(string).replace(replacer, function(_, $1, $2, $3){\n return $1 + $2.toUpperCase() + $3.toLowerCase();\n }) : string;\n },\n\n /**\n * Trims whitespace from strings\n *\n * @method trim\n * @param {String} string String to be trimmed\n * @return {String} Trimmed string\n * @public\n * @static\n * @sample Ink_Util_String_trim.html \n */\n trim: function(string)\n {\n if (typeof string === 'string') {\n return string.replace(/^\\s+|\\s+$|\\n+$/g, '');\n }\n return string;\n },\n\n /**\n * Strips HTML tags from strings\n *\n * @method stripTags\n * @param {String} string String to strip tags from.\n * @param {String} allowed Comma separated list of allowed tags.\n * @return {String} Stripped string\n * @public\n * @static\n * @sample Ink_Util_String_stripTags.html \n */\n stripTags: function(string, allowed)\n {\n if (allowed && typeof allowed === 'string') {\n var aAllowed = InkUtilString.trim(allowed).split(',');\n var aNewAllowed = [];\n var cleanedTag = false;\n for(var i=0; i < aAllowed.length; i++) {\n if(InkUtilString.trim(aAllowed[i]) !== '') {\n cleanedTag = InkUtilString.trim(aAllowed[i].replace(/(<|\\>)/g, '').replace(/\\s/, ''));\n aNewAllowed.push('(<'+cleanedTag+'\\\\s[^>]+>|<(\\\\s|\\\\/)?(\\\\s|\\\\/)?'+cleanedTag+'>)');\n }\n }\n var strAllowed = aNewAllowed.join('|');\n var reAllowed = new RegExp(strAllowed, \"i\");\n\n var aFoundTags = string.match(new RegExp(\"<[^>]*>\", \"g\"));\n\n for(var j=0; j < aFoundTags.length; j++) {\n if(!aFoundTags[j].match(reAllowed)) {\n string = string.replace((new RegExp(aFoundTags[j], \"gm\")), '');\n }\n }\n return string;\n } else {\n return string.replace(/<[^\\>]+\\>/g, '');\n }\n },\n\n /**\n * Encodes string into HTML entities.\n *\n * @method htmlEntitiesEncode\n * @param {String} string\n * @return {String} string encoded\n * @public\n * @static\n * @sample Ink_Util_String_htmlEntitiesEncode.html \n */\n htmlEntitiesEncode: function(string)\n {\n if (string && string.replace) {\n var re = false;\n for (var i = 0; i < InkUtilString._chars.length; i++) {\n re = new RegExp(InkUtilString._chars[i], \"gm\");\n string = string.replace(re, '&' + InkUtilString._entities[i] + ';');\n }\n }\n return string;\n },\n\n /**\n * Decodes string from HTML entities.\n *\n * @method htmlEntitiesDecode\n * @param {String} string String to be decoded\n * @return {String} Decoded string\n * @public\n * @static\n * @sample Ink_Util_String_htmlEntitiesDecode.html \n */\n htmlEntitiesDecode: function(string)\n {\n if (string && string.replace) {\n var re = false;\n for (var i = 0; i < InkUtilString._entities.length; i++) {\n re = new RegExp(\"&\"+InkUtilString._entities[i]+\";\", \"gm\");\n string = string.replace(re, InkUtilString._chars[i]);\n }\n string = string.replace(/&#[^;]+;?/g, function($0){\n if ($0.charAt(2) === 'x') {\n return String.fromCharCode(parseInt($0.substring(3), 16));\n }\n else {\n return String.fromCharCode(parseInt($0.substring(2), 10));\n }\n });\n }\n return string;\n },\n\n /**\n * Encode a string to UTF-8.\n *\n * @method utf8Encode\n * @param {String} string String to be encoded\n * @return {String} string UTF-8 encoded string\n * @public\n * @static\n */\n utf8Encode: function(string) {\n /*jshint bitwise:false*/\n string = string.replace(/\\r\\n/g,\"\\n\");\n var utfstring = \"\";\n\n for (var n = 0; n < string.length; n++) {\n\n var c = string.charCodeAt(n);\n\n if (c < 128) {\n utfstring += String.fromCharCode(c);\n }\n else if((c > 127) && (c < 2048)) {\n utfstring += String.fromCharCode((c >> 6) | 192);\n utfstring += String.fromCharCode((c & 63) | 128);\n }\n else {\n utfstring += String.fromCharCode((c >> 12) | 224);\n utfstring += String.fromCharCode(((c >> 6) & 63) | 128);\n utfstring += String.fromCharCode((c & 63) | 128);\n }\n\n }\n return utfstring;\n },\n\n /**\n * Truncates a string without breaking words.\n *\n * @method shortString\n * @param {String} str String to truncate\n * @param {Number} n Number of chars of the short string\n * @return {String} \n * @public\n * @static\n * @sample Ink_Util_String_shortString.html \n */\n shortString: function(str,n) {\n var words = str.split(' ');\n var resultstr = '';\n for(var i = 0; i < words.length; i++ ){\n if((resultstr + words[i] + ' ').length>=n){\n resultstr += '…';\n break;\n }\n resultstr += words[i] + ' ';\n }\n return resultstr;\n },\n\n /**\n * Truncates a string, breaking words and adding ... at the end.\n *\n * @method truncateString\n * @param {String} str String to truncate\n * @param {Number} length Limit for the returned string, ellipsis included.\n * @return {String} Truncated String\n * @public\n * @static\n * @sample Ink_Util_String_truncateString.html \n */\n truncateString: function(str, length) {\n if(str.length - 1 > length) {\n return str.substr(0, length - 1) + \"\\u2026\";\n } else {\n return str;\n }\n },\n\n /**\n * Decodes a string from UTF-8.\n *\n * @method utf8Decode\n * @param {String} string String to be decoded\n * @return {String} Decoded string\n * @public\n * @static\n */\n utf8Decode: function(utfstring) {\n /*jshint bitwise:false*/\n var string = \"\";\n var i = 0, c = 0, c2 = 0, c3 = 0;\n\n while ( i < utfstring.length ) {\n\n c = utfstring.charCodeAt(i);\n\n if (c < 128) {\n string += String.fromCharCode(c);\n i++;\n }\n else if((c > 191) && (c < 224)) {\n c2 = utfstring.charCodeAt(i+1);\n string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\n i += 2;\n }\n else {\n c2 = utfstring.charCodeAt(i+1);\n c3 = utfstring.charCodeAt(i+2);\n string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\n i += 3;\n }\n\n }\n return string;\n },\n\n /**\n * Removes all accented characters from a string.\n *\n * @method removeAccentedChars\n * @param {String} string String to remove accents from\n * @return {String} String without accented chars\n * @public\n * @static\n * @sample Ink_Util_String_removeAccentedChars.html \n */\n removeAccentedChars: function(string)\n {\n var newString = string;\n var re = false;\n for (var i = 0; i < InkUtilString._accentedChars.length; i++) {\n re = new RegExp(InkUtilString._accentedChars[i], \"gm\");\n newString = newString.replace(re, '' + InkUtilString._accentedRemovedChars[i] + '');\n }\n return newString;\n },\n\n /**\n * Count the number of occurrences of a specific needle in a haystack\n *\n * @method substrCount\n * @param {String} haystack String to search in\n * @param {String} needle String to search for\n * @return {Number} Number of occurrences\n * @public\n * @static\n * @sample Ink_Util_String_substrCount.html \n */\n substrCount: function(haystack,needle)\n {\n return haystack ? haystack.split(needle).length - 1 : 0;\n },\n\n /**\n * Eval a JSON - We recommend you Ink.Util.Json\n *\n * @method evalJSON\n * @param {String} strJSON JSON string to eval\n * @param {Boolean} sanitize Flag to sanitize input\n * @return {Object} JS Object\n * @public\n * @static\n */\n evalJSON: function(strJSON, sanitize) {\n /* jshint evil:true */\n if( (typeof sanitize === 'undefined' || sanitize === null) || InkUtilString.isJSON(strJSON)) {\n try {\n if(typeof(JSON) !== \"undefined\" && typeof(JSON.parse) !== 'undefined'){\n return JSON.parse(strJSON);\n }\n return eval('('+strJSON+')');\n } catch(e) {\n throw new Error('ERROR: Bad JSON string...');\n }\n }\n },\n\n /**\n * Checks if a string is a valid JSON object (string encoded)\n *\n * @method isJSON \n * @param {String} str String to check\n * @return {Boolean}\n * @public\n * @static\n */\n isJSON: function(str)\n {\n str = str.replace(/\\\\./g, '@').replace(/\"[^\"\\\\\\n\\r]*\"/g, '');\n return (/^[,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]*$/).test(str);\n },\n\n /**\n * Escapes unsafe html chars as HTML entities\n *\n * @method htmlEscapeUnsafe\n * @param {String} str String to escape\n * @return {String} Escaped string\n * @public\n * @static\n * @sample Ink_Util_String_htmlEscapeUnsafe.html \n */\n htmlEscapeUnsafe: function(str){\n var chars = InkUtilString._htmlUnsafeChars;\n return str !== null ? String(str).replace(/[<>&'\"]/g,function(c){return chars[c];}) : str;\n },\n\n /**\n * Normalizes whitespace in string.\n * String is trimmed and sequences of whitespaces are collapsed.\n *\n * @method normalizeWhitespace\n * @param {String} str String to normalize\n * @return {String} Normalized string\n * @public\n * @static\n * @sample Ink_Util_String_normalizeWhitespace.html \n */\n normalizeWhitespace: function(str){\n return str !== null ? InkUtilString.trim(String(str).replace(/\\s+/g,' ')) : str;\n },\n\n /**\n * Converts string to unicode.\n *\n * @method toUnicode\n * @param {String} str String to convert\n * @return {String} Unicoded String\n * @public\n * @static\n * @sample Ink_Util_String_toUnicode.html \n */\n toUnicode: function(str) {\n if (typeof str === 'string') {\n var unicodeString = '';\n var inInt = false;\n var theUnicode = false;\n var total = str.length;\n var i=0;\n\n while(i < total)\n {\n inInt = str.charCodeAt(i);\n if( (inInt >= 32 && inInt <= 126) ||\n inInt === 8 ||\n inInt === 9 ||\n inInt === 10 ||\n inInt === 12 ||\n inInt === 13 ||\n inInt === 32 ||\n inInt === 34 ||\n inInt === 47 ||\n inInt === 58 ||\n inInt === 92) {\n\n /*\n if(inInt == 34 || inInt == 92 || inInt == 47) {\n theUnicode = '\\\\'+str.charAt(i);\n } else {\n }\n */\n if(inInt === 8) {\n theUnicode = '\\\\b';\n } else if(inInt === 9) {\n theUnicode = '\\\\t';\n } else if(inInt === 10) {\n theUnicode = '\\\\n';\n } else if(inInt === 12) {\n theUnicode = '\\\\f';\n } else if(inInt === 13) {\n theUnicode = '\\\\r';\n } else {\n theUnicode = str.charAt(i);\n }\n } else {\n theUnicode = str.charCodeAt(i).toString(16)+''.toUpperCase();\n while (theUnicode.length < 4) {\n theUnicode = '0' + theUnicode;\n }\n theUnicode = '\\\\u' + theUnicode;\n }\n unicodeString += theUnicode;\n\n i++;\n }\n return unicodeString;\n }\n },\n\n /**\n * Escapes a unicode character.\n *\n * @method escape\n * @param {String} c Character to escape\n * @return {String} Escaped character. Returns \\xXX if hex smaller than 0x100, otherwise \\uXXXX\n * @public\n * @static\n * @sample Ink_Util_String_escape.html \n */\n escape: function(c) {\n var hex = (c).charCodeAt(0).toString(16).split('');\n if (hex.length < 3) {\n while (hex.length < 2) { hex.unshift('0'); }\n hex.unshift('x');\n }\n else {\n while (hex.length < 4) { hex.unshift('0'); }\n hex.unshift('u');\n }\n\n hex.unshift('\\\\');\n return hex.join('');\n },\n\n /**\n * Unescapes a unicode character escape sequence\n *\n * @method unescape\n * @param {String} es Escape sequence\n * @return {String} String un-unicoded\n * @public\n * @static\n * @sample Ink_Util_String_unescape.html \n */\n unescape: function(es) {\n var idx = es.lastIndexOf('0');\n idx = idx === -1 ? 2 : Math.min(idx, 2);\n //console.log(idx);\n var hexNum = es.substring(idx);\n //console.log(hexNum);\n var num = parseInt(hexNum, 16);\n return String.fromCharCode(num);\n },\n\n /**\n * Escapes a string to unicode characters\n *\n * @method escapeText\n * @param {String} txt \n * @param {Array} [whiteList] Whitelist of characters\n * @return {String} String escaped to Unicode\n * @public\n * @static\n * @sample Ink_Util_String_escapeText.html \n */\n escapeText: function(txt, whiteList) {\n if (whiteList === undefined) {\n whiteList = ['[', ']', '\\'', ','];\n }\n var txt2 = [];\n var c, C;\n for (var i = 0, f = txt.length; i < f; ++i) {\n c = txt[i];\n C = c.charCodeAt(0);\n if (C < 32 || C > 126 && whiteList.indexOf(c) === -1) {\n c = InkUtilString.escape(c);\n }\n txt2.push(c);\n }\n return txt2.join('');\n },\n\n /**\n * Regex to check escaped strings\n *\n * @property escapedCharRegex\n * @type {Regex}\n * @public\n * @readOnly\n * @static\n */\n escapedCharRegex: /(\\\\x[0-9a-fA-F]{2})|(\\\\u[0-9a-fA-F]{4})/g,\n\n /**\n * Unescapes a string\n *\n * @method unescapeText\n * @param {String} txt\n * @return {String} Unescaped string\n * @public\n * @static\n * @sample Ink_Util_String_unescapeText.html \n */\n unescapeText: function(txt) {\n /*jshint boss:true */\n var m;\n while (m = InkUtilString.escapedCharRegex.exec(txt)) {\n m = m[0];\n txt = txt.replace(m, InkUtilString.unescape(m));\n InkUtilString.escapedCharRegex.lastIndex = 0;\n }\n return txt;\n },\n\n /**\n * Compares two strings.\n *\n * @method strcmp\n * @param {String} str1 First String\n * @param {String} str2 Second String\n * @return {Number}\n * @public\n * @static\n * @sample Ink_Util_String_strcmp.html \n */\n strcmp: function(str1, str2) {\n return ((str1 === str2) ? 0 : ((str1 > str2) ? 1 : -1));\n },\n\n /**\n * Splits a string into smaller chunks\n *\n * @method packetize\n * @param {String} str String to divide\n * @param {Number} maxLen Maximum chunk size (in characters)\n * @return {Array} Chunks of the original string\n * @public\n * @static\n * @sample Ink_Util_String_packetize.html \n */\n packetize: function(str, maxLen) {\n var len = str.length;\n var parts = new Array( Math.ceil(len / maxLen) );\n var chars = str.split('');\n var sz, i = 0;\n while (len) {\n sz = Math.min(maxLen, len);\n parts[i++] = chars.splice(0, sz).join('');\n len -= sz;\n }\n return parts;\n }\n };\n\n return InkUtilString;\n\n});\n","/**\n * URL Utilities\n * @module Ink.Util.Url_1\n * @version 1\n */\n\nInk.createModule('Ink.Util.Url', '1', [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Util.Url_1\n */\n var Url = {\n\n /**\n * Auxiliary string for encoding\n *\n * @property _keyStr\n * @type {String}\n * @readOnly\n * @private\n */\n _keyStr : 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n\n\n /**\n * Gets URL of current page\n *\n * @method getUrl\n * @return Current URL\n * @public\n * @static\n * @sample Ink_Util_Url_getUrl.html \n */\n getUrl: function()\n {\n return window.location.href;\n },\n\n /**\n * Generates an URL string.\n *\n * @method genQueryString\n * @param {String} uri Base URL\n * @param {Object} params Object to transform to query string\n * @return {String} URI with query string set\n * @public\n * @static\n * @sample Ink_Util_Url_genQueryString.html \n */\n genQueryString: function(uri, params) {\n var hasQuestionMark = uri.indexOf('?') !== -1;\n var sep, pKey, pValue, parts = [uri];\n\n for (pKey in params) {\n if (params.hasOwnProperty(pKey)) {\n if (!hasQuestionMark) {\n sep = '?';\n hasQuestionMark = true;\n } else {\n sep = '&';\n }\n pValue = params[pKey];\n if (typeof pValue !== 'number' && !pValue) {\n pValue = '';\n }\n parts = parts.concat([sep, encodeURIComponent(pKey), '=', encodeURIComponent(pValue)]);\n }\n }\n\n return parts.join('');\n },\n\n /**\n * Gets an object from an URL encoded string.\n *\n * @method getQueryString\n * @param {String} [str] URL String. When not specified it uses the current URL.\n * @return {Object} Key-Value pair object\n * @public\n * @static\n * @sample Ink_Util_Url_getQueryString.html \n */\n getQueryString: function(str)\n {\n var url;\n if(str && typeof(str) !== 'undefined') {\n url = str;\n } else {\n url = this.getUrl();\n }\n var aParams = {};\n if(url.match(/\\?(.+)/i)) {\n var queryStr = url.replace(/^(.*)\\?([^\\#]+)(\\#(.*))?/g, \"$2\");\n if(queryStr.length > 0) {\n var aQueryStr = queryStr.split(/[;&]/);\n for(var i=0; i < aQueryStr.length; i++) {\n var pairVar = aQueryStr[i].split('=');\n aParams[decodeURIComponent(pairVar[0])] = (typeof(pairVar[1]) !== 'undefined' && pairVar[1]) ? decodeURIComponent(pairVar[1]) : false;\n }\n }\n }\n return aParams;\n },\n\n /**\n * Gets the URL hash value\n *\n * @method getAnchor\n * @param {String} [str] URL String. Defaults to current page URL.\n * @return {String|Boolean} Hash in the URL. If there's no hash, returns false.\n * @public\n * @static\n * @sample Ink_Util_Url_getAnchor.html \n */\n getAnchor: function(str)\n {\n var url;\n if(str && typeof(str) !== 'undefined') {\n url = str;\n } else {\n url = this.getUrl();\n }\n var anchor = false;\n if(url.match(/#(.+)/)) {\n anchor = url.replace(/([^#]+)#(.*)/, \"$2\");\n }\n return anchor;\n },\n\n /**\n * Gets the anchor string of an URL\n *\n * @method getAnchorString\n * @param {String} [string] URL to parse. Defaults to current URL.\n * @return {Object} Key-value pair object of the URL's hashtag 'variables'\n * @public\n * @static\n * @sample Ink_Util_Url_getAnchorString.html \n */\n getAnchorString: function(string)\n {\n var url;\n if(string && typeof(string) !== 'undefined') {\n url = string;\n } else {\n url = this.getUrl();\n }\n var aParams = {};\n if(url.match(/#(.+)/i)) {\n var anchorStr = url.replace(/^([^#]+)#(.*)?/g, \"$2\");\n if(anchorStr.length > 0) {\n var aAnchorStr = anchorStr.split(/[;&]/);\n for(var i=0; i < aAnchorStr.length; i++) {\n var pairVar = aAnchorStr[i].split('=');\n aParams[decodeURIComponent(pairVar[0])] = (typeof(pairVar[1]) !== 'undefined' && pairVar[1]) ? decodeURIComponent(pairVar[1]) : false;\n }\n }\n }\n return aParams;\n },\n\n\n /**\n * Parses URL string into URL parts\n *\n * @method parseUrl\n * @param {String} url URL to be parsed\n * @return {Object} Parsed URL as a key-value object.\n * @public\n * @static\n * @sample Ink_Util_Url_parseUrl.html \n */\n parseUrl: function(url) {\n var aURL = {};\n if(url && typeof url === 'string') {\n if(url.match(/^([^:]+):\\/\\//i)) {\n var re = /^([^:]+):\\/\\/([^\\/]*)\\/?([^\\?#]*)\\??([^#]*)#?(.*)/i;\n if(url.match(re)) {\n aURL.scheme = url.replace(re, \"$1\");\n aURL.host = url.replace(re, \"$2\");\n aURL.path = '/'+url.replace(re, \"$3\");\n aURL.query = url.replace(re, \"$4\") || false;\n aURL.fragment = url.replace(re, \"$5\") || false;\n }\n } else {\n var re1 = new RegExp(\"^([^\\\\?]+)\\\\?([^#]+)#(.*)\", \"i\");\n var re2 = new RegExp(\"^([^\\\\?]+)\\\\?([^#]+)#?\", \"i\");\n var re3 = new RegExp(\"^([^\\\\?]+)\\\\??\", \"i\");\n if(url.match(re1)) {\n aURL.scheme = false;\n aURL.host = false;\n aURL.path = url.replace(re1, \"$1\");\n aURL.query = url.replace(re1, \"$2\");\n aURL.fragment = url.replace(re1, \"$3\");\n } else if(url.match(re2)) {\n aURL.scheme = false;\n aURL.host = false;\n aURL.path = url.replace(re2, \"$1\");\n aURL.query = url.replace(re2, \"$2\");\n aURL.fragment = false;\n } else if(url.match(re3)) {\n aURL.scheme = false;\n aURL.host = false;\n aURL.path = url.replace(re3, \"$1\");\n aURL.query = false;\n aURL.fragment = false;\n }\n }\n if(aURL.host) {\n var regPort = /^(.*?)\\\\:(\\\\d+)$/i;\n // check for port\n if(aURL.host.match(regPort)) {\n var tmpHost1 = aURL.host;\n aURL.host = tmpHost1.replace(regPort, \"$1\");\n aURL.port = tmpHost1.replace(regPort, \"$2\");\n } else {\n aURL.port = false;\n }\n // check for user and pass\n if(aURL.host.match(/@/i)) {\n var tmpHost2 = aURL.host;\n aURL.host = tmpHost2.split('@')[1];\n var tmpUserPass = tmpHost2.split('@')[0];\n if(tmpUserPass.match(/\\:/)) {\n aURL.user = tmpUserPass.split(':')[0];\n aURL.pass = tmpUserPass.split(':')[1];\n } else {\n aURL.user = tmpUserPass;\n aURL.pass = false;\n }\n }\n }\n }\n return aURL;\n },\n\n /**\n * Formats an URL object into an URL string.\n *\n * @method format\n * @param urlObj Window.location, a.href, or parseUrl object to format\n * @return {String} Full URL.\n */\n format: function (urlObj) {\n var protocol = '';\n var host = '';\n var path = '';\n var frag = '';\n var query = '';\n\n if (typeof urlObj.protocol === 'string') {\n protocol = urlObj.protocol + '//'; // here it comes with the colon\n } else if (typeof urlObj.scheme === 'string') {\n protocol = urlObj.scheme + '://';\n }\n\n host = urlObj.host || urlObj.hostname || '';\n path = urlObj.path || '';\n\n if (typeof urlObj.query === 'string') {\n query = urlObj.query;\n } else if (typeof urlObj.search === 'string') {\n query = urlObj.search.replace(/^\\?/, '');\n }\n if (typeof urlObj.fragment === 'string') {\n frag = urlObj.fragment;\n } else if (typeof urlObj.hash === 'string') {\n frag = urlObj.hash.replace(/#$/, '');\n }\n\n return [\n protocol,\n host,\n path,\n query && '?' + query,\n frag && '#' + frag\n ].join('');\n },\n\n /**\n * Gets the last loaded script element\n *\n * @method currentScriptElement\n * @param {String} [match] String to match against the script src attribute\n * @return {DOMElement|Boolean} Returns the `script` DOM Element or false if unable to find it.\n * @public\n * @static\n * @sample Ink_Util_Url_currentScriptElement.html \n */\n currentScriptElement: function(match)\n {\n var aScripts = document.getElementsByTagName('script');\n if(typeof(match) === 'undefined') {\n if(aScripts.length > 0) {\n return aScripts[(aScripts.length - 1)];\n } else {\n return false;\n }\n } else {\n var curScript = false;\n var re = new RegExp(\"\"+match+\"\", \"i\");\n for(var i=0, total = aScripts.length; i < total; i++) {\n curScript = aScripts[i];\n if(re.test(curScript.src)) {\n return curScript;\n }\n }\n return false;\n }\n },\n\n \n /*\n base64Encode: function(string)\n {\n /**\n * --function {String} ?\n * --Convert a string to BASE 64\n * @param {String} string - string to convert\n * @return base64 encoded string\n *\n * \n if(!SAPO.Utility.String || typeof(SAPO.Utility.String) === 'undefined') {\n throw \"SAPO.Utility.Url.base64Encode depends of SAPO.Utility.String, which has not been referred.\";\n }\n\n var output = \"\";\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\n var i = 0;\n\n var input = SAPO.Utility.String.utf8Encode(string);\n\n while (i < input.length) {\n\n chr1 = input.charCodeAt(i++);\n chr2 = input.charCodeAt(i++);\n chr3 = input.charCodeAt(i++);\n\n enc1 = chr1 >> 2;\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n enc3 = enc4 = 64;\n } else if (isNaN(chr3)) {\n enc4 = 64;\n }\n\n output = output +\n this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +\n this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);\n }\n return output;\n },\n base64Decode: function(string)\n {\n * --function {String} ?\n * Decode a BASE 64 encoded string\n * --param {String} string base64 encoded string\n * --return string decoded\n if(!SAPO.Utility.String || typeof(SAPO.Utility.String) === 'undefined') {\n throw \"SAPO.Utility.Url.base64Decode depends of SAPO.Utility.String, which has not been referred.\";\n }\n\n var output = \"\";\n var chr1, chr2, chr3;\n var enc1, enc2, enc3, enc4;\n var i = 0;\n\n var input = string.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n while (i < input.length) {\n\n enc1 = this._keyStr.indexOf(input.charAt(i++));\n enc2 = this._keyStr.indexOf(input.charAt(i++));\n enc3 = this._keyStr.indexOf(input.charAt(i++));\n enc4 = this._keyStr.indexOf(input.charAt(i++));\n\n chr1 = (enc1 << 2) | (enc2 >> 4);\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n chr3 = ((enc3 & 3) << 6) | enc4;\n\n output = output + String.fromCharCode(chr1);\n\n if (enc3 !== 64) {\n output = output + String.fromCharCode(chr2);\n }\n if (enc4 !== 64) {\n output = output + String.fromCharCode(chr3);\n }\n }\n output = SAPO.Utility.String.utf8Decode(output);\n return output;\n },\n */\n\n\n /**\n * Debug function ?\n *\n * @method _debug\n * @private\n * @static\n */\n _debug: function() {}\n\n };\n\n return Url;\n\n});\n","/**\n * Validation Utilities\n * @module Ink.Util.Validator_1\n * @version 1\n */\n \nInk.createModule('Ink.Util.Validator', '1', [], function() {\n\n 'use strict';\n\n /**\n * @namespace Ink.Util.Validator_1 \n */\n var Validator = {\n\n /**\n * List of country codes avaible for the isPhone method\n *\n * @property _countryCodes\n * @type {Array}\n * @private\n * @static\n * @readOnly\n */\n _countryCodes : [\n 'AO',\n 'CV',\n 'MZ',\n 'PT'\n ],\n\n /**\n * International number for portugal\n *\n * @property _internacionalPT\n * @type {Number}\n * @private\n * @static\n * @readOnly\n *\n */\n _internacionalPT: 351,\n\n /**\n * List of all portuguese number prefixes\n *\n * @property _indicativosPT\n * @type {Object}\n * @private\n * @static\n * @readOnly\n *\n */\n _indicativosPT: {\n 21: 'lisboa',\n 22: 'porto',\n 231: 'mealhada',\n 232: 'viseu',\n 233: 'figueira da foz',\n 234: 'aveiro',\n 235: 'arganil',\n 236: 'pombal',\n 238: 'seia',\n 239: 'coimbra',\n 241: 'abrantes',\n 242: 'ponte de sôr',\n 243: 'santarém',\n 244: 'leiria',\n 245: 'portalegre',\n 249: 'torres novas',\n 251: 'valença',\n 252: 'vila nova de famalicão',\n 253: 'braga',\n 254: 'peso da régua',\n 255: 'penafiel',\n 256: 'são joão da madeira',\n 258: 'viana do castelo',\n 259: 'vila real',\n 261: 'torres vedras',\n 262: 'caldas da raínha',\n 263: 'vila franca de xira',\n 265: 'setúbal',\n 266: 'évora',\n 268: 'estremoz',\n 269: 'santiago do cacém',\n 271: 'guarda',\n 272: 'castelo branco',\n 273: 'bragança',\n 274: 'proença-a-nova',\n 275: 'covilhã',\n 276: 'chaves',\n 277: 'idanha-a-nova',\n 278: 'mirandela',\n 279: 'moncorvo',\n 281: 'tavira',\n 282: 'portimão',\n 283: 'odemira',\n 284: 'beja',\n 285: 'moura',\n 286: 'castro verde',\n 289: 'faro',\n 291: 'funchal, porto santo',\n 292: 'corvo, faial, flores, horta, pico',\n 295: 'angra do heroísmo, graciosa, são jorge, terceira',\n 296: 'ponta delgada, são miguel, santa maria',\n\n 91 : 'rede móvel 91 (Vodafone / Yorn)',\n 93 : 'rede móvel 93 (Optimus)',\n 96 : 'rede móvel 96 (TMN)',\n 92 : 'rede móvel 92 (TODOS)',\n //925 : 'rede móvel 925 (TMN 925)',\n //926 : 'rede móvel 926 (TMN 926)',\n //927 : 'rede móvel 927 (TMN 927)',\n //922 : 'rede móvel 922 (Phone-ix)',\n\n 707: 'número único',\n 760: 'número único',\n 800: 'número grátis',\n 808: 'chamada local',\n 30: 'voip'\n },\n /**\n * International number for Cabo Verde\n *\n * @property _internacionalCV\n * @type {Number}\n * @private\n * @static\n * @readOnly\n */\n _internacionalCV: 238,\n\n /**\n * List of all Cabo Verde number prefixes\n *\n * @property _indicativosCV\n * @type {Object}\n * @private\n * @static\n * @readOnly\n */\n _indicativosCV: {\n 2: 'fixo',\n 91: 'móvel 91',\n 95: 'móvel 95',\n 97: 'móvel 97',\n 98: 'móvel 98',\n 99: 'móvel 99'\n },\n /**\n * International number for Angola\n *\n * @property _internacionalAO\n * @type {Number}\n * @private\n * @static\n * @readOnly\n */\n _internacionalAO: 244,\n\n /**\n * List of all Angola number prefixes\n *\n * @property _indicativosAO\n * @type {Object}\n * @private\n * @static\n * @readOnly\n */\n _indicativosAO: {\n 2: 'fixo',\n 91: 'móvel 91',\n 92: 'móvel 92'\n },\n /**\n * International number for Mozambique\n *\n * @property _internacionalMZ\n * @type {Number}\n * @private\n * @static\n * @readOnly\n */\n _internacionalMZ: 258,\n\n /**\n * List of all Mozambique number prefixes\n *\n * @property _indicativosMZ\n * @type {Object}\n * @private\n * @static\n * @readOnly\n */\n _indicativosMZ: {\n 2: 'fixo',\n 82: 'móvel 82',\n 84: 'móvel 84'\n },\n\n /**\n * International number for Timor\n *\n * @property _internacionalTL\n * @type {Number}\n * @private\n * @static\n * @readOnly\n */\n _internacionalTL: 670,\n\n /**\n * List of all Timor number prefixes\n *\n * @property _indicativosTL\n * @type {Object}\n * @private\n * @static\n * @readOnly\n */\n _indicativosTL: {\n 3: 'fixo',\n 7: 'móvel 7'\n },\n\n /**\n * Regular expression groups for several groups of characters\n *\n * http://en.wikipedia.org/wiki/C0_Controls_and_Basic_Latin\n * http://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane\n * http://en.wikipedia.org/wiki/ISO_8859-1\n *\n * @property _characterGroups\n * @type {Object}\n * @private\n * @static\n * @readOnly\n */\n _characterGroups: {\n numbers: ['0-9'],\n asciiAlpha: ['a-zA-Z'],\n latin1Alpha: ['a-zA-Z', '\\u00C0-\\u00FF'],\n unicodeAlpha: ['a-zA-Z', '\\u00C0-\\u00FF', '\\u0100-\\u1FFF', '\\u2C00-\\uD7FF'],\n /* whitespace characters */\n space: [' '],\n dash: ['-'],\n underscore: ['_'],\n nicknamePunctuation: ['_.-'],\n\n singleLineWhitespace: ['\\t '],\n newline: ['\\n'],\n whitespace: ['\\t\\n\\u000B\\f\\r\\u00A0 '],\n\n asciiPunctuation: ['\\u0021-\\u002F', '\\u003A-\\u0040', '\\u005B-\\u0060', '\\u007B-\\u007E'],\n latin1Punctuation: ['\\u0021-\\u002F', '\\u003A-\\u0040', '\\u005B-\\u0060', '\\u007B-\\u007E', '\\u00A1-\\u00BF', '\\u00D7', '\\u00F7'],\n unicodePunctuation: ['\\u0021-\\u002F', '\\u003A-\\u0040', '\\u005B-\\u0060', '\\u007B-\\u007E', '\\u00A1-\\u00BF', '\\u00D7', '\\u00F7', '\\u2000-\\u206F', '\\u2E00-\\u2E7F', '\\u3000-\\u303F']\n },\n\n /**\n * Creates a regular expression for several character groups.\n *\n * @method createRegExp\n *\n * @param Groups* {Object}\n * Groups to build regular expressions for. Possible keys are:\n *\n * - **numbers**: 0-9\n * - **asciiAlpha**: a-z, A-Z\n * - **latin1Alpha**: asciiAlpha, plus printable characters in latin-1\n * - **unicodeAlpha**: unicode alphanumeric characters.\n * - **space**: ' ', the space character.\n * - **dash**: dash character.\n * - **underscore**: underscore character.\n * - **nicknamePunctuation**: dash, dot, underscore\n * - **singleLineWhitespace**: space and tab (whitespace which only spans one line).\n * - **newline**: newline character ('\\n')\n * - **whitespace**: whitespace characters in the ASCII character set.\n * - **asciiPunctuation**: punctuation characters in the ASCII character set.\n * - **latin1Punctuation**: punctuation characters in latin-1.\n * - **unicodePunctuation**: punctuation characters in unicode.\n *\n */\n createRegExp: function (groups) {\n var re = '^[';\n for (var key in groups) if (groups.hasOwnProperty(key)) {\n if (!(key in Validator._characterGroups)) {\n throw new Error('group ' + key + ' is not a valid character group');\n } else if (groups[key]) {\n re += Validator._characterGroups[key].join('');\n }\n }\n if (re === '^[') {\n // No changes\n return new RegExp('$^'); // match nothing\n }\n return new RegExp(re + ']*?$');\n },\n\n /**\n * Checks if a field has the required groups.\n *\n * @method checkCharacterGroups\n * @param {String} s The validation string\n * @param {Object} [groups]={} What groups are included. See createRegexp\n * @sample Ink_Util_Validator_checkCharacterGroups.html \n */\n checkCharacterGroups: function (s, groups) {\n return Validator.createRegExp(groups).test(s);\n },\n\n /**\n * Checks if a field contains unicode printable characters.\n *\n * @method unicode\n * @param {String} s The validation string\n * @param {Object} [options]={} Optional configuration object. See createRegexp\n */\n unicode: function (s, options) {\n return Validator.checkCharacterGroups(s, Ink.extendObj({\n unicodeAlpha: true}, options));\n },\n\n /**\n * Checks if a field only contains latin-1 alphanumeric characters. \n * Takes options for allowing singleline whitespace, cross-line whitespace and punctuation.\n *\n * @method latin1\n *\n * @param {String} s The validation string\n * @param {Object} [options]={} Optional configuration object. See createRegexp\n * @sample Ink_Util_Validator_latin1.html \n */\n latin1: function (s, options) {\n return Validator.checkCharacterGroups(s, Ink.extendObj({\n latin1Alpha: true}, options));\n },\n\n /**\n * Checks if a field only contains only ASCII alphanumeric characters. \n * Takes options for allowing singleline whitespace, cross-line whitespace and punctuation.\n *\n * @method ascii\n *\n * @param {String} s The validation string\n * @param {Object} [options]={} Optional configuration object. See createRegexp\n * @sample Ink_Util_Validator_ascii.html \n */\n ascii: function (s, options) {\n return Validator.checkCharacterGroups(s, Ink.extendObj({\n asciiAlpha: true}, options));\n },\n\n /**\n * Checks if a number is a valid\n *\n * @method number\n * @param {String} numb The number\n * @param {Object} [options] Further options\n * @param [options.decimalSep]='.' Allow decimal separator.\n * @param [options.thousandSep]=\",\" Strip this character from the number.\n * @param [options.negative]=false Allow negative numbers.\n * @param [options.decimalPlaces]=null Maximum number of decimal places. Use `0` for an integer number.\n * @param [options.max]=null Maximum number\n * @param [options.min]=null Minimum number\n * @param [options.returnNumber]=false When this option is true, return the number itself when the value is valid.\n * @sample Ink_Util_Validator_number.html \n */\n number: function (numb, inOptions) {\n numb = numb + '';\n var options = Ink.extendObj({\n decimalSep: '.',\n thousandSep: '',\n negative: true,\n decimalPlaces: null,\n maxDigits: null,\n max: null,\n min: null,\n returnNumber: false\n }, inOptions || {});\n // smart recursion thing sets up aliases for options.\n if (options.thousandSep) {\n numb = numb.replace(new RegExp('\\\\' + options.thousandSep, 'g'), '');\n options.thousandSep = '';\n return Validator.number(numb, options);\n }\n if (options.negative === false) {\n options.min = 0;\n options.negative = true;\n return Validator.number(numb, options);\n }\n if (options.decimalSep !== '.') {\n numb = numb.replace(new RegExp('\\\\' + options.decimalSep, 'g'), '.');\n }\n\n if (!/^(-)?(\\d+)?(\\.\\d+)?$/.test(numb) || numb === '') {\n return false; // forbidden character found\n }\n \n var split;\n if (options.decimalSep && numb.indexOf(options.decimalSep) !== -1) {\n split = numb.split(options.decimalSep);\n if (options.decimalPlaces !== null &&\n split[1].length > options.decimalPlaces) {\n return false;\n }\n } else {\n split = ['' + numb, ''];\n }\n \n if (options.maxDigits!== null) {\n if (split[0].replace(/-/g, '').length > options.maxDigits) {\n return split;\n }\n }\n \n // Now look at the actual float\n var ret = parseFloat(numb);\n \n if (options.maxExcl !== null && ret >= options.maxExcl ||\n options.minExcl !== null && ret <= options.minExcl) {\n return false;\n }\n if (options.max !== null && ret > options.max ||\n options.min !== null && ret < options.min) {\n return false;\n }\n \n if (options.returnNumber) {\n return ret;\n } else {\n return true;\n }\n },\n\n /**\n * Checks if a year is Leap \"Bissexto\"\n *\n * @method _isLeapYear\n * @param {Number} year Year to be checked\n * @return {Boolean} True if it is a leap year.\n * @private\n * @static\n * @example\n * Ink.requireModules(['Ink.Util.Validator_1'], function( InkValidator ){\n * console.log( InkValidator._isLeapYear( 2004 ) ); // Result: true\n * console.log( InkValidator._isLeapYear( 2006 ) ); // Result: false\n * });\n */\n _isLeapYear: function(year){\n\n var yearRegExp = /^\\d{4}$/;\n\n if(yearRegExp.test(year)){\n return ((year%4) ? false: ((year%100) ? true : ((year%400)? false : true)) );\n }\n\n return false;\n },\n\n /**\n * Object with the date formats available for validation\n *\n * @property _dateParsers\n * @type {Object}\n * @private\n * @static\n * @readOnly\n */\n _dateParsers: {\n 'yyyy-mm-dd': {day:5, month:3, year:1, sep: '-', parser: /^(\\d{4})(\\-)(\\d{1,2})(\\-)(\\d{1,2})$/},\n 'yyyy/mm/dd': {day:5, month:3, year:1, sep: '/', parser: /^(\\d{4})(\\/)(\\d{1,2})(\\/)(\\d{1,2})$/},\n 'yy-mm-dd': {day:5, month:3, year:1, sep: '-', parser: /^(\\d{2})(\\-)(\\d{1,2})(\\-)(\\d{1,2})$/},\n 'yy/mm/dd': {day:5, month:3, year:1, sep: '/', parser: /^(\\d{2})(\\/)(\\d{1,2})(\\/)(\\d{1,2})$/},\n 'dd-mm-yyyy': {day:1, month:3, year:5, sep: '-', parser: /^(\\d{1,2})(\\-)(\\d{1,2})(\\-)(\\d{4})$/},\n 'dd/mm/yyyy': {day:1, month:3, year:5, sep: '/', parser: /^(\\d{1,2})(\\/)(\\d{1,2})(\\/)(\\d{4})$/},\n 'dd-mm-yy': {day:1, month:3, year:5, sep: '-', parser: /^(\\d{1,2})(\\-)(\\d{1,2})(\\-)(\\d{2})$/},\n 'dd/mm/yy': {day:1, month:3, year:5, sep: '/', parser: /^(\\d{1,2})(\\/)(\\d{1,2})(\\/)(\\d{2})$/}\n },\n\n /**\n * Gets the number of days in a given month of a given year\n *\n * @method _daysInMonth\n * @param {Number} _m Month (1 to 12)\n * @param {Number} _y Year\n * @return {Number} Returns the number of days in a given month of a given year\n * @private\n * @static\n * @example\n * Ink.requireModules(['Ink.Util.Validator_1'], function( InkValidator ){\n * console.log( InkValidator._daysInMonth( 2, 2004 ) ); // Result: 29\n * console.log( InkValidator._daysInMonth( 2, 2006 ) ); // Result: 28\n * });\n */\n _daysInMonth: function(_m,_y){\n var nDays=0;\n\n _m = parseInt(_m, 10);\n _y = parseInt(_y, 10);\n\n if(_m===1 || _m===3 || _m===5 || _m===7 || _m===8 || _m===10 || _m===12) {\n nDays= 31;\n } else if ( _m===4 || _m===6 || _m===9 || _m===11) {\n nDays = 30;\n } else if (_m===2) {\n if((_y%400===0) || (_y%4===0 && _y%100!==0)) {\n nDays = 29;\n } else {\n nDays = 28;\n }\n }\n\n return nDays;\n },\n\n\n\n /**\n * Checks if a date is valid\n *\n * @method _isValidDate\n * @param {Number} year\n * @param {Number} month\n * @param {Number} day\n * @return {Boolean} True if valid\n * @private\n * @static\n * @example\n * Ink.requireModules(['Ink.Util.Validator_1'], function( InkValidator ){\n * console.log( InkValidator._isValidDate( 2004, 2, 29 ) ); // Result: true\n * console.log( InkValidator._isValidDate( 2006, 2, 29 ) ); // Result: false\n * });\n */\n _isValidDate: function(year, month, day){\n\n var yearRegExp = /^\\d{4}$/;\n var validOneOrTwo = /^\\d{1,2}$/;\n if(yearRegExp.test(year) && validOneOrTwo.test(month) && validOneOrTwo.test(day)){\n if(month>=1 && month<=12 && day>=1 && this._daysInMonth(month,year)>=day){\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Checks if an email is valid\n *\n * @method mail\n * @param {String} email\n * @return {Boolean} True if it's valid\n * @public\n * @static\n * @sample Ink_Util_Validator_mail.html \n */\n email: function(email)\n {\n var emailValido = new RegExp(\"^[_a-z0-9-]+((\\\\.|\\\\+)[_a-z0-9-]+)*@([\\\\w]*-?[\\\\w]*\\\\.)+[a-z]{2,4}$\", \"i\");\n if(!emailValido.test(email)) {\n return false;\n } else {\n return true;\n }\n },\n\n /**\n * Deprecated. Alias for email(). Use it instead.\n *\n * @method mail\n * @public\n * @static\n * @private\n */\n mail: function (mail) { return Validator.email(mail); },\n\n /**\n * Checks if an url is valid\n *\n * @method url\n * @param {String} url URL to be checked\n * @param {Boolean} [full] If true, validates a full URL (one that should start with 'http')\n * @return {Boolean} True if valid\n * @public\n * @static\n * @sample Ink_Util_Validator_url.html \n */\n url: function(url, full)\n {\n if(typeof full === \"undefined\" || full === false) {\n var reHTTP = new RegExp(\"(^(http\\\\:\\\\/\\\\/|https\\\\:\\\\/\\\\/)(.+))\", \"i\");\n if(reHTTP.test(url) === false) {\n url = 'http://'+url;\n }\n }\n\n var reUrl = new RegExp(\"^(http:\\\\/\\\\/|https:\\\\/\\\\/)([\\\\w]*(-?[\\\\w]*)*\\\\.)+[a-z]{2,4}\", \"i\");\n if(reUrl.test(url) === false) {\n return false;\n } else {\n return true;\n }\n },\n\n /**\n * Checks if a phone is valid in Portugal\n *\n * @method isPTPhone\n * @param {Number} phone Phone number to be checked\n * @return {Boolean} True if it's a valid Portuguese Phone\n * @public\n * @static\n * @sample Ink_Util_Validator_isPTPhone.html\n */\n isPTPhone: function(phone)\n {\n\n phone = phone.toString();\n var aInd = [];\n for(var i in this._indicativosPT) {\n if(typeof(this._indicativosPT[i]) === 'string') {\n aInd.push(i);\n }\n }\n var strInd = aInd.join('|');\n\n var re351 = /^(00351|\\+351)/;\n if(re351.test(phone)) {\n phone = phone.replace(re351, \"\");\n }\n\n var reSpecialChars = /(\\s|\\-|\\.)+/g;\n phone = phone.replace(reSpecialChars, '');\n //var reInt = new RegExp(\"\\\\d\", \"i\");\n var reInt = /[\\d]{9}/i;\n if(phone.length === 9 && reInt.test(phone)) {\n var reValid = new RegExp(\"^(\"+strInd+\")\");\n if(reValid.test(phone)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Alias function for isPTPhone\n *\n * @method isPortuguesePhone\n * @param {Number} phone Phone number to be checked\n * @return {Boolean} True if it's a valid Portuguese Phone\n * @public\n * @static\n */\n isPortuguesePhone: function(phone)\n {\n return this.isPTPhone(phone);\n },\n\n /**\n * Checks if a phone is valid in Cabo Verde\n *\n * @method isCVPhone\n * @param {Number} phone Phone number to be checked\n * @return {Boolean} True if it's a valid Cape Verdean Phone\n * @public\n * @static\n * @sample Ink_Util_Validator_isCVPhone.html \n */\n isCVPhone: function(phone)\n {\n phone = phone.toString();\n var aInd = [];\n for(var i in this._indicativosCV) {\n if(typeof(this._indicativosCV[i]) === 'string') {\n aInd.push(i);\n }\n }\n var strInd = aInd.join('|');\n\n var re238 = /^(00238|\\+238)/;\n if(re238.test(phone)) {\n phone = phone.replace(re238, \"\");\n }\n\n var reSpecialChars = /(\\s|\\-|\\.)+/g;\n phone = phone.replace(reSpecialChars, '');\n //var reInt = new RegExp(\"\\\\d\", \"i\");\n var reInt = /[\\d]{7}/i;\n if(phone.length === 7 && reInt.test(phone)) {\n var reValid = new RegExp(\"^(\"+strInd+\")\");\n if(reValid.test(phone)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Checks if a phone is valid in Angola\n *\n * @method isAOPhone\n * @param {Number} phone Phone number to be checked\n * @return {Boolean} True if it's a valid Angolan Phone\n * @public\n * @static\n * @sample Ink_Util_Validator_isAOPhone.html \n */\n isAOPhone: function(phone)\n {\n\n phone = phone.toString();\n var aInd = [];\n for(var i in this._indicativosAO) {\n if(typeof(this._indicativosAO[i]) === 'string') {\n aInd.push(i);\n }\n }\n var strInd = aInd.join('|');\n\n var re244 = /^(00244|\\+244)/;\n if(re244.test(phone)) {\n phone = phone.replace(re244, \"\");\n }\n\n var reSpecialChars = /(\\s|\\-|\\.)+/g;\n phone = phone.replace(reSpecialChars, '');\n //var reInt = new RegExp(\"\\\\d\", \"i\");\n var reInt = /[\\d]{9}/i;\n if(phone.length === 9 && reInt.test(phone)) {\n var reValid = new RegExp(\"^(\"+strInd+\")\");\n if(reValid.test(phone)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Checks if a phone is valid in Mozambique\n *\n * @method isMZPhone\n * @param {Number} phone Phone number to be checked\n * @return {Boolean} True if it's a valid Mozambican Phone\n * @public\n * @static\n * @sample Ink_Util_Validator_isMZPhone.html \n */\n isMZPhone: function(phone)\n {\n\n phone = phone.toString();\n var aInd = [];\n for(var i in this._indicativosMZ) {\n if(typeof(this._indicativosMZ[i]) === 'string') {\n aInd.push(i);\n }\n }\n var strInd = aInd.join('|');\n var re258 = /^(00258|\\+258)/;\n if(re258.test(phone)) {\n phone = phone.replace(re258, \"\");\n }\n\n var reSpecialChars = /(\\s|\\-|\\.)+/g;\n phone = phone.replace(reSpecialChars, '');\n //var reInt = new RegExp(\"\\\\d\", \"i\");\n var reInt = /[\\d]{8,9}/i;\n if((phone.length === 9 || phone.length === 8) && reInt.test(phone)) {\n var reValid = new RegExp(\"^(\"+strInd+\")\");\n if(reValid.test(phone)) {\n if(phone.indexOf('2') === 0 && phone.length === 8) {\n return true;\n } else if(phone.indexOf('8') === 0 && phone.length === 9) {\n return true;\n }\n }\n }\n\n return false;\n },\n\n /**\n * Checks if a phone is valid in Timor\n *\n * @method isTLPhone\n * @param {Number} phone Phone number to be checked\n * @return {Boolean} True if it's a valid phone from Timor-Leste\n * @public\n * @static\n * @sample Ink_Util_Validator_isTLPhone.html \n */\n isTLPhone: function(phone)\n {\n\n phone = phone.toString();\n var aInd = [];\n for(var i in this._indicativosTL) {\n if(typeof(this._indicativosTL[i]) === 'string') {\n aInd.push(i);\n }\n }\n var strInd = aInd.join('|');\n var re670 = /^(00670|\\+670)/;\n if(re670.test(phone)) {\n phone = phone.replace(re670, \"\");\n }\n\n\n var reSpecialChars = /(\\s|\\-|\\.)+/g;\n phone = phone.replace(reSpecialChars, '');\n //var reInt = new RegExp(\"\\\\d\", \"i\");\n var reInt = /[\\d]{7}/i;\n if(phone.length === 7 && reInt.test(phone)) {\n var reValid = new RegExp(\"^(\"+strInd+\")\");\n if(reValid.test(phone)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Checks if a number is a phone number.\n * This method validates the number in all country codes available the ones set in the second param\n *\n * @method isPhone\n * @param {String} phone Phone number to validate\n * @param {String|Array} [countryCode] Country code or array of countries to validate\n * @return {Boolean} True if it's a valid phone in any country available\n * @public\n * @static\n * @sample Ink_Util_Validator_isPhone.html\n */\n isPhone: function(){\n var index;\n\n if(arguments.length===0){\n return false;\n }\n\n var phone = arguments[0];\n\n if(arguments.length>1){\n if(arguments[1].constructor === Array){\n var func;\n for(index=0; index= 0 && match[i-1] <= 100){\n valid = true;\n } else {\n return false;\n }\n }\n // check 0 to 255 values\n if(i===1 || i===3 || i===5 && (typeof match[i+1] === \"undefined\" || match[i+1] === \"\")){\n if(typeof match[i] !== \"undefined\" && match[i] >= 0 && match[i] <= 255){\n valid = true;\n } else {\n return false;\n }\n }\n }\n }\n\n // hsl range check\n if((match = hsl.exec(str)) !== null || (match = hsla.exec(str)) !== null){\n i = match.length;\n while(i--){\n // check percentage values\n if(i===3 || i===5){\n if(typeof match[i-1] !== \"undefined\" && typeof match[i] !== \"undefined\" && match[i] !== \"\" &&\n match[i-1] >= 0 && match[i-1] <= 100){\n valid = true;\n } else {\n return false;\n }\n }\n // check 0 to 360 value\n if(i===1){\n if(typeof match[i] !== \"undefined\" && match[i] >= 0 && match[i] <= 360){\n valid = true;\n } else {\n return false;\n }\n }\n }\n }\n\n return valid;\n },\n\n /**\n * Checks if the value is a valid IP. \n *\n * @method isIP\n * @param {String} value Value to be checked\n * @param {String} ipType Type of IP to be validated. The values are: ipv4, ipv6. By default is ipv4.\n * @return {Boolean} True if the value is a valid IP address. False if not.\n * @sample Ink_Util_Validator_isIP.html \n */\n isIP: function( value, ipType ){\n if( typeof value !== 'string' ){\n return false;\n }\n\n ipType = (ipType || 'ipv4').toLowerCase();\n\n switch( ipType ){\n case 'ipv4':\n return (/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/).test(value);\n case 'ipv6':\n return (/^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$/).test(value);\n default:\n return false;\n }\n },\n\n /**\n * Credit Card specifications, to be used in the credit card verification.\n *\n * @property _creditCardSpecs\n * @type {Object}\n * @private\n */\n _creditCardSpecs: {\n 'default': {\n 'length': '13,14,15,16,17,18,19',\n 'prefix': /^.+/,\n 'luhn': true\n },\n\n 'american express': {\n 'length': '15',\n 'prefix': /^3[47]/,\n 'luhn' : true\n },\n\n 'diners club': {\n 'length': '14,16',\n 'prefix': /^36|55|30[0-5]/,\n 'luhn' : true\n },\n\n 'discover': {\n 'length': '16',\n 'prefix': /^6(?:5|011)/,\n 'luhn' : true\n },\n\n 'jcb': {\n 'length': '15,16',\n 'prefix': /^3|1800|2131/,\n 'luhn' : true\n },\n\n 'maestro': {\n 'length': '16,18',\n 'prefix': /^50(?:20|38)|6(?:304|759)/,\n 'luhn' : true\n },\n\n 'mastercard': {\n 'length': '16',\n 'prefix': /^5[1-5]/,\n 'luhn' : true\n },\n\n 'visa': {\n 'length': '13,16',\n 'prefix': /^4/,\n 'luhn' : true\n }\n },\n\n /**\n * Luhn function, to be used when validating credit cards\n *\n */\n _luhn: function (num){\n\n num = parseInt(num,10);\n\n if ( (typeof num !== 'number') && (num % 1 !== 0) ){\n // Luhn can only be used on nums!\n return false;\n }\n\n num = num+'';\n // Check num length\n var length = num.length;\n\n // Checksum of the card num\n var\n i, checksum = 0\n ;\n\n for (i = length - 1; i >= 0; i -= 2)\n {\n // Add up every 2nd digit, starting from the right\n checksum += parseInt(num.substr(i, 1),10);\n }\n\n for (i = length - 2; i >= 0; i -= 2)\n {\n // Add up every 2nd digit doubled, starting from the right\n var dbl = parseInt(num.substr(i, 1) * 2,10);\n\n // Subtract 9 from the dbl where value is greater than 10\n checksum += (dbl >= 10) ? (dbl - 9) : dbl;\n }\n\n // If the checksum is a multiple of 10, the number is valid\n return (checksum % 10 === 0);\n },\n\n /**\n * Checks if a number is of a specific credit card type\n * @method isCreditCard\n * @param {String} num Number to be validates\n * @param {String|Array} creditCardType Credit card type. See _creditCardSpecs for the list of supported values.\n * @return {Boolean}\n * @sample Ink_Util_Validator_isCreditCard.html \n */\n isCreditCard: function(num, creditCardType){\n\n if ( /\\d+/.test(num) === false ){\n return false;\n }\n\n if ( typeof creditCardType === 'undefined' ){\n creditCardType = 'default';\n }\n else if ( creditCardType instanceof Array ){\n var i, ccLength = creditCardType.length;\n for ( i=0; i < ccLength; i++ ){\n // Test each type for validity\n if (this.isCreditCard(num, creditCardType[i]) ){\n return true;\n }\n }\n\n return false;\n }\n\n // Check card type\n creditCardType = creditCardType.toLowerCase();\n\n if ( typeof this._creditCardSpecs[creditCardType] === 'undefined' ){\n return false;\n }\n\n // Check card number length\n var length = num.length+'';\n\n // Validate the card length by the card type\n if ( this._creditCardSpecs[creditCardType]['length'].split(\",\").indexOf(length) === -1 ){\n return false;\n }\n\n // Check card number prefix\n if ( !this._creditCardSpecs[creditCardType]['prefix'].test(num) ){\n return false;\n }\n\n // No Luhn check required\n if (this._creditCardSpecs[creditCardType]['luhn'] === false){\n return true;\n }\n\n return this._luhn(num);\n }\n };\n\n return Validator;\n\n});\n"]} \ No newline at end of file diff --git a/public/js/ink.modal.js b/public/js/ink.modal.js new file mode 100644 index 0000000..18debf8 --- /dev/null +++ b/public/js/ink.modal.js @@ -0,0 +1,537 @@ +/** + * Modal dialog prompts + * @module Ink.UI.Modal_1 + * @version 1 + */ +Ink.createModule('Ink.UI.Modal', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1'], function(Common, Event, Css, InkElement, Selector, InkArray ) { + 'use strict'; + + var opacitySupported = (function (div) { + div.style.opacity = 'invalid'; + return div.style.opacity !== 'invalid'; + }(InkElement.create('div', {style: 'opacity: 1'}))); + + /** + * @class Ink.UI.Modal + * @constructor + * @version 1 + * @param {String|DOMElement} selector Element or ID + * @param {Object} [options] Options object, containing: + * @param {String} [options.width] Default/Initial width. Ex: '600px' + * @param {String} [options.height] Default/Initial height. Ex: '400px' + * @param {String} [options.shadeClass] Custom class to be added to the div.ink-shade + * @param {String} [options.modalClass] Custom class to be added to the div.ink-modal + * @param {String} [options.trigger] CSS Selector for target elements that will trigger the Modal. + * @param {Boolean} [options.autoDisplay] Displays the Modal automatically when constructed. + * @param {String} [options.markup] Markup to be placed in the Modal when created + * @param {Function} [options.onShow] Callback function to run when the Modal is opened. + * @param {Function} [options.onDismiss] Callback function to run when the Modal is closed. Return `false` to cancel dismissing the Modal. + * @param {Boolean} [options.closeOnClick] Flag to close the modal when clicking outside of it. + * @param {Boolean} [options.closeOnEscape] Determines if the Modal should close when "Esc" key is pressed. Defaults to true. + * @param {Boolean} [options.responsive] Determines if the Modal should behave responsively (adapt to smaller viewports). + * @param {String} [options.triggerEvent] (advanced) Trigger's event to be listened. Defaults to 'click'. + * + * @sample Ink_UI_Modal_1.html + */ + + function upName(dimension) { + // omg IE + var firstCharacter = dimension.match(/^./)[0]; + return firstCharacter.toUpperCase() + dimension.replace(/^./, ''); + } + function maxName(dimension) { + return 'max' + upName(dimension); + } + + var openModals = []; + + function Modal() { + Common.BaseUIComponent.apply(this, arguments); + } + + Modal._name = 'Modal_1'; + + Modal._optionDefinition = { + /** + * Width, height and markup really optional, as they can be obtained by the element + */ + width: ['String', undefined], + height: ['String', undefined], + + /** + * To add extra classes + */ + shadeClass: ['String', undefined], + modalClass: ['String', undefined], + + /** + * Optional trigger properties + */ + trigger: ['String', undefined], + triggerEvent: ['String', 'click'], + autoDisplay: ['Boolean', true], + + /** + * Remaining options + */ + markup: ['String', undefined], + onShow: ['Function', undefined], + onDismiss: ['Function', undefined], + closeOnClick: ['Boolean', false], + closeOnEscape: ['Boolean', true], + responsive: ['Boolean', true] + }; + + Modal.prototype = { + _init: function () { + this._handlers = { + click: Ink.bindEvent(this._onShadeClick, this), + keyDown: Ink.bindEvent(this._onKeyDown, this), + resize: Ink.bindEvent(this._onResize, this) + }; + + this._wasDismissed = false; + + /** + * Modal Markup + */ + if( this._element ){ + this._markupMode = Css.hasClassName(this._element,'ink-modal'); // Check if the full modal comes from the markup + } else { + this._markupMode = false; + } + + if( !this._markupMode ){ + this._modalShadow = document.createElement('div'); + this._modalShadowStyle = this._modalShadow.style; + + this._modalDiv = document.createElement('div'); + this._modalDivStyle = this._modalDiv.style; + + if( !!this._element ){ + this._options.markup = this._element.innerHTML; + } + + /** + * Not in full markup mode, let's set the classes and css configurations + */ + Css.addClassName( this._modalShadow,'ink-shade' ); + Css.addClassName( this._modalDiv,'ink-modal ink-space' ); + + /** + * Applying the main css styles + */ + // this._modalDivStyle.position = 'absolute'; + this._modalShadow.appendChild( this._modalDiv); + document.body.appendChild( this._modalShadow ); + } else { + this._modalDiv = this._element; + this._modalDivStyle = this._modalDiv.style; + this._modalShadow = this._modalDiv.parentNode; + this._modalShadowStyle = this._modalShadow.style; + + this._contentContainer = Selector.select(".modal-body", this._modalDiv)[0]; + if( !this._contentContainer){ + throw new Error('Ink.UI.Modal: Missing div with class "modal-body"'); + } + + this._options.markup = this._contentContainer.innerHTML; + } + + if( !this._markupMode ){ + this.setContentMarkup(this._options.markup); + } + + if( typeof this._options.shadeClass === 'string' ){ + Css.addClassName(this._modalShadow, this._options.shadeClass); + } + + if( typeof this._options.modalClass === 'string' ){ + Css.addClassName(this._modalDiv, this._options.modalClass); + } + + if( this._options.trigger ) { + var triggerElements = Common.elsOrSelector(this._options.trigger, ''); + Event.observeMulti(triggerElements, this._options.triggerEvent, Ink.bindEvent(this.open, this)); + } else if ( this._options.autoDisplay.toString() === "true" ) { + this.open(); + } + }, + + /** + * Responsible for repositioning the modal + * + * @method _reposition + * @private + */ + _reposition: function(){ + this._modalDivStyle.marginTop = (-InkElement.elementHeight(this._modalDiv)/2) + 'px'; + this._modalDivStyle.marginLeft = (-InkElement.elementWidth(this._modalDiv)/2) + 'px'; + }, + + /** + * Responsible for resizing the modal + * + * @method _onResize + * @param {Boolean|Event} runNow Its executed in the begining to resize/reposition accordingly to the viewport. But usually it's an event object. + * @private + */ + _onResize: function( runNow ){ + if( typeof runNow === 'boolean' ){ + this._timeoutResizeFunction.call(this); + } else if( !this._resizeTimeout && (runNow && typeof runNow === 'object') ){ + this._resizeTimeout = setTimeout(Ink.bind(this._timeoutResizeFunction, this),250); + } + }, + + /** + * Timeout Resize Function + * + * @method _timeoutResizeFunction + * @private + */ + _timeoutResizeFunction: function(){ + /** + * Getting the current viewport size + */ + var isPercentage = { + width: ('' + this._options.width).indexOf('%') !== -1, + height: ('' + this._options.height).indexOf('%') !== -1 + }; + var currentViewport = { + height: InkElement.viewportHeight(), + width: InkElement.viewportWidth() + }; + + InkArray.forEach(['height', 'width'], Ink.bind(function (dimension) { + // Not used for percentage measurements + if (isPercentage[dimension]) { return; } + + if (currentViewport[dimension] > this.originalStatus[dimension]) { + this._modalDivStyle[dimension] = this._modalDivStyle[maxName(dimension)]; + } else { + this._modalDivStyle[dimension] = Math.round(currentViewport[dimension] * 0.9) + 'px'; + } + }, this)); + + this._resizeContainer(); + this._reposition(); + this._resizeTimeout = undefined; + }, + + /** + * Handle clicks on the shade element. + * + * @method _onShadeClick + * @param {Event} ev + * @private + */ + _onShadeClick: function(ev) { + var tgtEl = Event.element(ev); + + if (Css.hasClassName(tgtEl, 'ink-close') || Css.hasClassName(tgtEl, 'ink-dismiss') || + InkElement.findUpwardsBySelector(tgtEl, '.ink-close,.ink-dismiss') || + ( + this._options.closeOnClick && + (!InkElement.descendantOf(this._shadeElement, tgtEl) || (tgtEl === this._shadeElement)) + ) + ) { + var alertsInTheModal = Selector.select('.ink-alert', this._shadeElement), + alertsLength = alertsInTheModal.length; + for( var i = 0; i < alertsLength; i++ ){ + if( InkElement.descendantOf(alertsInTheModal[i], tgtEl) ){ + return; + } + } + + this.dismiss(); + + // Only stop the event if this dismisses this modal + if (this._wasDismissed) { + Event.stop(ev); + } + } + }, + + /** + * Responsible for handling the escape key pressing. + * + * @method _onKeyDown + * @param {Event} ev + * @private + */ + _onKeyDown: function(ev) { + if (ev.keyCode !== 27 || this._wasDismissed) { return; } + if (this._options.closeOnEscape.toString() === 'true' && + openModals[openModals.length - 1] === this) { + this.dismiss(); + if (this._wasDismissed) { + Event.stop(ev); + } + } + }, + + /** + * Responsible for setting the size of the modal (and position) based on the viewport. + * + * @method _resizeContainer + * @private + */ + _resizeContainer: function() { + var containerHeight = InkElement.elementHeight(this._modalDiv); + + this._modalHeader = Selector.select('.modal-header',this._modalDiv)[0]; + if( this._modalHeader ){ + containerHeight -= InkElement.elementHeight(this._modalHeader); + } + + this._modalFooter = Selector.select('.modal-footer',this._modalDiv)[0]; + if( this._modalFooter ){ + containerHeight -= InkElement.elementHeight(this._modalFooter); + } + + this._contentContainer.style.height = containerHeight + 'px'; + if( containerHeight !== InkElement.elementHeight(this._contentContainer) ){ + this._contentContainer.style.height = ~~(containerHeight - (InkElement.elementHeight(this._contentContainer) - containerHeight)) + 'px'; + } + + if( this._markupMode ){ return; } + }, + + /************** + * PUBLIC API * + **************/ + + /** + * Opens this Modal. + * Use this if you created the modal with `autoOpen: false` + * to open the modal when you want to. + * @method open + * @param {Event} [event] (internal) In case its fired by the internal trigger. + */ + open: function(event) { + + if( event ){ Event.stop(event); } + + var elem = (document.compatMode === "CSS1Compat") ? document.documentElement : document.body; + + this._resizeTimeout = null; + + Css.addClassName( this._modalShadow,'ink-shade' ); + this._modalShadowStyle.display = this._modalDivStyle.display = 'block'; + setTimeout(Ink.bind(function() { + Css.addClassName( this._modalShadow, 'visible' ); + Css.addClassName( this._modalDiv, 'visible' ); + }, this), 100); + + /** + * Fallback to the old one + */ + this._contentElement = this._modalDiv; + this._shadeElement = this._modalShadow; + + if( !this._markupMode ){ + /** + * Setting the content of the modal + */ + this.setContentMarkup( this._options.markup ); + } + + /** + * If any size has been user-defined, let's set them as max-width and max-height + */ + + var isPercentage = { + width: ('' + this._options.width).indexOf('%') !== -1, + height: ('' + this._options.height).indexOf('%') !== -1 + }; + + InkArray.forEach(['width', 'height'], Ink.bind(function (dimension) { + if (this._options[dimension] !== undefined) { + this._modalDivStyle[dimension] = this._options[dimension]; + if (!isPercentage[dimension]) { + this._modalDivStyle[maxName(dimension)] = + InkElement['element' + upName(dimension)](this._modalDiv) + 'px'; + } + } else { + this._modalDivStyle[maxName(dimension)] = InkElement['element' + upName(dimension)](this._modalDiv) + 'px'; + } + + if (isPercentage[dimension] && parseInt(elem['client' + maxName(dimension)], 10) <= parseInt(this._modalDivStyle[dimension], 10) ) { + this._modalDivStyle[dimension] = Math.round(parseInt(elem['client' + maxName(dimension)], 10) * 0.9) + 'px'; + } + }, this)); + + this.originalStatus = { + viewportHeight: InkElement.elementHeight(elem), + viewportWidth: InkElement.elementWidth(elem), + height: InkElement.elementHeight(this._modalDiv), + width: InkElement.elementWidth(this._modalDiv) + }; + + /** + * Let's 'resize' it: + */ + if( this._options.responsive.toString() === 'true' ) { + this._onResize(true); + Event.observe( window,'resize',this._handlers.resize ); + } else { + this._resizeContainer(); + this._reposition(); + } + + if (this._options.onShow) { + this._options.onShow(this); + } + + // subscribe events + Event.observe(this._shadeElement, 'click', this._handlers.click); + if (this._options.closeOnEscape.toString() === 'true') { + Event.observe(document, 'keydown', this._handlers.keyDown); + } + + this._wasDismissed = false; + openModals.push(this); + + Css.addClassName(document.documentElement, 'ink-modal-open'); + }, + + /** + * Closes the modal + * + * @method dismiss + * @public + */ + dismiss: function() { + if (this._wasDismissed) { /* Already dismissed. WTF IE. */ return; } + + if (this._options.onDismiss) { + var ret = this._options.onDismiss(this); + if (ret === false) { return; } + } + + this._wasDismissed = true; + + if( this._options.responsive ){ + Event.stopObserving(window, 'resize', this._handlers.resize); + } + + // this._modalShadow.parentNode.removeChild(this._modalShadow); + + if( !this._markupMode ){ + this._modalShadow.parentNode.removeChild(this._modalShadow); + this.destroy(); + } else { + Css.removeClassName( this._modalDiv, 'visible' ); + Css.removeClassName( this._modalShadow, 'visible' ); + + this._waitForFade(this._modalShadow, Ink.bind(function () { + this._modalShadowStyle.display = 'none'; + }, this)); + } + + openModals = InkArray.remove(openModals, InkArray.keyValue(this, openModals), 1); + + if (openModals.length === 0) { // Document level stuff now there are no modals in play. + var htmlEl = document.documentElement; + + // Remove the class from the HTML element. + Css.removeClassName(htmlEl, 'ink-modal-open'); + } + }, + + /** + * Utility function to listen to the onTransmissionEnd event, or wait using setTimeouts + * + * Specific to this._element + */ + _waitForFade: function (elem, callback) { + if (!opacitySupported) { return callback(); } + + var transitionEndEventNames = [ + 'transitionEnd', 'oTransitionEnd', 'webkitTransitionEnd']; + var classicName; + var evName; + for (var i = 0, len = transitionEndEventNames.length; i < len; i++) { + evName = transitionEndEventNames[i]; + classicName = 'on' + evName.toLowerCase(); + if (classicName in elem) { + Event.observeOnce(elem, evName, callback); + return; + } + } + var fadeChecker = function () { + if( +Css.getStyle(elem, 'opacity') > 0 ){ + setTimeout(fadeChecker, 250); + } else { + callback(); + } + }; + setTimeout(fadeChecker, 500); + }, + + /** + * Removes the modal from the DOM + * + * @method destroy + * @public + */ + destroy: function() { + Common.unregisterInstance(this._instanceId); + }, + + /** + * Returns the content DOM element + * + * @method getContentElement + * @return {DOMElement} Modal main cointainer. + * @public + */ + getContentElement: function() { + return this._contentContainer; + }, + + /** + * Replaces the content markup + * + * @method setContentMarkup + * @param {String} contentMarkup + * @public + */ + setContentMarkup: function(contentMarkup) { + if( !this._markupMode ){ + this._modalDiv.innerHTML = [contentMarkup].join(''); + this._contentContainer = Selector.select(".modal-body",this._modalDiv); + if( !this._contentContainer.length ){ + // throw 'Missing div with class "modal-body"'; + var tempHeader = Selector.select(".modal-header",this._modalDiv); + var tempFooter = Selector.select(".modal-footer",this._modalDiv); + + InkArray.each(tempHeader, InkElement.remove); + InkArray.each(tempFooter, InkElement.remove); + + var body = document.createElement('div'); + Css.addClassName(body,'modal-body'); + body.innerHTML = this._modalDiv.innerHTML; + this._modalDiv.innerHTML = ''; + + var toAdd = tempHeader.concat([body]).concat(tempFooter); + InkArray.each(toAdd, Ink.bindMethod(this._modalDiv, 'appendChild')); + + this._contentContainer = Selector.select(".modal-body",this._modalDiv); + } + this._contentContainer = this._contentContainer[0]; + } else { + this._contentContainer.innerHTML = contentMarkup; + } + this._contentElement = this._modalDiv; + this._resizeContainer(); + } + + }; + + Common.createUIComponent(Modal, { elementIsOptional: true }); + + return Modal; + +}); diff --git a/public/js/ink.pagination.js b/public/js/ink.pagination.js new file mode 100644 index 0000000..bc5a93c --- /dev/null +++ b/public/js/ink.pagination.js @@ -0,0 +1,528 @@ +/** + * Pagination elements + * @module Ink.UI.Pagination_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.Pagination', '1', + ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1'], + function(Common, Event, Css, Element, Selector ) { + 'use strict'; + + /** + * Function to create the pagination anchors + * + * @method genAel + * @private + * @param {String} inner HTML to be placed inside the anchor. + * @return {DOMElement} Anchor created + */ + var genAEl = function(inner, index, options) { + var aEl = document.createElement('a'); + aEl.setAttribute('href', '#'); + if (typeof index === 'number') { + aEl.setAttribute('data-index', index); + } + if(options && options.wrapText) { + var spanEl = document.createElement('span'); + aEl.appendChild(spanEl); + spanEl.innerHTML = inner; + } else { + aEl.innerHTML = inner; + } + return aEl; + }; + + /** + * @class Ink.UI.Pagination + * @constructor + * @version 1 + * @param {String|DOMElement} selector Selector or element + * @param {Object} options Options + * @param {Number} [options.size] Number of pages. + * @param {Number} [options.totalItemCount] Total numeber of items to display + * @param {Number} [options.itemsPerPage] Number of items per page. + * @param {Number} [options.maxSize] If passed, only shows at most maxSize items. displays also first|prev page and next page|last buttons + * @param {Number} [options.start] Start page. defaults to 1 + * @param {Boolean} [options.sideButtons=true] Whether to show the first, last, previous, next, previousPage and lastPage buttons. Do not use together with maxSize. + * @param {String} [options.firstLabel] Text for the first page button. Defaults to 'First'. + * @param {String} [options.lastLabel] Text for the last page button. Defaults to 'Last'. + * @param {String} [options.previousLabel] Text for the previous button. Defaults to 'Previous'- + * @param {String} [options.nextLabel] Text for the next button. Defaults to 'Next' + * @param {String} [options.previousPageLabel] Text for the previous page button. Defaults to 'Previous {Items per page}'. + * @param {String} [options.nextPageLabel] Text for the next page button. Defaults to 'Next {Items per page}'. + * @param {Function} [options.onChange] Callback to be called when a page changes. Called with `(thisPaginator, newPageNumber)`. + * @param {String} [options.hashParameter] Parameter to use on setHash. Defaults to 'page'. + * @param {String} [options.parentTag] HTML Tag used as the parent node. + * @param {String} [options.childTag] HTML Tag used as the child nodes. + * @param {String} [options.wrapperClass] CSS Class used in the wrapper element + * @param {String} [options.paginationClass] CSS Class used in the pagination element + * @param {String} [options.activeClass] CSS Class used to mark page as active + * @param {String} [options.disabledClass] CSS Class used to mark page as disabled + * @param {String} [options.hideClass] CSS Class used to hide elements + * @param {String} [options.previousClass] CSS Class used in the previous element + * @param {String} [options.previousPageClass] CSS Class used in the previous page element + * @param {String} [options.nextClass] CSS Class used in the next element + * @param {String} [options.nextPageClass] CSS Class used in the next page element + * @param {Function} [options.numberFormatter] Number formatter function. Receives a 0-indexed number and returns the text for the numbered page button. + * + * @sample Ink_UI_Pagination_1.html + */ + function Pagination() { + Common.BaseUIComponent.apply(this, arguments); + } + + Pagination._name = 'Pagination_1'; + + Pagination._optionDefinition = { + size: ['Integer', null], + totalItemCount: ['Integer', null], + itemsPerPage: ['Integer', null], + maxSize: ['Integer', null], + start: ['Integer', 1], + sideButtons: ['Boolean', 1 /* actually `true` but we want to see if user is using the default or not. */], + // TODO add pagination-type which accepts color strings, "chevron" and "dotted". Basically classes to add to the UL. + firstLabel: ['String', 'First'], + lastLabel: ['String', 'Last'], + previousLabel: ['String', 'Previous'], + nextLabel: ['String', 'Next'], + previousPageLabel: ['String', null], + nextPageLabel: ['String', null], + onChange: ['Function', undefined], + hashParameter: ['String', 'page'], + parentTag: ['String', 'ul'], + childTag: ['String', 'li'], + wrapperClass: ['String', 'ink-navigation'], + paginationClass: ['String', 'pagination'], + activeClass: ['String', 'active'], + disabledClass: ['String', 'disabled'], + hideClass: ['String', 'hide-all'], + previousClass: ['String', 'previous'], + previousPageClass: ['String', 'previousPage'], + nextClass: ['String', 'next'], + nextPageClass: ['String', 'nextPage'], + + numberFormatter: ['Function', function(i) { return i + 1; }] + }; + + Pagination.prototype = { + /** + * Init function called by the constructor + * + * @method _init + * @private + */ + _init: function() { + if (!this._options.previousPageLabel) { + this._options.previousPageLabel = this._options.previousLabel + ' ' + this._options.maxSize; + } + + if (!this._options.nextPageLabel) { + this._options.nextPageLabel = this._options.nextLabel + ' ' + this._options.maxSize; + } + + this._handlers = { + click: Ink.bindEvent(this._onClick,this) + }; + + if (Common.isInteger(this._options.totalItemCount) && Common.isInteger(this._options.itemsPerPage)) { + this._size = this._calculateSize(this._options.totalItemCount, this._options.itemsPerPage); + } else if (Common.isInteger(this._options.size)) { + this._size = this._options.size; + } else { + Ink.error('Ink.UI.Pagination: Please supply a size option or totalItemCount and itemsPerPage options.'); + this._size = 0; + } + + this._current = this._options.start - 1; + this._itemLiEls = []; + + // generate and apply DOM + this._generateMarkup(this._element); + + this._updateItems(); + + // subscribe events + this._observe(); + }, + + /** + * Responsible for setting listener in the 'click' event of the Pagination element. + * + * @method _observe + * @private + */ + _observe: function() { + Event.observeDelegated(this._element, 'click', '.' + this._options.paginationClass + ' > ' + this._options.childTag, this._handlers.click); + }, + + /** + * Calculate how many pages are necessary for `count` items, and `itemsPerPage` items per page. + * + * @method _calculateSize + * @param count + * @param itemsPerPage + * @private + **/ + _calculateSize: function (count, itemsPerPage) { + return Math.ceil(count / itemsPerPage); + }, + /** + * Updates the markup everytime there's a change in the Pagination object. + * + * @method _updateItems + * @private + */ + _updateItems: function() { + var liEls = this._itemLiEls; + + var isSimpleToggle = this._size === liEls.length; + + var i, f, liEl; + + if (isSimpleToggle) { + // just toggle active class + for (i = 0, f = this._size; i < f; ++i) { + Css.setClassName(liEls[i], this._options.activeClass, i === this._current); + } + } + else { + // remove old items + for (i = liEls.length - 1; i >= 0; --i) { + this._ulEl.removeChild(liEls[i]); + } + + // add new items + liEls = []; + for (i = 0, f = this._size; i < f; ++i) { + liEl = document.createElement(this._options.childTag); + liEl.appendChild( genAEl( this._options.numberFormatter(i), i) ); + // add "active" class if this is the active element. + Css.setClassName(liEl, this._options.activeClass, i === this._current); + if (this._nextEl) { + this._ulEl.insertBefore(liEl, this._nextEl); + } else { + this._ulEl.appendChild(liEl); + } + + liEls.push(liEl); + } + this._itemLiEls = liEls; + } + + if (this._options.maxSize) { + // toggle visible items + var page = Math.floor( this._current / this._options.maxSize ); + var pi = this._options.maxSize * page; + var pf = pi + this._options.maxSize - 1; + + for (i = 0, f = this._size; i < f; ++i) { + liEl = liEls[i]; + Css.setClassName(liEl, this._options.hideClass, i < pi || i > pf); + } + + this._pageStart = pi; + this._pageEnd = pf; + this._page = page; + + Css.setClassName(this._prevPageEl, this._options.disabledClass, !this.hasPreviousPage()); + Css.setClassName(this._nextPageEl, this._options.disabledClass, !this.hasNextPage()); + + Css.setClassName(this._firstEl, this._options.disabledClass, this.isFirst()); + Css.setClassName(this._lastEl, this._options.disabledClass, this.isLast()); + } + + // update prev and next + if (this._prevEl) { + Css.setClassName(this._prevEl, this._options.disabledClass, !this.hasPrevious()); + } + if (this._nextEl) { + Css.setClassName(this._nextEl, this._options.disabledClass, !this.hasNext()); + } + }, + + /** + * Returns the top element for the gallery DOM representation + * + * @method _generateMarkup + * @param {DOMElement} el + * @private + */ + _generateMarkup: function(el) { + Css.addClassName(el, 'ink-navigation'); + + var ulEl = Ink.s('.' + this._options.paginationClass, el); + var hasUlAlready = false; + + if( !ulEl ){ + ulEl = document.createElement(this._options.parentTag); + Css.addClassName(ulEl, this._options.paginationClass); + } else { + hasUlAlready = true; + } + + var isChevron = Css.hasClassName(ulEl, 'chevron'); + var isDotted = Css.hasClassName(ulEl, 'dotted'); + + // Creates

              rwtTn?>{ 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_slab/robotoslab-regular-webfont.woff b/public/fonts/Roboto_slab/robotoslab-regular-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..31c35344eb568f59029a05f7aea6c5110d3712eb GIT binary patch literal 95080 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≧62 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 K4Mmv<2>%1DtK%L3 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_slab/robotoslab-thin-webfont.eot b/public/fonts/Roboto_slab/robotoslab-thin-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..41dce4beb38be5d26bd263ea1f59036c782dc7c5 GIT binary patch literal 81813 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%0AeL{}PuPbm6QA*v}f&Xoe7 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto_slab/robotoslab-thin-webfont.ttf b/public/fonts/Roboto_slab/robotoslab-thin-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0d5ed9482ccaec809830b04bb9a1b077477bae38 GIT binary patch literal 198212 zcmd?S33wGn+WuYDorFL(0tuif9tevA2_n0)h^#8;AUY1Hg8>m&6c}}MbkuQh!*y_H z7)5a#0X^XEAnE|3Ku}pCA_xh|NkR@J;lPZelKy^AcRvZB&hmc$_kVrY^_|Y0>ZQ87 zwyt`ry6(G;HO92$Uy|uDa^$&Z7AB{*HO3BP?=ho>j~JPDN=hZ$7-vzXMb~JqUpG)mtJ+_)D?ev zIL3C4anc^S?2<`Sk_r;n80W7qalG$k?8sV@wvX+dY;W##xrcW$wG` znu{kT{eE_;an?P=_CwPq-7r1*pmVEnwny+Exq8yHOD^vIz@2OlA$%>SU-Rp0pFFNN z+a<)I<1eSrykvT+z3&<0CNIMO1HZXs^3(-Sk6U8g6iJ^HAgO284SM!daaY!6cNcg4 z7v~=9AIW5+qwFz`agBAa0n^G23s0%UA)_h$}K5C@iKy=Bp`iA%g!W={8GJ}!NngrHgP%tuJKsYyr6 zJ>30iD-x+gl4fmsXJz`~zv}3bEaXR9hwDylJ4Wtv%;2P>(IPTQUA!)6MH%On8mD%ODS(#~*GasO21j|`+ zzaV8~zoe*toV!a%gS?V_kwuP3I?LVLatDQ6x65z+qnsi6LTa<<`TwbVWd0wy?T6`* zyw*HdH*<)e(|$fnUI(Cb$@9^$6ueOIcEQ&Ll?8jdo9HbLfr@BYG z7k7{Mn8?$2p-JO^ju$b-gVBKY%lkI?!52a=iciba32Pbd#l|i zygK(uugIP2ZFlE+D~;o{HEH;a$+OP?q27Ko*{k7NdrVU^+uLDp@e=lSuh!1>cH32K zZ})cMf2Vtgx5xdHcfcf@(cWIdyPNCQa@{>#x7Ic>*xNVn|yFW{RgHu zZeMVc$uT3nugz&*wK*M}0mguH!Fk}9gywv2x4FQpG!wxru5$;t6Wj&v2KRt_xz=Og zaqt9q63hkjz;j&xdGG>w5xfNc0v2-pMPM;_1-uI01aE=2!8_nx@E-SH4&DbJfDZ}B z3b2yUw|*cS71BX0d{h{1h*7- z7j7ADIc^NM0{5Hx4{UR9z0LNjZ42C%xH-7FxUFzo<90SV_IOZ0KAiwg1ie5X&<_mo zD(wjTj>PY2Y@boT*^c(Uwr8<#9Oqre_B7UK;9d)EVErcCTXFB@oCi7QA>27!XC8Qp z^=H7d;5m-H3`keI2=_Iv_Xg*^L%5f*{vp@-lcM9%pT=Vzd*Us&@f55$qvvyrs1aJX5ePxX5mu)T*{x@k|#YEv<63kw%}NB9BA)Vx_O`z=mL1| z-BY|)?l3S4oCfajJ}^zF$8v4C$))}(qy8$V{wky1+C{xpiv4m2WxgeK%7@f{tEl&0 zx24_})OqhXExe^pzPG{Y;eAZ~H=lD?QRkI8Z+PpRx4`?}TIU0=#{G>~;oe0E?)75S zeHGNO7kbaJx6Zx8wB$&FBXu0vN3A%3T5&72*SXYQf28(0#dI;9y@h5LxC7h??gDp% zd%#NY5%}0!XwLwbff?Xha1;0tX#84x3lEFqZEW8T!nitI%UKUT0~^35Pz<(!tzaAY z8teq6pp5%AH4{uGb@S7fTAh0NYdfD-VwLxjEvMFxdb>!!k4(gz+<|F*f+JDxC~X3D+DvDG=n`@M52>u0k6Z0|MamwsuvnUXe_*6k`vO^md< zl9DrrlC#+PE3N2qlSK*oBPD1bW#t{x@m0#oJCv1oC@b%{k9o@|FLjiYI@&&IAv0;k zhMH_*T52X!vVP-z$yu*+)|Z_1C1-u<`^v&sI=-s$m5Hwke67V-6}~F)RbkqYBAZB& zTKl-SCv5L`k`fi9L^&z3mon9YRH!26Ul5}&DEk|UO);^NXQ0A)-DEg#nsj1N9LAvP zush_LG(ssM&hkDbJS}LscN3;9SRA`0^yV7x74oTwe40-_eMmliK&U>mf22--m=HYT zePkas8HBKkJS!&8D#^2V$+Id#x|Wb`C8Vp}k={n)xRy9BBm_moaV>FNOWGw!y98-h zLto=U;zcTORvEtIl$i{C@4Zm9&maV(BF)<&FGKTazjr{#{*BFAYdtJj8s^s9+;2B|T1%eRk!#iD=>b3ITr=8aQL{y`hqKAQ(Udc(-<~#Ul(F4* zfk`K~Kj!(aGuHp#&NT7%nRIZ0m%v6$V4o$h&l1==345Nm4_hUHt&)&3fsK*Crbu8z zB(Nb8*a8XK^aO2sf;K%t+m)d0O3-#CXuA^bAnJg@U+4akKTDtMHjHWzKBGeD^q-5DA>MMCdjk)wPw_6$)s=(>V(baWNh(-$p^hbUvMvY z4Df7XKPRxC6WGrQ?B@jbYyw+0fgPK`hD~6nCa_Tx*ry3>(*!nY0(&%pEtnk)lbFoFG-!2U~M(?jCLm1M9SJjln8t`{jF`rVX^fc0h-r+N z#)xT*n8t`{jF`rVX^fc0h-r+N#)xT*n8t`{jF`rVX^fc0h-r+N#)xT*n8t`{jF`rV zX^g!88?kLpY-7YWMr>omHb!h?#5P83W5hN_Y-7YWMr>omHb!h?#5P83W5hN_Y-7YW zMr>omHb!h?#5P83W5hN_Y-7YWMr>omHb!h?rXLndnHl75przl4dw=#gt*ilwk#I#F8n)k}1QIDZ?VzXz%nkU=?h{ z&M3vQDYL8DF2(|Dja4ubcOtD&A(+hi3~(F!ZwL3Wz6fwXESxedoH8t&GAx`jESxed zoH8t&GAx`jESxedoH8t&GAx`jtci_S6C1H6HeyX|#2(A`+R>YAM=XnoT@kS>B6dZ@ zu87zb5xXK{Rz%E-h*=RaDk4Tj#HNVY6cL*uYLR`!poowc5y~P$Sw!fH2wf4ODNd;z`$UxDpl2Pgr%Ksl(uhG-26yc&9fHTFc%3-kf~zyNO>?NqHjjrH?r zvF~O5LDnC_ox?HebYhf6&AE;GYd39JEp1pWb=XS#9R9>6c^P*Rh_Qbk*pJ@>)an*E zAQ@zN+o)}~QQK~Fy0YCJ^aK;Y1>hp~--UY*APls1wbaPlsFAl(BX6VKtEJtmrQNHg z-K(YDtEJtmrQNHg-K(YDtEJtmrQNHg-K(YDtEJtmrQNHg-K(XiQbSLrhMr0dJ(U`I zDmC;}YTV;Mdv6=H{Wfa*ZPfPLsO`5>+i#_|-%4%2mD+wQwf$CV`>l*rG{GK92cx|z zaB3wK{UGj$ErF*H)2ht4R4eQofFquOsE_NclQazK)b%MXJ}4>hnqQ zI#PQTslC^)HRiGYG%3Hpi;&87q;MT6Tt~{TA|+RmlB-C`RixS~QfU>bw2D+(MJ(%x zWgW4sBbIfB9^O&Hc!49W|OgVoRNi^(gk#1^Ao@7P5Y%P4y;z-U4rfcfh;gL;S7)Yw`a- zvA41*oAgGpOLqIV*8nVq!2U|7Ob7PY9QHkoJv|TiDg22wp*ERV6bsoWwpk6X*k}7W zex!|-#RyqPtd`EW$AcfU*)C%Lp?2Hj_!rylPq^IEc?OV@|E(>DU9}s#YPaLjySBgu z$)E{1)XvLdTWr1dCe6jpcRPVDV30}2_Dje1OUL$0$M#Fd_Dje1OAl;r?|p3Uz1ZAw zZ0!0_&k&0+lO0le?@QSBGPd%7y^cZ3Xt$#wtx5bIHSPDU?#X9EXMyV zo|`p1H*4sLZlEW+iS}u~-#(4={%OtuzW^7|di{zTZz8U=Pj9gAL)KT&f~I=^w9P;| z$N-&bdyWUvZVlkLv|Z!aKF?d@w_QPdwcl^A?#KTe{5*zB3s0|hgIxyRC)BIG{dObk zn^-SqeT!GZxaKBXhTjTmwJO}*pc?D}dqFLz0}1-9`?=oV@%In5{|UYY2Z87P(@6qp zfbcq*Ad8l~1tT1tyiGjAF?!RRc#dOObGw`Y93ScJC-rKa(X5Z9y*%4n>5w)KX+w`Y zXkRbFf6&J6CzWgHeQ$84dL_(bKdKOQ*84$=~*u4e(!sqIIF#X`fYQ2tPW|Pv26S{ zx)Uz#G<8gjI%W-Z%o^&LHPkU{sAJYp$E=}_S!0@#$}330Pl@GvLSNxrVTViC>K8p@QdOAJ0Pt<-d-yUqKvW#4$$suAppJ5YHIpx&k|_0y}IU z<+_6S#)xl>a=e#vypMRtD93v#$NMP9m83z8GF(SGd`20qquf`zU91q(RJ2 z{R?p?vcC{a=Ges?o5H@S)LNH;8SIpq^#_ttkjW% z73AO^d5=KaeMT9npnOzNHYz9=73M+HnZ70?wOlx}v$c1KbJj z0(XOZ0QERFdnGn|B{q8{HhU#Dd!=CnniSh%R^sO)@G)4!zI9+d_zdg>rJxK*9p4CIkm$CjK?kYyP*WogTKtG_8T-q7dGL#+O;lw%i4dtVmX-*%Z(rJy$$SJwClib=# zf1#58LM8o$O8N_x^cO10xt;VGDxLGeg{)7cJQac|tV?ZhDX!EAm*Y;uy^d>M52Qx8 znSHmheml6EGD(`!=cuI5QR&wJ&vX2BuJtA(%x~jo8T*&B%}AK@H?~&*(%M-MJ_8%T zCQuBvfURH~_!{g4rJxLa%XPj7^|Va}Fz!KLrqWFTsh}B12bqBUq2%nK~ei>| zkIo0r0;w}!C#Bv5Z*zRPq#7-01S_-y=moOJry(Kurkj9=X&L|kX6`L@+Pc`8gUEb4j)o0ZZR{s&b^%b7b=Gp;I@}`M^|3-EISI1%&$eLz1jz}vzzTY}9Ov!}6r7VDIIp3xGX&l39MtFQxO z_I{2%2p(d64(B|^`aImHxCbpEeVZ6o_v={QRao6s*o5U+-c>x)B|N_+JijH3(|mz- zP=&1+!#b$KI;g@rsKPp^!aAtJek{jAsKP?1!j6nl`@Tafv;|u-hLupov%UaJp$bc( z3QM61OQDLsQp}-m?HMQ3MI61A5&M9I6c`Oz;)=cP}|SPqNu{6sG|NTq5mc04kZqj7p>qH z>Wu}|8LO}$s<0rcs4Es=K~y<+aa`W5+=ELxIuEn&Q9zk<9w$7MIc!`Rw!4mu}1+-qYu)({UWt{gO+u=JKtcxo8crp5TF{c{r0X3iw zBmikieNuu=Tuz-*f?Zrry;6d0Tu$9mf_+?0{ZfLBTuvQR;wIy!;5NZc#chgp(hN5Z zHyt+vHxoCDQqHa@L zK-O=f62R8TjH?I1R3%;9}T zXg8EolEii>r!-+du>U%6J=eI2eK)i3Hr8(k_p$#edPDQUv*0<7KhN<+?0=nWz6suD zJ+LP#Xn`_mfwE|UvS@*_Xo0e5fwE|UvS@*_Xo0e5fwE|UvS@*_Xo0e5fwE|UvZ#Z_ zRuwx{Y}A5vG6Yh6M2RT!DRMLVS5Jdb>MpZ z-G}=W<$gYR7A#_$x|x`l(SnpaE9lon7!m6LIszHx%OeJ*#6Ut`O2|tIaVa5{P?i$P zGD2AzhO&fEmJ!M_LRlJyvJC6BjF46n(rQ9lMo3EuX(=HrBZQ@du#6Cv5yEOhSaw7R z%Lt)_u8h!Co4&MHHMCbXv{f}&vbD4`HPrDn)bTac@io-(HPpd1)Vnp*p*7rnFBWPo z^=J+CXbtsf4fSXZ^=J)sXbp8}4W)1|)@vXn78V?-vfxk{lqk`>E{@P-`C` zGzX}u4^UGdAQT6vVGmF<9-wACK+Pz9iv!do2dGI7P?H>>COJT#>8IZ{IHcDn)bo2y zGoH~L?zM;KbC3Owd^#JO`%-W@xEVYT=-=`d<;XF}a~T(vama<>$g#&aIrbKK8@vPF z1#9tF1peD`$85$~TY_95V~{e=crTE##i!V(V~Gn{m$AbdTp2$+a_q1pW34h~m`@2j za@_FHF~i64C*y{H!u>DD3u#A+XhVuT>3;1jSGzeV6v@HyBBz5ri>ufTS&1C)SW zpd3_qQ7o=va;lh|Dki6*HW)pN+R^03dAzf^mwgX`U<551j-VAYioTFs`~a&d%1H2L ztfgXG!a3!P1jX1F_g*Dei^&l|CJB z%1@&NpAOED(OhsISO^w@#o!h2Dp(7Oz^CAIun~L#z64)^?O+Ee0lPpss9=P(H5du* z1rLE|z_Xy-oNQybab`YH%M$Wk_5kiT-ai~m=pB&k$D)nX6}LO+3C^aROu)SWT#Dbz zX;H5?ZHU=FoV(a}58z(Tli+#wEx}z1UIXue_wm01|Aft{0@Yv-r~!2#0SJfN6r=&3 za5tN{q!Pk+sog)Nt@(;jjOEUM#+I$+J?lQMI)*pb7tlYI7H}f&hhPQm0)19`9s6k~ zu(4>tD#)QY{m%Vt)57sQ$b0Giv>E$pGh{4K-i*jNU(jk@&v9w3o@U=OU;&U;iuc^K zBl~Gb_S25+rybdEl9*w!kC{v|L*)Q7nf98dl%IXnTKlNA_EBree5ViGCn!@-GEZYJ zR_r|QeddZk$rv!__;ar|aGfLTx@PRDWrjvJ*Q(`Od%0E(*ZOOCt+zOPGuL|EBvV=w z9NFuKgSi3h-R+00iapi%t7A{OAF_X6vSlt<4cGMVPKbk;)N=P)LVX8sZWyg@2(Qi^ zsrIj4&G8R7qhT+8vl!WK?($BW(e37XU2-^xRd8MAA9!<3OVF8G{v^UWfEWw{gL#8~ z3O(dm?3X!ecLG`j-auCK2C|xYGdr*-H}fX4+I$2)W^Q9=tit2L$<&nt!5}O}u3=9F z%z4FjE4P>7Ud^!?xYvT~Id&7S&b^(*u{(J~F&kIr;l9Q>@6sz>hWjD@Rxt{-n*H?D z?MC($vo7;=Thn@W!piL8Tco?O^UAUF%CSf{W07vg-rJ46SB|~68+)(Bxefof`!?Th zEYaQAc_mn)JF)dj9OA^A(rVt6R`aH`nm47@yeX~bO=-2W6>I}vgPouhl#$mF%0vgy z5is+NH>Y#mVPF(E4d@(V$>q(wYk0|j&y+*Isf#(@{LFMU-AnzC(T^*XY-VK+RQi4nCHy%<^}VjdCB~RdT=py z;H%~h^QL*rylvhw@6rzcjW<^-%_@3ptLd$MV%C^-X1)2$Y%rTlG4cy?pi`%Fd zzouTSG*u>U_L^F=&+Iqfm~YKN<5_E6+r*~YrnZ?)v*|X&Hn-Wfg>7kbY_2`ZwzbFF z&h~iQ)#lsowukL$d)vOYzdhLwumkNNdx|~Po?%DZarPJXJbRhF!d_{wveWFt(r&e1+3oggyTdY;Vs}~kAeM1z%N$_KShd}6 z57@ukf7oyBclMyIx1M7i$4PRUIcZLo)6&UtT00$`PEKd1i*vkliZjGH)fwuHbVfO6 zIAff%oUzV0=X~cvXQFeFQ|L@~E_SYTraLp7na+*Q@0?qm+nnD!w>y7u?sV>Q?s4vQ z?sM*U9&;Xd{^b1GdCGa(neRN~JnJlQUT|J?7CMWZ#m-7+mGhCa+WFX7H?atTE4rixR;*>hOoHD1}i8&Pxv$UMuPPG$v z_BeZ;8i%*l&ORsM>~{`0e|NrdzIDEHzIP5f^^WHn*Se1Dx=C)bo8mTcv)mSLjvH~? zyB*v-x1-z1?d*1Ok9P;TgWVzSsqRpBv^&QAjXTS|%e}{azZ7~6cJ@OEgwI+z<$mo|+z+nY8%ZEi+9vo!0u=1%itOfFAS4$o2xo~2fl z{Z_U=BLOGl4g^<&Szxwl<#b}^bQds@^+NEmY2mB^>r4wbVp_Q!Ku6G-W0};Ut$YXv zKzRVl1yDYKasreWpxglE2Pj8Cc>>B6IGwsx_yPjq3Ok5WE^f_zHrzLI`g`xeM>GF8l@MFer~fxeUr@P)@^#q{)g9!fg;Rm)(bO z90bC1P_BdW9hCE+yoa^iQ@9U;BGv`MflwaAr)&!sLirG%v%N9I7r25iLwtoR5RQcM zB$O+me2Ef{31>oi6Uv=X{zN&)g+rk{3g*rWm!g4Bp_~flwKMv>-bYK;1;VdTj)n3p zlxsn|>hmp>bD_Ko=MV^|LwOx@2oG=8dHUKSenz%2QFU3N|Nw;6~00`N^pK zdLNIoE)f2T0GrzfbrK`>0hi@Z>|^e>4`##AuLyW83vickOt3V>Yq$d8xhU5~`7YEG z^rye}A-osmz9|1iIWWqDQ7(+~VU!c2ycp%iC_hFyGRl)tu8i_!lry8e8RgC>e?~bp z%A-*(jq+*A2y;2%7f?6&sKOOghuDKFpd9+B!xbb#NEuY#&9|h{cWeuUechcBSXIqfL zx!W-h<@~hg%`I=QeRRSVbO|9GAc63J zlnbPMAms#wyddeXnX~A1E%YJ$8-Z|el!v2S9OdIECr5cX@M-9IHSlxjfdw2L<>@F_ zNBKI+*-_q(a(6=h4x<#g^r9B}V1_JjHv+zra+ZX*B%B`Q^(ePT`91KN=s7L)Av_=D z`Y7K=IX}w#QSOiOf0P5HJRs!)DIX~01ku}CXok>N-RwhHKg#@3_D{$FqJJ8&fRqWO zY#?O>DJw{sLCOwNhLEy^lqsZap^z~||1)3>DRW5KL&_jh7LhWElue|JB4rhY%pynG zManQzmXR`zLbefO6Pe~{Vjm^uQF`k0i0M3f-%)zsQF`C==zY(lw;iRYJ&$)g^XN^_ zqbD7u7ab+kQF_Wzddg9H$x(XAQF_Vq=q1miha9CRJCC01JbJS8=*i01!3m76oDBX9 zm=|N72F#5y-|*&w(R$k*^Z-3UZ_pRK!>C9Lkb}QR=<7E3k&Y`6u8Q(igq?F57MbAm z5NF^D#)LQzS0KzC!9vyri$W~M6}%GSRb0W^5Jk9xPeXi;D-gbma$c18@+JGe3L*R# z<-jNpri6XFLX_hQ;He1wxtYq18OgTrV+8lIE)brKfL6$d@MQ$C5Hc@Qz`RTWqsfgN z8s?KQs@%w>>B@Td5Iu1P6GCA9)A9!Vn!9lC2|*YbO%Av=GG}v1h^4p!;oS&?d!zgt z;zcXb$it~-eNTuQTtQuk1g=2B4j2(`H^QWB?>#3>zdN<^Fz5vL@?DG6~(K%5c~C+Fkje4HGQliP7@?>M%1oLr8R zyK&wb#Cc~BCs*U-W}KXilap~f5-?ko9E+1%adIk7PQ}TgIJpxicjDM$adIWj8=N?~ z5hoYoiPg8U%J@>&momRX_7^?bfB~i~FlB-%8%!BtAuEjDM8FJFc9=56lqIH2 zF=dN|j4?*y1J;-_$6z&K`7|=fltrd*ca=@1j51}FDYGnOm$||)yVeMYNg!M;f$+5i zeM1OuOSxO{rI-cQ$l+2RmvXt3&!wC$<#ny&9N~5;ze_n@%JWjLSIGCGA02SMl=r3F zuN?Nb3LzXY<$);|O!;8S2~%E}a>JA#7IMU_^2C%YM#|DBYvhb6Z%nyk${$k>nexb# zOGf(87i#2`DX&bqWy&uLIcC`D0nbdiX395H&YAMgQt>C;Gv%M9vo0Jof$-2mE*kc4 z0)CM2v;_GfgqJ4h8-h7jTAgA+!MHgeUJuf}{UBb+tCybx<}1?xhr#}#}QLbz;# z(hz010_L&_d~O>&GDbfdIc_*W(d-Xob`Ekd>lhw$%|gQq+^W)abQ3BVkk z22P&x@|a=gbMus+ryRYN?Efgl$G8A1cB2pBJt%KaxqI|XuxvN_5DuU6_>{}1d_Lv$ zDX&kteai1sj$g?0<6Tm~^;5o|a{iR}r`$i~|0xGhd4RXmLlQ2a@&T0-Nc?rrPNozB}?VLu9l0jVrVWkM<&QW=rTiqzRjIzx%~+}Ny*EXh|{7p9~@*pkYa zWX6^e)}%5gl|88pN}bK5Gn#Z(6LUbYeFHED1RFSDRx%d^J2(LIL9mAdmZdT+nHz## z+{n0OjtKT~BlEH~@AwON*DnwTrm`@ViP?*NeL@H$Q(2kH%#>ME!p>BNrm{3;CY3NX z1u~;b8Jo)5#47cfo66o)2B)$(pWz%~aw?ls8J)`NRA#5LJC)%nGqq%vmOz-EA=?vs zKVW=XTw#3*l0yjlQyHMj0#zoc%FR#nETvR0M3s_fN} z!HPw>)y(8+o$o`KtjcC(ez?zQRaUDqTb13a3|D2jD$`Zjt|8+Un>%2=D)Uv@ugZW` z7OXO1l?|(mSY^d3GgjHL%8*r-tk@O8lvTE@GG>)EtISzt&xQ??#Y>&8v)FW%Vkv zSJ}PF@YOks%Jf~!_5W{;JPAWsS;EQ`R<^K=NXeYXVBVuDx1=*NmCpFa;UiNr2U3~D z$|hDuv9gL``Tk%8OBlw=GFGOsjB3>oF2O$51;RQGnaBTfgiGd4DjQiD$;wJrX7YbB z0w!}R1u_cuVIP%#~}dd~@ZTEAL$TWWqgH{<(6{m4~ie^j~31!f){*{W0aGD>wZ^j;#n_g`=)K zb>*rnUtKxt%3D|Ny7JeR!>&Ab<+3ZEUHWs@Ilc;&)xVIHCI;gu7wy!Z<2PT|HYKVCWV%9G#2G2zN9 zUtT%$%9~g2{C>hG{CVZjE012e^vb6XIrUa~^~$YRem&{y2*+M|_F44sg=?>Td*$52 z`{B*bCLi?J9f9!gm4mN5eBpkMg8d;7KE6OW`O3>zZocyKm7}jbed!Zl#I*&|FILXJ z@JEHWFA(m&^7oa)FRWeRmMWKD`TWZ1S6;tz`<36X9RK^duJHVo>#ux&<@`TQc!c+_ z+<&-cu#NWkSirhKbO2NfK=lAr6JR0N7LKc6G4~RPK7eWjs7`=t1*l#?s2R|p8zBAh z_Kchev`@|`5buox9RcZ^!#DFGdIG8`0RPMtT>;e=P<;W_7*L%7)fx!(2C$aaFf&xt z1XNK#RRvU8AXFFNX$}+yRAoSw22^c86$eyxK$QnneLximRE0p52tqXi>bpRZAPZMi z2~?Rt)d^IgKvfDRl~B!q`RRe8fvOth z(c2JZgHYXoxAisV22v^JL$nE0pFlMVRHq=+Dxgjb^a^;kc*Ck(#R|r!0__6TFBr!$ z(J)XQ1JyE6JpMJbr+u1svxj<(@wH8!wA>c@UMh*wM3#z@K`U{~3 z1J6>0ML&zTKB~oVJeGKV2+?E^^bH}}464td8V#z`Aa9ODt3mY|RI@>K8&tbN^&7CJ zeGP}la7D*Kfc8Lxo&y#p|N?8{T2m#i&z}JF6Z-6oHMoowu)?0-TZ3xweP>l%HiBPSG5%?9o2-S=@i*3=3 zQ0<7zI5v%a0@09A9SPNvP(6toI4+tJsw<(|5~?qu8WXBB@do}yYeFD;6RJ6(x)Z8B zv5w=s+i%dI*uc8zP^cC~(8}-R$q6(mRF@*od1zAz9MPu`U@7|$oeI^eV8#z~CU*J| z%?j16_!;}Vg($!koDkwfT!Cm=sGh}mwnfuIAi5R;(Y8>1i^5RjLUk@w>q7M|r1ccd z3)Q_)?F-ev5Z;rtoT`IyGk!%2Lm+w>0@1`!T@1=8?-LsJF({i2t)u8Sip%zi4L&L_b6DH|`-29Szmepj`WU8tZXIQ$uw%R9i#!HHtYV8XKy!v6Xev+EBd> z)!f+0zS0n7xPos9i{SeZ=y323B+%keJr3qj@cyGwmm`Js)DX>Z1?eF&aRod(J|bvz z2s(ri-4506=*&8GjKEAWqT!)B9;)S`dLF9jF_2MSRk4pstcmpAe%TYHgTvC!jlr{gs4^s zoGV9cMuBLCsBVaAhp2vtYKW+gh-!(bo``CSh&}fd?OfbS!?gPDv2K|!r@GBZ7s$-&BCaPzmnkK4iqS_{^Z=xC}XioS#C#rRV_Jk3= z6V*If$bA-tSd1%pCB&<^f;R|#(VCneSfh!Qb71dlR zVOw-p1iM%li2jP8oOOZdun5rF5YT(A@*$cms>`C!SIh zx-Y8z!uxc3$yGi?14eaV9%8>}!KfaLYQm^4jB3NsQ{rt&qehJC#Hdz`>cyyLjOxay zc8u!BsD_N{$f%Y~jBAUYjB3iLu1q!i_Jk098P%9kof*}dQN5XcTt_r#RCh+TXHq+BK?QqZ&4< zW20I&s%N8`HeI>C=-Q~Zjq2N|#!YvQi_VQ|-KgG;YToqZxai)f_6_ehu;}Oepl(7F zBGAF1Zt}Ho#&fL+oFh1&bpfM5K13Tw^>I`qM|E;kD@XNmZVokbR5#}?uECpqANQ~> zpe*`$n0pHz4Iz3u0@2h_T^;HTg;cSp5%RDWk7_gcdB z1WQBE<8lO|$D^7&@(l&iT(v*cRO%)&5Cg zTl9Za11Od4ri>;CL<>mufYR7bXIqfLx*(Hvf#?INMv&?RWplhGIuL@~5TY3*5Zxfv z4pRLf)et(4W1=IZT0*KPq?$siD@1$jYYVBqkZKI6&X8&iF?tUhJLZG02)Obkfi?8- zvV5FG4KHAv(T8XdsSeR#_K6meK=g=IlSp-mRGUckiBzMA8qwD&LW_qUS%Y3tgJ#j; z;{l>&80Z%b#1#!A)iIKB0nsv2J)^7H7EL47HBxOO)i;{OanU$Zouk=oQ+j=f-jQk^ z$r!@>yiXB`_L1rzsRokjAg$w^jrbLa9+GMzsVR#K>!L~kk3 zOj6w>)lOnOi=I&c(NIzyrC_|Ff|@DNQwqi#8g-QlIY+dWR9`6=XDDZ!A<$X6l>3R+ zlIks8&bDYSsqT_$FRA{LYB1f5Kha@QEhg1tx{q^3lSy@%RGUflnN*|cdCp&iU%~5y zQSfF6(QH!PreIv6f|?`HZ&D2>)p4Ty_*zb?=cJlWs_UfMPO9&u8c(Y8q*_m^_oSLn zq3%P@NUlQSjCmFiNdHkImAsYaFRRH;^#>Q$*`Rj6Clpk1Zo)>u~Z{#GW$g*OSQ68FH1GEuIGHw%~I{GA5XzD`gDPo zmg;H!jcqiw1k4IQiT}JmqZ}q|XPA%2gOgbw2*$B~HSR1h8^F+G9H^SwOjK@R7lMiO z8VkV`*j*83qjmrt0rQ*9RrJ_ue4K+TKq;$1!Amqu-e4QhGiX%vQbjLS^~&HF?;d=J zx|b?^smhlseKF4l3s>G91&Uv)`lZTWd)P1PU#bA6DqyMvrfOiS2=)*BiYk~YgQ+^$ zLH2n8uviKQSGI8UyNVD`>YFA2jF`>O&CEDq=&e`JHWfw zK$%R{$wGxP-e&|VWvWyb%z-~Ze7( zP%Dj)?lH|sS2TY}oAZ1%wgc{9+#%ppFcgdiWAL+-xi+Hp6@200$L2YT(weHRsp8r~ z{L7rie>JaBRM=FBP1V>`kxfA$vj7yt0=fP zgw9J8wKr9KJ9OTmD8H%to6IW|1vpiK+s8I@>jaL>DHI$zudpMtUj;IUP>@eeC-`^s z3Gc$M;K+G|q9CU#ax$M#l;l)RZVB7}OY;Zm@f7(G1-ej$j$TfnM5k(Wsz|4*bgE1z za}Q3IkqW*gYy%p%M1Asil6u_Grb-BBN+W+xCu zJ5{w)Wjj^3Q-wQKxjS?=*>hY=fZmvo7jOkHh7k2T!Cyiwt-7lE67UhYJ z^0WpJr9V~sQ^h}3{R?KV74rlK>VJpNUW@WX2TFjd2B?aFstTyefT|9t3V|}4O;iF^ zDe(6^xqk>Dih+WALXdWh!vyMqsvxK;f~q7aGu>o{n?Po`1+(0ujGqL`f~qbEf7n+T zRFy$h8dSAGRUD+;`Kp7|)V}iI=eW!~_pupQ!0dA$%sy{WBUD8~W}y43gsMzPKKbf| z%tCj{Lr}Ju(HtlhR^e8M*n=w&)k1+N7YY&~B=1zkP?ZcrHA8BoK+#ZD4OQ7t)eTkQ zuqhnrv=AA%0#Q3u#lvj2Wrm&Lr)Sw^zaa1KoRdX!i8lvc^s*a(uV}rV*Dm<#nZ2+@s`{fU zK&lF)DnW*7kfeN|2npNNSA}$NMHy1nA)BG**p+R8s6+}xDN-P6k*XM}s*$Q3sp^rc zAgL;nswAmulBy_4ynIzjRhCqBNmZC!%5hPdRHaE(n^eU~Rh?AjNmZY$=A1ntM1@iy zN|XXoqZE)94XTu?Oqs?E(~J<=xBw2WXi%ySrS#)Oi&FI{LrqG02Z1i7YE$aWOx37V zoyrQzeVpE4}hb%AJ0s=nk5wnbx7AUcz(HF*=;w~)_*+sSu<=uWEkr0P$q2BqpysutzDjJb#& zrD{@s$n{n+>qQ{il&Vk3n@~n6L^VCosSLF$WfqFBSJ@g{UNkFJw^Fq$N3u`!D^#<>PJMJ_tnfQgtu?#x{B6V?D0mvk)6_ z1)D+?;|fF*Q*|*_8&mZ$RU=b%GE4DW7JyNj%|1jkQ*|>{J5%*DRYOyCG*wGe^)y3G zO}?>G%Nqi8!WK+*9<`x1JN%g}CIg=XVgv>8R0ai_1#SZ*uPWK8%< zjGmM1^mJDkC#P1J{7u$nPDB&E9cqHv-re4V%pZt)D_Ps`UFnVS-l_k_Gu|g0{V#t! zYs^HEGZ~lq*S~E1l=B6pBYqxyPj>xa|DoP^-+jc-zwd6IXnx*$Z!WQ^I>O6OZZc~8 zAO9FyT{MZ@q&%AAE?mdIu&^++!bw+iV{oZR{ z8*hnM>pe(*Jm&dFy*b`YFWt-X-V?vxaFa~EIGX-mli=L?-+F^(zjsCbWUrU^xtH(V z>0KNg3;y#382_j4p~qw${f8g@d0V^%9KGB3L*BCfgLIWN@ghI6|0du6``#MwdVI{N z-{WnfR5j*oOF8~yKgv%QXM7nPJF+BsCH2d=4*CUpE>8zPufJ~pYu8)()5pUr`B#Sj z%`eEW;0*7$`fu2?34G-r3w(6-kMfqB@13De=O6J)C@nx{aHjtE)5G4!z=J`JVwO5b>v8`_m)@cJ;GOtfAI64jLbtzpeJg)ylDk~yqSk7 z*ZLqhRh}ERjx5!|LHVD-(dx#{#x-VRQx?3x2Kny&o+CkMga4*}n)f_DD6!r>w9Ll) zBWQ>@-+u~!L7CRA|IQ6^>%Tci&S1oq-@kh54+)(gPBdxcjK=cjUqSZ$_djyazuFJa z{K@@<0o#w?Pd%mnv4&ha(y#Z0f3K{@Sozy>y+{2s8{^fGE545~Cs}X)!#jI-_~%L; zc-ZepeEwA3@)P?Hy<8BNL-z#hKefNnr}wD0qH#;tq$cCLuKXmN@~kor^n;&w-Vb*D z%N>W7!{EuPmvZ*8x7b68uraJZ-lBTj8)~{6fBH6u-Xrv7O%r#dIkw@P#x-fz1^>y< zVh^~qDDrby(oIvw&}GeqQ5yVG*qcF1l}Wvv9qtR9mS_&=u-eMsY~66IHSfIIaLl0N z7W|IFX={!$$AsJer=29?5G)e*Ap8;sUF3ekua$+?gu?_@QVFp@cxf)s+81sWUt`NrX@8&rJWA9GCM2@(a=`m9{3pRk@NKz;aKp~m><`$NBtb>w&9sR%EysM{?&Fa=>k(T^pY8dP*Ubl zNQ@8t$+ID4A}B|aE{!n@{59s3^Mj*$HE{*{+y&29Q2Vs{!C7)$c@BbKkghF=u|oDs zT!LTfkDebM{0XNep@BicQAK0eG>re+J+f{%a$94p&-0JDhX*c*uRh0z9}BjEJdo!( zfYej}+3#4M=XM})gLB%2Esg98S|lwS`UHu;Y)b6mEyqvYQJ$KhHBz^+#gP4iHq?aD zCN(A9Gs34yuP5a{$6v$^>K_T4v`DEyo-8SQX?{t{<^Ks#NZU-&D-s>2iwP26bsoM9F^BO}SZIt|ibCO8`@hRauqF2hE zAgv^9Ier@>PfKfBF@0)+=f?4mwx(8<{qmFl!C8{4;!EpwIal_Gb)sQlg`cKdu+{iq zN=Q1s1wn}n@>9b9W2G_(LF4(sTJwhXz45q|sm8GCRdf6@5tJiImt224li2<6r&kqg zS+5lMl)LD27o6AlZ0T9S{vbVq=Rls#Am_7)t)lUYf#1gSwMGlB6y)pSsUjf@%6#j? zT4D{`f9f7tH~err2t(uZeCV^S>xb4ovQJw7;8~WEeI$ZBkmosomh#|EKlWcObr}Q8 z27w#+Wc0*ek$u+Q&Hr@vv}6{weu?OZ-y!g%SNp1+=U z@pRMw*T3#@q8ZHpo@O}zdzmx%-y5}HIa97I=gWWjS-&<7YE8=(We-=Swryh~d>5>T z>2HSkel2Sf3hPV^wt4IBU(J~lx{rnK+|Yg9ICi<&#&?tMaPQ>XNq6)0q}lGh?tSk4 z{#TS9a{tJels@5GO22U*J>q*x|C4jpyPvwBxu3fm+>P#Lx7hu{-Qs@fZgszMx4GNh zb?(>h4tJ+p;+DF*+%mV^jky(WWm0?he|FxnZWYUJmTHzb%N~{*mRgpzEOjjVSQ0Gz zSq`xLo#h`a|77`=O;}P{nzA%wNn=T8 z$zaK3$zo~FlFibBr6o&FQjS~X7A57fv|?$^(uU2E-J?!NE7Cr2sY`IPFB%nBKg5BWynN_Q3C^5Q?oll|kp z*tsd2VtqZggDWx}Te=@;EjAb{fYUYa$o0Cn9^N-#GKvIF5HPb@IW@ z7?hKpZV_Xj{y9%i(#gqDjzze8FmfWcO<+43=VqQw{IH$m6yiQYeUL&+Eu$?NM!qdK z$3A1Dww5orwRQSA6P#syLv6d0;QMB-+m!E`q$&Iv&bcl40^oaC|oE#Y#86LSPa&6?+$a9ewBa7N6w{O|LRr?O@ySJa% z!Re6Ip+$$IJGAT2t;1;@3OiiVX-%i^|Gwh8q-)skw~OdW3aIJy>#Z=fNEZw;$YkaLK`F*~+rJ%T6onzU!-9qjz=P)p=K^T^)CI z*md--qju%&YPl=DbYJP$rJG8Zl)hTJsPx>@QKchFPcA*7)GaA2Ik)7Tk})NxmkcUt zU(&3k$@T@?XQnSoy(Z~8_eMWINv!{m{Zi1K;74JT@^+|w9kdK`@bE$|dk+7}nPTxu z>yb)XXoejrqtY@a-5mR_1s0z4U0TuOXhVPIXnG>Y(C=@@s9S`0-5vPWdPmdg5G$}7 zPv;LUK~cZ&f5cZQhnQ2Dvp>uXHzRnONAWzLPVF?BnO$d6d;Hv2%Ga+|p2znp$D^Bn zK5C2?`roa*$P}7MeAVM(!XJFQ@_xQmIoHhR%aqTV7x*&ei_~)qnFF@S|2pLo6J>7t zYkZ~hExuFvHnrb7W;ylW`{o08IBN1!&86l_M*e?G{W#N1b1y{g=PLIK>cV;MrRF;K zO7|*rxw+Au>`rknwokj4p=x~#cJRw)nfZgc#7uXm+TrfygytG^t9u%H4zu{G=99LS zZS9`qp6q{-kZ%*3zq-@R3Ompp>yCHNbkB09yEEJo<|g+PcbIzyU*dcKp5cRhhx3pA z_ctH%zrAVr2B&;^^Uvmh{iXet`L&&3&$kzto9#qF?D$J2OekPJYlQ10b(%yFl822QA5G318coR? z+O~cB2~k^E5OwqO2v20nlH|!lBXVSEnsvIiXLVR)c4Rh}Thb%B)9kay7mjT^Y21YI zc@sD`<|#jwJm1<_X{q9$+Xr08vvxmh%+Ye6(6 zKO!M=MqC`VBPJIP_XE)+*lD`uElEx4R2UgCJ8zOCnjc5gR?;CFY0KU8c2T!e-lXBd z$*K8El9NY7?WExa(Wd!aFA|A19d?E!0V{b!Cq$dc);PABu~iUlmLGXL$xN1i7jvU% z+OWdN>_XC>@D@bV@<*RLen}HMd_u=)#wB?-6hzbWN1r`@^f|%Kw(Z&9(%+wvzr>^u z`^ESr>FL9`{m^K$ZWE$r7~k?4x}>T6YsSB*ZABuuoyLw|Vo4dYV(4trmD@J$+CGod zbiHkGTuyO1`9~)ZjZp-CR3Yitm}E;B(#a$0!}!q9QoiEqCwC@cNgi?TcoR*}8yYF( zx^HA;SZbW1LuVH*$w=-Noz|^w2O^(^$INa8(dPL}thm|vOB``qZJEC$N!%P# zRovYCB`M;z%3sn%+}8O^QpIhPzoe6(4v<&sefK%_AkaCxsx0&h#udNp0-uAOV_B)?cpci&kl|5;fK2B zNBa1o>6UMzZcx5?O7woRYFfSSS0=*;=k;IG)#ehaeBwX|)K?(|Xj1=zXhDAW)&mQo z-GAgLIe#%eP9X72t4@*bkx}xD5$V%s&mNUGiYI6MWa1FDJj>m!&CTI1J@UCXWsg7K zOEhIfw@YSs&x=F`&gNPtHXe?253UhSl8RzPw@9>5o}(dWkAKaHxRJK6Ii203Ck&M* zJCz!O`*Fv-kreDc#B>6hA zbvlPAXd^Dp3sO9&(elDnB}@g;KH(jQX|fhdn?Niy<@@I6MY>D$M^ZlxoX~wqXPZOG z?$@xJ#Bbc)zhSrUTTeaA&q?{w9^LfFVHZ6)KYC)f*<`uo?Q9DF4{l6icaL`F{sa6J zk@BJm7^N)aQB=EAa)U4q#3$dI4de=7BW&1o4ez|YY9=m|K( zByC2JdXbS-Vda1uAUN7_4#Ovkx(LN1cuaFJj z>y`eRc)iMB6R*?qyG2tkiMk!f-XPU?fz-V8edz_s==Fna?Zt+3vCi8Kk#_+0YzjpB zFgj(<*~W1)oZ;Eo+0Bz$c59iJ-K%9@pI%?~?VEeiMfPiV!?$Da6#M^$q{;U2ls4G- zX{ObXmJSxbJ=>*8&NRbYv}lnn=el_<`}At<|1WLUGr8Xz&3dNvO`cI-XVYJP(f=>u za%5B?=}&~GE!O|AAwx3L99IYj)-@ASZAwb|u&ibd;~r->ZQ>*+XAR5XE*WK{3y{~3hfsEg`1 z*}kLukFnFn^dD1S|4pGiwtnmA{`FP%%EJ1G?cDmQc5ZJcy|0~LUnuB%aDQ+1t#{H% z&vU#U?t3Y>(k~e^bH7Uu-DHoZfBy*0W zRn9Qev}y7=O>A;amwnY zZ%bYzn=`%YR6kTlGmYgpCFurh?c~{{)=PDU2N+!pSa;SPdtA8Z=dKl%@1{hL|Bk z2K6h*V0d?T61U>>&qTGO-^%{j{*Z8+X=%2WCBV z=EybntG)W-uD!)>@jlm=L7rCxblYE z-MmX*zTnYk9=iVA>-s-)ux!loX}>EvZ)5V3

            • elements for firstPage, nextPage, first, last, etc. + var createLiEl = Ink.bind(function (name, options) { + var liEl = document.createElement(this._options.childTag); + var aEl = genAEl(this._options[name + 'Label'], undefined, { wrapText: options && options.wrapText }); + Css.addClassName(liEl, this._options[name + 'Class']); + liEl.appendChild(aEl); + ulEl.appendChild(liEl); + return liEl; + }, this); + + if (!isDotted && this._options.maxSize) { + this._firstEl = createLiEl('first'); + this._prevPageEl = createLiEl('previousPage'); + } + + // When we're dotted, the default for sideButtons is `false`. When we're note, it's `true`. + // Since the default is actually "1", we do a === true check when we're dotted, and a truthish check when we're not. + if ((isDotted && this._options.sideButtons === true) || (!isDotted && this._options.sideButtons)) { + this._prevEl = createLiEl('previous', { wrapText: isChevron }); + this._nextEl = createLiEl('next', { wrapText: isChevron }); + } + + if (!isDotted && this._options.maxSize) { + this._nextPageEl = createLiEl('nextPage'); + this._lastEl = createLiEl('last'); + } + + if( !hasUlAlready ){ + el.appendChild(ulEl); + } + + this._ulEl = ulEl; + }, + + /** + * Click handler + * + * @method _onClick + * @param {Event} ev + * @private + */ + _onClick: function(ev) { + Event.stop(ev); + + var liEl = Event.element(ev); + if ( Css.hasClassName(liEl, this._options.activeClass) || + Css.hasClassName(liEl, this._options.disabledClass) ) { return; } + + var isPrev = Css.hasClassName(liEl, this._options.previousClass); + var isNext = Css.hasClassName(liEl, this._options.nextClass); + var isPrevPage = Css.hasClassName(liEl, this._options.previousPageClass); + var isNextPage = Css.hasClassName(liEl, this._options.nextPageClass); + var isFirst = Css.hasClassName(liEl, this._options.firstClass); + var isLast = Css.hasClassName(liEl, this._options.lastClass); + + if (isFirst) { + this.setCurrent(0); + } + else if (isLast) { + this.setCurrent(this._size - 1); + } + else if (isPrevPage || isNextPage) { + this.setCurrent( (isPrevPage ? -1 : 1) * this._options.maxSize, true /* relative */); + } + else if (isPrev || isNext) { + this.setCurrent(isPrev ? -1 : 1, true /* relative */); + } + else { + var aElem = Selector.select('[data-index]', liEl)[0]; + var nr = aElem && parseInt( aElem.getAttribute('data-index'), 10); + this.setCurrent(nr); + } + }, + + + /** + * Allows you to subscribe to the onChange event + * + * @method setOnChange + * @param cb {Function} Callback called with `(thisPaginator, newPageNumber)`. + */ + setOnChange: function (onChange) { + if (onChange !== undefined && typeof onChange !== 'function') { + throw new TypeError('onChange option must be a function!'); + } + this._options.onChange = onChange; + }, + + /************** + * PUBLIC API * + **************/ + + /** + * Sets the number of pages + * + * @method setSize + * @param {Number} sz number of pages + * @public + */ + setSize: function(sz) { + if (!Common.isInteger(sz)) { + throw new TypeError('1st argument must be an integer number!'); + } + + this._size = sz; + this._updateItems(); + this._current = 0; + }, + + /** + * Sets the number of pages, then call setSize(). + * + * @param setSizeInItems + * @param {Number} totalItems Total number of items + * @param {Number} itemsPerPage Items per page + */ + setSizeInItems: function (totalItems, itemsPerPage) { + var pageNumber = Math.ceil(totalItems / itemsPerPage); + this.setSize(pageNumber); + }, + + /** + * Sets the current page. + * + * @method setCurrent + * @param {Number} nr Sets the current page to given number. + * @param {Boolean} isRelative Flag to change the position from absolute to relative. + * @public + */ + setCurrent: function(nr, isRelative) { + if (!Common.isInteger(nr)) { + throw new TypeError('1st argument must be an integer number!'); + } + + if (isRelative) { + nr += this._current; + } + + if (nr > this._size - 1) { + nr = this._size - 1; + } + + if (nr < 0) { + nr = 0; + } + + this._current = nr; + this._updateItems(); + + if (this._options.onChange) { + this._options.onChange(this, nr); + } + + /*if (this._options.setHash) { + var o = {}; + o[this._options.hashParameter] = nr; + Common.setHash(o); + }*/ // undocumented option, removing + }, + + /** + * Gets the number of pages + * + * @method getSize + * @return {Number} Number of pages + * @public + */ + getSize: function() { + return this._size; + }, + + /** + * Gets the current page index + * + * @method getCurrent + * @return {Number} Current page + * @public + */ + getCurrent: function() { + return this._current; + }, + + /** + * Checks if it's at the first page + * + * @method isFirst + * @return {Boolean} True if at first page + * @public + */ + isFirst: function() { + return this._current === 0; + }, + + /** + * Checks if it's on the last page + * + * @method isLast + * @return {Boolean} True if at last page + * @public + */ + isLast: function() { + return this._current === this._size - 1; + }, + + /** + * Checks if it has previous pages + * + * @method hasPrevious + * @return {Boolean} True if has prior pages + * @public + */ + hasPrevious: function() { + return this._current > 0; + }, + + /** + * Checks if it has next pages + * + * @method hasNext + * @return {Boolean} True if has pages ahead + * @public + */ + hasNext: function() { + return this._current < this._size - 1; + }, + + /** + * Checks if it has a previous set of pages + * + * @method hasPreviousPage + * @return {Boolean} Returns true iif has prior set of page(s) + * @public + */ + hasPreviousPage: function() { + return this._options.maxSize && this._current > this._options.maxSize - 1; + }, + + /** + * Checks if it has a next set of pages + * + * @method hasNextPage + * @return {Boolean} Returns true iif has set of page(s) ahead + * @public + */ + hasNextPage: function() { + return this._options.maxSize && this._size - this._current >= this._options.maxSize + 1; + }, + + /** + * Unregisters the component and removes its markup + * + * @method destroy + * @public + */ + destroy: Common.destroyComponent + }; + + Common.createUIComponent(Pagination); + + return Pagination; + +}); \ No newline at end of file diff --git a/public/js/ink.progressbar.js b/public/js/ink.progressbar.js new file mode 100644 index 0000000..5218b4c --- /dev/null +++ b/public/js/ink.progressbar.js @@ -0,0 +1,81 @@ +/** + * Animated progress bars + * @module Ink.UI.ProgressBar_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.ProgressBar', '1', ['Ink.UI.Common_1', 'Ink.Dom.Selector_1'], function( Common, Selector ) { + 'use strict'; + + /** + * Associated to a .ink-progress-bar element, it provides a setValue() method to change the element's value. + * + * @class Ink.UI.ProgressBar + * @constructor + * @version 1 + * @param {String|DOMElement} selector Element or selector + * @param {Object} [options] Options object + * @param {Number} [options.startValue] Percentage of the bar that is filled. Ranges between 0 and 100. Default: 0 + * @param {Function} [options.onStart] Callback called when a change of value is started + * @param {Function} [options.onEnd] Callback called when a change of value ends + * + * @sample Ink_UI_ProgressBar_1.html + */ + function ProgressBar(){ + Common.BaseUIComponent.apply(this, arguments); + } + + ProgressBar._name = 'ProgressBar_1'; + + ProgressBar._optionDefinition = { + startValue: ['Number', 0], + onStart: ['Function', function () {}], + onEnd: ['Function', function () {}] + }; + + ProgressBar.prototype = { + /** + * Init function called by the constructor + * + * @method _init + * @private + */ + _init: function(){ + this._value = this._options.startValue; + this._elementBar = Selector.select('.bar',this._element); + if( this._elementBar.length < 1 ){ + throw new Error('[Ink.UI.ProgressBar] :: Bar element not found'); + } + this._elementBar = this._elementBar[0]; + + this.setValue( this._options.startValue ); + }, + + /** + * Sets the value of the Progressbar + * + * @method setValue + * @param {Number} newValue Numeric value, between 0 and 100, that represents the percentage of the bar. + * @public + */ + setValue: function( newValue ){ + this._options.onStart.call(this, this._value); + + newValue = parseInt(newValue,10); + if( isNaN(newValue) || (newValue < 0) ){ + newValue = 0; + } else if( newValue>100 ){ + newValue = 100; + } + this._value = newValue; + this._elementBar.style.width = this._value + '%'; + + this._options.onEnd.call(this, this._value); + } + }; + + Common.createUIComponent(ProgressBar); + + return ProgressBar; + +}); diff --git a/public/js/ink.smoothscroller.js b/public/js/ink.smoothscroller.js new file mode 100644 index 0000000..19d001f --- /dev/null +++ b/public/js/ink.smoothscroller.js @@ -0,0 +1,199 @@ +/** + * Scroll to content + * @module Ink.UI.SmoothScroller_1 + * @version 1 + */ +Ink.createModule('Ink.UI.SmoothScroller', '1', ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Element_1', 'Ink.Dom.Selector_1','Ink.Dom.Css_1'], function(Common, Event, InkElement, Selector, Css) { + 'use strict'; + + var requestAnimationFrame = + window.requestAnimationFrame || + function (cb) { return setTimeout(cb, 10); }; + + var cancelAnimationFrame = + window.cancelAnimationFrame || + function (id) { clearTimeout(id); }; + + /** + * @namespace SmoothScroller + * @version 1 + * @static + * + * SmoothScroller is a component which replaces the default scroll-to behaviour of `` tags which refer to IDs on the page. + * + * For example, when you have this: + * + * Todo + * [...] + *
              + * [...] + * + * You can click the `` and the page will scroll until the section you pointed to. + * + * When you use SmoothScroller, instead of immediately scrolling to the element, you get a smooth motion. + * + * Also, you can define the data-margin option if you have a `position:fixed` top menu ruining the behaviour. + * + * @example + * + */ + var SmoothScroller = { + + /** + * The default scrolling speed. Higher is slower. Defaults to 10. + * + * @property speed + * @type {Number} + * @default 10 + * @static + */ + speed: 10, + + /** + * Change the URL hash (location.hash) when done scrolling? Defaults to true. + * + * @property changeHash + * @default true + * @type {Boolean} + * @static + */ + changeHash: true, + + /** + * The default top margin. + * Use this when you want the scroll motion to stop before it reaches its destination, for example when you want to add some breathing space or have a position:fixed top bar in front of your content. + * + * @property margin + * @default 0 + * @type {Number} + * @static + */ + margin: 0, + + + /** + * Moves the scrollbar to the target element. This is the function + * which animates the scroll position bit by bit. It calls itself in + * the end through requestAnimationFrame + * + * @method scroll + * @param {Number} d Y coordinate value to stop + * @private + * @static + */ + scroll: function(d, options) { + var a = Math.round(InkElement.scrollHeight()); + + var endPos = Math.round(d - options.margin); + + if (endPos > a) { + a += Math.ceil((endPos - a) / options.speed); + } else { + a = a + (endPos - a) / options.speed; + } + + cancelAnimationFrame(SmoothScroller.interval); + + if (!((a) === endPos || SmoothScroller.offsetTop === a)) { + SmoothScroller.interval = requestAnimationFrame( + Ink.bindMethod(SmoothScroller, 'scroll', d, options), document.body); + } else { + SmoothScroller.onDone(options); + } + + window.scrollTo(0, a); + SmoothScroller.offsetTop = a; + }, + + + /** + * Has smooth scrolling applied to relevant elements upon page load. + * Listens to the click event on the document. + * Anything which matches the selector will be considered a "link" by SmoothScroller and handled as such. + * + * When a link is clicked, it is checked for several options: + * - `data-margin="0"` - A margin in pixels -- useful when you have a position:fixed top bar. + * - `data-speed="10"` - Inverse speed of the scrolling motion. Smaller is faster. + * - `data-change-hash="true"` - Change the URL hash (location.hash) when done scrolling. + * + * @method init + * @param [selector='a.scrollableLink,a.ink-smooth-scroll'] {String} Selector string for finding links with smooth scrolling enabled. + * @static + * @sample Ink_UI_SmoothScroller_1.html + */ + init: function(selector) { + Event.on(document, 'click', selector || 'a.scrollableLink, a.ink-smooth-scroll', SmoothScroller.onClick); + }, + + // Deprecated. Kept around just in case someone is still calling this. + render: function() {}, + + /** + * Handles clicks on link elements + * + * @method onClick + * @private + * @static + */ + onClick: function(event) { + var link = event.currentTarget; + + var thisDocument = (location + '').replace(/#.*?$/, ''); + var linkedDocument = (link.href + '').replace(/#.*?$/, ''); + + if (linkedDocument !== thisDocument) { + return; // It's an external link. + } + + var hash = link.getAttribute('data-hash') || (link.getAttribute('href') || '') + .replace(/^.*?#/, ''); + + if(hash) { + event.preventDefault(); + var activeLiSelector = 'ul > li.active > ' + selector; + + var selector = 'a[name="' + hash + '"],#' + hash; + var elm = Ink.s(selector); + var activeLi = Ink.s(activeLiSelector); + activeLi = activeLi && activeLi.parentNode; + + if (elm) { + if (!Css.hasClassName(link.parentNode, 'active')) { + if (activeLi) { + Css.removeClassName(activeLi, 'active'); + } + Css.addClassName(link.parentNode, 'active'); + } + + var options = Common.options('SmoothScroller link options', { + margin: ['Number', SmoothScroller.margin], + speed: ['Number', SmoothScroller.speed], + changeHash: ['Boolean', SmoothScroller.changeHash] + }, {}, link); + + SmoothScroller.hash = hash; + + SmoothScroller.scroll(InkElement.offsetTop(elm), options); + } + } + }, + + /** + * Called when the scroll movement is done. Updates browser address. + * + * @method onDone + * @param {Object} options Options object from the element. + * @private + */ + onDone: function (options) { + if (options.changeHash === true) { + window.location.hash = SmoothScroller.hash; + } + + SmoothScroller.hash = SmoothScroller.offsetTop = null; + } + }; + + return SmoothScroller; + +}); diff --git a/public/js/ink.sortablelist.js b/public/js/ink.sortablelist.js new file mode 100644 index 0000000..a54bb8b --- /dev/null +++ b/public/js/ink.sortablelist.js @@ -0,0 +1,261 @@ +/** + * Sortable lists + * @module Ink.UI.SortableList_1 + * @version 1 + */ + +Ink.createModule('Ink.UI.SortableList', '1', ['Ink.UI.Common_1','Ink.Dom.Css_1','Ink.Dom.Event_1','Ink.Dom.Element_1','Ink.Dom.Selector_1'], function( Common, Css, Events, Element, Selector ) { + 'use strict'; + var hasTouch = (('ontouchstart' in window) || // html5 browsers + (navigator.maxTouchPoints > 0) || // future IE + (navigator.msMaxTouchPoints > 0)); + + /** + * Adds sortable behaviour to any list. + * + * @class Ink.UI.SortableList + * @constructor + * @version 1 + * @param {String|DOMElement} selector + * @param {String} [options.placeholderClass] CSS class added to the "ghost" element being dragged around. Defaults to 'placeholder'. + * @param {String} [options.draggedClass] CSS class added to the original element being dragged around. Defaults to 'hide-all'. + * @param {String} [options.draggingClass] CSS class added to the html element when the user is dragging. Defaults to 'dragging'. + * @param {String} [options.dragSelector] CSS selector for the drag enabled nodes. Defaults to 'li'. + * @param {String} [options.handleSelector] CSS selector for the drag handle. If present, you can only drag nodes by this selector. + * @param {String} [options.moveSelector] CSS selector to validate a node move. If present, you can only move nodes inside this selector. + * @param {Boolean} [options.swap] Flag to swap dragged element and target element instead of reordering it. + * @param {Boolean} [options.cancelMouseOut] Flag to cancel draggin if mouse leaves the container element. + * @param {Function} [options.onDrop] Callback to be executed after dropping an element. Receives { droppedElement: DOMElement } as an argument. + * + * @sample Ink_UI_SortableList_1.html + */ + function SortableList() { + Common.BaseUIComponent.apply(this, arguments); + } + + SortableList._name = 'SortableList_1'; + + SortableList._optionDefinition = { + 'placeholderClass': ['String', 'placeholder'], + 'draggedClass': ['String', 'hide-all'], + 'draggingClass': ['String', 'dragging'], + 'dragSelector': ['String', 'li'], + 'dragObject': ['String', null], // Deprecated. Use handleSelector instead. + 'handleSelector': ['String', null], + 'moveSelector': ['String', false], + 'swap': ['Boolean', false], + 'cancelMouseOut': ['Boolean', false], + 'onDrop': ['Function', function(){}] + }; + + SortableList.prototype = { + /** + * Init function called by the constructor. + * + * @method _init + * @private + */ + _init: function() { + if (this._options.dragObject != null) { + // [3.0.0] Remove this deprecation notice and stop providing backwards compatibility + Ink.warn('Ink.UI.SortableList: options.dragObject is now deprecated. ' + + 'Please use options.handleSelector instead.'); + this._options.handleSelector = + this._options.handleSelector || this._options.dragObject; + } + + this._handlers = { + down: Ink.bind(this._onDown, this), + move: Ink.bind(this._onMove, this), + up: Ink.bind(this._onUp, this) + }; + + this._isMoving = false; + + this._down = hasTouch ? 'touchstart mousedown' : 'mousedown'; + this._move = hasTouch ? 'touchmove mousemove' : 'mousemove'; + this._up = hasTouch ? 'touchend mouseup' : 'mouseup'; + + this._observe(); + }, + + /** + * Sets the event handlers. + * + * @method _observe + * @private + */ + _observe: function() { + Events.on(this._element, this._down, this._options.dragSelector, this._handlers.down); + Events.on(this._element, this._move, this._options.dragSelector, this._handlers.move); + if(this._options.cancelMouseOut) { + Events.on(this._element, 'mouseleave', Ink.bind(this.stopMoving, this)); + } + Events.on(document.documentElement, this._up, this._handlers.up); + }, + + /** + * Mousedown or touchstart handler + * + * @method _onDown + * @param {Event} ev + * @private + */ + _onDown: function(ev) { + if (this._isMoving || this._placeholder) { return; } + if(this._options.handleSelector && !Selector.matchesSelector(ev.target, this._options.handleSelector)) { return; } + var tgtEl = ev.currentTarget; + this._isMoving = tgtEl; + this._placeholder = tgtEl.cloneNode(true); + this._movePlaceholder(tgtEl); + this._addMovingClasses(); + return false; + }, + + /** + * Mousemove or touchmove handler + * + * @method _onMove + * @param {Event} ev + * @private + */ + _onMove: function(ev) { + var target = ev.currentTarget; + + // Touch events give you the element where the finger touched first, + // not the element under it like mouse events. + if (ev.type === 'touchmove') { + var touch = ev.touches[0]; + target = document.elementFromPoint(touch.clientX, touch.clientY); + target = Element.findUpwardsBySelector(target, this._options.dragSelector); + } + + this.validateMove(target); + ev.preventDefault(); + }, + + /** + * Mouseup or touchend handler + * + * @method _onUp + * @param {Event} ev + * @private + */ + _onUp: function(ev) { + if (!this._isMoving || !this._placeholder) { return; } + if (ev.currentTarget === this._isMoving) { return; } + if (ev.currentTarget === this._placeholder) { return; } + Element.insertBefore(this._isMoving, this._placeholder); + this.stopMoving(); + this._options.onDrop.call(this, { droppedElement: ev.currentTarget }); + return false; + }, + + /** + * Adds the CSS classes to interactive elements + * + * @method _addMovingClasses + * @private + */ + _addMovingClasses: function(){ + Css.addClassName(this._placeholder, this._options.placeholderClass); + Css.addClassName(this._isMoving, this._options.draggedClass); + Css.addClassName(document.documentElement, this._options.draggingClass); + }, + + /** + * Removes the CSS classes from interactive elements + * + * @method _removeMovingClasses + * @private + */ + _removeMovingClasses: function(){ + if(this._isMoving) { Css.removeClassName(this._isMoving, this._options.draggedClass); } + if(this._placeholder) { Css.removeClassName(this._placeholder, this._options.placeholderClass); } + Css.removeClassName(document.documentElement, this._options.draggingClass); + }, + + /** + * Moves the placeholder element relative to the target element + * + * @method _movePlaceholder + * @param {Element} target_position + * @private + */ + _movePlaceholder: function(target){ + var placeholder = this._placeholder, + target_position, + placeholder_position, + from_top, + from_left; + if(!placeholder) { + Element.insertAfter(placeholder, target); + } else if(this._options.swap){ + Element.insertAfter(placeholder, target); + Element.insertBefore(target, this._isMoving); + Element.insertBefore(this._isMoving, placeholder); + } else { + target_position = Element.offset(target); + placeholder_position = Element.offset(this._placeholder); + from_top = target_position[1] > placeholder_position[1]; + from_left = target_position[0] > placeholder_position[0]; + if( ( from_top && from_left ) || ( !from_top && !from_left ) ) { + Element.insertBefore(placeholder, target); + } else { + Element.insertAfter(placeholder, target); + } + Element.insertBefore(this._isMoving, placeholder); + } + }, + + /************** + * PUBLIC API * + **************/ + + /** + * Unregisters the component and removes its markup + * + * @method destroy + * @public + */ + destroy: Common.destroyComponent, + + /** + * Visually stops moving. + * Removes the placeholder as well as the styling classes. + * + * @method _movePlaceholder + * @public + */ + stopMoving: function(){ + this._removeMovingClasses(); + Element.remove(this._placeholder); + this._placeholder = false; + this._isMoving = false; + }, + + /** + * Validate a move. + * This method is used by the move handler + * + * @method _movePlaceholder + * @param {Element} elem + * @public + */ + validateMove: function(elem){ + if (!elem || !this._isMoving || !this._placeholder) { return; } + if (elem === this._placeholder) { return; } + if (elem === this._isMoving) { return; } + if(!this._options.moveSelector || Selector.matchesSelector(elem, this._options.moveSelector)){ + this._movePlaceholder(elem); + } else { + this.stopMoving(); + } + } + + }; + + Common.createUIComponent(SortableList); + + return SortableList; +}); \ No newline at end of file diff --git a/public/js/ink.spy.js b/public/js/ink.spy.js new file mode 100644 index 0000000..0bc4707 --- /dev/null +++ b/public/js/ink.spy.js @@ -0,0 +1,151 @@ +/** + * Highlight elements as you scroll + * @module Ink.UI.Spy_1 + * @version 1 + */ +Ink.createModule('Ink.UI.Spy', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1'], function(Common, Event, Css, Element, Selector ) { + 'use strict'; + + // Maps a spy target (EG a menu with links inside) to spied instances. + var spyTargets = [ + // [target, [spied, spied, spied...]], ... + ]; + + function targetIndex(target) { + for (var i = 0, len = spyTargets.length; i < len; i++) { + if (spyTargets[i][0] === target) { + return i; + } + } + return null; + } + + function addSpied(spied, target) { + var index = targetIndex(target); + + if (index === null) { + spyTargets.push([target, [spied]]); + } else { + spyTargets[index][1].push(spied); + } + } + + var observingOnScroll = false; + function observeOnScroll() { + if (!observingOnScroll) { + observingOnScroll = true; + Event.observe(document, 'scroll', Event.throttle(onScroll, 300)); + } + } + + function onScroll() { + for (var i = 0, len = spyTargets.length; i < len; i++) { + onScrollForTarget(spyTargets[i][0], spyTargets[i][1]); + } + } + + function onScrollForTarget(target, spied) { + var activeEl = findActiveElement(spied); + + // This selector finds li's to deactivate + var toDeactivate = Selector.select('li.active', target); + for (var i = 0, total = toDeactivate.length; i < total; i++) { + Css.removeClassName(toDeactivate[i], 'active'); + } + + if (activeEl === null) { + return; + } + + // The link which should be activated has a "href" ending with "#" + name or id of the element + var menuLinkSelector = 'a[href$="#' + (activeEl.name || activeEl.id) + '"]'; + + var toActivate = Selector.select(menuLinkSelector, target); + for (i = 0, total = toActivate.length; i < total; i++) { + Css.addClassName(Element.findUpwardsByTag(toActivate[i], 'li'), 'active'); + } + } + + function findActiveElement(spied) { + /* + * Find the element above the top of the screen, but closest to it. + * _____ + * |_____| element 1 (active element) + * + * ------------------------ + * | _____ | + * | | | element 2 | + * | | | | + * | |_____| | + * ------- Viewport ------- + */ + + // Remember that getBoundingClientRect returns coordinates + // relative to the top left corner of the screen. + // + // So checking if it's < 0 is used to tell if + // the element is above the top of the screen. + var closest = -Infinity; + var closestIndex; + var bBox; + for( var i = 0, total = spied.length; i < total; i++ ){ + bBox = spied[i].getBoundingClientRect(); + if (bBox.top <= 0 && bBox.top > closest) { + closest = bBox.top; + closestIndex = i; + } + } + if (closestIndex === undefined) { + return null; + } else { + return spied[closestIndex]; + } + } + + /** + * Spy is an UI component which tells the user which section is currently visible. + * Spy can be used to highlight a menu item for the section which is visible to the user. + * You need two things: A menu element (which contains your links inside `li` tags), and an element containing your section's content. + * The links must be inside `li` tags. These will get the 'active' class, to signal which item is currently visible. In your CSS you need to add styling for this class. + * To use Ink.UI.Spy for more than one section, loop through your sections (as you see in the sample below), or just load `autoload.js` and set add the `data-spy="true"` attribute to your sections. + * The currently visible element's corresponding link in the menu gets the 'visible' class added to it. + * + * @class Ink.UI.Spy + * @constructor + * @version 1 + * @param {String|DOMElement} selector + * @param {Object} [options] Options + * @param {DOMElement|String} options.target Target menu where the spy will highlight the right option. + * + * @sample Ink_UI_Spy_1.html + */ + function Spy(){ + Common.BaseUIComponent.apply(this, arguments); + } + + Spy._name = 'Spy_1'; + + Spy._optionDefinition = { + target: ['Element', undefined], + activeClass: ['String', 'active'] // [todo] Spy#_options.activeClass + }; + + Spy.prototype = { + /** + * Init function called by the constructor + * + * @method _init + * @private + */ + _init: function() { + addSpied(this._element, this._options.target); + observeOnScroll(); + onScroll(); + } + }; + + Common.createUIComponent(Spy); + + return Spy; + +}); diff --git a/public/js/ink.stacker.js b/public/js/ink.stacker.js new file mode 100644 index 0000000..83be1ae --- /dev/null +++ b/public/js/ink.stacker.js @@ -0,0 +1,252 @@ +/** + * Stacking items in columns + * @module Ink.UI.Stacker_1 + * @version 1 + **/ + +Ink.createModule('Ink.UI.Stacker', 1, ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Element_1'], function(Common, InkEvent, InkElement) { + 'use strict'; + +function Stacker() { + Common.BaseUIComponent.apply(this, arguments); +} + +Stacker._name = 'Stacker_1'; + +Stacker._optionDefinition = { + column: ['String', '.stacker-column'], + item: ['String', '.stacker-item'], + + // [3.0.0] review this when we have info about our breakpoints from the CSS + customBreakPoints: ['Object', null], // Must be: {xlarge: {max: 9999, min: 1281, cols: 5}, large:{max:1280, min:1001, cols:4} medium:{max:1000, min:801,cols:3}, ...etc..} + largeMax: ['Number', Number.MAX_VALUE], + largeMin: ['Number', 961], + mediumMax: ['Number', 960], + mediumMin: ['Number', 651], + smallMax: ['Number', 650], + smallMin: ['Number', 0], + + largeCols: ['Integer', 3], + mediumCols: ['Integer', 2], + smallCols: ['Integer', 1], + + isOrdered: ['Boolean', true], + onRunCallback: ['Function', null], + onResizeCallback: ['Function', null], + onAPIReloadCallback: ['Function', null] +}; + +Stacker.prototype = { + /** + * This module combines several stacks of items together, in smaller screen sizes. + * + * The purpose is to have several stacks of items which may have different heights and as such cannot be used because of `float: left` quirks. + * + * For example, when you have three different columns of information: + * + * [col. A: 1] [col. B: 1] [col. C: 1] + * [col. B: 2] [col. C: 2] [col. C: 2] + * + * and the screen resizes and you need a layout of 2 columns, Stacker reorders the stacks so that you get: + * + * [col. A: 1] [col. B: 1] + * [col. C: 1] [col. A: 2] + * [col. B: 2] [col. C: 2] + * + * Note: If you just want to use a different amount of columns for your items in several viewports, but these items are guaranteed to have a fixed height, don't use this module. Use the `small-*`, `medium-*` and `large-*` classes instead. + * + * @class Ink.UI.Stacker_1 + * + * @constructor + * @param {DOMElement|String} [container] Element which contains the stacks (identified by the options.column selector) + * @param {Object} [options] Options object. + * @param {String} [options.column] Selector for the the columns inside the container element. Defaults to '.stacker-column'. + * @param {String} [options.item] Selector for the items in your stack. Defaults to '.stacker-item'. + * @param {Object} [options.customBreakPoints] Options for each breakpoint name. Use this if you have more breakpoints than Ink by default (`large`, `medium`, `small`) + * @param {Object} [options.customBreakpoints.BREAKPOINT_NAME] Custom breakpoints object. + * @param {String} options.customBreakpoints.BREAKPOINT_NAME.max Maximum screen size as seen in your media query + * @param {String} options.customBreakpoints.BREAKPOINT_NAME.min Minimum screen size as seen in your media query + * @param {String} options.customBreakpoints.BREAKPOINT_NAME.cols Column count for this size. + * @param {Number} [options.largeMax] Upper bound of `large` breakpoint + * @param {Number} [options.largeMin] Lower bound of `large` breakpoint. Defaults to 961. + * @param {Number} [options.mediumMax] Upper bound of `medium` breakpoint. Defaults to 960. + * @param {Number} [options.mediumMin] Lower bound of `medium` breakpoint. Defaults to 651. + * @param {Number} [options.smallMax] Upper bound of `small` breakpoint. Defaults to 650. + * @param {Number} [options.smallMin] Lower bound of `small` breakpoint + * + * @param {Integer} [options.largeCols] Number of columns in the `large` viewport. Defaults to 3. + * @param {Integer} [options.mediumCols] Number of columns in the `medium` viewport. Defaults to 2. + * @param {Integer} [options.smallCols] Number of columns in the `small` viewport. Defaults to 1. + * + * @param {Boolean} [options.isOrdered] When false, doesn't reorder stacks when combining them. + * @param {Function} [options.onRunCallback] Called when instantiated. + * @param {Function} [options.onResizeCallback] Called when the window resizes. + * @param {Function} [options.onAPIReloadCallback] Called when the reload function executes. + * + * @sample Ink_UI_Stacker_1.html + **/ + _init: function() { + this._aList = []; + + this._curLayout = 'large'; + + // [todo] is this needed? + this._runFirstTime = false; + + this._getPageItemsToList(); + + if(this._canApplyLayoutChange() || !this._runFirstTime) { + this._runFirstTime = true; + this._applyLayoutChange(); + if(typeof(this._options.onRunCallback) === 'function') { + this._options.onRunCallback(this._curLayout); + } + } + this._addEvents(); + }, + + /** + * Adds an item to the end of your stacks. + * Call `reloadItems()` when you are done adding items. + * @method addItem + * @param {DOMElement} item Element + **/ + addItem: function(item) { + this._aList.push(item); + }, + + /** + * Updates the layout of your items. + * Call this method after adding items or changing their dimensions. This method is automatically called when the window resizes. + * + * @method reloadItems + **/ + reloadItems: function() { + this._applyLayoutChange(); + if(typeof(this._options.onAPIReloadCallback) === 'function') { + this._options.onAPIReloadCallback(this._curLayout); + } + }, + + _addEvents: function() { + InkEvent.observe(window, 'resize', Ink.bindEvent(this._onResize, this)); + }, + + _onResize: function() { + if(this._canApplyLayoutChange()) { + this._removeDomItems(); + this._applyLayoutChange(); + if(typeof(this._options.onResizeCallback) === 'function') { + this._options.onResizeCallback(this._curLayout); + } + } + }, + + _setCurLayout: function() { + var viewportWidth = InkElement.viewportWidth(); + if(this._options.customBreakpoints && typeof(this._options.customBreakPoints) === 'object') { + for(var prop in this._options.customBreakPoints) { + if(this._options.customBreakPoints.hasOwnProperty(prop)) { + if(viewportWidth >= Number(this._options.customBreakPoints[prop].min) && viewportWidth <= Number(this._options.customBreakPoints[prop].max) && this._curLayout !== prop) { + this._curLayout = prop; + return; + } + } + } + } else { + if(viewportWidth <= Number(this._options.largeMax) && viewportWidth >= Number(this._options.largeMin) && this._curLayout !== 'large') { + this._curLayout = 'large'; + } else if(viewportWidth >= Number(this._options.mediumMin) && viewportWidth <= Number(this._options.mediumMax) && this._curLayout !== 'medium') { + this._curLayout = 'medium'; + } else if(viewportWidth >= Number(this._options.smallMin) && viewportWidth <= Number(this._options.smallMax) && this._curLayout !== 'small') { + this._curLayout = 'small'; + } + } + }, + + _getColumnsToShow: function() { + if(this._options.customBreakPoints && typeof(this._options.customBreakPoints) === 'object') { + return Number(this._options.customBreakPoints[this._curLayout].cols); + } else { + return Number(this._options[this._curLayout+'Cols']); + } + }, + + _canApplyLayoutChange: function() { + var curLayout = this._curLayout; + this._setCurLayout(); + if(curLayout !== this._curLayout) { + return true; + } + return false; + }, + + _getPageItemsToList: function() { + this._aColumn = Ink.ss(this._options.column, this._element); + var totalCols = this._aColumn.length; + var index = 0; + if(totalCols > 0) { + for(var i=0; i < this._aColumn.length; i++) { + var aItems = Ink.ss(this._options.item, this._aColumn[i]); + for(var j=0; j < aItems.length; j++) { + if(this._options.isOrdered) { + index = i + (j * totalCols); + } + this._aList[index] = aItems[j]; + if(!this._options.isOrdered) { + index++; + } + //aItems[j].style.height = (100 + (Math.random() * 100))+'px'; + aItems[j].parentNode.removeChild(aItems[j]); + } + } + if(this._aList.length > 0 && this._options.isOrdered) { + var aNewList = []; + for(var ii=0; ii < this._aList.length; ii++) { + if(typeof(this._aList[ii]) !== 'undefined') { + aNewList.push(this._aList[ii]); + } + } + this._aList = aNewList; + } + } + }, + + _removeDomItems: function() { + var totalCols = this._aColumn.length; + if(totalCols > 0) { + for(var i=0; i < totalCols; i++) { + var aItems = Ink.ss(this._options.item, this._aColumn[i]); + for(var j=aItems.length - 1; j >= 0; j--) { + aItems[j].parentNode.removeChild(aItems[j]); + } + } + } + }, + + _applyLayoutChange: function() { + var totalCols = this._getColumnsToShow(); + var totalItems = this._aList.length; + var index = 0; + var countCol = 0; + if(totalCols > 0) { + while(countCol < totalCols) { + this._aColumn[countCol].appendChild(this._aList[index]); + index++; + countCol++; + if(index === totalItems) { + return; + } + if(countCol === totalCols) { + countCol = 0; + } + } + } + } +}; + +Common.createUIComponent(Stacker); + +return Stacker; + +}); diff --git a/public/js/ink.sticky.js b/public/js/ink.sticky.js new file mode 100644 index 0000000..fd0143a --- /dev/null +++ b/public/js/ink.sticky.js @@ -0,0 +1,276 @@ +/** + * Stick elements to the viewport + * @module Ink.UI.Sticky_1 + * @version 1 + */ +Ink.createModule('Ink.UI.Sticky', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Element_1','Ink.Dom.Css_1'], function(Common, Event, Element, Css) { + 'use strict'; + + /** + * Ink.UI.Sticky makes an element "stick" to the screen and stay in the same place as the user scrolls. To use it, just select an element as you create the Sticky. As you scroll past it, it will stick to the top of the screen. + * The `activateInLayouts` option controls in what layouts this behaviour happens. By default, it is disabled for the `small` and `tiny` layouts. Pass a comma-separated string to choose just the layouts you need. You can use the `offsetTop` option if you want it to keep some distance from the top of the screen. To avoid it going under the footer of your page, pass a selector to your footer as the `bottomElement` option. + * + * @class Ink.UI.Sticky + * @constructor + * @version 1 + * @param {String|DOMElement} selector Element or selector + * @param {Object} [options] Options Options object. + * @param {Number} [options.offsetBottom] Number of pixels of distance from the bottomElement. Defaults to 0. + * @param {Number} [options.offsetTop] Number of pixels of distance from the topElement. Defaults to 0. + * @param {Boolean} [options.inlineDimensions] Set to false to disable setting inline CSS dimensions. Use this if you want to use CSS to define your own dimensions. Defaults to true. + * @param {Boolean} [options.inlinePosition] Set to false to disable setting inline CSS positions. Use this if you want to use CSS to define your own positioning. Defaults to true. + * @param {String} [options.wrapperClass] CSS class for the wrapper element. Defaults to 'ink-sticky-wrapper'. + * @param {String} [options.stickyClass] CSS class to stick the element to the screen. Defaults to 'ink-sticky-stuck'. + * @param {String} [options.topElement] CSS Selector that specifies a top element with which the component could collide. + * @param {String} [options.bottomElement] CSS Selector that specifies a bottom element with which the component could collide. + * @param {Array|String} [options.activateInLayouts] Layouts in which the sticky behaviour is present. Pass an array or comma-separated string. Defaults to 'tiny,small,medium,large,xlarge'. + * + * @sample Ink_UI_Sticky_1.html + */ + function Sticky(){ + Common.BaseUIComponent.apply(this, arguments); + } + + Sticky._name = 'Sticky_1'; + + Sticky._optionDefinition = { + offsetBottom: ['Integer', 0], + offsetTop: ['Integer', 0], + topElement: ['Element', null], + wrapperClass: ['String', 'ink-sticky-wrapper'], + stickyClass: ['String', 'ink-sticky-stuck'], + inlineDimensions: ['Boolean', true], + inlinePosition: ['Boolean', true], + bottomElement: ['Element', null], + activateInLayouts: ['String', 'tiny,small,medium,large,xlarge'] + }; + + Sticky.prototype = { + + /** + * Init function called by the constructor + * + * @method _init + * @private + */ + _init: function() { + // Because String#indexOf is compatible with lt IE8 but not Array#indexOf + this._options.activateInLayouts = this._options.activateInLayouts.toString(); + + this._dims = null; // force a recalculation of the dimensions later + + this._options.offsetTop = parseInt(this._options.offsetTop, 10) || 0; + this._options.offsetBottom = parseInt(this._options.offsetBottom, 10) || 0; + + if (this._options.topElement) { + this._options.topElement = Common.elOrSelector(this._options.topElement, 'Top Element'); + } + if (this._options.bottomElement) { + this._options.bottomElement = Common.elOrSelector(this._options.bottomElement, 'Sticky bottom Element'); + } + + this._wrapper = Element.create('div', { className: this._options.wrapperClass }); + Element.wrap(this._element, this._wrapper); + + var scrollTarget = document.addEventListener ? document : window; + this._onScroll = Ink.bind(Event.throttle(this._onScroll, 33), this); // Because this is called directly. + Event.observe( scrollTarget, 'scroll', this._onScroll ); + Event.observe( window, 'resize', Ink.bindEvent(Event.throttle(this._onResize, 100), this) ); + this._onScroll(); + }, + + /** + * Returns whether the sticky is disabled in the current view + * + * @method isDisabledInLayout + * @private + */ + _isDisabledInLayout: function () { + var currentLayout = Common.currentLayout(); + if (!currentLayout) { return false; } + return this._options.activateInLayouts.indexOf(currentLayout) === -1; + }, + + /** + * Scroll handler. + * + * @method _onScroll + * @private + */ + _onScroll: function(){ + var dims = this._getDims(); + var scrollHeight = Element.scrollHeight(); + + var unstick = this._isDisabledInLayout() || + scrollHeight <= dims.top - this._options.offsetTop || + (this._options.topElement && this._options.topElement.getBoundingClientRect().bottom + this._options.offsetTop > 0); + + if( unstick ) { + // We're on top, no sticking. position:static is the "normal" position. + this._unstick(); + return; + } + + // If we stick it now, what will be its boundingClientRect.bottom ? + var bottomOfSticky = this._options.offsetTop + dims.height + Element.scrollHeight(); + var maxBottomOfSticky = document.body.scrollHeight; + + if (this._options.bottomElement) { + maxBottomOfSticky = + this._options.bottomElement.getBoundingClientRect().top + + Element.scrollHeight(); + } + + maxBottomOfSticky -= this._options.offsetBottom; + + if ( bottomOfSticky < maxBottomOfSticky ) { + // Stick to screen! + this._stickTo('screen'); + } else { + // Stick to bottom + this._stickTo('bottom'); + } + }, + + /** + * Have the sticky stick nowhere, to the screen, or to the bottom. + * + * @method _stickTo + * @private + */ + _stickTo: function (where) { + var style = this._element.style; + var dims = this._getDims(); + + Css.addClassName(this._element, this._options.stickyClass); + this._wrapper.style.height = dims.height + 'px'; + + this._inlineDimensions(dims.height + 'px', dims.width + 'px'); + + if (this._options.inlinePosition === false) { + return; + } + + style.left = dims.left + 'px'; + + if (where === 'screen') { + style.bottom = null; + style.top = this._options.offsetTop + 'px'; + } else if (where === 'bottom') { + // Distance between bottom of sticky and bottom of document + var bottom = this._getBottomOffset(); + + // Distance between bottom of viewport and bottom of document + var bottomOfViewport = Element.scrollHeight() + Element.viewportHeight(); + var toBottomOfDocument = Element.pageHeight() - bottomOfViewport; + + style.bottom = bottom - toBottomOfDocument + 'px'; + style.top = 'auto'; + } + }, + + /** + * "unstick" the sticky from the screen or bottom of the document + * @method _unstick + * @private + */ + _unstick: function () { + Css.removeClassName(this._element, this._options.stickyClass); + // deinline dimensions of our root element + this._inlineDimensions(null, null); + + // deinline the position of our root element + if (this._options.inlinePosition) { + this._element.style.left = null; + this._element.style.top = null; + this._element.style.bottom = null; + } + + // deinline dimensions of wrapper + this._wrapper.style.height = null; + this._wrapper.style.width = null; + + // Break the "getDims" cache + this._dims = null; + }, + + /** + * Resize handler + * + * @method _onResize + * @private + */ + _onResize: function(){ + this._dims = null; // Blow the cache so _getDims recalculates + this._onScroll(); + }, + + /** + * Recalculate the "dims" cache, or get it. + * + * The "dims" cache is to be set to null when the element is liable to have changed dimensions + * + * (eg: on resize) + * + **/ + _getDims: function () { + if (this._dims !== null) { return this._dims; } + + var style = this._element.style; + + // We unstick the sticky so we can measure. + var oldPosition = style.position; + var oldWidth = style.width; + + style.position = 'static'; // [todo] this should be a class toggle + style.width = null; + + var dimensionsInStatic = Element.outerDimensions(this._element); + var rect = this._wrapper.getBoundingClientRect(); + this._dims = { + height: dimensionsInStatic[1], + width: dimensionsInStatic[0], + left: rect.left + Element.scrollWidth(), + top: rect.top + Element.scrollHeight() + }; + + style.position = oldPosition; + style.width = oldWidth; + + return this._dims; + }, + + /** + * Set style.height and style.width, but not if options.inlineDimensions === false + * + * @method _inlineDimensions + * @private + */ + _inlineDimensions: function (height, width) { + if (this._options.inlineDimensions) { + this._element.style.height = height; + this._element.style.width = width; + } + }, + + /** + * Get the distance between the bottom of the element and the bottom of the page + * + * @method _getBottomOffset + * @private + */ + _getBottomOffset: function () { + var bottom = this._options.offsetBottom; + if (this._options.bottomElement) { + bottom += Element.pageHeight() - + Element.offsetTop(this._options.bottomElement); + } + return bottom; + } + }; + + Common.createUIComponent(Sticky); + + return Sticky; + +}); diff --git a/public/js/ink.swipe.js b/public/js/ink.swipe.js new file mode 100644 index 0000000..4e39802 --- /dev/null +++ b/public/js/ink.swipe.js @@ -0,0 +1,208 @@ +/** + * Swipe gestures + * @module Ink.UI.Swipe_1 + * @version 1 + */ +Ink.createModule('Ink.UI.Swipe', '1', ['Ink.Dom.Event_1', 'Ink.Dom.Element_1', 'Ink.UI.Common_1'], function(InkEvent, InkElement, Common) { + 'use strict'; + + /** + * Subscribe swipe gestures. + * + * Supports filtering swipes be any combination of the criteria supported in the options. + * + * ----- + * + * Arguments received by the callbacks + * ----------------------------------- + * + * The `onStart`, `onMove`, and `onEnd` options receive as argument an object containing: + * + * - `event`: the DOMEvent object + * - `element`: the target element + * - `Instance`: the `Ink.UI.Swipe_1` instance + * - `position`: `Array` with `[x, y]` coordinates of current position + * - `dt`: Time passed between now and the first event (onMove only) + * - `gesture`: an Array containing [x,y] coordinates of every touchmove event received (only if options.storeGesture is enabled) (onEnd only) + * - `time`: an Array containing all the `dt` values for every touchmove event (onEnd only) + * - `overallMovement`: X and Y distance traveled by the touch movement (`[x, y]`) (onEnd only) + * - `overallTime`: total time passed (onEnd only) + * + * @class Ink.UI.Swipe + * @constructor + * @param {String|DOMElement} el Element or Selector + * @param {Object} options Options Object + * @param {Function} [options.onEnd] Callback function for the `touchend` event. Gets all the gesture information, and is filtered by min/max Dist and Duration options (see below) + * @param {Function} [options.onStart] Callback function for `touchstart` event. + * @param {Function} [options.onMove] Callback function for every `touchmove` event. Gets current gesture information. + * @param {Number} [options.minDist] Minimum allowed distance, in pixels. + * @param {Number} [options.maxDist] Maximum allowed distance, in pixels. + * @param {Number} [options.minDuration] Minimum allowed duration, in seconds. + * @param {Number} [options.maxDuration] Maximum allowed duration, in seconds. + * @param {String} [options.axis] If either 'x' or 'y' is passed, only swipes where the dominant axis is the given one trigger the callback + * @param {String} [options.storeGesture] If to store gesture information and provide it to the callback. Defaults to true. + * @param {String} [options.stopEvents] Flag to stop (default and propagation) of the received events. Defaults to true. + * + * + * @sample Ink_UI_Swipe_1.html + */ + function Swipe() { + if (typeof arguments[1] === 'function') { + arguments[1] = { onEnd: arguments[1] }; + } + + Common.BaseUIComponent.apply(this, arguments); + } + + Swipe._name = 'Swipe_1'; + + Swipe._optionDefinition = { + onEnd: ['Function', undefined], + onStart: ['Function', undefined], + onMove: ['Function', undefined], + minDist: ['Number', undefined], // in pixels + maxDist: ['Number', undefined], + minDuration: ['Number', undefined], // in seconds + maxDuration: ['Number', undefined], + axis: ['String', undefined], // x | y + storeGesture: ['Boolean', false], + stopEvents: ['Boolean', true] + }; + + Swipe.prototype = { + _supported: ('ontouchstart' in document.documentElement), + + _init: function() { + this._handlers = { + down: Ink.bindEvent(this._onDown, this), + move: Ink.bindEvent(this._onMove, this), + up: Ink.bindEvent(this._onUp, this) + }; + + var db = document.body; + InkEvent.observe(db, 'touchstart', this._handlers.down); + if (this._options.storeGesture || this._options.onMove) { + InkEvent.observe(db, 'touchmove', this._handlers.move); + } + InkEvent.observe(db, 'touchend', this._handlers.up); + this._isOn = false; + }, + + _isMeOrParent: function(el, parentEl) { + if (!el) {return;} + do { + if (el === parentEl) { return true; } + el = el.parentNode; + } while (el); + return false; + }, + + _pushGesture: function (coords, dt) { + if (this._options.storeGesture) { + this._gesture.push(coords); + this._time.push(dt); + } + }, + + _onDown: function(event) { + if (event.changedTouches.length !== 1) { return; } + if (!this._isMeOrParent(event.target, this._element)) { return; } + + if( this._options.stopEvents === true ){ + InkEvent.stop(event); + } + event = event.changedTouches[0]; + this._isOn = true; + this._target = event.target; + + this._t0 = +new Date(); + this._p0 = [event.pageX, event.pageY]; + + if (this._options.storeGesture) { + this._gesture = []; + this._time = []; + } + + this._pushGesture(this._p0, 0); + + if (this._options.onStart) { + this._options.onStart({ + event: event, + element: this._element, + instance: this, + position: this._p0, + dt: 0 + }); + } + }, + + _onMove: function(event) { + if (!this._isOn || event.changedTouches.length !== 1) { return; } + if( this._options.stopEvents === true ) { + InkEvent.stop(event); + } + + event = event.changedTouches[0]; + var t1 = +new Date(); + var dt = (t1 - this._t0); + + var gesture = [event.pageX, event.pageY]; + + this._pushGesture(gesture, dt); + + if (this._options.onMove) { + this._options.onMove({ + event: event, + element: this._element, + instance: this, + position: gesture, + dt: dt + }); + } + }, + + _onUp: function(event) { + if (!this._isOn || event.changedTouches.length !== 1) { return; } + + if( this._options.stopEvents === true ){ + InkEvent.stop(event); + } + event = event.changedTouches[0]; // TODO SHOULD CHECK IT IS THE SAME TOUCH + this._isOn = false; + + var t1 = +new Date(); + var p1 = [event.pageX, event.pageY]; + var dt = (t1 - this._t0); + var dr = [ + p1[0] - this._p0[0], + p1[1] - this._p0[1] + ]; + var dist = Math.sqrt(dr[0]*dr[0] + dr[1]*dr[1]); + var axis = Math.abs(dr[0]) > Math.abs(dr[1]) ? 'x' : 'y'; + + var o = this._options; + if (o.minDist && dist < o.minDist) { return; } + if (o.maxDist && dist > o.maxDist) { return; } + if (o.minDuration && dt < o.minDuration) { return; } + if (o.maxDuration && dt > o.maxDuration) { return; } + if (o.axis && axis !== o.axis) { return; } + + if (this._options.onEnd) { + this._options.onEnd({ + event: event, + element: this._element, + instance: this, + gesture: this._gesture, + time: this._time, + axis: axis, + overallMovement: dr, + overallTime: dt + }); + } + } + }; + + Common.createUIComponent(Swipe); + + return Swipe; +}); diff --git a/public/js/ink.table.js b/public/js/ink.table.js new file mode 100644 index 0000000..94e8ec4 --- /dev/null +++ b/public/js/ink.table.js @@ -0,0 +1,695 @@ +/** + * Sort and paginate tabular data + * @module Ink.UI.Table_1 + * @version 1 + */ +Ink.createModule('Ink.UI.Table', '1', ['Ink.Util.Url_1','Ink.UI.Pagination_1','Ink.Net.Ajax_1','Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1','Ink.Util.String_1', 'Ink.Util.Json_1'], function(InkUrl,Pagination, Ajax, Common, Event, Css, Element, Selector, InkArray, InkString, Json) { + 'use strict'; + + var rNumber = /\d/g; + // Turn into a number, if we can. For sorting data which could be numeric or not. + function maybeTurnIntoNumber(value) { + if( !isNaN(value) && rNumber.test(value) ){ + return parseInt(value, 10); + } else if( !isNaN(value) ){ + return parseFloat(value); + } + return value; + } + function cmp (a, b) { + if( a === b ){ + return 0; + } + return ( ( a > b ) ? 1 : -1 ); + } + // cmp function for comparing data which might be a number. + function numberishEnabledCmp (a, b) { + var aValue = maybeTurnIntoNumber(Element.textContent(a)); + var bValue = maybeTurnIntoNumber(Element.textContent(b)); + + return cmp(aValue, bValue); + } + // Object.keys polyfill + function keys(obj) { + if (typeof Object.keys !== 'undefined') { + return Object.keys(obj); + } + var ret = []; + for (var k in obj) if (obj.hasOwnProperty(k)) { + ret.push(k); + } + return ret; + } + + /** + * The Table component transforms the native/DOM table element into a sortable, paginated component. + * You can use this component to display data from a JSON endpoint, or from table rows in the DOM. Displaying from the DOM is more practical, but sometimes you don't want to load everything at once (if you have a HUGE table). In those cases, you should configure Ink.UI.Table to get data from JSON endpoint. + * To enable sorting, just set the `data-sortable` attribute of your table headers (they must be in the `thead` of the table) to "true". To enable pagination, you should pass either an `Ink.UI.Pagination` instance or a selector to create the Ink.UI.Pagination element on. + * + * @class Ink.UI.Table + * @constructor + * @version 1 + * @param {String|DOMElement} selector + * @param {Object} [options] Options + * @param {Number} [options.pageSize] Number of rows per page. Omit to avoid paginating. + * @param {String} [options.endpoint] Endpoint to get the records via AJAX. Omit if you don't want to do AJAX + * @param {Function} [options.createEndpointUrl] Callback to customise what URL the AJAX endpoint is at. Receives three arguments: base (the "endpoint" option), sort (`{ order: 'asc' or 'desc', field: fieldname }`) and page ({ page: page number, size: items per page }) + * @param {Function} [options.getDataFromEndPoint] Callback to allow the user to retrieve the data himself given an URL. Must accept two arguments: `url` and `callback`. This `callback` will take as a single argument a JavaScript object. + * @param {Function} [options.processJSONRows] Retrieve an array of rows from the data which came from AJAX. + * @param {Function} [options.processJSONHeaders] Get an object with all the headers' names as keys, and a { label, sortable } object as value. Example: `{col1: {label: "Column 1"}, col2: {label: "Column 2", sortable: true}`. Takes a single argument, the JSON response. + * @param {Function} [options.processJSONRow] Process a row object before it gets on the table. + * @param {Function} [options.processJSONField] Process the field data before putting it on the table. You can return HTML, a DOM element, or a string here. Arguments you receive: `(column, fieldData, rowIndex)`. + * @param {Function} [options.processJSONField.FIELD_NAME] The same as processJSONField, but for a particular field. + * @param {Function} [options.processJSONTotalRows] A callback where you have a chance to say how many rows are in the dataset (not only on this page) you have on the collection. You get as an argument the JSON response. + * @param {Function} [options.getSortKey] A function taking a `{ columnIndex, columnName, data, element }` object and returning a value which serves as a sort key for the sorting operation. For example, if you want to sort by a `data-sort-key` atribute, set `getSortKey` to: function (cell) { return cell.element.getAttribute('data-sort-key'); } + * @param {Function} [options.getSortKey.FIELD_NAME] Same as `options.getSortKey`, but for a particular field. + * @param {Object} [options.tdClassNames] An object mapping each field to what classes it gets. Example: `{ name: "large-10", isBoss: "hide-small" }` + * @param {Mixed} [options.pagination] Pagination instance, element or selector. + * @param {Object} [options.paginationOptions] Override the options with which we instantiate the Ink.UI.Pagination. + * @param {Boolean} [options.allowResetSorting] Allow sort order to be set to "none" in addition to "ascending" and "descending" + * @param {String|Array} [options.visibleFields] Set of fields which get shown on the table + * + * @sample Ink_UI_Table_1.html + */ + function Table(){ + Common.BaseUIComponent.apply(this, arguments); + } + + Table._name = 'Table_1'; + + // Most processJSON* functions can just default to this. + function sameSame(obj) { return obj; } + + Table._optionDefinition = { + pageSize: ['Integer', null], + caretUpClass: ['String', 'fa fa-caret-up'], + caretDownClass: ['String', 'fa fa-caret-down'], + endpoint: ['String', null], + createEndpointUrl: ['Function', null /* default func uses above option */], + getDataFromEndPoint: ['Function', null /* by default use plain ajax for JSON */], + processJSONRows: ['Function', sameSame], + processJSONRow: ['Function', sameSame], + processJSONField: ['Function', sameSame], + processJSONHeaders: ['Function', function (dt) { return dt.fields; }], + processJSONTotalRows: ['Function', function (dt) { return dt.length || dt.totalRows; }], + getSortKey: ['Function', null], + pagination: ['Element', null], + allowResetSorting: ['Boolean', false], + visibleFields: ['String', null], + tdClassNames: ['Object', {}], + paginationOptions: ['Object', null] + }; + + Table.prototype = { + _validate: function () { + if( this._element.nodeName.toLowerCase() !== 'table' ){ + throw new Error('[Ink.UI.Table] :: The element is not a table'); + } + }, + /** + * Init function called by the constructor + * + * @method _init + * @private + */ + _init: function(){ + /** + * Checking if it's in markup mode or endpoint mode + */ + this._markupMode = !this._options.endpoint; + + if( this._options.visibleFields ){ + this._options.visibleFields = this._options.visibleFields.toString().split(/[, ]+/g); + } + + this._thead = this._element.tHead || this._element.createTHead(); + this._headers = Selector.select('th', this._thead); + + /** + * Initializing variables + */ + this._handlers = { + thClick: null + }; + this._originalFields = [ + // field headers from the DOM + ]; + this._sortableFields = { + // Identifies which columns are sorted and how. + // columnIndex: 'none'|'asc'|'desc' + }; + this._originalData = this._data = []; + this._pagination = null; + this._totalRows = 0; + + this._handlers.thClick = Event.observeDelegated(this._element, 'click', + 'thead th[data-sortable="true"]', + Ink.bindMethod(this, '_onThClick')); + + /** + * If not is in markup mode, we have to do the initial request + * to get the first data and the headers + */ + if( !this._markupMode ) { + /* Endpoint mode */ + this._getData( ); + } else /* Markup mode */ { + this._resetSortOrder(); + this._addHeadersClasses(); + + /** + * Getting the table's data + */ + this._data = Selector.select('tbody tr', this._element); + this._originalData = this._data.slice(0); + + this._totalRows = this._data.length; + + /** + * Set pagination if options tell us to + */ + this._setPagination(); + } + }, + + /** + * Add the classes in this._options.tdClassNames to our table headers. + * @method _addHeadersClasses + * @private + */ + _addHeadersClasses: function () { + var headerLabel; + var classNames; + for (var i = 0, len = this._headers.length; i < len; i++) { + headerLabel = Element.textContent(this._headers[i]); + classNames = this._options.tdClassNames[headerLabel]; + // TODO do not find header labels this way. But how? + if (classNames) { + Css.addClassName(this._headers[i], classNames); + } + } + }, + + /** + * Click handler. This will mainly handle the sorting (when you click in the headers) + * + * @method _onThClick + * @param {Event} event Event obj + * @private + */ + _onThClick: function( event ){ + var tgtEl = Event.element(event), + paginated = this._options.pageSize !== undefined; + + Event.stop(event); + + var index = InkArray.keyValue(tgtEl, this._headers, true); + var sortable = index !== false && this._sortableFields[index] !== undefined; + + if( !sortable ){ + return; + } + + if( !this._markupMode && paginated ){ + this._invertSortOrder(index, false); + } else { + if ( (this._sortableFields[index] === 'desc') && this._options.allowResetSorting ) { + this._setSortOrderOfColumn(index, null); + this._data = this._originalData.slice(0); + } else { + this._invertSortOrder(index, true); + } + + var tbody = Selector.select('tbody',this._element)[0]; + Common.cleanChildren(tbody); + InkArray.each(this._data, Ink.bindMethod(tbody, 'appendChild')); + + if (this._pagination) { + this._pagination.setCurrent(0); + this._paginate(1); + } + } + }, + + _invertSortOrder: function (index, sortAndReverse) { + var isAscending = this._sortableFields[index] === 'asc'; + + for (var i = 0, len = this._headers.length; i < len; i++) { + this._setSortOrderOfColumn(i, null); + } + + if (sortAndReverse) { + this._sort(index); + if (isAscending) { + this._data.reverse(); + } + } + + this._setSortOrderOfColumn(index, !isAscending); + }, + + _setSortOrderOfColumn: function(index, up) { + var header = this._headers[index]; + var caretHtml = ['']; + var order = 'none'; + + if (up === true) { + caretHtml = ['']; + order = 'asc'; + } else if (up === false) { + caretHtml = ['']; + order = 'desc'; + } + + this._sortableFields[index] = order; + header.innerHTML = Element.textContent(header) + caretHtml.join(''); + }, + + /** + * Applies and/or changes the CSS classes in order to show the right columns + * + * @method _paginate + * @param {Number} page Current page + * @private + */ + _paginate: function( page ){ + if (!this._pagination) { return; } + + var pageSize = this._options.pageSize; + + // Hide everything except the items between these indices + var firstIndex = (page - 1) * pageSize; + var lastIndex = firstIndex + pageSize; + + InkArray.each(this._data, function(item, index){ + if (index >= firstIndex && index < lastIndex) { + Css.removeClassName(item,'hide-all'); + } else { + Css.addClassName(item,'hide-all'); + } + }); + + }, + + /* register fields into this._originalFields, whether they come from JSON or a table. + * @method _registerFieldNames + * @private + * @param [names] The field names in an array + **/ + _registerFieldNames: function (names) { + this._originalFields = []; + + InkArray.forEach(names, Ink.bind(function (field) { + if( !this._fieldIsVisible(field) ){ + return; // The user deems this not to be necessary to see. + } + this._originalFields.push(field); + }, this)); + }, + + _fieldIsVisible: function (field) { + return !this._options.visibleFields || + (this._options.visibleFields.indexOf(field) !== -1); + }, + + /** + * Sorts by a specific column. + * + * @method _sort + * @param {Number} index Column number (starting at 0) + * @private + */ + _sort: function( index ){ + // TODO this is THE worst way to declare field names. Incompatible with i18n and a lot of other things. + var fieldName = Element.textContent(this._headers[index]); + var keyFunction = this._options.getSortKey; + + if (keyFunction) { + keyFunction = + typeof keyFunction[fieldName] === 'function' ? + keyFunction[fieldName] : + typeof keyFunction === 'function' ? + keyFunction : + null; + } + + var self = this; + + this._data.sort(function (trA, trB) { + var elementA = Ink.ss('td', trA)[index]; + var elementB = Ink.ss('td', trB)[index]; + if (keyFunction) { + return cmp(userKey(elementA), userKey(elementB)); + } else { + return numberishEnabledCmp(elementA, elementB, index); + } + }); + + function userKey(element) { + return keyFunction.call(self, { + columnIndex: index, + columnName: fieldName, + data: Element.textContent(element), + element: element + }); + } + }, + + /** + * Assembles the headers markup + * + * @method _createHeadersFromJson + * @param {Object} headers Key-value object that contains the fields as keys, their configuration (label and sorting ability) as value + * @private + */ + _createHeadersFromJson: function( headers ){ + this._registerFieldNames(keys(headers)); + + if (this._thead.children.length) { return; } + + var tr = this._thead.insertRow(0); + var th; + + for (var i = 0, len = headers.length; i < len; i++) { + if (this._fieldIsVisible(headers[i])) { + th = Element.create('th'); + th = this._createSingleHeaderFromJson(headers[i], th); + tr.appendChild(th); + this._headers.push(th); + } + } + }, + + _createSingleHeaderFromJson: function (header, th) { + if (header.sortable) { + th.setAttribute('data-sortable','true'); + } + + if (header.label){ + Element.setTextContent(th, header.label); + } + + return th; + }, + + /** + * Reset the sort order as marked on the table headers to "none" + * + * @method _resetSortOrder + * @private + */ + _resetSortOrder: function(){ + /** + * Setting the sortable columns and its event listeners + */ + for (var i = 0, len = this._headers.length; i < len; i++) { + var dataset = Element.data( this._headers[i] ); + if (dataset.sortable && dataset.sortable.toString() === 'true') { + this._sortableFields[i] = 'none'; + } + } + }, + + /** + * This method gets the rows from AJAX and places them as and + * + * @method _createRowsFromJSON + * @param {Object} rows Array of objects with the data to be showed + * @private + */ + _createRowsFromJSON: function( rows ){ + var tbody = Selector.select('tbody',this._element)[0]; + + if( !tbody ){ + tbody = document.createElement('tbody'); + this._element.appendChild( tbody ); + } else { + Element.setHTML(tbody, ''); + } + + this._data = []; + var row; + + for (var trIndex in rows) { + if (rows.hasOwnProperty(trIndex)) { + row = this._options.processJSONRow(rows[trIndex]); + this._createSingleRowFromJson(tbody, row, trIndex); + } + } + + this._originalData = this._data.slice(0); + }, + + _createSingleRowFromJson: function (tbody, row, rowIndex) { + var tr = document.createElement('tr'); + tbody.appendChild( tr ); + for( var field in row ){ + if (row.hasOwnProperty(field)) { + this._createFieldFromJson(tr, row[field], field, rowIndex); + } + } + this._data.push(tr); + }, + + _createFieldFromJson: function (tr, fieldData, fieldName, rowIndex) { + if (!this._fieldIsVisible(fieldName)) { return; } + + var processor = + this._options.processJSONField[fieldName] || // per-field callback + this._options.processJSONField; // generic callback + + var result; + if (typeof processor === 'function') { + result = processor(fieldData, fieldName, rowIndex); + } else { + result = fieldData; + } + var elm = this._elOrFieldData(result); + + var className = this._options.tdClassNames[fieldName]; + if (className) { + Css.addClassName(elm, className); + } + + tr.appendChild(elm); + }, + + _elOrFieldData: function (processed) { + if (Common.isDOMElement(processed)) { + return processed; + } + + var isString = typeof processed === 'string'; + var isNumber = typeof processed === 'number'; + var elm = Element.create('td'); + + if (isString && /^\s*? li.active', this._menu); + + for (var i = 0, len = activeTabs.length; i < len; i++) { + if (activeTabs[i] !== link) { + Css.removeClassName(activeTabs[i], 'active'); + } + } + + if (this._activeMenuTab) { + Css.removeClassName(this._activeMenuTab, 'active'); + Css.removeClassName(this._activeSection, 'active'); + Css.addClassName(this._activeSection, 'hide-all'); + } + + this._activeMenuLink = link; + this._activeMenuTab = this._activeMenuLink.parentNode; + this._activeSection = Selector.select(selector.substr(selector.indexOf('#')), this._element)[0]; + + if (!this._activeSection) { + this._activeMenuLink = this._activeMenuTab = this._activeSection = null; + return; + } + + Css.addClassName(this._activeMenuTab, 'active'); + Css.addClassName(this._activeSection, 'active'); + Css.removeClassName(this._activeSection, 'hide-all'); + + if(runCallbacks && typeof(this._options.onChange) !== 'undefined'){ + this._options.onChange(this); + } + }, + + /** + * Generic Tab clicked handler. + * Just calls _onTabClicked or _onDisabledTabClicked + * + * @private + **/ + _onTabClickedGeneric: function (event) { + event.preventDefault(); + if (!Css.hasClassName(event.currentTarget, 'ink-disabled')) { + this._onTabClicked(event.currentTarget); + } + }, + + /** + * Tab clicked handler + * + * @method _onTabClicked + * @param {Event} ev + * @private + */ + _onTabClicked: function(tabElm) { + var href = tabElm.getAttribute('href'); + href = href.substr(href.indexOf('#')); + + if (!href || Ink.i(this._dehashify(href)) === null) { + return; + } + + if (!this._options.preventUrlChange) { + window.location.hash = href; + } + + if (tabElm === this._activeMenuLink) { + return; + } + this.changeTab(tabElm); + }, + + /** + * Resize handler + * + * @method _onResize + * @private + */ + _onResize: function(){ + var currentLayout = Common.currentLayout(); + if(currentLayout === this._lastLayout){ + return; + } + + // wtf + var smallLayout = + currentLayout === Common.Layouts.TINY || + currentLayout === Common.Layouts.SMALL || + currentLayout === Common.Layouts.MEDIUM; + + if(smallLayout){ + Css.removeClassName(this._menu, 'menu'); + Css.removeClassName(this._menu, 'horizontal'); + // Css.addClassName(this._menu, 'pills'); + } else { + Css.addClassName(this._menu, 'menu'); + Css.addClassName(this._menu, 'horizontal'); + // Css.removeClassName(this._menu, 'pills'); + } + this._lastLayout = currentLayout; + }, + + /***************** + * Aux Functions * + *****************/ + + /** + * Allows the hash to be passed with or without the cardinal sign + * + * @method _hashify + * @param {String} hash the string to be hashified + * @return {String} Resulting hash + * @private + */ + _hashify: function(hash){ + if(!hash){ + return ""; + } + return hash.indexOf('#') === 0? hash : '#' + hash; + }, + + /** + * Removes the cardinal sign from the beginning of a string + **/ + _dehashify: function(hash) { + if (!hash) { return ''; } + return ('' + hash).replace(/^#/, ''); + }, + + /** + * Returns the anchor with the desired href + * + * @method _findLinkBuHref + * @param {String} href the href to be found on the returned link + * @return {String|undefined} [description] + * @private + */ + _findLinkByHref: function(href){ + // If it's null or undefined, the following checks fail. + if (!href) { return null; } + + // If it's a node, it could be a link or a section. + if (href.nodeType === 1) { + if (Element.isAncestorOf(href, this._element)) { return null; } // Element is outside the tabs element. + + var links = Selector.select('a', this._menu); + var id = href.getAttribute('id'); + + for (var i = 0, len = links.length; i < len; i++) { + if (links[i] === href || Element.isAncestorOf(href, links[i])) { + return links[i]; // We got a link + } else if (id && id === this._dehashify(links[i].getAttribute('href'))) { + return links[i]; // We got a section + } + } + + return null; + } + + // Else, it's a string. It could start with "#" or without it. + href = this._hashify(href); + // Find a link which has a href ending with... + return Selector.select('a[href$="' + href + '"]', this._menu)[0] || null; + }, + + /************** + * PUBLIC API * + **************/ + + /** + * Changes the active tab + * + * Pass a selector/element identifying what tab you want + * + * @method changeTab + * @param {String|DOMElement} selector Selector of the desired tab or the link that links to it + * @public + */ + changeTab: function(selector) { + selector = this._findLinkByHref(selector); + + if(!selector || Css.hasClassName(selector, 'ink-disabled')){ + return; + } + + this._changeTab(selector, true); + }, + + /** + * Disables the desired tag + * + * @method disable + * @param {String|DOMElement} selector the id of the desired tab or the link that links to it + * @public + */ + disable: function(selector){ + Css.addClassName(this._findLinkByHref(selector), 'ink-disabled'); + }, + + /** + * Enables the desired tag + * + * @method enable + * @param {String|DOMElement} selector The id of the desired tab or the link that links to it + * @public + */ + enable: function(selector){ + Css.removeClassName(this._findLinkByHref(selector), 'ink-disabled'); + }, + + /*********** + * Getters * + ***********/ + + /** + * Returns the active tab id + * + * @method activeTab + * @return {String} ID of the active section (use activeSection() instead to get the element). + * @public + */ + activeTab: function(){ + return this._activeSection.getAttribute('id'); + }, + + /** + * + * Returns the parent of the currently active menu link. + * + * This is useful if you want to have `li` elements wrapping your links + * and want to access the currently visible one. + * + * (This method is deprecated) + * @method activeMenuTab + * @deprecated + * @return {DOMElement|null} Active menu LI, or `null` if there is none. + * @public + */ + activeMenuTab: function(){ + // [3.1.0] remove this + Ink.warn('Ink.UI.Tabs.activeMenuTab() is deprecated'); + return this._activeMenuTab; + }, + + /** + * Gets the currently active Menu link (the links which the user clicks on to change tabs) + * + * @method activeMenuLink + * @return {DOMElement|null} Active menu link, or `null` if there is none. + * @public + */ + activeMenuLink: function(){ + return this._activeMenuLink; + }, + + /** + * Gets the currently active section + * + * (Each section contains content for a tab, and must have an `id` attribute) + * + * @method activeContentTab + * @return {DOMElement|null} Active section, or `null` if there is none. + * @public + */ + activeSection: function(){ + return this._activeSection; + }, + + activeContentTab: function () { + // [3.1.0] remove this + Ink.warn('Ink.UI.Tabs.activeContentTab() is deprecated. Use activeSection instead.'); + return this._activeSection(); + }, + + /** + * Unregisters the component and removes its markup + * + * @method destroy + * @public + */ + destroy: Common.destroyComponent + }; + + Common.createUIComponent(Tabs); + + return Tabs; + +}); diff --git a/public/js/ink.tagfield.js b/public/js/ink.tagfield.js new file mode 100644 index 0000000..650ba08 --- /dev/null +++ b/public/js/ink.tagfield.js @@ -0,0 +1,273 @@ +/* + * Tagging input element + * @module Ink.UI.TagField_1 + * @version 1 + */ +Ink.createModule("Ink.UI.TagField","1",["Ink.Dom.Element_1", "Ink.Dom.Event_1", "Ink.Dom.Css_1", "Ink.Dom.Browser_1", "Ink.UI.Droppable_1", "Ink.Util.Array_1", "Ink.Dom.Selector_1", "Ink.UI.Common_1"],function( InkElement, InkEvent, Css, Browser, Droppable, InkArray, Selector, Common) { + 'use strict'; + + var enterKey = 13; + var backspaceKey = 8; + var isTruthy = function (val) {return !!val;}; + + /** + * Use this class to have a field where a user can input several tags into a single text field. A good example is allowing the user to describe a blog post or a picture through tags, for later searching. + * + * The markup is as follows: + * + * + * + * By applying this UI class to the above input, you get a tag field with the tags "initial" and "value". The class preserves the original input element. It remains hidden and is updated with new tag information dynamically, so regular HTML form logic still applies. + * + * Below "input" refers to the current value of the input tag (updated as the user enters text, of course), and "output" refers to the value which this class writes back to said input tag. + * + * @class Ink.UI.TagField + * @version 1 + * @constructor + * @param {String|DOMElement} element Selector or DOM Input Element. + * @param {Object} [options] Options object + * @param {String|Array} [options.tags] Initial tags in the input + * @param {Boolean} [options.allowRepeated] Flag to allow user to input several tags. Defaults to true. + * @param {RegExp} [options.separator] Split the input by this RegExp. Defaults to /[,;(space)]+/g (spaces, commas and semicolons) + * @param {String} [options.outSeparator] Use this string to separate each tag from the next in the output. Defaults to ','. + * @param {Boolean} [options.autoSplit] Flag to activate tag creation when the user types a separator. Defaults to true. + * @param {Integer} [options.maxTags] Maximum number of tags allowed. Set to -1 for no limit. Defaults to -1. + * @example + */ + function TagField() { + Common.BaseUIComponent.apply(this, arguments); + } + + TagField._name = 'TagField_1'; + + TagField._optionDefinition = { + tags: ['String', []], + tagQuery: ['Object', null], + tagQueryAsync: ['Object', null], + allowRepeated: ['Boolean', false], + maxTags: ['Integer', -1], + outSeparator: ['String', ','], + separator: ['String', /[,; ]+/g], + autoSplit: ['Boolean', true] + }; + + TagField.prototype = { + /** + * Init function called by the constructor + * + * @method _init + * @private + */ + _init: function() { + var o = this._options; + if (typeof o.separator === 'string') { + o.separator = new RegExp(o.separator, 'g'); + } + + if (typeof o.tags === 'string') { + // coerce to array using the separator + o.tags = this._readInput(o.tags); + } + + Css.addClassName(this._element, 'hide-all'); + + this._viewElm = InkElement.create('div', { + className: 'ink-tagfield', + insertAfter: this._element + }); + + this._input = InkElement.create('input', { + type: 'text', + className: 'new-tag-input', + insertBottom: this._viewElm + }); + + var tags = [].concat(o.tags, this._tagsFromMarkup(this._element)); + + this._tags = []; + + InkArray.each(tags, Ink.bindMethod(this, '_addTag')); + + InkEvent.observe(this._input, 'keyup', Ink.bindEvent(this._onKeyUp, this)); + InkEvent.observe(this._input, 'change', Ink.bindEvent(this._onKeyUp, this)); + InkEvent.observe(this._input, 'keydown', Ink.bindEvent(this._onKeyDown, this)); + InkEvent.observe(this._input, 'blur', Ink.bindEvent(this._onBlur, this)); + InkEvent.observe(this._viewElm, 'click', Ink.bindEvent(this._refocus, this)); + }, + + destroy: function () { + InkElement.remove(this._viewElm); + Css.removeClassName(this._element, 'hide-all'); + }, + + _tagsFromMarkup: function (element) { + var tagname = element.tagName.toLowerCase(); + if (tagname === 'input') { + return this._readInput(element.value); + } else if (tagname === 'select') { + return InkArray.map(element.getElementsByTagName('option'), function (option) { + return InkElement.textContent(option); + }); + } else { + throw new Error('Cannot read tags from a ' + tagname + ' tag. Unknown tag'); + } + }, + + _tagsToMarkup: function (tags, element) { + var tagname = element.tagName.toLowerCase(); + if (tagname === 'input') { + if (this._options.separator) { + element.value = tags.join(this._options.outSeparator); + } + } else if (tagname === 'select') { + element.innerHTML = ''; + InkArray.each(tags, function (tag) { + var opt = InkElement.create('option', {selected: 'selected'}); + InkElement.setTextContent(opt, tag); + element.appendChild(opt); + }); + } else { + throw new Error('TagField: Cannot read tags from a ' + tagname + ' tag. Unknown tag'); + } + }, + + _addTag: function (tag) { + if (this._options.maxTags !== -1 && + this._tags.length >= this._options.maxTags) { + return; + } + if ((!this._options.allowRepeated && + InkArray.inArray(tag, this._tags, tag)) || !tag) { + return false; + } + var elm = InkElement.create('span', { + className: 'ink-tag', + setTextContent: tag + ' ' + }); + + var remove = InkElement.create('span', { + className: 'remove fa fa-times', + insertBottom: elm + }); + InkEvent.observe(remove, 'click', Ink.bindEvent(this._removeTag, this, null)); + + var spc = document.createTextNode(' '); + + this._tags.push(tag); + this._viewElm.insertBefore(elm, this._input); + this._viewElm.insertBefore(spc, this._input); + this._tagsToMarkup(this._tags, this._element); + }, + + _readInput: function (text) { + if (this._options.separator) { + return InkArray.filter(text.split(this._options.separator), isTruthy); + } else { + return [text]; + } + }, + + _onKeyUp: function () { // TODO control input box size + if (!this._options.autoSplit) { + return; + } + var split = this._input.value.split(this._options.separator); + if (split.length <= 1) { + return; + } + var last = split[split.length - 1]; + split = split.splice(0, split.length - 1); + split = InkArray.filter(split, isTruthy); + + InkArray.each(split, Ink.bind(this._addTag, this)); + this._input.value = last; + }, + + _onKeyDown: function (event) { + if (event.which === enterKey) { + return this._onEnterKeyDown(event); + } else if (event.which === backspaceKey) { + return this._onBackspaceKeyDown(); + } else if (this._removeConfirm) { + // user pressed another key, cancel removal from a backspace key + this._unsetRemovingVisual(this._tags.length - 1); + } + }, + + /** + * When the user presses backspace twice on the empty input, we delete the last tag on the field. + * @method onBackspaceKeyDown + * @private + */ + _onBackspaceKeyDown: function () { + if (this._input.value) { return; } + + if (this._removeConfirm) { + this._unsetRemovingVisual(this._tags.length - 1); + this._removeTag(this._tags.length - 1); + this._removeConfirm = null; + } else { + this._setRemovingVisual(this._tags.length - 1); + } + }, + + _onEnterKeyDown: function (event) { + var tag = this._input.value; + if (tag) { + this._addTag(tag); + this._input.value = ''; + } + InkEvent.stopDefault(event); + }, + + _onBlur: function () { + this._addTag(this._input.value); + this._input.value = ''; + }, + + /* For when the user presses backspace. + * Set the style of the tag so that it seems like it's going to be removed + * if they press backspace again. */ + _setRemovingVisual: function (tagIndex) { + var elm = this._viewElm.children[tagIndex]; + if (!elm) { return; } + + Css.addClassName(elm, 'tag-deleting'); + + this._removeRemovingVisualTimeout = setTimeout(Ink.bindMethod(this, '_unsetRemovingVisual', tagIndex), 4000); + InkEvent.observe(this._input, 'blur', Ink.bindMethod(this, '_unsetRemovingVisual', tagIndex)); + this._removeConfirm = true; + }, + _unsetRemovingVisual: function (tagIndex) { + var elm = this._viewElm.children[tagIndex]; + if (elm) { + Css.removeClassName(elm, 'tag-deleting'); + clearTimeout(this._removeRemovingVisualTimeout); + } + this._removeConfirm = null; + }, + + _removeTag: function (event) { + var index; + if (typeof event === 'object') { // click event on close button + var elm = InkEvent.element(event).parentNode; + index = InkElement.parentIndexOf(this._viewElm, elm); + } else if (typeof event === 'number') { // manual removal + index = event; + } + this._tags = InkArray.remove(this._tags, index, 1); + InkElement.remove(this._viewElm.children[index]); + this._tagsToMarkup(this._tags, this._element); + }, + + _refocus: function (event) { + this._input.focus(); + InkEvent.stop(event); + return false; + } + }; + + Common.createUIComponent(TagField); + + return TagField; +}); diff --git a/public/js/ink.toggle.js b/public/js/ink.toggle.js new file mode 100644 index 0000000..32efc4b --- /dev/null +++ b/public/js/ink.toggle.js @@ -0,0 +1,259 @@ +/** + * Toggle the visibility of elements. + * @module Ink.UI.Toggle_1 + * @version 1 + */ + + Ink.createModule('Ink.UI.Toggle', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1'], function(Common, InkEvent, Css, InkElement, Selector, InkArray ) { + 'use strict'; + + /** + * + * You need two elements to use Toggle: the `trigger` element, and the `target` element (or elements). The default behaviour is to toggle the `target`(s) when you click the `trigger`. + * + * The toggle has a state. It is either "on" or "off". It works by switching between the CSS classes in `classNameOn` and `classNameOff` according to the current state. + * + * When you initialize the Toggle, it will check if the targets are visible to figure out what the initial state is. You can force the toggle to consider itself turned "on" or "off" by setting the `initialState` option to `true` or `false`, respectively. + * + * You can get the current state of the Toggle by calling `getState`, or by checking if your `trigger` element has the "active" class. + * The state can be changed through JavaScript. Just call `setState(true)` + * to turn the Toggle on (or `setState(false)` to turn it off). + * + * @class Ink.UI.Toggle + * @constructor + * @version 1 + * @param {String|DOMElement} selector Trigger element. By clicking this, the target (or targets) are triggered. + * @param {Object} [options] Options object, containing: + * + * @param {String} options.target CSS Selector that specifies the elements that this component will toggle + * @param {String} [options.classNameOn] CSS class to toggle when on. Defaults to 'show-all'. + * @param {String} [options.classNameOff] CSS class to toggle when off. Defaults to 'hide-all'. + * @param {String} [options.triggerEvent] Event that will trigger the toggling. Defaults to 'click'. + * @param {Boolean} [options.closeOnClick] Flag to toggle the targe off when clicking outside the toggled content. Defaults to true. + * @param {String} [options.closeOnInsideClick] Toggle off when a child element matching this selector is clicked. Set to null to deactivate the check. Defaults to 'a[href]'. + * @param {Boolean} [options.initialState] Flag to define initial state. false: off, true: on, null: markup. Defaults to null. + * @param {Function} [options.onChangeState] Callback when the toggle state changes. Return `false` to cancel the event. + * + * @sample Ink_UI_Toggle_1_constructor.html + */ + function Toggle(){ + Common.BaseUIComponent.apply(this, arguments); + } + + Toggle._name = 'Toggle_1'; + + Toggle._optionDefinition = { + target: ['Elements'], + triggerEvent: ['String', 'click'], + closeOnClick: ['Boolean', true], + isAccordion: ['Boolean', false], + initialState: ['Boolean', null], // May be true, false, or null to be what it is right now + classNameOn: ['String', 'show-all'], + classNameOff: ['String', 'hide-all'], + closeOnInsideClick: ['String', 'a[href]'], // closes the toggle when a target is clicked and it is a link + onChangeState: ['Function', null] + }; + + Toggle.prototype = { + + /** + * Init function called by the constructor + * + * @method _init + * @private + */ + _init: function(){ + var i, len; + + this._targets = Common.elsOrSelector(this._options.target); + + // Boolean option handling + this._options.closeOnClick = this._options.closeOnClick.toString() === 'true'; + // Actually a throolean + if (this._options.initialState !== null){ + this._options.initialState = this._options.initialState.toString() === 'true'; + } else { + this._options.initialState = Css.getStyle(this._targets[0], 'display') !== 'none'; + } + + if (this._options.classNameOn !== 'show-all' || this._options.classNameOff !== 'hide-all') { + for (i = 0, len = this._targets.length; i < len; i++) { + Css.removeClassName(this._targets[i], 'show-all'); + Css.removeClassName(this._targets[i], 'hide-all'); + } + } + + this._accordion = ( Css.hasClassName(this._element.parentNode,'accordion') || Css.hasClassName(this._targets[0].parentNode,'accordion') ); + + this._firstTime = true; + + this._bindEvents(); + + if (this._options.initialState !== null) { + this.setState(this._options.initialState, true); + } else { + // Add initial classes matching the current "display" of the object. + var state = Css.getStyle(this._targets[0], 'display') !== 'none'; + this.setState(state, true); + } + // Aditionally, remove any inline "display" style. + for (i = 0, len = this._targets.length; i < len; i++) { + if (this._targets[i].style.display) { + this._targets[i].style.display = ''; // becomes default + } + } + + this._element.setAttribute('data-is-toggle-trigger', 'true'); + }, + + /** + * @method _bindEvents + * @private + */ + _bindEvents: function () { + if ( this._options.triggerEvent ) { + InkEvent.observe( + this._element, + this._options.triggerEvent, + Ink.bind(this._onTriggerEvent, this)); + } + if( this._options.closeOnClick ){ + InkEvent.observe( document, 'click', Ink.bind(this._onOutsideClick, this)); + } + if( this._options.closeOnInsideClick && this._options.closeOnInsideClick !== 'false') { + var sel = this._options.closeOnInsideClick; + if (sel.toString() === 'true') { + sel = '*'; + } + InkEvent.observeMulti(this._targets, 'click', Ink.bind(function (e) { + if ( InkElement.findUpwardsBySelector(InkEvent.element(e), sel) ) { + this.setState(false, true); + } + }, this)); + } + }, + + /** + * Event handler. It's responsible for handling the `triggerEvent` as defined in the options. + * + * This will trigger the toggle. + * + * @method _onTriggerEvent + * @param {Event} event + * @private + */ + _onTriggerEvent: function( event ){ + // When the togglee is a child of the toggler, we get the togglee's events here. We have to check that this event is for us. + var target = InkEvent.element(event); + + var isAncestorOfClickedElement = InkArray.some(this._targets, function (thisOne) { + return thisOne === target || InkElement.isAncestorOf(thisOne, target); + }); + + if (isAncestorOfClickedElement) { + return; + } + + if (this._accordion) { + this._updateAccordion(); + } + + var has = this.getState(); + this.setState(!has, true); + if (!has && this._firstTime) { + this._firstTime = false; + } + + InkEvent.stopDefault(event); + }, + + /** + * Be compatible with accordions + * + * @method _updateAccordion + **/ + _updateAccordion: function () { + var elms, accordionElement; + if( Css.hasClassName(this._targets[0].parentNode,'accordion') ){ + accordionElement = this._targets[0].parentNode; + } else { + accordionElement = this._targets[0].parentNode.parentNode; + } + elms = Selector.select('.toggle, .ink-toggle',accordionElement); + for(var i=0; i 0) && (targetElm[0] !== this._targets[0]) ){ + targetElm[0].style.display = 'none'; + } + } + }, + + /** + * Click handler. Will handle clicks outside the toggle component. + * + * @method _onOutsideClick + * @param {Event} event + * @private + */ + _onOutsideClick: function( event ){ + var tgtEl = InkEvent.element(event), + shades; + + if (InkElement.findUpwardsBySelector(tgtEl, '[data-is-toggle-trigger="true"]')) return; + + var ancestorOfTargets = InkArray.some(this._targets, function (target) { + return InkElement.isAncestorOf(target, tgtEl) || target === tgtEl; + }); + + if( (this._element === tgtEl) || InkElement.isAncestorOf(this._element, tgtEl) || ancestorOfTargets) { + return; + } else if( (shades = Ink.ss('.ink-shade')).length ) { + var shadesLength = shades.length; + + for( var i = 0; i < shadesLength; i++ ){ + if( InkElement.isAncestorOf(shades[i],tgtEl) && InkElement.isAncestorOf(shades[i],this._element) ){ + return; + } + } + } + + this.setState(false, true); // dismiss + }, + + /** + * Sets the state of the toggle. (on/off) + * + * @method setState + * @param newState {Boolean} New state (on/off) + */ + setState: function (on, callHandler) { + if (on === this.getState()) { return; } + if (callHandler && typeof this._options.onChangeState === 'function') { + var ret = this._options.onChangeState(on); + if (ret === false) { return false; } // Canceled by the event handler + } + for (var i = 0, len = this._targets.length; i < len; i++) { + Css.addRemoveClassName(this._targets[i], this._options.classNameOn, on); + Css.addRemoveClassName(this._targets[i], this._options.classNameOff, !on); + } + Css.addRemoveClassName(this._element, 'active', on); + }, + + /** + * Gets the state of the toggle. (on/off) + * + * @method getState + * + * @return {Boolean} whether the toggle is toggled on. + */ + getState: function () { + return Css.hasClassName(this._element, 'active'); + } + }; + + Common.createUIComponent(Toggle); + + return Toggle; +}); diff --git a/public/js/ink.tooltip.js b/public/js/ink.tooltip.js new file mode 100644 index 0000000..2fea420 --- /dev/null +++ b/public/js/ink.tooltip.js @@ -0,0 +1,457 @@ +/** + * Content Tooltips + * @module Ink.UI.Tooltip_1 + * @version 1 + */ +Ink.createModule('Ink.UI.Tooltip', '1', ['Ink.UI.Common_1', 'Ink.Dom.Event_1', 'Ink.Dom.Element_1', 'Ink.Dom.Selector_1', 'Ink.Util.Array_1', 'Ink.Dom.Css_1', 'Ink.Dom.Browser_1'], function (Common, InkEvent, InkElement, Selector, InkArray, Css) { + 'use strict'; + + /** + * Tooltips are useful as a means to display information about functionality while avoiding clutter. + * + * Tooltips show up when you hover elements which "have" tooltips. + * + * This class will "give" a tooltip to many elements, selected by its first argument (`target`). This is contrary to the other UI modules in Ink, which are created once per element. + * + * You can define options either through the second argument of the Tooltip constructor, or as data-attributes in each `target` element. Options set through data-attributes all start with "data-tip", and override options passed into the Tooltip constructor. + * + * @class Ink.UI.Tooltip + * @constructor + * + * @param {DOMElement|String} target Target element or selector of elements, to display the tooltips on. + * @param {Object} [options] Options object + * @param {String} [options.text] Text content for the tooltip. + * @param {String} [options.html] HTML for the tooltip. Same as above, but won't escape HTML. + * @param {String} [options.where] Positioning for the tooltip. Options are 'up', 'down', 'left', 'right', 'mousemove' (follows the cursor), and 'mousefix' (stays fixed). Defaults to 'up'. + * + * @param {String} [options.color] Color of the tooltip. Options are red, orange, blue, green and black. Default is white. + * @param {Number} [options.fade] Number of seconds to fade in/out. Defaults to 0.3. + * @param {Boolean} [options.forever] Flag to prevent the tooltip from being erased when the mouse hovers away from the target. + * @param {Number} [options.timeout] Number of seconds the tooltip will stay open. Useful together with options.forever. Defaults to 0. + * @param {Number} [options.delay] Time the tooltip waits until it is displayed. Useful to avoid getting the attention of the user unnecessarily + * @param {DOMElement|Selector} [options.template] Element or selector containing HTML to be cloned into the tooltips. Can be a hidden element, because CSS `display` is set to `block`. + * @param {String} [options.templatefield] Selector within the template element to choose where the text is inserted into the tooltip. Useful when a wrapper DIV is required. + * @param {Number} [options.left] Spacing from the target to the tooltip, when `where` is `mousemove` or `mousefix`. Defaults to 10. + * @param {Number} [options.top] Spacing from the target to the tooltip, when `where` is `mousemove` or `mousefix`. Defaults to 10. + * @param {Number} [options.spacing] Spacing between the tooltip and the target element, when `where` is not `mousemove` or `mousefix`. Defaults to 8. + * + * @sample Ink_UI_Tooltip_1.html + */ + function Tooltip(element, options) { + this._init(element, options || {}); + } + + function EachTooltip(root, elm) { + this._init(root, elm); + } + + var transitionDurationName, + transitionPropertyName, + transitionTimingFunctionName; + (function () { // Feature detection + var test = document.createElement('DIV'); + var names = ['transition', 'oTransition', 'msTransition', 'mozTransition', + 'webkitTransition']; + for (var i = 0; i < names.length; i++) { + if (typeof test.style[names[i] + 'Duration'] !== 'undefined') { + transitionDurationName = names[i] + 'Duration'; + transitionPropertyName = names[i] + 'Property'; + transitionTimingFunctionName = names[i] + 'TimingFunction'; + break; + } + } + }()); + + // Body or documentElement + var bodies = document.getElementsByTagName('body'); + var body = bodies.length ? bodies[0] : document.documentElement; + + Tooltip.prototype = { + _init: function(element, options) { + var elements; + + this.options = Ink.extendObj({ + where: 'up', + zIndex: 10000, + left: 10, + top: 10, + spacing: 8, + forever: 0, + color: '', + timeout: 0, + delay: 0, + template: null, + templatefield: null, + fade: 0.3, + text: '' + }, options || {}); + + if (typeof element === 'string') { + elements = Selector.select(element); + } else if (typeof element === 'object') { + elements = [element]; + } else { + throw 'Element expected'; + } + + this.tooltips = []; + + for (var i = 0, len = elements.length; i < len; i++) { + this.tooltips[i] = new EachTooltip(this, elements[i]); + } + }, + /** + * Destroys the tooltips created by this instance + * + * @method destroy + */ + destroy: function () { + InkArray.each(this.tooltips, function (tooltip) { + tooltip._destroy(); + }); + this.tooltips = null; + this.options = null; + } + }; + + EachTooltip.prototype = { + _oppositeDirections: { + left: 'right', + right: 'left', + up: 'down', + down: 'up' + }, + _init: function(root, elm) { + InkEvent.observe(elm, 'mouseover', Ink.bindEvent(this._onMouseOver, this)); + InkEvent.observe(elm, 'mouseout', Ink.bindEvent(this._onMouseOut, this)); + InkEvent.observe(elm, 'mousemove', Ink.bindEvent(this._onMouseMove, this)); + + this.root = root; + this.element = elm; + this._delayTimeout = null; + this.tooltip = null; + + Common.registerInstance(this, this.element); + }, + _makeTooltip: function (mousePosition) { + if (!this._getOpt('text') && + !this._getOpt('html') && + !InkElement.hasAttribute(this.element, 'title')) { + return false; + } + + var tooltip = this._createTooltipElement(); + + if (this.tooltip) { + this._removeTooltip(); + } + + this.tooltip = tooltip; + + this._fadeInTooltipElement(tooltip); + this._placeTooltipElement(tooltip, mousePosition); + + InkEvent.observe(tooltip, 'mouseover', Ink.bindEvent(this._onTooltipMouseOver, this)); + + var timeout = this._getFloatOpt('timeout'); + if (timeout) { + setTimeout(Ink.bind(function () { + if (this.tooltip === tooltip) { + this._removeTooltip(); + } + }, this), timeout * 1000); + } + }, + _createTooltipElement: function () { + var template = this._getOpt('template'), // User template instead of our HTML + templatefield = this._getOpt('templatefield'), + + tooltip, // The element we float + field; // Element where we write our message. Child or same as the above + + if (template) { // The user told us of a template to use. We copy it. + var temp = document.createElement('DIV'); + temp.innerHTML = Common.elOrSelector(template, 'options.template').outerHTML; + tooltip = temp.firstChild; + + if (templatefield) { + field = Selector.select(templatefield, tooltip); + if (field) { + field = field[0]; + } else { + throw 'options.templatefield must be a valid selector within options.template'; + } + } else { + field = tooltip; // Assume same element if user did not specify a field + } + } else { // We create the default structure + tooltip = document.createElement('DIV'); + Css.addClassName(tooltip, 'ink-tooltip'); + Css.addClassName(tooltip, this._getOpt('color')); + + field = document.createElement('DIV'); + Css.addClassName(field, 'content'); + + tooltip.appendChild(field); + } + + if (this._getOpt('html')) { + field.innerHTML = this._getOpt('html'); + } else if (this._getOpt('text')) { + InkElement.setTextContent(field, this._getOpt('text')); + } else { + InkElement.setTextContent(field, this.element.getAttribute('title')); + } + tooltip.style.display = 'block'; + tooltip.style.position = 'absolute'; + tooltip.style.zIndex = this._getIntOpt('zIndex'); + + return tooltip; + }, + _fadeInTooltipElement: function (tooltip) { + var fadeTime = this._getFloatOpt('fade'); + if (transitionDurationName && fadeTime) { + tooltip.style.opacity = '0'; + tooltip.style[transitionDurationName] = fadeTime + 's'; + tooltip.style[transitionPropertyName] = 'opacity'; + tooltip.style[transitionTimingFunctionName] = 'ease-in-out'; + setTimeout(function () { + tooltip.style.opacity = '1'; + }, 0); // Wait a tick + } + }, + _placeTooltipElement: function (tooltip, mousePosition) { + var where = this._getOpt('where'); + + if (where === 'mousemove' || where === 'mousefix') { + var mPos = mousePosition; + this._setPos(mPos[0], mPos[1]); + body.appendChild(tooltip); + } else if (where.match(/(up|down|left|right)/)) { + body.appendChild(tooltip); + var targetElementPos = InkElement.offset(this.element); + var tleft = targetElementPos[0], + ttop = targetElementPos[1]; + + var centerh = (InkElement.elementWidth(this.element) / 2) - (InkElement.elementWidth(tooltip) / 2), + centerv = (InkElement.elementHeight(this.element) / 2) - (InkElement.elementHeight(tooltip) / 2); + var spacing = this._getIntOpt('spacing'); + + var tooltipDims = InkElement.elementDimensions(tooltip); + var elementDims = InkElement.elementDimensions(this.element); + + var maxX = InkElement.scrollWidth() + InkElement.viewportWidth(); + var maxY = InkElement.scrollHeight() + InkElement.viewportHeight(); + + where = this._getWhereValueInsideViewport(where, { + left: tleft - tooltipDims[0], + right: tleft + tooltipDims[0], + top: ttop + tooltipDims[1], + bottom: ttop + tooltipDims[1] + }, { + right: maxX, + bottom: maxY + }); + + if (where === 'up') { + ttop -= tooltipDims[1]; + ttop -= spacing; + tleft += centerh; + } else if (where === 'down') { + ttop += elementDims[1]; + ttop += spacing; + tleft += centerh; + } else if (where === 'left') { + tleft -= tooltipDims[0]; + tleft -= spacing; + ttop += centerv; + } else if (where === 'right') { + tleft += elementDims[0]; + tleft += spacing; + ttop += centerv; + } + + var arrow = null; + if (where.match(/(up|down|left|right)/)) { + arrow = document.createElement('SPAN'); + Css.addClassName(arrow, 'arrow'); + Css.addClassName(arrow, this._oppositeDirections[where]); + tooltip.appendChild(arrow); + } + + var tooltipLeft = tleft; + var tooltipTop = ttop; + + var toBottom = (tooltipTop + tooltipDims[1]) - maxY; + var toRight = (tooltipLeft + tooltipDims[0]) - maxX; + var toLeft = 0 - tooltipLeft; + var toTop = 0 - tooltipTop; + + if (toBottom > 0) { + if (arrow) { arrow.style.top = (tooltipDims[1] / 2) + toBottom + 'px'; } + tooltipTop -= toBottom; + } else if (toTop > 0) { + if (arrow) { arrow.style.top = (tooltipDims[1] / 2) - toTop + 'px'; } + tooltipTop += toTop; + } else if (toRight > 0) { + if (arrow) { arrow.style.left = (tooltipDims[0] / 2) + toRight + 'px'; } + tooltipLeft -= toRight; + } else if (toLeft > 0) { + if (arrow) { arrow.style.left = (tooltipDims[0] / 2) - toLeft + 'px'; } + tooltipLeft += toLeft; + } + + tooltip.style.left = tooltipLeft + 'px'; + tooltip.style.top = tooltipTop + 'px'; + } + }, + + /** + * Get a value for "where" (left/right/up/down) which doesn't put the + * tooltip off the screen + * + * @method _getWhereValueInsideViewport + * @param where {String} "where" value which was given by the user and we might change + * @param bbox {BoundingBox} A bounding box like what you get from getBoundingClientRect ({top, bottom, left, right}) with pixel positions from the top left corner of the viewport. + * @param viewport {BoundingBox} Bounding box for the viewport. "top" and "left" are omitted because these coordinates are relative to the top-left corner of the viewport so they are zero. + * + * @TODO: we can't use getBoundingClientRect in this case because it returns {0,0,0,0} on our uncreated tooltip. + */ + _getWhereValueInsideViewport: function (where, bbox, viewport) { + if (where === 'left' && bbox.left < 0) { + return 'right'; + } else if (where === 'right' && bbox.right > viewport.right) { + return 'left'; + } else if (where === 'up' && bbox.top < 0) { + return 'down'; + } else if (where === 'down' && bbox.bottom > viewport.bottom) { + return 'up'; + } + + return where; + }, + _removeTooltip: function() { + var tooltip = this.tooltip; + if (!tooltip) {return;} + + var remove = Ink.bind(InkElement.remove, {}, tooltip); + + if (this._getOpt('where') !== 'mousemove' && transitionDurationName) { + tooltip.style.opacity = 0; + // remove() will operate on correct tooltip, although this.tooltip === null then + setTimeout(remove, this._getFloatOpt('fade') * 1000); + } else { + remove(); + } + this.tooltip = null; + }, + _getOpt: function (option) { + var dataAttrVal = InkElement.data(this.element)[InkElement._camelCase('tip-' + option)]; + if (dataAttrVal /* either null or "" may signify the absense of this attribute*/) { + return dataAttrVal; + } + var instanceOption = this.root.options[option]; + if (typeof instanceOption !== 'undefined') { + return instanceOption; + } + }, + _getIntOpt: function (option) { + return parseInt(this._getOpt(option), 10); + }, + _getFloatOpt: function (option) { + return parseFloat(this._getOpt(option), 10); + }, + _destroy: function () { + if (this.tooltip) { + InkElement.remove(this.tooltip); + } + this.root = null; // Cyclic reference = memory leaks + this.element = null; + this.tooltip = null; + }, + _onMouseOver: function(e) { + // on IE < 10 you can't access the mouse event not even a tick after it fired + var mousePosition = this._getMousePosition(e); + var delay = this._getFloatOpt('delay'); + if (delay) { + this._delayTimeout = setTimeout(Ink.bind(function () { + if (!this.tooltip) { + this._makeTooltip(mousePosition); + } + this._delayTimeout = null; + }, this), delay * 1000); + } else { + this._makeTooltip(mousePosition); + } + }, + _onMouseMove: function(e) { + if (this._getOpt('where') === 'mousemove' && this.tooltip) { + var mPos = this._getMousePosition(e); + this._setPos(mPos[0], mPos[1]); + } + }, + _onMouseOut: function () { + if (!this._getIntOpt('forever')) { + this._removeTooltip(); + } + if (this._delayTimeout) { + clearTimeout(this._delayTimeout); + this._delayTimeout = null; + } + }, + _onTooltipMouseOver: function () { + if (this.tooltip) { // If tooltip is already being removed, this has no effect + this._removeTooltip(); + } + }, + _setPos: function(left, top) { + left += this._getIntOpt('left'); + top += this._getIntOpt('top'); + var pageDims = this._getPageXY(); + if (this.tooltip) { + var elmDims = [InkElement.elementWidth(this.tooltip), InkElement.elementHeight(this.tooltip)]; + var scrollDim = this._getScroll(); + + if((elmDims[0] + left - scrollDim[0]) >= (pageDims[0] - 20)) { + left = (left - elmDims[0] - this._getIntOpt('left') - 10); + } + if((elmDims[1] + top - scrollDim[1]) >= (pageDims[1] - 20)) { + top = (top - elmDims[1] - this._getIntOpt('top') - 10); + } + + this.tooltip.style.left = left + 'px'; + this.tooltip.style.top = top + 'px'; + } + }, + _getPageXY: function() { + var cWidth = 0; + var cHeight = 0; + if( typeof( window.innerWidth ) === 'number' ) { + cWidth = window.innerWidth; + cHeight = window.innerHeight; + } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { + cWidth = document.documentElement.clientWidth; + cHeight = document.documentElement.clientHeight; + } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { + cWidth = document.body.clientWidth; + cHeight = document.body.clientHeight; + } + return [parseInt(cWidth, 10), parseInt(cHeight, 10)]; + }, + _getScroll: function() { + var dd = document.documentElement, db = document.body; + if (dd && (dd.scrollLeft || dd.scrollTop)) { + return [dd.scrollLeft, dd.scrollTop]; + } else if (db) { + return [db.scrollLeft, db.scrollTop]; + } else { + return [0, 0]; + } + }, + _getMousePosition: function(e) { + return [parseInt(InkEvent.pointerX(e), 10), parseInt(InkEvent.pointerY(e), 10)]; + } + }; + + return Tooltip; +}); diff --git a/public/js/ink.treeview.js b/public/js/ink.treeview.js new file mode 100644 index 0000000..0df8988 --- /dev/null +++ b/public/js/ink.treeview.js @@ -0,0 +1,244 @@ +/** + * Elements in a tree structure + * @module Ink.UI.TreeView_1 + * @version 1 + */ +Ink.createModule('Ink.UI.TreeView', '1', ['Ink.UI.Common_1','Ink.Dom.Event_1','Ink.Dom.Css_1','Ink.Dom.Element_1','Ink.Dom.Selector_1','Ink.Util.Array_1'], function(Common, Event, Css, Element, Selector, InkArray ) { + 'use strict'; + + + /** + * Shows elements in a tree structure which can be expanded and contracted. + * A TreeView is built with "node"s and "children". "node"s are `li` tags, and "children" are `ul` tags. + * You can build your TreeView out of a regular UL and LI element structure which you already use to display lists with several levels. + * If you want a node to be open when the TreeView is built, just add the data-open="true" attribute to it. + * + * @class Ink.UI.TreeView + * @constructor + * @version 1 + * @param {String|DOMElement} selector Element or selector. + * @param {String} [options] Options object, containing: + * @param {String} [options.node] Selector for the nodes. Defaults to 'li'. + * @param {String} [options.children] Selector for the children. Defaults to 'ul'. + * @param {String} [options.parentClass] CSS classes to be added to parent nodes. Defaults to 'parent'. + * @param {String} [options.openClass] CSS classes to be added to the icon when a parent is open. Defaults to 'fa fa-minus-circle'. + * @param {String} [options.closedClass] CSS classes to be added to the icon when a parent is closed. Defaults to 'fa fa-plus-circle'. + * @param {String} [options.hideClass] CSS Class to toggle visibility of the children. Defaults to 'hide-all'. + * @param {String} [options.iconTag] The name of icon tag. The component tries to find a tag with that name as a direct child of the node. If it doesn't find it, it creates it. Defaults to 'i'. + * @param {Boolean} [options.stopDefault] Flag to stops the default behavior of the click handler. Defaults to true. + * @example + * + * + * + * @sample Ink_UI_TreeView_1.html + */ + function TreeView() { + Common.BaseUIComponent.apply(this, arguments); + } + + TreeView._name = 'TreeView_1'; + + TreeView._optionDefinition = { + 'node': ['String', 'li'], + // [3.0.1] Deprecate this terrible, terrible name + 'child': ['String',null], + 'children': ['String','ul'], + 'parentClass': ['String','parent'], + 'openNodeClass': ['String', 'open'], + 'openClass': ['String','fa fa-minus-circle'], + 'closedClass': ['String','fa fa-plus-circle'], + 'hideClass': ['String','hide-all'], + 'iconTag': ['String', 'i'], + 'stopDefault' : ['Boolean', true] + }; + + TreeView.prototype = { + /** + * Init function called by the constructor. Sets the necessary event handlers. + * + * @method _init + * @private + */ + _init: function(){ + if (this._options.child) { + Ink.warn('Ink.UI.TreeView: options.child is being renamed to options.children.'); + this._options.children = this._options.child; + } + + this._handlers = { + click: Ink.bindEvent(this._onClick,this) + }; + + Event.on(this._element, 'click', this._options.node, this._handlers.click); + + InkArray.each(Ink.ss(this._options.node, this._element), Ink.bind(function(item){ + if( this.isParent(item) ) { + Css.addClassName(item, this._options.parentClass); + + var isOpen = this.isOpen(item); + if( !this._getIcon(item) ){ + Element.create(this._options.iconTag, { insertTop: item }); + } + + this._setNodeOpen(item, isOpen); + } + },this)); + }, + + _getIcon: function (node) { + return Ink.s('> ' + this._options.iconTag, node); + }, + + /** + * Checks if a node is open. + * + * @method isOpen + * @param {DOMElement} node The tree node to check + **/ + isOpen: function (node) { + if (!this._getChild(node)) { + throw new Error('not a node!'); + } + + return Element.data(node).open === 'true' || + Css.hasClassName(node, this._options.openNodeClass); + }, + + /** + * Checks if a node is a parent. + * + * @method isParent + * @param {DOMElement} node Node to check + **/ + isParent: function (node) { + return Css.hasClassName(node, this._options.parentClass) || + this._getChild(node) != null; + }, + + _setNodeOpen: function (node, beOpen) { + var child = this._getChild(node); + if (child) { + Css.setClassName(child, this._options.hideClass, !beOpen); + var icon = this._getIcon(node); + + node.setAttribute('data-open', beOpen); + + /* + * Don't refactor this to + * + * setClassName(el, className, status); setClassName(el, className, !status); + * + * because it won't work with multiple classes. + * + * Doing: + * setClassName(el, 'fa fa-whatever', true);setClassName(el, 'fa fa-whatever-else', false); + * + * will remove 'fa' although it is a class we want. + */ + + var toAdd = beOpen ? this._options.openClass : this._options.closedClass; + var toRemove = beOpen ? this._options.closedClass : this._options.openClass; + Css.removeClassName(icon, toRemove); + Css.addClassName(icon, toAdd); + + Css.setClassName(node, this._options.openNodeClass, beOpen); + } else { + Ink.error('Ink.UI.TreeView: node', node, 'is not a node!'); + } + }, + + /** + * Opens one of the tree nodes + * + * Make sure you pass the node's DOMElement + * @method open + * @param {DOMElement} node The node you wish to open. + **/ + open: function (node) { + this._setNodeOpen(node, true); + }, + + /** + * Closes one of the tree nodes + * + * Make sure you pass the node's DOMElement + * @method close + * @param {DOMElement} node The node you wish to close. + **/ + close: function (node) { + this._setNodeOpen(node, false); + }, + + /** + * Toggles a node state + * + * @method toggle + * @param {DOMElement} node The node to toggle. + **/ + toggle: function (node) { + if (this.isOpen(node)) { + this.close(node); + } else { + this.open(node); + } + }, + + _getChild: function (node) { + return Selector.select(this._options.children, node)[0] || null; + }, + + /** + * Handles the click event (as specified in the _init function). + * + * @method _onClick + * @param {Event} event + * @private + */ + _onClick: function(ev){ + /** + * Summary: + * If the clicked element is a "node" as defined in the options, will check if it has any "child". + * If so, will toggle its state and stop the event's default behavior if the stopDefault option is true. + **/ + + if (!this.isParent(ev.currentTarget) || + Selector.matchesSelector(ev.target, this._options.node) || + Selector.matchesSelector(ev.target, this._options.children)) { + return; + } + + if (this._options.stopDefault){ + ev.preventDefault(); + } + + this.toggle(ev.currentTarget); + } + }; + + Common.createUIComponent(TreeView); + + return TreeView; +}); diff --git a/public/js/ink.upload.js b/public/js/ink.upload.js new file mode 100644 index 0000000..1b597fa --- /dev/null +++ b/public/js/ink.upload.js @@ -0,0 +1,906 @@ +Ink.createModule('Ink.UI.Upload', '1', [ + 'Ink.Dom.Event_1', + 'Ink.Dom.Element_1', + 'Ink.Dom.Browser_1', + 'Ink.UI.Common_1' +], function(Event, Element, Browser, Common) { + 'use strict'; + + var DirectoryReader = function(options) { + this.init(options); + }; + + DirectoryReader.prototype = { + init: function(options) { + this._options = Ink.extendObj({ + entry: undefined, + maxDepth: 10 + }, options || {}); + + try { + this._read(); + } catch(e) { + Ink.error(e); + } + }, + + + _read: function() { + if(!this._options.entry) { + Ink.error('You must specify the entry!'); + return; + } + + try { + this._readDirectories(); + } catch(e) { + Ink.error(e); + } + }, + + + _readDirectories: function() { + var entries = [], + running = false, + maxDepth = 0; + + /* TODO return as tree because much better well */ + var _readEntries = Ink.bind(function(currentEntry) { + var dir = currentEntry.createReader(); + running = true; + + dir.readEntries(Ink.bind(function(res) { + if(res.length > 0) { + for(var i = 0, len = res.length; i=0; i--) { + if(typeof(arr[i]) === 'undefined' || arr[i] === null || arr[i] === '') { + arr.splice(i, 1); + } + } + return arr; + } + }; + + var Queue = { + lists: [], + items: [], + + + /** + * Create new queue list + * @function create + * @public + * @param {String} list name + * @param {Function} function to iterate on items + * @return {Object} list id + */ + create: function(name) { + var id; + name = String(name); + this.lists.push({name: name}); + id = this.lists.length - 1; + return id; + }, + + + getItems: function(parentId) { + if(!parentId) { + return this.items; + } + var items = []; + for(var i = 0, len = this.items.length; i=0; i--) { + if(this.items[i] && id === this.items[i].parentId) { + this.remove(this.items[i].parentId, this.items[i].pid); + } + } + if(!keepList) { + this.lists.splice(id, 1); + } + return true; + } catch(e) { + Ink.error('Purge: invalid id'); + return false; + } + }, + + + /** + * add an item to a list + * @function add + * @public + * @param {String} name + * @param {Object} item + * @return {Number} pid + */ + add: function(parentId, item, priority) { + if(!this.lists[parentId]) { + return false; + } + if(typeof(item) !== 'object') { + item = String(item); + } + + var pid = parseInt(Math.round(Math.random() * 100000) + "" + Math.round(Math.random() * 100000), 10); + priority = priority || 0; + + this.items.push({parentId: parentId, item: item, priority: priority || 0, pid: pid}); + return pid; + }, + + + /** + * View list + * @function view + * @public + * @param {Number} list id + * @param {Number} process id + * @return {Object} item + */ + view: function(parentId, pid) { + var id = this._searchByPid(parentId, pid); + if(id === false) { + return false; + } + return this.items[id]; + }, + + + /** + * Remove an item + * @function remove + * @public + * @param {Object} item + * @return {Object|Boolean} removed item or false if not found + */ + remove: function(parentId, pid) { + try { + var id = this._searchByPid(parentId, pid); + if(id === false) { + return false; + } + this.items.splice(id, 1); + return true; + } catch(e) { + Ink.error('Remove: invalid id'); + return false; + } + }, + + _searchByPid: function(parentId, pid) { + if(!parentId && typeof(parentId) === 'boolean' || !pid) { + return false; + } + + parentId = parseInt(parentId, 10); + pid = parseInt(pid, 10); + + if(isNaN(parentId) || isNaN(pid)) { + return false; + } + + for(var i = 0, len = this.items.length; i this._options.minSizeToUseChunks; + }, + + + _dropEventHandler: function(ev) { + Event.stop(ev); + + this.publish('DropComplete', ev.dataTransfer); + + var data = ev.dataTransfer; + + if(!data || !data.files || !data.files.length) { + return false; + } + + this._files = data.files; + this._files = Array.prototype.slice.call(this._files || [], 0); + + // check if webkitGetAsEntry exists on first item + if(data.items && data.items[0] && data.items[0].webkitGetAsEntry) { + if(!this._options.foldersEnabled) { + return setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0); + } + var entry, folders = []; + for(var i = ev.dataTransfer.items.length-1; i>=0; i--) { + entry = ev.dataTransfer.items[i].webkitGetAsEntry(); + if(entry && entry.isDirectory) { + folders.push(entry); + this._files[i].isDirectory = true; + this._files.splice(i, 1); + } + } + // starting callback hell + this._addFolderToQueue(folders, Ink.bind(function() { + setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0); + }, this)); + } else { + setTimeout(Ink.bind(this._addFilesToQueue, this, this._files), 0); + } + + return true; + }, + + + _addFolderToQueue: function(folders, cb) { + var files = [], invalidFolders = {}; + + if(!folders || !folders.length) { + cb(); + return files; + } + + var getFiles = function(entries) { + var files = []; + for(var i = 0, len = entries.length; i this._options.maxFilesize) { + this.publish('MaxSizeFailure', file, this._options.maxFilesize); + continue; + } + + fileID = parseInt(Math.round(Math.random() * 100000) + "" + Math.round(Math.random() * 100000), 10); + o = { id: i, data: file, fileID: fileID, directory: file.isDirectory }; + Queue.add(this._queueId, o); + + this.publish('FileAddedToQueue', o); + } + this._processQueue(true); + this._files = []; + }, + + + _processQueue: function(internalUpload) { + if(this._queueRunning) { + return false; + } + + this.running = 0; + var max = 1, i = 0, items, + queueLen = Queue.items.length; + this._queueRunning = true; + + this.interval = setInterval(Ink.bind(function() { + if(Queue.items.length === i && this.running === 0) { + Queue.purge(this._queueId, true); + this._queueRunning = false; + clearInterval(this.interval); + this.publish('QueueEnd', this._queueId, queueLen); + } + + items = Queue.getItems(this._queueId); + + if(this.running < max && items[i]) { + if(!items[i].canceled) { + _doRequest.call(this, items[i].pid, items[i].item.data, items[i].item.fileID, items[i].item.directory, internalUpload); + this.running++; + i++; + } else { + var j = i; + while(items[j] && items[j].canceled) { + i++; + j++; + } + } + return true; + } + return false; + }, this), 100); + + + var _doRequest = function(pid, data, fileID, directory, internalUpload) { + var o = { + file: data, + fileID: fileID, + cb: Ink.bind(function() { + this.running--; + }, this) + }; + if(internalUpload) { + if(directory) { + // do magic + o.cb(); + } else { + this._upload(o); + } + } + }; + + return true; + }, + + + _upload: function(o) { + var file = o.file, + xhr = new XMLHttpRequest(), + fileID = o.fileID; + + this.publish('BeforeUpload', file, this._options.extraData, fileID, xhr, this._supportChunks(file.size)); + + var forceAbort = function(showError) { + if(o.cb && typeof(o.cb === 'function')) { + o.cb(); + } + + this.publish('OnProgress', { + length: file.size, + lengthComputable: true, + loaded: file.size, + total: file.size + }, file, fileID); + this.publish('EndUpload', file, fileID, (showError ? { error: true } : true)); + this.publish('InvalidFile', file, 'name'); + xhr.abort(); + }; + + if(this._options.INVALID_FILE_NAME && this._options.INVALID_FILE_NAME instanceof RegExp) { + if(this._options.INVALID_FILE_NAME.test(o.file.name)) { + forceAbort.call(this); + return; + } + } + + // If file was renamed, abort it + // FU OPERA: Opera always return lastModified date as null + if(!file.lastModifiedDate && !Ink.Dom.Browser.OPERA) { + forceAbort.call(this, true); + return; + } + + xhr.upload.onprogress = Ink.bind(this.publish, this, 'OnProgress', file, fileID); + + var endpoint, method; + if(this._supportChunks(file.size)) { + if(file.size <= file.chunk_offset) { + endpoint = this._options.endpointChunkCommit; + method = 'POST'; + } else { + endpoint = this._options.endpointChunk; + if(file.chunk_upload_id) { + endpoint += '?upload_id=' + file.chunk_upload_id; + } + if(file.chunk_offset) { + endpoint += '&offset=' + file.chunk_offset; + } + method = 'PUT'; + } + } else { + endpoint = this._options.endpoint; + method = 'POST'; + } + + xhr.open(method, endpoint, true); + xhr.withCredentials = true; + xhr.setRequestHeader("x-requested-with", "XMLHttpRequest"); + if(this._supportChunks(file.size)) { + xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); + } + + var fd = new FormData(), + blob; + + if("Blob" in window && typeof Blob === 'function') { + blob = new Blob([file], { type: file.type }); + if(this._supportChunks(file.size)) { + file.chunk_offset = file.chunk_offset || 0; + blob = blob.slice(file.chunk_offset, file.chunk_offset + this._options.chunkSize); + } else { + fd.append(this._options.fileFormName, blob, file.name); + } + } else { + fd.append(this._options.fileFormName, file); + } + + if(!this._supportChunks(file.size)) { + for(var k in this._options.extraData) { + if(this._options.extraData.hasOwnProperty(k)) { + fd.append(k, this._options.extraData[k]); + } + } + } else { + fd.append('upload_id', file.chunk_upload_id); + fd.append('path', file.upload_path); + } + + if(!file.hasParent) { + if(!this._supportChunks(file.size)) { + xhr.send(fd); + } else { + if(file.size <= file.chunk_offset) { + xhr.send('upload_id=' + file.chunk_upload_id + '&path=' + file.upload_path + '/' + file.name); + } else { + xhr.send(blob); + } + } + } else { + this.publish('cbCreateFolder', file.parentID, file.fullPath, this._options.extraData, this._folders, file.rootPath, Ink.bind(function() { + if(!this._supportChunks(file.size)) { + xhr.send(fd); + } else { + if(file.size <= file.chunk_offset) { + xhr.send('upload_id=' + file.chunk_upload_id + '&path=' + file.upload_path + '/' + file.name); + } else { + xhr.send(blob); + } + } + }, this)); + } + + + xhr.onload = Ink.bindEvent(function() { + /* jshint boss:true */ + if(this._supportChunks(file.size) && file.size > file.chunk_offset) { + if(xhr.response) { + var response = JSON.parse(xhr.response); + + // check expected offset + var invalidOffset = file.chunk_offset && response.offset !== (file.chunk_offset + this._options.chunkSize) && file.size !== response.offset; + if(invalidOffset) { + if(o.cb) { + o.cb(); + } + this.publish('ErrorUpload', file, fileID); + } else { + file.chunk_upload_id = response.upload_id; + file.chunk_offset = response.offset; + file.chunk_expires = response.expires; + this._upload(o); + } + } else { + if(o.cb) { + o.cb(); + } + this.publish('ErrorUpload', file, fileID); + } + return (xhr = null); + } + + if(o.cb) { + o.cb(); + } + + if(xhr.responseText && xhr['status'] < 400) { + this.publish('EndUpload', file, fileID, xhr.responseText); + } else { + this.publish('ErrorUpload', file, fileID); + } + return (xhr = null); + }, this); + + + xhr.onerror = Ink.bindEvent(function() { + if(o.cb) { + o.cb(); + } + this.publish('ErrorUpload', file, fileID); + }, this); + + xhr.onabort = Ink.bindEvent(function() { + if(o.cb) { + o.cb(); + } + this.publish('AbortUpload', file, fileID, { + abortAll: Ink.bind(this.abortAll, this), + abortOne: Ink.bind(this.abortOne, this) + }); + }, this); + }, + + + abortAll: function() { + if(!this._queueRunning) { + return false; + } + clearInterval(this.interval); + this._queueRunning = false; + Queue.purge(this._queueId, true); + return true; + }, + + abortOne: function(id, cb) { + var items = Queue.getItems(0), + o; + for(var i = 0, len = items.length; i element. This information allows you to progressively enhance + * your pages with a granular level of control over the experience. + * + * Modernizr has an optional (not included) conditional resource loader + * called Modernizr.load(), based on Yepnope.js (yepnopejs.com). + * To get a build that includes Modernizr.load(), as well as choosing + * which tests to include, go to www.modernizr.com/download/ + * + * Authors Faruk Ates, Paul Irish, Alex Sexton + * Contributors Ryan Seddon, Ben Alman + */ + +window.Modernizr = (function( window, document, undefined ) { + + var version = '2.6.3', + + Modernizr = {}, + + /*>>cssclasses*/ + // option for enabling the HTML classes to be added + enableClasses = true, + /*>>cssclasses*/ + + docElement = document.documentElement, + + /** + * Create our "modernizr" element that we do most feature tests on. + */ + mod = 'modernizr', + modElem = document.createElement(mod), + mStyle = modElem.style, + + /** + * Create the input element for various Web Forms feature tests. + */ + inputElem /*>>inputelem*/ = document.createElement('input') /*>>inputelem*/ , + + /*>>smile*/ + smile = ':)', + /*>>smile*/ + + toString = {}.toString, + + // TODO :: make the prefixes more granular + /*>>prefixes*/ + // List of property values to set for css tests. See ticket #21 + prefixes = ' -webkit- -moz- -o- -ms- '.split(' '), + /*>>prefixes*/ + + /*>>domprefixes*/ + // Following spec is to expose vendor-specific style properties as: + // elem.style.WebkitBorderRadius + // and the following would be incorrect: + // elem.style.webkitBorderRadius + + // Webkit ghosts their properties in lowercase but Opera & Moz do not. + // Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+ + // erik.eae.net/archives/2008/03/10/21.48.10/ + + // More here: github.com/Modernizr/Modernizr/issues/issue/21 + omPrefixes = 'Webkit Moz O ms', + + cssomPrefixes = omPrefixes.split(' '), + + domPrefixes = omPrefixes.toLowerCase().split(' '), + /*>>domprefixes*/ + + /*>>ns*/ + ns = {'svg': 'http://www.w3.org/2000/svg'}, + /*>>ns*/ + + tests = {}, + inputs = {}, + attrs = {}, + + classes = [], + + slice = classes.slice, + + featureName, // used in testing loop + + + /*>>teststyles*/ + // Inject element with style element and some CSS rules + injectElementWithStyles = function( rule, callback, nodes, testnames ) { + + var style, ret, node, docOverflow, + div = document.createElement('div'), + // After page load injecting a fake body doesn't work so check if body exists + body = document.body, + // IE6 and 7 won't return offsetWidth or offsetHeight unless it's in the body element, so we fake it. + fakeBody = body || document.createElement('body'); + + if ( parseInt(nodes, 10) ) { + // In order not to give false positives we create a node for each test + // This also allows the method to scale for unspecified uses + while ( nodes-- ) { + node = document.createElement('div'); + node.id = testnames ? testnames[nodes] : mod + (nodes + 1); + div.appendChild(node); + } + } + + // '].join(''); + div.id = mod; + // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody. + // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270 + (body ? div : fakeBody).innerHTML += style; + fakeBody.appendChild(div); + if ( !body ) { + //avoid crashing IE8, if background image is used + fakeBody.style.background = ''; + //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible + fakeBody.style.overflow = 'hidden'; + docOverflow = docElement.style.overflow; + docElement.style.overflow = 'hidden'; + docElement.appendChild(fakeBody); + } + + ret = callback(div, rule); + // If this is done after page load we don't want to remove the body so check if body exists + if ( !body ) { + fakeBody.parentNode.removeChild(fakeBody); + docElement.style.overflow = docOverflow; + } else { + div.parentNode.removeChild(div); + } + + return !!ret; + + }, + /*>>teststyles*/ + + /*>>mq*/ + // adapted from matchMedia polyfill + // by Scott Jehl and Paul Irish + // gist.github.com/786768 + testMediaQuery = function( mq ) { + + var matchMedia = window.matchMedia || window.msMatchMedia; + if ( matchMedia ) { + return matchMedia(mq).matches; + } + + var bool; + + injectElementWithStyles('@media ' + mq + ' { #' + mod + ' { position: absolute; } }', function( node ) { + bool = (window.getComputedStyle ? + getComputedStyle(node, null) : + node.currentStyle)['position'] == 'absolute'; + }); + + return bool; + + }, + /*>>mq*/ + + + /*>>hasevent*/ + // + // isEventSupported determines if a given element supports the given event + // kangax.github.com/iseventsupported/ + // + // The following results are known incorrects: + // Modernizr.hasEvent("webkitTransitionEnd", elem) // false negative + // Modernizr.hasEvent("textInput") // in Webkit. github.com/Modernizr/Modernizr/issues/333 + // ... + isEventSupported = (function() { + + var TAGNAMES = { + 'select': 'input', 'change': 'input', + 'submit': 'form', 'reset': 'form', + 'error': 'img', 'load': 'img', 'abort': 'img' + }; + + function isEventSupported( eventName, element ) { + + element = element || document.createElement(TAGNAMES[eventName] || 'div'); + eventName = 'on' + eventName; + + // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those + var isSupported = eventName in element; + + if ( !isSupported ) { + // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element + if ( !element.setAttribute ) { + element = document.createElement('div'); + } + if ( element.setAttribute && element.removeAttribute ) { + element.setAttribute(eventName, ''); + isSupported = is(element[eventName], 'function'); + + // If property was created, "remove it" (by setting value to `undefined`) + if ( !is(element[eventName], 'undefined') ) { + element[eventName] = undefined; + } + element.removeAttribute(eventName); + } + } + + element = null; + return isSupported; + } + return isEventSupported; + })(), + /*>>hasevent*/ + + // TODO :: Add flag for hasownprop ? didn't last time + + // hasOwnProperty shim by kangax needed for Safari 2.0 support + _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp; + + if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) { + hasOwnProp = function (object, property) { + return _hasOwnProperty.call(object, property); + }; + } + else { + hasOwnProp = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */ + return ((property in object) && is(object.constructor.prototype[property], 'undefined')); + }; + } + + // Adapted from ES5-shim https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js + // es5.github.com/#x15.3.4.5 + + if (!Function.prototype.bind) { + Function.prototype.bind = function bind(that) { + + var target = this; + + if (typeof target != "function") { + throw new TypeError(); + } + + var args = slice.call(arguments, 1), + bound = function () { + + if (this instanceof bound) { + + var F = function(){}; + F.prototype = target.prototype; + var self = new F(); + + var result = target.apply( + self, + args.concat(slice.call(arguments)) + ); + if (Object(result) === result) { + return result; + } + return self; + + } else { + + return target.apply( + that, + args.concat(slice.call(arguments)) + ); + + } + + }; + + return bound; + }; + } + + /** + * setCss applies given styles to the Modernizr DOM node. + */ + function setCss( str ) { + mStyle.cssText = str; + } + + /** + * setCssAll extrapolates all vendor-specific css strings. + */ + function setCssAll( str1, str2 ) { + return setCss(prefixes.join(str1 + ';') + ( str2 || '' )); + } + + /** + * is returns a boolean for if typeof obj is exactly type. + */ + function is( obj, type ) { + return typeof obj === type; + } + + /** + * contains returns a boolean for if substr is found within str. + */ + function contains( str, substr ) { + return !!~('' + str).indexOf(substr); + } + + /*>>testprop*/ + + // testProps is a generic CSS / DOM property test. + + // In testing support for a given CSS property, it's legit to test: + // `elem.style[styleName] !== undefined` + // If the property is supported it will return an empty string, + // if unsupported it will return undefined. + + // We'll take advantage of this quick test and skip setting a style + // on our modernizr element, but instead just testing undefined vs + // empty string. + + // Because the testing of the CSS property names (with "-", as + // opposed to the camelCase DOM properties) is non-portable and + // non-standard but works in WebKit and IE (but not Gecko or Opera), + // we explicitly reject properties with dashes so that authors + // developing in WebKit or IE first don't end up with + // browser-specific content by accident. + + function testProps( props, prefixed ) { + for ( var i in props ) { + var prop = props[i]; + if ( !contains(prop, "-") && mStyle[prop] !== undefined ) { + return prefixed == 'pfx' ? prop : true; + } + } + return false; + } + /*>>testprop*/ + + // TODO :: add testDOMProps + /** + * testDOMProps is a generic DOM property test; if a browser supports + * a certain property, it won't return undefined for it. + */ + function testDOMProps( props, obj, elem ) { + for ( var i in props ) { + var item = obj[props[i]]; + if ( item !== undefined) { + + // return the property name as a string + if (elem === false) return props[i]; + + // let's bind a function + if (is(item, 'function')){ + // default to autobind unless override + return item.bind(elem || obj); + } + + // return the unbound function or obj or value + return item; + } + } + return false; + } + + /*>>testallprops*/ + /** + * testPropsAll tests a list of DOM properties we want to check against. + * We specify literally ALL possible (known and/or likely) properties on + * the element including the non-vendor prefixed one, for forward- + * compatibility. + */ + function testPropsAll( prop, prefixed, elem ) { + + var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1), + props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' '); + + // did they call .prefixed('boxSizing') or are we just testing a prop? + if(is(prefixed, "string") || is(prefixed, "undefined")) { + return testProps(props, prefixed); + + // otherwise, they called .prefixed('requestAnimationFrame', window[, elem]) + } else { + props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' '); + return testDOMProps(props, prefixed, elem); + } + } + /*>>testallprops*/ + + + /** + * Tests + * ----- + */ + + // The *new* flexbox + // dev.w3.org/csswg/css3-flexbox + + tests['flexbox'] = function() { + return testPropsAll('flexWrap'); + }; + + // The *old* flexbox + // www.w3.org/TR/2009/WD-css3-flexbox-20090723/ + + tests['flexboxlegacy'] = function() { + return testPropsAll('boxDirection'); + }; + + // On the S60 and BB Storm, getContext exists, but always returns undefined + // so we actually have to call getContext() to verify + // github.com/Modernizr/Modernizr/issues/issue/97/ + + tests['canvas'] = function() { + var elem = document.createElement('canvas'); + return !!(elem.getContext && elem.getContext('2d')); + }; + + tests['canvastext'] = function() { + return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function')); + }; + + // webk.it/70117 is tracking a legit WebGL feature detect proposal + + // We do a soft detect which may false positive in order to avoid + // an expensive context creation: bugzil.la/732441 + + tests['webgl'] = function() { + return !!window.WebGLRenderingContext; + }; + + /* + * The Modernizr.touch test only indicates if the browser supports + * touch events, which does not necessarily reflect a touchscreen + * device, as evidenced by tablets running Windows 7 or, alas, + * the Palm Pre / WebOS (touch) phones. + * + * Additionally, Chrome (desktop) used to lie about its support on this, + * but that has since been rectified: crbug.com/36415 + * + * We also test for Firefox 4 Multitouch Support. + * + * For more info, see: modernizr.github.com/Modernizr/touch.html + */ + + tests['touch'] = function() { + var bool; + + if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) { + bool = true; + } else { + injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function( node ) { + bool = node.offsetTop === 9; + }); + } + + return bool; + }; + + + // geolocation is often considered a trivial feature detect... + // Turns out, it's quite tricky to get right: + // + // Using !!navigator.geolocation does two things we don't want. It: + // 1. Leaks memory in IE9: github.com/Modernizr/Modernizr/issues/513 + // 2. Disables page caching in WebKit: webk.it/43956 + // + // Meanwhile, in Firefox < 8, an about:config setting could expose + // a false positive that would throw an exception: bugzil.la/688158 + + tests['geolocation'] = function() { + return 'geolocation' in navigator; + }; + + + tests['postmessage'] = function() { + return !!window.postMessage; + }; + + + // Chrome incognito mode used to throw an exception when using openDatabase + // It doesn't anymore. + tests['websqldatabase'] = function() { + return !!window.openDatabase; + }; + + // Vendors had inconsistent prefixing with the experimental Indexed DB: + // - Webkit's implementation is accessible through webkitIndexedDB + // - Firefox shipped moz_indexedDB before FF4b9, but since then has been mozIndexedDB + // For speed, we don't test the legacy (and beta-only) indexedDB + tests['indexedDB'] = function() { + return !!testPropsAll("indexedDB", window); + }; + + // documentMode logic from YUI to filter out IE8 Compat Mode + // which false positives. + tests['hashchange'] = function() { + return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7); + }; + + // Per 1.6: + // This used to be Modernizr.historymanagement but the longer + // name has been deprecated in favor of a shorter and property-matching one. + // The old API is still available in 1.6, but as of 2.0 will throw a warning, + // and in the first release thereafter disappear entirely. + tests['history'] = function() { + return !!(window.history && history.pushState); + }; + + tests['draganddrop'] = function() { + var div = document.createElement('div'); + return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div); + }; + + // FF3.6 was EOL'ed on 4/24/12, but the ESR version of FF10 + // will be supported until FF19 (2/12/13), at which time, ESR becomes FF17. + // FF10 still uses prefixes, so check for it until then. + // for more ESR info, see: mozilla.org/en-US/firefox/organizations/faq/ + tests['websockets'] = function() { + return 'WebSocket' in window || 'MozWebSocket' in window; + }; + + + // css-tricks.com/rgba-browser-support/ + tests['rgba'] = function() { + // Set an rgba() color and check the returned value + + setCss('background-color:rgba(150,255,150,.5)'); + + return contains(mStyle.backgroundColor, 'rgba'); + }; + + tests['hsla'] = function() { + // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally, + // except IE9 who retains it as hsla + + setCss('background-color:hsla(120,40%,100%,.5)'); + + return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla'); + }; + + tests['multiplebgs'] = function() { + // Setting multiple images AND a color on the background shorthand property + // and then querying the style.background property value for the number of + // occurrences of "url(" is a reliable method for detecting ACTUAL support for this! + + setCss('background:url(https://),url(https://),red url(https://)'); + + // If the UA supports multiple backgrounds, there should be three occurrences + // of the string "url(" in the return value for elemStyle.background + + return (/(url\s*\(.*?){3}/).test(mStyle.background); + }; + + + + // this will false positive in Opera Mini + // github.com/Modernizr/Modernizr/issues/396 + + tests['backgroundsize'] = function() { + return testPropsAll('backgroundSize'); + }; + + tests['borderimage'] = function() { + return testPropsAll('borderImage'); + }; + + + // Super comprehensive table about all the unique implementations of + // border-radius: muddledramblings.com/table-of-css3-border-radius-compliance + + tests['borderradius'] = function() { + return testPropsAll('borderRadius'); + }; + + // WebOS unfortunately false positives on this test. + tests['boxshadow'] = function() { + return testPropsAll('boxShadow'); + }; + + // FF3.0 will false positive on this test + tests['textshadow'] = function() { + return document.createElement('div').style.textShadow === ''; + }; + + + tests['opacity'] = function() { + // Browsers that actually have CSS Opacity implemented have done so + // according to spec, which means their return values are within the + // range of [0.0,1.0] - including the leading zero. + + setCssAll('opacity:.55'); + + // The non-literal . in this regex is intentional: + // German Chrome returns this value as 0,55 + // github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632 + return (/^0.55$/).test(mStyle.opacity); + }; + + + // Note, Android < 4 will pass this test, but can only animate + // a single property at a time + // daneden.me/2011/12/putting-up-with-androids-bullshit/ + tests['cssanimations'] = function() { + return testPropsAll('animationName'); + }; + + + tests['csscolumns'] = function() { + return testPropsAll('columnCount'); + }; + + + tests['cssgradients'] = function() { + /** + * For CSS Gradients syntax, please see: + * webkit.org/blog/175/introducing-css-gradients/ + * developer.mozilla.org/en/CSS/-moz-linear-gradient + * developer.mozilla.org/en/CSS/-moz-radial-gradient + * dev.w3.org/csswg/css3-images/#gradients- + */ + + var str1 = 'background-image:', + str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));', + str3 = 'linear-gradient(left top,#9f9, white);'; + + setCss( + // legacy webkit syntax (FIXME: remove when syntax not in use anymore) + (str1 + '-webkit- '.split(' ').join(str2 + str1) + + // standard syntax // trailing 'background-image:' + prefixes.join(str3 + str1)).slice(0, -str1.length) + ); + + return contains(mStyle.backgroundImage, 'gradient'); + }; + + + tests['cssreflections'] = function() { + return testPropsAll('boxReflect'); + }; + + + tests['csstransforms'] = function() { + return !!testPropsAll('transform'); + }; + + + tests['csstransforms3d'] = function() { + + var ret = !!testPropsAll('perspective'); + + // Webkit's 3D transforms are passed off to the browser's own graphics renderer. + // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in + // some conditions. As a result, Webkit typically recognizes the syntax but + // will sometimes throw a false positive, thus we must do a more thorough check: + if ( ret && 'webkitPerspective' in docElement.style ) { + + // Webkit allows this media query to succeed only if the feature is enabled. + // `@media (transform-3d),(-webkit-transform-3d){ ... }` + injectElementWithStyles('@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}', function( node, rule ) { + ret = node.offsetLeft === 9 && node.offsetHeight === 3; + }); + } + return ret; + }; + + + tests['csstransitions'] = function() { + return testPropsAll('transition'); + }; + + + /*>>fontface*/ + // @font-face detection routine by Diego Perini + // javascript.nwbox.com/CSSSupport/ + + // false positives: + // WebOS github.com/Modernizr/Modernizr/issues/342 + // WP7 github.com/Modernizr/Modernizr/issues/538 + tests['fontface'] = function() { + var bool; + + injectElementWithStyles('@font-face {font-family:"font";src:url("https://")}', function( node, rule ) { + var style = document.getElementById('smodernizr'), + sheet = style.sheet || style.styleSheet, + cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : ''; + + bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0; + }); + + return bool; + }; + /*>>fontface*/ + + // CSS generated content detection + tests['generatedcontent'] = function() { + var bool; + + injectElementWithStyles(['#',mod,'{font:0/0 a}#',mod,':after{content:"',smile,'";visibility:hidden;font:3px/1 a}'].join(''), function( node ) { + bool = node.offsetHeight >= 3; + }); + + return bool; + }; + + + + // These tests evaluate support of the video/audio elements, as well as + // testing what types of content they support. + // + // We're using the Boolean constructor here, so that we can extend the value + // e.g. Modernizr.video // true + // Modernizr.video.ogg // 'probably' + // + // Codec values from : github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845 + // thx to NielsLeenheer and zcorpan + + // Note: in some older browsers, "no" was a return value instead of empty string. + // It was live in FF3.5.0 and 3.5.1, but fixed in 3.5.2 + // It was also live in Safari 4.0.0 - 4.0.4, but fixed in 4.0.5 + + tests['video'] = function() { + var elem = document.createElement('video'), + bool = false; + + // IE9 Running on Windows Server SKU can cause an exception to be thrown, bug #224 + try { + if ( bool = !!elem.canPlayType ) { + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('video/ogg; codecs="theora"') .replace(/^no$/,''); + + // Without QuickTime, this value will be `undefined`. github.com/Modernizr/Modernizr/issues/546 + bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,''); + + bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,''); + } + + } catch(e) { } + + return bool; + }; + + tests['audio'] = function() { + var elem = document.createElement('audio'), + bool = false; + + try { + if ( bool = !!elem.canPlayType ) { + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,''); + bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,''); + + // Mimetypes accepted: + // developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements + // bit.ly/iphoneoscodecs + bool.wav = elem.canPlayType('audio/wav; codecs="1"') .replace(/^no$/,''); + bool.m4a = ( elem.canPlayType('audio/x-m4a;') || + elem.canPlayType('audio/aac;')) .replace(/^no$/,''); + } + } catch(e) { } + + return bool; + }; + + + // In FF4, if disabled, window.localStorage should === null. + + // Normally, we could not test that directly and need to do a + // `('localStorage' in window) && ` test first because otherwise Firefox will + // throw bugzil.la/365772 if cookies are disabled + + // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem + // will throw the exception: + // QUOTA_EXCEEDED_ERRROR DOM Exception 22. + // Peculiarly, getItem and removeItem calls do not throw. + + // Because we are forced to try/catch this, we'll go aggressive. + + // Just FWIW: IE8 Compat mode supports these features completely: + // www.quirksmode.org/dom/html5.html + // But IE8 doesn't support either with local files + + tests['localstorage'] = function() { + try { + localStorage.setItem(mod, mod); + localStorage.removeItem(mod); + return true; + } catch(e) { + return false; + } + }; + + tests['sessionstorage'] = function() { + try { + sessionStorage.setItem(mod, mod); + sessionStorage.removeItem(mod); + return true; + } catch(e) { + return false; + } + }; + + + tests['webworkers'] = function() { + return !!window.Worker; + }; + + + tests['applicationcache'] = function() { + return !!window.applicationCache; + }; + + + // Thanks to Erik Dahlstrom + tests['svg'] = function() { + return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect; + }; + + // specifically for SVG inline in HTML, not within XHTML + // test page: paulirish.com/demo/inline-svg + tests['inlinesvg'] = function() { + var div = document.createElement('div'); + div.innerHTML = ''; + return (div.firstChild && div.firstChild.namespaceURI) == ns.svg; + }; + + // SVG SMIL animation + tests['smil'] = function() { + return !!document.createElementNS && /SVGAnimate/.test(toString.call(document.createElementNS(ns.svg, 'animate'))); + }; + + // This test is only for clip paths in SVG proper, not clip paths on HTML content + // demo: srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg + + // However read the comments to dig into applying SVG clippaths to HTML content here: + // github.com/Modernizr/Modernizr/issues/213#issuecomment-1149491 + tests['svgclippaths'] = function() { + return !!document.createElementNS && /SVGClipPath/.test(toString.call(document.createElementNS(ns.svg, 'clipPath'))); + }; + + /*>>webforms*/ + // input features and input types go directly onto the ret object, bypassing the tests loop. + // Hold this guy to execute in a moment. + function webforms() { + /*>>input*/ + // Run through HTML5's new input attributes to see if the UA understands any. + // We're using f which is the element created early on + // Mike Taylr has created a comprehensive resource for testing these attributes + // when applied to all input types: + // miketaylr.com/code/input-type-attr.html + // spec: www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary + + // Only input placeholder is tested while textarea's placeholder is not. + // Currently Safari 4 and Opera 11 have support only for the input placeholder + // Both tests are available in feature-detects/forms-placeholder.js + Modernizr['input'] = (function( props ) { + for ( var i = 0, len = props.length; i < len; i++ ) { + attrs[ props[i] ] = !!(props[i] in inputElem); + } + if (attrs.list){ + // safari false positive's on datalist: webk.it/74252 + // see also github.com/Modernizr/Modernizr/issues/146 + attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement); + } + return attrs; + })('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' ')); + /*>>input*/ + + /*>>inputtypes*/ + // Run through HTML5's new input types to see if the UA understands any. + // This is put behind the tests runloop because it doesn't return a + // true/false like all the other tests; instead, it returns an object + // containing each input type with its corresponding true/false value + + // Big thanks to @miketaylr for the html5 forms expertise. miketaylr.com/ + Modernizr['inputtypes'] = (function(props) { + + for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) { + + inputElem.setAttribute('type', inputElemType = props[i]); + bool = inputElem.type !== 'text'; + + // We first check to see if the type we give it sticks.. + // If the type does, we feed it a textual value, which shouldn't be valid. + // If the value doesn't stick, we know there's input sanitization which infers a custom UI + if ( bool ) { + + inputElem.value = smile; + inputElem.style.cssText = 'position:absolute;visibility:hidden;'; + + if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) { + + docElement.appendChild(inputElem); + defaultView = document.defaultView; + + // Safari 2-4 allows the smiley as a value, despite making a slider + bool = defaultView.getComputedStyle && + defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' && + // Mobile android web browser has false positive, so must + // check the height to see if the widget is actually there. + (inputElem.offsetHeight !== 0); + + docElement.removeChild(inputElem); + + } else if ( /^(search|tel)$/.test(inputElemType) ){ + // Spec doesn't define any special parsing or detectable UI + // behaviors so we pass these through as true + + // Interestingly, opera fails the earlier test, so it doesn't + // even make it here. + + } else if ( /^(url|email)$/.test(inputElemType) ) { + // Real url and email support comes with prebaked validation. + bool = inputElem.checkValidity && inputElem.checkValidity() === false; + + } else { + // If the upgraded input compontent rejects the :) text, we got a winner + bool = inputElem.value != smile; + } + } + + inputs[ props[i] ] = !!bool; + } + return inputs; + })('search tel url email datetime date month week time datetime-local number range color'.split(' ')); + /*>>inputtypes*/ + } + /*>>webforms*/ + + + // End of test definitions + // ----------------------- + + + + // Run through all tests and detect their support in the current UA. + // todo: hypothetically we could be doing an array of tests and use a basic loop here. + for ( var feature in tests ) { + if ( hasOwnProp(tests, feature) ) { + // run the test, throw the return value into the Modernizr, + // then based on that boolean, define an appropriate className + // and push it into an array of classes we'll join later. + featureName = feature.toLowerCase(); + Modernizr[featureName] = tests[feature](); + + classes.push((Modernizr[featureName] ? '' : 'no-') + featureName); + } + } + + /*>>webforms*/ + // input tests need to run. + Modernizr.input || webforms(); + /*>>webforms*/ + + + /** + * addTest allows the user to define their own feature tests + * the result will be added onto the Modernizr object, + * as well as an appropriate className set on the html element + * + * @param feature - String naming the feature + * @param test - Function returning true if feature is supported, false if not + */ + Modernizr.addTest = function ( feature, test ) { + if ( typeof feature == 'object' ) { + for ( var key in feature ) { + if ( hasOwnProp( feature, key ) ) { + Modernizr.addTest( key, feature[ key ] ); + } + } + } else { + + feature = feature.toLowerCase(); + + if ( Modernizr[feature] !== undefined ) { + // we're going to quit if you're trying to overwrite an existing test + // if we were to allow it, we'd do this: + // var re = new RegExp("\\b(no-)?" + feature + "\\b"); + // docElement.className = docElement.className.replace( re, '' ); + // but, no rly, stuff 'em. + return Modernizr; + } + + test = typeof test == 'function' ? test() : test; + + if (typeof enableClasses !== "undefined" && enableClasses) { + docElement.className += ' ' + (test ? '' : 'no-') + feature; + } + Modernizr[feature] = test; + + } + + return Modernizr; // allow chaining. + }; + + + // Reset modElem.cssText to nothing to reduce memory footprint. + setCss(''); + modElem = inputElem = null; + + /*>>shiv*/ + /*! HTML5 Shiv v3.6.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */ + ;(function(window, document) { + /*jshint evil:true */ + /** Preset options */ + var options = window.html5 || {}; + + /** Used to skip problem elements */ + var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; + + /** Not all elements can be cloned in IE **/ + var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i; + + /** Detect whether the browser supports default html5 styles */ + var supportsHtml5Styles; + + /** Name of the expando, to work with multiple documents or to re-shiv one document */ + var expando = '_html5shiv'; + + /** The id for the the documents expando */ + var expanID = 0; + + /** Cached data for each document */ + var expandoData = {}; + + /** Detect whether the browser supports unknown elements */ + var supportsUnknownElements; + + (function() { + try { + var a = document.createElement('a'); + a.innerHTML = ''; + //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles + supportsHtml5Styles = ('hidden' in a); + + supportsUnknownElements = a.childNodes.length == 1 || (function() { + // assign a false positive if unable to shiv + (document.createElement)('a'); + var frag = document.createDocumentFragment(); + return ( + typeof frag.cloneNode == 'undefined' || + typeof frag.createDocumentFragment == 'undefined' || + typeof frag.createElement == 'undefined' + ); + }()); + } catch(e) { + supportsHtml5Styles = true; + supportsUnknownElements = true; + } + + }()); + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a style sheet with the given CSS text and adds it to the document. + * @private + * @param {Document} ownerDocument The document. + * @param {String} cssText The CSS text. + * @returns {StyleSheet} The style element. + */ + function addStyleSheet(ownerDocument, cssText) { + var p = ownerDocument.createElement('p'), + parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; + + p.innerHTML = 'x'; + return parent.insertBefore(p.lastChild, parent.firstChild); + } + + /** + * Returns the value of `html5.elements` as an array. + * @private + * @returns {Array} An array of shived element node names. + */ + function getElements() { + var elements = html5.elements; + return typeof elements == 'string' ? elements.split(' ') : elements; + } + + /** + * Returns the data associated to the given document + * @private + * @param {Document} ownerDocument The document. + * @returns {Object} An object of data. + */ + function getExpandoData(ownerDocument) { + var data = expandoData[ownerDocument[expando]]; + if (!data) { + data = {}; + expanID++; + ownerDocument[expando] = expanID; + expandoData[expanID] = data; + } + return data; + } + + /** + * returns a shived element for the given nodeName and document + * @memberOf html5 + * @param {String} nodeName name of the element + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived element. + */ + function createElement(nodeName, ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createElement(nodeName); + } + if (!data) { + data = getExpandoData(ownerDocument); + } + var node; + + if (data.cache[nodeName]) { + node = data.cache[nodeName].cloneNode(); + } else if (saveClones.test(nodeName)) { + node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); + } else { + node = data.createElem(nodeName); + } + + // Avoid adding some elements to fragments in IE < 9 because + // * Attributes like `name` or `type` cannot be set/changed once an element + // is inserted into a document/fragment + // * Link elements with `src` attributes that are inaccessible, as with + // a 403 response, will cause the tab/window to crash + // * Script elements appended to fragments will execute when their `src` + // or `text` property is set + return node.canHaveChildren && !reSkip.test(nodeName) ? data.frag.appendChild(node) : node; + } + + /** + * returns a shived DocumentFragment for the given document + * @memberOf html5 + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived DocumentFragment. + */ + function createDocumentFragment(ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createDocumentFragment(); + } + data = data || getExpandoData(ownerDocument); + var clone = data.frag.cloneNode(), + i = 0, + elems = getElements(), + l = elems.length; + for(;i>shiv*/ + + // Assign private properties to the return object with prefix + Modernizr._version = version; + + // expose these for the plugin API. Look in the source for how to join() them against your input + /*>>prefixes*/ + Modernizr._prefixes = prefixes; + /*>>prefixes*/ + /*>>domprefixes*/ + Modernizr._domPrefixes = domPrefixes; + Modernizr._cssomPrefixes = cssomPrefixes; + /*>>domprefixes*/ + + /*>>mq*/ + // Modernizr.mq tests a given media query, live against the current state of the window + // A few important notes: + // * If a browser does not support media queries at all (eg. oldIE) the mq() will always return false + // * A max-width or orientation query will be evaluated against the current state, which may change later. + // * You must specify values. Eg. If you are testing support for the min-width media query use: + // Modernizr.mq('(min-width:0)') + // usage: + // Modernizr.mq('only screen and (max-width:768)') + Modernizr.mq = testMediaQuery; + /*>>mq*/ + + /*>>hasevent*/ + // Modernizr.hasEvent() detects support for a given event, with an optional element to test on + // Modernizr.hasEvent('gesturestart', elem) + Modernizr.hasEvent = isEventSupported; + /*>>hasevent*/ + + /*>>testprop*/ + // Modernizr.testProp() investigates whether a given style property is recognized + // Note that the property names must be provided in the camelCase variant. + // Modernizr.testProp('pointerEvents') + Modernizr.testProp = function(prop){ + return testProps([prop]); + }; + /*>>testprop*/ + + /*>>testallprops*/ + // Modernizr.testAllProps() investigates whether a given style property, + // or any of its vendor-prefixed variants, is recognized + // Note that the property names must be provided in the camelCase variant. + // Modernizr.testAllProps('boxSizing') + Modernizr.testAllProps = testPropsAll; + /*>>testallprops*/ + + + /*>>teststyles*/ + // Modernizr.testStyles() allows you to add custom styles to the document and test an element afterwards + // Modernizr.testStyles('#modernizr { position:absolute }', function(elem, rule){ ... }) + Modernizr.testStyles = injectElementWithStyles; + /*>>teststyles*/ + + + /*>>prefixed*/ + // Modernizr.prefixed() returns the prefixed or nonprefixed property name variant of your input + // Modernizr.prefixed('boxSizing') // 'MozBoxSizing' + + // Properties must be passed as dom-style camelcase, rather than `box-sizing` hypentated style. + // Return values will also be the camelCase variant, if you need to translate that to hypenated style use: + // + // str.replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-'); + + // If you're trying to ascertain which transition end event to bind to, you might do something like... + // + // var transEndEventNames = { + // 'WebkitTransition' : 'webkitTransitionEnd', + // 'MozTransition' : 'transitionend', + // 'OTransition' : 'oTransitionEnd', + // 'msTransition' : 'MSTransitionEnd', + // 'transition' : 'transitionend' + // }, + // transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ]; + + Modernizr.prefixed = function(prop, obj, elem){ + if(!obj) { + return testPropsAll(prop, 'pfx'); + } else { + // Testing DOM property e.g. Modernizr.prefixed('requestAnimationFrame', window) // 'mozRequestAnimationFrame' + return testPropsAll(prop, obj, elem); + } + }; + /*>>prefixed*/ + + + /*>>cssclasses*/ + // Remove "no-js" class from element, if it exists: + docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') + + + // Add the new classes to the element. + (enableClasses ? ' js ' + classes.join(' ') : ''); + /*>>cssclasses*/ + + return Modernizr; + +})(this, this.document); diff --git a/public/js/modernizr.js b/public/js/modernizr.js new file mode 100644 index 0000000..f2e4bba --- /dev/null +++ b/public/js/modernizr.js @@ -0,0 +1,4 @@ +/* Modernizr 2.7.1 (Custom Build) | MIT & BSD + * Build: http://modernizr.com/download/#-flexbox-flexboxlegacy-printshiv-cssclasses-testprop-testallprops-domprefixes-load + */ +;window.Modernizr=function(a,b,c){function x(a){j.cssText=a}function y(a,b){return x(prefixes.join(a+";")+(b||""))}function z(a,b){return typeof a===b}function A(a,b){return!!~(""+a).indexOf(b)}function B(a,b){for(var d in a){var e=a[d];if(!A(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function C(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:z(f,"function")?f.bind(d||b):f}return!1}function D(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+n.join(d+" ")+d).split(" ");return z(b,"string")||z(b,"undefined")?B(e,b):(e=(a+" "+o.join(d+" ")+d).split(" "),C(e,b,c))}var d="2.7.1",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m="Webkit Moz O ms",n=m.split(" "),o=m.toLowerCase().split(" "),p={},q={},r={},s=[],t=s.slice,u,v={}.hasOwnProperty,w;!z(v,"undefined")&&!z(v.call,"undefined")?w=function(a,b){return v.call(a,b)}:w=function(a,b){return b in a&&z(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=t.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(t.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(t.call(arguments)))};return e}),p.flexbox=function(){return D("flexWrap")},p.flexboxlegacy=function(){return D("boxDirection")};for(var E in p)w(p,E)&&(u=E.toLowerCase(),e[u]=p[E](),s.push((e[u]?"":"no-")+u));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)w(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},x(""),i=k=null,e._version=d,e._domPrefixes=o,e._cssomPrefixes=n,e.testProp=function(a){return B([a])},e.testAllProps=D,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+s.join(" "):""),e}(this,this.document),function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e+~])("+m().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),f="$1"+u+"\\:$2";while(d--)b=c[d]=c[d].split("}"),b[b.length-1]=b[b.length-1].replace(e,f),c[d]=b.join("}");return c.join("{")}function z(a){var b=a.length;while(b--)a[b].removeNode()}function A(a){function g(){clearTimeout(d._removeSheetTimer),b&&b.removeNode(!0),b=null}var b,c,d=n(a),e=a.namespaces,f=a.parentWindow;return!v||a.printShived?a:(typeof e[u]=="undefined"&&e.add(u),f.attachEvent("onbeforeprint",function(){g();var d,e,f,h=a.styleSheets,i=[],j=h.length,k=Array(j);while(j--)k[j]=h[j];while(f=k.pop())if(!f.disabled&&t.test(f.media)){try{d=f.imports,e=d.length}catch(m){e=0}for(j=0;j",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b);var t=/^$|\b(?:all|print)\b/,u="html5shiv",v=!k&&function(){var c=b.documentElement;return typeof b.namespaces!="undefined"&&typeof b.parentWindow!="undefined"&&typeof c.applyElement!="undefined"&&typeof c.removeNode!="undefined"&&typeof a.attachEvent!="undefined"}();s.type+=" print",s.shivPrint=A,A(b)}(this,document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), +l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, +q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, +"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), +a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} +for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], +H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ +I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), +["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", +/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), +["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", +hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= +!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p
            • 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 TN7PI|2m}RHy*7^z1?4{gy#w^t literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-bold-webfont.eot b/public/fonts/Roboto/roboto-bold-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..6261bf0d97c15db6ea22a80bd194517b626c66d6 GIT binary patch literal 57867 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 literal 0 HcmV?d00001 diff --git a/public/fonts/Roboto/roboto-bold-webfont.ttf b/public/fonts/Roboto/roboto-bold-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c601e563cc4c2e8720c0ebd62009f794a402426d GIT binary patch literal 133184 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