From e5544b7114e5ff6c25ded4f8808cd72904fe1853 Mon Sep 17 00:00:00 2001 From: C9 Date: Thu, 20 Sep 2012 12:31:48 -0400 Subject: [PATCH] Many updates to the site, content and design --- api/resources/csses/ace_api.css | 4 +- .../javascripts/bootstrap-dropdown.js | 92 ----- api/resources/javascripts/bootstrap-tab.js | 135 ------ api/resources/javascripts/bootstrap.js | 389 ++++++++++++++++++ doc/resources/ace/skeleton/csses/ace_api.css | 4 +- .../javascripts/bootstrap-dropdown.js | 92 ----- .../ace/skeleton/javascripts/bootstrap-tab.js | 135 ------ .../ace/skeleton/javascripts/bootstrap.js | 389 ++++++++++++++++++ .../ace/templates/common_layout.jade | 3 +- doc/resources/common_layout.jade | 3 +- doc/site/images/ace-logo.png | Bin 0 -> 60546 bytes doc/site/images/ace-tab.png | Bin 0 -> 2655 bytes doc/site/images/header-bg.png | Bin 0 -> 154 bytes doc/site/images/textimage.png | Bin 0 -> 11444 bytes doc/site/js/main.js | 2 +- doc/site/style.css | 21 +- index.html | 19 +- 17 files changed, 808 insertions(+), 480 deletions(-) delete mode 100644 api/resources/javascripts/bootstrap-dropdown.js delete mode 100644 api/resources/javascripts/bootstrap-tab.js create mode 100644 api/resources/javascripts/bootstrap.js delete mode 100644 doc/resources/ace/skeleton/javascripts/bootstrap-dropdown.js delete mode 100644 doc/resources/ace/skeleton/javascripts/bootstrap-tab.js create mode 100644 doc/resources/ace/skeleton/javascripts/bootstrap.js create mode 100644 doc/site/images/ace-logo.png create mode 100644 doc/site/images/ace-tab.png create mode 100644 doc/site/images/header-bg.png create mode 100644 doc/site/images/textimage.png diff --git a/api/resources/csses/ace_api.css b/api/resources/csses/ace_api.css index 1958d3d4..92029312 100644 --- a/api/resources/csses/ace_api.css +++ b/api/resources/csses/ace_api.css @@ -515,7 +515,7 @@ header.filler { .centerpiece { min-height: 100%; - padding: 10px 0; + padding: 20px 0; } /* @@ -532,7 +532,7 @@ header.filler { } #sidebar { - margin-top: 9px; + margin-top: 5px; /*background: url(../images/sidebar-border.png) repeat-y right 0;*/ margin-left: 12px; /* width: 280px;*/ diff --git a/api/resources/javascripts/bootstrap-dropdown.js b/api/resources/javascripts/bootstrap-dropdown.js deleted file mode 100644 index 54b61c5e..00000000 --- a/api/resources/javascripts/bootstrap-dropdown.js +++ /dev/null @@ -1,92 +0,0 @@ -/* ============================================================ - * bootstrap-dropdown.js v2.0.2 - * http://twitter.github.com/bootstrap/javascript.html#dropdowns - * ============================================================ - * Copyright 2012 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================ */ - - -!function( $ ){ - - "use strict" - - /* DROPDOWN CLASS DEFINITION - * ========================= */ - - var toggle = '[data-toggle="dropdown"]' - , Dropdown = function ( element ) { - var $el = $(element).on('click.dropdown.data-api', this.toggle) - $('html').on('click.dropdown.data-api', function () { - $el.parent().removeClass('open') - }) - } - - Dropdown.prototype = { - - constructor: Dropdown - - , toggle: function ( e ) { - var $this = $(this) - , selector = $this.attr('data-target') - , $parent - , isActive - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 - } - - $parent = $(selector) - $parent.length || ($parent = $this.parent()) - - isActive = $parent.hasClass('open') - - clearMenus() - !isActive && $parent.toggleClass('open') - - return false - } - - } - - function clearMenus() { - $(toggle).parent().removeClass('open') - } - - - /* DROPDOWN PLUGIN DEFINITION - * ========================== */ - - $.fn.dropdown = function ( option ) { - return this.each(function () { - var $this = $(this) - , data = $this.data('dropdown') - if (!data) $this.data('dropdown', (data = new Dropdown(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - $.fn.dropdown.Constructor = Dropdown - - - /* APPLY TO STANDARD DROPDOWN ELEMENTS - * =================================== */ - - $(function () { - $('html').on('click.dropdown.data-api', clearMenus) - $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) - }) - -}( window.jQuery ); \ No newline at end of file diff --git a/api/resources/javascripts/bootstrap-tab.js b/api/resources/javascripts/bootstrap-tab.js deleted file mode 100644 index 070deb8f..00000000 --- a/api/resources/javascripts/bootstrap-tab.js +++ /dev/null @@ -1,135 +0,0 @@ -/* ======================================================== - * bootstrap-tab.js v2.1.1 - * http://twitter.github.com/bootstrap/javascript.html#tabs - * ======================================================== - * Copyright 2012 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ======================================================== */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* TAB CLASS DEFINITION - * ==================== */ - - var Tab = function (element) { - this.element = $(element) - } - - Tab.prototype = { - - constructor: Tab - - , show: function () { - var $this = this.element - , $ul = $this.closest('ul:not(.dropdown-menu)') - , selector = $this.attr('data-target') - , previous - , $target - , e - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 - } - - if ( $this.parent('li').hasClass('active') ) return - - previous = $ul.find('.active a').last()[0] - - e = $.Event('show', { - relatedTarget: previous - }) - - $this.trigger(e) - - if (e.isDefaultPrevented()) return - - $target = $(selector) - - this.activate($this.parent('li'), $ul) - this.activate($target, $target.parent(), function () { - $this.trigger({ - type: 'shown' - , relatedTarget: previous - }) - }) - } - - , activate: function ( element, container, callback) { - var $active = container.find('> .active') - , transition = callback - && $.support.transition - && $active.hasClass('fade') - - function next() { - $active - .removeClass('active') - .find('> .dropdown-menu > .active') - .removeClass('active') - - element.addClass('active') - - if (transition) { - element[0].offsetWidth // reflow for transition - element.addClass('in') - } else { - element.removeClass('fade') - } - - if ( element.parent('.dropdown-menu') ) { - element.closest('li.dropdown').addClass('active') - } - - callback && callback() - } - - transition ? - $active.one($.support.transition.end, next) : - next() - - $active.removeClass('in') - } - } - - - /* TAB PLUGIN DEFINITION - * ===================== */ - - $.fn.tab = function ( option ) { - return this.each(function () { - var $this = $(this) - , data = $this.data('tab') - if (!data) $this.data('tab', (data = new Tab(this))) - if (typeof option == 'string') data[option]() - }) - } - - $.fn.tab.Constructor = Tab - - - /* TAB DATA-API - * ============ */ - - $(function () { - $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { - e.preventDefault() - $(this).tab('show') - }) - }) - -}(window.jQuery); \ No newline at end of file diff --git a/api/resources/javascripts/bootstrap.js b/api/resources/javascripts/bootstrap.js new file mode 100644 index 00000000..79241e74 --- /dev/null +++ b/api/resources/javascripts/bootstrap.js @@ -0,0 +1,389 @@ +/* ============================================================ + * bootstrap-dropdown.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle=dropdown]' + , Dropdown = function (element) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function (e) { + var $this = $(this) + , $parent + , isActive + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + $parent.toggleClass('open') + $this.focus() + } + + return false + } + + , keydown: function (e) { + var $this + , $items + , $active + , $parent + , isActive + , index + + if (!/(38|40|27)/.test(e.keyCode)) return + + $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + if (!isActive || (isActive && e.keyCode == 27)) return $this.click() + + $items = $('[role=menu] li:not(.divider) a', $parent) + + if (!$items.length) return + + index = $items.index($items.filter(':focus')) + + if (e.keyCode == 38 && index > 0) index-- // up + if (e.keyCode == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items + .eq(index) + .focus() + } + + } + + function clearMenus() { + getParent($(toggle)) + .removeClass('open') + } + + function getParent($this) { + var selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.length || ($parent = $this.parent()) + + return $parent + } + + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + $.fn.dropdown = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.dropdown.Constructor = Dropdown + + + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + $(function () { + $('html') + .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) + $('body') + .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) + .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) + }) + +}(window.jQuery); +/* ======================================================== + * bootstrap-tab.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#tabs + * ======================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* TAB CLASS DEFINITION + * ==================== */ + + var Tab = function (element) { + this.element = $(element) + } + + Tab.prototype = { + + constructor: Tab + + , show: function () { + var $this = this.element + , $ul = $this.closest('ul:not(.dropdown-menu)') + , selector = $this.attr('data-target') + , previous + , $target + , e + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + if ( $this.parent('li').hasClass('active') ) return + + previous = $ul.find('.active a').last()[0] + + e = $.Event('show', { + relatedTarget: previous + }) + + $this.trigger(e) + + if (e.isDefaultPrevented()) return + + $target = $(selector) + + this.activate($this.parent('li'), $ul) + this.activate($target, $target.parent(), function () { + $this.trigger({ + type: 'shown' + , relatedTarget: previous + }) + }) + } + + , activate: function ( element, container, callback) { + var $active = container.find('> .active') + , transition = callback + && $.support.transition + && $active.hasClass('fade') + + function next() { + $active + .removeClass('active') + .find('> .dropdown-menu > .active') + .removeClass('active') + + element.addClass('active') + + if (transition) { + element[0].offsetWidth // reflow for transition + element.addClass('in') + } else { + element.removeClass('fade') + } + + if ( element.parent('.dropdown-menu') ) { + element.closest('li.dropdown').addClass('active') + } + + callback && callback() + } + + transition ? + $active.one($.support.transition.end, next) : + next() + + $active.removeClass('in') + } + } + + + /* TAB PLUGIN DEFINITION + * ===================== */ + + $.fn.tab = function ( option ) { + return this.each(function () { + var $this = $(this) + , data = $this.data('tab') + if (!data) $this.data('tab', (data = new Tab(this))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.tab.Constructor = Tab + + + /* TAB DATA-API + * ============ */ + + $(function () { + $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { + e.preventDefault() + $(this).tab('show') + }) + }) + +}(window.jQuery); +/* ========================================================== + * bootstrap-affix.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#affix + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* AFFIX CLASS DEFINITION + * ====================== */ + + var Affix = function (element, options) { + this.options = $.extend({}, $.fn.affix.defaults, options) + this.$window = $(window).on('scroll.affix.data-api', $.proxy(this.checkPosition, this)) + this.$element = $(element) + this.checkPosition() + } + + Affix.prototype.checkPosition = function () { + if (!this.$element.is(':visible')) return + + var scrollHeight = $(document).height() + , scrollTop = this.$window.scrollTop() + , position = this.$element.offset() + , offset = this.options.offset + , offsetBottom = offset.bottom + , offsetTop = offset.top + , reset = 'affix affix-top affix-bottom' + , affix + + if (typeof offset != 'object') offsetBottom = offsetTop = offset + if (typeof offsetTop == 'function') offsetTop = offset.top() + if (typeof offsetBottom == 'function') offsetBottom = offset.bottom() + + affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? + false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? + 'bottom' : offsetTop != null && scrollTop <= offsetTop ? + 'top' : false + + if (this.affixed === affix) return + + this.affixed = affix + this.unpin = affix == 'bottom' ? position.top - scrollTop : null + + this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')) + } + + + /* AFFIX PLUGIN DEFINITION + * ======================= */ + + $.fn.affix = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('affix') + , options = typeof option == 'object' && option + if (!data) $this.data('affix', (data = new Affix(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.affix.Constructor = Affix + + $.fn.affix.defaults = { + offset: 0 + } + + + /* AFFIX DATA-API + * ============== */ + + $(window).on('load', function () { + $('[data-spy="affix"]').each(function () { + var $spy = $(this) + , data = $spy.data() + + data.offset = data.offset || {} + + data.offsetBottom && (data.offset.bottom = data.offsetBottom) + data.offsetTop && (data.offset.top = data.offsetTop) + + $spy.affix(data) + }) + }) + + +}(window.jQuery); \ No newline at end of file diff --git a/doc/resources/ace/skeleton/csses/ace_api.css b/doc/resources/ace/skeleton/csses/ace_api.css index 1958d3d4..92029312 100644 --- a/doc/resources/ace/skeleton/csses/ace_api.css +++ b/doc/resources/ace/skeleton/csses/ace_api.css @@ -515,7 +515,7 @@ header.filler { .centerpiece { min-height: 100%; - padding: 10px 0; + padding: 20px 0; } /* @@ -532,7 +532,7 @@ header.filler { } #sidebar { - margin-top: 9px; + margin-top: 5px; /*background: url(../images/sidebar-border.png) repeat-y right 0;*/ margin-left: 12px; /* width: 280px;*/ diff --git a/doc/resources/ace/skeleton/javascripts/bootstrap-dropdown.js b/doc/resources/ace/skeleton/javascripts/bootstrap-dropdown.js deleted file mode 100644 index 54b61c5e..00000000 --- a/doc/resources/ace/skeleton/javascripts/bootstrap-dropdown.js +++ /dev/null @@ -1,92 +0,0 @@ -/* ============================================================ - * bootstrap-dropdown.js v2.0.2 - * http://twitter.github.com/bootstrap/javascript.html#dropdowns - * ============================================================ - * Copyright 2012 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================ */ - - -!function( $ ){ - - "use strict" - - /* DROPDOWN CLASS DEFINITION - * ========================= */ - - var toggle = '[data-toggle="dropdown"]' - , Dropdown = function ( element ) { - var $el = $(element).on('click.dropdown.data-api', this.toggle) - $('html').on('click.dropdown.data-api', function () { - $el.parent().removeClass('open') - }) - } - - Dropdown.prototype = { - - constructor: Dropdown - - , toggle: function ( e ) { - var $this = $(this) - , selector = $this.attr('data-target') - , $parent - , isActive - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 - } - - $parent = $(selector) - $parent.length || ($parent = $this.parent()) - - isActive = $parent.hasClass('open') - - clearMenus() - !isActive && $parent.toggleClass('open') - - return false - } - - } - - function clearMenus() { - $(toggle).parent().removeClass('open') - } - - - /* DROPDOWN PLUGIN DEFINITION - * ========================== */ - - $.fn.dropdown = function ( option ) { - return this.each(function () { - var $this = $(this) - , data = $this.data('dropdown') - if (!data) $this.data('dropdown', (data = new Dropdown(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - $.fn.dropdown.Constructor = Dropdown - - - /* APPLY TO STANDARD DROPDOWN ELEMENTS - * =================================== */ - - $(function () { - $('html').on('click.dropdown.data-api', clearMenus) - $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) - }) - -}( window.jQuery ); \ No newline at end of file diff --git a/doc/resources/ace/skeleton/javascripts/bootstrap-tab.js b/doc/resources/ace/skeleton/javascripts/bootstrap-tab.js deleted file mode 100644 index 070deb8f..00000000 --- a/doc/resources/ace/skeleton/javascripts/bootstrap-tab.js +++ /dev/null @@ -1,135 +0,0 @@ -/* ======================================================== - * bootstrap-tab.js v2.1.1 - * http://twitter.github.com/bootstrap/javascript.html#tabs - * ======================================================== - * Copyright 2012 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ======================================================== */ - - -!function ($) { - - "use strict"; // jshint ;_; - - - /* TAB CLASS DEFINITION - * ==================== */ - - var Tab = function (element) { - this.element = $(element) - } - - Tab.prototype = { - - constructor: Tab - - , show: function () { - var $this = this.element - , $ul = $this.closest('ul:not(.dropdown-menu)') - , selector = $this.attr('data-target') - , previous - , $target - , e - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 - } - - if ( $this.parent('li').hasClass('active') ) return - - previous = $ul.find('.active a').last()[0] - - e = $.Event('show', { - relatedTarget: previous - }) - - $this.trigger(e) - - if (e.isDefaultPrevented()) return - - $target = $(selector) - - this.activate($this.parent('li'), $ul) - this.activate($target, $target.parent(), function () { - $this.trigger({ - type: 'shown' - , relatedTarget: previous - }) - }) - } - - , activate: function ( element, container, callback) { - var $active = container.find('> .active') - , transition = callback - && $.support.transition - && $active.hasClass('fade') - - function next() { - $active - .removeClass('active') - .find('> .dropdown-menu > .active') - .removeClass('active') - - element.addClass('active') - - if (transition) { - element[0].offsetWidth // reflow for transition - element.addClass('in') - } else { - element.removeClass('fade') - } - - if ( element.parent('.dropdown-menu') ) { - element.closest('li.dropdown').addClass('active') - } - - callback && callback() - } - - transition ? - $active.one($.support.transition.end, next) : - next() - - $active.removeClass('in') - } - } - - - /* TAB PLUGIN DEFINITION - * ===================== */ - - $.fn.tab = function ( option ) { - return this.each(function () { - var $this = $(this) - , data = $this.data('tab') - if (!data) $this.data('tab', (data = new Tab(this))) - if (typeof option == 'string') data[option]() - }) - } - - $.fn.tab.Constructor = Tab - - - /* TAB DATA-API - * ============ */ - - $(function () { - $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { - e.preventDefault() - $(this).tab('show') - }) - }) - -}(window.jQuery); \ No newline at end of file diff --git a/doc/resources/ace/skeleton/javascripts/bootstrap.js b/doc/resources/ace/skeleton/javascripts/bootstrap.js new file mode 100644 index 00000000..79241e74 --- /dev/null +++ b/doc/resources/ace/skeleton/javascripts/bootstrap.js @@ -0,0 +1,389 @@ +/* ============================================================ + * bootstrap-dropdown.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle=dropdown]' + , Dropdown = function (element) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function (e) { + var $this = $(this) + , $parent + , isActive + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + $parent.toggleClass('open') + $this.focus() + } + + return false + } + + , keydown: function (e) { + var $this + , $items + , $active + , $parent + , isActive + , index + + if (!/(38|40|27)/.test(e.keyCode)) return + + $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + if (!isActive || (isActive && e.keyCode == 27)) return $this.click() + + $items = $('[role=menu] li:not(.divider) a', $parent) + + if (!$items.length) return + + index = $items.index($items.filter(':focus')) + + if (e.keyCode == 38 && index > 0) index-- // up + if (e.keyCode == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items + .eq(index) + .focus() + } + + } + + function clearMenus() { + getParent($(toggle)) + .removeClass('open') + } + + function getParent($this) { + var selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.length || ($parent = $this.parent()) + + return $parent + } + + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + $.fn.dropdown = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.dropdown.Constructor = Dropdown + + + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + $(function () { + $('html') + .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) + $('body') + .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) + .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) + }) + +}(window.jQuery); +/* ======================================================== + * bootstrap-tab.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#tabs + * ======================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* TAB CLASS DEFINITION + * ==================== */ + + var Tab = function (element) { + this.element = $(element) + } + + Tab.prototype = { + + constructor: Tab + + , show: function () { + var $this = this.element + , $ul = $this.closest('ul:not(.dropdown-menu)') + , selector = $this.attr('data-target') + , previous + , $target + , e + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + if ( $this.parent('li').hasClass('active') ) return + + previous = $ul.find('.active a').last()[0] + + e = $.Event('show', { + relatedTarget: previous + }) + + $this.trigger(e) + + if (e.isDefaultPrevented()) return + + $target = $(selector) + + this.activate($this.parent('li'), $ul) + this.activate($target, $target.parent(), function () { + $this.trigger({ + type: 'shown' + , relatedTarget: previous + }) + }) + } + + , activate: function ( element, container, callback) { + var $active = container.find('> .active') + , transition = callback + && $.support.transition + && $active.hasClass('fade') + + function next() { + $active + .removeClass('active') + .find('> .dropdown-menu > .active') + .removeClass('active') + + element.addClass('active') + + if (transition) { + element[0].offsetWidth // reflow for transition + element.addClass('in') + } else { + element.removeClass('fade') + } + + if ( element.parent('.dropdown-menu') ) { + element.closest('li.dropdown').addClass('active') + } + + callback && callback() + } + + transition ? + $active.one($.support.transition.end, next) : + next() + + $active.removeClass('in') + } + } + + + /* TAB PLUGIN DEFINITION + * ===================== */ + + $.fn.tab = function ( option ) { + return this.each(function () { + var $this = $(this) + , data = $this.data('tab') + if (!data) $this.data('tab', (data = new Tab(this))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.tab.Constructor = Tab + + + /* TAB DATA-API + * ============ */ + + $(function () { + $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { + e.preventDefault() + $(this).tab('show') + }) + }) + +}(window.jQuery); +/* ========================================================== + * bootstrap-affix.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#affix + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* AFFIX CLASS DEFINITION + * ====================== */ + + var Affix = function (element, options) { + this.options = $.extend({}, $.fn.affix.defaults, options) + this.$window = $(window).on('scroll.affix.data-api', $.proxy(this.checkPosition, this)) + this.$element = $(element) + this.checkPosition() + } + + Affix.prototype.checkPosition = function () { + if (!this.$element.is(':visible')) return + + var scrollHeight = $(document).height() + , scrollTop = this.$window.scrollTop() + , position = this.$element.offset() + , offset = this.options.offset + , offsetBottom = offset.bottom + , offsetTop = offset.top + , reset = 'affix affix-top affix-bottom' + , affix + + if (typeof offset != 'object') offsetBottom = offsetTop = offset + if (typeof offsetTop == 'function') offsetTop = offset.top() + if (typeof offsetBottom == 'function') offsetBottom = offset.bottom() + + affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? + false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? + 'bottom' : offsetTop != null && scrollTop <= offsetTop ? + 'top' : false + + if (this.affixed === affix) return + + this.affixed = affix + this.unpin = affix == 'bottom' ? position.top - scrollTop : null + + this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')) + } + + + /* AFFIX PLUGIN DEFINITION + * ======================= */ + + $.fn.affix = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('affix') + , options = typeof option == 'object' && option + if (!data) $this.data('affix', (data = new Affix(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.affix.Constructor = Affix + + $.fn.affix.defaults = { + offset: 0 + } + + + /* AFFIX DATA-API + * ============== */ + + $(window).on('load', function () { + $('[data-spy="affix"]').each(function () { + var $spy = $(this) + , data = $spy.data() + + data.offset = data.offset || {} + + data.offsetBottom && (data.offset.bottom = data.offsetBottom) + data.offsetTop && (data.offset.top = data.offsetTop) + + $spy.affix(data) + }) + }) + + +}(window.jQuery); \ No newline at end of file diff --git a/doc/resources/ace/templates/common_layout.jade b/doc/resources/ace/templates/common_layout.jade index 137bc570..817e3c73 100644 --- a/doc/resources/ace/templates/common_layout.jade +++ b/doc/resources/ace/templates/common_layout.jade @@ -39,8 +39,7 @@ mixin head script(src='#{dirPrefix}resources/javascripts/bbq.js') script(src="#{dirPrefix}resources/javascripts/jquery.collapse.js") script(src="#{dirPrefix}resources/javascripts/jquery.cookie.js") - script(src="#{dirPrefix}resources/javascripts/bootstrap-dropdown.js") - script(src='#{dirPrefix}resources/javascripts/bootstrap-tab.js') + script(src="#{dirPrefix}resources/javascripts/bootstrap.js") mixin endingScripts diff --git a/doc/resources/common_layout.jade b/doc/resources/common_layout.jade index 137bc570..817e3c73 100644 --- a/doc/resources/common_layout.jade +++ b/doc/resources/common_layout.jade @@ -39,8 +39,7 @@ mixin head script(src='#{dirPrefix}resources/javascripts/bbq.js') script(src="#{dirPrefix}resources/javascripts/jquery.collapse.js") script(src="#{dirPrefix}resources/javascripts/jquery.cookie.js") - script(src="#{dirPrefix}resources/javascripts/bootstrap-dropdown.js") - script(src='#{dirPrefix}resources/javascripts/bootstrap-tab.js') + script(src="#{dirPrefix}resources/javascripts/bootstrap.js") mixin endingScripts diff --git a/doc/site/images/ace-logo.png b/doc/site/images/ace-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..886a8df3119423f1b37d8675855421f53b525bd5 GIT binary patch literal 60546 zcmW(+V{~NQ67AUL#I|jllT2*ew(VrXi7~M~VaK-3i8ZnF`g?2j?bZF~+*@_4_Nm%u zSM+x!X(V_&cmM!^Br7AK3IKqKfPOE-LW8~wR(1dT^UY0C%k77wg`20bi#b5l%+bW0 zMAqKe(p=Tt*v#8`%v=BfxS)`g5LNS9zv%YvqF7OBYVqnD zZpF=ZHhpTY@0*=9vf2dJb6r^&okUo-S^5lcuyD*W2*(+BG$4JrhK}H}a5cyGg(3~F zrhDoltgF*iv_9RMOIesnY`PvLc1rbVQjW>=r?B1oR#y7`k&qhv*ylg?JLV5tYF#Hf zR+L}^M1m1OIiUiH0QgsB5F`*RF3N_0%s;)3V5^W$*uZZ96hM1MRLqi!zJ215RF!!B zI+1w6Ik*>g&@s3dRgf(}4{3M4qt-ai*c6eyseWtF-pB$BKo+7J0}xq@PgRw(Rn)P~ zHP0d|`T@9tcA^iOfp|s?O2n8GuWG7a*8sGy=g|Q95qIggW;6lq4h>o|+Uf4v>7}*j z9hG!H)YJa$KDNCJ0D_ivT67pe>o~M+WPQ!)?7-}j13uw_`QXnSXk%vzHLX~H+SU>9 zn{|Kz;%*g~Up(v4SrN^65l!WgiAtKeHaAl(j){CHiFZjG^}bD@sH7FanriZl(Y|Jv1?&c3kwwcP~W@@&{lS zet|;EfcE!ihrp*my5DMbE4B|l-P2AylK?+dAU~jMD}1iX9xABHzU300jT`Vx1gOiJ zIUW$0i4~Z^*`E!M@__1;MhG&r!+nZ2u=;Pa;lAdBEZer?IBVIse1h^?}`k1eS;fdiKw4`F%`fhd4y z?t_2r!bFLdv;LVmrkgq^>S6O+sb?ZyJv4Nx}aB>Nma@a)D zc?pC9yLv}sxx_>N0dZI^3Z14paq@?re-jDT6Cr+OW#tVYA0Ke@1MrD~#;BpW_@5_# zLOef0Jiipt^ng~Lv}{`27X!kGcm!>u$C_B&dNn{?;3=FXHvpv}LMDvbbZNTqNuXJj zflfHGNZzx$$jND{HX!4BTU$NAfheeRZrQ3Go>=l>L2iRT5g=Ywes?_vc690Ev|(;EQ41r&0Dpwndy*D z+$Vf+PqIX)q(Q6elZTFe68#JAVS{-!OQ^ASwJSM4z|UGcLB&W;(gAj1zbz~mWU%aaDz@O@JM0l zb@H^s{hasb7Vpur)#{MZ?2yx{WZi~T+k$9Y)to~c(O(>JLbQ`I6vXv8sAGW?%e#N|K4 z<5m|1D)vpU_7<e;s0MT=*D%kVWe%U5q!Cko>9 zNJ}=NjNQuWOFV692a{R$IlP_m=TE9HX&KEi83gue-3r$L@!v#5uo)#nosE4D4-b9A z!^5~hZnQbW+S>8|Tu2T5UJJO11R>1`7dLlVr}b-;3=z^zgOic3a}X3jOjtCY7scp5qE^$$(I>o#WkJ*qFTyTN^vQ~b=J9_%JwOOxhQ67enwq*YW6S!zS4;0Bv3zW> zF#1nc512#oyvCB7iT82EkG_5~}q|%(VK4jiPNCjn%u2qYURSSPm6<+o)=hq9aD`977 zn5CkQQ?E|1wcnRTzf+T36kd#jzN2?^OhSJsS1pZ86{|S%5PXsat<)fDgSOmtBI27j zDnPIIfnQ}&r=Z?yw(4XJ@83b#QvCQitRcYF&teoQ} z!Hs%B=Xm`Z>0|&ST(Jo%*u}2-lt?o;%$bbCpZ9_SJSorwy2lTSeJxdd3j215>6rBwYYlbToTAJ4ET?Iby(b zLYkA$e~H}y)q4$fGaO0eW2K5Ic^d2p^GsRo$h)a1uFs{A&!^tH?P|I9cJEQ;I%E#x zd;`RTg=Yw{Q7NE-Uv&Qq7(e~e5~*G9n~a~JJ)G6D!^|PsMJ8>AIZb7Z3Cv+EPlgbg z0Z5YUy~y^mQZ|b11^tnLuW^9cazN3x7Q_5%-{o&E7@i=QA~iWvIFT_UxvcJu$KFZld{8!T2w2}|Vql~)*~c0AT{W(uTBhQA9cuFE z#paitOtqfFOn3UXq83w^u-tnmYKVJSse)M*v64+oRoMKBJ_<%tQ`3vcJUPOb|0dkz*3M#-MVj0lA%f(53RA~+)L*!pXRRIL?tq(u-gw3eztQ=Ok^`% zPa3+l>(kW?h7|Z{aYg-3$|N+^H#8)!t*Z+p0!~C*b#TA2nn17Kaaz^&Gh( zb?krD!nMO?Q1}nV-up+6ZKV@02GTN!#X8e2A%zZ-5-|lBetYwIpntn1Wvn3FJ&46Y znxOOe(;0TZcC#GboGdNXZUP+*G9|}qkfmVWgGYqHgloV8EonOaPbrj`#fb-kKTH@& z|5_8qX22W7bL9Zr+ZBF?w>&*fjRb8=DAM|7mEfoBZysC*FH|>$n+3pUU!}jpe~~>G zyaTF;4x%xrrv(X~za16OJ(5`vUrpPJJHA|)+yqCeU3XaOg~YcINkHBSNV76C7@>h- z)97ne82$7j1;kf3iXQ)BV$~oTV5Ly+5sTAmcOpr%x!k26l;z|)dKn!Vm~!HsyNGVL zX`a8bMr0Au5#9Vpq6+pd0v-ZR8(y7O$d6mJWj%n~r|+3R=>L@4_w{JreVJjnZ17zF z>}SVP3Sfc_;pRupsj0pAFRmkDdNskGw|-J9C!BZG;twJJrf4WD`krr;uzRevlfTn> z@;)hjY@1=|gO*?zfcgveuSxKl8@#CkWZrHTHItZn?W$2()y)4JCr?zMy$fa=SLYR&R!Y1ffSh;2D~Xt%~07KQF)UdXfjBVOIu$%;N9YJ-7n8zhYEK^zO5K~BKodGvXlA|xV62jnPeyg`XMg1)T>Z$2|H0R(nsJW#@TIGo)Nu0y*A3l7(>pn&k87gxcgDg9Az z=_m#!K_DRMbVpiE7DZui4EFA~@yjNnMOIVRC_HCWy?Og|XvB_^la_|hsO2phRVq?1 zudFMT0>cwi+HY5hX;2wBy^^l~y8|xo(bqydqHi6qd6~!E2BB@+N4V$w_3=<$(><1h zqBXNp3{099>o%kd0rqOG$&!Nr*-%=dx4vWjzpVSU%ME^mlbxNNp-lBtTl@@Ez9(fO z@Z7Ku&r%aH=zbkBTi}l{3y0A&@xvNR31t<~RRMVN{zX-duHWZ4Us`Ic+Evw}VMwHu zGXl(@qrjRb9#m4h88%ebIP!CzJOhM1!v0*GGn@%rU-rU6$Z?BV$o*yO*?=@qGVNvl zjgBX;Z9f+d6$2UC;@<45f4Bf8boa;iCPv=uF_(KaNy}2l147hx;kO4=AH&4`5RPFN z*e;gD{q~Z2FQ{X{4!-mpKKMsJa`3Nt@1PC;`7-7Djo6c^!|`2>wd1ox-g)lRUF|RU zix+~!T3Jgd^vZ4Z^er8I$YVzIT;*SR#;f~s}09!Pol>~;+l}MbrkFOEb}Ug5RbYOvM-k{W1)oT){z@xMtKgG`7}Tw-^#%$))t9rYtE-F9jVbo+OAqEdBEHW^jpVg`TlSu-V>`jQt>EMx!QGmGn%BZ~!zzp& z0Z|1oVeohzT;>(0axjO)BUr28uCQ3n#p^Kddi`jXt%~r{v3YShJ#5eVc?V!`t>piM z4^4);u+cKmAP1?jPF-|{rolWZMWDDM2y&4mqA$X}r{~ie@O3w?>;x60?0Mr$8ibN3;O){`drspPfP2HIhGbt)4X?+y0iNCt{Jg2q(Z*y~e!}UGXaZ>oS$&B& zzo<^h4X;>duYAS^GQcg6^Ivy2FF0DTWGOwPbXwG6OB2SQYs^ICIjl* z?Vo47s78hFgCfbT#x&Q}jIrqpD6f-*xlnatR46s#^jiNKPC@CgVW8 z2dGn=3#2Lv?AC#z2l#b_?4Savr}G4To&KEc5yp!5nZkj*|Gs=2^XaQp-glShPjH#u z@8%oVQQcR;h@}D$4rUCBLU;qmg@>4ho7e|73*1Oxmy#X07P^vGQ|bz=wTP30(PASj ztnl}EJ)R>F&U<-g1iD33^o0RhfhiGFq6-`-nq+nC8$a7H?!+gR;|$oU?9gSkhDS!w2Y0R%Oh;*GjWez z^eJmgWAliI4_op?;5K{DqcW6P!1PCl4TXno!~F{Hv%7es{v~v6fDuW=o6V3x9GB~> zLN*XQCS|N_mSRG`X`*|bbI^kELl>#U7-k+$tI1e_tBqyGm4M#^)w2cpaogK>j-Rt8 zjWr^U)nR9~dsye(*Xfa)(>#{K<@Np)E~qVLv~NjO3v72G{-fK3EBoVTO-;@Bdzrq( zm-pQ#enXnq>z;h*nZRjhvtKN0>me032n3U0<*KNdrg{^Z><#mj#gvCA_MeI3$_;_aj*-lE?hzUtDTmPFAL2tRRO}vKFyneu3-5$Aw~*qm9rW#3z z_PX(1xs2WBzZ%}1$n)oALsDpM1rCFOtGW2(My;`<85+T2X~GAMTu97Wk51%$tcFD6 zng&nd2>U_Ts`OF9u7Cke!ZmeAtagN}X@cB$tq*;C(pmu#tNZEW>VUsGb85RDc8DhG z8-E4UkP|p2kvYOcr)Sx}dx%_`(O;E$FuGylmYA0x!jFcmQAi8r?ypk9IAvd4ehgb4 zLzq?*j6vkjxKjPPJlQTqXScNgAGWLu`WTZvoKO@TN@o%$ zbe!WulN+3;jLWu7Rg~Tf?Tq5B`Aj>9zD19QehPAeEPZ@jZ)kAzMiFZQ{CfsOrGcYK zjd`bxA@wjtRROdHqy4NRR2j@J+c>A@h+EvD5@*a(l*2WHu>1U1)V+#sUkyNawSPF1T zD41NDWno5+*@N%liJ>EOV~P%6nO+J-qB3Z0y#c_F_!^0o9e-wWJU{*3h28<%??Guw z{Ee3VAkg75Z!DIFF?>BXdKnR)zU@|Ivl z&mWTbo2T#B1G^$sW=H|Iyv$mUDm;h;BuE?ySUj@P1>60B2M9C=;rZAVNpD# z1a9WVbm>blM;*u-<#Dh4OoixU#443+oK~4lgeT!H5TNhwJ=p zgx>8~F9`WNh!-yH7u}H#G_ab0UfI5@XH+ngQCO-dEQr~G5MTHDB=zX-LI z#kRfjBnaxx7=7bDFj8w4>o;EH!8k3YVf4NPxOo4&UehOD2DE0%Rf88gwqLu-Q`g_7 zNZ&1o`V@1Tx8PDYr11^#zt(C|`oqf^Pl+zSv#;%}ey5NCJyIl?} zUqw%>jA>7Uds*I8Y>`)Cl;5SzP&MF&wuSZ1wrt_Fk202?RP_)6%h(DH;TzZU`)T9D zj$>WqOwXt4qItBp5W;I4jkC%$EJsAFu><3qNeI2tB9?;v7h!*AB{Jens2szDPJ~R! zfvbQ>`!Wy8@F7uX2@@mJvGjUR{H1 z79iyP)W`xw=iep@*}4{@Nv6@FTOU>4EIA`EU6LN{J$0WjH+DSg<(cyvz%5*69wyns zDxCcyk#ZI7?_!uP!T|&ds>wXYof;x?xH*HSN204`XbSqKe0jUK6DWHSC>5W?J1r-8 zN4W5=rc|!5;U9_(G%+ClX9Vp1U}^ln918#V0CBl|x7|I+m_z3uc!hPaamMeq=49eWWX zNI{y5E~dHsS~B0jGI0-%y5M&nPTy^^>K!pjFJ^$(bDg5}S}2=nIV}QJ19Hdg`OKKp zcYe^j4`huxRiJ{*roLBT#u8KK59FbGhYb2F)Adt0yZZUl^?o0xCK0Fs0WRh=d-7_C zjhP^Epf}J%+;}KNvj#&DD%G5N9?cf{r^^M^jdgT&W3s~>XOPtV3o^jRH3defXsRbY zh54s82N0r2!ADItM8)ZML7I9-XLN8dJ~2uSow|n{Nwe_|z%ZZ)Kd})xb0ZEX40jjM8$2;qXR>7B68lR1ScGg}ftLq@;R_HTLv$o&( zv?*UT35cXLouV`fJjT`X(ueI*4MCB%n3nhKPi$f;ch;glo1(b|JPL{($F<{!*H662 zruKUwm3VeP<`NgqthG)nwhp%+u8R8Yl5V}tMmG+8MkI&zZ^z32CKP4Gc{Z)WY6b^V zv%is(y;_1otB3y0H7-G%Nbx4plgTGP+r1M8rJ6inA;(Xwh&-ll@pX0u;Ylyi5ky|* z82&U@)w}2qg5e`Jc`XS@^87x4#HUtidqCmd`XhwU3eU8!u9iNtL&`ob?X=wi3#HbM z&Pjh5mAiRtt&4;<*Xupp^cxaRjsn#oZ%YE5J@drB9i)ng8A5qgrTr9Cok6lB;o7<1 zI(TnriWHls0eYnqe_|G}H6(+F>>}vv1VV&+s?Hi%lc7pYJOi(OG1N1}?DL^{pW0B? z0B&UeEVaCV&KaF0)zw>Igl9e(_*3gi;uhXNGG;W2ZEFQW*37_74lx3c}g2EP&Ea%mW5-mgXMospGS!Mp1RhpXU2nA$az z)_#lC`Th&hb)mn0X^3)wsCI{Yu;neHy?jO7oa2bIuo_Xp9w$JbDMd(s=N7xgC+879 z_TkL5)_(LXhNzaEk!EC#m7V7DHD(BpCWxej)FcsW^z5y~IY;l>Rezu-mOtUp;QT&W zl-`<$z%rt4pM25)O?8xd12>_AN4EHJ!%-J8n-)no;)bxIu0b@Fj#Nna4~ zxH5z(DW|1tO5d3;N(Rqtv^9cKLp>f_2(GiAYE`k0A9GQ^Fpuk!XwK_9P&GkFxpLfQW90p&Sc>9ExM=qw`cayG5 z(>COuE4e)PG<09Ac7o#Dp)4mnSisSpHz}DRJ(+aW$)Js-AlJq?>I2;B(cMdfQkm=V z$J0(A73=GLLgC!sAzZcyR_(?6+-pYUcV%WjXp0S9jk-3(?&**(f$&m+r3xO<55%Vm0@ zPqD!;=_N?U#5ma z7sLL*&#WBW8+iLSy)iBn2_7YZPa!6PawJL8(PQlW(UPL`5=o(3R!=3wxxZ@BVSAF zGZ`sh={Cs(r$ed33WEkYEhQ#LMEp=&AH!4pkhcdTTSWL+@)Do z3QzMD!z-a{*ZBvPH{IZnVkoX&>HPTJ1h*Od{Aw|ZLsA-U}pc`U`1T0vRe-iTH*t34W;8XAm zU^y*BlQ>Pt-(Z5I*AEH8%~Yh~aq}V$cq+Dp{yM?Sd(dY}iWXHM#W`WP8)%@5F-bOG z69&Ioslw`n4<=>=wgB|tc6|UVU_8jXY=8`Kp2^8yTU1w-7%QcPskfi@5)vgBQW6{x zPQ7n`Fo2f;A*kI2iTeW9BWh5&D?D>2fbvH;iQc0Gc_yx?@>KVeMfhePKR=d zI0vG^6lQM5o zJ**Ly3oC^fsPT1y(qpTdm7(rqIlm|VYl#T-RP$Eh;-wf~(VgxhOpgN~dTB4|n7&K% z=2Kw}gz&s}^JSYXcdSmT*24gs<8O9YeBDKoM&QJL|3kTaGcm@1F|lf73MN{_Ik~{i zF4t$@@Z;1MVSO;j1T<-?(i%4{CP64LUXcJl${>8OE>vK~ zl6wuPbOC+NJGh2%xrQ@4YG)!k!RN@m9l!L(8|`|RUyahu4f8;?yMcE3OrW+A@*$SXk@ z`_-d?W+eHs`UP0Jm9My6M%>Gs3_lcq?&zwRpZQcUe;sgprci=gUgVtZ^jh!2KI%Q8 zMdRSaXS+2?RC36U6Zv_uaYh``fzU6Hn32erL)nf(?0!q?m*1K~$b5fL%=HmyRNzXj zxZ77&@{y3uP!}cEkk~;5O(24lBo5#=Phfh&`7=16{=2fWl5WB!2R#DwBvp0nWF!*h zI3=uW(L-E2J$}cw28;a|eORx&#Aq zqC`L8(|>IE9Qe3)munM<&%?=3e3Z-hIOc}NRUo}?5e3|q7N2-x4ma&PV%-`%6M!!i z4JvBZ9n4&Bg_s=R{t`*X!Ry@2G40A*gC>Eb6rc4E7W*^1xWl2hN*ADNeutaH?Bmtf z(QErhgU2LBs)A_}ig8B2)aig!cugr8AsoyU7cx}PSL*qBtnuz|7bXfYQS9fN)W?|Ewa2ghY`!~a=Qe2aYC!>Ax%l83fdX{{(>tp%` zrEL=gd~hpbI#pO4{}qU)%e9s*JWfOogRhiWC#S{!WxLPz;QSprQ>S;45%>f}xPOHO z#1>2{Ht6&{SNM?Lv2A|wO|jW=S}DfoQ@3d7NX9p)kl}g;2j8wfNzE*4yvlHAAR8!N z8k7^4_Fvp0#Br_%h>1h=EjQS$qB~=(e%y1jH*A{$#UMYZv45a@u z1oP8X!8~tTvs1ww5|iMU?zYri&-kMpX}D4(NWb_MbnF;R122G zz3y#0BNFmswb)qD`lFsY`S_jG6Efq=W^#+uE|$o_Ihr2%xxQ8f789R{)pAk$-o7W+*e{;EU^UCW@{rA!i&@DuZ~ zo2^2F1-|6N$z2!-CyGnBaB7DuHzY$g>Xm~&&(f*il&`YFxx5nbyqJELll#rzs5~A@ zxG`nYYD~GO=+cE-TJjJVZL2e+fjQuZGTW?e?5M58;efjOmH<&=@A2W-PdAXdpr(lC z2(TL2*!gkcCA?apcZ!0J@ZGp)SGgJBk#%KI>`O8^Y(`qkM{Vli5-SB&1dJt{1SQtVV5neTsURkk_T(u83z_QiM|6O~6!DjD#$74P?nrQc!ye@~E+!P3`{*B~-Hto3 z=By}8)L^M+>mA`qo;1i@FY%>;H0D2V`xY1cIn%&U?QeY5u@Nr#>l0A&SoEGxFaDJM6hUGo|_zCa$aSy4+Oj5%j zqh$BR2F91GkP-98)5Q;&vo*LESDo z)*MUM&v=L3j^CF9427ZbqHwc(z;=B#N;HZM{i`QNjV3}(T^-EpA1Jd!K$-n5=o;eY z8YCiRp1J$OYO%kz zJWYtXljz<$mXMCu6q2uTNd&91-bp7X`!hsuxiwW z0V>Xh8Ank`O^HRjaw&ejX8s!+K{1MN3_)la6W}F{p(%}zu*`wOd={}o7#>%|o3%GT zL2{!vrF@8g;EQLg1T?7|mMD*>`la6FWJTEivjafizw@la#IXl}@!~$&TRLnd}u(t=}Tjs0nyp1%@0=U4SQW2a7H^Er zo>^Me*dnsUyU(!sE9EgJrA4rEhb*Ya&&1I)D5Ygi$saa>`|7ZaEUWnsbyU`E7oXX3 zm7mdIn<65z`(NcWKN)QIneaK=YgTaQf=jg|k zQuLUpmdT8G94sRzem0K9no^&h^HN2x^ejAtMe{z$9UIFBUR=+=0bkL>o0T73&R$k( zpu)>F4PBz1v$KDjHi`J#j|PR|$hEo#w5<7>+dZoS?WxwVzCj0b3H@ zVnSyH!M@^VrzOxue??sdQ`R7@e9J+&6Lj@%Iea;_ZK#vo8Uq3$cXK7&&fx*QUN@bP zK*vMxfZ~a}r9{YQfsMQKVBRdxWn4Jfo?AIGp!kAL;IqWq=V3+T#|jAatrmxd*HQ6p z1qph}W9eUW3-;Etl$6iQy(C^l0W{dZr|-me1hPCoFB~ma369&FnU~ysRRn#RGoGg0 zJpl8wdoMZI+$qEP2Ta`{$?1&f6g%#SR+*NI<^`#w6bajRhF4D z)3(9w#+Q2x8Ym#fN!A5)K>!`m=LnU#042TRH*eU0UeJNp)-R>97nc#KUk3=KnXup{ zIu`E9mqR0Q#y(a$=TAG`C+~lwC69x{9SB$368wE(Ry(thA7Ea^RRi^c!#psO`CP_q#sefGgexS4LU?b zt~^%^F7Z~JHG1ta^{X}3-|!y&78?m6zNYc`>W0R309zjkh`c4O-^*Iaw~{DH4{&I+&_3izZC z+6myvC@EtE#K^z^XQqztuE+2E4Aj;CFqr@IB*MB%iq|9J3`#r@&@i-TjGu+MV&c2* z>^%9LQfomWUJng@TV};`$2YR9gkLI>P**R<(Kwlq9nDcA(4%8qlK4)L9!ephxD^3* z!Vv0U-K@jd%xCY$M@aF5r7yzy_VcH+SoR8~kM7%dm6G9ybtn7ul8L^SUS9IYBW(|G zqYdMI>W;LAzcmcTJ5IdHjn_ET7 zo6Wx;cIc+YNFu$N_h*iq-=JTo{yco4NFLzu@%SOWG;F2R*aE74JaLHl0rx9~_N9d- z4H06Z@dW(p(+XfnPAWZldt`*ePX0)S?SBKhE=#9RHA<7sv#e?g(l`|!NKXE8g2dWj zF*D>khFq$OmLEV8`n=|fNjX#c!_%;9b^K`B~4JOOnvzQwR* z#>HG@4Hm?*L+%zyu}f{Oe4(mKlyc;M@oaF|fl&zvP{n7#WZL5IzXJ)c8HnESpAC1| z2eKXVcJIHz1ZYF&{xON1wmYe6F<+E}fyPoqEMjNBYs@;oeTqY7ZN*(=h~t19=FdbM zYULj+ClifthG8PIk(7a_^?ol1CuH6nP)_hY|!vdXDSk_1sPK>Mc=?tw_!>0(yWh>VV((U*FT{!dTEtjwq zysQqPorv<42gG95s7+5BFQA1ku;2uL!LEgm_4o%^c;ghC-!;|6sRE&RjzK6QM{q6MtD?>kt4dfoOP}l`IGpzXvDrxHX6Y|;;PO7qQK}wyH!IUoqIWe(O^P8qW zAhRQg=Ts|LlZ)VzB#{oa*E{lJ%OMhFa-Lv8`9fZo-IIjwf| z0Ru-fyvntCL|)pd52)cTH7w*_wmw;(7f=3dUpvXwf8R$KE)h*xhcyDkw`YR!DoT{{ zlO`!q5doFDUg>=7U(_?Br8>4&HObbDa<(**OgU65U=Y{n@IZjn6C!* zp9UrgbrwG7mbahRTPn!4T^FbZ@BQ7iIuA9t*5Ix$O~2 z2PzI;oMPAY_HYgnYM<_5B?#mU9M^LDfbnM{!-RQwO;QOmm88E;L)XMZo5?lcKXPD? zA!krMJZ>SKF5O(V0eyIMiwfX};C$U>sL@OfdI_ViL1?%=!xuWLw z-%E=ZT)=Ns!3r`1T3XAO2TsQOH zs63UWX=Y*Jg>HP|lw;;j4=HkhmL^ysIY+#r&LjrtU+4!EMopmHD?g)=URQ#v7C|2rBq z8F_HMWERQC;)^(>{4!S^X3xiBQ>T=>JO3`SPFR}-?}mx$Iu(Oxs1)2rSGMH=58kN! zqa*RVEj&&Cknw9Ib}fba4IJ!~N7S#gD&*oyxm5KJTtf)pWi}QKCO=1W!bM_gYv#T` z+?YSY@1OY6kZ&@{*|K4%{V& zGi7A`){PwI{-5B-`dWrL853?R7HJ>mkYS}x5{|?U;KOYgf zaiVM?Bg^4jdq8RsW6>TQJfD^;;jIf?odL4 z3lAq*e%Fc+i#+Z0X8qIN^YwBUmCB!zSzDa6d_xsb7Wp{^)L4cs)Kz)DIFMqWz+ozN^qz~M5)K-B+n$G$w+zC>}%CVz~sB?9~<}N`* z@2zcZ)Yexa_u5Pe|p%(P|s1>6;|ICY7Ah6?|JYc?Q)9G+%qCpKy1DSY7txm?|5$q$Ek*r2d z&<_#ql7DE3!g6VDTg0Bjr-2zbxe*5(oih*pxumUpZE$>fe-B0I`t*N-xNDgDIz{Z* z2%oQE*%;{Hl+Tpi1T<5g%K0dStcjXr+T_oyl194H0w{*!7T=4q@Y4w^lGI3cy0%U7 zn6DCJvGurPyew9ex_Gt<^ids@qPjoVbCFA5z`Ko623o*g2Mm7Hrl``H8X=Bk9;NNS~Ov!!;uRmKSoWgR zgddO7OlUbS^}r7^Fs}=h53_*BY}TXZxs;I1s+3*T6_Jbr7!IKLlqzQITS9Pidaq=)$66==5Guyud&{aA@1DA83Zi+GjKLzWY?i5{XX#cl?*Um zZ)g-4@aDh+0rehskS4~Qp#Uw|cZmQekoNc<)ValUx(BH2YT~~>k4e5g1om`0zchrl z-#$x{0A9R8{C-ihVMddaWHh^+>gRT&=$W7_jeav8Ba%-M3sp|x&df#d?-F;yo6cTG znn|z=iO+61M_}xv80V=UEN$WMl(pDnZ9xnm_@{hn_lAyEZ|Y%Uv#5?#OOI>yzL8;= zkYUgr%zkh=atZ#{J)`h1J#hzRh_ZQFB$p|5I^;1iMaJkjo)oM^iXNY{s;y!>u^Gu7 zzp>QfNoM?>LXa9R6s7-ELJp(4#!Z#x-#&JkQ2F`zFR8a2vQw?A2k*_2rm?R?y{q+@ z{{fvqV!x&d2ajHia#3P2E3haQF^`yZwTLj3&d#T9iN{FT8A|BpqEDWyb%u5)L%Z8W zr`JQ)ZZ*L0-03ZxJH3hL?Ze`0uI$a9cX6jALXhJ`vHI>n7*aiM-S5T*yWMVgV`HNa z;75t*7oJoAC?c-{@Vlo^pWb5T`r*LOIwnVLUmEhh;}#q8UiZvnIJkceby;G3_8iQj zv=@}0gDZ(vE_Fyo^oo;ENYFcyBMk$iltm_sFI@QVx-|HY>iiSD8Z#S};ODbaoMOH>G7! zG*q*)EAg|e#&)u0T?L z$pfH>yb!>jZf)4{v$mcesxxD10q2lMSICgZW4ZU)r= zzfkO8hA2P!Fxo)bf#P0npcB$mC+oxJUu3CMpyBnl+)J8NnPWvIX;+iz&(i1-O)QZ@ zw7kSZb{Z}4(rKcG6@2_o99UqiN=g7kQ`ff7*%+)1hWO2Ixe^K$^7-T2viZ9IaSpeg zcmOKX(5*H|XR*~SVY8AH63}1<>?*F(=<%iG1|U1?=t(}*T{E^StP{|Tk6Wow)`%iJ z2nq{~yT8_MCb7^?ad{k8MNME1DHLwppo31(%?L&+Xg9__Ed@cJ<4kVEUUoyI!i-{n zZK~wvvKz>y*J;%Ix#8|<&Y5duoep}#0s5mMbjvc%>3E8V9yo)2GOJ&4ygPr@HG}yw z5c;v9fgvVgv6m+827)4jwY9a;U@-VFfNvtA%`aI1bnR_7kH_PV8%*@5z|XMF_pvc} z<0q!W51!8Y&$;1Jw6w*LJUHXiToHNSfr^Q{L%{!b|l)owQckeQd5-_o%RVJxw9WFc`1H7XpbJbG+(;+bHJenv9Z2^_Lku_8(dx7T z0Q0=S$$KBf@lH{`@`~>KCC7RTpCe3rmczf3ribMsNvc0(W}g?l2f*Kdyn2eWza{v! z0sPK%I_(ujk$ag-1N@xGvf-*s)`!kn!;>)Mmv5d9KRWL8pZA<&AYp8tI)l2Z0XR!| zAL7vRou5N&<%a2JZU%`9>7=evlg2-M=6<~B_!=HMxAnM#U%p^F zOo^fn(lZ-)(e^IRBUsWqrnx*1Fm&GDuboA(#!~}(v*`gN3N;Ii2#iUJT#deASJZI1 z;PV@%k*o4cBD0~!`=z(_g315b{Yl^I3sTw}auv8hV2+jz9A8!R)|L zGoVE&zyH>1jmQEW5s4zQX(a2>DOzjt+E%SK@;sjcI5r#(KO`bw^?39X|7~@EKR27r zo}K6UWND~)1N_nnS8gD1E_{m*RDR z)O0XG7l4~odki0HO22>=w4 zZz+o6yC;*$cvq2g0)8R%T>?L241W3J)8Qxce(#2BkD@9{Y@IoW==Nb6?is@AC`XE6 zs~7$HDPEEcI`VlH2{to{$$_&;cYUQc8Lks6phQOCos}KPN+Qva<)Jzf^@nLOBy=~> zt_QRcs*}>79kWX$m}oYV{9aS0l+{JT3a7cQ?Zs>im^ygs7ITVW5}|~=p@<11G)34>a}jYs=s{OSJtWr_ zRCNZp>$zd1OQDt>{4Kp+k&@>?+-zhwmm1C_mJKI>N+^p0XC9cN+wWn0|2|xF^dL6& zuj9A>=KkS>`L_PH>jwG$fv^@W$~oq^aW_yZ8oMroV9LB_vsn&ceKZ=qUqoK=STaHN zMS|a@0Nyy8&6bS~mc!l#_z5?`?^ixP9e!-P)4%SSM^Vlf0sKr|xw~ze^OLCOQd!XN zi7$>&76yLDypE2e9zD2tv2U0wOTp#W_ljD_lxRS}T)Fl!Zn(+7^>oH=fEd-X8!ai` zIxCS>z}vX{&Dg509g#>eLYO0Ig7_20U2gS&4O83VS7J1{RmdFkI(}BtKkNalWvrlaZvni-9ONS(0nF+ZE^i4O6#3&avALVYk-^K}Gwu z;9hM*Q}Tjor2*0o_;ip*&L(YY2(W4j^pNXz4w}To!kGuJLlcn7^+Q8>_yuMb8?8;H;UPt zhf+#XV`K+{v&m$#0pNYE?(lcR0G(mtZ%n7ttgh=^M34?9Pr(nNuh$hkObmN}?UVWN z!&~kCbFM#zaz4lS)LAD4c73i(!e)E0r6Fb&H@?s&jVTWJaYA5eR28LpK|!VBzwmj? zCWcf_L~Zkl?imSg*#;o(0M|s#Ae)`(Azx)qhkHAQD?)%lGr654etc8Cm}u(+Nvq8& zGF(Yp-55p`uG&Asx4-BRHYd}^-00v!+t%E6ohaw;&&*I{O$jK?%Z4_#rWn~zaf`=6 zB@COwd9)Q;L1n~NYJGJ#B;e6JUcOK!05rl)FId)#7w^`Q|Et7If)vErjFC^5uqH^zK>f;|@h!}mBQIR3i`fnPhD&0gs9ereGoR3Dc_&dXAl z|Ni+||4&Y!|H9`TLtT{EKC@*N^2UaKu_~B|TT{6MCBApQ?=|S6B*|$cCJQcXAaZ)V zw33_DBck7)&!R8{Ei?yZV%NWiDqm93m7vH^@;cINeUqiKP6$z4PS20B^llB37NtcX zWRgg-c2!@tvo6|0y#8f}QP(Br#S=H;5&+K5>_8!Q`M#jLYjkzQW0dwehkR%Q6cghC z0V*S?oE8tk+(NudNu!mGl5@&QcZX*q!7V#YYa|K+Vv5WW02vNS0#Z(9!afb7mZrij zRf{R@Q+EJMv~=A$_9M-Tb?pbhvqZNU|3*$rX|Ed-rXJert8zJX<$#Z(b(bKl6T8&@ zfA-!y&a$(v6aGHWIp?mmbyZhY?|XMb_Jt6(1Z0aWLL`EKFeoxABfg`r`!eIa^XfP< zg9@mKI_M}0ZU`eHD&PnV5VAoQ64Lu#%dJ~?zxOQ9^Lzhz)^n>m>8`2{;q!9*lnI^c zs(a5p=XZX;-*?kS9+KIBC$mfSd|-!6UCG*&NhvUY`aH&_CNQ>X9EYwui2wEY$!aTZ zvUlD*+M$4$8HstII!Wb+!5EPw&I5ZHaOF0`{GA|UY+ton{U{N=e7!uu@DjVf?EwBu zzu)h#26~vhRm1I3Xs%>&aEIJM`?9OuqQ&kZ*``g zR+IcjdZQwgn>DdK0h__?tFa20<41d%>=DSkC6)BdfZgNO^T}kMWf#lo!i5Al1US=c z6z1&?d1xhhfR6Xn^j5}=LygDNG*_&3vWAWI%*8^0(5^2d=?^eDJB;QkO)9G*_gs=1Sx!3Uf8 zo-50}o#O=&0>q*2&r2zS?RL8j;LSwz0AuX^mz@YrL@$ry_-`AHM#Jp;^axD;-j9fK zh_C7VgcNx1J)O~0g_-j9E#p|8TSS@)i~5-zkd&DQFZ5#CjFY;@L#Uucx7 z*I%_0^|=KkajF-?+}n%6>KN@3*f?lNX`e&njhITyDZIxiInLCGIIsbE)Dg5@}hzn{4vM3%9ozKlIMiNRyPIkt+M?0KvF=YsWLo3gkN~! zF5GeT1m>2OFUsEjb4UBQeSdkwieDxPZ~V*ipk5t8p#UBh5JZuBuVJJ_{3LT^^GpIs zCXtZ?DvS({vDNMD^XJEO<3b_gp2~)#LZl@RasBiNe(bg_c-Fo#!%0JuWr!1H2%BXh z$CKooBM3O6AVjecqF5-{zxTz%4gAtSp2A`;27^$=-H@JnphnD9d<323&N#Yw#Cs`n zgn09Cm81ZYw_ZDiH$7_>TgD6anuwDGahf5^GHZ!tBxzv~APNH%q6ndWuqK(r#~xV3 zyT7!6M5M}U-!M1=qdsBq9bN1e#_$78AvYO>-mco*JIu>m+A7%Dtj5i}D`sZ=VDjg2({+`t&CU#=1O2mAg0zBrCsPd56R56yud z0-rxUDE|EkQGL#>+tI2w5f5U`3FCR5D|tjveIZDj%Ms{6Y;RZWUr1)ekYqnB)p-d| z+USa(y~s>q(T=31?KeR@1a2?V+!A}pQ_kdvxUMlDw`lzMup)?B+Zmah5zl$rjYe$P z1lcR9WGNhw5&|J^+r0^|xNbA%mzFMS^gXn5QJQP-+FDax2gba~b5JQql zq(a(gPv^pu_nv#g=e6Gr>3u>4J9=lLaC@klUZW@YaU9DrLW+x#f;cp*bs=WCc)}0xNq+|qx z4*TP<%6|6+LXIpw7!3MB5KLC9)eiu8-G+C7L{tTEv|g`=#@61i%>L+W_kNo0A~JzY z3cTvC>N7XruookR5X*}-Rcx$|(|>?V=dw(IuoMYqm%bpDM`}HtEcu-P%lozEA|vf` zeb^7xA5T2TXQLyYNV8z@jz5Sl)LY>@6Iz&1ronv`#yc|GEZvUcpek24k zAuw7Q#hN3{GwyFwWo8yhc`Ny2iaJKK)%oag(Qj)gpLzYl(`TivmJ3Y$hN8u6tS$mSmfcM+-D)BGRu$x&<_JC1SA24LIv-- zV-J4i&b=6~gs3;$IJ2;bPOrZq@3YhE<9w}#v2uX_`pTUEixkKrWbSivsp-hSPao{i z87(9-kVqkkW7|jtAA0>hyy@00$b`W8+7cF*8%WZ0U9Ve8iRD%sbG0RG8ISPm-?;+_ zO77h0*H1pdUpf;x8seQ|h|g(|W^)fZgIPTxG}~w{)-k(d2KV(w%J03mJu1~hoJpxX zG!4VSfgkYiS@K=7`~7|ozZ zC01-`R9Dw3*yp{vi3kSi!RhQ`5|6TFkq@s=#aD-UhP z?N>~o*0?yMgG>_s{NXNGRKj>^V-et9stXesQc38hgib1uWMU|jcW8%ablvvakU1A0 zd;O8qa=YRoG!HTZ5yQ5z5&ZcZ58#zIOrsyiIJZzktJ}p!A895qzf{LFwpH<_Yo;Jc zvlt{CpD@4cv5Fu=9V01pNR=+&EW%B*WB9W-AH>z$N6_qaaelFeI7v73wZ}<{`C1*< z?Hs|It{ewJ8_L>rJF?0uSnab4EpzsBWTRj)yrzPezfIo%CPI6;iB@eH+xKq87nY*( z2fo@FQ49uE1Pw=1-)9y99#)Ak#*n6I+U<4&0Pow#4)BM2z21lrYC*#C3DvgqGI<_E zj_fQ+;_r_R%2yoN1`(@Z^1O{aa~Fr+7bs&%STZRL;Ne-jJ1{_fKvI&mS2x|4e^W{G z;pD92*~+ooqHJV47U<+PvJxgEvvcw}qdLil^|0Kuvm$^;^R}2lzVsJza$=qvo$V3m zQCtd;*0u^_m>I3&oiE&udb5Qj%`U17_&>*bICA<74onpFu5{x%z;;4NvJAacVvrGp zwXhFu*JeL|tEV3F=+kJf9fQ5@kVt~E)H$_iCV+}V4RGzuIR5M{SKx}RBd9l9n5)&1 zX4!_mNB=9$GAu4P@TOa4Ks?gdmDbZrY0odb3>a0YrT(5w?YKn-$wIt%&nCS84F@n; z4KY`%quy*;YS~7A#c7Jg{%czX$mUYdz3r{lcl2R2~Po#%xaE(WsiA~`vFz1 zBUJZ8YpIT2vxPlZ?7}~sl9i7=-Yc6Gn)JAjZtN8vaUA3q#BR6SjpO(gMD&_<7eI~t z{)FHC8AL4K{UL8@uTRWpjt@#-ZAGQosZq4+O&c%B5a?@L%Yh_;G6^Bn4J|X_{@gw+ z$!o)vwh_cYlG)H4`!l_kT?qZ>6Zjpmd449(+~4WCaiFmf@U zmLx1CBtqP}briq<#sk7sX`>pl8|7_(y>&zv3cvRVQS0D0Gdaq7{A2}OKLJj@+@+)|Hg8{~hgqQ6sLkO)R5;AvP+w0bRPUJoC?ft5E zb*6(8@CfJXUXod+_0Nj5-dJ2l7AM$qXgB`g!NKUGwK(*Pp!8Qi#$1c6^&a`4;$Sf7 z0eBA)mDbwD9VFrjy~Vv8hLRmO|~uK6xxIA3CrNt@<)Dy`zyb(m|Cto3_)5(YBi(f>9%H6+ zcNrwO3%1ePU(%NL=I=<;nXIgP-fQ3<^PcDTDd74d5w7#hJ$03=OiJ~dg%A*k@P=z= zaMSKlEH*A)8u?F;_c1?z9=uq>w(-J-BESI9jw$yZq`6kixst+-O^m5-SASNDxUM2I z5rnzV&yHNVeX}+K0LQboj^RD8KY&WaaBgu4gE+xcc{JJ`y!hZ4Bn$LzHnBWcf_^9y z^!4f1JVXS60594zf&cVfdjJwRx43j!;|hk4&2(};<3u~@d(w~#Po=ssK z`dnm|x!pI@(+r%j)c$?lAqpW-JG+1=3b1|eR{Y)JL0Jc*X%U6A=)UFc4($U?!w|=D z((Co60sQ!S3*bAAKxRw7SewfidaKuMJ%M>5qc zeey7M^4_PvsL!-w#cOXoVzv8k-i}N=#}K5FbLl-7NI(MEJz2%uZ`+E+b}9u_cNpgc)K*R02|3vsi3k{KX@5#*)oD( zyK^r{rZ~S?Q&Z7X_}Y^+#s19&_3)7?AX9t3$;(u>DX-AxB$4TGGQSL{ zhZg_{k)n2P4wIWV;l56({K2nvtLh=CU1Oy5J3(Wr>S>YPD69dIpC_W3H5EW2x;D$Q z=cH+xaAi-EtFpssPPt$q0zP#-Dev381+ArJM#keRgS+p-&^ z?^ML{_?0vgM6Nqqv!-xsC0|IT?rHb;lR<*z`5Jca+m4SN%c>79B#|zBHcG<-KWv_8 z5Ckf-Sl22krReo~0f1jvYX|uD!C=t$XKUO2dAmOY>HEOPXOH(wokBG%azYxXIjbp0 z{cx@oIV&V>F=VW{ebm*FmC0ctzG3L9=O4mPeNHJRPfuc-HWM_0OuEL z$e!ZPY51!gk+YK5CZ*7T2R!zJu`LS=6}@k_sRZMF8F$$ML|cwv?ltcw8c*&oz6%e>jnpcki4=yV0_pj&Dn3 zc67E&^7eZ^w~suk2-A+SFq;JF_DQNRikz6-QY5?-u^f`<$<~;sx-iNETL_13?)@>_ zkH~}*=CdHQuG1@>i~|d7Si{U9&=-cXCsO~LTYDpbzyigzmze-DAd?K&Z5hKGZ{32$ z`tl_i9em`WK18pnnf)A$MHnrzjqd>a!bMbi=iQ>UzAVtnAw8;#0j4~;BKgEfQ&@Nb z|MiaTIJBjV^H1^4>_Uf1g=HGu74DjXv5XSRl!GJ?6!B{>-GM_}D>z@PeN#*;{3A&- zY_5b}k<(#YzKN{8_cbF!2uGEH11^0fm&?fEo_~nG7ddkjNifvU*DyXYiU+%;;$M8d zSFxt9dTR4WVc%cKpHcx(x7*DC{LH0xfG1) zBk2#UTQdXK?J&2zI-v05XsLb-Fe!ekIzul)ws zNN}cqJ|FsdhF_dXz z($2=AL(jn-0&JX@{dI&83h^aU=zW^1@lgm!$?&~bZ^j+hOKVM^`puYMsw2z3`Nf-vFjio8d{++AhP~iQhB7QMO**$Dzs$0{fh}p1 zR!aDPnHr=YY$D6BJYU0(JzMc7j|@g)A&sF5GhUaDJL}6I^Ic%C*Xsdz z2N7+)(ED9Y3;cRxc#zlp=DR&MI=n8>PgsL)XNj*MCQEqA zA(Gl`*M+Kh-|ZACtvqqmtL{Mkc2$bM7lsu=@# zh=ZFV%a7Zz4v2u|L83o%0U~Yn&baD+41=G0%X00-$4q{T|9LRa8JxkY74}SyO5>)|O<-O}bj#7&n|m7(h$H&nY&ZduG44W2}sycYNh^fJ>7E z$k1zdQ5_$}<}FkB(}&vCAG~3t!z71bf`u#~a?afhL}WtXnGHZz3gTX`Cn}Z7j{x|U zC+z@gUx~P z>bA_UsO@Lq7z@6jz+Y`Uxjy$E>U!ETd}6@U`n&s)7{l_y5@xnf<6}p&O1&pId84r3 z1sdmTr@CS^)CK;i<~2X*2z+~*rX?bh=H{|?R~mNC%fFo6{bx_c#VuPlVbJb4YjbNY z?rqQP@-yGE=DyEEK88I&E_~Bd4pcC*8ygw~tP*CuN|DTUqyC2}y}IUAWgpaF$X)cd zYWq7+vsWRRb9uJ*@7j0G+FTietRzfSD){M_?!t1bg+ZKLyeeZL@E4B`AOHWk5g4mPo7ul2ixwK*TFv@pFG66Y9NTY1R+FES5YEJexkkt*sSWu+=H&@tYDNl5rew0`QuPDS$6ek|gnd01fX4E+DLC|8goRZJilMzteXi zDT2I|c^%zn;w(K@Kcw3aS?Y&xAOMdtBZp}f=0T)kca0j6zi=JeL76XUyHe>48N4n} z{pJ7|qUw-O)iJwD^O_7zgS?;{y}z@W5!SX`?MX~WXg$_6Z9?rz1Z0{)Ai^)bcn2y4 zLcQ6#v@YS%J{rws?NS^%dnO)YqPVdpsA>dcdcR4Y2-}=5F%)XVRwzBlS9WB22WqH5 zk}zGZ;O)0<$NW-#&2*Pk5Z?2}Hrn$iAmbh=?%{A_V*rQ~^$e7yx$BM*X*!6&c)5aq zd)qcFEY%^_*nM{siTB^vf#^20$!r0X4Di5WjDEVlb;gn9#1=9CTDAAHz5lqo7tD3- zCF{Yz*R2xDQN_sYx6Op;{Wo)8wQ5aF%}nBd9m^{1STZ@(1v+B1%SRdB1r7#-K7hAf z%ntC*mE$k7uGqHA(N)-hAM@RepBaSFEF^kf0vppd^cLY8wmvu57}F0NEwDC*i}`2> zvs2-@{0{R>VcHhonx0znGIFjPEC?J5=~-r3M`+WgGv-3k$$8sZ;l158YWj}(ojQ*- zAL#B`Uvb#qMLHSGA%x@^oJyx^;RU?zni)Lzz!*-Ro4cgZ_k2s>6UPRiehVxNZNQC` zgn?ujD{(vKZ`9GxJPoImV4R$bN1kw*4w+f2PE>sneVG_C65M9OFSD25IGc^Y4TwPU9-&);bTY6~`Xptt6lCX1P1n+p^b}ZDF zFB$3li--D1J4;}SEDCUrSTgi76*4qh+IR{~oM~S>6R=HYJRzmpFxFLm0G3GY`Eyoe znwlgX&El4AV|dxMlc?1j>v(;H4?og@>@0zW`ZJG;7%#1#5MJ*J+&kX|Wr_a0rQIb< zlDKkn72kE^G!~cF{`z|f;bTW)h<;Ob^r8C#n02dO%WrDM%Hv3gERyo{;YNqqRRq?!uClXZcf zW4*5qi2=OniALb(CrRQfKUTG#$?a(LAAe;oD^5*R5%&g8xgeY`o(bv}k{r#1e8&?8 zLSXlQX1}Na7V`E5f#w715OM4I7eElRyhP*0M__r^X`>+?B3b8buB6fjTb-k!x@eKN zHDl0wQ4+$A!$#GhUMKfPcxJ=f&FeOtChHrh-@6o~UxTI&6sq{;m+b(F7_Cbb^*?kj z#oectfph=_ArcDEO@TxjrcQ*h;>J@cc1{-XvoG9>XYAMx3d*XBHCFA`VTa{E2k#s^ zS1f%EWXkkGvJmfh{#GnETk8UD?l~1>VY#W(c0wQs!J;B|j;|j<{o?TfDDEjanfE?O zNPrjcqtDxhcBhSO9h9BBPYlpluBqFXhhRLiqE4hEV>UNWieWOWH#JpuD^R3{W@Y!emTQ570 z5N++W^B|$eY#Bmc`EbDEkV3=*JccRFt8<`MAIWlo)*j!;1oHSfzj-1n%Ta2e1J<2x z*ptfnC^-pBdHJE6Hsi`|70fMO+Oj_tgbzL310_93#?ecGSTYsp4HslRQox3TATy&8 zzW=su_~;K^h2MDfAyg~lZjvzMF>g|^4_WU#d5l^MYTdeh95?P!_Ezh8egAM|0E*jS zL8Lk;jfig_i`EVP{LSMrDCt|zMwro&aa=Vsf#)3>!&0NUuHW;8Q!ywVfQNx5-s>(Z z2r*eMV6+sh`DcISYyxBhPoUuK+H;?c3YPK(27V?td0;1Whe)vn)#i+%#;Mnk#_%oATsmj|{yU`uo-SESj7cLEP&N z&P?Hnvu>UUQbFw+UT!Z8H!dM>q;M;q

Y&fGbWIdOOn68A=Z!}XIwKoG}uTgLI0=WfB=;!-Z8=b~sYM+Z2uxQsy@qn~lL zgJJF=!Wb}J3N!<2gGb;b!E&<&DI{KT!!$l{*FLbQ>{*!^C5;?%frc}{Fy~R5gd!;7 z9k*@6(sFZMukCzO;Gu<{`b@Mt}!F@Bp=D!+Y>*P=F*@P{fZue+!ze z_PX|r%RPyE76xiv!1Zg_Obs3t@uEE=YgUsq`V#ld^=-PFDt^*tI@|S2-L&HF zCl3HyX{v7Y(PYn&Z2^rTh=&wsX@(%+c(ln1bL})BSnEBD2>a>~Ly7T=paw%;v!VcM z{@+1U03H1$Pd&*MLERZXRLcsJ6C+4`A}1lASg+p@^Sd$A^>Kz3r_T3Rz=iX8$-7aA z@*SU_qUMJa*{6#c)hR!g=f3wsh1`E{G#qWntz&Uc_ndo|ZqI4L?~I(txB?f7W&G01 zccI(uqSNbLnhtj$@u5fh=(JnN!1Z1;a9U)>0UlxBWa+Y)gvLpV`K3CJoH~t#r8;ij zJBGJiH>n;N=6uKtC%josr*TLo!nHG_xM5cntxjiMukCB+63C?IoWAww$ifI)#@0>= znr~(J8i%Unij+J+w|Ovz*ewBEGU?}*T{8$hT&l3teO`oy{1Y{jC^GmNQ6$Kg~`nm z`0Odw1!AZv%Lj?sNzo=MX@<+4t95|;gb;j1^R~+PtDG6g`mlYYF2ZubLrZNwfc}1K zDC&u$rF7%0bOlLjXIx(tY{OT~&Q0e9Seclld~;@9D>Bn;yQhqlp6fFlfqIDkVgklt zmi5NjSBM-d+l1GcouE-Px~G}&#(tKke^?5Tem~YdSU~aue&+UV*g76!e(92v{_wXC zc2KJ?>1D8zyeS%zCZB43_0F-vW!Ik8n=PDMSj4MumP$tU73T8&u1|Fn>@LON(V9;9fT!K8e@UV!t+&G0stF>;F z`AA)YlEKiFBf$z)Ja^Y5uH9Z*^LzNj;XWwt+ALts7`TZg^{;t-e?hx^yR{IrhN;F0 zTe-)O_jlF({K7ucuON&xUCdui8{jVpm%})T_ru`0b z1@Jl{L@xAb<$jEY0(pQ$0LPjXh1>xQLXSC0DWX9FYiOw}6%U3?L&>v$4;>N=2V_WP z0qYbQ3^qzq`o@gR$at7XKXNgC;M_iChhO%G?&-(kMu>=o7Ym#c{De7lv^8@={ zqwZiibcChFrbe;7g++C#un|B(9%aKP^paJ_A4hY83bBE z&q)dQ*HRD(upm;OIb%Rn!gIEj^~3kl4oSfKztq9Q=W2jR6cQVRmLWg{1jQ;|^o&ht zu0ye6j)xag$aLW3ky#2Bm9S-M3cvE2eQ0;q_B;ON@Bn9*mn|7z8KCNG#@q|mz*l(B zEU6n3&wt(*VG&!#u#}`jMB;TVd^cC?{L9kb$Qpk@m^Af+lEXg3Phpg&DhDaJ#f2OxhkP(*Z{; z#D99(4ivb+(i(VT_nwMz_vvLI8>k(Z@3tbD1B*0uXyP&$p=9^cn#MW4bGQTCBc(OC%K;!3h#1=c z0fbX65tIu7C`~-I!!USCd4R&pNM+V1%mWoxEX5sQVk7zNnbgEbol0kShf*p4&P?^W zka6TR!Pb(HhuXnKKYgtB*;}rX^C^TBKrm#e;GJk17EhY)Qwoc&!5VuC2o~Y(&)kX| zc8%iL=`)wy?Zg@3gAepTamSg5jR#)S!;ENv+ZX}n0iv7{9$1hC;Z3AM3dT9hyTmY};d?Pn(-gps!v%0N z5hece(0B;|id8*K!yo|Xx)c`10#IUWQ~qLJO+f9x$)O58teto0vtg!iTjZ>;T4ZWJ zV2v~NiIS=SG5~_Kvod)+Gg6MloEgd{)3J?Cwq{HTa-*`L2G}t@Z>#`c+U8Ssw5^w4 z{Ompv9M^B1!1q6Y8_q8-uF2Q#Q;)?svs72(QCRe0bj`pQ&L~2vM7yyfd&)Y%PE0t{ zNpx2i*k^((gepUW*~PekL0Pvy zRUP25S^}94)T+d+5`@tDWTvEWaQ6Qs1sE^ldHYAv?l#u_Ix`6zX{Mk|fJK2tI&H@Z zrlehIABTG_962A^9hhP_q(G+gdxHQxEUJQGC`Q`v(B%7q2#go;f`emdciS6sp2w;Y zqL8CE7@*zhqS0!vSrPNV=@h?ycMs4L1LMxE+^4UR%^L?vC;NW1MRqkJJ2`0nG0JB?;}FC*7FI1Fb3KLmWQ`I+)iaO`tUNO)be9%Ls(H zZl;RY-#CSv_l{$ta^aEY2LT+N@8Ny_`z-E0(?Fmp8jP#mnbaebl~(H$D$-aNLBGZI ziy%NERoTV*#!!y8!hSeXWDsEq|M4Z;F+CFC*y*J;UCbYOpo8AhS+KAOL`+d>KZrweE` zHwI|x_4;`1$gyBjNiJq3(;Btm{e>5#(}T^(z`!n(m{-=qGx?K1;Sz#zxwJu z81%b1bFP6>v4DxuQQWk59PfJ7Zv5~^kAO?{cbIg0bfdX<9VNFQh$F@sz%bDF7lD|D zN~JarW(=i5gd+_RN-05sk(WxwIJ0R!tF5CLV-P}QQ4~D~z^6k1ljK2xR#fbnb`BFB zrIhHWk|o4h4n_1^TT7&*oY$8hf|LU~tbEQVQL-UBc};zRv%OcZQvn=;MR>-{D1Pkr zZMbpInA?vf3Hou2BuSNgh6tQ<6ru>#avA$)D|q+o4&c}R{scbpcnx8iD9Kn58ik>Y z^^}=?xgt$$&V?DPm9vG*9flAP$UJ{jO#l@Ff=776bzAVlXH4SQ=`(9W2@fx%INkwn zziK}=RU%B30!&mwjFke6mO_k|LyT8KY^sD9Er*z>Ms|cceB#toQvB*YiGMzmDuc@b*w-nH`3g zM?Au>zH}${Y%bvFDRs@pNrGm(gVAag&%a_8*UyaL!MTQYTW3MIV)yQig>L7kb;e8^ zg0L_gT9cWSISI~yQ%xD>*eQM(8JWIiPrt8VU3T$Fx0{`OqW@yFOKKML_lV1~ehddotnY zc3)^L3IpKEsWRUA;vG1@P(y#PHYeW$(;@!m?N?x=Qn>`~8X?Ovo11&NkAHk@fI+9} zKmwDK!IEKM)bnY!c|EY!eFP_QmYx#DC$ z6LJ|jJi?o=o5ibdp23OJXIFR`wmKc0pXa!FTNPhBSI+?_q?;pkuRCWMx05G(u8oC? zp>3@&VbO}I6D=7^=?L}ysxEJ~toDHB^-9%g>^B8)o6(B+q(P#bf9r})urZLl5CvA- zX*!@GW9A%HBtJ%*BBJFsR*?|^s~91;-J?@jt_!om>OY^@;8THn;d*NF+A{CXdMc{oAV zR;V=#iy8&@%plkhCzP0-Xh>ur7T~sBoA5KQ*n@@I(gky4lg6kbLG&P9qp5CIR zWOjXS+H=UOHagMN8+D2`V?)#HvVMX>v4Hum2zErFKu$I1NYQ2w=qC*B{0LL#( zT^ORm__PZ_j0b@$dTgj;^V?{`g`HTehLG||k=PW zf?9nUbG4;4J#mQ$r_P_;5;vG64F%p)~z)&TARQRXAM zgq%sfrn=aNA%mTyz{ovptREpmnj|O`BP{fZZyS@spHz9kS4_0I2}l*dNmBqPX_Y(B z1|WIG$e*AP{7l z0N@xK8O85^?*U9y7#8Nb*r@&~$)t7*HW8`Jl6~#NS$gDb9_k`!U`lD}PuApC>$zQn zpjSsh3GaUSE^vyUlKo#M2#?HV`25KXpP$Q+wp8I`fGT)AR3J@YwBdm>P&J;E&?W>V z96-TC%#M!WgKs*BnXwQ@PM&(w43kIaGxP^NH}&Og?R++e-ZSb4jg_ti%z{l;0AaMX zdMsv4>4yW(u^ba0ZqD+38(CWOP_sjv^T`kZXX?lchrLB;-d%xtfb~$egRk^31Y#fg z@zCA;;qPYx#TW85!a_P59gX&W|1-DY*8LMWe)`OY6+hDjc6zj?R@ z8Z^P8q8_~>Z9u@iZc0Big&G;7(kR~l+CA7eQ^Jvxr?HWx!!G2pip?1}h8Q6{hISr- z)ZMEJc6Y`ZCSO{Oiv&a^{MsuH;N>^Y;E}^eFYAc=*nEZu&ZYRmIe|v22^n`lBDS5j z1v-pxph3WS=;@*LttSnam0J$!?AR#&`1=lF_vR9go;r;*eR6{S|301oN#E;iG^f*K z!AOO?=a5~I>GLQ7p^ z-#)&1$G@Hx5WQt^(|vfV8Hc7z7Y0uRUL3*uU$YC(+&6|}r_LZwk_~-LrBIWVho8Az zYchRZIaYC|ws(|tTsC3souuuUe)%PPao4l9;M~IEniJnv9pNQ#d?~}>MS+JFGkmo! z5qF!AaaWlbFg0SbFj6{aQ~0zL%^9b{^AXeq$$TDQfR?!J-ZYBed&5EOo-X0|=`$F_ zPtH;}-xB!TnZ6?0>!2nADKuU05}Dr|8Dj;nX!#lm`@P(gbZRP-A;h&4;=Uf3R#Alv z|8MVmra}N~svy+}Br*vUcz!#k_bPd*%kWT5E1$+px4A}$qEp~VM^+LfD9b>sfFFOs zHuQTP)EmujSDUBd5gKlt*)s)3dPeRVF#>uJSaAgJd(}=n|H@4`dFC8Cz23&ZrT{i* zoe_ZK!b2gd4U@;Jt4=h|QxB zj-9&r_0mTl9w>exXSv2kolmtBBuFsw9H#xiGwUm8J`bklk#L5}7En=tBNoIw%))ok zA4N%WMc>nXyZckqS8@X`bM=tJ7LR=^Gg6C+YA7l^ctP>!ooF*3u45!juxY zcKaA^**l8Ij~)MZrFohjoYa`eS$^LH9bDxn4Ti;0y!TZ*@S>|Har)dGnj7Hyvf43P z^z6?xy@KmtdL_vcnwrQ~+l#1TDVd9f6&aYmMhnF;yyrE$@#1SXV_~U|`P$Nkzka4) ztL!zM_Lzq{k0=D^p=ZUVfku7)jqQ}Pwldw6$!XCtNfzO|u9(Iz-?<;<0=uN*_t<=f ze>vU+B|Wf0SyNd8I{`4w`DEmP7PHo3R%%RE459X|p4NV-e%MT*0IO0=R^tM$azr73 zWj<{GaxoWF1j;fA@JNjoI!Rth+SFhz?NXBG=`wyJ$Xrm0%@H;yLn_j-;rvM+;rpIB zgZahUx>@nxJ}zek)O@+Xj9p&0FEcH(;wYCZ`2E-J#x48Dab|9QU3|zVJEliNn`CBr zfZXdmIJbq4S#q`!?;9&I;W-y8+qapKDt_nn`*Hp5F`QqhVPR?Mvb_GyV`W$P^q33I zRj^YSIk#`F&3(1805MN?=64#_JVcMaL4==q!4CYu?K_ZV8IGJdebH-(BqRL6{e4i{ zS4gv!2r{p$=5DRvSk7KohgGowi#M2z;V{(2T@}@V$a(Xxs$TOo!9zzS1aOL7;J-d$ z0W2_?WdfiGVA>toWcxA>$)t|7bY`Y%k?BQMuCkU^uEhkIkye$s4B|~=Rot|zg5xI_ zzFlP2a1a5#l+aIs&DG221T$U=a5jvzCfw|ajn|)YW8SrC1i$+|dvIWD6=%-Rt;zrJ zk_yO(F)L8{yc|QaEI@Pn*a~ks%kPs?tzx7EScGTqoWOs(YaeDNikJO8jF-4}AXml( z(1pg3m@O~S@D+`m)hVBqL5J2glZhQ*A$DyV!Mk3w7dP!4N2k}r$q$zVaK6G^V%W?s}J3t&Od z$hvRCMM3wY1x6%=C38aufLo&i0=Ra3R@zF>%F2)y4XQKL8InP6q_&vXmQk-fIErSg z0s8-O5le-7;>P-)gG>>QWBu>l1Zc-neWgG%CbUwZHegszl?J(5DBzF3t91Ep)`GSa z6RG_i6?cmPK>;t`H;MoJn%$ThiE#4FSu|Vi%YNP}p} z>9#a7a~U$^F%b~rC!V(*Z-3zq1ROYV>I_<)&Sic5A(z-UUc`}B!Hu~_XX}|UkWD-^ z=E835w|g+HX9q9ftvAl%oiE*m@k)eReHrKG7cPmq^XOcLj~q@xgAQ1ss7)?hQk|24 zdWnh#bdj1XsMQ`Wk#Q)&(esQnD6(3K1qd$TIX+~HzyS0@0LuWtIp;zMd7-&EN0ZU7 zXtKy;CJ;ng5U$KmeFCBjLdxgksvoZG_BiursvB4e8|g_>KiRddJc(58c!U6D2^cs=4_tFu&*9GT z0=}%fEn|O9L4=@K#V_7Ai|>2hR!EXKa^e)amjUot^?VLuyz1&rxbI9|sZBJ<1`rTH zYgMJ=t9ky3kW#x81-NQv9RJTNcjNj!V;ICSjvn85#Cp{+GfnZred9Pfx2P2@2FBLT z&BMmLX4I7gqRcrI5dl2Fbz4U9^LOmR&HE;h34!CM&Rp{Tb-73Q&3j^G?L}n@%Unmw zz@2}lPk+;vR<;m$PV(;G{rA9}Zrm;anJw%Q2d(2;PD936N<=ABwkz3c)pEr$Ru{yn zGGs@HAhLN5*2OlzKRF(2(ptAmlk1TIQ3cyafyKp*-~D~*WQO=c9ly7H z?WZPcQxz!Hkr7g<-uFOAjD*1Jt}7y3r(*7}zLwx~N9G{94gKKJwqZty50A=VgT+0t z$wSVFxM~u@0>C&nSE9>$vtG5O1n>e_)&YV7P^jPqyC?87FWZ4bTdU~x`#5p>ERr;R z${r|5n&OUY#_@r>$1%UWr2Pj~F;Ld++{V!RLn-*LqhK6pa`!>A%#uyA1ot&|1im&Kc89l=N$N@q6%GhL1nC1lg;rF(y#Lea;lEL5&Wcq-!X|iTR<@j46AeOz6%b zz(k2()|>UVgH`OfZwlwyqquG72;TCnY20?@1UO?@s4e0A!s0iji>I`Y-@J1de(j9#N1i={JD)j&@k*rh+b7Rn_K|nBE_lrBlyqvL^7)H!!|Vut;Mucy@io&ZMjT0!;`rSBnoxHl;Dh%JaQ~Sl zP}~964_4CdIO+>77nwn!)ZX+r)aE&WCO7`BNb0rxKr=CpL~O+qh;#m=7Z>N80a!8x za4rafeZ~!%F-Dwol2S5|w#XLJ@~AlH;GAPym1PgN;Gk#*8-uBkU-EVj(uE}Hk(h)_ zVv|M?OuE;vbc||z2rG#cy>ucY8Q(RnrKWRzzY?OZ{3Uk z_R8%zFk8f_vuCY@?^2KEfbhEyq>zJ-vMS<1j>+!==E-Hy!gDO~^FX9@xynp{gj$Y| zM1dNMF4IwDDgNHtUnmw%=tNVx;=cej``XWZaj1VfBkO`;x|5h4xc^Q zRCzWajS#Dc-`GeIFWpnY9oJ0Z*#{?3ia4Ys%q`Y1zgYXG$srq!7XHg!2M~Wm;$M%~ z0O-BDFiC%~f#xi%VB1I$ueoXhFS&XW*X$Yt1CR-Uvvc!UT&l16Ui#aIV*JzNi?;YN z9)hs|oNMB{)4+mp7l>|~Q?D~zfxr4(bXyQvZlWCU_iNS_nREbn$0*?xgL9ZP$*ia`(Qe{?<2}NQ8yjaE9)DHaiU3+oeu2CF5 zeqznVj|ljq`(iBA<^d95VbK<4gYGF&InV7-$Qn-uPE)BZoz&|LJ%j3y;>4`n68q@dX-r`DxQ{>+gSpFdd# zlAd}E#=c0SY8G5FJUi{6!Fj=6CCplrF=gpQn!1st*1o+GUfvNnNmD%hjl&2yUsur> z4$0b>BGSf@<0r9w>nvs`%9x!fuJ|5Fgm$NkuX1jSuztHpSz3K9==v;p&+ehk$p(3dCoz#C>Wx*6Am zY?B`(q0~cWt>%r*JkYr-EPxOavz1Wz-Q5!vK`-So0FW`pVp9OW%oyXGb52B3?Gy6F zj;Z#N`AF_)fzecvL?T5{;ED(6Thf@yP2PGBo~yLfi{@PK%T%i@wa(I{voR(v%id^H zHM9g%&Q#U|4-|*V>;sjH}Bkw>vxag*s0TKwby=;ovaId@R0-< zw86p%JcxiO%1fM#rc=Kz(~%lrL}jc9>$D7z%6Jee=!v)lagIs>mwgAP%vjg1g&kzT zVi(vszVWZE-RbJF70k>gFhT=jn|LPPowxU_E*IVIm z0Fr5$Twp;^RVSoYhU9C5Er=jwnZRtdAch;W70sHB>ahF206+_Hv6znlKoA6lG))IN zN9dtIk>P(H7)N@zgP>4!c0yjhlidX}Kb8_JV>8`?fZ06(v+k~17=0Ozks`yvsVW}p zM0U5Jg0sCuH!1T#O<@GPH*dnb@7jlbGZh>^b$VS~wth-@-#rPER!xuL1wCE_%C(ni zE+x1n>zdI*ttbN!2~BYI;tUuE2h*oi>JggZ>CPg`B=9?5k+^9KzbpmN9C4f=jxP^| zWwAqebV1v@esfn7}%CEwg{jd z1VLnXebza`vy{6Dj4?Y6ZJV3I1E5~<~$R+C%A;~V! z6FEs!yy2!9@X}b`rpE_9jMX_fP#D1-S8c-|zx7JxMR@Ww8tWwT{>gnYPAxS6nSw>y zu{Y3#(D=7;W!kA?sJZ4`X^W|VTbEz8h>pOR(T8%6D61u0^66Uv;|%!Sdx0+>pTm&` z!?)sbzD4+zFQoYL*>7#RrX=7mz8dS|*V2yO1%>+B)r{8oGH1MCBzFFA$Cy73l9!hO zN18TM&hY)`#od}xDGAtCWx{oJ?pkrRYW4RO1VISkh~EJMzym=LJX=3u*ou5$O>ovo zFli4#x?ws<{^T1OWJy02MCQ<5-2pN^8k1zU&Gl`_&EAFSr9RW#EdL}7GI>!(t(RT^ z6TIx&P5Apqrg8si=(H?7VlpVNvY-ITikKZA!H>US8(wJ-}Cv&qFll@a2VV z_&0)32)=cS#>r*EuYWPc!rVzLY~F+BKw_-)tyjpC4EUq_5`5-p9n@>soix1NxLFlh zb3W7IkzcCFh2DePJ)y2tE2c}!!PH4|B!%9~`(rGD7{mSvp6b<{sYw^r4eA1T?{ES9 zR1`(G!nNixTKme5Ypwl&tY z5SoK{4V_yBlth0l#xE$5&1+AnPmwL5NO!8HZ~VxO(fgH4u zc4~NJeiqN!{jF61m%0+~{c?h@pRYsqm%*d5&YIQ*PdiH!cPW4FKF%!T!0f9HYl5H< zT+);nl|d|(i@f0uo0Ld6VTI2}DIeZUQ1Iv;y83N6|;S z$7Xb##>Z)=?Ta%H`t;Z{J>oQWPwS}A_K5dsMTbGT8zKZk3^b4nxsg<^m8#Ue&SmfK zTkD-a*1Ohv*LU`*B#@8_sq;Mb)TvYF>~qfE-}hVZ<#)lJ-MjEF-f$`YyVqQVdk(E* zK16I^^4Pm)3EP)^8SLM4{{xSS2*V%m;vwn4C96e9zs|>40e-5e_B6*tM5Jw&pYq*mp*>v zwupD#*kd?+H)OV+A^_Ho;X`+xi=K{pGuEwJU3iixfHCv|&)Pj5>^@=v4KNJj^d%ihaZ(o z#+L0x0RH{8a~wE)7>Gl%jn820Jdz0X}p~kKenwM}KTT5PHC+r5k0RK~8EUA#**Ju}f4>!F)M# z0x&WXy&QpA66mD1$+l%Kw2@ZjlrQlR20ZsH%$GcgmEW~sSaZ!SC_3jl04IoOe*=I- zG#8OibzS$$zVEeyby5Jzgv3P_c&BzXQE>SlKdjF;Fh~cVH>Y{)TlhB#@(D&ZmrsO7 z?k9@mTs71&;7f<*5b=*WFD$<$543%lbRCwLmcYyy!hrRS8HUG@04oB#=d%G{xc?ZW zUr!mWuG1DnQ`1kxC4Cj(E&9Q@XPST>5n{i!?Dfh^G-vRh^ezftc@)ykf zZA9b&8DgwFy|SX#jZ0+KMF@*yqBmT^Yu6lzE4x>??b$<4f|42_qlTx6;7C6yeSc%S5 z+5;(omJAVmGmdE9*raZ${IFQgs^M8Sb$BA*K6N+YH*aFhk39$p^AwtH?AxJwTp8B! zq5B!%c5%crcAq{V_^Evn@48WN^5_A`Y^@kg5WD2i0|mf1;0ybY;@Z3S;3dyE{bsM9 zzH7j{zS!gVk%x2<*Xi=DtAYUL0)E6MAf8REX%0cBG`1l#?rMV3ECr_MXJbkUL{w8~ zE(^c>wIxDJ2vG?`r|vgZ)xE?R}>+%OvDyc95PBP9DZ@fBtOz&#&m8@Qv`1 zHQ+s85Pa(HqmWr5zUL(Yu~RUJ1;j}NG@s$OzZmh%J&&&u?W3z+Bi{4*0e^ST5y-}g zRG|1Q2X%l;?k;7X>=oS0?9L{wv6;XuNQD$7J(E*FR3%sxE%>Qwg;fs6&Nq4F$@wcS z2G5>`aPdwKMf*!6cK%0brEk^m*5&!%)%7QD2Zpy1(H-9VCH-O=Z&&okZ%~$*anW`c zF4-pi#vsOYQ9al6$%uyUBRK&c&3s-#QpMeR60!G?egii>^yKvcy!pY1|MT+^GF#Q( zD-oSjNDV_AL)fQnFsBV$YNhh?m6S8k?Qql>#$+s;?2g1}tCNOWfvyauQ+0jA;r)J+j-Dr8A5`SCywCPKNGRmKe5;0Yyke> z8+!cHkIix2T@NCz9Zd(UpQLNjcPZu~J4<)d^gHQXUPzMO*It7#?(R$=r*7bC&LHe+ z;$!(dPDxeSJhj;98@G4~2}f#l6^0P;;`3;hipkvS(kQyOzHDTG(0e}xumRvRTUCGn z@cYdCc4qEkl)j|3>&}*#K+5)Jc0v>hM8Zt;+NbmSdu|=NbG9pyw^Vf@t+%7vUpOxeB(0u+vGa;aSJt;9xH==P4xCx}6;kJXv@av!2jh}t#*Zvyr18~iq1ODXZISw5= zinxAEuf<8BtCVb!JeJBJ7=s#wknJt%*NOG2-2B$g{A}L1b~Ma-jjATUEK5iU|J6}C z2=J=CZX?bAHqr7L*B4U-5&%pllNA6TCZhgS0QkoM-aeU3mNzyw`sBPS1%li5Hw_s?LrDuLBJS_nmxRF*8bau`l=EoMeuz1L-ly2I#mST^gF z79xlc^=A^2{vHp`xV2AL?A&af5fl+?OFKQZ(*Fj;kQIa53S!ahHKGg{M^VvN^yUH9URjg1r9LlWA+gww<-ym9m+%{3YA|>XVqeY|@Q#Hd19`1f(Y=4VD?`*YUA^JMq$s9J(igI^h0e zf`5I@fD=a!0Yk5+trAMfYiy*i1_x3p0NE#vOd(HX=YD2hSX3Z7GYO&w64}r}^pFVv z9MJc8|J@GXerb>8$I%@6^ZOnC(=8ni96p>{E$6|LWe|5&+LuFpN}Hae8d)*h0j>_* zWp)yOvk$oa_)h#c&+Bpd(;j;ezx@#519uQUwSR`NdPMnfoyxz=Ry12dL0>;+hz#|$ z(}P@u0G8w?G+)D)4+Q-4kDrYny&U+q%N!mLbDl%1f=}K#;IHotICAU=WOiI9QNB72 zky`5K_)Ih3%Y42BRyx~6%@a;b9<$WQZsa4cQ_{TevLPT96z6}J_!*(H^{LM@mAMr&L&$?D;(;Sa@tJ$h z!YeM}(;EElIxP6rYX=-Ua*npW%YS!8zbj?K%hfh2AFOV)V9Q}f5^Knr31rGk zH$p@c!)aAa*`$}CJXg1=+9MHEC2n<^2_ks)McpiQo^2Oe3|uN0N;0G=?e8`K*Avlw z4-0_W2ETJ@X=!KQpIEbPaN_JRB#JOIF^g`33C=kzcTwJWDXm?#e^@zd>Ql>0E)D9X z)PV@u0!IL$sEe~y0+R@WNSQYZJHSP)0@v^tU*3f)&!^K?WBH{6g8%)xh_#~!68Lq~ zG+cJ66zwqvd=ifS$h3V$v;K$njdPqmnct<-@75a(-n z-yMVtwy)sTmpnEgczj0qz#S93|9+3*_yNS($y9Ajro}ju{WNX!GFWK)D2Q5#kOFq1 zNxAG52YVbsZz_ZQ@c=|5Et|fVxWdPxU6NEdCFuw2* z;rfRn;@VNf`AHxoXB~7)+JX48b+4i1RjtEWJ045t z*6B+$>x zSfT#BdeAt{l4PfR(_HwqbeFa&;%2Bv%!yZ8!sY9kDmdZh5NQYlh9RKud+LV){k*3W8$G@CW5d(-?wY_APETsnva^(wibZE# zLCb3P>IE3pKs6!^0WtIlLytJ$Ky*{Q@S;8VM=xTWZV>pXeS+WoLcsjkgGuF~+d<}J zyvkl3UeubZf|pi+h?Nf)gPzK!5(Ft-1g#2W6gZzjkcd-mgr2?<21w{3{Vd7sx+#9( z^6hxjbHZ0lF*&?W`1n4L_us=|W00~>_Ql-f~!J@s8}?m*U;C&ey&bysa`Ac5K>4{jF2z~;(*xC)X#A!>3QTj z&~ydpmcZRIE?gGuT>&~0Z0ph@U~MiqItT7w6C7Iafnf%jtwDy3^xP5E=T;Q3^OiM_ zM6$A@fDp<|p1rFruf|c7-=|b~(o}!6Y2iVY|EJqpk&uAOaV0lXYNy#bvkXy8^*%kW zs-D({h=2bocj&zBUF^Dvbe%`nb>bYuI}dg&-g(Ra6Nv(mNXyI1ySuLI06d+D9(Y6m zC?Z#g$PL3V^y}*zhlxobLYc@M6EIPT0mBe53_T4)KtBvLpU?59xAxmUbPugOZDoSI zi;Su&0l3_tMV3XBPE1KDnBn3Lh*dxpbgkeDFH$Y1}@W$ut#CKnQdO%=^z@Og` z@n<(524;!hR^)AJTSe(OO7lOxC?#qTmCk5IO(L?(hJ;uzD(2*%TjY#3Wy{s=ah{h+ z)G(S@@@-}45r|vg6{ONX_yK@KLbZNv3&JWnVB#)roB7EtP$EP0fxb`8!{P=^w ze6>~_ZmP2~-$T9@+CbVVs1EBhvi`aVvi68umBPV#9^lFf>;vJ^5-Le zuUs=rGLX%YqV@dg8c-lh$;cm9>X(2<>1SM|U{$)LMZ3`7|vKS`Od=>=_b0 z!rD>1@8*CVlihgb6Fd(*v?_S_=OR9L-;pFG>ZWDboNuIL6OMWcXFVl5r2yqwX-%L@ zz|mHB;ieOeVf6^&>_o~N*7+Wk(3}=N3Lwr`%BfE`GMCQ4 zRIo)sK-C7FIg#O+($+Nst_<806#_AU)iff8A>C+ksEZ*HIF1Yq_M= z5tZ3q21d^G61G8KqSvrS&&G(?J;SeaYMmv`{hVYG25VeImL(Up836D7ivEcIanZed zN+LlB@zrdb5LgxN4ZzeuBX&p)aMu1S)b=!#O-tqSL5dmP=`47h!Kk1x%Mc4V| zei+vIVX8pq1Tl&@4)k5maO-y+>-`sw#HAfmS5J3lor#EU&{E|iT4E>ta9YL37{DS3 z1UNTAz>sQ*PJp=}t{=yHzeKp}_%6KVO2&@q*N)=yhc`rAfA2BGjpGS`e4cepDqoDe z0YBq>D?x8~<9=b}Kwzh4tRB@-r&@*Q?AmDbE%s~Bd|{eN0+MJ zSVi{40)a1)0EiCY2$I}hPfBGbQXNMq`&5<#*(;IU*XOJNhTfc+M+ps>XC2{4yQ$28 zlPMTwd0MCPRalyD`dGKCaN6GHg_eVflZ_a)OJ$5u$m6UFB(0v);y?W^S%L=gN=;FD zTCR%A<7j%DA@>nUF)uD;XI-#Sadu(-yx6qmWrr)M-As&y9l~IPCYAw`#%z5A-t


$*u6&i*?h8Xh$OY8CjeoZ}Bnr_)`1Kdi@m<2+my=sjW- zeCIR5#?=q>ODjHYZOVxemEsVknBq{Od88*WBGIR!q_ww5gcFY-0_G0Vr57l!AIInJ z3Ap|E9(>@OTBEJ$OR!*S88ja-Sd^e-N=>FEg(!A<9dP#1He8*C#Z}LQsxW zKKUhE3hA(zyLL?5v>dLsI5r4fjUP$dM9J1!RBr@l4&JUZ*W7B z&6OHap;a(f;(B@=CtAVOYAME8q8iiX7ZunN%_%8A0-~fgncx%v()L`Oq{AZ&>0>T! z9aCj%d=FFDG)l-0q|%9Uz6#XFNw`*oV3V$wt2b%$X(gmwiZZ{|*=#WfRh?^IUXd&9 zD~T(_bP02vDZ0ARCpEQI6Hy{1h?UpXRQaV+W7AR8_B^EGonx}pSHhs z6P$z?+&Igmse{mDGTDwKef!-lM|}@>!=JtPnRM`;+piLlSIy`16Z5`bEuQ%TgcuM* zLz3E2(OTFwp=p$743XfD*`qzW7qT3FDBq!f}8M z17eJb!yK`nr!QLCiF3}{h3|L<;e{6xwm$|H;ShnF_DB5f-GWaa1cnpp0HU@*q%$Qr zm;CGuw+fkXYSOH7<_T#f$GX%gEswFnYES)a9puwy*DO2owlYy@Oh`>W$u(+}indsn z0dde6(rA1y@~k$DSgqBih71R>wD`^&B>~qKvYC*Z?_oFH{4i&+gzAl065FKsPNwG| z)c>$Ijm(q-#dn^Q!UOj6vtaY;3HchXgjc3K5}MMwRZxD!4M)xKx~?%BJcS zNUA=n9Klh$YJ5el(_0Y1Mu_->*L4Rc-otlk`Qg1o*LC8Z2Q!QF$)ix)VoA{&An*P5 z>2$iCh~7y=|HD@dfB-P>`xkrXt`!klTU$REV;B+uZr%uo5YhMZvJoEo0sYX^yKWe^ z|Chtv(vB%tmcRlK6b(P7Oq$MssGk?(pnvQ8Aq~D|=n+GYsG!J8JK(pUjpv^QJnw0Q zr|$$V+(nN_KGla*>D_xwaKl01GY14GPo&%q8G6-#c7_V!3WY*<_-ZMXD?6#%Iiz+X z&E9pMH>MgGORKWgCAOA4b@0w3mj0&gq; zD0NBn#!WL%Z^lX7l&trvA0ldgmJUc67#7w;V$JFsJM?5aOu^*?pnwrx8Hzy=Xrn$1tYq81nc zF1X}5e|O;S+x`H+k9qI5&HH#-@M>hQOBOp^kkTf#Y0 z!rpC!ofE>;5vE?SF(i@ou^F&`O|XAP2(xv_Fh`uP0mDXW8=VJr6I~v35N366aWykR z-S^1*Lifq;EP1nAI;s2=>Y!gmi|v!o>cE>Dyb^lk&5dQe*~$XJo^P?XaQ5sY2H*<~ zsieU~SBLKzMDu3UOg>BkUui}nh7w?Sd8SH^ zp$y||v8l@xr$d`OhoUyTCqLKu;7#&1Hu0@#VPrY2Ffk5!_SZx>+UmWrk5YFeq~|Q= zgx5RvV(+3eVSK40f-*|eYvw7kHf@6itfuDWMf zdiTxPao+YxlF5k%pGZus?Yy~^>SU6)?V=P1kj6Ty9x;=9qeRFM)S@SyuA%R-I`7M4 zi?%vMPQzDBz<6f1OQ;n|A&zq8s^x$p<+Pse}-YjJ>jb^x=MnTbZMEPPg;GqNa^!=haGh@+t!};2}nPWHs zTP)R8ejYNtq-iV5A&}eRXnto```JwZ!=-AJoShPbnrcY%HBzb#w5>9>sM^fz&1ks{ zCB)1I4G%Eo>5!QlO09IwV@c>0+$}gsX*CZYqU!nH^2r?L04EABpU_ieuf;2qQHbXPwNGbuJB>I>*t zM1+Jzt3V+UCn7>I3SNDY%=WJi?t}NvSI*rwF*j)D0&%I%vk8EZDbMu=aV!XkNe}CM zI^a1XYK0;S!W%sSj=@eZo?^W+rOSw>tBZwi46>hsn@Agep+5@-JOg zp`=Y?TIh&Kdj1Pg>+@;D+l9*SNRkN4GzNQ#DI3gGhypfTM}2Pc7PSFIOVzO2Xs6Fv zGzDW`t%jmQC(+-jw9{t3R*E&Ml~bg1Lyw!9I2lmmSkpxZm2! z=hrrxrGkt|$m0qV?I8<8nUY{=x5hZM5Yl-Bpq1m7y~T6Hg-8UGGn;PGeBR1^B;)8z z_H`=e1*qX&0Qwm4bKl6v9kV#cmiM=?`m2Y*rt0s1W99=7hii|DI`@fdKJ8!r(r>v| zM80`GpRdjP{&=2ah?(Ezg-DtQ_B0FwLI^bPdkn)szk5^I_UQv|`K%>hpM0s+9`fP? zNf{z$*j-cRM5FE~wGc6u_{SIpCpQKRA?FbfMH4Hmf_o#>az^urEp}KX=w1{-Sq*TIwYBAA(>sZi@Uz$Ayoy7Y)KfT>0} zQduV1>J&|dEX~G;+G-{>dqlMH zm;&J0d!I=U+;z)0JLXRV@Uz+M#C$$qwXLvjg*UarSuWQP1BM~cyKWq|fA%3>+BtD0 z3nN`fc_UX1Q>AEItEGNaepDHBYwIB)Vs#!c3!%^;B!;FVK;|{s)3Y%7_1~EQoVihj zWU6H5LMySS5Q=Q65Rc1+yr9Lktxch-)Rw;iv)p=Z0!(bKs0@!T`Ts>jU(pIE(>B<( zl}MI#SrE-Pqy?y^+QNtwo6Q0G>R)JDtTOA&ZK$P3ExIH{67f3A{X`cjGV))_hk~}( z68du35qIh5G5(2TkgRl(YWviXoXzi^ugAK@uHe*aXEW!Mnk{PjHlv>*0~@m{TDTIT zV*t6y2&7@Mx4B)&*ymGCb0sqYG62S?U{ov3wCqx9Oq7NTh-R6gmTLtZ71*>;;gT6l zh3lGq1#1OZU+sAmy!t{}|A$w&)y{VcdTH_Da|^7RUrT*aG76Yzvb?-}wgTe!d+-0^ zkzm@R7EheL_nCCy?%UoD;O!!UjoIu-3}FLG`-yrHE}91>icFdZ9$FjRpWYT$zIenh zZS&mBKqN{5f#&4Rh6+Y(nN#EPID2&-u%W4End(vX$2Mv+E||TM@pVH(+%ALoGV}H$ z;%+S9U4XLKUr@c#RrFn~p49ABv&P21k0__36kraFtw$4 z>`c&Xsk6(H{rYOtQr(zQ%?e7^iP_TT*^*0-7UH5*|mbHrYNm!B^iZ+*Ty z+3B3mdoNwu{=$1FW$x#k1wV*LuKsp)UAGM2z0CXrj}*_oBD(Ocx8L!viRfA)!qRkl z77@8JjL%|mrc$Ol=aX33u{iJHox`4G7ytgnZvDtcz*?_2yi|%v)-`5Zeaio@f9Dgh zdayb4fidsNl-I6G(kzSIO&Xh^?9Ep`mpqtV{Ty=T1S7ZH?RvP}wqF(&oAzX>O0@w&D!$c!k~$Y8QBA6->xU$pBav*#pZ-mmPbjQkGyVfmtPzQle{NEm zP5Hj&_p;A%mQui%=bPa`#i2P?ZEHR()H|_;`RLD(t=hy?;05clsb}5-Q(clrDe8;* z8tLl|{S#FU0#@v1wT180Ks4)~sd?Rbr+d>DNO9gGBTq_`YZInsY9-xz59TuaTEdit{{I zCz%X>Afm4G+r9V80FKROv!8u5SoRgkXV2dIOuFxmn=b9T?y~@P^?koKo6U}k)B$Of zm|EeGSpAtGJq!be5NPOo3?a}hhlBs+>*DS`Q-@`5He{&0Ktw^LtPqfPlcq1|Ai#-r zB~D9(grEzOSg08yD$pjSr@-1S=_XhzBON?)V$M~nSsJue&zQDMBe#>5X-dZDuWm-! zRAiZak7b`dD6PXdt`yGRc&=YVRFq(^j;C6z8_ZS^Vx~I zArgcbAW>)t17Z~PeNQpQ0)qX##}Ed(^>FaN{CBc@_mr^BYm8==a_NPRyb#GV7sDlr z0vz86df;lC9EN247=rQ&X@PhfwT;$OUnCS|Lsp>_iPxA)Q3mmKc|vs`-_DxyEU}SQ z)vV;Yscm^_834;1QAV@6a&zWcQ2tV5GheuXTyEMT=!fPIQ=R!q2+ASjO|v9x4$!vY z+%9*ro-+(;bL6(Z+|&vxJx%V^EwO|;1J>VD?99smg@jOv#2C>#4DCglxtduxj20In z##sloZOlrICgycaK~b6x3YEmQpEn*QgBmY$}M`=8Hw`m=uM(0yN)#~lDI2=2e@)?Z^zPzL=OloRN>mh@|e^Hm}i+p4E* zcT=^K^AV!di&}toae>+f#V}W%Va)*swE#%EZL|PZe>c?Sh5dc=G9bo6`^ifuX5M@$ zHJe^qD7CT@w{$~wi#NG2-guQWHLCW^yiaGv$qmLV8OXH&SQZYxC`)4D{7Erj$Y!i$ zc!fSG>8$+R)*aeT|8EzIB#PmBS zH)l0C$gh_OB4Qa&R7#ar;3CG>%Yd8#L$ZrAQnzfhOTM6$-`lRF<1f9y&AsydymOLU z->&P#Df!uX*F^DV9?+!gc6MF2LPYnhuCBdc$BylX9xaZ2#nD3RCyroc=UMd1SG?@w z7wx_9n~CUh=iD@k#2A(PfXdQN(z(0^6rzT#M%XolT)G3pk@Y}#o@Bq|xtwT}3DS8( zWkiqbeLx>zR_l2HoIok(2jrHkSas()3D+Nk3=O~<4P;qQ`npht-(*~!i|1LCLKLmn zx|B9G0VdT8*=kS?Z-7f)2o>XlntGo$s9g3CqQO!6GnoN2H~&sQCo2tv{iHlsls9Wy z5f-N+^)lpapB`%qoK9q&qr$j_lu9bl$Uy~m2Sy`-#mo) zhKrtc#ck^+jy!4{`>HJTaus;TO`qGfWBc~2MdV5mU^br}3&XIU4>_F&BF0(?=FPBH zgQXG-L%@H$Ic)pX0l$3K)FT;Di)jHk(OqK1EC|--gYm%A8FaLY2~I=sT-{V&O_4gK zgnExCLmAZP7BuE97|3klqM8_VItp4O@2YLCWbPVJh@{mvDLJC#nWJPY;YHPx0$Ge9 z4WXTK4xv$_v9DRJRz6m&x13R60Il!ah|ahCDNkA(U}|tt3k;nJFz= zd6b!>_0zKx!Z7H~TnXkfQdJ~vZ7AC0hRZ0XvR^c(Ybr9SRF*8;%Itw?Hq2T<=4vlR z9vJOzrv2z)6LW<&GK3&wnowF?cCC7(ng5a56r0fjIkT8I?XCVUiG$Hw)iiaZC8DE}zvSzt(cAUlEB65*};L)M)H%3d5 z0)oR35MwCxn4sAr83h0Ewz%?<`*>x~l;Kr=Hw)dQ{EbScq2eV$b+kQr&oT2?z7f)oI6waQcjoh+%K%-zt)+w#wo zazCi>(HfatCY$FOnDf;Okj;VwtV@NKw-+TOFcR5J0kR+tW3+%Ot=uGgGcvb^UZ?u> zW)=tlx=4_0oKQwBnhBz^FUd3II8;x)oP9#p$U&-GjhY+O`Ek_OGS37J!McE4HB=S5 zbg~D1o<(P#B$@G#q^)vU2%7btl`yjDV5+Hs6ctG?f|s8kHeUA(UcY3w4~|`yx54}J zeyRL2-_PZ4M8U6{Otw$DZo75}zjN+0p8Zo_DfoTGG#LAqzxhSadfvSo8yjyRqGLqB zbTZxDb=|Vnf3nMIP7cl`k#qXRofxvC_|D@km%Ft$Um8vxTn|_qV(VZ*g!MtHoTtR$ zsSg@euds%VUgT$H&cUvPySrkG?#kE0u~8dI)`2KiP{~@b1_VXlnFFpk6G^F^UF9vA zQHY4$D$2tIwCX!@7;lqXb(iRi|#EO#R_P4lfIsEc`D7 z>gpAkGe1&wn)#Eil4@-Zvi(0A@i7Y)dzIX=@w+pW5UJvQ&KvQ(`L`QpL$j)n!{zrV zMy5?g-)1#eA4J`~4Z#fL)o(fefiOGmoN&Zz?-;^aJ{A7U9=i{Uh7r(G#7 z3dUB8jJ-So5H8i1j0f4oDr1U;IGa>)Rg+3=?AxijyOdC(P`%Vr*paKDFlBY76^^+P zByY{gX*C%t02z6mif zQ(R)QiBgk)));%$mhxz$Ta6kv5uF?J0tMAnnzv0f=*(7Ebh%nE!Z&x-x@{9Gtq zsvNp8Re8m6#@K4*7Q7sUbtYfP<5KA@lpUzmbYU*QckGSpKlU8A>XMN`1AfjW(sOQm znK=OP{n31KK87-FQM?-3GZhGK~L{afRZi&(gNF&fv4vRL7ALFCq~Y?!n1Lkx$m__M{dSyRh;vRYsTW9hYM)>ptKwvC5I zBa~KGWV3aboms`88dSf@xuqB@3_aKxnu(F+6`)h?GLuX8SFtyKcFF-9=IwKA=VxWs zm$<3KuH8B}vNxq==}18G`;7;p&M+yNI2518a%e}jdke<+z*M$jFgen#(LtjM$-e_< z0(od@Ed_UDxkef*Te4;ciF+#AQ5AU`IYcCy%MV-{SHJgCx9)Oxm#V!@;Fr2Ww-Ee% z*KM0lCK>#0pU>y7x#(HXyYH(7zsD2+#~^s`?Ki%x>$>*=*rOnLvhVwo83Z#uW)TSH z3NR$TAVLTfL&Qh#2}}R?ZM?lBf;XpEu4sx^nJOZRd4UbE%9UWFBh79tnRJ^jXkms7 zz0L)zG%gxjtrDhF7A$&^NBv1m=*9d%W7{v9 zYUg|jpel!x8I6dMJC=4?sXUS$rlmS8mnyhKyHvib6n7RW#t)=UH|22^=n7~O%YKuiSgt75nV??X&^FF$ms$ z>leRaI-UMCfD57shQ42&&1NTwSh8kVq9lNmSU@msiBlyQl6eAxw#g5z4g8mPV&&@n zywq`$|J2h_%mO1QkWld)6sbdbLhCnJqZxByrl+jhjf){W*M%mdCbwC46RI0P=1OF+ zH?b}=M7PX^R$%#VTrKXc@}iJ#wIvqh3Qfw^vgmvpi!5r|Dr?nLNlC5^CCbVVtpLRW zNcj>CNYZMkWPW7PeK0vCOyy(t-&-T0Rc_b?La2rj4ZWnX6l#?))-ZuwLwqh(3{%-U zTa$vyBa{SoBMUObpcN&XhzE6!$#c$Af?%kNoETETmTjjcHu~GnfuA)w zQ1IJ6P3|rrqWgwnc+G{+eD3X!75F_a05}H0J8%B{vsPA?KM3Gb1;MrXe11|S9UUUI z8jNa;8bY9`o8k}x4I!jJbmKB})qP?5ySMNT2ZCpfqKU>cPeDMSTT{K61K_F=X(BT7hE5t)h1s@}(W&O@h1KxW*T5ud zwzFEXXsaukygZVlr8d56VhUrnw_0FsDwzxnYq4*B=P{58HoHufe2FYEbBjlWTV0vf zKtYgNT{fl#RA1{t;4U^>Qk5x5A*Sah z@juhG5+pe}|KO!@^-Y($b>|q~B{hfdIymNr`-z4FJa=c-sxv@7=L|#|Mb;yeNV&3>$sluZ0lj76c_qsRUzeTjE94;4lpM z(>t*3gZJ`sS5mOdJw(2|yv1Tan~V|{3PHAA7el2X8_!6FN~2X`*|w?ZzWg7kaoB2t zcU0?}AEIus%@(wnzdB=(z*Ql_#$wCTW7ySUeY5NcI)AiXtWf}rXN9Heq(Tc}wI?Ir zZIaY3;uFv~J1CCKV2lAx#SL6~3r$T-prX;;L-C{^HPA zrygrfFRgQsSbw}cugnXzV!bxhLyw>;B3C^Gnan7|6-V#N`$N%nmqka6&DaDc*Ec(& z(>S}MRD!LVr||T0WnYhvdR>(etr{XlCJf1rGGYuEKzPwPGJEY_S%2=?e#k9vn)^98 zqwpw(2ioddm4|BLshdo8biP~BjqOh3?c96eg?~(h z*GH{D(uR0g%Qsu81XZYRTjCIEH5fx^s=?ci1pm?du>9!*ZaN`*VtGT{H1}*na0Rld zYN_b*HO6dN5N5MV&DPf>GS`bJx1&T2xzz@~H(WX6o?Bh0>rBy(eW=O*$SOO(sRGT` zV(gNpxSBCZan7buOP#B`nE7dTvBItazY<5{7F2Ks7$ww-kjC00;}*5K;v0dXY%wQX z1dh4ImfAYkYTnE%WfPY&{Oic(*!Y*Y-7rUKcKwZj?#a z_Ik1{ycp(`R(Wx>1d+sjENmnKYbQzB3ZL!apu`X>p9G(Ad0sM_Ix z*j26+Gtr(Uir;*;%rDv&hU0V4gB#>XD(|p{E{iS@Oe05zgivHlRJm8g#?=-&H!)H; zcFLAlw-)9)kmovJCJormetvnw3Y`;{MTJ&vMUSdnD2XNvyYR)3?46uhniTmQ7mGMT zmN#+z{sge=Qciic!zx=mz_}`&N}Nq@a)>nTuu}MRY{afn`8BK@=SNva)qA##QuE`G z;e?yf6)a1qFhXMed8jD6xXRtsE{b42PKMW~N)C43m;u=5klGD5@;HDEIWM)V?EI!o z4N-D78m^%YA2Qs*Ojs}1V>U#{OopMEoo1N!728pM(mAP0_ky_<5SE6B& ze&$h9mi4hil!$qZc+~}QYBZ8G2Y_zelaWsUuQK(R= z8p(6P+!CLv8jMj8h5=XIkEN>~prw0Oo$s7aSrd74Nye&N<#i&GXcIB&5=2VCdFEfS zbCoZw7qA4iCC`;plYPtOWG6wQ!j#z`ja*d>9mc#YG;(RF#s{18b|v&BU${8ww%MH%tM7gTsMm?}{WVv9rS%tJPIDh0tXZ*`J9Gudf-@4((o8R`@@BZH5@dUrG82~N_xUDl?o+yNQ@(Z>1&H?Jz|JEjt?wMrId6L<|9++%MCs9^j=fpKx90 zJe&^QMW{%;5_d4qyIi9L6IAXOk=Hq&lAc3N(5js@S89%Kaj7X`s>5_8s2YMZb8SOx z>s$m03SRj!nt5St$;#O+i*4`@3fGKWvc2LQ(`mc;5&h5xwr!gKEii+z^F3=g{jjEDaV+IU%a^wMgwmcfAVV;d1J#}*>af<>fr)XZw&CdlLoPoJ-IiQx;T{G+-cNdf7xRD&^!E=kh+ zF$7$HP^N$L08MW?>L#8XI^R{Ulxat#m={o6^&snj+3>tj96l=Tg!I}C5O!6(FD*g2 zEd})|DBa1zo7i1ml$s7{d;xC%m$$aDI*0SLUk~LpIlbcfb zotlqZKuUtfWujeZWF54f>t%Af7{y6Wp_A&%SG_FN02n4`qfo*$sgI4ahjV+=clbkUJGpBemE-F|ZAm%-0_ztl}8yQx@a z;m|M)KfL#{D?a+Q0>7_004@SS0J!J28{ROPOnxVdoSWrEeczv)&-;^7hR%W*TOb^U zfeMW#<}|vP+hRnC4G`XQQv65nqot4U=OynvJbO6Zkjhx6E5^b~+SMjmV^cB95xr=t zl~$FJkqxIFX+R4IN9!=Hm0ix&$lJU`F3zJ(^807HoB8G<{z5vC)!b(__W0zkcj9YSSZ2;WGwgX$z|=sdKPSFb!B~ zrC<1`8K{i3F3T_xhw`{YBciv&kxPx)UMp&gH8GXy7OgXKrRIcYwoRF?We?D7DMv;U zs*4X%H}N4v3~|7v+e81F3*+qN=hH?GB`@u+V>oqa&Q%|k_cyn^+0sfRVltU*_g%N0 zYJ}^xt7~g-dFFG!>CUeu_&p&2xD^O~{xhFA|Gab0eHVbgpIc&y5wqF+SO{U=w8aVZ zve|0k4c4|eSA-H{0m7Ky4*}~#q)+arrH}9D>3wU?cfNynoeqpqli{-3#0Fx6M~Vh2 z^18D9Rc9F>d+j+*&5MmNy|#(2;jmc;-)!2M+uVEuW(OQ1N_oiHb5N>0FKWnn+1}FT z*03y&NBaLw6_u$NH<_!@NZ?}Jv&ODkTR3WMPH-IIL*o!OZh7OVb(a<#qbUB4vyfsd zxM={DEG=)S6d4+Upz3^y2{8oqHjG98OG;1|OLopi5@cj>#l4y<1u0g&F*Db8I)`Kx zT8bLoN_D_4(lnLMNwKz9>wOD+`glVO7(&1c&JMG0zffk++e33Uz{kX;-F0QYSAg%7 zRiB8!Ii7S~x8l5CQt*o+_&4wWzz2WnCx7~F{nr}&o-hDh0D|Rbx$lmfe!@Bb4uR~+ zFa9tLYx8-(5n`B=%HDD{m}i3t{L+#nSA-S_b8DPIGip}Jz7z1*?8o%O_q*kEx_NZY zrwGD)q2;u+v1&wH3Tz@oQ@IFh1rRkmh>JaVYMmz#1aJw?5u+VOvFHMiqbpmW%<{e1 z%=HpaF8j&ajB)FOASSa(f^paq!_gb1Wj5f%hKIcsvAOOA(rj{(^F1x5v}EV0#;psj zG`9ijU=}N30oY5!5NW+A#%Y<#HxxBgE!AOTk)=;mUUo#ytd>}0ZK-9p*&1;q)zfx3 z_NoHGh$E;ox-#?2N|T{3IV6_SJ4yApt@Mg{YoWiHIaouTWa*uIp0OSE4d;-!Ke6zW1^#uClNC*Ao1mPyjqt zHTbztUwz*B=b!fu06&sOA?ef_hGBI+@7JSL3ym=l#uzE;M%V&jZjH<5m(OlgFN}fgS_O}!}-)AJLPW_qt(1@P`^O2p)+}7kWDfzM=%?j8bN;I;i>ye_U_9c zCoX!+5>2V|K6Y*9M{@%kV9T>}n~-U9fW~pPnZ8oGKeP)6+A3Pb@^ocER7h;wSIg}! zU8aIew- zm<#0UzEtlylS5+V9%7U+Vz$6pnNduCo9`oKL6Zap1Hv#M#vXf@<8Z}Uv48P7m|wOF zJ%Jj~)AlvBvfApN3iwL9yQ%8quIv1=Pqy{B>U$`}_;VLt`uF~5{7OC%;CI>p;Hg0H zfBjc)?|$M(fA}9TySEGEf((Q)#sY+rl9M1(=YwfElAhCXYb+uZbzYd;;}|1Z0L@?+ zCF0Nq+~*IWyX6>nw;rSJWbn)`%?+LJz}*yCK4+IH*@m97BrWswM$wugltPezb^}b- zqKNBKrI>)W4`&l6Y5WQ=ngNb}lm^6NTlHDD_C;5Z1v zZ2p|$Kfw#yTb&=8yrYIgSpLsEcFue2s(fRcU)2^7GKAtLQ(E2P8)$%1 z+J0Te>2DHE5@LYF9wGDyTIroViQ(D1WVm9t^v^p>`rS(uGU#PMQ{a>QJ~1x@K2BAh zBwl#s@@0C9DrsET`IWBgwiOfBv?lt4d3^b3ZR4yK*&XD#CS<6rei>!c3hh?Q*RM)8_)G1jF2d=f~T>3V+Kn_%ELzzwadZ zdsdxi=i!_O`zf63KpG;%Y*2(J1+oRR#e!k6rOH4? z-^VOmvgfLdx665ZoQ-Jp+9~$<`Xp3JOfjF=KzjAIEIy4nu`QL=F%AlJLuqGY91y~Q zv$_~BSdro4?Gi5AiQ!p0rQb0@w5pgqtIMF5!HqP5jnn^0`J4s7N1)Q~Qk_ThWYVp4 zUANr;9{}7qo6Y|5#m~9&>hUY~M1$XH34o^pK>&39HCH|Dg7eS&MPmL(BC>3Oa2SU5 zd9NJ8Er3t~ki;lV@&;K%Qj44cPr)xr1|#OCwFk2+=CnB z5(s*b%TgDckrwy>2s_?X@mZq|0zDLC_~pO;&_{mzCx7~F!|BrUJ}Ch3kpSTr zuKVQqPdj_h|47Vl6_ITg2tx>cKMd<3gmrC?DgR#%)UKQ3K$%c#!7#>{LNN7X`SGLD zaB_tx_2b1{A-Cy4gbr=T2HhVz-vPq_iPL_qRk1;ynTJX5eQ4Z z!fQv6Ns6A4DMOaM$dZFBd&shb?3_S$PbKc`5O+@zU2-52ORTpbXa8it%e+6zF|lNT z%m7}dvs5r7U0m=c;B)LI-n(V*{c_C!ArRa7?VVrgI={rs-2&kI%?BRX|8HOT@^3r1=p;Yg!0$-|fDZ$L06@R->+e{4<9EOQ zhn@HT7{E7;fiShmVQt>e*Ck3XlET?@MQE2M=>8fCi>8t^k7x-?3B%YbA7k(){}-#WR)Wv<^VgDEph&ah_Y z>7?tHoO8=$*a!-I2cpE^xaXdG|HDgO^&N+wEWr1q1HeZLgaB~+jh}t_^3u{BFz%33#80H~_jTquwQW|-&gUgk1;0(eccuz_>Hwi^ z{@50PI0nO7%{7kAxplRFa^(n=s!wcuWivBO*Q-z>Ku^8%Q}5kM^LX|1J{N}JH?RK0 zHGlA<|M0)v*lK=rI)mSn5&$0!5PsywJAF6%cE?Y}?%h?~?_-62B1RnX2y$2yXfq8!tiHTn)+?2x$R0=IwF@Jo|Cm zHs|YHIedSCtup{P)bFOpjI%e{lsz*}0S&^$l2=BS+OSk;z z*S+xvSHB*B@9PEtPXUAt0NRgz;kr*gch}CH-|M~mULty-tmO)Fbwht4@igpQr_%_oN2CuR8$zN~%Htbj{y<@WS)YKkxOE zu6r#Jy%xZpMPO(@7A5u~62cIM7~=q72r)#_tInR}V_+P=PbPis%-d7v&0Zs?0?79L z`Y~&BMMT8J#LSL}JP6)7$IR>q)Y+iy&U zGhYVaQUKGfTHOVdmxpbU&b&Q!0PmFGM-ST`&j8#nBKM2P9U;U!=6!$1d_Mp3RabxF z=C}QmUs!#FK=+gYy{9w)eg&1`!&Zs_@QRncgn#9i{->v(efHTGO}g$JVm{9~K8K0V zX6ADMoX1R;5YaQv0Nk0kEe^fo0PaAtj69b9mg4}9ipZ)!j)xEqg&`b@5+7P$-#Bph zJ@-EF{r~lk9efx-I~B-1-ph(7O+fA8IAjlaR_+FE)4Cx7~FN6)+( zPYulb3P0ymASRFUYoBtUcLo3-dq8}oAEPs`%NfA?D!)d)3ZQ(-1Kyb%?ePJ`NAi50 zd9KgAJzl_h%KtwDc4uzNCmI;fJm+WL9`}mz4A7kcz^?~@Jo9$u?F_hmjo$u$?lBx) T|87W#00000NkvXXu0mjfQ&#ZR literal 0 HcmV?d00001 diff --git a/doc/site/images/ace-tab.png b/doc/site/images/ace-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..50298c102fd882a2fc6718fa917255c91079633c GIT binary patch literal 2655 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 B5oG`X literal 0 HcmV?d00001 diff --git a/doc/site/js/main.js b/doc/site/js/main.js index 6bfad39f..e8e65144 100644 --- a/doc/site/js/main.js +++ b/doc/site/js/main.js @@ -89,7 +89,7 @@ $(function() { } else if ($("body").scrollTop() > 345) { $("body").stop().animate({ - scrollTop: ($(el).offset().top - 15) + scrollTop: ($(el).offset().top - 10) }, 400); } } diff --git a/doc/site/style.css b/doc/site/style.css index bfb25f50..c1029ddb 100644 --- a/doc/site/style.css +++ b/doc/site/style.css @@ -148,14 +148,15 @@ UL{ float: left; font-weight: 100; font-family: Helvetica; - padding-top: 20px; + padding: 65px 0 0 14px; color: #333; } #top_container { + background: url(images/header-bg.png) 0 0; overflow: hidden; - padding: 15px 40px; - height: 280px; + padding: 11px 36px 19px 40px; + height: 267px; -webkit-transition: height 0.4s ease-out, opacity 0.4s ease-out, padding 0.4s ease-out, margin 0.4s ease-out; -moz-transition: height 0.4s ease-out, opacity 0.4s ease-out, padding 0.4s ease-out, margin 0.4s ease-out; opacity: 1; @@ -170,12 +171,11 @@ UL{ } #page_logo { - padding: 15px 0; + padding: 35px 0 15px 0; width: 350px; float: right; text-align: center; height: 220px; - padding-top: 45px; } .fork_on_github { @@ -281,7 +281,7 @@ li#add_your_site p { border: 3px solid #34A034; color: #34A034; border-radius: 34px; - padding: 3px 4px 4px 6px; + padding: 3px 4px 4px 5px; width: 20px; height: 22px; line-height: 18px; @@ -356,7 +356,7 @@ UL.menu-footer LI A:hover { } .nav-pills.nav { - margin: 25px 0 25px 0; + margin: 10px 0 25px 0; padding: 0; border-radius: 5px; border: 1px solid #d7d7d7; @@ -418,12 +418,15 @@ UL.menu-footer LI A:hover { } #top_container, .tab-content > .active, .pill-content > .active { - background: rgba(255, 255, 255, 0.7); border: 1px solid #DDD; border-radius: 5px; -moz-border-radius: 5px; } +.tab-content > .active, .pill-content > .active { + background: rgba(255, 255, 255, 0.7); +} + pre .xml .javascript, pre .xml .css { opacity: 1; } @@ -474,7 +477,7 @@ p.highlight_note a { } #sidebarContainer { - margin: 3px 20px 0 15px; + margin: 0px 20px 0 15px; } #api { diff --git a/index.html b/index.html index 874adfcb..69a718d2 100644 --- a/index.html +++ b/index.html @@ -5,8 +5,7 @@ ACE - The High Performance Code Editor for the Web - - + @@ -26,15 +25,16 @@
-

The high performance code editor for the web.

+

The high performance code editor for the web.

@@ -480,6 +480,9 @@ tests for the highlighting.

  • Qooxdoo playground
  • +
  • + Zorba XQuery +
  • Radiant CMS