{ "version": 3, "sources": ["../../../../node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js", "../../../../node_modules/d3/d3.js", "../../../../node_modules/c3/c3.js", "../../../../node_modules/moment/moment.js", "../../../../node_modules/nvd3/build/nv.d3.js", "../../../../node_modules/moment-timezone/moment-timezone.js", "../../../../node_modules/moment-timezone/data/packed/latest.json", "../../../../node_modules/moment-timezone/index.js", "../../../../node_modules/@hotwired/stimulus/dist/stimulus.js", "../../../javascript/packs/v2/application.js", "../../../javascript/packs/v2/controllers/admin/order_by_controller.js", "../../../javascript/packs/v2/controllers/admin/resellers_controller.js", "../../../javascript/packs/v2/controllers/alarms/assign_devices_controller.js", "../../../javascript/packs/v2/controllers/alarms/create_controller.js", "../../../javascript/packs/v2/controllers/alarms/edit_devices_controller.js", "../../../javascript/packs/v2/controllers/charts/average_daily_usage_controller.js", "../../../javascript/packs/v2/controllers/charts/helpers.js", "../../../javascript/packs/v2/controllers/charts/daily_usage_controller.js", "../../../javascript/packs/v2/helpers.js", "../../../javascript/packs/v2/controllers/charts/group_app_usage_all_controller.js", "../../../javascript/packs/v2/controllers/charts/group_app_usage_controller.js", "../../../javascript/packs/v2/controllers/charts/group_average_usage_controller.js", "../../../javascript/packs/v2/controllers/charts/group_monthly_usage_controller.js", "../../../javascript/packs/v2/controllers/charts/monthly_usage_controller.js", "../../../javascript/packs/v2/controllers/charts/monthly_usage_gague_controller.js", "../../../javascript/packs/v2/controllers/charts/roaming_countries_controller.js", "../../../javascript/packs/v2/controllers/charts/top_data_users_controller.js", "../../../javascript/packs/v2/controllers/charts/top_roaming_users_controller.js", "../../../javascript/packs/v2/controllers/charts/usage_percentage_controller.js", "../../../javascript/packs/v2/controllers/deals/logic_controller.js", "../../../javascript/packs/v2/controllers/deals/results_controller.js", "../../../javascript/packs/v2/controllers/devices/add_another_controller.js", "../../../javascript/packs/v2/controllers/devices/assign_alarms_controller.js", "../../../javascript/packs/v2/controllers/devices/data_allowance_controller.js", "../../../javascript/packs/v2/controllers/devices/data_allowance_totals_controller.js", "../../../javascript/packs/v2/controllers/devices/discount_controller.js", "../../../javascript/packs/v2/controllers/devices/edit_inline_controller.js", "../../../javascript/packs/v2/controllers/devices/filter_controller.js", "../../../javascript/packs/v2/controllers/devices/payment_details_controller.js", "../../../javascript/packs/v2/controllers/devices/select_all_controller.js", "../../../javascript/packs/v2/controllers/devices/selecting_allowance_controller.js", "../../../javascript/packs/v2/controllers/devices/switch_device_controller.js", "../../../javascript/packs/v2/controllers/devices/top_up_list_controller.js", "../../../javascript/packs/v2/controllers/devices/update_top_up_controller.js", "../../../../node_modules/flatpickr/dist/esm/types/options.js", "../../../../node_modules/flatpickr/dist/esm/l10n/default.js", "../../../../node_modules/flatpickr/dist/esm/utils/index.js", "../../../../node_modules/flatpickr/dist/esm/utils/dom.js", "../../../../node_modules/flatpickr/dist/esm/utils/formatting.js", "../../../../node_modules/flatpickr/dist/esm/utils/dates.js", "../../../../node_modules/flatpickr/dist/esm/utils/polyfills.js", "../../../../node_modules/flatpickr/dist/esm/index.js", "../../../../node_modules/stimulus-flatpickr/src/utils.js", "../../../../node_modules/stimulus-flatpickr/src/config_options.js", "../../../../node_modules/stimulus-flatpickr/src/events.js", "../../../../node_modules/stimulus-flatpickr/src/elements.js", "../../../../node_modules/stimulus-flatpickr/src/strftime_mapping.js", "../../../../node_modules/stimulus-flatpickr/src/index.js", "../../../javascript/packs/v2/controllers/forms/datepicker_controller.js", "../../../javascript/packs/v2/controllers/forms/file_upload_controller.js", "../../../javascript/packs/v2/controllers/forms/list_controller.js", "../../../javascript/packs/v2/controllers/forms/multi_toggle_controller.js", "../../../javascript/packs/v2/icons.js", "../../../javascript/packs/v2/controllers/forms/multiselect_controller.js", "../../../javascript/packs/v2/controllers/forms/remote_submit_controller.js", "../../../javascript/packs/v2/controllers/forms/select_controller.js", "../../../javascript/packs/v2/controllers/forms/select_modal_controller.js", "../../../javascript/packs/v2/controllers/forms/send_email_controller.js", "../../../javascript/packs/v2/controllers/forms/toggle_content_controller.js", "../../../javascript/packs/v2/controllers/forms/toggle_password_controller.js", "../../../javascript/packs/v2/controllers/forms/validator_controller.js", "../../../javascript/packs/v2/controllers/notifications/filter_controller.js", "../../../javascript/packs/v2/controllers/ui/assign_all_switch_controller.js", "../../../javascript/packs/v2/controllers/ui/back_to_top_controller.js", "../../../javascript/packs/v2/controllers/ui/expandable_text_controller.js", "../../../javascript/packs/v2/controllers/ui/floating_action_button_controller.js", "../../../javascript/packs/v2/controllers/ui/header_navigation_buttons_controller.js", "../../../javascript/packs/v2/controllers/ui/mobile_nav_controller.js", "../../../javascript/packs/v2/controllers/ui/modal_controller.js", "../../../javascript/packs/v2/controllers/ui/modal_open_controller.js", "../../../javascript/packs/v2/controllers/ui/notifications_controller.js", "../../../javascript/packs/v2/controllers/ui/slider_controller.js", "../../../javascript/packs/v2/controllers/ui/sticky_controller.js", "../../../javascript/packs/v2/controllers/ui/switch_device_menu_controller.js", "../../../javascript/packs/v2/controllers/ui/tabs_controller.js", "../../../javascript/packs/v2/controllers/ui/text_update_controller.js", "../../../javascript/packs/v2/controllers/ui/tool_tip_controller.js", "../../../javascript/packs/v2/controllers/ui/tool_tip_open_controller.js", "../../../javascript/packs/v2/controllers/users/register_interest_controller.js"], "sourcesContent": ["/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/assets/javascripts\nReleased under the MIT license\n */;\n\n(function() {\n var context = this;\n\n (function() {\n (function() {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form:not([data-turbo=true])',\n formInputClickSelector: 'form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n\n }).call(this);\n }).call(context);\n\n var Rails = context.Rails;\n\n (function() {\n (function() {\n var nonce;\n\n nonce = null;\n\n Rails.loadCSPNonce = function() {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function() {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n\n }).call(this);\n (function() {\n var expando, m;\n\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function(element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function(element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function(element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n return element[expando][key] = value;\n };\n\n Rails.$ = function(selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n\n }).call(this);\n (function() {\n var $, csrfParam, csrfToken;\n\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function() {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function() {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function(xhr) {\n var token;\n token = csrfToken();\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function() {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n if ((token != null) && (param != null)) {\n return $('form input[name=\"' + param + '\"]').forEach(function(input) {\n return input.value = token;\n });\n }\n };\n\n }).call(this);\n (function() {\n var CustomEvent, fire, matches, preventDefault;\n\n matches = Rails.matches;\n\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n CustomEvent.prototype.preventDefault = function() {\n var result;\n result = preventDefault.call(this);\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n }\n return result;\n };\n }\n\n fire = Rails.fire = function(obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function(e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function(element, selector, eventType, handler) {\n return element.addEventListener(eventType, function(e) {\n var target;\n target = e.target;\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n\n }).call(this);\n (function() {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function(options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function() {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n if ((options.beforeSend != null) && !options.beforeSend(xhr, options)) {\n return false;\n }\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n options.accept = AcceptHeaders[options.dataType];\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n return options;\n };\n\n createXHR = function(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n CSRFProtection(xhr);\n }\n xhr.withCredentials = !!options.withCredentials;\n xhr.onreadystatechange = function() {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n return xhr;\n };\n\n processResponse = function(response, type) {\n var parser, script;\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n return response;\n };\n\n Rails.href = function(element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function(url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n try {\n urlAnchor.href = url;\n return !(((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host) || (originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host));\n } catch (error) {\n e = error;\n return true;\n }\n };\n\n }).call(this);\n (function() {\n var matches, toArray;\n\n matches = Rails.matches;\n\n toArray = function(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function(element, additionalParam) {\n var inputs, params;\n inputs = [element];\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n params = [];\n inputs.forEach(function(input) {\n if (!input.name || input.disabled) {\n return;\n }\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function(option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n if (additionalParam) {\n params.push(additionalParam);\n }\n return params.map(function(param) {\n if (param.name != null) {\n return (encodeURIComponent(param.name)) + \"=\" + (encodeURIComponent(param.value));\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function(form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function(el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n\n }).call(this);\n (function() {\n var allowAction, fire, stopEverything;\n\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function(e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function(message, element) {\n return confirm(message);\n };\n\n allowAction = function(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n if (!message) {\n return true;\n }\n answer = false;\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n callback = fire(element, 'confirm:complete', [answer]);\n }\n return answer && callback;\n };\n\n }).call(this);\n (function() {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function(e) {\n var element;\n element = this;\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function(e) {\n var element;\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n element = e.target;\n } else {\n element = e;\n }\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function(e) {\n var element;\n element = e instanceof Event ? e.target : e;\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function(element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function(element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n setData(element, 'ujs:enable-with', null);\n }\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n\n }).call(this);\n (function() {\n var stopEverything;\n\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function(e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n if (!method) {\n return;\n }\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n if ((csrfParam != null) && (csrfToken != null) && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n\n }).call(this);\n (function() {\n var ajax, fire, getData, isCrossDomain, isRemote, matches, serializeElement, setData, stopEverything,\n slice = [].slice;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function(element) {\n var value;\n value = element.getAttribute('data-remote');\n return (value != null) && value !== 'false';\n };\n\n Rails.handleRemote = function(e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n if (!isRemote(element)) {\n return true;\n }\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: (withCredentials != null) && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function(e) {\n var button, form;\n button = this;\n form = button.form;\n if (!form) {\n return;\n }\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function(e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = (e.button != null) && e.button !== 0;\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n\n }).call(this);\n (function() {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if ((typeof jQuery !== \"undefined\" && jQuery !== null) && (jQuery.ajax != null)) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function(options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function() {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n window.addEventListener('pageshow', function() {\n $(Rails.formEnableSelector).forEach(function(el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function(el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function(e) {\n return setTimeout((function() {\n return disableElement(e);\n }), 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n\n }).call(this);\n }).call(this);\n\n if (typeof module === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);\n", "!function() {\n var d3 = {\n version: \"3.5.17\"\n };\n var d3_arraySlice = [].slice, d3_array = function(list) {\n return d3_arraySlice.call(list);\n };\n var d3_document = this.document;\n function d3_documentElement(node) {\n return node && (node.ownerDocument || node.document || node).documentElement;\n }\n function d3_window(node) {\n return node && (node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView);\n }\n if (d3_document) {\n try {\n d3_array(d3_document.documentElement.childNodes)[0].nodeType;\n } catch (e) {\n d3_array = function(list) {\n var i = list.length, array = new Array(i);\n while (i--) array[i] = list[i];\n return array;\n };\n }\n }\n if (!Date.now) Date.now = function() {\n return +new Date();\n };\n if (d3_document) {\n try {\n d3_document.createElement(\"DIV\").style.setProperty(\"opacity\", 0, \"\");\n } catch (error) {\n var d3_element_prototype = this.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = this.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty;\n d3_element_prototype.setAttribute = function(name, value) {\n d3_element_setAttribute.call(this, name, value + \"\");\n };\n d3_element_prototype.setAttributeNS = function(space, local, value) {\n d3_element_setAttributeNS.call(this, space, local, value + \"\");\n };\n d3_style_prototype.setProperty = function(name, value, priority) {\n d3_style_setProperty.call(this, name, value + \"\", priority);\n };\n }\n }\n d3.ascending = d3_ascending;\n function d3_ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n }\n d3.descending = function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n };\n d3.min = function(array, f) {\n var i = -1, n = array.length, a, b;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null && a > b) a = b;\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;\n }\n return a;\n };\n d3.max = function(array, f) {\n var i = -1, n = array.length, a, b;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null && b > a) a = b;\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b;\n }\n return a;\n };\n d3.extent = function(array, f) {\n var i = -1, n = array.length, a, b, c;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = c = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null) {\n if (a > b) a = b;\n if (c < b) c = b;\n }\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = c = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null) {\n if (a > b) a = b;\n if (c < b) c = b;\n }\n }\n return [ a, c ];\n };\n function d3_number(x) {\n return x === null ? NaN : +x;\n }\n function d3_numeric(x) {\n return !isNaN(x);\n }\n d3.sum = function(array, f) {\n var s = 0, n = array.length, a, i = -1;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = +array[i])) s += a;\n } else {\n while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a;\n }\n return s;\n };\n d3.mean = function(array, f) {\n var s = 0, n = array.length, a, i = -1, j = n;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j;\n } else {\n while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j;\n }\n if (j) return s / j;\n };\n d3.quantile = function(values, p) {\n var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h;\n return e ? v + e * (values[h] - v) : v;\n };\n d3.median = function(array, f) {\n var numbers = [], n = array.length, a, i = -1;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a);\n } else {\n while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a);\n }\n if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5);\n };\n d3.variance = function(array, f) {\n var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0;\n if (arguments.length === 1) {\n while (++i < n) {\n if (d3_numeric(a = d3_number(array[i]))) {\n d = a - m;\n m += d / ++j;\n s += d * (a - m);\n }\n }\n } else {\n while (++i < n) {\n if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) {\n d = a - m;\n m += d / ++j;\n s += d * (a - m);\n }\n }\n }\n if (j > 1) return s / (j - 1);\n };\n d3.deviation = function() {\n var v = d3.variance.apply(this, arguments);\n return v ? Math.sqrt(v) : v;\n };\n function d3_bisector(compare) {\n return {\n left: function(a, x, lo, hi) {\n if (arguments.length < 3) lo = 0;\n if (arguments.length < 4) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (arguments.length < 3) lo = 0;\n if (arguments.length < 4) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1;\n }\n return lo;\n }\n };\n }\n var d3_bisect = d3_bisector(d3_ascending);\n d3.bisectLeft = d3_bisect.left;\n d3.bisect = d3.bisectRight = d3_bisect.right;\n d3.bisector = function(f) {\n return d3_bisector(f.length === 1 ? function(d, x) {\n return d3_ascending(f(d), x);\n } : f);\n };\n d3.shuffle = function(array, i0, i1) {\n if ((m = arguments.length) < 3) {\n i1 = array.length;\n if (m < 2) i0 = 0;\n }\n var m = i1 - i0, t, i;\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t;\n }\n return array;\n };\n d3.permute = function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n };\n d3.pairs = function(array) {\n var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ];\n return pairs;\n };\n d3.transpose = function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = d3.min(matrix, d3_transposeLength), transpose = new Array(m); ++i < m; ) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n; ) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n };\n function d3_transposeLength(d) {\n return d.length;\n }\n d3.zip = function() {\n return d3.transpose(arguments);\n };\n d3.keys = function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n };\n d3.values = function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n };\n d3.entries = function(map) {\n var entries = [];\n for (var key in map) entries.push({\n key: key,\n value: map[key]\n });\n return entries;\n };\n d3.merge = function(arrays) {\n var n = arrays.length, m, i = -1, j = 0, merged, array;\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n return merged;\n };\n var abs = Math.abs;\n d3.range = function(start, stop, step) {\n if (arguments.length < 3) {\n step = 1;\n if (arguments.length < 2) {\n stop = start;\n start = 0;\n }\n }\n if ((stop - start) / step === Infinity) throw new Error(\"infinite range\");\n var range = [], k = d3_range_integerScale(abs(step)), i = -1, j;\n start *= k, stop *= k, step *= k;\n if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k);\n return range;\n };\n function d3_range_integerScale(x) {\n var k = 1;\n while (x * k % 1) k *= 10;\n return k;\n }\n function d3_class(ctor, properties) {\n for (var key in properties) {\n Object.defineProperty(ctor.prototype, key, {\n value: properties[key],\n enumerable: false\n });\n }\n }\n d3.map = function(object, f) {\n var map = new d3_Map();\n if (object instanceof d3_Map) {\n object.forEach(function(key, value) {\n map.set(key, value);\n });\n } else if (Array.isArray(object)) {\n var i = -1, n = object.length, o;\n if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o);\n } else {\n for (var key in object) map.set(key, object[key]);\n }\n return map;\n };\n function d3_Map() {\n this._ = Object.create(null);\n }\n var d3_map_proto = \"__proto__\", d3_map_zero = \"\\x00\";\n d3_class(d3_Map, {\n has: d3_map_has,\n get: function(key) {\n return this._[d3_map_escape(key)];\n },\n set: function(key, value) {\n return this._[d3_map_escape(key)] = value;\n },\n remove: d3_map_remove,\n keys: d3_map_keys,\n values: function() {\n var values = [];\n for (var key in this._) values.push(this._[key]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var key in this._) entries.push({\n key: d3_map_unescape(key),\n value: this._[key]\n });\n return entries;\n },\n size: d3_map_size,\n empty: d3_map_empty,\n forEach: function(f) {\n for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]);\n }\n });\n function d3_map_escape(key) {\n return (key += \"\") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key;\n }\n function d3_map_unescape(key) {\n return (key += \"\")[0] === d3_map_zero ? key.slice(1) : key;\n }\n function d3_map_has(key) {\n return d3_map_escape(key) in this._;\n }\n function d3_map_remove(key) {\n return (key = d3_map_escape(key)) in this._ && delete this._[key];\n }\n function d3_map_keys() {\n var keys = [];\n for (var key in this._) keys.push(d3_map_unescape(key));\n return keys;\n }\n function d3_map_size() {\n var size = 0;\n for (var key in this._) ++size;\n return size;\n }\n function d3_map_empty() {\n for (var key in this._) return false;\n return true;\n }\n d3.nest = function() {\n var nest = {}, keys = [], sortKeys = [], sortValues, rollup;\n function map(mapType, array, depth) {\n if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array;\n var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values;\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(object = array[i]))) {\n values.push(object);\n } else {\n valuesByKey.set(keyValue, [ object ]);\n }\n }\n if (mapType) {\n object = mapType();\n setter = function(keyValue, values) {\n object.set(keyValue, map(mapType, values, depth));\n };\n } else {\n object = {};\n setter = function(keyValue, values) {\n object[keyValue] = map(mapType, values, depth);\n };\n }\n valuesByKey.forEach(setter);\n return object;\n }\n function entries(map, depth) {\n if (depth >= keys.length) return map;\n var array = [], sortKey = sortKeys[depth++];\n map.forEach(function(key, keyMap) {\n array.push({\n key: key,\n values: entries(keyMap, depth)\n });\n });\n return sortKey ? array.sort(function(a, b) {\n return sortKey(a.key, b.key);\n }) : array;\n }\n nest.map = function(array, mapType) {\n return map(mapType, array, 0);\n };\n nest.entries = function(array) {\n return entries(map(d3.map, array, 0), 0);\n };\n nest.key = function(d) {\n keys.push(d);\n return nest;\n };\n nest.sortKeys = function(order) {\n sortKeys[keys.length - 1] = order;\n return nest;\n };\n nest.sortValues = function(order) {\n sortValues = order;\n return nest;\n };\n nest.rollup = function(f) {\n rollup = f;\n return nest;\n };\n return nest;\n };\n d3.set = function(array) {\n var set = new d3_Set();\n if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]);\n return set;\n };\n function d3_Set() {\n this._ = Object.create(null);\n }\n d3_class(d3_Set, {\n has: d3_map_has,\n add: function(key) {\n this._[d3_map_escape(key += \"\")] = true;\n return key;\n },\n remove: d3_map_remove,\n values: d3_map_keys,\n size: d3_map_size,\n empty: d3_map_empty,\n forEach: function(f) {\n for (var key in this._) f.call(this, d3_map_unescape(key));\n }\n });\n d3.behavior = {};\n function d3_identity(d) {\n return d;\n }\n d3.rebind = function(target, source) {\n var i = 1, n = arguments.length, method;\n while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]);\n return target;\n };\n function d3_rebind(target, source, method) {\n return function() {\n var value = method.apply(source, arguments);\n return value === source ? target : value;\n };\n }\n function d3_vendorSymbol(object, name) {\n if (name in object) return name;\n name = name.charAt(0).toUpperCase() + name.slice(1);\n for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) {\n var prefixName = d3_vendorPrefixes[i] + name;\n if (prefixName in object) return prefixName;\n }\n }\n var d3_vendorPrefixes = [ \"webkit\", \"ms\", \"moz\", \"Moz\", \"o\", \"O\" ];\n function d3_noop() {}\n d3.dispatch = function() {\n var dispatch = new d3_dispatch(), i = -1, n = arguments.length;\n while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n return dispatch;\n };\n function d3_dispatch() {}\n d3_dispatch.prototype.on = function(type, listener) {\n var i = type.indexOf(\".\"), name = \"\";\n if (i >= 0) {\n name = type.slice(i + 1);\n type = type.slice(0, i);\n }\n if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener);\n if (arguments.length === 2) {\n if (listener == null) for (type in this) {\n if (this.hasOwnProperty(type)) this[type].on(name, null);\n }\n return this;\n }\n };\n function d3_dispatch_event(dispatch) {\n var listeners = [], listenerByName = new d3_Map();\n function event() {\n var z = listeners, i = -1, n = z.length, l;\n while (++i < n) if (l = z[i].on) l.apply(this, arguments);\n return dispatch;\n }\n event.on = function(name, listener) {\n var l = listenerByName.get(name), i;\n if (arguments.length < 2) return l && l.on;\n if (l) {\n l.on = null;\n listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1));\n listenerByName.remove(name);\n }\n if (listener) listeners.push(listenerByName.set(name, {\n on: listener\n }));\n return dispatch;\n };\n return event;\n }\n d3.event = null;\n function d3_eventPreventDefault() {\n d3.event.preventDefault();\n }\n function d3_eventSource() {\n var e = d3.event, s;\n while (s = e.sourceEvent) e = s;\n return e;\n }\n function d3_eventDispatch(target) {\n var dispatch = new d3_dispatch(), i = 0, n = arguments.length;\n while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n dispatch.of = function(thiz, argumentz) {\n return function(e1) {\n try {\n var e0 = e1.sourceEvent = d3.event;\n e1.target = target;\n d3.event = e1;\n dispatch[e1.type].apply(thiz, argumentz);\n } finally {\n d3.event = e0;\n }\n };\n };\n return dispatch;\n }\n d3.requote = function(s) {\n return s.replace(d3_requote_re, \"\\\\$&\");\n };\n var d3_requote_re = /[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g;\n var d3_subclass = {}.__proto__ ? function(object, prototype) {\n object.__proto__ = prototype;\n } : function(object, prototype) {\n for (var property in prototype) object[property] = prototype[property];\n };\n function d3_selection(groups) {\n d3_subclass(groups, d3_selectionPrototype);\n return groups;\n }\n var d3_select = function(s, n) {\n return n.querySelector(s);\n }, d3_selectAll = function(s, n) {\n return n.querySelectorAll(s);\n }, d3_selectMatches = function(n, s) {\n var d3_selectMatcher = n.matches || n[d3_vendorSymbol(n, \"matchesSelector\")];\n d3_selectMatches = function(n, s) {\n return d3_selectMatcher.call(n, s);\n };\n return d3_selectMatches(n, s);\n };\n if (typeof Sizzle === \"function\") {\n d3_select = function(s, n) {\n return Sizzle(s, n)[0] || null;\n };\n d3_selectAll = Sizzle;\n d3_selectMatches = Sizzle.matchesSelector;\n }\n d3.selection = function() {\n return d3.select(d3_document.documentElement);\n };\n var d3_selectionPrototype = d3.selection.prototype = [];\n d3_selectionPrototype.select = function(selector) {\n var subgroups = [], subgroup, subnode, group, node;\n selector = d3_selection_selector(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n subgroup.parentNode = (group = this[j]).parentNode;\n for (var i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroup.push(subnode = selector.call(node, node.__data__, i, j));\n if (subnode && \"__data__\" in node) subnode.__data__ = node.__data__;\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_selector(selector) {\n return typeof selector === \"function\" ? selector : function() {\n return d3_select(selector, this);\n };\n }\n d3_selectionPrototype.selectAll = function(selector) {\n var subgroups = [], subgroup, node;\n selector = d3_selection_selectorAll(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j)));\n subgroup.parentNode = node;\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_selectorAll(selector) {\n return typeof selector === \"function\" ? selector : function() {\n return d3_selectAll(selector, this);\n };\n }\n var d3_nsXhtml = \"http://www.w3.org/1999/xhtml\";\n var d3_nsPrefix = {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: d3_nsXhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n };\n d3.ns = {\n prefix: d3_nsPrefix,\n qualify: function(name) {\n var i = name.indexOf(\":\"), prefix = name;\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return d3_nsPrefix.hasOwnProperty(prefix) ? {\n space: d3_nsPrefix[prefix],\n local: name\n } : name;\n }\n };\n d3_selectionPrototype.attr = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") {\n var node = this.node();\n name = d3.ns.qualify(name);\n return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name);\n }\n for (value in name) this.each(d3_selection_attr(value, name[value]));\n return this;\n }\n return this.each(d3_selection_attr(name, value));\n };\n function d3_selection_attr(name, value) {\n name = d3.ns.qualify(name);\n function attrNull() {\n this.removeAttribute(name);\n }\n function attrNullNS() {\n this.removeAttributeNS(name.space, name.local);\n }\n function attrConstant() {\n this.setAttribute(name, value);\n }\n function attrConstantNS() {\n this.setAttributeNS(name.space, name.local, value);\n }\n function attrFunction() {\n var x = value.apply(this, arguments);\n if (x == null) this.removeAttribute(name); else this.setAttribute(name, x);\n }\n function attrFunctionNS() {\n var x = value.apply(this, arguments);\n if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x);\n }\n return value == null ? name.local ? attrNullNS : attrNull : typeof value === \"function\" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant;\n }\n function d3_collapse(s) {\n return s.trim().replace(/\\s+/g, \" \");\n }\n d3_selectionPrototype.classed = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") {\n var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1;\n if (value = node.classList) {\n while (++i < n) if (!value.contains(name[i])) return false;\n } else {\n value = node.getAttribute(\"class\");\n while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false;\n }\n return true;\n }\n for (value in name) this.each(d3_selection_classed(value, name[value]));\n return this;\n }\n return this.each(d3_selection_classed(name, value));\n };\n function d3_selection_classedRe(name) {\n return new RegExp(\"(?:^|\\\\s+)\" + d3.requote(name) + \"(?:\\\\s+|$)\", \"g\");\n }\n function d3_selection_classes(name) {\n return (name + \"\").trim().split(/^|\\s+/);\n }\n function d3_selection_classed(name, value) {\n name = d3_selection_classes(name).map(d3_selection_classedName);\n var n = name.length;\n function classedConstant() {\n var i = -1;\n while (++i < n) name[i](this, value);\n }\n function classedFunction() {\n var i = -1, x = value.apply(this, arguments);\n while (++i < n) name[i](this, x);\n }\n return typeof value === \"function\" ? classedFunction : classedConstant;\n }\n function d3_selection_classedName(name) {\n var re = d3_selection_classedRe(name);\n return function(node, value) {\n if (c = node.classList) return value ? c.add(name) : c.remove(name);\n var c = node.getAttribute(\"class\") || \"\";\n if (value) {\n re.lastIndex = 0;\n if (!re.test(c)) node.setAttribute(\"class\", d3_collapse(c + \" \" + name));\n } else {\n node.setAttribute(\"class\", d3_collapse(c.replace(re, \" \")));\n }\n };\n }\n d3_selectionPrototype.style = function(name, value, priority) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof name !== \"string\") {\n if (n < 2) value = \"\";\n for (priority in name) this.each(d3_selection_style(priority, name[priority], value));\n return this;\n }\n if (n < 2) {\n var node = this.node();\n return d3_window(node).getComputedStyle(node, null).getPropertyValue(name);\n }\n priority = \"\";\n }\n return this.each(d3_selection_style(name, value, priority));\n };\n function d3_selection_style(name, value, priority) {\n function styleNull() {\n this.style.removeProperty(name);\n }\n function styleConstant() {\n this.style.setProperty(name, value, priority);\n }\n function styleFunction() {\n var x = value.apply(this, arguments);\n if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority);\n }\n return value == null ? styleNull : typeof value === \"function\" ? styleFunction : styleConstant;\n }\n d3_selectionPrototype.property = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") return this.node()[name];\n for (value in name) this.each(d3_selection_property(value, name[value]));\n return this;\n }\n return this.each(d3_selection_property(name, value));\n };\n function d3_selection_property(name, value) {\n function propertyNull() {\n delete this[name];\n }\n function propertyConstant() {\n this[name] = value;\n }\n function propertyFunction() {\n var x = value.apply(this, arguments);\n if (x == null) delete this[name]; else this[name] = x;\n }\n return value == null ? propertyNull : typeof value === \"function\" ? propertyFunction : propertyConstant;\n }\n d3_selectionPrototype.text = function(value) {\n return arguments.length ? this.each(typeof value === \"function\" ? function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n } : value == null ? function() {\n this.textContent = \"\";\n } : function() {\n this.textContent = value;\n }) : this.node().textContent;\n };\n d3_selectionPrototype.html = function(value) {\n return arguments.length ? this.each(typeof value === \"function\" ? function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n } : value == null ? function() {\n this.innerHTML = \"\";\n } : function() {\n this.innerHTML = value;\n }) : this.node().innerHTML;\n };\n d3_selectionPrototype.append = function(name) {\n name = d3_selection_creator(name);\n return this.select(function() {\n return this.appendChild(name.apply(this, arguments));\n });\n };\n function d3_selection_creator(name) {\n function create() {\n var document = this.ownerDocument, namespace = this.namespaceURI;\n return namespace === d3_nsXhtml && document.documentElement.namespaceURI === d3_nsXhtml ? document.createElement(name) : document.createElementNS(namespace, name);\n }\n function createNS() {\n return this.ownerDocument.createElementNS(name.space, name.local);\n }\n return typeof name === \"function\" ? name : (name = d3.ns.qualify(name)).local ? createNS : create;\n }\n d3_selectionPrototype.insert = function(name, before) {\n name = d3_selection_creator(name);\n before = d3_selection_selector(before);\n return this.select(function() {\n return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null);\n });\n };\n d3_selectionPrototype.remove = function() {\n return this.each(d3_selectionRemove);\n };\n function d3_selectionRemove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n }\n d3_selectionPrototype.data = function(value, key) {\n var i = -1, n = this.length, group, node;\n if (!arguments.length) {\n value = new Array(n = (group = this[0]).length);\n while (++i < n) {\n if (node = group[i]) {\n value[i] = node.__data__;\n }\n }\n return value;\n }\n function bind(group, groupData) {\n var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData;\n if (key) {\n var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue;\n for (i = -1; ++i < n; ) {\n if (node = group[i]) {\n if (nodeByKeyValue.has(keyValue = key.call(node, node.__data__, i))) {\n exitNodes[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n keyValues[i] = keyValue;\n }\n }\n for (i = -1; ++i < m; ) {\n if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) {\n enterNodes[i] = d3_selection_dataNode(nodeData);\n } else if (node !== true) {\n updateNodes[i] = node;\n node.__data__ = nodeData;\n }\n nodeByKeyValue.set(keyValue, true);\n }\n for (i = -1; ++i < n; ) {\n if (i in keyValues && nodeByKeyValue.get(keyValues[i]) !== true) {\n exitNodes[i] = group[i];\n }\n }\n } else {\n for (i = -1; ++i < n0; ) {\n node = group[i];\n nodeData = groupData[i];\n if (node) {\n node.__data__ = nodeData;\n updateNodes[i] = node;\n } else {\n enterNodes[i] = d3_selection_dataNode(nodeData);\n }\n }\n for (;i < m; ++i) {\n enterNodes[i] = d3_selection_dataNode(groupData[i]);\n }\n for (;i < n; ++i) {\n exitNodes[i] = group[i];\n }\n }\n enterNodes.update = updateNodes;\n enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode;\n enter.push(enterNodes);\n update.push(updateNodes);\n exit.push(exitNodes);\n }\n var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]);\n if (typeof value === \"function\") {\n while (++i < n) {\n bind(group = this[i], value.call(group, group.parentNode.__data__, i));\n }\n } else {\n while (++i < n) {\n bind(group = this[i], value);\n }\n }\n update.enter = function() {\n return enter;\n };\n update.exit = function() {\n return exit;\n };\n return update;\n };\n function d3_selection_dataNode(data) {\n return {\n __data__: data\n };\n }\n d3_selectionPrototype.datum = function(value) {\n return arguments.length ? this.property(\"__data__\", value) : this.property(\"__data__\");\n };\n d3_selectionPrototype.filter = function(filter) {\n var subgroups = [], subgroup, group, node;\n if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n subgroup.parentNode = (group = this[j]).parentNode;\n for (var i = 0, n = group.length; i < n; i++) {\n if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n subgroup.push(node);\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_filter(selector) {\n return function() {\n return d3_selectMatches(this, selector);\n };\n }\n d3_selectionPrototype.order = function() {\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) {\n if (node = group[i]) {\n if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n return this;\n };\n d3_selectionPrototype.sort = function(comparator) {\n comparator = d3_selection_sortComparator.apply(this, arguments);\n for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator);\n return this.order();\n };\n function d3_selection_sortComparator(comparator) {\n if (!arguments.length) comparator = d3_ascending;\n return function(a, b) {\n return a && b ? comparator(a.__data__, b.__data__) : !a - !b;\n };\n }\n d3_selectionPrototype.each = function(callback) {\n return d3_selection_each(this, function(node, i, j) {\n callback.call(node, node.__data__, i, j);\n });\n };\n function d3_selection_each(groups, callback) {\n for (var j = 0, m = groups.length; j < m; j++) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) {\n if (node = group[i]) callback(node, i, j);\n }\n }\n return groups;\n }\n d3_selectionPrototype.call = function(callback) {\n var args = d3_array(arguments);\n callback.apply(args[0] = this, args);\n return this;\n };\n d3_selectionPrototype.empty = function() {\n return !this.node();\n };\n d3_selectionPrototype.node = function() {\n for (var j = 0, m = this.length; j < m; j++) {\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n var node = group[i];\n if (node) return node;\n }\n }\n return null;\n };\n d3_selectionPrototype.size = function() {\n var n = 0;\n d3_selection_each(this, function() {\n ++n;\n });\n return n;\n };\n function d3_selection_enter(selection) {\n d3_subclass(selection, d3_selection_enterPrototype);\n return selection;\n }\n var d3_selection_enterPrototype = [];\n d3.selection.enter = d3_selection_enter;\n d3.selection.enter.prototype = d3_selection_enterPrototype;\n d3_selection_enterPrototype.append = d3_selectionPrototype.append;\n d3_selection_enterPrototype.empty = d3_selectionPrototype.empty;\n d3_selection_enterPrototype.node = d3_selectionPrototype.node;\n d3_selection_enterPrototype.call = d3_selectionPrototype.call;\n d3_selection_enterPrototype.size = d3_selectionPrototype.size;\n d3_selection_enterPrototype.select = function(selector) {\n var subgroups = [], subgroup, subnode, upgroup, group, node;\n for (var j = -1, m = this.length; ++j < m; ) {\n upgroup = (group = this[j]).update;\n subgroups.push(subgroup = []);\n subgroup.parentNode = group.parentNode;\n for (var i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j));\n subnode.__data__ = node.__data__;\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_selection(subgroups);\n };\n d3_selection_enterPrototype.insert = function(name, before) {\n if (arguments.length < 2) before = d3_selection_enterInsertBefore(this);\n return d3_selectionPrototype.insert.call(this, name, before);\n };\n function d3_selection_enterInsertBefore(enter) {\n var i0, j0;\n return function(d, i, j) {\n var group = enter[j].update, n = group.length, node;\n if (j != j0) j0 = j, i0 = 0;\n if (i >= i0) i0 = i + 1;\n while (!(node = group[i0]) && ++i0 < n) ;\n return node;\n };\n }\n d3.select = function(node) {\n var group;\n if (typeof node === \"string\") {\n group = [ d3_select(node, d3_document) ];\n group.parentNode = d3_document.documentElement;\n } else {\n group = [ node ];\n group.parentNode = d3_documentElement(node);\n }\n return d3_selection([ group ]);\n };\n d3.selectAll = function(nodes) {\n var group;\n if (typeof nodes === \"string\") {\n group = d3_array(d3_selectAll(nodes, d3_document));\n group.parentNode = d3_document.documentElement;\n } else {\n group = d3_array(nodes);\n group.parentNode = null;\n }\n return d3_selection([ group ]);\n };\n d3_selectionPrototype.on = function(type, listener, capture) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof type !== \"string\") {\n if (n < 2) listener = false;\n for (capture in type) this.each(d3_selection_on(capture, type[capture], listener));\n return this;\n }\n if (n < 2) return (n = this.node()[\"__on\" + type]) && n._;\n capture = false;\n }\n return this.each(d3_selection_on(type, listener, capture));\n };\n function d3_selection_on(type, listener, capture) {\n var name = \"__on\" + type, i = type.indexOf(\".\"), wrap = d3_selection_onListener;\n if (i > 0) type = type.slice(0, i);\n var filter = d3_selection_onFilters.get(type);\n if (filter) type = filter, wrap = d3_selection_onFilter;\n function onRemove() {\n var l = this[name];\n if (l) {\n this.removeEventListener(type, l, l.$);\n delete this[name];\n }\n }\n function onAdd() {\n var l = wrap(listener, d3_array(arguments));\n onRemove.call(this);\n this.addEventListener(type, this[name] = l, l.$ = capture);\n l._ = listener;\n }\n function removeAll() {\n var re = new RegExp(\"^__on([^.]+)\" + d3.requote(type) + \"$\"), match;\n for (var name in this) {\n if (match = name.match(re)) {\n var l = this[name];\n this.removeEventListener(match[1], l, l.$);\n delete this[name];\n }\n }\n }\n return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll;\n }\n var d3_selection_onFilters = d3.map({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\"\n });\n if (d3_document) {\n d3_selection_onFilters.forEach(function(k) {\n if (\"on\" + k in d3_document) d3_selection_onFilters.remove(k);\n });\n }\n function d3_selection_onListener(listener, argumentz) {\n return function(e) {\n var o = d3.event;\n d3.event = e;\n argumentz[0] = this.__data__;\n try {\n listener.apply(this, argumentz);\n } finally {\n d3.event = o;\n }\n };\n }\n function d3_selection_onFilter(listener, argumentz) {\n var l = d3_selection_onListener(listener, argumentz);\n return function(e) {\n var target = this, related = e.relatedTarget;\n if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) {\n l.call(target, e);\n }\n };\n }\n var d3_event_dragSelect, d3_event_dragId = 0;\n function d3_event_dragSuppress(node) {\n var name = \".dragsuppress-\" + ++d3_event_dragId, click = \"click\" + name, w = d3.select(d3_window(node)).on(\"touchmove\" + name, d3_eventPreventDefault).on(\"dragstart\" + name, d3_eventPreventDefault).on(\"selectstart\" + name, d3_eventPreventDefault);\n if (d3_event_dragSelect == null) {\n d3_event_dragSelect = \"onselectstart\" in node ? false : d3_vendorSymbol(node.style, \"userSelect\");\n }\n if (d3_event_dragSelect) {\n var style = d3_documentElement(node).style, select = style[d3_event_dragSelect];\n style[d3_event_dragSelect] = \"none\";\n }\n return function(suppressClick) {\n w.on(name, null);\n if (d3_event_dragSelect) style[d3_event_dragSelect] = select;\n if (suppressClick) {\n var off = function() {\n w.on(click, null);\n };\n w.on(click, function() {\n d3_eventPreventDefault();\n off();\n }, true);\n setTimeout(off, 0);\n }\n };\n }\n d3.mouse = function(container) {\n return d3_mousePoint(container, d3_eventSource());\n };\n var d3_mouse_bug44083 = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0;\n function d3_mousePoint(container, e) {\n if (e.changedTouches) e = e.changedTouches[0];\n var svg = container.ownerSVGElement || container;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n if (d3_mouse_bug44083 < 0) {\n var window = d3_window(container);\n if (window.scrollX || window.scrollY) {\n svg = d3.select(\"body\").append(\"svg\").style({\n position: \"absolute\",\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n border: \"none\"\n }, \"important\");\n var ctm = svg[0][0].getScreenCTM();\n d3_mouse_bug44083 = !(ctm.f || ctm.e);\n svg.remove();\n }\n }\n if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, \n point.y = e.clientY;\n point = point.matrixTransform(container.getScreenCTM().inverse());\n return [ point.x, point.y ];\n }\n var rect = container.getBoundingClientRect();\n return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ];\n }\n d3.touch = function(container, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches;\n if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return d3_mousePoint(container, touch);\n }\n }\n };\n d3.behavior.drag = function() {\n var event = d3_eventDispatch(drag, \"drag\", \"dragstart\", \"dragend\"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_window, \"mousemove\", \"mouseup\"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_identity, \"touchmove\", \"touchend\");\n function drag() {\n this.on(\"mousedown.drag\", mousedown).on(\"touchstart.drag\", touchstart);\n }\n function dragstart(id, position, subject, move, end) {\n return function() {\n var that = this, target = d3.event.target.correspondingElement || d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = \".drag\" + (dragId == null ? \"\" : \"-\" + dragId), dragOffset, dragSubject = d3.select(subject(target)).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(target), position0 = position(parent, dragId);\n if (origin) {\n dragOffset = origin.apply(that, arguments);\n dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ];\n } else {\n dragOffset = [ 0, 0 ];\n }\n dispatch({\n type: \"dragstart\"\n });\n function moved() {\n var position1 = position(parent, dragId), dx, dy;\n if (!position1) return;\n dx = position1[0] - position0[0];\n dy = position1[1] - position0[1];\n dragged |= dx | dy;\n position0 = position1;\n dispatch({\n type: \"drag\",\n x: position1[0] + dragOffset[0],\n y: position1[1] + dragOffset[1],\n dx: dx,\n dy: dy\n });\n }\n function ended() {\n if (!position(parent, dragId)) return;\n dragSubject.on(move + dragName, null).on(end + dragName, null);\n dragRestore(dragged);\n dispatch({\n type: \"dragend\"\n });\n }\n };\n }\n drag.origin = function(x) {\n if (!arguments.length) return origin;\n origin = x;\n return drag;\n };\n return d3.rebind(drag, event, \"on\");\n };\n function d3_behavior_dragTouchId() {\n return d3.event.changedTouches[0].identifier;\n }\n d3.touches = function(container, touches) {\n if (arguments.length < 2) touches = d3_eventSource().touches;\n return touches ? d3_array(touches).map(function(touch) {\n var point = d3_mousePoint(container, touch);\n point.identifier = touch.identifier;\n return point;\n }) : [];\n };\n var \u03B5 = 1e-6, \u03B52 = \u03B5 * \u03B5, \u03C0 = Math.PI, \u03C4 = 2 * \u03C0, \u03C4\u03B5 = \u03C4 - \u03B5, half\u03C0 = \u03C0 / 2, d3_radians = \u03C0 / 180, d3_degrees = 180 / \u03C0;\n function d3_sgn(x) {\n return x > 0 ? 1 : x < 0 ? -1 : 0;\n }\n function d3_cross2d(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);\n }\n function d3_acos(x) {\n return x > 1 ? 0 : x < -1 ? \u03C0 : Math.acos(x);\n }\n function d3_asin(x) {\n return x > 1 ? half\u03C0 : x < -1 ? -half\u03C0 : Math.asin(x);\n }\n function d3_sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n }\n function d3_cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n }\n function d3_tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n }\n function d3_haversin(x) {\n return (x = Math.sin(x / 2)) * x;\n }\n var \u03C1 = Math.SQRT2, \u03C12 = 2, \u03C14 = 4;\n d3.interpolateZoom = function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, i, S;\n if (d2 < \u03B52) {\n S = Math.log(w1 / w0) / \u03C1;\n i = function(t) {\n return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(\u03C1 * t * S) ];\n };\n } else {\n var d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + \u03C14 * d2) / (2 * w0 * \u03C12 * d1), b1 = (w1 * w1 - w0 * w0 - \u03C14 * d2) / (2 * w1 * \u03C12 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / \u03C1;\n i = function(t) {\n var s = t * S, coshr0 = d3_cosh(r0), u = w0 / (\u03C12 * d1) * (coshr0 * d3_tanh(\u03C1 * s + r0) - d3_sinh(r0));\n return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(\u03C1 * s + r0) ];\n };\n }\n i.duration = S * 1e3;\n return i;\n };\n d3.behavior.zoom = function() {\n var view = {\n x: 0,\n y: 0,\n k: 1\n }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = \"mousedown.zoom\", mousemove = \"mousemove.zoom\", mouseup = \"mouseup.zoom\", mousewheelTimer, touchstart = \"touchstart.zoom\", touchtime, event = d3_eventDispatch(zoom, \"zoomstart\", \"zoom\", \"zoomend\"), x0, x1, y0, y1;\n if (!d3_behavior_zoomWheel) {\n d3_behavior_zoomWheel = \"onwheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1);\n }, \"wheel\") : \"onmousewheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n return d3.event.wheelDelta;\n }, \"mousewheel\") : (d3_behavior_zoomDelta = function() {\n return -d3.event.detail;\n }, \"MozMousePixelScroll\");\n }\n function zoom(g) {\n g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + \".zoom\", mousewheeled).on(\"dblclick.zoom\", dblclicked).on(touchstart, touchstarted);\n }\n zoom.event = function(g) {\n g.each(function() {\n var dispatch = event.of(this, arguments), view1 = view;\n if (d3_transitionInheritId) {\n d3.select(this).transition().each(\"start.zoom\", function() {\n view = this.__chart__ || {\n x: 0,\n y: 0,\n k: 1\n };\n zoomstarted(dispatch);\n }).tween(\"zoom:zoom\", function() {\n var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]);\n return function(t) {\n var l = i(t), k = dx / l[2];\n this.__chart__ = view = {\n x: cx - l[0] * k,\n y: cy - l[1] * k,\n k: k\n };\n zoomed(dispatch);\n };\n }).each(\"interrupt.zoom\", function() {\n zoomended(dispatch);\n }).each(\"end.zoom\", function() {\n zoomended(dispatch);\n });\n } else {\n this.__chart__ = view;\n zoomstarted(dispatch);\n zoomed(dispatch);\n zoomended(dispatch);\n }\n });\n };\n zoom.translate = function(_) {\n if (!arguments.length) return [ view.x, view.y ];\n view = {\n x: +_[0],\n y: +_[1],\n k: view.k\n };\n rescale();\n return zoom;\n };\n zoom.scale = function(_) {\n if (!arguments.length) return view.k;\n view = {\n x: view.x,\n y: view.y,\n k: null\n };\n scaleTo(+_);\n rescale();\n return zoom;\n };\n zoom.scaleExtent = function(_) {\n if (!arguments.length) return scaleExtent;\n scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.center = function(_) {\n if (!arguments.length) return center;\n center = _ && [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.size = function(_) {\n if (!arguments.length) return size;\n size = _ && [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.duration = function(_) {\n if (!arguments.length) return duration;\n duration = +_;\n return zoom;\n };\n zoom.x = function(z) {\n if (!arguments.length) return x1;\n x1 = z;\n x0 = z.copy();\n view = {\n x: 0,\n y: 0,\n k: 1\n };\n return zoom;\n };\n zoom.y = function(z) {\n if (!arguments.length) return y1;\n y1 = z;\n y0 = z.copy();\n view = {\n x: 0,\n y: 0,\n k: 1\n };\n return zoom;\n };\n function location(p) {\n return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ];\n }\n function point(l) {\n return [ l[0] * view.k + view.x, l[1] * view.k + view.y ];\n }\n function scaleTo(s) {\n view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));\n }\n function translateTo(p, l) {\n l = point(l);\n view.x += p[0] - l[0];\n view.y += p[1] - l[1];\n }\n function zoomTo(that, p, l, k) {\n that.__chart__ = {\n x: view.x,\n y: view.y,\n k: view.k\n };\n scaleTo(Math.pow(2, k));\n translateTo(center0 = p, l);\n that = d3.select(that);\n if (duration > 0) that = that.transition().duration(duration);\n that.call(zoom.event);\n }\n function rescale() {\n if (x1) x1.domain(x0.range().map(function(x) {\n return (x - view.x) / view.k;\n }).map(x0.invert));\n if (y1) y1.domain(y0.range().map(function(y) {\n return (y - view.y) / view.k;\n }).map(y0.invert));\n }\n function zoomstarted(dispatch) {\n if (!zooming++) dispatch({\n type: \"zoomstart\"\n });\n }\n function zoomed(dispatch) {\n rescale();\n dispatch({\n type: \"zoom\",\n scale: view.k,\n translate: [ view.x, view.y ]\n });\n }\n function zoomended(dispatch) {\n if (!--zooming) dispatch({\n type: \"zoomend\"\n }), center0 = null;\n }\n function mousedowned() {\n var that = this, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window(that)).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(that);\n d3_selection_interrupt.call(that);\n zoomstarted(dispatch);\n function moved() {\n dragged = 1;\n translateTo(d3.mouse(that), location0);\n zoomed(dispatch);\n }\n function ended() {\n subject.on(mousemove, null).on(mouseup, null);\n dragRestore(dragged);\n zoomended(dispatch);\n }\n }\n function touchstarted() {\n var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = \".zoom-\" + d3.event.changedTouches[0].identifier, touchmove = \"touchmove\" + zoomName, touchend = \"touchend\" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(that);\n started();\n zoomstarted(dispatch);\n subject.on(mousedown, null).on(touchstart, started);\n function relocate() {\n var touches = d3.touches(that);\n scale0 = view.k;\n touches.forEach(function(t) {\n if (t.identifier in locations0) locations0[t.identifier] = location(t);\n });\n return touches;\n }\n function started() {\n var target = d3.event.target;\n d3.select(target).on(touchmove, moved).on(touchend, ended);\n targets.push(target);\n var changed = d3.event.changedTouches;\n for (var i = 0, n = changed.length; i < n; ++i) {\n locations0[changed[i].identifier] = null;\n }\n var touches = relocate(), now = Date.now();\n if (touches.length === 1) {\n if (now - touchtime < 500) {\n var p = touches[0];\n zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1);\n d3_eventPreventDefault();\n }\n touchtime = now;\n } else if (touches.length > 1) {\n var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1];\n distance0 = dx * dx + dy * dy;\n }\n }\n function moved() {\n var touches = d3.touches(that), p0, l0, p1, l1;\n d3_selection_interrupt.call(that);\n for (var i = 0, n = touches.length; i < n; ++i, l1 = null) {\n p1 = touches[i];\n if (l1 = locations0[p1.identifier]) {\n if (l0) break;\n p0 = p1, l0 = l1;\n }\n }\n if (l1) {\n var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0);\n p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ];\n l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ];\n scaleTo(scale1 * scale0);\n }\n touchtime = null;\n translateTo(p0, l0);\n zoomed(dispatch);\n }\n function ended() {\n if (d3.event.touches.length) {\n var changed = d3.event.changedTouches;\n for (var i = 0, n = changed.length; i < n; ++i) {\n delete locations0[changed[i].identifier];\n }\n for (var identifier in locations0) {\n return void relocate();\n }\n }\n d3.selectAll(targets).on(zoomName, null);\n subject.on(mousedown, mousedowned).on(touchstart, touchstarted);\n dragRestore();\n zoomended(dispatch);\n }\n }\n function mousewheeled() {\n var dispatch = event.of(this, arguments);\n if (mousewheelTimer) clearTimeout(mousewheelTimer); else d3_selection_interrupt.call(this), \n translate0 = location(center0 = center || d3.mouse(this)), zoomstarted(dispatch);\n mousewheelTimer = setTimeout(function() {\n mousewheelTimer = null;\n zoomended(dispatch);\n }, 50);\n d3_eventPreventDefault();\n scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);\n translateTo(center0, translate0);\n zoomed(dispatch);\n }\n function dblclicked() {\n var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2;\n zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1);\n }\n return d3.rebind(zoom, event, \"on\");\n };\n var d3_behavior_zoomInfinity = [ 0, Infinity ], d3_behavior_zoomDelta, d3_behavior_zoomWheel;\n d3.color = d3_color;\n function d3_color() {}\n d3_color.prototype.toString = function() {\n return this.rgb() + \"\";\n };\n d3.hsl = d3_hsl;\n function d3_hsl(h, s, l) {\n return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse(\"\" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l);\n }\n var d3_hslPrototype = d3_hsl.prototype = new d3_color();\n d3_hslPrototype.brighter = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_hsl(this.h, this.s, this.l / k);\n };\n d3_hslPrototype.darker = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_hsl(this.h, this.s, k * this.l);\n };\n d3_hslPrototype.rgb = function() {\n return d3_hsl_rgb(this.h, this.s, this.l);\n };\n function d3_hsl_rgb(h, s, l) {\n var m1, m2;\n h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h;\n s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n m2 = l <= .5 ? l * (1 + s) : l + s - l * s;\n m1 = 2 * l - m2;\n function v(h) {\n if (h > 360) h -= 360; else if (h < 0) h += 360;\n if (h < 60) return m1 + (m2 - m1) * h / 60;\n if (h < 180) return m2;\n if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;\n return m1;\n }\n function vv(h) {\n return Math.round(v(h) * 255);\n }\n return new d3_rgb(vv(h + 120), vv(h), vv(h - 120));\n }\n d3.hcl = d3_hcl;\n function d3_hcl(h, c, l) {\n return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l);\n }\n var d3_hclPrototype = d3_hcl.prototype = new d3_color();\n d3_hclPrototype.brighter = function(k) {\n return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)));\n };\n d3_hclPrototype.darker = function(k) {\n return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));\n };\n d3_hclPrototype.rgb = function() {\n return d3_hcl_lab(this.h, this.c, this.l).rgb();\n };\n function d3_hcl_lab(h, c, l) {\n if (isNaN(h)) h = 0;\n if (isNaN(c)) c = 0;\n return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c);\n }\n d3.lab = d3_lab;\n function d3_lab(l, a, b) {\n return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b);\n }\n var d3_lab_K = 18;\n var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883;\n var d3_labPrototype = d3_lab.prototype = new d3_color();\n d3_labPrototype.brighter = function(k) {\n return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n };\n d3_labPrototype.darker = function(k) {\n return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n };\n d3_labPrototype.rgb = function() {\n return d3_lab_rgb(this.l, this.a, this.b);\n };\n function d3_lab_rgb(l, a, b) {\n var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200;\n x = d3_lab_xyz(x) * d3_lab_X;\n y = d3_lab_xyz(y) * d3_lab_Y;\n z = d3_lab_xyz(z) * d3_lab_Z;\n return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z));\n }\n function d3_lab_hcl(l, a, b) {\n return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l);\n }\n function d3_lab_xyz(x) {\n return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037;\n }\n function d3_xyz_lab(x) {\n return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29;\n }\n function d3_xyz_rgb(r) {\n return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055));\n }\n d3.rgb = d3_rgb;\n function d3_rgb(r, g, b) {\n return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse(\"\" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b);\n }\n function d3_rgbNumber(value) {\n return new d3_rgb(value >> 16, value >> 8 & 255, value & 255);\n }\n function d3_rgbString(value) {\n return d3_rgbNumber(value) + \"\";\n }\n var d3_rgbPrototype = d3_rgb.prototype = new d3_color();\n d3_rgbPrototype.brighter = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n var r = this.r, g = this.g, b = this.b, i = 30;\n if (!r && !g && !b) return new d3_rgb(i, i, i);\n if (r && r < i) r = i;\n if (g && g < i) g = i;\n if (b && b < i) b = i;\n return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k));\n };\n d3_rgbPrototype.darker = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_rgb(k * this.r, k * this.g, k * this.b);\n };\n d3_rgbPrototype.hsl = function() {\n return d3_rgb_hsl(this.r, this.g, this.b);\n };\n d3_rgbPrototype.toString = function() {\n return \"#\" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b);\n };\n function d3_rgb_hex(v) {\n return v < 16 ? \"0\" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16);\n }\n function d3_rgb_parse(format, rgb, hsl) {\n var r = 0, g = 0, b = 0, m1, m2, color;\n m1 = /([a-z]+)\\((.*)\\)/.exec(format = format.toLowerCase());\n if (m1) {\n m2 = m1[2].split(\",\");\n switch (m1[1]) {\n case \"hsl\":\n {\n return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100);\n }\n\n case \"rgb\":\n {\n return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2]));\n }\n }\n }\n if (color = d3_rgb_names.get(format)) {\n return rgb(color.r, color.g, color.b);\n }\n if (format != null && format.charAt(0) === \"#\" && !isNaN(color = parseInt(format.slice(1), 16))) {\n if (format.length === 4) {\n r = (color & 3840) >> 4;\n r = r >> 4 | r;\n g = color & 240;\n g = g >> 4 | g;\n b = color & 15;\n b = b << 4 | b;\n } else if (format.length === 7) {\n r = (color & 16711680) >> 16;\n g = (color & 65280) >> 8;\n b = color & 255;\n }\n }\n return rgb(r, g, b);\n }\n function d3_rgb_hsl(r, g, b) {\n var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2;\n if (d) {\n s = l < .5 ? d / (max + min) : d / (2 - max - min);\n if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4;\n h *= 60;\n } else {\n h = NaN;\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new d3_hsl(h, s, l);\n }\n function d3_rgb_lab(r, g, b) {\n r = d3_rgb_xyz(r);\n g = d3_rgb_xyz(g);\n b = d3_rgb_xyz(b);\n var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z);\n return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z));\n }\n function d3_rgb_xyz(r) {\n return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4);\n }\n function d3_rgb_parseNumber(c) {\n var f = parseFloat(c);\n return c.charAt(c.length - 1) === \"%\" ? Math.round(f * 2.55) : f;\n }\n var d3_rgb_names = d3.map({\n aliceblue: 15792383,\n antiquewhite: 16444375,\n aqua: 65535,\n aquamarine: 8388564,\n azure: 15794175,\n beige: 16119260,\n bisque: 16770244,\n black: 0,\n blanchedalmond: 16772045,\n blue: 255,\n blueviolet: 9055202,\n brown: 10824234,\n burlywood: 14596231,\n cadetblue: 6266528,\n chartreuse: 8388352,\n chocolate: 13789470,\n coral: 16744272,\n cornflowerblue: 6591981,\n cornsilk: 16775388,\n crimson: 14423100,\n cyan: 65535,\n darkblue: 139,\n darkcyan: 35723,\n darkgoldenrod: 12092939,\n darkgray: 11119017,\n darkgreen: 25600,\n darkgrey: 11119017,\n darkkhaki: 12433259,\n darkmagenta: 9109643,\n darkolivegreen: 5597999,\n darkorange: 16747520,\n darkorchid: 10040012,\n darkred: 9109504,\n darksalmon: 15308410,\n darkseagreen: 9419919,\n darkslateblue: 4734347,\n darkslategray: 3100495,\n darkslategrey: 3100495,\n darkturquoise: 52945,\n darkviolet: 9699539,\n deeppink: 16716947,\n deepskyblue: 49151,\n dimgray: 6908265,\n dimgrey: 6908265,\n dodgerblue: 2003199,\n firebrick: 11674146,\n floralwhite: 16775920,\n forestgreen: 2263842,\n fuchsia: 16711935,\n gainsboro: 14474460,\n ghostwhite: 16316671,\n gold: 16766720,\n goldenrod: 14329120,\n gray: 8421504,\n green: 32768,\n greenyellow: 11403055,\n grey: 8421504,\n honeydew: 15794160,\n hotpink: 16738740,\n indianred: 13458524,\n indigo: 4915330,\n ivory: 16777200,\n khaki: 15787660,\n lavender: 15132410,\n lavenderblush: 16773365,\n lawngreen: 8190976,\n lemonchiffon: 16775885,\n lightblue: 11393254,\n lightcoral: 15761536,\n lightcyan: 14745599,\n lightgoldenrodyellow: 16448210,\n lightgray: 13882323,\n lightgreen: 9498256,\n lightgrey: 13882323,\n lightpink: 16758465,\n lightsalmon: 16752762,\n lightseagreen: 2142890,\n lightskyblue: 8900346,\n lightslategray: 7833753,\n lightslategrey: 7833753,\n lightsteelblue: 11584734,\n lightyellow: 16777184,\n lime: 65280,\n limegreen: 3329330,\n linen: 16445670,\n magenta: 16711935,\n maroon: 8388608,\n mediumaquamarine: 6737322,\n mediumblue: 205,\n mediumorchid: 12211667,\n mediumpurple: 9662683,\n mediumseagreen: 3978097,\n mediumslateblue: 8087790,\n mediumspringgreen: 64154,\n mediumturquoise: 4772300,\n mediumvioletred: 13047173,\n midnightblue: 1644912,\n mintcream: 16121850,\n mistyrose: 16770273,\n moccasin: 16770229,\n navajowhite: 16768685,\n navy: 128,\n oldlace: 16643558,\n olive: 8421376,\n olivedrab: 7048739,\n orange: 16753920,\n orangered: 16729344,\n orchid: 14315734,\n palegoldenrod: 15657130,\n palegreen: 10025880,\n paleturquoise: 11529966,\n palevioletred: 14381203,\n papayawhip: 16773077,\n peachpuff: 16767673,\n peru: 13468991,\n pink: 16761035,\n plum: 14524637,\n powderblue: 11591910,\n purple: 8388736,\n rebeccapurple: 6697881,\n red: 16711680,\n rosybrown: 12357519,\n royalblue: 4286945,\n saddlebrown: 9127187,\n salmon: 16416882,\n sandybrown: 16032864,\n seagreen: 3050327,\n seashell: 16774638,\n sienna: 10506797,\n silver: 12632256,\n skyblue: 8900331,\n slateblue: 6970061,\n slategray: 7372944,\n slategrey: 7372944,\n snow: 16775930,\n springgreen: 65407,\n steelblue: 4620980,\n tan: 13808780,\n teal: 32896,\n thistle: 14204888,\n tomato: 16737095,\n turquoise: 4251856,\n violet: 15631086,\n wheat: 16113331,\n white: 16777215,\n whitesmoke: 16119285,\n yellow: 16776960,\n yellowgreen: 10145074\n });\n d3_rgb_names.forEach(function(key, value) {\n d3_rgb_names.set(key, d3_rgbNumber(value));\n });\n function d3_functor(v) {\n return typeof v === \"function\" ? v : function() {\n return v;\n };\n }\n d3.functor = d3_functor;\n d3.xhr = d3_xhrType(d3_identity);\n function d3_xhrType(response) {\n return function(url, mimeType, callback) {\n if (arguments.length === 2 && typeof mimeType === \"function\") callback = mimeType, \n mimeType = null;\n return d3_xhr(url, mimeType, response, callback);\n };\n }\n function d3_xhr(url, mimeType, response, callback) {\n var xhr = {}, dispatch = d3.dispatch(\"beforesend\", \"progress\", \"load\", \"error\"), headers = {}, request = new XMLHttpRequest(), responseType = null;\n if (this.XDomainRequest && !(\"withCredentials\" in request) && /^(http(s)?:)?\\/\\//.test(url)) request = new XDomainRequest();\n \"onload\" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() {\n request.readyState > 3 && respond();\n };\n function respond() {\n var status = request.status, result;\n if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) {\n try {\n result = response.call(xhr, request);\n } catch (e) {\n dispatch.error.call(xhr, e);\n return;\n }\n dispatch.load.call(xhr, result);\n } else {\n dispatch.error.call(xhr, request);\n }\n }\n request.onprogress = function(event) {\n var o = d3.event;\n d3.event = event;\n try {\n dispatch.progress.call(xhr, request);\n } finally {\n d3.event = o;\n }\n };\n xhr.header = function(name, value) {\n name = (name + \"\").toLowerCase();\n if (arguments.length < 2) return headers[name];\n if (value == null) delete headers[name]; else headers[name] = value + \"\";\n return xhr;\n };\n xhr.mimeType = function(value) {\n if (!arguments.length) return mimeType;\n mimeType = value == null ? null : value + \"\";\n return xhr;\n };\n xhr.responseType = function(value) {\n if (!arguments.length) return responseType;\n responseType = value;\n return xhr;\n };\n xhr.response = function(value) {\n response = value;\n return xhr;\n };\n [ \"get\", \"post\" ].forEach(function(method) {\n xhr[method] = function() {\n return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments)));\n };\n });\n xhr.send = function(method, data, callback) {\n if (arguments.length === 2 && typeof data === \"function\") callback = data, data = null;\n request.open(method, url, true);\n if (mimeType != null && !(\"accept\" in headers)) headers[\"accept\"] = mimeType + \",*/*\";\n if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]);\n if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType);\n if (responseType != null) request.responseType = responseType;\n if (callback != null) xhr.on(\"error\", callback).on(\"load\", function(request) {\n callback(null, request);\n });\n dispatch.beforesend.call(xhr, request);\n request.send(data == null ? null : data);\n return xhr;\n };\n xhr.abort = function() {\n request.abort();\n return xhr;\n };\n d3.rebind(xhr, dispatch, \"on\");\n return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback));\n }\n function d3_xhr_fixCallback(callback) {\n return callback.length === 1 ? function(error, request) {\n callback(error == null ? request : null);\n } : callback;\n }\n function d3_xhrHasResponse(request) {\n var type = request.responseType;\n return type && type !== \"text\" ? request.response : request.responseText;\n }\n d3.dsv = function(delimiter, mimeType) {\n var reFormat = new RegExp('[\"' + delimiter + \"\\n]\"), delimiterCode = delimiter.charCodeAt(0);\n function dsv(url, row, callback) {\n if (arguments.length < 3) callback = row, row = null;\n var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback);\n xhr.row = function(_) {\n return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row;\n };\n return xhr;\n }\n function response(request) {\n return dsv.parse(request.responseText);\n }\n function typedResponse(f) {\n return function(request) {\n return dsv.parse(request.responseText, f);\n };\n }\n dsv.parse = function(text, f) {\n var o;\n return dsv.parseRows(text, function(row, i) {\n if (o) return o(row, i - 1);\n var a = new Function(\"d\", \"return {\" + row.map(function(name, i) {\n return JSON.stringify(name) + \": d[\" + i + \"]\";\n }).join(\",\") + \"}\");\n o = f ? function(row, i) {\n return f(a(row), i);\n } : a;\n });\n };\n dsv.parseRows = function(text, f) {\n var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol;\n function token() {\n if (I >= N) return EOF;\n if (eol) return eol = false, EOL;\n var j = I;\n if (text.charCodeAt(j) === 34) {\n var i = j;\n while (i++ < N) {\n if (text.charCodeAt(i) === 34) {\n if (text.charCodeAt(i + 1) !== 34) break;\n ++i;\n }\n }\n I = i + 2;\n var c = text.charCodeAt(i + 1);\n if (c === 13) {\n eol = true;\n if (text.charCodeAt(i + 2) === 10) ++I;\n } else if (c === 10) {\n eol = true;\n }\n return text.slice(j + 1, i).replace(/\"\"/g, '\"');\n }\n while (I < N) {\n var c = text.charCodeAt(I++), k = 1;\n if (c === 10) eol = true; else if (c === 13) {\n eol = true;\n if (text.charCodeAt(I) === 10) ++I, ++k;\n } else if (c !== delimiterCode) continue;\n return text.slice(j, I - k);\n }\n return text.slice(j);\n }\n while ((t = token()) !== EOF) {\n var a = [];\n while (t !== EOL && t !== EOF) {\n a.push(t);\n t = token();\n }\n if (f && (a = f(a, n++)) == null) continue;\n rows.push(a);\n }\n return rows;\n };\n dsv.format = function(rows) {\n if (Array.isArray(rows[0])) return dsv.formatRows(rows);\n var fieldSet = new d3_Set(), fields = [];\n rows.forEach(function(row) {\n for (var field in row) {\n if (!fieldSet.has(field)) {\n fields.push(fieldSet.add(field));\n }\n }\n });\n return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) {\n return fields.map(function(field) {\n return formatValue(row[field]);\n }).join(delimiter);\n })).join(\"\\n\");\n };\n dsv.formatRows = function(rows) {\n return rows.map(formatRow).join(\"\\n\");\n };\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n function formatValue(text) {\n return reFormat.test(text) ? '\"' + text.replace(/\\\"/g, '\"\"') + '\"' : text;\n }\n return dsv;\n };\n d3.csv = d3.dsv(\",\", \"text/csv\");\n d3.tsv = d3.dsv(\"\t\", \"text/tab-separated-values\");\n var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_frame = this[d3_vendorSymbol(this, \"requestAnimationFrame\")] || function(callback) {\n setTimeout(callback, 17);\n };\n d3.timer = function() {\n d3_timer.apply(this, arguments);\n };\n function d3_timer(callback, delay, then) {\n var n = arguments.length;\n if (n < 2) delay = 0;\n if (n < 3) then = Date.now();\n var time = then + delay, timer = {\n c: callback,\n t: time,\n n: null\n };\n if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer;\n d3_timer_queueTail = timer;\n if (!d3_timer_interval) {\n d3_timer_timeout = clearTimeout(d3_timer_timeout);\n d3_timer_interval = 1;\n d3_timer_frame(d3_timer_step);\n }\n return timer;\n }\n function d3_timer_step() {\n var now = d3_timer_mark(), delay = d3_timer_sweep() - now;\n if (delay > 24) {\n if (isFinite(delay)) {\n clearTimeout(d3_timer_timeout);\n d3_timer_timeout = setTimeout(d3_timer_step, delay);\n }\n d3_timer_interval = 0;\n } else {\n d3_timer_interval = 1;\n d3_timer_frame(d3_timer_step);\n }\n }\n d3.timer.flush = function() {\n d3_timer_mark();\n d3_timer_sweep();\n };\n function d3_timer_mark() {\n var now = Date.now(), timer = d3_timer_queueHead;\n while (timer) {\n if (now >= timer.t && timer.c(now - timer.t)) timer.c = null;\n timer = timer.n;\n }\n return now;\n }\n function d3_timer_sweep() {\n var t0, t1 = d3_timer_queueHead, time = Infinity;\n while (t1) {\n if (t1.c) {\n if (t1.t < time) time = t1.t;\n t1 = (t0 = t1).n;\n } else {\n t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n;\n }\n }\n d3_timer_queueTail = t0;\n return time;\n }\n function d3_format_precision(x, p) {\n return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1);\n }\n d3.round = function(x, n) {\n return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x);\n };\n var d3_formatPrefixes = [ \"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"\u00B5\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\" ].map(d3_formatPrefix);\n d3.formatPrefix = function(value, precision) {\n var i = 0;\n if (value = +value) {\n if (value < 0) value *= -1;\n if (precision) value = d3.round(value, d3_format_precision(value, precision));\n i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10);\n i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3));\n }\n return d3_formatPrefixes[8 + i / 3];\n };\n function d3_formatPrefix(d, i) {\n var k = Math.pow(10, abs(8 - i) * 3);\n return {\n scale: i > 8 ? function(d) {\n return d / k;\n } : function(d) {\n return d * k;\n },\n symbol: d\n };\n }\n function d3_locale_numberFormat(locale) {\n var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) {\n var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0;\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = locale_grouping[j = (j + 1) % locale_grouping.length];\n }\n return t.reverse().join(locale_thousands);\n } : d3_identity;\n return function(specifier) {\n var match = d3_format_re.exec(specifier), fill = match[1] || \" \", align = match[2] || \">\", sign = match[3] || \"-\", symbol = match[4] || \"\", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = \"\", suffix = \"\", integer = false, exponent = true;\n if (precision) precision = +precision.substring(1);\n if (zfill || fill === \"0\" && align === \"=\") {\n zfill = fill = \"0\";\n align = \"=\";\n }\n switch (type) {\n case \"n\":\n comma = true;\n type = \"g\";\n break;\n\n case \"%\":\n scale = 100;\n suffix = \"%\";\n type = \"f\";\n break;\n\n case \"p\":\n scale = 100;\n suffix = \"%\";\n type = \"r\";\n break;\n\n case \"b\":\n case \"o\":\n case \"x\":\n case \"X\":\n if (symbol === \"#\") prefix = \"0\" + type.toLowerCase();\n\n case \"c\":\n exponent = false;\n\n case \"d\":\n integer = true;\n precision = 0;\n break;\n\n case \"s\":\n scale = -1;\n type = \"r\";\n break;\n }\n if (symbol === \"$\") prefix = locale_currency[0], suffix = locale_currency[1];\n if (type == \"r\" && !precision) type = \"g\";\n if (precision != null) {\n if (type == \"g\") precision = Math.max(1, Math.min(21, precision)); else if (type == \"e\" || type == \"f\") precision = Math.max(0, Math.min(20, precision));\n }\n type = d3_format_types.get(type) || d3_format_typeDefault;\n var zcomma = zfill && comma;\n return function(value) {\n var fullSuffix = suffix;\n if (integer && value % 1) return \"\";\n var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, \"-\") : sign === \"-\" ? \"\" : sign;\n if (scale < 0) {\n var unit = d3.formatPrefix(value, precision);\n value = unit.scale(value);\n fullSuffix = unit.symbol + suffix;\n } else {\n value *= scale;\n }\n value = type(value, precision);\n var i = value.lastIndexOf(\".\"), before, after;\n if (i < 0) {\n var j = exponent ? value.lastIndexOf(\"e\") : -1;\n if (j < 0) before = value, after = \"\"; else before = value.substring(0, j), after = value.substring(j);\n } else {\n before = value.substring(0, i);\n after = locale_decimal + value.substring(i + 1);\n }\n if (!zfill && comma) before = formatGroup(before, Infinity);\n var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : \"\";\n if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity);\n negative += prefix;\n value = before + after;\n return (align === \"<\" ? negative + value + padding : align === \">\" ? padding + negative + value : align === \"^\" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix;\n };\n };\n }\n var d3_format_re = /(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i;\n var d3_format_types = d3.map({\n b: function(x) {\n return x.toString(2);\n },\n c: function(x) {\n return String.fromCharCode(x);\n },\n o: function(x) {\n return x.toString(8);\n },\n x: function(x) {\n return x.toString(16);\n },\n X: function(x) {\n return x.toString(16).toUpperCase();\n },\n g: function(x, p) {\n return x.toPrecision(p);\n },\n e: function(x, p) {\n return x.toExponential(p);\n },\n f: function(x, p) {\n return x.toFixed(p);\n },\n r: function(x, p) {\n return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p))));\n }\n });\n function d3_format_typeDefault(x) {\n return x + \"\";\n }\n var d3_time = d3.time = {}, d3_date = Date;\n function d3_date_utc() {\n this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]);\n }\n d3_date_utc.prototype = {\n getDate: function() {\n return this._.getUTCDate();\n },\n getDay: function() {\n return this._.getUTCDay();\n },\n getFullYear: function() {\n return this._.getUTCFullYear();\n },\n getHours: function() {\n return this._.getUTCHours();\n },\n getMilliseconds: function() {\n return this._.getUTCMilliseconds();\n },\n getMinutes: function() {\n return this._.getUTCMinutes();\n },\n getMonth: function() {\n return this._.getUTCMonth();\n },\n getSeconds: function() {\n return this._.getUTCSeconds();\n },\n getTime: function() {\n return this._.getTime();\n },\n getTimezoneOffset: function() {\n return 0;\n },\n valueOf: function() {\n return this._.valueOf();\n },\n setDate: function() {\n d3_time_prototype.setUTCDate.apply(this._, arguments);\n },\n setDay: function() {\n d3_time_prototype.setUTCDay.apply(this._, arguments);\n },\n setFullYear: function() {\n d3_time_prototype.setUTCFullYear.apply(this._, arguments);\n },\n setHours: function() {\n d3_time_prototype.setUTCHours.apply(this._, arguments);\n },\n setMilliseconds: function() {\n d3_time_prototype.setUTCMilliseconds.apply(this._, arguments);\n },\n setMinutes: function() {\n d3_time_prototype.setUTCMinutes.apply(this._, arguments);\n },\n setMonth: function() {\n d3_time_prototype.setUTCMonth.apply(this._, arguments);\n },\n setSeconds: function() {\n d3_time_prototype.setUTCSeconds.apply(this._, arguments);\n },\n setTime: function() {\n d3_time_prototype.setTime.apply(this._, arguments);\n }\n };\n var d3_time_prototype = Date.prototype;\n function d3_time_interval(local, step, number) {\n function round(date) {\n var d0 = local(date), d1 = offset(d0, 1);\n return date - d0 < d1 - date ? d0 : d1;\n }\n function ceil(date) {\n step(date = local(new d3_date(date - 1)), 1);\n return date;\n }\n function offset(date, k) {\n step(date = new d3_date(+date), k);\n return date;\n }\n function range(t0, t1, dt) {\n var time = ceil(t0), times = [];\n if (dt > 1) {\n while (time < t1) {\n if (!(number(time) % dt)) times.push(new Date(+time));\n step(time, 1);\n }\n } else {\n while (time < t1) times.push(new Date(+time)), step(time, 1);\n }\n return times;\n }\n function range_utc(t0, t1, dt) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date_utc();\n utc._ = t0;\n return range(utc, t1, dt);\n } finally {\n d3_date = Date;\n }\n }\n local.floor = local;\n local.round = round;\n local.ceil = ceil;\n local.offset = offset;\n local.range = range;\n var utc = local.utc = d3_time_interval_utc(local);\n utc.floor = utc;\n utc.round = d3_time_interval_utc(round);\n utc.ceil = d3_time_interval_utc(ceil);\n utc.offset = d3_time_interval_utc(offset);\n utc.range = range_utc;\n return local;\n }\n function d3_time_interval_utc(method) {\n return function(date, k) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date_utc();\n utc._ = date;\n return method(utc, k)._;\n } finally {\n d3_date = Date;\n }\n };\n }\n d3_time.year = d3_time_interval(function(date) {\n date = d3_time.day(date);\n date.setMonth(0, 1);\n return date;\n }, function(date, offset) {\n date.setFullYear(date.getFullYear() + offset);\n }, function(date) {\n return date.getFullYear();\n });\n d3_time.years = d3_time.year.range;\n d3_time.years.utc = d3_time.year.utc.range;\n d3_time.day = d3_time_interval(function(date) {\n var day = new d3_date(2e3, 0);\n day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n return day;\n }, function(date, offset) {\n date.setDate(date.getDate() + offset);\n }, function(date) {\n return date.getDate() - 1;\n });\n d3_time.days = d3_time.day.range;\n d3_time.days.utc = d3_time.day.utc.range;\n d3_time.dayOfYear = function(date) {\n var year = d3_time.year(date);\n return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5);\n };\n [ \"sunday\", \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\" ].forEach(function(day, i) {\n i = 7 - i;\n var interval = d3_time[day] = d3_time_interval(function(date) {\n (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7);\n return date;\n }, function(date, offset) {\n date.setDate(date.getDate() + Math.floor(offset) * 7);\n }, function(date) {\n var day = d3_time.year(date).getDay();\n return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i);\n });\n d3_time[day + \"s\"] = interval.range;\n d3_time[day + \"s\"].utc = interval.utc.range;\n d3_time[day + \"OfYear\"] = function(date) {\n var day = d3_time.year(date).getDay();\n return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7);\n };\n });\n d3_time.week = d3_time.sunday;\n d3_time.weeks = d3_time.sunday.range;\n d3_time.weeks.utc = d3_time.sunday.utc.range;\n d3_time.weekOfYear = d3_time.sundayOfYear;\n function d3_locale_timeFormat(locale) {\n var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths;\n function d3_time_format(template) {\n var n = template.length;\n function format(date) {\n var string = [], i = -1, j = 0, c, p, f;\n while (++i < n) {\n if (template.charCodeAt(i) === 37) {\n string.push(template.slice(j, i));\n if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i);\n if (f = d3_time_formats[c]) c = f(date, p == null ? c === \"e\" ? \" \" : \"0\" : p);\n string.push(c);\n j = i + 1;\n }\n }\n string.push(template.slice(j, i));\n return string.join(\"\");\n }\n format.parse = function(string) {\n var d = {\n y: 1900,\n m: 0,\n d: 1,\n H: 0,\n M: 0,\n S: 0,\n L: 0,\n Z: null\n }, i = d3_time_parse(d, template, string, 0);\n if (i != string.length) return null;\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)();\n if (\"j\" in d) date.setFullYear(d.y, 0, d.j); else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"W\" in d ? 1 : 0;\n date.setFullYear(d.y, 0, 1);\n date.setFullYear(d.y, 0, \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7);\n } else date.setFullYear(d.y, d.m, d.d);\n date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L);\n return localZ ? date._ : date;\n };\n format.toString = function() {\n return template;\n };\n return format;\n }\n function d3_time_parse(date, template, string, j) {\n var c, p, t, i = 0, n = template.length, m = string.length;\n while (i < n) {\n if (j >= m) return -1;\n c = template.charCodeAt(i++);\n if (c === 37) {\n t = template.charAt(i++);\n p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t];\n if (!p || (j = p(date, string, j)) < 0) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n return j;\n }\n d3_time_format.utc = function(template) {\n var local = d3_time_format(template);\n function format(date) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date();\n utc._ = date;\n return local(utc);\n } finally {\n d3_date = Date;\n }\n }\n format.parse = function(string) {\n try {\n d3_date = d3_date_utc;\n var date = local.parse(string);\n return date && date._;\n } finally {\n d3_date = Date;\n }\n };\n format.toString = local.toString;\n return format;\n };\n d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti;\n var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths);\n locale_periods.forEach(function(p, i) {\n d3_time_periodLookup.set(p.toLowerCase(), i);\n });\n var d3_time_formats = {\n a: function(d) {\n return locale_shortDays[d.getDay()];\n },\n A: function(d) {\n return locale_days[d.getDay()];\n },\n b: function(d) {\n return locale_shortMonths[d.getMonth()];\n },\n B: function(d) {\n return locale_months[d.getMonth()];\n },\n c: d3_time_format(locale_dateTime),\n d: function(d, p) {\n return d3_time_formatPad(d.getDate(), p, 2);\n },\n e: function(d, p) {\n return d3_time_formatPad(d.getDate(), p, 2);\n },\n H: function(d, p) {\n return d3_time_formatPad(d.getHours(), p, 2);\n },\n I: function(d, p) {\n return d3_time_formatPad(d.getHours() % 12 || 12, p, 2);\n },\n j: function(d, p) {\n return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3);\n },\n L: function(d, p) {\n return d3_time_formatPad(d.getMilliseconds(), p, 3);\n },\n m: function(d, p) {\n return d3_time_formatPad(d.getMonth() + 1, p, 2);\n },\n M: function(d, p) {\n return d3_time_formatPad(d.getMinutes(), p, 2);\n },\n p: function(d) {\n return locale_periods[+(d.getHours() >= 12)];\n },\n S: function(d, p) {\n return d3_time_formatPad(d.getSeconds(), p, 2);\n },\n U: function(d, p) {\n return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2);\n },\n w: function(d) {\n return d.getDay();\n },\n W: function(d, p) {\n return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2);\n },\n x: d3_time_format(locale_date),\n X: d3_time_format(locale_time),\n y: function(d, p) {\n return d3_time_formatPad(d.getFullYear() % 100, p, 2);\n },\n Y: function(d, p) {\n return d3_time_formatPad(d.getFullYear() % 1e4, p, 4);\n },\n Z: d3_time_zone,\n \"%\": function() {\n return \"%\";\n }\n };\n var d3_time_parsers = {\n a: d3_time_parseWeekdayAbbrev,\n A: d3_time_parseWeekday,\n b: d3_time_parseMonthAbbrev,\n B: d3_time_parseMonth,\n c: d3_time_parseLocaleFull,\n d: d3_time_parseDay,\n e: d3_time_parseDay,\n H: d3_time_parseHour24,\n I: d3_time_parseHour24,\n j: d3_time_parseDayOfYear,\n L: d3_time_parseMilliseconds,\n m: d3_time_parseMonthNumber,\n M: d3_time_parseMinutes,\n p: d3_time_parseAmPm,\n S: d3_time_parseSeconds,\n U: d3_time_parseWeekNumberSunday,\n w: d3_time_parseWeekdayNumber,\n W: d3_time_parseWeekNumberMonday,\n x: d3_time_parseLocaleDate,\n X: d3_time_parseLocaleTime,\n y: d3_time_parseYear,\n Y: d3_time_parseFullYear,\n Z: d3_time_parseZone,\n \"%\": d3_time_parseLiteralPercent\n };\n function d3_time_parseWeekdayAbbrev(date, string, i) {\n d3_time_dayAbbrevRe.lastIndex = 0;\n var n = d3_time_dayAbbrevRe.exec(string.slice(i));\n return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseWeekday(date, string, i) {\n d3_time_dayRe.lastIndex = 0;\n var n = d3_time_dayRe.exec(string.slice(i));\n return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseMonthAbbrev(date, string, i) {\n d3_time_monthAbbrevRe.lastIndex = 0;\n var n = d3_time_monthAbbrevRe.exec(string.slice(i));\n return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseMonth(date, string, i) {\n d3_time_monthRe.lastIndex = 0;\n var n = d3_time_monthRe.exec(string.slice(i));\n return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseLocaleFull(date, string, i) {\n return d3_time_parse(date, d3_time_formats.c.toString(), string, i);\n }\n function d3_time_parseLocaleDate(date, string, i) {\n return d3_time_parse(date, d3_time_formats.x.toString(), string, i);\n }\n function d3_time_parseLocaleTime(date, string, i) {\n return d3_time_parse(date, d3_time_formats.X.toString(), string, i);\n }\n function d3_time_parseAmPm(date, string, i) {\n var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase());\n return n == null ? -1 : (date.p = n, i);\n }\n return d3_time_format;\n }\n var d3_time_formatPads = {\n \"-\": \"\",\n _: \" \",\n \"0\": \"0\"\n }, d3_time_numberRe = /^\\s*\\d+/, d3_time_percentRe = /^%/;\n function d3_time_formatPad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\", string = (sign ? -value : value) + \"\", length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n }\n function d3_time_formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(d3.requote).join(\"|\") + \")\", \"i\");\n }\n function d3_time_formatLookup(names) {\n var map = new d3_Map(), i = -1, n = names.length;\n while (++i < n) map.set(names[i].toLowerCase(), i);\n return map;\n }\n function d3_time_parseWeekdayNumber(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 1));\n return n ? (date.w = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseWeekNumberSunday(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i));\n return n ? (date.U = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseWeekNumberMonday(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i));\n return n ? (date.W = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseFullYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 4));\n return n ? (date.y = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1;\n }\n function d3_time_parseZone(date, string, i) {\n return /^[+-]\\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, \n i + 5) : -1;\n }\n function d3_time_expandYear(d) {\n return d + (d > 68 ? 1900 : 2e3);\n }\n function d3_time_parseMonthNumber(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.m = n[0] - 1, i + n[0].length) : -1;\n }\n function d3_time_parseDay(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.d = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseDayOfYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n return n ? (date.j = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseHour24(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.H = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseMinutes(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.M = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseSeconds(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.S = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseMilliseconds(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n return n ? (date.L = +n[0], i + n[0].length) : -1;\n }\n function d3_time_zone(d) {\n var z = d.getTimezoneOffset(), zs = z > 0 ? \"-\" : \"+\", zh = abs(z) / 60 | 0, zm = abs(z) % 60;\n return zs + d3_time_formatPad(zh, \"0\", 2) + d3_time_formatPad(zm, \"0\", 2);\n }\n function d3_time_parseLiteralPercent(date, string, i) {\n d3_time_percentRe.lastIndex = 0;\n var n = d3_time_percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n }\n function d3_time_formatMulti(formats) {\n var n = formats.length, i = -1;\n while (++i < n) formats[i][0] = this(formats[i][0]);\n return function(date) {\n var i = 0, f = formats[i];\n while (!f[1](date)) f = formats[++i];\n return f[0](date);\n };\n }\n d3.locale = function(locale) {\n return {\n numberFormat: d3_locale_numberFormat(locale),\n timeFormat: d3_locale_timeFormat(locale)\n };\n };\n var d3_locale_enUS = d3.locale({\n decimal: \".\",\n thousands: \",\",\n grouping: [ 3 ],\n currency: [ \"$\", \"\" ],\n dateTime: \"%a %b %e %X %Y\",\n date: \"%m/%d/%Y\",\n time: \"%H:%M:%S\",\n periods: [ \"AM\", \"PM\" ],\n days: [ \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\" ],\n shortDays: [ \"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\" ],\n months: [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ],\n shortMonths: [ \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\" ]\n });\n d3.format = d3_locale_enUS.numberFormat;\n d3.geo = {};\n function d3_adder() {}\n d3_adder.prototype = {\n s: 0,\n t: 0,\n add: function(y) {\n d3_adderSum(y, this.t, d3_adderTemp);\n d3_adderSum(d3_adderTemp.s, this.s, this);\n if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t;\n },\n reset: function() {\n this.s = this.t = 0;\n },\n valueOf: function() {\n return this.s;\n }\n };\n var d3_adderTemp = new d3_adder();\n function d3_adderSum(a, b, o) {\n var x = o.s = a + b, bv = x - a, av = x - bv;\n o.t = a - av + (b - bv);\n }\n d3.geo.stream = function(object, listener) {\n if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {\n d3_geo_streamObjectType[object.type](object, listener);\n } else {\n d3_geo_streamGeometry(object, listener);\n }\n };\n function d3_geo_streamGeometry(geometry, listener) {\n if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {\n d3_geo_streamGeometryType[geometry.type](geometry, listener);\n }\n }\n var d3_geo_streamObjectType = {\n Feature: function(feature, listener) {\n d3_geo_streamGeometry(feature.geometry, listener);\n },\n FeatureCollection: function(object, listener) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);\n }\n };\n var d3_geo_streamGeometryType = {\n Sphere: function(object, listener) {\n listener.sphere();\n },\n Point: function(object, listener) {\n object = object.coordinates;\n listener.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]);\n },\n LineString: function(object, listener) {\n d3_geo_streamLine(object.coordinates, listener, 0);\n },\n MultiLineString: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0);\n },\n Polygon: function(object, listener) {\n d3_geo_streamPolygon(object.coordinates, listener);\n },\n MultiPolygon: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);\n },\n GeometryCollection: function(object, listener) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) d3_geo_streamGeometry(geometries[i], listener);\n }\n };\n function d3_geo_streamLine(coordinates, listener, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n listener.lineStart();\n while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]);\n listener.lineEnd();\n }\n function d3_geo_streamPolygon(coordinates, listener) {\n var i = -1, n = coordinates.length;\n listener.polygonStart();\n while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);\n listener.polygonEnd();\n }\n d3.geo.area = function(object) {\n d3_geo_areaSum = 0;\n d3.geo.stream(object, d3_geo_area);\n return d3_geo_areaSum;\n };\n var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder();\n var d3_geo_area = {\n sphere: function() {\n d3_geo_areaSum += 4 * \u03C0;\n },\n point: d3_noop,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: function() {\n d3_geo_areaRingSum.reset();\n d3_geo_area.lineStart = d3_geo_areaRingStart;\n },\n polygonEnd: function() {\n var area = 2 * d3_geo_areaRingSum;\n d3_geo_areaSum += area < 0 ? 4 * \u03C0 + area : area;\n d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop;\n }\n };\n function d3_geo_areaRingStart() {\n var \u03BB00, \u03C600, \u03BB0, cos\u03C60, sin\u03C60;\n d3_geo_area.point = function(\u03BB, \u03C6) {\n d3_geo_area.point = nextPoint;\n \u03BB0 = (\u03BB00 = \u03BB) * d3_radians, cos\u03C60 = Math.cos(\u03C6 = (\u03C600 = \u03C6) * d3_radians / 2 + \u03C0 / 4), \n sin\u03C60 = Math.sin(\u03C6);\n };\n function nextPoint(\u03BB, \u03C6) {\n \u03BB *= d3_radians;\n \u03C6 = \u03C6 * d3_radians / 2 + \u03C0 / 4;\n var d\u03BB = \u03BB - \u03BB0, sd\u03BB = d\u03BB >= 0 ? 1 : -1, ad\u03BB = sd\u03BB * d\u03BB, cos\u03C6 = Math.cos(\u03C6), sin\u03C6 = Math.sin(\u03C6), k = sin\u03C60 * sin\u03C6, u = cos\u03C60 * cos\u03C6 + k * Math.cos(ad\u03BB), v = k * sd\u03BB * Math.sin(ad\u03BB);\n d3_geo_areaRingSum.add(Math.atan2(v, u));\n \u03BB0 = \u03BB, cos\u03C60 = cos\u03C6, sin\u03C60 = sin\u03C6;\n }\n d3_geo_area.lineEnd = function() {\n nextPoint(\u03BB00, \u03C600);\n };\n }\n function d3_geo_cartesian(spherical) {\n var \u03BB = spherical[0], \u03C6 = spherical[1], cos\u03C6 = Math.cos(\u03C6);\n return [ cos\u03C6 * Math.cos(\u03BB), cos\u03C6 * Math.sin(\u03BB), Math.sin(\u03C6) ];\n }\n function d3_geo_cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n }\n function d3_geo_cartesianCross(a, b) {\n return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ];\n }\n function d3_geo_cartesianAdd(a, b) {\n a[0] += b[0];\n a[1] += b[1];\n a[2] += b[2];\n }\n function d3_geo_cartesianScale(vector, k) {\n return [ vector[0] * k, vector[1] * k, vector[2] * k ];\n }\n function d3_geo_cartesianNormalize(d) {\n var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l;\n d[1] /= l;\n d[2] /= l;\n }\n function d3_geo_spherical(cartesian) {\n return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ];\n }\n function d3_geo_sphericalEqual(a, b) {\n return abs(a[0] - b[0]) < \u03B5 && abs(a[1] - b[1]) < \u03B5;\n }\n d3.geo.bounds = function() {\n var \u03BB0, \u03C60, \u03BB1, \u03C61, \u03BB_, \u03BB__, \u03C6__, p0, d\u03BBSum, ranges, range;\n var bound = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n bound.point = ringPoint;\n bound.lineStart = ringStart;\n bound.lineEnd = ringEnd;\n d\u03BBSum = 0;\n d3_geo_area.polygonStart();\n },\n polygonEnd: function() {\n d3_geo_area.polygonEnd();\n bound.point = point;\n bound.lineStart = lineStart;\n bound.lineEnd = lineEnd;\n if (d3_geo_areaRingSum < 0) \u03BB0 = -(\u03BB1 = 180), \u03C60 = -(\u03C61 = 90); else if (d\u03BBSum > \u03B5) \u03C61 = 90; else if (d\u03BBSum < -\u03B5) \u03C60 = -90;\n range[0] = \u03BB0, range[1] = \u03BB1;\n }\n };\n function point(\u03BB, \u03C6) {\n ranges.push(range = [ \u03BB0 = \u03BB, \u03BB1 = \u03BB ]);\n if (\u03C6 < \u03C60) \u03C60 = \u03C6;\n if (\u03C6 > \u03C61) \u03C61 = \u03C6;\n }\n function linePoint(\u03BB, \u03C6) {\n var p = d3_geo_cartesian([ \u03BB * d3_radians, \u03C6 * d3_radians ]);\n if (p0) {\n var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal);\n d3_geo_cartesianNormalize(inflection);\n inflection = d3_geo_spherical(inflection);\n var d\u03BB = \u03BB - \u03BB_, s = d\u03BB > 0 ? 1 : -1, \u03BBi = inflection[0] * d3_degrees * s, antimeridian = abs(d\u03BB) > 180;\n if (antimeridian ^ (s * \u03BB_ < \u03BBi && \u03BBi < s * \u03BB)) {\n var \u03C6i = inflection[1] * d3_degrees;\n if (\u03C6i > \u03C61) \u03C61 = \u03C6i;\n } else if (\u03BBi = (\u03BBi + 360) % 360 - 180, antimeridian ^ (s * \u03BB_ < \u03BBi && \u03BBi < s * \u03BB)) {\n var \u03C6i = -inflection[1] * d3_degrees;\n if (\u03C6i < \u03C60) \u03C60 = \u03C6i;\n } else {\n if (\u03C6 < \u03C60) \u03C60 = \u03C6;\n if (\u03C6 > \u03C61) \u03C61 = \u03C6;\n }\n if (antimeridian) {\n if (\u03BB < \u03BB_) {\n if (angle(\u03BB0, \u03BB) > angle(\u03BB0, \u03BB1)) \u03BB1 = \u03BB;\n } else {\n if (angle(\u03BB, \u03BB1) > angle(\u03BB0, \u03BB1)) \u03BB0 = \u03BB;\n }\n } else {\n if (\u03BB1 >= \u03BB0) {\n if (\u03BB < \u03BB0) \u03BB0 = \u03BB;\n if (\u03BB > \u03BB1) \u03BB1 = \u03BB;\n } else {\n if (\u03BB > \u03BB_) {\n if (angle(\u03BB0, \u03BB) > angle(\u03BB0, \u03BB1)) \u03BB1 = \u03BB;\n } else {\n if (angle(\u03BB, \u03BB1) > angle(\u03BB0, \u03BB1)) \u03BB0 = \u03BB;\n }\n }\n }\n } else {\n point(\u03BB, \u03C6);\n }\n p0 = p, \u03BB_ = \u03BB;\n }\n function lineStart() {\n bound.point = linePoint;\n }\n function lineEnd() {\n range[0] = \u03BB0, range[1] = \u03BB1;\n bound.point = point;\n p0 = null;\n }\n function ringPoint(\u03BB, \u03C6) {\n if (p0) {\n var d\u03BB = \u03BB - \u03BB_;\n d\u03BBSum += abs(d\u03BB) > 180 ? d\u03BB + (d\u03BB > 0 ? 360 : -360) : d\u03BB;\n } else \u03BB__ = \u03BB, \u03C6__ = \u03C6;\n d3_geo_area.point(\u03BB, \u03C6);\n linePoint(\u03BB, \u03C6);\n }\n function ringStart() {\n d3_geo_area.lineStart();\n }\n function ringEnd() {\n ringPoint(\u03BB__, \u03C6__);\n d3_geo_area.lineEnd();\n if (abs(d\u03BBSum) > \u03B5) \u03BB0 = -(\u03BB1 = 180);\n range[0] = \u03BB0, range[1] = \u03BB1;\n p0 = null;\n }\n function angle(\u03BB0, \u03BB1) {\n return (\u03BB1 -= \u03BB0) < 0 ? \u03BB1 + 360 : \u03BB1;\n }\n function compareRanges(a, b) {\n return a[0] - b[0];\n }\n function withinRange(x, range) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n }\n return function(feature) {\n \u03C61 = \u03BB1 = -(\u03BB0 = \u03C60 = Infinity);\n ranges = [];\n d3.geo.stream(feature, bound);\n var n = ranges.length;\n if (n) {\n ranges.sort(compareRanges);\n for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) {\n b = ranges[i];\n if (withinRange(b[0], a) || withinRange(b[1], a)) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n var best = -Infinity, d\u03BB;\n for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) {\n b = merged[i];\n if ((d\u03BB = angle(a[1], b[0])) > best) best = d\u03BB, \u03BB0 = b[0], \u03BB1 = a[1];\n }\n }\n ranges = range = null;\n return \u03BB0 === Infinity || \u03C60 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ \u03BB0, \u03C60 ], [ \u03BB1, \u03C61 ] ];\n };\n }();\n d3.geo.centroid = function(object) {\n d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n d3.geo.stream(object, d3_geo_centroid);\n var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z;\n if (m < \u03B52) {\n x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1;\n if (d3_geo_centroidW1 < \u03B5) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0;\n m = x * x + y * y + z * z;\n if (m < \u03B52) return [ NaN, NaN ];\n }\n return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ];\n };\n var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2;\n var d3_geo_centroid = {\n sphere: d3_noop,\n point: d3_geo_centroidPoint,\n lineStart: d3_geo_centroidLineStart,\n lineEnd: d3_geo_centroidLineEnd,\n polygonStart: function() {\n d3_geo_centroid.lineStart = d3_geo_centroidRingStart;\n },\n polygonEnd: function() {\n d3_geo_centroid.lineStart = d3_geo_centroidLineStart;\n }\n };\n function d3_geo_centroidPoint(\u03BB, \u03C6) {\n \u03BB *= d3_radians;\n var cos\u03C6 = Math.cos(\u03C6 *= d3_radians);\n d3_geo_centroidPointXYZ(cos\u03C6 * Math.cos(\u03BB), cos\u03C6 * Math.sin(\u03BB), Math.sin(\u03C6));\n }\n function d3_geo_centroidPointXYZ(x, y, z) {\n ++d3_geo_centroidW0;\n d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0;\n d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0;\n d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0;\n }\n function d3_geo_centroidLineStart() {\n var x0, y0, z0;\n d3_geo_centroid.point = function(\u03BB, \u03C6) {\n \u03BB *= d3_radians;\n var cos\u03C6 = Math.cos(\u03C6 *= d3_radians);\n x0 = cos\u03C6 * Math.cos(\u03BB);\n y0 = cos\u03C6 * Math.sin(\u03BB);\n z0 = Math.sin(\u03C6);\n d3_geo_centroid.point = nextPoint;\n d3_geo_centroidPointXYZ(x0, y0, z0);\n };\n function nextPoint(\u03BB, \u03C6) {\n \u03BB *= d3_radians;\n var cos\u03C6 = Math.cos(\u03C6 *= d3_radians), x = cos\u03C6 * Math.cos(\u03BB), y = cos\u03C6 * Math.sin(\u03BB), z = Math.sin(\u03C6), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n d3_geo_centroidW1 += w;\n d3_geo_centroidX1 += w * (x0 + (x0 = x));\n d3_geo_centroidY1 += w * (y0 + (y0 = y));\n d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n d3_geo_centroidPointXYZ(x0, y0, z0);\n }\n }\n function d3_geo_centroidLineEnd() {\n d3_geo_centroid.point = d3_geo_centroidPoint;\n }\n function d3_geo_centroidRingStart() {\n var \u03BB00, \u03C600, x0, y0, z0;\n d3_geo_centroid.point = function(\u03BB, \u03C6) {\n \u03BB00 = \u03BB, \u03C600 = \u03C6;\n d3_geo_centroid.point = nextPoint;\n \u03BB *= d3_radians;\n var cos\u03C6 = Math.cos(\u03C6 *= d3_radians);\n x0 = cos\u03C6 * Math.cos(\u03BB);\n y0 = cos\u03C6 * Math.sin(\u03BB);\n z0 = Math.sin(\u03C6);\n d3_geo_centroidPointXYZ(x0, y0, z0);\n };\n d3_geo_centroid.lineEnd = function() {\n nextPoint(\u03BB00, \u03C600);\n d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd;\n d3_geo_centroid.point = d3_geo_centroidPoint;\n };\n function nextPoint(\u03BB, \u03C6) {\n \u03BB *= d3_radians;\n var cos\u03C6 = Math.cos(\u03C6 *= d3_radians), x = cos\u03C6 * Math.cos(\u03BB), y = cos\u03C6 * Math.sin(\u03BB), z = Math.sin(\u03C6), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u);\n d3_geo_centroidX2 += v * cx;\n d3_geo_centroidY2 += v * cy;\n d3_geo_centroidZ2 += v * cz;\n d3_geo_centroidW1 += w;\n d3_geo_centroidX1 += w * (x0 + (x0 = x));\n d3_geo_centroidY1 += w * (y0 + (y0 = y));\n d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n d3_geo_centroidPointXYZ(x0, y0, z0);\n }\n }\n function d3_geo_compose(a, b) {\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n return compose;\n }\n function d3_true() {\n return true;\n }\n function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) {\n var subject = [], clip = [];\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n];\n if (d3_geo_sphericalEqual(p0, p1)) {\n listener.lineStart();\n for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]);\n listener.lineEnd();\n return;\n }\n var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false);\n a.o = b;\n subject.push(a);\n clip.push(b);\n a = new d3_geo_clipPolygonIntersection(p1, segment, null, false);\n b = new d3_geo_clipPolygonIntersection(p1, null, a, true);\n a.o = b;\n subject.push(a);\n clip.push(b);\n });\n clip.sort(compare);\n d3_geo_clipPolygonLinkCircular(subject);\n d3_geo_clipPolygonLinkCircular(clip);\n if (!subject.length) return;\n for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) {\n clip[i].e = entry = !entry;\n }\n var start = subject[0], points, point;\n while (1) {\n var current = start, isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n listener.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, listener);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, listener);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n listener.lineEnd();\n }\n }\n function d3_geo_clipPolygonLinkCircular(array) {\n if (!(n = array.length)) return;\n var n, i = 0, a = array[0], b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n }\n function d3_geo_clipPolygonIntersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other;\n this.e = entry;\n this.v = false;\n this.n = this.p = null;\n }\n function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) {\n return function(rotate, listener) {\n var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]);\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = d3.merge(segments);\n var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon);\n if (segments.length) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener);\n } else if (clipStartInside) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n }\n if (polygonStarted) listener.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n listener.polygonStart();\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n listener.polygonEnd();\n }\n };\n function point(\u03BB, \u03C6) {\n var point = rotate(\u03BB, \u03C6);\n if (pointVisible(\u03BB = point[0], \u03C6 = point[1])) listener.point(\u03BB, \u03C6);\n }\n function pointLine(\u03BB, \u03C6) {\n var point = rotate(\u03BB, \u03C6);\n line.point(point[0], point[1]);\n }\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n var segments;\n var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring;\n function pointRing(\u03BB, \u03C6) {\n ring.push([ \u03BB, \u03C6 ]);\n var point = rotate(\u03BB, \u03C6);\n ringListener.point(point[0], point[1]);\n }\n function ringStart() {\n ringListener.lineStart();\n ring = [];\n }\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringListener.lineEnd();\n var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length;\n ring.pop();\n polygon.push(ring);\n ring = null;\n if (!n) return;\n if (clean & 1) {\n segment = ringSegments[0];\n var n = segment.length - 1, i = -1, point;\n if (n > 0) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n listener.lineStart();\n while (++i < n) listener.point((point = segment[i])[0], point[1]);\n listener.lineEnd();\n }\n return;\n }\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n segments.push(ringSegments.filter(d3_geo_clipSegmentLength1));\n }\n return clip;\n };\n }\n function d3_geo_clipSegmentLength1(segment) {\n return segment.length > 1;\n }\n function d3_geo_clipBufferListener() {\n var lines = [], line;\n return {\n lineStart: function() {\n lines.push(line = []);\n },\n point: function(\u03BB, \u03C6) {\n line.push([ \u03BB, \u03C6 ]);\n },\n lineEnd: d3_noop,\n buffer: function() {\n var buffer = lines;\n lines = [];\n line = null;\n return buffer;\n },\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n }\n };\n }\n function d3_geo_clipSort(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - half\u03C0 - \u03B5 : half\u03C0 - a[1]) - ((b = b.x)[0] < 0 ? b[1] - half\u03C0 - \u03B5 : half\u03C0 - b[1]);\n }\n var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -\u03C0, -\u03C0 / 2 ]);\n function d3_geo_clipAntimeridianLine(listener) {\n var \u03BB0 = NaN, \u03C60 = NaN, s\u03BB0 = NaN, clean;\n return {\n lineStart: function() {\n listener.lineStart();\n clean = 1;\n },\n point: function(\u03BB1, \u03C61) {\n var s\u03BB1 = \u03BB1 > 0 ? \u03C0 : -\u03C0, d\u03BB = abs(\u03BB1 - \u03BB0);\n if (abs(d\u03BB - \u03C0) < \u03B5) {\n listener.point(\u03BB0, \u03C60 = (\u03C60 + \u03C61) / 2 > 0 ? half\u03C0 : -half\u03C0);\n listener.point(s\u03BB0, \u03C60);\n listener.lineEnd();\n listener.lineStart();\n listener.point(s\u03BB1, \u03C60);\n listener.point(\u03BB1, \u03C60);\n clean = 0;\n } else if (s\u03BB0 !== s\u03BB1 && d\u03BB >= \u03C0) {\n if (abs(\u03BB0 - s\u03BB0) < \u03B5) \u03BB0 -= s\u03BB0 * \u03B5;\n if (abs(\u03BB1 - s\u03BB1) < \u03B5) \u03BB1 -= s\u03BB1 * \u03B5;\n \u03C60 = d3_geo_clipAntimeridianIntersect(\u03BB0, \u03C60, \u03BB1, \u03C61);\n listener.point(s\u03BB0, \u03C60);\n listener.lineEnd();\n listener.lineStart();\n listener.point(s\u03BB1, \u03C60);\n clean = 0;\n }\n listener.point(\u03BB0 = \u03BB1, \u03C60 = \u03C61);\n s\u03BB0 = s\u03BB1;\n },\n lineEnd: function() {\n listener.lineEnd();\n \u03BB0 = \u03C60 = NaN;\n },\n clean: function() {\n return 2 - clean;\n }\n };\n }\n function d3_geo_clipAntimeridianIntersect(\u03BB0, \u03C60, \u03BB1, \u03C61) {\n var cos\u03C60, cos\u03C61, sin\u03BB0_\u03BB1 = Math.sin(\u03BB0 - \u03BB1);\n return abs(sin\u03BB0_\u03BB1) > \u03B5 ? Math.atan((Math.sin(\u03C60) * (cos\u03C61 = Math.cos(\u03C61)) * Math.sin(\u03BB1) - Math.sin(\u03C61) * (cos\u03C60 = Math.cos(\u03C60)) * Math.sin(\u03BB0)) / (cos\u03C60 * cos\u03C61 * sin\u03BB0_\u03BB1)) : (\u03C60 + \u03C61) / 2;\n }\n function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {\n var \u03C6;\n if (from == null) {\n \u03C6 = direction * half\u03C0;\n listener.point(-\u03C0, \u03C6);\n listener.point(0, \u03C6);\n listener.point(\u03C0, \u03C6);\n listener.point(\u03C0, 0);\n listener.point(\u03C0, -\u03C6);\n listener.point(0, -\u03C6);\n listener.point(-\u03C0, -\u03C6);\n listener.point(-\u03C0, 0);\n listener.point(-\u03C0, \u03C6);\n } else if (abs(from[0] - to[0]) > \u03B5) {\n var s = from[0] < to[0] ? \u03C0 : -\u03C0;\n \u03C6 = direction * s / 2;\n listener.point(-s, \u03C6);\n listener.point(0, \u03C6);\n listener.point(s, \u03C6);\n } else {\n listener.point(to[0], to[1]);\n }\n }\n function d3_geo_pointInPolygon(point, polygon) {\n var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0;\n d3_geo_areaRingSum.reset();\n for (var i = 0, n = polygon.length; i < n; ++i) {\n var ring = polygon[i], m = ring.length;\n if (!m) continue;\n var point0 = ring[0], \u03BB0 = point0[0], \u03C60 = point0[1] / 2 + \u03C0 / 4, sin\u03C60 = Math.sin(\u03C60), cos\u03C60 = Math.cos(\u03C60), j = 1;\n while (true) {\n if (j === m) j = 0;\n point = ring[j];\n var \u03BB = point[0], \u03C6 = point[1] / 2 + \u03C0 / 4, sin\u03C6 = Math.sin(\u03C6), cos\u03C6 = Math.cos(\u03C6), d\u03BB = \u03BB - \u03BB0, sd\u03BB = d\u03BB >= 0 ? 1 : -1, ad\u03BB = sd\u03BB * d\u03BB, antimeridian = ad\u03BB > \u03C0, k = sin\u03C60 * sin\u03C6;\n d3_geo_areaRingSum.add(Math.atan2(k * sd\u03BB * Math.sin(ad\u03BB), cos\u03C60 * cos\u03C6 + k * Math.cos(ad\u03BB)));\n polarAngle += antimeridian ? d\u03BB + sd\u03BB * \u03C4 : d\u03BB;\n if (antimeridian ^ \u03BB0 >= meridian ^ \u03BB >= meridian) {\n var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point));\n d3_geo_cartesianNormalize(arc);\n var intersection = d3_geo_cartesianCross(meridianNormal, arc);\n d3_geo_cartesianNormalize(intersection);\n var \u03C6arc = (antimeridian ^ d\u03BB >= 0 ? -1 : 1) * d3_asin(intersection[2]);\n if (parallel > \u03C6arc || parallel === \u03C6arc && (arc[0] || arc[1])) {\n winding += antimeridian ^ d\u03BB >= 0 ? 1 : -1;\n }\n }\n if (!j++) break;\n \u03BB0 = \u03BB, sin\u03C60 = sin\u03C6, cos\u03C60 = cos\u03C6, point0 = point;\n }\n }\n return (polarAngle < -\u03B5 || polarAngle < \u03B5 && d3_geo_areaRingSum < -\u03B5) ^ winding & 1;\n }\n function d3_geo_clipCircle(radius) {\n var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > \u03B5, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians);\n return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -\u03C0, radius - \u03C0 ]);\n function visible(\u03BB, \u03C6) {\n return Math.cos(\u03BB) * Math.cos(\u03C6) > cr;\n }\n function clipLine(listener) {\n var point0, c0, v0, v00, clean;\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(\u03BB, \u03C6) {\n var point1 = [ \u03BB, \u03C6 ], point2, v = visible(\u03BB, \u03C6), c = smallRadius ? v ? 0 : code(\u03BB, \u03C6) : v ? code(\u03BB + (\u03BB < 0 ? \u03C0 : -\u03C0), \u03C6) : 0;\n if (!point0 && (v00 = v0 = v)) listener.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) {\n point1[0] += \u03B5;\n point1[1] += \u03B5;\n v = visible(point1[0], point1[1]);\n }\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n listener.lineStart();\n point2 = intersect(point1, point0);\n listener.point(point2[0], point2[1]);\n } else {\n point2 = intersect(point0, point1);\n listener.point(point2[0], point2[1]);\n listener.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n listener.lineStart();\n listener.point(t[0][0], t[0][1]);\n listener.point(t[1][0], t[1][1]);\n listener.lineEnd();\n } else {\n listener.point(t[1][0], t[1][1]);\n listener.lineEnd();\n listener.lineStart();\n listener.point(t[0][0], t[0][1]);\n }\n }\n }\n if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) {\n listener.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) listener.lineEnd();\n point0 = null;\n },\n clean: function() {\n return clean | (v00 && v0) << 1;\n }\n };\n }\n function intersect(a, b, two) {\n var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b);\n var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2;\n if (!determinant) return !two && a;\n var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2);\n d3_geo_cartesianAdd(A, B);\n var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1);\n if (t2 < 0) return;\n var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu);\n d3_geo_cartesianAdd(q, A);\n q = d3_geo_spherical(q);\n if (!two) return q;\n var \u03BB0 = a[0], \u03BB1 = b[0], \u03C60 = a[1], \u03C61 = b[1], z;\n if (\u03BB1 < \u03BB0) z = \u03BB0, \u03BB0 = \u03BB1, \u03BB1 = z;\n var \u03B4\u03BB = \u03BB1 - \u03BB0, polar = abs(\u03B4\u03BB - \u03C0) < \u03B5, meridian = polar || \u03B4\u03BB < \u03B5;\n if (!polar && \u03C61 < \u03C60) z = \u03C60, \u03C60 = \u03C61, \u03C61 = z;\n if (meridian ? polar ? \u03C60 + \u03C61 > 0 ^ q[1] < (abs(q[0] - \u03BB0) < \u03B5 ? \u03C60 : \u03C61) : \u03C60 <= q[1] && q[1] <= \u03C61 : \u03B4\u03BB > \u03C0 ^ (\u03BB0 <= q[0] && q[0] <= \u03BB1)) {\n var q1 = d3_geo_cartesianScale(u, (-w + t) / uu);\n d3_geo_cartesianAdd(q1, A);\n return [ q, d3_geo_spherical(q1) ];\n }\n }\n function code(\u03BB, \u03C6) {\n var r = smallRadius ? radius : \u03C0 - radius, code = 0;\n if (\u03BB < -r) code |= 1; else if (\u03BB > r) code |= 2;\n if (\u03C6 < -r) code |= 4; else if (\u03C6 > r) code |= 8;\n return code;\n }\n }\n function d3_geom_clipLine(x0, y0, x1, y1) {\n return function(line) {\n var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r;\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n if (t0 > 0) line.a = {\n x: ax + t0 * dx,\n y: ay + t0 * dy\n };\n if (t1 < 1) line.b = {\n x: ax + t1 * dx,\n y: ay + t1 * dy\n };\n return line;\n };\n }\n var d3_geo_clipExtentMAX = 1e9;\n d3.geo.clipExtent = function() {\n var x0, y0, x1, y1, stream, clip, clipExtent = {\n stream: function(output) {\n if (stream) stream.valid = false;\n stream = clip(output);\n stream.valid = true;\n return stream;\n },\n extent: function(_) {\n if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]);\n if (stream) stream.valid = false, stream = null;\n return clipExtent;\n }\n };\n return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]);\n };\n function d3_geo_clipExtent(x0, y0, x1, y1) {\n return function(listener) {\n var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring;\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n listener = bufferListener;\n segments = [];\n polygon = [];\n clean = true;\n },\n polygonEnd: function() {\n listener = listener_;\n segments = d3.merge(segments);\n var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length;\n if (inside || visible) {\n listener.polygonStart();\n if (inside) {\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n }\n if (visible) {\n d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener);\n }\n listener.polygonEnd();\n }\n segments = polygon = ring = null;\n }\n };\n function insidePolygon(p) {\n var wn = 0, n = polygon.length, y = p[1];\n for (var i = 0; i < n; ++i) {\n for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) {\n b = v[j];\n if (a[1] <= y) {\n if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn;\n } else {\n if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn;\n }\n a = b;\n }\n }\n return wn !== 0;\n }\n function interpolate(from, to, direction, listener) {\n var a = 0, a1 = 0;\n if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) {\n do {\n listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n } while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n listener.point(to[0], to[1]);\n }\n }\n function pointVisible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n function point(x, y) {\n if (pointVisible(x, y)) listener.point(x, y);\n }\n var x__, y__, v__, x_, y_, v_, first, clean;\n function lineStart() {\n clip.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferListener.rejoin();\n segments.push(bufferListener.buffer());\n }\n clip.point = point;\n if (v_) listener.lineEnd();\n }\n function linePoint(x, y) {\n x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x));\n y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y));\n var v = pointVisible(x, y);\n if (polygon) ring.push([ x, y ]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n listener.lineStart();\n listener.point(x, y);\n }\n } else {\n if (v && v_) listener.point(x, y); else {\n var l = {\n a: {\n x: x_,\n y: y_\n },\n b: {\n x: x,\n y: y\n }\n };\n if (clipLine(l)) {\n if (!v_) {\n listener.lineStart();\n listener.point(l.a.x, l.a.y);\n }\n listener.point(l.b.x, l.b.y);\n if (!v) listener.lineEnd();\n clean = false;\n } else if (v) {\n listener.lineStart();\n listener.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n return clip;\n };\n function corner(p, direction) {\n return abs(p[0] - x0) < \u03B5 ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < \u03B5 ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < \u03B5 ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2;\n }\n function compare(a, b) {\n return comparePoints(a.x, b.x);\n }\n function comparePoints(a, b) {\n var ca = corner(a, 1), cb = corner(b, 1);\n return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0];\n }\n }\n function d3_geo_conic(projectAt) {\n var \u03C60 = 0, \u03C61 = \u03C0 / 3, m = d3_geo_projectionMutator(projectAt), p = m(\u03C60, \u03C61);\n p.parallels = function(_) {\n if (!arguments.length) return [ \u03C60 / \u03C0 * 180, \u03C61 / \u03C0 * 180 ];\n return m(\u03C60 = _[0] * \u03C0 / 180, \u03C61 = _[1] * \u03C0 / 180);\n };\n return p;\n }\n function d3_geo_conicEqualArea(\u03C60, \u03C61) {\n var sin\u03C60 = Math.sin(\u03C60), n = (sin\u03C60 + Math.sin(\u03C61)) / 2, C = 1 + sin\u03C60 * (2 * n - sin\u03C60), \u03C10 = Math.sqrt(C) / n;\n function forward(\u03BB, \u03C6) {\n var \u03C1 = Math.sqrt(C - 2 * n * Math.sin(\u03C6)) / n;\n return [ \u03C1 * Math.sin(\u03BB *= n), \u03C10 - \u03C1 * Math.cos(\u03BB) ];\n }\n forward.invert = function(x, y) {\n var \u03C10_y = \u03C10 - y;\n return [ Math.atan2(x, \u03C10_y) / n, d3_asin((C - (x * x + \u03C10_y * \u03C10_y) * n * n) / (2 * n)) ];\n };\n return forward;\n }\n (d3.geo.conicEqualArea = function() {\n return d3_geo_conic(d3_geo_conicEqualArea);\n }).raw = d3_geo_conicEqualArea;\n d3.geo.albers = function() {\n return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070);\n };\n d3.geo.albersUsa = function() {\n var lower48 = d3.geo.albers();\n var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]);\n var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]);\n var point, pointStream = {\n point: function(x, y) {\n point = [ x, y ];\n }\n }, lower48Point, alaskaPoint, hawaiiPoint;\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n point = null;\n (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y);\n return point;\n }\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k;\n return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates);\n };\n albersUsa.stream = function(stream) {\n var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream);\n return {\n point: function(x, y) {\n lower48Stream.point(x, y);\n alaskaStream.point(x, y);\n hawaiiStream.point(x, y);\n },\n sphere: function() {\n lower48Stream.sphere();\n alaskaStream.sphere();\n hawaiiStream.sphere();\n },\n lineStart: function() {\n lower48Stream.lineStart();\n alaskaStream.lineStart();\n hawaiiStream.lineStart();\n },\n lineEnd: function() {\n lower48Stream.lineEnd();\n alaskaStream.lineEnd();\n hawaiiStream.lineEnd();\n },\n polygonStart: function() {\n lower48Stream.polygonStart();\n alaskaStream.polygonStart();\n hawaiiStream.polygonStart();\n },\n polygonEnd: function() {\n lower48Stream.polygonEnd();\n alaskaStream.polygonEnd();\n hawaiiStream.polygonEnd();\n }\n };\n };\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_);\n alaska.precision(_);\n hawaii.precision(_);\n return albersUsa;\n };\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_);\n alaska.scale(_ * .35);\n hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point;\n alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + \u03B5, y + .12 * k + \u03B5 ], [ x - .214 * k - \u03B5, y + .234 * k - \u03B5 ] ]).stream(pointStream).point;\n hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + \u03B5, y + .166 * k + \u03B5 ], [ x - .115 * k - \u03B5, y + .234 * k - \u03B5 ] ]).stream(pointStream).point;\n return albersUsa;\n };\n return albersUsa.scale(1070);\n };\n var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {\n point: d3_noop,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: function() {\n d3_geo_pathAreaPolygon = 0;\n d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart;\n },\n polygonEnd: function() {\n d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;\n d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2);\n }\n };\n function d3_geo_pathAreaRingStart() {\n var x00, y00, x0, y0;\n d3_geo_pathArea.point = function(x, y) {\n d3_geo_pathArea.point = nextPoint;\n x00 = x0 = x, y00 = y0 = y;\n };\n function nextPoint(x, y) {\n d3_geo_pathAreaPolygon += y0 * x - x0 * y;\n x0 = x, y0 = y;\n }\n d3_geo_pathArea.lineEnd = function() {\n nextPoint(x00, y00);\n };\n }\n var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1;\n var d3_geo_pathBounds = {\n point: d3_geo_pathBoundsPoint,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: d3_noop,\n polygonEnd: d3_noop\n };\n function d3_geo_pathBoundsPoint(x, y) {\n if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x;\n if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x;\n if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y;\n if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y;\n }\n function d3_geo_pathBuffer() {\n var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = [];\n var stream = {\n point: point,\n lineStart: function() {\n stream.point = pointLineStart;\n },\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.lineEnd = lineEndPolygon;\n },\n polygonEnd: function() {\n stream.lineEnd = lineEnd;\n stream.point = point;\n },\n pointRadius: function(_) {\n pointCircle = d3_geo_pathBufferCircle(_);\n return stream;\n },\n result: function() {\n if (buffer.length) {\n var result = buffer.join(\"\");\n buffer = [];\n return result;\n }\n }\n };\n function point(x, y) {\n buffer.push(\"M\", x, \",\", y, pointCircle);\n }\n function pointLineStart(x, y) {\n buffer.push(\"M\", x, \",\", y);\n stream.point = pointLine;\n }\n function pointLine(x, y) {\n buffer.push(\"L\", x, \",\", y);\n }\n function lineEnd() {\n stream.point = point;\n }\n function lineEndPolygon() {\n buffer.push(\"Z\");\n }\n return stream;\n }\n function d3_geo_pathBufferCircle(radius) {\n return \"m0,\" + radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius + \"z\";\n }\n var d3_geo_pathCentroid = {\n point: d3_geo_pathCentroidPoint,\n lineStart: d3_geo_pathCentroidLineStart,\n lineEnd: d3_geo_pathCentroidLineEnd,\n polygonStart: function() {\n d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart;\n },\n polygonEnd: function() {\n d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart;\n d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd;\n }\n };\n function d3_geo_pathCentroidPoint(x, y) {\n d3_geo_centroidX0 += x;\n d3_geo_centroidY0 += y;\n ++d3_geo_centroidZ0;\n }\n function d3_geo_pathCentroidLineStart() {\n var x0, y0;\n d3_geo_pathCentroid.point = function(x, y) {\n d3_geo_pathCentroid.point = nextPoint;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n };\n function nextPoint(x, y) {\n var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n d3_geo_centroidX1 += z * (x0 + x) / 2;\n d3_geo_centroidY1 += z * (y0 + y) / 2;\n d3_geo_centroidZ1 += z;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n }\n }\n function d3_geo_pathCentroidLineEnd() {\n d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n }\n function d3_geo_pathCentroidRingStart() {\n var x00, y00, x0, y0;\n d3_geo_pathCentroid.point = function(x, y) {\n d3_geo_pathCentroid.point = nextPoint;\n d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y);\n };\n function nextPoint(x, y) {\n var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n d3_geo_centroidX1 += z * (x0 + x) / 2;\n d3_geo_centroidY1 += z * (y0 + y) / 2;\n d3_geo_centroidZ1 += z;\n z = y0 * x - x0 * y;\n d3_geo_centroidX2 += z * (x0 + x);\n d3_geo_centroidY2 += z * (y0 + y);\n d3_geo_centroidZ2 += z * 3;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n }\n d3_geo_pathCentroid.lineEnd = function() {\n nextPoint(x00, y00);\n };\n }\n function d3_geo_pathContext(context) {\n var pointRadius = 4.5;\n var stream = {\n point: point,\n lineStart: function() {\n stream.point = pointLineStart;\n },\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.lineEnd = lineEndPolygon;\n },\n polygonEnd: function() {\n stream.lineEnd = lineEnd;\n stream.point = point;\n },\n pointRadius: function(_) {\n pointRadius = _;\n return stream;\n },\n result: d3_noop\n };\n function point(x, y) {\n context.moveTo(x + pointRadius, y);\n context.arc(x, y, pointRadius, 0, \u03C4);\n }\n function pointLineStart(x, y) {\n context.moveTo(x, y);\n stream.point = pointLine;\n }\n function pointLine(x, y) {\n context.lineTo(x, y);\n }\n function lineEnd() {\n stream.point = point;\n }\n function lineEndPolygon() {\n context.closePath();\n }\n return stream;\n }\n function d3_geo_resample(project) {\n var \u03B42 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16;\n function resample(stream) {\n return (maxDepth ? resampleRecursive : resampleNone)(stream);\n }\n function resampleNone(stream) {\n return d3_geo_transformPoint(stream, function(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n });\n }\n function resampleRecursive(stream) {\n var \u03BB00, \u03C600, x00, y00, a00, b00, c00, \u03BB0, x0, y0, a0, b0, c0;\n var resample = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.polygonStart();\n resample.lineStart = ringStart;\n },\n polygonEnd: function() {\n stream.polygonEnd();\n resample.lineStart = lineStart;\n }\n };\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n function lineStart() {\n x0 = NaN;\n resample.point = linePoint;\n stream.lineStart();\n }\n function linePoint(\u03BB, \u03C6) {\n var c = d3_geo_cartesian([ \u03BB, \u03C6 ]), p = project(\u03BB, \u03C6);\n resampleLineTo(x0, y0, \u03BB0, a0, b0, c0, x0 = p[0], y0 = p[1], \u03BB0 = \u03BB, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n function lineEnd() {\n resample.point = point;\n stream.lineEnd();\n }\n function ringStart() {\n lineStart();\n resample.point = ringPoint;\n resample.lineEnd = ringEnd;\n }\n function ringPoint(\u03BB, \u03C6) {\n linePoint(\u03BB00 = \u03BB, \u03C600 = \u03C6), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resample.point = linePoint;\n }\n function ringEnd() {\n resampleLineTo(x0, y0, \u03BB0, a0, b0, c0, x00, y00, \u03BB00, a00, b00, c00, maxDepth, stream);\n resample.lineEnd = lineEnd;\n lineEnd();\n }\n return resample;\n }\n function resampleLineTo(x0, y0, \u03BB0, a0, b0, c0, x1, y1, \u03BB1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy;\n if (d2 > 4 * \u03B42 && depth--) {\n var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), \u03C62 = Math.asin(c /= m), \u03BB2 = abs(abs(c) - 1) < \u03B5 || abs(\u03BB0 - \u03BB1) < \u03B5 ? (\u03BB0 + \u03BB1) / 2 : Math.atan2(b, a), p = project(\u03BB2, \u03C62), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > \u03B42 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) {\n resampleLineTo(x0, y0, \u03BB0, a0, b0, c0, x2, y2, \u03BB2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, \u03BB2, a, b, c, x1, y1, \u03BB1, a1, b1, c1, depth, stream);\n }\n }\n }\n resample.precision = function(_) {\n if (!arguments.length) return Math.sqrt(\u03B42);\n maxDepth = (\u03B42 = _ * _) > 0 && 16;\n return resample;\n };\n return resample;\n }\n d3.geo.path = function() {\n var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream;\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream);\n d3.geo.stream(object, cacheStream);\n }\n return contextStream.result();\n }\n path.area = function(object) {\n d3_geo_pathAreaSum = 0;\n d3.geo.stream(object, projectStream(d3_geo_pathArea));\n return d3_geo_pathAreaSum;\n };\n path.centroid = function(object) {\n d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n d3.geo.stream(object, projectStream(d3_geo_pathCentroid));\n return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ];\n };\n path.bounds = function(object) {\n d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity);\n d3.geo.stream(object, projectStream(d3_geo_pathBounds));\n return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ];\n };\n path.projection = function(_) {\n if (!arguments.length) return projection;\n projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity;\n return reset();\n };\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return reset();\n };\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n function reset() {\n cacheStream = null;\n return path;\n }\n return path.projection(d3.geo.albersUsa()).context(null);\n };\n function d3_geo_pathProjectStream(project) {\n var resample = d3_geo_resample(function(x, y) {\n return project([ x * d3_degrees, y * d3_degrees ]);\n });\n return function(stream) {\n return d3_geo_projectionRadians(resample(stream));\n };\n }\n d3.geo.transform = function(methods) {\n return {\n stream: function(stream) {\n var transform = new d3_geo_transform(stream);\n for (var k in methods) transform[k] = methods[k];\n return transform;\n }\n };\n };\n function d3_geo_transform(stream) {\n this.stream = stream;\n }\n d3_geo_transform.prototype = {\n point: function(x, y) {\n this.stream.point(x, y);\n },\n sphere: function() {\n this.stream.sphere();\n },\n lineStart: function() {\n this.stream.lineStart();\n },\n lineEnd: function() {\n this.stream.lineEnd();\n },\n polygonStart: function() {\n this.stream.polygonStart();\n },\n polygonEnd: function() {\n this.stream.polygonEnd();\n }\n };\n function d3_geo_transformPoint(stream, point) {\n return {\n point: point,\n sphere: function() {\n stream.sphere();\n },\n lineStart: function() {\n stream.lineStart();\n },\n lineEnd: function() {\n stream.lineEnd();\n },\n polygonStart: function() {\n stream.polygonStart();\n },\n polygonEnd: function() {\n stream.polygonEnd();\n }\n };\n }\n d3.geo.projection = d3_geo_projection;\n d3.geo.projectionMutator = d3_geo_projectionMutator;\n function d3_geo_projection(project) {\n return d3_geo_projectionMutator(function() {\n return project;\n })();\n }\n function d3_geo_projectionMutator(projectAt) {\n var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) {\n x = project(x, y);\n return [ x[0] * k + \u03B4x, \u03B4y - x[1] * k ];\n }), k = 150, x = 480, y = 250, \u03BB = 0, \u03C6 = 0, \u03B4\u03BB = 0, \u03B4\u03C6 = 0, \u03B4\u03B3 = 0, \u03B4x, \u03B4y, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream;\n function projection(point) {\n point = projectRotate(point[0] * d3_radians, point[1] * d3_radians);\n return [ point[0] * k + \u03B4x, \u03B4y - point[1] * k ];\n }\n function invert(point) {\n point = projectRotate.invert((point[0] - \u03B4x) / k, (\u03B4y - point[1]) / k);\n return point && [ point[0] * d3_degrees, point[1] * d3_degrees ];\n }\n projection.stream = function(output) {\n if (stream) stream.valid = false;\n stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output))));\n stream.valid = true;\n return stream;\n };\n projection.clipAngle = function(_) {\n if (!arguments.length) return clipAngle;\n preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians);\n return invalidate();\n };\n projection.clipExtent = function(_) {\n if (!arguments.length) return clipExtent;\n clipExtent = _;\n postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity;\n return invalidate();\n };\n projection.scale = function(_) {\n if (!arguments.length) return k;\n k = +_;\n return reset();\n };\n projection.translate = function(_) {\n if (!arguments.length) return [ x, y ];\n x = +_[0];\n y = +_[1];\n return reset();\n };\n projection.center = function(_) {\n if (!arguments.length) return [ \u03BB * d3_degrees, \u03C6 * d3_degrees ];\n \u03BB = _[0] % 360 * d3_radians;\n \u03C6 = _[1] % 360 * d3_radians;\n return reset();\n };\n projection.rotate = function(_) {\n if (!arguments.length) return [ \u03B4\u03BB * d3_degrees, \u03B4\u03C6 * d3_degrees, \u03B4\u03B3 * d3_degrees ];\n \u03B4\u03BB = _[0] % 360 * d3_radians;\n \u03B4\u03C6 = _[1] % 360 * d3_radians;\n \u03B4\u03B3 = _.length > 2 ? _[2] % 360 * d3_radians : 0;\n return reset();\n };\n d3.rebind(projection, projectResample, \"precision\");\n function reset() {\n projectRotate = d3_geo_compose(rotate = d3_geo_rotation(\u03B4\u03BB, \u03B4\u03C6, \u03B4\u03B3), project);\n var center = project(\u03BB, \u03C6);\n \u03B4x = x - center[0] * k;\n \u03B4y = y + center[1] * k;\n return invalidate();\n }\n function invalidate() {\n if (stream) stream.valid = false, stream = null;\n return projection;\n }\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return reset();\n };\n }\n function d3_geo_projectionRadians(stream) {\n return d3_geo_transformPoint(stream, function(x, y) {\n stream.point(x * d3_radians, y * d3_radians);\n });\n }\n function d3_geo_equirectangular(\u03BB, \u03C6) {\n return [ \u03BB, \u03C6 ];\n }\n (d3.geo.equirectangular = function() {\n return d3_geo_projection(d3_geo_equirectangular);\n }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular;\n d3.geo.rotation = function(rotate) {\n rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0);\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n }\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n };\n return forward;\n };\n function d3_geo_identityRotation(\u03BB, \u03C6) {\n return [ \u03BB > \u03C0 ? \u03BB - \u03C4 : \u03BB < -\u03C0 ? \u03BB + \u03C4 : \u03BB, \u03C6 ];\n }\n d3_geo_identityRotation.invert = d3_geo_equirectangular;\n function d3_geo_rotation(\u03B4\u03BB, \u03B4\u03C6, \u03B4\u03B3) {\n return \u03B4\u03BB ? \u03B4\u03C6 || \u03B4\u03B3 ? d3_geo_compose(d3_geo_rotation\u03BB(\u03B4\u03BB), d3_geo_rotation\u03C6\u03B3(\u03B4\u03C6, \u03B4\u03B3)) : d3_geo_rotation\u03BB(\u03B4\u03BB) : \u03B4\u03C6 || \u03B4\u03B3 ? d3_geo_rotation\u03C6\u03B3(\u03B4\u03C6, \u03B4\u03B3) : d3_geo_identityRotation;\n }\n function d3_geo_forwardRotation\u03BB(\u03B4\u03BB) {\n return function(\u03BB, \u03C6) {\n return \u03BB += \u03B4\u03BB, [ \u03BB > \u03C0 ? \u03BB - \u03C4 : \u03BB < -\u03C0 ? \u03BB + \u03C4 : \u03BB, \u03C6 ];\n };\n }\n function d3_geo_rotation\u03BB(\u03B4\u03BB) {\n var rotation = d3_geo_forwardRotation\u03BB(\u03B4\u03BB);\n rotation.invert = d3_geo_forwardRotation\u03BB(-\u03B4\u03BB);\n return rotation;\n }\n function d3_geo_rotation\u03C6\u03B3(\u03B4\u03C6, \u03B4\u03B3) {\n var cos\u03B4\u03C6 = Math.cos(\u03B4\u03C6), sin\u03B4\u03C6 = Math.sin(\u03B4\u03C6), cos\u03B4\u03B3 = Math.cos(\u03B4\u03B3), sin\u03B4\u03B3 = Math.sin(\u03B4\u03B3);\n function rotation(\u03BB, \u03C6) {\n var cos\u03C6 = Math.cos(\u03C6), x = Math.cos(\u03BB) * cos\u03C6, y = Math.sin(\u03BB) * cos\u03C6, z = Math.sin(\u03C6), k = z * cos\u03B4\u03C6 + x * sin\u03B4\u03C6;\n return [ Math.atan2(y * cos\u03B4\u03B3 - k * sin\u03B4\u03B3, x * cos\u03B4\u03C6 - z * sin\u03B4\u03C6), d3_asin(k * cos\u03B4\u03B3 + y * sin\u03B4\u03B3) ];\n }\n rotation.invert = function(\u03BB, \u03C6) {\n var cos\u03C6 = Math.cos(\u03C6), x = Math.cos(\u03BB) * cos\u03C6, y = Math.sin(\u03BB) * cos\u03C6, z = Math.sin(\u03C6), k = z * cos\u03B4\u03B3 - y * sin\u03B4\u03B3;\n return [ Math.atan2(y * cos\u03B4\u03B3 + z * sin\u03B4\u03B3, x * cos\u03B4\u03C6 + k * sin\u03B4\u03C6), d3_asin(k * cos\u03B4\u03C6 - x * sin\u03B4\u03C6) ];\n };\n return rotation;\n }\n d3.geo.circle = function() {\n var origin = [ 0, 0 ], angle, precision = 6, interpolate;\n function circle() {\n var center = typeof origin === \"function\" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = [];\n interpolate(null, null, 1, {\n point: function(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= d3_degrees, x[1] *= d3_degrees;\n }\n });\n return {\n type: \"Polygon\",\n coordinates: [ ring ]\n };\n }\n circle.origin = function(x) {\n if (!arguments.length) return origin;\n origin = x;\n return circle;\n };\n circle.angle = function(x) {\n if (!arguments.length) return angle;\n interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians);\n return circle;\n };\n circle.precision = function(_) {\n if (!arguments.length) return precision;\n interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians);\n return circle;\n };\n return circle.angle(90);\n };\n function d3_geo_circleInterpolate(radius, precision) {\n var cr = Math.cos(radius), sr = Math.sin(radius);\n return function(from, to, direction, listener) {\n var step = direction * precision;\n if (from != null) {\n from = d3_geo_circleAngle(cr, from);\n to = d3_geo_circleAngle(cr, to);\n if (direction > 0 ? from < to : from > to) from += direction * \u03C4;\n } else {\n from = radius + direction * \u03C4;\n to = radius - .5 * step;\n }\n for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) {\n listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]);\n }\n };\n }\n function d3_geo_circleAngle(cr, point) {\n var a = d3_geo_cartesian(point);\n a[0] -= cr;\n d3_geo_cartesianNormalize(a);\n var angle = d3_acos(-a[1]);\n return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - \u03B5) % (2 * Math.PI);\n }\n d3.geo.distance = function(a, b) {\n var \u0394\u03BB = (b[0] - a[0]) * d3_radians, \u03C60 = a[1] * d3_radians, \u03C61 = b[1] * d3_radians, sin\u0394\u03BB = Math.sin(\u0394\u03BB), cos\u0394\u03BB = Math.cos(\u0394\u03BB), sin\u03C60 = Math.sin(\u03C60), cos\u03C60 = Math.cos(\u03C60), sin\u03C61 = Math.sin(\u03C61), cos\u03C61 = Math.cos(\u03C61), t;\n return Math.atan2(Math.sqrt((t = cos\u03C61 * sin\u0394\u03BB) * t + (t = cos\u03C60 * sin\u03C61 - sin\u03C60 * cos\u03C61 * cos\u0394\u03BB) * t), sin\u03C60 * sin\u03C61 + cos\u03C60 * cos\u03C61 * cos\u0394\u03BB);\n };\n d3.geo.graticule = function() {\n var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5;\n function graticule() {\n return {\n type: \"MultiLineString\",\n coordinates: lines()\n };\n }\n function lines() {\n return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) {\n return abs(x % DX) > \u03B5;\n }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) {\n return abs(y % DY) > \u03B5;\n }).map(y));\n }\n graticule.lines = function() {\n return lines().map(function(coordinates) {\n return {\n type: \"LineString\",\n coordinates: coordinates\n };\n });\n };\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ]\n };\n };\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.minorExtent();\n return graticule.majorExtent(_).minorExtent(_);\n };\n graticule.majorExtent = function(_) {\n if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n graticule.minorExtent = function(_) {\n if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n graticule.step = function(_) {\n if (!arguments.length) return graticule.minorStep();\n return graticule.majorStep(_).minorStep(_);\n };\n graticule.majorStep = function(_) {\n if (!arguments.length) return [ DX, DY ];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n graticule.minorStep = function(_) {\n if (!arguments.length) return [ dx, dy ];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = d3_geo_graticuleX(y0, y1, 90);\n y = d3_geo_graticuleY(x0, x1, precision);\n X = d3_geo_graticuleX(Y0, Y1, 90);\n Y = d3_geo_graticuleY(X0, X1, precision);\n return graticule;\n };\n return graticule.majorExtent([ [ -180, -90 + \u03B5 ], [ 180, 90 - \u03B5 ] ]).minorExtent([ [ -180, -80 - \u03B5 ], [ 180, 80 + \u03B5 ] ]);\n };\n function d3_geo_graticuleX(y0, y1, dy) {\n var y = d3.range(y0, y1 - \u03B5, dy).concat(y1);\n return function(x) {\n return y.map(function(y) {\n return [ x, y ];\n });\n };\n }\n function d3_geo_graticuleY(x0, x1, dx) {\n var x = d3.range(x0, x1 - \u03B5, dx).concat(x1);\n return function(y) {\n return x.map(function(x) {\n return [ x, y ];\n });\n };\n }\n function d3_source(d) {\n return d.source;\n }\n function d3_target(d) {\n return d.target;\n }\n d3.geo.greatArc = function() {\n var source = d3_source, source_, target = d3_target, target_;\n function greatArc() {\n return {\n type: \"LineString\",\n coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ]\n };\n }\n greatArc.distance = function() {\n return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments));\n };\n greatArc.source = function(_) {\n if (!arguments.length) return source;\n source = _, source_ = typeof _ === \"function\" ? null : _;\n return greatArc;\n };\n greatArc.target = function(_) {\n if (!arguments.length) return target;\n target = _, target_ = typeof _ === \"function\" ? null : _;\n return greatArc;\n };\n greatArc.precision = function() {\n return arguments.length ? greatArc : 0;\n };\n return greatArc;\n };\n d3.geo.interpolate = function(source, target) {\n return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians);\n };\n function d3_geo_interpolate(x0, y0, x1, y1) {\n var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d);\n var interpolate = d ? function(t) {\n var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1;\n return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ];\n } : function() {\n return [ x0 * d3_degrees, y0 * d3_degrees ];\n };\n interpolate.distance = d;\n return interpolate;\n }\n d3.geo.length = function(object) {\n d3_geo_lengthSum = 0;\n d3.geo.stream(object, d3_geo_length);\n return d3_geo_lengthSum;\n };\n var d3_geo_lengthSum;\n var d3_geo_length = {\n sphere: d3_noop,\n point: d3_noop,\n lineStart: d3_geo_lengthLineStart,\n lineEnd: d3_noop,\n polygonStart: d3_noop,\n polygonEnd: d3_noop\n };\n function d3_geo_lengthLineStart() {\n var \u03BB0, sin\u03C60, cos\u03C60;\n d3_geo_length.point = function(\u03BB, \u03C6) {\n \u03BB0 = \u03BB * d3_radians, sin\u03C60 = Math.sin(\u03C6 *= d3_radians), cos\u03C60 = Math.cos(\u03C6);\n d3_geo_length.point = nextPoint;\n };\n d3_geo_length.lineEnd = function() {\n d3_geo_length.point = d3_geo_length.lineEnd = d3_noop;\n };\n function nextPoint(\u03BB, \u03C6) {\n var sin\u03C6 = Math.sin(\u03C6 *= d3_radians), cos\u03C6 = Math.cos(\u03C6), t = abs((\u03BB *= d3_radians) - \u03BB0), cos\u0394\u03BB = Math.cos(t);\n d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cos\u03C6 * Math.sin(t)) * t + (t = cos\u03C60 * sin\u03C6 - sin\u03C60 * cos\u03C6 * cos\u0394\u03BB) * t), sin\u03C60 * sin\u03C6 + cos\u03C60 * cos\u03C6 * cos\u0394\u03BB);\n \u03BB0 = \u03BB, sin\u03C60 = sin\u03C6, cos\u03C60 = cos\u03C6;\n }\n }\n function d3_geo_azimuthal(scale, angle) {\n function azimuthal(\u03BB, \u03C6) {\n var cos\u03BB = Math.cos(\u03BB), cos\u03C6 = Math.cos(\u03C6), k = scale(cos\u03BB * cos\u03C6);\n return [ k * cos\u03C6 * Math.sin(\u03BB), k * Math.sin(\u03C6) ];\n }\n azimuthal.invert = function(x, y) {\n var \u03C1 = Math.sqrt(x * x + y * y), c = angle(\u03C1), sinc = Math.sin(c), cosc = Math.cos(c);\n return [ Math.atan2(x * sinc, \u03C1 * cosc), Math.asin(\u03C1 && y * sinc / \u03C1) ];\n };\n return azimuthal;\n }\n var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cos\u03BBcos\u03C6) {\n return Math.sqrt(2 / (1 + cos\u03BBcos\u03C6));\n }, function(\u03C1) {\n return 2 * Math.asin(\u03C1 / 2);\n });\n (d3.geo.azimuthalEqualArea = function() {\n return d3_geo_projection(d3_geo_azimuthalEqualArea);\n }).raw = d3_geo_azimuthalEqualArea;\n var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cos\u03BBcos\u03C6) {\n var c = Math.acos(cos\u03BBcos\u03C6);\n return c && c / Math.sin(c);\n }, d3_identity);\n (d3.geo.azimuthalEquidistant = function() {\n return d3_geo_projection(d3_geo_azimuthalEquidistant);\n }).raw = d3_geo_azimuthalEquidistant;\n function d3_geo_conicConformal(\u03C60, \u03C61) {\n var cos\u03C60 = Math.cos(\u03C60), t = function(\u03C6) {\n return Math.tan(\u03C0 / 4 + \u03C6 / 2);\n }, n = \u03C60 === \u03C61 ? Math.sin(\u03C60) : Math.log(cos\u03C60 / Math.cos(\u03C61)) / Math.log(t(\u03C61) / t(\u03C60)), F = cos\u03C60 * Math.pow(t(\u03C60), n) / n;\n if (!n) return d3_geo_mercator;\n function forward(\u03BB, \u03C6) {\n if (F > 0) {\n if (\u03C6 < -half\u03C0 + \u03B5) \u03C6 = -half\u03C0 + \u03B5;\n } else {\n if (\u03C6 > half\u03C0 - \u03B5) \u03C6 = half\u03C0 - \u03B5;\n }\n var \u03C1 = F / Math.pow(t(\u03C6), n);\n return [ \u03C1 * Math.sin(n * \u03BB), F - \u03C1 * Math.cos(n * \u03BB) ];\n }\n forward.invert = function(x, y) {\n var \u03C10_y = F - y, \u03C1 = d3_sgn(n) * Math.sqrt(x * x + \u03C10_y * \u03C10_y);\n return [ Math.atan2(x, \u03C10_y) / n, 2 * Math.atan(Math.pow(F / \u03C1, 1 / n)) - half\u03C0 ];\n };\n return forward;\n }\n (d3.geo.conicConformal = function() {\n return d3_geo_conic(d3_geo_conicConformal);\n }).raw = d3_geo_conicConformal;\n function d3_geo_conicEquidistant(\u03C60, \u03C61) {\n var cos\u03C60 = Math.cos(\u03C60), n = \u03C60 === \u03C61 ? Math.sin(\u03C60) : (cos\u03C60 - Math.cos(\u03C61)) / (\u03C61 - \u03C60), G = cos\u03C60 / n + \u03C60;\n if (abs(n) < \u03B5) return d3_geo_equirectangular;\n function forward(\u03BB, \u03C6) {\n var \u03C1 = G - \u03C6;\n return [ \u03C1 * Math.sin(n * \u03BB), G - \u03C1 * Math.cos(n * \u03BB) ];\n }\n forward.invert = function(x, y) {\n var \u03C10_y = G - y;\n return [ Math.atan2(x, \u03C10_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + \u03C10_y * \u03C10_y) ];\n };\n return forward;\n }\n (d3.geo.conicEquidistant = function() {\n return d3_geo_conic(d3_geo_conicEquidistant);\n }).raw = d3_geo_conicEquidistant;\n var d3_geo_gnomonic = d3_geo_azimuthal(function(cos\u03BBcos\u03C6) {\n return 1 / cos\u03BBcos\u03C6;\n }, Math.atan);\n (d3.geo.gnomonic = function() {\n return d3_geo_projection(d3_geo_gnomonic);\n }).raw = d3_geo_gnomonic;\n function d3_geo_mercator(\u03BB, \u03C6) {\n return [ \u03BB, Math.log(Math.tan(\u03C0 / 4 + \u03C6 / 2)) ];\n }\n d3_geo_mercator.invert = function(x, y) {\n return [ x, 2 * Math.atan(Math.exp(y)) - half\u03C0 ];\n };\n function d3_geo_mercatorProjection(project) {\n var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto;\n m.scale = function() {\n var v = scale.apply(m, arguments);\n return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n };\n m.translate = function() {\n var v = translate.apply(m, arguments);\n return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n };\n m.clipExtent = function(_) {\n var v = clipExtent.apply(m, arguments);\n if (v === m) {\n if (clipAuto = _ == null) {\n var k = \u03C0 * scale(), t = translate();\n clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]);\n }\n } else if (clipAuto) {\n v = null;\n }\n return v;\n };\n return m.clipExtent(null);\n }\n (d3.geo.mercator = function() {\n return d3_geo_mercatorProjection(d3_geo_mercator);\n }).raw = d3_geo_mercator;\n var d3_geo_orthographic = d3_geo_azimuthal(function() {\n return 1;\n }, Math.asin);\n (d3.geo.orthographic = function() {\n return d3_geo_projection(d3_geo_orthographic);\n }).raw = d3_geo_orthographic;\n var d3_geo_stereographic = d3_geo_azimuthal(function(cos\u03BBcos\u03C6) {\n return 1 / (1 + cos\u03BBcos\u03C6);\n }, function(\u03C1) {\n return 2 * Math.atan(\u03C1);\n });\n (d3.geo.stereographic = function() {\n return d3_geo_projection(d3_geo_stereographic);\n }).raw = d3_geo_stereographic;\n function d3_geo_transverseMercator(\u03BB, \u03C6) {\n return [ Math.log(Math.tan(\u03C0 / 4 + \u03C6 / 2)), -\u03BB ];\n }\n d3_geo_transverseMercator.invert = function(x, y) {\n return [ -y, 2 * Math.atan(Math.exp(x)) - half\u03C0 ];\n };\n (d3.geo.transverseMercator = function() {\n var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate;\n projection.center = function(_) {\n return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]);\n };\n projection.rotate = function(_) {\n return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), \n [ _[0], _[1], _[2] - 90 ]);\n };\n return rotate([ 0, 0, 90 ]);\n }).raw = d3_geo_transverseMercator;\n d3.geom = {};\n function d3_geom_pointX(d) {\n return d[0];\n }\n function d3_geom_pointY(d) {\n return d[1];\n }\n d3.geom.hull = function(vertices) {\n var x = d3_geom_pointX, y = d3_geom_pointY;\n if (arguments.length) return hull(vertices);\n function hull(data) {\n if (data.length < 3) return [];\n var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = [];\n for (i = 0; i < n; i++) {\n points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]);\n }\n points.sort(d3_geom_hullOrder);\n for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]);\n var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints);\n var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = [];\n for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]);\n for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]);\n return polygon;\n }\n hull.x = function(_) {\n return arguments.length ? (x = _, hull) : x;\n };\n hull.y = function(_) {\n return arguments.length ? (y = _, hull) : y;\n };\n return hull;\n };\n function d3_geom_hullUpper(points) {\n var n = points.length, hull = [ 0, 1 ], hs = 2;\n for (var i = 2; i < n; i++) {\n while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs;\n hull[hs++] = i;\n }\n return hull.slice(0, hs);\n }\n function d3_geom_hullOrder(a, b) {\n return a[0] - b[0] || a[1] - b[1];\n }\n d3.geom.polygon = function(coordinates) {\n d3_subclass(coordinates, d3_geom_polygonPrototype);\n return coordinates;\n };\n var d3_geom_polygonPrototype = d3.geom.polygon.prototype = [];\n d3_geom_polygonPrototype.area = function() {\n var i = -1, n = this.length, a, b = this[n - 1], area = 0;\n while (++i < n) {\n a = b;\n b = this[i];\n area += a[1] * b[0] - a[0] * b[1];\n }\n return area * .5;\n };\n d3_geom_polygonPrototype.centroid = function(k) {\n var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c;\n if (!arguments.length) k = -1 / (6 * this.area());\n while (++i < n) {\n a = b;\n b = this[i];\n c = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * c;\n y += (a[1] + b[1]) * c;\n }\n return [ x * k, y * k ];\n };\n d3_geom_polygonPrototype.clip = function(subject) {\n var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d;\n while (++i < n) {\n input = subject.slice();\n subject.length = 0;\n b = this[i];\n c = input[(m = input.length - closed) - 1];\n j = -1;\n while (++j < m) {\n d = input[j];\n if (d3_geom_polygonInside(d, a, b)) {\n if (!d3_geom_polygonInside(c, a, b)) {\n subject.push(d3_geom_polygonIntersect(c, d, a, b));\n }\n subject.push(d);\n } else if (d3_geom_polygonInside(c, a, b)) {\n subject.push(d3_geom_polygonIntersect(c, d, a, b));\n }\n c = d;\n }\n if (closed) subject.push(subject[0]);\n a = b;\n }\n return subject;\n };\n function d3_geom_polygonInside(p, a, b) {\n return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]);\n }\n function d3_geom_polygonIntersect(c, d, a, b) {\n var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21);\n return [ x1 + ua * x21, y1 + ua * y21 ];\n }\n function d3_geom_polygonClosed(coordinates) {\n var a = coordinates[0], b = coordinates[coordinates.length - 1];\n return !(a[0] - b[0] || a[1] - b[1]);\n }\n var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = [];\n function d3_geom_voronoiBeach() {\n d3_geom_voronoiRedBlackNode(this);\n this.edge = this.site = this.circle = null;\n }\n function d3_geom_voronoiCreateBeach(site) {\n var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach();\n beach.site = site;\n return beach;\n }\n function d3_geom_voronoiDetachBeach(beach) {\n d3_geom_voronoiDetachCircle(beach);\n d3_geom_voronoiBeaches.remove(beach);\n d3_geom_voronoiBeachPool.push(beach);\n d3_geom_voronoiRedBlackNode(beach);\n }\n function d3_geom_voronoiRemoveBeach(beach) {\n var circle = beach.circle, x = circle.x, y = circle.cy, vertex = {\n x: x,\n y: y\n }, previous = beach.P, next = beach.N, disappearing = [ beach ];\n d3_geom_voronoiDetachBeach(beach);\n var lArc = previous;\n while (lArc.circle && abs(x - lArc.circle.x) < \u03B5 && abs(y - lArc.circle.cy) < \u03B5) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n d3_geom_voronoiDetachBeach(lArc);\n lArc = previous;\n }\n disappearing.unshift(lArc);\n d3_geom_voronoiDetachCircle(lArc);\n var rArc = next;\n while (rArc.circle && abs(x - rArc.circle.x) < \u03B5 && abs(y - rArc.circle.cy) < \u03B5) {\n next = rArc.N;\n disappearing.push(rArc);\n d3_geom_voronoiDetachBeach(rArc);\n rArc = next;\n }\n disappearing.push(rArc);\n d3_geom_voronoiDetachCircle(rArc);\n var nArcs = disappearing.length, iArc;\n for (iArc = 1; iArc < nArcs; ++iArc) {\n rArc = disappearing[iArc];\n lArc = disappearing[iArc - 1];\n d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);\n }\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n }\n function d3_geom_voronoiAddBeach(site) {\n var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._;\n while (node) {\n dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x;\n if (dxl > \u03B5) node = node.L; else {\n dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix);\n if (dxr > \u03B5) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -\u03B5) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -\u03B5) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n var newArc = d3_geom_voronoiCreateBeach(site);\n d3_geom_voronoiBeaches.insert(lArc, newArc);\n if (!lArc && !rArc) return;\n if (lArc === rArc) {\n d3_geom_voronoiDetachCircle(lArc);\n rArc = d3_geom_voronoiCreateBeach(lArc.site);\n d3_geom_voronoiBeaches.insert(newArc, rArc);\n newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n return;\n }\n if (!rArc) {\n newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n return;\n }\n d3_geom_voronoiDetachCircle(lArc);\n d3_geom_voronoiDetachCircle(rArc);\n var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = {\n x: (cy * hb - by * hc) / d + ax,\n y: (bx * hc - cx * hb) / d + ay\n };\n d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex);\n newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex);\n rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n }\n function d3_geom_voronoiLeftBreakPoint(arc, directrix) {\n var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix;\n if (!pby2) return rfocx;\n var lArc = arc.P;\n if (!lArc) return -Infinity;\n site = lArc.site;\n var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix;\n if (!plby2) return lfocx;\n var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2;\n if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n return (rfocx + lfocx) / 2;\n }\n function d3_geom_voronoiRightBreakPoint(arc, directrix) {\n var rArc = arc.N;\n if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix);\n var site = arc.site;\n return site.y === directrix ? site.x : Infinity;\n }\n function d3_geom_voronoiCell(site) {\n this.site = site;\n this.edges = [];\n }\n d3_geom_voronoiCell.prototype.prepare = function() {\n var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge;\n while (iHalfEdge--) {\n edge = halfEdges[iHalfEdge].edge;\n if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1);\n }\n halfEdges.sort(d3_geom_voronoiHalfEdgeOrder);\n return halfEdges.length;\n };\n function d3_geom_voronoiCloseCells(extent) {\n var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end;\n while (iCell--) {\n cell = cells[iCell];\n if (!cell || !cell.prepare()) continue;\n halfEdges = cell.edges;\n nHalfEdges = halfEdges.length;\n iHalfEdge = 0;\n while (iHalfEdge < nHalfEdges) {\n end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y;\n start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y;\n if (abs(x3 - x2) > \u03B5 || abs(y3 - y2) > \u03B5) {\n halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < \u03B5 && y1 - y3 > \u03B5 ? {\n x: x0,\n y: abs(x2 - x0) < \u03B5 ? y2 : y1\n } : abs(y3 - y1) < \u03B5 && x1 - x3 > \u03B5 ? {\n x: abs(y2 - y1) < \u03B5 ? x2 : x1,\n y: y1\n } : abs(x3 - x1) < \u03B5 && y3 - y0 > \u03B5 ? {\n x: x1,\n y: abs(x2 - x1) < \u03B5 ? y2 : y0\n } : abs(y3 - y0) < \u03B5 && x3 - x0 > \u03B5 ? {\n x: abs(y2 - y0) < \u03B5 ? x2 : x0,\n y: y0\n } : null), cell.site, null));\n ++nHalfEdges;\n }\n }\n }\n }\n function d3_geom_voronoiHalfEdgeOrder(a, b) {\n return b.angle - a.angle;\n }\n function d3_geom_voronoiCircle() {\n d3_geom_voronoiRedBlackNode(this);\n this.x = this.y = this.arc = this.site = this.cy = null;\n }\n function d3_geom_voronoiAttachCircle(arc) {\n var lArc = arc.P, rArc = arc.N;\n if (!lArc || !rArc) return;\n var lSite = lArc.site, cSite = arc.site, rSite = rArc.site;\n if (lSite === rSite) return;\n var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by;\n var d = 2 * (ax * cy - ay * cx);\n if (d >= -\u03B52) return;\n var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by;\n var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle();\n circle.arc = arc;\n circle.site = cSite;\n circle.x = x + bx;\n circle.y = cy + Math.sqrt(x * x + y * y);\n circle.cy = cy;\n arc.circle = circle;\n var before = null, node = d3_geom_voronoiCircles._;\n while (node) {\n if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) {\n if (node.L) node = node.L; else {\n before = node.P;\n break;\n }\n } else {\n if (node.R) node = node.R; else {\n before = node;\n break;\n }\n }\n }\n d3_geom_voronoiCircles.insert(before, circle);\n if (!before) d3_geom_voronoiFirstCircle = circle;\n }\n function d3_geom_voronoiDetachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) d3_geom_voronoiFirstCircle = circle.N;\n d3_geom_voronoiCircles.remove(circle);\n d3_geom_voronoiCirclePool.push(circle);\n d3_geom_voronoiRedBlackNode(circle);\n arc.circle = null;\n }\n }\n function d3_geom_voronoiClipEdges(extent) {\n var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e;\n while (i--) {\n e = edges[i];\n if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < \u03B5 && abs(e.a.y - e.b.y) < \u03B5) {\n e.a = e.b = null;\n edges.splice(i, 1);\n }\n }\n }\n function d3_geom_voronoiConnectEdge(edge, extent) {\n var vb = edge.b;\n if (vb) return true;\n var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb;\n if (ry === ly) {\n if (fx < x0 || fx >= x1) return;\n if (lx > rx) {\n if (!va) va = {\n x: fx,\n y: y0\n }; else if (va.y >= y1) return;\n vb = {\n x: fx,\n y: y1\n };\n } else {\n if (!va) va = {\n x: fx,\n y: y1\n }; else if (va.y < y0) return;\n vb = {\n x: fx,\n y: y0\n };\n }\n } else {\n fm = (lx - rx) / (ry - ly);\n fb = fy - fm * fx;\n if (fm < -1 || fm > 1) {\n if (lx > rx) {\n if (!va) va = {\n x: (y0 - fb) / fm,\n y: y0\n }; else if (va.y >= y1) return;\n vb = {\n x: (y1 - fb) / fm,\n y: y1\n };\n } else {\n if (!va) va = {\n x: (y1 - fb) / fm,\n y: y1\n }; else if (va.y < y0) return;\n vb = {\n x: (y0 - fb) / fm,\n y: y0\n };\n }\n } else {\n if (ly < ry) {\n if (!va) va = {\n x: x0,\n y: fm * x0 + fb\n }; else if (va.x >= x1) return;\n vb = {\n x: x1,\n y: fm * x1 + fb\n };\n } else {\n if (!va) va = {\n x: x1,\n y: fm * x1 + fb\n }; else if (va.x < x0) return;\n vb = {\n x: x0,\n y: fm * x0 + fb\n };\n }\n }\n }\n edge.a = va;\n edge.b = vb;\n return true;\n }\n function d3_geom_voronoiEdge(lSite, rSite) {\n this.l = lSite;\n this.r = rSite;\n this.a = this.b = null;\n }\n function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) {\n var edge = new d3_geom_voronoiEdge(lSite, rSite);\n d3_geom_voronoiEdges.push(edge);\n if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va);\n if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb);\n d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite));\n d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite));\n return edge;\n }\n function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) {\n var edge = new d3_geom_voronoiEdge(lSite, null);\n edge.a = va;\n edge.b = vb;\n d3_geom_voronoiEdges.push(edge);\n return edge;\n }\n function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) {\n if (!edge.a && !edge.b) {\n edge.a = vertex;\n edge.l = lSite;\n edge.r = rSite;\n } else if (edge.l === rSite) {\n edge.b = vertex;\n } else {\n edge.a = vertex;\n }\n }\n function d3_geom_voronoiHalfEdge(edge, lSite, rSite) {\n var va = edge.a, vb = edge.b;\n this.edge = edge;\n this.site = lSite;\n this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y);\n }\n d3_geom_voronoiHalfEdge.prototype = {\n start: function() {\n return this.edge.l === this.site ? this.edge.a : this.edge.b;\n },\n end: function() {\n return this.edge.l === this.site ? this.edge.b : this.edge.a;\n }\n };\n function d3_geom_voronoiRedBlackTree() {\n this._ = null;\n }\n function d3_geom_voronoiRedBlackNode(node) {\n node.U = node.C = node.L = node.R = node.P = node.N = null;\n }\n d3_geom_voronoiRedBlackTree.prototype = {\n insert: function(after, node) {\n var parent, grandpa, uncle;\n if (after) {\n node.P = after;\n node.N = after.N;\n if (after.N) after.N.P = node;\n after.N = node;\n if (after.R) {\n after = after.R;\n while (after.L) after = after.L;\n after.L = node;\n } else {\n after.R = node;\n }\n parent = after;\n } else if (this._) {\n after = d3_geom_voronoiRedBlackFirst(this._);\n node.P = null;\n node.N = after;\n after.P = after.L = node;\n parent = after;\n } else {\n node.P = node.N = null;\n this._ = node;\n parent = null;\n }\n node.L = node.R = null;\n node.U = parent;\n node.C = true;\n after = node;\n while (parent && parent.C) {\n grandpa = parent.U;\n if (parent === grandpa.L) {\n uncle = grandpa.R;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.R) {\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, grandpa);\n }\n } else {\n uncle = grandpa.L;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.L) {\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, grandpa);\n }\n }\n parent = after.U;\n }\n this._.C = false;\n },\n remove: function(node) {\n if (node.N) node.N.P = node.P;\n if (node.P) node.P.N = node.N;\n node.N = node.P = null;\n var parent = node.U, sibling, left = node.L, right = node.R, next, red;\n if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right);\n if (parent) {\n if (parent.L === node) parent.L = next; else parent.R = next;\n } else {\n this._ = next;\n }\n if (left && right) {\n red = next.C;\n next.C = node.C;\n next.L = left;\n left.U = next;\n if (next !== right) {\n parent = next.U;\n next.U = node.U;\n node = next.R;\n parent.L = node;\n next.R = right;\n right.U = next;\n } else {\n next.U = parent;\n parent = next;\n node = next.R;\n }\n } else {\n red = node.C;\n node = next;\n }\n if (node) node.U = parent;\n if (red) return;\n if (node && node.C) {\n node.C = false;\n return;\n }\n do {\n if (node === this._) break;\n if (node === parent.L) {\n sibling = parent.R;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n sibling = parent.R;\n }\n if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n if (!sibling.R || !sibling.R.C) {\n sibling.L.C = false;\n sibling.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, sibling);\n sibling = parent.R;\n }\n sibling.C = parent.C;\n parent.C = sibling.R.C = false;\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n node = this._;\n break;\n }\n } else {\n sibling = parent.L;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n sibling = parent.L;\n }\n if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n if (!sibling.L || !sibling.L.C) {\n sibling.R.C = false;\n sibling.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, sibling);\n sibling = parent.L;\n }\n sibling.C = parent.C;\n parent.C = sibling.L.C = false;\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n node = this._;\n break;\n }\n }\n sibling.C = true;\n node = parent;\n parent = parent.U;\n } while (!node.C);\n if (node) node.C = false;\n }\n };\n function d3_geom_voronoiRedBlackRotateLeft(tree, node) {\n var p = node, q = node.R, parent = p.U;\n if (parent) {\n if (parent.L === p) parent.L = q; else parent.R = q;\n } else {\n tree._ = q;\n }\n q.U = parent;\n p.U = q;\n p.R = q.L;\n if (p.R) p.R.U = p;\n q.L = p;\n }\n function d3_geom_voronoiRedBlackRotateRight(tree, node) {\n var p = node, q = node.L, parent = p.U;\n if (parent) {\n if (parent.L === p) parent.L = q; else parent.R = q;\n } else {\n tree._ = q;\n }\n q.U = parent;\n p.U = q;\n p.L = q.R;\n if (p.L) p.L.U = p;\n q.R = p;\n }\n function d3_geom_voronoiRedBlackFirst(node) {\n while (node.L) node = node.L;\n return node;\n }\n function d3_geom_voronoi(sites, bbox) {\n var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle;\n d3_geom_voronoiEdges = [];\n d3_geom_voronoiCells = new Array(sites.length);\n d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree();\n d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree();\n while (true) {\n circle = d3_geom_voronoiFirstCircle;\n if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) {\n if (site.x !== x0 || site.y !== y0) {\n d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site);\n d3_geom_voronoiAddBeach(site);\n x0 = site.x, y0 = site.y;\n }\n site = sites.pop();\n } else if (circle) {\n d3_geom_voronoiRemoveBeach(circle.arc);\n } else {\n break;\n }\n }\n if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox);\n var diagram = {\n cells: d3_geom_voronoiCells,\n edges: d3_geom_voronoiEdges\n };\n d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null;\n return diagram;\n }\n function d3_geom_voronoiVertexOrder(a, b) {\n return b.y - a.y || b.x - a.x;\n }\n d3.geom.voronoi = function(points) {\n var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent;\n if (points) return voronoi(points);\n function voronoi(data) {\n var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1];\n d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) {\n var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) {\n var s = e.start();\n return [ s.x, s.y ];\n }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : [];\n polygon.point = data[i];\n });\n return polygons;\n }\n function sites(data) {\n return data.map(function(d, i) {\n return {\n x: Math.round(fx(d, i) / \u03B5) * \u03B5,\n y: Math.round(fy(d, i) / \u03B5) * \u03B5,\n i: i\n };\n });\n }\n voronoi.links = function(data) {\n return d3_geom_voronoi(sites(data)).edges.filter(function(edge) {\n return edge.l && edge.r;\n }).map(function(edge) {\n return {\n source: data[edge.l.i],\n target: data[edge.r.i]\n };\n });\n };\n voronoi.triangles = function(data) {\n var triangles = [];\n d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) {\n var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l;\n while (++j < m) {\n e0 = e1;\n s0 = s1;\n e1 = edges[j].edge;\n s1 = e1.l === site ? e1.r : e1.l;\n if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) {\n triangles.push([ data[i], data[s0.i], data[s1.i] ]);\n }\n }\n });\n return triangles;\n };\n voronoi.x = function(_) {\n return arguments.length ? (fx = d3_functor(x = _), voronoi) : x;\n };\n voronoi.y = function(_) {\n return arguments.length ? (fy = d3_functor(y = _), voronoi) : y;\n };\n voronoi.clipExtent = function(_) {\n if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent;\n clipExtent = _ == null ? d3_geom_voronoiClipExtent : _;\n return voronoi;\n };\n voronoi.size = function(_) {\n if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1];\n return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]);\n };\n return voronoi;\n };\n var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ];\n function d3_geom_voronoiTriangleArea(a, b, c) {\n return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y);\n }\n d3.geom.delaunay = function(vertices) {\n return d3.geom.voronoi().triangles(vertices);\n };\n d3.geom.quadtree = function(points, x1, y1, x2, y2) {\n var x = d3_geom_pointX, y = d3_geom_pointY, compat;\n if (compat = arguments.length) {\n x = d3_geom_quadtreeCompatX;\n y = d3_geom_quadtreeCompatY;\n if (compat === 3) {\n y2 = y1;\n x2 = x1;\n y1 = x1 = 0;\n }\n return quadtree(points);\n }\n function quadtree(data) {\n var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_;\n if (x1 != null) {\n x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2;\n } else {\n x2_ = y2_ = -(x1_ = y1_ = Infinity);\n xs = [], ys = [];\n n = data.length;\n if (compat) for (i = 0; i < n; ++i) {\n d = data[i];\n if (d.x < x1_) x1_ = d.x;\n if (d.y < y1_) y1_ = d.y;\n if (d.x > x2_) x2_ = d.x;\n if (d.y > y2_) y2_ = d.y;\n xs.push(d.x);\n ys.push(d.y);\n } else for (i = 0; i < n; ++i) {\n var x_ = +fx(d = data[i], i), y_ = +fy(d, i);\n if (x_ < x1_) x1_ = x_;\n if (y_ < y1_) y1_ = y_;\n if (x_ > x2_) x2_ = x_;\n if (y_ > y2_) y2_ = y_;\n xs.push(x_);\n ys.push(y_);\n }\n }\n var dx = x2_ - x1_, dy = y2_ - y1_;\n if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy;\n function insert(n, d, x, y, x1, y1, x2, y2) {\n if (isNaN(x) || isNaN(y)) return;\n if (n.leaf) {\n var nx = n.x, ny = n.y;\n if (nx != null) {\n if (abs(nx - x) + abs(ny - y) < .01) {\n insertChild(n, d, x, y, x1, y1, x2, y2);\n } else {\n var nPoint = n.point;\n n.x = n.y = n.point = null;\n insertChild(n, nPoint, nx, ny, x1, y1, x2, y2);\n insertChild(n, d, x, y, x1, y1, x2, y2);\n }\n } else {\n n.x = x, n.y = y, n.point = d;\n }\n } else {\n insertChild(n, d, x, y, x1, y1, x2, y2);\n }\n }\n function insertChild(n, d, x, y, x1, y1, x2, y2) {\n var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right;\n n.leaf = false;\n n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode());\n if (right) x1 = xm; else x2 = xm;\n if (below) y1 = ym; else y2 = ym;\n insert(n, d, x, y, x1, y1, x2, y2);\n }\n var root = d3_geom_quadtreeNode();\n root.add = function(d) {\n insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_);\n };\n root.visit = function(f) {\n d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_);\n };\n root.find = function(point) {\n return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_);\n };\n i = -1;\n if (x1 == null) {\n while (++i < n) {\n insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_);\n }\n --i;\n } else data.forEach(root.add);\n xs = ys = data = d = null;\n return root;\n }\n quadtree.x = function(_) {\n return arguments.length ? (x = _, quadtree) : x;\n };\n quadtree.y = function(_) {\n return arguments.length ? (y = _, quadtree) : y;\n };\n quadtree.extent = function(_) {\n if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ];\n if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], \n y2 = +_[1][1];\n return quadtree;\n };\n quadtree.size = function(_) {\n if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ];\n if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1];\n return quadtree;\n };\n return quadtree;\n };\n function d3_geom_quadtreeCompatX(d) {\n return d.x;\n }\n function d3_geom_quadtreeCompatY(d) {\n return d.y;\n }\n function d3_geom_quadtreeNode() {\n return {\n leaf: true,\n nodes: [],\n point: null,\n x: null,\n y: null\n };\n }\n function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) {\n if (!f(node, x1, y1, x2, y2)) {\n var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes;\n if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy);\n if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy);\n if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2);\n if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2);\n }\n }\n function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) {\n var minDistance2 = Infinity, closestPoint;\n (function find(node, x1, y1, x2, y2) {\n if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return;\n if (point = node.point) {\n var point, dx = x - node.x, dy = y - node.y, distance2 = dx * dx + dy * dy;\n if (distance2 < minDistance2) {\n var distance = Math.sqrt(minDistance2 = distance2);\n x0 = x - distance, y0 = y - distance;\n x3 = x + distance, y3 = y + distance;\n closestPoint = point;\n }\n }\n var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym;\n for (var i = below << 1 | right, j = i + 4; i < j; ++i) {\n if (node = children[i & 3]) switch (i & 3) {\n case 0:\n find(node, x1, y1, xm, ym);\n break;\n\n case 1:\n find(node, xm, y1, x2, ym);\n break;\n\n case 2:\n find(node, x1, ym, xm, y2);\n break;\n\n case 3:\n find(node, xm, ym, x2, y2);\n break;\n }\n }\n })(root, x0, y0, x3, y3);\n return closestPoint;\n }\n d3.interpolateRgb = d3_interpolateRgb;\n function d3_interpolateRgb(a, b) {\n a = d3.rgb(a);\n b = d3.rgb(b);\n var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab;\n return function(t) {\n return \"#\" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t));\n };\n }\n d3.interpolateObject = d3_interpolateObject;\n function d3_interpolateObject(a, b) {\n var i = {}, c = {}, k;\n for (k in a) {\n if (k in b) {\n i[k] = d3_interpolate(a[k], b[k]);\n } else {\n c[k] = a[k];\n }\n }\n for (k in b) {\n if (!(k in a)) {\n c[k] = b[k];\n }\n }\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n }\n d3.interpolateNumber = d3_interpolateNumber;\n function d3_interpolateNumber(a, b) {\n a = +a, b = +b;\n return function(t) {\n return a * (1 - t) + b * t;\n };\n }\n d3.interpolateString = d3_interpolateString;\n function d3_interpolateString(a, b) {\n var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = [];\n a = a + \"\", b = b + \"\";\n while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) {\n if ((bs = bm.index) > bi) {\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) {\n if (s[i]) s[i] += bm; else s[++i] = bm;\n } else {\n s[++i] = null;\n q.push({\n i: i,\n x: d3_interpolateNumber(am, bm)\n });\n }\n bi = d3_interpolate_numberB.lastIndex;\n }\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; else s[++i] = bs;\n }\n return s.length < 2 ? q[0] ? (b = q[0].x, function(t) {\n return b(t) + \"\";\n }) : function() {\n return b;\n } : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n }\n var d3_interpolate_numberA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, \"g\");\n d3.interpolate = d3_interpolate;\n function d3_interpolate(a, b) {\n var i = d3.interpolators.length, f;\n while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ;\n return f;\n }\n d3.interpolators = [ function(a, b) {\n var t = typeof b;\n return (t === \"string\" ? d3_rgb_names.has(b.toLowerCase()) || /^(#|rgb\\(|hsl\\()/i.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === \"object\" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b);\n } ];\n d3.interpolateArray = d3_interpolateArray;\n function d3_interpolateArray(a, b) {\n var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i;\n for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i]));\n for (;i < na; ++i) c[i] = a[i];\n for (;i < nb; ++i) c[i] = b[i];\n return function(t) {\n for (i = 0; i < n0; ++i) c[i] = x[i](t);\n return c;\n };\n }\n var d3_ease_default = function() {\n return d3_identity;\n };\n var d3_ease = d3.map({\n linear: d3_ease_default,\n poly: d3_ease_poly,\n quad: function() {\n return d3_ease_quad;\n },\n cubic: function() {\n return d3_ease_cubic;\n },\n sin: function() {\n return d3_ease_sin;\n },\n exp: function() {\n return d3_ease_exp;\n },\n circle: function() {\n return d3_ease_circle;\n },\n elastic: d3_ease_elastic,\n back: d3_ease_back,\n bounce: function() {\n return d3_ease_bounce;\n }\n });\n var d3_ease_mode = d3.map({\n \"in\": d3_identity,\n out: d3_ease_reverse,\n \"in-out\": d3_ease_reflect,\n \"out-in\": function(f) {\n return d3_ease_reflect(d3_ease_reverse(f));\n }\n });\n d3.ease = function(name) {\n var i = name.indexOf(\"-\"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : \"in\";\n t = d3_ease.get(t) || d3_ease_default;\n m = d3_ease_mode.get(m) || d3_identity;\n return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1))));\n };\n function d3_ease_clamp(f) {\n return function(t) {\n return t <= 0 ? 0 : t >= 1 ? 1 : f(t);\n };\n }\n function d3_ease_reverse(f) {\n return function(t) {\n return 1 - f(1 - t);\n };\n }\n function d3_ease_reflect(f) {\n return function(t) {\n return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t));\n };\n }\n function d3_ease_quad(t) {\n return t * t;\n }\n function d3_ease_cubic(t) {\n return t * t * t;\n }\n function d3_ease_cubicInOut(t) {\n if (t <= 0) return 0;\n if (t >= 1) return 1;\n var t2 = t * t, t3 = t2 * t;\n return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75);\n }\n function d3_ease_poly(e) {\n return function(t) {\n return Math.pow(t, e);\n };\n }\n function d3_ease_sin(t) {\n return 1 - Math.cos(t * half\u03C0);\n }\n function d3_ease_exp(t) {\n return Math.pow(2, 10 * (t - 1));\n }\n function d3_ease_circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n function d3_ease_elastic(a, p) {\n var s;\n if (arguments.length < 2) p = .45;\n if (arguments.length) s = p / \u03C4 * Math.asin(1 / a); else a = 1, s = p / 4;\n return function(t) {\n return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * \u03C4 / p);\n };\n }\n function d3_ease_back(s) {\n if (!s) s = 1.70158;\n return function(t) {\n return t * t * ((s + 1) * t - s);\n };\n }\n function d3_ease_bounce(t) {\n return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;\n }\n d3.interpolateHcl = d3_interpolateHcl;\n function d3_interpolateHcl(a, b) {\n a = d3.hcl(a);\n b = d3.hcl(b);\n var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al;\n if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac;\n if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n return function(t) {\n return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + \"\";\n };\n }\n d3.interpolateHsl = d3_interpolateHsl;\n function d3_interpolateHsl(a, b) {\n a = d3.hsl(a);\n b = d3.hsl(b);\n var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al;\n if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as;\n if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n return function(t) {\n return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + \"\";\n };\n }\n d3.interpolateLab = d3_interpolateLab;\n function d3_interpolateLab(a, b) {\n a = d3.lab(a);\n b = d3.lab(b);\n var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab;\n return function(t) {\n return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + \"\";\n };\n }\n d3.interpolateRound = d3_interpolateRound;\n function d3_interpolateRound(a, b) {\n b -= a;\n return function(t) {\n return Math.round(a + b * t);\n };\n }\n d3.transform = function(string) {\n var g = d3_document.createElementNS(d3.ns.prefix.svg, \"g\");\n return (d3.transform = function(string) {\n if (string != null) {\n g.setAttribute(\"transform\", string);\n var t = g.transform.baseVal.consolidate();\n }\n return new d3_transform(t ? t.matrix : d3_transformIdentity);\n })(string);\n };\n function d3_transform(m) {\n var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0;\n if (r0[0] * r1[1] < r1[0] * r0[1]) {\n r0[0] *= -1;\n r0[1] *= -1;\n kx *= -1;\n kz *= -1;\n }\n this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees;\n this.translate = [ m.e, m.f ];\n this.scale = [ kx, ky ];\n this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0;\n }\n d3_transform.prototype.toString = function() {\n return \"translate(\" + this.translate + \")rotate(\" + this.rotate + \")skewX(\" + this.skew + \")scale(\" + this.scale + \")\";\n };\n function d3_transformDot(a, b) {\n return a[0] * b[0] + a[1] * b[1];\n }\n function d3_transformNormalize(a) {\n var k = Math.sqrt(d3_transformDot(a, a));\n if (k) {\n a[0] /= k;\n a[1] /= k;\n }\n return k;\n }\n function d3_transformCombine(a, b, k) {\n a[0] += k * b[0];\n a[1] += k * b[1];\n return a;\n }\n var d3_transformIdentity = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: 0,\n f: 0\n };\n d3.interpolateTransform = d3_interpolateTransform;\n function d3_interpolateTransformPop(s) {\n return s.length ? s.pop() + \",\" : \"\";\n }\n function d3_interpolateTranslate(ta, tb, s, q) {\n if (ta[0] !== tb[0] || ta[1] !== tb[1]) {\n var i = s.push(\"translate(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: d3_interpolateNumber(ta[0], tb[0])\n }, {\n i: i - 2,\n x: d3_interpolateNumber(ta[1], tb[1])\n });\n } else if (tb[0] || tb[1]) {\n s.push(\"translate(\" + tb + \")\");\n }\n }\n function d3_interpolateRotate(ra, rb, s, q) {\n if (ra !== rb) {\n if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360;\n q.push({\n i: s.push(d3_interpolateTransformPop(s) + \"rotate(\", null, \")\") - 2,\n x: d3_interpolateNumber(ra, rb)\n });\n } else if (rb) {\n s.push(d3_interpolateTransformPop(s) + \"rotate(\" + rb + \")\");\n }\n }\n function d3_interpolateSkew(wa, wb, s, q) {\n if (wa !== wb) {\n q.push({\n i: s.push(d3_interpolateTransformPop(s) + \"skewX(\", null, \")\") - 2,\n x: d3_interpolateNumber(wa, wb)\n });\n } else if (wb) {\n s.push(d3_interpolateTransformPop(s) + \"skewX(\" + wb + \")\");\n }\n }\n function d3_interpolateScale(ka, kb, s, q) {\n if (ka[0] !== kb[0] || ka[1] !== kb[1]) {\n var i = s.push(d3_interpolateTransformPop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: d3_interpolateNumber(ka[0], kb[0])\n }, {\n i: i - 2,\n x: d3_interpolateNumber(ka[1], kb[1])\n });\n } else if (kb[0] !== 1 || kb[1] !== 1) {\n s.push(d3_interpolateTransformPop(s) + \"scale(\" + kb + \")\");\n }\n }\n function d3_interpolateTransform(a, b) {\n var s = [], q = [];\n a = d3.transform(a), b = d3.transform(b);\n d3_interpolateTranslate(a.translate, b.translate, s, q);\n d3_interpolateRotate(a.rotate, b.rotate, s, q);\n d3_interpolateSkew(a.skew, b.skew, s, q);\n d3_interpolateScale(a.scale, b.scale, s, q);\n a = b = null;\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n }\n function d3_uninterpolateNumber(a, b) {\n b = (b -= a = +a) || 1 / b;\n return function(x) {\n return (x - a) / b;\n };\n }\n function d3_uninterpolateClamp(a, b) {\n b = (b -= a = +a) || 1 / b;\n return function(x) {\n return Math.max(0, Math.min(1, (x - a) / b));\n };\n }\n d3.layout = {};\n d3.layout.bundle = function() {\n return function(links) {\n var paths = [], i = -1, n = links.length;\n while (++i < n) paths.push(d3_layout_bundlePath(links[i]));\n return paths;\n };\n };\n function d3_layout_bundlePath(link) {\n var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ];\n while (start !== lca) {\n start = start.parent;\n points.push(start);\n }\n var k = points.length;\n while (end !== lca) {\n points.splice(k, 0, end);\n end = end.parent;\n }\n return points;\n }\n function d3_layout_bundleAncestors(node) {\n var ancestors = [], parent = node.parent;\n while (parent != null) {\n ancestors.push(node);\n node = parent;\n parent = parent.parent;\n }\n ancestors.push(node);\n return ancestors;\n }\n function d3_layout_bundleLeastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null;\n while (aNode === bNode) {\n sharedNode = aNode;\n aNode = aNodes.pop();\n bNode = bNodes.pop();\n }\n return sharedNode;\n }\n d3.layout.chord = function() {\n var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords;\n function relayout() {\n var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j;\n chords = [];\n groups = [];\n k = 0, i = -1;\n while (++i < n) {\n x = 0, j = -1;\n while (++j < n) {\n x += matrix[i][j];\n }\n groupSums.push(x);\n subgroupIndex.push(d3.range(n));\n k += x;\n }\n if (sortGroups) {\n groupIndex.sort(function(a, b) {\n return sortGroups(groupSums[a], groupSums[b]);\n });\n }\n if (sortSubgroups) {\n subgroupIndex.forEach(function(d, i) {\n d.sort(function(a, b) {\n return sortSubgroups(matrix[i][a], matrix[i][b]);\n });\n });\n }\n k = (\u03C4 - padding * n) / k;\n x = 0, i = -1;\n while (++i < n) {\n x0 = x, j = -1;\n while (++j < n) {\n var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k;\n subgroups[di + \"-\" + dj] = {\n index: di,\n subindex: dj,\n startAngle: a0,\n endAngle: a1,\n value: v\n };\n }\n groups[di] = {\n index: di,\n startAngle: x0,\n endAngle: x,\n value: groupSums[di]\n };\n x += padding;\n }\n i = -1;\n while (++i < n) {\n j = i - 1;\n while (++j < n) {\n var source = subgroups[i + \"-\" + j], target = subgroups[j + \"-\" + i];\n if (source.value || target.value) {\n chords.push(source.value < target.value ? {\n source: target,\n target: source\n } : {\n source: source,\n target: target\n });\n }\n }\n }\n if (sortChords) resort();\n }\n function resort() {\n chords.sort(function(a, b) {\n return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2);\n });\n }\n chord.matrix = function(x) {\n if (!arguments.length) return matrix;\n n = (matrix = x) && matrix.length;\n chords = groups = null;\n return chord;\n };\n chord.padding = function(x) {\n if (!arguments.length) return padding;\n padding = x;\n chords = groups = null;\n return chord;\n };\n chord.sortGroups = function(x) {\n if (!arguments.length) return sortGroups;\n sortGroups = x;\n chords = groups = null;\n return chord;\n };\n chord.sortSubgroups = function(x) {\n if (!arguments.length) return sortSubgroups;\n sortSubgroups = x;\n chords = null;\n return chord;\n };\n chord.sortChords = function(x) {\n if (!arguments.length) return sortChords;\n sortChords = x;\n if (chords) resort();\n return chord;\n };\n chord.chords = function() {\n if (!chords) relayout();\n return chords;\n };\n chord.groups = function() {\n if (!groups) relayout();\n return groups;\n };\n return chord;\n };\n d3.layout.force = function() {\n var force = {}, event = d3.dispatch(\"start\", \"tick\", \"end\"), timer, size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges;\n function repulse(node) {\n return function(quad, x1, _, x2) {\n if (quad.point !== node) {\n var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy;\n if (dw * dw / theta2 < dn) {\n if (dn < chargeDistance2) {\n var k = quad.charge / dn;\n node.px -= dx * k;\n node.py -= dy * k;\n }\n return true;\n }\n if (quad.point && dn && dn < chargeDistance2) {\n var k = quad.pointCharge / dn;\n node.px -= dx * k;\n node.py -= dy * k;\n }\n }\n return !quad.charge;\n };\n }\n force.tick = function() {\n if ((alpha *= .99) < .005) {\n timer = null;\n event.end({\n type: \"end\",\n alpha: alpha = 0\n });\n return true;\n }\n var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y;\n for (i = 0; i < m; ++i) {\n o = links[i];\n s = o.source;\n t = o.target;\n x = t.x - s.x;\n y = t.y - s.y;\n if (l = x * x + y * y) {\n l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;\n x *= l;\n y *= l;\n t.x -= x * (k = s.weight + t.weight ? s.weight / (s.weight + t.weight) : .5);\n t.y -= y * k;\n s.x += x * (k = 1 - k);\n s.y += y * k;\n }\n }\n if (k = alpha * gravity) {\n x = size[0] / 2;\n y = size[1] / 2;\n i = -1;\n if (k) while (++i < n) {\n o = nodes[i];\n o.x += (x - o.x) * k;\n o.y += (y - o.y) * k;\n }\n }\n if (charge) {\n d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges);\n i = -1;\n while (++i < n) {\n if (!(o = nodes[i]).fixed) {\n q.visit(repulse(o));\n }\n }\n }\n i = -1;\n while (++i < n) {\n o = nodes[i];\n if (o.fixed) {\n o.x = o.px;\n o.y = o.py;\n } else {\n o.x -= (o.px - (o.px = o.x)) * friction;\n o.y -= (o.py - (o.py = o.y)) * friction;\n }\n }\n event.tick({\n type: \"tick\",\n alpha: alpha\n });\n };\n force.nodes = function(x) {\n if (!arguments.length) return nodes;\n nodes = x;\n return force;\n };\n force.links = function(x) {\n if (!arguments.length) return links;\n links = x;\n return force;\n };\n force.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return force;\n };\n force.linkDistance = function(x) {\n if (!arguments.length) return linkDistance;\n linkDistance = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.distance = force.linkDistance;\n force.linkStrength = function(x) {\n if (!arguments.length) return linkStrength;\n linkStrength = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.friction = function(x) {\n if (!arguments.length) return friction;\n friction = +x;\n return force;\n };\n force.charge = function(x) {\n if (!arguments.length) return charge;\n charge = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.chargeDistance = function(x) {\n if (!arguments.length) return Math.sqrt(chargeDistance2);\n chargeDistance2 = x * x;\n return force;\n };\n force.gravity = function(x) {\n if (!arguments.length) return gravity;\n gravity = +x;\n return force;\n };\n force.theta = function(x) {\n if (!arguments.length) return Math.sqrt(theta2);\n theta2 = x * x;\n return force;\n };\n force.alpha = function(x) {\n if (!arguments.length) return alpha;\n x = +x;\n if (alpha) {\n if (x > 0) {\n alpha = x;\n } else {\n timer.c = null, timer.t = NaN, timer = null;\n event.end({\n type: \"end\",\n alpha: alpha = 0\n });\n }\n } else if (x > 0) {\n event.start({\n type: \"start\",\n alpha: alpha = x\n });\n timer = d3_timer(force.tick);\n }\n return force;\n };\n force.start = function() {\n var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o;\n for (i = 0; i < n; ++i) {\n (o = nodes[i]).index = i;\n o.weight = 0;\n }\n for (i = 0; i < m; ++i) {\n o = links[i];\n if (typeof o.source == \"number\") o.source = nodes[o.source];\n if (typeof o.target == \"number\") o.target = nodes[o.target];\n ++o.source.weight;\n ++o.target.weight;\n }\n for (i = 0; i < n; ++i) {\n o = nodes[i];\n if (isNaN(o.x)) o.x = position(\"x\", w);\n if (isNaN(o.y)) o.y = position(\"y\", h);\n if (isNaN(o.px)) o.px = o.x;\n if (isNaN(o.py)) o.py = o.y;\n }\n distances = [];\n if (typeof linkDistance === \"function\") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance;\n strengths = [];\n if (typeof linkStrength === \"function\") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength;\n charges = [];\n if (typeof charge === \"function\") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge;\n function position(dimension, size) {\n if (!neighbors) {\n neighbors = new Array(n);\n for (j = 0; j < n; ++j) {\n neighbors[j] = [];\n }\n for (j = 0; j < m; ++j) {\n var o = links[j];\n neighbors[o.source.index].push(o.target);\n neighbors[o.target.index].push(o.source);\n }\n }\n var candidates = neighbors[i], j = -1, l = candidates.length, x;\n while (++j < l) if (!isNaN(x = candidates[j][dimension])) return x;\n return Math.random() * size;\n }\n return force.resume();\n };\n force.resume = function() {\n return force.alpha(.1);\n };\n force.stop = function() {\n return force.alpha(0);\n };\n force.drag = function() {\n if (!drag) drag = d3.behavior.drag().origin(d3_identity).on(\"dragstart.force\", d3_layout_forceDragstart).on(\"drag.force\", dragmove).on(\"dragend.force\", d3_layout_forceDragend);\n if (!arguments.length) return drag;\n this.on(\"mouseover.force\", d3_layout_forceMouseover).on(\"mouseout.force\", d3_layout_forceMouseout).call(drag);\n };\n function dragmove(d) {\n d.px = d3.event.x, d.py = d3.event.y;\n force.resume();\n }\n return d3.rebind(force, event, \"on\");\n };\n function d3_layout_forceDragstart(d) {\n d.fixed |= 2;\n }\n function d3_layout_forceDragend(d) {\n d.fixed &= ~6;\n }\n function d3_layout_forceMouseover(d) {\n d.fixed |= 4;\n d.px = d.x, d.py = d.y;\n }\n function d3_layout_forceMouseout(d) {\n d.fixed &= ~4;\n }\n function d3_layout_forceAccumulate(quad, alpha, charges) {\n var cx = 0, cy = 0;\n quad.charge = 0;\n if (!quad.leaf) {\n var nodes = quad.nodes, n = nodes.length, i = -1, c;\n while (++i < n) {\n c = nodes[i];\n if (c == null) continue;\n d3_layout_forceAccumulate(c, alpha, charges);\n quad.charge += c.charge;\n cx += c.charge * c.cx;\n cy += c.charge * c.cy;\n }\n }\n if (quad.point) {\n if (!quad.leaf) {\n quad.point.x += Math.random() - .5;\n quad.point.y += Math.random() - .5;\n }\n var k = alpha * charges[quad.point.index];\n quad.charge += quad.pointCharge = k;\n cx += k * quad.point.x;\n cy += k * quad.point.y;\n }\n quad.cx = cx / quad.charge;\n quad.cy = cy / quad.charge;\n }\n var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity;\n d3.layout.hierarchy = function() {\n var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue;\n function hierarchy(root) {\n var stack = [ root ], nodes = [], node;\n root.depth = 0;\n while ((node = stack.pop()) != null) {\n nodes.push(node);\n if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) {\n var n, childs, child;\n while (--n >= 0) {\n stack.push(child = childs[n]);\n child.parent = node;\n child.depth = node.depth + 1;\n }\n if (value) node.value = 0;\n node.children = childs;\n } else {\n if (value) node.value = +value.call(hierarchy, node, node.depth) || 0;\n delete node.children;\n }\n }\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var childs, parent;\n if (sort && (childs = node.children)) childs.sort(sort);\n if (value && (parent = node.parent)) parent.value += node.value;\n });\n return nodes;\n }\n hierarchy.sort = function(x) {\n if (!arguments.length) return sort;\n sort = x;\n return hierarchy;\n };\n hierarchy.children = function(x) {\n if (!arguments.length) return children;\n children = x;\n return hierarchy;\n };\n hierarchy.value = function(x) {\n if (!arguments.length) return value;\n value = x;\n return hierarchy;\n };\n hierarchy.revalue = function(root) {\n if (value) {\n d3_layout_hierarchyVisitBefore(root, function(node) {\n if (node.children) node.value = 0;\n });\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var parent;\n if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0;\n if (parent = node.parent) parent.value += node.value;\n });\n }\n return root;\n };\n return hierarchy;\n };\n function d3_layout_hierarchyRebind(object, hierarchy) {\n d3.rebind(object, hierarchy, \"sort\", \"children\", \"value\");\n object.nodes = object;\n object.links = d3_layout_hierarchyLinks;\n return object;\n }\n function d3_layout_hierarchyVisitBefore(node, callback) {\n var nodes = [ node ];\n while ((node = nodes.pop()) != null) {\n callback(node);\n if ((children = node.children) && (n = children.length)) {\n var n, children;\n while (--n >= 0) nodes.push(children[n]);\n }\n }\n }\n function d3_layout_hierarchyVisitAfter(node, callback) {\n var nodes = [ node ], nodes2 = [];\n while ((node = nodes.pop()) != null) {\n nodes2.push(node);\n if ((children = node.children) && (n = children.length)) {\n var i = -1, n, children;\n while (++i < n) nodes.push(children[i]);\n }\n }\n while ((node = nodes2.pop()) != null) {\n callback(node);\n }\n }\n function d3_layout_hierarchyChildren(d) {\n return d.children;\n }\n function d3_layout_hierarchyValue(d) {\n return d.value;\n }\n function d3_layout_hierarchySort(a, b) {\n return b.value - a.value;\n }\n function d3_layout_hierarchyLinks(nodes) {\n return d3.merge(nodes.map(function(parent) {\n return (parent.children || []).map(function(child) {\n return {\n source: parent,\n target: child\n };\n });\n }));\n }\n d3.layout.partition = function() {\n var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ];\n function position(node, x, dx, dy) {\n var children = node.children;\n node.x = x;\n node.y = node.depth * dy;\n node.dx = dx;\n node.dy = dy;\n if (children && (n = children.length)) {\n var i = -1, n, c, d;\n dx = node.value ? dx / node.value : 0;\n while (++i < n) {\n position(c = children[i], x, d = c.value * dx, dy);\n x += d;\n }\n }\n }\n function depth(node) {\n var children = node.children, d = 0;\n if (children && (n = children.length)) {\n var i = -1, n;\n while (++i < n) d = Math.max(d, depth(children[i]));\n }\n return 1 + d;\n }\n function partition(d, i) {\n var nodes = hierarchy.call(this, d, i);\n position(nodes[0], 0, size[0], size[1] / depth(nodes[0]));\n return nodes;\n }\n partition.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return partition;\n };\n return d3_layout_hierarchyRebind(partition, hierarchy);\n };\n d3.layout.pie = function() {\n var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = \u03C4, padAngle = 0;\n function pie(data) {\n var n = data.length, values = data.map(function(d, i) {\n return +value.call(pie, d, i);\n }), a = +(typeof startAngle === \"function\" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === \"function\" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === \"function\" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), sum = d3.sum(values), k = sum ? (da - n * pa) / sum : 0, index = d3.range(n), arcs = [], v;\n if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) {\n return values[j] - values[i];\n } : function(i, j) {\n return sort(data[i], data[j]);\n });\n index.forEach(function(i) {\n arcs[i] = {\n data: data[i],\n value: v = values[i],\n startAngle: a,\n endAngle: a += v * k + pa,\n padAngle: p\n };\n });\n return arcs;\n }\n pie.value = function(_) {\n if (!arguments.length) return value;\n value = _;\n return pie;\n };\n pie.sort = function(_) {\n if (!arguments.length) return sort;\n sort = _;\n return pie;\n };\n pie.startAngle = function(_) {\n if (!arguments.length) return startAngle;\n startAngle = _;\n return pie;\n };\n pie.endAngle = function(_) {\n if (!arguments.length) return endAngle;\n endAngle = _;\n return pie;\n };\n pie.padAngle = function(_) {\n if (!arguments.length) return padAngle;\n padAngle = _;\n return pie;\n };\n return pie;\n };\n var d3_layout_pieSortByValue = {};\n d3.layout.stack = function() {\n var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY;\n function stack(data, index) {\n if (!(n = data.length)) return data;\n var series = data.map(function(d, i) {\n return values.call(stack, d, i);\n });\n var points = series.map(function(d) {\n return d.map(function(v, i) {\n return [ x.call(stack, v, i), y.call(stack, v, i) ];\n });\n });\n var orders = order.call(stack, points, index);\n series = d3.permute(series, orders);\n points = d3.permute(points, orders);\n var offsets = offset.call(stack, points, index);\n var m = series[0].length, n, i, j, o;\n for (j = 0; j < m; ++j) {\n out.call(stack, series[0][j], o = offsets[j], points[0][j][1]);\n for (i = 1; i < n; ++i) {\n out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]);\n }\n }\n return data;\n }\n stack.values = function(x) {\n if (!arguments.length) return values;\n values = x;\n return stack;\n };\n stack.order = function(x) {\n if (!arguments.length) return order;\n order = typeof x === \"function\" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault;\n return stack;\n };\n stack.offset = function(x) {\n if (!arguments.length) return offset;\n offset = typeof x === \"function\" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero;\n return stack;\n };\n stack.x = function(z) {\n if (!arguments.length) return x;\n x = z;\n return stack;\n };\n stack.y = function(z) {\n if (!arguments.length) return y;\n y = z;\n return stack;\n };\n stack.out = function(z) {\n if (!arguments.length) return out;\n out = z;\n return stack;\n };\n return stack;\n };\n function d3_layout_stackX(d) {\n return d.x;\n }\n function d3_layout_stackY(d) {\n return d.y;\n }\n function d3_layout_stackOut(d, y0, y) {\n d.y0 = y0;\n d.y = y;\n }\n var d3_layout_stackOrders = d3.map({\n \"inside-out\": function(data) {\n var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) {\n return max[a] - max[b];\n }), top = 0, bottom = 0, tops = [], bottoms = [];\n for (i = 0; i < n; ++i) {\n j = index[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n return bottoms.reverse().concat(tops);\n },\n reverse: function(data) {\n return d3.range(data.length).reverse();\n },\n \"default\": d3_layout_stackOrderDefault\n });\n var d3_layout_stackOffsets = d3.map({\n silhouette: function(data) {\n var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = [];\n for (j = 0; j < m; ++j) {\n for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n if (o > max) max = o;\n sums.push(o);\n }\n for (j = 0; j < m; ++j) {\n y0[j] = (max - sums[j]) / 2;\n }\n return y0;\n },\n wiggle: function(data) {\n var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = [];\n y0[0] = o = o0 = 0;\n for (j = 1; j < m; ++j) {\n for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1];\n for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) {\n for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) {\n s3 += (data[k][j][1] - data[k][j - 1][1]) / dx;\n }\n s2 += s3 * data[i][j][1];\n }\n y0[j] = o -= s1 ? s2 / s1 * dx : 0;\n if (o < o0) o0 = o;\n }\n for (j = 0; j < m; ++j) y0[j] -= o0;\n return y0;\n },\n expand: function(data) {\n var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = [];\n for (j = 0; j < m; ++j) {\n for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k;\n }\n for (j = 0; j < m; ++j) y0[j] = 0;\n return y0;\n },\n zero: d3_layout_stackOffsetZero\n });\n function d3_layout_stackOrderDefault(data) {\n return d3.range(data.length);\n }\n function d3_layout_stackOffsetZero(data) {\n var j = -1, m = data[0].length, y0 = [];\n while (++j < m) y0[j] = 0;\n return y0;\n }\n function d3_layout_stackMaxIndex(array) {\n var i = 1, j = 0, v = array[0][1], k, n = array.length;\n for (;i < n; ++i) {\n if ((k = array[i][1]) > v) {\n j = i;\n v = k;\n }\n }\n return j;\n }\n function d3_layout_stackReduceSum(d) {\n return d.reduce(d3_layout_stackSum, 0);\n }\n function d3_layout_stackSum(p, d) {\n return p + d[1];\n }\n d3.layout.histogram = function() {\n var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges;\n function histogram(data, i) {\n var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x;\n while (++i < m) {\n bin = bins[i] = [];\n bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]);\n bin.y = 0;\n }\n if (m > 0) {\n i = -1;\n while (++i < n) {\n x = values[i];\n if (x >= range[0] && x <= range[1]) {\n bin = bins[d3.bisect(thresholds, x, 1, m) - 1];\n bin.y += k;\n bin.push(data[i]);\n }\n }\n }\n return bins;\n }\n histogram.value = function(x) {\n if (!arguments.length) return valuer;\n valuer = x;\n return histogram;\n };\n histogram.range = function(x) {\n if (!arguments.length) return ranger;\n ranger = d3_functor(x);\n return histogram;\n };\n histogram.bins = function(x) {\n if (!arguments.length) return binner;\n binner = typeof x === \"number\" ? function(range) {\n return d3_layout_histogramBinFixed(range, x);\n } : d3_functor(x);\n return histogram;\n };\n histogram.frequency = function(x) {\n if (!arguments.length) return frequency;\n frequency = !!x;\n return histogram;\n };\n return histogram;\n };\n function d3_layout_histogramBinSturges(range, values) {\n return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1));\n }\n function d3_layout_histogramBinFixed(range, n) {\n var x = -1, b = +range[0], m = (range[1] - b) / n, f = [];\n while (++x <= n) f[x] = m * x + b;\n return f;\n }\n function d3_layout_histogramRange(values) {\n return [ d3.min(values), d3.max(values) ];\n }\n d3.layout.pack = function() {\n var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius;\n function pack(d, i) {\n var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === \"function\" ? radius : function() {\n return radius;\n };\n root.x = root.y = 0;\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r = +r(d.value);\n });\n d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n if (padding) {\n var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2;\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r += dr;\n });\n d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r -= dr;\n });\n }\n d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h));\n return nodes;\n }\n pack.size = function(_) {\n if (!arguments.length) return size;\n size = _;\n return pack;\n };\n pack.radius = function(_) {\n if (!arguments.length) return radius;\n radius = _ == null || typeof _ === \"function\" ? _ : +_;\n return pack;\n };\n pack.padding = function(_) {\n if (!arguments.length) return padding;\n padding = +_;\n return pack;\n };\n return d3_layout_hierarchyRebind(pack, hierarchy);\n };\n function d3_layout_packSort(a, b) {\n return a.value - b.value;\n }\n function d3_layout_packInsert(a, b) {\n var c = a._pack_next;\n a._pack_next = b;\n b._pack_prev = a;\n b._pack_next = c;\n c._pack_prev = b;\n }\n function d3_layout_packSplice(a, b) {\n a._pack_next = b;\n b._pack_prev = a;\n }\n function d3_layout_packIntersects(a, b) {\n var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r;\n return .999 * dr * dr > dx * dx + dy * dy;\n }\n function d3_layout_packSiblings(node) {\n if (!(nodes = node.children) || !(n = nodes.length)) return;\n var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n;\n function bound(node) {\n xMin = Math.min(node.x - node.r, xMin);\n xMax = Math.max(node.x + node.r, xMax);\n yMin = Math.min(node.y - node.r, yMin);\n yMax = Math.max(node.y + node.r, yMax);\n }\n nodes.forEach(d3_layout_packLink);\n a = nodes[0];\n a.x = -a.r;\n a.y = 0;\n bound(a);\n if (n > 1) {\n b = nodes[1];\n b.x = b.r;\n b.y = 0;\n bound(b);\n if (n > 2) {\n c = nodes[2];\n d3_layout_packPlace(a, b, c);\n bound(c);\n d3_layout_packInsert(a, c);\n a._pack_prev = c;\n d3_layout_packInsert(c, b);\n b = a._pack_next;\n for (i = 3; i < n; i++) {\n d3_layout_packPlace(a, b, c = nodes[i]);\n var isect = 0, s1 = 1, s2 = 1;\n for (j = b._pack_next; j !== b; j = j._pack_next, s1++) {\n if (d3_layout_packIntersects(j, c)) {\n isect = 1;\n break;\n }\n }\n if (isect == 1) {\n for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) {\n if (d3_layout_packIntersects(k, c)) {\n break;\n }\n }\n }\n if (isect) {\n if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b);\n i--;\n } else {\n d3_layout_packInsert(a, c);\n b = c;\n bound(c);\n }\n }\n }\n }\n var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0;\n for (i = 0; i < n; i++) {\n c = nodes[i];\n c.x -= cx;\n c.y -= cy;\n cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y));\n }\n node.r = cr;\n nodes.forEach(d3_layout_packUnlink);\n }\n function d3_layout_packLink(node) {\n node._pack_next = node._pack_prev = node;\n }\n function d3_layout_packUnlink(node) {\n delete node._pack_next;\n delete node._pack_prev;\n }\n function d3_layout_packTransform(node, x, y, k) {\n var children = node.children;\n node.x = x += k * node.x;\n node.y = y += k * node.y;\n node.r *= k;\n if (children) {\n var i = -1, n = children.length;\n while (++i < n) d3_layout_packTransform(children[i], x, y, k);\n }\n }\n function d3_layout_packPlace(a, b, c) {\n var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y;\n if (db && (dx || dy)) {\n var da = b.r + c.r, dc = dx * dx + dy * dy;\n da *= da;\n db *= db;\n var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc);\n c.x = a.x + x * dx + y * dy;\n c.y = a.y + x * dy - y * dx;\n } else {\n c.x = a.x + db;\n c.y = a.y;\n }\n }\n d3.layout.tree = function() {\n var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null;\n function tree(d, i) {\n var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0);\n d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z;\n d3_layout_hierarchyVisitBefore(root1, secondWalk);\n if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else {\n var left = root0, right = root0, bottom = root0;\n d3_layout_hierarchyVisitBefore(root0, function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1);\n d3_layout_hierarchyVisitBefore(root0, function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n return nodes;\n }\n function wrapTree(root0) {\n var root1 = {\n A: null,\n children: [ root0 ]\n }, queue = [ root1 ], node1;\n while ((node1 = queue.pop()) != null) {\n for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) {\n queue.push((children[i] = child = {\n _: children[i],\n parent: node1,\n children: (child = children[i].children) && child.slice() || [],\n A: null,\n a: null,\n z: 0,\n m: 0,\n c: 0,\n s: 0,\n t: null,\n i: i\n }).a = child);\n }\n }\n return root1.children[0];\n }\n function firstWalk(v) {\n var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null;\n if (children.length) {\n d3_layout_treeShift(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift;\n while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) {\n vom = d3_layout_treeLeft(vom);\n vop = d3_layout_treeRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !d3_layout_treeRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !d3_layout_treeLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n function sizeNode(node) {\n node.x *= size[0];\n node.y = node.depth * size[1];\n }\n tree.separation = function(x) {\n if (!arguments.length) return separation;\n separation = x;\n return tree;\n };\n tree.size = function(x) {\n if (!arguments.length) return nodeSize ? null : size;\n nodeSize = (size = x) == null ? sizeNode : null;\n return tree;\n };\n tree.nodeSize = function(x) {\n if (!arguments.length) return nodeSize ? size : null;\n nodeSize = (size = x) == null ? null : sizeNode;\n return tree;\n };\n return d3_layout_hierarchyRebind(tree, hierarchy);\n };\n function d3_layout_treeSeparation(a, b) {\n return a.parent == b.parent ? 1 : 2;\n }\n function d3_layout_treeLeft(v) {\n var children = v.children;\n return children.length ? children[0] : v.t;\n }\n function d3_layout_treeRight(v) {\n var children = v.children, n;\n return (n = children.length) ? children[n - 1] : v.t;\n }\n function d3_layout_treeMove(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n }\n function d3_layout_treeShift(v) {\n var shift = 0, change = 0, children = v.children, i = children.length, w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n }\n function d3_layout_treeAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n }\n d3.layout.cluster = function() {\n var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false;\n function cluster(d, i) {\n var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0;\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var children = node.children;\n if (children && children.length) {\n node.x = d3_layout_clusterX(children);\n node.y = d3_layout_clusterY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2;\n d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) {\n node.x = (node.x - root.x) * size[0];\n node.y = (root.y - node.y) * size[1];\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * size[0];\n node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1];\n });\n return nodes;\n }\n cluster.separation = function(x) {\n if (!arguments.length) return separation;\n separation = x;\n return cluster;\n };\n cluster.size = function(x) {\n if (!arguments.length) return nodeSize ? null : size;\n nodeSize = (size = x) == null;\n return cluster;\n };\n cluster.nodeSize = function(x) {\n if (!arguments.length) return nodeSize ? size : null;\n nodeSize = (size = x) != null;\n return cluster;\n };\n return d3_layout_hierarchyRebind(cluster, hierarchy);\n };\n function d3_layout_clusterY(children) {\n return 1 + d3.max(children, function(child) {\n return child.y;\n });\n }\n function d3_layout_clusterX(children) {\n return children.reduce(function(x, child) {\n return x + child.x;\n }, 0) / children.length;\n }\n function d3_layout_clusterLeft(node) {\n var children = node.children;\n return children && children.length ? d3_layout_clusterLeft(children[0]) : node;\n }\n function d3_layout_clusterRight(node) {\n var children = node.children, n;\n return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node;\n }\n d3.layout.treemap = function() {\n var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = \"squarify\", ratio = .5 * (1 + Math.sqrt(5));\n function scale(children, k) {\n var i = -1, n = children.length, child, area;\n while (++i < n) {\n area = (child = children[i]).value * (k < 0 ? 0 : k);\n child.area = isNaN(area) || area <= 0 ? 0 : area;\n }\n }\n function squarify(node) {\n var children = node.children;\n if (children && children.length) {\n var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === \"slice\" ? rect.dx : mode === \"dice\" ? rect.dy : mode === \"slice-dice\" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n;\n scale(remaining, rect.dx * rect.dy / node.value);\n row.area = 0;\n while ((n = remaining.length) > 0) {\n row.push(child = remaining[n - 1]);\n row.area += child.area;\n if (mode !== \"squarify\" || (score = worst(row, u)) <= best) {\n remaining.pop();\n best = score;\n } else {\n row.area -= row.pop().area;\n position(row, u, rect, false);\n u = Math.min(rect.dx, rect.dy);\n row.length = row.area = 0;\n best = Infinity;\n }\n }\n if (row.length) {\n position(row, u, rect, true);\n row.length = row.area = 0;\n }\n children.forEach(squarify);\n }\n }\n function stickify(node) {\n var children = node.children;\n if (children && children.length) {\n var rect = pad(node), remaining = children.slice(), child, row = [];\n scale(remaining, rect.dx * rect.dy / node.value);\n row.area = 0;\n while (child = remaining.pop()) {\n row.push(child);\n row.area += child.area;\n if (child.z != null) {\n position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length);\n row.length = row.area = 0;\n }\n }\n children.forEach(stickify);\n }\n }\n function worst(row, u) {\n var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length;\n while (++i < n) {\n if (!(r = row[i].area)) continue;\n if (r < rmin) rmin = r;\n if (r > rmax) rmax = r;\n }\n s *= s;\n u *= u;\n return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity;\n }\n function position(row, u, rect, flush) {\n var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o;\n if (u == rect.dx) {\n if (flush || v > rect.dy) v = rect.dy;\n while (++i < n) {\n o = row[i];\n o.x = x;\n o.y = y;\n o.dy = v;\n x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0);\n }\n o.z = true;\n o.dx += rect.x + rect.dx - x;\n rect.y += v;\n rect.dy -= v;\n } else {\n if (flush || v > rect.dx) v = rect.dx;\n while (++i < n) {\n o = row[i];\n o.x = x;\n o.y = y;\n o.dx = v;\n y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0);\n }\n o.z = false;\n o.dy += rect.y + rect.dy - y;\n rect.x += v;\n rect.dx -= v;\n }\n }\n function treemap(d) {\n var nodes = stickies || hierarchy(d), root = nodes[0];\n root.x = root.y = 0;\n if (root.value) root.dx = size[0], root.dy = size[1]; else root.dx = root.dy = 0;\n if (stickies) hierarchy.revalue(root);\n scale([ root ], root.dx * root.dy / root.value);\n (stickies ? stickify : squarify)(root);\n if (sticky) stickies = nodes;\n return nodes;\n }\n treemap.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return treemap;\n };\n treemap.padding = function(x) {\n if (!arguments.length) return padding;\n function padFunction(node) {\n var p = x.call(treemap, node, node.depth);\n return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === \"number\" ? [ p, p, p, p ] : p);\n }\n function padConstant(node) {\n return d3_layout_treemapPad(node, x);\n }\n var type;\n pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === \"function\" ? padFunction : type === \"number\" ? (x = [ x, x, x, x ], \n padConstant) : padConstant;\n return treemap;\n };\n treemap.round = function(x) {\n if (!arguments.length) return round != Number;\n round = x ? Math.round : Number;\n return treemap;\n };\n treemap.sticky = function(x) {\n if (!arguments.length) return sticky;\n sticky = x;\n stickies = null;\n return treemap;\n };\n treemap.ratio = function(x) {\n if (!arguments.length) return ratio;\n ratio = x;\n return treemap;\n };\n treemap.mode = function(x) {\n if (!arguments.length) return mode;\n mode = x + \"\";\n return treemap;\n };\n return d3_layout_hierarchyRebind(treemap, hierarchy);\n };\n function d3_layout_treemapPadNull(node) {\n return {\n x: node.x,\n y: node.y,\n dx: node.dx,\n dy: node.dy\n };\n }\n function d3_layout_treemapPad(node, padding) {\n var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2];\n if (dx < 0) {\n x += dx / 2;\n dx = 0;\n }\n if (dy < 0) {\n y += dy / 2;\n dy = 0;\n }\n return {\n x: x,\n y: y,\n dx: dx,\n dy: dy\n };\n }\n d3.random = {\n normal: function(\u00B5, \u03C3) {\n var n = arguments.length;\n if (n < 2) \u03C3 = 1;\n if (n < 1) \u00B5 = 0;\n return function() {\n var x, y, r;\n do {\n x = Math.random() * 2 - 1;\n y = Math.random() * 2 - 1;\n r = x * x + y * y;\n } while (!r || r > 1);\n return \u00B5 + \u03C3 * x * Math.sqrt(-2 * Math.log(r) / r);\n };\n },\n logNormal: function() {\n var random = d3.random.normal.apply(d3, arguments);\n return function() {\n return Math.exp(random());\n };\n },\n bates: function(m) {\n var random = d3.random.irwinHall(m);\n return function() {\n return random() / m;\n };\n },\n irwinHall: function(m) {\n return function() {\n for (var s = 0, j = 0; j < m; j++) s += Math.random();\n return s;\n };\n }\n };\n d3.scale = {};\n function d3_scaleExtent(domain) {\n var start = domain[0], stop = domain[domain.length - 1];\n return start < stop ? [ start, stop ] : [ stop, start ];\n }\n function d3_scaleRange(scale) {\n return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range());\n }\n function d3_scale_bilinear(domain, range, uninterpolate, interpolate) {\n var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]);\n return function(x) {\n return i(u(x));\n };\n }\n function d3_scale_nice(domain, nice) {\n var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx;\n if (x1 < x0) {\n dx = i0, i0 = i1, i1 = dx;\n dx = x0, x0 = x1, x1 = dx;\n }\n domain[i0] = nice.floor(x0);\n domain[i1] = nice.ceil(x1);\n return domain;\n }\n function d3_scale_niceStep(step) {\n return step ? {\n floor: function(x) {\n return Math.floor(x / step) * step;\n },\n ceil: function(x) {\n return Math.ceil(x / step) * step;\n }\n } : d3_scale_niceIdentity;\n }\n var d3_scale_niceIdentity = {\n floor: d3_identity,\n ceil: d3_identity\n };\n function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {\n var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1;\n if (domain[k] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n while (++j <= k) {\n u.push(uninterpolate(domain[j - 1], domain[j]));\n i.push(interpolate(range[j - 1], range[j]));\n }\n return function(x) {\n var j = d3.bisect(domain, x, 1, k) - 1;\n return i[j](u[j](x));\n };\n }\n d3.scale.linear = function() {\n return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false);\n };\n function d3_scale_linear(domain, range, interpolate, clamp) {\n var output, input;\n function rescale() {\n var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber;\n output = linear(domain, range, uninterpolate, interpolate);\n input = linear(range, domain, uninterpolate, d3_interpolate);\n return scale;\n }\n function scale(x) {\n return output(x);\n }\n scale.invert = function(y) {\n return input(y);\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(Number);\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.rangeRound = function(x) {\n return scale.range(x).interpolate(d3_interpolateRound);\n };\n scale.clamp = function(x) {\n if (!arguments.length) return clamp;\n clamp = x;\n return rescale();\n };\n scale.interpolate = function(x) {\n if (!arguments.length) return interpolate;\n interpolate = x;\n return rescale();\n };\n scale.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n scale.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n scale.nice = function(m) {\n d3_scale_linearNice(domain, m);\n return rescale();\n };\n scale.copy = function() {\n return d3_scale_linear(domain, range, interpolate, clamp);\n };\n return rescale();\n }\n function d3_scale_linearRebind(scale, linear) {\n return d3.rebind(scale, linear, \"range\", \"rangeRound\", \"interpolate\", \"clamp\");\n }\n function d3_scale_linearNice(domain, m) {\n d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n return domain;\n }\n function d3_scale_linearTickRange(domain, m) {\n if (m == null) m = 10;\n var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step;\n if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2;\n extent[0] = Math.ceil(extent[0] / step) * step;\n extent[1] = Math.floor(extent[1] / step) * step + step * .5;\n extent[2] = step;\n return extent;\n }\n function d3_scale_linearTicks(domain, m) {\n return d3.range.apply(d3, d3_scale_linearTickRange(domain, m));\n }\n function d3_scale_linearTickFormat(domain, m, format) {\n var range = d3_scale_linearTickRange(domain, m);\n if (format) {\n var match = d3_format_re.exec(format);\n match.shift();\n if (match[8] === \"s\") {\n var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1])));\n if (!match[7]) match[7] = \".\" + d3_scale_linearPrecision(prefix.scale(range[2]));\n match[8] = \"f\";\n format = d3.format(match.join(\"\"));\n return function(d) {\n return format(prefix.scale(d)) + prefix.symbol;\n };\n }\n if (!match[7]) match[7] = \".\" + d3_scale_linearFormatPrecision(match[8], range);\n format = match.join(\"\");\n } else {\n format = \",.\" + d3_scale_linearPrecision(range[2]) + \"f\";\n }\n return d3.format(format);\n }\n var d3_scale_linearFormatSignificant = {\n s: 1,\n g: 1,\n p: 1,\n r: 1,\n e: 1\n };\n function d3_scale_linearPrecision(value) {\n return -Math.floor(Math.log(value) / Math.LN10 + .01);\n }\n function d3_scale_linearFormatPrecision(type, range) {\n var p = d3_scale_linearPrecision(range[2]);\n return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== \"e\") : p - (type === \"%\") * 2;\n }\n d3.scale.log = function() {\n return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]);\n };\n function d3_scale_log(linear, base, positive, domain) {\n function log(x) {\n return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base);\n }\n function pow(x) {\n return positive ? Math.pow(base, x) : -Math.pow(base, -x);\n }\n function scale(x) {\n return linear(log(x));\n }\n scale.invert = function(x) {\n return pow(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n positive = x[0] >= 0;\n linear.domain((domain = x.map(Number)).map(log));\n return scale;\n };\n scale.base = function(_) {\n if (!arguments.length) return base;\n base = +_;\n linear.domain(domain.map(log));\n return scale;\n };\n scale.nice = function() {\n var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative);\n linear.domain(niced);\n domain = niced.map(pow);\n return scale;\n };\n scale.ticks = function() {\n var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base;\n if (isFinite(j - i)) {\n if (positive) {\n for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k);\n ticks.push(pow(i));\n } else {\n ticks.push(pow(i));\n for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k);\n }\n for (i = 0; ticks[i] < u; i++) {}\n for (j = ticks.length; ticks[j - 1] > v; j--) {}\n ticks = ticks.slice(i, j);\n }\n return ticks;\n };\n scale.tickFormat = function(n, format) {\n if (!arguments.length) return d3_scale_logFormat;\n if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== \"function\") format = d3.format(format);\n var k = Math.max(1, base * n / scale.ticks().length);\n return function(d) {\n var i = d / pow(Math.round(log(d)));\n if (i * base < base - .5) i *= base;\n return i <= k ? format(d) : \"\";\n };\n };\n scale.copy = function() {\n return d3_scale_log(linear.copy(), base, positive, domain);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n var d3_scale_logFormat = d3.format(\".0e\"), d3_scale_logNiceNegative = {\n floor: function(x) {\n return -Math.ceil(-x);\n },\n ceil: function(x) {\n return -Math.floor(-x);\n }\n };\n d3.scale.pow = function() {\n return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]);\n };\n function d3_scale_pow(linear, exponent, domain) {\n var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent);\n function scale(x) {\n return linear(powp(x));\n }\n scale.invert = function(x) {\n return powb(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n linear.domain((domain = x.map(Number)).map(powp));\n return scale;\n };\n scale.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n scale.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n scale.nice = function(m) {\n return scale.domain(d3_scale_linearNice(domain, m));\n };\n scale.exponent = function(x) {\n if (!arguments.length) return exponent;\n powp = d3_scale_powPow(exponent = x);\n powb = d3_scale_powPow(1 / exponent);\n linear.domain(domain.map(powp));\n return scale;\n };\n scale.copy = function() {\n return d3_scale_pow(linear.copy(), exponent, domain);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n function d3_scale_powPow(e) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e);\n };\n }\n d3.scale.sqrt = function() {\n return d3.scale.pow().exponent(.5);\n };\n d3.scale.ordinal = function() {\n return d3_scale_ordinal([], {\n t: \"range\",\n a: [ [] ]\n });\n };\n function d3_scale_ordinal(domain, ranger) {\n var index, range, rangeBand;\n function scale(x) {\n return range[((index.get(x) || (ranger.t === \"range\" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length];\n }\n function steps(start, step) {\n return d3.range(domain.length).map(function(i) {\n return start + step * i;\n });\n }\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = [];\n index = new d3_Map();\n var i = -1, n = x.length, xi;\n while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi));\n return scale[ranger.t].apply(scale, ranger.a);\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n rangeBand = 0;\n ranger = {\n t: \"range\",\n a: arguments\n };\n return scale;\n };\n scale.rangePoints = function(x, padding) {\n if (arguments.length < 2) padding = 0;\n var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, \n 0) : (stop - start) / (domain.length - 1 + padding);\n range = steps(start + step * padding / 2, step);\n rangeBand = 0;\n ranger = {\n t: \"rangePoints\",\n a: arguments\n };\n return scale;\n };\n scale.rangeRoundPoints = function(x, padding) {\n if (arguments.length < 2) padding = 0;\n var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), \n 0) : (stop - start) / (domain.length - 1 + padding) | 0;\n range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step);\n rangeBand = 0;\n ranger = {\n t: \"rangeRoundPoints\",\n a: arguments\n };\n return scale;\n };\n scale.rangeBands = function(x, padding, outerPadding) {\n if (arguments.length < 2) padding = 0;\n if (arguments.length < 3) outerPadding = padding;\n var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding);\n range = steps(start + step * outerPadding, step);\n if (reverse) range.reverse();\n rangeBand = step * (1 - padding);\n ranger = {\n t: \"rangeBands\",\n a: arguments\n };\n return scale;\n };\n scale.rangeRoundBands = function(x, padding, outerPadding) {\n if (arguments.length < 2) padding = 0;\n if (arguments.length < 3) outerPadding = padding;\n var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding));\n range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step);\n if (reverse) range.reverse();\n rangeBand = Math.round(step * (1 - padding));\n ranger = {\n t: \"rangeRoundBands\",\n a: arguments\n };\n return scale;\n };\n scale.rangeBand = function() {\n return rangeBand;\n };\n scale.rangeExtent = function() {\n return d3_scaleExtent(ranger.a[0]);\n };\n scale.copy = function() {\n return d3_scale_ordinal(domain, ranger);\n };\n return scale.domain(domain);\n }\n d3.scale.category10 = function() {\n return d3.scale.ordinal().range(d3_category10);\n };\n d3.scale.category20 = function() {\n return d3.scale.ordinal().range(d3_category20);\n };\n d3.scale.category20b = function() {\n return d3.scale.ordinal().range(d3_category20b);\n };\n d3.scale.category20c = function() {\n return d3.scale.ordinal().range(d3_category20c);\n };\n var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString);\n var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString);\n var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString);\n var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString);\n d3.scale.quantile = function() {\n return d3_scale_quantile([], []);\n };\n function d3_scale_quantile(domain, range) {\n var thresholds;\n function rescale() {\n var k = 0, q = range.length;\n thresholds = [];\n while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q);\n return scale;\n }\n function scale(x) {\n if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)];\n }\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending);\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.quantiles = function() {\n return thresholds;\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ];\n };\n scale.copy = function() {\n return d3_scale_quantile(domain, range);\n };\n return rescale();\n }\n d3.scale.quantize = function() {\n return d3_scale_quantize(0, 1, [ 0, 1 ]);\n };\n function d3_scale_quantize(x0, x1, range) {\n var kx, i;\n function scale(x) {\n return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))];\n }\n function rescale() {\n kx = range.length / (x1 - x0);\n i = range.length - 1;\n return scale;\n }\n scale.domain = function(x) {\n if (!arguments.length) return [ x0, x1 ];\n x0 = +x[0];\n x1 = +x[x.length - 1];\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n y = y < 0 ? NaN : y / kx + x0;\n return [ y, y + 1 / kx ];\n };\n scale.copy = function() {\n return d3_scale_quantize(x0, x1, range);\n };\n return rescale();\n }\n d3.scale.threshold = function() {\n return d3_scale_threshold([ .5 ], [ 0, 1 ]);\n };\n function d3_scale_threshold(domain, range) {\n function scale(x) {\n if (x <= x) return range[d3.bisect(domain, x)];\n }\n scale.domain = function(_) {\n if (!arguments.length) return domain;\n domain = _;\n return scale;\n };\n scale.range = function(_) {\n if (!arguments.length) return range;\n range = _;\n return scale;\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n return [ domain[y - 1], domain[y] ];\n };\n scale.copy = function() {\n return d3_scale_threshold(domain, range);\n };\n return scale;\n }\n d3.scale.identity = function() {\n return d3_scale_identity([ 0, 1 ]);\n };\n function d3_scale_identity(domain) {\n function identity(x) {\n return +x;\n }\n identity.invert = identity;\n identity.domain = identity.range = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(identity);\n return identity;\n };\n identity.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n identity.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n identity.copy = function() {\n return d3_scale_identity(domain);\n };\n return identity;\n }\n d3.svg = {};\n function d3_zero() {\n return 0;\n }\n d3.svg.arc = function() {\n var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle;\n function arc() {\n var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - half\u03C0, a1 = endAngle.apply(this, arguments) - half\u03C0, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1;\n if (r1 < r0) rc = r1, r1 = r0, r0 = rc;\n if (da >= \u03C4\u03B5) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : \"\") + \"Z\";\n var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = [];\n if (ap = (+padAngle.apply(this, arguments) || 0) / 2) {\n rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments);\n if (!cw) p1 *= -1;\n if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap));\n if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap));\n }\n if (r1) {\n x0 = r1 * Math.cos(a0 + p1);\n y0 = r1 * Math.sin(a0 + p1);\n x1 = r1 * Math.cos(a1 - p1);\n y1 = r1 * Math.sin(a1 - p1);\n var l1 = Math.abs(a1 - a0 - 2 * p1) <= \u03C0 ? 0 : 1;\n if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) {\n var h1 = (a0 + a1) / 2;\n x0 = r1 * Math.cos(h1);\n y0 = r1 * Math.sin(h1);\n x1 = y1 = null;\n }\n } else {\n x0 = y0 = 0;\n }\n if (r0) {\n x2 = r0 * Math.cos(a1 - p0);\n y2 = r0 * Math.sin(a1 - p0);\n x3 = r0 * Math.cos(a0 + p0);\n y3 = r0 * Math.sin(a0 + p0);\n var l0 = Math.abs(a0 - a1 + 2 * p0) <= \u03C0 ? 0 : 1;\n if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) {\n var h0 = (a0 + a1) / 2;\n x2 = r0 * Math.cos(h0);\n y2 = r0 * Math.sin(h0);\n x3 = y3 = null;\n }\n } else {\n x2 = y2 = 0;\n }\n if (da > \u03B5 && (rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) {\n cr = r0 < r1 ^ cw ? 0 : 1;\n var rc1 = rc, rc0 = rc;\n if (da < \u03C0) {\n var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = Math.min(rc, (r0 - lc) / (kc - 1));\n rc1 = Math.min(rc, (r1 - lc) / (kc + 1));\n }\n if (x1 != null) {\n var t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw);\n if (rc === rc1) {\n path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t30[1], \"A\", r1, \",\", r1, \" 0 \", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), \",\", cw, \" \", t12[1], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t12[0]);\n } else {\n path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 1,\", cr, \" \", t12[0]);\n }\n } else {\n path.push(\"M\", x0, \",\", y0);\n }\n if (x3 != null) {\n var t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw);\n if (rc === rc0) {\n path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t21[1], \"A\", r0, \",\", r0, \" 0 \", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), \",\", 1 - cw, \" \", t03[1], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n } else {\n path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n }\n } else {\n path.push(\"L\", x2, \",\", y2);\n }\n } else {\n path.push(\"M\", x0, \",\", y0);\n if (x1 != null) path.push(\"A\", r1, \",\", r1, \" 0 \", l1, \",\", cw, \" \", x1, \",\", y1);\n path.push(\"L\", x2, \",\", y2);\n if (x3 != null) path.push(\"A\", r0, \",\", r0, \" 0 \", l0, \",\", 1 - cw, \" \", x3, \",\", y3);\n }\n path.push(\"Z\");\n return path.join(\"\");\n }\n function circleSegment(r1, cw) {\n return \"M0,\" + r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + -r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + r1;\n }\n arc.innerRadius = function(v) {\n if (!arguments.length) return innerRadius;\n innerRadius = d3_functor(v);\n return arc;\n };\n arc.outerRadius = function(v) {\n if (!arguments.length) return outerRadius;\n outerRadius = d3_functor(v);\n return arc;\n };\n arc.cornerRadius = function(v) {\n if (!arguments.length) return cornerRadius;\n cornerRadius = d3_functor(v);\n return arc;\n };\n arc.padRadius = function(v) {\n if (!arguments.length) return padRadius;\n padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v);\n return arc;\n };\n arc.startAngle = function(v) {\n if (!arguments.length) return startAngle;\n startAngle = d3_functor(v);\n return arc;\n };\n arc.endAngle = function(v) {\n if (!arguments.length) return endAngle;\n endAngle = d3_functor(v);\n return arc;\n };\n arc.padAngle = function(v) {\n if (!arguments.length) return padAngle;\n padAngle = d3_functor(v);\n return arc;\n };\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - half\u03C0;\n return [ Math.cos(a) * r, Math.sin(a) * r ];\n };\n return arc;\n };\n var d3_svg_arcAuto = \"auto\";\n function d3_svg_arcInnerRadius(d) {\n return d.innerRadius;\n }\n function d3_svg_arcOuterRadius(d) {\n return d.outerRadius;\n }\n function d3_svg_arcStartAngle(d) {\n return d.startAngle;\n }\n function d3_svg_arcEndAngle(d) {\n return d.endAngle;\n }\n function d3_svg_arcPadAngle(d) {\n return d && d.padAngle;\n }\n function d3_svg_arcSweep(x0, y0, x1, y1) {\n return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1;\n }\n function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) {\n var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(Math.max(0, r * r * d2 - D * D)), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3;\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ];\n }\n function d3_svg_line(projection) {\n var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7;\n function line(data) {\n var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y);\n function segment() {\n segments.push(\"M\", interpolate(projection(points), tension));\n }\n while (++i < n) {\n if (defined.call(this, d = data[i], i)) {\n points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]);\n } else if (points.length) {\n segment();\n points = [];\n }\n }\n if (points.length) segment();\n return segments.length ? segments.join(\"\") : null;\n }\n line.x = function(_) {\n if (!arguments.length) return x;\n x = _;\n return line;\n };\n line.y = function(_) {\n if (!arguments.length) return y;\n y = _;\n return line;\n };\n line.defined = function(_) {\n if (!arguments.length) return defined;\n defined = _;\n return line;\n };\n line.interpolate = function(_) {\n if (!arguments.length) return interpolateKey;\n if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n return line;\n };\n line.tension = function(_) {\n if (!arguments.length) return tension;\n tension = _;\n return line;\n };\n return line;\n }\n d3.svg.line = function() {\n return d3_svg_line(d3_identity);\n };\n var d3_svg_lineInterpolators = d3.map({\n linear: d3_svg_lineLinear,\n \"linear-closed\": d3_svg_lineLinearClosed,\n step: d3_svg_lineStep,\n \"step-before\": d3_svg_lineStepBefore,\n \"step-after\": d3_svg_lineStepAfter,\n basis: d3_svg_lineBasis,\n \"basis-open\": d3_svg_lineBasisOpen,\n \"basis-closed\": d3_svg_lineBasisClosed,\n bundle: d3_svg_lineBundle,\n cardinal: d3_svg_lineCardinal,\n \"cardinal-open\": d3_svg_lineCardinalOpen,\n \"cardinal-closed\": d3_svg_lineCardinalClosed,\n monotone: d3_svg_lineMonotone\n });\n d3_svg_lineInterpolators.forEach(function(key, value) {\n value.key = key;\n value.closed = /-closed$/.test(key);\n });\n function d3_svg_lineLinear(points) {\n return points.length > 1 ? points.join(\"L\") : points + \"Z\";\n }\n function d3_svg_lineLinearClosed(points) {\n return points.join(\"L\") + \"Z\";\n }\n function d3_svg_lineStep(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"H\", (p[0] + (p = points[i])[0]) / 2, \"V\", p[1]);\n if (n > 1) path.push(\"H\", p[0]);\n return path.join(\"\");\n }\n function d3_svg_lineStepBefore(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"V\", (p = points[i])[1], \"H\", p[0]);\n return path.join(\"\");\n }\n function d3_svg_lineStepAfter(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"H\", (p = points[i])[0], \"V\", p[1]);\n return path.join(\"\");\n }\n function d3_svg_lineCardinalOpen(points, tension) {\n return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension));\n }\n function d3_svg_lineCardinalClosed(points, tension) {\n return points.length < 3 ? d3_svg_lineLinearClosed(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), \n points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension));\n }\n function d3_svg_lineCardinal(points, tension) {\n return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension));\n }\n function d3_svg_lineHermite(points, tangents) {\n if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) {\n return d3_svg_lineLinear(points);\n }\n var quad = points.length != tangents.length, path = \"\", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1;\n if (quad) {\n path += \"Q\" + (p[0] - t0[0] * 2 / 3) + \",\" + (p[1] - t0[1] * 2 / 3) + \",\" + p[0] + \",\" + p[1];\n p0 = points[1];\n pi = 2;\n }\n if (tangents.length > 1) {\n t = tangents[1];\n p = points[pi];\n pi++;\n path += \"C\" + (p0[0] + t0[0]) + \",\" + (p0[1] + t0[1]) + \",\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n for (var i = 2; i < tangents.length; i++, pi++) {\n p = points[pi];\n t = tangents[i];\n path += \"S\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n }\n }\n if (quad) {\n var lp = points[pi];\n path += \"Q\" + (p[0] + t[0] * 2 / 3) + \",\" + (p[1] + t[1] * 2 / 3) + \",\" + lp[0] + \",\" + lp[1];\n }\n return path;\n }\n function d3_svg_lineCardinalTangents(points, tension) {\n var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length;\n while (++i < n) {\n p0 = p1;\n p1 = p2;\n p2 = points[i];\n tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]);\n }\n return tangents;\n }\n function d3_svg_lineBasis(points) {\n if (points.length < 3) return d3_svg_lineLinear(points);\n var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, \",\", y0, \"L\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n points.push(points[n - 1]);\n while (++i <= n) {\n pi = points[i];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n points.pop();\n path.push(\"L\", pi);\n return path.join(\"\");\n }\n function d3_svg_lineBasisOpen(points) {\n if (points.length < 4) return d3_svg_lineLinear(points);\n var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ];\n while (++i < 3) {\n pi = points[i];\n px.push(pi[0]);\n py.push(pi[1]);\n }\n path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + \",\" + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py));\n --i;\n while (++i < n) {\n pi = points[i];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n return path.join(\"\");\n }\n function d3_svg_lineBasisClosed(points) {\n var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = [];\n while (++i < 4) {\n pi = points[i % n];\n px.push(pi[0]);\n py.push(pi[1]);\n }\n path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n --i;\n while (++i < m) {\n pi = points[i % n];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n return path.join(\"\");\n }\n function d3_svg_lineBundle(points, tension) {\n var n = points.length - 1;\n if (n) {\n var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t;\n while (++i <= n) {\n p = points[i];\n t = i / n;\n p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx);\n p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy);\n }\n }\n return d3_svg_lineBasis(points);\n }\n function d3_svg_lineDot4(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];\n }\n var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ];\n function d3_svg_lineBasisBezier(path, x, y) {\n path.push(\"C\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y));\n }\n function d3_svg_lineSlope(p0, p1) {\n return (p1[1] - p0[1]) / (p1[0] - p0[0]);\n }\n function d3_svg_lineFiniteDifferences(points) {\n var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1);\n while (++i < j) {\n m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2;\n }\n m[i] = d;\n return m;\n }\n function d3_svg_lineMonotoneTangents(points) {\n var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1;\n while (++i < j) {\n d = d3_svg_lineSlope(points[i], points[i + 1]);\n if (abs(d) < \u03B5) {\n m[i] = m[i + 1] = 0;\n } else {\n a = m[i] / d;\n b = m[i + 1] / d;\n s = a * a + b * b;\n if (s > 9) {\n s = d * 3 / Math.sqrt(s);\n m[i] = s * a;\n m[i + 1] = s * b;\n }\n }\n }\n i = -1;\n while (++i <= j) {\n s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i]));\n tangents.push([ s || 0, m[i] * s || 0 ]);\n }\n return tangents;\n }\n function d3_svg_lineMonotone(points) {\n return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points));\n }\n d3.svg.line.radial = function() {\n var line = d3_svg_line(d3_svg_lineRadial);\n line.radius = line.x, delete line.x;\n line.angle = line.y, delete line.y;\n return line;\n };\n function d3_svg_lineRadial(points) {\n var point, i = -1, n = points.length, r, a;\n while (++i < n) {\n point = points[i];\n r = point[0];\n a = point[1] - half\u03C0;\n point[0] = r * Math.cos(a);\n point[1] = r * Math.sin(a);\n }\n return points;\n }\n function d3_svg_area(projection) {\n var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = \"L\", tension = .7;\n function area(data) {\n var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() {\n return x;\n } : d3_functor(x1), fy1 = y0 === y1 ? function() {\n return y;\n } : d3_functor(y1), x, y;\n function segment() {\n segments.push(\"M\", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), \"Z\");\n }\n while (++i < n) {\n if (defined.call(this, d = data[i], i)) {\n points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]);\n points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]);\n } else if (points0.length) {\n segment();\n points0 = [];\n points1 = [];\n }\n }\n if (points0.length) segment();\n return segments.length ? segments.join(\"\") : null;\n }\n area.x = function(_) {\n if (!arguments.length) return x1;\n x0 = x1 = _;\n return area;\n };\n area.x0 = function(_) {\n if (!arguments.length) return x0;\n x0 = _;\n return area;\n };\n area.x1 = function(_) {\n if (!arguments.length) return x1;\n x1 = _;\n return area;\n };\n area.y = function(_) {\n if (!arguments.length) return y1;\n y0 = y1 = _;\n return area;\n };\n area.y0 = function(_) {\n if (!arguments.length) return y0;\n y0 = _;\n return area;\n };\n area.y1 = function(_) {\n if (!arguments.length) return y1;\n y1 = _;\n return area;\n };\n area.defined = function(_) {\n if (!arguments.length) return defined;\n defined = _;\n return area;\n };\n area.interpolate = function(_) {\n if (!arguments.length) return interpolateKey;\n if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n interpolateReverse = interpolate.reverse || interpolate;\n L = interpolate.closed ? \"M\" : \"L\";\n return area;\n };\n area.tension = function(_) {\n if (!arguments.length) return tension;\n tension = _;\n return area;\n };\n return area;\n }\n d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter;\n d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore;\n d3.svg.area = function() {\n return d3_svg_area(d3_identity);\n };\n d3.svg.area.radial = function() {\n var area = d3_svg_area(d3_svg_lineRadial);\n area.radius = area.x, delete area.x;\n area.innerRadius = area.x0, delete area.x0;\n area.outerRadius = area.x1, delete area.x1;\n area.angle = area.y, delete area.y;\n area.startAngle = area.y0, delete area.y0;\n area.endAngle = area.y1, delete area.y1;\n return area;\n };\n d3.svg.chord = function() {\n var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle;\n function chord(d, i) {\n var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i);\n return \"M\" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + \"Z\";\n }\n function subgroup(self, f, d, i) {\n var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - half\u03C0, a1 = endAngle.call(self, subgroup, i) - half\u03C0;\n return {\n r: r,\n a0: a0,\n a1: a1,\n p0: [ r * Math.cos(a0), r * Math.sin(a0) ],\n p1: [ r * Math.cos(a1), r * Math.sin(a1) ]\n };\n }\n function equals(a, b) {\n return a.a0 == b.a0 && a.a1 == b.a1;\n }\n function arc(r, p, a) {\n return \"A\" + r + \",\" + r + \" 0 \" + +(a > \u03C0) + \",1 \" + p;\n }\n function curve(r0, p0, r1, p1) {\n return \"Q 0,0 \" + p1;\n }\n chord.radius = function(v) {\n if (!arguments.length) return radius;\n radius = d3_functor(v);\n return chord;\n };\n chord.source = function(v) {\n if (!arguments.length) return source;\n source = d3_functor(v);\n return chord;\n };\n chord.target = function(v) {\n if (!arguments.length) return target;\n target = d3_functor(v);\n return chord;\n };\n chord.startAngle = function(v) {\n if (!arguments.length) return startAngle;\n startAngle = d3_functor(v);\n return chord;\n };\n chord.endAngle = function(v) {\n if (!arguments.length) return endAngle;\n endAngle = d3_functor(v);\n return chord;\n };\n return chord;\n };\n function d3_svg_chordRadius(d) {\n return d.radius;\n }\n d3.svg.diagonal = function() {\n var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection;\n function diagonal(d, i) {\n var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, {\n x: p0.x,\n y: m\n }, {\n x: p3.x,\n y: m\n }, p3 ];\n p = p.map(projection);\n return \"M\" + p[0] + \"C\" + p[1] + \" \" + p[2] + \" \" + p[3];\n }\n diagonal.source = function(x) {\n if (!arguments.length) return source;\n source = d3_functor(x);\n return diagonal;\n };\n diagonal.target = function(x) {\n if (!arguments.length) return target;\n target = d3_functor(x);\n return diagonal;\n };\n diagonal.projection = function(x) {\n if (!arguments.length) return projection;\n projection = x;\n return diagonal;\n };\n return diagonal;\n };\n function d3_svg_diagonalProjection(d) {\n return [ d.x, d.y ];\n }\n d3.svg.diagonal.radial = function() {\n var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection;\n diagonal.projection = function(x) {\n return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection;\n };\n return diagonal;\n };\n function d3_svg_diagonalRadialProjection(projection) {\n return function() {\n var d = projection.apply(this, arguments), r = d[0], a = d[1] - half\u03C0;\n return [ r * Math.cos(a), r * Math.sin(a) ];\n };\n }\n d3.svg.symbol = function() {\n var type = d3_svg_symbolType, size = d3_svg_symbolSize;\n function symbol(d, i) {\n return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i));\n }\n symbol.type = function(x) {\n if (!arguments.length) return type;\n type = d3_functor(x);\n return symbol;\n };\n symbol.size = function(x) {\n if (!arguments.length) return size;\n size = d3_functor(x);\n return symbol;\n };\n return symbol;\n };\n function d3_svg_symbolSize() {\n return 64;\n }\n function d3_svg_symbolType() {\n return \"circle\";\n }\n function d3_svg_symbolCircle(size) {\n var r = Math.sqrt(size / \u03C0);\n return \"M0,\" + r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + -r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + r + \"Z\";\n }\n var d3_svg_symbols = d3.map({\n circle: d3_svg_symbolCircle,\n cross: function(size) {\n var r = Math.sqrt(size / 5) / 2;\n return \"M\" + -3 * r + \",\" + -r + \"H\" + -r + \"V\" + -3 * r + \"H\" + r + \"V\" + -r + \"H\" + 3 * r + \"V\" + r + \"H\" + r + \"V\" + 3 * r + \"H\" + -r + \"V\" + r + \"H\" + -3 * r + \"Z\";\n },\n diamond: function(size) {\n var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30;\n return \"M0,\" + -ry + \"L\" + rx + \",0\" + \" 0,\" + ry + \" \" + -rx + \",0\" + \"Z\";\n },\n square: function(size) {\n var r = Math.sqrt(size) / 2;\n return \"M\" + -r + \",\" + -r + \"L\" + r + \",\" + -r + \" \" + r + \",\" + r + \" \" + -r + \",\" + r + \"Z\";\n },\n \"triangle-down\": function(size) {\n var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n return \"M0,\" + ry + \"L\" + rx + \",\" + -ry + \" \" + -rx + \",\" + -ry + \"Z\";\n },\n \"triangle-up\": function(size) {\n var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n return \"M0,\" + -ry + \"L\" + rx + \",\" + ry + \" \" + -rx + \",\" + ry + \"Z\";\n }\n });\n d3.svg.symbolTypes = d3_svg_symbols.keys();\n var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians);\n d3_selectionPrototype.transition = function(name) {\n var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || {\n time: Date.now(),\n ease: d3_ease_cubicInOut,\n delay: 0,\n duration: 250\n };\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) d3_transitionNode(node, i, ns, id, transition);\n subgroup.push(node);\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_selectionPrototype.interrupt = function(name) {\n return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name)));\n };\n var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace());\n function d3_selection_interruptNS(ns) {\n return function() {\n var lock, activeId, active;\n if ((lock = this[ns]) && (active = lock[activeId = lock.active])) {\n active.timer.c = null;\n active.timer.t = NaN;\n if (--lock.count) delete lock[activeId]; else delete this[ns];\n lock.active += .5;\n active.event && active.event.interrupt.call(this, this.__data__, active.index);\n }\n };\n }\n function d3_transition(groups, ns, id) {\n d3_subclass(groups, d3_transitionPrototype);\n groups.namespace = ns;\n groups.id = id;\n return groups;\n }\n var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit;\n d3_transitionPrototype.call = d3_selectionPrototype.call;\n d3_transitionPrototype.empty = d3_selectionPrototype.empty;\n d3_transitionPrototype.node = d3_selectionPrototype.node;\n d3_transitionPrototype.size = d3_selectionPrototype.size;\n d3.transition = function(selection, name) {\n return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3.selection().transition(selection);\n };\n d3.transition.prototype = d3_transitionPrototype;\n d3_transitionPrototype.select = function(selector) {\n var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node;\n selector = d3_selection_selector(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n d3_transitionNode(subnode, i, ns, id, node[ns][id]);\n subgroup.push(subnode);\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_transitionPrototype.selectAll = function(selector) {\n var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition;\n selector = d3_selection_selectorAll(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n transition = node[ns][id];\n subnodes = selector.call(node, node.__data__, i, j);\n subgroups.push(subgroup = []);\n for (var k = -1, o = subnodes.length; ++k < o; ) {\n if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition);\n subgroup.push(subnode);\n }\n }\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_transitionPrototype.filter = function(filter) {\n var subgroups = [], subgroup, group, node;\n if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n subgroup.push(node);\n }\n }\n }\n return d3_transition(subgroups, this.namespace, this.id);\n };\n d3_transitionPrototype.tween = function(name, tween) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 2) return this.node()[ns][id].tween.get(name);\n return d3_selection_each(this, tween == null ? function(node) {\n node[ns][id].tween.remove(name);\n } : function(node) {\n node[ns][id].tween.set(name, tween);\n });\n };\n function d3_transition_tween(groups, name, value, tween) {\n var id = groups.id, ns = groups.namespace;\n return d3_selection_each(groups, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j)));\n } : (value = tween(value), function(node) {\n node[ns][id].tween.set(name, value);\n }));\n }\n d3_transitionPrototype.attr = function(nameNS, value) {\n if (arguments.length < 2) {\n for (value in nameNS) this.attr(value, nameNS[value]);\n return this;\n }\n var interpolate = nameNS == \"transform\" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS);\n function attrNull() {\n this.removeAttribute(name);\n }\n function attrNullNS() {\n this.removeAttributeNS(name.space, name.local);\n }\n function attrTween(b) {\n return b == null ? attrNull : (b += \"\", function() {\n var a = this.getAttribute(name), i;\n return a !== b && (i = interpolate(a, b), function(t) {\n this.setAttribute(name, i(t));\n });\n });\n }\n function attrTweenNS(b) {\n return b == null ? attrNullNS : (b += \"\", function() {\n var a = this.getAttributeNS(name.space, name.local), i;\n return a !== b && (i = interpolate(a, b), function(t) {\n this.setAttributeNS(name.space, name.local, i(t));\n });\n });\n }\n return d3_transition_tween(this, \"attr.\" + nameNS, value, name.local ? attrTweenNS : attrTween);\n };\n d3_transitionPrototype.attrTween = function(nameNS, tween) {\n var name = d3.ns.qualify(nameNS);\n function attrTween(d, i) {\n var f = tween.call(this, d, i, this.getAttribute(name));\n return f && function(t) {\n this.setAttribute(name, f(t));\n };\n }\n function attrTweenNS(d, i) {\n var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local));\n return f && function(t) {\n this.setAttributeNS(name.space, name.local, f(t));\n };\n }\n return this.tween(\"attr.\" + nameNS, name.local ? attrTweenNS : attrTween);\n };\n d3_transitionPrototype.style = function(name, value, priority) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof name !== \"string\") {\n if (n < 2) value = \"\";\n for (priority in name) this.style(priority, name[priority], value);\n return this;\n }\n priority = \"\";\n }\n function styleNull() {\n this.style.removeProperty(name);\n }\n function styleString(b) {\n return b == null ? styleNull : (b += \"\", function() {\n var a = d3_window(this).getComputedStyle(this, null).getPropertyValue(name), i;\n return a !== b && (i = d3_interpolate(a, b), function(t) {\n this.style.setProperty(name, i(t), priority);\n });\n });\n }\n return d3_transition_tween(this, \"style.\" + name, value, styleString);\n };\n d3_transitionPrototype.styleTween = function(name, tween, priority) {\n if (arguments.length < 3) priority = \"\";\n function styleTween(d, i) {\n var f = tween.call(this, d, i, d3_window(this).getComputedStyle(this, null).getPropertyValue(name));\n return f && function(t) {\n this.style.setProperty(name, f(t), priority);\n };\n }\n return this.tween(\"style.\" + name, styleTween);\n };\n d3_transitionPrototype.text = function(value) {\n return d3_transition_tween(this, \"text\", value, d3_transition_text);\n };\n function d3_transition_text(b) {\n if (b == null) b = \"\";\n return function() {\n this.textContent = b;\n };\n }\n d3_transitionPrototype.remove = function() {\n var ns = this.namespace;\n return this.each(\"end.transition\", function() {\n var p;\n if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this);\n });\n };\n d3_transitionPrototype.ease = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].ease;\n if (typeof value !== \"function\") value = d3.ease.apply(d3, arguments);\n return d3_selection_each(this, function(node) {\n node[ns][id].ease = value;\n });\n };\n d3_transitionPrototype.delay = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].delay;\n return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].delay = +value.call(node, node.__data__, i, j);\n } : (value = +value, function(node) {\n node[ns][id].delay = value;\n }));\n };\n d3_transitionPrototype.duration = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].duration;\n return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j));\n } : (value = Math.max(1, value), function(node) {\n node[ns][id].duration = value;\n }));\n };\n d3_transitionPrototype.each = function(type, listener) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 2) {\n var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId;\n try {\n d3_transitionInheritId = id;\n d3_selection_each(this, function(node, i, j) {\n d3_transitionInherit = node[ns][id];\n type.call(node, node.__data__, i, j);\n });\n } finally {\n d3_transitionInherit = inherit;\n d3_transitionInheritId = inheritId;\n }\n } else {\n d3_selection_each(this, function(node) {\n var transition = node[ns][id];\n (transition.event || (transition.event = d3.dispatch(\"start\", \"end\", \"interrupt\"))).on(type, listener);\n });\n }\n return this;\n };\n d3_transitionPrototype.transition = function() {\n var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition;\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n if (node = group[i]) {\n transition = node[ns][id0];\n d3_transitionNode(node, i, ns, id1, {\n time: transition.time,\n ease: transition.ease,\n delay: transition.delay + transition.duration,\n duration: transition.duration\n });\n }\n subgroup.push(node);\n }\n }\n return d3_transition(subgroups, ns, id1);\n };\n function d3_transitionNamespace(name) {\n return name == null ? \"__transition__\" : \"__transition_\" + name + \"__\";\n }\n function d3_transitionNode(node, i, ns, id, inherit) {\n var lock = node[ns] || (node[ns] = {\n active: 0,\n count: 0\n }), transition = lock[id], time, timer, duration, ease, tweens;\n function schedule(elapsed) {\n var delay = transition.delay;\n timer.t = delay + time;\n if (delay <= elapsed) return start(elapsed - delay);\n timer.c = start;\n }\n function start(elapsed) {\n var activeId = lock.active, active = lock[activeId];\n if (active) {\n active.timer.c = null;\n active.timer.t = NaN;\n --lock.count;\n delete lock[activeId];\n active.event && active.event.interrupt.call(node, node.__data__, active.index);\n }\n for (var cancelId in lock) {\n if (+cancelId < id) {\n var cancel = lock[cancelId];\n cancel.timer.c = null;\n cancel.timer.t = NaN;\n --lock.count;\n delete lock[cancelId];\n }\n }\n timer.c = tick;\n d3_timer(function() {\n if (timer.c && tick(elapsed || 1)) {\n timer.c = null;\n timer.t = NaN;\n }\n return 1;\n }, 0, time);\n lock.active = id;\n transition.event && transition.event.start.call(node, node.__data__, i);\n tweens = [];\n transition.tween.forEach(function(key, value) {\n if (value = value.call(node, node.__data__, i)) {\n tweens.push(value);\n }\n });\n ease = transition.ease;\n duration = transition.duration;\n }\n function tick(elapsed) {\n var t = elapsed / duration, e = ease(t), n = tweens.length;\n while (n > 0) {\n tweens[--n].call(node, e);\n }\n if (t >= 1) {\n transition.event && transition.event.end.call(node, node.__data__, i);\n if (--lock.count) delete lock[id]; else delete node[ns];\n return 1;\n }\n }\n if (!transition) {\n time = inherit.time;\n timer = d3_timer(schedule, 0, time);\n transition = lock[id] = {\n tween: new d3_Map(),\n time: time,\n timer: timer,\n delay: inherit.delay,\n duration: inherit.duration,\n ease: inherit.ease,\n index: i\n };\n inherit = null;\n ++lock.count;\n }\n }\n d3.svg.axis = function() {\n var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_;\n function axis(g) {\n g.each(function() {\n var g = d3.select(this);\n var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy();\n var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(\".tick\").data(ticks, scale1), tickEnter = tick.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", \u03B5), tickExit = d3.transition(tick.exit()).style(\"opacity\", \u03B5).remove(), tickUpdate = d3.transition(tick.order()).style(\"opacity\", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform;\n var range = d3_scaleRange(scale1), path = g.selectAll(\".domain\").data([ 0 ]), pathUpdate = (path.enter().append(\"path\").attr(\"class\", \"domain\"), \n d3.transition(path));\n tickEnter.append(\"line\");\n tickEnter.append(\"text\");\n var lineEnter = tickEnter.select(\"line\"), lineUpdate = tickUpdate.select(\"line\"), text = tick.select(\"text\").text(tickFormat), textEnter = tickEnter.select(\"text\"), textUpdate = tickUpdate.select(\"text\"), sign = orient === \"top\" || orient === \"left\" ? -1 : 1, x1, x2, y1, y2;\n if (orient === \"bottom\" || orient === \"top\") {\n tickTransform = d3_svg_axisX, x1 = \"x\", y1 = \"y\", x2 = \"x2\", y2 = \"y2\";\n text.attr(\"dy\", sign < 0 ? \"0em\" : \".71em\").style(\"text-anchor\", \"middle\");\n pathUpdate.attr(\"d\", \"M\" + range[0] + \",\" + sign * outerTickSize + \"V0H\" + range[1] + \"V\" + sign * outerTickSize);\n } else {\n tickTransform = d3_svg_axisY, x1 = \"y\", y1 = \"x\", x2 = \"y2\", y2 = \"x2\";\n text.attr(\"dy\", \".32em\").style(\"text-anchor\", sign < 0 ? \"end\" : \"start\");\n pathUpdate.attr(\"d\", \"M\" + sign * outerTickSize + \",\" + range[0] + \"H0V\" + range[1] + \"H\" + sign * outerTickSize);\n }\n lineEnter.attr(y2, sign * innerTickSize);\n textEnter.attr(y1, sign * tickSpacing);\n lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize);\n textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing);\n if (scale1.rangeBand) {\n var x = scale1, dx = x.rangeBand() / 2;\n scale0 = scale1 = function(d) {\n return x(d) + dx;\n };\n } else if (scale0.rangeBand) {\n scale0 = scale1;\n } else {\n tickExit.call(tickTransform, scale1, scale0);\n }\n tickEnter.call(tickTransform, scale0, scale1);\n tickUpdate.call(tickTransform, scale1, scale1);\n });\n }\n axis.scale = function(x) {\n if (!arguments.length) return scale;\n scale = x;\n return axis;\n };\n axis.orient = function(x) {\n if (!arguments.length) return orient;\n orient = x in d3_svg_axisOrients ? x + \"\" : d3_svg_axisDefaultOrient;\n return axis;\n };\n axis.ticks = function() {\n if (!arguments.length) return tickArguments_;\n tickArguments_ = d3_array(arguments);\n return axis;\n };\n axis.tickValues = function(x) {\n if (!arguments.length) return tickValues;\n tickValues = x;\n return axis;\n };\n axis.tickFormat = function(x) {\n if (!arguments.length) return tickFormat_;\n tickFormat_ = x;\n return axis;\n };\n axis.tickSize = function(x) {\n var n = arguments.length;\n if (!n) return innerTickSize;\n innerTickSize = +x;\n outerTickSize = +arguments[n - 1];\n return axis;\n };\n axis.innerTickSize = function(x) {\n if (!arguments.length) return innerTickSize;\n innerTickSize = +x;\n return axis;\n };\n axis.outerTickSize = function(x) {\n if (!arguments.length) return outerTickSize;\n outerTickSize = +x;\n return axis;\n };\n axis.tickPadding = function(x) {\n if (!arguments.length) return tickPadding;\n tickPadding = +x;\n return axis;\n };\n axis.tickSubdivide = function() {\n return arguments.length && axis;\n };\n return axis;\n };\n var d3_svg_axisDefaultOrient = \"bottom\", d3_svg_axisOrients = {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n };\n function d3_svg_axisX(selection, x0, x1) {\n selection.attr(\"transform\", function(d) {\n var v0 = x0(d);\n return \"translate(\" + (isFinite(v0) ? v0 : x1(d)) + \",0)\";\n });\n }\n function d3_svg_axisY(selection, y0, y1) {\n selection.attr(\"transform\", function(d) {\n var v0 = y0(d);\n return \"translate(0,\" + (isFinite(v0) ? v0 : y1(d)) + \")\";\n });\n }\n d3.svg.brush = function() {\n var event = d3_eventDispatch(brush, \"brushstart\", \"brush\", \"brushend\"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0];\n function brush(g) {\n g.each(function() {\n var g = d3.select(this).style(\"pointer-events\", \"all\").style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\").on(\"mousedown.brush\", brushstart).on(\"touchstart.brush\", brushstart);\n var background = g.selectAll(\".background\").data([ 0 ]);\n background.enter().append(\"rect\").attr(\"class\", \"background\").style(\"visibility\", \"hidden\").style(\"cursor\", \"crosshair\");\n g.selectAll(\".extent\").data([ 0 ]).enter().append(\"rect\").attr(\"class\", \"extent\").style(\"cursor\", \"move\");\n var resize = g.selectAll(\".resize\").data(resizes, d3_identity);\n resize.exit().remove();\n resize.enter().append(\"g\").attr(\"class\", function(d) {\n return \"resize \" + d;\n }).style(\"cursor\", function(d) {\n return d3_svg_brushCursor[d];\n }).append(\"rect\").attr(\"x\", function(d) {\n return /[ew]$/.test(d) ? -3 : null;\n }).attr(\"y\", function(d) {\n return /^[ns]/.test(d) ? -3 : null;\n }).attr(\"width\", 6).attr(\"height\", 6).style(\"visibility\", \"hidden\");\n resize.style(\"display\", brush.empty() ? \"none\" : null);\n var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range;\n if (x) {\n range = d3_scaleRange(x);\n backgroundUpdate.attr(\"x\", range[0]).attr(\"width\", range[1] - range[0]);\n redrawX(gUpdate);\n }\n if (y) {\n range = d3_scaleRange(y);\n backgroundUpdate.attr(\"y\", range[0]).attr(\"height\", range[1] - range[0]);\n redrawY(gUpdate);\n }\n redraw(gUpdate);\n });\n }\n brush.event = function(g) {\n g.each(function() {\n var event_ = event.of(this, arguments), extent1 = {\n x: xExtent,\n y: yExtent,\n i: xExtentDomain,\n j: yExtentDomain\n }, extent0 = this.__chart__ || extent1;\n this.__chart__ = extent1;\n if (d3_transitionInheritId) {\n d3.select(this).transition().each(\"start.brush\", function() {\n xExtentDomain = extent0.i;\n yExtentDomain = extent0.j;\n xExtent = extent0.x;\n yExtent = extent0.y;\n event_({\n type: \"brushstart\"\n });\n }).tween(\"brush:brush\", function() {\n var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y);\n xExtentDomain = yExtentDomain = null;\n return function(t) {\n xExtent = extent1.x = xi(t);\n yExtent = extent1.y = yi(t);\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n };\n }).each(\"end.brush\", function() {\n xExtentDomain = extent1.i;\n yExtentDomain = extent1.j;\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n event_({\n type: \"brushend\"\n });\n });\n } else {\n event_({\n type: \"brushstart\"\n });\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n event_({\n type: \"brushend\"\n });\n }\n });\n };\n function redraw(g) {\n g.selectAll(\".resize\").attr(\"transform\", function(d) {\n return \"translate(\" + xExtent[+/e$/.test(d)] + \",\" + yExtent[+/^s/.test(d)] + \")\";\n });\n }\n function redrawX(g) {\n g.select(\".extent\").attr(\"x\", xExtent[0]);\n g.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\", xExtent[1] - xExtent[0]);\n }\n function redrawY(g) {\n g.select(\".extent\").attr(\"y\", yExtent[0]);\n g.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\", yExtent[1] - yExtent[0]);\n }\n function brushstart() {\n var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed(\"extent\"), dragRestore = d3_event_dragSuppress(target), center, origin = d3.mouse(target), offset;\n var w = d3.select(d3_window(target)).on(\"keydown.brush\", keydown).on(\"keyup.brush\", keyup);\n if (d3.event.changedTouches) {\n w.on(\"touchmove.brush\", brushmove).on(\"touchend.brush\", brushend);\n } else {\n w.on(\"mousemove.brush\", brushmove).on(\"mouseup.brush\", brushend);\n }\n g.interrupt().selectAll(\"*\").interrupt();\n if (dragging) {\n origin[0] = xExtent[0] - origin[0];\n origin[1] = yExtent[0] - origin[1];\n } else if (resizing) {\n var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing);\n offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ];\n origin[0] = xExtent[ex];\n origin[1] = yExtent[ey];\n } else if (d3.event.altKey) center = origin.slice();\n g.style(\"pointer-events\", \"none\").selectAll(\".resize\").style(\"display\", null);\n d3.select(\"body\").style(\"cursor\", eventTarget.style(\"cursor\"));\n event_({\n type: \"brushstart\"\n });\n brushmove();\n function keydown() {\n if (d3.event.keyCode == 32) {\n if (!dragging) {\n center = null;\n origin[0] -= xExtent[1];\n origin[1] -= yExtent[1];\n dragging = 2;\n }\n d3_eventPreventDefault();\n }\n }\n function keyup() {\n if (d3.event.keyCode == 32 && dragging == 2) {\n origin[0] += xExtent[1];\n origin[1] += yExtent[1];\n dragging = 0;\n d3_eventPreventDefault();\n }\n }\n function brushmove() {\n var point = d3.mouse(target), moved = false;\n if (offset) {\n point[0] += offset[0];\n point[1] += offset[1];\n }\n if (!dragging) {\n if (d3.event.altKey) {\n if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ];\n origin[0] = xExtent[+(point[0] < center[0])];\n origin[1] = yExtent[+(point[1] < center[1])];\n } else center = null;\n }\n if (resizingX && move1(point, x, 0)) {\n redrawX(g);\n moved = true;\n }\n if (resizingY && move1(point, y, 1)) {\n redrawY(g);\n moved = true;\n }\n if (moved) {\n redraw(g);\n event_({\n type: \"brush\",\n mode: dragging ? \"move\" : \"resize\"\n });\n }\n }\n function move1(point, scale, i) {\n var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max;\n if (dragging) {\n r0 -= position;\n r1 -= size + position;\n }\n min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i];\n if (dragging) {\n max = (min += position) + size;\n } else {\n if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min));\n if (position < min) {\n max = min;\n min = position;\n } else {\n max = position;\n }\n }\n if (extent[0] != min || extent[1] != max) {\n if (i) yExtentDomain = null; else xExtentDomain = null;\n extent[0] = min;\n extent[1] = max;\n return true;\n }\n }\n function brushend() {\n brushmove();\n g.style(\"pointer-events\", \"all\").selectAll(\".resize\").style(\"display\", brush.empty() ? \"none\" : null);\n d3.select(\"body\").style(\"cursor\", null);\n w.on(\"mousemove.brush\", null).on(\"mouseup.brush\", null).on(\"touchmove.brush\", null).on(\"touchend.brush\", null).on(\"keydown.brush\", null).on(\"keyup.brush\", null);\n dragRestore();\n event_({\n type: \"brushend\"\n });\n }\n }\n brush.x = function(z) {\n if (!arguments.length) return x;\n x = z;\n resizes = d3_svg_brushResizes[!x << 1 | !y];\n return brush;\n };\n brush.y = function(z) {\n if (!arguments.length) return y;\n y = z;\n resizes = d3_svg_brushResizes[!x << 1 | !y];\n return brush;\n };\n brush.clamp = function(z) {\n if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null;\n if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z;\n return brush;\n };\n brush.extent = function(z) {\n var x0, x1, y0, y1, t;\n if (!arguments.length) {\n if (x) {\n if (xExtentDomain) {\n x0 = xExtentDomain[0], x1 = xExtentDomain[1];\n } else {\n x0 = xExtent[0], x1 = xExtent[1];\n if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1);\n if (x1 < x0) t = x0, x0 = x1, x1 = t;\n }\n }\n if (y) {\n if (yExtentDomain) {\n y0 = yExtentDomain[0], y1 = yExtentDomain[1];\n } else {\n y0 = yExtent[0], y1 = yExtent[1];\n if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1);\n if (y1 < y0) t = y0, y0 = y1, y1 = t;\n }\n }\n return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ];\n }\n if (x) {\n x0 = z[0], x1 = z[1];\n if (y) x0 = x0[0], x1 = x1[0];\n xExtentDomain = [ x0, x1 ];\n if (x.invert) x0 = x(x0), x1 = x(x1);\n if (x1 < x0) t = x0, x0 = x1, x1 = t;\n if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ];\n }\n if (y) {\n y0 = z[0], y1 = z[1];\n if (x) y0 = y0[1], y1 = y1[1];\n yExtentDomain = [ y0, y1 ];\n if (y.invert) y0 = y(y0), y1 = y(y1);\n if (y1 < y0) t = y0, y0 = y1, y1 = t;\n if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ];\n }\n return brush;\n };\n brush.clear = function() {\n if (!brush.empty()) {\n xExtent = [ 0, 0 ], yExtent = [ 0, 0 ];\n xExtentDomain = yExtentDomain = null;\n }\n return brush;\n };\n brush.empty = function() {\n return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1];\n };\n return d3.rebind(brush, event, \"on\");\n };\n var d3_svg_brushCursor = {\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n };\n var d3_svg_brushResizes = [ [ \"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\" ], [ \"e\", \"w\" ], [ \"n\", \"s\" ], [] ];\n var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat;\n var d3_time_formatUtc = d3_time_format.utc;\n var d3_time_formatIso = d3_time_formatUtc(\"%Y-%m-%dT%H:%M:%S.%LZ\");\n d3_time_format.iso = Date.prototype.toISOString && +new Date(\"2000-01-01T00:00:00.000Z\") ? d3_time_formatIsoNative : d3_time_formatIso;\n function d3_time_formatIsoNative(date) {\n return date.toISOString();\n }\n d3_time_formatIsoNative.parse = function(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n };\n d3_time_formatIsoNative.toString = d3_time_formatIso.toString;\n d3_time.second = d3_time_interval(function(date) {\n return new d3_date(Math.floor(date / 1e3) * 1e3);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 1e3);\n }, function(date) {\n return date.getSeconds();\n });\n d3_time.seconds = d3_time.second.range;\n d3_time.seconds.utc = d3_time.second.utc.range;\n d3_time.minute = d3_time_interval(function(date) {\n return new d3_date(Math.floor(date / 6e4) * 6e4);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 6e4);\n }, function(date) {\n return date.getMinutes();\n });\n d3_time.minutes = d3_time.minute.range;\n d3_time.minutes.utc = d3_time.minute.utc.range;\n d3_time.hour = d3_time_interval(function(date) {\n var timezone = date.getTimezoneOffset() / 60;\n return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 36e5);\n }, function(date) {\n return date.getHours();\n });\n d3_time.hours = d3_time.hour.range;\n d3_time.hours.utc = d3_time.hour.utc.range;\n d3_time.month = d3_time_interval(function(date) {\n date = d3_time.day(date);\n date.setDate(1);\n return date;\n }, function(date, offset) {\n date.setMonth(date.getMonth() + offset);\n }, function(date) {\n return date.getMonth();\n });\n d3_time.months = d3_time.month.range;\n d3_time.months.utc = d3_time.month.utc.range;\n function d3_time_scale(linear, methods, format) {\n function scale(x) {\n return linear(x);\n }\n scale.invert = function(x) {\n return d3_time_scaleDate(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return linear.domain().map(d3_time_scaleDate);\n linear.domain(x);\n return scale;\n };\n function tickMethod(extent, count) {\n var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target);\n return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) {\n return d / 31536e6;\n }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i];\n }\n scale.nice = function(interval, skip) {\n var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" && tickMethod(extent, interval);\n if (method) interval = method[0], skip = method[1];\n function skipped(date) {\n return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length;\n }\n return scale.domain(d3_scale_nice(domain, skip > 1 ? {\n floor: function(date) {\n while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1);\n return date;\n },\n ceil: function(date) {\n while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1);\n return date;\n }\n } : interval));\n };\n scale.ticks = function(interval, skip) {\n var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" ? tickMethod(extent, interval) : !interval.range && [ {\n range: interval\n }, skip ];\n if (method) interval = method[0], skip = method[1];\n return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip);\n };\n scale.tickFormat = function() {\n return format;\n };\n scale.copy = function() {\n return d3_time_scale(linear.copy(), methods, format);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n function d3_time_scaleDate(t) {\n return new Date(t);\n }\n var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ];\n var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ];\n var d3_time_scaleLocalFormat = d3_time_format.multi([ [ \".%L\", function(d) {\n return d.getMilliseconds();\n } ], [ \":%S\", function(d) {\n return d.getSeconds();\n } ], [ \"%I:%M\", function(d) {\n return d.getMinutes();\n } ], [ \"%I %p\", function(d) {\n return d.getHours();\n } ], [ \"%a %d\", function(d) {\n return d.getDay() && d.getDate() != 1;\n } ], [ \"%b %d\", function(d) {\n return d.getDate() != 1;\n } ], [ \"%B\", function(d) {\n return d.getMonth();\n } ], [ \"%Y\", d3_true ] ]);\n var d3_time_scaleMilliseconds = {\n range: function(start, stop, step) {\n return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate);\n },\n floor: d3_identity,\n ceil: d3_identity\n };\n d3_time_scaleLocalMethods.year = d3_time.year;\n d3_time.scale = function() {\n return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat);\n };\n var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) {\n return [ m[0].utc, m[1] ];\n });\n var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ \".%L\", function(d) {\n return d.getUTCMilliseconds();\n } ], [ \":%S\", function(d) {\n return d.getUTCSeconds();\n } ], [ \"%I:%M\", function(d) {\n return d.getUTCMinutes();\n } ], [ \"%I %p\", function(d) {\n return d.getUTCHours();\n } ], [ \"%a %d\", function(d) {\n return d.getUTCDay() && d.getUTCDate() != 1;\n } ], [ \"%b %d\", function(d) {\n return d.getUTCDate() != 1;\n } ], [ \"%B\", function(d) {\n return d.getUTCMonth();\n } ], [ \"%Y\", d3_true ] ]);\n d3_time_scaleUtcMethods.year = d3_time.year.utc;\n d3_time.scale.utc = function() {\n return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat);\n };\n d3.text = d3_xhrType(function(request) {\n return request.responseText;\n });\n d3.json = function(url, callback) {\n return d3_xhr(url, \"application/json\", d3_json, callback);\n };\n function d3_json(request) {\n return JSON.parse(request.responseText);\n }\n d3.html = function(url, callback) {\n return d3_xhr(url, \"text/html\", d3_html, callback);\n };\n function d3_html(request) {\n var range = d3_document.createRange();\n range.selectNode(d3_document.body);\n return range.createContextualFragment(request.responseText);\n }\n d3.xml = d3_xhrType(function(request) {\n return request.responseXML;\n });\n if (typeof define === \"function\" && define.amd) this.d3 = d3, define(d3); else if (typeof module === \"object\" && module.exports) module.exports = d3; else this.d3 = d3;\n}();", "/* @license C3.js v0.4.22 | (c) C3 Team and other contributors | http://c3js.org/ */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.c3 = factory());\n}(this, (function () { 'use strict';\n\n var CLASS = {\n target: 'c3-target',\n chart: 'c3-chart',\n chartLine: 'c3-chart-line',\n chartLines: 'c3-chart-lines',\n chartBar: 'c3-chart-bar',\n chartBars: 'c3-chart-bars',\n chartText: 'c3-chart-text',\n chartTexts: 'c3-chart-texts',\n chartArc: 'c3-chart-arc',\n chartArcs: 'c3-chart-arcs',\n chartArcsTitle: 'c3-chart-arcs-title',\n chartArcsBackground: 'c3-chart-arcs-background',\n chartArcsGaugeUnit: 'c3-chart-arcs-gauge-unit',\n chartArcsGaugeMax: 'c3-chart-arcs-gauge-max',\n chartArcsGaugeMin: 'c3-chart-arcs-gauge-min',\n selectedCircle: 'c3-selected-circle',\n selectedCircles: 'c3-selected-circles',\n eventRect: 'c3-event-rect',\n eventRects: 'c3-event-rects',\n eventRectsSingle: 'c3-event-rects-single',\n eventRectsMultiple: 'c3-event-rects-multiple',\n zoomRect: 'c3-zoom-rect',\n brush: 'c3-brush',\n focused: 'c3-focused',\n defocused: 'c3-defocused',\n region: 'c3-region',\n regions: 'c3-regions',\n title: 'c3-title',\n tooltipContainer: 'c3-tooltip-container',\n tooltip: 'c3-tooltip',\n tooltipName: 'c3-tooltip-name',\n shape: 'c3-shape',\n shapes: 'c3-shapes',\n line: 'c3-line',\n lines: 'c3-lines',\n bar: 'c3-bar',\n bars: 'c3-bars',\n circle: 'c3-circle',\n circles: 'c3-circles',\n arc: 'c3-arc',\n arcLabelLine: 'c3-arc-label-line',\n arcs: 'c3-arcs',\n area: 'c3-area',\n areas: 'c3-areas',\n empty: 'c3-empty',\n text: 'c3-text',\n texts: 'c3-texts',\n gaugeValue: 'c3-gauge-value',\n grid: 'c3-grid',\n gridLines: 'c3-grid-lines',\n xgrid: 'c3-xgrid',\n xgrids: 'c3-xgrids',\n xgridLine: 'c3-xgrid-line',\n xgridLines: 'c3-xgrid-lines',\n xgridFocus: 'c3-xgrid-focus',\n ygrid: 'c3-ygrid',\n ygrids: 'c3-ygrids',\n ygridLine: 'c3-ygrid-line',\n ygridLines: 'c3-ygrid-lines',\n axis: 'c3-axis',\n axisX: 'c3-axis-x',\n axisXLabel: 'c3-axis-x-label',\n axisY: 'c3-axis-y',\n axisYLabel: 'c3-axis-y-label',\n axisY2: 'c3-axis-y2',\n axisY2Label: 'c3-axis-y2-label',\n legendBackground: 'c3-legend-background',\n legendItem: 'c3-legend-item',\n legendItemEvent: 'c3-legend-item-event',\n legendItemTile: 'c3-legend-item-tile',\n legendItemHidden: 'c3-legend-item-hidden',\n legendItemFocused: 'c3-legend-item-focused',\n dragarea: 'c3-dragarea',\n EXPANDED: '_expanded_',\n SELECTED: '_selected_',\n INCLUDED: '_included_'\n };\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n var classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n\n var inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n };\n\n var possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n };\n\n var isValue = function isValue(v) {\n return v || v === 0;\n };\n var isFunction = function isFunction(o) {\n return typeof o === 'function';\n };\n var isArray = function isArray(o) {\n return Array.isArray(o);\n };\n var isString = function isString(o) {\n return typeof o === 'string';\n };\n var isUndefined = function isUndefined(v) {\n return typeof v === 'undefined';\n };\n var isDefined = function isDefined(v) {\n return typeof v !== 'undefined';\n };\n var ceil10 = function ceil10(v) {\n return Math.ceil(v / 10) * 10;\n };\n var asHalfPixel = function asHalfPixel(n) {\n return Math.ceil(n) + 0.5;\n };\n var diffDomain = function diffDomain(d) {\n return d[1] - d[0];\n };\n var isEmpty = function isEmpty(o) {\n return typeof o === 'undefined' || o === null || isString(o) && o.length === 0 || (typeof o === 'undefined' ? 'undefined' : _typeof(o)) === 'object' && Object.keys(o).length === 0;\n };\n var notEmpty = function notEmpty(o) {\n return !c3_chart_internal_fn.isEmpty(o);\n };\n var getOption = function getOption(options, key, defaultValue) {\n return isDefined(options[key]) ? options[key] : defaultValue;\n };\n var hasValue = function hasValue(dict, value) {\n var found = false;\n Object.keys(dict).forEach(function (key) {\n if (dict[key] === value) {\n found = true;\n }\n });\n return found;\n };\n var sanitise = function sanitise(str) {\n return typeof str === 'string' ? str.replace(//g, '>') : str;\n };\n var getPathBox = function getPathBox(path) {\n var box = path.getBoundingClientRect(),\n items = [path.pathSegList.getItem(0), path.pathSegList.getItem(1)],\n minX = items[0].x,\n minY = Math.min(items[0].y, items[1].y);\n return { x: minX, y: minY, width: box.width, height: box.height };\n };\n\n var c3_axis_fn;\n var c3_axis_internal_fn;\n\n function AxisInternal(component, params) {\n var internal = this;\n internal.component = component;\n internal.params = params || {};\n\n internal.d3 = component.d3;\n internal.scale = internal.d3.scale.linear();\n internal.range;\n internal.orient = \"bottom\";\n internal.innerTickSize = 6;\n internal.outerTickSize = this.params.withOuterTick ? 6 : 0;\n internal.tickPadding = 3;\n internal.tickValues = null;\n internal.tickFormat;\n internal.tickArguments;\n\n internal.tickOffset = 0;\n internal.tickCulling = true;\n internal.tickCentered;\n internal.tickTextCharSize;\n internal.tickTextRotate = internal.params.tickTextRotate;\n internal.tickLength;\n\n internal.axis = internal.generateAxis();\n }\n c3_axis_internal_fn = AxisInternal.prototype;\n\n c3_axis_internal_fn.axisX = function (selection, x, tickOffset) {\n selection.attr(\"transform\", function (d) {\n return \"translate(\" + Math.ceil(x(d) + tickOffset) + \", 0)\";\n });\n };\n c3_axis_internal_fn.axisY = function (selection, y) {\n selection.attr(\"transform\", function (d) {\n return \"translate(0,\" + Math.ceil(y(d)) + \")\";\n });\n };\n c3_axis_internal_fn.scaleExtent = function (domain) {\n var start = domain[0],\n stop = domain[domain.length - 1];\n return start < stop ? [start, stop] : [stop, start];\n };\n c3_axis_internal_fn.generateTicks = function (scale) {\n var internal = this;\n var i,\n domain,\n ticks = [];\n if (scale.ticks) {\n return scale.ticks.apply(scale, internal.tickArguments);\n }\n domain = scale.domain();\n for (i = Math.ceil(domain[0]); i < domain[1]; i++) {\n ticks.push(i);\n }\n if (ticks.length > 0 && ticks[0] > 0) {\n ticks.unshift(ticks[0] - (ticks[1] - ticks[0]));\n }\n return ticks;\n };\n c3_axis_internal_fn.copyScale = function () {\n var internal = this;\n var newScale = internal.scale.copy(),\n domain;\n if (internal.params.isCategory) {\n domain = internal.scale.domain();\n newScale.domain([domain[0], domain[1] - 1]);\n }\n return newScale;\n };\n c3_axis_internal_fn.textFormatted = function (v) {\n var internal = this,\n formatted = internal.tickFormat ? internal.tickFormat(v) : v;\n return typeof formatted !== 'undefined' ? formatted : '';\n };\n c3_axis_internal_fn.updateRange = function () {\n var internal = this;\n internal.range = internal.scale.rangeExtent ? internal.scale.rangeExtent() : internal.scaleExtent(internal.scale.range());\n return internal.range;\n };\n c3_axis_internal_fn.updateTickTextCharSize = function (tick) {\n var internal = this;\n if (internal.tickTextCharSize) {\n return internal.tickTextCharSize;\n }\n var size = {\n h: 11.5,\n w: 5.5\n };\n tick.select('text').text(function (d) {\n return internal.textFormatted(d);\n }).each(function (d) {\n var box = this.getBoundingClientRect(),\n text = internal.textFormatted(d),\n h = box.height,\n w = text ? box.width / text.length : undefined;\n if (h && w) {\n size.h = h;\n size.w = w;\n }\n }).text('');\n internal.tickTextCharSize = size;\n return size;\n };\n c3_axis_internal_fn.transitionise = function (selection) {\n return this.params.withoutTransition ? selection : this.d3.transition(selection);\n };\n c3_axis_internal_fn.isVertical = function () {\n return this.orient === 'left' || this.orient === 'right';\n };\n c3_axis_internal_fn.tspanData = function (d, i, ticks, scale) {\n var internal = this;\n var splitted = internal.params.tickMultiline ? internal.splitTickText(d, ticks, scale) : [].concat(internal.textFormatted(d));\n return splitted.map(function (s) {\n return { index: i, splitted: s, length: splitted.length };\n });\n };\n c3_axis_internal_fn.splitTickText = function (d, ticks, scale) {\n var internal = this,\n tickText = internal.textFormatted(d),\n maxWidth = internal.params.tickWidth,\n subtext,\n spaceIndex,\n textWidth,\n splitted = [];\n\n if (Object.prototype.toString.call(tickText) === \"[object Array]\") {\n return tickText;\n }\n\n if (!maxWidth || maxWidth <= 0) {\n maxWidth = internal.isVertical() ? 95 : internal.params.isCategory ? Math.ceil(scale(ticks[1]) - scale(ticks[0])) - 12 : 110;\n }\n\n function split(splitted, text) {\n spaceIndex = undefined;\n for (var i = 1; i < text.length; i++) {\n if (text.charAt(i) === ' ') {\n spaceIndex = i;\n }\n subtext = text.substr(0, i + 1);\n textWidth = internal.tickTextCharSize.w * subtext.length;\n // if text width gets over tick width, split by space index or crrent index\n if (maxWidth < textWidth) {\n return split(splitted.concat(text.substr(0, spaceIndex ? spaceIndex : i)), text.slice(spaceIndex ? spaceIndex + 1 : i));\n }\n }\n return splitted.concat(text);\n }\n\n return split(splitted, tickText + \"\");\n };\n c3_axis_internal_fn.updateTickLength = function () {\n var internal = this;\n internal.tickLength = Math.max(internal.innerTickSize, 0) + internal.tickPadding;\n };\n c3_axis_internal_fn.lineY2 = function (d) {\n var internal = this,\n tickPosition = internal.scale(d) + (internal.tickCentered ? 0 : internal.tickOffset);\n return internal.range[0] < tickPosition && tickPosition < internal.range[1] ? internal.innerTickSize : 0;\n };\n c3_axis_internal_fn.textY = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? 11.5 - 2.5 * (rotate / 15) * (rotate > 0 ? 1 : -1) : internal.tickLength;\n };\n c3_axis_internal_fn.textTransform = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? \"rotate(\" + rotate + \")\" : \"\";\n };\n c3_axis_internal_fn.textTextAnchor = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? rotate > 0 ? \"start\" : \"end\" : \"middle\";\n };\n c3_axis_internal_fn.tspanDx = function () {\n var internal = this,\n rotate = internal.tickTextRotate;\n return rotate ? 8 * Math.sin(Math.PI * (rotate / 180)) : 0;\n };\n c3_axis_internal_fn.tspanDy = function (d, i) {\n var internal = this,\n dy = internal.tickTextCharSize.h;\n if (i === 0) {\n if (internal.isVertical()) {\n dy = -((d.length - 1) * (internal.tickTextCharSize.h / 2) - 3);\n } else {\n dy = \".71em\";\n }\n }\n return dy;\n };\n\n c3_axis_internal_fn.generateAxis = function () {\n var internal = this,\n d3 = internal.d3,\n params = internal.params;\n function axis(g) {\n g.each(function () {\n var g = axis.g = d3.select(this);\n\n var scale0 = this.__chart__ || internal.scale,\n scale1 = this.__chart__ = internal.copyScale();\n\n var ticks = internal.tickValues ? internal.tickValues : internal.generateTicks(scale1),\n tick = g.selectAll(\".tick\").data(ticks, scale1),\n tickEnter = tick.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", 1e-6),\n\n // MEMO: No exit transition. The reason is this transition affects max tick width calculation because old tick will be included in the ticks.\n tickExit = tick.exit().remove(),\n tickUpdate = internal.transitionise(tick).style(\"opacity\", 1),\n tickTransform,\n tickX,\n tickY;\n\n if (params.isCategory) {\n internal.tickOffset = Math.ceil((scale1(1) - scale1(0)) / 2);\n tickX = internal.tickCentered ? 0 : internal.tickOffset;\n tickY = internal.tickCentered ? internal.tickOffset : 0;\n } else {\n internal.tickOffset = tickX = 0;\n }\n\n tickEnter.append(\"line\");\n tickEnter.append(\"text\");\n\n internal.updateRange();\n internal.updateTickLength();\n internal.updateTickTextCharSize(g.select('.tick'));\n\n var lineUpdate = tickUpdate.select(\"line\"),\n textUpdate = tickUpdate.select(\"text\"),\n tspanUpdate = tick.select(\"text\").selectAll('tspan').data(function (d, i) {\n return internal.tspanData(d, i, ticks, scale1);\n });\n\n tspanUpdate.enter().append('tspan');\n tspanUpdate.exit().remove();\n tspanUpdate.text(function (d) {\n return d.splitted;\n });\n\n var path = g.selectAll(\".domain\").data([0]),\n pathUpdate = (path.enter().append(\"path\").attr(\"class\", \"domain\"), internal.transitionise(path));\n\n // TODO: each attr should be one function and change its behavior by internal.orient, probably\n switch (internal.orient) {\n case \"bottom\":\n {\n tickTransform = internal.axisX;\n lineUpdate.attr(\"x1\", tickX).attr(\"x2\", tickX).attr(\"y2\", function (d, i) {\n return internal.lineY2(d, i);\n });\n textUpdate.attr(\"x\", 0).attr(\"y\", function (d, i) {\n return internal.textY(d, i);\n }).attr(\"transform\", function (d, i) {\n return internal.textTransform(d, i);\n }).style(\"text-anchor\", function (d, i) {\n return internal.textTextAnchor(d, i);\n });\n tspanUpdate.attr('x', 0).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n }).attr('dx', function (d, i) {\n return internal.tspanDx(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.range[0] + \",\" + internal.outerTickSize + \"V0H\" + internal.range[1] + \"V\" + internal.outerTickSize);\n break;\n }\n case \"top\":\n {\n // TODO: rotated tick text\n tickTransform = internal.axisX;\n lineUpdate.attr(\"x1\", tickX).attr(\"x2\", tickX).attr(\"y2\", function (d, i) {\n return -1 * internal.lineY2(d, i);\n });\n textUpdate.attr(\"x\", 0).attr(\"y\", function (d, i) {\n return -1 * internal.textY(d, i) - (params.isCategory ? 2 : internal.tickLength - 2);\n }).attr(\"transform\", function (d, i) {\n return internal.textTransform(d, i);\n }).style(\"text-anchor\", function (d, i) {\n return internal.textTextAnchor(d, i);\n });\n tspanUpdate.attr('x', 0).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n }).attr('dx', function (d, i) {\n return internal.tspanDx(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.range[0] + \",\" + -internal.outerTickSize + \"V0H\" + internal.range[1] + \"V\" + -internal.outerTickSize);\n break;\n }\n case \"left\":\n {\n tickTransform = internal.axisY;\n lineUpdate.attr(\"x2\", -internal.innerTickSize).attr(\"y1\", tickY).attr(\"y2\", tickY);\n textUpdate.attr(\"x\", -internal.tickLength).attr(\"y\", internal.tickOffset).style(\"text-anchor\", \"end\");\n tspanUpdate.attr('x', -internal.tickLength).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + -internal.outerTickSize + \",\" + internal.range[0] + \"H0V\" + internal.range[1] + \"H\" + -internal.outerTickSize);\n break;\n }\n case \"right\":\n {\n tickTransform = internal.axisY;\n lineUpdate.attr(\"x2\", internal.innerTickSize).attr(\"y1\", tickY).attr(\"y2\", tickY);\n textUpdate.attr(\"x\", internal.tickLength).attr(\"y\", internal.tickOffset).style(\"text-anchor\", \"start\");\n tspanUpdate.attr('x', internal.tickLength).attr(\"dy\", function (d, i) {\n return internal.tspanDy(d, i);\n });\n pathUpdate.attr(\"d\", \"M\" + internal.outerTickSize + \",\" + internal.range[0] + \"H0V\" + internal.range[1] + \"H\" + internal.outerTickSize);\n break;\n }\n }\n if (scale1.rangeBand) {\n var x = scale1,\n dx = x.rangeBand() / 2;\n scale0 = scale1 = function scale1(d) {\n return x(d) + dx;\n };\n } else if (scale0.rangeBand) {\n scale0 = scale1;\n } else {\n tickExit.call(tickTransform, scale1, internal.tickOffset);\n }\n tickEnter.call(tickTransform, scale0, internal.tickOffset);\n tickUpdate.call(tickTransform, scale1, internal.tickOffset);\n });\n }\n axis.scale = function (x) {\n if (!arguments.length) {\n return internal.scale;\n }\n internal.scale = x;\n return axis;\n };\n axis.orient = function (x) {\n if (!arguments.length) {\n return internal.orient;\n }\n internal.orient = x in { top: 1, right: 1, bottom: 1, left: 1 } ? x + \"\" : \"bottom\";\n return axis;\n };\n axis.tickFormat = function (format) {\n if (!arguments.length) {\n return internal.tickFormat;\n }\n internal.tickFormat = format;\n return axis;\n };\n axis.tickCentered = function (isCentered) {\n if (!arguments.length) {\n return internal.tickCentered;\n }\n internal.tickCentered = isCentered;\n return axis;\n };\n axis.tickOffset = function () {\n return internal.tickOffset;\n };\n axis.tickInterval = function () {\n var interval, length;\n if (params.isCategory) {\n interval = internal.tickOffset * 2;\n } else {\n length = axis.g.select('path.domain').node().getTotalLength() - internal.outerTickSize * 2;\n interval = length / axis.g.selectAll('line').size();\n }\n return interval === Infinity ? 0 : interval;\n };\n axis.ticks = function () {\n if (!arguments.length) {\n return internal.tickArguments;\n }\n internal.tickArguments = arguments;\n return axis;\n };\n axis.tickCulling = function (culling) {\n if (!arguments.length) {\n return internal.tickCulling;\n }\n internal.tickCulling = culling;\n return axis;\n };\n axis.tickValues = function (x) {\n if (typeof x === 'function') {\n internal.tickValues = function () {\n return x(internal.scale.domain());\n };\n } else {\n if (!arguments.length) {\n return internal.tickValues;\n }\n internal.tickValues = x;\n }\n return axis;\n };\n return axis;\n };\n\n var Axis = function (_Component) {\n inherits(Axis, _Component);\n\n function Axis(owner) {\n classCallCheck(this, Axis);\n\n var fn = {\n fn: c3_axis_fn,\n internal: {\n fn: c3_axis_internal_fn\n }\n };\n\n var _this = possibleConstructorReturn(this, (Axis.__proto__ || Object.getPrototypeOf(Axis)).call(this, owner, 'axis', fn));\n\n _this.d3 = owner.d3;\n _this.internal = AxisInternal;\n return _this;\n }\n\n return Axis;\n }(Component);\n\n c3_axis_fn = Axis.prototype;\n\n c3_axis_fn.init = function init() {\n var $$ = this.owner,\n config = $$.config,\n main = $$.main;\n $$.axes.x = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisX).attr(\"clip-path\", config.axis_x_inner ? \"\" : $$.clipPathForXAxis).attr(\"transform\", $$.getTranslate('x')).style(\"visibility\", config.axis_x_show ? 'visible' : 'hidden');\n $$.axes.x.append(\"text\").attr(\"class\", CLASS.axisXLabel).attr(\"transform\", config.axis_rotated ? \"rotate(-90)\" : \"\").style(\"text-anchor\", this.textAnchorForXAxisLabel.bind(this));\n $$.axes.y = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisY).attr(\"clip-path\", config.axis_y_inner ? \"\" : $$.clipPathForYAxis).attr(\"transform\", $$.getTranslate('y')).style(\"visibility\", config.axis_y_show ? 'visible' : 'hidden');\n $$.axes.y.append(\"text\").attr(\"class\", CLASS.axisYLabel).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").style(\"text-anchor\", this.textAnchorForYAxisLabel.bind(this));\n\n $$.axes.y2 = main.append(\"g\").attr(\"class\", CLASS.axis + ' ' + CLASS.axisY2)\n // clip-path?\n .attr(\"transform\", $$.getTranslate('y2')).style(\"visibility\", config.axis_y2_show ? 'visible' : 'hidden');\n $$.axes.y2.append(\"text\").attr(\"class\", CLASS.axisY2Label).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").style(\"text-anchor\", this.textAnchorForY2AxisLabel.bind(this));\n };\n c3_axis_fn.getXAxis = function getXAxis(scale, orient, tickFormat, tickValues, withOuterTick, withoutTransition, withoutRotateTickText) {\n var $$ = this.owner,\n config = $$.config,\n axisParams = {\n isCategory: $$.isCategorized(),\n withOuterTick: withOuterTick,\n tickMultiline: config.axis_x_tick_multiline,\n tickWidth: config.axis_x_tick_width,\n tickTextRotate: withoutRotateTickText ? 0 : config.axis_x_tick_rotate,\n withoutTransition: withoutTransition\n },\n axis = new this.internal(this, axisParams).axis.scale(scale).orient(orient);\n\n if ($$.isTimeSeries() && tickValues && typeof tickValues !== \"function\") {\n tickValues = tickValues.map(function (v) {\n return $$.parseDate(v);\n });\n }\n\n // Set tick\n axis.tickFormat(tickFormat).tickValues(tickValues);\n if ($$.isCategorized()) {\n axis.tickCentered(config.axis_x_tick_centered);\n if (isEmpty(config.axis_x_tick_culling)) {\n config.axis_x_tick_culling = false;\n }\n }\n\n return axis;\n };\n c3_axis_fn.updateXAxisTickValues = function updateXAxisTickValues(targets, axis) {\n var $$ = this.owner,\n config = $$.config,\n tickValues;\n if (config.axis_x_tick_fit || config.axis_x_tick_count) {\n tickValues = this.generateTickValues($$.mapTargetsToUniqueXs(targets), config.axis_x_tick_count, $$.isTimeSeries());\n }\n if (axis) {\n axis.tickValues(tickValues);\n } else {\n $$.xAxis.tickValues(tickValues);\n $$.subXAxis.tickValues(tickValues);\n }\n return tickValues;\n };\n c3_axis_fn.getYAxis = function getYAxis(scale, orient, tickFormat, tickValues, withOuterTick, withoutTransition, withoutRotateTickText) {\n var $$ = this.owner,\n config = $$.config,\n axisParams = {\n withOuterTick: withOuterTick,\n withoutTransition: withoutTransition,\n tickTextRotate: withoutRotateTickText ? 0 : config.axis_y_tick_rotate\n },\n axis = new this.internal(this, axisParams).axis.scale(scale).orient(orient).tickFormat(tickFormat);\n if ($$.isTimeSeriesY()) {\n axis.ticks($$.d3.time[config.axis_y_tick_time_value], config.axis_y_tick_time_interval);\n } else {\n axis.tickValues(tickValues);\n }\n return axis;\n };\n c3_axis_fn.getId = function getId(id) {\n var config = this.owner.config;\n return id in config.data_axes ? config.data_axes[id] : 'y';\n };\n c3_axis_fn.getXAxisTickFormat = function getXAxisTickFormat() {\n var $$ = this.owner,\n config = $$.config,\n format = $$.isTimeSeries() ? $$.defaultAxisTimeFormat : $$.isCategorized() ? $$.categoryName : function (v) {\n return v < 0 ? v.toFixed(0) : v;\n };\n if (config.axis_x_tick_format) {\n if (isFunction(config.axis_x_tick_format)) {\n format = config.axis_x_tick_format;\n } else if ($$.isTimeSeries()) {\n format = function format(date) {\n return date ? $$.axisTimeFormat(config.axis_x_tick_format)(date) : \"\";\n };\n }\n }\n return isFunction(format) ? function (v) {\n return format.call($$, v);\n } : format;\n };\n c3_axis_fn.getTickValues = function getTickValues(tickValues, axis) {\n return tickValues ? tickValues : axis ? axis.tickValues() : undefined;\n };\n c3_axis_fn.getXAxisTickValues = function getXAxisTickValues() {\n return this.getTickValues(this.owner.config.axis_x_tick_values, this.owner.xAxis);\n };\n c3_axis_fn.getYAxisTickValues = function getYAxisTickValues() {\n return this.getTickValues(this.owner.config.axis_y_tick_values, this.owner.yAxis);\n };\n c3_axis_fn.getY2AxisTickValues = function getY2AxisTickValues() {\n return this.getTickValues(this.owner.config.axis_y2_tick_values, this.owner.y2Axis);\n };\n c3_axis_fn.getLabelOptionByAxisId = function getLabelOptionByAxisId(axisId) {\n var $$ = this.owner,\n config = $$.config,\n option;\n if (axisId === 'y') {\n option = config.axis_y_label;\n } else if (axisId === 'y2') {\n option = config.axis_y2_label;\n } else if (axisId === 'x') {\n option = config.axis_x_label;\n }\n return option;\n };\n c3_axis_fn.getLabelText = function getLabelText(axisId) {\n var option = this.getLabelOptionByAxisId(axisId);\n return isString(option) ? option : option ? option.text : null;\n };\n c3_axis_fn.setLabelText = function setLabelText(axisId, text) {\n var $$ = this.owner,\n config = $$.config,\n option = this.getLabelOptionByAxisId(axisId);\n if (isString(option)) {\n if (axisId === 'y') {\n config.axis_y_label = text;\n } else if (axisId === 'y2') {\n config.axis_y2_label = text;\n } else if (axisId === 'x') {\n config.axis_x_label = text;\n }\n } else if (option) {\n option.text = text;\n }\n };\n c3_axis_fn.getLabelPosition = function getLabelPosition(axisId, defaultPosition) {\n var option = this.getLabelOptionByAxisId(axisId),\n position = option && (typeof option === 'undefined' ? 'undefined' : _typeof(option)) === 'object' && option.position ? option.position : defaultPosition;\n return {\n isInner: position.indexOf('inner') >= 0,\n isOuter: position.indexOf('outer') >= 0,\n isLeft: position.indexOf('left') >= 0,\n isCenter: position.indexOf('center') >= 0,\n isRight: position.indexOf('right') >= 0,\n isTop: position.indexOf('top') >= 0,\n isMiddle: position.indexOf('middle') >= 0,\n isBottom: position.indexOf('bottom') >= 0\n };\n };\n c3_axis_fn.getXAxisLabelPosition = function getXAxisLabelPosition() {\n return this.getLabelPosition('x', this.owner.config.axis_rotated ? 'inner-top' : 'inner-right');\n };\n c3_axis_fn.getYAxisLabelPosition = function getYAxisLabelPosition() {\n return this.getLabelPosition('y', this.owner.config.axis_rotated ? 'inner-right' : 'inner-top');\n };\n c3_axis_fn.getY2AxisLabelPosition = function getY2AxisLabelPosition() {\n return this.getLabelPosition('y2', this.owner.config.axis_rotated ? 'inner-right' : 'inner-top');\n };\n c3_axis_fn.getLabelPositionById = function getLabelPositionById(id) {\n return id === 'y2' ? this.getY2AxisLabelPosition() : id === 'y' ? this.getYAxisLabelPosition() : this.getXAxisLabelPosition();\n };\n c3_axis_fn.textForXAxisLabel = function textForXAxisLabel() {\n return this.getLabelText('x');\n };\n c3_axis_fn.textForYAxisLabel = function textForYAxisLabel() {\n return this.getLabelText('y');\n };\n c3_axis_fn.textForY2AxisLabel = function textForY2AxisLabel() {\n return this.getLabelText('y2');\n };\n c3_axis_fn.xForAxisLabel = function xForAxisLabel(forHorizontal, position) {\n var $$ = this.owner;\n if (forHorizontal) {\n return position.isLeft ? 0 : position.isCenter ? $$.width / 2 : $$.width;\n } else {\n return position.isBottom ? -$$.height : position.isMiddle ? -$$.height / 2 : 0;\n }\n };\n c3_axis_fn.dxForAxisLabel = function dxForAxisLabel(forHorizontal, position) {\n if (forHorizontal) {\n return position.isLeft ? \"0.5em\" : position.isRight ? \"-0.5em\" : \"0\";\n } else {\n return position.isTop ? \"-0.5em\" : position.isBottom ? \"0.5em\" : \"0\";\n }\n };\n c3_axis_fn.textAnchorForAxisLabel = function textAnchorForAxisLabel(forHorizontal, position) {\n if (forHorizontal) {\n return position.isLeft ? 'start' : position.isCenter ? 'middle' : 'end';\n } else {\n return position.isBottom ? 'start' : position.isMiddle ? 'middle' : 'end';\n }\n };\n c3_axis_fn.xForXAxisLabel = function xForXAxisLabel() {\n return this.xForAxisLabel(!this.owner.config.axis_rotated, this.getXAxisLabelPosition());\n };\n c3_axis_fn.xForYAxisLabel = function xForYAxisLabel() {\n return this.xForAxisLabel(this.owner.config.axis_rotated, this.getYAxisLabelPosition());\n };\n c3_axis_fn.xForY2AxisLabel = function xForY2AxisLabel() {\n return this.xForAxisLabel(this.owner.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n c3_axis_fn.dxForXAxisLabel = function dxForXAxisLabel() {\n return this.dxForAxisLabel(!this.owner.config.axis_rotated, this.getXAxisLabelPosition());\n };\n c3_axis_fn.dxForYAxisLabel = function dxForYAxisLabel() {\n return this.dxForAxisLabel(this.owner.config.axis_rotated, this.getYAxisLabelPosition());\n };\n c3_axis_fn.dxForY2AxisLabel = function dxForY2AxisLabel() {\n return this.dxForAxisLabel(this.owner.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n c3_axis_fn.dyForXAxisLabel = function dyForXAxisLabel() {\n var $$ = this.owner,\n config = $$.config,\n position = this.getXAxisLabelPosition();\n if (config.axis_rotated) {\n return position.isInner ? \"1.2em\" : -25 - ($$.config.axis_x_inner ? 0 : this.getMaxTickWidth('x'));\n } else {\n return position.isInner ? \"-0.5em\" : config.axis_x_height ? config.axis_x_height - 10 : \"3em\";\n }\n };\n c3_axis_fn.dyForYAxisLabel = function dyForYAxisLabel() {\n var $$ = this.owner,\n position = this.getYAxisLabelPosition();\n if ($$.config.axis_rotated) {\n return position.isInner ? \"-0.5em\" : \"3em\";\n } else {\n return position.isInner ? \"1.2em\" : -10 - ($$.config.axis_y_inner ? 0 : this.getMaxTickWidth('y') + 10);\n }\n };\n c3_axis_fn.dyForY2AxisLabel = function dyForY2AxisLabel() {\n var $$ = this.owner,\n position = this.getY2AxisLabelPosition();\n if ($$.config.axis_rotated) {\n return position.isInner ? \"1.2em\" : \"-2.2em\";\n } else {\n return position.isInner ? \"-0.5em\" : 15 + ($$.config.axis_y2_inner ? 0 : this.getMaxTickWidth('y2') + 15);\n }\n };\n c3_axis_fn.textAnchorForXAxisLabel = function textAnchorForXAxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel(!$$.config.axis_rotated, this.getXAxisLabelPosition());\n };\n c3_axis_fn.textAnchorForYAxisLabel = function textAnchorForYAxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel($$.config.axis_rotated, this.getYAxisLabelPosition());\n };\n c3_axis_fn.textAnchorForY2AxisLabel = function textAnchorForY2AxisLabel() {\n var $$ = this.owner;\n return this.textAnchorForAxisLabel($$.config.axis_rotated, this.getY2AxisLabelPosition());\n };\n c3_axis_fn.getMaxTickWidth = function getMaxTickWidth(id, withoutRecompute) {\n var $$ = this.owner,\n config = $$.config,\n maxWidth = 0,\n targetsToShow,\n scale,\n axis,\n dummy,\n svg;\n if (withoutRecompute && $$.currentMaxTickWidths[id]) {\n return $$.currentMaxTickWidths[id];\n }\n if ($$.svg) {\n targetsToShow = $$.filterTargetsToShow($$.data.targets);\n if (id === 'y') {\n scale = $$.y.copy().domain($$.getYDomain(targetsToShow, 'y'));\n axis = this.getYAxis(scale, $$.yOrient, config.axis_y_tick_format, $$.yAxisTickValues, false, true, true);\n } else if (id === 'y2') {\n scale = $$.y2.copy().domain($$.getYDomain(targetsToShow, 'y2'));\n axis = this.getYAxis(scale, $$.y2Orient, config.axis_y2_tick_format, $$.y2AxisTickValues, false, true, true);\n } else {\n scale = $$.x.copy().domain($$.getXDomain(targetsToShow));\n axis = this.getXAxis(scale, $$.xOrient, $$.xAxisTickFormat, $$.xAxisTickValues, false, true, true);\n this.updateXAxisTickValues(targetsToShow, axis);\n }\n dummy = $$.d3.select('body').append('div').classed('c3', true);\n svg = dummy.append(\"svg\").style('visibility', 'hidden').style('position', 'fixed').style('top', 0).style('left', 0), svg.append('g').call(axis).each(function () {\n $$.d3.select(this).selectAll('text').each(function () {\n var box = this.getBoundingClientRect();\n if (maxWidth < box.width) {\n maxWidth = box.width;\n }\n });\n dummy.remove();\n });\n }\n $$.currentMaxTickWidths[id] = maxWidth <= 0 ? $$.currentMaxTickWidths[id] : maxWidth;\n return $$.currentMaxTickWidths[id];\n };\n\n c3_axis_fn.updateLabels = function updateLabels(withTransition) {\n var $$ = this.owner;\n var axisXLabel = $$.main.select('.' + CLASS.axisX + ' .' + CLASS.axisXLabel),\n axisYLabel = $$.main.select('.' + CLASS.axisY + ' .' + CLASS.axisYLabel),\n axisY2Label = $$.main.select('.' + CLASS.axisY2 + ' .' + CLASS.axisY2Label);\n (withTransition ? axisXLabel.transition() : axisXLabel).attr(\"x\", this.xForXAxisLabel.bind(this)).attr(\"dx\", this.dxForXAxisLabel.bind(this)).attr(\"dy\", this.dyForXAxisLabel.bind(this)).text(this.textForXAxisLabel.bind(this));\n (withTransition ? axisYLabel.transition() : axisYLabel).attr(\"x\", this.xForYAxisLabel.bind(this)).attr(\"dx\", this.dxForYAxisLabel.bind(this)).attr(\"dy\", this.dyForYAxisLabel.bind(this)).text(this.textForYAxisLabel.bind(this));\n (withTransition ? axisY2Label.transition() : axisY2Label).attr(\"x\", this.xForY2AxisLabel.bind(this)).attr(\"dx\", this.dxForY2AxisLabel.bind(this)).attr(\"dy\", this.dyForY2AxisLabel.bind(this)).text(this.textForY2AxisLabel.bind(this));\n };\n c3_axis_fn.getPadding = function getPadding(padding, key, defaultValue, domainLength) {\n var p = typeof padding === 'number' ? padding : padding[key];\n if (!isValue(p)) {\n return defaultValue;\n }\n if (padding.unit === 'ratio') {\n return padding[key] * domainLength;\n }\n // assume padding is pixels if unit is not specified\n return this.convertPixelsToAxisPadding(p, domainLength);\n };\n c3_axis_fn.convertPixelsToAxisPadding = function convertPixelsToAxisPadding(pixels, domainLength) {\n var $$ = this.owner,\n length = $$.config.axis_rotated ? $$.width : $$.height;\n return domainLength * (pixels / length);\n };\n c3_axis_fn.generateTickValues = function generateTickValues(values, tickCount, forTimeSeries) {\n var tickValues = values,\n targetCount,\n start,\n end,\n count,\n interval,\n i,\n tickValue;\n if (tickCount) {\n targetCount = isFunction(tickCount) ? tickCount() : tickCount;\n // compute ticks according to tickCount\n if (targetCount === 1) {\n tickValues = [values[0]];\n } else if (targetCount === 2) {\n tickValues = [values[0], values[values.length - 1]];\n } else if (targetCount > 2) {\n count = targetCount - 2;\n start = values[0];\n end = values[values.length - 1];\n interval = (end - start) / (count + 1);\n // re-construct unique values\n tickValues = [start];\n for (i = 0; i < count; i++) {\n tickValue = +start + interval * (i + 1);\n tickValues.push(forTimeSeries ? new Date(tickValue) : tickValue);\n }\n tickValues.push(end);\n }\n }\n if (!forTimeSeries) {\n tickValues = tickValues.sort(function (a, b) {\n return a - b;\n });\n }\n return tickValues;\n };\n c3_axis_fn.generateTransitions = function generateTransitions(duration) {\n var $$ = this.owner,\n axes = $$.axes;\n return {\n axisX: duration ? axes.x.transition().duration(duration) : axes.x,\n axisY: duration ? axes.y.transition().duration(duration) : axes.y,\n axisY2: duration ? axes.y2.transition().duration(duration) : axes.y2,\n axisSubX: duration ? axes.subx.transition().duration(duration) : axes.subx\n };\n };\n c3_axis_fn.redraw = function redraw(transitions, isHidden) {\n var $$ = this.owner;\n $$.axes.x.style(\"opacity\", isHidden ? 0 : 1);\n $$.axes.y.style(\"opacity\", isHidden ? 0 : 1);\n $$.axes.y2.style(\"opacity\", isHidden ? 0 : 1);\n $$.axes.subx.style(\"opacity\", isHidden ? 0 : 1);\n transitions.axisX.call($$.xAxis);\n transitions.axisY.call($$.yAxis);\n transitions.axisY2.call($$.y2Axis);\n transitions.axisSubX.call($$.subXAxis);\n };\n\n var c3 = { version: \"0.4.22\" };\n\n var c3_chart_fn;\n var c3_chart_internal_fn;\n\n function Component(owner, componentKey, fn) {\n this.owner = owner;\n c3.chart.internal[componentKey] = fn;\n }\n\n function Chart(config) {\n var $$ = this.internal = new ChartInternal(this);\n $$.loadConfig(config);\n\n $$.beforeInit(config);\n $$.init();\n $$.afterInit(config);\n\n // bind \"this\" to nested API\n (function bindThis(fn, target, argThis) {\n Object.keys(fn).forEach(function (key) {\n target[key] = fn[key].bind(argThis);\n if (Object.keys(fn[key]).length > 0) {\n bindThis(fn[key], target[key], argThis);\n }\n });\n })(c3_chart_fn, this, this);\n }\n\n function ChartInternal(api) {\n var $$ = this;\n $$.d3 = window.d3 ? window.d3 : typeof require !== 'undefined' ? require(\"d3\") : undefined;\n $$.api = api;\n $$.config = $$.getDefaultConfig();\n $$.data = {};\n $$.cache = {};\n $$.axes = {};\n }\n\n c3.generate = function (config) {\n return new Chart(config);\n };\n\n c3.chart = {\n fn: Chart.prototype,\n internal: {\n fn: ChartInternal.prototype\n }\n };\n c3_chart_fn = c3.chart.fn;\n c3_chart_internal_fn = c3.chart.internal.fn;\n\n c3_chart_internal_fn.beforeInit = function () {\n // can do something\n };\n c3_chart_internal_fn.afterInit = function () {\n // can do something\n };\n c3_chart_internal_fn.init = function () {\n var $$ = this,\n config = $$.config;\n\n $$.initParams();\n\n if (config.data_url) {\n $$.convertUrlToData(config.data_url, config.data_mimeType, config.data_headers, config.data_keys, $$.initWithData);\n } else if (config.data_json) {\n $$.initWithData($$.convertJsonToData(config.data_json, config.data_keys));\n } else if (config.data_rows) {\n $$.initWithData($$.convertRowsToData(config.data_rows));\n } else if (config.data_columns) {\n $$.initWithData($$.convertColumnsToData(config.data_columns));\n } else {\n throw Error('url or json or rows or columns is required.');\n }\n };\n\n c3_chart_internal_fn.initParams = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config;\n\n // MEMO: clipId needs to be unique because it conflicts when multiple charts exist\n $$.clipId = \"c3-\" + +new Date() + '-clip', $$.clipIdForXAxis = $$.clipId + '-xaxis', $$.clipIdForYAxis = $$.clipId + '-yaxis', $$.clipIdForGrid = $$.clipId + '-grid', $$.clipIdForSubchart = $$.clipId + '-subchart', $$.clipPath = $$.getClipPath($$.clipId), $$.clipPathForXAxis = $$.getClipPath($$.clipIdForXAxis), $$.clipPathForYAxis = $$.getClipPath($$.clipIdForYAxis);\n $$.clipPathForGrid = $$.getClipPath($$.clipIdForGrid), $$.clipPathForSubchart = $$.getClipPath($$.clipIdForSubchart), $$.dragStart = null;\n $$.dragging = false;\n $$.flowing = false;\n $$.cancelClick = false;\n $$.mouseover = false;\n $$.transiting = false;\n\n $$.color = $$.generateColor();\n $$.levelColor = $$.generateLevelColor();\n\n $$.dataTimeFormat = config.data_xLocaltime ? d3.time.format : d3.time.format.utc;\n $$.axisTimeFormat = config.axis_x_localtime ? d3.time.format : d3.time.format.utc;\n $$.defaultAxisTimeFormat = $$.axisTimeFormat.multi([[\".%L\", function (d) {\n return d.getMilliseconds();\n }], [\":%S\", function (d) {\n return d.getSeconds();\n }], [\"%I:%M\", function (d) {\n return d.getMinutes();\n }], [\"%I %p\", function (d) {\n return d.getHours();\n }], [\"%-m/%-d\", function (d) {\n return d.getDay() && d.getDate() !== 1;\n }], [\"%-m/%-d\", function (d) {\n return d.getDate() !== 1;\n }], [\"%-m/%-d\", function (d) {\n return d.getMonth();\n }], [\"%Y/%-m/%-d\", function () {\n return true;\n }]]);\n\n $$.hiddenTargetIds = [];\n $$.hiddenLegendIds = [];\n $$.focusedTargetIds = [];\n $$.defocusedTargetIds = [];\n\n $$.xOrient = config.axis_rotated ? config.axis_x_inner ? \"right\" : \"left\" : config.axis_x_inner ? \"top\" : \"bottom\";\n $$.yOrient = config.axis_rotated ? config.axis_y_inner ? \"top\" : \"bottom\" : config.axis_y_inner ? \"right\" : \"left\";\n $$.y2Orient = config.axis_rotated ? config.axis_y2_inner ? \"bottom\" : \"top\" : config.axis_y2_inner ? \"left\" : \"right\";\n $$.subXOrient = config.axis_rotated ? \"left\" : \"bottom\";\n\n $$.isLegendRight = config.legend_position === 'right';\n $$.isLegendInset = config.legend_position === 'inset';\n $$.isLegendTop = config.legend_inset_anchor === 'top-left' || config.legend_inset_anchor === 'top-right';\n $$.isLegendLeft = config.legend_inset_anchor === 'top-left' || config.legend_inset_anchor === 'bottom-left';\n $$.legendStep = 0;\n $$.legendItemWidth = 0;\n $$.legendItemHeight = 0;\n\n $$.currentMaxTickWidths = {\n x: 0,\n y: 0,\n y2: 0\n };\n\n $$.rotated_padding_left = 30;\n $$.rotated_padding_right = config.axis_rotated && !config.axis_x_show ? 0 : 30;\n $$.rotated_padding_top = 5;\n\n $$.withoutFadeIn = {};\n\n $$.intervalForObserveInserted = undefined;\n\n $$.axes.subx = d3.selectAll([]); // needs when excluding subchart.js\n };\n\n c3_chart_internal_fn.initChartElements = function () {\n if (this.initBar) {\n this.initBar();\n }\n if (this.initLine) {\n this.initLine();\n }\n if (this.initArc) {\n this.initArc();\n }\n if (this.initGauge) {\n this.initGauge();\n }\n if (this.initText) {\n this.initText();\n }\n };\n\n c3_chart_internal_fn.initWithData = function (data) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config;\n var defs,\n main,\n binding = true;\n\n $$.axis = new Axis($$);\n\n if ($$.initPie) {\n $$.initPie();\n }\n if ($$.initBrush) {\n $$.initBrush();\n }\n if ($$.initZoom) {\n $$.initZoom();\n }\n\n if (!config.bindto) {\n $$.selectChart = d3.selectAll([]);\n } else if (typeof config.bindto.node === 'function') {\n $$.selectChart = config.bindto;\n } else {\n $$.selectChart = d3.select(config.bindto);\n }\n if ($$.selectChart.empty()) {\n $$.selectChart = d3.select(document.createElement('div')).style('opacity', 0);\n $$.observeInserted($$.selectChart);\n binding = false;\n }\n $$.selectChart.html(\"\").classed(\"c3\", true);\n\n // Init data as targets\n $$.data.xs = {};\n $$.data.targets = $$.convertDataToTargets(data);\n\n if (config.data_filter) {\n $$.data.targets = $$.data.targets.filter(config.data_filter);\n }\n\n // Set targets to hide if needed\n if (config.data_hide) {\n $$.addHiddenTargetIds(config.data_hide === true ? $$.mapToIds($$.data.targets) : config.data_hide);\n }\n if (config.legend_hide) {\n $$.addHiddenLegendIds(config.legend_hide === true ? $$.mapToIds($$.data.targets) : config.legend_hide);\n }\n\n // Init sizes and scales\n $$.updateSizes();\n $$.updateScales();\n\n // Set domains for each scale\n $$.x.domain(d3.extent($$.getXDomain($$.data.targets)));\n $$.y.domain($$.getYDomain($$.data.targets, 'y'));\n $$.y2.domain($$.getYDomain($$.data.targets, 'y2'));\n $$.subX.domain($$.x.domain());\n $$.subY.domain($$.y.domain());\n $$.subY2.domain($$.y2.domain());\n\n // Save original x domain for zoom update\n $$.orgXDomain = $$.x.domain();\n\n // Set initialized scales to brush and zoom\n if ($$.brush) {\n $$.brush.scale($$.subX);\n }\n if (config.zoom_enabled) {\n $$.zoom.scale($$.x);\n }\n\n /*-- Basic Elements --*/\n\n // Define svgs\n $$.svg = $$.selectChart.append(\"svg\").style(\"overflow\", \"hidden\").on('mouseenter', function () {\n return config.onmouseover.call($$);\n }).on('mouseleave', function () {\n return config.onmouseout.call($$);\n });\n\n if ($$.config.svg_classname) {\n $$.svg.attr('class', $$.config.svg_classname);\n }\n\n // Define defs\n defs = $$.svg.append(\"defs\");\n $$.clipChart = $$.appendClip(defs, $$.clipId);\n $$.clipXAxis = $$.appendClip(defs, $$.clipIdForXAxis);\n $$.clipYAxis = $$.appendClip(defs, $$.clipIdForYAxis);\n $$.clipGrid = $$.appendClip(defs, $$.clipIdForGrid);\n $$.clipSubchart = $$.appendClip(defs, $$.clipIdForSubchart);\n $$.updateSvgSize();\n\n // Define regions\n main = $$.main = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('main'));\n\n if ($$.initSubchart) {\n $$.initSubchart();\n }\n if ($$.initTooltip) {\n $$.initTooltip();\n }\n if ($$.initLegend) {\n $$.initLegend();\n }\n if ($$.initTitle) {\n $$.initTitle();\n }\n\n /*-- Main Region --*/\n\n // text when empty\n main.append(\"text\").attr(\"class\", CLASS.text + ' ' + CLASS.empty).attr(\"text-anchor\", \"middle\") // horizontal centering of text at x position in all browsers.\n .attr(\"dominant-baseline\", \"middle\"); // vertical centering of text at y position in all browsers, except IE.\n\n // Regions\n $$.initRegion();\n\n // Grids\n $$.initGrid();\n\n // Define g for chart area\n main.append('g').attr(\"clip-path\", $$.clipPath).attr('class', CLASS.chart);\n\n // Grid lines\n if (config.grid_lines_front) {\n $$.initGridLines();\n }\n\n // Cover whole with rects for events\n $$.initEventRect();\n\n // Define g for chart\n $$.initChartElements();\n\n // if zoom privileged, insert rect to forefront\n // TODO: is this needed?\n main.insert('rect', config.zoom_privileged ? null : 'g.' + CLASS.regions).attr('class', CLASS.zoomRect).attr('width', $$.width).attr('height', $$.height).style('opacity', 0).on(\"dblclick.zoom\", null);\n\n // Set default extent if defined\n if (config.axis_x_extent) {\n $$.brush.extent($$.getDefaultExtent());\n }\n\n // Add Axis\n $$.axis.init();\n\n // Set targets\n $$.updateTargets($$.data.targets);\n\n // Draw with targets\n if (binding) {\n $$.updateDimension();\n $$.config.oninit.call($$);\n $$.redraw({\n withTransition: false,\n withTransform: true,\n withUpdateXDomain: true,\n withUpdateOrgXDomain: true,\n withTransitionForAxis: false\n });\n }\n\n // Bind resize event\n $$.bindResize();\n\n // export element of the chart\n $$.api.element = $$.selectChart.node();\n };\n\n c3_chart_internal_fn.smoothLines = function (el, type) {\n var $$ = this;\n if (type === 'grid') {\n el.each(function () {\n var g = $$.d3.select(this),\n x1 = g.attr('x1'),\n x2 = g.attr('x2'),\n y1 = g.attr('y1'),\n y2 = g.attr('y2');\n g.attr({\n 'x1': Math.ceil(x1),\n 'x2': Math.ceil(x2),\n 'y1': Math.ceil(y1),\n 'y2': Math.ceil(y2)\n });\n });\n }\n };\n\n c3_chart_internal_fn.updateSizes = function () {\n var $$ = this,\n config = $$.config;\n var legendHeight = $$.legend ? $$.getLegendHeight() : 0,\n legendWidth = $$.legend ? $$.getLegendWidth() : 0,\n legendHeightForBottom = $$.isLegendRight || $$.isLegendInset ? 0 : legendHeight,\n hasArc = $$.hasArcType(),\n xAxisHeight = config.axis_rotated || hasArc ? 0 : $$.getHorizontalAxisHeight('x'),\n subchartHeight = config.subchart_show && !hasArc ? config.subchart_size_height + xAxisHeight : 0;\n\n $$.currentWidth = $$.getCurrentWidth();\n $$.currentHeight = $$.getCurrentHeight();\n\n // for main\n $$.margin = config.axis_rotated ? {\n top: $$.getHorizontalAxisHeight('y2') + $$.getCurrentPaddingTop(),\n right: hasArc ? 0 : $$.getCurrentPaddingRight(),\n bottom: $$.getHorizontalAxisHeight('y') + legendHeightForBottom + $$.getCurrentPaddingBottom(),\n left: subchartHeight + (hasArc ? 0 : $$.getCurrentPaddingLeft())\n } : {\n top: 4 + $$.getCurrentPaddingTop(), // for top tick text\n right: hasArc ? 0 : $$.getCurrentPaddingRight(),\n bottom: xAxisHeight + subchartHeight + legendHeightForBottom + $$.getCurrentPaddingBottom(),\n left: hasArc ? 0 : $$.getCurrentPaddingLeft()\n };\n\n // for subchart\n $$.margin2 = config.axis_rotated ? {\n top: $$.margin.top,\n right: NaN,\n bottom: 20 + legendHeightForBottom,\n left: $$.rotated_padding_left\n } : {\n top: $$.currentHeight - subchartHeight - legendHeightForBottom,\n right: NaN,\n bottom: xAxisHeight + legendHeightForBottom,\n left: $$.margin.left\n };\n\n // for legend\n $$.margin3 = {\n top: 0,\n right: NaN,\n bottom: 0,\n left: 0\n };\n if ($$.updateSizeForLegend) {\n $$.updateSizeForLegend(legendHeight, legendWidth);\n }\n\n $$.width = $$.currentWidth - $$.margin.left - $$.margin.right;\n $$.height = $$.currentHeight - $$.margin.top - $$.margin.bottom;\n if ($$.width < 0) {\n $$.width = 0;\n }\n if ($$.height < 0) {\n $$.height = 0;\n }\n\n $$.width2 = config.axis_rotated ? $$.margin.left - $$.rotated_padding_left - $$.rotated_padding_right : $$.width;\n $$.height2 = config.axis_rotated ? $$.height : $$.currentHeight - $$.margin2.top - $$.margin2.bottom;\n if ($$.width2 < 0) {\n $$.width2 = 0;\n }\n if ($$.height2 < 0) {\n $$.height2 = 0;\n }\n\n // for arc\n $$.arcWidth = $$.width - ($$.isLegendRight ? legendWidth + 10 : 0);\n $$.arcHeight = $$.height - ($$.isLegendRight ? 0 : 10);\n if ($$.hasType('gauge') && !config.gauge_fullCircle) {\n $$.arcHeight += $$.height - $$.getGaugeLabelHeight();\n }\n if ($$.updateRadius) {\n $$.updateRadius();\n }\n\n if ($$.isLegendRight && hasArc) {\n $$.margin3.left = $$.arcWidth / 2 + $$.radiusExpanded * 1.1;\n }\n };\n\n c3_chart_internal_fn.updateTargets = function (targets) {\n var $$ = this;\n\n /*-- Main --*/\n\n //-- Text --//\n $$.updateTargetsForText(targets);\n\n //-- Bar --//\n $$.updateTargetsForBar(targets);\n\n //-- Line --//\n $$.updateTargetsForLine(targets);\n\n //-- Arc --//\n if ($$.hasArcType() && $$.updateTargetsForArc) {\n $$.updateTargetsForArc(targets);\n }\n\n /*-- Sub --*/\n\n if ($$.updateTargetsForSubchart) {\n $$.updateTargetsForSubchart(targets);\n }\n\n // Fade-in each chart\n $$.showTargets();\n };\n c3_chart_internal_fn.showTargets = function () {\n var $$ = this;\n $$.svg.selectAll('.' + CLASS.target).filter(function (d) {\n return $$.isTargetToShow(d.id);\n }).transition().duration($$.config.transition_duration).style(\"opacity\", 1);\n };\n\n c3_chart_internal_fn.redraw = function (options, transitions) {\n var $$ = this,\n main = $$.main,\n d3 = $$.d3,\n config = $$.config;\n var areaIndices = $$.getShapeIndices($$.isAreaType),\n barIndices = $$.getShapeIndices($$.isBarType),\n lineIndices = $$.getShapeIndices($$.isLineType);\n var withY, withSubchart, withTransition, withTransitionForExit, withTransitionForAxis, withTransform, withUpdateXDomain, withUpdateOrgXDomain, withTrimXDomain, withLegend, withEventRect, withDimension, withUpdateXAxis;\n var hideAxis = $$.hasArcType();\n var drawArea, drawBar, drawLine, xForText, yForText;\n var duration, durationForExit, durationForAxis;\n var waitForDraw, flow;\n var targetsToShow = $$.filterTargetsToShow($$.data.targets),\n tickValues,\n i,\n intervalForCulling,\n xDomainForZoom;\n var xv = $$.xv.bind($$),\n cx,\n cy;\n\n options = options || {};\n withY = getOption(options, \"withY\", true);\n withSubchart = getOption(options, \"withSubchart\", true);\n withTransition = getOption(options, \"withTransition\", true);\n withTransform = getOption(options, \"withTransform\", false);\n withUpdateXDomain = getOption(options, \"withUpdateXDomain\", false);\n withUpdateOrgXDomain = getOption(options, \"withUpdateOrgXDomain\", false);\n withTrimXDomain = getOption(options, \"withTrimXDomain\", true);\n withUpdateXAxis = getOption(options, \"withUpdateXAxis\", withUpdateXDomain);\n withLegend = getOption(options, \"withLegend\", false);\n withEventRect = getOption(options, \"withEventRect\", true);\n withDimension = getOption(options, \"withDimension\", true);\n withTransitionForExit = getOption(options, \"withTransitionForExit\", withTransition);\n withTransitionForAxis = getOption(options, \"withTransitionForAxis\", withTransition);\n\n duration = withTransition ? config.transition_duration : 0;\n durationForExit = withTransitionForExit ? duration : 0;\n durationForAxis = withTransitionForAxis ? duration : 0;\n\n transitions = transitions || $$.axis.generateTransitions(durationForAxis);\n\n // update legend and transform each g\n if (withLegend && config.legend_show) {\n $$.updateLegend($$.mapToIds($$.data.targets), options, transitions);\n } else if (withDimension) {\n // need to update dimension (e.g. axis.y.tick.values) because y tick values should change\n // no need to update axis in it because they will be updated in redraw()\n $$.updateDimension(true);\n }\n\n // MEMO: needed for grids calculation\n if ($$.isCategorized() && targetsToShow.length === 0) {\n $$.x.domain([0, $$.axes.x.selectAll('.tick').size()]);\n }\n\n if (targetsToShow.length) {\n $$.updateXDomain(targetsToShow, withUpdateXDomain, withUpdateOrgXDomain, withTrimXDomain);\n if (!config.axis_x_tick_values) {\n tickValues = $$.axis.updateXAxisTickValues(targetsToShow);\n }\n } else {\n $$.xAxis.tickValues([]);\n $$.subXAxis.tickValues([]);\n }\n\n if (config.zoom_rescale && !options.flow) {\n xDomainForZoom = $$.x.orgDomain();\n }\n\n $$.y.domain($$.getYDomain(targetsToShow, 'y', xDomainForZoom));\n $$.y2.domain($$.getYDomain(targetsToShow, 'y2', xDomainForZoom));\n\n if (!config.axis_y_tick_values && config.axis_y_tick_count) {\n $$.yAxis.tickValues($$.axis.generateTickValues($$.y.domain(), config.axis_y_tick_count));\n }\n if (!config.axis_y2_tick_values && config.axis_y2_tick_count) {\n $$.y2Axis.tickValues($$.axis.generateTickValues($$.y2.domain(), config.axis_y2_tick_count));\n }\n\n // axes\n $$.axis.redraw(transitions, hideAxis);\n\n // Update axis label\n $$.axis.updateLabels(withTransition);\n\n // show/hide if manual culling needed\n if ((withUpdateXDomain || withUpdateXAxis) && targetsToShow.length) {\n if (config.axis_x_tick_culling && tickValues) {\n for (i = 1; i < tickValues.length; i++) {\n if (tickValues.length / i < config.axis_x_tick_culling_max) {\n intervalForCulling = i;\n break;\n }\n }\n $$.svg.selectAll('.' + CLASS.axisX + ' .tick text').each(function (e) {\n var index = tickValues.indexOf(e);\n if (index >= 0) {\n d3.select(this).style('display', index % intervalForCulling ? 'none' : 'block');\n }\n });\n } else {\n $$.svg.selectAll('.' + CLASS.axisX + ' .tick text').style('display', 'block');\n }\n }\n\n // setup drawer - MEMO: these must be called after axis updated\n drawArea = $$.generateDrawArea ? $$.generateDrawArea(areaIndices, false) : undefined;\n drawBar = $$.generateDrawBar ? $$.generateDrawBar(barIndices) : undefined;\n drawLine = $$.generateDrawLine ? $$.generateDrawLine(lineIndices, false) : undefined;\n xForText = $$.generateXYForText(areaIndices, barIndices, lineIndices, true);\n yForText = $$.generateXYForText(areaIndices, barIndices, lineIndices, false);\n\n // Update sub domain\n if (withY) {\n $$.subY.domain($$.getYDomain(targetsToShow, 'y'));\n $$.subY2.domain($$.getYDomain(targetsToShow, 'y2'));\n }\n\n // xgrid focus\n $$.updateXgridFocus();\n\n // Data empty label positioning and text.\n main.select(\"text.\" + CLASS.text + '.' + CLASS.empty).attr(\"x\", $$.width / 2).attr(\"y\", $$.height / 2).text(config.data_empty_label_text).transition().style('opacity', targetsToShow.length ? 0 : 1);\n\n // grid\n $$.updateGrid(duration);\n\n // rect for regions\n $$.updateRegion(duration);\n\n // bars\n $$.updateBar(durationForExit);\n\n // lines, areas and cricles\n $$.updateLine(durationForExit);\n $$.updateArea(durationForExit);\n $$.updateCircle();\n\n // text\n if ($$.hasDataLabel()) {\n $$.updateText(durationForExit);\n }\n\n // title\n if ($$.redrawTitle) {\n $$.redrawTitle();\n }\n\n // arc\n if ($$.redrawArc) {\n $$.redrawArc(duration, durationForExit, withTransform);\n }\n\n // subchart\n if ($$.redrawSubchart) {\n $$.redrawSubchart(withSubchart, transitions, duration, durationForExit, areaIndices, barIndices, lineIndices);\n }\n\n // circles for select\n main.selectAll('.' + CLASS.selectedCircles).filter($$.isBarType.bind($$)).selectAll('circle').remove();\n\n // event rects will redrawn when flow called\n if (config.interaction_enabled && !options.flow && withEventRect) {\n $$.redrawEventRect();\n if ($$.updateZoom) {\n $$.updateZoom();\n }\n }\n\n // update circleY based on updated parameters\n $$.updateCircleY();\n\n // generate circle x/y functions depending on updated params\n cx = ($$.config.axis_rotated ? $$.circleY : $$.circleX).bind($$);\n cy = ($$.config.axis_rotated ? $$.circleX : $$.circleY).bind($$);\n\n if (options.flow) {\n flow = $$.generateFlow({\n targets: targetsToShow,\n flow: options.flow,\n duration: options.flow.duration,\n drawBar: drawBar,\n drawLine: drawLine,\n drawArea: drawArea,\n cx: cx,\n cy: cy,\n xv: xv,\n xForText: xForText,\n yForText: yForText\n });\n }\n\n if ((duration || flow) && $$.isTabVisible()) {\n // Only use transition if tab visible. See #938.\n // transition should be derived from one transition\n d3.transition().duration(duration).each(function () {\n var transitionsToWait = [];\n\n // redraw and gather transitions\n [$$.redrawBar(drawBar, true), $$.redrawLine(drawLine, true), $$.redrawArea(drawArea, true), $$.redrawCircle(cx, cy, true), $$.redrawText(xForText, yForText, options.flow, true), $$.redrawRegion(true), $$.redrawGrid(true)].forEach(function (transitions) {\n transitions.forEach(function (transition) {\n transitionsToWait.push(transition);\n });\n });\n\n // Wait for end of transitions to call flow and onrendered callback\n waitForDraw = $$.generateWait();\n transitionsToWait.forEach(function (t) {\n waitForDraw.add(t);\n });\n }).call(waitForDraw, function () {\n if (flow) {\n flow();\n }\n if (config.onrendered) {\n config.onrendered.call($$);\n }\n });\n } else {\n $$.redrawBar(drawBar);\n $$.redrawLine(drawLine);\n $$.redrawArea(drawArea);\n $$.redrawCircle(cx, cy);\n $$.redrawText(xForText, yForText, options.flow);\n $$.redrawRegion();\n $$.redrawGrid();\n if (config.onrendered) {\n config.onrendered.call($$);\n }\n }\n\n // update fadein condition\n $$.mapToIds($$.data.targets).forEach(function (id) {\n $$.withoutFadeIn[id] = true;\n });\n };\n\n c3_chart_internal_fn.updateAndRedraw = function (options) {\n var $$ = this,\n config = $$.config,\n transitions;\n options = options || {};\n // same with redraw\n options.withTransition = getOption(options, \"withTransition\", true);\n options.withTransform = getOption(options, \"withTransform\", false);\n options.withLegend = getOption(options, \"withLegend\", false);\n // NOT same with redraw\n options.withUpdateXDomain = true;\n options.withUpdateOrgXDomain = true;\n options.withTransitionForExit = false;\n options.withTransitionForTransform = getOption(options, \"withTransitionForTransform\", options.withTransition);\n // MEMO: this needs to be called before updateLegend and it means this ALWAYS needs to be called)\n $$.updateSizes();\n // MEMO: called in updateLegend in redraw if withLegend\n if (!(options.withLegend && config.legend_show)) {\n transitions = $$.axis.generateTransitions(options.withTransitionForAxis ? config.transition_duration : 0);\n // Update scales\n $$.updateScales();\n $$.updateSvgSize();\n // Update g positions\n $$.transformAll(options.withTransitionForTransform, transitions);\n }\n // Draw with new sizes & scales\n $$.redraw(options, transitions);\n };\n c3_chart_internal_fn.redrawWithoutRescale = function () {\n this.redraw({\n withY: false,\n withSubchart: false,\n withEventRect: false,\n withTransitionForAxis: false\n });\n };\n\n c3_chart_internal_fn.isTimeSeries = function () {\n return this.config.axis_x_type === 'timeseries';\n };\n c3_chart_internal_fn.isCategorized = function () {\n return this.config.axis_x_type.indexOf('categor') >= 0;\n };\n c3_chart_internal_fn.isCustomX = function () {\n var $$ = this,\n config = $$.config;\n return !$$.isTimeSeries() && (config.data_x || notEmpty(config.data_xs));\n };\n\n c3_chart_internal_fn.isTimeSeriesY = function () {\n return this.config.axis_y_type === 'timeseries';\n };\n\n c3_chart_internal_fn.getTranslate = function (target) {\n var $$ = this,\n config = $$.config,\n x,\n y;\n if (target === 'main') {\n x = asHalfPixel($$.margin.left);\n y = asHalfPixel($$.margin.top);\n } else if (target === 'context') {\n x = asHalfPixel($$.margin2.left);\n y = asHalfPixel($$.margin2.top);\n } else if (target === 'legend') {\n x = $$.margin3.left;\n y = $$.margin3.top;\n } else if (target === 'x') {\n x = 0;\n y = config.axis_rotated ? 0 : $$.height;\n } else if (target === 'y') {\n x = 0;\n y = config.axis_rotated ? $$.height : 0;\n } else if (target === 'y2') {\n x = config.axis_rotated ? 0 : $$.width;\n y = config.axis_rotated ? 1 : 0;\n } else if (target === 'subx') {\n x = 0;\n y = config.axis_rotated ? 0 : $$.height2;\n } else if (target === 'arc') {\n x = $$.arcWidth / 2;\n y = $$.arcHeight / 2 - ($$.hasType('gauge') ? 6 : 0); // to prevent wrong display of min and max label\n }\n return \"translate(\" + x + \",\" + y + \")\";\n };\n c3_chart_internal_fn.initialOpacity = function (d) {\n return d.value !== null && this.withoutFadeIn[d.id] ? 1 : 0;\n };\n c3_chart_internal_fn.initialOpacityForCircle = function (d) {\n return d.value !== null && this.withoutFadeIn[d.id] ? this.opacityForCircle(d) : 0;\n };\n c3_chart_internal_fn.opacityForCircle = function (d) {\n var isPointShouldBeShown = isFunction(this.config.point_show) ? this.config.point_show(d) : this.config.point_show;\n var opacity = isPointShouldBeShown ? 1 : 0;\n return isValue(d.value) ? this.isScatterType(d) ? 0.5 : opacity : 0;\n };\n c3_chart_internal_fn.opacityForText = function () {\n return this.hasDataLabel() ? 1 : 0;\n };\n c3_chart_internal_fn.xx = function (d) {\n return d ? this.x(d.x) : null;\n };\n c3_chart_internal_fn.xv = function (d) {\n var $$ = this,\n value = d.value;\n if ($$.isTimeSeries()) {\n value = $$.parseDate(d.value);\n } else if ($$.isCategorized() && typeof d.value === 'string') {\n value = $$.config.axis_x_categories.indexOf(d.value);\n }\n return Math.ceil($$.x(value));\n };\n c3_chart_internal_fn.yv = function (d) {\n var $$ = this,\n yScale = d.axis && d.axis === 'y2' ? $$.y2 : $$.y;\n return Math.ceil(yScale(d.value));\n };\n c3_chart_internal_fn.subxx = function (d) {\n return d ? this.subX(d.x) : null;\n };\n\n c3_chart_internal_fn.transformMain = function (withTransition, transitions) {\n var $$ = this,\n xAxis,\n yAxis,\n y2Axis;\n if (transitions && transitions.axisX) {\n xAxis = transitions.axisX;\n } else {\n xAxis = $$.main.select('.' + CLASS.axisX);\n if (withTransition) {\n xAxis = xAxis.transition();\n }\n }\n if (transitions && transitions.axisY) {\n yAxis = transitions.axisY;\n } else {\n yAxis = $$.main.select('.' + CLASS.axisY);\n if (withTransition) {\n yAxis = yAxis.transition();\n }\n }\n if (transitions && transitions.axisY2) {\n y2Axis = transitions.axisY2;\n } else {\n y2Axis = $$.main.select('.' + CLASS.axisY2);\n if (withTransition) {\n y2Axis = y2Axis.transition();\n }\n }\n (withTransition ? $$.main.transition() : $$.main).attr(\"transform\", $$.getTranslate('main'));\n xAxis.attr(\"transform\", $$.getTranslate('x'));\n yAxis.attr(\"transform\", $$.getTranslate('y'));\n y2Axis.attr(\"transform\", $$.getTranslate('y2'));\n $$.main.select('.' + CLASS.chartArcs).attr(\"transform\", $$.getTranslate('arc'));\n };\n c3_chart_internal_fn.transformAll = function (withTransition, transitions) {\n var $$ = this;\n $$.transformMain(withTransition, transitions);\n if ($$.config.subchart_show) {\n $$.transformContext(withTransition, transitions);\n }\n if ($$.legend) {\n $$.transformLegend(withTransition);\n }\n };\n\n c3_chart_internal_fn.updateSvgSize = function () {\n var $$ = this,\n brush = $$.svg.select(\".c3-brush .background\");\n $$.svg.attr('width', $$.currentWidth).attr('height', $$.currentHeight);\n $$.svg.selectAll(['#' + $$.clipId, '#' + $$.clipIdForGrid]).select('rect').attr('width', $$.width).attr('height', $$.height);\n $$.svg.select('#' + $$.clipIdForXAxis).select('rect').attr('x', $$.getXAxisClipX.bind($$)).attr('y', $$.getXAxisClipY.bind($$)).attr('width', $$.getXAxisClipWidth.bind($$)).attr('height', $$.getXAxisClipHeight.bind($$));\n $$.svg.select('#' + $$.clipIdForYAxis).select('rect').attr('x', $$.getYAxisClipX.bind($$)).attr('y', $$.getYAxisClipY.bind($$)).attr('width', $$.getYAxisClipWidth.bind($$)).attr('height', $$.getYAxisClipHeight.bind($$));\n $$.svg.select('#' + $$.clipIdForSubchart).select('rect').attr('width', $$.width).attr('height', brush.size() ? brush.attr('height') : 0);\n $$.svg.select('.' + CLASS.zoomRect).attr('width', $$.width).attr('height', $$.height);\n // MEMO: parent div's height will be bigger than svg when \n $$.selectChart.style('max-height', $$.currentHeight + \"px\");\n };\n\n c3_chart_internal_fn.updateDimension = function (withoutAxis) {\n var $$ = this;\n if (!withoutAxis) {\n if ($$.config.axis_rotated) {\n $$.axes.x.call($$.xAxis);\n $$.axes.subx.call($$.subXAxis);\n } else {\n $$.axes.y.call($$.yAxis);\n $$.axes.y2.call($$.y2Axis);\n }\n }\n $$.updateSizes();\n $$.updateScales();\n $$.updateSvgSize();\n $$.transformAll(false);\n };\n\n c3_chart_internal_fn.observeInserted = function (selection) {\n var $$ = this,\n observer;\n if (typeof MutationObserver === 'undefined') {\n window.console.error(\"MutationObserver not defined.\");\n return;\n }\n observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (mutation.type === 'childList' && mutation.previousSibling) {\n observer.disconnect();\n // need to wait for completion of load because size calculation requires the actual sizes determined after that completion\n $$.intervalForObserveInserted = window.setInterval(function () {\n // parentNode will NOT be null when completed\n if (selection.node().parentNode) {\n window.clearInterval($$.intervalForObserveInserted);\n $$.updateDimension();\n if ($$.brush) {\n $$.brush.update();\n }\n $$.config.oninit.call($$);\n $$.redraw({\n withTransform: true,\n withUpdateXDomain: true,\n withUpdateOrgXDomain: true,\n withTransition: false,\n withTransitionForTransform: false,\n withLegend: true\n });\n selection.transition().style('opacity', 1);\n }\n }, 10);\n }\n });\n });\n observer.observe(selection.node(), { attributes: true, childList: true, characterData: true });\n };\n\n c3_chart_internal_fn.bindResize = function () {\n var $$ = this,\n config = $$.config;\n\n $$.resizeFunction = $$.generateResize(); // need to call .remove\n\n $$.resizeFunction.add(function () {\n config.onresize.call($$);\n });\n if (config.resize_auto) {\n $$.resizeFunction.add(function () {\n if ($$.resizeTimeout !== undefined) {\n window.clearTimeout($$.resizeTimeout);\n }\n $$.resizeTimeout = window.setTimeout(function () {\n delete $$.resizeTimeout;\n $$.api.flush();\n }, 100);\n });\n }\n $$.resizeFunction.add(function () {\n config.onresized.call($$);\n });\n\n $$.resizeIfElementDisplayed = function () {\n // if element not displayed skip it\n if ($$.api == null || !$$.api.element.offsetParent) {\n return;\n }\n\n $$.resizeFunction();\n };\n\n if (window.attachEvent) {\n window.attachEvent('onresize', $$.resizeIfElementDisplayed);\n } else if (window.addEventListener) {\n window.addEventListener('resize', $$.resizeIfElementDisplayed, false);\n } else {\n // fallback to this, if this is a very old browser\n var wrapper = window.onresize;\n if (!wrapper) {\n // create a wrapper that will call all charts\n wrapper = $$.generateResize();\n } else if (!wrapper.add || !wrapper.remove) {\n // there is already a handler registered, make sure we call it too\n wrapper = $$.generateResize();\n wrapper.add(window.onresize);\n }\n // add this graph to the wrapper, we will be removed if the user calls destroy\n wrapper.add($$.resizeFunction);\n window.onresize = function () {\n // if element not displayed skip it\n if (!$$.api.element.offsetParent) {\n return;\n }\n\n wrapper();\n };\n }\n };\n\n c3_chart_internal_fn.generateResize = function () {\n var resizeFunctions = [];\n function callResizeFunctions() {\n resizeFunctions.forEach(function (f) {\n f();\n });\n }\n callResizeFunctions.add = function (f) {\n resizeFunctions.push(f);\n };\n callResizeFunctions.remove = function (f) {\n for (var i = 0; i < resizeFunctions.length; i++) {\n if (resizeFunctions[i] === f) {\n resizeFunctions.splice(i, 1);\n break;\n }\n }\n };\n return callResizeFunctions;\n };\n\n c3_chart_internal_fn.endall = function (transition, callback) {\n var n = 0;\n transition.each(function () {\n ++n;\n }).each(\"end\", function () {\n if (! --n) {\n callback.apply(this, arguments);\n }\n });\n };\n c3_chart_internal_fn.generateWait = function () {\n var transitionsToWait = [],\n f = function f(transition, callback) {\n var timer = setInterval(function () {\n var done = 0;\n transitionsToWait.forEach(function (t) {\n if (t.empty()) {\n done += 1;\n return;\n }\n try {\n t.transition();\n } catch (e) {\n done += 1;\n }\n });\n if (done === transitionsToWait.length) {\n clearInterval(timer);\n if (callback) {\n callback();\n }\n }\n }, 10);\n };\n f.add = function (transition) {\n transitionsToWait.push(transition);\n };\n return f;\n };\n\n c3_chart_internal_fn.parseDate = function (date) {\n var $$ = this,\n parsedDate;\n if (date instanceof Date) {\n parsedDate = date;\n } else if (typeof date === 'string') {\n parsedDate = $$.dataTimeFormat($$.config.data_xFormat).parse(date);\n } else if ((typeof date === 'undefined' ? 'undefined' : _typeof(date)) === 'object') {\n parsedDate = new Date(+date);\n } else if (typeof date === 'number' && !isNaN(date)) {\n parsedDate = new Date(+date);\n }\n if (!parsedDate || isNaN(+parsedDate)) {\n window.console.error(\"Failed to parse x '\" + date + \"' to Date object\");\n }\n return parsedDate;\n };\n\n c3_chart_internal_fn.isTabVisible = function () {\n var hidden;\n if (typeof document.hidden !== \"undefined\") {\n // Opera 12.10 and Firefox 18 and later support\n hidden = \"hidden\";\n } else if (typeof document.mozHidden !== \"undefined\") {\n hidden = \"mozHidden\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n }\n\n return document[hidden] ? false : true;\n };\n\n c3_chart_internal_fn.isValue = isValue;\n c3_chart_internal_fn.isFunction = isFunction;\n c3_chart_internal_fn.isString = isString;\n c3_chart_internal_fn.isUndefined = isUndefined;\n c3_chart_internal_fn.isDefined = isDefined;\n c3_chart_internal_fn.ceil10 = ceil10;\n c3_chart_internal_fn.asHalfPixel = asHalfPixel;\n c3_chart_internal_fn.diffDomain = diffDomain;\n c3_chart_internal_fn.isEmpty = isEmpty;\n c3_chart_internal_fn.notEmpty = notEmpty;\n c3_chart_internal_fn.notEmpty = notEmpty;\n c3_chart_internal_fn.getOption = getOption;\n c3_chart_internal_fn.hasValue = hasValue;\n c3_chart_internal_fn.sanitise = sanitise;\n c3_chart_internal_fn.getPathBox = getPathBox;\n c3_chart_internal_fn.CLASS = CLASS;\n\n /* jshint ignore:start */\n\n // PhantomJS doesn't have support for Function.prototype.bind, which has caused confusion. Use\n // this polyfill to avoid the confusion.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Polyfill\n\n if (!Function.prototype.bind) {\n Function.prototype.bind = function (oThis) {\n if (typeof this !== 'function') {\n // closest thing possible to the ECMAScript 5\n // internal IsCallable function\n throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n }\n\n var aArgs = Array.prototype.slice.call(arguments, 1),\n fToBind = this,\n fNOP = function fNOP() {},\n fBound = function fBound() {\n return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));\n };\n\n fNOP.prototype = this.prototype;\n fBound.prototype = new fNOP();\n\n return fBound;\n };\n }\n\n // SVGPathSeg API polyfill\n // https://github.com/progers/pathseg\n //\n // This is a drop-in replacement for the SVGPathSeg and SVGPathSegList APIs that were removed from\n // SVG2 (https://lists.w3.org/Archives/Public/www-svg/2015Jun/0044.html), including the latest spec\n // changes which were implemented in Firefox 43 and Chrome 46.\n\n (function () {\n\n if (!(\"SVGPathSeg\" in window)) {\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSeg\n window.SVGPathSeg = function (type, typeAsLetter, owningPathSegList) {\n this.pathSegType = type;\n this.pathSegTypeAsLetter = typeAsLetter;\n this._owningPathSegList = owningPathSegList;\n };\n\n window.SVGPathSeg.prototype.classname = \"SVGPathSeg\";\n\n window.SVGPathSeg.PATHSEG_UNKNOWN = 0;\n window.SVGPathSeg.PATHSEG_CLOSEPATH = 1;\n window.SVGPathSeg.PATHSEG_MOVETO_ABS = 2;\n window.SVGPathSeg.PATHSEG_MOVETO_REL = 3;\n window.SVGPathSeg.PATHSEG_LINETO_ABS = 4;\n window.SVGPathSeg.PATHSEG_LINETO_REL = 5;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS = 6;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL = 7;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS = 8;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL = 9;\n window.SVGPathSeg.PATHSEG_ARC_ABS = 10;\n window.SVGPathSeg.PATHSEG_ARC_REL = 11;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS = 12;\n window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL = 13;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS = 14;\n window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL = 15;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;\n window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;\n window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;\n\n // Notify owning PathSegList on any changes so they can be synchronized back to the path element.\n window.SVGPathSeg.prototype._segmentChanged = function () {\n if (this._owningPathSegList) this._owningPathSegList.segmentChanged(this);\n };\n\n window.SVGPathSegClosePath = function (owningPathSegList) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CLOSEPATH, \"z\", owningPathSegList);\n };\n window.SVGPathSegClosePath.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegClosePath.prototype.toString = function () {\n return \"[object SVGPathSegClosePath]\";\n };\n window.SVGPathSegClosePath.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter;\n };\n window.SVGPathSegClosePath.prototype.clone = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n\n window.SVGPathSegMovetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_ABS, \"M\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegMovetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegMovetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegMovetoAbs]\";\n };\n window.SVGPathSegMovetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegMovetoAbs.prototype.clone = function () {\n return new window.SVGPathSegMovetoAbs(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegMovetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_REL, \"m\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegMovetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegMovetoRel.prototype.toString = function () {\n return \"[object SVGPathSegMovetoRel]\";\n };\n window.SVGPathSegMovetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegMovetoRel.prototype.clone = function () {\n return new window.SVGPathSegMovetoRel(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegMovetoRel.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegLinetoAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_ABS, \"L\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegLinetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoAbs]\";\n };\n window.SVGPathSegLinetoAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegLinetoAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoAbs(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegLinetoRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_REL, \"l\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegLinetoRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoRel]\";\n };\n window.SVGPathSegLinetoRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegLinetoRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoRel(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegLinetoRel.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegCurvetoCubicAbs = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS, \"C\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n window.SVGPathSegCurvetoCubicAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoCubicAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicAbs]\";\n };\n window.SVGPathSegCurvetoCubicAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoCubicAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x1\", { get: function get() {\n return this._x1;\n }, set: function set(x1) {\n this._x1 = x1;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y1\", { get: function get() {\n return this._y1;\n }, set: function set(y1) {\n this._y1 = y1;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"x2\", { get: function get() {\n return this._x2;\n }, set: function set(x2) {\n this._x2 = x2;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, \"y2\", { get: function get() {\n return this._y2;\n }, set: function set(y2) {\n this._y2 = y2;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegCurvetoCubicRel = function (owningPathSegList, x, y, x1, y1, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL, \"c\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n };\n window.SVGPathSegCurvetoCubicRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoCubicRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicRel]\";\n };\n window.SVGPathSegCurvetoCubicRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoCubicRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicRel(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);\n };\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x1\", { get: function get() {\n return this._x1;\n }, set: function set(x1) {\n this._x1 = x1;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y1\", { get: function get() {\n return this._y1;\n }, set: function set(y1) {\n this._y1 = y1;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"x2\", { get: function get() {\n return this._x2;\n }, set: function set(x2) {\n this._x2 = x2;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, \"y2\", { get: function get() {\n return this._y2;\n }, set: function set(y2) {\n this._y2 = y2;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegCurvetoQuadraticAbs = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS, \"Q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n window.SVGPathSegCurvetoQuadraticAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoQuadraticAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticAbs]\";\n };\n window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoQuadraticAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, this._x, this._y, this._x1, this._y1);\n };\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"x1\", { get: function get() {\n return this._x1;\n }, set: function set(x1) {\n this._x1 = x1;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, \"y1\", { get: function get() {\n return this._y1;\n }, set: function set(y1) {\n this._y1 = y1;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegCurvetoQuadraticRel = function (owningPathSegList, x, y, x1, y1) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL, \"q\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n };\n window.SVGPathSegCurvetoQuadraticRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoQuadraticRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticRel]\";\n };\n window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x1 + \" \" + this._y1 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoQuadraticRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, this._x, this._y, this._x1, this._y1);\n };\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"x1\", { get: function get() {\n return this._x1;\n }, set: function set(x1) {\n this._x1 = x1;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, \"y1\", { get: function get() {\n return this._y1;\n }, set: function set(y1) {\n this._y1 = y1;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegArcAbs = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_ABS, \"A\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n window.SVGPathSegArcAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegArcAbs.prototype.toString = function () {\n return \"[object SVGPathSegArcAbs]\";\n };\n window.SVGPathSegArcAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._r1 + \" \" + this._r2 + \" \" + this._angle + \" \" + (this._largeArcFlag ? \"1\" : \"0\") + \" \" + (this._sweepFlag ? \"1\" : \"0\") + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegArcAbs.prototype.clone = function () {\n return new window.SVGPathSegArcAbs(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r1\", { get: function get() {\n return this._r1;\n }, set: function set(r1) {\n this._r1 = r1;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"r2\", { get: function get() {\n return this._r2;\n }, set: function set(r2) {\n this._r2 = r2;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"angle\", { get: function get() {\n return this._angle;\n }, set: function set(angle) {\n this._angle = angle;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"largeArcFlag\", { get: function get() {\n return this._largeArcFlag;\n }, set: function set(largeArcFlag) {\n this._largeArcFlag = largeArcFlag;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegArcAbs.prototype, \"sweepFlag\", { get: function get() {\n return this._sweepFlag;\n }, set: function set(sweepFlag) {\n this._sweepFlag = sweepFlag;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegArcRel = function (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_REL, \"a\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n };\n window.SVGPathSegArcRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegArcRel.prototype.toString = function () {\n return \"[object SVGPathSegArcRel]\";\n };\n window.SVGPathSegArcRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._r1 + \" \" + this._r2 + \" \" + this._angle + \" \" + (this._largeArcFlag ? \"1\" : \"0\") + \" \" + (this._sweepFlag ? \"1\" : \"0\") + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegArcRel.prototype.clone = function () {\n return new window.SVGPathSegArcRel(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);\n };\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r1\", { get: function get() {\n return this._r1;\n }, set: function set(r1) {\n this._r1 = r1;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"r2\", { get: function get() {\n return this._r2;\n }, set: function set(r2) {\n this._r2 = r2;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"angle\", { get: function get() {\n return this._angle;\n }, set: function set(angle) {\n this._angle = angle;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"largeArcFlag\", { get: function get() {\n return this._largeArcFlag;\n }, set: function set(largeArcFlag) {\n this._largeArcFlag = largeArcFlag;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegArcRel.prototype, \"sweepFlag\", { get: function get() {\n return this._sweepFlag;\n }, set: function set(sweepFlag) {\n this._sweepFlag = sweepFlag;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegLinetoHorizontalAbs = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS, \"H\", owningPathSegList);\n this._x = x;\n };\n window.SVGPathSegLinetoHorizontalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoHorizontalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalAbs]\";\n };\n window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n window.SVGPathSegLinetoHorizontalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, this._x);\n };\n Object.defineProperty(window.SVGPathSegLinetoHorizontalAbs.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegLinetoHorizontalRel = function (owningPathSegList, x) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL, \"h\", owningPathSegList);\n this._x = x;\n };\n window.SVGPathSegLinetoHorizontalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoHorizontalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoHorizontalRel]\";\n };\n window.SVGPathSegLinetoHorizontalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x;\n };\n window.SVGPathSegLinetoHorizontalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, this._x);\n };\n Object.defineProperty(window.SVGPathSegLinetoHorizontalRel.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegLinetoVerticalAbs = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS, \"V\", owningPathSegList);\n this._y = y;\n };\n window.SVGPathSegLinetoVerticalAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoVerticalAbs.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalAbs]\";\n };\n window.SVGPathSegLinetoVerticalAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n window.SVGPathSegLinetoVerticalAbs.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, this._y);\n };\n Object.defineProperty(window.SVGPathSegLinetoVerticalAbs.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegLinetoVerticalRel = function (owningPathSegList, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL, \"v\", owningPathSegList);\n this._y = y;\n };\n window.SVGPathSegLinetoVerticalRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegLinetoVerticalRel.prototype.toString = function () {\n return \"[object SVGPathSegLinetoVerticalRel]\";\n };\n window.SVGPathSegLinetoVerticalRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._y;\n };\n window.SVGPathSegLinetoVerticalRel.prototype.clone = function () {\n return new window.SVGPathSegLinetoVerticalRel(undefined, this._y);\n };\n Object.defineProperty(window.SVGPathSegLinetoVerticalRel.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegCurvetoCubicSmoothAbs = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS, \"S\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothAbs]\";\n };\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, this._x, this._y, this._x2, this._y2);\n };\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"x2\", { get: function get() {\n return this._x2;\n }, set: function set(x2) {\n this._x2 = x2;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, \"y2\", { get: function get() {\n return this._y2;\n }, set: function set(y2) {\n this._y2 = y2;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegCurvetoCubicSmoothRel = function (owningPathSegList, x, y, x2, y2) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL, \"s\", owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n };\n window.SVGPathSegCurvetoCubicSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoCubicSmoothRel]\";\n };\n window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x2 + \" \" + this._y2 + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, this._x, this._y, this._x2, this._y2);\n };\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"x2\", { get: function get() {\n return this._x2;\n }, set: function set(x2) {\n this._x2 = x2;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, \"y2\", { get: function get() {\n return this._y2;\n }, set: function set(y2) {\n this._y2 = y2;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegCurvetoQuadraticSmoothAbs = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS, \"T\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothAbs]\";\n };\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n\n window.SVGPathSegCurvetoQuadraticSmoothRel = function (owningPathSegList, x, y) {\n window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL, \"t\", owningPathSegList);\n this._x = x;\n this._y = y;\n };\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString = function () {\n return \"[object SVGPathSegCurvetoQuadraticSmoothRel]\";\n };\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString = function () {\n return this.pathSegTypeAsLetter + \" \" + this._x + \" \" + this._y;\n };\n window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone = function () {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, this._x, this._y);\n };\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"x\", { get: function get() {\n return this._x;\n }, set: function set(x) {\n this._x = x;this._segmentChanged();\n }, enumerable: true });\n Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, \"y\", { get: function get() {\n return this._y;\n }, set: function set(y) {\n this._y = y;this._segmentChanged();\n }, enumerable: true });\n\n // Add createSVGPathSeg* functions to window.SVGPathElement.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-Interfacewindow.SVGPathElement.\n window.SVGPathElement.prototype.createSVGPathSegClosePath = function () {\n return new window.SVGPathSegClosePath(undefined);\n };\n window.SVGPathElement.prototype.createSVGPathSegMovetoAbs = function (x, y) {\n return new window.SVGPathSegMovetoAbs(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegMovetoRel = function (x, y) {\n return new window.SVGPathSegMovetoRel(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoAbs = function (x, y) {\n return new window.SVGPathSegLinetoAbs(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoRel = function (x, y) {\n return new window.SVGPathSegLinetoRel(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicAbs(undefined, x, y, x1, y1, x2, y2);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel = function (x, y, x1, y1, x2, y2) {\n return new window.SVGPathSegCurvetoCubicRel(undefined, x, y, x1, y1, x2, y2);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticAbs(undefined, x, y, x1, y1);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel = function (x, y, x1, y1) {\n return new window.SVGPathSegCurvetoQuadraticRel(undefined, x, y, x1, y1);\n };\n window.SVGPathElement.prototype.createSVGPathSegArcAbs = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcAbs(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n window.SVGPathElement.prototype.createSVGPathSegArcRel = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n return new window.SVGPathSegArcRel(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs = function (x) {\n return new window.SVGPathSegLinetoHorizontalAbs(undefined, x);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel = function (x) {\n return new window.SVGPathSegLinetoHorizontalRel(undefined, x);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs = function (y) {\n return new window.SVGPathSegLinetoVerticalAbs(undefined, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel = function (y) {\n return new window.SVGPathSegLinetoVerticalRel(undefined, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, x, y, x2, y2);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel = function (x, y, x2, y2) {\n return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, x, y, x2, y2);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, x, y);\n };\n window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel = function (x, y) {\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, x, y);\n };\n\n if (!(\"getPathSegAtLength\" in window.SVGPathElement.prototype)) {\n // Add getPathSegAtLength to SVGPathElement.\n // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-__svg__SVGPathElement__getPathSegAtLength\n // This polyfill requires SVGPathElement.getTotalLength to implement the distance-along-a-path algorithm.\n window.SVGPathElement.prototype.getPathSegAtLength = function (distance) {\n if (distance === undefined || !isFinite(distance)) throw \"Invalid arguments.\";\n\n var measurementElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n measurementElement.setAttribute(\"d\", this.getAttribute(\"d\"));\n var lastPathSegment = measurementElement.pathSegList.numberOfItems - 1;\n\n // If the path is empty, return 0.\n if (lastPathSegment <= 0) return 0;\n\n do {\n measurementElement.pathSegList.removeItem(lastPathSegment);\n if (distance > measurementElement.getTotalLength()) break;\n lastPathSegment--;\n } while (lastPathSegment > 0);\n return lastPathSegment;\n };\n }\n }\n\n if (!(\"SVGPathSegList\" in window)) {\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSegList\n window.SVGPathSegList = function (pathElement) {\n this._pathElement = pathElement;\n this._list = this._parsePath(this._pathElement.getAttribute(\"d\"));\n\n // Use a MutationObserver to catch changes to the path's \"d\" attribute.\n this._mutationObserverConfig = { \"attributes\": true, \"attributeFilter\": [\"d\"] };\n this._pathElementMutationObserver = new MutationObserver(this._updateListFromPathMutations.bind(this));\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n };\n\n window.SVGPathSegList.prototype.classname = \"SVGPathSegList\";\n\n Object.defineProperty(window.SVGPathSegList.prototype, \"numberOfItems\", {\n get: function get() {\n this._checkPathSynchronizedToList();\n return this._list.length;\n },\n enumerable: true\n });\n\n // Add the pathSegList accessors to window.SVGPathElement.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGAnimatedPathData\n Object.defineProperty(window.SVGPathElement.prototype, \"pathSegList\", {\n get: function get() {\n if (!this._pathSegList) this._pathSegList = new window.SVGPathSegList(this);\n return this._pathSegList;\n },\n enumerable: true\n });\n // FIXME: The following are not implemented and simply return window.SVGPathElement.pathSegList.\n Object.defineProperty(window.SVGPathElement.prototype, \"normalizedPathSegList\", { get: function get() {\n return this.pathSegList;\n }, enumerable: true });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedPathSegList\", { get: function get() {\n return this.pathSegList;\n }, enumerable: true });\n Object.defineProperty(window.SVGPathElement.prototype, \"animatedNormalizedPathSegList\", { get: function get() {\n return this.pathSegList;\n }, enumerable: true });\n\n // Process any pending mutations to the path element and update the list as needed.\n // This should be the first call of all public functions and is needed because\n // MutationObservers are not synchronous so we can have pending asynchronous mutations.\n window.SVGPathSegList.prototype._checkPathSynchronizedToList = function () {\n this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords());\n };\n\n window.SVGPathSegList.prototype._updateListFromPathMutations = function (mutationRecords) {\n if (!this._pathElement) return;\n var hasPathMutations = false;\n mutationRecords.forEach(function (record) {\n if (record.attributeName == \"d\") hasPathMutations = true;\n });\n if (hasPathMutations) this._list = this._parsePath(this._pathElement.getAttribute(\"d\"));\n };\n\n // Serialize the list and update the path's 'd' attribute.\n window.SVGPathSegList.prototype._writeListToPath = function () {\n this._pathElementMutationObserver.disconnect();\n this._pathElement.setAttribute(\"d\", window.SVGPathSegList._pathSegArrayAsString(this._list));\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n };\n\n // When a path segment changes the list needs to be synchronized back to the path element.\n window.SVGPathSegList.prototype.segmentChanged = function (pathSeg) {\n this._writeListToPath();\n };\n\n window.SVGPathSegList.prototype.clear = function () {\n this._checkPathSynchronizedToList();\n\n this._list.forEach(function (pathSeg) {\n pathSeg._owningPathSegList = null;\n });\n this._list = [];\n this._writeListToPath();\n };\n\n window.SVGPathSegList.prototype.initialize = function (newItem) {\n this._checkPathSynchronizedToList();\n\n this._list = [newItem];\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n };\n\n window.SVGPathSegList.prototype._checkValidIndex = function (index) {\n if (isNaN(index) || index < 0 || index >= this.numberOfItems) throw \"INDEX_SIZE_ERR\";\n };\n\n window.SVGPathSegList.prototype.getItem = function (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n return this._list[index];\n };\n\n window.SVGPathSegList.prototype.insertItemBefore = function (newItem, index) {\n this._checkPathSynchronizedToList();\n\n // Spec: If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list.\n if (index > this.numberOfItems) index = this.numberOfItems;\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n this._list.splice(index, 0, newItem);\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n };\n\n window.SVGPathSegList.prototype.replaceItem = function (newItem, index) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n this._checkValidIndex(index);\n this._list[index] = newItem;\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n };\n\n window.SVGPathSegList.prototype.removeItem = function (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n var item = this._list[index];\n this._list.splice(index, 1);\n this._writeListToPath();\n return item;\n };\n\n window.SVGPathSegList.prototype.appendItem = function (newItem) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n this._list.push(newItem);\n newItem._owningPathSegList = this;\n // TODO: Optimize this to just append to the existing attribute.\n this._writeListToPath();\n return newItem;\n };\n\n window.SVGPathSegList._pathSegArrayAsString = function (pathSegArray) {\n var string = \"\";\n var first = true;\n pathSegArray.forEach(function (pathSeg) {\n if (first) {\n first = false;\n string += pathSeg._asPathString();\n } else {\n string += \" \" + pathSeg._asPathString();\n }\n });\n return string;\n };\n\n // This closely follows SVGPathParser::parsePath from Source/core/svg/SVGPathParser.cpp.\n window.SVGPathSegList.prototype._parsePath = function (string) {\n if (!string || string.length == 0) return [];\n\n var owningPathSegList = this;\n\n var Builder = function Builder() {\n this.pathSegList = [];\n };\n\n Builder.prototype.appendSegment = function (pathSeg) {\n this.pathSegList.push(pathSeg);\n };\n\n var Source = function Source(string) {\n this._string = string;\n this._currentIndex = 0;\n this._endIndex = this._string.length;\n this._previousCommand = window.SVGPathSeg.PATHSEG_UNKNOWN;\n\n this._skipOptionalSpaces();\n };\n\n Source.prototype._isCurrentSpace = function () {\n var character = this._string[this._currentIndex];\n return character <= \" \" && (character == \" \" || character == \"\\n\" || character == \"\\t\" || character == \"\\r\" || character == \"\\f\");\n };\n\n Source.prototype._skipOptionalSpaces = function () {\n while (this._currentIndex < this._endIndex && this._isCurrentSpace()) {\n this._currentIndex++;\n }return this._currentIndex < this._endIndex;\n };\n\n Source.prototype._skipOptionalSpacesOrDelimiter = function () {\n if (this._currentIndex < this._endIndex && !this._isCurrentSpace() && this._string.charAt(this._currentIndex) != \",\") return false;\n if (this._skipOptionalSpaces()) {\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \",\") {\n this._currentIndex++;\n this._skipOptionalSpaces();\n }\n }\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype.hasMoreData = function () {\n return this._currentIndex < this._endIndex;\n };\n\n Source.prototype.peekSegmentType = function () {\n var lookahead = this._string[this._currentIndex];\n return this._pathSegTypeFromChar(lookahead);\n };\n\n Source.prototype._pathSegTypeFromChar = function (lookahead) {\n switch (lookahead) {\n case \"Z\":\n case \"z\":\n return window.SVGPathSeg.PATHSEG_CLOSEPATH;\n case \"M\":\n return window.SVGPathSeg.PATHSEG_MOVETO_ABS;\n case \"m\":\n return window.SVGPathSeg.PATHSEG_MOVETO_REL;\n case \"L\":\n return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n case \"l\":\n return window.SVGPathSeg.PATHSEG_LINETO_REL;\n case \"C\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;\n case \"c\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;\n case \"Q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;\n case \"q\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;\n case \"A\":\n return window.SVGPathSeg.PATHSEG_ARC_ABS;\n case \"a\":\n return window.SVGPathSeg.PATHSEG_ARC_REL;\n case \"H\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;\n case \"h\":\n return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;\n case \"V\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;\n case \"v\":\n return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;\n case \"S\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;\n case \"s\":\n return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;\n case \"T\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;\n case \"t\":\n return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;\n default:\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n }\n };\n\n Source.prototype._nextCommandHelper = function (lookahead, previousCommand) {\n // Check for remaining coordinates in the current command.\n if ((lookahead == \"+\" || lookahead == \"-\" || lookahead == \".\" || lookahead >= \"0\" && lookahead <= \"9\") && previousCommand != window.SVGPathSeg.PATHSEG_CLOSEPATH) {\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_ABS) return window.SVGPathSeg.PATHSEG_LINETO_ABS;\n if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_REL) return window.SVGPathSeg.PATHSEG_LINETO_REL;\n return previousCommand;\n }\n return window.SVGPathSeg.PATHSEG_UNKNOWN;\n };\n\n Source.prototype.initialCommandIsMoveTo = function () {\n // If the path is empty it is still valid, so return true.\n if (!this.hasMoreData()) return true;\n var command = this.peekSegmentType();\n // Path must start with moveTo.\n return command == window.SVGPathSeg.PATHSEG_MOVETO_ABS || command == window.SVGPathSeg.PATHSEG_MOVETO_REL;\n };\n\n // Parse a number from an SVG path. This very closely follows genericParseNumber(...) from Source/core/svg/SVGParserUtilities.cpp.\n // Spec: http://www.w3.org/TR/SVG11/single-page.html#paths-PathDataBNF\n Source.prototype._parseNumber = function () {\n var exponent = 0;\n var integer = 0;\n var frac = 1;\n var decimal = 0;\n var sign = 1;\n var expsign = 1;\n\n var startIndex = this._currentIndex;\n\n this._skipOptionalSpaces();\n\n // Read the sign.\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"+\") this._currentIndex++;else if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n sign = -1;\n }\n\n if (this._currentIndex == this._endIndex || (this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") && this._string.charAt(this._currentIndex) != \".\")\n // The first character of a number must be one of [0-9+-.].\n return undefined;\n\n // Read the integer part, build right-to-left.\n var startIntPartIndex = this._currentIndex;\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n this._currentIndex++;\n } // Advance to first non-digit.\n\n if (this._currentIndex != startIntPartIndex) {\n var scanIntPartIndex = this._currentIndex - 1;\n var multiplier = 1;\n while (scanIntPartIndex >= startIntPartIndex) {\n integer += multiplier * (this._string.charAt(scanIntPartIndex--) - \"0\");\n multiplier *= 10;\n }\n }\n\n // Read the decimals.\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == \".\") {\n this._currentIndex++;\n\n // There must be a least one digit following the .\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") return undefined;\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n frac *= 10;\n decimal += (this._string.charAt(this._currentIndex) - \"0\") / frac;\n this._currentIndex += 1;\n }\n }\n\n // Read the exponent part.\n if (this._currentIndex != startIndex && this._currentIndex + 1 < this._endIndex && (this._string.charAt(this._currentIndex) == \"e\" || this._string.charAt(this._currentIndex) == \"E\") && this._string.charAt(this._currentIndex + 1) != \"x\" && this._string.charAt(this._currentIndex + 1) != \"m\") {\n this._currentIndex++;\n\n // Read the sign of the exponent.\n if (this._string.charAt(this._currentIndex) == \"+\") {\n this._currentIndex++;\n } else if (this._string.charAt(this._currentIndex) == \"-\") {\n this._currentIndex++;\n expsign = -1;\n }\n\n // There must be an exponent.\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < \"0\" || this._string.charAt(this._currentIndex) > \"9\") return undefined;\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= \"0\" && this._string.charAt(this._currentIndex) <= \"9\") {\n exponent *= 10;\n exponent += this._string.charAt(this._currentIndex) - \"0\";\n this._currentIndex++;\n }\n }\n\n var number = integer + decimal;\n number *= sign;\n\n if (exponent) number *= Math.pow(10, expsign * exponent);\n\n if (startIndex == this._currentIndex) return undefined;\n\n this._skipOptionalSpacesOrDelimiter();\n\n return number;\n };\n\n Source.prototype._parseArcFlag = function () {\n if (this._currentIndex >= this._endIndex) return undefined;\n var flag = false;\n var flagChar = this._string.charAt(this._currentIndex++);\n if (flagChar == \"0\") flag = false;else if (flagChar == \"1\") flag = true;else return undefined;\n\n this._skipOptionalSpacesOrDelimiter();\n return flag;\n };\n\n Source.prototype.parseSegment = function () {\n var lookahead = this._string[this._currentIndex];\n var command = this._pathSegTypeFromChar(lookahead);\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) {\n // Possibly an implicit command. Not allowed if this is the first command.\n if (this._previousCommand == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;\n command = this._nextCommandHelper(lookahead, this._previousCommand);\n if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;\n } else {\n this._currentIndex++;\n }\n\n this._previousCommand = command;\n\n switch (command) {\n case window.SVGPathSeg.PATHSEG_MOVETO_REL:\n return new window.SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_MOVETO_ABS:\n return new window.SVGPathSegMovetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_REL:\n return new window.SVGPathSegLinetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_ABS:\n return new window.SVGPathSegLinetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n return new window.SVGPathSegLinetoHorizontalRel(owningPathSegList, this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n return new window.SVGPathSegLinetoHorizontalAbs(owningPathSegList, this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n return new window.SVGPathSegLinetoVerticalRel(owningPathSegList, this._parseNumber());\n case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n return new window.SVGPathSegLinetoVerticalAbs(owningPathSegList, this._parseNumber());\n case window.SVGPathSeg.PATHSEG_CLOSEPATH:\n this._skipOptionalSpaces();\n return new window.SVGPathSegClosePath(owningPathSegList);\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:\n var points = { x1: this._parseNumber(), y1: this._parseNumber(), x2: this._parseNumber(), y2: this._parseNumber(), x: this._parseNumber(), y: this._parseNumber() };\n return new window.SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:\n var points = { x1: this._parseNumber(), y1: this._parseNumber(), x2: this._parseNumber(), y2: this._parseNumber(), x: this._parseNumber(), y: this._parseNumber() };\n return new window.SVGPathSegCurvetoCubicAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:\n var points = { x2: this._parseNumber(), y2: this._parseNumber(), x: this._parseNumber(), y: this._parseNumber() };\n return new window.SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, points.x, points.y, points.x2, points.y2);\n case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:\n var points = { x2: this._parseNumber(), y2: this._parseNumber(), x: this._parseNumber(), y: this._parseNumber() };\n return new window.SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, points.x, points.y, points.x2, points.y2);\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:\n var points = { x1: this._parseNumber(), y1: this._parseNumber(), x: this._parseNumber(), y: this._parseNumber() };\n return new window.SVGPathSegCurvetoQuadraticRel(owningPathSegList, points.x, points.y, points.x1, points.y1);\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:\n var points = { x1: this._parseNumber(), y1: this._parseNumber(), x: this._parseNumber(), y: this._parseNumber() };\n return new window.SVGPathSegCurvetoQuadraticAbs(owningPathSegList, points.x, points.y, points.x1, points.y1);\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:\n return new window.SVGPathSegCurvetoQuadraticSmoothRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:\n return new window.SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n case window.SVGPathSeg.PATHSEG_ARC_REL:\n var points = { x1: this._parseNumber(), y1: this._parseNumber(), arcAngle: this._parseNumber(), arcLarge: this._parseArcFlag(), arcSweep: this._parseArcFlag(), x: this._parseNumber(), y: this._parseNumber() };\n return new window.SVGPathSegArcRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n case window.SVGPathSeg.PATHSEG_ARC_ABS:\n var points = { x1: this._parseNumber(), y1: this._parseNumber(), arcAngle: this._parseNumber(), arcLarge: this._parseArcFlag(), arcSweep: this._parseArcFlag(), x: this._parseNumber(), y: this._parseNumber() };\n return new window.SVGPathSegArcAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n default:\n throw \"Unknown path seg type.\";\n }\n };\n\n var builder = new Builder();\n var source = new Source(string);\n\n if (!source.initialCommandIsMoveTo()) return [];\n while (source.hasMoreData()) {\n var pathSeg = source.parseSegment();\n if (!pathSeg) return [];\n builder.appendSegment(pathSeg);\n }\n\n return builder.pathSegList;\n };\n }\n })();\n\n /* jshint ignore:end */\n\n c3_chart_fn.axis = function () {};\n c3_chart_fn.axis.labels = function (labels) {\n var $$ = this.internal;\n if (arguments.length) {\n Object.keys(labels).forEach(function (axisId) {\n $$.axis.setLabelText(axisId, labels[axisId]);\n });\n $$.axis.updateLabels();\n }\n // TODO: return some values?\n };\n c3_chart_fn.axis.max = function (max) {\n var $$ = this.internal,\n config = $$.config;\n if (arguments.length) {\n if ((typeof max === 'undefined' ? 'undefined' : _typeof(max)) === 'object') {\n if (isValue(max.x)) {\n config.axis_x_max = max.x;\n }\n if (isValue(max.y)) {\n config.axis_y_max = max.y;\n }\n if (isValue(max.y2)) {\n config.axis_y2_max = max.y2;\n }\n } else {\n config.axis_y_max = config.axis_y2_max = max;\n }\n $$.redraw({ withUpdateOrgXDomain: true, withUpdateXDomain: true });\n } else {\n return {\n x: config.axis_x_max,\n y: config.axis_y_max,\n y2: config.axis_y2_max\n };\n }\n };\n c3_chart_fn.axis.min = function (min) {\n var $$ = this.internal,\n config = $$.config;\n if (arguments.length) {\n if ((typeof min === 'undefined' ? 'undefined' : _typeof(min)) === 'object') {\n if (isValue(min.x)) {\n config.axis_x_min = min.x;\n }\n if (isValue(min.y)) {\n config.axis_y_min = min.y;\n }\n if (isValue(min.y2)) {\n config.axis_y2_min = min.y2;\n }\n } else {\n config.axis_y_min = config.axis_y2_min = min;\n }\n $$.redraw({ withUpdateOrgXDomain: true, withUpdateXDomain: true });\n } else {\n return {\n x: config.axis_x_min,\n y: config.axis_y_min,\n y2: config.axis_y2_min\n };\n }\n };\n c3_chart_fn.axis.range = function (range) {\n if (arguments.length) {\n if (isDefined(range.max)) {\n this.axis.max(range.max);\n }\n if (isDefined(range.min)) {\n this.axis.min(range.min);\n }\n } else {\n return {\n max: this.axis.max(),\n min: this.axis.min()\n };\n }\n };\n\n c3_chart_fn.category = function (i, category) {\n var $$ = this.internal,\n config = $$.config;\n if (arguments.length > 1) {\n config.axis_x_categories[i] = category;\n $$.redraw();\n }\n return config.axis_x_categories[i];\n };\n c3_chart_fn.categories = function (categories) {\n var $$ = this.internal,\n config = $$.config;\n if (!arguments.length) {\n return config.axis_x_categories;\n }\n config.axis_x_categories = categories;\n $$.redraw();\n return config.axis_x_categories;\n };\n\n c3_chart_fn.resize = function (size) {\n var $$ = this.internal,\n config = $$.config;\n config.size_width = size ? size.width : null;\n config.size_height = size ? size.height : null;\n this.flush();\n };\n\n c3_chart_fn.flush = function () {\n var $$ = this.internal;\n $$.updateAndRedraw({ withLegend: true, withTransition: false, withTransitionForTransform: false });\n };\n\n c3_chart_fn.destroy = function () {\n var $$ = this.internal;\n\n window.clearInterval($$.intervalForObserveInserted);\n\n if ($$.resizeTimeout !== undefined) {\n window.clearTimeout($$.resizeTimeout);\n }\n\n if (window.detachEvent) {\n window.detachEvent('onresize', $$.resizeIfElementDisplayed);\n } else if (window.removeEventListener) {\n window.removeEventListener('resize', $$.resizeIfElementDisplayed);\n } else {\n var wrapper = window.onresize;\n // check if no one else removed our wrapper and remove our resizeFunction from it\n if (wrapper && wrapper.add && wrapper.remove) {\n wrapper.remove($$.resizeFunction);\n }\n }\n\n // remove the inner resize functions\n $$.resizeFunction.remove();\n\n $$.selectChart.classed('c3', false).html(\"\");\n\n // MEMO: this is needed because the reference of some elements will not be released, then memory leak will happen.\n Object.keys($$).forEach(function (key) {\n $$[key] = null;\n });\n\n return null;\n };\n\n // TODO: fix\n c3_chart_fn.color = function (id) {\n var $$ = this.internal;\n return $$.color(id); // more patterns\n };\n\n c3_chart_fn.data = function (targetIds) {\n var targets = this.internal.data.targets;\n return typeof targetIds === 'undefined' ? targets : targets.filter(function (t) {\n return [].concat(targetIds).indexOf(t.id) >= 0;\n });\n };\n c3_chart_fn.data.shown = function (targetIds) {\n return this.internal.filterTargetsToShow(this.data(targetIds));\n };\n c3_chart_fn.data.values = function (targetId) {\n var targets,\n values = null;\n if (targetId) {\n targets = this.data(targetId);\n values = targets[0] ? targets[0].values.map(function (d) {\n return d.value;\n }) : null;\n }\n return values;\n };\n c3_chart_fn.data.names = function (names) {\n this.internal.clearLegendItemTextBoxCache();\n return this.internal.updateDataAttributes('names', names);\n };\n c3_chart_fn.data.colors = function (colors) {\n return this.internal.updateDataAttributes('colors', colors);\n };\n c3_chart_fn.data.axes = function (axes) {\n return this.internal.updateDataAttributes('axes', axes);\n };\n\n c3_chart_fn.flow = function (args) {\n var $$ = this.internal,\n targets,\n data,\n notfoundIds = [],\n orgDataCount = $$.getMaxDataCount(),\n dataCount,\n domain,\n baseTarget,\n baseValue,\n length = 0,\n tail = 0,\n diff,\n to;\n\n if (args.json) {\n data = $$.convertJsonToData(args.json, args.keys);\n } else if (args.rows) {\n data = $$.convertRowsToData(args.rows);\n } else if (args.columns) {\n data = $$.convertColumnsToData(args.columns);\n } else {\n return;\n }\n targets = $$.convertDataToTargets(data, true);\n\n // Update/Add data\n $$.data.targets.forEach(function (t) {\n var found = false,\n i,\n j;\n for (i = 0; i < targets.length; i++) {\n if (t.id === targets[i].id) {\n found = true;\n\n if (t.values[t.values.length - 1]) {\n tail = t.values[t.values.length - 1].index + 1;\n }\n length = targets[i].values.length;\n\n for (j = 0; j < length; j++) {\n targets[i].values[j].index = tail + j;\n if (!$$.isTimeSeries()) {\n targets[i].values[j].x = tail + j;\n }\n }\n t.values = t.values.concat(targets[i].values);\n\n targets.splice(i, 1);\n break;\n }\n }\n if (!found) {\n notfoundIds.push(t.id);\n }\n });\n\n // Append null for not found targets\n $$.data.targets.forEach(function (t) {\n var i, j;\n for (i = 0; i < notfoundIds.length; i++) {\n if (t.id === notfoundIds[i]) {\n tail = t.values[t.values.length - 1].index + 1;\n for (j = 0; j < length; j++) {\n t.values.push({\n id: t.id,\n index: tail + j,\n x: $$.isTimeSeries() ? $$.getOtherTargetX(tail + j) : tail + j,\n value: null\n });\n }\n }\n }\n });\n\n // Generate null values for new target\n if ($$.data.targets.length) {\n targets.forEach(function (t) {\n var i,\n missing = [];\n for (i = $$.data.targets[0].values[0].index; i < tail; i++) {\n missing.push({\n id: t.id,\n index: i,\n x: $$.isTimeSeries() ? $$.getOtherTargetX(i) : i,\n value: null\n });\n }\n t.values.forEach(function (v) {\n v.index += tail;\n if (!$$.isTimeSeries()) {\n v.x += tail;\n }\n });\n t.values = missing.concat(t.values);\n });\n }\n $$.data.targets = $$.data.targets.concat(targets); // add remained\n\n // check data count because behavior needs to change when it's only one\n dataCount = $$.getMaxDataCount();\n baseTarget = $$.data.targets[0];\n baseValue = baseTarget.values[0];\n\n // Update length to flow if needed\n if (isDefined(args.to)) {\n length = 0;\n to = $$.isTimeSeries() ? $$.parseDate(args.to) : args.to;\n baseTarget.values.forEach(function (v) {\n if (v.x < to) {\n length++;\n }\n });\n } else if (isDefined(args.length)) {\n length = args.length;\n }\n\n // If only one data, update the domain to flow from left edge of the chart\n if (!orgDataCount) {\n if ($$.isTimeSeries()) {\n if (baseTarget.values.length > 1) {\n diff = baseTarget.values[baseTarget.values.length - 1].x - baseValue.x;\n } else {\n diff = baseValue.x - $$.getXDomain($$.data.targets)[0];\n }\n } else {\n diff = 1;\n }\n domain = [baseValue.x - diff, baseValue.x];\n $$.updateXDomain(null, true, true, false, domain);\n } else if (orgDataCount === 1) {\n if ($$.isTimeSeries()) {\n diff = (baseTarget.values[baseTarget.values.length - 1].x - baseValue.x) / 2;\n domain = [new Date(+baseValue.x - diff), new Date(+baseValue.x + diff)];\n $$.updateXDomain(null, true, true, false, domain);\n }\n }\n\n // Set targets\n $$.updateTargets($$.data.targets);\n\n // Redraw with new targets\n $$.redraw({\n flow: {\n index: baseValue.index,\n length: length,\n duration: isValue(args.duration) ? args.duration : $$.config.transition_duration,\n done: args.done,\n orgDataCount: orgDataCount\n },\n withLegend: true,\n withTransition: orgDataCount > 1,\n withTrimXDomain: false,\n withUpdateXAxis: true\n });\n };\n\n c3_chart_internal_fn.generateFlow = function (args) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n\n return function () {\n var targets = args.targets,\n flow = args.flow,\n drawBar = args.drawBar,\n drawLine = args.drawLine,\n drawArea = args.drawArea,\n cx = args.cx,\n cy = args.cy,\n xv = args.xv,\n xForText = args.xForText,\n yForText = args.yForText,\n duration = args.duration;\n\n var translateX,\n scaleX = 1,\n transform,\n flowIndex = flow.index,\n flowLength = flow.length,\n flowStart = $$.getValueOnIndex($$.data.targets[0].values, flowIndex),\n flowEnd = $$.getValueOnIndex($$.data.targets[0].values, flowIndex + flowLength),\n orgDomain = $$.x.domain(),\n domain,\n durationForFlow = flow.duration || duration,\n done = flow.done || function () {},\n wait = $$.generateWait();\n\n var xgrid = $$.xgrid || d3.selectAll([]),\n xgridLines = $$.xgridLines || d3.selectAll([]),\n mainRegion = $$.mainRegion || d3.selectAll([]),\n mainText = $$.mainText || d3.selectAll([]),\n mainBar = $$.mainBar || d3.selectAll([]),\n mainLine = $$.mainLine || d3.selectAll([]),\n mainArea = $$.mainArea || d3.selectAll([]),\n mainCircle = $$.mainCircle || d3.selectAll([]);\n\n // set flag\n $$.flowing = true;\n\n // remove head data after rendered\n $$.data.targets.forEach(function (d) {\n d.values.splice(0, flowLength);\n });\n\n // update x domain to generate axis elements for flow\n domain = $$.updateXDomain(targets, true, true);\n // update elements related to x scale\n if ($$.updateXGrid) {\n $$.updateXGrid(true);\n }\n\n // generate transform to flow\n if (!flow.orgDataCount) {\n // if empty\n if ($$.data.targets[0].values.length !== 1) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n if ($$.isTimeSeries()) {\n flowStart = $$.getValueOnIndex($$.data.targets[0].values, 0);\n flowEnd = $$.getValueOnIndex($$.data.targets[0].values, $$.data.targets[0].values.length - 1);\n translateX = $$.x(flowStart.x) - $$.x(flowEnd.x);\n } else {\n translateX = diffDomain(domain) / 2;\n }\n }\n } else if (flow.orgDataCount === 1 || (flowStart && flowStart.x) === (flowEnd && flowEnd.x)) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n if ($$.isTimeSeries()) {\n translateX = $$.x(orgDomain[0]) - $$.x(domain[0]);\n } else {\n translateX = $$.x(flowStart.x) - $$.x(flowEnd.x);\n }\n }\n scaleX = diffDomain(orgDomain) / diffDomain(domain);\n transform = 'translate(' + translateX + ',0) scale(' + scaleX + ',1)';\n\n $$.hideXGridFocus();\n\n d3.transition().ease('linear').duration(durationForFlow).each(function () {\n wait.add($$.axes.x.transition().call($$.xAxis));\n wait.add(mainBar.transition().attr('transform', transform));\n wait.add(mainLine.transition().attr('transform', transform));\n wait.add(mainArea.transition().attr('transform', transform));\n wait.add(mainCircle.transition().attr('transform', transform));\n wait.add(mainText.transition().attr('transform', transform));\n wait.add(mainRegion.filter($$.isRegionOnX).transition().attr('transform', transform));\n wait.add(xgrid.transition().attr('transform', transform));\n wait.add(xgridLines.transition().attr('transform', transform));\n }).call(wait, function () {\n var i,\n shapes = [],\n texts = [],\n eventRects = [];\n\n // remove flowed elements\n if (flowLength) {\n for (i = 0; i < flowLength; i++) {\n shapes.push('.' + CLASS.shape + '-' + (flowIndex + i));\n texts.push('.' + CLASS.text + '-' + (flowIndex + i));\n eventRects.push('.' + CLASS.eventRect + '-' + (flowIndex + i));\n }\n $$.svg.selectAll('.' + CLASS.shapes).selectAll(shapes).remove();\n $$.svg.selectAll('.' + CLASS.texts).selectAll(texts).remove();\n $$.svg.selectAll('.' + CLASS.eventRects).selectAll(eventRects).remove();\n $$.svg.select('.' + CLASS.xgrid).remove();\n }\n\n // draw again for removing flowed elements and reverting attr\n xgrid.attr('transform', null).attr($$.xgridAttr);\n xgridLines.attr('transform', null);\n xgridLines.select('line').attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv);\n xgridLines.select('text').attr(\"x\", config.axis_rotated ? $$.width : 0).attr(\"y\", xv);\n mainBar.attr('transform', null).attr(\"d\", drawBar);\n mainLine.attr('transform', null).attr(\"d\", drawLine);\n mainArea.attr('transform', null).attr(\"d\", drawArea);\n mainCircle.attr('transform', null).attr(\"cx\", cx).attr(\"cy\", cy);\n mainText.attr('transform', null).attr('x', xForText).attr('y', yForText).style('fill-opacity', $$.opacityForText.bind($$));\n mainRegion.attr('transform', null);\n mainRegion.select('rect').filter($$.isRegionOnX).attr(\"x\", $$.regionX.bind($$)).attr(\"width\", $$.regionWidth.bind($$));\n\n if (config.interaction_enabled) {\n $$.redrawEventRect();\n }\n\n // callback for end of flow\n done();\n\n $$.flowing = false;\n });\n };\n };\n\n c3_chart_fn.focus = function (targetIds) {\n var $$ = this.internal,\n candidates;\n\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))), this.revert();\n this.defocus();\n candidates.classed(CLASS.focused, true).classed(CLASS.defocused, false);\n if ($$.hasArcType()) {\n $$.expandArc(targetIds);\n }\n $$.toggleFocusLegend(targetIds, true);\n\n $$.focusedTargetIds = targetIds;\n $$.defocusedTargetIds = $$.defocusedTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n\n c3_chart_fn.defocus = function (targetIds) {\n var $$ = this.internal,\n candidates;\n\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))), candidates.classed(CLASS.focused, false).classed(CLASS.defocused, true);\n if ($$.hasArcType()) {\n $$.unexpandArc(targetIds);\n }\n $$.toggleFocusLegend(targetIds, false);\n\n $$.focusedTargetIds = $$.focusedTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n $$.defocusedTargetIds = targetIds;\n };\n\n c3_chart_fn.revert = function (targetIds) {\n var $$ = this.internal,\n candidates;\n\n targetIds = $$.mapToTargetIds(targetIds);\n candidates = $$.svg.selectAll($$.selectorTargets(targetIds)); // should be for all targets\n\n candidates.classed(CLASS.focused, false).classed(CLASS.defocused, false);\n if ($$.hasArcType()) {\n $$.unexpandArc(targetIds);\n }\n if ($$.config.legend_show) {\n $$.showLegend(targetIds.filter($$.isLegendToShow.bind($$)));\n $$.legend.selectAll($$.selectorLegends(targetIds)).filter(function () {\n return $$.d3.select(this).classed(CLASS.legendItemFocused);\n }).classed(CLASS.legendItemFocused, false);\n }\n\n $$.focusedTargetIds = [];\n $$.defocusedTargetIds = [];\n };\n\n c3_chart_fn.xgrids = function (grids) {\n var $$ = this.internal,\n config = $$.config;\n if (!grids) {\n return config.grid_x_lines;\n }\n config.grid_x_lines = grids;\n $$.redrawWithoutRescale();\n return config.grid_x_lines;\n };\n c3_chart_fn.xgrids.add = function (grids) {\n var $$ = this.internal;\n return this.xgrids($$.config.grid_x_lines.concat(grids ? grids : []));\n };\n c3_chart_fn.xgrids.remove = function (params) {\n // TODO: multiple\n var $$ = this.internal;\n $$.removeGridLines(params, true);\n };\n\n c3_chart_fn.ygrids = function (grids) {\n var $$ = this.internal,\n config = $$.config;\n if (!grids) {\n return config.grid_y_lines;\n }\n config.grid_y_lines = grids;\n $$.redrawWithoutRescale();\n return config.grid_y_lines;\n };\n c3_chart_fn.ygrids.add = function (grids) {\n var $$ = this.internal;\n return this.ygrids($$.config.grid_y_lines.concat(grids ? grids : []));\n };\n c3_chart_fn.ygrids.remove = function (params) {\n // TODO: multiple\n var $$ = this.internal;\n $$.removeGridLines(params, false);\n };\n\n c3_chart_fn.groups = function (groups) {\n var $$ = this.internal,\n config = $$.config;\n if (isUndefined(groups)) {\n return config.data_groups;\n }\n config.data_groups = groups;\n $$.redraw();\n return config.data_groups;\n };\n\n c3_chart_fn.legend = function () {};\n c3_chart_fn.legend.show = function (targetIds) {\n var $$ = this.internal;\n $$.showLegend($$.mapToTargetIds(targetIds));\n $$.updateAndRedraw({ withLegend: true });\n };\n c3_chart_fn.legend.hide = function (targetIds) {\n var $$ = this.internal;\n $$.hideLegend($$.mapToTargetIds(targetIds));\n $$.updateAndRedraw({ withLegend: true });\n };\n\n c3_chart_fn.load = function (args) {\n var $$ = this.internal,\n config = $$.config;\n // update xs if specified\n if (args.xs) {\n $$.addXs(args.xs);\n }\n // update names if exists\n if ('names' in args) {\n c3_chart_fn.data.names.bind(this)(args.names);\n }\n // update classes if exists\n if ('classes' in args) {\n Object.keys(args.classes).forEach(function (id) {\n config.data_classes[id] = args.classes[id];\n });\n }\n // update categories if exists\n if ('categories' in args && $$.isCategorized()) {\n config.axis_x_categories = args.categories;\n }\n // update axes if exists\n if ('axes' in args) {\n Object.keys(args.axes).forEach(function (id) {\n config.data_axes[id] = args.axes[id];\n });\n }\n // update colors if exists\n if ('colors' in args) {\n Object.keys(args.colors).forEach(function (id) {\n config.data_colors[id] = args.colors[id];\n });\n }\n // use cache if exists\n if ('cacheIds' in args && $$.hasCaches(args.cacheIds)) {\n $$.load($$.getCaches(args.cacheIds), args.done);\n return;\n }\n // unload if needed\n if ('unload' in args) {\n // TODO: do not unload if target will load (included in url/rows/columns)\n $$.unload($$.mapToTargetIds(typeof args.unload === 'boolean' && args.unload ? null : args.unload), function () {\n $$.loadFromArgs(args);\n });\n } else {\n $$.loadFromArgs(args);\n }\n };\n\n c3_chart_fn.unload = function (args) {\n var $$ = this.internal;\n args = args || {};\n if (args instanceof Array) {\n args = { ids: args };\n } else if (typeof args === 'string') {\n args = { ids: [args] };\n }\n $$.unload($$.mapToTargetIds(args.ids), function () {\n $$.redraw({ withUpdateOrgXDomain: true, withUpdateXDomain: true, withLegend: true });\n if (args.done) {\n args.done();\n }\n });\n };\n\n c3_chart_fn.regions = function (regions) {\n var $$ = this.internal,\n config = $$.config;\n if (!regions) {\n return config.regions;\n }\n config.regions = regions;\n $$.redrawWithoutRescale();\n return config.regions;\n };\n c3_chart_fn.regions.add = function (regions) {\n var $$ = this.internal,\n config = $$.config;\n if (!regions) {\n return config.regions;\n }\n config.regions = config.regions.concat(regions);\n $$.redrawWithoutRescale();\n return config.regions;\n };\n c3_chart_fn.regions.remove = function (options) {\n var $$ = this.internal,\n config = $$.config,\n duration,\n classes,\n regions;\n\n options = options || {};\n duration = $$.getOption(options, \"duration\", config.transition_duration);\n classes = $$.getOption(options, \"classes\", [CLASS.region]);\n\n regions = $$.main.select('.' + CLASS.regions).selectAll(classes.map(function (c) {\n return '.' + c;\n }));\n (duration ? regions.transition().duration(duration) : regions).style('opacity', 0).remove();\n\n config.regions = config.regions.filter(function (region) {\n var found = false;\n if (!region['class']) {\n return true;\n }\n region['class'].split(' ').forEach(function (c) {\n if (classes.indexOf(c) >= 0) {\n found = true;\n }\n });\n return !found;\n });\n\n return config.regions;\n };\n\n c3_chart_fn.selected = function (targetId) {\n var $$ = this.internal,\n d3 = $$.d3;\n return d3.merge($$.main.selectAll('.' + CLASS.shapes + $$.getTargetSelectorSuffix(targetId)).selectAll('.' + CLASS.shape).filter(function () {\n return d3.select(this).classed(CLASS.SELECTED);\n }).map(function (d) {\n return d.map(function (d) {\n var data = d.__data__;return data.data ? data.data : data;\n });\n }));\n };\n c3_chart_fn.select = function (ids, indices, resetOther) {\n var $$ = this.internal,\n d3 = $$.d3,\n config = $$.config;\n if (!config.data_selection_enabled) {\n return;\n }\n $$.main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this),\n id = d.data ? d.data.id : d.id,\n toggle = $$.getToggle(this, d).bind($$),\n isTargetId = config.data_selection_grouped || !ids || ids.indexOf(id) >= 0,\n isTargetIndex = !indices || indices.indexOf(i) >= 0,\n isSelected = shape.classed(CLASS.SELECTED);\n // line/area selection not supported yet\n if (shape.classed(CLASS.line) || shape.classed(CLASS.area)) {\n return;\n }\n if (isTargetId && isTargetIndex) {\n if (config.data_selection_isselectable(d) && !isSelected) {\n toggle(true, shape.classed(CLASS.SELECTED, true), d, i);\n }\n } else if (isDefined(resetOther) && resetOther) {\n if (isSelected) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n }\n });\n };\n c3_chart_fn.unselect = function (ids, indices) {\n var $$ = this.internal,\n d3 = $$.d3,\n config = $$.config;\n if (!config.data_selection_enabled) {\n return;\n }\n $$.main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this),\n id = d.data ? d.data.id : d.id,\n toggle = $$.getToggle(this, d).bind($$),\n isTargetId = config.data_selection_grouped || !ids || ids.indexOf(id) >= 0,\n isTargetIndex = !indices || indices.indexOf(i) >= 0,\n isSelected = shape.classed(CLASS.SELECTED);\n // line/area selection not supported yet\n if (shape.classed(CLASS.line) || shape.classed(CLASS.area)) {\n return;\n }\n if (isTargetId && isTargetIndex) {\n if (config.data_selection_isselectable(d)) {\n if (isSelected) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n }\n }\n });\n };\n\n c3_chart_fn.show = function (targetIds, options) {\n var $$ = this.internal,\n targets;\n\n targetIds = $$.mapToTargetIds(targetIds);\n options = options || {};\n\n $$.removeHiddenTargetIds(targetIds);\n targets = $$.svg.selectAll($$.selectorTargets(targetIds));\n\n targets.transition().style('opacity', 1, 'important').call($$.endall, function () {\n targets.style('opacity', null).style('opacity', 1);\n });\n\n if (options.withLegend) {\n $$.showLegend(targetIds);\n }\n\n $$.redraw({ withUpdateOrgXDomain: true, withUpdateXDomain: true, withLegend: true });\n };\n\n c3_chart_fn.hide = function (targetIds, options) {\n var $$ = this.internal,\n targets;\n\n targetIds = $$.mapToTargetIds(targetIds);\n options = options || {};\n\n $$.addHiddenTargetIds(targetIds);\n targets = $$.svg.selectAll($$.selectorTargets(targetIds));\n\n targets.transition().style('opacity', 0, 'important').call($$.endall, function () {\n targets.style('opacity', null).style('opacity', 0);\n });\n\n if (options.withLegend) {\n $$.hideLegend(targetIds);\n }\n\n $$.redraw({ withUpdateOrgXDomain: true, withUpdateXDomain: true, withLegend: true });\n };\n\n c3_chart_fn.toggle = function (targetIds, options) {\n var that = this,\n $$ = this.internal;\n $$.mapToTargetIds(targetIds).forEach(function (targetId) {\n $$.isTargetToShow(targetId) ? that.hide(targetId, options) : that.show(targetId, options);\n });\n };\n\n c3_chart_fn.tooltip = function () {};\n c3_chart_fn.tooltip.show = function (args) {\n var $$ = this.internal,\n index,\n mouse;\n\n // determine mouse position on the chart\n if (args.mouse) {\n mouse = args.mouse;\n }\n\n // determine focus data\n if (args.data) {\n if ($$.isMultipleX()) {\n // if multiple xs, target point will be determined by mouse\n mouse = [$$.x(args.data.x), $$.getYScale(args.data.id)(args.data.value)];\n index = null;\n } else {\n // TODO: when tooltip_grouped = false\n index = isValue(args.data.index) ? args.data.index : $$.getIndexByX(args.data.x);\n }\n } else if (typeof args.x !== 'undefined') {\n index = $$.getIndexByX(args.x);\n } else if (typeof args.index !== 'undefined') {\n index = args.index;\n }\n\n // emulate mouse events to show\n $$.dispatchEvent('mouseover', index, mouse);\n $$.dispatchEvent('mousemove', index, mouse);\n\n $$.config.tooltip_onshow.call($$, args.data);\n };\n c3_chart_fn.tooltip.hide = function () {\n // TODO: get target data by checking the state of focus\n this.internal.dispatchEvent('mouseout', 0);\n\n this.internal.config.tooltip_onhide.call(this);\n };\n\n c3_chart_fn.transform = function (type, targetIds) {\n var $$ = this.internal,\n options = ['pie', 'donut'].indexOf(type) >= 0 ? { withTransform: true } : null;\n $$.transformTo(targetIds, type, options);\n };\n\n c3_chart_internal_fn.transformTo = function (targetIds, type, optionsForRedraw) {\n var $$ = this,\n withTransitionForAxis = !$$.hasArcType(),\n options = optionsForRedraw || { withTransitionForAxis: withTransitionForAxis };\n options.withTransitionForTransform = false;\n $$.transiting = false;\n $$.setTargetType(targetIds, type);\n $$.updateTargets($$.data.targets); // this is needed when transforming to arc\n $$.updateAndRedraw(options);\n };\n\n c3_chart_fn.x = function (x) {\n var $$ = this.internal;\n if (arguments.length) {\n $$.updateTargetX($$.data.targets, x);\n $$.redraw({ withUpdateOrgXDomain: true, withUpdateXDomain: true });\n }\n return $$.data.xs;\n };\n c3_chart_fn.xs = function (xs) {\n var $$ = this.internal;\n if (arguments.length) {\n $$.updateTargetXs($$.data.targets, xs);\n $$.redraw({ withUpdateOrgXDomain: true, withUpdateXDomain: true });\n }\n return $$.data.xs;\n };\n\n c3_chart_fn.zoom = function (domain) {\n var $$ = this.internal;\n if (domain) {\n if ($$.isTimeSeries()) {\n domain = domain.map(function (x) {\n return $$.parseDate(x);\n });\n }\n $$.brush.extent(domain);\n $$.redraw({ withUpdateXDomain: true, withY: $$.config.zoom_rescale });\n $$.config.zoom_onzoom.call(this, $$.x.orgDomain());\n }\n return $$.brush.extent();\n };\n c3_chart_fn.zoom.enable = function (enabled) {\n var $$ = this.internal;\n $$.config.zoom_enabled = enabled;\n $$.updateAndRedraw();\n };\n c3_chart_fn.unzoom = function () {\n var $$ = this.internal;\n $$.brush.clear().update();\n $$.redraw({ withUpdateXDomain: true });\n };\n\n c3_chart_fn.zoom.max = function (max) {\n var $$ = this.internal,\n config = $$.config,\n d3 = $$.d3;\n if (max === 0 || max) {\n config.zoom_x_max = d3.max([$$.orgXDomain[1], max]);\n } else {\n return config.zoom_x_max;\n }\n };\n\n c3_chart_fn.zoom.min = function (min) {\n var $$ = this.internal,\n config = $$.config,\n d3 = $$.d3;\n if (min === 0 || min) {\n config.zoom_x_min = d3.min([$$.orgXDomain[0], min]);\n } else {\n return config.zoom_x_min;\n }\n };\n\n c3_chart_fn.zoom.range = function (range) {\n if (arguments.length) {\n if (isDefined(range.max)) {\n this.domain.max(range.max);\n }\n if (isDefined(range.min)) {\n this.domain.min(range.min);\n }\n } else {\n return {\n max: this.domain.max(),\n min: this.domain.min()\n };\n }\n };\n\n c3_chart_internal_fn.initPie = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.pie = d3.layout.pie().value(function (d) {\n return d.values.reduce(function (a, b) {\n return a + b.value;\n }, 0);\n });\n $$.pie.sort($$.getOrderFunction() || null);\n };\n\n c3_chart_internal_fn.updateRadius = function () {\n var $$ = this,\n config = $$.config,\n w = config.gauge_width || config.donut_width,\n gaugeArcWidth = $$.filterTargetsToShow($$.data.targets).length * $$.config.gauge_arcs_minWidth;\n $$.radiusExpanded = Math.min($$.arcWidth, $$.arcHeight) / 2 * ($$.hasType('gauge') ? 0.85 : 1);\n $$.radius = $$.radiusExpanded * 0.95;\n $$.innerRadiusRatio = w ? ($$.radius - w) / $$.radius : 0.6;\n $$.innerRadius = $$.hasType('donut') || $$.hasType('gauge') ? $$.radius * $$.innerRadiusRatio : 0;\n $$.gaugeArcWidth = w ? w : gaugeArcWidth <= $$.radius - $$.innerRadius ? $$.radius - $$.innerRadius : gaugeArcWidth <= $$.radius ? gaugeArcWidth : $$.radius;\n };\n\n c3_chart_internal_fn.updateArc = function () {\n var $$ = this;\n $$.svgArc = $$.getSvgArc();\n $$.svgArcExpanded = $$.getSvgArcExpanded();\n $$.svgArcExpandedSub = $$.getSvgArcExpanded(0.98);\n };\n\n c3_chart_internal_fn.updateAngle = function (d) {\n var $$ = this,\n config = $$.config,\n found = false,\n index = 0,\n gMin,\n gMax,\n gTic,\n gValue;\n\n if (!config) {\n return null;\n }\n\n $$.pie($$.filterTargetsToShow($$.data.targets)).forEach(function (t) {\n if (!found && t.data.id === d.data.id) {\n found = true;\n d = t;\n d.index = index;\n }\n index++;\n });\n if (isNaN(d.startAngle)) {\n d.startAngle = 0;\n }\n if (isNaN(d.endAngle)) {\n d.endAngle = d.startAngle;\n }\n if ($$.isGaugeType(d.data)) {\n gMin = config.gauge_min;\n gMax = config.gauge_max;\n gTic = Math.PI * (config.gauge_fullCircle ? 2 : 1) / (gMax - gMin);\n gValue = d.value < gMin ? 0 : d.value < gMax ? d.value - gMin : gMax - gMin;\n d.startAngle = config.gauge_startingAngle;\n d.endAngle = d.startAngle + gTic * gValue;\n }\n return found ? d : null;\n };\n\n c3_chart_internal_fn.getSvgArc = function () {\n var $$ = this,\n hasGaugeType = $$.hasType('gauge'),\n singleArcWidth = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length,\n arc = $$.d3.svg.arc().outerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * d.index : $$.radius;\n }).innerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * (d.index + 1) : $$.innerRadius;\n }),\n newArc = function newArc(d, withoutUpdate) {\n var updated;\n if (withoutUpdate) {\n return arc(d);\n } // for interpolate\n updated = $$.updateAngle(d);\n return updated ? arc(updated) : \"M 0 0\";\n };\n // TODO: extends all function\n newArc.centroid = arc.centroid;\n return newArc;\n };\n\n c3_chart_internal_fn.getSvgArcExpanded = function (rate) {\n rate = rate || 1;\n var $$ = this,\n hasGaugeType = $$.hasType('gauge'),\n singleArcWidth = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length,\n expandWidth = Math.min($$.radiusExpanded * rate - $$.radius, singleArcWidth * 0.8 - (1 - rate) * 100),\n arc = $$.d3.svg.arc().outerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * d.index + expandWidth : $$.radiusExpanded * rate;\n }).innerRadius(function (d) {\n return hasGaugeType ? $$.radius - singleArcWidth * (d.index + 1) : $$.innerRadius;\n });\n return function (d) {\n var updated = $$.updateAngle(d);\n return updated ? arc(updated) : \"M 0 0\";\n };\n };\n\n c3_chart_internal_fn.getArc = function (d, withoutUpdate, force) {\n return force || this.isArcType(d.data) ? this.svgArc(d, withoutUpdate) : \"M 0 0\";\n };\n\n c3_chart_internal_fn.transformForArcLabel = function (d) {\n var $$ = this,\n config = $$.config,\n updated = $$.updateAngle(d),\n c,\n x,\n y,\n h,\n ratio,\n translate = \"\",\n hasGauge = $$.hasType('gauge');\n if (updated && !hasGauge) {\n c = this.svgArc.centroid(updated);\n x = isNaN(c[0]) ? 0 : c[0];\n y = isNaN(c[1]) ? 0 : c[1];\n h = Math.sqrt(x * x + y * y);\n if ($$.hasType('donut') && config.donut_label_ratio) {\n ratio = isFunction(config.donut_label_ratio) ? config.donut_label_ratio(d, $$.radius, h) : config.donut_label_ratio;\n } else if ($$.hasType('pie') && config.pie_label_ratio) {\n ratio = isFunction(config.pie_label_ratio) ? config.pie_label_ratio(d, $$.radius, h) : config.pie_label_ratio;\n } else {\n ratio = $$.radius && h ? (36 / $$.radius > 0.375 ? 1.175 - 36 / $$.radius : 0.8) * $$.radius / h : 0;\n }\n translate = \"translate(\" + x * ratio + ',' + y * ratio + \")\";\n } else if (updated && hasGauge && $$.filterTargetsToShow($$.data.targets).length > 1) {\n var y1 = Math.sin(updated.endAngle - Math.PI / 2);\n x = Math.cos(updated.endAngle - Math.PI / 2) * ($$.radiusExpanded + 25);\n y = y1 * ($$.radiusExpanded + 15 - Math.abs(y1 * 10)) + 3;\n translate = \"translate(\" + x + ',' + y + \")\";\n }\n return translate;\n };\n\n c3_chart_internal_fn.getArcRatio = function (d) {\n var $$ = this,\n config = $$.config,\n whole = Math.PI * ($$.hasType('gauge') && !config.gauge_fullCircle ? 1 : 2);\n return d ? (d.endAngle - d.startAngle) / whole : null;\n };\n\n c3_chart_internal_fn.convertToArcData = function (d) {\n return this.addName({\n id: d.data.id,\n value: d.value,\n ratio: this.getArcRatio(d),\n index: d.index\n });\n };\n\n c3_chart_internal_fn.textForArcLabel = function (d) {\n var $$ = this,\n updated,\n value,\n ratio,\n id,\n format;\n if (!$$.shouldShowArcLabel()) {\n return \"\";\n }\n updated = $$.updateAngle(d);\n value = updated ? updated.value : null;\n ratio = $$.getArcRatio(updated);\n id = d.data.id;\n if (!$$.hasType('gauge') && !$$.meetsArcLabelThreshold(ratio)) {\n return \"\";\n }\n format = $$.getArcLabelFormat();\n return format ? format(value, ratio, id) : $$.defaultArcValueFormat(value, ratio);\n };\n\n c3_chart_internal_fn.textForGaugeMinMax = function (value, isMax) {\n var $$ = this,\n format = $$.getGaugeLabelExtents();\n\n return format ? format(value, isMax) : value;\n };\n\n c3_chart_internal_fn.expandArc = function (targetIds) {\n var $$ = this,\n interval;\n\n // MEMO: avoid to cancel transition\n if ($$.transiting) {\n interval = window.setInterval(function () {\n if (!$$.transiting) {\n window.clearInterval(interval);\n if ($$.legend.selectAll('.c3-legend-item-focused').size() > 0) {\n $$.expandArc(targetIds);\n }\n }\n }, 10);\n return;\n }\n\n targetIds = $$.mapToTargetIds(targetIds);\n\n $$.svg.selectAll($$.selectorTargets(targetIds, '.' + CLASS.chartArc)).each(function (d) {\n if (!$$.shouldExpand(d.data.id)) {\n return;\n }\n $$.d3.select(this).selectAll('path').transition().duration($$.expandDuration(d.data.id)).attr(\"d\", $$.svgArcExpanded).transition().duration($$.expandDuration(d.data.id) * 2).attr(\"d\", $$.svgArcExpandedSub).each(function (d) {\n if ($$.isDonutType(d.data)) {\n // callback here\n }\n });\n });\n };\n\n c3_chart_internal_fn.unexpandArc = function (targetIds) {\n var $$ = this;\n\n if ($$.transiting) {\n return;\n }\n\n targetIds = $$.mapToTargetIds(targetIds);\n\n $$.svg.selectAll($$.selectorTargets(targetIds, '.' + CLASS.chartArc)).selectAll('path').transition().duration(function (d) {\n return $$.expandDuration(d.data.id);\n }).attr(\"d\", $$.svgArc);\n $$.svg.selectAll('.' + CLASS.arc);\n };\n\n c3_chart_internal_fn.expandDuration = function (id) {\n var $$ = this,\n config = $$.config;\n\n if ($$.isDonutType(id)) {\n return config.donut_expand_duration;\n } else if ($$.isGaugeType(id)) {\n return config.gauge_expand_duration;\n } else if ($$.isPieType(id)) {\n return config.pie_expand_duration;\n } else {\n return 50;\n }\n };\n\n c3_chart_internal_fn.shouldExpand = function (id) {\n var $$ = this,\n config = $$.config;\n return $$.isDonutType(id) && config.donut_expand || $$.isGaugeType(id) && config.gauge_expand || $$.isPieType(id) && config.pie_expand;\n };\n\n c3_chart_internal_fn.shouldShowArcLabel = function () {\n var $$ = this,\n config = $$.config,\n shouldShow = true;\n if ($$.hasType('donut')) {\n shouldShow = config.donut_label_show;\n } else if ($$.hasType('pie')) {\n shouldShow = config.pie_label_show;\n }\n // when gauge, always true\n return shouldShow;\n };\n\n c3_chart_internal_fn.meetsArcLabelThreshold = function (ratio) {\n var $$ = this,\n config = $$.config,\n threshold = $$.hasType('donut') ? config.donut_label_threshold : config.pie_label_threshold;\n return ratio >= threshold;\n };\n\n c3_chart_internal_fn.getArcLabelFormat = function () {\n var $$ = this,\n config = $$.config,\n format = config.pie_label_format;\n if ($$.hasType('gauge')) {\n format = config.gauge_label_format;\n } else if ($$.hasType('donut')) {\n format = config.donut_label_format;\n }\n return format;\n };\n\n c3_chart_internal_fn.getGaugeLabelExtents = function () {\n var $$ = this,\n config = $$.config;\n return config.gauge_label_extents;\n };\n\n c3_chart_internal_fn.getArcTitle = function () {\n var $$ = this;\n return $$.hasType('donut') ? $$.config.donut_title : \"\";\n };\n\n c3_chart_internal_fn.updateTargetsForArc = function (targets) {\n var $$ = this,\n main = $$.main,\n mainPieUpdate,\n mainPieEnter,\n classChartArc = $$.classChartArc.bind($$),\n classArcs = $$.classArcs.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainPieUpdate = main.select('.' + CLASS.chartArcs).selectAll('.' + CLASS.chartArc).data($$.pie(targets)).attr(\"class\", function (d) {\n return classChartArc(d) + classFocus(d.data);\n });\n mainPieEnter = mainPieUpdate.enter().append(\"g\").attr(\"class\", classChartArc);\n mainPieEnter.append('g').attr('class', classArcs);\n mainPieEnter.append(\"text\").attr(\"dy\", $$.hasType('gauge') ? \"-.1em\" : \".35em\").style(\"opacity\", 0).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n // MEMO: can not keep same color..., but not bad to update color in redraw\n //mainPieUpdate.exit().remove();\n };\n\n c3_chart_internal_fn.initArc = function () {\n var $$ = this;\n $$.arcs = $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartArcs).attr(\"transform\", $$.getTranslate('arc'));\n $$.arcs.append('text').attr('class', CLASS.chartArcsTitle).style(\"text-anchor\", \"middle\").text($$.getArcTitle());\n };\n\n c3_chart_internal_fn.redrawArc = function (duration, durationForExit, withTransform) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n main = $$.main,\n mainArc,\n backgroundArc,\n mainArcLabelLine,\n hasGaugeType = $$.hasType('gauge');\n mainArc = main.selectAll('.' + CLASS.arcs).selectAll('.' + CLASS.arc).data($$.arcData.bind($$));\n mainArc.enter().append('path').attr(\"class\", $$.classArc.bind($$)).style(\"fill\", function (d) {\n return $$.color(d.data);\n }).style(\"cursor\", function (d) {\n return config.interaction_enabled && config.data_selection_isselectable(d) ? \"pointer\" : null;\n }).each(function (d) {\n if ($$.isGaugeType(d.data)) {\n d.startAngle = d.endAngle = config.gauge_startingAngle;\n }\n this._current = d;\n });\n if (hasGaugeType) {\n mainArcLabelLine = main.selectAll('.' + CLASS.arcs).selectAll('.' + CLASS.arcLabelLine).data($$.arcData.bind($$));\n mainArcLabelLine.enter().append('rect').attr(\"class\", function (d) {\n return CLASS.arcLabelLine + ' ' + CLASS.target + ' ' + CLASS.target + '-' + d.data.id;\n });\n if ($$.filterTargetsToShow($$.data.targets).length === 1) {\n mainArcLabelLine.style(\"display\", \"none\");\n } else {\n mainArcLabelLine.style(\"fill\", function (d) {\n return config.color_pattern.length > 0 ? $$.levelColor(d.data.values[0].value) : $$.color(d.data);\n }).style(\"display\", config.gauge_labelLine_show ? \"\" : \"none\").each(function (d) {\n var lineLength = 0,\n lineThickness = 2,\n x = 0,\n y = 0,\n transform = \"\";\n if ($$.hiddenTargetIds.indexOf(d.data.id) < 0) {\n var updated = $$.updateAngle(d),\n innerLineLength = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length * (updated.index + 1),\n lineAngle = updated.endAngle - Math.PI / 2,\n arcInnerRadius = $$.radius - innerLineLength,\n linePositioningAngle = lineAngle - (arcInnerRadius === 0 ? 0 : 1 / arcInnerRadius);\n lineLength = $$.radiusExpanded - $$.radius + innerLineLength;\n x = Math.cos(linePositioningAngle) * arcInnerRadius;\n y = Math.sin(linePositioningAngle) * arcInnerRadius;\n transform = \"rotate(\" + lineAngle * 180 / Math.PI + \", \" + x + \", \" + y + \")\";\n }\n d3.select(this).attr({ x: x, y: y, width: lineLength, height: lineThickness, transform: transform }).style(\"stroke-dasharray\", \"0, \" + (lineLength + lineThickness) + \", 0\");\n });\n }\n }\n mainArc.attr(\"transform\", function (d) {\n return !$$.isGaugeType(d.data) && withTransform ? \"scale(0)\" : \"\";\n }).on('mouseover', config.interaction_enabled ? function (d) {\n var updated, arcData;\n if ($$.transiting) {\n // skip while transiting\n return;\n }\n updated = $$.updateAngle(d);\n if (updated) {\n arcData = $$.convertToArcData(updated);\n // transitions\n $$.expandArc(updated.data.id);\n $$.api.focus(updated.data.id);\n $$.toggleFocusLegend(updated.data.id, true);\n $$.config.data_onmouseover(arcData, this);\n }\n } : null).on('mousemove', config.interaction_enabled ? function (d) {\n var updated = $$.updateAngle(d),\n arcData,\n selectedData;\n if (updated) {\n arcData = $$.convertToArcData(updated), selectedData = [arcData];\n $$.showTooltip(selectedData, this);\n }\n } : null).on('mouseout', config.interaction_enabled ? function (d) {\n var updated, arcData;\n if ($$.transiting) {\n // skip while transiting\n return;\n }\n updated = $$.updateAngle(d);\n if (updated) {\n arcData = $$.convertToArcData(updated);\n // transitions\n $$.unexpandArc(updated.data.id);\n $$.api.revert();\n $$.revertLegend();\n $$.hideTooltip();\n $$.config.data_onmouseout(arcData, this);\n }\n } : null).on('click', config.interaction_enabled ? function (d, i) {\n var updated = $$.updateAngle(d),\n arcData;\n if (updated) {\n arcData = $$.convertToArcData(updated);\n if ($$.toggleShape) {\n $$.toggleShape(this, arcData, i);\n }\n $$.config.data_onclick.call($$.api, arcData, this);\n }\n } : null).each(function () {\n $$.transiting = true;\n }).transition().duration(duration).attrTween(\"d\", function (d) {\n var updated = $$.updateAngle(d),\n interpolate;\n if (!updated) {\n return function () {\n return \"M 0 0\";\n };\n }\n // if (this._current === d) {\n // this._current = {\n // startAngle: Math.PI*2,\n // endAngle: Math.PI*2,\n // };\n // }\n if (isNaN(this._current.startAngle)) {\n this._current.startAngle = 0;\n }\n if (isNaN(this._current.endAngle)) {\n this._current.endAngle = this._current.startAngle;\n }\n interpolate = d3.interpolate(this._current, updated);\n this._current = interpolate(0);\n return function (t) {\n var interpolated = interpolate(t);\n interpolated.data = d.data; // data.id will be updated by interporator\n return $$.getArc(interpolated, true);\n };\n }).attr(\"transform\", withTransform ? \"scale(1)\" : \"\").style(\"fill\", function (d) {\n return $$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data.id);\n }) // Where gauge reading color would receive customization.\n .call($$.endall, function () {\n $$.transiting = false;\n });\n mainArc.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n main.selectAll('.' + CLASS.chartArc).select('text').style(\"opacity\", 0).attr('class', function (d) {\n return $$.isGaugeType(d.data) ? CLASS.gaugeValue : '';\n }).text($$.textForArcLabel.bind($$)).attr(\"transform\", $$.transformForArcLabel.bind($$)).style('font-size', function (d) {\n return $$.isGaugeType(d.data) && $$.filterTargetsToShow($$.data.targets).length === 1 ? Math.round($$.radius / 5) + 'px' : '';\n }).transition().duration(duration).style(\"opacity\", function (d) {\n return $$.isTargetToShow(d.data.id) && $$.isArcType(d.data) ? 1 : 0;\n });\n main.select('.' + CLASS.chartArcsTitle).style(\"opacity\", $$.hasType('donut') || hasGaugeType ? 1 : 0);\n\n if (hasGaugeType) {\n var index = 0;\n backgroundArc = $$.arcs.select('g.' + CLASS.chartArcsBackground).selectAll('path.' + CLASS.chartArcsBackground).data($$.data.targets);\n backgroundArc.enter().append(\"path\");\n backgroundArc.attr(\"class\", function (d, i) {\n return CLASS.chartArcsBackground + ' ' + CLASS.chartArcsBackground + '-' + i;\n }).attr(\"d\", function (d1) {\n if ($$.hiddenTargetIds.indexOf(d1.id) >= 0) {\n return \"M 0 0\";\n }\n\n var d = {\n data: [{ value: config.gauge_max }],\n startAngle: config.gauge_startingAngle,\n endAngle: -1 * config.gauge_startingAngle * (config.gauge_fullCircle ? Math.PI : 1),\n index: index++\n };\n return $$.getArc(d, true, true);\n });\n backgroundArc.exit().remove();\n\n $$.arcs.select('.' + CLASS.chartArcsGaugeUnit).attr(\"dy\", \".75em\").text(config.gauge_label_show ? config.gauge_units : '');\n $$.arcs.select('.' + CLASS.chartArcsGaugeMin).attr(\"dx\", -1 * ($$.innerRadius + ($$.radius - $$.innerRadius) / (config.gauge_fullCircle ? 1 : 2)) + \"px\").attr(\"dy\", \"1.2em\").text(config.gauge_label_show ? $$.textForGaugeMinMax(config.gauge_min, false) : '');\n $$.arcs.select('.' + CLASS.chartArcsGaugeMax).attr(\"dx\", $$.innerRadius + ($$.radius - $$.innerRadius) / (config.gauge_fullCircle ? 1 : 2) + \"px\").attr(\"dy\", \"1.2em\").text(config.gauge_label_show ? $$.textForGaugeMinMax(config.gauge_max, true) : '');\n }\n };\n c3_chart_internal_fn.initGauge = function () {\n var arcs = this.arcs;\n if (this.hasType('gauge')) {\n arcs.append('g').attr(\"class\", CLASS.chartArcsBackground);\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeUnit).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeMin).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n arcs.append(\"text\").attr(\"class\", CLASS.chartArcsGaugeMax).style(\"text-anchor\", \"middle\").style(\"pointer-events\", \"none\");\n }\n };\n c3_chart_internal_fn.getGaugeLabelHeight = function () {\n return this.config.gauge_label_show ? 20 : 0;\n };\n\n c3_chart_internal_fn.hasCaches = function (ids) {\n for (var i = 0; i < ids.length; i++) {\n if (!(ids[i] in this.cache)) {\n return false;\n }\n }\n return true;\n };\n c3_chart_internal_fn.addCache = function (id, target) {\n this.cache[id] = this.cloneTarget(target);\n };\n c3_chart_internal_fn.getCaches = function (ids) {\n var targets = [],\n i;\n for (i = 0; i < ids.length; i++) {\n if (ids[i] in this.cache) {\n targets.push(this.cloneTarget(this.cache[ids[i]]));\n }\n }\n return targets;\n };\n\n c3_chart_internal_fn.categoryName = function (i) {\n var config = this.config;\n return i < config.axis_x_categories.length ? config.axis_x_categories[i] : i;\n };\n\n c3_chart_internal_fn.generateClass = function (prefix, targetId) {\n return \" \" + prefix + \" \" + prefix + this.getTargetSelectorSuffix(targetId);\n };\n c3_chart_internal_fn.classText = function (d) {\n return this.generateClass(CLASS.text, d.index);\n };\n c3_chart_internal_fn.classTexts = function (d) {\n return this.generateClass(CLASS.texts, d.id);\n };\n c3_chart_internal_fn.classShape = function (d) {\n return this.generateClass(CLASS.shape, d.index);\n };\n c3_chart_internal_fn.classShapes = function (d) {\n return this.generateClass(CLASS.shapes, d.id);\n };\n c3_chart_internal_fn.classLine = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.line, d.id);\n };\n c3_chart_internal_fn.classLines = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.lines, d.id);\n };\n c3_chart_internal_fn.classCircle = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.circle, d.index);\n };\n c3_chart_internal_fn.classCircles = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.circles, d.id);\n };\n c3_chart_internal_fn.classBar = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.bar, d.index);\n };\n c3_chart_internal_fn.classBars = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.bars, d.id);\n };\n c3_chart_internal_fn.classArc = function (d) {\n return this.classShape(d.data) + this.generateClass(CLASS.arc, d.data.id);\n };\n c3_chart_internal_fn.classArcs = function (d) {\n return this.classShapes(d.data) + this.generateClass(CLASS.arcs, d.data.id);\n };\n c3_chart_internal_fn.classArea = function (d) {\n return this.classShape(d) + this.generateClass(CLASS.area, d.id);\n };\n c3_chart_internal_fn.classAreas = function (d) {\n return this.classShapes(d) + this.generateClass(CLASS.areas, d.id);\n };\n c3_chart_internal_fn.classRegion = function (d, i) {\n return this.generateClass(CLASS.region, i) + ' ' + ('class' in d ? d['class'] : '');\n };\n c3_chart_internal_fn.classEvent = function (d) {\n return this.generateClass(CLASS.eventRect, d.index);\n };\n c3_chart_internal_fn.classTarget = function (id) {\n var $$ = this;\n var additionalClassSuffix = $$.config.data_classes[id],\n additionalClass = '';\n if (additionalClassSuffix) {\n additionalClass = ' ' + CLASS.target + '-' + additionalClassSuffix;\n }\n return $$.generateClass(CLASS.target, id) + additionalClass;\n };\n c3_chart_internal_fn.classFocus = function (d) {\n return this.classFocused(d) + this.classDefocused(d);\n };\n c3_chart_internal_fn.classFocused = function (d) {\n return ' ' + (this.focusedTargetIds.indexOf(d.id) >= 0 ? CLASS.focused : '');\n };\n c3_chart_internal_fn.classDefocused = function (d) {\n return ' ' + (this.defocusedTargetIds.indexOf(d.id) >= 0 ? CLASS.defocused : '');\n };\n c3_chart_internal_fn.classChartText = function (d) {\n return CLASS.chartText + this.classTarget(d.id);\n };\n c3_chart_internal_fn.classChartLine = function (d) {\n return CLASS.chartLine + this.classTarget(d.id);\n };\n c3_chart_internal_fn.classChartBar = function (d) {\n return CLASS.chartBar + this.classTarget(d.id);\n };\n c3_chart_internal_fn.classChartArc = function (d) {\n return CLASS.chartArc + this.classTarget(d.data.id);\n };\n c3_chart_internal_fn.getTargetSelectorSuffix = function (targetId) {\n return targetId || targetId === 0 ? ('-' + targetId).replace(/[\\s?!@#$%^&*()_=+,.<>'\":;\\[\\]\\/|~`{}\\\\]/g, '-') : '';\n };\n c3_chart_internal_fn.selectorTarget = function (id, prefix) {\n return (prefix || '') + '.' + CLASS.target + this.getTargetSelectorSuffix(id);\n };\n c3_chart_internal_fn.selectorTargets = function (ids, prefix) {\n var $$ = this;\n ids = ids || [];\n return ids.length ? ids.map(function (id) {\n return $$.selectorTarget(id, prefix);\n }) : null;\n };\n c3_chart_internal_fn.selectorLegend = function (id) {\n return '.' + CLASS.legendItem + this.getTargetSelectorSuffix(id);\n };\n c3_chart_internal_fn.selectorLegends = function (ids) {\n var $$ = this;\n return ids && ids.length ? ids.map(function (id) {\n return $$.selectorLegend(id);\n }) : null;\n };\n\n c3_chart_internal_fn.getClipPath = function (id) {\n var isIE9 = window.navigator.appVersion.toLowerCase().indexOf(\"msie 9.\") >= 0;\n return \"url(\" + (isIE9 ? \"\" : document.URL.split('#')[0]) + \"#\" + id + \")\";\n };\n c3_chart_internal_fn.appendClip = function (parent, id) {\n return parent.append(\"clipPath\").attr(\"id\", id).append(\"rect\");\n };\n c3_chart_internal_fn.getAxisClipX = function (forHorizontal) {\n // axis line width + padding for left\n var left = Math.max(30, this.margin.left);\n return forHorizontal ? -(1 + left) : -(left - 1);\n };\n c3_chart_internal_fn.getAxisClipY = function (forHorizontal) {\n return forHorizontal ? -20 : -this.margin.top;\n };\n c3_chart_internal_fn.getXAxisClipX = function () {\n var $$ = this;\n return $$.getAxisClipX(!$$.config.axis_rotated);\n };\n c3_chart_internal_fn.getXAxisClipY = function () {\n var $$ = this;\n return $$.getAxisClipY(!$$.config.axis_rotated);\n };\n c3_chart_internal_fn.getYAxisClipX = function () {\n var $$ = this;\n return $$.config.axis_y_inner ? -1 : $$.getAxisClipX($$.config.axis_rotated);\n };\n c3_chart_internal_fn.getYAxisClipY = function () {\n var $$ = this;\n return $$.getAxisClipY($$.config.axis_rotated);\n };\n c3_chart_internal_fn.getAxisClipWidth = function (forHorizontal) {\n var $$ = this,\n left = Math.max(30, $$.margin.left),\n right = Math.max(30, $$.margin.right);\n // width + axis line width + padding for left/right\n return forHorizontal ? $$.width + 2 + left + right : $$.margin.left + 20;\n };\n c3_chart_internal_fn.getAxisClipHeight = function (forHorizontal) {\n // less than 20 is not enough to show the axis label 'outer' without legend\n return (forHorizontal ? this.margin.bottom : this.margin.top + this.height) + 20;\n };\n c3_chart_internal_fn.getXAxisClipWidth = function () {\n var $$ = this;\n return $$.getAxisClipWidth(!$$.config.axis_rotated);\n };\n c3_chart_internal_fn.getXAxisClipHeight = function () {\n var $$ = this;\n return $$.getAxisClipHeight(!$$.config.axis_rotated);\n };\n c3_chart_internal_fn.getYAxisClipWidth = function () {\n var $$ = this;\n return $$.getAxisClipWidth($$.config.axis_rotated) + ($$.config.axis_y_inner ? 20 : 0);\n };\n c3_chart_internal_fn.getYAxisClipHeight = function () {\n var $$ = this;\n return $$.getAxisClipHeight($$.config.axis_rotated);\n };\n\n c3_chart_internal_fn.generateColor = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n colors = config.data_colors,\n pattern = notEmpty(config.color_pattern) ? config.color_pattern : d3.scale.category10().range(),\n callback = config.data_color,\n ids = [];\n\n return function (d) {\n var id = d.id || d.data && d.data.id || d,\n color;\n\n // if callback function is provided\n if (colors[id] instanceof Function) {\n color = colors[id](d);\n }\n // if specified, choose that color\n else if (colors[id]) {\n color = colors[id];\n }\n // if not specified, choose from pattern\n else {\n if (ids.indexOf(id) < 0) {\n ids.push(id);\n }\n color = pattern[ids.indexOf(id) % pattern.length];\n colors[id] = color;\n }\n return callback instanceof Function ? callback(color, d) : color;\n };\n };\n c3_chart_internal_fn.generateLevelColor = function () {\n var $$ = this,\n config = $$.config,\n colors = config.color_pattern,\n threshold = config.color_threshold,\n asValue = threshold.unit === 'value',\n values = threshold.values && threshold.values.length ? threshold.values : [],\n max = threshold.max || 100;\n return notEmpty(config.color_threshold) ? function (value) {\n var i,\n v,\n color = colors[colors.length - 1];\n for (i = 0; i < values.length; i++) {\n v = asValue ? value : value * 100 / max;\n if (v < values[i]) {\n color = colors[i];\n break;\n }\n }\n return color;\n } : null;\n };\n\n c3_chart_internal_fn.getDefaultConfig = function () {\n var config = {\n bindto: '#chart',\n svg_classname: undefined,\n size_width: undefined,\n size_height: undefined,\n padding_left: undefined,\n padding_right: undefined,\n padding_top: undefined,\n padding_bottom: undefined,\n resize_auto: true,\n zoom_enabled: false,\n zoom_extent: undefined,\n zoom_privileged: false,\n zoom_rescale: false,\n zoom_onzoom: function zoom_onzoom() {},\n zoom_onzoomstart: function zoom_onzoomstart() {},\n zoom_onzoomend: function zoom_onzoomend() {},\n zoom_x_min: undefined,\n zoom_x_max: undefined,\n interaction_brighten: true,\n interaction_enabled: true,\n onmouseover: function onmouseover() {},\n onmouseout: function onmouseout() {},\n onresize: function onresize() {},\n onresized: function onresized() {},\n oninit: function oninit() {},\n onrendered: function onrendered() {},\n transition_duration: 350,\n data_x: undefined,\n data_xs: {},\n data_xFormat: '%Y-%m-%d',\n data_xLocaltime: true,\n data_xSort: true,\n data_idConverter: function data_idConverter(id) {\n return id;\n },\n data_names: {},\n data_classes: {},\n data_groups: [],\n data_axes: {},\n data_type: undefined,\n data_types: {},\n data_labels: {},\n data_order: 'desc',\n data_regions: {},\n data_color: undefined,\n data_colors: {},\n data_hide: false,\n data_filter: undefined,\n data_selection_enabled: false,\n data_selection_grouped: false,\n data_selection_isselectable: function data_selection_isselectable() {\n return true;\n },\n data_selection_multiple: true,\n data_selection_draggable: false,\n data_onclick: function data_onclick() {},\n data_onmouseover: function data_onmouseover() {},\n data_onmouseout: function data_onmouseout() {},\n data_onselected: function data_onselected() {},\n data_onunselected: function data_onunselected() {},\n data_url: undefined,\n data_headers: undefined,\n data_json: undefined,\n data_rows: undefined,\n data_columns: undefined,\n data_mimeType: undefined,\n data_keys: undefined,\n // configuration for no plot-able data supplied.\n data_empty_label_text: \"\",\n // subchart\n subchart_show: false,\n subchart_size_height: 60,\n subchart_axis_x_show: true,\n subchart_onbrush: function subchart_onbrush() {},\n // color\n color_pattern: [],\n color_threshold: {},\n // legend\n legend_show: true,\n legend_hide: false,\n legend_position: 'bottom',\n legend_inset_anchor: 'top-left',\n legend_inset_x: 10,\n legend_inset_y: 0,\n legend_inset_step: undefined,\n legend_item_onclick: undefined,\n legend_item_onmouseover: undefined,\n legend_item_onmouseout: undefined,\n legend_equally: false,\n legend_padding: 0,\n legend_item_tile_width: 10,\n legend_item_tile_height: 10,\n // axis\n axis_rotated: false,\n axis_x_show: true,\n axis_x_type: 'indexed',\n axis_x_localtime: true,\n axis_x_categories: [],\n axis_x_tick_centered: false,\n axis_x_tick_format: undefined,\n axis_x_tick_culling: {},\n axis_x_tick_culling_max: 10,\n axis_x_tick_count: undefined,\n axis_x_tick_fit: true,\n axis_x_tick_values: null,\n axis_x_tick_rotate: 0,\n axis_x_tick_outer: true,\n axis_x_tick_multiline: true,\n axis_x_tick_width: null,\n axis_x_max: undefined,\n axis_x_min: undefined,\n axis_x_padding: {},\n axis_x_height: undefined,\n axis_x_extent: undefined,\n axis_x_label: {},\n axis_x_inner: undefined,\n axis_y_show: true,\n axis_y_type: undefined,\n axis_y_max: undefined,\n axis_y_min: undefined,\n axis_y_inverted: false,\n axis_y_center: undefined,\n axis_y_inner: undefined,\n axis_y_label: {},\n axis_y_tick_format: undefined,\n axis_y_tick_outer: true,\n axis_y_tick_values: null,\n axis_y_tick_rotate: 0,\n axis_y_tick_count: undefined,\n axis_y_tick_time_value: undefined,\n axis_y_tick_time_interval: undefined,\n axis_y_padding: {},\n axis_y_default: undefined,\n axis_y2_show: false,\n axis_y2_max: undefined,\n axis_y2_min: undefined,\n axis_y2_inverted: false,\n axis_y2_center: undefined,\n axis_y2_inner: undefined,\n axis_y2_label: {},\n axis_y2_tick_format: undefined,\n axis_y2_tick_outer: true,\n axis_y2_tick_values: null,\n axis_y2_tick_count: undefined,\n axis_y2_padding: {},\n axis_y2_default: undefined,\n // grid\n grid_x_show: false,\n grid_x_type: 'tick',\n grid_x_lines: [],\n grid_y_show: false,\n // not used\n // grid_y_type: 'tick',\n grid_y_lines: [],\n grid_y_ticks: 10,\n grid_focus_show: true,\n grid_lines_front: true,\n // point - point of each data\n point_show: true,\n point_r: 2.5,\n point_sensitivity: 10,\n point_focus_expand_enabled: true,\n point_focus_expand_r: undefined,\n point_select_r: undefined,\n // line\n line_connectNull: false,\n line_step_type: 'step',\n // bar\n bar_width: undefined,\n bar_width_ratio: 0.6,\n bar_width_max: undefined,\n bar_zerobased: true,\n bar_space: 0,\n // area\n area_zerobased: true,\n area_above: false,\n // pie\n pie_label_show: true,\n pie_label_format: undefined,\n pie_label_threshold: 0.05,\n pie_label_ratio: undefined,\n pie_expand: {},\n pie_expand_duration: 50,\n // gauge\n gauge_fullCircle: false,\n gauge_label_show: true,\n gauge_labelLine_show: true,\n gauge_label_format: undefined,\n gauge_min: 0,\n gauge_max: 100,\n gauge_startingAngle: -1 * Math.PI / 2,\n gauge_label_extents: undefined,\n gauge_units: undefined,\n gauge_width: undefined,\n gauge_arcs_minWidth: 5,\n gauge_expand: {},\n gauge_expand_duration: 50,\n // donut\n donut_label_show: true,\n donut_label_format: undefined,\n donut_label_threshold: 0.05,\n donut_label_ratio: undefined,\n donut_width: undefined,\n donut_title: \"\",\n donut_expand: {},\n donut_expand_duration: 50,\n // spline\n spline_interpolation_type: 'cardinal',\n // region - region to change style\n regions: [],\n // tooltip - show when mouseover on each data\n tooltip_show: true,\n tooltip_grouped: true,\n tooltip_order: undefined,\n tooltip_format_title: undefined,\n tooltip_format_name: undefined,\n tooltip_format_value: undefined,\n tooltip_position: undefined,\n tooltip_contents: function tooltip_contents(d, defaultTitleFormat, defaultValueFormat, color) {\n return this.getTooltipContent ? this.getTooltipContent(d, defaultTitleFormat, defaultValueFormat, color) : '';\n },\n tooltip_init_show: false,\n tooltip_init_x: 0,\n tooltip_init_position: { top: '0px', left: '50px' },\n tooltip_onshow: function tooltip_onshow() {},\n tooltip_onhide: function tooltip_onhide() {},\n // title\n title_text: undefined,\n title_padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n title_position: 'top-center'\n };\n\n Object.keys(this.additionalConfig).forEach(function (key) {\n config[key] = this.additionalConfig[key];\n }, this);\n\n return config;\n };\n c3_chart_internal_fn.additionalConfig = {};\n\n c3_chart_internal_fn.loadConfig = function (config) {\n var this_config = this.config,\n target,\n keys,\n read;\n function find() {\n var key = keys.shift();\n // console.log(\"key =>\", key, \", target =>\", target);\n if (key && target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && key in target) {\n target = target[key];\n return find();\n } else if (!key) {\n return target;\n } else {\n return undefined;\n }\n }\n Object.keys(this_config).forEach(function (key) {\n target = config;\n keys = key.split('_');\n read = find();\n // console.log(\"CONFIG : \", key, read);\n if (isDefined(read)) {\n this_config[key] = read;\n }\n });\n };\n\n c3_chart_internal_fn.convertUrlToData = function (url, mimeType, headers, keys, done) {\n var $$ = this,\n type = mimeType ? mimeType : 'csv';\n var req = $$.d3.xhr(url);\n if (headers) {\n Object.keys(headers).forEach(function (header) {\n req.header(header, headers[header]);\n });\n }\n req.get(function (error, data) {\n var d;\n var dataResponse = data.response || data.responseText; // Fixes IE9 XHR issue; see #1345\n if (!data) {\n throw new Error(error.responseURL + ' ' + error.status + ' (' + error.statusText + ')');\n }\n if (type === 'json') {\n d = $$.convertJsonToData(JSON.parse(dataResponse), keys);\n } else if (type === 'tsv') {\n d = $$.convertTsvToData(dataResponse);\n } else {\n d = $$.convertCsvToData(dataResponse);\n }\n done.call($$, d);\n });\n };\n c3_chart_internal_fn.convertXsvToData = function (xsv, parser) {\n var rows = parser.parseRows(xsv),\n d;\n if (rows.length === 1) {\n d = [{}];\n rows[0].forEach(function (id) {\n d[0][id] = null;\n });\n } else {\n d = parser.parse(xsv);\n }\n return d;\n };\n c3_chart_internal_fn.convertCsvToData = function (csv) {\n return this.convertXsvToData(csv, this.d3.csv);\n };\n c3_chart_internal_fn.convertTsvToData = function (tsv) {\n return this.convertXsvToData(tsv, this.d3.tsv);\n };\n c3_chart_internal_fn.convertJsonToData = function (json, keys) {\n var $$ = this,\n new_rows = [],\n targetKeys,\n data;\n if (keys) {\n // when keys specified, json would be an array that includes objects\n if (keys.x) {\n targetKeys = keys.value.concat(keys.x);\n $$.config.data_x = keys.x;\n } else {\n targetKeys = keys.value;\n }\n new_rows.push(targetKeys);\n json.forEach(function (o) {\n var new_row = [];\n targetKeys.forEach(function (key) {\n // convert undefined to null because undefined data will be removed in convertDataToTargets()\n var v = $$.findValueInJson(o, key);\n if (isUndefined(v)) {\n v = null;\n }\n new_row.push(v);\n });\n new_rows.push(new_row);\n });\n data = $$.convertRowsToData(new_rows);\n } else {\n Object.keys(json).forEach(function (key) {\n new_rows.push([key].concat(json[key]));\n });\n data = $$.convertColumnsToData(new_rows);\n }\n return data;\n };\n c3_chart_internal_fn.findValueInJson = function (object, path) {\n path = path.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties (replace [] with .)\n path = path.replace(/^\\./, ''); // strip a leading dot\n var pathArray = path.split('.');\n for (var i = 0; i < pathArray.length; ++i) {\n var k = pathArray[i];\n if (k in object) {\n object = object[k];\n } else {\n return;\n }\n }\n return object;\n };\n\n /**\n * Converts the rows to normalized data.\n * @param {any[][]} rows The row data\n * @return {Object[]}\n */\n c3_chart_internal_fn.convertRowsToData = function (rows) {\n var newRows = [];\n var keys = rows[0];\n\n for (var i = 1; i < rows.length; i++) {\n var newRow = {};\n for (var j = 0; j < rows[i].length; j++) {\n if (isUndefined(rows[i][j])) {\n throw new Error(\"Source data is missing a component at (\" + i + \",\" + j + \")!\");\n }\n newRow[keys[j]] = rows[i][j];\n }\n newRows.push(newRow);\n }\n return newRows;\n };\n\n /**\n * Converts the columns to normalized data.\n * @param {any[][]} columns The column data\n * @return {Object[]}\n */\n c3_chart_internal_fn.convertColumnsToData = function (columns) {\n var newRows = [];\n\n for (var i = 0; i < columns.length; i++) {\n var key = columns[i][0];\n for (var j = 1; j < columns[i].length; j++) {\n if (isUndefined(newRows[j - 1])) {\n newRows[j - 1] = {};\n }\n if (isUndefined(columns[i][j])) {\n throw new Error(\"Source data is missing a component at (\" + i + \",\" + j + \")!\");\n }\n newRows[j - 1][key] = columns[i][j];\n }\n }\n\n return newRows;\n };\n\n c3_chart_internal_fn.convertDataToTargets = function (data, appendXs) {\n var $$ = this,\n config = $$.config,\n ids = $$.d3.keys(data[0]).filter($$.isNotX, $$),\n xs = $$.d3.keys(data[0]).filter($$.isX, $$),\n targets;\n\n // save x for update data by load when custom x and c3.x API\n ids.forEach(function (id) {\n var xKey = $$.getXKey(id);\n\n if ($$.isCustomX() || $$.isTimeSeries()) {\n // if included in input data\n if (xs.indexOf(xKey) >= 0) {\n $$.data.xs[id] = (appendXs && $$.data.xs[id] ? $$.data.xs[id] : []).concat(data.map(function (d) {\n return d[xKey];\n }).filter(isValue).map(function (rawX, i) {\n return $$.generateTargetX(rawX, id, i);\n }));\n }\n // if not included in input data, find from preloaded data of other id's x\n else if (config.data_x) {\n $$.data.xs[id] = $$.getOtherTargetXs();\n }\n // if not included in input data, find from preloaded data\n else if (notEmpty(config.data_xs)) {\n $$.data.xs[id] = $$.getXValuesOfXKey(xKey, $$.data.targets);\n }\n // MEMO: if no x included, use same x of current will be used\n } else {\n $$.data.xs[id] = data.map(function (d, i) {\n return i;\n });\n }\n });\n\n // check x is defined\n ids.forEach(function (id) {\n if (!$$.data.xs[id]) {\n throw new Error('x is not defined for id = \"' + id + '\".');\n }\n });\n\n // convert to target\n targets = ids.map(function (id, index) {\n var convertedId = config.data_idConverter(id);\n return {\n id: convertedId,\n id_org: id,\n values: data.map(function (d, i) {\n var xKey = $$.getXKey(id),\n rawX = d[xKey],\n value = d[id] !== null && !isNaN(d[id]) ? +d[id] : null,\n x;\n // use x as categories if custom x and categorized\n if ($$.isCustomX() && $$.isCategorized() && !isUndefined(rawX)) {\n if (index === 0 && i === 0) {\n config.axis_x_categories = [];\n }\n x = config.axis_x_categories.indexOf(rawX);\n if (x === -1) {\n x = config.axis_x_categories.length;\n config.axis_x_categories.push(rawX);\n }\n } else {\n x = $$.generateTargetX(rawX, id, i);\n }\n // mark as x = undefined if value is undefined and filter to remove after mapped\n if (isUndefined(d[id]) || $$.data.xs[id].length <= i) {\n x = undefined;\n }\n return { x: x, value: value, id: convertedId };\n }).filter(function (v) {\n return isDefined(v.x);\n })\n };\n });\n\n // finish targets\n targets.forEach(function (t) {\n var i;\n // sort values by its x\n if (config.data_xSort) {\n t.values = t.values.sort(function (v1, v2) {\n var x1 = v1.x || v1.x === 0 ? v1.x : Infinity,\n x2 = v2.x || v2.x === 0 ? v2.x : Infinity;\n return x1 - x2;\n });\n }\n // indexing each value\n i = 0;\n t.values.forEach(function (v) {\n v.index = i++;\n });\n // this needs to be sorted because its index and value.index is identical\n $$.data.xs[t.id].sort(function (v1, v2) {\n return v1 - v2;\n });\n });\n\n // cache information about values\n $$.hasNegativeValue = $$.hasNegativeValueInTargets(targets);\n $$.hasPositiveValue = $$.hasPositiveValueInTargets(targets);\n\n // set target types\n if (config.data_type) {\n $$.setTargetType($$.mapToIds(targets).filter(function (id) {\n return !(id in config.data_types);\n }), config.data_type);\n }\n\n // cache as original id keyed\n targets.forEach(function (d) {\n $$.addCache(d.id_org, d);\n });\n\n return targets;\n };\n\n c3_chart_internal_fn.isX = function (key) {\n var $$ = this,\n config = $$.config;\n return config.data_x && key === config.data_x || notEmpty(config.data_xs) && hasValue(config.data_xs, key);\n };\n c3_chart_internal_fn.isNotX = function (key) {\n return !this.isX(key);\n };\n c3_chart_internal_fn.getXKey = function (id) {\n var $$ = this,\n config = $$.config;\n return config.data_x ? config.data_x : notEmpty(config.data_xs) ? config.data_xs[id] : null;\n };\n c3_chart_internal_fn.getXValuesOfXKey = function (key, targets) {\n var $$ = this,\n xValues,\n ids = targets && notEmpty(targets) ? $$.mapToIds(targets) : [];\n ids.forEach(function (id) {\n if ($$.getXKey(id) === key) {\n xValues = $$.data.xs[id];\n }\n });\n return xValues;\n };\n c3_chart_internal_fn.getIndexByX = function (x) {\n var $$ = this,\n data = $$.filterByX($$.data.targets, x);\n return data.length ? data[0].index : null;\n };\n c3_chart_internal_fn.getXValue = function (id, i) {\n var $$ = this;\n return id in $$.data.xs && $$.data.xs[id] && isValue($$.data.xs[id][i]) ? $$.data.xs[id][i] : i;\n };\n c3_chart_internal_fn.getOtherTargetXs = function () {\n var $$ = this,\n idsForX = Object.keys($$.data.xs);\n return idsForX.length ? $$.data.xs[idsForX[0]] : null;\n };\n c3_chart_internal_fn.getOtherTargetX = function (index) {\n var xs = this.getOtherTargetXs();\n return xs && index < xs.length ? xs[index] : null;\n };\n c3_chart_internal_fn.addXs = function (xs) {\n var $$ = this;\n Object.keys(xs).forEach(function (id) {\n $$.config.data_xs[id] = xs[id];\n });\n };\n c3_chart_internal_fn.hasMultipleX = function (xs) {\n return this.d3.set(Object.keys(xs).map(function (id) {\n return xs[id];\n })).size() > 1;\n };\n c3_chart_internal_fn.isMultipleX = function () {\n return notEmpty(this.config.data_xs) || !this.config.data_xSort || this.hasType('scatter');\n };\n c3_chart_internal_fn.addName = function (data) {\n var $$ = this,\n name;\n if (data) {\n name = $$.config.data_names[data.id];\n data.name = name !== undefined ? name : data.id;\n }\n return data;\n };\n c3_chart_internal_fn.getValueOnIndex = function (values, index) {\n var valueOnIndex = values.filter(function (v) {\n return v.index === index;\n });\n return valueOnIndex.length ? valueOnIndex[0] : null;\n };\n c3_chart_internal_fn.updateTargetX = function (targets, x) {\n var $$ = this;\n targets.forEach(function (t) {\n t.values.forEach(function (v, i) {\n v.x = $$.generateTargetX(x[i], t.id, i);\n });\n $$.data.xs[t.id] = x;\n });\n };\n c3_chart_internal_fn.updateTargetXs = function (targets, xs) {\n var $$ = this;\n targets.forEach(function (t) {\n if (xs[t.id]) {\n $$.updateTargetX([t], xs[t.id]);\n }\n });\n };\n c3_chart_internal_fn.generateTargetX = function (rawX, id, index) {\n var $$ = this,\n x;\n if ($$.isTimeSeries()) {\n x = rawX ? $$.parseDate(rawX) : $$.parseDate($$.getXValue(id, index));\n } else if ($$.isCustomX() && !$$.isCategorized()) {\n x = isValue(rawX) ? +rawX : $$.getXValue(id, index);\n } else {\n x = index;\n }\n return x;\n };\n c3_chart_internal_fn.cloneTarget = function (target) {\n return {\n id: target.id,\n id_org: target.id_org,\n values: target.values.map(function (d) {\n return { x: d.x, value: d.value, id: d.id };\n })\n };\n };\n c3_chart_internal_fn.updateXs = function () {\n var $$ = this;\n if ($$.data.targets.length) {\n $$.xs = [];\n $$.data.targets[0].values.forEach(function (v) {\n $$.xs[v.index] = v.x;\n });\n }\n };\n c3_chart_internal_fn.getPrevX = function (i) {\n var x = this.xs[i - 1];\n return typeof x !== 'undefined' ? x : null;\n };\n c3_chart_internal_fn.getNextX = function (i) {\n var x = this.xs[i + 1];\n return typeof x !== 'undefined' ? x : null;\n };\n c3_chart_internal_fn.getMaxDataCount = function () {\n var $$ = this;\n return $$.d3.max($$.data.targets, function (t) {\n return t.values.length;\n });\n };\n c3_chart_internal_fn.getMaxDataCountTarget = function (targets) {\n var length = targets.length,\n max = 0,\n maxTarget;\n if (length > 1) {\n targets.forEach(function (t) {\n if (t.values.length > max) {\n maxTarget = t;\n max = t.values.length;\n }\n });\n } else {\n maxTarget = length ? targets[0] : null;\n }\n return maxTarget;\n };\n c3_chart_internal_fn.getEdgeX = function (targets) {\n var $$ = this;\n return !targets.length ? [0, 0] : [$$.d3.min(targets, function (t) {\n return t.values[0].x;\n }), $$.d3.max(targets, function (t) {\n return t.values[t.values.length - 1].x;\n })];\n };\n c3_chart_internal_fn.mapToIds = function (targets) {\n return targets.map(function (d) {\n return d.id;\n });\n };\n c3_chart_internal_fn.mapToTargetIds = function (ids) {\n var $$ = this;\n return ids ? [].concat(ids) : $$.mapToIds($$.data.targets);\n };\n c3_chart_internal_fn.hasTarget = function (targets, id) {\n var ids = this.mapToIds(targets),\n i;\n for (i = 0; i < ids.length; i++) {\n if (ids[i] === id) {\n return true;\n }\n }\n return false;\n };\n c3_chart_internal_fn.isTargetToShow = function (targetId) {\n return this.hiddenTargetIds.indexOf(targetId) < 0;\n };\n c3_chart_internal_fn.isLegendToShow = function (targetId) {\n return this.hiddenLegendIds.indexOf(targetId) < 0;\n };\n c3_chart_internal_fn.filterTargetsToShow = function (targets) {\n var $$ = this;\n return targets.filter(function (t) {\n return $$.isTargetToShow(t.id);\n });\n };\n c3_chart_internal_fn.mapTargetsToUniqueXs = function (targets) {\n var $$ = this;\n var xs = $$.d3.set($$.d3.merge(targets.map(function (t) {\n return t.values.map(function (v) {\n return +v.x;\n });\n }))).values();\n xs = $$.isTimeSeries() ? xs.map(function (x) {\n return new Date(+x);\n }) : xs.map(function (x) {\n return +x;\n });\n return xs.sort(function (a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n });\n };\n c3_chart_internal_fn.addHiddenTargetIds = function (targetIds) {\n targetIds = targetIds instanceof Array ? targetIds : new Array(targetIds);\n for (var i = 0; i < targetIds.length; i++) {\n if (this.hiddenTargetIds.indexOf(targetIds[i]) < 0) {\n this.hiddenTargetIds = this.hiddenTargetIds.concat(targetIds[i]);\n }\n }\n };\n c3_chart_internal_fn.removeHiddenTargetIds = function (targetIds) {\n this.hiddenTargetIds = this.hiddenTargetIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n c3_chart_internal_fn.addHiddenLegendIds = function (targetIds) {\n targetIds = targetIds instanceof Array ? targetIds : new Array(targetIds);\n for (var i = 0; i < targetIds.length; i++) {\n if (this.hiddenLegendIds.indexOf(targetIds[i]) < 0) {\n this.hiddenLegendIds = this.hiddenLegendIds.concat(targetIds[i]);\n }\n }\n };\n c3_chart_internal_fn.removeHiddenLegendIds = function (targetIds) {\n this.hiddenLegendIds = this.hiddenLegendIds.filter(function (id) {\n return targetIds.indexOf(id) < 0;\n });\n };\n c3_chart_internal_fn.getValuesAsIdKeyed = function (targets) {\n var ys = {};\n targets.forEach(function (t) {\n ys[t.id] = [];\n t.values.forEach(function (v) {\n ys[t.id].push(v.value);\n });\n });\n return ys;\n };\n c3_chart_internal_fn.checkValueInTargets = function (targets, checker) {\n var ids = Object.keys(targets),\n i,\n j,\n values;\n for (i = 0; i < ids.length; i++) {\n values = targets[ids[i]].values;\n for (j = 0; j < values.length; j++) {\n if (checker(values[j].value)) {\n return true;\n }\n }\n }\n return false;\n };\n c3_chart_internal_fn.hasNegativeValueInTargets = function (targets) {\n return this.checkValueInTargets(targets, function (v) {\n return v < 0;\n });\n };\n c3_chart_internal_fn.hasPositiveValueInTargets = function (targets) {\n return this.checkValueInTargets(targets, function (v) {\n return v > 0;\n });\n };\n c3_chart_internal_fn.isOrderDesc = function () {\n var config = this.config;\n return typeof config.data_order === 'string' && config.data_order.toLowerCase() === 'desc';\n };\n c3_chart_internal_fn.isOrderAsc = function () {\n var config = this.config;\n return typeof config.data_order === 'string' && config.data_order.toLowerCase() === 'asc';\n };\n c3_chart_internal_fn.getOrderFunction = function () {\n var $$ = this,\n config = $$.config,\n orderAsc = $$.isOrderAsc(),\n orderDesc = $$.isOrderDesc();\n if (orderAsc || orderDesc) {\n return function (t1, t2) {\n var reducer = function reducer(p, c) {\n return p + Math.abs(c.value);\n };\n var t1Sum = t1.values.reduce(reducer, 0),\n t2Sum = t2.values.reduce(reducer, 0);\n return orderDesc ? t2Sum - t1Sum : t1Sum - t2Sum;\n };\n } else if (isFunction(config.data_order)) {\n return config.data_order;\n } else if (isArray(config.data_order)) {\n var order = config.data_order;\n return function (t1, t2) {\n return order.indexOf(t1.id) - order.indexOf(t2.id);\n };\n }\n };\n c3_chart_internal_fn.orderTargets = function (targets) {\n var fct = this.getOrderFunction();\n if (fct) {\n targets.sort(fct);\n if (this.isOrderAsc() || this.isOrderDesc()) {\n targets.reverse();\n }\n }\n return targets;\n };\n c3_chart_internal_fn.filterByX = function (targets, x) {\n return this.d3.merge(targets.map(function (t) {\n return t.values;\n })).filter(function (v) {\n return v.x - x === 0;\n });\n };\n c3_chart_internal_fn.filterRemoveNull = function (data) {\n return data.filter(function (d) {\n return isValue(d.value);\n });\n };\n c3_chart_internal_fn.filterByXDomain = function (targets, xDomain) {\n return targets.map(function (t) {\n return {\n id: t.id,\n id_org: t.id_org,\n values: t.values.filter(function (v) {\n return xDomain[0] <= v.x && v.x <= xDomain[1];\n })\n };\n });\n };\n c3_chart_internal_fn.hasDataLabel = function () {\n var config = this.config;\n if (typeof config.data_labels === 'boolean' && config.data_labels) {\n return true;\n } else if (_typeof(config.data_labels) === 'object' && notEmpty(config.data_labels)) {\n return true;\n }\n return false;\n };\n c3_chart_internal_fn.getDataLabelLength = function (min, max, key) {\n var $$ = this,\n lengths = [0, 0],\n paddingCoef = 1.3;\n $$.selectChart.select('svg').selectAll('.dummy').data([min, max]).enter().append('text').text(function (d) {\n return $$.dataLabelFormat(d.id)(d);\n }).each(function (d, i) {\n lengths[i] = this.getBoundingClientRect()[key] * paddingCoef;\n }).remove();\n return lengths;\n };\n c3_chart_internal_fn.isNoneArc = function (d) {\n return this.hasTarget(this.data.targets, d.id);\n }, c3_chart_internal_fn.isArc = function (d) {\n return 'data' in d && this.hasTarget(this.data.targets, d.data.id);\n };\n c3_chart_internal_fn.findSameXOfValues = function (values, index) {\n var i,\n targetX = values[index].x,\n sames = [];\n for (i = index - 1; i >= 0; i--) {\n if (targetX !== values[i].x) {\n break;\n }\n sames.push(values[i]);\n }\n for (i = index; i < values.length; i++) {\n if (targetX !== values[i].x) {\n break;\n }\n sames.push(values[i]);\n }\n return sames;\n };\n\n c3_chart_internal_fn.findClosestFromTargets = function (targets, pos) {\n var $$ = this,\n candidates;\n\n // map to array of closest points of each target\n candidates = targets.map(function (target) {\n return $$.findClosest(target.values, pos);\n });\n\n // decide closest point and return\n return $$.findClosest(candidates, pos);\n };\n c3_chart_internal_fn.findClosest = function (values, pos) {\n var $$ = this,\n minDist = $$.config.point_sensitivity,\n closest;\n\n // find mouseovering bar\n values.filter(function (v) {\n return v && $$.isBarType(v.id);\n }).forEach(function (v) {\n var shape = $$.main.select('.' + CLASS.bars + $$.getTargetSelectorSuffix(v.id) + ' .' + CLASS.bar + '-' + v.index).node();\n if (!closest && $$.isWithinBar(shape)) {\n closest = v;\n }\n });\n\n // find closest point from non-bar\n values.filter(function (v) {\n return v && !$$.isBarType(v.id);\n }).forEach(function (v) {\n var d = $$.dist(v, pos);\n if (d < minDist) {\n minDist = d;\n closest = v;\n }\n });\n\n return closest;\n };\n c3_chart_internal_fn.dist = function (data, pos) {\n var $$ = this,\n config = $$.config,\n xIndex = config.axis_rotated ? 1 : 0,\n yIndex = config.axis_rotated ? 0 : 1,\n y = $$.circleY(data, data.index),\n x = $$.x(data.x);\n return Math.sqrt(Math.pow(x - pos[xIndex], 2) + Math.pow(y - pos[yIndex], 2));\n };\n c3_chart_internal_fn.convertValuesToStep = function (values) {\n var converted = [].concat(values),\n i;\n\n if (!this.isCategorized()) {\n return values;\n }\n\n for (i = values.length + 1; 0 < i; i--) {\n converted[i] = converted[i - 1];\n }\n\n converted[0] = {\n x: converted[0].x - 1,\n value: converted[0].value,\n id: converted[0].id\n };\n converted[values.length + 1] = {\n x: converted[values.length].x + 1,\n value: converted[values.length].value,\n id: converted[values.length].id\n };\n\n return converted;\n };\n c3_chart_internal_fn.updateDataAttributes = function (name, attrs) {\n var $$ = this,\n config = $$.config,\n current = config['data_' + name];\n if (typeof attrs === 'undefined') {\n return current;\n }\n Object.keys(attrs).forEach(function (id) {\n current[id] = attrs[id];\n });\n $$.redraw({ withLegend: true });\n return current;\n };\n\n c3_chart_internal_fn.load = function (targets, args) {\n var $$ = this;\n if (targets) {\n // filter loading targets if needed\n if (args.filter) {\n targets = targets.filter(args.filter);\n }\n // set type if args.types || args.type specified\n if (args.type || args.types) {\n targets.forEach(function (t) {\n var type = args.types && args.types[t.id] ? args.types[t.id] : args.type;\n $$.setTargetType(t.id, type);\n });\n }\n // Update/Add data\n $$.data.targets.forEach(function (d) {\n for (var i = 0; i < targets.length; i++) {\n if (d.id === targets[i].id) {\n d.values = targets[i].values;\n targets.splice(i, 1);\n break;\n }\n }\n });\n $$.data.targets = $$.data.targets.concat(targets); // add remained\n }\n\n // Set targets\n $$.updateTargets($$.data.targets);\n\n // Redraw with new targets\n $$.redraw({ withUpdateOrgXDomain: true, withUpdateXDomain: true, withLegend: true });\n\n if (args.done) {\n args.done();\n }\n };\n c3_chart_internal_fn.loadFromArgs = function (args) {\n var $$ = this;\n if (args.data) {\n $$.load($$.convertDataToTargets(args.data), args);\n } else if (args.url) {\n $$.convertUrlToData(args.url, args.mimeType, args.headers, args.keys, function (data) {\n $$.load($$.convertDataToTargets(data), args);\n });\n } else if (args.json) {\n $$.load($$.convertDataToTargets($$.convertJsonToData(args.json, args.keys)), args);\n } else if (args.rows) {\n $$.load($$.convertDataToTargets($$.convertRowsToData(args.rows)), args);\n } else if (args.columns) {\n $$.load($$.convertDataToTargets($$.convertColumnsToData(args.columns)), args);\n } else {\n $$.load(null, args);\n }\n };\n c3_chart_internal_fn.unload = function (targetIds, done) {\n var $$ = this;\n if (!done) {\n done = function done() {};\n }\n // filter existing target\n targetIds = targetIds.filter(function (id) {\n return $$.hasTarget($$.data.targets, id);\n });\n // If no target, call done and return\n if (!targetIds || targetIds.length === 0) {\n done();\n return;\n }\n $$.svg.selectAll(targetIds.map(function (id) {\n return $$.selectorTarget(id);\n })).transition().style('opacity', 0).remove().call($$.endall, done);\n targetIds.forEach(function (id) {\n // Reset fadein for future load\n $$.withoutFadeIn[id] = false;\n // Remove target's elements\n if ($$.legend) {\n $$.legend.selectAll('.' + CLASS.legendItem + $$.getTargetSelectorSuffix(id)).remove();\n }\n // Remove target\n $$.data.targets = $$.data.targets.filter(function (t) {\n return t.id !== id;\n });\n });\n };\n\n c3_chart_internal_fn.getYDomainMin = function (targets) {\n var $$ = this,\n config = $$.config,\n ids = $$.mapToIds(targets),\n ys = $$.getValuesAsIdKeyed(targets),\n j,\n k,\n baseId,\n idsInGroup,\n id,\n hasNegativeValue;\n if (config.data_groups.length > 0) {\n hasNegativeValue = $$.hasNegativeValueInTargets(targets);\n for (j = 0; j < config.data_groups.length; j++) {\n // Determine baseId\n idsInGroup = config.data_groups[j].filter(function (id) {\n return ids.indexOf(id) >= 0;\n });\n if (idsInGroup.length === 0) {\n continue;\n }\n baseId = idsInGroup[0];\n // Consider negative values\n if (hasNegativeValue && ys[baseId]) {\n ys[baseId].forEach(function (v, i) {\n ys[baseId][i] = v < 0 ? v : 0;\n });\n }\n // Compute min\n for (k = 1; k < idsInGroup.length; k++) {\n id = idsInGroup[k];\n if (!ys[id]) {\n continue;\n }\n ys[id].forEach(function (v, i) {\n if ($$.axis.getId(id) === $$.axis.getId(baseId) && ys[baseId] && !(hasNegativeValue && +v > 0)) {\n ys[baseId][i] += +v;\n }\n });\n }\n }\n }\n return $$.d3.min(Object.keys(ys).map(function (key) {\n return $$.d3.min(ys[key]);\n }));\n };\n c3_chart_internal_fn.getYDomainMax = function (targets) {\n var $$ = this,\n config = $$.config,\n ids = $$.mapToIds(targets),\n ys = $$.getValuesAsIdKeyed(targets),\n j,\n k,\n baseId,\n idsInGroup,\n id,\n hasPositiveValue;\n if (config.data_groups.length > 0) {\n hasPositiveValue = $$.hasPositiveValueInTargets(targets);\n for (j = 0; j < config.data_groups.length; j++) {\n // Determine baseId\n idsInGroup = config.data_groups[j].filter(function (id) {\n return ids.indexOf(id) >= 0;\n });\n if (idsInGroup.length === 0) {\n continue;\n }\n baseId = idsInGroup[0];\n // Consider positive values\n if (hasPositiveValue && ys[baseId]) {\n ys[baseId].forEach(function (v, i) {\n ys[baseId][i] = v > 0 ? v : 0;\n });\n }\n // Compute max\n for (k = 1; k < idsInGroup.length; k++) {\n id = idsInGroup[k];\n if (!ys[id]) {\n continue;\n }\n ys[id].forEach(function (v, i) {\n if ($$.axis.getId(id) === $$.axis.getId(baseId) && ys[baseId] && !(hasPositiveValue && +v < 0)) {\n ys[baseId][i] += +v;\n }\n });\n }\n }\n }\n return $$.d3.max(Object.keys(ys).map(function (key) {\n return $$.d3.max(ys[key]);\n }));\n };\n c3_chart_internal_fn.getYDomain = function (targets, axisId, xDomain) {\n var $$ = this,\n config = $$.config,\n targetsByAxisId = targets.filter(function (t) {\n return $$.axis.getId(t.id) === axisId;\n }),\n yTargets = xDomain ? $$.filterByXDomain(targetsByAxisId, xDomain) : targetsByAxisId,\n yMin = axisId === 'y2' ? config.axis_y2_min : config.axis_y_min,\n yMax = axisId === 'y2' ? config.axis_y2_max : config.axis_y_max,\n yDomainMin = $$.getYDomainMin(yTargets),\n yDomainMax = $$.getYDomainMax(yTargets),\n domain,\n domainLength,\n padding,\n padding_top,\n padding_bottom,\n center = axisId === 'y2' ? config.axis_y2_center : config.axis_y_center,\n yDomainAbs,\n lengths,\n diff,\n ratio,\n isAllPositive,\n isAllNegative,\n isZeroBased = $$.hasType('bar', yTargets) && config.bar_zerobased || $$.hasType('area', yTargets) && config.area_zerobased,\n isInverted = axisId === 'y2' ? config.axis_y2_inverted : config.axis_y_inverted,\n showHorizontalDataLabel = $$.hasDataLabel() && config.axis_rotated,\n showVerticalDataLabel = $$.hasDataLabel() && !config.axis_rotated;\n\n // MEMO: avoid inverting domain unexpectedly\n yDomainMin = isValue(yMin) ? yMin : isValue(yMax) ? yDomainMin < yMax ? yDomainMin : yMax - 10 : yDomainMin;\n yDomainMax = isValue(yMax) ? yMax : isValue(yMin) ? yMin < yDomainMax ? yDomainMax : yMin + 10 : yDomainMax;\n\n if (yTargets.length === 0) {\n // use current domain if target of axisId is none\n return axisId === 'y2' ? $$.y2.domain() : $$.y.domain();\n }\n if (isNaN(yDomainMin)) {\n // set minimum to zero when not number\n yDomainMin = 0;\n }\n if (isNaN(yDomainMax)) {\n // set maximum to have same value as yDomainMin\n yDomainMax = yDomainMin;\n }\n if (yDomainMin === yDomainMax) {\n yDomainMin < 0 ? yDomainMax = 0 : yDomainMin = 0;\n }\n isAllPositive = yDomainMin >= 0 && yDomainMax >= 0;\n isAllNegative = yDomainMin <= 0 && yDomainMax <= 0;\n\n // Cancel zerobased if axis_*_min / axis_*_max specified\n if (isValue(yMin) && isAllPositive || isValue(yMax) && isAllNegative) {\n isZeroBased = false;\n }\n\n // Bar/Area chart should be 0-based if all positive|negative\n if (isZeroBased) {\n if (isAllPositive) {\n yDomainMin = 0;\n }\n if (isAllNegative) {\n yDomainMax = 0;\n }\n }\n\n domainLength = Math.abs(yDomainMax - yDomainMin);\n padding = padding_top = padding_bottom = domainLength * 0.1;\n\n if (typeof center !== 'undefined') {\n yDomainAbs = Math.max(Math.abs(yDomainMin), Math.abs(yDomainMax));\n yDomainMax = center + yDomainAbs;\n yDomainMin = center - yDomainAbs;\n }\n // add padding for data label\n if (showHorizontalDataLabel) {\n lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, 'width');\n diff = diffDomain($$.y.range());\n ratio = [lengths[0] / diff, lengths[1] / diff];\n padding_top += domainLength * (ratio[1] / (1 - ratio[0] - ratio[1]));\n padding_bottom += domainLength * (ratio[0] / (1 - ratio[0] - ratio[1]));\n } else if (showVerticalDataLabel) {\n lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, 'height');\n padding_top += $$.axis.convertPixelsToAxisPadding(lengths[1], domainLength);\n padding_bottom += $$.axis.convertPixelsToAxisPadding(lengths[0], domainLength);\n }\n if (axisId === 'y' && notEmpty(config.axis_y_padding)) {\n padding_top = $$.axis.getPadding(config.axis_y_padding, 'top', padding_top, domainLength);\n padding_bottom = $$.axis.getPadding(config.axis_y_padding, 'bottom', padding_bottom, domainLength);\n }\n if (axisId === 'y2' && notEmpty(config.axis_y2_padding)) {\n padding_top = $$.axis.getPadding(config.axis_y2_padding, 'top', padding_top, domainLength);\n padding_bottom = $$.axis.getPadding(config.axis_y2_padding, 'bottom', padding_bottom, domainLength);\n }\n // Bar/Area chart should be 0-based if all positive|negative\n if (isZeroBased) {\n if (isAllPositive) {\n padding_bottom = yDomainMin;\n }\n if (isAllNegative) {\n padding_top = -yDomainMax;\n }\n }\n domain = [yDomainMin - padding_bottom, yDomainMax + padding_top];\n return isInverted ? domain.reverse() : domain;\n };\n c3_chart_internal_fn.getXDomainMin = function (targets) {\n var $$ = this,\n config = $$.config;\n return isDefined(config.axis_x_min) ? $$.isTimeSeries() ? this.parseDate(config.axis_x_min) : config.axis_x_min : $$.d3.min(targets, function (t) {\n return $$.d3.min(t.values, function (v) {\n return v.x;\n });\n });\n };\n c3_chart_internal_fn.getXDomainMax = function (targets) {\n var $$ = this,\n config = $$.config;\n return isDefined(config.axis_x_max) ? $$.isTimeSeries() ? this.parseDate(config.axis_x_max) : config.axis_x_max : $$.d3.max(targets, function (t) {\n return $$.d3.max(t.values, function (v) {\n return v.x;\n });\n });\n };\n c3_chart_internal_fn.getXDomainPadding = function (domain) {\n var $$ = this,\n config = $$.config,\n diff = domain[1] - domain[0],\n maxDataCount,\n padding,\n paddingLeft,\n paddingRight;\n if ($$.isCategorized()) {\n padding = 0;\n } else if ($$.hasType('bar')) {\n maxDataCount = $$.getMaxDataCount();\n padding = maxDataCount > 1 ? diff / (maxDataCount - 1) / 2 : 0.5;\n } else {\n padding = diff * 0.01;\n }\n if (_typeof(config.axis_x_padding) === 'object' && notEmpty(config.axis_x_padding)) {\n paddingLeft = isValue(config.axis_x_padding.left) ? config.axis_x_padding.left : padding;\n paddingRight = isValue(config.axis_x_padding.right) ? config.axis_x_padding.right : padding;\n } else if (typeof config.axis_x_padding === 'number') {\n paddingLeft = paddingRight = config.axis_x_padding;\n } else {\n paddingLeft = paddingRight = padding;\n }\n return { left: paddingLeft, right: paddingRight };\n };\n c3_chart_internal_fn.getXDomain = function (targets) {\n var $$ = this,\n xDomain = [$$.getXDomainMin(targets), $$.getXDomainMax(targets)],\n firstX = xDomain[0],\n lastX = xDomain[1],\n padding = $$.getXDomainPadding(xDomain),\n min = 0,\n max = 0;\n // show center of x domain if min and max are the same\n if (firstX - lastX === 0 && !$$.isCategorized()) {\n if ($$.isTimeSeries()) {\n firstX = new Date(firstX.getTime() * 0.5);\n lastX = new Date(lastX.getTime() * 1.5);\n } else {\n firstX = firstX === 0 ? 1 : firstX * 0.5;\n lastX = lastX === 0 ? -1 : lastX * 1.5;\n }\n }\n if (firstX || firstX === 0) {\n min = $$.isTimeSeries() ? new Date(firstX.getTime() - padding.left) : firstX - padding.left;\n }\n if (lastX || lastX === 0) {\n max = $$.isTimeSeries() ? new Date(lastX.getTime() + padding.right) : lastX + padding.right;\n }\n return [min, max];\n };\n c3_chart_internal_fn.updateXDomain = function (targets, withUpdateXDomain, withUpdateOrgXDomain, withTrim, domain) {\n var $$ = this,\n config = $$.config;\n\n if (withUpdateOrgXDomain) {\n $$.x.domain(domain ? domain : $$.d3.extent($$.getXDomain(targets)));\n $$.orgXDomain = $$.x.domain();\n if (config.zoom_enabled) {\n $$.zoom.scale($$.x).updateScaleExtent();\n }\n $$.subX.domain($$.x.domain());\n if ($$.brush) {\n $$.brush.scale($$.subX);\n }\n }\n if (withUpdateXDomain) {\n $$.x.domain(domain ? domain : !$$.brush || $$.brush.empty() ? $$.orgXDomain : $$.brush.extent());\n if (config.zoom_enabled) {\n $$.zoom.scale($$.x).updateScaleExtent();\n }\n }\n\n // Trim domain when too big by zoom mousemove event\n if (withTrim) {\n $$.x.domain($$.trimXDomain($$.x.orgDomain()));\n }\n\n return $$.x.domain();\n };\n c3_chart_internal_fn.trimXDomain = function (domain) {\n var zoomDomain = this.getZoomDomain(),\n min = zoomDomain[0],\n max = zoomDomain[1];\n if (domain[0] <= min) {\n domain[1] = +domain[1] + (min - domain[0]);\n domain[0] = min;\n }\n if (max <= domain[1]) {\n domain[0] = +domain[0] - (domain[1] - max);\n domain[1] = max;\n }\n return domain;\n };\n\n c3_chart_internal_fn.drag = function (mouse) {\n var $$ = this,\n config = $$.config,\n main = $$.main,\n d3 = $$.d3;\n var sx, sy, mx, my, minX, maxX, minY, maxY;\n\n if ($$.hasArcType()) {\n return;\n }\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n if (config.zoom_enabled && !$$.zoom.altDomain) {\n return;\n } // skip if zoomable because of conflict drag dehavior\n if (!config.data_selection_multiple) {\n return;\n } // skip when single selection because drag is used for multiple selection\n\n sx = $$.dragStart[0];\n sy = $$.dragStart[1];\n mx = mouse[0];\n my = mouse[1];\n minX = Math.min(sx, mx);\n maxX = Math.max(sx, mx);\n minY = config.data_selection_grouped ? $$.margin.top : Math.min(sy, my);\n maxY = config.data_selection_grouped ? $$.height : Math.max(sy, my);\n\n main.select('.' + CLASS.dragarea).attr('x', minX).attr('y', minY).attr('width', maxX - minX).attr('height', maxY - minY);\n // TODO: binary search when multiple xs\n main.selectAll('.' + CLASS.shapes).selectAll('.' + CLASS.shape).filter(function (d) {\n return config.data_selection_isselectable(d);\n }).each(function (d, i) {\n var shape = d3.select(this),\n isSelected = shape.classed(CLASS.SELECTED),\n isIncluded = shape.classed(CLASS.INCLUDED),\n _x,\n _y,\n _w,\n _h,\n toggle,\n isWithin = false,\n box;\n if (shape.classed(CLASS.circle)) {\n _x = shape.attr(\"cx\") * 1;\n _y = shape.attr(\"cy\") * 1;\n toggle = $$.togglePoint;\n isWithin = minX < _x && _x < maxX && minY < _y && _y < maxY;\n } else if (shape.classed(CLASS.bar)) {\n box = getPathBox(this);\n _x = box.x;\n _y = box.y;\n _w = box.width;\n _h = box.height;\n toggle = $$.togglePath;\n isWithin = !(maxX < _x || _x + _w < minX) && !(maxY < _y || _y + _h < minY);\n } else {\n // line/area selection not supported yet\n return;\n }\n if (isWithin ^ isIncluded) {\n shape.classed(CLASS.INCLUDED, !isIncluded);\n // TODO: included/unincluded callback here\n shape.classed(CLASS.SELECTED, !isSelected);\n toggle.call($$, !isSelected, shape, d, i);\n }\n });\n };\n\n c3_chart_internal_fn.dragstart = function (mouse) {\n var $$ = this,\n config = $$.config;\n if ($$.hasArcType()) {\n return;\n }\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n $$.dragStart = mouse;\n $$.main.select('.' + CLASS.chart).append('rect').attr('class', CLASS.dragarea).style('opacity', 0.1);\n $$.dragging = true;\n };\n\n c3_chart_internal_fn.dragend = function () {\n var $$ = this,\n config = $$.config;\n if ($$.hasArcType()) {\n return;\n }\n if (!config.data_selection_enabled) {\n return;\n } // do nothing if not selectable\n $$.main.select('.' + CLASS.dragarea).transition().duration(100).style('opacity', 0).remove();\n $$.main.selectAll('.' + CLASS.shape).classed(CLASS.INCLUDED, false);\n $$.dragging = false;\n };\n\n c3_chart_internal_fn.getYFormat = function (forArc) {\n var $$ = this,\n formatForY = forArc && !$$.hasType('gauge') ? $$.defaultArcValueFormat : $$.yFormat,\n formatForY2 = forArc && !$$.hasType('gauge') ? $$.defaultArcValueFormat : $$.y2Format;\n return function (v, ratio, id) {\n var format = $$.axis.getId(id) === 'y2' ? formatForY2 : formatForY;\n return format.call($$, v, ratio);\n };\n };\n c3_chart_internal_fn.yFormat = function (v) {\n var $$ = this,\n config = $$.config,\n format = config.axis_y_tick_format ? config.axis_y_tick_format : $$.defaultValueFormat;\n return format(v);\n };\n c3_chart_internal_fn.y2Format = function (v) {\n var $$ = this,\n config = $$.config,\n format = config.axis_y2_tick_format ? config.axis_y2_tick_format : $$.defaultValueFormat;\n return format(v);\n };\n c3_chart_internal_fn.defaultValueFormat = function (v) {\n return isValue(v) ? +v : \"\";\n };\n c3_chart_internal_fn.defaultArcValueFormat = function (v, ratio) {\n return (ratio * 100).toFixed(1) + '%';\n };\n c3_chart_internal_fn.dataLabelFormat = function (targetId) {\n var $$ = this,\n data_labels = $$.config.data_labels,\n format,\n defaultFormat = function defaultFormat(v) {\n return isValue(v) ? +v : \"\";\n };\n // find format according to axis id\n if (typeof data_labels.format === 'function') {\n format = data_labels.format;\n } else if (_typeof(data_labels.format) === 'object') {\n if (data_labels.format[targetId]) {\n format = data_labels.format[targetId] === true ? defaultFormat : data_labels.format[targetId];\n } else {\n format = function format() {\n return '';\n };\n }\n } else {\n format = defaultFormat;\n }\n return format;\n };\n\n c3_chart_internal_fn.initGrid = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n $$.grid = $$.main.append('g').attr(\"clip-path\", $$.clipPathForGrid).attr('class', CLASS.grid);\n if (config.grid_x_show) {\n $$.grid.append(\"g\").attr(\"class\", CLASS.xgrids);\n }\n if (config.grid_y_show) {\n $$.grid.append('g').attr('class', CLASS.ygrids);\n }\n if (config.grid_focus_show) {\n $$.grid.append('g').attr(\"class\", CLASS.xgridFocus).append('line').attr('class', CLASS.xgridFocus);\n }\n $$.xgrid = d3.selectAll([]);\n if (!config.grid_lines_front) {\n $$.initGridLines();\n }\n };\n c3_chart_internal_fn.initGridLines = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.gridLines = $$.main.append('g').attr(\"clip-path\", $$.clipPathForGrid).attr('class', CLASS.grid + ' ' + CLASS.gridLines);\n $$.gridLines.append('g').attr(\"class\", CLASS.xgridLines);\n $$.gridLines.append('g').attr('class', CLASS.ygridLines);\n $$.xgridLines = d3.selectAll([]);\n };\n c3_chart_internal_fn.updateXGrid = function (withoutUpdate) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n xgridData = $$.generateGridData(config.grid_x_type, $$.x),\n tickOffset = $$.isCategorized() ? $$.xAxis.tickOffset() : 0;\n\n $$.xgridAttr = config.axis_rotated ? {\n 'x1': 0,\n 'x2': $$.width,\n 'y1': function y1(d) {\n return $$.x(d) - tickOffset;\n },\n 'y2': function y2(d) {\n return $$.x(d) - tickOffset;\n }\n } : {\n 'x1': function x1(d) {\n return $$.x(d) + tickOffset;\n },\n 'x2': function x2(d) {\n return $$.x(d) + tickOffset;\n },\n 'y1': 0,\n 'y2': $$.height\n };\n\n $$.xgrid = $$.main.select('.' + CLASS.xgrids).selectAll('.' + CLASS.xgrid).data(xgridData);\n $$.xgrid.enter().append('line').attr(\"class\", CLASS.xgrid);\n if (!withoutUpdate) {\n $$.xgrid.attr($$.xgridAttr).style(\"opacity\", function () {\n return +d3.select(this).attr(config.axis_rotated ? 'y1' : 'x1') === (config.axis_rotated ? $$.height : 0) ? 0 : 1;\n });\n }\n $$.xgrid.exit().remove();\n };\n\n c3_chart_internal_fn.updateYGrid = function () {\n var $$ = this,\n config = $$.config,\n gridValues = $$.yAxis.tickValues() || $$.y.ticks(config.grid_y_ticks);\n $$.ygrid = $$.main.select('.' + CLASS.ygrids).selectAll('.' + CLASS.ygrid).data(gridValues);\n $$.ygrid.enter().append('line').attr('class', CLASS.ygrid);\n $$.ygrid.attr(\"x1\", config.axis_rotated ? $$.y : 0).attr(\"x2\", config.axis_rotated ? $$.y : $$.width).attr(\"y1\", config.axis_rotated ? 0 : $$.y).attr(\"y2\", config.axis_rotated ? $$.height : $$.y);\n $$.ygrid.exit().remove();\n $$.smoothLines($$.ygrid, 'grid');\n };\n\n c3_chart_internal_fn.gridTextAnchor = function (d) {\n return d.position ? d.position : \"end\";\n };\n c3_chart_internal_fn.gridTextDx = function (d) {\n return d.position === 'start' ? 4 : d.position === 'middle' ? 0 : -4;\n };\n c3_chart_internal_fn.xGridTextX = function (d) {\n return d.position === 'start' ? -this.height : d.position === 'middle' ? -this.height / 2 : 0;\n };\n c3_chart_internal_fn.yGridTextX = function (d) {\n return d.position === 'start' ? 0 : d.position === 'middle' ? this.width / 2 : this.width;\n };\n c3_chart_internal_fn.updateGrid = function (duration) {\n var $$ = this,\n main = $$.main,\n config = $$.config,\n xgridLine,\n ygridLine,\n yv;\n\n // hide if arc type\n $$.grid.style('visibility', $$.hasArcType() ? 'hidden' : 'visible');\n\n main.select('line.' + CLASS.xgridFocus).style(\"visibility\", \"hidden\");\n if (config.grid_x_show) {\n $$.updateXGrid();\n }\n $$.xgridLines = main.select('.' + CLASS.xgridLines).selectAll('.' + CLASS.xgridLine).data(config.grid_x_lines);\n // enter\n xgridLine = $$.xgridLines.enter().append('g').attr(\"class\", function (d) {\n return CLASS.xgridLine + (d['class'] ? ' ' + d['class'] : '');\n });\n xgridLine.append('line').style(\"opacity\", 0);\n xgridLine.append('text').attr(\"text-anchor\", $$.gridTextAnchor).attr(\"transform\", config.axis_rotated ? \"\" : \"rotate(-90)\").attr('dx', $$.gridTextDx).attr('dy', -5).style(\"opacity\", 0);\n // udpate\n // done in d3.transition() of the end of this function\n // exit\n $$.xgridLines.exit().transition().duration(duration).style(\"opacity\", 0).remove();\n\n // Y-Grid\n if (config.grid_y_show) {\n $$.updateYGrid();\n }\n $$.ygridLines = main.select('.' + CLASS.ygridLines).selectAll('.' + CLASS.ygridLine).data(config.grid_y_lines);\n // enter\n ygridLine = $$.ygridLines.enter().append('g').attr(\"class\", function (d) {\n return CLASS.ygridLine + (d['class'] ? ' ' + d['class'] : '');\n });\n ygridLine.append('line').style(\"opacity\", 0);\n ygridLine.append('text').attr(\"text-anchor\", $$.gridTextAnchor).attr(\"transform\", config.axis_rotated ? \"rotate(-90)\" : \"\").attr('dx', $$.gridTextDx).attr('dy', -5).style(\"opacity\", 0);\n // update\n yv = $$.yv.bind($$);\n $$.ygridLines.select('line').transition().duration(duration).attr(\"x1\", config.axis_rotated ? yv : 0).attr(\"x2\", config.axis_rotated ? yv : $$.width).attr(\"y1\", config.axis_rotated ? 0 : yv).attr(\"y2\", config.axis_rotated ? $$.height : yv).style(\"opacity\", 1);\n $$.ygridLines.select('text').transition().duration(duration).attr(\"x\", config.axis_rotated ? $$.xGridTextX.bind($$) : $$.yGridTextX.bind($$)).attr(\"y\", yv).text(function (d) {\n return d.text;\n }).style(\"opacity\", 1);\n // exit\n $$.ygridLines.exit().transition().duration(duration).style(\"opacity\", 0).remove();\n };\n c3_chart_internal_fn.redrawGrid = function (withTransition) {\n var $$ = this,\n config = $$.config,\n xv = $$.xv.bind($$),\n lines = $$.xgridLines.select('line'),\n texts = $$.xgridLines.select('text');\n return [(withTransition ? lines.transition() : lines).attr(\"x1\", config.axis_rotated ? 0 : xv).attr(\"x2\", config.axis_rotated ? $$.width : xv).attr(\"y1\", config.axis_rotated ? xv : 0).attr(\"y2\", config.axis_rotated ? xv : $$.height).style(\"opacity\", 1), (withTransition ? texts.transition() : texts).attr(\"x\", config.axis_rotated ? $$.yGridTextX.bind($$) : $$.xGridTextX.bind($$)).attr(\"y\", xv).text(function (d) {\n return d.text;\n }).style(\"opacity\", 1)];\n };\n c3_chart_internal_fn.showXGridFocus = function (selectedData) {\n var $$ = this,\n config = $$.config,\n dataToShow = selectedData.filter(function (d) {\n return d && isValue(d.value);\n }),\n focusEl = $$.main.selectAll('line.' + CLASS.xgridFocus),\n xx = $$.xx.bind($$);\n if (!config.tooltip_show) {\n return;\n }\n // Hide when scatter plot exists\n if ($$.hasType('scatter') || $$.hasArcType()) {\n return;\n }\n focusEl.style(\"visibility\", \"visible\").data([dataToShow[0]]).attr(config.axis_rotated ? 'y1' : 'x1', xx).attr(config.axis_rotated ? 'y2' : 'x2', xx);\n $$.smoothLines(focusEl, 'grid');\n };\n c3_chart_internal_fn.hideXGridFocus = function () {\n this.main.select('line.' + CLASS.xgridFocus).style(\"visibility\", \"hidden\");\n };\n c3_chart_internal_fn.updateXgridFocus = function () {\n var $$ = this,\n config = $$.config;\n $$.main.select('line.' + CLASS.xgridFocus).attr(\"x1\", config.axis_rotated ? 0 : -10).attr(\"x2\", config.axis_rotated ? $$.width : -10).attr(\"y1\", config.axis_rotated ? -10 : 0).attr(\"y2\", config.axis_rotated ? -10 : $$.height);\n };\n c3_chart_internal_fn.generateGridData = function (type, scale) {\n var $$ = this,\n gridData = [],\n xDomain,\n firstYear,\n lastYear,\n i,\n tickNum = $$.main.select(\".\" + CLASS.axisX).selectAll('.tick').size();\n if (type === 'year') {\n xDomain = $$.getXDomain();\n firstYear = xDomain[0].getFullYear();\n lastYear = xDomain[1].getFullYear();\n for (i = firstYear; i <= lastYear; i++) {\n gridData.push(new Date(i + '-01-01 00:00:00'));\n }\n } else {\n gridData = scale.ticks(10);\n if (gridData.length > tickNum) {\n // use only int\n gridData = gridData.filter(function (d) {\n return (\"\" + d).indexOf('.') < 0;\n });\n }\n }\n return gridData;\n };\n c3_chart_internal_fn.getGridFilterToRemove = function (params) {\n return params ? function (line) {\n var found = false;\n [].concat(params).forEach(function (param) {\n if ('value' in param && line.value === param.value || 'class' in param && line['class'] === param['class']) {\n found = true;\n }\n });\n return found;\n } : function () {\n return true;\n };\n };\n c3_chart_internal_fn.removeGridLines = function (params, forX) {\n var $$ = this,\n config = $$.config,\n toRemove = $$.getGridFilterToRemove(params),\n toShow = function toShow(line) {\n return !toRemove(line);\n },\n classLines = forX ? CLASS.xgridLines : CLASS.ygridLines,\n classLine = forX ? CLASS.xgridLine : CLASS.ygridLine;\n $$.main.select('.' + classLines).selectAll('.' + classLine).filter(toRemove).transition().duration(config.transition_duration).style('opacity', 0).remove();\n if (forX) {\n config.grid_x_lines = config.grid_x_lines.filter(toShow);\n } else {\n config.grid_y_lines = config.grid_y_lines.filter(toShow);\n }\n };\n\n c3_chart_internal_fn.initEventRect = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.eventRects).style('fill-opacity', 0);\n };\n c3_chart_internal_fn.redrawEventRect = function () {\n var $$ = this,\n config = $$.config,\n eventRectUpdate,\n maxDataCountTarget,\n isMultipleX = $$.isMultipleX();\n\n // rects for mouseover\n var eventRects = $$.main.select('.' + CLASS.eventRects).style('cursor', config.zoom_enabled ? config.axis_rotated ? 'ns-resize' : 'ew-resize' : null).classed(CLASS.eventRectsMultiple, isMultipleX).classed(CLASS.eventRectsSingle, !isMultipleX);\n\n // clear old rects\n eventRects.selectAll('.' + CLASS.eventRect).remove();\n\n // open as public variable\n $$.eventRect = eventRects.selectAll('.' + CLASS.eventRect);\n\n if (isMultipleX) {\n eventRectUpdate = $$.eventRect.data([0]);\n // enter : only one rect will be added\n $$.generateEventRectsForMultipleXs(eventRectUpdate.enter());\n // update\n $$.updateEventRect(eventRectUpdate);\n // exit : not needed because always only one rect exists\n } else {\n // Set data and update $$.eventRect\n maxDataCountTarget = $$.getMaxDataCountTarget($$.data.targets);\n eventRects.datum(maxDataCountTarget ? maxDataCountTarget.values : []);\n $$.eventRect = eventRects.selectAll('.' + CLASS.eventRect);\n eventRectUpdate = $$.eventRect.data(function (d) {\n return d;\n });\n // enter\n $$.generateEventRectsForSingleX(eventRectUpdate.enter());\n // update\n $$.updateEventRect(eventRectUpdate);\n // exit\n eventRectUpdate.exit().remove();\n }\n };\n c3_chart_internal_fn.updateEventRect = function (eventRectUpdate) {\n var $$ = this,\n config = $$.config,\n x,\n y,\n w,\n h,\n rectW,\n rectX;\n\n // set update selection if null\n eventRectUpdate = eventRectUpdate || $$.eventRect.data(function (d) {\n return d;\n });\n\n if ($$.isMultipleX()) {\n // TODO: rotated not supported yet\n x = 0;\n y = 0;\n w = $$.width;\n h = $$.height;\n } else {\n if (($$.isCustomX() || $$.isTimeSeries()) && !$$.isCategorized()) {\n\n // update index for x that is used by prevX and nextX\n $$.updateXs();\n\n rectW = function rectW(d) {\n var prevX = $$.getPrevX(d.index),\n nextX = $$.getNextX(d.index);\n\n // if there this is a single data point make the eventRect full width (or height)\n if (prevX === null && nextX === null) {\n return config.axis_rotated ? $$.height : $$.width;\n }\n\n if (prevX === null) {\n prevX = $$.x.domain()[0];\n }\n if (nextX === null) {\n nextX = $$.x.domain()[1];\n }\n\n return Math.max(0, ($$.x(nextX) - $$.x(prevX)) / 2);\n };\n rectX = function rectX(d) {\n var prevX = $$.getPrevX(d.index),\n nextX = $$.getNextX(d.index),\n thisX = $$.data.xs[d.id][d.index];\n\n // if there this is a single data point position the eventRect at 0\n if (prevX === null && nextX === null) {\n return 0;\n }\n\n if (prevX === null) {\n prevX = $$.x.domain()[0];\n }\n\n return ($$.x(thisX) + $$.x(prevX)) / 2;\n };\n } else {\n rectW = $$.getEventRectWidth();\n rectX = function rectX(d) {\n return $$.x(d.x) - rectW / 2;\n };\n }\n x = config.axis_rotated ? 0 : rectX;\n y = config.axis_rotated ? rectX : 0;\n w = config.axis_rotated ? $$.width : rectW;\n h = config.axis_rotated ? rectW : $$.height;\n }\n\n eventRectUpdate.attr('class', $$.classEvent.bind($$)).attr(\"x\", x).attr(\"y\", y).attr(\"width\", w).attr(\"height\", h);\n };\n c3_chart_internal_fn.generateEventRectsForSingleX = function (eventRectEnter) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config;\n eventRectEnter.append(\"rect\").attr(\"class\", $$.classEvent.bind($$)).style(\"cursor\", config.data_selection_enabled && config.data_selection_grouped ? \"pointer\" : null).on('mouseover', function (d) {\n var index = d.index;\n\n if ($$.dragging || $$.flowing) {\n return;\n } // do nothing while dragging/flowing\n if ($$.hasArcType()) {\n return;\n }\n\n // Expand shapes for selection\n if (config.point_focus_expand_enabled) {\n $$.expandCircles(index, null, true);\n }\n $$.expandBars(index, null, true);\n\n // Call event handler\n $$.main.selectAll('.' + CLASS.shape + '-' + index).each(function (d) {\n config.data_onmouseover.call($$.api, d);\n });\n }).on('mouseout', function (d) {\n var index = d.index;\n if (!$$.config) {\n return;\n } // chart is destroyed\n if ($$.hasArcType()) {\n return;\n }\n $$.hideXGridFocus();\n $$.hideTooltip();\n // Undo expanded shapes\n $$.unexpandCircles();\n $$.unexpandBars();\n // Call event handler\n $$.main.selectAll('.' + CLASS.shape + '-' + index).each(function (d) {\n config.data_onmouseout.call($$.api, d);\n });\n }).on('mousemove', function (d) {\n var selectedData,\n index = d.index,\n eventRect = $$.svg.select('.' + CLASS.eventRect + '-' + index);\n\n if ($$.dragging || $$.flowing) {\n return;\n } // do nothing while dragging/flowing\n if ($$.hasArcType()) {\n return;\n }\n\n if ($$.isStepType(d) && $$.config.line_step_type === 'step-after' && d3.mouse(this)[0] < $$.x($$.getXValue(d.id, index))) {\n index -= 1;\n }\n\n // Show tooltip\n selectedData = $$.filterTargetsToShow($$.data.targets).map(function (t) {\n return $$.addName($$.getValueOnIndex(t.values, index));\n });\n\n if (config.tooltip_grouped) {\n $$.showTooltip(selectedData, this);\n $$.showXGridFocus(selectedData);\n }\n\n if (config.tooltip_grouped && (!config.data_selection_enabled || config.data_selection_grouped)) {\n return;\n }\n\n $$.main.selectAll('.' + CLASS.shape + '-' + index).each(function () {\n d3.select(this).classed(CLASS.EXPANDED, true);\n if (config.data_selection_enabled) {\n eventRect.style('cursor', config.data_selection_grouped ? 'pointer' : null);\n }\n if (!config.tooltip_grouped) {\n $$.hideXGridFocus();\n $$.hideTooltip();\n if (!config.data_selection_grouped) {\n $$.unexpandCircles(index);\n $$.unexpandBars(index);\n }\n }\n }).filter(function (d) {\n return $$.isWithinShape(this, d);\n }).each(function (d) {\n if (config.data_selection_enabled && (config.data_selection_grouped || config.data_selection_isselectable(d))) {\n eventRect.style('cursor', 'pointer');\n }\n if (!config.tooltip_grouped) {\n $$.showTooltip([d], this);\n $$.showXGridFocus([d]);\n if (config.point_focus_expand_enabled) {\n $$.expandCircles(index, d.id, true);\n }\n $$.expandBars(index, d.id, true);\n }\n });\n }).on('click', function (d) {\n var index = d.index;\n if ($$.hasArcType() || !$$.toggleShape) {\n return;\n }\n if ($$.cancelClick) {\n $$.cancelClick = false;\n return;\n }\n if ($$.isStepType(d) && config.line_step_type === 'step-after' && d3.mouse(this)[0] < $$.x($$.getXValue(d.id, index))) {\n index -= 1;\n }\n $$.main.selectAll('.' + CLASS.shape + '-' + index).each(function (d) {\n if (config.data_selection_grouped || $$.isWithinShape(this, d)) {\n $$.toggleShape(this, d, index);\n $$.config.data_onclick.call($$.api, d, this);\n }\n });\n }).call(config.data_selection_draggable && $$.drag ? d3.behavior.drag().origin(Object).on('drag', function () {\n $$.drag(d3.mouse(this));\n }).on('dragstart', function () {\n $$.dragstart(d3.mouse(this));\n }).on('dragend', function () {\n $$.dragend();\n }) : function () {});\n };\n\n c3_chart_internal_fn.generateEventRectsForMultipleXs = function (eventRectEnter) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config;\n\n function mouseout() {\n $$.svg.select('.' + CLASS.eventRect).style('cursor', null);\n $$.hideXGridFocus();\n $$.hideTooltip();\n $$.unexpandCircles();\n $$.unexpandBars();\n }\n\n eventRectEnter.append('rect').attr('x', 0).attr('y', 0).attr('width', $$.width).attr('height', $$.height).attr('class', CLASS.eventRect).on('mouseout', function () {\n if (!$$.config) {\n return;\n } // chart is destroyed\n if ($$.hasArcType()) {\n return;\n }\n mouseout();\n }).on('mousemove', function () {\n var targetsToShow = $$.filterTargetsToShow($$.data.targets);\n var mouse, closest, sameXData, selectedData;\n\n if ($$.dragging) {\n return;\n } // do nothing when dragging\n if ($$.hasArcType(targetsToShow)) {\n return;\n }\n\n mouse = d3.mouse(this);\n closest = $$.findClosestFromTargets(targetsToShow, mouse);\n\n if ($$.mouseover && (!closest || closest.id !== $$.mouseover.id)) {\n config.data_onmouseout.call($$.api, $$.mouseover);\n $$.mouseover = undefined;\n }\n\n if (!closest) {\n mouseout();\n return;\n }\n\n if ($$.isScatterType(closest) || !config.tooltip_grouped) {\n sameXData = [closest];\n } else {\n sameXData = $$.filterByX(targetsToShow, closest.x);\n }\n\n // show tooltip when cursor is close to some point\n selectedData = sameXData.map(function (d) {\n return $$.addName(d);\n });\n $$.showTooltip(selectedData, this);\n\n // expand points\n if (config.point_focus_expand_enabled) {\n $$.expandCircles(closest.index, closest.id, true);\n }\n $$.expandBars(closest.index, closest.id, true);\n\n // Show xgrid focus line\n $$.showXGridFocus(selectedData);\n\n // Show cursor as pointer if point is close to mouse position\n if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < config.point_sensitivity) {\n $$.svg.select('.' + CLASS.eventRect).style('cursor', 'pointer');\n if (!$$.mouseover) {\n config.data_onmouseover.call($$.api, closest);\n $$.mouseover = closest;\n }\n }\n }).on('click', function () {\n var targetsToShow = $$.filterTargetsToShow($$.data.targets);\n var mouse, closest;\n if ($$.hasArcType(targetsToShow)) {\n return;\n }\n\n mouse = d3.mouse(this);\n closest = $$.findClosestFromTargets(targetsToShow, mouse);\n if (!closest) {\n return;\n }\n // select if selection enabled\n if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < config.point_sensitivity) {\n $$.main.selectAll('.' + CLASS.shapes + $$.getTargetSelectorSuffix(closest.id)).selectAll('.' + CLASS.shape + '-' + closest.index).each(function () {\n if (config.data_selection_grouped || $$.isWithinShape(this, closest)) {\n $$.toggleShape(this, closest, closest.index);\n $$.config.data_onclick.call($$.api, closest, this);\n }\n });\n }\n }).call(config.data_selection_draggable && $$.drag ? d3.behavior.drag().origin(Object).on('drag', function () {\n $$.drag(d3.mouse(this));\n }).on('dragstart', function () {\n $$.dragstart(d3.mouse(this));\n }).on('dragend', function () {\n $$.dragend();\n }) : function () {});\n };\n c3_chart_internal_fn.dispatchEvent = function (type, index, mouse) {\n var $$ = this,\n selector = '.' + CLASS.eventRect + (!$$.isMultipleX() ? '-' + index : ''),\n eventRect = $$.main.select(selector).node(),\n box = eventRect.getBoundingClientRect(),\n x = box.left + (mouse ? mouse[0] : 0),\n y = box.top + (mouse ? mouse[1] : 0),\n event = document.createEvent(\"MouseEvents\");\n\n event.initMouseEvent(type, true, true, window, 0, x, y, x, y, false, false, false, false, 0, null);\n eventRect.dispatchEvent(event);\n };\n\n c3_chart_internal_fn.initLegend = function () {\n var $$ = this;\n $$.legendItemTextBox = {};\n $$.legendHasRendered = false;\n $$.legend = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('legend'));\n if (!$$.config.legend_show) {\n $$.legend.style('visibility', 'hidden');\n $$.hiddenLegendIds = $$.mapToIds($$.data.targets);\n return;\n }\n // MEMO: call here to update legend box and tranlate for all\n // MEMO: translate will be upated by this, so transform not needed in updateLegend()\n $$.updateLegendWithDefaults();\n };\n c3_chart_internal_fn.updateLegendWithDefaults = function () {\n var $$ = this;\n $$.updateLegend($$.mapToIds($$.data.targets), { withTransform: false, withTransitionForTransform: false, withTransition: false });\n };\n c3_chart_internal_fn.updateSizeForLegend = function (legendHeight, legendWidth) {\n var $$ = this,\n config = $$.config,\n insetLegendPosition = {\n top: $$.isLegendTop ? $$.getCurrentPaddingTop() + config.legend_inset_y + 5.5 : $$.currentHeight - legendHeight - $$.getCurrentPaddingBottom() - config.legend_inset_y,\n left: $$.isLegendLeft ? $$.getCurrentPaddingLeft() + config.legend_inset_x + 0.5 : $$.currentWidth - legendWidth - $$.getCurrentPaddingRight() - config.legend_inset_x + 0.5\n };\n\n $$.margin3 = {\n top: $$.isLegendRight ? 0 : $$.isLegendInset ? insetLegendPosition.top : $$.currentHeight - legendHeight,\n right: NaN,\n bottom: 0,\n left: $$.isLegendRight ? $$.currentWidth - legendWidth : $$.isLegendInset ? insetLegendPosition.left : 0\n };\n };\n c3_chart_internal_fn.transformLegend = function (withTransition) {\n var $$ = this;\n (withTransition ? $$.legend.transition() : $$.legend).attr(\"transform\", $$.getTranslate('legend'));\n };\n c3_chart_internal_fn.updateLegendStep = function (step) {\n this.legendStep = step;\n };\n c3_chart_internal_fn.updateLegendItemWidth = function (w) {\n this.legendItemWidth = w;\n };\n c3_chart_internal_fn.updateLegendItemHeight = function (h) {\n this.legendItemHeight = h;\n };\n c3_chart_internal_fn.getLegendWidth = function () {\n var $$ = this;\n return $$.config.legend_show ? $$.isLegendRight || $$.isLegendInset ? $$.legendItemWidth * ($$.legendStep + 1) : $$.currentWidth : 0;\n };\n c3_chart_internal_fn.getLegendHeight = function () {\n var $$ = this,\n h = 0;\n if ($$.config.legend_show) {\n if ($$.isLegendRight) {\n h = $$.currentHeight;\n } else {\n h = Math.max(20, $$.legendItemHeight) * ($$.legendStep + 1);\n }\n }\n return h;\n };\n c3_chart_internal_fn.opacityForLegend = function (legendItem) {\n return legendItem.classed(CLASS.legendItemHidden) ? null : 1;\n };\n c3_chart_internal_fn.opacityForUnfocusedLegend = function (legendItem) {\n return legendItem.classed(CLASS.legendItemHidden) ? null : 0.3;\n };\n c3_chart_internal_fn.toggleFocusLegend = function (targetIds, focus) {\n var $$ = this;\n targetIds = $$.mapToTargetIds(targetIds);\n $$.legend.selectAll('.' + CLASS.legendItem).filter(function (id) {\n return targetIds.indexOf(id) >= 0;\n }).classed(CLASS.legendItemFocused, focus).transition().duration(100).style('opacity', function () {\n var opacity = focus ? $$.opacityForLegend : $$.opacityForUnfocusedLegend;\n return opacity.call($$, $$.d3.select(this));\n });\n };\n c3_chart_internal_fn.revertLegend = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.legend.selectAll('.' + CLASS.legendItem).classed(CLASS.legendItemFocused, false).transition().duration(100).style('opacity', function () {\n return $$.opacityForLegend(d3.select(this));\n });\n };\n c3_chart_internal_fn.showLegend = function (targetIds) {\n var $$ = this,\n config = $$.config;\n if (!config.legend_show) {\n config.legend_show = true;\n $$.legend.style('visibility', 'visible');\n if (!$$.legendHasRendered) {\n $$.updateLegendWithDefaults();\n }\n }\n $$.removeHiddenLegendIds(targetIds);\n $$.legend.selectAll($$.selectorLegends(targetIds)).style('visibility', 'visible').transition().style('opacity', function () {\n return $$.opacityForLegend($$.d3.select(this));\n });\n };\n c3_chart_internal_fn.hideLegend = function (targetIds) {\n var $$ = this,\n config = $$.config;\n if (config.legend_show && isEmpty(targetIds)) {\n config.legend_show = false;\n $$.legend.style('visibility', 'hidden');\n }\n $$.addHiddenLegendIds(targetIds);\n $$.legend.selectAll($$.selectorLegends(targetIds)).style('opacity', 0).style('visibility', 'hidden');\n };\n c3_chart_internal_fn.clearLegendItemTextBoxCache = function () {\n this.legendItemTextBox = {};\n };\n c3_chart_internal_fn.updateLegend = function (targetIds, options, transitions) {\n var $$ = this,\n config = $$.config;\n var xForLegend, xForLegendText, xForLegendRect, yForLegend, yForLegendText, yForLegendRect, x1ForLegendTile, x2ForLegendTile, yForLegendTile;\n var paddingTop = 4,\n paddingRight = 10,\n maxWidth = 0,\n maxHeight = 0,\n posMin = 10,\n tileWidth = config.legend_item_tile_width + 5;\n var l,\n totalLength = 0,\n offsets = {},\n widths = {},\n heights = {},\n margins = [0],\n steps = {},\n step = 0;\n var withTransition, withTransitionForTransform;\n var texts, rects, tiles, background;\n\n // Skip elements when their name is set to null\n targetIds = targetIds.filter(function (id) {\n return !isDefined(config.data_names[id]) || config.data_names[id] !== null;\n });\n\n options = options || {};\n withTransition = getOption(options, \"withTransition\", true);\n withTransitionForTransform = getOption(options, \"withTransitionForTransform\", true);\n\n function getTextBox(textElement, id) {\n if (!$$.legendItemTextBox[id]) {\n $$.legendItemTextBox[id] = $$.getTextRect(textElement.textContent, CLASS.legendItem, textElement);\n }\n return $$.legendItemTextBox[id];\n }\n\n function updatePositions(textElement, id, index) {\n var reset = index === 0,\n isLast = index === targetIds.length - 1,\n box = getTextBox(textElement, id),\n itemWidth = box.width + tileWidth + (isLast && !($$.isLegendRight || $$.isLegendInset) ? 0 : paddingRight) + config.legend_padding,\n itemHeight = box.height + paddingTop,\n itemLength = $$.isLegendRight || $$.isLegendInset ? itemHeight : itemWidth,\n areaLength = $$.isLegendRight || $$.isLegendInset ? $$.getLegendHeight() : $$.getLegendWidth(),\n margin,\n maxLength;\n\n // MEMO: care about condifion of step, totalLength\n function updateValues(id, withoutStep) {\n if (!withoutStep) {\n margin = (areaLength - totalLength - itemLength) / 2;\n if (margin < posMin) {\n margin = (areaLength - itemLength) / 2;\n totalLength = 0;\n step++;\n }\n }\n steps[id] = step;\n margins[step] = $$.isLegendInset ? 10 : margin;\n offsets[id] = totalLength;\n totalLength += itemLength;\n }\n\n if (reset) {\n totalLength = 0;\n step = 0;\n maxWidth = 0;\n maxHeight = 0;\n }\n\n if (config.legend_show && !$$.isLegendToShow(id)) {\n widths[id] = heights[id] = steps[id] = offsets[id] = 0;\n return;\n }\n\n widths[id] = itemWidth;\n heights[id] = itemHeight;\n\n if (!maxWidth || itemWidth >= maxWidth) {\n maxWidth = itemWidth;\n }\n if (!maxHeight || itemHeight >= maxHeight) {\n maxHeight = itemHeight;\n }\n maxLength = $$.isLegendRight || $$.isLegendInset ? maxHeight : maxWidth;\n\n if (config.legend_equally) {\n Object.keys(widths).forEach(function (id) {\n widths[id] = maxWidth;\n });\n Object.keys(heights).forEach(function (id) {\n heights[id] = maxHeight;\n });\n margin = (areaLength - maxLength * targetIds.length) / 2;\n if (margin < posMin) {\n totalLength = 0;\n step = 0;\n targetIds.forEach(function (id) {\n updateValues(id);\n });\n } else {\n updateValues(id, true);\n }\n } else {\n updateValues(id);\n }\n }\n\n if ($$.isLegendInset) {\n step = config.legend_inset_step ? config.legend_inset_step : targetIds.length;\n $$.updateLegendStep(step);\n }\n\n if ($$.isLegendRight) {\n xForLegend = function xForLegend(id) {\n return maxWidth * steps[id];\n };\n yForLegend = function yForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n } else if ($$.isLegendInset) {\n xForLegend = function xForLegend(id) {\n return maxWidth * steps[id] + 10;\n };\n yForLegend = function yForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n } else {\n xForLegend = function xForLegend(id) {\n return margins[steps[id]] + offsets[id];\n };\n yForLegend = function yForLegend(id) {\n return maxHeight * steps[id];\n };\n }\n xForLegendText = function xForLegendText(id, i) {\n return xForLegend(id, i) + 4 + config.legend_item_tile_width;\n };\n yForLegendText = function yForLegendText(id, i) {\n return yForLegend(id, i) + 9;\n };\n xForLegendRect = function xForLegendRect(id, i) {\n return xForLegend(id, i);\n };\n yForLegendRect = function yForLegendRect(id, i) {\n return yForLegend(id, i) - 5;\n };\n x1ForLegendTile = function x1ForLegendTile(id, i) {\n return xForLegend(id, i) - 2;\n };\n x2ForLegendTile = function x2ForLegendTile(id, i) {\n return xForLegend(id, i) - 2 + config.legend_item_tile_width;\n };\n yForLegendTile = function yForLegendTile(id, i) {\n return yForLegend(id, i) + 4;\n };\n\n // Define g for legend area\n l = $$.legend.selectAll('.' + CLASS.legendItem).data(targetIds).enter().append('g').attr('class', function (id) {\n return $$.generateClass(CLASS.legendItem, id);\n }).style('visibility', function (id) {\n return $$.isLegendToShow(id) ? 'visible' : 'hidden';\n }).style('cursor', 'pointer').on('click', function (id) {\n if (config.legend_item_onclick) {\n config.legend_item_onclick.call($$, id);\n } else {\n if ($$.d3.event.altKey) {\n $$.api.hide();\n $$.api.show(id);\n } else {\n $$.api.toggle(id);\n $$.isTargetToShow(id) ? $$.api.focus(id) : $$.api.revert();\n }\n }\n }).on('mouseover', function (id) {\n if (config.legend_item_onmouseover) {\n config.legend_item_onmouseover.call($$, id);\n } else {\n $$.d3.select(this).classed(CLASS.legendItemFocused, true);\n if (!$$.transiting && $$.isTargetToShow(id)) {\n $$.api.focus(id);\n }\n }\n }).on('mouseout', function (id) {\n if (config.legend_item_onmouseout) {\n config.legend_item_onmouseout.call($$, id);\n } else {\n $$.d3.select(this).classed(CLASS.legendItemFocused, false);\n $$.api.revert();\n }\n });\n l.append('text').text(function (id) {\n return isDefined(config.data_names[id]) ? config.data_names[id] : id;\n }).each(function (id, i) {\n updatePositions(this, id, i);\n }).style(\"pointer-events\", \"none\").attr('x', $$.isLegendRight || $$.isLegendInset ? xForLegendText : -200).attr('y', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendText);\n l.append('rect').attr(\"class\", CLASS.legendItemEvent).style('fill-opacity', 0).attr('x', $$.isLegendRight || $$.isLegendInset ? xForLegendRect : -200).attr('y', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendRect);\n l.append('line').attr('class', CLASS.legendItemTile).style('stroke', $$.color).style(\"pointer-events\", \"none\").attr('x1', $$.isLegendRight || $$.isLegendInset ? x1ForLegendTile : -200).attr('y1', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendTile).attr('x2', $$.isLegendRight || $$.isLegendInset ? x2ForLegendTile : -200).attr('y2', $$.isLegendRight || $$.isLegendInset ? -200 : yForLegendTile).attr('stroke-width', config.legend_item_tile_height);\n\n // Set background for inset legend\n background = $$.legend.select('.' + CLASS.legendBackground + ' rect');\n if ($$.isLegendInset && maxWidth > 0 && background.size() === 0) {\n background = $$.legend.insert('g', '.' + CLASS.legendItem).attr(\"class\", CLASS.legendBackground).append('rect');\n }\n\n texts = $$.legend.selectAll('text').data(targetIds).text(function (id) {\n return isDefined(config.data_names[id]) ? config.data_names[id] : id;\n }) // MEMO: needed for update\n .each(function (id, i) {\n updatePositions(this, id, i);\n });\n (withTransition ? texts.transition() : texts).attr('x', xForLegendText).attr('y', yForLegendText);\n\n rects = $$.legend.selectAll('rect.' + CLASS.legendItemEvent).data(targetIds);\n (withTransition ? rects.transition() : rects).attr('width', function (id) {\n return widths[id];\n }).attr('height', function (id) {\n return heights[id];\n }).attr('x', xForLegendRect).attr('y', yForLegendRect);\n\n tiles = $$.legend.selectAll('line.' + CLASS.legendItemTile).data(targetIds);\n (withTransition ? tiles.transition() : tiles).style('stroke', $$.levelColor ? function (id) {\n return $$.levelColor($$.cache[id].values[0].value);\n } : $$.color).attr('x1', x1ForLegendTile).attr('y1', yForLegendTile).attr('x2', x2ForLegendTile).attr('y2', yForLegendTile);\n\n if (background) {\n (withTransition ? background.transition() : background).attr('height', $$.getLegendHeight() - 12).attr('width', maxWidth * (step + 1) + 10);\n }\n\n // toggle legend state\n $$.legend.selectAll('.' + CLASS.legendItem).classed(CLASS.legendItemHidden, function (id) {\n return !$$.isTargetToShow(id);\n });\n\n // Update all to reflect change of legend\n $$.updateLegendItemWidth(maxWidth);\n $$.updateLegendItemHeight(maxHeight);\n $$.updateLegendStep(step);\n // Update size and scale\n $$.updateSizes();\n $$.updateScales();\n $$.updateSvgSize();\n // Update g positions\n $$.transformAll(withTransitionForTransform, transitions);\n $$.legendHasRendered = true;\n };\n\n c3_chart_internal_fn.initRegion = function () {\n var $$ = this;\n $$.region = $$.main.append('g').attr(\"clip-path\", $$.clipPath).attr(\"class\", CLASS.regions);\n };\n c3_chart_internal_fn.updateRegion = function (duration) {\n var $$ = this,\n config = $$.config;\n\n // hide if arc type\n $$.region.style('visibility', $$.hasArcType() ? 'hidden' : 'visible');\n\n $$.mainRegion = $$.main.select('.' + CLASS.regions).selectAll('.' + CLASS.region).data(config.regions);\n $$.mainRegion.enter().append('g').append('rect').style(\"fill-opacity\", 0);\n $$.mainRegion.attr('class', $$.classRegion.bind($$));\n $$.mainRegion.exit().transition().duration(duration).style(\"opacity\", 0).remove();\n };\n c3_chart_internal_fn.redrawRegion = function (withTransition) {\n var $$ = this,\n regions = $$.mainRegion.selectAll('rect').each(function () {\n // data is binded to g and it's not transferred to rect (child node) automatically,\n // then data of each rect has to be updated manually.\n // TODO: there should be more efficient way to solve this?\n var parentData = $$.d3.select(this.parentNode).datum();\n $$.d3.select(this).datum(parentData);\n }),\n x = $$.regionX.bind($$),\n y = $$.regionY.bind($$),\n w = $$.regionWidth.bind($$),\n h = $$.regionHeight.bind($$);\n return [(withTransition ? regions.transition() : regions).attr(\"x\", x).attr(\"y\", y).attr(\"width\", w).attr(\"height\", h).style(\"fill-opacity\", function (d) {\n return isValue(d.opacity) ? d.opacity : 0.1;\n })];\n };\n c3_chart_internal_fn.regionX = function (d) {\n var $$ = this,\n config = $$.config,\n xPos,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n if (d.axis === 'y' || d.axis === 'y2') {\n xPos = config.axis_rotated ? 'start' in d ? yScale(d.start) : 0 : 0;\n } else {\n xPos = config.axis_rotated ? 0 : 'start' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.start) : d.start) : 0;\n }\n return xPos;\n };\n c3_chart_internal_fn.regionY = function (d) {\n var $$ = this,\n config = $$.config,\n yPos,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n if (d.axis === 'y' || d.axis === 'y2') {\n yPos = config.axis_rotated ? 0 : 'end' in d ? yScale(d.end) : 0;\n } else {\n yPos = config.axis_rotated ? 'start' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.start) : d.start) : 0 : 0;\n }\n return yPos;\n };\n c3_chart_internal_fn.regionWidth = function (d) {\n var $$ = this,\n config = $$.config,\n start = $$.regionX(d),\n end,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n if (d.axis === 'y' || d.axis === 'y2') {\n end = config.axis_rotated ? 'end' in d ? yScale(d.end) : $$.width : $$.width;\n } else {\n end = config.axis_rotated ? $$.width : 'end' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.end) : d.end) : $$.width;\n }\n return end < start ? 0 : end - start;\n };\n c3_chart_internal_fn.regionHeight = function (d) {\n var $$ = this,\n config = $$.config,\n start = this.regionY(d),\n end,\n yScale = d.axis === 'y' ? $$.y : $$.y2;\n if (d.axis === 'y' || d.axis === 'y2') {\n end = config.axis_rotated ? $$.height : 'start' in d ? yScale(d.start) : $$.height;\n } else {\n end = config.axis_rotated ? 'end' in d ? $$.x($$.isTimeSeries() ? $$.parseDate(d.end) : d.end) : $$.height : $$.height;\n }\n return end < start ? 0 : end - start;\n };\n c3_chart_internal_fn.isRegionOnX = function (d) {\n return !d.axis || d.axis === 'x';\n };\n\n c3_chart_internal_fn.getScale = function (min, max, forTimeseries) {\n return (forTimeseries ? this.d3.time.scale() : this.d3.scale.linear()).range([min, max]);\n };\n c3_chart_internal_fn.getX = function (min, max, domain, offset) {\n var $$ = this,\n scale = $$.getScale(min, max, $$.isTimeSeries()),\n _scale = domain ? scale.domain(domain) : scale,\n key;\n // Define customized scale if categorized axis\n if ($$.isCategorized()) {\n offset = offset || function () {\n return 0;\n };\n scale = function scale(d, raw) {\n var v = _scale(d) + offset(d);\n return raw ? v : Math.ceil(v);\n };\n } else {\n scale = function scale(d, raw) {\n var v = _scale(d);\n return raw ? v : Math.ceil(v);\n };\n }\n // define functions\n for (key in _scale) {\n scale[key] = _scale[key];\n }\n scale.orgDomain = function () {\n return _scale.domain();\n };\n // define custom domain() for categorized axis\n if ($$.isCategorized()) {\n scale.domain = function (domain) {\n if (!arguments.length) {\n domain = this.orgDomain();\n return [domain[0], domain[1] + 1];\n }\n _scale.domain(domain);\n return scale;\n };\n }\n return scale;\n };\n c3_chart_internal_fn.getY = function (min, max, domain) {\n var scale = this.getScale(min, max, this.isTimeSeriesY());\n if (domain) {\n scale.domain(domain);\n }\n return scale;\n };\n c3_chart_internal_fn.getYScale = function (id) {\n return this.axis.getId(id) === 'y2' ? this.y2 : this.y;\n };\n c3_chart_internal_fn.getSubYScale = function (id) {\n return this.axis.getId(id) === 'y2' ? this.subY2 : this.subY;\n };\n c3_chart_internal_fn.updateScales = function () {\n var $$ = this,\n config = $$.config,\n forInit = !$$.x;\n // update edges\n $$.xMin = config.axis_rotated ? 1 : 0;\n $$.xMax = config.axis_rotated ? $$.height : $$.width;\n $$.yMin = config.axis_rotated ? 0 : $$.height;\n $$.yMax = config.axis_rotated ? $$.width : 1;\n $$.subXMin = $$.xMin;\n $$.subXMax = $$.xMax;\n $$.subYMin = config.axis_rotated ? 0 : $$.height2;\n $$.subYMax = config.axis_rotated ? $$.width2 : 1;\n // update scales\n $$.x = $$.getX($$.xMin, $$.xMax, forInit ? undefined : $$.x.orgDomain(), function () {\n return $$.xAxis.tickOffset();\n });\n $$.y = $$.getY($$.yMin, $$.yMax, forInit ? config.axis_y_default : $$.y.domain());\n $$.y2 = $$.getY($$.yMin, $$.yMax, forInit ? config.axis_y2_default : $$.y2.domain());\n $$.subX = $$.getX($$.xMin, $$.xMax, $$.orgXDomain, function (d) {\n return d % 1 ? 0 : $$.subXAxis.tickOffset();\n });\n $$.subY = $$.getY($$.subYMin, $$.subYMax, forInit ? config.axis_y_default : $$.subY.domain());\n $$.subY2 = $$.getY($$.subYMin, $$.subYMax, forInit ? config.axis_y2_default : $$.subY2.domain());\n // update axes\n $$.xAxisTickFormat = $$.axis.getXAxisTickFormat();\n $$.xAxisTickValues = $$.axis.getXAxisTickValues();\n $$.yAxisTickValues = $$.axis.getYAxisTickValues();\n $$.y2AxisTickValues = $$.axis.getY2AxisTickValues();\n\n $$.xAxis = $$.axis.getXAxis($$.x, $$.xOrient, $$.xAxisTickFormat, $$.xAxisTickValues, config.axis_x_tick_outer);\n $$.subXAxis = $$.axis.getXAxis($$.subX, $$.subXOrient, $$.xAxisTickFormat, $$.xAxisTickValues, config.axis_x_tick_outer);\n $$.yAxis = $$.axis.getYAxis($$.y, $$.yOrient, config.axis_y_tick_format, $$.yAxisTickValues, config.axis_y_tick_outer);\n $$.y2Axis = $$.axis.getYAxis($$.y2, $$.y2Orient, config.axis_y2_tick_format, $$.y2AxisTickValues, config.axis_y2_tick_outer);\n\n // Set initialized scales to brush and zoom\n if (!forInit) {\n if ($$.brush) {\n $$.brush.scale($$.subX);\n }\n if (config.zoom_enabled) {\n $$.zoom.scale($$.x);\n }\n }\n // update for arc\n if ($$.updateArc) {\n $$.updateArc();\n }\n };\n\n c3_chart_internal_fn.selectPoint = function (target, d, i) {\n var $$ = this,\n config = $$.config,\n cx = (config.axis_rotated ? $$.circleY : $$.circleX).bind($$),\n cy = (config.axis_rotated ? $$.circleX : $$.circleY).bind($$),\n r = $$.pointSelectR.bind($$);\n config.data_onselected.call($$.api, d, target.node());\n // add selected-circle on low layer g\n $$.main.select('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.selectedCircle + '-' + i).data([d]).enter().append('circle').attr(\"class\", function () {\n return $$.generateClass(CLASS.selectedCircle, i);\n }).attr(\"cx\", cx).attr(\"cy\", cy).attr(\"stroke\", function () {\n return $$.color(d);\n }).attr(\"r\", function (d) {\n return $$.pointSelectR(d) * 1.4;\n }).transition().duration(100).attr(\"r\", r);\n };\n c3_chart_internal_fn.unselectPoint = function (target, d, i) {\n var $$ = this;\n $$.config.data_onunselected.call($$.api, d, target.node());\n // remove selected-circle from low layer g\n $$.main.select('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(d.id)).selectAll('.' + CLASS.selectedCircle + '-' + i).transition().duration(100).attr('r', 0).remove();\n };\n c3_chart_internal_fn.togglePoint = function (selected, target, d, i) {\n selected ? this.selectPoint(target, d, i) : this.unselectPoint(target, d, i);\n };\n c3_chart_internal_fn.selectPath = function (target, d) {\n var $$ = this;\n $$.config.data_onselected.call($$, d, target.node());\n if ($$.config.interaction_brighten) {\n target.transition().duration(100).style(\"fill\", function () {\n return $$.d3.rgb($$.color(d)).brighter(0.75);\n });\n }\n };\n c3_chart_internal_fn.unselectPath = function (target, d) {\n var $$ = this;\n $$.config.data_onunselected.call($$, d, target.node());\n if ($$.config.interaction_brighten) {\n target.transition().duration(100).style(\"fill\", function () {\n return $$.color(d);\n });\n }\n };\n c3_chart_internal_fn.togglePath = function (selected, target, d, i) {\n selected ? this.selectPath(target, d, i) : this.unselectPath(target, d, i);\n };\n c3_chart_internal_fn.getToggle = function (that, d) {\n var $$ = this,\n toggle;\n if (that.nodeName === 'circle') {\n if ($$.isStepType(d)) {\n // circle is hidden in step chart, so treat as within the click area\n toggle = function toggle() {}; // TODO: how to select step chart?\n } else {\n toggle = $$.togglePoint;\n }\n } else if (that.nodeName === 'path') {\n toggle = $$.togglePath;\n }\n return toggle;\n };\n c3_chart_internal_fn.toggleShape = function (that, d, i) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n shape = d3.select(that),\n isSelected = shape.classed(CLASS.SELECTED),\n toggle = $$.getToggle(that, d).bind($$);\n\n if (config.data_selection_enabled && config.data_selection_isselectable(d)) {\n if (!config.data_selection_multiple) {\n $$.main.selectAll('.' + CLASS.shapes + (config.data_selection_grouped ? $$.getTargetSelectorSuffix(d.id) : \"\")).selectAll('.' + CLASS.shape).each(function (d, i) {\n var shape = d3.select(this);\n if (shape.classed(CLASS.SELECTED)) {\n toggle(false, shape.classed(CLASS.SELECTED, false), d, i);\n }\n });\n }\n shape.classed(CLASS.SELECTED, !isSelected);\n toggle(!isSelected, shape, d, i);\n }\n };\n\n c3_chart_internal_fn.initBar = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartBars);\n };\n c3_chart_internal_fn.updateTargetsForBar = function (targets) {\n var $$ = this,\n config = $$.config,\n mainBarUpdate,\n mainBarEnter,\n classChartBar = $$.classChartBar.bind($$),\n classBars = $$.classBars.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainBarUpdate = $$.main.select('.' + CLASS.chartBars).selectAll('.' + CLASS.chartBar).data(targets).attr('class', function (d) {\n return classChartBar(d) + classFocus(d);\n });\n mainBarEnter = mainBarUpdate.enter().append('g').attr('class', classChartBar).style(\"pointer-events\", \"none\");\n // Bars for each data\n mainBarEnter.append('g').attr(\"class\", classBars).style(\"cursor\", function (d) {\n return config.data_selection_isselectable(d) ? \"pointer\" : null;\n });\n };\n c3_chart_internal_fn.updateBar = function (durationForExit) {\n var $$ = this,\n barData = $$.barData.bind($$),\n classBar = $$.classBar.bind($$),\n initialOpacity = $$.initialOpacity.bind($$),\n color = function color(d) {\n return $$.color(d.id);\n };\n $$.mainBar = $$.main.selectAll('.' + CLASS.bars).selectAll('.' + CLASS.bar).data(barData);\n $$.mainBar.enter().append('path').attr(\"class\", classBar).style(\"stroke\", color).style(\"fill\", color);\n $$.mainBar.style(\"opacity\", initialOpacity);\n $$.mainBar.exit().transition().duration(durationForExit).remove();\n };\n c3_chart_internal_fn.redrawBar = function (drawBar, withTransition) {\n return [(withTransition ? this.mainBar.transition(Math.random().toString()) : this.mainBar).attr('d', drawBar).style(\"stroke\", this.color).style(\"fill\", this.color).style(\"opacity\", 1)];\n };\n c3_chart_internal_fn.getBarW = function (axis, barTargetsNum) {\n var $$ = this,\n config = $$.config,\n w = typeof config.bar_width === 'number' ? config.bar_width : barTargetsNum ? axis.tickInterval() * config.bar_width_ratio / barTargetsNum : 0;\n return config.bar_width_max && w > config.bar_width_max ? config.bar_width_max : w;\n };\n c3_chart_internal_fn.getBars = function (i, id) {\n var $$ = this;\n return (id ? $$.main.selectAll('.' + CLASS.bars + $$.getTargetSelectorSuffix(id)) : $$.main).selectAll('.' + CLASS.bar + (isValue(i) ? '-' + i : ''));\n };\n c3_chart_internal_fn.expandBars = function (i, id, reset) {\n var $$ = this;\n if (reset) {\n $$.unexpandBars();\n }\n $$.getBars(i, id).classed(CLASS.EXPANDED, true);\n };\n c3_chart_internal_fn.unexpandBars = function (i) {\n var $$ = this;\n $$.getBars(i).classed(CLASS.EXPANDED, false);\n };\n c3_chart_internal_fn.generateDrawBar = function (barIndices, isSub) {\n var $$ = this,\n config = $$.config,\n getPoints = $$.generateGetBarPoints(barIndices, isSub);\n return function (d, i) {\n // 4 points that make a bar\n var points = getPoints(d, i);\n\n // switch points if axis is rotated, not applicable for sub chart\n var indexX = config.axis_rotated ? 1 : 0;\n var indexY = config.axis_rotated ? 0 : 1;\n\n var path = 'M ' + points[0][indexX] + ',' + points[0][indexY] + ' ' + 'L' + points[1][indexX] + ',' + points[1][indexY] + ' ' + 'L' + points[2][indexX] + ',' + points[2][indexY] + ' ' + 'L' + points[3][indexX] + ',' + points[3][indexY] + ' ' + 'z';\n\n return path;\n };\n };\n c3_chart_internal_fn.generateGetBarPoints = function (barIndices, isSub) {\n var $$ = this,\n axis = isSub ? $$.subXAxis : $$.xAxis,\n barTargetsNum = barIndices.__max__ + 1,\n barW = $$.getBarW(axis, barTargetsNum),\n barX = $$.getShapeX(barW, barTargetsNum, barIndices, !!isSub),\n barY = $$.getShapeY(!!isSub),\n barOffset = $$.getShapeOffset($$.isBarType, barIndices, !!isSub),\n barSpaceOffset = barW * ($$.config.bar_space / 2),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = barOffset(d, i) || y0,\n // offset is for stacked bar chart\n posX = barX(d),\n posY = barY(d);\n // fix posY not to overflow opposite quadrant\n if ($$.config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n }\n // 4 points that make a bar\n return [[posX + barSpaceOffset, offset], [posX + barSpaceOffset, posY - (y0 - offset)], [posX + barW - barSpaceOffset, posY - (y0 - offset)], [posX + barW - barSpaceOffset, offset]];\n };\n };\n c3_chart_internal_fn.isWithinBar = function (that) {\n var mouse = this.d3.mouse(that),\n box = that.getBoundingClientRect(),\n seg0 = that.pathSegList.getItem(0),\n seg1 = that.pathSegList.getItem(1),\n x = Math.min(seg0.x, seg1.x),\n y = Math.min(seg0.y, seg1.y),\n w = box.width,\n h = box.height,\n offset = 2,\n sx = x - offset,\n ex = x + w + offset,\n sy = y + h + offset,\n ey = y - offset;\n return sx < mouse[0] && mouse[0] < ex && ey < mouse[1] && mouse[1] < sy;\n };\n\n c3_chart_internal_fn.getShapeIndices = function (typeFilter) {\n var $$ = this,\n config = $$.config,\n indices = {},\n i = 0,\n j,\n k;\n $$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$)).forEach(function (d) {\n for (j = 0; j < config.data_groups.length; j++) {\n if (config.data_groups[j].indexOf(d.id) < 0) {\n continue;\n }\n for (k = 0; k < config.data_groups[j].length; k++) {\n if (config.data_groups[j][k] in indices) {\n indices[d.id] = indices[config.data_groups[j][k]];\n break;\n }\n }\n }\n if (isUndefined(indices[d.id])) {\n indices[d.id] = i++;\n }\n });\n indices.__max__ = i - 1;\n return indices;\n };\n c3_chart_internal_fn.getShapeX = function (offset, targetsNum, indices, isSub) {\n var $$ = this,\n scale = isSub ? $$.subX : $$.x;\n return function (d) {\n var index = d.id in indices ? indices[d.id] : 0;\n return d.x || d.x === 0 ? scale(d.x) - offset * (targetsNum / 2 - index) : 0;\n };\n };\n c3_chart_internal_fn.getShapeY = function (isSub) {\n var $$ = this;\n return function (d) {\n var scale = isSub ? $$.getSubYScale(d.id) : $$.getYScale(d.id);\n return scale(d.value);\n };\n };\n c3_chart_internal_fn.getShapeOffset = function (typeFilter, indices, isSub) {\n var $$ = this,\n targets = $$.orderTargets($$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$))),\n targetIds = targets.map(function (t) {\n return t.id;\n });\n return function (d, i) {\n var scale = isSub ? $$.getSubYScale(d.id) : $$.getYScale(d.id),\n y0 = scale(0),\n offset = y0;\n targets.forEach(function (t) {\n var values = $$.isStepType(d) ? $$.convertValuesToStep(t.values) : t.values;\n if (t.id === d.id || indices[t.id] !== indices[d.id]) {\n return;\n }\n if (targetIds.indexOf(t.id) < targetIds.indexOf(d.id)) {\n // check if the x values line up\n if (typeof values[i] === 'undefined' || +values[i].x !== +d.x) {\n // \"+\" for timeseries\n // if not, try to find the value that does line up\n i = -1;\n values.forEach(function (v, j) {\n if (v.x === d.x) {\n i = j;\n }\n });\n }\n if (i in values && values[i].value * d.value >= 0) {\n offset += scale(values[i].value) - y0;\n }\n }\n });\n return offset;\n };\n };\n c3_chart_internal_fn.isWithinShape = function (that, d) {\n var $$ = this,\n shape = $$.d3.select(that),\n isWithin;\n if (!$$.isTargetToShow(d.id)) {\n isWithin = false;\n } else if (that.nodeName === 'circle') {\n isWithin = $$.isStepType(d) ? $$.isWithinStep(that, $$.getYScale(d.id)(d.value)) : $$.isWithinCircle(that, $$.pointSelectR(d) * 1.5);\n } else if (that.nodeName === 'path') {\n isWithin = shape.classed(CLASS.bar) ? $$.isWithinBar(that) : true;\n }\n return isWithin;\n };\n\n c3_chart_internal_fn.getInterpolate = function (d) {\n var $$ = this,\n interpolation = $$.isInterpolationType($$.config.spline_interpolation_type) ? $$.config.spline_interpolation_type : 'cardinal';\n return $$.isSplineType(d) ? interpolation : $$.isStepType(d) ? $$.config.line_step_type : \"linear\";\n };\n\n c3_chart_internal_fn.initLine = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartLines);\n };\n c3_chart_internal_fn.updateTargetsForLine = function (targets) {\n var $$ = this,\n config = $$.config,\n mainLineUpdate,\n mainLineEnter,\n classChartLine = $$.classChartLine.bind($$),\n classLines = $$.classLines.bind($$),\n classAreas = $$.classAreas.bind($$),\n classCircles = $$.classCircles.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainLineUpdate = $$.main.select('.' + CLASS.chartLines).selectAll('.' + CLASS.chartLine).data(targets).attr('class', function (d) {\n return classChartLine(d) + classFocus(d);\n });\n mainLineEnter = mainLineUpdate.enter().append('g').attr('class', classChartLine).style('opacity', 0).style(\"pointer-events\", \"none\");\n // Lines for each data\n mainLineEnter.append('g').attr(\"class\", classLines);\n // Areas\n mainLineEnter.append('g').attr('class', classAreas);\n // Circles for each data point on lines\n mainLineEnter.append('g').attr(\"class\", function (d) {\n return $$.generateClass(CLASS.selectedCircles, d.id);\n });\n mainLineEnter.append('g').attr(\"class\", classCircles).style(\"cursor\", function (d) {\n return config.data_selection_isselectable(d) ? \"pointer\" : null;\n });\n // Update date for selected circles\n targets.forEach(function (t) {\n $$.main.selectAll('.' + CLASS.selectedCircles + $$.getTargetSelectorSuffix(t.id)).selectAll('.' + CLASS.selectedCircle).each(function (d) {\n d.value = t.values[d.index].value;\n });\n });\n // MEMO: can not keep same color...\n //mainLineUpdate.exit().remove();\n };\n c3_chart_internal_fn.updateLine = function (durationForExit) {\n var $$ = this;\n $$.mainLine = $$.main.selectAll('.' + CLASS.lines).selectAll('.' + CLASS.line).data($$.lineData.bind($$));\n $$.mainLine.enter().append('path').attr('class', $$.classLine.bind($$)).style(\"stroke\", $$.color);\n $$.mainLine.style(\"opacity\", $$.initialOpacity.bind($$)).style('shape-rendering', function (d) {\n return $$.isStepType(d) ? 'crispEdges' : '';\n }).attr('transform', null);\n $$.mainLine.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n };\n c3_chart_internal_fn.redrawLine = function (drawLine, withTransition) {\n return [(withTransition ? this.mainLine.transition(Math.random().toString()) : this.mainLine).attr(\"d\", drawLine).style(\"stroke\", this.color).style(\"opacity\", 1)];\n };\n c3_chart_internal_fn.generateDrawLine = function (lineIndices, isSub) {\n var $$ = this,\n config = $$.config,\n line = $$.d3.svg.line(),\n getPoints = $$.generateGetLinePoints(lineIndices, isSub),\n yScaleGetter = isSub ? $$.getSubYScale : $$.getYScale,\n xValue = function xValue(d) {\n return (isSub ? $$.subxx : $$.xx).call($$, d);\n },\n yValue = function yValue(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[0][1] : yScaleGetter.call($$, d.id)(d.value);\n };\n\n line = config.axis_rotated ? line.x(yValue).y(xValue) : line.x(xValue).y(yValue);\n if (!config.line_connectNull) {\n line = line.defined(function (d) {\n return d.value != null;\n });\n }\n return function (d) {\n var values = config.line_connectNull ? $$.filterRemoveNull(d.values) : d.values,\n x = isSub ? $$.x : $$.subX,\n y = yScaleGetter.call($$, d.id),\n x0 = 0,\n y0 = 0,\n path;\n if ($$.isLineType(d)) {\n if (config.data_regions[d.id]) {\n path = $$.lineWithRegions(values, x, y, config.data_regions[d.id]);\n } else {\n if ($$.isStepType(d)) {\n values = $$.convertValuesToStep(values);\n }\n path = line.interpolate($$.getInterpolate(d))(values);\n }\n } else {\n if (values[0]) {\n x0 = x(values[0].x);\n y0 = y(values[0].value);\n }\n path = config.axis_rotated ? \"M \" + y0 + \" \" + x0 : \"M \" + x0 + \" \" + y0;\n }\n return path ? path : \"M 0 0\";\n };\n };\n c3_chart_internal_fn.generateGetLinePoints = function (lineIndices, isSub) {\n // partial duplication of generateGetBarPoints\n var $$ = this,\n config = $$.config,\n lineTargetsNum = lineIndices.__max__ + 1,\n x = $$.getShapeX(0, lineTargetsNum, lineIndices, !!isSub),\n y = $$.getShapeY(!!isSub),\n lineOffset = $$.getShapeOffset($$.isLineType, lineIndices, !!isSub),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = lineOffset(d, i) || y0,\n // offset is for stacked area chart\n posX = x(d),\n posY = y(d);\n // fix posY not to overflow opposite quadrant\n if (config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n }\n // 1 point that marks the line position\n return [[posX, posY - (y0 - offset)], [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, posY - (y0 - offset)] // needed for compatibility\n ];\n };\n };\n\n c3_chart_internal_fn.lineWithRegions = function (d, x, y, _regions) {\n var $$ = this,\n config = $$.config,\n prev = -1,\n i,\n j,\n s = \"M\",\n sWithRegion,\n xp,\n yp,\n dx,\n dy,\n dd,\n diff,\n diffx2,\n xOffset = $$.isCategorized() ? 0.5 : 0,\n xValue,\n yValue,\n regions = [];\n\n function isWithinRegions(x, regions) {\n var i;\n for (i = 0; i < regions.length; i++) {\n if (regions[i].start < x && x <= regions[i].end) {\n return true;\n }\n }\n return false;\n }\n\n // Check start/end of regions\n if (isDefined(_regions)) {\n for (i = 0; i < _regions.length; i++) {\n regions[i] = {};\n if (isUndefined(_regions[i].start)) {\n regions[i].start = d[0].x;\n } else {\n regions[i].start = $$.isTimeSeries() ? $$.parseDate(_regions[i].start) : _regions[i].start;\n }\n if (isUndefined(_regions[i].end)) {\n regions[i].end = d[d.length - 1].x;\n } else {\n regions[i].end = $$.isTimeSeries() ? $$.parseDate(_regions[i].end) : _regions[i].end;\n }\n }\n }\n\n // Set scales\n xValue = config.axis_rotated ? function (d) {\n return y(d.value);\n } : function (d) {\n return x(d.x);\n };\n yValue = config.axis_rotated ? function (d) {\n return x(d.x);\n } : function (d) {\n return y(d.value);\n };\n\n // Define svg generator function for region\n function generateM(points) {\n return 'M' + points[0][0] + ' ' + points[0][1] + ' ' + points[1][0] + ' ' + points[1][1];\n }\n if ($$.isTimeSeries()) {\n sWithRegion = function sWithRegion(d0, d1, j, diff) {\n var x0 = d0.x.getTime(),\n x_diff = d1.x - d0.x,\n xv0 = new Date(x0 + x_diff * j),\n xv1 = new Date(x0 + x_diff * (j + diff)),\n points;\n if (config.axis_rotated) {\n points = [[y(yp(j)), x(xv0)], [y(yp(j + diff)), x(xv1)]];\n } else {\n points = [[x(xv0), y(yp(j))], [x(xv1), y(yp(j + diff))]];\n }\n return generateM(points);\n };\n } else {\n sWithRegion = function sWithRegion(d0, d1, j, diff) {\n var points;\n if (config.axis_rotated) {\n points = [[y(yp(j), true), x(xp(j))], [y(yp(j + diff), true), x(xp(j + diff))]];\n } else {\n points = [[x(xp(j), true), y(yp(j))], [x(xp(j + diff), true), y(yp(j + diff))]];\n }\n return generateM(points);\n };\n }\n\n // Generate\n for (i = 0; i < d.length; i++) {\n\n // Draw as normal\n if (isUndefined(regions) || !isWithinRegions(d[i].x, regions)) {\n s += \" \" + xValue(d[i]) + \" \" + yValue(d[i]);\n }\n // Draw with region // TODO: Fix for horizotal charts\n else {\n xp = $$.getScale(d[i - 1].x + xOffset, d[i].x + xOffset, $$.isTimeSeries());\n yp = $$.getScale(d[i - 1].value, d[i].value);\n\n dx = x(d[i].x) - x(d[i - 1].x);\n dy = y(d[i].value) - y(d[i - 1].value);\n dd = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2));\n diff = 2 / dd;\n diffx2 = diff * 2;\n\n for (j = diff; j <= 1; j += diffx2) {\n s += sWithRegion(d[i - 1], d[i], j, diff);\n }\n }\n prev = d[i].x;\n }\n\n return s;\n };\n\n c3_chart_internal_fn.updateArea = function (durationForExit) {\n var $$ = this,\n d3 = $$.d3;\n $$.mainArea = $$.main.selectAll('.' + CLASS.areas).selectAll('.' + CLASS.area).data($$.lineData.bind($$));\n $$.mainArea.enter().append('path').attr(\"class\", $$.classArea.bind($$)).style(\"fill\", $$.color).style(\"opacity\", function () {\n $$.orgAreaOpacity = +d3.select(this).style('opacity');return 0;\n });\n $$.mainArea.style(\"opacity\", $$.orgAreaOpacity);\n $$.mainArea.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n };\n c3_chart_internal_fn.redrawArea = function (drawArea, withTransition) {\n return [(withTransition ? this.mainArea.transition(Math.random().toString()) : this.mainArea).attr(\"d\", drawArea).style(\"fill\", this.color).style(\"opacity\", this.orgAreaOpacity)];\n };\n c3_chart_internal_fn.generateDrawArea = function (areaIndices, isSub) {\n var $$ = this,\n config = $$.config,\n area = $$.d3.svg.area(),\n getPoints = $$.generateGetAreaPoints(areaIndices, isSub),\n yScaleGetter = isSub ? $$.getSubYScale : $$.getYScale,\n xValue = function xValue(d) {\n return (isSub ? $$.subxx : $$.xx).call($$, d);\n },\n value0 = function value0(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[0][1] : yScaleGetter.call($$, d.id)($$.getAreaBaseValue(d.id));\n },\n value1 = function value1(d, i) {\n return config.data_groups.length > 0 ? getPoints(d, i)[1][1] : yScaleGetter.call($$, d.id)(d.value);\n };\n\n area = config.axis_rotated ? area.x0(value0).x1(value1).y(xValue) : area.x(xValue).y0(config.area_above ? 0 : value0).y1(value1);\n if (!config.line_connectNull) {\n area = area.defined(function (d) {\n return d.value !== null;\n });\n }\n\n return function (d) {\n var values = config.line_connectNull ? $$.filterRemoveNull(d.values) : d.values,\n x0 = 0,\n y0 = 0,\n path;\n if ($$.isAreaType(d)) {\n if ($$.isStepType(d)) {\n values = $$.convertValuesToStep(values);\n }\n path = area.interpolate($$.getInterpolate(d))(values);\n } else {\n if (values[0]) {\n x0 = $$.x(values[0].x);\n y0 = $$.getYScale(d.id)(values[0].value);\n }\n path = config.axis_rotated ? \"M \" + y0 + \" \" + x0 : \"M \" + x0 + \" \" + y0;\n }\n return path ? path : \"M 0 0\";\n };\n };\n c3_chart_internal_fn.getAreaBaseValue = function () {\n return 0;\n };\n c3_chart_internal_fn.generateGetAreaPoints = function (areaIndices, isSub) {\n // partial duplication of generateGetBarPoints\n var $$ = this,\n config = $$.config,\n areaTargetsNum = areaIndices.__max__ + 1,\n x = $$.getShapeX(0, areaTargetsNum, areaIndices, !!isSub),\n y = $$.getShapeY(!!isSub),\n areaOffset = $$.getShapeOffset($$.isAreaType, areaIndices, !!isSub),\n yScale = isSub ? $$.getSubYScale : $$.getYScale;\n return function (d, i) {\n var y0 = yScale.call($$, d.id)(0),\n offset = areaOffset(d, i) || y0,\n // offset is for stacked area chart\n posX = x(d),\n posY = y(d);\n // fix posY not to overflow opposite quadrant\n if (config.axis_rotated) {\n if (0 < d.value && posY < y0 || d.value < 0 && y0 < posY) {\n posY = y0;\n }\n }\n // 1 point that marks the area position\n return [[posX, offset], [posX, posY - (y0 - offset)], [posX, posY - (y0 - offset)], // needed for compatibility\n [posX, offset] // needed for compatibility\n ];\n };\n };\n\n c3_chart_internal_fn.updateCircle = function () {\n var $$ = this;\n $$.mainCircle = $$.main.selectAll('.' + CLASS.circles).selectAll('.' + CLASS.circle).data($$.lineOrScatterData.bind($$));\n $$.mainCircle.enter().append(\"circle\").attr(\"class\", $$.classCircle.bind($$)).attr(\"r\", $$.pointR.bind($$)).style(\"fill\", $$.color);\n $$.mainCircle.style(\"opacity\", $$.initialOpacityForCircle.bind($$));\n $$.mainCircle.exit().remove();\n };\n c3_chart_internal_fn.redrawCircle = function (cx, cy, withTransition) {\n var selectedCircles = this.main.selectAll('.' + CLASS.selectedCircle);\n return [(withTransition ? this.mainCircle.transition(Math.random().toString()) : this.mainCircle).style('opacity', this.opacityForCircle.bind(this)).style(\"fill\", this.color).attr(\"cx\", cx).attr(\"cy\", cy), (withTransition ? selectedCircles.transition(Math.random().toString()) : selectedCircles).attr(\"cx\", cx).attr(\"cy\", cy)];\n };\n c3_chart_internal_fn.circleX = function (d) {\n return d.x || d.x === 0 ? this.x(d.x) : null;\n };\n c3_chart_internal_fn.updateCircleY = function () {\n var $$ = this,\n lineIndices,\n getPoints;\n if ($$.config.data_groups.length > 0) {\n lineIndices = $$.getShapeIndices($$.isLineType), getPoints = $$.generateGetLinePoints(lineIndices);\n $$.circleY = function (d, i) {\n return getPoints(d, i)[0][1];\n };\n } else {\n $$.circleY = function (d) {\n return $$.getYScale(d.id)(d.value);\n };\n }\n };\n c3_chart_internal_fn.getCircles = function (i, id) {\n var $$ = this;\n return (id ? $$.main.selectAll('.' + CLASS.circles + $$.getTargetSelectorSuffix(id)) : $$.main).selectAll('.' + CLASS.circle + (isValue(i) ? '-' + i : ''));\n };\n c3_chart_internal_fn.expandCircles = function (i, id, reset) {\n var $$ = this,\n r = $$.pointExpandedR.bind($$);\n if (reset) {\n $$.unexpandCircles();\n }\n $$.getCircles(i, id).classed(CLASS.EXPANDED, true).attr('r', r);\n };\n c3_chart_internal_fn.unexpandCircles = function (i) {\n var $$ = this,\n r = $$.pointR.bind($$);\n $$.getCircles(i).filter(function () {\n return $$.d3.select(this).classed(CLASS.EXPANDED);\n }).classed(CLASS.EXPANDED, false).attr('r', r);\n };\n c3_chart_internal_fn.pointR = function (d) {\n var $$ = this,\n config = $$.config;\n return $$.isStepType(d) ? 0 : isFunction(config.point_r) ? config.point_r(d) : config.point_r;\n };\n c3_chart_internal_fn.pointExpandedR = function (d) {\n var $$ = this,\n config = $$.config;\n if (config.point_focus_expand_enabled) {\n return isFunction(config.point_focus_expand_r) ? config.point_focus_expand_r(d) : config.point_focus_expand_r ? config.point_focus_expand_r : $$.pointR(d) * 1.75;\n } else {\n return $$.pointR(d);\n }\n };\n c3_chart_internal_fn.pointSelectR = function (d) {\n var $$ = this,\n config = $$.config;\n return isFunction(config.point_select_r) ? config.point_select_r(d) : config.point_select_r ? config.point_select_r : $$.pointR(d) * 4;\n };\n c3_chart_internal_fn.isWithinCircle = function (that, r) {\n var d3 = this.d3,\n mouse = d3.mouse(that),\n d3_this = d3.select(that),\n cx = +d3_this.attr(\"cx\"),\n cy = +d3_this.attr(\"cy\");\n return Math.sqrt(Math.pow(cx - mouse[0], 2) + Math.pow(cy - mouse[1], 2)) < r;\n };\n c3_chart_internal_fn.isWithinStep = function (that, y) {\n return Math.abs(y - this.d3.mouse(that)[1]) < 30;\n };\n\n c3_chart_internal_fn.getCurrentWidth = function () {\n var $$ = this,\n config = $$.config;\n return config.size_width ? config.size_width : $$.getParentWidth();\n };\n c3_chart_internal_fn.getCurrentHeight = function () {\n var $$ = this,\n config = $$.config,\n h = config.size_height ? config.size_height : $$.getParentHeight();\n return h > 0 ? h : 320 / ($$.hasType('gauge') && !config.gauge_fullCircle ? 2 : 1);\n };\n c3_chart_internal_fn.getCurrentPaddingTop = function () {\n var $$ = this,\n config = $$.config,\n padding = isValue(config.padding_top) ? config.padding_top : 0;\n if ($$.title && $$.title.node()) {\n padding += $$.getTitlePadding();\n }\n return padding;\n };\n c3_chart_internal_fn.getCurrentPaddingBottom = function () {\n var config = this.config;\n return isValue(config.padding_bottom) ? config.padding_bottom : 0;\n };\n c3_chart_internal_fn.getCurrentPaddingLeft = function (withoutRecompute) {\n var $$ = this,\n config = $$.config;\n if (isValue(config.padding_left)) {\n return config.padding_left;\n } else if (config.axis_rotated) {\n return !config.axis_x_show || config.axis_x_inner ? 1 : Math.max(ceil10($$.getAxisWidthByAxisId('x', withoutRecompute)), 40);\n } else if (!config.axis_y_show || config.axis_y_inner) {\n // && !config.axis_rotated\n return $$.axis.getYAxisLabelPosition().isOuter ? 30 : 1;\n } else {\n return ceil10($$.getAxisWidthByAxisId('y', withoutRecompute));\n }\n };\n c3_chart_internal_fn.getCurrentPaddingRight = function () {\n var $$ = this,\n config = $$.config,\n defaultPadding = 10,\n legendWidthOnRight = $$.isLegendRight ? $$.getLegendWidth() + 20 : 0;\n if (isValue(config.padding_right)) {\n return config.padding_right + 1; // 1 is needed not to hide tick line\n } else if (config.axis_rotated) {\n return defaultPadding + legendWidthOnRight;\n } else if (!config.axis_y2_show || config.axis_y2_inner) {\n // && !config.axis_rotated\n return 2 + legendWidthOnRight + ($$.axis.getY2AxisLabelPosition().isOuter ? 20 : 0);\n } else {\n return ceil10($$.getAxisWidthByAxisId('y2')) + legendWidthOnRight;\n }\n };\n\n c3_chart_internal_fn.getParentRectValue = function (key) {\n var parent = this.selectChart.node(),\n v;\n while (parent && parent.tagName !== 'BODY') {\n try {\n v = parent.getBoundingClientRect()[key];\n } catch (e) {\n if (key === 'width') {\n // In IE in certain cases getBoundingClientRect\n // will cause an \"unspecified error\"\n v = parent.offsetWidth;\n }\n }\n if (v) {\n break;\n }\n parent = parent.parentNode;\n }\n return v;\n };\n c3_chart_internal_fn.getParentWidth = function () {\n return this.getParentRectValue('width');\n };\n c3_chart_internal_fn.getParentHeight = function () {\n var h = this.selectChart.style('height');\n return h.indexOf('px') > 0 ? +h.replace('px', '') : 0;\n };\n\n c3_chart_internal_fn.getSvgLeft = function (withoutRecompute) {\n var $$ = this,\n config = $$.config,\n hasLeftAxisRect = config.axis_rotated || !config.axis_rotated && !config.axis_y_inner,\n leftAxisClass = config.axis_rotated ? CLASS.axisX : CLASS.axisY,\n leftAxis = $$.main.select('.' + leftAxisClass).node(),\n svgRect = leftAxis && hasLeftAxisRect ? leftAxis.getBoundingClientRect() : { right: 0 },\n chartRect = $$.selectChart.node().getBoundingClientRect(),\n hasArc = $$.hasArcType(),\n svgLeft = svgRect.right - chartRect.left - (hasArc ? 0 : $$.getCurrentPaddingLeft(withoutRecompute));\n return svgLeft > 0 ? svgLeft : 0;\n };\n\n c3_chart_internal_fn.getAxisWidthByAxisId = function (id, withoutRecompute) {\n var $$ = this,\n position = $$.axis.getLabelPositionById(id);\n return $$.axis.getMaxTickWidth(id, withoutRecompute) + (position.isInner ? 20 : 40);\n };\n c3_chart_internal_fn.getHorizontalAxisHeight = function (axisId) {\n var $$ = this,\n config = $$.config,\n h = 30;\n if (axisId === 'x' && !config.axis_x_show) {\n return 8;\n }\n if (axisId === 'x' && config.axis_x_height) {\n return config.axis_x_height;\n }\n if (axisId === 'y' && !config.axis_y_show) {\n return config.legend_show && !$$.isLegendRight && !$$.isLegendInset ? 10 : 1;\n }\n if (axisId === 'y2' && !config.axis_y2_show) {\n return $$.rotated_padding_top;\n }\n // Calculate x axis height when tick rotated\n if (axisId === 'x' && !config.axis_rotated && config.axis_x_tick_rotate) {\n h = 30 + $$.axis.getMaxTickWidth(axisId) * Math.cos(Math.PI * (90 - config.axis_x_tick_rotate) / 180);\n }\n // Calculate y axis height when tick rotated\n if (axisId === 'y' && config.axis_rotated && config.axis_y_tick_rotate) {\n h = 30 + $$.axis.getMaxTickWidth(axisId) * Math.cos(Math.PI * (90 - config.axis_y_tick_rotate) / 180);\n }\n return h + ($$.axis.getLabelPositionById(axisId).isInner ? 0 : 10) + (axisId === 'y2' ? -10 : 0);\n };\n\n c3_chart_internal_fn.getEventRectWidth = function () {\n return Math.max(0, this.xAxis.tickInterval());\n };\n\n c3_chart_internal_fn.initBrush = function () {\n var $$ = this,\n d3 = $$.d3;\n $$.brush = d3.svg.brush().on(\"brush\", function () {\n $$.redrawForBrush();\n });\n $$.brush.update = function () {\n if ($$.context) {\n $$.context.select('.' + CLASS.brush).call(this);\n }\n return this;\n };\n $$.brush.scale = function (scale) {\n return $$.config.axis_rotated ? this.y(scale) : this.x(scale);\n };\n };\n c3_chart_internal_fn.initSubchart = function () {\n var $$ = this,\n config = $$.config,\n context = $$.context = $$.svg.append(\"g\").attr(\"transform\", $$.getTranslate('context')),\n visibility = config.subchart_show ? 'visible' : 'hidden';\n\n context.style('visibility', visibility);\n\n // Define g for chart area\n context.append('g').attr(\"clip-path\", $$.clipPathForSubchart).attr('class', CLASS.chart);\n\n // Define g for bar chart area\n context.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartBars);\n\n // Define g for line chart area\n context.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartLines);\n\n // Add extent rect for Brush\n context.append(\"g\").attr(\"clip-path\", $$.clipPath).attr(\"class\", CLASS.brush).call($$.brush);\n\n // ATTENTION: This must be called AFTER chart added\n // Add Axis\n $$.axes.subx = context.append(\"g\").attr(\"class\", CLASS.axisX).attr(\"transform\", $$.getTranslate('subx')).attr(\"clip-path\", config.axis_rotated ? \"\" : $$.clipPathForXAxis).style(\"visibility\", config.subchart_axis_x_show ? visibility : 'hidden');\n };\n c3_chart_internal_fn.updateTargetsForSubchart = function (targets) {\n var $$ = this,\n context = $$.context,\n config = $$.config,\n contextLineEnter,\n contextLineUpdate,\n contextBarEnter,\n contextBarUpdate,\n classChartBar = $$.classChartBar.bind($$),\n classBars = $$.classBars.bind($$),\n classChartLine = $$.classChartLine.bind($$),\n classLines = $$.classLines.bind($$),\n classAreas = $$.classAreas.bind($$);\n\n if (config.subchart_show) {\n //-- Bar --//\n contextBarUpdate = context.select('.' + CLASS.chartBars).selectAll('.' + CLASS.chartBar).data(targets).attr('class', classChartBar);\n contextBarEnter = contextBarUpdate.enter().append('g').style('opacity', 0).attr('class', classChartBar);\n // Bars for each data\n contextBarEnter.append('g').attr(\"class\", classBars);\n\n //-- Line --//\n contextLineUpdate = context.select('.' + CLASS.chartLines).selectAll('.' + CLASS.chartLine).data(targets).attr('class', classChartLine);\n contextLineEnter = contextLineUpdate.enter().append('g').style('opacity', 0).attr('class', classChartLine);\n // Lines for each data\n contextLineEnter.append(\"g\").attr(\"class\", classLines);\n // Area\n contextLineEnter.append(\"g\").attr(\"class\", classAreas);\n\n //-- Brush --//\n context.selectAll('.' + CLASS.brush + ' rect').attr(config.axis_rotated ? \"width\" : \"height\", config.axis_rotated ? $$.width2 : $$.height2);\n }\n };\n c3_chart_internal_fn.updateBarForSubchart = function (durationForExit) {\n var $$ = this;\n $$.contextBar = $$.context.selectAll('.' + CLASS.bars).selectAll('.' + CLASS.bar).data($$.barData.bind($$));\n $$.contextBar.enter().append('path').attr(\"class\", $$.classBar.bind($$)).style(\"stroke\", 'none').style(\"fill\", $$.color);\n $$.contextBar.style(\"opacity\", $$.initialOpacity.bind($$));\n $$.contextBar.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n };\n c3_chart_internal_fn.redrawBarForSubchart = function (drawBarOnSub, withTransition, duration) {\n (withTransition ? this.contextBar.transition(Math.random().toString()).duration(duration) : this.contextBar).attr('d', drawBarOnSub).style('opacity', 1);\n };\n c3_chart_internal_fn.updateLineForSubchart = function (durationForExit) {\n var $$ = this;\n $$.contextLine = $$.context.selectAll('.' + CLASS.lines).selectAll('.' + CLASS.line).data($$.lineData.bind($$));\n $$.contextLine.enter().append('path').attr('class', $$.classLine.bind($$)).style('stroke', $$.color);\n $$.contextLine.style(\"opacity\", $$.initialOpacity.bind($$));\n $$.contextLine.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n };\n c3_chart_internal_fn.redrawLineForSubchart = function (drawLineOnSub, withTransition, duration) {\n (withTransition ? this.contextLine.transition(Math.random().toString()).duration(duration) : this.contextLine).attr(\"d\", drawLineOnSub).style('opacity', 1);\n };\n c3_chart_internal_fn.updateAreaForSubchart = function (durationForExit) {\n var $$ = this,\n d3 = $$.d3;\n $$.contextArea = $$.context.selectAll('.' + CLASS.areas).selectAll('.' + CLASS.area).data($$.lineData.bind($$));\n $$.contextArea.enter().append('path').attr(\"class\", $$.classArea.bind($$)).style(\"fill\", $$.color).style(\"opacity\", function () {\n $$.orgAreaOpacity = +d3.select(this).style('opacity');return 0;\n });\n $$.contextArea.style(\"opacity\", 0);\n $$.contextArea.exit().transition().duration(durationForExit).style('opacity', 0).remove();\n };\n c3_chart_internal_fn.redrawAreaForSubchart = function (drawAreaOnSub, withTransition, duration) {\n (withTransition ? this.contextArea.transition(Math.random().toString()).duration(duration) : this.contextArea).attr(\"d\", drawAreaOnSub).style(\"fill\", this.color).style(\"opacity\", this.orgAreaOpacity);\n };\n c3_chart_internal_fn.redrawSubchart = function (withSubchart, transitions, duration, durationForExit, areaIndices, barIndices, lineIndices) {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n drawAreaOnSub,\n drawBarOnSub,\n drawLineOnSub;\n\n $$.context.style('visibility', config.subchart_show ? 'visible' : 'hidden');\n\n // subchart\n if (config.subchart_show) {\n // reflect main chart to extent on subchart if zoomed\n if (d3.event && d3.event.type === 'zoom') {\n $$.brush.extent($$.x.orgDomain()).update();\n }\n // update subchart elements if needed\n if (withSubchart) {\n\n // extent rect\n if (!$$.brush.empty()) {\n $$.brush.extent($$.x.orgDomain()).update();\n }\n // setup drawer - MEMO: this must be called after axis updated\n drawAreaOnSub = $$.generateDrawArea(areaIndices, true);\n drawBarOnSub = $$.generateDrawBar(barIndices, true);\n drawLineOnSub = $$.generateDrawLine(lineIndices, true);\n\n $$.updateBarForSubchart(duration);\n $$.updateLineForSubchart(duration);\n $$.updateAreaForSubchart(duration);\n\n $$.redrawBarForSubchart(drawBarOnSub, duration, duration);\n $$.redrawLineForSubchart(drawLineOnSub, duration, duration);\n $$.redrawAreaForSubchart(drawAreaOnSub, duration, duration);\n }\n }\n };\n c3_chart_internal_fn.redrawForBrush = function () {\n var $$ = this,\n x = $$.x;\n $$.redraw({\n withTransition: false,\n withY: $$.config.zoom_rescale,\n withSubchart: false,\n withUpdateXDomain: true,\n withDimension: false\n });\n $$.config.subchart_onbrush.call($$.api, x.orgDomain());\n };\n c3_chart_internal_fn.transformContext = function (withTransition, transitions) {\n var $$ = this,\n subXAxis;\n if (transitions && transitions.axisSubX) {\n subXAxis = transitions.axisSubX;\n } else {\n subXAxis = $$.context.select('.' + CLASS.axisX);\n if (withTransition) {\n subXAxis = subXAxis.transition();\n }\n }\n $$.context.attr(\"transform\", $$.getTranslate('context'));\n subXAxis.attr(\"transform\", $$.getTranslate('subx'));\n };\n c3_chart_internal_fn.getDefaultExtent = function () {\n var $$ = this,\n config = $$.config,\n extent = isFunction(config.axis_x_extent) ? config.axis_x_extent($$.getXDomain($$.data.targets)) : config.axis_x_extent;\n if ($$.isTimeSeries()) {\n extent = [$$.parseDate(extent[0]), $$.parseDate(extent[1])];\n }\n return extent;\n };\n\n c3_chart_internal_fn.initText = function () {\n var $$ = this;\n $$.main.select('.' + CLASS.chart).append(\"g\").attr(\"class\", CLASS.chartTexts);\n $$.mainText = $$.d3.selectAll([]);\n };\n c3_chart_internal_fn.updateTargetsForText = function (targets) {\n var $$ = this,\n mainTextUpdate,\n mainTextEnter,\n classChartText = $$.classChartText.bind($$),\n classTexts = $$.classTexts.bind($$),\n classFocus = $$.classFocus.bind($$);\n mainTextUpdate = $$.main.select('.' + CLASS.chartTexts).selectAll('.' + CLASS.chartText).data(targets).attr('class', function (d) {\n return classChartText(d) + classFocus(d);\n });\n mainTextEnter = mainTextUpdate.enter().append('g').attr('class', classChartText).style('opacity', 0).style(\"pointer-events\", \"none\");\n mainTextEnter.append('g').attr('class', classTexts);\n };\n c3_chart_internal_fn.updateText = function (durationForExit) {\n var $$ = this,\n config = $$.config,\n barOrLineData = $$.barOrLineData.bind($$),\n classText = $$.classText.bind($$);\n $$.mainText = $$.main.selectAll('.' + CLASS.texts).selectAll('.' + CLASS.text).data(barOrLineData);\n $$.mainText.enter().append('text').attr(\"class\", classText).attr('text-anchor', function (d) {\n return config.axis_rotated ? d.value < 0 ? 'end' : 'start' : 'middle';\n }).style(\"stroke\", 'none').style(\"fill\", function (d) {\n return $$.color(d);\n }).style(\"fill-opacity\", 0);\n $$.mainText.text(function (d, i, j) {\n return $$.dataLabelFormat(d.id)(d.value, d.id, i, j);\n });\n $$.mainText.exit().transition().duration(durationForExit).style('fill-opacity', 0).remove();\n };\n c3_chart_internal_fn.redrawText = function (xForText, yForText, forFlow, withTransition) {\n return [(withTransition ? this.mainText.transition() : this.mainText).attr('x', xForText).attr('y', yForText).style(\"fill\", this.color).style(\"fill-opacity\", forFlow ? 0 : this.opacityForText.bind(this))];\n };\n c3_chart_internal_fn.getTextRect = function (text, cls, element) {\n var dummy = this.d3.select('body').append('div').classed('c3', true),\n svg = dummy.append(\"svg\").style('visibility', 'hidden').style('position', 'fixed').style('top', 0).style('left', 0),\n font = this.d3.select(element).style('font'),\n rect;\n svg.selectAll('.dummy').data([text]).enter().append('text').classed(cls ? cls : \"\", true).style('font', font).text(text).each(function () {\n rect = this.getBoundingClientRect();\n });\n dummy.remove();\n return rect;\n };\n c3_chart_internal_fn.generateXYForText = function (areaIndices, barIndices, lineIndices, forX) {\n var $$ = this,\n getAreaPoints = $$.generateGetAreaPoints(areaIndices, false),\n getBarPoints = $$.generateGetBarPoints(barIndices, false),\n getLinePoints = $$.generateGetLinePoints(lineIndices, false),\n getter = forX ? $$.getXForText : $$.getYForText;\n return function (d, i) {\n var getPoints = $$.isAreaType(d) ? getAreaPoints : $$.isBarType(d) ? getBarPoints : getLinePoints;\n return getter.call($$, getPoints(d, i), d, this);\n };\n };\n c3_chart_internal_fn.getXForText = function (points, d, textElement) {\n var $$ = this,\n box = textElement.getBoundingClientRect(),\n xPos,\n padding;\n if ($$.config.axis_rotated) {\n padding = $$.isBarType(d) ? 4 : 6;\n xPos = points[2][1] + padding * (d.value < 0 ? -1 : 1);\n } else {\n xPos = $$.hasType('bar') ? (points[2][0] + points[0][0]) / 2 : points[0][0];\n }\n // show labels regardless of the domain if value is null\n if (d.value === null) {\n if (xPos > $$.width) {\n xPos = $$.width - box.width;\n } else if (xPos < 0) {\n xPos = 4;\n }\n }\n return xPos;\n };\n c3_chart_internal_fn.getYForText = function (points, d, textElement) {\n var $$ = this,\n box = textElement.getBoundingClientRect(),\n yPos;\n if ($$.config.axis_rotated) {\n yPos = (points[0][0] + points[2][0] + box.height * 0.6) / 2;\n } else {\n yPos = points[2][1];\n if (d.value < 0 || d.value === 0 && !$$.hasPositiveValue) {\n yPos += box.height;\n if ($$.isBarType(d) && $$.isSafari()) {\n yPos -= 3;\n } else if (!$$.isBarType(d) && $$.isChrome()) {\n yPos += 3;\n }\n } else {\n yPos += $$.isBarType(d) ? -3 : -6;\n }\n }\n // show labels regardless of the domain if value is null\n if (d.value === null && !$$.config.axis_rotated) {\n if (yPos < box.height) {\n yPos = box.height;\n } else if (yPos > this.height) {\n yPos = this.height - 4;\n }\n }\n return yPos;\n };\n\n c3_chart_internal_fn.initTitle = function () {\n var $$ = this;\n $$.title = $$.svg.append(\"text\").text($$.config.title_text).attr(\"class\", $$.CLASS.title);\n };\n c3_chart_internal_fn.redrawTitle = function () {\n var $$ = this;\n $$.title.attr(\"x\", $$.xForTitle.bind($$)).attr(\"y\", $$.yForTitle.bind($$));\n };\n c3_chart_internal_fn.xForTitle = function () {\n var $$ = this,\n config = $$.config,\n position = config.title_position || 'left',\n x;\n if (position.indexOf('right') >= 0) {\n x = $$.currentWidth - $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).width - config.title_padding.right;\n } else if (position.indexOf('center') >= 0) {\n x = ($$.currentWidth - $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).width) / 2;\n } else {\n // left\n x = config.title_padding.left;\n }\n return x;\n };\n c3_chart_internal_fn.yForTitle = function () {\n var $$ = this;\n return $$.config.title_padding.top + $$.getTextRect($$.title.node().textContent, $$.CLASS.title, $$.title.node()).height;\n };\n c3_chart_internal_fn.getTitlePadding = function () {\n var $$ = this;\n return $$.yForTitle() + $$.config.title_padding.bottom;\n };\n\n c3_chart_internal_fn.initTooltip = function () {\n var $$ = this,\n config = $$.config,\n i;\n $$.tooltip = $$.selectChart.style(\"position\", \"relative\").append(\"div\").attr('class', CLASS.tooltipContainer).style(\"position\", \"absolute\").style(\"pointer-events\", \"none\").style(\"display\", \"none\");\n // Show tooltip if needed\n if (config.tooltip_init_show) {\n if ($$.isTimeSeries() && isString(config.tooltip_init_x)) {\n config.tooltip_init_x = $$.parseDate(config.tooltip_init_x);\n for (i = 0; i < $$.data.targets[0].values.length; i++) {\n if ($$.data.targets[0].values[i].x - config.tooltip_init_x === 0) {\n break;\n }\n }\n config.tooltip_init_x = i;\n }\n $$.tooltip.html(config.tooltip_contents.call($$, $$.data.targets.map(function (d) {\n return $$.addName(d.values[config.tooltip_init_x]);\n }), $$.axis.getXAxisTickFormat(), $$.getYFormat($$.hasArcType()), $$.color));\n $$.tooltip.style(\"top\", config.tooltip_init_position.top).style(\"left\", config.tooltip_init_position.left).style(\"display\", \"block\");\n }\n };\n c3_chart_internal_fn.getTooltipSortFunction = function () {\n var $$ = this,\n config = $$.config;\n\n if (config.data_groups.length === 0 || config.tooltip_order !== undefined) {\n // if data are not grouped or if an order is specified\n // for the tooltip values we sort them by their values\n\n var order = config.tooltip_order;\n if (order === undefined) {\n order = config.data_order;\n }\n\n var valueOf = function valueOf(obj) {\n return obj ? obj.value : null;\n };\n\n // if data are not grouped, we sort them by their value\n if (isString(order) && order.toLowerCase() === 'asc') {\n return function (a, b) {\n return valueOf(a) - valueOf(b);\n };\n } else if (isString(order) && order.toLowerCase() === 'desc') {\n return function (a, b) {\n return valueOf(b) - valueOf(a);\n };\n } else if (isFunction(order)) {\n\n // if the function is from data_order we need\n // to wrap the returned function in order to format\n // the sorted value to the expected format\n\n var sortFunction = order;\n\n if (config.tooltip_order === undefined) {\n sortFunction = function sortFunction(a, b) {\n return order(a ? {\n id: a.id,\n values: [a]\n } : null, b ? {\n id: b.id,\n values: [b]\n } : null);\n };\n }\n\n return sortFunction;\n } else if (isArray(order)) {\n return function (a, b) {\n return order.indexOf(a.id) - order.indexOf(b.id);\n };\n }\n } else {\n // if data are grouped, we follow the order of grouped targets\n var ids = $$.orderTargets($$.data.targets).map(function (i) {\n return i.id;\n });\n\n // if it was either asc or desc we need to invert the order\n // returned by orderTargets\n if ($$.isOrderAsc() || $$.isOrderDesc()) {\n ids = ids.reverse();\n }\n\n return function (a, b) {\n return ids.indexOf(a.id) - ids.indexOf(b.id);\n };\n }\n };\n c3_chart_internal_fn.getTooltipContent = function (d, defaultTitleFormat, defaultValueFormat, color) {\n var $$ = this,\n config = $$.config,\n titleFormat = config.tooltip_format_title || defaultTitleFormat,\n nameFormat = config.tooltip_format_name || function (name) {\n return name;\n },\n valueFormat = config.tooltip_format_value || defaultValueFormat,\n text,\n i,\n title,\n value,\n name,\n bgcolor;\n\n var tooltipSortFunction = this.getTooltipSortFunction();\n if (tooltipSortFunction) {\n d.sort(tooltipSortFunction);\n }\n\n for (i = 0; i < d.length; i++) {\n if (!(d[i] && (d[i].value || d[i].value === 0))) {\n continue;\n }\n\n if (!text) {\n title = sanitise(titleFormat ? titleFormat(d[i].x) : d[i].x);\n text = \"\" + (title || title === 0 ? \"\" : \"\");\n }\n\n value = sanitise(valueFormat(d[i].value, d[i].ratio, d[i].id, d[i].index, d));\n if (value !== undefined) {\n // Skip elements when their name is set to null\n if (d[i].name === null) {\n continue;\n }\n name = sanitise(nameFormat(d[i].name, d[i].ratio, d[i].id, d[i].index));\n bgcolor = $$.levelColor ? $$.levelColor(d[i].value) : color(d[i].id);\n\n text += \"\";\n text += \"\";\n text += \"\";\n text += \"\";\n }\n }\n return text + \"
\" + title + \"
\" + name + \"\" + value + \"
\";\n };\n c3_chart_internal_fn.tooltipPosition = function (dataToShow, tWidth, tHeight, element) {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3;\n var svgLeft, tooltipLeft, tooltipRight, tooltipTop, chartRight;\n var forArc = $$.hasArcType(),\n mouse = d3.mouse(element);\n // Determin tooltip position\n if (forArc) {\n tooltipLeft = ($$.width - ($$.isLegendRight ? $$.getLegendWidth() : 0)) / 2 + mouse[0];\n tooltipTop = ($$.hasType('gauge') ? $$.height : $$.height / 2) + mouse[1] + 20;\n } else {\n svgLeft = $$.getSvgLeft(true);\n if (config.axis_rotated) {\n tooltipLeft = svgLeft + mouse[0] + 100;\n tooltipRight = tooltipLeft + tWidth;\n chartRight = $$.currentWidth - $$.getCurrentPaddingRight();\n tooltipTop = $$.x(dataToShow[0].x) + 20;\n } else {\n tooltipLeft = svgLeft + $$.getCurrentPaddingLeft(true) + $$.x(dataToShow[0].x) + 20;\n tooltipRight = tooltipLeft + tWidth;\n chartRight = svgLeft + $$.currentWidth - $$.getCurrentPaddingRight();\n tooltipTop = mouse[1] + 15;\n }\n\n if (tooltipRight > chartRight) {\n // 20 is needed for Firefox to keep tooltip width\n tooltipLeft -= tooltipRight - chartRight + 20;\n }\n if (tooltipTop + tHeight > $$.currentHeight) {\n tooltipTop -= tHeight + 30;\n }\n }\n if (tooltipTop < 0) {\n tooltipTop = 0;\n }\n return { top: tooltipTop, left: tooltipLeft };\n };\n c3_chart_internal_fn.showTooltip = function (selectedData, element) {\n var $$ = this,\n config = $$.config;\n var tWidth, tHeight, position;\n var forArc = $$.hasArcType(),\n dataToShow = selectedData.filter(function (d) {\n return d && isValue(d.value);\n }),\n positionFunction = config.tooltip_position || c3_chart_internal_fn.tooltipPosition;\n if (dataToShow.length === 0 || !config.tooltip_show) {\n return;\n }\n $$.tooltip.html(config.tooltip_contents.call($$, selectedData, $$.axis.getXAxisTickFormat(), $$.getYFormat(forArc), $$.color)).style(\"display\", \"block\");\n\n // Get tooltip dimensions\n tWidth = $$.tooltip.property('offsetWidth');\n tHeight = $$.tooltip.property('offsetHeight');\n\n position = positionFunction.call(this, dataToShow, tWidth, tHeight, element);\n // Set tooltip\n $$.tooltip.style(\"top\", position.top + \"px\").style(\"left\", position.left + 'px');\n };\n c3_chart_internal_fn.hideTooltip = function () {\n this.tooltip.style(\"display\", \"none\");\n };\n\n c3_chart_internal_fn.setTargetType = function (targetIds, type) {\n var $$ = this,\n config = $$.config;\n $$.mapToTargetIds(targetIds).forEach(function (id) {\n $$.withoutFadeIn[id] = type === config.data_types[id];\n config.data_types[id] = type;\n });\n if (!targetIds) {\n config.data_type = type;\n }\n };\n c3_chart_internal_fn.hasType = function (type, targets) {\n var $$ = this,\n types = $$.config.data_types,\n has = false;\n targets = targets || $$.data.targets;\n if (targets && targets.length) {\n targets.forEach(function (target) {\n var t = types[target.id];\n if (t && t.indexOf(type) >= 0 || !t && type === 'line') {\n has = true;\n }\n });\n } else if (Object.keys(types).length) {\n Object.keys(types).forEach(function (id) {\n if (types[id] === type) {\n has = true;\n }\n });\n } else {\n has = $$.config.data_type === type;\n }\n return has;\n };\n c3_chart_internal_fn.hasArcType = function (targets) {\n return this.hasType('pie', targets) || this.hasType('donut', targets) || this.hasType('gauge', targets);\n };\n c3_chart_internal_fn.isLineType = function (d) {\n var config = this.config,\n id = isString(d) ? d : d.id;\n return !config.data_types[id] || ['line', 'spline', 'area', 'area-spline', 'step', 'area-step'].indexOf(config.data_types[id]) >= 0;\n };\n c3_chart_internal_fn.isStepType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['step', 'area-step'].indexOf(this.config.data_types[id]) >= 0;\n };\n c3_chart_internal_fn.isSplineType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['spline', 'area-spline'].indexOf(this.config.data_types[id]) >= 0;\n };\n c3_chart_internal_fn.isAreaType = function (d) {\n var id = isString(d) ? d : d.id;\n return ['area', 'area-spline', 'area-step'].indexOf(this.config.data_types[id]) >= 0;\n };\n c3_chart_internal_fn.isBarType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'bar';\n };\n c3_chart_internal_fn.isScatterType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'scatter';\n };\n c3_chart_internal_fn.isPieType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'pie';\n };\n c3_chart_internal_fn.isGaugeType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'gauge';\n };\n c3_chart_internal_fn.isDonutType = function (d) {\n var id = isString(d) ? d : d.id;\n return this.config.data_types[id] === 'donut';\n };\n c3_chart_internal_fn.isArcType = function (d) {\n return this.isPieType(d) || this.isDonutType(d) || this.isGaugeType(d);\n };\n c3_chart_internal_fn.lineData = function (d) {\n return this.isLineType(d) ? [d] : [];\n };\n c3_chart_internal_fn.arcData = function (d) {\n return this.isArcType(d.data) ? [d] : [];\n };\n /* not used\n function scatterData(d) {\n return isScatterType(d) ? d.values : [];\n }\n */\n c3_chart_internal_fn.barData = function (d) {\n return this.isBarType(d) ? d.values : [];\n };\n c3_chart_internal_fn.lineOrScatterData = function (d) {\n return this.isLineType(d) || this.isScatterType(d) ? d.values : [];\n };\n c3_chart_internal_fn.barOrLineData = function (d) {\n return this.isBarType(d) || this.isLineType(d) ? d.values : [];\n };\n c3_chart_internal_fn.isInterpolationType = function (type) {\n return ['linear', 'linear-closed', 'basis', 'basis-open', 'basis-closed', 'bundle', 'cardinal', 'cardinal-open', 'cardinal-closed', 'monotone'].indexOf(type) >= 0;\n };\n\n c3_chart_internal_fn.isSafari = function () {\n var ua = window.navigator.userAgent;\n return ua.indexOf('Safari') >= 0 && ua.indexOf('Chrome') < 0;\n };\n c3_chart_internal_fn.isChrome = function () {\n var ua = window.navigator.userAgent;\n return ua.indexOf('Chrome') >= 0;\n };\n\n c3_chart_internal_fn.initZoom = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n startEvent;\n\n $$.zoom = d3.behavior.zoom().on(\"zoomstart\", function () {\n startEvent = d3.event.sourceEvent;\n $$.zoom.altDomain = d3.event.sourceEvent.altKey ? $$.x.orgDomain() : null;\n config.zoom_onzoomstart.call($$.api, d3.event.sourceEvent);\n }).on(\"zoom\", function () {\n $$.redrawForZoom.call($$);\n }).on('zoomend', function () {\n var event = d3.event.sourceEvent;\n // if click, do nothing. otherwise, click interaction will be canceled.\n if (event && startEvent.clientX === event.clientX && startEvent.clientY === event.clientY) {\n return;\n }\n $$.redrawEventRect();\n $$.updateZoom();\n config.zoom_onzoomend.call($$.api, $$.x.orgDomain());\n });\n $$.zoom.scale = function (scale) {\n return config.axis_rotated ? this.y(scale) : this.x(scale);\n };\n $$.zoom.orgScaleExtent = function () {\n var extent = config.zoom_extent ? config.zoom_extent : [1, 10];\n return [extent[0], Math.max($$.getMaxDataCount() / extent[1], extent[1])];\n };\n $$.zoom.updateScaleExtent = function () {\n var ratio = diffDomain($$.x.orgDomain()) / diffDomain($$.getZoomDomain()),\n extent = this.orgScaleExtent();\n this.scaleExtent([extent[0] * ratio, extent[1] * ratio]);\n return this;\n };\n };\n c3_chart_internal_fn.getZoomDomain = function () {\n var $$ = this,\n config = $$.config,\n d3 = $$.d3,\n min = d3.min([$$.orgXDomain[0], config.zoom_x_min]),\n max = d3.max([$$.orgXDomain[1], config.zoom_x_max]);\n return [min, max];\n };\n c3_chart_internal_fn.updateZoom = function () {\n var $$ = this,\n z = $$.config.zoom_enabled ? $$.zoom : function () {};\n $$.main.select('.' + CLASS.zoomRect).call(z).on(\"dblclick.zoom\", null);\n $$.main.selectAll('.' + CLASS.eventRect).call(z).on(\"dblclick.zoom\", null);\n };\n c3_chart_internal_fn.redrawForZoom = function () {\n var $$ = this,\n d3 = $$.d3,\n config = $$.config,\n zoom = $$.zoom,\n x = $$.x;\n if (!config.zoom_enabled) {\n return;\n }\n if ($$.filterTargetsToShow($$.data.targets).length === 0) {\n return;\n }\n if (d3.event.sourceEvent.type === 'mousemove' && zoom.altDomain) {\n x.domain(zoom.altDomain);\n zoom.scale(x).updateScaleExtent();\n return;\n }\n if ($$.isCategorized() && x.orgDomain()[0] === $$.orgXDomain[0]) {\n x.domain([$$.orgXDomain[0] - 1e-10, x.orgDomain()[1]]);\n }\n $$.redraw({\n withTransition: false,\n withY: config.zoom_rescale,\n withSubchart: false,\n withEventRect: false,\n withDimension: false\n });\n if (d3.event.sourceEvent.type === 'mousemove') {\n $$.cancelClick = true;\n }\n config.zoom_onzoom.call($$.api, x.orgDomain());\n };\n\n return c3;\n\n})));\n", "//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n", "/* nvd3 version 1.8.4 (https://github.com/novus/nvd3) 2016-07-03 */\n(function(){\n\n// set up main nv object\nvar nv = {};\n\n// the major global objects under the nv namespace\nnv.dev = false; //set false when in production\nnv.tooltip = nv.tooltip || {}; // For the tooltip system\nnv.utils = nv.utils || {}; // Utility subsystem\nnv.models = nv.models || {}; //stores all the possible models/components\nnv.charts = {}; //stores all the ready to use charts\nnv.logs = {}; //stores some statistics and potential error messages\nnv.dom = {}; //DOM manipulation functions\n\n// Node/CommonJS - require D3\nif (typeof(module) !== 'undefined' && typeof(exports) !== 'undefined' && typeof(d3) == 'undefined') {\n d3 = require('d3');\n}\n\nnv.dispatch = d3.dispatch('render_start', 'render_end');\n\n// Function bind polyfill\n// Needed ONLY for phantomJS as it's missing until version 2.0 which is unreleased as of this comment\n// https://github.com/ariya/phantomjs/issues/10522\n// http://kangax.github.io/compat-table/es5/#Function.prototype.bind\n// phantomJS is used for running the test suite\nif (!Function.prototype.bind) {\n Function.prototype.bind = function (oThis) {\n if (typeof this !== \"function\") {\n // closest thing possible to the ECMAScript 5 internal IsCallable function\n throw new TypeError(\"Function.prototype.bind - what is trying to be bound is not callable\");\n }\n\n var aArgs = Array.prototype.slice.call(arguments, 1),\n fToBind = this,\n fNOP = function () {},\n fBound = function () {\n return fToBind.apply(this instanceof fNOP && oThis\n ? this\n : oThis,\n aArgs.concat(Array.prototype.slice.call(arguments)));\n };\n\n fNOP.prototype = this.prototype;\n fBound.prototype = new fNOP();\n return fBound;\n };\n}\n\n// Development render timers - disabled if dev = false\nif (nv.dev) {\n nv.dispatch.on('render_start', function(e) {\n nv.logs.startTime = +new Date();\n });\n\n nv.dispatch.on('render_end', function(e) {\n nv.logs.endTime = +new Date();\n nv.logs.totalTime = nv.logs.endTime - nv.logs.startTime;\n nv.log('total', nv.logs.totalTime); // used for development, to keep track of graph generation times\n });\n}\n\n// Logs all arguments, and returns the last so you can test things in place\n// Note: in IE8 console.log is an object not a function, and if modernizr is used\n// then calling Function.prototype.bind with with anything other than a function\n// causes a TypeError to be thrown.\nnv.log = function() {\n if (nv.dev && window.console && console.log && console.log.apply)\n console.log.apply(console, arguments);\n else if (nv.dev && window.console && typeof console.log == \"function\" && Function.prototype.bind) {\n var log = Function.prototype.bind.call(console.log, console);\n log.apply(console, arguments);\n }\n return arguments[arguments.length - 1];\n};\n\n// print console warning, should be used by deprecated functions\nnv.deprecated = function(name, info) {\n if (console && console.warn) {\n console.warn('nvd3 warning: `' + name + '` has been deprecated. ', info || '');\n }\n};\n\n// The nv.render function is used to queue up chart rendering\n// in non-blocking async functions.\n// When all queued charts are done rendering, nv.dispatch.render_end is invoked.\nnv.render = function render(step) {\n // number of graphs to generate in each timeout loop\n step = step || 1;\n\n nv.render.active = true;\n nv.dispatch.render_start();\n\n var renderLoop = function() {\n var chart, graph;\n\n for (var i = 0; i < step && (graph = nv.render.queue[i]); i++) {\n chart = graph.generate();\n if (typeof graph.callback == typeof(Function)) graph.callback(chart);\n }\n\n nv.render.queue.splice(0, i);\n\n if (nv.render.queue.length) {\n setTimeout(renderLoop);\n }\n else {\n nv.dispatch.render_end();\n nv.render.active = false;\n }\n };\n\n setTimeout(renderLoop);\n};\n\nnv.render.active = false;\nnv.render.queue = [];\n\n/*\nAdds a chart to the async rendering queue. This method can take arguments in two forms:\nnv.addGraph({\n generate: \n callback: \n})\n\nor\n\nnv.addGraph(, )\n\nThe generate function should contain code that creates the NVD3 model, sets options\non it, adds data to an SVG element, and invokes the chart model. The generate function\nshould return the chart model. See examples/lineChart.html for a usage example.\n\nThe callback function is optional, and it is called when the generate function completes.\n*/\nnv.addGraph = function(obj) {\n if (typeof arguments[0] === typeof(Function)) {\n obj = {generate: arguments[0], callback: arguments[1]};\n }\n\n nv.render.queue.push(obj);\n\n if (!nv.render.active) {\n nv.render();\n }\n};\n\n// Node/CommonJS exports\nif (typeof(module) !== 'undefined' && typeof(exports) !== 'undefined') {\n module.exports = nv;\n}\n\nif (typeof(window) !== 'undefined') {\n window.nv = nv;\n}\n/* Facade for queueing DOM write operations\r\n * with Fastdom (https://github.com/wilsonpage/fastdom)\r\n * if available.\r\n * This could easily be extended to support alternate\r\n * implementations in the future.\r\n */\r\nnv.dom.write = function(callback) {\r\n\tif (window.fastdom !== undefined) {\r\n\t\treturn fastdom.mutate(callback);\r\n\t}\r\n\treturn callback();\r\n};\r\n\r\n/* Facade for queueing DOM read operations\r\n * with Fastdom (https://github.com/wilsonpage/fastdom)\r\n * if available.\r\n * This could easily be extended to support alternate\r\n * implementations in the future.\r\n */\r\nnv.dom.read = function(callback) {\r\n\tif (window.fastdom !== undefined) {\r\n\t\treturn fastdom.measure(callback);\r\n\t}\r\n\treturn callback();\r\n};\r\n/* Utility class to handle creation of an interactive layer.\n This places a rectangle on top of the chart. When you mouse move over it, it sends a dispatch\n containing the X-coordinate. It can also render a vertical line where the mouse is located.\n\n dispatch.elementMousemove is the important event to latch onto. It is fired whenever the mouse moves over\n the rectangle. The dispatch is given one object which contains the mouseX/Y location.\n It also has 'pointXValue', which is the conversion of mouseX to the x-axis scale.\n */\nnv.interactiveGuideline = function() {\n \"use strict\";\n\n var margin = { left: 0, top: 0 } //Pass the chart's top and left magins. Used to calculate the mouseX/Y.\n , width = null\n , height = null\n , xScale = d3.scale.linear()\n , dispatch = d3.dispatch('elementMousemove', 'elementMouseout', 'elementClick', 'elementDblclick', 'elementMouseDown', 'elementMouseUp')\n , showGuideLine = true\n , svgContainer = null // Must pass the chart's svg, we'll use its mousemove event.\n , tooltip = nv.models.tooltip()\n , isMSIE = window.ActiveXObject// Checkt if IE by looking for activeX. (excludes IE11)\n ;\n\n tooltip\n .duration(0)\n .hideDelay(0)\n .hidden(false);\n\n function layer(selection) {\n selection.each(function(data) {\n var container = d3.select(this);\n var availableWidth = (width || 960), availableHeight = (height || 400);\n var wrap = container.selectAll(\"g.nv-wrap.nv-interactiveLineLayer\")\n .data([data]);\n var wrapEnter = wrap.enter()\n .append(\"g\").attr(\"class\", \" nv-wrap nv-interactiveLineLayer\");\n wrapEnter.append(\"g\").attr(\"class\",\"nv-interactiveGuideLine\");\n\n if (!svgContainer) {\n return;\n }\n\n function mouseHandler() {\n var d3mouse = d3.mouse(this);\n var mouseX = d3mouse[0];\n var mouseY = d3mouse[1];\n var subtractMargin = true;\n var mouseOutAnyReason = false;\n if (isMSIE) {\n /*\n D3.js (or maybe SVG.getScreenCTM) has a nasty bug in Internet Explorer 10.\n d3.mouse() returns incorrect X,Y mouse coordinates when mouse moving\n over a rect in IE 10.\n However, d3.event.offsetX/Y also returns the mouse coordinates\n relative to the triggering . So we use offsetX/Y on IE.\n */\n mouseX = d3.event.offsetX;\n mouseY = d3.event.offsetY;\n\n /*\n On IE, if you attach a mouse event listener to the container,\n it will actually trigger it for all the child elements (like , , etc).\n When this happens on IE, the offsetX/Y is set to where ever the child element\n is located.\n As a result, we do NOT need to subtract margins to figure out the mouse X/Y\n position under this scenario. Removing the line below *will* cause\n the interactive layer to not work right on IE.\n */\n if(d3.event.target.tagName !== \"svg\") {\n subtractMargin = false;\n }\n\n if (d3.event.target.className.baseVal.match(\"nv-legend\")) {\n mouseOutAnyReason = true;\n }\n\n }\n\n if(subtractMargin) {\n mouseX -= margin.left;\n mouseY -= margin.top;\n }\n\n /* If mouseX/Y is outside of the chart's bounds,\n trigger a mouseOut event.\n */\n if (d3.event.type === 'mouseout'\n || mouseX < 0 || mouseY < 0\n || mouseX > availableWidth || mouseY > availableHeight\n || (d3.event.relatedTarget && d3.event.relatedTarget.ownerSVGElement === undefined)\n || mouseOutAnyReason\n ) {\n\n if (isMSIE) {\n if (d3.event.relatedTarget\n && d3.event.relatedTarget.ownerSVGElement === undefined\n && (d3.event.relatedTarget.className === undefined\n || d3.event.relatedTarget.className.match(tooltip.nvPointerEventsClass))) {\n\n return;\n }\n }\n dispatch.elementMouseout({\n mouseX: mouseX,\n mouseY: mouseY\n });\n layer.renderGuideLine(null); //hide the guideline\n tooltip.hidden(true);\n return;\n } else {\n tooltip.hidden(false);\n }\n\n\n var scaleIsOrdinal = typeof xScale.rangeBands === 'function';\n var pointXValue = undefined;\n\n // Ordinal scale has no invert method\n if (scaleIsOrdinal) {\n var elementIndex = d3.bisect(xScale.range(), mouseX) - 1;\n // Check if mouseX is in the range band\n if (xScale.range()[elementIndex] + xScale.rangeBand() >= mouseX) {\n pointXValue = xScale.domain()[d3.bisect(xScale.range(), mouseX) - 1];\n }\n else {\n dispatch.elementMouseout({\n mouseX: mouseX,\n mouseY: mouseY\n });\n layer.renderGuideLine(null); //hide the guideline\n tooltip.hidden(true);\n return;\n }\n }\n else {\n pointXValue = xScale.invert(mouseX);\n }\n\n dispatch.elementMousemove({\n mouseX: mouseX,\n mouseY: mouseY,\n pointXValue: pointXValue\n });\n\n //If user double clicks the layer, fire a elementDblclick\n if (d3.event.type === \"dblclick\") {\n dispatch.elementDblclick({\n mouseX: mouseX,\n mouseY: mouseY,\n pointXValue: pointXValue\n });\n }\n\n // if user single clicks the layer, fire elementClick\n if (d3.event.type === 'click') {\n dispatch.elementClick({\n mouseX: mouseX,\n mouseY: mouseY,\n pointXValue: pointXValue\n });\n }\n\n // if user presses mouse down the layer, fire elementMouseDown\n if (d3.event.type === 'mousedown') {\n \tdispatch.elementMouseDown({\n \t\tmouseX: mouseX,\n \t\tmouseY: mouseY,\n \t\tpointXValue: pointXValue\n \t});\n }\n\n // if user presses mouse down the layer, fire elementMouseUp\n if (d3.event.type === 'mouseup') {\n \tdispatch.elementMouseUp({\n \t\tmouseX: mouseX,\n \t\tmouseY: mouseY,\n \t\tpointXValue: pointXValue\n \t});\n }\n }\n\n svgContainer\n .on(\"touchmove\",mouseHandler)\n .on(\"mousemove\",mouseHandler, true)\n .on(\"mouseout\" ,mouseHandler,true)\n .on(\"mousedown\" ,mouseHandler,true)\n .on(\"mouseup\" ,mouseHandler,true)\n .on(\"dblclick\" ,mouseHandler)\n .on(\"click\", mouseHandler)\n ;\n\n layer.guideLine = null;\n //Draws a vertical guideline at the given X postion.\n layer.renderGuideLine = function(x) {\n if (!showGuideLine) return;\n if (layer.guideLine && layer.guideLine.attr(\"x1\") === x) return;\n nv.dom.write(function() {\n var line = wrap.select(\".nv-interactiveGuideLine\")\n .selectAll(\"line\")\n .data((x != null) ? [nv.utils.NaNtoZero(x)] : [], String);\n line.enter()\n .append(\"line\")\n .attr(\"class\", \"nv-guideline\")\n .attr(\"x1\", function(d) { return d;})\n .attr(\"x2\", function(d) { return d;})\n .attr(\"y1\", availableHeight)\n .attr(\"y2\",0);\n line.exit().remove();\n });\n }\n });\n }\n\n layer.dispatch = dispatch;\n layer.tooltip = tooltip;\n\n layer.margin = function(_) {\n if (!arguments.length) return margin;\n margin.top = typeof _.top != 'undefined' ? _.top : margin.top;\n margin.left = typeof _.left != 'undefined' ? _.left : margin.left;\n return layer;\n };\n\n layer.width = function(_) {\n if (!arguments.length) return width;\n width = _;\n return layer;\n };\n\n layer.height = function(_) {\n if (!arguments.length) return height;\n height = _;\n return layer;\n };\n\n layer.xScale = function(_) {\n if (!arguments.length) return xScale;\n xScale = _;\n return layer;\n };\n\n layer.showGuideLine = function(_) {\n if (!arguments.length) return showGuideLine;\n showGuideLine = _;\n return layer;\n };\n\n layer.svgContainer = function(_) {\n if (!arguments.length) return svgContainer;\n svgContainer = _;\n return layer;\n };\n\n return layer;\n};\n\n/* Utility class that uses d3.bisect to find the index in a given array, where a search value can be inserted.\n This is different from normal bisectLeft; this function finds the nearest index to insert the search value.\n\n For instance, lets say your array is [1,2,3,5,10,30], and you search for 28.\n Normal d3.bisectLeft will return 4, because 28 is inserted after the number 10. But interactiveBisect will return 5\n because 28 is closer to 30 than 10.\n\n Unit tests can be found in: interactiveBisectTest.html\n\n Has the following known issues:\n * Will not work if the data points move backwards (ie, 10,9,8,7, etc) or if the data points are in random order.\n * Won't work if there are duplicate x coordinate values.\n */\nnv.interactiveBisect = function (values, searchVal, xAccessor) {\n \"use strict\";\n if (! (values instanceof Array)) {\n return null;\n }\n var _xAccessor;\n if (typeof xAccessor !== 'function') {\n _xAccessor = function(d) {\n return d.x;\n }\n } else {\n _xAccessor = xAccessor;\n }\n var _cmp = function(d, v) {\n // Accessors are no longer passed the index of the element along with\n // the element itself when invoked by d3.bisector.\n //\n // Starting at D3 v3.4.4, d3.bisector() started inspecting the\n // function passed to determine if it should consider it an accessor\n // or a comparator. This meant that accessors that take two arguments\n // (expecting an index as the second parameter) are treated as\n // comparators where the second argument is the search value against\n // which the first argument is compared.\n return _xAccessor(d) - v;\n };\n\n var bisect = d3.bisector(_cmp).left;\n var index = d3.max([0, bisect(values,searchVal) - 1]);\n var currentValue = _xAccessor(values[index]);\n\n if (typeof currentValue === 'undefined') {\n currentValue = index;\n }\n\n if (currentValue === searchVal) {\n return index; //found exact match\n }\n\n var nextIndex = d3.min([index+1, values.length - 1]);\n var nextValue = _xAccessor(values[nextIndex]);\n\n if (typeof nextValue === 'undefined') {\n nextValue = nextIndex;\n }\n\n if (Math.abs(nextValue - searchVal) >= Math.abs(currentValue - searchVal)) {\n return index;\n } else {\n return nextIndex\n }\n};\n\n/*\n Returns the index in the array \"values\" that is closest to searchVal.\n Only returns an index if searchVal is within some \"threshold\".\n Otherwise, returns null.\n */\nnv.nearestValueIndex = function (values, searchVal, threshold) {\n \"use strict\";\n var yDistMax = Infinity, indexToHighlight = null;\n values.forEach(function(d,i) {\n var delta = Math.abs(searchVal - d);\n if ( d != null && delta <= yDistMax && delta < threshold) {\n yDistMax = delta;\n indexToHighlight = i;\n }\n });\n return indexToHighlight;\n};\n\n/* Model which can be instantiated to handle tooltip rendering.\n Example usage:\n var tip = nv.models.tooltip().gravity('w').distance(23)\n .data(myDataObject);\n\n tip(); //just invoke the returned function to render tooltip.\n */\nnv.models.tooltip = function() {\n \"use strict\";\n\n /*\n Tooltip data. If data is given in the proper format, a consistent tooltip is generated.\n Example Format of data:\n {\n key: \"Date\",\n value: \"August 2009\",\n series: [\n {key: \"Series 1\", value: \"Value 1\", color: \"#000\"},\n {key: \"Series 2\", value: \"Value 2\", color: \"#00f\"}\n ]\n }\n */\n var id = \"nvtooltip-\" + Math.floor(Math.random() * 100000) // Generates a unique id when you create a new tooltip() object.\n , data = null\n , gravity = 'w' // Can be 'n','s','e','w'. Determines how tooltip is positioned.\n , distance = 25 // Distance to offset tooltip from the mouse location.\n , snapDistance = 0 // Tolerance allowed before tooltip is moved from its current position (creates 'snapping' effect)\n , classes = null // Attaches additional CSS classes to the tooltip DIV that is created.\n , hidden = true // Start off hidden, toggle with hide/show functions below.\n , hideDelay = 200 // Delay (in ms) before the tooltip hides after calling hide().\n , tooltip = null // d3 select of the tooltip div.\n , lastPosition = { left: null, top: null } // Last position the tooltip was in.\n , enabled = true // True -> tooltips are rendered. False -> don't render tooltips.\n , duration = 100 // Tooltip movement duration, in ms.\n , headerEnabled = true // If is to show the tooltip header.\n , nvPointerEventsClass = \"nv-pointer-events-none\" // CSS class to specify whether element should not have mouse events.\n ;\n\n // Format function for the tooltip values column.\n var valueFormatter = function(d, i) {\n return d;\n };\n\n // Format function for the tooltip header value.\n var headerFormatter = function(d) {\n return d;\n };\n\n var keyFormatter = function(d, i) {\n return d;\n };\n\n // By default, the tooltip model renders a beautiful table inside a DIV.\n // You can override this function if a custom tooltip is desired.\n var contentGenerator = function(d) {\n if (d === null) {\n return '';\n }\n\n var table = d3.select(document.createElement(\"table\"));\n if (headerEnabled) {\n var theadEnter = table.selectAll(\"thead\")\n .data([d])\n .enter().append(\"thead\");\n\n theadEnter.append(\"tr\")\n .append(\"td\")\n .attr(\"colspan\", 3)\n .append(\"strong\")\n .classed(\"x-value\", true)\n .html(headerFormatter(d.value));\n }\n\n var tbodyEnter = table.selectAll(\"tbody\")\n .data([d])\n .enter().append(\"tbody\");\n\n var trowEnter = tbodyEnter.selectAll(\"tr\")\n .data(function(p) { return p.series})\n .enter()\n .append(\"tr\")\n .classed(\"highlight\", function(p) { return p.highlight});\n\n trowEnter.append(\"td\")\n .classed(\"legend-color-guide\",true)\n .append(\"div\")\n .style(\"background-color\", function(p) { return p.color});\n\n trowEnter.append(\"td\")\n .classed(\"key\",true)\n .classed(\"total\",function(p) { return !!p.total})\n .html(function(p, i) { return keyFormatter(p.key, i)});\n\n trowEnter.append(\"td\")\n .classed(\"value\",true)\n .html(function(p, i) { return valueFormatter(p.value, i) });\n\n trowEnter.filter(function (p,i) { return p.percent !== undefined }).append(\"td\")\n .classed(\"percent\", true)\n .html(function(p, i) { return \"(\" + d3.format('%')(p.percent) + \")\" });\n\n trowEnter.selectAll(\"td\").each(function(p) {\n if (p.highlight) {\n var opacityScale = d3.scale.linear().domain([0,1]).range([\"#fff\",p.color]);\n var opacity = 0.6;\n d3.select(this)\n .style(\"border-bottom-color\", opacityScale(opacity))\n .style(\"border-top-color\", opacityScale(opacity))\n ;\n }\n });\n\n var html = table.node().outerHTML;\n if (d.footer !== undefined)\n html += \"\";\n return html;\n\n };\n\n /*\n Function that returns the position (relative to the viewport/document.body)\n the tooltip should be placed in.\n Should return: {\n left: ,\n top: \n }\n */\n var position = function() {\n var pos = {\n left: d3.event !== null ? d3.event.clientX : 0,\n top: d3.event !== null ? d3.event.clientY : 0\n };\n\n if(getComputedStyle(document.body).transform != 'none') {\n // Take the offset into account, as now the tooltip is relative\n // to document.body.\n var client = document.body.getBoundingClientRect();\n pos.left -= client.left;\n pos.top -= client.top;\n }\n\n return pos;\n };\n\n var dataSeriesExists = function(d) {\n if (d && d.series) {\n if (nv.utils.isArray(d.series)) {\n return true;\n }\n // if object, it's okay just convert to array of the object\n if (nv.utils.isObject(d.series)) {\n d.series = [d.series];\n return true;\n }\n }\n return false;\n };\n\n // Calculates the gravity offset of the tooltip. Parameter is position of tooltip\n // relative to the viewport.\n var calcGravityOffset = function(pos) {\n var height = tooltip.node().offsetHeight,\n width = tooltip.node().offsetWidth,\n clientWidth = document.documentElement.clientWidth, // Don't want scrollbars.\n clientHeight = document.documentElement.clientHeight, // Don't want scrollbars.\n left, top, tmp;\n\n // calculate position based on gravity\n switch (gravity) {\n case 'e':\n left = - width - distance;\n top = - (height / 2);\n if(pos.left + left < 0) left = distance;\n if((tmp = pos.top + top) < 0) top -= tmp;\n if((tmp = pos.top + top + height) > clientHeight) top -= tmp - clientHeight;\n break;\n case 'w':\n left = distance;\n top = - (height / 2);\n if (pos.left + left + width > clientWidth) left = - width - distance;\n if ((tmp = pos.top + top) < 0) top -= tmp;\n if ((tmp = pos.top + top + height) > clientHeight) top -= tmp - clientHeight;\n break;\n case 'n':\n left = - (width / 2) - 5; // - 5 is an approximation of the mouse's height.\n top = distance;\n if (pos.top + top + height > clientHeight) top = - height - distance;\n if ((tmp = pos.left + left) < 0) left -= tmp;\n if ((tmp = pos.left + left + width) > clientWidth) left -= tmp - clientWidth;\n break;\n case 's':\n left = - (width / 2);\n top = - height - distance;\n if (pos.top + top < 0) top = distance;\n if ((tmp = pos.left + left) < 0) left -= tmp;\n if ((tmp = pos.left + left + width) > clientWidth) left -= tmp - clientWidth;\n break;\n case 'center':\n left = - (width / 2);\n top = - (height / 2);\n break;\n default:\n left = 0;\n top = 0;\n break;\n }\n\n return { 'left': left, 'top': top };\n };\n\n /*\n Positions the tooltip in the correct place, as given by the position() function.\n */\n var positionTooltip = function() {\n nv.dom.read(function() {\n var pos = position(),\n gravityOffset = calcGravityOffset(pos),\n left = pos.left + gravityOffset.left,\n top = pos.top + gravityOffset.top;\n\n // delay hiding a bit to avoid flickering\n if (hidden) {\n tooltip\n .interrupt()\n .transition()\n .delay(hideDelay)\n .duration(0)\n .style('opacity', 0);\n } else {\n // using tooltip.style('transform') returns values un-usable for tween\n var old_translate = 'translate(' + lastPosition.left + 'px, ' + lastPosition.top + 'px)';\n var new_translate = 'translate(' + Math.round(left) + 'px, ' + Math.round(top) + 'px)';\n var translateInterpolator = d3.interpolateString(old_translate, new_translate);\n var is_hidden = tooltip.style('opacity') < 0.1;\n\n tooltip\n .interrupt() // cancel running transitions\n .transition()\n .duration(is_hidden ? 0 : duration)\n // using tween since some versions of d3 can't auto-tween a translate on a div\n .styleTween('transform', function (d) {\n return translateInterpolator;\n }, 'important')\n // Safari has its own `-webkit-transform` and does not support `transform`\n .styleTween('-webkit-transform', function (d) {\n return translateInterpolator;\n })\n .style('-ms-transform', new_translate)\n .style('opacity', 1);\n }\n\n lastPosition.left = left;\n lastPosition.top = top;\n });\n };\n\n // Creates new tooltip container, or uses existing one on DOM.\n function initTooltip() {\n if (!tooltip || !tooltip.node()) {\n // Create new tooltip div if it doesn't exist on DOM.\n\n var data = [1];\n tooltip = d3.select(document.body).selectAll('.nvtooltip').data(data);\n\n tooltip.enter().append('div')\n .attr(\"class\", \"nvtooltip \" + (classes ? classes : \"xy-tooltip\"))\n .attr(\"id\", id)\n .style(\"top\", 0).style(\"left\", 0)\n .style('opacity', 0)\n .style('position', 'fixed')\n .selectAll(\"div, table, td, tr\").classed(nvPointerEventsClass, true)\n .classed(nvPointerEventsClass, true);\n\n tooltip.exit().remove()\n }\n }\n\n // Draw the tooltip onto the DOM.\n function nvtooltip() {\n if (!enabled) return;\n if (!dataSeriesExists(data)) return;\n\n nv.dom.write(function () {\n initTooltip();\n // Generate data and set it into tooltip.\n // Bonus - If you override contentGenerator and return falsey you can use something like\n // React or Knockout to bind the data for your tooltip.\n var newContent = contentGenerator(data);\n if (newContent) {\n tooltip.node().innerHTML = newContent;\n }\n\n positionTooltip();\n });\n\n return nvtooltip;\n }\n\n nvtooltip.nvPointerEventsClass = nvPointerEventsClass;\n nvtooltip.options = nv.utils.optionsFunc.bind(nvtooltip);\n\n nvtooltip._options = Object.create({}, {\n // simple read/write options\n duration: {get: function(){return duration;}, set: function(_){duration=_;}},\n gravity: {get: function(){return gravity;}, set: function(_){gravity=_;}},\n distance: {get: function(){return distance;}, set: function(_){distance=_;}},\n snapDistance: {get: function(){return snapDistance;}, set: function(_){snapDistance=_;}},\n classes: {get: function(){return classes;}, set: function(_){classes=_;}},\n enabled: {get: function(){return enabled;}, set: function(_){enabled=_;}},\n hideDelay: {get: function(){return hideDelay;}, set: function(_){hideDelay=_;}},\n contentGenerator: {get: function(){return contentGenerator;}, set: function(_){contentGenerator=_;}},\n valueFormatter: {get: function(){return valueFormatter;}, set: function(_){valueFormatter=_;}},\n headerFormatter: {get: function(){return headerFormatter;}, set: function(_){headerFormatter=_;}},\n keyFormatter: {get: function(){return keyFormatter;}, set: function(_){keyFormatter=_;}},\n headerEnabled: {get: function(){return headerEnabled;}, set: function(_){headerEnabled=_;}},\n position: {get: function(){return position;}, set: function(_){position=_;}},\n\n // Deprecated options\n chartContainer: {get: function(){return document.body;}, set: function(_){\n // deprecated after 1.8.3\n nv.deprecated('chartContainer', 'feature removed after 1.8.3');\n }},\n fixedTop: {get: function(){return null;}, set: function(_){\n // deprecated after 1.8.1\n nv.deprecated('fixedTop', 'feature removed after 1.8.1');\n }},\n offset: {get: function(){return {left: 0, top: 0};}, set: function(_){\n // deprecated after 1.8.1\n nv.deprecated('offset', 'use chart.tooltip.distance() instead');\n }},\n\n // options with extra logic\n hidden: {get: function(){return hidden;}, set: function(_){\n if (hidden != _) {\n hidden = !!_;\n nvtooltip();\n }\n }},\n data: {get: function(){return data;}, set: function(_){\n // if showing a single data point, adjust data format with that\n if (_.point) {\n _.value = _.point.x;\n _.series = _.series || {};\n _.series.value = _.point.y;\n _.series.color = _.point.color || _.series.color;\n }\n data = _;\n }},\n\n // read only properties\n node: {get: function(){return tooltip.node();}, set: function(_){}},\n id: {get: function(){return id;}, set: function(_){}}\n });\n\n nv.utils.initOptions(nvtooltip);\n return nvtooltip;\n};\n\n\n/*\nGets the browser window size\n\nReturns object with height and width properties\n */\nnv.utils.windowSize = function() {\n // Sane defaults\n var size = {width: 640, height: 480};\n\n // Most recent browsers use\n if (window.innerWidth && window.innerHeight) {\n size.width = window.innerWidth;\n size.height = window.innerHeight;\n return (size);\n }\n\n // IE can use depending on mode it is in\n if (document.compatMode=='CSS1Compat' &&\n document.documentElement &&\n document.documentElement.offsetWidth ) {\n\n size.width = document.documentElement.offsetWidth;\n size.height = document.documentElement.offsetHeight;\n return (size);\n }\n\n // Earlier IE uses Doc.body\n if (document.body && document.body.offsetWidth) {\n size.width = document.body.offsetWidth;\n size.height = document.body.offsetHeight;\n return (size);\n }\n\n return (size);\n};\n\n\n/* handle dumb browser quirks... isinstance breaks if you use frames\ntypeof returns 'object' for null, NaN is a number, etc.\n */\nnv.utils.isArray = Array.isArray;\nnv.utils.isObject = function(a) {\n return a !== null && typeof a === 'object';\n};\nnv.utils.isFunction = function(a) {\n return typeof a === 'function';\n};\nnv.utils.isDate = function(a) {\n return toString.call(a) === '[object Date]';\n};\nnv.utils.isNumber = function(a) {\n return !isNaN(a) && typeof a === 'number';\n};\n\n\n/*\nBinds callback function to run when window is resized\n */\nnv.utils.windowResize = function(handler) {\n if (window.addEventListener) {\n window.addEventListener('resize', handler);\n } else {\n nv.log(\"ERROR: Failed to bind to window.resize with: \", handler);\n }\n // return object with clear function to remove the single added callback.\n return {\n callback: handler,\n clear: function() {\n window.removeEventListener('resize', handler);\n }\n }\n};\n\n\n/*\nBackwards compatible way to implement more d3-like coloring of graphs.\nCan take in nothing, an array, or a function/scale\nTo use a normal scale, get the range and pass that because we must be able\nto take two arguments and use the index to keep backward compatibility\n*/\nnv.utils.getColor = function(color) {\n //if you pass in nothing, get default colors back\n if (color === undefined) {\n return nv.utils.defaultColor();\n\n //if passed an array, turn it into a color scale\n } else if(nv.utils.isArray(color)) {\n var color_scale = d3.scale.ordinal().range(color);\n return function(d, i) {\n var key = i === undefined ? d : i;\n return d.color || color_scale(key);\n };\n\n //if passed a function or scale, return it, or whatever it may be\n //external libs, such as angularjs-nvd3-directives use this\n } else {\n //can't really help it if someone passes rubbish as color\n return color;\n }\n};\n\n\n/*\nDefault color chooser uses a color scale of 20 colors from D3\n https://github.com/mbostock/d3/wiki/Ordinal-Scales#categorical-colors\n */\nnv.utils.defaultColor = function() {\n // get range of the scale so we'll turn it into our own function.\n return nv.utils.getColor(d3.scale.category20().range());\n};\n\n\n/*\nReturns a color function that takes the result of 'getKey' for each series and\nlooks for a corresponding color from the dictionary\n*/\nnv.utils.customTheme = function(dictionary, getKey, defaultColors) {\n // use default series.key if getKey is undefined\n getKey = getKey || function(series) { return series.key };\n defaultColors = defaultColors || d3.scale.category20().range();\n\n // start at end of default color list and walk back to index 0\n var defIndex = defaultColors.length;\n\n return function(series, index) {\n var key = getKey(series);\n if (nv.utils.isFunction(dictionary[key])) {\n return dictionary[key]();\n } else if (dictionary[key] !== undefined) {\n return dictionary[key];\n } else {\n // no match in dictionary, use a default color\n if (!defIndex) {\n // used all the default colors, start over\n defIndex = defaultColors.length;\n }\n defIndex = defIndex - 1;\n return defaultColors[defIndex];\n }\n };\n};\n\n\n/*\nFrom the PJAX example on d3js.org, while this is not really directly needed\nit's a very cool method for doing pjax, I may expand upon it a little bit,\nopen to suggestions on anything that may be useful\n*/\nnv.utils.pjax = function(links, content) {\n\n var load = function(href) {\n d3.html(href, function(fragment) {\n var target = d3.select(content).node();\n target.parentNode.replaceChild(\n d3.select(fragment).select(content).node(),\n target);\n nv.utils.pjax(links, content);\n });\n };\n\n d3.selectAll(links).on(\"click\", function() {\n history.pushState(this.href, this.textContent, this.href);\n load(this.href);\n d3.event.preventDefault();\n });\n\n d3.select(window).on(\"popstate\", function() {\n if (d3.event.state) {\n load(d3.event.state);\n }\n });\n};\n\n\n/*\nFor when we want to approximate the width in pixels for an SVG:text element.\nMost common instance is when the element is in a display:none; container.\nForumla is : text.length * font-size * constant_factor\n*/\nnv.utils.calcApproxTextWidth = function (svgTextElem) {\n if (nv.utils.isFunction(svgTextElem.style) && nv.utils.isFunction(svgTextElem.text)) {\n var fontSize = parseInt(svgTextElem.style(\"font-size\").replace(\"px\",\"\"), 10);\n var textLength = svgTextElem.text().length;\n return nv.utils.NaNtoZero(textLength * fontSize * 0.5);\n }\n return 0;\n};\n\n\n/*\nNumbers that are undefined, null or NaN, convert them to zeros.\n*/\nnv.utils.NaNtoZero = function(n) {\n if (!nv.utils.isNumber(n)\n || isNaN(n)\n || n === null\n || n === Infinity\n || n === -Infinity) {\n\n return 0;\n }\n return n;\n};\n\n/*\nAdd a way to watch for d3 transition ends to d3\n*/\nd3.selection.prototype.watchTransition = function(renderWatch){\n var args = [this].concat([].slice.call(arguments, 1));\n return renderWatch.transition.apply(renderWatch, args);\n};\n\n\n/*\nHelper object to watch when d3 has rendered something\n*/\nnv.utils.renderWatch = function(dispatch, duration) {\n if (!(this instanceof nv.utils.renderWatch)) {\n return new nv.utils.renderWatch(dispatch, duration);\n }\n\n var _duration = duration !== undefined ? duration : 250;\n var renderStack = [];\n var self = this;\n\n this.models = function(models) {\n models = [].slice.call(arguments, 0);\n models.forEach(function(model){\n model.__rendered = false;\n (function(m){\n m.dispatch.on('renderEnd', function(arg){\n m.__rendered = true;\n self.renderEnd('model');\n });\n })(model);\n\n if (renderStack.indexOf(model) < 0) {\n renderStack.push(model);\n }\n });\n return this;\n };\n\n this.reset = function(duration) {\n if (duration !== undefined) {\n _duration = duration;\n }\n renderStack = [];\n };\n\n this.transition = function(selection, args, duration) {\n args = arguments.length > 1 ? [].slice.call(arguments, 1) : [];\n\n if (args.length > 1) {\n duration = args.pop();\n } else {\n duration = _duration !== undefined ? _duration : 250;\n }\n selection.__rendered = false;\n\n if (renderStack.indexOf(selection) < 0) {\n renderStack.push(selection);\n }\n\n if (duration === 0) {\n selection.__rendered = true;\n selection.delay = function() { return this; };\n selection.duration = function() { return this; };\n return selection;\n } else {\n if (selection.length === 0) {\n selection.__rendered = true;\n } else if (selection.every( function(d){ return !d.length; } )) {\n selection.__rendered = true;\n } else {\n selection.__rendered = false;\n }\n\n var n = 0;\n return selection\n .transition()\n .duration(duration)\n .each(function(){ ++n; })\n .each('end', function(d, i) {\n if (--n === 0) {\n selection.__rendered = true;\n self.renderEnd.apply(this, args);\n }\n });\n }\n };\n\n this.renderEnd = function() {\n if (renderStack.every( function(d){ return d.__rendered; } )) {\n renderStack.forEach( function(d){ d.__rendered = false; });\n dispatch.renderEnd.apply(this, arguments);\n }\n }\n\n};\n\n\n/*\nTakes multiple objects and combines them into the first one (dst)\nexample: nv.utils.deepExtend({a: 1}, {a: 2, b: 3}, {c: 4});\ngives: {a: 2, b: 3, c: 4}\n*/\nnv.utils.deepExtend = function(dst){\n var sources = arguments.length > 1 ? [].slice.call(arguments, 1) : [];\n sources.forEach(function(source) {\n for (var key in source) {\n var isArray = nv.utils.isArray(dst[key]);\n var isObject = nv.utils.isObject(dst[key]);\n var srcObj = nv.utils.isObject(source[key]);\n\n if (isObject && !isArray && srcObj) {\n nv.utils.deepExtend(dst[key], source[key]);\n } else {\n dst[key] = source[key];\n }\n }\n });\n};\n\n\n/*\nstate utility object, used to track d3 states in the models\n*/\nnv.utils.state = function(){\n if (!(this instanceof nv.utils.state)) {\n return new nv.utils.state();\n }\n var state = {};\n var _self = this;\n var _setState = function(){};\n var _getState = function(){ return {}; };\n var init = null;\n var changed = null;\n\n this.dispatch = d3.dispatch('change', 'set');\n\n this.dispatch.on('set', function(state){\n _setState(state, true);\n });\n\n this.getter = function(fn){\n _getState = fn;\n return this;\n };\n\n this.setter = function(fn, callback) {\n if (!callback) {\n callback = function(){};\n }\n _setState = function(state, update){\n fn(state);\n if (update) {\n callback();\n }\n };\n return this;\n };\n\n this.init = function(state){\n init = init || {};\n nv.utils.deepExtend(init, state);\n };\n\n var _set = function(){\n var settings = _getState();\n\n if (JSON.stringify(settings) === JSON.stringify(state)) {\n return false;\n }\n\n for (var key in settings) {\n if (state[key] === undefined) {\n state[key] = {};\n }\n state[key] = settings[key];\n changed = true;\n }\n return true;\n };\n\n this.update = function(){\n if (init) {\n _setState(init, false);\n init = null;\n }\n if (_set.call(this)) {\n this.dispatch.change(state);\n }\n };\n\n};\n\n\n/*\nSnippet of code you can insert into each nv.models.* to give you the ability to\ndo things like:\nchart.options({\n showXAxis: true,\n tooltips: true\n});\n\nTo enable in the chart:\nchart.options = nv.utils.optionsFunc.bind(chart);\n*/\nnv.utils.optionsFunc = function(args) {\n if (args) {\n d3.map(args).forEach((function(key,value) {\n if (nv.utils.isFunction(this[key])) {\n this[key](value);\n }\n }).bind(this));\n }\n return this;\n};\n\n\n/*\nnumTicks: requested number of ticks\ndata: the chart data\n\nreturns the number of ticks to actually use on X axis, based on chart data\nto avoid duplicate ticks with the same value\n*/\nnv.utils.calcTicksX = function(numTicks, data) {\n // find max number of values from all data streams\n var numValues = 1;\n var i = 0;\n for (i; i < data.length; i += 1) {\n var stream_len = data[i] && data[i].values ? data[i].values.length : 0;\n numValues = stream_len > numValues ? stream_len : numValues;\n }\n nv.log(\"Requested number of ticks: \", numTicks);\n nv.log(\"Calculated max values to be: \", numValues);\n // make sure we don't have more ticks than values to avoid duplicates\n numTicks = numTicks > numValues ? numTicks = numValues - 1 : numTicks;\n // make sure we have at least one tick\n numTicks = numTicks < 1 ? 1 : numTicks;\n // make sure it's an integer\n numTicks = Math.floor(numTicks);\n nv.log(\"Calculating tick count as: \", numTicks);\n return numTicks;\n};\n\n\n/*\nreturns number of ticks to actually use on Y axis, based on chart data\n*/\nnv.utils.calcTicksY = function(numTicks, data) {\n // currently uses the same logic but we can adjust here if needed later\n return nv.utils.calcTicksX(numTicks, data);\n};\n\n\n/*\nAdd a particular option from an options object onto chart\nOptions exposed on a chart are a getter/setter function that returns chart\non set to mimic typical d3 option chaining, e.g. svg.option1('a').option2('b');\n\noption objects should be generated via Object.create() to provide\nthe option of manipulating data via get/set functions.\n*/\nnv.utils.initOption = function(chart, name) {\n // if it's a call option, just call it directly, otherwise do get/set\n if (chart._calls && chart._calls[name]) {\n chart[name] = chart._calls[name];\n } else {\n chart[name] = function (_) {\n if (!arguments.length) return chart._options[name];\n chart._overrides[name] = true;\n chart._options[name] = _;\n return chart;\n };\n // calling the option as _option will ignore if set by option already\n // so nvd3 can set options internally but the stop if set manually\n chart['_' + name] = function(_) {\n if (!arguments.length) return chart._options[name];\n if (!chart._overrides[name]) {\n chart._options[name] = _;\n }\n return chart;\n }\n }\n};\n\n\n/*\nAdd all options in an options object to the chart\n*/\nnv.utils.initOptions = function(chart) {\n chart._overrides = chart._overrides || {};\n var ops = Object.getOwnPropertyNames(chart._options || {});\n var calls = Object.getOwnPropertyNames(chart._calls || {});\n ops = ops.concat(calls);\n for (var i in ops) {\n nv.utils.initOption(chart, ops[i]);\n }\n};\n\n\n/*\nInherit options from a D3 object\nd3.rebind makes calling the function on target actually call it on source\nAlso use _d3options so we can track what we inherit for documentation and chained inheritance\n*/\nnv.utils.inheritOptionsD3 = function(target, d3_source, oplist) {\n target._d3options = oplist.concat(target._d3options || []);\n oplist.unshift(d3_source);\n oplist.unshift(target);\n d3.rebind.apply(this, oplist);\n};\n\n\n/*\nRemove duplicates from an array\n*/\nnv.utils.arrayUnique = function(a) {\n return a.sort().filter(function(item, pos) {\n return !pos || item != a[pos - 1];\n });\n};\n\n\n/*\nKeeps a list of custom symbols to draw from in addition to d3.svg.symbol\nNecessary since d3 doesn't let you extend its list -_-\nAdd new symbols by doing nv.utils.symbols.set('name', function(size){...});\n*/\nnv.utils.symbolMap = d3.map();\n\n\n/*\nReplaces d3.svg.symbol so that we can look both there and our own map\n */\nnv.utils.symbol = function() {\n var type,\n size = 64;\n function symbol(d,i) {\n var t = type.call(this,d,i);\n var s = size.call(this,d,i);\n if (d3.svg.symbolTypes.indexOf(t) !== -1) {\n return d3.svg.symbol().type(t).size(s)();\n } else {\n return nv.utils.symbolMap.get(t)(s);\n }\n }\n symbol.type = function(_) {\n if (!arguments.length) return type;\n type = d3.functor(_);\n return symbol;\n };\n symbol.size = function(_) {\n if (!arguments.length) return size;\n size = d3.functor(_);\n return symbol;\n };\n return symbol;\n};\n\n\n/*\nInherit option getter/setter functions from source to target\nd3.rebind makes calling the function on target actually call it on source\nAlso track via _inherited and _d3options so we can track what we inherit\nfor documentation generation purposes and chained inheritance\n*/\nnv.utils.inheritOptions = function(target, source) {\n // inherit all the things\n var ops = Object.getOwnPropertyNames(source._options || {});\n var calls = Object.getOwnPropertyNames(source._calls || {});\n var inherited = source._inherited || [];\n var d3ops = source._d3options || [];\n var args = ops.concat(calls).concat(inherited).concat(d3ops);\n args.unshift(source);\n args.unshift(target);\n d3.rebind.apply(this, args);\n // pass along the lists to keep track of them, don't allow duplicates\n target._inherited = nv.utils.arrayUnique(ops.concat(calls).concat(inherited).concat(ops).concat(target._inherited || []));\n target._d3options = nv.utils.arrayUnique(d3ops.concat(target._d3options || []));\n};\n\n\n/*\nRuns common initialize code on the svg before the chart builds\n*/\nnv.utils.initSVG = function(svg) {\n svg.classed({'nvd3-svg':true});\n};\n\n\n/*\nSanitize and provide default for the container height.\n*/\nnv.utils.sanitizeHeight = function(height, container) {\n return (height || parseInt(container.style('height'), 10) || 400);\n};\n\n\n/*\nSanitize and provide default for the container width.\n*/\nnv.utils.sanitizeWidth = function(width, container) {\n return (width || parseInt(container.style('width'), 10) || 960);\n};\n\n\n/*\nCalculate the available height for a chart.\n*/\nnv.utils.availableHeight = function(height, container, margin) {\n return Math.max(0,nv.utils.sanitizeHeight(height, container) - margin.top - margin.bottom);\n};\n\n/*\nCalculate the available width for a chart.\n*/\nnv.utils.availableWidth = function(width, container, margin) {\n return Math.max(0,nv.utils.sanitizeWidth(width, container) - margin.left - margin.right);\n};\n\n/*\nClear any rendered chart components and display a chart's 'noData' message\n*/\nnv.utils.noData = function(chart, container) {\n var opt = chart.options(),\n margin = opt.margin(),\n noData = opt.noData(),\n data = (noData == null) ? [\"No Data Available.\"] : [noData],\n height = nv.utils.availableHeight(null, container, margin),\n width = nv.utils.availableWidth(null, container, margin),\n x = margin.left + width/2,\n y = margin.top + height/2;\n\n //Remove any previously created chart components\n container.selectAll('g').remove();\n\n var noDataText = container.selectAll('.nv-noData').data(data);\n\n noDataText.enter().append('text')\n .attr('class', 'nvd3 nv-noData')\n .attr('dy', '-.7em')\n .style('text-anchor', 'middle');\n\n noDataText\n .attr('x', x)\n .attr('y', y)\n .text(function(t){ return t; });\n};\n\n/*\n Wrap long labels.\n */\nnv.utils.wrapTicks = function (text, width) {\n text.each(function() {\n var text = d3.select(this),\n words = text.text().split(/\\s+/).reverse(),\n word,\n line = [],\n lineNumber = 0,\n lineHeight = 1.1,\n y = text.attr(\"y\"),\n dy = parseFloat(text.attr(\"dy\")),\n tspan = text.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", dy + \"em\");\n while (word = words.pop()) {\n line.push(word);\n tspan.text(line.join(\" \"));\n if (tspan.node().getComputedTextLength() > width) {\n line.pop();\n tspan.text(line.join(\" \"));\n line = [word];\n tspan = text.append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", ++lineNumber * lineHeight + dy + \"em\").text(word);\n }\n }\n });\n};\n\n/*\nCheck equality of 2 array\n*/\nnv.utils.arrayEquals = function (array1, array2) {\n if (array1 === array2)\n return true;\n\n if (!array1 || !array2)\n return false;\n\n // compare lengths - can save a lot of time\n if (array1.length != array2.length)\n return false;\n\n for (var i = 0,\n l = array1.length; i < l; i++) {\n // Check if we have nested arrays\n if (array1[i] instanceof Array && array2[i] instanceof Array) {\n // recurse into the nested arrays\n if (!nv.arrayEquals(array1[i], array2[i]))\n return false;\n } else if (array1[i] != array2[i]) {\n // Warning - two different object instances will never be equal: {x:20} != {x:20}\n return false;\n }\n }\n return true;\n};\nnv.models.axis = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var axis = d3.svg.axis();\n var scale = d3.scale.linear();\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 75 //only used for tickLabel currently\n , height = 60 //only used for tickLabel currently\n , axisLabelText = null\n , showMaxMin = true //TODO: showMaxMin should be disabled on all ordinal scaled axes\n , rotateLabels = 0\n , rotateYLabel = true\n , staggerLabels = false\n , isOrdinal = false\n , ticks = null\n , axisLabelDistance = 0\n , fontSize = undefined\n , duration = 250\n , dispatch = d3.dispatch('renderEnd')\n ;\n axis\n .scale(scale)\n .orient('bottom')\n .tickFormat(function(d) { return d })\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var scale0;\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-axis').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-axis');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n if (ticks !== null)\n axis.ticks(ticks);\n else if (axis.orient() == 'top' || axis.orient() == 'bottom')\n axis.ticks(Math.abs(scale.range()[1] - scale.range()[0]) / 100);\n\n //TODO: consider calculating width/height based on whether or not label is added, for reference in charts using this component\n g.watchTransition(renderWatch, 'axis').call(axis);\n\n scale0 = scale0 || axis.scale();\n\n var fmt = axis.tickFormat();\n if (fmt == null) {\n fmt = scale0.tickFormat();\n }\n\n var axisLabel = g.selectAll('text.nv-axislabel')\n .data([axisLabelText || null]);\n axisLabel.exit().remove();\n\n //only skip when fontSize is undefined so it can be cleared with a null or blank string\n if (fontSize !== undefined) {\n g.selectAll('g').select(\"text\").style('font-size', fontSize);\n }\n\n var xLabelMargin;\n var axisMaxMin;\n var w;\n switch (axis.orient()) {\n case 'top':\n axisLabel.enter().append('text').attr('class', 'nv-axislabel');\n w = 0;\n if (scale.range().length === 1) {\n w = isOrdinal ? scale.range()[0] * 2 + scale.rangeBand() : 0;\n } else if (scale.range().length === 2) {\n w = isOrdinal ? scale.range()[0] + scale.range()[1] + scale.rangeBand() : scale.range()[1];\n } else if ( scale.range().length > 2){\n w = scale.range()[scale.range().length-1]+(scale.range()[1]-scale.range()[0]);\n };\n axisLabel\n .attr('text-anchor', 'middle')\n .attr('y', 0)\n .attr('x', w/2);\n if (showMaxMin) {\n axisMaxMin = wrap.selectAll('g.nv-axisMaxMin')\n .data(scale.domain());\n axisMaxMin.enter().append('g').attr('class',function(d,i){\n return ['nv-axisMaxMin','nv-axisMaxMin-x',(i == 0 ? 'nv-axisMin-x':'nv-axisMax-x')].join(' ')\n }).append('text');\n axisMaxMin.exit().remove();\n axisMaxMin\n .attr('transform', function(d,i) {\n return 'translate(' + nv.utils.NaNtoZero(scale(d)) + ',0)'\n })\n .select('text')\n .attr('dy', '-0.5em')\n .attr('y', -axis.tickPadding())\n .attr('text-anchor', 'middle')\n .text(function(d,i) {\n var v = fmt(d);\n return ('' + v).match('NaN') ? '' : v;\n });\n axisMaxMin.watchTransition(renderWatch, 'min-max top')\n .attr('transform', function(d,i) {\n return 'translate(' + nv.utils.NaNtoZero(scale.range()[i]) + ',0)'\n });\n }\n break;\n case 'bottom':\n xLabelMargin = axisLabelDistance + 36;\n var maxTextWidth = 30;\n var textHeight = 0;\n var xTicks = g.selectAll('g').select(\"text\");\n var rotateLabelsRule = '';\n if (rotateLabels%360) {\n //Reset transform on ticks so textHeight can be calculated correctly\n xTicks.attr('transform', ''); \n //Calculate the longest xTick width\n xTicks.each(function(d,i){\n var box = this.getBoundingClientRect();\n var width = box.width;\n textHeight = box.height;\n if(width > maxTextWidth) maxTextWidth = width;\n });\n rotateLabelsRule = 'rotate(' + rotateLabels + ' 0,' + (textHeight/2 + axis.tickPadding()) + ')';\n //Convert to radians before calculating sin. Add 30 to margin for healthy padding.\n var sin = Math.abs(Math.sin(rotateLabels*Math.PI/180));\n xLabelMargin = (sin ? sin*maxTextWidth : maxTextWidth)+30;\n //Rotate all xTicks\n xTicks\n .attr('transform', rotateLabelsRule)\n .style('text-anchor', rotateLabels%360 > 0 ? 'start' : 'end');\n } else {\n if (staggerLabels) {\n xTicks\n .attr('transform', function(d,i) {\n return 'translate(0,' + (i % 2 == 0 ? '0' : '12') + ')'\n });\n } else {\n xTicks.attr('transform', \"translate(0,0)\");\n }\n }\n axisLabel.enter().append('text').attr('class', 'nv-axislabel');\n w = 0;\n if (scale.range().length === 1) {\n w = isOrdinal ? scale.range()[0] * 2 + scale.rangeBand() : 0;\n } else if (scale.range().length === 2) {\n w = isOrdinal ? scale.range()[0] + scale.range()[1] + scale.rangeBand() : scale.range()[1];\n } else if ( scale.range().length > 2){\n w = scale.range()[scale.range().length-1]+(scale.range()[1]-scale.range()[0]);\n };\n axisLabel\n .attr('text-anchor', 'middle')\n .attr('y', xLabelMargin)\n .attr('x', w/2);\n if (showMaxMin) {\n //if (showMaxMin && !isOrdinal) {\n axisMaxMin = wrap.selectAll('g.nv-axisMaxMin')\n //.data(scale.domain())\n .data([scale.domain()[0], scale.domain()[scale.domain().length - 1]]);\n axisMaxMin.enter().append('g').attr('class',function(d,i){\n return ['nv-axisMaxMin','nv-axisMaxMin-x',(i == 0 ? 'nv-axisMin-x':'nv-axisMax-x')].join(' ')\n }).append('text');\n axisMaxMin.exit().remove();\n axisMaxMin\n .attr('transform', function(d,i) {\n return 'translate(' + nv.utils.NaNtoZero((scale(d) + (isOrdinal ? scale.rangeBand() / 2 : 0))) + ',0)'\n })\n .select('text')\n .attr('dy', '.71em')\n .attr('y', axis.tickPadding())\n .attr('transform', rotateLabelsRule)\n .style('text-anchor', rotateLabels ? (rotateLabels%360 > 0 ? 'start' : 'end') : 'middle')\n .text(function(d,i) {\n var v = fmt(d);\n return ('' + v).match('NaN') ? '' : v;\n });\n axisMaxMin.watchTransition(renderWatch, 'min-max bottom')\n .attr('transform', function(d,i) {\n return 'translate(' + nv.utils.NaNtoZero((scale(d) + (isOrdinal ? scale.rangeBand() / 2 : 0))) + ',0)'\n });\n }\n\n break;\n case 'right':\n axisLabel.enter().append('text').attr('class', 'nv-axislabel');\n axisLabel\n .style('text-anchor', rotateYLabel ? 'middle' : 'begin')\n .attr('transform', rotateYLabel ? 'rotate(90)' : '')\n .attr('y', rotateYLabel ? (-Math.max(margin.right, width) + 12 - (axisLabelDistance || 0)) : -10) //TODO: consider calculating this based on largest tick width... OR at least expose this on chart\n .attr('x', rotateYLabel ? (d3.max(scale.range()) / 2) : axis.tickPadding());\n if (showMaxMin) {\n axisMaxMin = wrap.selectAll('g.nv-axisMaxMin')\n .data(scale.domain());\n \taxisMaxMin.enter().append('g').attr('class',function(d,i){\n return ['nv-axisMaxMin','nv-axisMaxMin-y',(i == 0 ? 'nv-axisMin-y':'nv-axisMax-y')].join(' ')\n }).append('text')\n .style('opacity', 0);\n axisMaxMin.exit().remove();\n axisMaxMin\n .attr('transform', function(d,i) {\n return 'translate(0,' + nv.utils.NaNtoZero(scale(d)) + ')'\n })\n .select('text')\n .attr('dy', '.32em')\n .attr('y', 0)\n .attr('x', axis.tickPadding())\n .style('text-anchor', 'start')\n .text(function(d, i) {\n var v = fmt(d);\n return ('' + v).match('NaN') ? '' : v;\n });\n axisMaxMin.watchTransition(renderWatch, 'min-max right')\n .attr('transform', function(d,i) {\n return 'translate(0,' + nv.utils.NaNtoZero(scale.range()[i]) + ')'\n })\n .select('text')\n .style('opacity', 1);\n }\n break;\n case 'left':\n /*\n //For dynamically placing the label. Can be used with dynamically-sized chart axis margins\n var yTicks = g.selectAll('g').select(\"text\");\n yTicks.each(function(d,i){\n var labelPadding = this.getBoundingClientRect().width + axis.tickPadding() + 16;\n if(labelPadding > width) width = labelPadding;\n });\n */\n axisLabel.enter().append('text').attr('class', 'nv-axislabel');\n axisLabel\n .style('text-anchor', rotateYLabel ? 'middle' : 'end')\n .attr('transform', rotateYLabel ? 'rotate(-90)' : '')\n .attr('y', rotateYLabel ? (-Math.max(margin.left, width) + 25 - (axisLabelDistance || 0)) : -10)\n .attr('x', rotateYLabel ? (-d3.max(scale.range()) / 2) : -axis.tickPadding());\n if (showMaxMin) {\n axisMaxMin = wrap.selectAll('g.nv-axisMaxMin')\n .data(scale.domain());\n axisMaxMin.enter().append('g').attr('class',function(d,i){\n return ['nv-axisMaxMin','nv-axisMaxMin-y',(i == 0 ? 'nv-axisMin-y':'nv-axisMax-y')].join(' ')\n }).append('text')\n .style('opacity', 0);\n axisMaxMin.exit().remove();\n axisMaxMin\n .attr('transform', function(d,i) {\n return 'translate(0,' + nv.utils.NaNtoZero(scale0(d)) + ')'\n })\n .select('text')\n .attr('dy', '.32em')\n .attr('y', 0)\n .attr('x', -axis.tickPadding())\n .attr('text-anchor', 'end')\n .text(function(d,i) {\n var v = fmt(d);\n return ('' + v).match('NaN') ? '' : v;\n });\n axisMaxMin.watchTransition(renderWatch, 'min-max right')\n .attr('transform', function(d,i) {\n return 'translate(0,' + nv.utils.NaNtoZero(scale.range()[i]) + ')'\n })\n .select('text')\n .style('opacity', 1);\n }\n break;\n }\n axisLabel.text(function(d) { return d });\n\n if (showMaxMin && (axis.orient() === 'left' || axis.orient() === 'right')) {\n //check if max and min overlap other values, if so, hide the values that overlap\n g.selectAll('g') // the g's wrapping each tick\n .each(function(d,i) {\n d3.select(this).select('text').attr('opacity', 1);\n if (scale(d) < scale.range()[1] + 10 || scale(d) > scale.range()[0] - 10) { // 10 is assuming text height is 16... if d is 0, leave it!\n if (d > 1e-10 || d < -1e-10) // accounts for minor floating point errors... though could be problematic if the scale is EXTREMELY SMALL\n d3.select(this).attr('opacity', 0);\n\n d3.select(this).select('text').attr('opacity', 0); // Don't remove the ZERO line!!\n }\n });\n\n //if Max and Min = 0 only show min, Issue #281\n if (scale.domain()[0] == scale.domain()[1] && scale.domain()[0] == 0) {\n wrap.selectAll('g.nv-axisMaxMin').style('opacity', function (d, i) {\n return !i ? 1 : 0\n });\n }\n }\n\n if (showMaxMin && (axis.orient() === 'top' || axis.orient() === 'bottom')) {\n var maxMinRange = [];\n wrap.selectAll('g.nv-axisMaxMin')\n .each(function(d,i) {\n try {\n if (i) // i== 1, max position\n maxMinRange.push(scale(d) - this.getBoundingClientRect().width - 4); //assuming the max and min labels are as wide as the next tick (with an extra 4 pixels just in case)\n else // i==0, min position\n maxMinRange.push(scale(d) + this.getBoundingClientRect().width + 4)\n }catch (err) {\n if (i) // i== 1, max position\n maxMinRange.push(scale(d) - 4); //assuming the max and min labels are as wide as the next tick (with an extra 4 pixels just in case)\n else // i==0, min position\n maxMinRange.push(scale(d) + 4);\n }\n });\n // the g's wrapping each tick\n g.selectAll('g').each(function(d, i) {\n if (scale(d) < maxMinRange[0] || scale(d) > maxMinRange[1]) {\n if (d > 1e-10 || d < -1e-10) // accounts for minor floating point errors... though could be problematic if the scale is EXTREMELY SMALL\n d3.select(this).remove();\n else\n d3.select(this).select('text').remove(); // Don't remove the ZERO line!!\n }\n });\n }\n\n //Highlight zero tick line\n g.selectAll('.tick')\n .filter(function (d) {\n /*\n The filter needs to return only ticks at or near zero.\n Numbers like 0.00001 need to count as zero as well,\n and the arithmetic trick below solves that.\n */\n return !parseFloat(Math.round(d * 100000) / 1000000) && (d !== undefined)\n }) \n .classed('zero', true);\n \n //store old scales for use in transitions on update\n scale0 = scale.copy();\n\n });\n\n renderWatch.renderEnd('axis immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.axis = axis;\n chart.dispatch = dispatch;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n axisLabelDistance: {get: function(){return axisLabelDistance;}, set: function(_){axisLabelDistance=_;}},\n staggerLabels: {get: function(){return staggerLabels;}, set: function(_){staggerLabels=_;}},\n rotateLabels: {get: function(){return rotateLabels;}, set: function(_){rotateLabels=_;}},\n rotateYLabel: {get: function(){return rotateYLabel;}, set: function(_){rotateYLabel=_;}},\n showMaxMin: {get: function(){return showMaxMin;}, set: function(_){showMaxMin=_;}},\n axisLabel: {get: function(){return axisLabelText;}, set: function(_){axisLabelText=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n ticks: {get: function(){return ticks;}, set: function(_){ticks=_;}},\n width: {get: function(){return width;}, set: function(_){width=_;}},\n fontSize: {get: function(){return fontSize;}, set: function(_){fontSize=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration=_;\n renderWatch.reset(duration);\n }},\n scale: {get: function(){return scale;}, set: function(_){\n scale = _;\n axis.scale(scale);\n isOrdinal = typeof scale.rangeBands === 'function';\n nv.utils.inheritOptionsD3(chart, scale, ['domain', 'range', 'rangeBand', 'rangeBands']);\n }}\n });\n\n nv.utils.initOptions(chart);\n nv.utils.inheritOptionsD3(chart, axis, ['orient', 'tickValues', 'tickSubdivide', 'tickSize', 'tickPadding', 'tickFormat']);\n nv.utils.inheritOptionsD3(chart, scale, ['domain', 'range', 'rangeBand', 'rangeBands']);\n\n return chart;\n};\nnv.models.boxPlot = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0},\n width = 960,\n height = 500,\n id = Math.floor(Math.random() * 10000), // Create semi-unique ID in case user doesn't select one\n xScale = d3.scale.ordinal(),\n yScale = d3.scale.linear(),\n getX = function(d) { return d.label }, // Default data model selectors.\n getQ1 = function(d) { return d.values.Q1 },\n getQ2 = function(d) { return d.values.Q2 },\n getQ3 = function(d) { return d.values.Q3 },\n getWl = function(d) { return d.values.whisker_low },\n getWh = function(d) { return d.values.whisker_high },\n getColor = function(d) { return d.color },\n getOlItems = function(d) { return d.values.outliers },\n getOlValue = function(d, i, j) { return d },\n getOlLabel = function(d, i, j) { return d },\n getOlColor = function(d, i, j) { return undefined },\n color = nv.utils.defaultColor(),\n container = null,\n xDomain, xRange,\n yDomain, yRange,\n dispatch = d3.dispatch('elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd'),\n duration = 250,\n maxBoxWidth = null;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var xScale0, yScale0;\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup Scales\n xScale.domain(xDomain || data.map(function(d,i) { return getX(d,i); }))\n .rangeBands(xRange || [0, availableWidth], 0.1);\n\n // if we know yDomain, no need to calculate\n var yData = []\n if (!yDomain) {\n // (y-range is based on quartiles, whiskers and outliers)\n var values = [], yMin, yMax;\n data.forEach(function (d, i) {\n var q1 = getQ1(d), q3 = getQ3(d), wl = getWl(d), wh = getWh(d);\n var olItems = getOlItems(d);\n if (olItems) {\n olItems.forEach(function (e, i) {\n values.push(getOlValue(e, i, undefined));\n });\n }\n if (wl) { values.push(wl) }\n if (q1) { values.push(q1) }\n if (q3) { values.push(q3) }\n if (wh) { values.push(wh) }\n });\n yMin = d3.min(values);\n yMax = d3.max(values);\n yData = [ yMin, yMax ] ;\n }\n\n yScale.domain(yDomain || yData);\n yScale.range(yRange || [availableHeight, 0]);\n\n //store old scales if they exist\n xScale0 = xScale0 || xScale;\n yScale0 = yScale0 || yScale.copy().range([yScale(0),yScale(0)]);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap');\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var boxplots = wrap.selectAll('.nv-boxplot').data(function(d) { return d });\n var boxEnter = boxplots.enter().append('g').style('stroke-opacity', 1e-6).style('fill-opacity', 1e-6);\n boxplots\n .attr('class', 'nv-boxplot')\n .attr('transform', function(d,i,j) { return 'translate(' + (xScale(getX(d,i)) + xScale.rangeBand() * 0.05) + ', 0)'; })\n .classed('hover', function(d) { return d.hover });\n boxplots\n .watchTransition(renderWatch, 'nv-boxplot: boxplots')\n .style('stroke-opacity', 1)\n .style('fill-opacity', 0.75)\n .delay(function(d,i) { return i * duration / data.length })\n .attr('transform', function(d,i) {\n return 'translate(' + (xScale(getX(d,i)) + xScale.rangeBand() * 0.05) + ', 0)';\n });\n boxplots.exit().remove();\n\n // ----- add the SVG elements for each boxPlot -----\n\n // conditionally append whisker lines\n boxEnter.each(function(d,i) {\n var box = d3.select(this);\n [getWl, getWh].forEach(function (f) {\n if (f(d)) {\n var key = (f === getWl) ? 'low' : 'high';\n box.append('line')\n .style('stroke', getColor(d) || color(d,i))\n .attr('class', 'nv-boxplot-whisker nv-boxplot-' + key);\n box.append('line')\n .style('stroke', getColor(d) || color(d,i))\n .attr('class', 'nv-boxplot-tick nv-boxplot-' + key);\n }\n });\n });\n\n var box_width = function() { return (maxBoxWidth === null ? xScale.rangeBand() * 0.9 : Math.min(75, xScale.rangeBand() * 0.9)); };\n var box_left = function() { return xScale.rangeBand() * 0.45 - box_width()/2; };\n var box_right = function() { return xScale.rangeBand() * 0.45 + box_width()/2; };\n\n // update whisker lines and ticks\n [getWl, getWh].forEach(function (f) {\n var key = (f === getWl) ? 'low' : 'high';\n var endpoint = (f === getWl) ? getQ1 : getQ3;\n boxplots.select('line.nv-boxplot-whisker.nv-boxplot-' + key)\n .watchTransition(renderWatch, 'nv-boxplot: boxplots')\n .attr('x1', xScale.rangeBand() * 0.45 )\n .attr('y1', function(d,i) { return yScale(f(d)); })\n .attr('x2', xScale.rangeBand() * 0.45 )\n .attr('y2', function(d,i) { return yScale(endpoint(d)); });\n boxplots.select('line.nv-boxplot-tick.nv-boxplot-' + key)\n .watchTransition(renderWatch, 'nv-boxplot: boxplots')\n .attr('x1', box_left )\n .attr('y1', function(d,i) { return yScale(f(d)); })\n .attr('x2', box_right )\n .attr('y2', function(d,i) { return yScale(f(d)); });\n });\n\n [getWl, getWh].forEach(function (f) {\n var key = (f === getWl) ? 'low' : 'high';\n boxEnter.selectAll('.nv-boxplot-' + key)\n .on('mouseover', function(d,i,j) {\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n series: { key: f(d), color: getColor(d) || color(d,j) },\n e: d3.event\n });\n })\n .on('mouseout', function(d,i,j) {\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n series: { key: f(d), color: getColor(d) || color(d,j) },\n e: d3.event\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({e: d3.event});\n });\n });\n\n // boxes\n boxEnter.append('rect')\n .attr('class', 'nv-boxplot-box')\n // tooltip events\n .on('mouseover', function(d,i) {\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n key: getX(d),\n value: getX(d),\n series: [\n { key: 'Q3', value: getQ3(d), color: getColor(d) || color(d,i) },\n { key: 'Q2', value: getQ2(d), color: getColor(d) || color(d,i) },\n { key: 'Q1', value: getQ1(d), color: getColor(d) || color(d,i) }\n ],\n data: d,\n index: i,\n e: d3.event\n });\n })\n .on('mouseout', function(d,i) {\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n key: getX(d),\n value: getX(d),\n series: [\n { key: 'Q3', value: getQ3(d), color: getColor(d) || color(d,i) },\n { key: 'Q2', value: getQ2(d), color: getColor(d) || color(d,i) },\n { key: 'Q1', value: getQ1(d), color: getColor(d) || color(d,i) }\n ],\n data: d,\n index: i,\n e: d3.event\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({e: d3.event});\n });\n\n // box transitions\n boxplots.select('rect.nv-boxplot-box')\n .watchTransition(renderWatch, 'nv-boxplot: boxes')\n .attr('y', function(d,i) { return yScale(getQ3(d)); })\n .attr('width', box_width)\n .attr('x', box_left )\n .attr('height', function(d,i) { return Math.abs(yScale(getQ3(d)) - yScale(getQ1(d))) || 1 })\n .style('fill', function(d,i) { return getColor(d) || color(d,i) })\n .style('stroke', function(d,i) { return getColor(d) || color(d,i) });\n\n // median line\n boxEnter.append('line').attr('class', 'nv-boxplot-median');\n\n boxplots.select('line.nv-boxplot-median')\n .watchTransition(renderWatch, 'nv-boxplot: boxplots line')\n .attr('x1', box_left)\n .attr('y1', function(d,i) { return yScale(getQ2(d)); })\n .attr('x2', box_right)\n .attr('y2', function(d,i) { return yScale(getQ2(d)); });\n\n // outliers\n var outliers = boxplots.selectAll('.nv-boxplot-outlier').data(function(d) {\n return getOlItems(d) || [];\n });\n outliers.enter().append('circle')\n .style('fill', function(d,i,j) { return getOlColor(d,i,j) || color(d,j) })\n .style('stroke', function(d,i,j) { return getOlColor(d,i,j) || color(d,j) })\n .style('z-index', 9000)\n .on('mouseover', function(d,i,j) {\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n series: { key: getOlLabel(d,i,j), color: getOlColor(d,i,j) || color(d,j) },\n e: d3.event\n });\n })\n .on('mouseout', function(d,i,j) {\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n series: { key: getOlLabel(d,i,j), color: getOlColor(d,i,j) || color(d,j) },\n e: d3.event\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({e: d3.event});\n });\n outliers.attr('class', 'nv-boxplot-outlier');\n outliers\n .watchTransition(renderWatch, 'nv-boxplot: nv-boxplot-outlier')\n .attr('cx', xScale.rangeBand() * 0.45)\n .attr('cy', function(d,i,j) { return yScale(getOlValue(d,i,j)); })\n .attr('r', '3');\n outliers.exit().remove();\n\n //store old scales for use in transitions on update\n xScale0 = xScale.copy();\n yScale0 = yScale.copy();\n });\n\n renderWatch.renderEnd('nv-boxplot immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n maxBoxWidth: {get: function(){return maxBoxWidth;}, set: function(_){maxBoxWidth=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n q1: {get: function(){return getQ1;}, set: function(_){getQ1=_;}},\n q2: {get: function(){return getQ2;}, set: function(_){getQ2=_;}},\n q3: {get: function(){return getQ3;}, set: function(_){getQ3=_;}},\n wl: {get: function(){return getWl;}, set: function(_){getWl=_;}},\n wh: {get: function(){return getWh;}, set: function(_){getWh=_;}},\n itemColor: {get: function(){return getColor;}, set: function(_){getColor=_;}},\n outliers: {get: function(){return getOlItems;}, set: function(_){getOlItems=_;}},\n outlierValue: {get: function(){return getOlValue;}, set: function(_){getOlValue=_;}},\n outlierLabel: {get: function(){return getOlLabel;}, set: function(_){getOlLabel=_;}},\n outlierColor: {get: function(){return getOlColor;}, set: function(_){getOlColor=_;}},\n xScale: {get: function(){return xScale;}, set: function(_){xScale=_;}},\n yScale: {get: function(){return yScale;}, set: function(_){yScale=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n // rectClass: {get: function(){return rectClass;}, set: function(_){rectClass=_;}},\n y: {\n get: function() {\n console.warn('BoxPlot \\'y\\' chart option is deprecated. Please use model overrides instead.');\n return {};\n },\n set: function(_) {\n console.warn('BoxPlot \\'y\\' chart option is deprecated. Please use model overrides instead.');\n }\n },\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\nnv.models.boxPlotChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var boxplot = nv.models.boxPlot(),\n xAxis = nv.models.axis(),\n yAxis = nv.models.axis();\n\n var margin = {top: 15, right: 10, bottom: 50, left: 60},\n width = null,\n height = null,\n color = nv.utils.getColor(),\n showXAxis = true,\n showYAxis = true,\n rightAlignYAxis = false,\n staggerLabels = false,\n tooltip = nv.models.tooltip(),\n x, y,\n noData = 'No Data Available.',\n dispatch = d3.dispatch('beforeUpdate', 'renderEnd'),\n duration = 250;\n\n xAxis\n .orient('bottom')\n .showMaxMin(false)\n .tickFormat(function(d) { return d })\n ;\n yAxis\n .orient((rightAlignYAxis) ? 'right' : 'left')\n .tickFormat(d3.format(',.1f'))\n ;\n\n tooltip.duration(0);\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(boxplot);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this), that = this;\n nv.utils.initSVG(container);\n var availableWidth = (width || parseInt(container.style('width')) || 960) - margin.left - margin.right;\n var availableHeight = (height || parseInt(container.style('height')) || 400) - margin.top - margin.bottom;\n\n chart.update = function() {\n dispatch.beforeUpdate();\n container.transition().duration(duration).call(chart);\n };\n chart.container = this;\n\n // TODO still need to find a way to validate quartile data presence using boxPlot callbacks.\n // Display No Data message if there's nothing to show. (quartiles required at minimum).\n if (!data || !data.length) {\n var noDataText = container.selectAll('.nv-noData').data([noData]);\n\n noDataText.enter().append('text')\n .attr('class', 'nvd3 nv-noData')\n .attr('dy', '-.7em')\n .style('text-anchor', 'middle');\n\n noDataText\n .attr('x', margin.left + availableWidth / 2)\n .attr('y', margin.top + availableHeight / 2)\n .text(function(d) { return d });\n\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = boxplot.xScale();\n y = boxplot.yScale().clamp(true);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-boxPlotWithAxes').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-boxPlotWithAxes').append('g');\n var defsEnter = gEnter.append('defs');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis')\n .append('g').attr('class', 'nv-zeroLine')\n .append('line');\n\n gEnter.append('g').attr('class', 'nv-barsWrap');\n g.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n if (rightAlignYAxis) {\n g.select('.nv-y.nv-axis')\n .attr('transform', 'translate(' + availableWidth + ',0)');\n }\n\n // Main Chart Component(s)\n boxplot.width(availableWidth).height(availableHeight);\n\n var barsWrap = g.select('.nv-barsWrap')\n .datum(data.filter(function(d) { return !d.disabled }))\n\n barsWrap.transition().call(boxplot);\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-x-label-clip-' + boxplot.id())\n .append('rect');\n\n g.select('#nv-x-label-clip-' + boxplot.id() + ' rect')\n .attr('width', x.rangeBand() * (staggerLabels ? 2 : 1))\n .attr('height', 16)\n .attr('x', -x.rangeBand() / (staggerLabels ? 1 : 2 ));\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n .ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis').attr('transform', 'translate(0,' + y.range()[0] + ')');\n g.select('.nv-x.nv-axis').call(xAxis);\n\n var xTicks = g.select('.nv-x.nv-axis').selectAll('g');\n if (staggerLabels) {\n xTicks\n .selectAll('text')\n .attr('transform', function(d,i,j) { return 'translate(0,' + (j % 2 === 0 ? '5' : '17') + ')' })\n }\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n .ticks( Math.floor(availableHeight/36) ) // can't use nv.utils.calcTicksY with Object data\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis').call(yAxis);\n }\n\n // Zero line\n g.select('.nv-zeroLine line')\n .attr('x1',0)\n .attr('x2',availableWidth)\n .attr('y1', y(0))\n .attr('y2', y(0))\n ;\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n });\n\n renderWatch.renderEnd('nv-boxplot chart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n boxplot.dispatch.on('elementMouseover.tooltip', function(evt) {\n tooltip.data(evt).hidden(false);\n });\n\n boxplot.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.data(evt).hidden(true);\n });\n\n boxplot.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.boxplot = boxplot;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n staggerLabels: {get: function(){return staggerLabels;}, set: function(_){staggerLabels=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n tooltipContent: {get: function(){return tooltip;}, set: function(_){tooltip=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n boxplot.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n boxplot.color(color);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( (_) ? 'right' : 'left');\n }}\n });\n\n nv.utils.inheritOptions(chart, boxplot);\n nv.utils.initOptions(chart);\n\n return chart;\n}\n\n// Chart design based on the recommendations of Stephen Few. Implementation\n// based on the work of Clint Ivy, Jamie Love, and Jason Davies.\n// http://projects.instantcognition.com/protovis/bulletchart/\n\nnv.models.bullet = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , orient = 'left' // TODO top & bottom\n , reverse = false\n , ranges = function(d) { return d.ranges }\n , markers = function(d) { return d.markers ? d.markers : [] }\n , markerLines = function(d) { return d.markerLines ? d.markerLines : [0] }\n , measures = function(d) { return d.measures }\n , rangeLabels = function(d) { return d.rangeLabels ? d.rangeLabels : [] }\n , markerLabels = function(d) { return d.markerLabels ? d.markerLabels : [] }\n , markerLineLabels = function(d) { return d.markerLineLabels ? d.markerLineLabels : [] }\n , measureLabels = function(d) { return d.measureLabels ? d.measureLabels : [] }\n , forceX = [0] // List of numbers to Force into the X scale (ie. 0, or a max / min, etc.)\n , width = 380\n , height = 30\n , container = null\n , tickFormat = null\n , color = nv.utils.getColor(['#1f77b4'])\n , dispatch = d3.dispatch('elementMouseover', 'elementMouseout', 'elementMousemove')\n , defaultRangeLabels = [\"Maximum\", \"Mean\", \"Minimum\"]\n , legacyRangeClassNames = [\"Max\", \"Avg\", \"Min\"]\n ;\n\n function sortLabels(labels, values){\n var lz = labels.slice();\n labels.sort(function(a, b){\n var iA = lz.indexOf(a);\n var iB = lz.indexOf(b);\n return d3.descending(values[iA], values[iB]);\n });\n };\n\n function chart(selection) {\n selection.each(function(d, i) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n var rangez = ranges.call(this, d, i).slice(),\n markerz = markers.call(this, d, i).slice(),\n markerLinez = markerLines.call(this, d, i).slice().sort(d3.descending),\n measurez = measures.call(this, d, i).slice(),\n rangeLabelz = rangeLabels.call(this, d, i).slice(),\n markerLabelz = markerLabels.call(this, d, i).slice(),\n markerLineLabelz = markerLineLabels.call(this, d, i).slice(),\n measureLabelz = measureLabels.call(this, d, i).slice();\n\n // Sort labels according to their sorted values\n sortLabels(rangeLabelz, rangez);\n sortLabels(markerLabelz, markerz);\n sortLabels(markerLineLabelz, markerLinez);\n sortLabels(measureLabelz, measurez);\n\n // sort values descending\n rangez.sort(d3.descending);\n markerz.sort(d3.descending);\n measurez.sort(d3.descending);\n\n // Setup Scales\n // Compute the new x-scale.\n var x1 = d3.scale.linear()\n .domain( d3.extent(d3.merge([forceX, rangez])) )\n .range(reverse ? [availableWidth, 0] : [0, availableWidth]);\n\n // Retrieve the old x-scale, if this is an update.\n var x0 = this.__chart__ || d3.scale.linear()\n .domain([0, Infinity])\n .range(x1.range());\n\n // Stash the new scale.\n this.__chart__ = x1;\n\n var rangeMin = d3.min(rangez), //rangez[2]\n rangeMax = d3.max(rangez), //rangez[0]\n rangeAvg = rangez[1];\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-bullet').data([d]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-bullet');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n for(var i=0,il=rangez.length; i getClose(d, i) ? 'nv-tick negative' : 'nv-tick positive') + ' nv-tick-' + j + '-' + i});\n\n var lines = tickGroups.append('line')\n .attr('class', 'nv-candlestick-lines')\n .attr('transform', function(d, i) { return 'translate(' + x(getX(d, i)) + ',0)'; })\n .attr('x1', 0)\n .attr('y1', function(d, i) { return y(getHigh(d, i)); })\n .attr('x2', 0)\n .attr('y2', function(d, i) { return y(getLow(d, i)); });\n\n var rects = tickGroups.append('rect')\n .attr('class', 'nv-candlestick-rects nv-bars')\n .attr('transform', function(d, i) {\n return 'translate(' + (x(getX(d, i)) - barWidth/2) + ','\n + (y(getY(d, i)) - (getOpen(d, i) > getClose(d, i) ? (y(getClose(d, i)) - y(getOpen(d, i))) : 0))\n + ')';\n })\n .attr('x', 0)\n .attr('y', 0)\n .attr('width', barWidth)\n .attr('height', function(d, i) {\n var open = getOpen(d, i);\n var close = getClose(d, i);\n return open > close ? y(close) - y(open) : y(open) - y(close);\n });\n\n ticks.select('.nv-candlestick-lines').transition()\n .attr('transform', function(d, i) { return 'translate(' + x(getX(d, i)) + ',0)'; })\n .attr('x1', 0)\n .attr('y1', function(d, i) { return y(getHigh(d, i)); })\n .attr('x2', 0)\n .attr('y2', function(d, i) { return y(getLow(d, i)); });\n\n ticks.select('.nv-candlestick-rects').transition()\n .attr('transform', function(d, i) {\n return 'translate(' + (x(getX(d, i)) - barWidth/2) + ','\n + (y(getY(d, i)) - (getOpen(d, i) > getClose(d, i) ? (y(getClose(d, i)) - y(getOpen(d, i))) : 0))\n + ')';\n })\n .attr('x', 0)\n .attr('y', 0)\n .attr('width', barWidth)\n .attr('height', function(d, i) {\n var open = getOpen(d, i);\n var close = getClose(d, i);\n return open > close ? y(close) - y(open) : y(open) - y(close);\n });\n });\n\n return chart;\n }\n\n\n //Create methods to allow outside functions to highlight a specific bar.\n chart.highlightPoint = function(pointIndex, isHoverOver) {\n chart.clearHighlights();\n container.select(\".nv-candlestickBar .nv-tick-0-\" + pointIndex)\n .classed(\"hover\", isHoverOver)\n ;\n };\n\n chart.clearHighlights = function() {\n container.select(\".nv-candlestickBar .nv-tick.hover\")\n .classed(\"hover\", false)\n ;\n };\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n forceX: {get: function(){return forceX;}, set: function(_){forceX=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n padData: {get: function(){return padData;}, set: function(_){padData=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n interactive: {get: function(){return interactive;}, set: function(_){interactive=_;}},\n\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n open: {get: function(){return getOpen();}, set: function(_){getOpen=_;}},\n close: {get: function(){return getClose();}, set: function(_){getClose=_;}},\n high: {get: function(){return getHigh;}, set: function(_){getHigh=_;}},\n low: {get: function(){return getLow;}, set: function(_){getLow=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top != undefined ? _.top : margin.top;\n margin.right = _.right != undefined ? _.right : margin.right;\n margin.bottom = _.bottom != undefined ? _.bottom : margin.bottom;\n margin.left = _.left != undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n return chart;\n};\n\nnv.models.cumulativeLineChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var lines = nv.models.line()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , legend = nv.models.legend()\n , controls = nv.models.legend()\n , interactiveLayer = nv.interactiveGuideline()\n , tooltip = nv.models.tooltip()\n ;\n\n var margin = {top: 30, right: 30, bottom: 50, left: 60}\n , color = nv.utils.defaultColor()\n , width = null\n , height = null\n , showLegend = true\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , showControls = true\n , useInteractiveGuideline = false\n , rescaleY = true\n , x //can be accessed via chart.xScale()\n , y //can be accessed via chart.yScale()\n , id = lines.id()\n , state = nv.utils.state()\n , defaultState = null\n , noData = null\n , average = function(d) { return d.average }\n , dispatch = d3.dispatch('stateChange', 'changeState', 'renderEnd')\n , transitionDuration = 250\n , duration = 250\n , noErrorCheck = false //if set to TRUE, will bypass an error check in the indexify function.\n ;\n\n state.index = 0;\n state.rescaleY = rescaleY;\n\n xAxis.orient('bottom').tickPadding(7);\n yAxis.orient((rightAlignYAxis) ? 'right' : 'left');\n\n tooltip.valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n }).headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n controls.updateState(false);\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var dx = d3.scale.linear()\n , index = {i: 0, x: 0}\n , renderWatch = nv.utils.renderWatch(dispatch, duration)\n ;\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled }),\n index: index.i,\n rescaleY: rescaleY\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.index !== undefined)\n index.i = state.index;\n if (state.rescaleY !== undefined)\n rescaleY = state.rescaleY;\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n }\n };\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(lines);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n container.classed('nv-chart-' + id, true);\n var that = this;\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() {\n if (duration === 0)\n container.call(chart);\n else\n container.transition().duration(duration).call(chart)\n };\n chart.container = this;\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disableddisabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n var indexDrag = d3.behavior.drag()\n .on('dragstart', dragStart)\n .on('drag', dragMove)\n .on('dragend', dragEnd);\n\n\n function dragStart(d,i) {\n d3.select(chart.container)\n .style('cursor', 'ew-resize');\n }\n\n function dragMove(d,i) {\n index.x = d3.event.x;\n index.i = Math.round(dx.invert(index.x));\n updateZero();\n }\n\n function dragEnd(d,i) {\n d3.select(chart.container)\n .style('cursor', 'auto');\n\n // update state and send stateChange with new index\n state.index = index.i;\n dispatch.stateChange(state);\n }\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = lines.xScale();\n y = lines.yScale();\n\n if (!rescaleY) {\n var seriesDomains = data\n .filter(function(series) { return !series.disabled })\n .map(function(series,i) {\n var initialDomain = d3.extent(series.values, lines.y());\n\n //account for series being disabled when losing 95% or more\n if (initialDomain[0] < -.95) initialDomain[0] = -.95;\n\n return [\n (initialDomain[0] - initialDomain[1]) / (1 + initialDomain[1]),\n (initialDomain[1] - initialDomain[0]) / (1 + initialDomain[0])\n ];\n });\n\n var completeDomain = [\n d3.min(seriesDomains, function(d) { return d[0] }),\n d3.max(seriesDomains, function(d) { return d[1] })\n ];\n\n lines.yDomain(completeDomain);\n } else {\n lines.yDomain(null);\n }\n\n dx.domain([0, data[0].values.length - 1]) //Assumes all series have same length\n .range([0, availableWidth])\n .clamp(true);\n\n var data = indexify(index.i, data);\n\n // Setup containers and skeleton of chart\n var interactivePointerEvents = (useInteractiveGuideline) ? \"none\" : \"all\";\n var wrap = container.selectAll('g.nv-wrap.nv-cumulativeLine').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-cumulativeLine').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-interactive');\n gEnter.append('g').attr('class', 'nv-x nv-axis').style(\"pointer-events\",\"none\");\n gEnter.append('g').attr('class', 'nv-y nv-axis');\n gEnter.append('g').attr('class', 'nv-background');\n gEnter.append('g').attr('class', 'nv-linesWrap').style(\"pointer-events\",interactivePointerEvents);\n gEnter.append('g').attr('class', 'nv-avgLinesWrap').style(\"pointer-events\",\"none\");\n gEnter.append('g').attr('class', 'nv-legendWrap');\n gEnter.append('g').attr('class', 'nv-controlsWrap');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth);\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (legend.height() > margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + (-margin.top) +')')\n }\n\n // Controls\n if (!showControls) {\n g.select('.nv-controlsWrap').selectAll('*').remove();\n } else {\n var controlsData = [\n { key: 'Re-scale y-axis', disabled: !rescaleY }\n ];\n\n controls\n .width(140)\n .color(['#444', '#444', '#444'])\n .rightAlign(false)\n .margin({top: 5, right: 0, bottom: 5, left: 20})\n ;\n\n g.select('.nv-controlsWrap')\n .datum(controlsData)\n .attr('transform', 'translate(0,' + (-margin.top) +')')\n .call(controls);\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n // Show error if series goes below 100%\n var tempDisabled = data.filter(function(d) { return d.tempDisabled });\n\n wrap.select('.tempDisabled').remove(); //clean-up and prevent duplicates\n if (tempDisabled.length) {\n wrap.append('text').attr('class', 'tempDisabled')\n .attr('x', availableWidth / 2)\n .attr('y', '-.71em')\n .style('text-anchor', 'end')\n .text(tempDisabled.map(function(d) { return d.key }).join(', ') + ' values cannot be calculated for this time period.');\n }\n\n //Set up interactive layer\n if (useInteractiveGuideline) {\n interactiveLayer\n .width(availableWidth)\n .height(availableHeight)\n .margin({left:margin.left,top:margin.top})\n .svgContainer(container)\n .xScale(x);\n wrap.select(\".nv-interactive\").call(interactiveLayer);\n }\n\n gEnter.select('.nv-background')\n .append('rect');\n\n g.select('.nv-background rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n lines\n //.x(function(d) { return d.x })\n .y(function(d) { return d.display.y })\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled && !data[i].tempDisabled; }));\n\n var linesWrap = g.select('.nv-linesWrap')\n .datum(data.filter(function(d) { return !d.disabled && !d.tempDisabled }));\n\n linesWrap.call(lines);\n\n //Store a series index number in the data array.\n data.forEach(function(d,i) {\n d.seriesIndex = i;\n });\n\n var avgLineData = data.filter(function(d) {\n return !d.disabled && !!average(d);\n });\n\n var avgLines = g.select(\".nv-avgLinesWrap\").selectAll(\"line\")\n .data(avgLineData, function(d) { return d.key; });\n\n var getAvgLineY = function(d) {\n //If average lines go off the svg element, clamp them to the svg bounds.\n var yVal = y(average(d));\n if (yVal < 0) return 0;\n if (yVal > availableHeight) return availableHeight;\n return yVal;\n };\n\n avgLines.enter()\n .append('line')\n .style('stroke-width',2)\n .style('stroke-dasharray','10,10')\n .style('stroke',function (d,i) {\n return lines.color()(d,d.seriesIndex);\n })\n .attr('x1',0)\n .attr('x2',availableWidth)\n .attr('y1', getAvgLineY)\n .attr('y2', getAvgLineY);\n\n avgLines\n .style('stroke-opacity',function(d){\n //If average lines go offscreen, make them transparent\n var yVal = y(average(d));\n if (yVal < 0 || yVal > availableHeight) return 0;\n return 1;\n })\n .attr('x1',0)\n .attr('x2',availableWidth)\n .attr('y1', getAvgLineY)\n .attr('y2', getAvgLineY);\n\n avgLines.exit().remove();\n\n //Create index line\n var indexLine = linesWrap.selectAll('.nv-indexLine')\n .data([index]);\n indexLine.enter().append('rect').attr('class', 'nv-indexLine')\n .attr('width', 3)\n .attr('x', -2)\n .attr('fill', 'red')\n .attr('fill-opacity', .5)\n .style(\"pointer-events\",\"all\")\n .call(indexDrag);\n\n indexLine\n .attr('transform', function(d) { return 'translate(' + dx(d.i) + ',0)' })\n .attr('height', availableHeight);\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/70, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y.range()[0] + ')');\n g.select('.nv-x.nv-axis')\n .call(xAxis);\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis')\n .call(yAxis);\n }\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n function updateZero() {\n indexLine\n .data([index]);\n\n //When dragging the index line, turn off line transitions.\n // Then turn them back on when done dragging.\n var oldDuration = chart.duration();\n chart.duration(0);\n chart.update();\n chart.duration(oldDuration);\n }\n\n g.select('.nv-background rect')\n .on('click', function() {\n index.x = d3.mouse(this)[0];\n index.i = Math.round(dx.invert(index.x));\n\n // update state and send stateChange with new index\n state.index = index.i;\n dispatch.stateChange(state);\n\n updateZero();\n });\n\n lines.dispatch.on('elementClick', function(e) {\n index.i = e.pointIndex;\n index.x = dx(index.i);\n\n // update state and send stateChange with new index\n state.index = index.i;\n dispatch.stateChange(state);\n\n updateZero();\n });\n\n controls.dispatch.on('legendClick', function(d,i) {\n d.disabled = !d.disabled;\n rescaleY = !d.disabled;\n\n state.rescaleY = rescaleY;\n dispatch.stateChange(state);\n chart.update();\n });\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n interactiveLayer.dispatch.on('elementMousemove', function(e) {\n lines.clearHighlights();\n var singlePoint, pointIndex, pointXLocation, allData = [];\n\n data\n .filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled;\n })\n .forEach(function(series,i) {\n pointIndex = nv.interactiveBisect(series.values, e.pointXValue, chart.x());\n lines.highlightPoint(i, pointIndex, true);\n var point = series.values[pointIndex];\n if (typeof point === 'undefined') return;\n if (typeof singlePoint === 'undefined') singlePoint = point;\n if (typeof pointXLocation === 'undefined') pointXLocation = chart.xScale()(chart.x()(point,pointIndex));\n allData.push({\n key: series.key,\n value: chart.y()(point, pointIndex),\n color: color(series,series.seriesIndex)\n });\n });\n\n //Highlight the tooltip entry based on which point the mouse is closest to.\n if (allData.length > 2) {\n var yValue = chart.yScale().invert(e.mouseY);\n var domainExtent = Math.abs(chart.yScale().domain()[0] - chart.yScale().domain()[1]);\n var threshold = 0.03 * domainExtent;\n var indexToHighlight = nv.nearestValueIndex(allData.map(function(d){return d.value}),yValue,threshold);\n if (indexToHighlight !== null)\n allData[indexToHighlight].highlight = true;\n }\n\n var xValue = xAxis.tickFormat()(chart.x()(singlePoint,pointIndex), pointIndex);\n interactiveLayer.tooltip\n .valueFormatter(function(d,i) {\n return yAxis.tickFormat()(d);\n })\n .data(\n {\n value: xValue,\n series: allData\n }\n )();\n\n interactiveLayer.renderGuideLine(pointXLocation);\n });\n\n interactiveLayer.dispatch.on(\"elementMouseout\",function(e) {\n lines.clearHighlights();\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n\n state.disabled = e.disabled;\n }\n\n if (typeof e.index !== 'undefined') {\n index.i = e.index;\n index.x = dx(index.i);\n\n state.index = e.index;\n\n indexLine\n .data([index]);\n }\n\n if (typeof e.rescaleY !== 'undefined') {\n rescaleY = e.rescaleY;\n }\n\n chart.update();\n });\n\n });\n\n renderWatch.renderEnd('cumulativeLineChart immediate');\n\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n lines.dispatch.on('elementMouseover.tooltip', function(evt) {\n var point = {\n x: chart.x()(evt.point),\n y: chart.y()(evt.point),\n color: evt.point.color\n };\n evt.point = point;\n tooltip.data(evt).hidden(false);\n });\n\n lines.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n\n //============================================================\n // Functions\n //------------------------------------------------------------\n\n var indexifyYGetter = null;\n /* Normalize the data according to an index point. */\n function indexify(idx, data) {\n if (!indexifyYGetter) indexifyYGetter = lines.y();\n return data.map(function(line, i) {\n if (!line.values) {\n return line;\n }\n var indexValue = line.values[idx];\n if (indexValue == null) {\n return line;\n }\n var v = indexifyYGetter(indexValue, idx);\n\n //TODO: implement check below, and disable series if series loses 100% or more cause divide by 0 issue\n if (v < -.95 && !noErrorCheck) {\n //if a series loses more than 100%, calculations fail.. anything close can cause major distortion (but is mathematically correct till it hits 100)\n\n line.tempDisabled = true;\n return line;\n }\n\n line.tempDisabled = false;\n\n line.values = line.values.map(function(point, pointIndex) {\n point.display = {'y': (indexifyYGetter(point, pointIndex) - v) / (1 + v) };\n return point;\n });\n\n return line;\n })\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.lines = lines;\n chart.legend = legend;\n chart.controls = controls;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.interactiveLayer = interactiveLayer;\n chart.state = state;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n rescaleY: {get: function(){return rescaleY;}, set: function(_){rescaleY=_;}},\n showControls: {get: function(){return showControls;}, set: function(_){showControls=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n average: {get: function(){return average;}, set: function(_){average=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n noErrorCheck: {get: function(){return noErrorCheck;}, set: function(_){noErrorCheck=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n }},\n useInteractiveGuideline: {get: function(){return useInteractiveGuideline;}, set: function(_){\n useInteractiveGuideline = _;\n if (_ === true) {\n chart.interactive(false);\n chart.useVoronoi(false);\n }\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( (_) ? 'right' : 'left');\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n lines.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n renderWatch.reset(duration);\n }}\n });\n\n nv.utils.inheritOptions(chart, lines);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n//TODO: consider deprecating by adding necessary features to multiBar model\nnv.models.discreteBar = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 960\n , height = 500\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container\n , x = d3.scale.ordinal()\n , y = d3.scale.linear()\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , forceY = [0] // 0 is forced by default.. this makes sense for the majority of bar graphs... user can always do chart.forceY([]) to remove\n , color = nv.utils.defaultColor()\n , showValues = false\n , valueFormat = d3.format(',.2f')\n , xDomain\n , yDomain\n , xRange\n , yRange\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd')\n , rectClass = 'discreteBar'\n , duration = 250\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x0, y0;\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n //add series index to each data point for reference\n data.forEach(function(series, i) {\n series.values.forEach(function(point) {\n point.series = i;\n });\n });\n\n // Setup Scales\n // remap and flatten the data for use in calculating the scales' domains\n var seriesData = (xDomain && yDomain) ? [] : // if we know xDomain and yDomain, no need to calculate\n data.map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d,i), y: getY(d,i), y0: d.y0 }\n })\n });\n\n x .domain(xDomain || d3.merge(seriesData).map(function(d) { return d.x }))\n .rangeBands(xRange || [0, availableWidth], .1);\n y .domain(yDomain || d3.extent(d3.merge(seriesData).map(function(d) { return d.y }).concat(forceY)));\n\n // If showValues, pad the Y axis range to account for label height\n if (showValues) y.range(yRange || [availableHeight - (y.domain()[0] < 0 ? 12 : 0), y.domain()[1] > 0 ? 12 : 0]);\n else y.range(yRange || [availableHeight, 0]);\n\n //store old scales if they exist\n x0 = x0 || x;\n y0 = y0 || y.copy().range([y(0),y(0)]);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-discretebar').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-discretebar');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-groups');\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n //TODO: by definition, the discrete bar should not have multiple groups, will modify/remove later\n var groups = wrap.select('.nv-groups').selectAll('.nv-group')\n .data(function(d) { return d }, function(d) { return d.key });\n groups.enter().append('g')\n .style('stroke-opacity', 1e-6)\n .style('fill-opacity', 1e-6);\n groups.exit()\n .watchTransition(renderWatch, 'discreteBar: exit groups')\n .style('stroke-opacity', 1e-6)\n .style('fill-opacity', 1e-6)\n .remove();\n groups\n .attr('class', function(d,i) { return 'nv-group nv-series-' + i })\n .classed('hover', function(d) { return d.hover });\n groups\n .watchTransition(renderWatch, 'discreteBar: groups')\n .style('stroke-opacity', 1)\n .style('fill-opacity', .75);\n\n var bars = groups.selectAll('g.nv-bar')\n .data(function(d) { return d.values });\n bars.exit().remove();\n\n var barsEnter = bars.enter().append('g')\n .attr('transform', function(d,i,j) {\n return 'translate(' + (x(getX(d,i)) + x.rangeBand() * .05 ) + ', ' + y(0) + ')'\n })\n .on('mouseover', function(d,i) { //TODO: figure out why j works above, but not here\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mouseout', function(d,i) {\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('click', function(d,i) {\n var element = this;\n dispatch.elementClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\"),\n event: d3.event,\n element: element\n });\n d3.event.stopPropagation();\n })\n .on('dblclick', function(d,i) {\n dispatch.elementDblClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n d3.event.stopPropagation();\n });\n\n barsEnter.append('rect')\n .attr('height', 0)\n .attr('width', x.rangeBand() * .9 / data.length )\n\n if (showValues) {\n barsEnter.append('text')\n .attr('text-anchor', 'middle')\n ;\n\n bars.select('text')\n .text(function(d,i) { return valueFormat(getY(d,i)) })\n .watchTransition(renderWatch, 'discreteBar: bars text')\n .attr('x', x.rangeBand() * .9 / 2)\n .attr('y', function(d,i) { return getY(d,i) < 0 ? y(getY(d,i)) - y(0) + 12 : -4 })\n\n ;\n } else {\n bars.selectAll('text').remove();\n }\n\n bars\n .attr('class', function(d,i) { return getY(d,i) < 0 ? 'nv-bar negative' : 'nv-bar positive' })\n .style('fill', function(d,i) { return d.color || color(d,i) })\n .style('stroke', function(d,i) { return d.color || color(d,i) })\n .select('rect')\n .attr('class', rectClass)\n .watchTransition(renderWatch, 'discreteBar: bars rect')\n .attr('width', x.rangeBand() * .9 / data.length);\n bars.watchTransition(renderWatch, 'discreteBar: bars')\n //.delay(function(d,i) { return i * 1200 / data[0].values.length })\n .attr('transform', function(d,i) {\n var left = x(getX(d,i)) + x.rangeBand() * .05,\n top = getY(d,i) < 0 ?\n y(0) :\n y(0) - y(getY(d,i)) < 1 ?\n y(0) - 1 : //make 1 px positive bars show up above y=0\n y(getY(d,i));\n\n return 'translate(' + left + ', ' + top + ')'\n })\n .select('rect')\n .attr('height', function(d,i) {\n return Math.max(Math.abs(y(getY(d,i)) - y(0)), 1)\n });\n\n\n //store old scales for use in transitions on update\n x0 = x.copy();\n y0 = y.copy();\n\n });\n\n renderWatch.renderEnd('discreteBar immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n showValues: {get: function(){return showValues;}, set: function(_){showValues=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n valueFormat: {get: function(){return valueFormat;}, set: function(_){valueFormat=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n rectClass: {get: function(){return rectClass;}, set: function(_){rectClass=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.discreteBarChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var discretebar = nv.models.discreteBar()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n\t, legend = nv.models.legend()\n , tooltip = nv.models.tooltip()\n ;\n\n var margin = {top: 15, right: 10, bottom: 50, left: 60}\n , width = null\n , height = null\n , color = nv.utils.getColor()\n\t, showLegend = false\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , staggerLabels = false\n , wrapLabels = false\n , rotateLabels = 0\n , x\n , y\n , noData = null\n , dispatch = d3.dispatch('beforeUpdate','renderEnd')\n , duration = 250\n ;\n\n xAxis\n .orient('bottom')\n .showMaxMin(false)\n .tickFormat(function(d) { return d })\n ;\n yAxis\n .orient((rightAlignYAxis) ? 'right' : 'left')\n .tickFormat(d3.format(',.1f'))\n ;\n\n tooltip\n .duration(0)\n .headerEnabled(false)\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n })\n .keyFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(discretebar);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() {\n dispatch.beforeUpdate();\n container.transition().duration(duration).call(chart);\n };\n chart.container = this;\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = discretebar.xScale();\n y = discretebar.yScale().clamp(true);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-discreteBarWithAxes').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-discreteBarWithAxes').append('g');\n var defsEnter = gEnter.append('defs');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis')\n .append('g').attr('class', 'nv-zeroLine')\n .append('line');\n\n gEnter.append('g').attr('class', 'nv-barsWrap');\n\t gEnter.append('g').attr('class', 'nv-legendWrap');\n\n g.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth);\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (legend.height() > margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + (-margin.top) +')')\n }\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n // Main Chart Component(s)\n discretebar\n .width(availableWidth)\n .height(availableHeight);\n\n var barsWrap = g.select('.nv-barsWrap')\n .datum(data.filter(function(d) { return !d.disabled }));\n\n barsWrap.transition().call(discretebar);\n\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-x-label-clip-' + discretebar.id())\n .append('rect');\n\n g.select('#nv-x-label-clip-' + discretebar.id() + ' rect')\n .attr('width', x.rangeBand() * (staggerLabels ? 2 : 1))\n .attr('height', 16)\n .attr('x', -x.rangeBand() / (staggerLabels ? 1 : 2 ));\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + (y.range()[0] + ((discretebar.showValues() && y.domain()[0] < 0) ? 16 : 0)) + ')');\n g.select('.nv-x.nv-axis').call(xAxis);\n\n var xTicks = g.select('.nv-x.nv-axis').selectAll('g');\n if (staggerLabels) {\n xTicks\n .selectAll('text')\n .attr('transform', function(d,i,j) { return 'translate(0,' + (j % 2 == 0 ? '5' : '17') + ')' })\n }\n\n if (rotateLabels) {\n xTicks\n .selectAll('.tick text')\n .attr('transform', 'rotate(' + rotateLabels + ' 0,0)')\n .style('text-anchor', rotateLabels > 0 ? 'start' : 'end');\n }\n\n if (wrapLabels) {\n g.selectAll('.tick text')\n .call(nv.utils.wrapTicks, chart.xAxis.rangeBand())\n }\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis').call(yAxis);\n }\n\n // Zero line\n g.select(\".nv-zeroLine line\")\n .attr(\"x1\",0)\n .attr(\"x2\",(rightAlignYAxis) ? -availableWidth : availableWidth)\n .attr(\"y1\", y(0))\n .attr(\"y2\", y(0))\n ;\n });\n\n renderWatch.renderEnd('discreteBar chart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n discretebar.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt['series'] = {\n key: chart.x()(evt.data),\n value: chart.y()(evt.data),\n color: evt.color\n };\n tooltip.data(evt).hidden(false);\n });\n\n discretebar.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n discretebar.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.discretebar = discretebar;\n chart.legend = legend;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n\tshowLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n staggerLabels: {get: function(){return staggerLabels;}, set: function(_){staggerLabels=_;}},\n rotateLabels: {get: function(){return rotateLabels;}, set: function(_){rotateLabels=_;}},\n wrapLabels: {get: function(){return wrapLabels;}, set: function(_){wrapLabels=!!_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n discretebar.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n discretebar.color(color);\n\t legend.color(color);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( (_) ? 'right' : 'left');\n }}\n });\n\n nv.utils.inheritOptions(chart, discretebar);\n nv.utils.initOptions(chart);\n\n return chart;\n}\n\nnv.models.distribution = function() {\n \"use strict\";\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 400 //technically width or height depending on x or y....\n , size = 8\n , axis = 'x' // 'x' or 'y'... horizontal or vertical\n , getData = function(d) { return d[axis] } // defaults d.x or d.y\n , color = nv.utils.defaultColor()\n , scale = d3.scale.linear()\n , domain\n , duration = 250\n , dispatch = d3.dispatch('renderEnd')\n ;\n\n //============================================================\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var scale0;\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n //============================================================\n\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableLength = width - (axis === 'x' ? margin.left + margin.right : margin.top + margin.bottom),\n naxis = axis == 'x' ? 'y' : 'x',\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n //------------------------------------------------------------\n // Setup Scales\n\n scale0 = scale0 || scale;\n\n //------------------------------------------------------------\n\n\n //------------------------------------------------------------\n // Setup containers and skeleton of chart\n\n var wrap = container.selectAll('g.nv-distribution').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-distribution');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n\n //------------------------------------------------------------\n\n\n var distWrap = g.selectAll('g.nv-dist')\n .data(function(d) { return d }, function(d) { return d.key });\n\n distWrap.enter().append('g');\n distWrap\n .attr('class', function(d,i) { return 'nv-dist nv-series-' + i })\n .style('stroke', function(d,i) { return color(d, i) });\n\n var dist = distWrap.selectAll('line.nv-dist' + axis)\n .data(function(d) { return d.values })\n dist.enter().append('line')\n .attr(axis + '1', function(d,i) { return scale0(getData(d,i)) })\n .attr(axis + '2', function(d,i) { return scale0(getData(d,i)) })\n renderWatch.transition(distWrap.exit().selectAll('line.nv-dist' + axis), 'dist exit')\n // .transition()\n .attr(axis + '1', function(d,i) { return scale(getData(d,i)) })\n .attr(axis + '2', function(d,i) { return scale(getData(d,i)) })\n .style('stroke-opacity', 0)\n .remove();\n dist\n .attr('class', function(d,i) { return 'nv-dist' + axis + ' nv-dist' + axis + '-' + i })\n .attr(naxis + '1', 0)\n .attr(naxis + '2', size);\n renderWatch.transition(dist, 'dist')\n // .transition()\n .attr(axis + '1', function(d,i) { return scale(getData(d,i)) })\n .attr(axis + '2', function(d,i) { return scale(getData(d,i)) })\n\n\n scale0 = scale.copy();\n\n });\n renderWatch.renderEnd('distribution immediate');\n return chart;\n }\n\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n chart.options = nv.utils.optionsFunc.bind(chart);\n chart.dispatch = dispatch;\n\n chart.margin = function(_) {\n if (!arguments.length) return margin;\n margin.top = typeof _.top != 'undefined' ? _.top : margin.top;\n margin.right = typeof _.right != 'undefined' ? _.right : margin.right;\n margin.bottom = typeof _.bottom != 'undefined' ? _.bottom : margin.bottom;\n margin.left = typeof _.left != 'undefined' ? _.left : margin.left;\n return chart;\n };\n\n chart.width = function(_) {\n if (!arguments.length) return width;\n width = _;\n return chart;\n };\n\n chart.axis = function(_) {\n if (!arguments.length) return axis;\n axis = _;\n return chart;\n };\n\n chart.size = function(_) {\n if (!arguments.length) return size;\n size = _;\n return chart;\n };\n\n chart.getData = function(_) {\n if (!arguments.length) return getData;\n getData = d3.functor(_);\n return chart;\n };\n\n chart.scale = function(_) {\n if (!arguments.length) return scale;\n scale = _;\n return chart;\n };\n\n chart.color = function(_) {\n if (!arguments.length) return color;\n color = nv.utils.getColor(_);\n return chart;\n };\n\n chart.duration = function(_) {\n if (!arguments.length) return duration;\n duration = _;\n renderWatch.reset(duration);\n return chart;\n };\n //============================================================\n\n\n return chart;\n}\nnv.models.focus = function(content) {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var content = content || nv.models.line()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , brush = d3.svg.brush()\n ;\n\n var margin = {top: 10, right: 0, bottom: 30, left: 0}\n , color = nv.utils.defaultColor()\n , width = null\n , height = 70\n , showXAxis = true\n , showYAxis = false\n , rightAlignYAxis = false\n , ticks = null\n , x\n , y\n , brushExtent = null\n , duration = 250\n , dispatch = d3.dispatch('brush', 'onBrush', 'renderEnd')\n ;\n\n content.interactive(false);\n content.pointActive(function(d) { return false; });\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(content);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = height - margin.top - margin.bottom;\n\n chart.update = function() { \n if( duration === 0 ) {\n container.call( chart );\n } else {\n container.transition().duration(duration).call(chart);\n }\n };\n chart.container = this;\n\n // Setup Scales\n x = content.xScale();\n y = content.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-focus').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-focus').append('g');\n var g = wrap.select('g');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n gEnter.append('g').attr('class', 'nv-background').append('rect');\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis');\n gEnter.append('g').attr('class', 'nv-contentWrap');\n gEnter.append('g').attr('class', 'nv-brushBackground');\n gEnter.append('g').attr('class', 'nv-x nv-brush');\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n g.select('.nv-background rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n \n content\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled; }));\n\n var contentWrap = g.select('.nv-contentWrap')\n .datum(data.filter(function(d) { return !d.disabled; }));\n\n d3.transition(contentWrap).call(content);\n \n // Setup Brush\n brush\n .x(x)\n .on('brush', function() {\n onBrush();\n });\n\n if (brushExtent) brush.extent(brushExtent);\n\n var brushBG = g.select('.nv-brushBackground').selectAll('g')\n .data([brushExtent || brush.extent()]);\n \n var brushBGenter = brushBG.enter()\n .append('g');\n\n brushBGenter.append('rect')\n .attr('class', 'left')\n .attr('x', 0)\n .attr('y', 0)\n .attr('height', availableHeight);\n\n brushBGenter.append('rect')\n .attr('class', 'right')\n .attr('x', 0)\n .attr('y', 0)\n .attr('height', availableHeight);\n\n var gBrush = g.select('.nv-x.nv-brush')\n .call(brush);\n gBrush.selectAll('rect')\n .attr('height', availableHeight);\n gBrush.selectAll('.resize').append('path').attr('d', resizePath);\n\n onBrush();\n\n g.select('.nv-background rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n if (showXAxis) {\n xAxis.scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n \n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y.range()[0] + ')');\n d3.transition(g.select('.nv-x.nv-axis'))\n .call(xAxis);\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n d3.transition(g.select('.nv-y.nv-axis'))\n .call(yAxis);\n }\n \n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y.range()[0] + ')');\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n //============================================================\n // Functions\n //------------------------------------------------------------\n \n // Taken from crossfilter (http://square.github.com/crossfilter/)\n function resizePath(d) {\n var e = +(d == 'e'),\n x = e ? 1 : -1,\n y = availableHeight / 3;\n return 'M' + (0.5 * x) + ',' + y\n + 'A6,6 0 0 ' + e + ' ' + (6.5 * x) + ',' + (y + 6)\n + 'V' + (2 * y - 6)\n + 'A6,6 0 0 ' + e + ' ' + (0.5 * x) + ',' + (2 * y)\n + 'Z'\n + 'M' + (2.5 * x) + ',' + (y + 8)\n + 'V' + (2 * y - 8)\n + 'M' + (4.5 * x) + ',' + (y + 8)\n + 'V' + (2 * y - 8);\n }\n \n \n function updateBrushBG() {\n if (!brush.empty()) brush.extent(brushExtent);\n brushBG\n .data([brush.empty() ? x.domain() : brushExtent])\n .each(function(d,i) {\n var leftWidth = x(d[0]) - x.range()[0],\n rightWidth = availableWidth - x(d[1]);\n d3.select(this).select('.left')\n .attr('width', leftWidth < 0 ? 0 : leftWidth);\n \n d3.select(this).select('.right')\n .attr('x', x(d[1]))\n .attr('width', rightWidth < 0 ? 0 : rightWidth);\n });\n }\n \n \n function onBrush() {\n brushExtent = brush.empty() ? null : brush.extent();\n var extent = brush.empty() ? x.domain() : brush.extent();\n \n //The brush extent cannot be less than one. If it is, don't update the line chart.\n if (Math.abs(extent[0] - extent[1]) <= 1) {\n return;\n }\n \n dispatch.brush({extent: extent, brush: brush});\n \n updateBrushBG();\n dispatch.onBrush(extent);\n }\n\n\n });\n\n renderWatch.renderEnd('focus immediate');\n return chart;\n }\n\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.content = content;\n chart.brush = brush;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n brushExtent: {get: function(){return brushExtent;}, set: function(_){brushExtent=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n content.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n content.color(color);\n }},\n interpolate: {get: function(){return content.interpolate();}, set: function(_){\n content.interpolate(_);\n }},\n xTickFormat: {get: function(){return xAxis.tickFormat();}, set: function(_){\n xAxis.tickFormat(_);\n }},\n yTickFormat: {get: function(){return yAxis.tickFormat();}, set: function(_){\n yAxis.tickFormat(_);\n }},\n x: {get: function(){return content.x();}, set: function(_){\n content.x(_);\n }},\n y: {get: function(){return content.y();}, set: function(_){\n content.y(_);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( rightAlignYAxis ? 'right' : 'left');\n }},\n });\n\n nv.utils.inheritOptions(chart, content);\n nv.utils.initOptions(chart);\n\n return chart;\n};\nnv.models.forceDirectedGraph = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n var margin = {top: 2, right: 0, bottom: 2, left: 0}\n , width = 400\n , height = 32\n , container = null\n , dispatch = d3.dispatch('renderEnd')\n , color = nv.utils.getColor(['#000'])\n , tooltip = nv.models.tooltip()\n , noData = null\n // Force directed graph specific parameters [default values]\n , linkStrength = 0.1\n , friction = 0.9\n , linkDist = 30\n , charge = -120\n , gravity = 0.1\n , theta = 0.8\n , alpha = 0.1\n , radius = 5\n // These functions allow to add extra attributes to ndes and links\n ,nodeExtras = function(nodes) { /* Do nothing */ }\n ,linkExtras = function(links) { /* Do nothing */ }\n ;\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n function chart(selection) {\n renderWatch.reset();\n\n selection.each(function(data) {\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n container\n .attr(\"width\", availableWidth)\n .attr(\"height\", availableHeight);\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.links || !data.nodes) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n container.selectAll('*').remove();\n\n // Collect names of all fields in the nodes\n var nodeFieldSet = new Set();\n data.nodes.forEach(function(node) {\n var keys = Object.keys(node);\n keys.forEach(function(key) {\n nodeFieldSet.add(key);\n });\n });\n\n var force = d3.layout.force()\n .nodes(data.nodes)\n .links(data.links)\n .size([availableWidth, availableHeight])\n .linkStrength(linkStrength)\n .friction(friction)\n .linkDistance(linkDist)\n .charge(charge)\n .gravity(gravity)\n .theta(theta)\n .alpha(alpha)\n .start();\n\n var link = container.selectAll(\".link\")\n .data(data.links)\n .enter().append(\"line\")\n .attr(\"class\", \"nv-force-link\")\n .style(\"stroke-width\", function(d) { return Math.sqrt(d.value); });\n\n var node = container.selectAll(\".node\")\n .data(data.nodes)\n .enter()\n .append(\"g\")\n .attr(\"class\", \"nv-force-node\")\n .call(force.drag);\n\n node\n .append(\"circle\")\n .attr(\"r\", radius)\n .style(\"fill\", function(d) { return color(d) } )\n .on(\"mouseover\", function(evt) {\n container.select('.nv-series-' + evt.seriesIndex + ' .nv-distx-' + evt.pointIndex)\n .attr('y1', evt.py);\n container.select('.nv-series-' + evt.seriesIndex + ' .nv-disty-' + evt.pointIndex)\n .attr('x2', evt.px);\n\n // Add 'series' object to\n var nodeColor = color(evt);\n evt.series = [];\n nodeFieldSet.forEach(function(field) {\n evt.series.push({\n color: nodeColor,\n key: field,\n value: evt[field]\n });\n });\n tooltip.data(evt).hidden(false);\n })\n .on(\"mouseout\", function(d) {\n tooltip.hidden(true);\n });\n\n tooltip.headerFormatter(function(d) {return \"Node\";});\n\n // Apply extra attributes to nodes and links (if any)\n linkExtras(link);\n nodeExtras(node);\n\n force.on(\"tick\", function() {\n link.attr(\"x1\", function(d) { return d.source.x; })\n .attr(\"y1\", function(d) { return d.source.y; })\n .attr(\"x2\", function(d) { return d.target.x; })\n .attr(\"y2\", function(d) { return d.target.y; });\n\n node.attr(\"transform\", function(d) {\n return \"translate(\" + d.x + \", \" + d.y + \")\";\n });\n });\n });\n\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n\n // Force directed graph specific parameters\n linkStrength:{get: function(){return linkStrength;}, set: function(_){linkStrength=_;}},\n friction: {get: function(){return friction;}, set: function(_){friction=_;}},\n linkDist: {get: function(){return linkDist;}, set: function(_){linkDist=_;}},\n charge: {get: function(){return charge;}, set: function(_){charge=_;}},\n gravity: {get: function(){return gravity;}, set: function(_){gravity=_;}},\n theta: {get: function(){return theta;}, set: function(_){theta=_;}},\n alpha: {get: function(){return alpha;}, set: function(_){alpha=_;}},\n radius: {get: function(){return radius;}, set: function(_){radius=_;}},\n\n //functor options\n x: {get: function(){return getX;}, set: function(_){getX=d3.functor(_);}},\n y: {get: function(){return getY;}, set: function(_){getY=d3.functor(_);}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n nodeExtras: {get: function(){return nodeExtras;}, set: function(_){\n nodeExtras = _;\n }},\n linkExtras: {get: function(){return linkExtras;}, set: function(_){\n linkExtras = _;\n }}\n });\n\n chart.dispatch = dispatch;\n chart.tooltip = tooltip;\n nv.utils.initOptions(chart);\n return chart;\n};\nnv.models.furiousLegend = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 5, right: 0, bottom: 5, left: 0}\n , width = 400\n , height = 20\n , getKey = function(d) { return d.key }\n , keyFormatter = function (d) { return d }\n , color = nv.utils.getColor()\n , maxKeyLength = 20 //default value for key lengths\n , align = true\n , padding = 28 //define how much space between legend items. - recommend 32 for furious version\n , rightAlign = true\n , updateState = true //If true, legend will update data.disabled and trigger a 'stateChange' dispatch.\n , radioButtonMode = false //If true, clicking legend items will cause it to behave like a radio button. (only one can be selected at a time)\n , expanded = false\n , dispatch = d3.dispatch('legendClick', 'legendDblclick', 'legendMouseover', 'legendMouseout', 'stateChange')\n , vers = 'classic' //Options are \"classic\" and \"furious\"\n ;\n\n function chart(selection) {\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-legend').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-legend').append('g');\n var g = wrap.select('g');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var series = g.selectAll('.nv-series')\n .data(function(d) {\n if(vers != 'furious') return d;\n\n return d.filter(function(n) {\n return expanded ? true : !n.disengaged;\n });\n });\n var seriesEnter = series.enter().append('g').attr('class', 'nv-series')\n\n var seriesShape;\n\n if(vers == 'classic') {\n seriesEnter.append('circle')\n .style('stroke-width', 2)\n .attr('class','nv-legend-symbol')\n .attr('r', 5);\n\n seriesShape = series.select('circle');\n } else if (vers == 'furious') {\n seriesEnter.append('rect')\n .style('stroke-width', 2)\n .attr('class','nv-legend-symbol')\n .attr('rx', 3)\n .attr('ry', 3);\n\n seriesShape = series.select('rect');\n\n seriesEnter.append('g')\n .attr('class', 'nv-check-box')\n .property('innerHTML','')\n .attr('transform', 'translate(-10,-8)scale(0.5)');\n\n var seriesCheckbox = series.select('.nv-check-box');\n\n seriesCheckbox.each(function(d,i) {\n d3.select(this).selectAll('path')\n .attr('stroke', setTextColor(d,i));\n });\n }\n\n seriesEnter.append('text')\n .attr('text-anchor', 'start')\n .attr('class','nv-legend-text')\n .attr('dy', '.32em')\n .attr('dx', '8');\n\n var seriesText = series.select('text.nv-legend-text');\n\n series\n .on('mouseover', function(d,i) {\n dispatch.legendMouseover(d,i); //TODO: Make consistent with other event objects\n })\n .on('mouseout', function(d,i) {\n dispatch.legendMouseout(d,i);\n })\n .on('click', function(d,i) {\n dispatch.legendClick(d,i);\n // make sure we re-get data in case it was modified\n var data = series.data();\n if (updateState) {\n if(vers =='classic') {\n if (radioButtonMode) {\n //Radio button mode: set every series to disabled,\n // and enable the clicked series.\n data.forEach(function(series) { series.disabled = true});\n d.disabled = false;\n }\n else {\n d.disabled = !d.disabled;\n if (data.every(function(series) { return series.disabled})) {\n //the default behavior of NVD3 legends is, if every single series\n // is disabled, turn all series' back on.\n data.forEach(function(series) { series.disabled = false});\n }\n }\n } else if(vers == 'furious') {\n if(expanded) {\n d.disengaged = !d.disengaged;\n d.userDisabled = d.userDisabled == undefined ? !!d.disabled : d.userDisabled;\n d.disabled = d.disengaged || d.userDisabled;\n } else if (!expanded) {\n d.disabled = !d.disabled;\n d.userDisabled = d.disabled;\n var engaged = data.filter(function(d) { return !d.disengaged; });\n if (engaged.every(function(series) { return series.userDisabled })) {\n //the default behavior of NVD3 legends is, if every single series\n // is disabled, turn all series' back on.\n data.forEach(function(series) {\n series.disabled = series.userDisabled = false;\n });\n }\n }\n }\n dispatch.stateChange({\n disabled: data.map(function(d) { return !!d.disabled }),\n disengaged: data.map(function(d) { return !!d.disengaged })\n });\n\n }\n })\n .on('dblclick', function(d,i) {\n if(vers == 'furious' && expanded) return;\n dispatch.legendDblclick(d,i);\n if (updateState) {\n // make sure we re-get data in case it was modified\n var data = series.data();\n //the default behavior of NVD3 legends, when double clicking one,\n // is to set all other series' to false, and make the double clicked series enabled.\n data.forEach(function(series) {\n series.disabled = true;\n if(vers == 'furious') series.userDisabled = series.disabled;\n });\n d.disabled = false;\n if(vers == 'furious') d.userDisabled = d.disabled;\n dispatch.stateChange({\n disabled: data.map(function(d) { return !!d.disabled })\n });\n }\n });\n\n series.classed('nv-disabled', function(d) { return d.userDisabled });\n series.exit().remove();\n\n seriesText\n .attr('fill', setTextColor)\n .text(function (d) { return keyFormatter(getKey(d)) });\n\n //TODO: implement fixed-width and max-width options (max-width is especially useful with the align option)\n // NEW ALIGNING CODE, TODO: clean up\n\n var versPadding;\n switch(vers) {\n case 'furious' :\n versPadding = 23;\n break;\n case 'classic' :\n versPadding = 20;\n }\n\n if (align) {\n\n var seriesWidths = [];\n series.each(function(d,i) {\n var legendText;\n if (keyFormatter(getKey(d)) && keyFormatter(getKey(d)).length > maxKeyLength) {\n var trimmedKey = keyFormatter(getKey(d)).substring(0, maxKeyLength);\n legendText = d3.select(this).select('text').text(trimmedKey + \"...\");\n d3.select(this).append(\"svg:title\").text(keyFormatter(getKey(d)));\n } else {\n legendText = d3.select(this).select('text');\n }\n var nodeTextLength;\n try {\n nodeTextLength = legendText.node().getComputedTextLength();\n // If the legendText is display:none'd (nodeTextLength == 0), simulate an error so we approximate, instead\n if(nodeTextLength <= 0) throw Error();\n }\n catch(e) {\n nodeTextLength = nv.utils.calcApproxTextWidth(legendText);\n }\n\n seriesWidths.push(nodeTextLength + padding);\n });\n\n var seriesPerRow = 0;\n var legendWidth = 0;\n var columnWidths = [];\n\n while ( legendWidth < availableWidth && seriesPerRow < seriesWidths.length) {\n columnWidths[seriesPerRow] = seriesWidths[seriesPerRow];\n legendWidth += seriesWidths[seriesPerRow++];\n }\n if (seriesPerRow === 0) seriesPerRow = 1; //minimum of one series per row\n\n while ( legendWidth > availableWidth && seriesPerRow > 1 ) {\n columnWidths = [];\n seriesPerRow--;\n\n for (var k = 0; k < seriesWidths.length; k++) {\n if (seriesWidths[k] > (columnWidths[k % seriesPerRow] || 0) )\n columnWidths[k % seriesPerRow] = seriesWidths[k];\n }\n\n legendWidth = columnWidths.reduce(function(prev, cur, index, array) {\n return prev + cur;\n });\n }\n\n var xPositions = [];\n for (var i = 0, curX = 0; i < seriesPerRow; i++) {\n xPositions[i] = curX;\n curX += columnWidths[i];\n }\n\n series\n .attr('transform', function(d, i) {\n return 'translate(' + xPositions[i % seriesPerRow] + ',' + (5 + Math.floor(i / seriesPerRow) * versPadding) + ')';\n });\n\n //position legend as far right as possible within the total width\n if (rightAlign) {\n g.attr('transform', 'translate(' + (width - margin.right - legendWidth) + ',' + margin.top + ')');\n }\n else {\n g.attr('transform', 'translate(0' + ',' + margin.top + ')');\n }\n\n height = margin.top + margin.bottom + (Math.ceil(seriesWidths.length / seriesPerRow) * versPadding);\n\n } else {\n\n var ypos = 5,\n newxpos = 5,\n maxwidth = 0,\n xpos;\n series\n .attr('transform', function(d, i) {\n var length = d3.select(this).select('text').node().getComputedTextLength() + padding;\n xpos = newxpos;\n\n if (width < margin.left + margin.right + xpos + length) {\n newxpos = xpos = 5;\n ypos += versPadding;\n }\n\n newxpos += length;\n if (newxpos > maxwidth) maxwidth = newxpos;\n\n return 'translate(' + xpos + ',' + ypos + ')';\n });\n\n //position legend as far right as possible within the total width\n g.attr('transform', 'translate(' + (width - margin.right - maxwidth) + ',' + margin.top + ')');\n\n height = margin.top + margin.bottom + ypos + 15;\n }\n\n if(vers == 'furious') {\n // Size rectangles after text is placed\n seriesShape\n .attr('width', function(d,i) {\n return seriesText[0][i].getComputedTextLength() + 27;\n })\n .attr('height', 18)\n .attr('y', -9)\n .attr('x', -15)\n }\n\n seriesShape\n .style('fill', setBGColor)\n .style('stroke', function(d,i) { return d.color || color(d, i) });\n });\n\n function setTextColor(d,i) {\n if(vers != 'furious') return '#000';\n if(expanded) {\n return d.disengaged ? color(d,i) : '#fff';\n } else if (!expanded) {\n return !!d.disabled ? color(d,i) : '#fff';\n }\n }\n\n function setBGColor(d,i) {\n if(expanded && vers == 'furious') {\n return d.disengaged ? '#fff' : color(d,i);\n } else {\n return !!d.disabled ? '#fff' : color(d,i);\n }\n }\n\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n key: {get: function(){return getKey;}, set: function(_){getKey=_;}},\n keyFormatter: {get: function(){return keyFormatter;}, set: function(_){keyFormatter=_;}},\n align: {get: function(){return align;}, set: function(_){align=_;}},\n rightAlign: {get: function(){return rightAlign;}, set: function(_){rightAlign=_;}},\n maxKeyLength: {get: function(){return maxKeyLength;}, set: function(_){maxKeyLength=_;}},\n padding: {get: function(){return padding;}, set: function(_){padding=_;}},\n updateState: {get: function(){return updateState;}, set: function(_){updateState=_;}},\n radioButtonMode:{get: function(){return radioButtonMode;}, set: function(_){radioButtonMode=_;}},\n expanded: {get: function(){return expanded;}, set: function(_){expanded=_;}},\n vers: {get: function(){return vers;}, set: function(_){vers=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n//TODO: consider deprecating and using multibar with single series for this\nnv.models.historicalBar = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = null\n , height = null\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container = null\n , x = d3.scale.linear()\n , y = d3.scale.linear()\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , forceX = []\n , forceY = [0]\n , padData = false\n , clipEdge = true\n , color = nv.utils.defaultColor()\n , xDomain\n , yDomain\n , xRange\n , yRange\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd')\n , interactive = true\n ;\n\n var renderWatch = nv.utils.renderWatch(dispatch, 0);\n\n function chart(selection) {\n selection.each(function(data) {\n renderWatch.reset();\n\n container = d3.select(this);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n nv.utils.initSVG(container);\n\n // Setup Scales\n x.domain(xDomain || d3.extent(data[0].values.map(getX).concat(forceX) ));\n\n if (padData)\n x.range(xRange || [availableWidth * .5 / data[0].values.length, availableWidth * (data[0].values.length - .5) / data[0].values.length ]);\n else\n x.range(xRange || [0, availableWidth]);\n\n y.domain(yDomain || d3.extent(data[0].values.map(getY).concat(forceY) ))\n .range(yRange || [availableHeight, 0]);\n\n // If scale's domain don't have a range, slightly adjust to make one... so a chart can show a single data point\n if (x.domain()[0] === x.domain()[1])\n x.domain()[0] ?\n x.domain([x.domain()[0] - x.domain()[0] * 0.01, x.domain()[1] + x.domain()[1] * 0.01])\n : x.domain([-1,1]);\n\n if (y.domain()[0] === y.domain()[1])\n y.domain()[0] ?\n y.domain([y.domain()[0] + y.domain()[0] * 0.01, y.domain()[1] - y.domain()[1] * 0.01])\n : y.domain([-1,1]);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-historicalBar-' + id).data([data[0].values]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-historicalBar-' + id);\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-bars');\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n container\n .on('click', function(d,i) {\n dispatch.chartClick({\n data: d,\n index: i,\n pos: d3.event,\n id: id\n });\n });\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-chart-clip-path-' + id)\n .append('rect');\n\n wrap.select('#nv-chart-clip-path-' + id + ' rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n g.attr('clip-path', clipEdge ? 'url(#nv-chart-clip-path-' + id + ')' : '');\n\n var bars = wrap.select('.nv-bars').selectAll('.nv-bar')\n .data(function(d) { return d }, function(d,i) {return getX(d,i)});\n bars.exit().remove();\n\n bars.enter().append('rect')\n .attr('x', 0 )\n .attr('y', function(d,i) { return nv.utils.NaNtoZero(y(Math.max(0, getY(d,i)))) })\n .attr('height', function(d,i) { return nv.utils.NaNtoZero(Math.abs(y(getY(d,i)) - y(0))) })\n .attr('transform', function(d,i) { return 'translate(' + (x(getX(d,i)) - availableWidth / data[0].values.length * .45) + ',0)'; })\n .on('mouseover', function(d,i) {\n if (!interactive) return;\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n\n })\n .on('mouseout', function(d,i) {\n if (!interactive) return;\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mousemove', function(d,i) {\n if (!interactive) return;\n dispatch.elementMousemove({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('click', function(d,i) {\n if (!interactive) return;\n dispatch.elementClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n d3.event.stopPropagation();\n })\n .on('dblclick', function(d,i) {\n if (!interactive) return;\n dispatch.elementDblClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n d3.event.stopPropagation();\n });\n\n bars\n .attr('fill', function(d,i) { return color(d, i); })\n .attr('class', function(d,i,j) { return (getY(d,i) < 0 ? 'nv-bar negative' : 'nv-bar positive') + ' nv-bar-' + j + '-' + i })\n .watchTransition(renderWatch, 'bars')\n .attr('transform', function(d,i) { return 'translate(' + (x(getX(d,i)) - availableWidth / data[0].values.length * .45) + ',0)'; })\n //TODO: better width calculations that don't assume always uniform data spacing;w\n .attr('width', (availableWidth / data[0].values.length) * .9 );\n\n bars.watchTransition(renderWatch, 'bars')\n .attr('y', function(d,i) {\n var rval = getY(d,i) < 0 ?\n y(0) :\n y(0) - y(getY(d,i)) < 1 ?\n y(0) - 1 :\n y(getY(d,i));\n return nv.utils.NaNtoZero(rval);\n })\n .attr('height', function(d,i) { return nv.utils.NaNtoZero(Math.max(Math.abs(y(getY(d,i)) - y(0)),1)) });\n\n });\n\n renderWatch.renderEnd('historicalBar immediate');\n return chart;\n }\n\n //Create methods to allow outside functions to highlight a specific bar.\n chart.highlightPoint = function(pointIndex, isHoverOver) {\n container\n .select(\".nv-bars .nv-bar-0-\" + pointIndex)\n .classed(\"hover\", isHoverOver)\n ;\n };\n\n chart.clearHighlights = function() {\n container\n .select(\".nv-bars .nv-bar.hover\")\n .classed(\"hover\", false)\n ;\n };\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n forceX: {get: function(){return forceX;}, set: function(_){forceX=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n padData: {get: function(){return padData;}, set: function(_){padData=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n interactive: {get: function(){return interactive;}, set: function(_){interactive=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.historicalBarChart = function(bar_model) {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var bars = bar_model || nv.models.historicalBar()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , legend = nv.models.legend()\n , interactiveLayer = nv.interactiveGuideline()\n , tooltip = nv.models.tooltip()\n ;\n\n\n var margin = {top: 30, right: 90, bottom: 50, left: 90}\n , color = nv.utils.defaultColor()\n , width = null\n , height = null\n , showLegend = false\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , useInteractiveGuideline = false\n , x\n , y\n , state = {}\n , defaultState = null\n , noData = null\n , dispatch = d3.dispatch('tooltipHide', 'stateChange', 'changeState', 'renderEnd')\n , transitionDuration = 250\n ;\n\n xAxis.orient('bottom').tickPadding(7);\n yAxis.orient( (rightAlignYAxis) ? 'right' : 'left');\n tooltip\n .duration(0)\n .headerEnabled(false)\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n })\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch, 0);\n\n function chart(selection) {\n selection.each(function(data) {\n renderWatch.reset();\n renderWatch.models(bars);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() { container.transition().duration(transitionDuration).call(chart) };\n chart.container = this;\n\n //set state.disabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display noData message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = bars.xScale();\n y = bars.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-historicalBarChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-historicalBarChart').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis');\n gEnter.append('g').attr('class', 'nv-barsWrap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n gEnter.append('g').attr('class', 'nv-interactive');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth);\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (legend.height() > margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + (-margin.top) +')')\n }\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n //Set up interactive layer\n if (useInteractiveGuideline) {\n interactiveLayer\n .width(availableWidth)\n .height(availableHeight)\n .margin({left:margin.left, top:margin.top})\n .svgContainer(container)\n .xScale(x);\n wrap.select(\".nv-interactive\").call(interactiveLayer);\n }\n bars\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled }));\n\n var barsWrap = g.select('.nv-barsWrap')\n .datum(data.filter(function(d) { return !d.disabled }));\n barsWrap.transition().call(bars);\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y.range()[0] + ')');\n g.select('.nv-x.nv-axis')\n .transition()\n .call(xAxis);\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis')\n .transition()\n .call(yAxis);\n }\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n interactiveLayer.dispatch.on('elementMousemove', function(e) {\n bars.clearHighlights();\n\n var singlePoint, pointIndex, pointXLocation, allData = [];\n data\n .filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled;\n })\n .forEach(function(series,i) {\n pointIndex = nv.interactiveBisect(series.values, e.pointXValue, chart.x());\n bars.highlightPoint(pointIndex,true);\n var point = series.values[pointIndex];\n if (point === undefined) return;\n if (singlePoint === undefined) singlePoint = point;\n if (pointXLocation === undefined) pointXLocation = chart.xScale()(chart.x()(point,pointIndex));\n allData.push({\n key: series.key,\n value: chart.y()(point, pointIndex),\n color: color(series,series.seriesIndex),\n data: series.values[pointIndex]\n });\n });\n\n var xValue = xAxis.tickFormat()(chart.x()(singlePoint,pointIndex));\n interactiveLayer.tooltip\n .valueFormatter(function(d,i) {\n return yAxis.tickFormat()(d);\n })\n .data({\n value: xValue,\n index: pointIndex,\n series: allData\n })();\n\n interactiveLayer.renderGuideLine(pointXLocation);\n\n });\n\n interactiveLayer.dispatch.on(\"elementMouseout\",function(e) {\n dispatch.tooltipHide();\n bars.clearHighlights();\n });\n\n legend.dispatch.on('legendClick', function(d,i) {\n d.disabled = !d.disabled;\n\n if (!data.filter(function(d) { return !d.disabled }).length) {\n data.map(function(d) {\n d.disabled = false;\n wrap.selectAll('.nv-series').classed('disabled', false);\n return d;\n });\n }\n\n state.disabled = data.map(function(d) { return !!d.disabled });\n dispatch.stateChange(state);\n\n selection.transition().call(chart);\n });\n\n legend.dispatch.on('legendDblclick', function(d) {\n //Double clicking should always enable current series, and disabled all others.\n data.forEach(function(d) {\n d.disabled = true;\n });\n d.disabled = false;\n\n state.disabled = data.map(function(d) { return !!d.disabled });\n dispatch.stateChange(state);\n chart.update();\n });\n\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n\n state.disabled = e.disabled;\n }\n\n chart.update();\n });\n });\n\n renderWatch.renderEnd('historicalBarChart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n bars.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt['series'] = {\n key: chart.x()(evt.data),\n value: chart.y()(evt.data),\n color: evt.color\n };\n tooltip.data(evt).hidden(false);\n });\n\n bars.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n bars.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.bars = bars;\n chart.legend = legend;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.interactiveLayer = interactiveLayer;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n bars.color(color);\n }},\n duration: {get: function(){return transitionDuration;}, set: function(_){\n transitionDuration=_;\n renderWatch.reset(transitionDuration);\n yAxis.duration(transitionDuration);\n xAxis.duration(transitionDuration);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( (_) ? 'right' : 'left');\n }},\n useInteractiveGuideline: {get: function(){return useInteractiveGuideline;}, set: function(_){\n useInteractiveGuideline = _;\n if (_ === true) {\n chart.interactive(false);\n }\n }}\n });\n\n nv.utils.inheritOptions(chart, bars);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\n\n// ohlcChart is just a historical chart with ohlc bars and some tweaks\nnv.models.ohlcBarChart = function() {\n var chart = nv.models.historicalBarChart(nv.models.ohlcBar());\n\n // special default tooltip since we show multiple values per x\n chart.useInteractiveGuideline(true);\n chart.interactiveLayer.tooltip.contentGenerator(function(data) {\n // we assume only one series exists for this chart\n var d = data.series[0].data;\n // match line colors as defined in nv.d3.css\n var color = d.open < d.close ? \"2ca02c\" : \"d62728\";\n return '' +\n '

' + data.value + '

' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '
open:' + chart.yAxis.tickFormat()(d.open) + '
close:' + chart.yAxis.tickFormat()(d.close) + '
high' + chart.yAxis.tickFormat()(d.high) + '
low:' + chart.yAxis.tickFormat()(d.low) + '
';\n });\n return chart;\n};\n\n// candlestickChart is just a historical chart with candlestick bars and some tweaks\nnv.models.candlestickBarChart = function() {\n var chart = nv.models.historicalBarChart(nv.models.candlestickBar());\n\n // special default tooltip since we show multiple values per x\n chart.useInteractiveGuideline(true);\n chart.interactiveLayer.tooltip.contentGenerator(function(data) {\n // we assume only one series exists for this chart\n var d = data.series[0].data;\n // match line colors as defined in nv.d3.css\n var color = d.open < d.close ? \"2ca02c\" : \"d62728\";\n return '' +\n '

' + data.value + '

' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '
open:' + chart.yAxis.tickFormat()(d.open) + '
close:' + chart.yAxis.tickFormat()(d.close) + '
high' + chart.yAxis.tickFormat()(d.high) + '
low:' + chart.yAxis.tickFormat()(d.low) + '
';\n });\n return chart;\n};\nnv.models.legend = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 5, right: 0, bottom: 5, left: 0}\n , width = 400\n , height = 20\n , getKey = function(d) { return d.key }\n , keyFormatter = function (d) { return d }\n , color = nv.utils.getColor()\n , maxKeyLength = 20 //default value for key lengths\n , align = true\n , padding = 32 //define how much space between legend items. - recommend 32 for furious version\n , rightAlign = true\n , updateState = true //If true, legend will update data.disabled and trigger a 'stateChange' dispatch.\n , radioButtonMode = false //If true, clicking legend items will cause it to behave like a radio button. (only one can be selected at a time)\n , expanded = false\n , dispatch = d3.dispatch('legendClick', 'legendDblclick', 'legendMouseover', 'legendMouseout', 'stateChange')\n , vers = 'classic' //Options are \"classic\" and \"furious\"\n ;\n\n function chart(selection) {\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-legend').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-legend').append('g');\n var g = wrap.select('g');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var series = g.selectAll('.nv-series')\n .data(function(d) {\n if(vers != 'furious') return d;\n\n return d.filter(function(n) {\n return expanded ? true : !n.disengaged;\n });\n });\n\n var seriesEnter = series.enter().append('g').attr('class', 'nv-series');\n var seriesShape;\n\n var versPadding;\n switch(vers) {\n case 'furious' :\n versPadding = 23;\n break;\n case 'classic' :\n versPadding = 20;\n }\n\n if(vers == 'classic') {\n seriesEnter.append('circle')\n .style('stroke-width', 2)\n .attr('class','nv-legend-symbol')\n .attr('r', 5);\n\n seriesShape = series.select('.nv-legend-symbol');\n } else if (vers == 'furious') {\n seriesEnter.append('rect')\n .style('stroke-width', 2)\n .attr('class','nv-legend-symbol')\n .attr('rx', 3)\n .attr('ry', 3);\n seriesShape = series.select('.nv-legend-symbol');\n\n seriesEnter.append('g')\n .attr('class', 'nv-check-box')\n .property('innerHTML','')\n .attr('transform', 'translate(-10,-8)scale(0.5)');\n\n var seriesCheckbox = series.select('.nv-check-box');\n\n seriesCheckbox.each(function(d,i) {\n d3.select(this).selectAll('path')\n .attr('stroke', setTextColor(d,i));\n });\n }\n\n seriesEnter.append('text')\n .attr('text-anchor', 'start')\n .attr('class','nv-legend-text')\n .attr('dy', '.32em')\n .attr('dx', '8');\n\n var seriesText = series.select('text.nv-legend-text');\n\n series\n .on('mouseover', function(d,i) {\n dispatch.legendMouseover(d,i); //TODO: Make consistent with other event objects\n })\n .on('mouseout', function(d,i) {\n dispatch.legendMouseout(d,i);\n })\n .on('click', function(d,i) {\n dispatch.legendClick(d,i);\n // make sure we re-get data in case it was modified\n var data = series.data();\n if (updateState) {\n if(vers =='classic') {\n if (radioButtonMode) {\n //Radio button mode: set every series to disabled,\n // and enable the clicked series.\n data.forEach(function(series) { series.disabled = true});\n d.disabled = false;\n }\n else {\n d.disabled = !d.disabled;\n if (data.every(function(series) { return series.disabled})) {\n //the default behavior of NVD3 legends is, if every single series\n // is disabled, turn all series' back on.\n data.forEach(function(series) { series.disabled = false});\n }\n }\n } else if(vers == 'furious') {\n if(expanded) {\n d.disengaged = !d.disengaged;\n d.userDisabled = d.userDisabled == undefined ? !!d.disabled : d.userDisabled;\n d.disabled = d.disengaged || d.userDisabled;\n } else if (!expanded) {\n d.disabled = !d.disabled;\n d.userDisabled = d.disabled;\n var engaged = data.filter(function(d) { return !d.disengaged; });\n if (engaged.every(function(series) { return series.userDisabled })) {\n //the default behavior of NVD3 legends is, if every single series\n // is disabled, turn all series' back on.\n data.forEach(function(series) {\n series.disabled = series.userDisabled = false;\n });\n }\n }\n }\n dispatch.stateChange({\n disabled: data.map(function(d) { return !!d.disabled }),\n disengaged: data.map(function(d) { return !!d.disengaged })\n });\n\n }\n })\n .on('dblclick', function(d,i) {\n if(vers == 'furious' && expanded) return;\n dispatch.legendDblclick(d,i);\n if (updateState) {\n // make sure we re-get data in case it was modified\n var data = series.data();\n //the default behavior of NVD3 legends, when double clicking one,\n // is to set all other series' to false, and make the double clicked series enabled.\n data.forEach(function(series) {\n series.disabled = true;\n if(vers == 'furious') series.userDisabled = series.disabled;\n });\n d.disabled = false;\n if(vers == 'furious') d.userDisabled = d.disabled;\n dispatch.stateChange({\n disabled: data.map(function(d) { return !!d.disabled })\n });\n }\n });\n\n series.classed('nv-disabled', function(d) { return d.userDisabled });\n series.exit().remove();\n\n seriesText\n .attr('fill', setTextColor)\n .text(function (d) { return keyFormatter(getKey(d)) });\n\n //TODO: implement fixed-width and max-width options (max-width is especially useful with the align option)\n // NEW ALIGNING CODE, TODO: clean up\n var legendWidth = 0;\n if (align) {\n\n var seriesWidths = [];\n series.each(function(d,i) {\n var legendText;\n if (keyFormatter(getKey(d)) && keyFormatter(getKey(d)).length > maxKeyLength) {\n var trimmedKey = keyFormatter(getKey(d)).substring(0, maxKeyLength);\n legendText = d3.select(this).select('text').text(trimmedKey + \"...\");\n d3.select(this).append(\"svg:title\").text(keyFormatter(getKey(d)));\n } else {\n legendText = d3.select(this).select('text');\n }\n var nodeTextLength;\n try {\n nodeTextLength = legendText.node().getComputedTextLength();\n // If the legendText is display:none'd (nodeTextLength == 0), simulate an error so we approximate, instead\n if(nodeTextLength <= 0) throw Error();\n }\n catch(e) {\n nodeTextLength = nv.utils.calcApproxTextWidth(legendText);\n }\n\n seriesWidths.push(nodeTextLength + padding);\n });\n\n var seriesPerRow = 0;\n var columnWidths = [];\n legendWidth = 0;\n\n while ( legendWidth < availableWidth && seriesPerRow < seriesWidths.length) {\n columnWidths[seriesPerRow] = seriesWidths[seriesPerRow];\n legendWidth += seriesWidths[seriesPerRow++];\n }\n if (seriesPerRow === 0) seriesPerRow = 1; //minimum of one series per row\n\n while ( legendWidth > availableWidth && seriesPerRow > 1 ) {\n columnWidths = [];\n seriesPerRow--;\n\n for (var k = 0; k < seriesWidths.length; k++) {\n if (seriesWidths[k] > (columnWidths[k % seriesPerRow] || 0) )\n columnWidths[k % seriesPerRow] = seriesWidths[k];\n }\n\n legendWidth = columnWidths.reduce(function(prev, cur, index, array) {\n return prev + cur;\n });\n }\n\n var xPositions = [];\n for (var i = 0, curX = 0; i < seriesPerRow; i++) {\n xPositions[i] = curX;\n curX += columnWidths[i];\n }\n\n series\n .attr('transform', function(d, i) {\n return 'translate(' + xPositions[i % seriesPerRow] + ',' + (5 + Math.floor(i / seriesPerRow) * versPadding) + ')';\n });\n\n //position legend as far right as possible within the total width\n if (rightAlign) {\n g.attr('transform', 'translate(' + (width - margin.right - legendWidth) + ',' + margin.top + ')');\n }\n else {\n g.attr('transform', 'translate(0' + ',' + margin.top + ')');\n }\n\n height = margin.top + margin.bottom + (Math.ceil(seriesWidths.length / seriesPerRow) * versPadding);\n\n } else {\n\n var ypos = 5,\n newxpos = 5,\n maxwidth = 0,\n xpos;\n series\n .attr('transform', function(d, i) {\n var length = d3.select(this).select('text').node().getComputedTextLength() + padding;\n xpos = newxpos;\n\n if (width < margin.left + margin.right + xpos + length) {\n newxpos = xpos = 5;\n ypos += versPadding;\n }\n\n newxpos += length;\n if (newxpos > maxwidth) maxwidth = newxpos;\n\n if(legendWidth < xpos + maxwidth) {\n legendWidth = xpos + maxwidth;\n }\n return 'translate(' + xpos + ',' + ypos + ')';\n });\n\n //position legend as far right as possible within the total width\n g.attr('transform', 'translate(' + (width - margin.right - maxwidth) + ',' + margin.top + ')');\n\n height = margin.top + margin.bottom + ypos + 15;\n }\n\n if(vers == 'furious') {\n // Size rectangles after text is placed\n seriesShape\n .attr('width', function(d,i) {\n return seriesText[0][i].getComputedTextLength() + 27;\n })\n .attr('height', 18)\n .attr('y', -9)\n .attr('x', -15);\n\n // The background for the expanded legend (UI)\n gEnter.insert('rect',':first-child')\n .attr('class', 'nv-legend-bg')\n .attr('fill', '#eee')\n // .attr('stroke', '#444')\n .attr('opacity',0);\n\n var seriesBG = g.select('.nv-legend-bg');\n\n seriesBG\n .transition().duration(300)\n .attr('x', -versPadding )\n .attr('width', legendWidth + versPadding - 12)\n .attr('height', height + 10)\n .attr('y', -margin.top - 10)\n .attr('opacity', expanded ? 1 : 0);\n\n\n }\n\n seriesShape\n .style('fill', setBGColor)\n .style('fill-opacity', setBGOpacity)\n .style('stroke', setBGColor);\n });\n\n function setTextColor(d,i) {\n if(vers != 'furious') return '#000';\n if(expanded) {\n return d.disengaged ? '#000' : '#fff';\n } else if (!expanded) {\n if(!d.color) d.color = color(d,i);\n return !!d.disabled ? d.color : '#fff';\n }\n }\n\n function setBGColor(d,i) {\n if(expanded && vers == 'furious') {\n return d.disengaged ? '#eee' : d.color || color(d,i);\n } else {\n return d.color || color(d,i);\n }\n }\n\n\n function setBGOpacity(d,i) {\n if(expanded && vers == 'furious') {\n return 1;\n } else {\n return !!d.disabled ? 0 : 1;\n }\n }\n\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n key: {get: function(){return getKey;}, set: function(_){getKey=_;}},\n keyFormatter: {get: function(){return keyFormatter;}, set: function(_){keyFormatter=_;}},\n align: {get: function(){return align;}, set: function(_){align=_;}},\n maxKeyLength: {get: function(){return maxKeyLength;}, set: function(_){maxKeyLength=_;}},\n rightAlign: {get: function(){return rightAlign;}, set: function(_){rightAlign=_;}},\n padding: {get: function(){return padding;}, set: function(_){padding=_;}},\n updateState: {get: function(){return updateState;}, set: function(_){updateState=_;}},\n radioButtonMode:{get: function(){return radioButtonMode;}, set: function(_){radioButtonMode=_;}},\n expanded: {get: function(){return expanded;}, set: function(_){expanded=_;}},\n vers: {get: function(){return vers;}, set: function(_){vers=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.line = function() {\n \"use strict\";\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var scatter = nv.models.scatter()\n ;\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 960\n , height = 500\n , container = null\n , strokeWidth = 1.5\n , color = nv.utils.defaultColor() // a function that returns a color\n , getX = function(d) { return d.x } // accessor to get the x value from a data point\n , getY = function(d) { return d.y } // accessor to get the y value from a data point\n , defined = function(d,i) { return !isNaN(getY(d,i)) && getY(d,i) !== null } // allows a line to be not continuous when it is not defined\n , isArea = function(d) { return d.area } // decides if a line is an area or just a line\n , clipEdge = false // if true, masks lines within x and y scale\n , x //can be accessed via chart.xScale()\n , y //can be accessed via chart.yScale()\n , interpolate = \"linear\" // controls the line interpolation\n , duration = 250\n , dispatch = d3.dispatch('elementClick', 'elementMouseover', 'elementMouseout', 'renderEnd')\n ;\n\n scatter\n .pointSize(16) // default size\n .pointDomain([16,256]) //set to speed up calculation, needs to be unset if there is a custom size accessor\n ;\n\n //============================================================\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x0, y0 //used to store previous scales\n , renderWatch = nv.utils.renderWatch(dispatch, duration)\n ;\n\n //============================================================\n\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(scatter);\n selection.each(function(data) {\n container = d3.select(this);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n nv.utils.initSVG(container);\n\n // Setup Scales\n x = scatter.xScale();\n y = scatter.yScale();\n\n x0 = x0 || x;\n y0 = y0 || y;\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-line').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-line');\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-groups');\n gEnter.append('g').attr('class', 'nv-scatterWrap');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n scatter\n .width(availableWidth)\n .height(availableHeight);\n\n var scatterWrap = wrap.select('.nv-scatterWrap');\n scatterWrap.call(scatter);\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-edge-clip-' + scatter.id())\n .append('rect');\n\n wrap.select('#nv-edge-clip-' + scatter.id() + ' rect')\n .attr('width', availableWidth)\n .attr('height', (availableHeight > 0) ? availableHeight : 0);\n\n g .attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + scatter.id() + ')' : '');\n scatterWrap\n .attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + scatter.id() + ')' : '');\n\n var groups = wrap.select('.nv-groups').selectAll('.nv-group')\n .data(function(d) { return d }, function(d) { return d.key });\n groups.enter().append('g')\n .style('stroke-opacity', 1e-6)\n .style('stroke-width', function(d) { return d.strokeWidth || strokeWidth })\n .style('fill-opacity', 1e-6);\n\n groups.exit().remove();\n\n groups\n .attr('class', function(d,i) {\n return (d.classed || '') + ' nv-group nv-series-' + i;\n })\n .classed('hover', function(d) { return d.hover })\n .style('fill', function(d,i){ return color(d, i) })\n .style('stroke', function(d,i){ return color(d, i)});\n groups.watchTransition(renderWatch, 'line: groups')\n .style('stroke-opacity', 1)\n .style('fill-opacity', function(d) { return d.fillOpacity || .5});\n\n var areaPaths = groups.selectAll('path.nv-area')\n .data(function(d) { return isArea(d) ? [d] : [] }); // this is done differently than lines because I need to check if series is an area\n areaPaths.enter().append('path')\n .attr('class', 'nv-area')\n .attr('d', function(d) {\n return d3.svg.area()\n .interpolate(interpolate)\n .defined(defined)\n .x(function(d,i) { return nv.utils.NaNtoZero(x0(getX(d,i))) })\n .y0(function(d,i) { return nv.utils.NaNtoZero(y0(getY(d,i))) })\n .y1(function(d,i) { return y0( y.domain()[0] <= 0 ? y.domain()[1] >= 0 ? 0 : y.domain()[1] : y.domain()[0] ) })\n //.y1(function(d,i) { return y0(0) }) //assuming 0 is within y domain.. may need to tweak this\n .apply(this, [d.values])\n });\n groups.exit().selectAll('path.nv-area')\n .remove();\n\n areaPaths.watchTransition(renderWatch, 'line: areaPaths')\n .attr('d', function(d) {\n return d3.svg.area()\n .interpolate(interpolate)\n .defined(defined)\n .x(function(d,i) { return nv.utils.NaNtoZero(x(getX(d,i))) })\n .y0(function(d,i) { return nv.utils.NaNtoZero(y(getY(d,i))) })\n .y1(function(d,i) { return y( y.domain()[0] <= 0 ? y.domain()[1] >= 0 ? 0 : y.domain()[1] : y.domain()[0] ) })\n //.y1(function(d,i) { return y0(0) }) //assuming 0 is within y domain.. may need to tweak this\n .apply(this, [d.values])\n });\n\n var linePaths = groups.selectAll('path.nv-line')\n .data(function(d) { return [d.values] });\n\n linePaths.enter().append('path')\n .attr('class', 'nv-line')\n .attr('d',\n d3.svg.line()\n .interpolate(interpolate)\n .defined(defined)\n .x(function(d,i) { return nv.utils.NaNtoZero(x0(getX(d,i))) })\n .y(function(d,i) { return nv.utils.NaNtoZero(y0(getY(d,i))) })\n );\n\n linePaths.watchTransition(renderWatch, 'line: linePaths')\n .attr('d',\n d3.svg.line()\n .interpolate(interpolate)\n .defined(defined)\n .x(function(d,i) { return nv.utils.NaNtoZero(x(getX(d,i))) })\n .y(function(d,i) { return nv.utils.NaNtoZero(y(getY(d,i))) })\n );\n\n //store old scales for use in transitions on update\n x0 = x.copy();\n y0 = y.copy();\n });\n renderWatch.renderEnd('line immediate');\n return chart;\n }\n\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.scatter = scatter;\n // Pass through events\n scatter.dispatch.on('elementClick', function(){ dispatch.elementClick.apply(this, arguments); });\n scatter.dispatch.on('elementMouseover', function(){ dispatch.elementMouseover.apply(this, arguments); });\n scatter.dispatch.on('elementMouseout', function(){ dispatch.elementMouseout.apply(this, arguments); });\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n defined: {get: function(){return defined;}, set: function(_){defined=_;}},\n interpolate: {get: function(){return interpolate;}, set: function(_){interpolate=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n scatter.duration(duration);\n }},\n isArea: {get: function(){return isArea;}, set: function(_){\n isArea = d3.functor(_);\n }},\n x: {get: function(){return getX;}, set: function(_){\n getX = _;\n scatter.x(_);\n }},\n y: {get: function(){return getY;}, set: function(_){\n getY = _;\n scatter.y(_);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n scatter.color(color);\n }}\n });\n\n nv.utils.inheritOptions(chart, scatter);\n nv.utils.initOptions(chart);\n\n return chart;\n};\nnv.models.lineChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var lines = nv.models.line()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , legend = nv.models.legend()\n , interactiveLayer = nv.interactiveGuideline()\n , tooltip = nv.models.tooltip()\n , focus = nv.models.focus(nv.models.line())\n ;\n\n var margin = {top: 30, right: 20, bottom: 50, left: 60}\n , color = nv.utils.defaultColor()\n , width = null\n , height = null\n , showLegend = true\n , legendPosition = 'top'\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , useInteractiveGuideline = false\n , x\n , y\n , focusEnable = false\n , state = nv.utils.state()\n , defaultState = null\n , noData = null\n , dispatch = d3.dispatch('tooltipShow', 'tooltipHide', 'stateChange', 'changeState', 'renderEnd')\n , duration = 250\n ;\n\n // set options on sub-objects for this chart\n xAxis.orient('bottom').tickPadding(7);\n yAxis.orient(rightAlignYAxis ? 'right' : 'left');\n\n lines.clipEdge(true).duration(0);\n\n tooltip.valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n }).headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n interactiveLayer.tooltip.valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n }).headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled; })\n };\n };\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n };\n };\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(lines);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin) - (focusEnable ? focus.height() : 0);\n chart.update = function() {\n if( duration === 0 ) {\n container.call( chart );\n } else {\n container.transition().duration(duration).call(chart);\n }\n };\n chart.container = this;\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disabled\n state.disabled = data.map(function(d) { return !!d.disabled; });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display noData message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length; }).length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n /* Update `main' graph on brush update. */\n focus.dispatch.on(\"onBrush\", function(extent) {\n onBrush(extent);\n });\n\n // Setup Scales\n x = lines.xScale();\n y = lines.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-lineChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-lineChart').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-legendWrap');\n\n var focusEnter = gEnter.append('g').attr('class', 'nv-focus');\n focusEnter.append('g').attr('class', 'nv-background').append('rect');\n focusEnter.append('g').attr('class', 'nv-x nv-axis');\n focusEnter.append('g').attr('class', 'nv-y nv-axis');\n focusEnter.append('g').attr('class', 'nv-linesWrap');\n focusEnter.append('g').attr('class', 'nv-interactive');\n\n var contextEnter = gEnter.append('g').attr('class', 'nv-focusWrap');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth);\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (legendPosition === 'bottom') {\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + availableHeight +')');\n } else if (legendPosition === 'top') {\n if (legend.height() > margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin) - (focusEnable ? focus.height() : 0);\n }\n\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + (-margin.top) +')');\n }\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n //Set up interactive layer\n if (useInteractiveGuideline) {\n interactiveLayer\n .width(availableWidth)\n .height(availableHeight)\n .margin({left:margin.left, top:margin.top})\n .svgContainer(container)\n .xScale(x);\n wrap.select(\".nv-interactive\").call(interactiveLayer);\n }\n\n g.select('.nv-focus .nv-background rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n lines\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled; }));\n\n var linesWrap = g.select('.nv-linesWrap')\n .datum(data.filter(function(d) { return !d.disabled; }));\n\n\n // Setup Main (Focus) Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks(nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n }\n\n //============================================================\n // Update Axes\n //============================================================\n function updateXAxis() {\n if(showXAxis) {\n g.select('.nv-focus .nv-x.nv-axis')\n .transition()\n .duration(duration)\n .call(xAxis)\n ;\n }\n }\n\n function updateYAxis() {\n if(showYAxis) {\n g.select('.nv-focus .nv-y.nv-axis')\n .transition()\n .duration(duration)\n .call(yAxis)\n ;\n }\n }\n\n g.select('.nv-focus .nv-x.nv-axis')\n .attr('transform', 'translate(0,' + availableHeight + ')');\n\n //============================================================\n // Update Focus\n //============================================================\n if(!focusEnable) {\n linesWrap.call(lines);\n updateXAxis();\n updateYAxis();\n } else {\n focus.width(availableWidth);\n g.select('.nv-focusWrap')\n .attr('transform', 'translate(0,' + ( availableHeight + margin.bottom + focus.margin().top) + ')')\n .datum(data.filter(function(d) { return !d.disabled; }))\n .call(focus);\n var extent = focus.brush.empty() ? focus.xDomain() : focus.brush.extent();\n if(extent !== null){\n onBrush(extent);\n }\n }\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n interactiveLayer.dispatch.on('elementMousemove', function(e) {\n lines.clearHighlights();\n var singlePoint, pointIndex, pointXLocation, allData = [];\n data\n .filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled && !series.disableTooltip;\n })\n .forEach(function(series,i) {\n var extent = focusEnable ? (focus.brush.empty() ? focus.xScale().domain() : focus.brush.extent()) : x.domain();\n var currentValues = series.values.filter(function(d,i) {\n return lines.x()(d,i) >= extent[0] && lines.x()(d,i) <= extent[1];\n });\n\n pointIndex = nv.interactiveBisect(currentValues, e.pointXValue, lines.x());\n var point = currentValues[pointIndex];\n var pointYValue = chart.y()(point, pointIndex);\n if (pointYValue !== null) {\n lines.highlightPoint(series.seriesIndex, pointIndex, true);\n }\n if (point === undefined) return;\n if (singlePoint === undefined) singlePoint = point;\n if (pointXLocation === undefined) pointXLocation = chart.xScale()(chart.x()(point,pointIndex));\n allData.push({\n key: series.key,\n value: pointYValue,\n color: color(series,series.seriesIndex),\n data: point\n });\n });\n //Highlight the tooltip entry based on which point the mouse is closest to.\n if (allData.length > 2) {\n var yValue = chart.yScale().invert(e.mouseY);\n var domainExtent = Math.abs(chart.yScale().domain()[0] - chart.yScale().domain()[1]);\n var threshold = 0.03 * domainExtent;\n var indexToHighlight = nv.nearestValueIndex(allData.map(function(d){return d.value;}),yValue,threshold);\n if (indexToHighlight !== null)\n allData[indexToHighlight].highlight = true;\n }\n\n var defaultValueFormatter = function(d,i) {\n return d == null ? \"N/A\" : yAxis.tickFormat()(d);\n };\n\n interactiveLayer.tooltip\n .valueFormatter(interactiveLayer.tooltip.valueFormatter() || defaultValueFormatter)\n .data({\n value: chart.x()( singlePoint,pointIndex ),\n index: pointIndex,\n series: allData\n })();\n\n interactiveLayer.renderGuideLine(pointXLocation);\n\n });\n\n interactiveLayer.dispatch.on('elementClick', function(e) {\n var pointXLocation, allData = [];\n\n data.filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled;\n }).forEach(function(series) {\n var pointIndex = nv.interactiveBisect(series.values, e.pointXValue, chart.x());\n var point = series.values[pointIndex];\n if (typeof point === 'undefined') return;\n if (typeof pointXLocation === 'undefined') pointXLocation = chart.xScale()(chart.x()(point,pointIndex));\n var yPos = chart.yScale()(chart.y()(point,pointIndex));\n allData.push({\n point: point,\n pointIndex: pointIndex,\n pos: [pointXLocation, yPos],\n seriesIndex: series.seriesIndex,\n series: series\n });\n });\n\n lines.dispatch.elementClick(allData);\n });\n\n interactiveLayer.dispatch.on(\"elementMouseout\",function(e) {\n lines.clearHighlights();\n });\n\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined' && data.length === e.disabled.length) {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n\n state.disabled = e.disabled;\n }\n chart.update();\n });\n\n //============================================================\n // Functions\n //------------------------------------------------------------\n\n // Taken from crossfilter (http://square.github.com/crossfilter/)\n function resizePath(d) {\n var e = +(d == 'e'),\n x = e ? 1 : -1,\n y = availableHeight / 3;\n return 'M' + (0.5 * x) + ',' + y\n + 'A6,6 0 0 ' + e + ' ' + (6.5 * x) + ',' + (y + 6)\n + 'V' + (2 * y - 6)\n + 'A6,6 0 0 ' + e + ' ' + (0.5 * x) + ',' + (2 * y)\n + 'Z'\n + 'M' + (2.5 * x) + ',' + (y + 8)\n + 'V' + (2 * y - 8)\n + 'M' + (4.5 * x) + ',' + (y + 8)\n + 'V' + (2 * y - 8);\n }\n\n function onBrush(extent) {\n // Update Main (Focus)\n var focusLinesWrap = g.select('.nv-focus .nv-linesWrap')\n .datum(\n data.filter(function(d) { return !d.disabled; })\n .map(function(d,i) {\n return {\n key: d.key,\n area: d.area,\n classed: d.classed,\n values: d.values.filter(function(d,i) {\n return lines.x()(d,i) >= extent[0] && lines.x()(d,i) <= extent[1];\n }),\n disableTooltip: d.disableTooltip\n };\n })\n );\n focusLinesWrap.transition().duration(duration).call(lines);\n\n // Update Main (Focus) Axes\n updateXAxis();\n updateYAxis();\n }\n });\n\n renderWatch.renderEnd('lineChart immediate');\n return chart;\n }\n\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n lines.dispatch.on('elementMouseover.tooltip', function(evt) {\n if(!evt.series.disableTooltip){\n tooltip.data(evt).hidden(false);\n }\n });\n\n lines.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.lines = lines;\n chart.legend = legend;\n chart.focus = focus;\n chart.xAxis = xAxis;\n chart.x2Axis = focus.xAxis\n chart.yAxis = yAxis;\n chart.y2Axis = focus.yAxis\n chart.interactiveLayer = interactiveLayer;\n chart.tooltip = tooltip;\n chart.state = state;\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n legendPosition: {get: function(){return legendPosition;}, set: function(_){legendPosition=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n // Focus options, mostly passed onto focus model.\n focusEnable: {get: function(){return focusEnable;}, set: function(_){focusEnable=_;}},\n focusHeight: {get: function(){return focus.height();}, set: function(_){focus.height(_);}},\n focusShowAxisX: {get: function(){return focus.showXAxis();}, set: function(_){focus.showXAxis(_);}},\n focusShowAxisY: {get: function(){return focus.showYAxis();}, set: function(_){focus.showYAxis(_);}},\n brushExtent: {get: function(){return focus.brushExtent();}, set: function(_){focus.brushExtent(_);}},\n\n // options that require extra logic in the setter\n focusMargin: {get: function(){return focus.margin}, set: function(_){\n focus.margin.top = _.top !== undefined ? _.top : focus.margin.top;\n focus.margin.right = _.right !== undefined ? _.right : focus.margin.right;\n focus.margin.bottom = _.bottom !== undefined ? _.bottom : focus.margin.bottom;\n focus.margin.left = _.left !== undefined ? _.left : focus.margin.left;\n }},\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n lines.duration(duration);\n focus.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n lines.color(color);\n focus.color(color);\n }},\n interpolate: {get: function(){return lines.interpolate();}, set: function(_){\n lines.interpolate(_);\n focus.interpolate(_);\n }},\n xTickFormat: {get: function(){return xAxis.tickFormat();}, set: function(_){\n xAxis.tickFormat(_);\n focus.xTickFormat(_);\n }},\n yTickFormat: {get: function(){return yAxis.tickFormat();}, set: function(_){\n yAxis.tickFormat(_);\n focus.yTickFormat(_);\n }},\n x: {get: function(){return lines.x();}, set: function(_){\n lines.x(_);\n focus.x(_);\n }},\n y: {get: function(){return lines.y();}, set: function(_){\n lines.y(_);\n focus.y(_);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( rightAlignYAxis ? 'right' : 'left');\n }},\n useInteractiveGuideline: {get: function(){return useInteractiveGuideline;}, set: function(_){\n useInteractiveGuideline = _;\n if (useInteractiveGuideline) {\n lines.interactive(false);\n lines.useVoronoi(false);\n }\n }}\n });\n\n nv.utils.inheritOptions(chart, lines);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.lineWithFocusChart = function() {\n return nv.models.lineChart()\n .margin({ bottom: 30 })\n .focusEnable( true );\n};\nnv.models.linePlusBarChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var lines = nv.models.line()\n , lines2 = nv.models.line()\n , bars = nv.models.historicalBar()\n , bars2 = nv.models.historicalBar()\n , xAxis = nv.models.axis()\n , x2Axis = nv.models.axis()\n , y1Axis = nv.models.axis()\n , y2Axis = nv.models.axis()\n , y3Axis = nv.models.axis()\n , y4Axis = nv.models.axis()\n , legend = nv.models.legend()\n , brush = d3.svg.brush()\n , tooltip = nv.models.tooltip()\n ;\n\n var margin = {top: 30, right: 30, bottom: 30, left: 60}\n , margin2 = {top: 0, right: 30, bottom: 20, left: 60}\n , width = null\n , height = null\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , color = nv.utils.defaultColor()\n , showLegend = true\n , focusEnable = true\n , focusShowAxisY = false\n , focusShowAxisX = true\n , focusHeight = 50\n , extent\n , brushExtent = null\n , x\n , x2\n , y1\n , y2\n , y3\n , y4\n , noData = null\n , dispatch = d3.dispatch('brush', 'stateChange', 'changeState')\n , transitionDuration = 0\n , state = nv.utils.state()\n , defaultState = null\n , legendLeftAxisHint = ' (left axis)'\n , legendRightAxisHint = ' (right axis)'\n , switchYAxisOrder = false\n ;\n\n lines.clipEdge(true);\n lines2.interactive(false);\n // We don't want any points emitted for the focus chart's scatter graph.\n lines2.pointActive(function(d) { return false });\n xAxis.orient('bottom').tickPadding(5);\n y1Axis.orient('left');\n y2Axis.orient('right');\n x2Axis.orient('bottom').tickPadding(5);\n y3Axis.orient('left');\n y4Axis.orient('right');\n\n tooltip.headerEnabled(true).headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var getBarsAxis = function() {\n return switchYAxisOrder\n ? { main: y2Axis, focus: y4Axis }\n : { main: y1Axis, focus: y3Axis }\n }\n\n var getLinesAxis = function() {\n return switchYAxisOrder\n ? { main: y1Axis, focus: y3Axis }\n : { main: y2Axis, focus: y4Axis }\n }\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled })\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n }\n };\n\n var allDisabled = function(data) {\n return data.every(function(series) {\n return series.disabled;\n });\n }\n\n function chart(selection) {\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight1 = nv.utils.availableHeight(height, container, margin)\n - (focusEnable ? focusHeight : 0),\n availableHeight2 = focusHeight - margin2.top - margin2.bottom;\n\n chart.update = function() { container.transition().duration(transitionDuration).call(chart); };\n chart.container = this;\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disableddisabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n var dataBars = data.filter(function(d) { return !d.disabled && d.bar });\n var dataLines = data.filter(function(d) { return !d.bar }); // removed the !d.disabled clause here to fix Issue #240\n\n if (dataBars.length && !switchYAxisOrder) {\n x = bars.xScale();\n } else {\n x = lines.xScale();\n }\n\n x2 = x2Axis.scale();\n\n // select the scales and series based on the position of the yAxis\n y1 = switchYAxisOrder ? lines.yScale() : bars.yScale();\n y2 = switchYAxisOrder ? bars.yScale() : lines.yScale();\n y3 = switchYAxisOrder ? lines2.yScale() : bars2.yScale();\n y4 = switchYAxisOrder ? bars2.yScale() : lines2.yScale();\n\n var series1 = data\n .filter(function(d) { return !d.disabled && (switchYAxisOrder ? !d.bar : d.bar) })\n .map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d,i), y: getY(d,i) }\n })\n });\n\n var series2 = data\n .filter(function(d) { return !d.disabled && (switchYAxisOrder ? d.bar : !d.bar) })\n .map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d,i), y: getY(d,i) }\n })\n });\n\n x.range([0, availableWidth]);\n\n x2 .domain(d3.extent(d3.merge(series1.concat(series2)), function(d) { return d.x } ))\n .range([0, availableWidth]);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-linePlusBar').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-linePlusBar').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-legendWrap');\n\n // this is the main chart\n var focusEnter = gEnter.append('g').attr('class', 'nv-focus');\n focusEnter.append('g').attr('class', 'nv-x nv-axis');\n focusEnter.append('g').attr('class', 'nv-y1 nv-axis');\n focusEnter.append('g').attr('class', 'nv-y2 nv-axis');\n focusEnter.append('g').attr('class', 'nv-barsWrap');\n focusEnter.append('g').attr('class', 'nv-linesWrap');\n\n // context chart is where you can focus in\n var contextEnter = gEnter.append('g').attr('class', 'nv-context');\n contextEnter.append('g').attr('class', 'nv-x nv-axis');\n contextEnter.append('g').attr('class', 'nv-y1 nv-axis');\n contextEnter.append('g').attr('class', 'nv-y2 nv-axis');\n contextEnter.append('g').attr('class', 'nv-barsWrap');\n contextEnter.append('g').attr('class', 'nv-linesWrap');\n contextEnter.append('g').attr('class', 'nv-brushBackground');\n contextEnter.append('g').attr('class', 'nv-x nv-brush');\n\n //============================================================\n // Legend\n //------------------------------------------------------------\n\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n var legendWidth = legend.align() ? availableWidth / 2 : availableWidth;\n var legendXPosition = legend.align() ? legendWidth : 0;\n\n legend.width(legendWidth);\n\n g.select('.nv-legendWrap')\n .datum(data.map(function(series) {\n series.originalKey = series.originalKey === undefined ? series.key : series.originalKey;\n if(switchYAxisOrder) {\n series.key = series.originalKey + (series.bar ? legendRightAxisHint : legendLeftAxisHint);\n } else {\n series.key = series.originalKey + (series.bar ? legendLeftAxisHint : legendRightAxisHint);\n }\n return series;\n }))\n .call(legend);\n\n if (legend.height() > margin.top) {\n margin.top = legend.height();\n // FIXME: shouldn't this be \"- (focusEnabled ? focusHeight : 0)\"?\n availableHeight1 = nv.utils.availableHeight(height, container, margin) - focusHeight;\n }\n\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(' + legendXPosition + ',' + (-margin.top) +')');\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n //============================================================\n // Context chart (focus chart) components\n //------------------------------------------------------------\n\n // hide or show the focus context chart\n g.select('.nv-context').style('display', focusEnable ? 'initial' : 'none');\n\n bars2\n .width(availableWidth)\n .height(availableHeight2)\n .color(data.map(function (d, i) {\n return d.color || color(d, i);\n }).filter(function (d, i) {\n return !data[i].disabled && data[i].bar\n }));\n lines2\n .width(availableWidth)\n .height(availableHeight2)\n .color(data.map(function (d, i) {\n return d.color || color(d, i);\n }).filter(function (d, i) {\n return !data[i].disabled && !data[i].bar\n }));\n\n var bars2Wrap = g.select('.nv-context .nv-barsWrap')\n .datum(dataBars.length ? dataBars : [\n {values: []}\n ]);\n var lines2Wrap = g.select('.nv-context .nv-linesWrap')\n .datum(allDisabled(dataLines) ?\n [{values: []}] :\n dataLines.filter(function(dataLine) {\n return !dataLine.disabled;\n }));\n\n g.select('.nv-context')\n .attr('transform', 'translate(0,' + ( availableHeight1 + margin.bottom + margin2.top) + ')');\n\n bars2Wrap.transition().call(bars2);\n lines2Wrap.transition().call(lines2);\n\n // context (focus chart) axis controls\n if (focusShowAxisX) {\n x2Axis\n ._ticks( nv.utils.calcTicksX(availableWidth / 100, data))\n .tickSize(-availableHeight2, 0);\n g.select('.nv-context .nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y3.range()[0] + ')');\n g.select('.nv-context .nv-x.nv-axis').transition()\n .call(x2Axis);\n }\n\n if (focusShowAxisY) {\n y3Axis\n .scale(y3)\n ._ticks( availableHeight2 / 36 )\n .tickSize( -availableWidth, 0);\n y4Axis\n .scale(y4)\n ._ticks( availableHeight2 / 36 )\n .tickSize(dataBars.length ? 0 : -availableWidth, 0); // Show the y2 rules only if y1 has none\n\n g.select('.nv-context .nv-y3.nv-axis')\n .style('opacity', dataBars.length ? 1 : 0)\n .attr('transform', 'translate(0,' + x2.range()[0] + ')');\n g.select('.nv-context .nv-y2.nv-axis')\n .style('opacity', dataLines.length ? 1 : 0)\n .attr('transform', 'translate(' + x2.range()[1] + ',0)');\n\n g.select('.nv-context .nv-y1.nv-axis').transition()\n .call(y3Axis);\n g.select('.nv-context .nv-y2.nv-axis').transition()\n .call(y4Axis);\n }\n\n // Setup Brush\n brush.x(x2).on('brush', onBrush);\n\n if (brushExtent) brush.extent(brushExtent);\n\n var brushBG = g.select('.nv-brushBackground').selectAll('g')\n .data([brushExtent || brush.extent()]);\n\n var brushBGenter = brushBG.enter()\n .append('g');\n\n brushBGenter.append('rect')\n .attr('class', 'left')\n .attr('x', 0)\n .attr('y', 0)\n .attr('height', availableHeight2);\n\n brushBGenter.append('rect')\n .attr('class', 'right')\n .attr('x', 0)\n .attr('y', 0)\n .attr('height', availableHeight2);\n\n var gBrush = g.select('.nv-x.nv-brush')\n .call(brush);\n gBrush.selectAll('rect')\n //.attr('y', -5)\n .attr('height', availableHeight2);\n gBrush.selectAll('.resize').append('path').attr('d', resizePath);\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n state.disabled = e.disabled;\n }\n chart.update();\n });\n\n //============================================================\n // Functions\n //------------------------------------------------------------\n\n // Taken from crossfilter (http://square.github.com/crossfilter/)\n function resizePath(d) {\n var e = +(d == 'e'),\n x = e ? 1 : -1,\n y = availableHeight2 / 3;\n return 'M' + (.5 * x) + ',' + y\n + 'A6,6 0 0 ' + e + ' ' + (6.5 * x) + ',' + (y + 6)\n + 'V' + (2 * y - 6)\n + 'A6,6 0 0 ' + e + ' ' + (.5 * x) + ',' + (2 * y)\n + 'Z'\n + 'M' + (2.5 * x) + ',' + (y + 8)\n + 'V' + (2 * y - 8)\n + 'M' + (4.5 * x) + ',' + (y + 8)\n + 'V' + (2 * y - 8);\n }\n\n\n function updateBrushBG() {\n if (!brush.empty()) brush.extent(brushExtent);\n brushBG\n .data([brush.empty() ? x2.domain() : brushExtent])\n .each(function(d,i) {\n var leftWidth = x2(d[0]) - x2.range()[0],\n rightWidth = x2.range()[1] - x2(d[1]);\n d3.select(this).select('.left')\n .attr('width', leftWidth < 0 ? 0 : leftWidth);\n\n d3.select(this).select('.right')\n .attr('x', x2(d[1]))\n .attr('width', rightWidth < 0 ? 0 : rightWidth);\n });\n }\n\n function onBrush() {\n brushExtent = brush.empty() ? null : brush.extent();\n extent = brush.empty() ? x2.domain() : brush.extent();\n dispatch.brush({extent: extent, brush: brush});\n updateBrushBG();\n\n // Prepare Main (Focus) Bars and Lines\n bars\n .width(availableWidth)\n .height(availableHeight1)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled && data[i].bar }));\n\n lines\n .width(availableWidth)\n .height(availableHeight1)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled && !data[i].bar }));\n\n var focusBarsWrap = g.select('.nv-focus .nv-barsWrap')\n .datum(!dataBars.length ? [{values:[]}] :\n dataBars\n .map(function(d,i) {\n return {\n key: d.key,\n values: d.values.filter(function(d,i) {\n return bars.x()(d,i) >= extent[0] && bars.x()(d,i) <= extent[1];\n })\n }\n })\n );\n\n var focusLinesWrap = g.select('.nv-focus .nv-linesWrap')\n .datum(allDisabled(dataLines) ? [{values:[]}] :\n dataLines\n .filter(function(dataLine) { return !dataLine.disabled; })\n .map(function(d,i) {\n return {\n area: d.area,\n fillOpacity: d.fillOpacity,\n strokeWidth: d.strokeWidth,\n key: d.key,\n values: d.values.filter(function(d,i) {\n return lines.x()(d,i) >= extent[0] && lines.x()(d,i) <= extent[1];\n })\n }\n })\n );\n\n // Update Main (Focus) X Axis\n if (dataBars.length && !switchYAxisOrder) {\n x = bars.xScale();\n } else {\n x = lines.xScale();\n }\n\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight1, 0);\n\n xAxis.domain([Math.ceil(extent[0]), Math.floor(extent[1])]);\n\n g.select('.nv-x.nv-axis').transition().duration(transitionDuration)\n .call(xAxis);\n\n // Update Main (Focus) Bars and Lines\n focusBarsWrap.transition().duration(transitionDuration).call(bars);\n focusLinesWrap.transition().duration(transitionDuration).call(lines);\n\n // Setup and Update Main (Focus) Y Axes\n g.select('.nv-focus .nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y1.range()[0] + ')');\n\n y1Axis\n .scale(y1)\n ._ticks( nv.utils.calcTicksY(availableHeight1/36, data) )\n .tickSize(-availableWidth, 0);\n y2Axis\n .scale(y2)\n ._ticks( nv.utils.calcTicksY(availableHeight1/36, data) );\n\n // Show the y2 rules only if y1 has none\n if(!switchYAxisOrder) {\n y2Axis.tickSize(dataBars.length ? 0 : -availableWidth, 0);\n } else {\n y2Axis.tickSize(dataLines.length ? 0 : -availableWidth, 0);\n }\n\n // Calculate opacity of the axis\n var barsOpacity = dataBars.length ? 1 : 0;\n var linesOpacity = dataLines.length && !allDisabled(dataLines) ? 1 : 0;\n\n var y1Opacity = switchYAxisOrder ? linesOpacity : barsOpacity;\n var y2Opacity = switchYAxisOrder ? barsOpacity : linesOpacity;\n\n g.select('.nv-focus .nv-y1.nv-axis')\n .style('opacity', y1Opacity);\n g.select('.nv-focus .nv-y2.nv-axis')\n .style('opacity', y2Opacity)\n .attr('transform', 'translate(' + x.range()[1] + ',0)');\n\n g.select('.nv-focus .nv-y1.nv-axis').transition().duration(transitionDuration)\n .call(y1Axis);\n g.select('.nv-focus .nv-y2.nv-axis').transition().duration(transitionDuration)\n .call(y2Axis);\n }\n\n onBrush();\n\n });\n\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n lines.dispatch.on('elementMouseover.tooltip', function(evt) {\n tooltip\n .duration(100)\n .valueFormatter(function(d, i) {\n return getLinesAxis().main.tickFormat()(d, i);\n })\n .data(evt)\n .hidden(false);\n });\n\n lines.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n\n bars.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt.value = chart.x()(evt.data);\n evt['series'] = {\n value: chart.y()(evt.data),\n color: evt.color\n };\n tooltip\n .duration(0)\n .valueFormatter(function(d, i) {\n return getBarsAxis().main.tickFormat()(d, i);\n })\n .data(evt)\n .hidden(false);\n });\n\n bars.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n bars.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.legend = legend;\n chart.lines = lines;\n chart.lines2 = lines2;\n chart.bars = bars;\n chart.bars2 = bars2;\n chart.xAxis = xAxis;\n chart.x2Axis = x2Axis;\n chart.y1Axis = y1Axis;\n chart.y2Axis = y2Axis;\n chart.y3Axis = y3Axis;\n chart.y4Axis = y4Axis;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n brushExtent: {get: function(){return brushExtent;}, set: function(_){brushExtent=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n focusEnable: {get: function(){return focusEnable;}, set: function(_){focusEnable=_;}},\n focusHeight: {get: function(){return focusHeight;}, set: function(_){focusHeight=_;}},\n focusShowAxisX: {get: function(){return focusShowAxisX;}, set: function(_){focusShowAxisX=_;}},\n focusShowAxisY: {get: function(){return focusShowAxisY;}, set: function(_){focusShowAxisY=_;}},\n legendLeftAxisHint: {get: function(){return legendLeftAxisHint;}, set: function(_){legendLeftAxisHint=_;}},\n legendRightAxisHint: {get: function(){return legendRightAxisHint;}, set: function(_){legendRightAxisHint=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n focusMargin: {get: function(){return margin2;}, set: function(_){\n margin2.top = _.top !== undefined ? _.top : margin2.top;\n margin2.right = _.right !== undefined ? _.right : margin2.right;\n margin2.bottom = _.bottom !== undefined ? _.bottom : margin2.bottom;\n margin2.left = _.left !== undefined ? _.left : margin2.left;\n }},\n duration: {get: function(){return transitionDuration;}, set: function(_){\n transitionDuration = _;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n }},\n x: {get: function(){return getX;}, set: function(_){\n getX = _;\n lines.x(_);\n lines2.x(_);\n bars.x(_);\n bars2.x(_);\n }},\n y: {get: function(){return getY;}, set: function(_){\n getY = _;\n lines.y(_);\n lines2.y(_);\n bars.y(_);\n bars2.y(_);\n }},\n switchYAxisOrder: {get: function(){return switchYAxisOrder;}, set: function(_){\n // Switch the tick format for the yAxis\n if(switchYAxisOrder !== _) {\n var y1 = y1Axis;\n y1Axis = y2Axis;\n y2Axis = y1;\n\n var y3 = y3Axis;\n y3Axis = y4Axis;\n y4Axis = y3;\n }\n switchYAxisOrder=_;\n\n y1Axis.orient('left');\n y2Axis.orient('right');\n y3Axis.orient('left');\n y4Axis.orient('right');\n }}\n });\n\n nv.utils.inheritOptions(chart, lines);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.multiBar = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 960\n , height = 500\n , x = d3.scale.ordinal()\n , y = d3.scale.linear()\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container = null\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , forceY = [0] // 0 is forced by default.. this makes sense for the majority of bar graphs... user can always do chart.forceY([]) to remove\n , clipEdge = true\n , stacked = false\n , stackOffset = 'zero' // options include 'silhouette', 'wiggle', 'expand', 'zero', or a custom function\n , color = nv.utils.defaultColor()\n , hideable = false\n , barColor = null // adding the ability to set the color for each rather than the whole group\n , disabled // used in conjunction with barColor to communicate from multiBarHorizontalChart what series are disabled\n , duration = 500\n , xDomain\n , yDomain\n , xRange\n , yRange\n , groupSpacing = 0.1\n , fillOpacity = 0.75\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd')\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x0, y0 //used to store previous scales\n , renderWatch = nv.utils.renderWatch(dispatch, duration)\n ;\n\n var last_datalength = 0;\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n var nonStackableCount = 0;\n // This function defines the requirements for render complete\n var endFn = function(d, i) {\n if (d.series === data.length - 1 && i === data[0].values.length - 1)\n return true;\n return false;\n };\n\n if(hideable && data.length) hideable = [{\n values: data[0].values.map(function(d) {\n return {\n x: d.x,\n y: 0,\n series: d.series,\n size: 0.01\n };}\n )}];\n\n if (stacked) {\n var parsed = d3.layout.stack()\n .offset(stackOffset)\n .values(function(d){ return d.values })\n .y(getY)\n (!data.length && hideable ? hideable : data);\n\n parsed.forEach(function(series, i){\n // if series is non-stackable, use un-parsed data\n if (series.nonStackable) {\n data[i].nonStackableSeries = nonStackableCount++;\n parsed[i] = data[i];\n } else {\n // don't stack this seires on top of the nonStackable seriees\n if (i > 0 && parsed[i - 1].nonStackable){\n parsed[i].values.map(function(d,j){\n d.y0 -= parsed[i - 1].values[j].y;\n d.y1 = d.y0 + d.y;\n });\n }\n }\n });\n data = parsed;\n }\n //add series index and key to each data point for reference\n data.forEach(function(series, i) {\n series.values.forEach(function(point) {\n point.series = i;\n point.key = series.key;\n });\n });\n\n // HACK for negative value stacking\n if (stacked && data.length > 0) {\n data[0].values.map(function(d,i) {\n var posBase = 0, negBase = 0;\n data.map(function(d, idx) {\n if (!data[idx].nonStackable) {\n var f = d.values[i]\n f.size = Math.abs(f.y);\n if (f.y<0) {\n f.y1 = negBase;\n negBase = negBase - f.size;\n } else\n {\n f.y1 = f.size + posBase;\n posBase = posBase + f.size;\n }\n }\n\n });\n });\n }\n // Setup Scales\n // remap and flatten the data for use in calculating the scales' domains\n var seriesData = (xDomain && yDomain) ? [] : // if we know xDomain and yDomain, no need to calculate\n data.map(function(d, idx) {\n return d.values.map(function(d,i) {\n return { x: getX(d,i), y: getY(d,i), y0: d.y0, y1: d.y1, idx:idx }\n })\n });\n\n x.domain(xDomain || d3.merge(seriesData).map(function(d) { return d.x }))\n .rangeBands(xRange || [0, availableWidth], groupSpacing);\n\n y.domain(yDomain || d3.extent(d3.merge(seriesData).map(function(d) {\n var domain = d.y;\n // increase the domain range if this series is stackable\n if (stacked && !data[d.idx].nonStackable) {\n if (d.y > 0){\n domain = d.y1\n } else {\n domain = d.y1 + d.y\n }\n }\n return domain;\n }).concat(forceY)))\n .range(yRange || [availableHeight, 0]);\n\n // If scale's domain don't have a range, slightly adjust to make one... so a chart can show a single data point\n if (x.domain()[0] === x.domain()[1])\n x.domain()[0] ?\n x.domain([x.domain()[0] - x.domain()[0] * 0.01, x.domain()[1] + x.domain()[1] * 0.01])\n : x.domain([-1,1]);\n\n if (y.domain()[0] === y.domain()[1])\n y.domain()[0] ?\n y.domain([y.domain()[0] + y.domain()[0] * 0.01, y.domain()[1] - y.domain()[1] * 0.01])\n : y.domain([-1,1]);\n\n x0 = x0 || x;\n y0 = y0 || y;\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-multibar').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-multibar');\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-groups');\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-edge-clip-' + id)\n .append('rect');\n wrap.select('#nv-edge-clip-' + id + ' rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n g.attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + id + ')' : '');\n\n var groups = wrap.select('.nv-groups').selectAll('.nv-group')\n .data(function(d) { return d }, function(d,i) { return i });\n groups.enter().append('g')\n .style('stroke-opacity', 1e-6)\n .style('fill-opacity', 1e-6);\n\n var exitTransition = renderWatch\n .transition(groups.exit().selectAll('rect.nv-bar'), 'multibarExit', Math.min(100, duration))\n .attr('y', function(d, i, j) {\n var yVal = y0(0) || 0;\n if (stacked) {\n if (data[d.series] && !data[d.series].nonStackable) {\n yVal = y0(d.y0);\n }\n }\n return yVal;\n })\n .attr('height', 0)\n .remove();\n if (exitTransition.delay)\n exitTransition.delay(function(d,i) {\n var delay = i * (duration / (last_datalength + 1)) - i;\n return delay;\n });\n groups\n .attr('class', function(d,i) { return 'nv-group nv-series-' + i })\n .classed('hover', function(d) { return d.hover })\n .style('fill', function(d,i){ return color(d, i) })\n .style('stroke', function(d,i){ return color(d, i) });\n groups\n .style('stroke-opacity', 1)\n .style('fill-opacity', fillOpacity);\n\n var bars = groups.selectAll('rect.nv-bar')\n .data(function(d) { return (hideable && !data.length) ? hideable.values : d.values });\n bars.exit().remove();\n\n var barsEnter = bars.enter().append('rect')\n .attr('class', function(d,i) { return getY(d,i) < 0 ? 'nv-bar negative' : 'nv-bar positive'})\n .attr('x', function(d,i,j) {\n return stacked && !data[j].nonStackable ? 0 : (j * x.rangeBand() / data.length )\n })\n .attr('y', function(d,i,j) { return y0(stacked && !data[j].nonStackable ? d.y0 : 0) || 0 })\n .attr('height', 0)\n .attr('width', function(d,i,j) { return x.rangeBand() / (stacked && !data[j].nonStackable ? 1 : data.length) })\n .attr('transform', function(d,i) { return 'translate(' + x(getX(d,i)) + ',0)'; })\n ;\n bars\n .style('fill', function(d,i,j){ return color(d, j, i); })\n .style('stroke', function(d,i,j){ return color(d, j, i); })\n .on('mouseover', function(d,i) { //TODO: figure out why j works above, but not here\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mouseout', function(d,i) {\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('click', function(d,i) {\n var element = this;\n dispatch.elementClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\"),\n event: d3.event,\n element: element\n });\n d3.event.stopPropagation();\n })\n .on('dblclick', function(d,i) {\n dispatch.elementDblClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n d3.event.stopPropagation();\n });\n bars\n .attr('class', function(d,i) { return getY(d,i) < 0 ? 'nv-bar negative' : 'nv-bar positive'})\n .attr('transform', function(d,i) { return 'translate(' + x(getX(d,i)) + ',0)'; })\n\n if (barColor) {\n if (!disabled) disabled = data.map(function() { return true });\n bars\n .style('fill', function(d,i,j) { return d3.rgb(barColor(d,i)).darker( disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i] })[j] ).toString(); })\n .style('stroke', function(d,i,j) { return d3.rgb(barColor(d,i)).darker( disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i] })[j] ).toString(); });\n }\n\n var barSelection =\n bars.watchTransition(renderWatch, 'multibar', Math.min(250, duration))\n .delay(function(d,i) {\n return i * duration / data[0].values.length;\n });\n if (stacked){\n barSelection\n .attr('y', function(d,i,j) {\n var yVal = 0;\n // if stackable, stack it on top of the previous series\n if (!data[j].nonStackable) {\n yVal = y(d.y1);\n } else {\n if (getY(d,i) < 0){\n yVal = y(0);\n } else {\n if (y(0) - y(getY(d,i)) < -1){\n yVal = y(0) - 1;\n } else {\n yVal = y(getY(d, i)) || 0;\n }\n }\n }\n return yVal;\n })\n .attr('height', function(d,i,j) {\n if (!data[j].nonStackable) {\n return Math.max(Math.abs(y(d.y+d.y0) - y(d.y0)), 0);\n } else {\n return Math.max(Math.abs(y(getY(d,i)) - y(0)), 0) || 0;\n }\n })\n .attr('x', function(d,i,j) {\n var width = 0;\n if (data[j].nonStackable) {\n width = d.series * x.rangeBand() / data.length;\n if (data.length !== nonStackableCount){\n width = data[j].nonStackableSeries * x.rangeBand()/(nonStackableCount*2);\n }\n }\n return width;\n })\n .attr('width', function(d,i,j){\n if (!data[j].nonStackable) {\n return x.rangeBand();\n } else {\n // if all series are nonStacable, take the full width\n var width = (x.rangeBand() / nonStackableCount);\n // otherwise, nonStackable graph will be only taking the half-width\n // of the x rangeBand\n if (data.length !== nonStackableCount) {\n width = x.rangeBand()/(nonStackableCount*2);\n }\n return width;\n }\n });\n }\n else {\n barSelection\n .attr('x', function(d,i) {\n return d.series * x.rangeBand() / data.length;\n })\n .attr('width', x.rangeBand() / data.length)\n .attr('y', function(d,i) {\n return getY(d,i) < 0 ?\n y(0) :\n y(0) - y(getY(d,i)) < 1 ?\n y(0) - 1 :\n y(getY(d,i)) || 0;\n })\n .attr('height', function(d,i) {\n return Math.max(Math.abs(y(getY(d,i)) - y(0)),1) || 0;\n });\n }\n\n //store old scales for use in transitions on update\n x0 = x.copy();\n y0 = y.copy();\n\n // keep track of the last data value length for transition calculations\n if (data[0] && data[0].values) {\n last_datalength = data[0].values.length;\n }\n\n });\n\n renderWatch.renderEnd('multibar immediate');\n\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n stacked: {get: function(){return stacked;}, set: function(_){stacked=_;}},\n stackOffset: {get: function(){return stackOffset;}, set: function(_){stackOffset=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n disabled: {get: function(){return disabled;}, set: function(_){disabled=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n hideable: {get: function(){return hideable;}, set: function(_){hideable=_;}},\n groupSpacing:{get: function(){return groupSpacing;}, set: function(_){groupSpacing=_;}},\n fillOpacity: {get: function(){return fillOpacity;}, set: function(_){fillOpacity=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n barColor: {get: function(){return barColor;}, set: function(_){\n barColor = _ ? nv.utils.getColor(_) : null;\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\nnv.models.multiBarChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var multibar = nv.models.multiBar()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , interactiveLayer = nv.interactiveGuideline()\n , legend = nv.models.legend()\n , controls = nv.models.legend()\n , tooltip = nv.models.tooltip()\n ;\n\n var margin = {top: 30, right: 20, bottom: 50, left: 60}\n , width = null\n , height = null\n , color = nv.utils.defaultColor()\n , showControls = true\n , controlLabels = {}\n , showLegend = true\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , reduceXTicks = true // if false a tick will show for every data point\n , staggerLabels = false\n , wrapLabels = false\n , rotateLabels = 0\n , x //can be accessed via chart.xScale()\n , y //can be accessed via chart.yScale()\n , state = nv.utils.state()\n , defaultState = null\n , noData = null\n , dispatch = d3.dispatch('stateChange', 'changeState', 'renderEnd')\n , controlWidth = function() { return showControls ? 180 : 0 }\n , duration = 250\n , useInteractiveGuideline = false\n ;\n\n state.stacked = false // DEPRECATED Maintained for backward compatibility\n\n multibar.stacked(false);\n xAxis\n .orient('bottom')\n .tickPadding(7)\n .showMaxMin(false)\n .tickFormat(function(d) { return d })\n ;\n yAxis\n .orient((rightAlignYAxis) ? 'right' : 'left')\n .tickFormat(d3.format(',.1f'))\n ;\n\n tooltip\n .duration(0)\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n })\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n controls.updateState(false);\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n var stacked = false;\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled }),\n stacked: stacked\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.stacked !== undefined)\n stacked = state.stacked;\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n }\n };\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(multibar);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() {\n if (duration === 0)\n container.call(chart);\n else\n container.transition()\n .duration(duration)\n .call(chart);\n };\n chart.container = this;\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disableddisabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display noData message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = multibar.xScale();\n y = multibar.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-multiBarWithLegend').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-multiBarWithLegend').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis');\n gEnter.append('g').attr('class', 'nv-barsWrap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n gEnter.append('g').attr('class', 'nv-controlsWrap');\n gEnter.append('g').attr('class', 'nv-interactive');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth - controlWidth());\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (legend.height() > margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(' + controlWidth() + ',' + (-margin.top) +')');\n }\n\n // Controls\n if (!showControls) {\n g.select('.nv-controlsWrap').selectAll('*').remove();\n } else {\n var controlsData = [\n { key: controlLabels.grouped || 'Grouped', disabled: multibar.stacked() },\n { key: controlLabels.stacked || 'Stacked', disabled: !multibar.stacked() }\n ];\n\n controls.width(controlWidth()).color(['#444', '#444', '#444']);\n g.select('.nv-controlsWrap')\n .datum(controlsData)\n .attr('transform', 'translate(0,' + (-margin.top) +')')\n .call(controls);\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n // Main Chart Component(s)\n multibar\n .disabled(data.map(function(series) { return series.disabled }))\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled }));\n\n\n var barsWrap = g.select('.nv-barsWrap')\n .datum(data.filter(function(d) { return !d.disabled }));\n\n barsWrap.call(multibar);\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y.range()[0] + ')');\n g.select('.nv-x.nv-axis')\n .call(xAxis);\n\n var xTicks = g.select('.nv-x.nv-axis > g').selectAll('g');\n\n xTicks\n .selectAll('line, text')\n .style('opacity', 1)\n\n if (staggerLabels) {\n var getTranslate = function(x,y) {\n return \"translate(\" + x + \",\" + y + \")\";\n };\n\n var staggerUp = 5, staggerDown = 17; //pixels to stagger by\n // Issue #140\n xTicks\n .selectAll(\"text\")\n .attr('transform', function(d,i,j) {\n return getTranslate(0, (j % 2 == 0 ? staggerUp : staggerDown));\n });\n\n var totalInBetweenTicks = d3.selectAll(\".nv-x.nv-axis .nv-wrap g g text\")[0].length;\n g.selectAll(\".nv-x.nv-axis .nv-axisMaxMin text\")\n .attr(\"transform\", function(d,i) {\n return getTranslate(0, (i === 0 || totalInBetweenTicks % 2 !== 0) ? staggerDown : staggerUp);\n });\n }\n\n if (wrapLabels) {\n g.selectAll('.tick text')\n .call(nv.utils.wrapTicks, chart.xAxis.rangeBand())\n }\n\n if (reduceXTicks)\n xTicks\n .filter(function(d,i) {\n return i % Math.ceil(data[0].values.length / (availableWidth / 100)) !== 0;\n })\n .selectAll('text, line')\n .style('opacity', 0);\n\n if(rotateLabels)\n xTicks\n .selectAll('.tick text')\n .attr('transform', 'rotate(' + rotateLabels + ' 0,0)')\n .style('text-anchor', rotateLabels > 0 ? 'start' : 'end');\n\n g.select('.nv-x.nv-axis').selectAll('g.nv-axisMaxMin text')\n .style('opacity', 1);\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis')\n .call(yAxis);\n }\n\n //Set up interactive layer\n if (useInteractiveGuideline) {\n interactiveLayer\n .width(availableWidth)\n .height(availableHeight)\n .margin({left:margin.left, top:margin.top})\n .svgContainer(container)\n .xScale(x);\n wrap.select(\".nv-interactive\").call(interactiveLayer);\n }\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n controls.dispatch.on('legendClick', function(d,i) {\n if (!d.disabled) return;\n controlsData = controlsData.map(function(s) {\n s.disabled = true;\n return s;\n });\n d.disabled = false;\n\n switch (d.key) {\n case 'Grouped':\n case controlLabels.grouped:\n multibar.stacked(false);\n break;\n case 'Stacked':\n case controlLabels.stacked:\n multibar.stacked(true);\n break;\n }\n\n state.stacked = multibar.stacked();\n dispatch.stateChange(state);\n chart.update();\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n state.disabled = e.disabled;\n }\n if (typeof e.stacked !== 'undefined') {\n multibar.stacked(e.stacked);\n state.stacked = e.stacked;\n stacked = e.stacked;\n }\n chart.update();\n });\n\n if (useInteractiveGuideline) {\n interactiveLayer.dispatch.on('elementMousemove', function(e) {\n if (e.pointXValue == undefined) return;\n\n var singlePoint, pointIndex, pointXLocation, xValue, allData = [];\n data\n .filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled;\n })\n .forEach(function(series,i) {\n pointIndex = x.domain().indexOf(e.pointXValue)\n\n var point = series.values[pointIndex];\n if (point === undefined) return;\n\n xValue = point.x;\n if (singlePoint === undefined) singlePoint = point;\n if (pointXLocation === undefined) pointXLocation = e.mouseX\n allData.push({\n key: series.key,\n value: chart.y()(point, pointIndex),\n color: color(series,series.seriesIndex),\n data: series.values[pointIndex]\n });\n });\n\n interactiveLayer.tooltip\n .data({\n value: xValue,\n index: pointIndex,\n series: allData\n })();\n\n interactiveLayer.renderGuideLine(pointXLocation);\n });\n\n interactiveLayer.dispatch.on(\"elementMouseout\",function(e) {\n interactiveLayer.tooltip.hidden(true);\n });\n }\n else {\n multibar.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt.value = chart.x()(evt.data);\n evt['series'] = {\n key: evt.data.key,\n value: chart.y()(evt.data),\n color: evt.color\n };\n tooltip.data(evt).hidden(false);\n });\n\n multibar.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n multibar.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n }\n });\n\n renderWatch.renderEnd('multibarchart immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.multibar = multibar;\n chart.legend = legend;\n chart.controls = controls;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.state = state;\n chart.tooltip = tooltip;\n chart.interactiveLayer = interactiveLayer;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n showControls: {get: function(){return showControls;}, set: function(_){showControls=_;}},\n controlLabels: {get: function(){return controlLabels;}, set: function(_){controlLabels=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n reduceXTicks: {get: function(){return reduceXTicks;}, set: function(_){reduceXTicks=_;}},\n rotateLabels: {get: function(){return rotateLabels;}, set: function(_){rotateLabels=_;}},\n staggerLabels: {get: function(){return staggerLabels;}, set: function(_){staggerLabels=_;}},\n wrapLabels: {get: function(){return wrapLabels;}, set: function(_){wrapLabels=!!_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n multibar.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n renderWatch.reset(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( rightAlignYAxis ? 'right' : 'left');\n }},\n useInteractiveGuideline: {get: function(){return useInteractiveGuideline;}, set: function(_){\n useInteractiveGuideline = _;\n }},\n barColor: {get: function(){return multibar.barColor;}, set: function(_){\n multibar.barColor(_);\n legend.color(function(d,i) {return d3.rgb('#ccc').darker(i * 1.5).toString();})\n }}\n });\n\n nv.utils.inheritOptions(chart, multibar);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.multiBarHorizontal = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 960\n , height = 500\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container = null\n , x = d3.scale.ordinal()\n , y = d3.scale.linear()\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , getYerr = function(d) { return d.yErr }\n , forceY = [0] // 0 is forced by default.. this makes sense for the majority of bar graphs... user can always do chart.forceY([]) to remove\n , color = nv.utils.defaultColor()\n , barColor = null // adding the ability to set the color for each rather than the whole group\n , disabled // used in conjunction with barColor to communicate from multiBarHorizontalChart what series are disabled\n , stacked = false\n , showValues = false\n , showBarLabels = false\n , valuePadding = 60\n , groupSpacing = 0.1\n , fillOpacity = 0.75\n , valueFormat = d3.format(',.2f')\n , delay = 1200\n , xDomain\n , yDomain\n , xRange\n , yRange\n , duration = 250\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd')\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x0, y0; //used to store previous scales\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n if (stacked)\n data = d3.layout.stack()\n .offset('zero')\n .values(function(d){ return d.values })\n .y(getY)\n (data);\n\n //add series index and key to each data point for reference\n data.forEach(function(series, i) {\n series.values.forEach(function(point) {\n point.series = i;\n point.key = series.key;\n });\n });\n\n // HACK for negative value stacking\n if (stacked)\n data[0].values.map(function(d,i) {\n var posBase = 0, negBase = 0;\n data.map(function(d) {\n var f = d.values[i]\n f.size = Math.abs(f.y);\n if (f.y<0) {\n f.y1 = negBase - f.size;\n negBase = negBase - f.size;\n } else\n {\n f.y1 = posBase;\n posBase = posBase + f.size;\n }\n });\n });\n\n // Setup Scales\n // remap and flatten the data for use in calculating the scales' domains\n var seriesData = (xDomain && yDomain) ? [] : // if we know xDomain and yDomain, no need to calculate\n data.map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d,i), y: getY(d,i), y0: d.y0, y1: d.y1 }\n })\n });\n\n x.domain(xDomain || d3.merge(seriesData).map(function(d) { return d.x }))\n .rangeBands(xRange || [0, availableHeight], groupSpacing);\n\n y.domain(yDomain || d3.extent(d3.merge(seriesData).map(function(d) { return stacked ? (d.y > 0 ? d.y1 + d.y : d.y1 ) : d.y }).concat(forceY)))\n\n if (showValues && !stacked)\n y.range(yRange || [(y.domain()[0] < 0 ? valuePadding : 0), availableWidth - (y.domain()[1] > 0 ? valuePadding : 0) ]);\n else\n y.range(yRange || [0, availableWidth]);\n\n x0 = x0 || x;\n y0 = y0 || d3.scale.linear().domain(y.domain()).range([y(0),y(0)]);\n\n // Setup containers and skeleton of chart\n var wrap = d3.select(this).selectAll('g.nv-wrap.nv-multibarHorizontal').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-multibarHorizontal');\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-groups');\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var groups = wrap.select('.nv-groups').selectAll('.nv-group')\n .data(function(d) { return d }, function(d,i) { return i });\n groups.enter().append('g')\n .style('stroke-opacity', 1e-6)\n .style('fill-opacity', 1e-6);\n groups.exit().watchTransition(renderWatch, 'multibarhorizontal: exit groups')\n .style('stroke-opacity', 1e-6)\n .style('fill-opacity', 1e-6)\n .remove();\n groups\n .attr('class', function(d,i) { return 'nv-group nv-series-' + i })\n .classed('hover', function(d) { return d.hover })\n .style('fill', function(d,i){ return color(d, i) })\n .style('stroke', function(d,i){ return color(d, i) });\n groups.watchTransition(renderWatch, 'multibarhorizontal: groups')\n .style('stroke-opacity', 1)\n .style('fill-opacity', fillOpacity);\n\n var bars = groups.selectAll('g.nv-bar')\n .data(function(d) { return d.values });\n bars.exit().remove();\n\n var barsEnter = bars.enter().append('g')\n .attr('transform', function(d,i,j) {\n return 'translate(' + y0(stacked ? d.y0 : 0) + ',' + (stacked ? 0 : (j * x.rangeBand() / data.length ) + x(getX(d,i))) + ')'\n });\n\n barsEnter.append('rect')\n .attr('width', 0)\n .attr('height', x.rangeBand() / (stacked ? 1 : data.length) )\n\n bars\n .on('mouseover', function(d,i) { //TODO: figure out why j works above, but not here\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mouseout', function(d,i) {\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mouseout', function(d,i) {\n dispatch.elementMouseout({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('click', function(d,i) {\n var element = this;\n dispatch.elementClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\"),\n event: d3.event,\n element: element\n });\n d3.event.stopPropagation();\n })\n .on('dblclick', function(d,i) {\n dispatch.elementDblClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n d3.event.stopPropagation();\n });\n\n if (getYerr(data[0],0)) {\n barsEnter.append('polyline');\n\n bars.select('polyline')\n .attr('fill', 'none')\n .attr('points', function(d,i) {\n var xerr = getYerr(d,i)\n , mid = 0.8 * x.rangeBand() / ((stacked ? 1 : data.length) * 2);\n xerr = xerr.length ? xerr : [-Math.abs(xerr), Math.abs(xerr)];\n xerr = xerr.map(function(e) { return y(e) - y(0); });\n var a = [[xerr[0],-mid], [xerr[0],mid], [xerr[0],0], [xerr[1],0], [xerr[1],-mid], [xerr[1],mid]];\n return a.map(function (path) { return path.join(',') }).join(' ');\n })\n .attr('transform', function(d,i) {\n var mid = x.rangeBand() / ((stacked ? 1 : data.length) * 2);\n return 'translate(' + (getY(d,i) < 0 ? 0 : y(getY(d,i)) - y(0)) + ', ' + mid + ')'\n });\n }\n\n barsEnter.append('text');\n\n if (showValues && !stacked) {\n bars.select('text')\n .attr('text-anchor', function(d,i) { return getY(d,i) < 0 ? 'end' : 'start' })\n .attr('y', x.rangeBand() / (data.length * 2))\n .attr('dy', '.32em')\n .text(function(d,i) {\n var t = valueFormat(getY(d,i))\n , yerr = getYerr(d,i);\n if (yerr === undefined)\n return t;\n if (!yerr.length)\n return t + '\u00B1' + valueFormat(Math.abs(yerr));\n return t + '+' + valueFormat(Math.abs(yerr[1])) + '-' + valueFormat(Math.abs(yerr[0]));\n });\n bars.watchTransition(renderWatch, 'multibarhorizontal: bars')\n .select('text')\n .attr('x', function(d,i) { return getY(d,i) < 0 ? -4 : y(getY(d,i)) - y(0) + 4 })\n } else {\n bars.selectAll('text').text('');\n }\n\n if (showBarLabels && !stacked) {\n barsEnter.append('text').classed('nv-bar-label',true);\n bars.select('text.nv-bar-label')\n .attr('text-anchor', function(d,i) { return getY(d,i) < 0 ? 'start' : 'end' })\n .attr('y', x.rangeBand() / (data.length * 2))\n .attr('dy', '.32em')\n .text(function(d,i) { return getX(d,i) });\n bars.watchTransition(renderWatch, 'multibarhorizontal: bars')\n .select('text.nv-bar-label')\n .attr('x', function(d,i) { return getY(d,i) < 0 ? y(0) - y(getY(d,i)) + 4 : -4 });\n }\n else {\n bars.selectAll('text.nv-bar-label').text('');\n }\n\n bars\n .attr('class', function(d,i) { return getY(d,i) < 0 ? 'nv-bar negative' : 'nv-bar positive'})\n\n if (barColor) {\n if (!disabled) disabled = data.map(function() { return true });\n bars\n .style('fill', function(d,i,j) { return d3.rgb(barColor(d,i)).darker( disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i] })[j] ).toString(); })\n .style('stroke', function(d,i,j) { return d3.rgb(barColor(d,i)).darker( disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i] })[j] ).toString(); });\n }\n\n if (stacked)\n bars.watchTransition(renderWatch, 'multibarhorizontal: bars')\n .attr('transform', function(d,i) {\n return 'translate(' + y(d.y1) + ',' + x(getX(d,i)) + ')'\n })\n .select('rect')\n .attr('width', function(d,i) {\n return Math.abs(y(getY(d,i) + d.y0) - y(d.y0)) || 0\n })\n .attr('height', x.rangeBand() );\n else\n bars.watchTransition(renderWatch, 'multibarhorizontal: bars')\n .attr('transform', function(d,i) {\n //TODO: stacked must be all positive or all negative, not both?\n return 'translate(' +\n (getY(d,i) < 0 ? y(getY(d,i)) : y(0))\n + ',' +\n (d.series * x.rangeBand() / data.length\n +\n x(getX(d,i)) )\n + ')'\n })\n .select('rect')\n .attr('height', x.rangeBand() / data.length )\n .attr('width', function(d,i) {\n return Math.max(Math.abs(y(getY(d,i)) - y(0)),1) || 0\n });\n\n //store old scales for use in transitions on update\n x0 = x.copy();\n y0 = y.copy();\n\n });\n\n renderWatch.renderEnd('multibarHorizontal immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n yErr: {get: function(){return getYerr;}, set: function(_){getYerr=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n stacked: {get: function(){return stacked;}, set: function(_){stacked=_;}},\n showValues: {get: function(){return showValues;}, set: function(_){showValues=_;}},\n // this shows the group name, seems pointless?\n //showBarLabels: {get: function(){return showBarLabels;}, set: function(_){showBarLabels=_;}},\n disabled: {get: function(){return disabled;}, set: function(_){disabled=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n valueFormat: {get: function(){return valueFormat;}, set: function(_){valueFormat=_;}},\n valuePadding: {get: function(){return valuePadding;}, set: function(_){valuePadding=_;}},\n groupSpacing: {get: function(){return groupSpacing;}, set: function(_){groupSpacing=_;}},\n fillOpacity: {get: function(){return fillOpacity;}, set: function(_){fillOpacity=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n barColor: {get: function(){return barColor;}, set: function(_){\n barColor = _ ? nv.utils.getColor(_) : null;\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.multiBarHorizontalChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var multibar = nv.models.multiBarHorizontal()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , legend = nv.models.legend().height(30)\n , controls = nv.models.legend().height(30)\n , tooltip = nv.models.tooltip()\n ;\n\n var margin = {top: 30, right: 20, bottom: 50, left: 60}\n , width = null\n , height = null\n , color = nv.utils.defaultColor()\n , showControls = true\n , controlLabels = {}\n , showLegend = true\n , showXAxis = true\n , showYAxis = true\n , stacked = false\n , x //can be accessed via chart.xScale()\n , y //can be accessed via chart.yScale()\n , state = nv.utils.state()\n , defaultState = null\n , noData = null\n , dispatch = d3.dispatch('stateChange', 'changeState','renderEnd')\n , controlWidth = function() { return showControls ? 180 : 0 }\n , duration = 250\n ;\n\n state.stacked = false; // DEPRECATED Maintained for backward compatibility\n\n multibar.stacked(stacked);\n\n xAxis\n .orient('left')\n .tickPadding(5)\n .showMaxMin(false)\n .tickFormat(function(d) { return d })\n ;\n yAxis\n .orient('bottom')\n .tickFormat(d3.format(',.1f'))\n ;\n\n tooltip\n .duration(0)\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n })\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n controls.updateState(false);\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled }),\n stacked: stacked\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.stacked !== undefined)\n stacked = state.stacked;\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n }\n };\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(multibar);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() { container.transition().duration(duration).call(chart) };\n chart.container = this;\n\n stacked = multibar.stacked();\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disableddisabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = multibar.xScale();\n y = multibar.yScale().clamp(true);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-multiBarHorizontalChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-multiBarHorizontalChart').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis')\n .append('g').attr('class', 'nv-zeroLine')\n .append('line');\n gEnter.append('g').attr('class', 'nv-barsWrap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n gEnter.append('g').attr('class', 'nv-controlsWrap');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth - controlWidth());\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (legend.height() > margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(' + controlWidth() + ',' + (-margin.top) +')');\n }\n\n // Controls\n if (!showControls) {\n g.select('.nv-controlsWrap').selectAll('*').remove();\n } else {\n var controlsData = [\n { key: controlLabels.grouped || 'Grouped', disabled: multibar.stacked() },\n { key: controlLabels.stacked || 'Stacked', disabled: !multibar.stacked() }\n ];\n\n controls.width(controlWidth()).color(['#444', '#444', '#444']);\n g.select('.nv-controlsWrap')\n .datum(controlsData)\n .attr('transform', 'translate(0,' + (-margin.top) +')')\n .call(controls);\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Main Chart Component(s)\n multibar\n .disabled(data.map(function(series) { return series.disabled }))\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled }));\n\n var barsWrap = g.select('.nv-barsWrap')\n .datum(data.filter(function(d) { return !d.disabled }));\n\n barsWrap.transition().call(multibar);\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksY(availableHeight/24, data) )\n .tickSize(-availableWidth, 0);\n\n g.select('.nv-x.nv-axis').call(xAxis);\n\n var xTicks = g.select('.nv-x.nv-axis').selectAll('g');\n\n xTicks\n .selectAll('line, text');\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize( -availableHeight, 0);\n\n g.select('.nv-y.nv-axis')\n .attr('transform', 'translate(0,' + availableHeight + ')');\n g.select('.nv-y.nv-axis').call(yAxis);\n }\n\n // Zero line\n g.select(\".nv-zeroLine line\")\n .attr(\"x1\", y(0))\n .attr(\"x2\", y(0))\n .attr(\"y1\", 0)\n .attr(\"y2\", -availableHeight)\n ;\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n controls.dispatch.on('legendClick', function(d,i) {\n if (!d.disabled) return;\n controlsData = controlsData.map(function(s) {\n s.disabled = true;\n return s;\n });\n d.disabled = false;\n\n switch (d.key) {\n case 'Grouped':\n case controlLabels.grouped:\n multibar.stacked(false);\n break;\n case 'Stacked':\n case controlLabels.stacked:\n multibar.stacked(true);\n break;\n }\n\n state.stacked = multibar.stacked();\n dispatch.stateChange(state);\n stacked = multibar.stacked();\n\n chart.update();\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n\n state.disabled = e.disabled;\n }\n\n if (typeof e.stacked !== 'undefined') {\n multibar.stacked(e.stacked);\n state.stacked = e.stacked;\n stacked = e.stacked;\n }\n\n chart.update();\n });\n });\n renderWatch.renderEnd('multibar horizontal chart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n multibar.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt.value = chart.x()(evt.data);\n evt['series'] = {\n key: evt.data.key,\n value: chart.y()(evt.data),\n color: evt.color\n };\n tooltip.data(evt).hidden(false);\n });\n\n multibar.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n multibar.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.multibar = multibar;\n chart.legend = legend;\n chart.controls = controls;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.state = state;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n showControls: {get: function(){return showControls;}, set: function(_){showControls=_;}},\n controlLabels: {get: function(){return controlLabels;}, set: function(_){controlLabels=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n multibar.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n }},\n barColor: {get: function(){return multibar.barColor;}, set: function(_){\n multibar.barColor(_);\n legend.color(function(d,i) {return d3.rgb('#ccc').darker(i * 1.5).toString();})\n }}\n });\n\n nv.utils.inheritOptions(chart, multibar);\n nv.utils.initOptions(chart);\n\n return chart;\n};\nnv.models.multiChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 30, right: 20, bottom: 50, left: 60},\n color = nv.utils.defaultColor(),\n width = null,\n height = null,\n showLegend = true,\n noData = null,\n yDomain1,\n yDomain2,\n getX = function(d) { return d.x },\n getY = function(d) { return d.y},\n interpolate = 'linear',\n useVoronoi = true,\n interactiveLayer = nv.interactiveGuideline(),\n useInteractiveGuideline = false,\n legendRightAxisHint = ' (right axis)'\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x = d3.scale.linear(),\n yScale1 = d3.scale.linear(),\n yScale2 = d3.scale.linear(),\n\n lines1 = nv.models.line().yScale(yScale1),\n lines2 = nv.models.line().yScale(yScale2),\n\n scatters1 = nv.models.scatter().yScale(yScale1),\n scatters2 = nv.models.scatter().yScale(yScale2),\n\n bars1 = nv.models.multiBar().stacked(false).yScale(yScale1),\n bars2 = nv.models.multiBar().stacked(false).yScale(yScale2),\n\n stack1 = nv.models.stackedArea().yScale(yScale1),\n stack2 = nv.models.stackedArea().yScale(yScale2),\n\n xAxis = nv.models.axis().scale(x).orient('bottom').tickPadding(5),\n yAxis1 = nv.models.axis().scale(yScale1).orient('left'),\n yAxis2 = nv.models.axis().scale(yScale2).orient('right'),\n\n legend = nv.models.legend().height(30),\n tooltip = nv.models.tooltip(),\n dispatch = d3.dispatch();\n\n var charts = [lines1, lines2, scatters1, scatters2, bars1, bars2, stack1, stack2];\n\n function chart(selection) {\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n\n chart.update = function() { container.transition().call(chart); };\n chart.container = this;\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n var dataLines1 = data.filter(function(d) {return d.type == 'line' && d.yAxis == 1});\n var dataLines2 = data.filter(function(d) {return d.type == 'line' && d.yAxis == 2});\n var dataScatters1 = data.filter(function(d) {return d.type == 'scatter' && d.yAxis == 1});\n var dataScatters2 = data.filter(function(d) {return d.type == 'scatter' && d.yAxis == 2});\n var dataBars1 = data.filter(function(d) {return d.type == 'bar' && d.yAxis == 1});\n var dataBars2 = data.filter(function(d) {return d.type == 'bar' && d.yAxis == 2});\n var dataStack1 = data.filter(function(d) {return d.type == 'area' && d.yAxis == 1});\n var dataStack2 = data.filter(function(d) {return d.type == 'area' && d.yAxis == 2});\n\n // Display noData message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n var series1 = data.filter(function(d) {return !d.disabled && d.yAxis == 1})\n .map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d), y: getY(d) }\n })\n });\n\n var series2 = data.filter(function(d) {return !d.disabled && d.yAxis == 2})\n .map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d), y: getY(d) }\n })\n });\n\n x .domain(d3.extent(d3.merge(series1.concat(series2)), function(d) { return d.x }))\n .range([0, availableWidth]);\n\n var wrap = container.selectAll('g.wrap.multiChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'wrap nvd3 multiChart').append('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y1 nv-axis');\n gEnter.append('g').attr('class', 'nv-y2 nv-axis');\n gEnter.append('g').attr('class', 'stack1Wrap');\n gEnter.append('g').attr('class', 'stack2Wrap');\n gEnter.append('g').attr('class', 'bars1Wrap');\n gEnter.append('g').attr('class', 'bars2Wrap');\n gEnter.append('g').attr('class', 'scatters1Wrap');\n gEnter.append('g').attr('class', 'scatters2Wrap');\n gEnter.append('g').attr('class', 'lines1Wrap');\n gEnter.append('g').attr('class', 'lines2Wrap');\n gEnter.append('g').attr('class', 'legendWrap');\n gEnter.append('g').attr('class', 'nv-interactive');\n\n var g = wrap.select('g');\n\n var color_array = data.map(function(d,i) {\n return data[i].color || color(d, i);\n });\n\n // Legend\n if (!showLegend) {\n g.select('.legendWrap').selectAll('*').remove();\n } else {\n var legendWidth = legend.align() ? availableWidth / 2 : availableWidth;\n var legendXPosition = legend.align() ? legendWidth : 0;\n\n legend.width(legendWidth);\n legend.color(color_array);\n\n g.select('.legendWrap')\n .datum(data.map(function(series) {\n series.originalKey = series.originalKey === undefined ? series.key : series.originalKey;\n series.key = series.originalKey + (series.yAxis == 1 ? '' : legendRightAxisHint);\n return series;\n }))\n .call(legend);\n\n if (legend.height() > margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n g.select('.legendWrap')\n .attr('transform', 'translate(' + legendXPosition + ',' + (-margin.top) +')');\n }\n\n lines1\n .width(availableWidth)\n .height(availableHeight)\n .interpolate(interpolate)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 1 && data[i].type == 'line'}));\n lines2\n .width(availableWidth)\n .height(availableHeight)\n .interpolate(interpolate)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 2 && data[i].type == 'line'}));\n scatters1\n .width(availableWidth)\n .height(availableHeight)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 1 && data[i].type == 'scatter'}));\n scatters2\n .width(availableWidth)\n .height(availableHeight)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 2 && data[i].type == 'scatter'}));\n bars1\n .width(availableWidth)\n .height(availableHeight)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 1 && data[i].type == 'bar'}));\n bars2\n .width(availableWidth)\n .height(availableHeight)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 2 && data[i].type == 'bar'}));\n stack1\n .width(availableWidth)\n .height(availableHeight)\n .interpolate(interpolate)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 1 && data[i].type == 'area'}));\n stack2\n .width(availableWidth)\n .height(availableHeight)\n .interpolate(interpolate)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 2 && data[i].type == 'area'}));\n\n g.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var lines1Wrap = g.select('.lines1Wrap')\n .datum(dataLines1.filter(function(d){return !d.disabled}));\n var scatters1Wrap = g.select('.scatters1Wrap')\n .datum(dataScatters1.filter(function(d){return !d.disabled}));\n var bars1Wrap = g.select('.bars1Wrap')\n .datum(dataBars1.filter(function(d){return !d.disabled}));\n var stack1Wrap = g.select('.stack1Wrap')\n .datum(dataStack1.filter(function(d){return !d.disabled}));\n var lines2Wrap = g.select('.lines2Wrap')\n .datum(dataLines2.filter(function(d){return !d.disabled}));\n var scatters2Wrap = g.select('.scatters2Wrap')\n .datum(dataScatters2.filter(function(d){return !d.disabled}));\n var bars2Wrap = g.select('.bars2Wrap')\n .datum(dataBars2.filter(function(d){return !d.disabled}));\n var stack2Wrap = g.select('.stack2Wrap')\n .datum(dataStack2.filter(function(d){return !d.disabled}));\n\n var extraValue1 = dataStack1.length ? dataStack1.map(function(a){return a.values}).reduce(function(a,b){\n return a.map(function(aVal,i){return {x: aVal.x, y: aVal.y + b[i].y}})\n }).concat([{x:0, y:0}]) : [];\n var extraValue2 = dataStack2.length ? dataStack2.map(function(a){return a.values}).reduce(function(a,b){\n return a.map(function(aVal,i){return {x: aVal.x, y: aVal.y + b[i].y}})\n }).concat([{x:0, y:0}]) : [];\n\n yScale1 .domain(yDomain1 || d3.extent(d3.merge(series1).concat(extraValue1), function(d) { return d.y } ))\n .range([0, availableHeight]);\n\n yScale2 .domain(yDomain2 || d3.extent(d3.merge(series2).concat(extraValue2), function(d) { return d.y } ))\n .range([0, availableHeight]);\n\n lines1.yDomain(yScale1.domain());\n scatters1.yDomain(yScale1.domain());\n bars1.yDomain(yScale1.domain());\n stack1.yDomain(yScale1.domain());\n\n lines2.yDomain(yScale2.domain());\n scatters2.yDomain(yScale2.domain());\n bars2.yDomain(yScale2.domain());\n stack2.yDomain(yScale2.domain());\n\n if(dataStack1.length){d3.transition(stack1Wrap).call(stack1);}\n if(dataStack2.length){d3.transition(stack2Wrap).call(stack2);}\n\n if(dataBars1.length){d3.transition(bars1Wrap).call(bars1);}\n if(dataBars2.length){d3.transition(bars2Wrap).call(bars2);}\n\n if(dataLines1.length){d3.transition(lines1Wrap).call(lines1);}\n if(dataLines2.length){d3.transition(lines2Wrap).call(lines2);}\n\n if(dataScatters1.length){d3.transition(scatters1Wrap).call(scatters1);}\n if(dataScatters2.length){d3.transition(scatters2Wrap).call(scatters2);}\n\n xAxis\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + availableHeight + ')');\n d3.transition(g.select('.nv-x.nv-axis'))\n .call(xAxis);\n\n yAxis1\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n\n d3.transition(g.select('.nv-y1.nv-axis'))\n .call(yAxis1);\n\n yAxis2\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n d3.transition(g.select('.nv-y2.nv-axis'))\n .call(yAxis2);\n\n g.select('.nv-y1.nv-axis')\n .classed('nv-disabled', series1.length ? false : true)\n .attr('transform', 'translate(' + x.range()[0] + ',0)');\n\n g.select('.nv-y2.nv-axis')\n .classed('nv-disabled', series2.length ? false : true)\n .attr('transform', 'translate(' + x.range()[1] + ',0)');\n\n legend.dispatch.on('stateChange', function(newState) {\n chart.update();\n });\n\n if(useInteractiveGuideline){\n interactiveLayer\n .width(availableWidth)\n .height(availableHeight)\n .margin({left:margin.left, top:margin.top})\n .svgContainer(container)\n .xScale(x);\n wrap.select(\".nv-interactive\").call(interactiveLayer);\n }\n\n //============================================================\n // Event Handling/Dispatching\n //------------------------------------------------------------\n\n function mouseover_line(evt) {\n var yaxis = data[evt.seriesIndex].yAxis === 2 ? yAxis2 : yAxis1;\n evt.value = evt.point.x;\n evt.series = {\n value: evt.point.y,\n color: evt.point.color,\n key: evt.series.key\n };\n tooltip\n .duration(0)\n .headerFormatter(function(d, i) {\n \treturn xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return yaxis.tickFormat()(d, i);\n })\n .data(evt)\n .hidden(false);\n }\n\n function mouseover_scatter(evt) {\n var yaxis = data[evt.seriesIndex].yAxis === 2 ? yAxis2 : yAxis1;\n evt.value = evt.point.x;\n evt.series = {\n value: evt.point.y,\n color: evt.point.color,\n key: evt.series.key\n };\n tooltip\n .duration(100)\n .headerFormatter(function(d, i) {\n \treturn xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return yaxis.tickFormat()(d, i);\n })\n .data(evt)\n .hidden(false);\n }\n\n function mouseover_stack(evt) {\n var yaxis = data[evt.seriesIndex].yAxis === 2 ? yAxis2 : yAxis1;\n evt.point['x'] = stack1.x()(evt.point);\n evt.point['y'] = stack1.y()(evt.point);\n tooltip\n .duration(0)\n .headerFormatter(function(d, i) {\n \treturn xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return yaxis.tickFormat()(d, i);\n })\n .data(evt)\n .hidden(false);\n }\n\n function mouseover_bar(evt) {\n var yaxis = data[evt.data.series].yAxis === 2 ? yAxis2 : yAxis1;\n\n evt.value = bars1.x()(evt.data);\n evt['series'] = {\n value: bars1.y()(evt.data),\n color: evt.color,\n key: evt.data.key\n };\n tooltip\n .duration(0)\n .headerFormatter(function(d, i) {\n \treturn xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return yaxis.tickFormat()(d, i);\n })\n .data(evt)\n .hidden(false);\n }\n\n\n\n function clearHighlights() {\n for(var i=0, il=charts.length; i < il; i++){\n var chart = charts[i];\n try {\n chart.clearHighlights();\n } catch(e){}\n }\n }\n\n function highlightPoint(serieIndex, pointIndex, b){\n for(var i=0, il=charts.length; i < il; i++){\n var chart = charts[i];\n try {\n chart.highlightPoint(serieIndex, pointIndex, b);\n } catch(e){}\n }\n }\n\n if(useInteractiveGuideline){\n interactiveLayer.dispatch.on('elementMousemove', function(e) {\n clearHighlights();\n var singlePoint, pointIndex, pointXLocation, allData = [];\n data\n .filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled;\n })\n .forEach(function(series,i) {\n var extent = x.domain();\n var currentValues = series.values.filter(function(d,i) {\n return chart.x()(d,i) >= extent[0] && chart.x()(d,i) <= extent[1];\n });\n\n pointIndex = nv.interactiveBisect(currentValues, e.pointXValue, chart.x());\n var point = currentValues[pointIndex];\n var pointYValue = chart.y()(point, pointIndex);\n if (pointYValue !== null) {\n highlightPoint(i, pointIndex, true);\n }\n if (point === undefined) return;\n if (singlePoint === undefined) singlePoint = point;\n if (pointXLocation === undefined) pointXLocation = x(chart.x()(point,pointIndex));\n allData.push({\n key: series.key,\n value: pointYValue,\n color: color(series,series.seriesIndex),\n data: point,\n yAxis: series.yAxis == 2 ? yAxis2 : yAxis1\n });\n });\n\n var defaultValueFormatter = function(d,i) {\n var yAxis = allData[i].yAxis;\n return d == null ? \"N/A\" : yAxis.tickFormat()(d);\n };\n\n interactiveLayer.tooltip\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n })\n .valueFormatter(interactiveLayer.tooltip.valueFormatter() || defaultValueFormatter)\n .data({\n value: chart.x()( singlePoint,pointIndex ),\n index: pointIndex,\n series: allData\n })();\n\n interactiveLayer.renderGuideLine(pointXLocation);\n });\n\n interactiveLayer.dispatch.on(\"elementMouseout\",function(e) {\n clearHighlights();\n });\n } else {\n lines1.dispatch.on('elementMouseover.tooltip', mouseover_line);\n lines2.dispatch.on('elementMouseover.tooltip', mouseover_line);\n lines1.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n lines2.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n\n scatters1.dispatch.on('elementMouseover.tooltip', mouseover_scatter);\n scatters2.dispatch.on('elementMouseover.tooltip', mouseover_scatter);\n scatters1.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n scatters2.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n\n stack1.dispatch.on('elementMouseover.tooltip', mouseover_stack);\n stack2.dispatch.on('elementMouseover.tooltip', mouseover_stack);\n stack1.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n stack2.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n\n bars1.dispatch.on('elementMouseover.tooltip', mouseover_bar);\n bars2.dispatch.on('elementMouseover.tooltip', mouseover_bar);\n\n bars1.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n bars2.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n bars1.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n bars2.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n }\n });\n\n return chart;\n }\n\n //============================================================\n // Global getters and setters\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.legend = legend;\n chart.lines1 = lines1;\n chart.lines2 = lines2;\n chart.scatters1 = scatters1;\n chart.scatters2 = scatters2;\n chart.bars1 = bars1;\n chart.bars2 = bars2;\n chart.stack1 = stack1;\n chart.stack2 = stack2;\n chart.xAxis = xAxis;\n chart.yAxis1 = yAxis1;\n chart.yAxis2 = yAxis2;\n chart.tooltip = tooltip;\n chart.interactiveLayer = interactiveLayer;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n yDomain1: {get: function(){return yDomain1;}, set: function(_){yDomain1=_;}},\n yDomain2: {get: function(){return yDomain2;}, set: function(_){yDomain2=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n interpolate: {get: function(){return interpolate;}, set: function(_){interpolate=_;}},\n legendRightAxisHint: {get: function(){return legendRightAxisHint;}, set: function(_){legendRightAxisHint=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n x: {get: function(){return getX;}, set: function(_){\n getX = _;\n lines1.x(_);\n lines2.x(_);\n scatters1.x(_);\n scatters2.x(_);\n bars1.x(_);\n bars2.x(_);\n stack1.x(_);\n stack2.x(_);\n }},\n y: {get: function(){return getY;}, set: function(_){\n getY = _;\n lines1.y(_);\n lines2.y(_);\n scatters1.y(_);\n scatters2.y(_);\n stack1.y(_);\n stack2.y(_);\n bars1.y(_);\n bars2.y(_);\n }},\n useVoronoi: {get: function(){return useVoronoi;}, set: function(_){\n useVoronoi=_;\n lines1.useVoronoi(_);\n lines2.useVoronoi(_);\n stack1.useVoronoi(_);\n stack2.useVoronoi(_);\n }},\n\n useInteractiveGuideline: {get: function(){return useInteractiveGuideline;}, set: function(_){\n useInteractiveGuideline = _;\n if (useInteractiveGuideline) {\n lines1.interactive(false);\n lines1.useVoronoi(false);\n lines2.interactive(false);\n lines2.useVoronoi(false);\n stack1.interactive(false);\n stack1.useVoronoi(false);\n stack2.interactive(false);\n stack2.useVoronoi(false);\n scatters1.interactive(false);\n scatters2.interactive(false);\n }\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.ohlcBar = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = null\n , height = null\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container = null\n , x = d3.scale.linear()\n , y = d3.scale.linear()\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , getOpen = function(d) { return d.open }\n , getClose = function(d) { return d.close }\n , getHigh = function(d) { return d.high }\n , getLow = function(d) { return d.low }\n , forceX = []\n , forceY = []\n , padData = false // If true, adds half a data points width to front and back, for lining up a line chart with a bar chart\n , clipEdge = true\n , color = nv.utils.defaultColor()\n , interactive = false\n , xDomain\n , yDomain\n , xRange\n , yRange\n , dispatch = d3.dispatch('stateChange', 'changeState', 'renderEnd', 'chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove')\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n function chart(selection) {\n selection.each(function(data) {\n container = d3.select(this);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n nv.utils.initSVG(container);\n\n // ohlc bar width.\n var w = (availableWidth / data[0].values.length) * .9;\n\n // Setup Scales\n x.domain(xDomain || d3.extent(data[0].values.map(getX).concat(forceX) ));\n\n if (padData)\n x.range(xRange || [availableWidth * .5 / data[0].values.length, availableWidth * (data[0].values.length - .5) / data[0].values.length ]);\n else\n x.range(xRange || [5 + w/2, availableWidth - w/2 - 5]);\n\n y.domain(yDomain || [\n d3.min(data[0].values.map(getLow).concat(forceY)),\n d3.max(data[0].values.map(getHigh).concat(forceY))\n ]\n ).range(yRange || [availableHeight, 0]);\n\n // If scale's domain don't have a range, slightly adjust to make one... so a chart can show a single data point\n if (x.domain()[0] === x.domain()[1])\n x.domain()[0] ?\n x.domain([x.domain()[0] - x.domain()[0] * 0.01, x.domain()[1] + x.domain()[1] * 0.01])\n : x.domain([-1,1]);\n\n if (y.domain()[0] === y.domain()[1])\n y.domain()[0] ?\n y.domain([y.domain()[0] + y.domain()[0] * 0.01, y.domain()[1] - y.domain()[1] * 0.01])\n : y.domain([-1,1]);\n\n // Setup containers and skeleton of chart\n var wrap = d3.select(this).selectAll('g.nv-wrap.nv-ohlcBar').data([data[0].values]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-ohlcBar');\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-ticks');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n container\n .on('click', function(d,i) {\n dispatch.chartClick({\n data: d,\n index: i,\n pos: d3.event,\n id: id\n });\n });\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-chart-clip-path-' + id)\n .append('rect');\n\n wrap.select('#nv-chart-clip-path-' + id + ' rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n g .attr('clip-path', clipEdge ? 'url(#nv-chart-clip-path-' + id + ')' : '');\n\n var ticks = wrap.select('.nv-ticks').selectAll('.nv-tick')\n .data(function(d) { return d });\n ticks.exit().remove();\n\n ticks.enter().append('path')\n .attr('class', function(d,i,j) { return (getOpen(d,i) > getClose(d,i) ? 'nv-tick negative' : 'nv-tick positive') + ' nv-tick-' + j + '-' + i })\n .attr('d', function(d,i) {\n return 'm0,0l0,'\n + (y(getOpen(d,i))\n - y(getHigh(d,i)))\n + 'l'\n + (-w/2)\n + ',0l'\n + (w/2)\n + ',0l0,'\n + (y(getLow(d,i)) - y(getOpen(d,i)))\n + 'l0,'\n + (y(getClose(d,i))\n - y(getLow(d,i)))\n + 'l'\n + (w/2)\n + ',0l'\n + (-w/2)\n + ',0z';\n })\n .attr('transform', function(d,i) { return 'translate(' + x(getX(d,i)) + ',' + y(getHigh(d,i)) + ')'; })\n .attr('fill', function(d,i) { return color[0]; })\n .attr('stroke', function(d,i) { return color[0]; })\n .attr('x', 0 )\n .attr('y', function(d,i) { return y(Math.max(0, getY(d,i))) })\n .attr('height', function(d,i) { return Math.abs(y(getY(d,i)) - y(0)) });\n\n // the bar colors are controlled by CSS currently\n ticks.attr('class', function(d,i,j) {\n return (getOpen(d,i) > getClose(d,i) ? 'nv-tick negative' : 'nv-tick positive') + ' nv-tick-' + j + '-' + i;\n });\n\n d3.transition(ticks)\n .attr('transform', function(d,i) { return 'translate(' + x(getX(d,i)) + ',' + y(getHigh(d,i)) + ')'; })\n .attr('d', function(d,i) {\n var w = (availableWidth / data[0].values.length) * .9;\n return 'm0,0l0,'\n + (y(getOpen(d,i))\n - y(getHigh(d,i)))\n + 'l'\n + (-w/2)\n + ',0l'\n + (w/2)\n + ',0l0,'\n + (y(getLow(d,i))\n - y(getOpen(d,i)))\n + 'l0,'\n + (y(getClose(d,i))\n - y(getLow(d,i)))\n + 'l'\n + (w/2)\n + ',0l'\n + (-w/2)\n + ',0z';\n });\n });\n\n return chart;\n }\n\n\n //Create methods to allow outside functions to highlight a specific bar.\n chart.highlightPoint = function(pointIndex, isHoverOver) {\n chart.clearHighlights();\n container.select(\".nv-ohlcBar .nv-tick-0-\" + pointIndex)\n .classed(\"hover\", isHoverOver)\n ;\n };\n\n chart.clearHighlights = function() {\n container.select(\".nv-ohlcBar .nv-tick.hover\")\n .classed(\"hover\", false)\n ;\n };\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n forceX: {get: function(){return forceX;}, set: function(_){forceX=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n padData: {get: function(){return padData;}, set: function(_){padData=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n interactive: {get: function(){return interactive;}, set: function(_){interactive=_;}},\n\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n open: {get: function(){return getOpen();}, set: function(_){getOpen=_;}},\n close: {get: function(){return getClose();}, set: function(_){getClose=_;}},\n high: {get: function(){return getHigh;}, set: function(_){getHigh=_;}},\n low: {get: function(){return getLow;}, set: function(_){getLow=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top != undefined ? _.top : margin.top;\n margin.right = _.right != undefined ? _.right : margin.right;\n margin.bottom = _.bottom != undefined ? _.bottom : margin.bottom;\n margin.left = _.left != undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n return chart;\n};\n// Code adapted from Jason Davies' \"Parallel Coordinates\"\n// http://bl.ocks.org/jasondavies/1341281\nnv.models.parallelCoordinates = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 30, right: 0, bottom: 10, left: 0}\n , width = null\n , height = null\n , availableWidth = null\n , availableHeight = null\n , x = d3.scale.ordinal()\n , y = {}\n , undefinedValuesLabel = \"undefined values\"\n , dimensionData = []\n , enabledDimensions = []\n , dimensionNames = []\n , displayBrush = true\n , color = nv.utils.defaultColor()\n , filters = []\n , active = []\n , dragging = []\n , axisWithUndefinedValues = []\n , lineTension = 1\n , foreground\n , background\n , dimensions\n , line = d3.svg.line()\n , axis = d3.svg.axis()\n , dispatch = d3.dispatch('brushstart', 'brush', 'brushEnd', 'dimensionsOrder', \"stateChange\", 'elementClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd', 'activeChanged')\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var container = d3.select(this);\n availableWidth = nv.utils.availableWidth(width, container, margin);\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n nv.utils.initSVG(container);\n\n //Convert old data to new format (name, values)\n if (data[0].values === undefined) {\n var newData = [];\n data.forEach(function (d) {\n var val = {};\n var key = Object.keys(d);\n key.forEach(function (k) { if (k !== \"name\") val[k] = d[k] });\n newData.push({ key: d.name, values: val });\n });\n data = newData;\n }\n\n var dataValues = data.map(function (d) {return d.values});\n if (active.length === 0) {\n active = data;\n }; //set all active before first brush call\n \n dimensionNames = dimensionData.sort(function (a, b) { return a.currentPosition - b.currentPosition; }).map(function (d) { return d.key });\n enabledDimensions = dimensionData.filter(function (d) { return !d.disabled; });\n \n // Setup Scales\n x.rangePoints([0, availableWidth], 1).domain(enabledDimensions.map(function (d) { return d.key; }));\n\n //Set as true if all values on an axis are missing.\n // Extract the list of dimensions and create a scale for each.\n var oldDomainMaxValue = {};\n var displayMissingValuesline = false;\n var currentTicks = [];\n \n dimensionNames.forEach(function(d) {\n var extent = d3.extent(dataValues, function (p) { return +p[d]; });\n var min = extent[0];\n var max = extent[1];\n var onlyUndefinedValues = false;\n //If there is no values to display on an axis, set the extent to 0\n if (isNaN(min) || isNaN(max)) {\n onlyUndefinedValues = true;\n min = 0;\n max = 0;\n }\n //Scale axis if there is only one value\n if (min === max) {\n min = min - 1;\n max = max + 1;\n }\n var f = filters.filter(function (k) { return k.dimension == d; });\n if (f.length !== 0) {\n //If there is only NaN values, keep the existing domain.\n if (onlyUndefinedValues) {\n min = y[d].domain()[0];\n max = y[d].domain()[1];\n }\n //If the brush extent is > max (< min), keep the extent value.\n else if (!f[0].hasOnlyNaN && displayBrush) {\n min = min > f[0].extent[0] ? f[0].extent[0] : min;\n max = max < f[0].extent[1] ? f[0].extent[1] : max;\n }\n //If there is NaN values brushed be sure the brush extent is on the domain.\n else if (f[0].hasNaN) {\n max = max < f[0].extent[1] ? f[0].extent[1] : max;\n oldDomainMaxValue[d] = y[d].domain()[1];\n displayMissingValuesline = true;\n }\n }\n //Use 90% of (availableHeight - 12) for the axis range, 12 reprensenting the space necessary to display \"undefined values\" text.\n //The remaining 10% are used to display the missingValue line.\n y[d] = d3.scale.linear()\n .domain([min, max])\n .range([(availableHeight - 12) * 0.9, 0]);\n\n axisWithUndefinedValues = [];\n y[d].brush = d3.svg.brush().y(y[d]).on('brushstart', brushstart).on('brush', brush).on('brushend', brushend);\n });\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-parallelCoordinates').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-parallelCoordinates');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-parallelCoordinates background');\n gEnter.append('g').attr('class', 'nv-parallelCoordinates foreground');\n gEnter.append('g').attr('class', 'nv-parallelCoordinates missingValuesline');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n line.interpolate('cardinal').tension(lineTension);\n axis.orient('left');\n var axisDrag = d3.behavior.drag()\n .on('dragstart', dragStart)\n .on('drag', dragMove)\n .on('dragend', dragEnd);\n\n //Add missing value line at the bottom of the chart\n var missingValuesline, missingValueslineText;\n var step = x.range()[1] - x.range()[0];\n if (!isNaN(step)) {\n var lineData = [0 + step / 2, availableHeight - 12, availableWidth - step / 2, availableHeight - 12];\n missingValuesline = wrap.select('.missingValuesline').selectAll('line').data([lineData]);\n missingValuesline.enter().append('line');\n missingValuesline.exit().remove();\n missingValuesline.attr(\"x1\", function(d) { return d[0]; })\n .attr(\"y1\", function(d) { return d[1]; })\n .attr(\"x2\", function(d) { return d[2]; })\n .attr(\"y2\", function(d) { return d[3]; });\n \n //Add the text \"undefined values\" under the missing value line\n missingValueslineText = wrap.select('.missingValuesline').selectAll('text').data([undefinedValuesLabel]);\n missingValueslineText.append('text').data([undefinedValuesLabel]);\n missingValueslineText.enter().append('text');\n missingValueslineText.exit().remove();\n missingValueslineText.attr(\"y\", availableHeight)\n //To have the text right align with the missingValues line, substract 92 representing the text size.\n .attr(\"x\", availableWidth - 92 - step / 2)\n .text(function(d) { return d; });\n }\n // Add grey background lines for context.\n background = wrap.select('.background').selectAll('path').data(data);\n background.enter().append('path');\n background.exit().remove();\n background.attr('d', path);\n\n // Add blue foreground lines for focus.\n foreground = wrap.select('.foreground').selectAll('path').data(data);\n foreground.enter().append('path')\n foreground.exit().remove();\n foreground.attr('d', path)\n .style(\"stroke-width\", function (d, i) {\n if (isNaN(d.strokeWidth)) { d.strokeWidth = 1;} return d.strokeWidth;})\n .attr('stroke', function (d, i) { return d.color || color(d, i); });\n foreground.on(\"mouseover\", function (d, i) {\n d3.select(this).classed('hover', true).style(\"stroke-width\", d.strokeWidth + 2 + \"px\").style(\"stroke-opacity\", 1);\n dispatch.elementMouseover({\n label: d.name,\n color: d.color || color(d, i),\n values: d.values,\n dimensions: enabledDimensions\n });\n\n });\n foreground.on(\"mouseout\", function (d, i) {\n d3.select(this).classed('hover', false).style(\"stroke-width\", d.strokeWidth + \"px\").style(\"stroke-opacity\", 0.7);\n dispatch.elementMouseout({\n label: d.name,\n index: i\n });\n });\n foreground.on('mousemove', function (d, i) {\n dispatch.elementMousemove();\n });\n foreground.on('click', function (d) {\n dispatch.elementClick({\n id: d.id\n });\n });\n // Add a group element for each dimension.\n dimensions = g.selectAll('.dimension').data(enabledDimensions);\n var dimensionsEnter = dimensions.enter().append('g').attr('class', 'nv-parallelCoordinates dimension');\n\n dimensions.attr('transform', function(d) { return 'translate(' + x(d.key) + ',0)'; });\n dimensionsEnter.append('g').attr('class', 'nv-axis');\n\n // Add an axis and title.\n dimensionsEnter.append('text')\n .attr('class', 'nv-label')\n .style(\"cursor\", \"move\")\n .attr('dy', '-1em')\n .attr('text-anchor', 'middle')\n .on(\"mouseover\", function(d, i) {\n dispatch.elementMouseover({\n label: d.tooltip || d.key,\n color: d.color \n });\n })\n .on(\"mouseout\", function(d, i) {\n dispatch.elementMouseout({\n label: d.tooltip\n });\n })\n .on('mousemove', function (d, i) {\n dispatch.elementMousemove();\n })\n .call(axisDrag);\n\n dimensionsEnter.append('g').attr('class', 'nv-brushBackground');\n dimensions.exit().remove();\n dimensions.select('.nv-label').text(function (d) { return d.key });\n\n // Add and store a brush for each axis.\n restoreBrush(displayBrush);\n\n var actives = dimensionNames.filter(function (p) { return !y[p].brush.empty(); }),\n extents = actives.map(function (p) { return y[p].brush.extent(); });\n var formerActive = active.slice(0);\n\n //Restore active values\n active = [];\n foreground.style(\"display\", function (d) {\n var isActive = actives.every(function (p, i) {\n if ((isNaN(d.values[p]) || isNaN(parseFloat(d.values[p]))) && extents[i][0] == y[p].brush.y().domain()[0]) {\n return true;\n }\n return (extents[i][0] <= d.values[p] && d.values[p] <= extents[i][1]) && !isNaN(parseFloat(d.values[p]));\n });\n if (isActive)\n active.push(d);\n return !isActive ? \"none\" : null;\n\n });\n\n if (filters.length > 0 || !nv.utils.arrayEquals(active, formerActive)) {\n dispatch.activeChanged(active);\n }\n\n // Returns the path for a given data point.\n function path(d) {\n return line(enabledDimensions.map(function (p) {\n //If value if missing, put the value on the missing value line\n if (isNaN(d.values[p.key]) || isNaN(parseFloat(d.values[p.key])) || displayMissingValuesline) {\n var domain = y[p.key].domain();\n var range = y[p.key].range();\n var min = domain[0] - (domain[1] - domain[0]) / 9;\n\n //If it's not already the case, allow brush to select undefined values\n if (axisWithUndefinedValues.indexOf(p.key) < 0) {\n\n var newscale = d3.scale.linear().domain([min, domain[1]]).range([availableHeight - 12, range[1]]);\n y[p.key].brush.y(newscale);\n axisWithUndefinedValues.push(p.key);\n }\n if (isNaN(d.values[p.key]) || isNaN(parseFloat(d.values[p.key]))) {\n return [x(p.key), y[p.key](min)];\n }\n }\n\n //If parallelCoordinate contain missing values show the missing values line otherwise, hide it.\n if (missingValuesline !== undefined) {\n if (axisWithUndefinedValues.length > 0 || displayMissingValuesline) {\n missingValuesline.style(\"display\", \"inline\");\n missingValueslineText.style(\"display\", \"inline\");\n } else {\n missingValuesline.style(\"display\", \"none\");\n missingValueslineText.style(\"display\", \"none\");\n }\n }\n return [x(p.key), y[p.key](d.values[p.key])];\n }));\n }\n\n function restoreBrush(visible) {\n filters.forEach(function (f) {\n //If filter brushed NaN values, keep the brush on the bottom of the axis.\n var brushDomain = y[f.dimension].brush.y().domain();\n if (f.hasOnlyNaN) {\n f.extent[1] = (y[f.dimension].domain()[1] - brushDomain[0]) * (f.extent[1] - f.extent[0]) / (oldDomainMaxValue[f.dimension] - f.extent[0]) + brushDomain[0];\n }\n if (f.hasNaN) {\n f.extent[0] = brushDomain[0];\n }\n if (visible)\n y[f.dimension].brush.extent(f.extent);\n });\n \n dimensions.select('.nv-brushBackground')\n .each(function (d) {\n d3.select(this).call(y[d.key].brush);\n\n })\n .selectAll('rect')\n .attr('x', -8)\n .attr('width', 16);\n \n updateTicks();\n }\n \n // Handles a brush event, toggling the display of foreground lines.\n function brushstart() {\n //If brush aren't visible, show it before brushing again.\n if (displayBrush === false) {\n displayBrush = true;\n restoreBrush(true);\n }\n }\n \n // Handles a brush event, toggling the display of foreground lines.\n function brush() {\n actives = dimensionNames.filter(function (p) { return !y[p].brush.empty(); });\n extents = actives.map(function(p) { return y[p].brush.extent(); });\n\n filters = []; //erase current filters\n actives.forEach(function(d,i) {\n filters[i] = {\n dimension: d,\n extent: extents[i],\n hasNaN: false,\n hasOnlyNaN: false\n }\n });\n\n active = []; //erase current active list\n foreground.style('display', function(d) {\n var isActive = actives.every(function(p, i) {\n if ((isNaN(d.values[p]) || isNaN(parseFloat(d.values[p]))) && extents[i][0] == y[p].brush.y().domain()[0]) return true;\n return (extents[i][0] <= d.values[p] && d.values[p] <= extents[i][1]) && !isNaN(parseFloat(d.values[p]));\n });\n if (isActive) active.push(d);\n return isActive ? null : 'none';\n });\n \n updateTicks();\n \n dispatch.brush({\n filters: filters,\n active: active\n });\n }\n function brushend() {\n var hasActiveBrush = actives.length > 0 ? true : false;\n filters.forEach(function (f) {\n if (f.extent[0] === y[f.dimension].brush.y().domain()[0] && axisWithUndefinedValues.indexOf(f.dimension) >= 0)\n f.hasNaN = true;\n if (f.extent[1] < y[f.dimension].domain()[0])\n f.hasOnlyNaN = true;\n });\n dispatch.brushEnd(active, hasActiveBrush);\n } \n function updateTicks() {\n dimensions.select('.nv-axis')\n .each(function (d, i) {\n var f = filters.filter(function (k) { return k.dimension == d.key; });\n currentTicks[d.key] = y[d.key].domain();\n \n //If brush are available, display brush extent\n if (f.length != 0 && displayBrush)\n {\n currentTicks[d.key] = [];\n if (f[0].extent[1] > y[d.key].domain()[0]) \n currentTicks[d.key] = [f[0].extent[1]];\n if (f[0].extent[0] >= y[d.key].domain()[0])\n currentTicks[d.key].push(f[0].extent[0]); \n }\n \n d3.select(this).call(axis.scale(y[d.key]).tickFormat(d.format).tickValues(currentTicks[d.key]));\n });\n }\n function dragStart(d) {\n dragging[d.key] = this.parentNode.__origin__ = x(d.key);\n background.attr(\"visibility\", \"hidden\");\n }\n function dragMove(d) {\n dragging[d.key] = Math.min(availableWidth, Math.max(0, this.parentNode.__origin__ += d3.event.x));\n foreground.attr(\"d\", path);\n enabledDimensions.sort(function (a, b) { return dimensionPosition(a.key) - dimensionPosition(b.key); });\n enabledDimensions.forEach(function (d, i) { return d.currentPosition = i; });\n x.domain(enabledDimensions.map(function (d) { return d.key; }));\n dimensions.attr(\"transform\", function(d) { return \"translate(\" + dimensionPosition(d.key) + \")\"; });\n }\n function dragEnd(d, i) {\n delete this.parentNode.__origin__;\n delete dragging[d.key];\n d3.select(this.parentNode).attr(\"transform\", \"translate(\" + x(d.key) + \")\");\n foreground\n .attr(\"d\", path);\n background\n .attr(\"d\", path)\n .attr(\"visibility\", null);\n\n dispatch.dimensionsOrder(enabledDimensions);\n }\n function dimensionPosition(d) {\n var v = dragging[d];\n return v == null ? x(d) : v;\n }\n });\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width= _;}},\n height: {get: function(){return height;}, set: function(_){height= _;}},\n dimensionData: { get: function () { return dimensionData; }, set: function (_) { dimensionData = _; } },\n displayBrush: { get: function () { return displayBrush; }, set: function (_) { displayBrush = _; } },\n filters: { get: function () { return filters; }, set: function (_) { filters = _; } },\n active: { get: function () { return active; }, set: function (_) { active = _; } },\n lineTension: {get: function(){return lineTension;}, set: function(_){lineTension = _;}},\n undefinedValuesLabel : {get: function(){return undefinedValuesLabel;}, set: function(_){undefinedValuesLabel=_;}},\n \n // deprecated options\n dimensions: {get: function () { return dimensionData.map(function (d){return d.key}); }, set: function (_) {\n // deprecated after 1.8.1\n nv.deprecated('dimensions', 'use dimensionData instead');\n if (dimensionData.length === 0) {\n _.forEach(function (k) { dimensionData.push({ key: k }) })\n } else {\n _.forEach(function (k, i) { dimensionData[i].key= k })\n }\n }},\n dimensionNames: {get: function () { return dimensionData.map(function (d){return d.key}); }, set: function (_) {\n // deprecated after 1.8.1\n nv.deprecated('dimensionNames', 'use dimensionData instead');\n dimensionNames = [];\n if (dimensionData.length === 0) {\n _.forEach(function (k) { dimensionData.push({ key: k }) })\n } else {\n _.forEach(function (k, i) { dimensionData[i].key = k })\n }\n \n }},\n dimensionFormats: {get: function () { return dimensionData.map(function (d) { return d.format }); }, set: function (_) {\n // deprecated after 1.8.1\n nv.deprecated('dimensionFormats', 'use dimensionData instead');\n if (dimensionData.length === 0) {\n _.forEach(function (f) { dimensionData.push({ format: f }) })\n } else {\n _.forEach(function (f, i) { dimensionData[i].format = f })\n }\n\n }},\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n nv.utils.initOptions(chart);\n return chart;\n};\nnv.models.parallelCoordinatesChart = function () {\n \"use strict\";\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var parallelCoordinates = nv.models.parallelCoordinates()\n var legend = nv.models.legend()\n var tooltip = nv.models.tooltip();\n var dimensionTooltip = nv.models.tooltip();\n\n var margin = { top: 0, right: 0, bottom: 0, left: 0 }\n , width = null\n\t\t, height = null\n , showLegend = true\n\t\t, color = nv.utils.defaultColor()\n , state = nv.utils.state()\n , dimensionData = []\n , displayBrush = true\n , defaultState = null\n , noData = null\n , nanValue = \"undefined\"\n , dispatch = d3.dispatch('dimensionsOrder', 'brushEnd', 'stateChange', 'changeState', 'renderEnd')\n , controlWidth = function () { return showControls ? 180 : 0 }\n ;\n\n\t //============================================================\n\n\t\t//============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n var stateGetter = function(data) {\n return function() {\n return {\n active: data.map(function(d) { return !d.disabled })\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if(state.active !== undefined) {\n data.forEach(function(series, i) {\n series.disabled = !state.active[i];\n });\n }\n }\n };\n\n tooltip.contentGenerator(function(data) {\n var str = '';\n if(data.series.length !== 0)\n {\n str = str + '';\n data.series.forEach(function(d){\n str = str + '';\n });\n str = str + '';\n }\n str = str + '
' + data.key + '
' + d.key + '' + d.value + '
';\n return str;\n });\n\n //============================================================\n // Chart function\n //------------------------------------------------------------\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(parallelCoordinates);\n\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n\n var that = this;\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() { container.call(chart); };\n chart.container = this;\n\n state.setter(stateSetter(dimensionData), chart.update)\n .getter(stateGetter(dimensionData))\n .update();\n\n //set state.disabled\n state.disabled = dimensionData.map(function (d) { return !!d.disabled });\n\n //Keep dimensions position in memory\n dimensionData = dimensionData.map(function (d) {d.disabled = !!d.disabled; return d});\n dimensionData.forEach(function (d, i) {\n d.originalPosition = isNaN(d.originalPosition) ? i : d.originalPosition;\n d.currentPosition = isNaN(d.currentPosition) ? i : d.currentPosition;\n });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for(key in state) {\n if(state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display No Data message if there's nothing to show.\n if(!data || !data.length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n //------------------------------------------------------------\n // Setup containers and skeleton of chart\n\n var wrap = container.selectAll('g.nv-wrap.nv-parallelCoordinatesChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-parallelCoordinatesChart').append('g');\n\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-parallelCoordinatesWrap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n\n g.select(\"rect\")\n .attr(\"width\", availableWidth)\n .attr(\"height\", (availableHeight > 0) ? availableHeight : 0);\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth)\n .color(function (d) { return \"rgb(188,190,192)\"; });\n\n g.select('.nv-legendWrap')\n .datum(dimensionData.sort(function (a, b) { return a.originalPosition - b.originalPosition; }))\n .call(legend);\n\n if (legend.height() > margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate( 0 ,' + (-margin.top) + ')');\n }\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Main Chart Component(s)\n parallelCoordinates\n .width(availableWidth)\n .height(availableHeight)\n .dimensionData(dimensionData)\n .displayBrush(displayBrush);\n\n\t\t var parallelCoordinatesWrap = g.select('.nv-parallelCoordinatesWrap ')\n .datum(data);\n\n\t\t parallelCoordinatesWrap.transition().call(parallelCoordinates);\n\n\t\t\t\t//============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n //Display reset brush button\n\t\t parallelCoordinates.dispatch.on('brushEnd', function (active, hasActiveBrush) {\n\t\t if (hasActiveBrush) {\n\t\t displayBrush = true;\n\t\t dispatch.brushEnd(active);\n\t\t } else {\n\n\t\t displayBrush = false;\n\t\t }\n\t\t });\n\n\t\t legend.dispatch.on('stateChange', function(newState) {\n\t\t for(var key in newState) {\n\t\t state[key] = newState[key];\n\t\t }\n\t\t dispatch.stateChange(state);\n\t\t chart.update();\n\t\t });\n\n //Update dimensions order and display reset sorting button\n\t\t parallelCoordinates.dispatch.on('dimensionsOrder', function (e) {\n\t\t dimensionData.sort(function (a, b) { return a.currentPosition - b.currentPosition; });\n\t\t var isSorted = false;\n\t\t dimensionData.forEach(function (d, i) {\n\t\t d.currentPosition = i;\n\t\t if (d.currentPosition !== d.originalPosition)\n\t\t isSorted = true;\n\t\t });\n\t\t dispatch.dimensionsOrder(dimensionData, isSorted);\n\t\t });\n\n\t\t\t\t// Update chart from a state object passed to event handler\n dispatch.on('changeState', function (e) {\n\n if (typeof e.disabled !== 'undefined') {\n dimensionData.forEach(function (series, i) {\n series.disabled = e.disabled[i];\n });\n state.disabled = e.disabled;\n }\n chart.update();\n });\n });\n\n renderWatch.renderEnd('parraleleCoordinateChart immediate');\n return chart;\n }\n\n\t\t//============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n parallelCoordinates.dispatch.on('elementMouseover.tooltip', function (evt) {\n var tp = {\n key: evt.label,\n color: evt.color,\n series: []\n }\n if(evt.values){\n Object.keys(evt.values).forEach(function (d) {\n var dim = evt.dimensions.filter(function (dd) {return dd.key === d;})[0];\n if(dim){\n var v;\n if (isNaN(evt.values[d]) || isNaN(parseFloat(evt.values[d]))) {\n v = nanValue;\n } else {\n v = dim.format(evt.values[d]);\n }\n tp.series.push({ idx: dim.currentPosition, key: d, value: v, color: dim.color });\n }\n });\n tp.series.sort(function(a,b) {return a.idx - b.idx});\n }\n tooltip.data(tp).hidden(false);\n });\n\n parallelCoordinates.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n\n parallelCoordinates.dispatch.on('elementMousemove.tooltip', function () {\n tooltip();\n });\n\t\t //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n\t\t// expose chart's sub-components\n chart.dispatch = dispatch;\n chart.parallelCoordinates = parallelCoordinates;\n chart.legend = legend;\n chart.tooltip = tooltip;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: { get: function () { return width; }, set: function (_) { width = _; } },\n height: { get: function () { return height; }, set: function (_) { height = _; } },\n showLegend: { get: function () { return showLegend; }, set: function (_) { showLegend = _; } },\n defaultState: { get: function () { return defaultState; }, set: function (_) { defaultState = _; } },\n dimensionData: { get: function () { return dimensionData; }, set: function (_) { dimensionData = _; } },\n displayBrush: { get: function () { return displayBrush; }, set: function (_) { displayBrush = _; } },\n noData: { get: function () { return noData; }, set: function (_) { noData = _; } },\n nanValue: { get: function () { return nanValue; }, set: function (_) { nanValue = _; } },\n\n // options that require extra logic in the setter\n margin: {\n get: function () { return margin; },\n set: function (_) {\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }\n },\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n parallelCoordinates.color(color);\n }}\n });\n\n nv.utils.inheritOptions(chart, parallelCoordinates);\n nv.utils.initOptions(chart);\n\n return chart;\n };\nnv.models.pie = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 500\n , height = 500\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container = null\n , color = nv.utils.defaultColor()\n , valueFormat = d3.format(',.2f')\n , showLabels = true\n , labelsOutside = false\n , labelType = \"key\"\n , labelThreshold = .02 //if slice percentage is under this, don't show label\n , donut = false\n , title = false\n , growOnHover = true\n , titleOffset = 0\n , labelSunbeamLayout = false\n , startAngle = false\n , padAngle = false\n , endAngle = false\n , cornerRadius = 0\n , donutRatio = 0.5\n , duration = 250\n , arcsRadius = []\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd')\n ;\n\n var arcs = [];\n var arcsOver = [];\n\n //============================================================\n // chart function\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right\n , availableHeight = height - margin.top - margin.bottom\n , radius = Math.min(availableWidth, availableHeight) / 2\n , arcsRadiusOuter = []\n , arcsRadiusInner = []\n ;\n\n container = d3.select(this)\n if (arcsRadius.length === 0) {\n var outer = radius - radius / 5;\n var inner = donutRatio * radius;\n for (var i = 0; i < data[0].length; i++) {\n arcsRadiusOuter.push(outer);\n arcsRadiusInner.push(inner);\n }\n } else {\n if(growOnHover){\n arcsRadiusOuter = arcsRadius.map(function (d) { return (d.outer - d.outer / 5) * radius; });\n arcsRadiusInner = arcsRadius.map(function (d) { return (d.inner - d.inner / 5) * radius; });\n donutRatio = d3.min(arcsRadius.map(function (d) { return (d.inner - d.inner / 5); }));\n } else {\n arcsRadiusOuter = arcsRadius.map(function (d) { return d.outer * radius; });\n arcsRadiusInner = arcsRadius.map(function (d) { return d.inner * radius; });\n donutRatio = d3.min(arcsRadius.map(function (d) { return d.inner; }));\n }\n }\n nv.utils.initSVG(container);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('.nv-wrap.nv-pie').data(data);\n var wrapEnter = wrap.enter().append('g').attr('class','nvd3 nv-wrap nv-pie nv-chart-' + id);\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n var g_pie = gEnter.append('g').attr('class', 'nv-pie');\n gEnter.append('g').attr('class', 'nv-pieLabels');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n g.select('.nv-pie').attr('transform', 'translate(' + availableWidth / 2 + ',' + availableHeight / 2 + ')');\n g.select('.nv-pieLabels').attr('transform', 'translate(' + availableWidth / 2 + ',' + availableHeight / 2 + ')');\n\n //\n container.on('click', function(d,i) {\n dispatch.chartClick({\n data: d,\n index: i,\n pos: d3.event,\n id: id\n });\n });\n\n arcs = [];\n arcsOver = [];\n for (var i = 0; i < data[0].length; i++) {\n\n var arc = d3.svg.arc().outerRadius(arcsRadiusOuter[i]);\n var arcOver = d3.svg.arc().outerRadius(arcsRadiusOuter[i] + 5);\n\n if (startAngle !== false) {\n arc.startAngle(startAngle);\n arcOver.startAngle(startAngle);\n }\n if (endAngle !== false) {\n arc.endAngle(endAngle);\n arcOver.endAngle(endAngle);\n }\n if (donut) {\n arc.innerRadius(arcsRadiusInner[i]);\n arcOver.innerRadius(arcsRadiusInner[i]);\n }\n\n if (arc.cornerRadius && cornerRadius) {\n arc.cornerRadius(cornerRadius);\n arcOver.cornerRadius(cornerRadius);\n }\n\n arcs.push(arc);\n arcsOver.push(arcOver);\n }\n\n // Setup the Pie chart and choose the data element\n var pie = d3.layout.pie()\n .sort(null)\n .value(function(d) { return d.disabled ? 0 : getY(d) });\n\n // padAngle added in d3 3.5\n if (pie.padAngle && padAngle) {\n pie.padAngle(padAngle);\n }\n\n // if title is specified and donut, put it in the middle\n if (donut && title) {\n g_pie.append(\"text\").attr('class', 'nv-pie-title');\n\n wrap.select('.nv-pie-title')\n .style(\"text-anchor\", \"middle\")\n .text(function (d) {\n return title;\n })\n .style(\"font-size\", (Math.min(availableWidth, availableHeight)) * donutRatio * 2 / (title.length + 2) + \"px\")\n .attr(\"dy\", \"0.35em\") // trick to vertically center text\n .attr('transform', function(d, i) {\n return 'translate(0, '+ titleOffset + ')';\n });\n }\n\n var slices = wrap.select('.nv-pie').selectAll('.nv-slice').data(pie);\n var pieLabels = wrap.select('.nv-pieLabels').selectAll('.nv-label').data(pie);\n\n slices.exit().remove();\n pieLabels.exit().remove();\n\n var ae = slices.enter().append('g');\n ae.attr('class', 'nv-slice');\n ae.on('mouseover', function(d, i) {\n d3.select(this).classed('hover', true);\n if (growOnHover) {\n d3.select(this).select(\"path\").transition()\n .duration(70)\n .attr(\"d\", arcsOver[i]);\n }\n dispatch.elementMouseover({\n data: d.data,\n index: i,\n color: d3.select(this).style(\"fill\"),\n percent: (d.endAngle - d.startAngle) / (2 * Math.PI)\n });\n });\n ae.on('mouseout', function(d, i) {\n d3.select(this).classed('hover', false);\n if (growOnHover) {\n d3.select(this).select(\"path\").transition()\n .duration(50)\n .attr(\"d\", arcs[i]);\n }\n dispatch.elementMouseout({data: d.data, index: i});\n });\n ae.on('mousemove', function(d, i) {\n dispatch.elementMousemove({data: d.data, index: i});\n });\n ae.on('click', function(d, i) {\n var element = this;\n dispatch.elementClick({\n data: d.data,\n index: i,\n color: d3.select(this).style(\"fill\"),\n event: d3.event,\n element: element\n });\n });\n ae.on('dblclick', function(d, i) {\n dispatch.elementDblClick({\n data: d.data,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n });\n\n slices.attr('fill', function(d,i) { return color(d.data, i); });\n slices.attr('stroke', function(d,i) { return color(d.data, i); });\n\n var paths = ae.append('path').each(function(d) {\n this._current = d;\n });\n\n slices.select('path')\n .transition()\n .duration(duration)\n .attr('d', function (d, i) { return arcs[i](d); })\n .attrTween('d', arcTween);\n\n if (showLabels) {\n // This does the normal label\n var labelsArc = [];\n for (var i = 0; i < data[0].length; i++) {\n labelsArc.push(arcs[i]);\n\n if (labelsOutside) {\n if (donut) {\n labelsArc[i] = d3.svg.arc().outerRadius(arcs[i].outerRadius());\n if (startAngle !== false) labelsArc[i].startAngle(startAngle);\n if (endAngle !== false) labelsArc[i].endAngle(endAngle);\n }\n } else if (!donut) {\n labelsArc[i].innerRadius(0);\n }\n }\n\n pieLabels.enter().append(\"g\").classed(\"nv-label\",true).each(function(d,i) {\n var group = d3.select(this);\n\n group.attr('transform', function (d, i) {\n if (labelSunbeamLayout) {\n d.outerRadius = arcsRadiusOuter[i] + 10; // Set Outer Coordinate\n d.innerRadius = arcsRadiusOuter[i] + 15; // Set Inner Coordinate\n var rotateAngle = (d.startAngle + d.endAngle) / 2 * (180 / Math.PI);\n if ((d.startAngle + d.endAngle) / 2 < Math.PI) {\n rotateAngle -= 90;\n } else {\n rotateAngle += 90;\n }\n return 'translate(' + labelsArc[i].centroid(d) + ') rotate(' + rotateAngle + ')';\n } else {\n d.outerRadius = radius + 10; // Set Outer Coordinate\n d.innerRadius = radius + 15; // Set Inner Coordinate\n return 'translate(' + labelsArc[i].centroid(d) + ')'\n }\n });\n\n group.append('rect')\n .style('stroke', '#fff')\n .style('fill', '#fff')\n .attr(\"rx\", 3)\n .attr(\"ry\", 3);\n\n group.append('text')\n .style('text-anchor', labelSunbeamLayout ? ((d.startAngle + d.endAngle) / 2 < Math.PI ? 'start' : 'end') : 'middle') //center the text on it's origin or begin/end if orthogonal aligned\n .style('fill', '#000')\n });\n\n var labelLocationHash = {};\n var avgHeight = 14;\n var avgWidth = 140;\n var createHashKey = function(coordinates) {\n return Math.floor(coordinates[0]/avgWidth) * avgWidth + ',' + Math.floor(coordinates[1]/avgHeight) * avgHeight;\n };\n var getSlicePercentage = function(d) {\n return (d.endAngle - d.startAngle) / (2 * Math.PI);\n };\n\n pieLabels.watchTransition(renderWatch, 'pie labels').attr('transform', function (d, i) {\n if (labelSunbeamLayout) {\n d.outerRadius = arcsRadiusOuter[i] + 10; // Set Outer Coordinate\n d.innerRadius = arcsRadiusOuter[i] + 15; // Set Inner Coordinate\n var rotateAngle = (d.startAngle + d.endAngle) / 2 * (180 / Math.PI);\n if ((d.startAngle + d.endAngle) / 2 < Math.PI) {\n rotateAngle -= 90;\n } else {\n rotateAngle += 90;\n }\n return 'translate(' + labelsArc[i].centroid(d) + ') rotate(' + rotateAngle + ')';\n } else {\n d.outerRadius = radius + 10; // Set Outer Coordinate\n d.innerRadius = radius + 15; // Set Inner Coordinate\n\n /*\n Overlapping pie labels are not good. What this attempts to do is, prevent overlapping.\n Each label location is hashed, and if a hash collision occurs, we assume an overlap.\n Adjust the label's y-position to remove the overlap.\n */\n var center = labelsArc[i].centroid(d);\n var percent = getSlicePercentage(d);\n if (d.value && percent >= labelThreshold) {\n var hashKey = createHashKey(center);\n if (labelLocationHash[hashKey]) {\n center[1] -= avgHeight;\n }\n labelLocationHash[createHashKey(center)] = true;\n }\n return 'translate(' + center + ')'\n }\n });\n\n pieLabels.select(\".nv-label text\")\n .style('text-anchor', function(d,i) {\n //center the text on it's origin or begin/end if orthogonal aligned\n return labelSunbeamLayout ? ((d.startAngle + d.endAngle) / 2 < Math.PI ? 'start' : 'end') : 'middle';\n })\n .text(function(d, i) {\n var percent = getSlicePercentage(d);\n var label = '';\n if (!d.value || percent < labelThreshold) return '';\n\n if(typeof labelType === 'function') {\n label = labelType(d, i, {\n 'key': getX(d.data),\n 'value': getY(d.data),\n 'percent': valueFormat(percent)\n });\n } else {\n switch (labelType) {\n case 'key':\n label = getX(d.data);\n break;\n case 'value':\n label = valueFormat(getY(d.data));\n break;\n case 'percent':\n label = d3.format('%')(percent);\n break;\n }\n }\n return label;\n })\n ;\n }\n\n\n // Computes the angle of an arc, converting from radians to degrees.\n function angle(d) {\n var a = (d.startAngle + d.endAngle) * 90 / Math.PI - 90;\n return a > 90 ? a - 180 : a;\n }\n\n function arcTween(a, idx) {\n a.endAngle = isNaN(a.endAngle) ? 0 : a.endAngle;\n a.startAngle = isNaN(a.startAngle) ? 0 : a.startAngle;\n if (!donut) a.innerRadius = 0;\n var i = d3.interpolate(this._current, a);\n this._current = i(0);\n return function (t) {\n return arcs[idx](i(t));\n };\n }\n });\n\n renderWatch.renderEnd('pie immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n arcsRadius: { get: function () { return arcsRadius; }, set: function (_) { arcsRadius = _; } },\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLabels: {get: function(){return showLabels;}, set: function(_){showLabels=_;}},\n title: {get: function(){return title;}, set: function(_){title=_;}},\n titleOffset: {get: function(){return titleOffset;}, set: function(_){titleOffset=_;}},\n labelThreshold: {get: function(){return labelThreshold;}, set: function(_){labelThreshold=_;}},\n valueFormat: {get: function(){return valueFormat;}, set: function(_){valueFormat=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n endAngle: {get: function(){return endAngle;}, set: function(_){endAngle=_;}},\n startAngle: {get: function(){return startAngle;}, set: function(_){startAngle=_;}},\n padAngle: {get: function(){return padAngle;}, set: function(_){padAngle=_;}},\n cornerRadius: {get: function(){return cornerRadius;}, set: function(_){cornerRadius=_;}},\n donutRatio: {get: function(){return donutRatio;}, set: function(_){donutRatio=_;}},\n labelsOutside: {get: function(){return labelsOutside;}, set: function(_){labelsOutside=_;}},\n labelSunbeamLayout: {get: function(){return labelSunbeamLayout;}, set: function(_){labelSunbeamLayout=_;}},\n donut: {get: function(){return donut;}, set: function(_){donut=_;}},\n growOnHover: {get: function(){return growOnHover;}, set: function(_){growOnHover=_;}},\n\n // depreciated after 1.7.1\n pieLabelsOutside: {get: function(){return labelsOutside;}, set: function(_){\n labelsOutside=_;\n nv.deprecated('pieLabelsOutside', 'use labelsOutside instead');\n }},\n // depreciated after 1.7.1\n donutLabelsOutside: {get: function(){return labelsOutside;}, set: function(_){\n labelsOutside=_;\n nv.deprecated('donutLabelsOutside', 'use labelsOutside instead');\n }},\n // deprecated after 1.7.1\n labelFormat: {get: function(){ return valueFormat;}, set: function(_) {\n valueFormat=_;\n nv.deprecated('labelFormat','use valueFormat instead');\n }},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = typeof _.top != 'undefined' ? _.top : margin.top;\n margin.right = typeof _.right != 'undefined' ? _.right : margin.right;\n margin.bottom = typeof _.bottom != 'undefined' ? _.bottom : margin.bottom;\n margin.left = typeof _.left != 'undefined' ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }},\n y: {get: function(){return getY;}, set: function(_){\n getY=d3.functor(_);\n }},\n color: {get: function(){return color;}, set: function(_){\n color=nv.utils.getColor(_);\n }},\n labelType: {get: function(){return labelType;}, set: function(_){\n labelType= _ || 'key';\n }}\n });\n\n nv.utils.initOptions(chart);\n return chart;\n};\nnv.models.pieChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var pie = nv.models.pie();\n var legend = nv.models.legend();\n var tooltip = nv.models.tooltip();\n\n var margin = {top: 30, right: 20, bottom: 20, left: 20}\n , width = null\n , height = null\n , showTooltipPercent = false\n , showLegend = true\n , legendPosition = \"top\"\n , color = nv.utils.defaultColor()\n , state = nv.utils.state()\n , defaultState = null\n , noData = null\n , duration = 250\n , dispatch = d3.dispatch('stateChange', 'changeState','renderEnd')\n ;\n\n tooltip\n .duration(0)\n .headerEnabled(false)\n .valueFormatter(function(d, i) {\n return pie.valueFormat()(d, i);\n });\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled })\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.active !== undefined) {\n data.forEach(function (series, i) {\n series.disabled = !state.active[i];\n });\n }\n }\n };\n\n //============================================================\n // Chart function\n //------------------------------------------------------------\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(pie);\n\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n\n var that = this;\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() { container.transition().call(chart); };\n chart.container = this;\n\n state.setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n //set state.disabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-pieChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-pieChart').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-pieWrap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n if (legendPosition === \"top\") {\n legend.width( availableWidth ).key(pie.x());\n\n wrap.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (legend.height() > margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + (-margin.top) +')');\n } else if (legendPosition === \"right\") {\n var legendWidth = nv.models.legend().width();\n if (availableWidth / 2 < legendWidth) {\n legendWidth = (availableWidth / 2)\n }\n legend.height(availableHeight).key(pie.x());\n legend.width(legendWidth);\n availableWidth -= legend.width();\n\n wrap.select('.nv-legendWrap')\n .datum(data)\n .call(legend)\n .attr('transform', 'translate(' + (availableWidth) +',0)');\n }\n }\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Main Chart Component(s)\n pie.width(availableWidth).height(availableHeight);\n var pieWrap = g.select('.nv-pieWrap').datum([data]);\n d3.transition(pieWrap).call(pie);\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState) {\n state[key] = newState[key];\n }\n dispatch.stateChange(state);\n chart.update();\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n state.disabled = e.disabled;\n }\n chart.update();\n });\n });\n\n renderWatch.renderEnd('pieChart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n pie.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt['series'] = {\n key: chart.x()(evt.data),\n value: chart.y()(evt.data),\n color: evt.color,\n percent: evt.percent\n };\n if (!showTooltipPercent) {\n delete evt.percent;\n delete evt.series.percent;\n }\n tooltip.data(evt).hidden(false);\n });\n\n pie.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n pie.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.legend = legend;\n chart.dispatch = dispatch;\n chart.pie = pie;\n chart.tooltip = tooltip;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n // use Object get/set functionality to map between vars and chart functions\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n showTooltipPercent: {get: function(){return showTooltipPercent;}, set: function(_){showTooltipPercent=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n legendPosition: {get: function(){return legendPosition;}, set: function(_){legendPosition=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n\n // options that require extra logic in the setter\n color: {get: function(){return color;}, set: function(_){\n color = _;\n legend.color(color);\n pie.color(color);\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n pie.duration(duration);\n }},\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }}\n });\n nv.utils.inheritOptions(chart, pie);\n nv.utils.initOptions(chart);\n return chart;\n};\n\nnv.models.scatter = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = null\n , height = null\n , color = nv.utils.defaultColor() // chooses color\n , id = Math.floor(Math.random() * 100000) //Create semi-unique ID incase user doesn't select one\n , container = null\n , x = d3.scale.linear()\n , y = d3.scale.linear()\n , z = d3.scale.linear() //linear because d3.svg.shape.size is treated as area\n , getX = function(d) { return d.x } // accessor to get the x value\n , getY = function(d) { return d.y } // accessor to get the y value\n , getSize = function(d) { return d.size || 1} // accessor to get the point size\n , getShape = function(d) { return d.shape || 'circle' } // accessor to get point shape\n , forceX = [] // List of numbers to Force into the X scale (ie. 0, or a max / min, etc.)\n , forceY = [] // List of numbers to Force into the Y scale\n , forceSize = [] // List of numbers to Force into the Size scale\n , interactive = true // If true, plots a voronoi overlay for advanced point intersection\n , pointActive = function(d) { return !d.notActive } // any points that return false will be filtered out\n , padData = false // If true, adds half a data points width to front and back, for lining up a line chart with a bar chart\n , padDataOuter = .1 //outerPadding to imitate ordinal scale outer padding\n , clipEdge = false // if true, masks points within x and y scale\n , clipVoronoi = true // if true, masks each point with a circle... can turn off to slightly increase performance\n , showVoronoi = false // display the voronoi areas\n , clipRadius = function() { return 25 } // function to get the radius for voronoi point clips\n , xDomain = null // Override x domain (skips the calculation from data)\n , yDomain = null // Override y domain\n , xRange = null // Override x range\n , yRange = null // Override y range\n , sizeDomain = null // Override point size domain\n , sizeRange = null\n , singlePoint = false\n , dispatch = d3.dispatch('elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'renderEnd')\n , useVoronoi = true\n , duration = 250\n , interactiveUpdateDelay = 300\n , showLabels = false \n ;\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x0, y0, z0 // used to store previous scales\n , timeoutID\n , needsUpdate = false // Flag for when the points are visually updating, but the interactive layer is behind, to disable tooltips\n , renderWatch = nv.utils.renderWatch(dispatch, duration)\n , _sizeRange_def = [16, 256]\n , _caches\n ;\n\n function getCache(d) {\n var cache, i;\n cache = _caches = _caches || {};\n i = d[0].series;\n cache = cache[i] = cache[i] || {};\n i = d[1];\n cache = cache[i] = cache[i] || {};\n return cache;\n }\n\n function getDiffs(d) {\n var i, key,\n point = d[0],\n cache = getCache(d),\n diffs = false;\n for (i = 1; i < arguments.length; i ++) {\n key = arguments[i];\n if (cache[key] !== point[key] || !cache.hasOwnProperty(key)) {\n cache[key] = point[key];\n diffs = true;\n }\n }\n return diffs;\n }\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n container = d3.select(this);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n nv.utils.initSVG(container);\n\n //add series index to each data point for reference\n data.forEach(function(series, i) {\n series.values.forEach(function(point) {\n point.series = i;\n });\n });\n\n // Setup Scales\n var logScale = chart.yScale().name === d3.scale.log().name ? true : false; \n // remap and flatten the data for use in calculating the scales' domains\n var seriesData = (xDomain && yDomain && sizeDomain) ? [] : // if we know xDomain and yDomain and sizeDomain, no need to calculate.... if Size is constant remember to set sizeDomain to speed up performance\n d3.merge(\n data.map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d,i), y: getY(d,i), size: getSize(d,i) }\n })\n })\n );\n\n x .domain(xDomain || d3.extent(seriesData.map(function(d) { return d.x; }).concat(forceX)))\n\n if (padData && data[0])\n x.range(xRange || [(availableWidth * padDataOuter + availableWidth) / (2 *data[0].values.length), availableWidth - availableWidth * (1 + padDataOuter) / (2 * data[0].values.length) ]);\n //x.range([availableWidth * .5 / data[0].values.length, availableWidth * (data[0].values.length - .5) / data[0].values.length ]);\n else\n x.range(xRange || [0, availableWidth]);\n\n if (logScale) {\n var min = d3.min(seriesData.map(function(d) { if (d.y !== 0) return d.y; }));\n y.clamp(true)\n .domain(yDomain || d3.extent(seriesData.map(function(d) {\n if (d.y !== 0) return d.y;\n else return min * 0.1;\n }).concat(forceY)))\n .range(yRange || [availableHeight, 0]);\n } else {\n y.domain(yDomain || d3.extent(seriesData.map(function (d) { return d.y;}).concat(forceY)))\n .range(yRange || [availableHeight, 0]);\n }\n\n z .domain(sizeDomain || d3.extent(seriesData.map(function(d) { return d.size }).concat(forceSize)))\n .range(sizeRange || _sizeRange_def);\n\n // If scale's domain don't have a range, slightly adjust to make one... so a chart can show a single data point\n singlePoint = x.domain()[0] === x.domain()[1] || y.domain()[0] === y.domain()[1];\n\n if (x.domain()[0] === x.domain()[1])\n x.domain()[0] ?\n x.domain([x.domain()[0] - x.domain()[0] * 0.01, x.domain()[1] + x.domain()[1] * 0.01])\n : x.domain([-1,1]);\n\n if (y.domain()[0] === y.domain()[1])\n y.domain()[0] ?\n y.domain([y.domain()[0] - y.domain()[0] * 0.01, y.domain()[1] + y.domain()[1] * 0.01])\n : y.domain([-1,1]);\n\n if ( isNaN(x.domain()[0])) {\n x.domain([-1,1]);\n }\n\n if ( isNaN(y.domain()[0])) {\n y.domain([-1,1]);\n }\n\n x0 = x0 || x;\n y0 = y0 || y;\n z0 = z0 || z;\n\n var scaleDiff = x(1) !== x0(1) || y(1) !== y0(1) || z(1) !== z0(1);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-scatter').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-scatter nv-chart-' + id);\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n wrap.classed('nv-single-point', singlePoint);\n gEnter.append('g').attr('class', 'nv-groups');\n gEnter.append('g').attr('class', 'nv-point-paths');\n wrapEnter.append('g').attr('class', 'nv-point-clips');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-edge-clip-' + id)\n .append('rect');\n\n wrap.select('#nv-edge-clip-' + id + ' rect')\n .attr('width', availableWidth)\n .attr('height', (availableHeight > 0) ? availableHeight : 0);\n\n g.attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + id + ')' : '');\n\n function updateInteractiveLayer() {\n // Always clear needs-update flag regardless of whether or not\n // we will actually do anything (avoids needless invocations).\n needsUpdate = false;\n\n if (!interactive) return false;\n\n // inject series and point index for reference into voronoi\n if (useVoronoi === true) {\n var vertices = d3.merge(data.map(function(group, groupIndex) {\n return group.values\n .map(function(point, pointIndex) {\n // *Adding noise to make duplicates very unlikely\n // *Injecting series and point index for reference\n /* *Adding a 'jitter' to the points, because there's an issue in d3.geom.voronoi.\n */\n var pX = getX(point,pointIndex);\n var pY = getY(point,pointIndex);\n\n return [nv.utils.NaNtoZero(x(pX))+ Math.random() * 1e-4,\n nv.utils.NaNtoZero(y(pY))+ Math.random() * 1e-4,\n groupIndex,\n pointIndex, point]; //temp hack to add noise until I think of a better way so there are no duplicates\n })\n .filter(function(pointArray, pointIndex) {\n return pointActive(pointArray[4], pointIndex); // Issue #237.. move filter to after map, so pointIndex is correct!\n })\n })\n );\n\n if (vertices.length == 0) return false; // No active points, we're done\n if (vertices.length < 3) {\n // Issue #283 - Adding 2 dummy points to the voronoi b/c voronoi requires min 3 points to work\n vertices.push([x.range()[0] - 20, y.range()[0] - 20, null, null]);\n vertices.push([x.range()[1] + 20, y.range()[1] + 20, null, null]);\n vertices.push([x.range()[0] - 20, y.range()[0] + 20, null, null]);\n vertices.push([x.range()[1] + 20, y.range()[1] - 20, null, null]);\n }\n\n // keep voronoi sections from going more than 10 outside of graph\n // to avoid overlap with other things like legend etc\n var bounds = d3.geom.polygon([\n [-10,-10],\n [-10,height + 10],\n [width + 10,height + 10],\n [width + 10,-10]\n ]);\n\n var voronoi = d3.geom.voronoi(vertices).map(function(d, i) {\n return {\n 'data': bounds.clip(d),\n 'series': vertices[i][2],\n 'point': vertices[i][3]\n }\n });\n\n // nuke all voronoi paths on reload and recreate them\n wrap.select('.nv-point-paths').selectAll('path').remove();\n var pointPaths = wrap.select('.nv-point-paths').selectAll('path').data(voronoi);\n var vPointPaths = pointPaths\n .enter().append(\"svg:path\")\n .attr(\"d\", function(d) {\n if (!d || !d.data || d.data.length === 0)\n return 'M 0 0';\n else\n return \"M\" + d.data.join(\",\") + \"Z\";\n })\n .attr(\"id\", function(d,i) {\n return \"nv-path-\"+i; })\n .attr(\"clip-path\", function(d,i) { return \"url(#nv-clip-\"+id+\"-\"+i+\")\"; })\n ;\n\n // good for debugging point hover issues\n if (showVoronoi) {\n vPointPaths.style(\"fill\", d3.rgb(230, 230, 230))\n .style('fill-opacity', 0.4)\n .style('stroke-opacity', 1)\n .style(\"stroke\", d3.rgb(200,200,200));\n }\n\n if (clipVoronoi) {\n // voronoi sections are already set to clip,\n // just create the circles with the IDs they expect\n wrap.select('.nv-point-clips').selectAll('*').remove(); // must do * since it has sub-dom\n var pointClips = wrap.select('.nv-point-clips').selectAll('clipPath').data(vertices);\n var vPointClips = pointClips\n .enter().append(\"svg:clipPath\")\n .attr(\"id\", function(d, i) { return \"nv-clip-\"+id+\"-\"+i;})\n .append(\"svg:circle\")\n .attr('cx', function(d) { return d[0]; })\n .attr('cy', function(d) { return d[1]; })\n .attr('r', clipRadius);\n }\n\n var mouseEventCallback = function(d, mDispatch) {\n if (needsUpdate) return 0;\n var series = data[d.series];\n if (series === undefined) return;\n var point = series.values[d.point];\n point['color'] = color(series, d.series);\n\n // standardize attributes for tooltip.\n point['x'] = getX(point);\n point['y'] = getY(point);\n\n // can't just get box of event node since it's actually a voronoi polygon\n var box = container.node().getBoundingClientRect();\n var scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;\n\n var pos = {\n left: x(getX(point, d.point)) + box.left + scrollLeft + margin.left + 10,\n top: y(getY(point, d.point)) + box.top + scrollTop + margin.top + 10\n };\n\n mDispatch({\n point: point,\n series: series,\n pos: pos,\n relativePos: [x(getX(point, d.point)) + margin.left, y(getY(point, d.point)) + margin.top],\n seriesIndex: d.series,\n pointIndex: d.point\n });\n };\n\n pointPaths\n .on('click', function(d) {\n mouseEventCallback(d, dispatch.elementClick);\n })\n .on('dblclick', function(d) {\n mouseEventCallback(d, dispatch.elementDblClick);\n })\n .on('mouseover', function(d) {\n mouseEventCallback(d, dispatch.elementMouseover);\n })\n .on('mouseout', function(d, i) {\n mouseEventCallback(d, dispatch.elementMouseout);\n });\n\n } else {\n // add event handlers to points instead voronoi paths\n wrap.select('.nv-groups').selectAll('.nv-group')\n .selectAll('.nv-point')\n //.data(dataWithPoints)\n //.style('pointer-events', 'auto') // recativate events, disabled by css\n .on('click', function(d,i) {\n //nv.log('test', d, i);\n if (needsUpdate || !data[d.series]) return 0; //check if this is a dummy point\n var series = data[d.series],\n point = series.values[i];\n var element = this;\n dispatch.elementClick({\n point: point,\n series: series,\n pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top], //TODO: make this pos base on the page\n relativePos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],\n seriesIndex: d.series,\n pointIndex: i,\n event: d3.event,\n element: element\n });\n })\n .on('dblclick', function(d,i) {\n if (needsUpdate || !data[d.series]) return 0; //check if this is a dummy point\n var series = data[d.series],\n point = series.values[i];\n\n dispatch.elementDblClick({\n point: point,\n series: series,\n pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],//TODO: make this pos base on the page\n relativePos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],\n seriesIndex: d.series,\n pointIndex: i\n });\n })\n .on('mouseover', function(d,i) {\n if (needsUpdate || !data[d.series]) return 0; //check if this is a dummy point\n var series = data[d.series],\n point = series.values[i];\n\n dispatch.elementMouseover({\n point: point,\n series: series,\n pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],//TODO: make this pos base on the page\n relativePos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],\n seriesIndex: d.series,\n pointIndex: i,\n color: color(d, i)\n });\n })\n .on('mouseout', function(d,i) {\n if (needsUpdate || !data[d.series]) return 0; //check if this is a dummy point\n var series = data[d.series],\n point = series.values[i];\n\n dispatch.elementMouseout({\n point: point,\n series: series,\n pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],//TODO: make this pos base on the page\n relativePos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],\n seriesIndex: d.series,\n pointIndex: i,\n color: color(d, i)\n });\n });\n }\n }\n\n needsUpdate = true;\n var groups = wrap.select('.nv-groups').selectAll('.nv-group')\n .data(function(d) { return d }, function(d) { return d.key });\n groups.enter().append('g')\n .style('stroke-opacity', 1e-6)\n .style('fill-opacity', 1e-6);\n groups.exit()\n .remove();\n groups\n .attr('class', function(d,i) {\n return (d.classed || '') + ' nv-group nv-series-' + i;\n })\n .classed('nv-noninteractive', !interactive)\n .classed('hover', function(d) { return d.hover });\n groups.watchTransition(renderWatch, 'scatter: groups')\n .style('fill', function(d,i) { return color(d, i) })\n .style('stroke', function(d,i) { return color(d, i) })\n .style('stroke-opacity', 1)\n .style('fill-opacity', .5);\n\n // create the points, maintaining their IDs from the original data set\n var points = groups.selectAll('path.nv-point')\n .data(function(d) {\n return d.values.map(\n function (point, pointIndex) {\n return [point, pointIndex]\n }).filter(\n function(pointArray, pointIndex) {\n return pointActive(pointArray[0], pointIndex)\n })\n });\n points.enter().append('path')\n .attr('class', function (d) {\n return 'nv-point nv-point-' + d[1];\n })\n .style('fill', function (d) { return d.color })\n .style('stroke', function (d) { return d.color })\n .attr('transform', function(d) {\n return 'translate(' + nv.utils.NaNtoZero(x0(getX(d[0],d[1]))) + ',' + nv.utils.NaNtoZero(y0(getY(d[0],d[1]))) + ')'\n })\n .attr('d',\n nv.utils.symbol()\n .type(function(d) { return getShape(d[0]); })\n .size(function(d) { return z(getSize(d[0],d[1])) })\n );\n points.exit().remove();\n groups.exit().selectAll('path.nv-point')\n .watchTransition(renderWatch, 'scatter exit')\n .attr('transform', function(d) {\n return 'translate(' + nv.utils.NaNtoZero(x(getX(d[0],d[1]))) + ',' + nv.utils.NaNtoZero(y(getY(d[0],d[1]))) + ')'\n })\n .remove();\n points.filter(function (d) { return scaleDiff || getDiffs(d, 'x', 'y'); })\n .watchTransition(renderWatch, 'scatter points')\n .attr('transform', function(d) {\n //nv.log(d, getX(d[0],d[1]), x(getX(d[0],d[1])));\n return 'translate(' + nv.utils.NaNtoZero(x(getX(d[0],d[1]))) + ',' + nv.utils.NaNtoZero(y(getY(d[0],d[1]))) + ')'\n });\n points.filter(function (d) { return scaleDiff || getDiffs(d, 'shape', 'size'); })\n .watchTransition(renderWatch, 'scatter points')\n .attr('d',\n nv.utils.symbol()\n .type(function(d) { return getShape(d[0]); })\n .size(function(d) { return z(getSize(d[0],d[1])) })\n );\n \n // add label a label to scatter chart \n if(showLabels)\n { \n var titles = groups.selectAll('.nv-label')\n .data(function(d) {\n return d.values.map(\n function (point, pointIndex) {\n return [point, pointIndex]\n }).filter(\n function(pointArray, pointIndex) {\n return pointActive(pointArray[0], pointIndex)\n })\n });\n\n titles.enter().append('text')\n .style('fill', function (d,i) { \n return d.color })\n .style('stroke-opacity', 0)\n .style('fill-opacity', 1)\n .attr('transform', function(d) {\n var dx = nv.utils.NaNtoZero(x0(getX(d[0],d[1]))) + Math.sqrt(z(getSize(d[0],d[1]))/Math.PI) + 2;\n return 'translate(' + dx + ',' + nv.utils.NaNtoZero(y0(getY(d[0],d[1]))) + ')';\n })\n .text(function(d,i){\n return d[0].label;});\n\n titles.exit().remove();\n groups.exit().selectAll('path.nv-label')\n .watchTransition(renderWatch, 'scatter exit')\n .attr('transform', function(d) {\n var dx = nv.utils.NaNtoZero(x(getX(d[0],d[1])))+ Math.sqrt(z(getSize(d[0],d[1]))/Math.PI)+2;\n return 'translate(' + dx + ',' + nv.utils.NaNtoZero(y(getY(d[0],d[1]))) + ')';\n })\n .remove();\n titles.each(function(d) {\n d3.select(this)\n .classed('nv-label', true)\n .classed('nv-label-' + d[1], false)\n .classed('hover',false);\n });\n titles.watchTransition(renderWatch, 'scatter labels')\n .attr('transform', function(d) {\n var dx = nv.utils.NaNtoZero(x(getX(d[0],d[1])))+ Math.sqrt(z(getSize(d[0],d[1]))/Math.PI)+2;\n return 'translate(' + dx + ',' + nv.utils.NaNtoZero(y(getY(d[0],d[1]))) + ')'\n });\n }\n\n // Delay updating the invisible interactive layer for smoother animation\n if( interactiveUpdateDelay )\n {\n clearTimeout(timeoutID); // stop repeat calls to updateInteractiveLayer\n timeoutID = setTimeout(updateInteractiveLayer, interactiveUpdateDelay );\n }\n else\n {\n updateInteractiveLayer();\n }\n\n //store old scales for use in transitions on update\n x0 = x.copy();\n y0 = y.copy();\n z0 = z.copy();\n\n });\n renderWatch.renderEnd('scatter immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n // utility function calls provided by this chart\n chart._calls = new function() {\n this.clearHighlights = function () {\n nv.dom.write(function() {\n container.selectAll(\".nv-point.hover\").classed(\"hover\", false);\n });\n return null;\n };\n this.highlightPoint = function (seriesIndex, pointIndex, isHoverOver) {\n nv.dom.write(function() {\n container.select('.nv-groups')\n .selectAll(\".nv-series-\" + seriesIndex)\n .selectAll(\".nv-point-\" + pointIndex)\n .classed(\"hover\", isHoverOver);\n });\n };\n };\n\n // trigger calls from events too\n dispatch.on('elementMouseover.point', function(d) {\n if (interactive) chart._calls.highlightPoint(d.seriesIndex,d.pointIndex,true);\n });\n\n dispatch.on('elementMouseout.point', function(d) {\n if (interactive) chart._calls.highlightPoint(d.seriesIndex,d.pointIndex,false);\n });\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n pointScale: {get: function(){return z;}, set: function(_){z=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n pointDomain: {get: function(){return sizeDomain;}, set: function(_){sizeDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n pointRange: {get: function(){return sizeRange;}, set: function(_){sizeRange=_;}},\n forceX: {get: function(){return forceX;}, set: function(_){forceX=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n forcePoint: {get: function(){return forceSize;}, set: function(_){forceSize=_;}},\n interactive: {get: function(){return interactive;}, set: function(_){interactive=_;}},\n pointActive: {get: function(){return pointActive;}, set: function(_){pointActive=_;}},\n padDataOuter: {get: function(){return padDataOuter;}, set: function(_){padDataOuter=_;}},\n padData: {get: function(){return padData;}, set: function(_){padData=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n clipVoronoi: {get: function(){return clipVoronoi;}, set: function(_){clipVoronoi=_;}},\n clipRadius: {get: function(){return clipRadius;}, set: function(_){clipRadius=_;}},\n showVoronoi: {get: function(){return showVoronoi;}, set: function(_){showVoronoi=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n interactiveUpdateDelay: {get:function(){return interactiveUpdateDelay;}, set: function(_){interactiveUpdateDelay=_;}},\n showLabels: {get: function(){return showLabels;}, set: function(_){ showLabels = _;}},\n\n // simple functor options\n x: {get: function(){return getX;}, set: function(_){getX = d3.functor(_);}},\n y: {get: function(){return getY;}, set: function(_){getY = d3.functor(_);}},\n pointSize: {get: function(){return getSize;}, set: function(_){getSize = d3.functor(_);}},\n pointShape: {get: function(){return getShape;}, set: function(_){getShape = d3.functor(_);}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n useVoronoi: {get: function(){return useVoronoi;}, set: function(_){\n useVoronoi = _;\n if (useVoronoi === false) {\n clipVoronoi = false;\n }\n }}\n });\n\n nv.utils.initOptions(chart);\n return chart;\n};\n\nnv.models.scatterChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var scatter = nv.models.scatter()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , legend = nv.models.legend()\n , distX = nv.models.distribution()\n , distY = nv.models.distribution()\n , tooltip = nv.models.tooltip()\n ;\n\n var margin = {top: 30, right: 20, bottom: 50, left: 75}\n , width = null\n , height = null\n , container = null\n , color = nv.utils.defaultColor()\n , x = scatter.xScale()\n , y = scatter.yScale()\n , showDistX = false\n , showDistY = false\n , showLegend = true\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , state = nv.utils.state()\n , defaultState = null\n , dispatch = d3.dispatch('stateChange', 'changeState', 'renderEnd')\n , noData = null\n , duration = 250\n , showLabels = false\n ;\n\n scatter.xScale(x).yScale(y);\n xAxis.orient('bottom').tickPadding(10);\n yAxis\n .orient((rightAlignYAxis) ? 'right' : 'left')\n .tickPadding(10)\n ;\n distX.axis('x');\n distY.axis('y');\n tooltip\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n });\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x0, y0\n , renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled })\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n }\n };\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(scatter);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n if (showDistX) renderWatch.models(distX);\n if (showDistY) renderWatch.models(distY);\n\n selection.each(function(data) {\n var that = this;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() {\n if (duration === 0)\n container.call(chart);\n else\n container.transition().duration(duration).call(chart);\n };\n chart.container = this;\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disableddisabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display noData message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container);\n renderWatch.renderEnd('scatter immediate');\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = scatter.xScale();\n y = scatter.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-scatterChart').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-scatterChart nv-chart-' + scatter.id());\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n // background for pointer events\n gEnter.append('rect').attr('class', 'nvd3 nv-background').style(\"pointer-events\",\"none\");\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis');\n gEnter.append('g').attr('class', 'nv-scatterWrap');\n gEnter.append('g').attr('class', 'nv-regressionLinesWrap');\n gEnter.append('g').attr('class', 'nv-distWrap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n var legendWidth = availableWidth;\n legend.width(legendWidth);\n\n wrap.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (legend.height() > margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate(0' + ',' + (-margin.top) +')');\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Main Chart Component(s)\n scatter\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n d.color = d.color || color(d, i);\n return d.color;\n }).filter(function(d,i) { return !data[i].disabled }))\n .showLabels(showLabels);\n\n wrap.select('.nv-scatterWrap')\n .datum(data.filter(function(d) { return !d.disabled }))\n .call(scatter);\n\n\n wrap.select('.nv-regressionLinesWrap')\n .attr('clip-path', 'url(#nv-edge-clip-' + scatter.id() + ')');\n\n var regWrap = wrap.select('.nv-regressionLinesWrap').selectAll('.nv-regLines')\n .data(function (d) {\n return d;\n });\n\n regWrap.enter().append('g').attr('class', 'nv-regLines');\n\n var regLine = regWrap.selectAll('.nv-regLine')\n .data(function (d) {\n return [d]\n });\n\n regLine.enter()\n .append('line').attr('class', 'nv-regLine')\n .style('stroke-opacity', 0);\n\n // don't add lines unless we have slope and intercept to use\n regLine.filter(function(d) {\n return d.intercept && d.slope;\n })\n .watchTransition(renderWatch, 'scatterPlusLineChart: regline')\n .attr('x1', x.range()[0])\n .attr('x2', x.range()[1])\n .attr('y1', function (d, i) {\n return y(x.domain()[0] * d.slope + d.intercept)\n })\n .attr('y2', function (d, i) {\n return y(x.domain()[1] * d.slope + d.intercept)\n })\n .style('stroke', function (d, i, j) {\n return color(d, j)\n })\n .style('stroke-opacity', function (d, i) {\n return (d.disabled || typeof d.slope === 'undefined' || typeof d.intercept === 'undefined') ? 0 : 1\n });\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize( -availableHeight , 0);\n\n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y.range()[0] + ')')\n .call(xAxis);\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis')\n .call(yAxis);\n }\n\n // Setup Distribution\n if (showDistX) {\n distX\n .getData(scatter.x())\n .scale(x)\n .width(availableWidth)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled }));\n gEnter.select('.nv-distWrap').append('g')\n .attr('class', 'nv-distributionX');\n g.select('.nv-distributionX')\n .attr('transform', 'translate(0,' + y.range()[0] + ')')\n .datum(data.filter(function(d) { return !d.disabled }))\n .call(distX);\n }\n\n if (showDistY) {\n distY\n .getData(scatter.y())\n .scale(y)\n .width(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled }));\n gEnter.select('.nv-distWrap').append('g')\n .attr('class', 'nv-distributionY');\n g.select('.nv-distributionY')\n .attr('transform', 'translate(' + (rightAlignYAxis ? availableWidth : -distY.size() ) + ',0)')\n .datum(data.filter(function(d) { return !d.disabled }))\n .call(distY);\n }\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n state.disabled = e.disabled;\n }\n chart.update();\n });\n\n // mouseover needs availableHeight so we just keep scatter mouse events inside the chart block\n scatter.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n container.select('.nv-chart-' + scatter.id() + ' .nv-series-' + evt.seriesIndex + ' .nv-distx-' + evt.pointIndex)\n .attr('y1', 0);\n container.select('.nv-chart-' + scatter.id() + ' .nv-series-' + evt.seriesIndex + ' .nv-disty-' + evt.pointIndex)\n .attr('x2', distY.size());\n });\n\n scatter.dispatch.on('elementMouseover.tooltip', function(evt) {\n container.select('.nv-series-' + evt.seriesIndex + ' .nv-distx-' + evt.pointIndex)\n .attr('y1', evt.relativePos[1] - availableHeight);\n container.select('.nv-series-' + evt.seriesIndex + ' .nv-disty-' + evt.pointIndex)\n .attr('x2', evt.relativePos[0] + distX.size());\n tooltip.data(evt).hidden(false);\n });\n\n //store old scales for use in transitions on update\n x0 = x.copy();\n y0 = y.copy();\n\n });\n\n renderWatch.renderEnd('scatter with line immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.scatter = scatter;\n chart.legend = legend;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.distX = distX;\n chart.distY = distY;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n container: {get: function(){return container;}, set: function(_){container=_;}},\n showDistX: {get: function(){return showDistX;}, set: function(_){showDistX=_;}},\n showDistY: {get: function(){return showDistY;}, set: function(_){showDistY=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n duration: {get: function(){return duration;}, set: function(_){duration=_;}},\n showLabels: {get: function(){return showLabels;}, set: function(_){showLabels=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( (_) ? 'right' : 'left');\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n distX.color(color);\n distY.color(color);\n }}\n });\n\n nv.utils.inheritOptions(chart, scatter);\n nv.utils.initOptions(chart);\n return chart;\n};\n\nnv.models.sparkline = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 2, right: 0, bottom: 2, left: 0}\n , width = 400\n , height = 32\n , container = null\n , animate = true\n , x = d3.scale.linear()\n , y = d3.scale.linear()\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , color = nv.utils.getColor(['#000'])\n , xDomain\n , yDomain\n , xRange\n , yRange\n , showMinMaxPoints = true\n , showCurrentPoint = true\n , dispatch = d3.dispatch('renderEnd')\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n \n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup Scales\n x .domain(xDomain || d3.extent(data, getX ))\n .range(xRange || [0, availableWidth]);\n\n y .domain(yDomain || d3.extent(data, getY ))\n .range(yRange || [availableHeight, 0]);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-sparkline').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-sparkline');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n\n var paths = wrap.selectAll('path')\n .data(function(d) { return [d] });\n paths.enter().append('path');\n paths.exit().remove();\n paths\n .style('stroke', function(d,i) { return d.color || color(d, i) })\n .attr('d', d3.svg.line()\n .x(function(d,i) { return x(getX(d,i)) })\n .y(function(d,i) { return y(getY(d,i)) })\n );\n\n // TODO: Add CURRENT data point (Need Min, Mac, Current / Most recent)\n var points = wrap.selectAll('circle.nv-point')\n .data(function(data) {\n var yValues = data.map(function(d, i) { return getY(d,i); });\n function pointIndex(index) {\n if (index != -1) {\n var result = data[index];\n result.pointIndex = index;\n return result;\n } else {\n return null;\n }\n }\n var maxPoint = pointIndex(yValues.lastIndexOf(y.domain()[1])),\n minPoint = pointIndex(yValues.indexOf(y.domain()[0])),\n currentPoint = pointIndex(yValues.length - 1);\n return [(showMinMaxPoints ? minPoint : null), (showMinMaxPoints ? maxPoint : null), (showCurrentPoint ? currentPoint : null)].filter(function (d) {return d != null;});\n });\n points.enter().append('circle');\n points.exit().remove();\n points\n .attr('cx', function(d,i) { return x(getX(d,d.pointIndex)) })\n .attr('cy', function(d,i) { return y(getY(d,d.pointIndex)) })\n .attr('r', 2)\n .attr('class', function(d,i) {\n return getX(d, d.pointIndex) == x.domain()[1] ? 'nv-point nv-currentValue' :\n getY(d, d.pointIndex) == y.domain()[0] ? 'nv-point nv-minValue' : 'nv-point nv-maxValue'\n });\n });\n \n renderWatch.renderEnd('sparkline immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n animate: {get: function(){return animate;}, set: function(_){animate=_;}},\n showMinMaxPoints: {get: function(){return showMinMaxPoints;}, set: function(_){showMinMaxPoints=_;}},\n showCurrentPoint: {get: function(){return showCurrentPoint;}, set: function(_){showCurrentPoint=_;}},\n\n //functor options\n x: {get: function(){return getX;}, set: function(_){getX=d3.functor(_);}},\n y: {get: function(){return getY;}, set: function(_){getY=d3.functor(_);}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n chart.dispatch = dispatch;\n nv.utils.initOptions(chart);\n return chart;\n};\n\nnv.models.sparklinePlus = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var sparkline = nv.models.sparkline();\n\n var margin = {top: 15, right: 100, bottom: 10, left: 50}\n , width = null\n , height = null\n , x\n , y\n , index = []\n , paused = false\n , xTickFormat = d3.format(',r')\n , yTickFormat = d3.format(',.2f')\n , showLastValue = true\n , alignValue = true\n , rightAlignValue = false\n , noData = null\n , dispatch = d3.dispatch('renderEnd')\n ;\n \n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(sparkline);\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() { container.call(chart); };\n chart.container = this;\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n var currentValue = sparkline.y()(data[data.length-1], data.length-1);\n\n // Setup Scales\n x = sparkline.xScale();\n y = sparkline.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-sparklineplus').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-sparklineplus');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-sparklineWrap');\n gEnter.append('g').attr('class', 'nv-valueWrap');\n gEnter.append('g').attr('class', 'nv-hoverArea');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Main Chart Component(s)\n var sparklineWrap = g.select('.nv-sparklineWrap');\n\n sparkline.width(availableWidth).height(availableHeight);\n sparklineWrap.call(sparkline);\n\n if (showLastValue) {\n var valueWrap = g.select('.nv-valueWrap');\n var value = valueWrap.selectAll('.nv-currentValue')\n .data([currentValue]);\n\n value.enter().append('text').attr('class', 'nv-currentValue')\n .attr('dx', rightAlignValue ? -8 : 8)\n .attr('dy', '.9em')\n .style('text-anchor', rightAlignValue ? 'end' : 'start');\n\n value\n .attr('x', availableWidth + (rightAlignValue ? margin.right : 0))\n .attr('y', alignValue ? function (d) {\n return y(d)\n } : 0)\n .style('fill', sparkline.color()(data[data.length - 1], data.length - 1))\n .text(yTickFormat(currentValue));\n }\n\n gEnter.select('.nv-hoverArea').append('rect')\n .on('mousemove', sparklineHover)\n .on('click', function() { paused = !paused })\n .on('mouseout', function() { index = []; updateValueLine(); });\n\n g.select('.nv-hoverArea rect')\n .attr('transform', function(d) { return 'translate(' + -margin.left + ',' + -margin.top + ')' })\n .attr('width', availableWidth + margin.left + margin.right)\n .attr('height', availableHeight + margin.top);\n\n //index is currently global (within the chart), may or may not keep it that way\n function updateValueLine() {\n if (paused) return;\n\n var hoverValue = g.selectAll('.nv-hoverValue').data(index);\n\n var hoverEnter = hoverValue.enter()\n .append('g').attr('class', 'nv-hoverValue')\n .style('stroke-opacity', 0)\n .style('fill-opacity', 0);\n\n hoverValue.exit()\n .transition().duration(250)\n .style('stroke-opacity', 0)\n .style('fill-opacity', 0)\n .remove();\n\n hoverValue\n .attr('transform', function(d) { return 'translate(' + x(sparkline.x()(data[d],d)) + ',0)' })\n .transition().duration(250)\n .style('stroke-opacity', 1)\n .style('fill-opacity', 1);\n\n if (!index.length) return;\n\n hoverEnter.append('line')\n .attr('x1', 0)\n .attr('y1', -margin.top)\n .attr('x2', 0)\n .attr('y2', availableHeight);\n\n hoverEnter.append('text').attr('class', 'nv-xValue')\n .attr('x', -6)\n .attr('y', -margin.top)\n .attr('text-anchor', 'end')\n .attr('dy', '.9em');\n\n g.select('.nv-hoverValue .nv-xValue')\n .text(xTickFormat(sparkline.x()(data[index[0]], index[0])));\n\n hoverEnter.append('text').attr('class', 'nv-yValue')\n .attr('x', 6)\n .attr('y', -margin.top)\n .attr('text-anchor', 'start')\n .attr('dy', '.9em');\n\n g.select('.nv-hoverValue .nv-yValue')\n .text(yTickFormat(sparkline.y()(data[index[0]], index[0])));\n }\n\n function sparklineHover() {\n if (paused) return;\n\n var pos = d3.mouse(this)[0] - margin.left;\n\n function getClosestIndex(data, x) {\n var distance = Math.abs(sparkline.x()(data[0], 0) - x);\n var closestIndex = 0;\n for (var i = 0; i < data.length; i++){\n if (Math.abs(sparkline.x()(data[i], i) - x) < distance) {\n distance = Math.abs(sparkline.x()(data[i], i) - x);\n closestIndex = i;\n }\n }\n return closestIndex;\n }\n\n index = [getClosestIndex(data, Math.round(x.invert(pos)))];\n updateValueLine();\n }\n\n });\n renderWatch.renderEnd('sparklinePlus immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.sparkline = sparkline;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n xTickFormat: {get: function(){return xTickFormat;}, set: function(_){xTickFormat=_;}},\n yTickFormat: {get: function(){return yTickFormat;}, set: function(_){yTickFormat=_;}},\n showLastValue: {get: function(){return showLastValue;}, set: function(_){showLastValue=_;}},\n alignValue: {get: function(){return alignValue;}, set: function(_){alignValue=_;}},\n rightAlignValue: {get: function(){return rightAlignValue;}, set: function(_){rightAlignValue=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }}\n });\n\n nv.utils.inheritOptions(chart, sparkline);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.stackedArea = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 960\n , height = 500\n , color = nv.utils.defaultColor() // a function that computes the color\n , id = Math.floor(Math.random() * 100000) //Create semi-unique ID incase user doesn't selet one\n , container = null\n , getX = function(d) { return d.x } // accessor to get the x value from a data point\n , getY = function(d) { return d.y } // accessor to get the y value from a data point\n , defined = function(d,i) { return !isNaN(getY(d,i)) && getY(d,i) !== null } // allows a line to be not continuous when it is not defined\n , style = 'stack'\n , offset = 'zero'\n , order = 'default'\n , interpolate = 'linear' // controls the line interpolation\n , clipEdge = false // if true, masks lines within x and y scale\n , x //can be accessed via chart.xScale()\n , y //can be accessed via chart.yScale()\n , scatter = nv.models.scatter()\n , duration = 250\n , dispatch = d3.dispatch('areaClick', 'areaMouseover', 'areaMouseout','renderEnd', 'elementClick', 'elementMouseover', 'elementMouseout')\n ;\n\n scatter\n .pointSize(2.2) // default size\n .pointDomain([2.2, 2.2]) // all the same size by default\n ;\n\n /************************************\n * offset:\n * 'wiggle' (stream)\n * 'zero' (stacked)\n * 'expand' (normalize to 100%)\n * 'silhouette' (simple centered)\n *\n * order:\n * 'inside-out' (stream)\n * 'default' (input order)\n ************************************/\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(scatter);\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup Scales\n x = scatter.xScale();\n y = scatter.yScale();\n\n var dataRaw = data;\n // Injecting point index into each point because d3.layout.stack().out does not give index\n data.forEach(function(aseries, i) {\n aseries.seriesIndex = i;\n aseries.values = aseries.values.map(function(d, j) {\n d.index = j;\n d.seriesIndex = i;\n return d;\n });\n });\n\n var dataFiltered = data.filter(function(series) {\n return !series.disabled;\n });\n\n data = d3.layout.stack()\n .order(order)\n .offset(offset)\n .values(function(d) { return d.values }) //TODO: make values customizeable in EVERY model in this fashion\n .x(getX)\n .y(getY)\n .out(function(d, y0, y) {\n d.display = {\n y: y,\n y0: y0\n };\n })\n (dataFiltered);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-stackedarea').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-stackedarea');\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-areaWrap');\n gEnter.append('g').attr('class', 'nv-scatterWrap');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n \n // If the user has not specified forceY, make sure 0 is included in the domain\n // Otherwise, use user-specified values for forceY\n if (scatter.forceY().length == 0) {\n scatter.forceY().push(0);\n }\n \n scatter\n .width(availableWidth)\n .height(availableHeight)\n .x(getX)\n .y(function(d) {\n if (d.display !== undefined) { return d.display.y + d.display.y0; }\n })\n .color(data.map(function(d,i) {\n d.color = d.color || color(d, d.seriesIndex);\n return d.color;\n }));\n\n var scatterWrap = g.select('.nv-scatterWrap')\n .datum(data);\n\n scatterWrap.call(scatter);\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-edge-clip-' + id)\n .append('rect');\n\n wrap.select('#nv-edge-clip-' + id + ' rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n g.attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + id + ')' : '');\n\n var area = d3.svg.area()\n .defined(defined)\n .x(function(d,i) { return x(getX(d,i)) })\n .y0(function(d) {\n return y(d.display.y0)\n })\n .y1(function(d) {\n return y(d.display.y + d.display.y0)\n })\n .interpolate(interpolate);\n\n var zeroArea = d3.svg.area()\n .defined(defined)\n .x(function(d,i) { return x(getX(d,i)) })\n .y0(function(d) { return y(d.display.y0) })\n .y1(function(d) { return y(d.display.y0) });\n\n var path = g.select('.nv-areaWrap').selectAll('path.nv-area')\n .data(function(d) { return d });\n\n path.enter().append('path').attr('class', function(d,i) { return 'nv-area nv-area-' + i })\n .attr('d', function(d,i){\n return zeroArea(d.values, d.seriesIndex);\n })\n .on('mouseover', function(d,i) {\n d3.select(this).classed('hover', true);\n dispatch.areaMouseover({\n point: d,\n series: d.key,\n pos: [d3.event.pageX, d3.event.pageY],\n seriesIndex: d.seriesIndex\n });\n })\n .on('mouseout', function(d,i) {\n d3.select(this).classed('hover', false);\n dispatch.areaMouseout({\n point: d,\n series: d.key,\n pos: [d3.event.pageX, d3.event.pageY],\n seriesIndex: d.seriesIndex\n });\n })\n .on('click', function(d,i) {\n d3.select(this).classed('hover', false);\n dispatch.areaClick({\n point: d,\n series: d.key,\n pos: [d3.event.pageX, d3.event.pageY],\n seriesIndex: d.seriesIndex\n });\n });\n\n path.exit().remove();\n path.style('fill', function(d,i){\n return d.color || color(d, d.seriesIndex)\n })\n .style('stroke', function(d,i){ return d.color || color(d, d.seriesIndex) });\n path.watchTransition(renderWatch,'stackedArea path')\n .attr('d', function(d,i) {\n return area(d.values,i)\n });\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n scatter.dispatch.on('elementMouseover.area', function(e) {\n g.select('.nv-chart-' + id + ' .nv-area-' + e.seriesIndex).classed('hover', true);\n });\n scatter.dispatch.on('elementMouseout.area', function(e) {\n g.select('.nv-chart-' + id + ' .nv-area-' + e.seriesIndex).classed('hover', false);\n });\n\n //Special offset functions\n chart.d3_stackedOffset_stackPercent = function(stackData) {\n var n = stackData.length, //How many series\n m = stackData[0].length, //how many points per series\n i,\n j,\n o,\n y0 = [];\n\n for (j = 0; j < m; ++j) { //Looping through all points\n for (i = 0, o = 0; i < dataRaw.length; i++) { //looping through all series\n o += getY(dataRaw[i].values[j]); //total y value of all series at a certian point in time.\n }\n\n if (o) for (i = 0; i < n; i++) { //(total y value of all series at point in time i) != 0\n stackData[i][j][1] /= o;\n } else { //(total y value of all series at point in time i) == 0\n for (i = 0; i < n; i++) {\n stackData[i][j][1] = 0;\n }\n }\n }\n for (j = 0; j < m; ++j) y0[j] = 0;\n return y0;\n };\n\n });\n\n renderWatch.renderEnd('stackedArea immediate');\n return chart;\n }\n\n //============================================================\n // Global getters and setters\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.scatter = scatter;\n\n scatter.dispatch.on('elementClick', function(){ dispatch.elementClick.apply(this, arguments); });\n scatter.dispatch.on('elementMouseover', function(){ dispatch.elementMouseover.apply(this, arguments); });\n scatter.dispatch.on('elementMouseout', function(){ dispatch.elementMouseout.apply(this, arguments); });\n\n chart.interpolate = function(_) {\n if (!arguments.length) return interpolate;\n interpolate = _;\n return chart;\n };\n\n chart.duration = function(_) {\n if (!arguments.length) return duration;\n duration = _;\n renderWatch.reset(duration);\n scatter.duration(duration);\n return chart;\n };\n\n chart.dispatch = dispatch;\n chart.scatter = scatter;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n defined: {get: function(){return defined;}, set: function(_){defined=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n offset: {get: function(){return offset;}, set: function(_){offset=_;}},\n order: {get: function(){return order;}, set: function(_){order=_;}},\n interpolate: {get: function(){return interpolate;}, set: function(_){interpolate=_;}},\n\n // simple functor options\n x: {get: function(){return getX;}, set: function(_){getX = d3.functor(_);}},\n y: {get: function(){return getY;}, set: function(_){getY = d3.functor(_);}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n style: {get: function(){return style;}, set: function(_){\n style = _;\n switch (style) {\n case 'stack':\n chart.offset('zero');\n chart.order('default');\n break;\n case 'stream':\n chart.offset('wiggle');\n chart.order('inside-out');\n break;\n case 'stream-center':\n chart.offset('silhouette');\n chart.order('inside-out');\n break;\n case 'expand':\n chart.offset('expand');\n chart.order('default');\n break;\n case 'stack_percent':\n chart.offset(chart.d3_stackedOffset_stackPercent);\n chart.order('default');\n break;\n }\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n scatter.duration(duration);\n }}\n });\n\n nv.utils.inheritOptions(chart, scatter);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.stackedAreaChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var stacked = nv.models.stackedArea()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , legend = nv.models.legend()\n , controls = nv.models.legend()\n , interactiveLayer = nv.interactiveGuideline()\n , tooltip = nv.models.tooltip()\n , focus = nv.models.focus(nv.models.stackedArea())\n ;\n\n var margin = {top: 30, right: 25, bottom: 50, left: 60}\n , width = null\n , height = null\n , color = nv.utils.defaultColor()\n , showControls = true\n , showLegend = true\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , focusEnable = false\n , useInteractiveGuideline = false\n , showTotalInTooltip = true\n , totalLabel = 'TOTAL'\n , x //can be accessed via chart.xScale()\n , y //can be accessed via chart.yScale()\n , state = nv.utils.state()\n , defaultState = null\n , noData = null\n , dispatch = d3.dispatch('stateChange', 'changeState','renderEnd')\n , controlWidth = 250\n , controlOptions = ['Stacked','Stream','Expanded']\n , controlLabels = {}\n , duration = 250\n ;\n\n state.style = stacked.style();\n xAxis.orient('bottom').tickPadding(7);\n yAxis.orient((rightAlignYAxis) ? 'right' : 'left');\n\n tooltip\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n });\n\n interactiveLayer.tooltip\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return d == null ? \"N/A\" : yAxis.tickFormat()(d, i);\n });\n\n var oldYTickFormat = null,\n oldValueFormatter = null;\n\n controls.updateState(false);\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n var style = stacked.style();\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled }),\n style: stacked.style()\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.style !== undefined)\n style = state.style;\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n }\n };\n\n var percentFormatter = d3.format('%');\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(stacked);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin) - (focusEnable ? focus.height() : 0);\n\n chart.update = function() { container.transition().duration(duration).call(chart); };\n chart.container = this;\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n // Setup Scales\n x = stacked.xScale();\n y = stacked.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-stackedAreaChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-stackedAreaChart').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-legendWrap');\n gEnter.append('g').attr('class', 'nv-controlsWrap');\n\n var focusEnter = gEnter.append('g').attr('class', 'nv-focus');\n focusEnter.append('g').attr('class', 'nv-background').append('rect');\n focusEnter.append('g').attr('class', 'nv-x nv-axis');\n focusEnter.append('g').attr('class', 'nv-y nv-axis');\n focusEnter.append('g').attr('class', 'nv-stackedWrap');\n focusEnter.append('g').attr('class', 'nv-interactive');\n\n // g.select(\"rect\").attr(\"width\",availableWidth).attr(\"height\",availableHeight);\n\n var contextEnter = gEnter.append('g').attr('class', 'nv-focusWrap');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n var legendWidth = (showControls) ? availableWidth - controlWidth : availableWidth;\n\n legend.width(legendWidth);\n g.select('.nv-legendWrap').datum(data).call(legend);\n\n if (legend.height() > margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin) - (focusEnable ? focus.height() : 0);\n }\n\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(' + (availableWidth-legendWidth) + ',' + (-margin.top) +')');\n }\n\n // Controls\n if (!showControls) {\n g.select('.nv-controlsWrap').selectAll('*').remove();\n } else {\n var controlsData = [\n {\n key: controlLabels.stacked || 'Stacked',\n metaKey: 'Stacked',\n disabled: stacked.style() != 'stack',\n style: 'stack'\n },\n {\n key: controlLabels.stream || 'Stream',\n metaKey: 'Stream',\n disabled: stacked.style() != 'stream',\n style: 'stream'\n },\n {\n key: controlLabels.expanded || 'Expanded',\n metaKey: 'Expanded',\n disabled: stacked.style() != 'expand',\n style: 'expand'\n },\n {\n key: controlLabels.stack_percent || 'Stack %',\n metaKey: 'Stack_Percent',\n disabled: stacked.style() != 'stack_percent',\n style: 'stack_percent'\n }\n ];\n\n controlWidth = (controlOptions.length/3) * 260;\n controlsData = controlsData.filter(function(d) {\n return controlOptions.indexOf(d.metaKey) !== -1;\n });\n\n controls\n .width( controlWidth )\n .color(['#444', '#444', '#444']);\n\n g.select('.nv-controlsWrap')\n .datum(controlsData)\n .call(controls);\n\n if (Math.max(controls.height(), legend.height()) > margin.top) {\n margin.top = Math.max(controls.height(), legend.height());\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n g.select('.nv-controlsWrap')\n .attr('transform', 'translate(0,' + (-margin.top) +')');\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n //Set up interactive layer\n if (useInteractiveGuideline) {\n interactiveLayer\n .width(availableWidth)\n .height(availableHeight)\n .margin({left: margin.left, top: margin.top})\n .svgContainer(container)\n .xScale(x);\n wrap.select(\".nv-interactive\").call(interactiveLayer);\n }\n\n g.select('.nv-focus .nv-background rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n stacked\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled; }));\n\n var stackedWrap = g.select('.nv-focus .nv-stackedWrap')\n .datum(data.filter(function(d) { return !d.disabled; }));\n\n // Setup Axes\n if (showXAxis) {\n xAxis.scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize( -availableHeight, 0);\n }\n\n if (showYAxis) {\n var ticks;\n if (stacked.offset() === 'wiggle') {\n ticks = 0;\n }\n else {\n ticks = nv.utils.calcTicksY(availableHeight/36, data);\n }\n yAxis.scale(y)\n ._ticks(ticks)\n .tickSize(-availableWidth, 0);\n }\n\n //============================================================\n // Update Axes\n //============================================================\n function updateXAxis() {\n if(showXAxis) {\n g.select('.nv-focus .nv-x.nv-axis')\n .attr('transform', 'translate(0,' + availableHeight + ')')\n .transition()\n .duration(duration)\n .call(xAxis)\n ;\n }\n }\n\n function updateYAxis() {\n if(showYAxis) {\n if (stacked.style() === 'expand' || stacked.style() === 'stack_percent') {\n var currentFormat = yAxis.tickFormat();\n\n if ( !oldYTickFormat || currentFormat !== percentFormatter )\n oldYTickFormat = currentFormat;\n\n //Forces the yAxis to use percentage in 'expand' mode.\n yAxis.tickFormat(percentFormatter);\n }\n else {\n if (oldYTickFormat) {\n yAxis.tickFormat(oldYTickFormat);\n oldYTickFormat = null;\n }\n }\n\n g.select('.nv-focus .nv-y.nv-axis')\n .transition().duration(0)\n .call(yAxis);\n }\n }\n\n //============================================================\n // Update Focus\n //============================================================\n if(!focusEnable) {\n stackedWrap.transition().call(stacked);\n updateXAxis();\n updateYAxis();\n } else {\n focus.width(availableWidth);\n g.select('.nv-focusWrap')\n .attr('transform', 'translate(0,' + ( availableHeight + margin.bottom + focus.margin().top) + ')')\n .datum(data.filter(function(d) { return !d.disabled; }))\n .call(focus);\n var extent = focus.brush.empty() ? focus.xDomain() : focus.brush.extent();\n if(extent !== null){\n onBrush(extent);\n }\n }\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n stacked.dispatch.on('areaClick.toggle', function(e) {\n if (data.filter(function(d) { return !d.disabled }).length === 1)\n data.forEach(function(d) {\n d.disabled = false;\n });\n else\n data.forEach(function(d,i) {\n d.disabled = (i != e.seriesIndex);\n });\n\n state.disabled = data.map(function(d) { return !!d.disabled });\n dispatch.stateChange(state);\n\n chart.update();\n });\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n controls.dispatch.on('legendClick', function(d,i) {\n if (!d.disabled) return;\n\n controlsData = controlsData.map(function(s) {\n s.disabled = true;\n return s;\n });\n d.disabled = false;\n\n stacked.style(d.style);\n\n\n state.style = stacked.style();\n dispatch.stateChange(state);\n\n chart.update();\n });\n\n interactiveLayer.dispatch.on('elementMousemove', function(e) {\n stacked.clearHighlights();\n var singlePoint, pointIndex, pointXLocation, allData = [], valueSum = 0, allNullValues = true;\n data\n .filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled;\n })\n .forEach(function(series,i) {\n pointIndex = nv.interactiveBisect(series.values, e.pointXValue, chart.x());\n var point = series.values[pointIndex];\n var pointYValue = chart.y()(point, pointIndex);\n if (pointYValue != null) {\n stacked.highlightPoint(i, pointIndex, true);\n }\n if (typeof point === 'undefined') return;\n if (typeof singlePoint === 'undefined') singlePoint = point;\n if (typeof pointXLocation === 'undefined') pointXLocation = chart.xScale()(chart.x()(point,pointIndex));\n\n //If we are in 'expand' mode, use the stacked percent value instead of raw value.\n var tooltipValue = (stacked.style() == 'expand') ? point.display.y : chart.y()(point,pointIndex);\n allData.push({\n key: series.key,\n value: tooltipValue,\n color: color(series,series.seriesIndex),\n point: point\n });\n\n if (showTotalInTooltip && stacked.style() != 'expand' && tooltipValue != null) {\n valueSum += tooltipValue;\n allNullValues = false;\n };\n });\n\n allData.reverse();\n\n //Highlight the tooltip entry based on which stack the mouse is closest to.\n if (allData.length > 2) {\n var yValue = chart.yScale().invert(e.mouseY);\n var yDistMax = Infinity, indexToHighlight = null;\n allData.forEach(function(series,i) {\n\n //To handle situation where the stacked area chart is negative, we need to use absolute values\n //when checking if the mouse Y value is within the stack area.\n yValue = Math.abs(yValue);\n var stackedY0 = Math.abs(series.point.display.y0);\n var stackedY = Math.abs(series.point.display.y);\n if ( yValue >= stackedY0 && yValue <= (stackedY + stackedY0))\n {\n indexToHighlight = i;\n return;\n }\n });\n if (indexToHighlight != null)\n allData[indexToHighlight].highlight = true;\n }\n\n //If we are not in 'expand' mode, add a 'Total' row to the tooltip.\n if (showTotalInTooltip && stacked.style() != 'expand' && allData.length >= 2 && !allNullValues) {\n allData.push({\n key: totalLabel,\n value: valueSum,\n total: true\n });\n }\n\n var xValue = chart.x()(singlePoint,pointIndex);\n\n var valueFormatter = interactiveLayer.tooltip.valueFormatter();\n // Keeps track of the tooltip valueFormatter if the chart changes to expanded view\n if (stacked.style() === 'expand' || stacked.style() === 'stack_percent') {\n if ( !oldValueFormatter ) {\n oldValueFormatter = valueFormatter;\n }\n //Forces the tooltip to use percentage in 'expand' mode.\n valueFormatter = d3.format(\".1%\");\n }\n else {\n if (oldValueFormatter) {\n valueFormatter = oldValueFormatter;\n oldValueFormatter = null;\n }\n }\n\n interactiveLayer.tooltip\n .valueFormatter(valueFormatter)\n .data(\n {\n value: xValue,\n series: allData\n }\n )();\n\n interactiveLayer.renderGuideLine(pointXLocation);\n\n });\n\n interactiveLayer.dispatch.on(\"elementMouseout\",function(e) {\n stacked.clearHighlights();\n });\n\n /* Update `main' graph on brush update. */\n focus.dispatch.on(\"onBrush\", function(extent) {\n onBrush(extent);\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n\n if (typeof e.disabled !== 'undefined' && data.length === e.disabled.length) {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n\n state.disabled = e.disabled;\n }\n\n if (typeof e.style !== 'undefined') {\n stacked.style(e.style);\n style = e.style;\n }\n\n chart.update();\n });\n\n //============================================================\n // Functions\n //------------------------------------------------------------\n\n function onBrush(extent) {\n // Update Main (Focus)\n var stackedWrap = g.select('.nv-focus .nv-stackedWrap')\n .datum(\n data.filter(function(d) { return !d.disabled; })\n .map(function(d,i) {\n return {\n key: d.key,\n area: d.area,\n classed: d.classed,\n values: d.values.filter(function(d,i) {\n return stacked.x()(d,i) >= extent[0] && stacked.x()(d,i) <= extent[1];\n }),\n disableTooltip: d.disableTooltip\n };\n })\n );\n stackedWrap.transition().duration(duration).call(stacked);\n\n // Update Main (Focus) Axes\n updateXAxis();\n updateYAxis();\n }\n\n });\n\n renderWatch.renderEnd('stacked Area chart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n stacked.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt.point['x'] = stacked.x()(evt.point);\n evt.point['y'] = stacked.y()(evt.point);\n tooltip.data(evt).hidden(false);\n });\n\n stacked.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.stacked = stacked;\n chart.legend = legend;\n chart.controls = controls;\n chart.xAxis = xAxis;\n chart.x2Axis = focus.xAxis;\n chart.yAxis = yAxis;\n chart.y2Axis = focus.yAxis;\n chart.interactiveLayer = interactiveLayer;\n chart.tooltip = tooltip;\n chart.focus = focus;\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n showControls: {get: function(){return showControls;}, set: function(_){showControls=_;}},\n controlLabels: {get: function(){return controlLabels;}, set: function(_){controlLabels=_;}},\n controlOptions: {get: function(){return controlOptions;}, set: function(_){controlOptions=_;}},\n showTotalInTooltip: {get: function(){return showTotalInTooltip;}, set: function(_){showTotalInTooltip=_;}},\n totalLabel: {get: function(){return totalLabel;}, set: function(_){totalLabel=_;}},\n focusEnable: {get: function(){return focusEnable;}, set: function(_){focusEnable=_;}},\n focusHeight: {get: function(){return focus.height();}, set: function(_){focus.height(_);}},\n brushExtent: {get: function(){return focus.brushExtent();}, set: function(_){focus.brushExtent(_);}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n focusMargin: {get: function(){return focus.margin}, set: function(_){\n focus.margin.top = _.top !== undefined ? _.top : focus.margin.top;\n focus.margin.right = _.right !== undefined ? _.right : focus.margin.right;\n focus.margin.bottom = _.bottom !== undefined ? _.bottom : focus.margin.bottom;\n focus.margin.left = _.left !== undefined ? _.left : focus.margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n stacked.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n stacked.color(color);\n focus.color(color);\n }},\n x: {get: function(){return stacked.x();}, set: function(_){\n stacked.x(_);\n focus.x(_);\n }},\n y: {get: function(){return stacked.y();}, set: function(_){\n stacked.y(_);\n focus.y(_);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( rightAlignYAxis ? 'right' : 'left');\n }},\n useInteractiveGuideline: {get: function(){return useInteractiveGuideline;}, set: function(_){\n useInteractiveGuideline = !!_;\n chart.interactive(!_);\n chart.useVoronoi(!_);\n stacked.scatter.interactive(!_);\n }}\n });\n\n nv.utils.inheritOptions(chart, stacked);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.stackedAreaWithFocusChart = function() {\n return nv.models.stackedAreaChart()\n .margin({ bottom: 30 })\n .focusEnable( true );\n};\n// based on http://bl.ocks.org/kerryrodden/477c1bfb081b783f80ad\nnv.models.sunburst = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 600\n , height = 600\n , mode = \"count\"\n , modes = {count: function(d) { return 1; }, value: function(d) { return d.value || d.size }, size: function(d) { return d.value || d.size }}\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container = null\n , color = nv.utils.defaultColor()\n , showLabels = false\n , labelFormat = function(d){if(mode === 'count'){return d.name + ' #' + d.value}else{return d.name + ' ' + (d.value || d.size)}}\n , labelThreshold = 0.02\n , sort = function(d1, d2){return d1.name > d2.name;}\n , key = function(d,i){return d.name;}\n , groupColorByParent = true\n , duration = 500\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMousemove', 'elementMouseover', 'elementMouseout', 'renderEnd');\n\n //============================================================\n // aux functions and setup\n //------------------------------------------------------------\n\n var x = d3.scale.linear().range([0, 2 * Math.PI]);\n var y = d3.scale.sqrt();\n\n var partition = d3.layout.partition().sort(sort);\n\n var node, availableWidth, availableHeight, radius;\n var prevPositions = {};\n\n var arc = d3.svg.arc()\n .startAngle(function(d) {return Math.max(0, Math.min(2 * Math.PI, x(d.x))) })\n .endAngle(function(d) {return Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx))) })\n .innerRadius(function(d) {return Math.max(0, y(d.y)) })\n .outerRadius(function(d) {return Math.max(0, y(d.y + d.dy)) });\n\n function rotationToAvoidUpsideDown(d) {\n var centerAngle = computeCenterAngle(d);\n if(centerAngle > 90){\n return 180;\n }\n else {\n return 0;\n }\n }\n\n function computeCenterAngle(d) {\n var startAngle = Math.max(0, Math.min(2 * Math.PI, x(d.x)));\n var endAngle = Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx)));\n var centerAngle = (((startAngle + endAngle) / 2) * (180 / Math.PI)) - 90;\n return centerAngle;\n }\n\n function computeNodePercentage(d) {\n var startAngle = Math.max(0, Math.min(2 * Math.PI, x(d.x)));\n var endAngle = Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx)));\n return (endAngle - startAngle) / (2 * Math.PI);\n }\n\n function labelThresholdMatched(d) {\n var startAngle = Math.max(0, Math.min(2 * Math.PI, x(d.x)));\n var endAngle = Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx)));\n\n var size = endAngle - startAngle;\n return size > labelThreshold;\n }\n\n // When zooming: interpolate the scales.\n function arcTweenZoom(e,i) {\n var xd = d3.interpolate(x.domain(), [node.x, node.x + node.dx]),\n yd = d3.interpolate(y.domain(), [node.y, 1]),\n yr = d3.interpolate(y.range(), [node.y ? 20 : 0, radius]);\n\n if (i === 0) {\n return function() {return arc(e);}\n }\n else {\n return function (t) {\n x.domain(xd(t));\n y.domain(yd(t)).range(yr(t));\n return arc(e);\n }\n };\n }\n\n function arcTweenUpdate(d) {\n var ipo = d3.interpolate({x: d.x0, dx: d.dx0, y: d.y0, dy: d.dy0}, d);\n\n return function (t) {\n var b = ipo(t);\n\n d.x0 = b.x;\n d.dx0 = b.dx;\n d.y0 = b.y;\n d.dy0 = b.dy;\n\n return arc(b);\n };\n }\n\n function updatePrevPosition(node) {\n var k = key(node);\n if(! prevPositions[k]) prevPositions[k] = {};\n var pP = prevPositions[k];\n pP.dx = node.dx;\n pP.x = node.x;\n pP.dy = node.dy;\n pP.y = node.y;\n }\n\n function storeRetrievePrevPositions(nodes) {\n nodes.forEach(function(n){\n var k = key(n);\n var pP = prevPositions[k];\n //console.log(k,n,pP);\n if( pP ){\n n.dx0 = pP.dx;\n n.x0 = pP.x;\n n.dy0 = pP.dy;\n n.y0 = pP.y;\n }\n else {\n n.dx0 = n.dx;\n n.x0 = n.x;\n n.dy0 = n.dy;\n n.y0 = n.y;\n }\n updatePrevPosition(n);\n });\n }\n\n function zoomClick(d) {\n var labels = container.selectAll('text')\n var path = container.selectAll('path')\n\n // fade out all text elements\n labels.transition().attr(\"opacity\",0);\n\n // to allow reference to the new center node\n node = d;\n\n path.transition()\n .duration(duration)\n .attrTween(\"d\", arcTweenZoom)\n .each('end', function(e) {\n // partially taken from here: http://bl.ocks.org/metmajer/5480307\n // check if the animated element's data e lies within the visible angle span given in d\n if(e.x >= d.x && e.x < (d.x + d.dx) ){\n if(e.depth >= d.depth){\n // get a selection of the associated text element\n var parentNode = d3.select(this.parentNode);\n var arcText = parentNode.select('text');\n\n // fade in the text element and recalculate positions\n arcText.transition().duration(duration)\n .text( function(e){return labelFormat(e) })\n .attr(\"opacity\", function(d){\n if(labelThresholdMatched(d)) {\n return 1;\n }\n else {\n return 0;\n }\n })\n .attr(\"transform\", function() {\n var width = this.getBBox().width;\n if(e.depth === 0)\n return \"translate(\" + (width / 2 * - 1) + \",0)\";\n else if(e.depth === d.depth){\n return \"translate(\" + (y(e.y) + 5) + \",0)\";\n }\n else {\n var centerAngle = computeCenterAngle(e);\n var rotation = rotationToAvoidUpsideDown(e);\n if (rotation === 0) {\n return 'rotate('+ centerAngle +')translate(' + (y(e.y) + 5) + ',0)';\n }\n else {\n return 'rotate('+ centerAngle +')translate(' + (y(e.y) + width + 5) + ',0)rotate(' + rotation + ')';\n }\n }\n });\n }\n }\n })\n }\n\n //============================================================\n // chart function\n //------------------------------------------------------------\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n function chart(selection) {\n renderWatch.reset();\n\n selection.each(function(data) {\n container = d3.select(this);\n availableWidth = nv.utils.availableWidth(width, container, margin);\n availableHeight = nv.utils.availableHeight(height, container, margin);\n radius = Math.min(availableWidth, availableHeight) / 2;\n\n y.range([0, radius]);\n\n // Setup containers and skeleton of chart\n var wrap = container.select('g.nvd3.nv-wrap.nv-sunburst');\n if( !wrap[0][0] ) {\n wrap = container.append('g')\n .attr('class', 'nvd3 nv-wrap nv-sunburst nv-chart-' + id)\n .attr('transform', 'translate(' + ((availableWidth / 2) + margin.left + margin.right) + ',' + ((availableHeight / 2) + margin.top + margin.bottom) + ')');\n } else {\n wrap.attr('transform', 'translate(' + ((availableWidth / 2) + margin.left + margin.right) + ',' + ((availableHeight / 2) + margin.top + margin.bottom) + ')');\n }\n\n container.on('click', function (d, i) {\n dispatch.chartClick({\n data: d,\n index: i,\n pos: d3.event,\n id: id\n });\n });\n\n partition.value(modes[mode] || modes[\"count\"]);\n\n //reverse the drawing order so that the labels of inner\n //arcs are drawn on top of the outer arcs.\n var nodes = partition.nodes(data[0]).reverse()\n\n storeRetrievePrevPositions(nodes);\n var cG = wrap.selectAll('.arc-container').data(nodes, key)\n\n //handle new datapoints\n var cGE = cG.enter()\n .append(\"g\")\n .attr(\"class\",'arc-container')\n\n cGE.append(\"path\")\n .attr(\"d\", arc)\n .style(\"fill\", function (d) {\n if (d.color) {\n return d.color;\n }\n else if (groupColorByParent) {\n return color((d.children ? d : d.parent).name);\n }\n else {\n return color(d.name);\n }\n })\n .style(\"stroke\", \"#FFF\")\n .on(\"click\", zoomClick)\n .on('mouseover', function(d,i){\n d3.select(this).classed('hover', true).style('opacity', 0.8);\n dispatch.elementMouseover({\n data: d,\n color: d3.select(this).style(\"fill\"),\n percent: computeNodePercentage(d)\n });\n })\n .on('mouseout', function(d,i){\n d3.select(this).classed('hover', false).style('opacity', 1);\n dispatch.elementMouseout({\n data: d\n });\n })\n .on('mousemove', function(d,i){\n dispatch.elementMousemove({\n data: d\n });\n });\n\n ///Iterating via each and selecting based on the this\n ///makes it work ... a cG.selectAll('path') doesn't.\n ///Without iteration the data (in the element) didn't update.\n cG.each(function(d){\n d3.select(this).select('path')\n .transition()\n .duration(duration)\n .attrTween('d', arcTweenUpdate);\n });\n\n if(showLabels){\n //remove labels first and add them back\n cG.selectAll('text').remove();\n\n //this way labels are on top of newly added arcs\n cG.append('text')\n .text( function(e){ return labelFormat(e)})\n .transition()\n .duration(duration)\n .attr(\"opacity\", function(d){\n if(labelThresholdMatched(d)) {\n return 1;\n }\n else {\n return 0;\n }\n })\n .attr(\"transform\", function(d) {\n var width = this.getBBox().width;\n if(d.depth === 0){\n return \"rotate(0)translate(\" + (width / 2 * -1) + \",0)\";\n }\n else {\n var centerAngle = computeCenterAngle(d);\n var rotation = rotationToAvoidUpsideDown(d);\n if (rotation === 0) {\n return 'rotate('+ centerAngle +')translate(' + (y(d.y) + 5) + ',0)';\n }\n else {\n return 'rotate('+ centerAngle +')translate(' + (y(d.y) + width + 5) + ',0)rotate(' + rotation + ')';\n }\n }\n });\n }\n\n //zoom out to the center when the data is updated.\n zoomClick(nodes[nodes.length - 1])\n\n\n //remove unmatched elements ...\n cG.exit()\n .transition()\n .duration(duration)\n .attr('opacity',0)\n .each('end',function(d){\n var k = key(d);\n prevPositions[k] = undefined;\n })\n .remove();\n });\n\n\n renderWatch.renderEnd('sunburst immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n mode: {get: function(){return mode;}, set: function(_){mode=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n duration: {get: function(){return duration;}, set: function(_){duration=_;}},\n groupColorByParent: {get: function(){return groupColorByParent;}, set: function(_){groupColorByParent=!!_;}},\n showLabels: {get: function(){return showLabels;}, set: function(_){showLabels=!!_}},\n labelFormat: {get: function(){return labelFormat;}, set: function(_){labelFormat=_}},\n labelThreshold: {get: function(){return labelThreshold;}, set: function(_){labelThreshold=_}},\n sort: {get: function(){return sort;}, set: function(_){sort=_}},\n key: {get: function(){return key;}, set: function(_){key=_}},\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top != undefined ? _.top : margin.top;\n margin.right = _.right != undefined ? _.right : margin.right;\n margin.bottom = _.bottom != undefined ? _.bottom : margin.bottom;\n margin.left = _.left != undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color=nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n return chart;\n};\nnv.models.sunburstChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var sunburst = nv.models.sunburst();\n var tooltip = nv.models.tooltip();\n\n var margin = {top: 30, right: 20, bottom: 20, left: 20}\n , width = null\n , height = null\n , color = nv.utils.defaultColor()\n , showTooltipPercent = false\n , id = Math.round(Math.random() * 100000)\n , defaultState = null\n , noData = null\n , duration = 250\n , dispatch = d3.dispatch('stateChange', 'changeState','renderEnd');\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n tooltip\n .duration(0)\n .headerEnabled(false)\n .valueFormatter(function(d){return d;});\n\n //============================================================\n // Chart function\n //------------------------------------------------------------\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(sunburst);\n\n selection.each(function(data) {\n var container = d3.select(this);\n\n nv.utils.initSVG(container);\n\n var availableWidth = nv.utils.availableWidth(width, container, margin);\n var availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() {\n if (duration === 0) {\n container.call(chart);\n } else {\n container.transition().duration(duration).call(chart);\n }\n };\n chart.container = container;\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n sunburst.width(availableWidth).height(availableHeight).margin(margin);\n container.call(sunburst);\n });\n\n renderWatch.renderEnd('sunburstChart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n sunburst.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt.series = {\n key: evt.data.name,\n value: (evt.data.value || evt.data.size),\n color: evt.color,\n percent: evt.percent\n };\n if (!showTooltipPercent) {\n delete evt.percent;\n delete evt.series.percent;\n }\n tooltip.data(evt).hidden(false);\n });\n\n sunburst.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n sunburst.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.sunburst = sunburst;\n chart.tooltip = tooltip;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n // use Object get/set functionality to map between vars and chart functions\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n showTooltipPercent: {get: function(){return showTooltipPercent;}, set: function(_){showTooltipPercent=_;}},\n\n // options that require extra logic in the setter\n color: {get: function(){return color;}, set: function(_){\n color = _;\n sunburst.color(color);\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n sunburst.duration(duration);\n }},\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n sunburst.margin(margin);\n }}\n });\n nv.utils.inheritOptions(chart, sunburst);\n nv.utils.initOptions(chart);\n return chart;\n\n};\n\nnv.version = \"1.8.4\";\n})();", "//! moment-timezone.js\n//! version : 0.5.45\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Resolves es6 module loading issue\n\tif (moment.version === undefined && moment.default) {\n\t\tmoment = moment.default;\n\t}\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.45\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tcountries = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tfunction closest (num, arr) {\n\t\tvar len = arr.length;\n\t\tif (num < arr[0]) {\n\t\t\treturn 0;\n\t\t} else if (len > 1 && arr[len - 1] === Infinity && num >= arr[len - 2]) {\n\t\t\treturn len - 1;\n\t\t} else if (num >= arr[len - 1]) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tvar mid;\n\t\tvar lo = 0;\n\t\tvar hi = len - 1;\n\t\twhile (hi - lo > 1) {\n\t\t\tmid = Math.floor((lo + hi) / 2);\n\t\t\tif (arr[mid] <= num) {\n\t\t\t\tlo = mid;\n\t\t\t} else {\n\t\t\t\thi = mid;\n\t\t\t}\n\t\t}\n\t\treturn hi;\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\ti = closest(target, untils);\n\t\t\tif (i >= 0) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t},\n\n\t\tcountries : function () {\n\t\t\tvar zone_name = this.name;\n\t\t\treturn Object.keys(countries).filter(function (country_code) {\n\t\t\t\treturn countries[country_code].zones.indexOf(zone_name) !== -1;\n\t\t\t});\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCountry object\n\t************************************/\n\n\tfunction Country (country_name, zone_names) {\n\t\tthis.name = country_name;\n\t\tthis.zones = zone_names;\n\t}\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (\u53F0\u5317\u6A19\u6E96\u6642\u9593)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\tlastOffset = last.offset,\n\t\t\toffsets = [last],\n\t\t\tchange, next, nextOffset, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnextOffset = new Date(startYear, i, 1).getTimezoneOffset();\n\t\t\tif (nextOffset !== lastOffset) {\n\t\t\t\t// Create OffsetAt here to avoid unnecessary abbr parsing before checking offsets\n\t\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t\tlast = next;\n\t\t\t\tlastOffset = nextOffset;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\tif (a.zone.population !== b.zone.population) {\n\t\t\treturn b.zone.population - a.zone.population;\n\t\t}\n\t\treturn b.zone.name.localeCompare(a.zone.name);\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\tcheckedOffsets = {},\n\t\t\ti, j, offset, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\toffset = offsets[i].offset;\n\t\t\tif (checkedOffsets.hasOwnProperty(offset)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tguessesOffset = guesses[offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tcheckedOffsets[offset] = true;\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction getCountryNames () {\n\t\treturn Object.keys(countries);\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction addCountries (data) {\n\t\tvar i, country_code, country_zones, split;\n\t\tif (!data || !data.length) return;\n\t\tfor (i = 0; i < data.length; i++) {\n\t\t\tsplit = data[i].split('|');\n\t\t\tcountry_code = split[0].toUpperCase();\n\t\t\tcountry_zones = split[1].split(' ');\n\t\t\tcountries[country_code] = new Country(\n\t\t\t\tcountry_code,\n\t\t\t\tcountry_zones\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction getCountry (name) {\n\t\tname = name.toUpperCase();\n\t\treturn countries[name] || null;\n\t}\n\n\tfunction zonesForCountry(country, with_offset) {\n\t\tcountry = getCountry(country);\n\n\t\tif (!country) return null;\n\n\t\tvar zones = country.zones.sort();\n\n\t\tif (with_offset) {\n\t\t\treturn zones.map(function (zone_name) {\n\t\t\t\tvar zone = getZone(zone_name);\n\t\t\t\treturn {\n\t\t\t\t\tname: zone_name,\n\t\t\t\t\toffset: zone.utcOffset(new Date())\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\treturn zones;\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\taddCountries(data.countries);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tout = moment.utc.apply(null, args),\n\t\t\tzone;\n\n\t\tif (!moment.isMoment(input) && needsOffset(out) && (zone = getZone(name))) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz._countries\t= countries;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\ttz.countries = getCountryNames;\n\ttz.zonesForCountry = zonesForCountry;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC && mom.isValid()) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tvar z = mom._z;\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t\tmom._z = z;\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap2 (old) {\n\t\treturn function () {\n\t\t\tif (arguments.length > 0) this._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\tfn.local = resetZoneWrap(fn.local);\n\tfn.utcOffset = resetZoneWrap2(fn.utcOffset);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n", "{\n\t\"version\": \"2024a\",\n\t\"zones\": [\n\t\t\"Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5\",\n\t\t\"Africa/Nairobi|LMT +0230 EAT +0245|-2r.g -2u -30 -2J|012132|-2ua2r.g N6nV.g 3Fbu h1cu dzbJ|47e5\",\n\t\t\"Africa/Algiers|LMT PMT WET WEST CET CEST|-c.c -9.l 0 -10 -10 -20|01232323232323232454542423234542324|-3bQ0c.c MDA2.P cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5\",\n\t\t\"Africa/Lagos|LMT GMT +0030 WAT|-d.z 0 -u -10|01023|-2B40d.z 7iod.z dnXK.p dLzH.z|17e6\",\n\t\t\"Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4\",\n\t\t\"Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5\",\n\t\t\"Africa/Cairo|LMT EET EEST|-25.9 -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2MBC5.9 1AQM5.9 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0 kSp0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0|15e6\",\n\t\t\"Africa/Casablanca|LMT +00 +01|u.k 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0|32e5\",\n\t\t\"Africa/Ceuta|LMT WET WEST CET CEST|l.g 0 -10 -10 -20|0121212121212121212121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2M0M0 GdX0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|85e3\",\n\t\t\"Africa/El_Aaiun|LMT -01 +00 +01|Q.M 10 0 -10|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0|20e4\",\n\t\t\"Africa/Johannesburg|LMT SAST SAST SAST|-1Q -1u -20 -30|0123232|-39EpQ qTcm 1Ajdu 1cL0 1cN0 1cL0|84e5\",\n\t\t\"Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|012121212121212121212121212121212131|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 PeX0|\",\n\t\t\"Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5\",\n\t\t\"Africa/Monrovia|LMT MMT MMT GMT|H.8 H.8 I.u 0|0123|-3ygng.Q 1usM0 28G01.m|11e5\",\n\t\t\"Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5\",\n\t\t\"Africa/Sao_Tome|LMT LMT GMT WAT|-q.U A.J 0 -10|01232|-3tooq.U 18aoq.U 4i6N0 2q00|\",\n\t\t\"Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5\",\n\t\t\"Africa/Tunis|LMT PMT CET CEST|-E.I -9.l -10 -20|01232323232323232323232323232323232|-3zO0E.I 1cBAv.n 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5\",\n\t\t\"Africa/Windhoek|LMT +0130 SAST SAST CAT WAT|-18.o -1u -20 -30 -20 -10|012324545454545454545454545454545454545454545454545454|-39Ep8.o qTbC.o 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4\",\n\t\t\"America/Adak|LMT LMT NST NWT NPT BST BDT AHST HST HDT|-cd.m bK.C b0 a0 a0 b0 a0 a0 a0 90|01234256565656565656565656565656565678989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVzf.p 1EX1d.m 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326\",\n\t\t\"America/Anchorage|LMT LMT AST AWT APT AHST AHDT YST AKST AKDT|-e0.o 9X.A a0 90 90 a0 90 90 90 80|01234256565656565656565656565656565678989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVxs.n 1EX20.o 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4\",\n\t\t\"America/Puerto_Rico|LMT AST AWT APT|4o.p 40 30 30|01231|-2Qi7z.z 1IUbz.z 7XT0 iu0|24e5\",\n\t\t\"America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4\",\n\t\t\"America/Argentina/Buenos_Aires|LMT CMT -04 -03 -02|3R.M 4g.M 40 30 20|012323232323232323232323232323232323232323234343434343434343|-331U6.c 125cn pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0|\",\n\t\t\"America/Argentina/Catamarca|LMT CMT -04 -03 -02|4n.8 4g.M 40 30 20|012323232323232323232323232323232323232323234343434243432343|-331TA.Q 125bR.E pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0|\",\n\t\t\"America/Argentina/Cordoba|LMT CMT -04 -03 -02|4g.M 4g.M 40 30 20|012323232323232323232323232323232323232323234343434243434343|-331TH.c 125c0 pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0|\",\n\t\t\"America/Argentina/Jujuy|LMT CMT -04 -03 -02|4l.c 4g.M 40 30 20|0123232323232323232323232323232323232323232343434232434343|-331TC.M 125bT.A pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0|\",\n\t\t\"America/Argentina/La_Rioja|LMT CMT -04 -03 -02|4r.o 4g.M 40 30 20|0123232323232323232323232323232323232323232343434342343432343|-331Tw.A 125bN.o pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|\",\n\t\t\"America/Argentina/Mendoza|LMT CMT -04 -03 -02|4z.g 4g.M 40 30 20|012323232323232323232323232323232323232323234343423232432343|-331To.I 125bF.w pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0|\",\n\t\t\"America/Argentina/Rio_Gallegos|LMT CMT -04 -03 -02|4A.Q 4g.M 40 30 20|012323232323232323232323232323232323232323234343434343432343|-331Tn.8 125bD.U pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|\",\n\t\t\"America/Argentina/Salta|LMT CMT -04 -03 -02|4l.E 4g.M 40 30 20|0123232323232323232323232323232323232323232343434342434343|-331TC.k 125bT.8 pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0|\",\n\t\t\"America/Argentina/San_Juan|LMT CMT -04 -03 -02|4y.4 4g.M 40 30 20|0123232323232323232323232323232323232323232343434342343432343|-331Tp.U 125bG.I pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0|\",\n\t\t\"America/Argentina/San_Luis|LMT CMT -04 -03 -02|4p.o 4g.M 40 30 20|0123232323232323232323232323232323232323232343434232323432323|-331Ty.A 125bP.o pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0|\",\n\t\t\"America/Argentina/Tucuman|LMT CMT -04 -03 -02|4k.Q 4g.M 40 30 20|01232323232323232323232323232323232323232323434343424343234343|-331TD.8 125bT.U pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0|\",\n\t\t\"America/Argentina/Ushuaia|LMT CMT -04 -03 -02|4x.c 4g.M 40 30 20|012323232323232323232323232323232323232323234343434343432343|-331Tq.M 125bH.A pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0|\",\n\t\t\"America/Asuncion|LMT AMT -04 -03|3O.E 3O.E 40 30|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-3eLw9.k 1FGo0 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0|28e5\",\n\t\t\"America/Panama|LMT CMT EST|5i.8 5j.A 50|012|-3eLuF.Q Iy01.s|15e5\",\n\t\t\"America/Bahia_Banderas|LMT MST CST MDT PST CDT|71 70 60 60 80 50|0121312141313131313131313131313131313152525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|84e3\",\n\t\t\"America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5\",\n\t\t\"America/Barbados|LMT AST ADT -0330|3W.t 40 30 3u|0121213121212121|-2m4k1.v 1eAN1.v RB0 1Bz0 Op0 1rb0 11d0 1jJc0 IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4\",\n\t\t\"America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5\",\n\t\t\"America/Belize|LMT CST -0530 CWT CPT CDT|5Q.M 60 5u 50 50 50|012121212121212121212121212121212121212121212121213412121212121212121212121212121212121212121215151|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu Rcu 7Bt0 Ni0 4nd0 Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu e9Au qn0 lxB0 mn0|57e3\",\n\t\t\"America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2\",\n\t\t\"America/Bogota|LMT BMT -05 -04|4U.g 4U.g 50 40|01232|-3sTv3.I 1eIo0 38yo3.I 1PX0|90e5\",\n\t\t\"America/Boise|LMT PST PDT MST MWT MPT MDT|7I.N 80 70 70 60 60 60|01212134536363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-3tFE0 1nEe0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4\",\n\t\t\"America/Cambridge_Bay|-00 MST MWT MPT MDT CST CDT EST|0 70 60 60 60 60 50 50|012314141414141414141414141414141414141414141414141414141414567541414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-21Jc0 RO90 8x20 ix0 14HB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2\",\n\t\t\"America/Campo_Grande|LMT -04 -03|3C.s 40 30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4\",\n\t\t\"America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4\",\n\t\t\"America/Caracas|LMT CMT -0430 -04|4r.I 4r.E 4u 40|012323|-3eLvw.g ROnX.U 28KM2.k 1IwOu kqo0|29e5\",\n\t\t\"America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3\",\n\t\t\"America/Chicago|LMT CST CDT EST CWT CPT|5O.A 60 50 50 50 50|012121212121212121212121212121212121213121212121214512121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFG0 1nEe0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5\",\n\t\t\"America/Chihuahua|LMT MST CST MDT CDT|74.k 70 60 60 50|0121312424231313131313131313131313131313131313131313131313132|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|81e4\",\n\t\t\"America/Ciudad_Juarez|LMT MST CST MDT CDT|75.U 70 60 60 50|01213124242313131313131313131313131313131313131313131313131321313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 cm0 EP0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/Costa_Rica|LMT SJMT CST CDT|5A.d 5A.d 60 50|01232323232|-3eLun.L 1fyo0 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5\",\n\t\t\"America/Phoenix|LMT MST MDT MWT|7s.i 70 60 60|012121313121|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5\",\n\t\t\"America/Cuiaba|LMT -04 -03|3I.k 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|54e4\",\n\t\t\"America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8\",\n\t\t\"America/Dawson_Creek|LMT PST PDT PWT PPT MST|80.U 80 70 70 70 70|01213412121212121212121212121212121212121212121212121212125|-3tofX.4 1nspX.4 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3\",\n\t\t\"America/Dawson|LMT YST YDT YWT YPT YDDT PST PDT MST|9h.E 90 80 80 80 70 80 70 70|0121213415167676767676767676767676767676767676767676767676767676767676767676767676767676767678|-2MSeG.k GWpG.k 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|13e2\",\n\t\t\"America/Denver|LMT MST MDT MWT MPT|6X.U 70 60 60 60|012121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFF0 1nEe0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5\",\n\t\t\"America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|0123425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 JxX1 SMX 1cN0 1cL0 aW10 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5\",\n\t\t\"America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|0121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 XQp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5\",\n\t\t\"America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3\",\n\t\t\"America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5\",\n\t\t\"America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 4Q00 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5\",\n\t\t\"America/Fort_Nelson|LMT PST PDT PWT PPT MST|8a.L 80 70 70 70 70|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121215|-3tofN.d 1nspN.d 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2\",\n\t\t\"America/Fort_Wayne|LMT CST CDT CWT CPT EST EDT|5I.C 60 50 50 50 50 40|0121212134121212121212121212151565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5\",\n\t\t\"America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3\",\n\t\t\"America/Godthab|LMT -03 -02 -01|3q.U 30 20 10|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 2so0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|17e3\",\n\t\t\"America/Goose_Bay|LMT NST NDT NST NDT NWT NPT AST ADT ADDT|41.E 3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|0121343434343434356343434343434343434343434343434343434343437878787878787878787878787878787878787878787879787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787|-3tojW.k 1nspt.c 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2\",\n\t\t\"America/Grand_Turk|LMT KMT EST EDT AST|4I.w 57.a 50 40 40|01232323232323232323232323232323232323232323232323232323232323232323232323243232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3eLvf.s RK0m.C 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 7jA0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2\",\n\t\t\"America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5\",\n\t\t\"America/Guayaquil|LMT QMT -05 -04|5j.k 5e 50 40|01232|-3eLuE.E 1DNzS.E 2uILK rz0|27e5\",\n\t\t\"America/Guyana|LMT -04 -0345 -03|3Q.D 40 3J 30|01231|-2mf87.l 8Hc7.l 2r7bJ Ey0f|80e4\",\n\t\t\"America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4\",\n\t\t\"America/Havana|LMT HMT CST CDT|5t.s 5t.A 50 40|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3eLuu.w 1qx00.8 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5\",\n\t\t\"America/Hermosillo|LMT MST CST MDT PST|7n.Q 70 60 60 80|0121312141313131|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4\",\n\t\t\"America/Indiana/Knox|LMT CST CDT CWT CPT EST|5K.u 60 50 50 50 50|01212134121212121212121212121212121212151212121212121212121212121212121212121212121212121252121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/Indiana/Marengo|LMT CST CDT CWT CPT EST EDT|5J.n 60 50 50 50 50 40|01212134121212121212121215656565656525656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/Indiana/Petersburg|LMT CST CDT CWT CPT EST EDT|5N.7 60 50 50 50 50 40|012121341212121212121212121215121212121212121212121252125656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/Indiana/Tell_City|LMT CST CDT CWT CPT EST EDT|5L.3 60 50 50 50 50 40|012121341212121212121212121512165652121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 8wn0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/Indiana/Vevay|LMT CST CDT CWT CPT EST EDT|5E.g 60 50 50 50 50 40|0121213415656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/Indiana/Vincennes|LMT CST CDT CWT CPT EST EDT|5O.7 60 50 50 50 50 40|012121341212121212121212121212121565652125656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/Indiana/Winamac|LMT CST CDT CWT CPT EST EDT|5K.p 60 50 50 50 50 40|012121341212121212121212121212121212121565652165656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/Inuvik|-00 PST PDT MDT MST|0 80 70 60 70|01212121212121213434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-FnA0 L3K0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2\",\n\t\t\"America/Iqaluit|-00 EWT EPT EST EDT CST CDT|0 40 40 50 40 60 50|0123434343434343434343434343434343434343434343434343434343456343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-16K00 7nX0 iv0 14HB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2\",\n\t\t\"America/Jamaica|LMT KMT EST EDT|57.a 57.a 50 40|01232323232323232323232|-3eLuQ.O RK00 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4\",\n\t\t\"America/Juneau|LMT LMT PST PWT PPT PDT YDT YST AKST AKDT|-f2.j 8V.F 80 70 70 70 80 90 90 80|0123425252525252525252525252625252578989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVwq.s 1EX12.j 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3\",\n\t\t\"America/Kentucky/Louisville|LMT CST CDT CWT CPT EST EDT|5H.2 60 50 50 50 50 40|01212121213412121212121212121212121212565656565656525656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 1nX1 e0X 9vd0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/Kentucky/Monticello|LMT CST CDT CWT CPT EST EDT|5D.o 60 50 50 50 50 40|01212134121212121212121212121212121212121212121212121212121212121212121212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFG0 1nEe0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/La_Paz|LMT CMT BST -04|4w.A 4w.A 3w.A 40|0123|-3eLvr.o 1FIo0 13b0|19e5\",\n\t\t\"America/Lima|LMT LMT -05 -04|58.c 58.A 50 40|01232323232323232|-3eLuP.M JcM0.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6\",\n\t\t\"America/Los_Angeles|LMT PST PDT PWT PPT|7Q.W 80 70 70 70|0121213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFE0 1nEe0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6\",\n\t\t\"America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4\",\n\t\t\"America/Managua|LMT MMT CST EST CDT|5J.8 5J.c 60 50 50|01232424232324242|-3eLue.Q 1Mhc0.4 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5\",\n\t\t\"America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5\",\n\t\t\"America/Martinique|LMT FFMT AST ADT|44.k 44.k 40 30|01232|-3eLvT.E PTA0 2LPbT.E 19X0|39e4\",\n\t\t\"America/Matamoros|LMT CST CDT|6u 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4\",\n\t\t\"America/Mazatlan|LMT MST CST MDT PST|75.E 70 60 60 80|0121312141313131313131313131313131313131313131313131313131313131|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|44e4\",\n\t\t\"America/Menominee|LMT CST CDT CWT CPT EST|5O.r 60 50 50 50 50|012121341212152121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3pdG9.x 1jce9.x 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2\",\n\t\t\"America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|11e5\",\n\t\t\"America/Metlakatla|LMT LMT PST PWT PPT PDT AKST AKDT|-fd.G 8K.i 80 70 70 70 90 80|0123425252525252525252525252525252526767672676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-48Pzs.L 1jVwf.5 1EX1d.G 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2\",\n\t\t\"America/Mexico_City|LMT MST CST MDT CDT CWT|6A.A 70 60 60 50 50|012131242425242424242424242424242424242424242424242424242424242424242|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|20e6\",\n\t\t\"America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mxUf.k 2LHcf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2\",\n\t\t\"America/Moncton|LMT EST AST ADT AWT APT|4j.8 50 40 30 30 30|0123232323232323232323245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3txvE.Q J4ME.Q CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3\",\n\t\t\"America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|41e5\",\n\t\t\"America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5\",\n\t\t\"America/Toronto|LMT EST EDT EWT EPT|5h.w 50 40 40 40|012121212121212121212121212121212121212121212123412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-32B6G.s UFdG.s 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1qL0 11B0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5\",\n\t\t\"America/New_York|LMT EST EDT EWT EPT|4U.2 50 40 40 40|012121212121212121212121212121212121212121212121213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tFH0 1nEe0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6\",\n\t\t\"America/Nome|LMT LMT NST NWT NPT BST BDT YST AKST AKDT|-cW.m b1.C b0 a0 a0 b0 a0 90 90 80|01234256565656565656565656565656565678989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898|-48Pzs.L 1jVyu.p 1EX1W.m 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2\",\n\t\t\"America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2\",\n\t\t\"America/North_Dakota/Beulah|LMT MST MDT MWT MPT CST CDT|6L.7 70 60 60 60 60 50|0121213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212125656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/North_Dakota/Center|LMT MST MDT MWT MPT CST CDT|6J.c 70 60 60 60 60 50|0121213412121212121212121212121212121212121212121212121212125656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/North_Dakota/New_Salem|LMT MST MDT MWT MPT CST CDT|6J.D 70 60 60 60 60 50|0121213412121212121212121212121212121212121212121212121212121212121212121212121212565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tFF0 1nEe0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"America/Ojinaga|LMT MST CST MDT CDT|6V.E 70 60 60 50|0121312424231313131313131313131313131313131313131313131313132424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 Rc0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3\",\n\t\t\"America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4\",\n\t\t\"America/Port-au-Prince|LMT PPMT EST EDT|4N.k 4N 50 40|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3eLva.E 15RLX.E 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\",\n\t\t\"America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4\",\n\t\t\"America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4\",\n\t\t\"America/Punta_Arenas|LMT SMT -05 -04 -03|4H.E 4G.J 50 40 30|01213132323232323232343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLvg.k MJbX.5 fJAh.f 5knG.J 1Vzh.f jRAG.J 1pbh.f 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|\",\n\t\t\"America/Winnipeg|LMT CST CDT CWT CPT|6s.A 60 50 50 50|0121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3kLtv.o 1a3bv.o WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4\",\n\t\t\"America/Rankin_Inlet|-00 CST CDT EST|0 60 50 50|01212121212121212121212121212121212121212121212121212121212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-vDc0 Bjk0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2\",\n\t\t\"America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5\",\n\t\t\"America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4\",\n\t\t\"America/Resolute|-00 CST CDT EST|0 60 50 50|01212121212121212121212121212121212121212121212121212121212321212121212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-SnA0 103I0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229\",\n\t\t\"America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4\",\n\t\t\"America/Santiago|LMT SMT -05 -04 -03|4G.J 4G.J 50 40 30|0121313232323232323432343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLvh.f MJc0 fJAh.f 5knG.J 1Vzh.f jRAG.J 1pbh.f 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 hX0 1q10 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0|62e5\",\n\t\t\"America/Santo_Domingo|LMT SDMT EST EDT -0430 AST|4D.A 4E 50 40 4u 40|012324242424242525|-3eLvk.o 1Jic0.o 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5\",\n\t\t\"America/Sao_Paulo|LMT -03 -02|36.s 30 20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6\",\n\t\t\"America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|012132323232323232323232323232323232323232323232323232323232323232323232323232323232323232121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 2pA0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|452\",\n\t\t\"America/Sitka|LMT LMT PST PWT PPT PDT YST AKST AKDT|-eW.L 91.d 80 70 70 70 90 90 80|0123425252525252525252525252525252567878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787|-48Pzs.L 1jVwu 1EX0W.L 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2\",\n\t\t\"America/St_Johns|LMT NST NDT NST NDT NWT NPT NDDT|3u.Q 3u.Q 2u.Q 3u 2u 2u 2u 1u|012121212121212121212121212121212121213434343434343435634343434343434343434343434343434343434343434343434343434343434343434343434343434343437343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3tokt.8 1l020 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4\",\n\t\t\"America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3\",\n\t\t\"America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5\",\n\t\t\"America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656\",\n\t\t\"America/Vancouver|LMT PST PDT PWT PPT|8c.s 80 70 70 70|01213412121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3tofL.w 1nspL.w 1in0 UGp0 8x10 iy0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\",\n\t\t\"America/Whitehorse|LMT YST YDT YWT YPT YDDT PST PDT MST|90.c 90 80 80 80 70 80 70 70|0121213415167676767676767676767676767676767676767676767676767676767676767676767676767676767678|-2MSeX.M GWpX.M 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 LA0 ytd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|23e3\",\n\t\t\"America/Yakutat|LMT LMT YST YWT YPT YDT AKST AKDT|-eF.5 9i.T 90 80 80 80 90 80|0123425252525252525252525252525252526767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-48Pzs.L 1jVwL.G 1EX1F.5 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642\",\n\t\t\"Antarctica/Casey|-00 +08 +11|0 -80 -b0|012121212121212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10 1o30 14k0 1kr0 12l0 1o01 14kX 1lf1 14kX 1lf1 13bX|10\",\n\t\t\"Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70\",\n\t\t\"Pacific/Port_Moresby|LMT PMMT +10|-9M.E -9M.w -a0|012|-3D8VM.E AvA0.8|25e4\",\n\t\t\"Antarctica/Macquarie|-00 AEST AEDT|0 -a0 -b0|0121012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2OPc0 Fb40 1a00 4SK0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 3Co0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|1\",\n\t\t\"Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60\",\n\t\t\"Pacific/Auckland|LMT NZMT NZST NZST NZDT|-bD.4 -bu -cu -c0 -d0|012131313131313131313131313134343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-46jLD.4 2nEO9.4 Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00|14e5\",\n\t\t\"Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40\",\n\t\t\"Antarctica/Rothera|-00 -03|0 30|01|gOo0|130\",\n\t\t\"Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5\",\n\t\t\"Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|40\",\n\t\t\"Antarctica/Vostok|-00 +07 +05|0 -70 -50|01012|-tjA0 1rWh0 1Nj0 1aTv0|25\",\n\t\t\"Europe/Berlin|LMT CET CEST CEMT|-R.s -10 -20 -30|012121212121212321212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-36RcR.s UbWR.s 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|41e5\",\n\t\t\"Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|0123232323232323232323212323232323232323232323232321|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 L4m0|15e5\",\n\t\t\"Asia/Amman|LMT EET EEST +03|-2n.I -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212123|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00|25e5\",\n\t\t\"Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3\",\n\t\t\"Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4\",\n\t\t\"Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4\",\n\t\t\"Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4\",\n\t\t\"Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|\",\n\t\t\"Asia/Baghdad|LMT BMT +03 +04|-2V.E -2V.A -30 -40|0123232323232323232323232323232323232323232323232323232|-3eLCV.E 18ao0.4 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5\",\n\t\t\"Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4\",\n\t\t\"Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5\",\n\t\t\"Asia/Bangkok|LMT BMT +07|-6G.4 -6G.4 -70|012|-3D8SG.4 1C000|15e6\",\n\t\t\"Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|\",\n\t\t\"Asia/Beirut|LMT EET EEST|-2m -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3D8Om 1BWom 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|22e5\",\n\t\t\"Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4\",\n\t\t\"Asia/Brunei|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|42e4\",\n\t\t\"Asia/Kolkata|LMT HMT MMT IST +0630|-5R.s -5R.k -5l.a -5u -6u|01234343|-4Fg5R.s BKo0.8 1rDcw.a 1r2LP.a 1un0 HB0 7zX0|15e6\",\n\t\t\"Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4\",\n\t\t\"Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3\",\n\t\t\"Asia/Shanghai|LMT CST CDT|-85.H -80 -90|012121212121212121212121212121|-2M0U5.H Iuo5.H 18n0 OjB0 Rz0 11d0 1wL0 A10 8HX0 1G10 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 aL0 1tU30 Rb0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6\",\n\t\t\"Asia/Colombo|LMT MMT +0530 +06 +0630|-5j.o -5j.w -5u -60 -6u|012342432|-3D8Rj.o 13inX.Q 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5\",\n\t\t\"Asia/Dhaka|LMT HMT +0630 +0530 +06 +07|-61.E -5R.k -6u -5u -60 -70|01232454|-3eLG1.E 26008.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6\",\n\t\t\"Asia/Damascus|LMT EET EEST +03|-2p.c -20 -30 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212123|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0|26e5\",\n\t\t\"Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4\",\n\t\t\"Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5\",\n\t\t\"Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4\",\n\t\t\"Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|\",\n\t\t\"Asia/Gaza|LMT EET EEST IST IDT|-2h.Q -20 -30 -20 -30|0121212121212121212121212121212121234343434343434343434343434343431212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2MBCh.Q 1Azeh.Q MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1qp0 1cN0 1cL0 1a10 1fz0 17d0 1in0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1lb0 14p0 1in0 17d0 1cL0 1cN0 19X0 1fB0 14n0 jB0 2L0 11B0 WL0 gN0 8n0 11B0 TX0 gN0 bb0 11B0 On0 jB0 dX0 11B0 Lz0 gN0 mn0 WN0 IL0 gN0 pb0 WN0 Db0 jB0 rX0 11B0 xz0 gN0 xz0 11B0 rX0 jB0 An0 11B0 pb0 gN0 IL0 WN0 mn0 gN0 Lz0 WN0 gL0 jB0 On0 11B0 bb0 gN0 TX0 11B0 5z0 jB0 WL0 11B0 2L0 jB0 11z0 1ip0 19X0 1cN0 1cL0 17d0 1in0 14p0 1lb0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1nX0 14p0 1in0 17d0 1fz0 1a10 19X0 1fB0 17b0 gN0 2L0 WN0 14n0 gN0 5z0 WN0 WL0 jB0 8n0 11B0 Rb0 gN0 dX0 11B0 Lz0 jB0 gL0 11B0 IL0 jB0 mn0 WN0 FX0 gN0 rX0 WN0 An0 jB0 uL0 11B0 uL0 gN0 An0 11B0 rX0 gN0 Db0 11B0 mn0 jB0 FX0 11B0 jz0 gN0 On0 WN0 dX0 jB0 Rb0 WN0 bb0 jB0 TX0 11B0 5z0 gN0 11z0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|18e5\",\n\t\t\"Asia/Hebron|LMT EET EEST IST IDT|-2k.n -20 -30 -20 -30|012121212121212121212121212121212123434343434343434343434343434343121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2MBCk.n 1Azek.n MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1qp0 1cN0 1cL0 1a10 1fz0 17d0 1in0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1lb0 14p0 1in0 17d0 1cL0 1cN0 19X0 1fB0 14n0 jB0 2L0 11B0 WL0 gN0 8n0 11B0 TX0 gN0 bb0 11B0 On0 jB0 dX0 11B0 Lz0 gN0 mn0 WN0 IL0 gN0 pb0 WN0 Db0 jB0 rX0 11B0 xz0 gN0 xz0 11B0 rX0 jB0 An0 11B0 pb0 gN0 IL0 WN0 mn0 gN0 Lz0 WN0 gL0 jB0 On0 11B0 bb0 gN0 TX0 11B0 5z0 jB0 WL0 11B0 2L0 jB0 11z0 1ip0 19X0 1cN0 1cL0 17d0 1in0 14p0 1lb0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1nX0 14p0 1in0 17d0 1fz0 1a10 19X0 1fB0 17b0 gN0 2L0 WN0 14n0 gN0 5z0 WN0 WL0 jB0 8n0 11B0 Rb0 gN0 dX0 11B0 Lz0 jB0 gL0 11B0 IL0 jB0 mn0 WN0 FX0 gN0 rX0 WN0 An0 jB0 uL0 11B0 uL0 gN0 An0 11B0 rX0 gN0 Db0 11B0 mn0 jB0 FX0 11B0 jz0 gN0 On0 WN0 dX0 jB0 Rb0 WN0 bb0 jB0 TX0 11B0 5z0 gN0 11z0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0|25e4\",\n\t\t\"Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.u -76.u -70 -80 -90|0123423232|-2yC76.u bK00 1h7b6.u 5lz0 18o0 3Oq0 k5c0 aVX0 BAM0|90e5\",\n\t\t\"Asia/Hong_Kong|LMT HKT HKST HKWT JST|-7A.G -80 -90 -8u -90|0123412121212121212121212121212121212121212121212121212121212121212121|-2CFH0 1taO0 Hc0 xUu 9tBu 11z0 1tDu Rc0 1wo0 11A0 1cM0 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5\",\n\t\t\"Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3\",\n\t\t\"Asia/Irkutsk|LMT IMT +07 +08 +09|-6V.5 -6V.5 -70 -80 -90|012343434343434343434343234343434343434343434343434343434343434343|-3D8SV.5 1Bxc0 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\",\n\t\t\"Europe/Istanbul|LMT IMT EET EEST +03 +04|-1T.Q -1U.U -20 -30 -30 -40|01232323232323232323232323232323232323232323232345423232323232323232323232323232323232323232323232323232323232323234|-3D8NT.Q 1ePXW.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSN0 CL0 mp0 1Vz0 1gN0 8yn0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1ip0 19X0 1ip0 17b0 qdB0 38L0 1jd0 Tz0 l6O0 11A0 WN0 1qL0 TB0 1tX0 U10 1tz0 11B0 1in0 17d0 z90 cne0 pb0 2Cp0 1800 14o0 1dc0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6\",\n\t\t\"Asia/Jakarta|LMT BMT +0720 +0730 +09 +08 WIB|-77.c -77.c -7k -7u -90 -80 -70|012343536|-49jH7.c 2hiLL.c luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6\",\n\t\t\"Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4\",\n\t\t\"Asia/Jerusalem|LMT JMT IST IDT IDDT|-2k.S -2k.E -20 -30 -40|012323232323232432323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3D8Ok.S 1wvA0.e SyOk.E MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 3LA0 Eo0 oo0 1co0 1dA0 16o0 10M0 1jc0 1tA0 14o0 1cM0 1a00 11A0 1Nc0 Ao0 1Nc0 Ao0 1Ko0 LA0 1o00 WM0 EQK0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0|81e4\",\n\t\t\"Asia/Kabul|LMT +04 +0430|-4A.M -40 -4u|012|-3eLEA.M 2dTcA.M|46e5\",\n\t\t\"Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4\",\n\t\t\"Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6\",\n\t\t\"Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5\",\n\t\t\"Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5\",\n\t\t\"Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2\",\n\t\t\"Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5\",\n\t\t\"Asia/Kuala_Lumpur|LMT SMT +07 +0720 +0730 +09 +08|-6T.p -6T.p -70 -7k -7u -90 -80|01234546|-2M0ST.p aIM0 17anT.p l5XE 17bO 8Fyu 1so10|71e5\",\n\t\t\"Asia/Macau|LMT CST +09 +10 CDT|-7y.a -80 -90 -a0 -90|012323214141414141414141414141414141414141414141414141414141414141414141|-2CFHy.a 1uqKy.a PX0 1kn0 15B0 11b0 4Qq0 1oM0 11c0 1ko0 1u00 11A0 1cM0 11c0 1o00 11A0 1o00 11A0 1oo0 1400 1o00 11A0 1o00 U00 1tA0 U00 1wo0 Rc0 1wru U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cK0 1cO0 1cK0 1cO0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|57e4\",\n\t\t\"Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3\",\n\t\t\"Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5\",\n\t\t\"Asia/Manila|LMT LMT PST PDT JST|fU -84 -80 -90 -90|01232423232|-54m84 2clc0 1vfc4 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6\",\n\t\t\"Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|32e4\",\n\t\t\"Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4\",\n\t\t\"Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5\",\n\t\t\"Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5\",\n\t\t\"Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4\",\n\t\t\"Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4\",\n\t\t\"Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BA0|29e5\",\n\t\t\"Asia/Qostanay|LMT +04 +05 +06|-4e.s -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc4e.s eUoe.s 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 Mv90|\",\n\t\t\"Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|01232323232323232323232323232323232323232323232|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 zQl0|73e4\",\n\t\t\"Asia/Rangoon|LMT RMT +0630 +09|-6o.L -6o.L -6u -90|01232|-3D8So.L 1BnA0 SmnS.L 7j9u|48e5\",\n\t\t\"Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4\",\n\t\t\"Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4\",\n\t\t\"Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -a0 -9u|012343434343151515151515134343|-2um8r.Q 97XV.Q 1m1zu 6CM0 Fz0 1kN0 14n0 1kN0 14L0 1zd0 On0 69B0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6\",\n\t\t\"Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2\",\n\t\t\"Asia/Taipei|LMT CST JST CDT|-86 -80 -90 -90|012131313131313131313131313131313131313131|-30bk6 1FDc6 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5\",\n\t\t\"Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5\",\n\t\t\"Asia/Tbilisi|LMT TBMT +03 +04 +05|-2X.b -2X.b -30 -40 -50|01234343434343434343434323232343434343434343434323|-3D8OX.b 1LUM0 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5\",\n\t\t\"Asia/Tehran|LMT TMT +0330 +0430 +04 +05|-3p.I -3p.I -3u -4u -40 -50|012345423232323232323232323232323232323232323232323232323232323232323232|-2btDp.I Llc0 1FHaT.I 1pc0 120u Rc0 XA0 Wou JX0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6\",\n\t\t\"Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3\",\n\t\t\"Asia/Tokyo|LMT JST JDT|-9i.X -90 -a0|0121212121|-3jE90 2qSo0 Rc0 1lc0 14o0 1zc0 Oo0 1zc0 Oo0|38e6\",\n\t\t\"Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5\",\n\t\t\"Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5\",\n\t\t\"Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2\",\n\t\t\"Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\",\n\t\t\"Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4\",\n\t\t\"Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5\",\n\t\t\"Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5\",\n\t\t\"Atlantic/Azores|LMT HMT -02 -01 +00 WET|1G.E 1S.w 20 10 0 0|01232323232323232323232323232323232323232323234323432343234323232323232323232323232323232323232323232343434343434343434343434343434345434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3tomh.k 18aoh.k aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|25e4\",\n\t\t\"Atlantic/Bermuda|LMT BMT BST AST ADT|4j.i 4j.i 3j.i 40 30|0121213434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3eLvE.G 16mo0 1bb0 1i10 11X0 ru30 thbE.G 1PX0 11B0 1tz0 Rd0 1zb0 Op0 1zb0 3I10 Lz0 1EN0 FX0 1HB0 FX0 1Kp0 Db0 1Kp0 Db0 1Kp0 FX0 93d0 11z0 GAp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3\",\n\t\t\"Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|54e4\",\n\t\t\"Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4\",\n\t\t\"Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|49e3\",\n\t\t\"Atlantic/Madeira|LMT FMT -01 +00 +01 WET WEST|17.A 17.A 10 0 -10 0 -10|01232323232323232323232323232323232323232323234323432343234323232323232323232323232323232323232323232565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-3tomQ.o 18anQ.o aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e4\",\n\t\t\"Atlantic/South_Georgia|LMT -02|2q.8 20|01|-3eLxx.Q|30\",\n\t\t\"Atlantic/Stanley|LMT SMT -04 -03 -02|3P.o 3P.o 40 30 20|0123232323232323434323232323232323232323232323232323232323232323232323|-3eLw8.A S200 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2\",\n\t\t\"Australia/Sydney|LMT AEST AEDT|-a4.Q -a0 -b0|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-32oW4.Q RlC4.Q xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5\",\n\t\t\"Australia/Adelaide|LMT ACST ACST ACDT|-9e.k -90 -9u -au|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-32oVe.k ak0e.k H1Bu xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5\",\n\t\t\"Australia/Brisbane|LMT AEST AEDT|-ac.8 -a0 -b0|012121212121212121|-32Bmc.8 Ry2c.8 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5\",\n\t\t\"Australia/Broken_Hill|LMT AEST ACST ACST ACDT|-9p.M -a0 -90 -9u -au|0123434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-32oVp.M 3Lzp.M 6wp0 H1Bu xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|18e3\",\n\t\t\"Australia/Hobart|LMT AEST AEDT|-9N.g -a0 -b0|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-3109N.g Pk1N.g 1a00 1qM0 Oo0 1zc0 Oo0 TAo0 yM0 1cM0 1cM0 1fA0 1a00 VfA0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|21e4\",\n\t\t\"Australia/Darwin|LMT ACST ACST ACDT|-8H.k -90 -9u -au|01232323232|-32oUH.k ajXH.k H1Bu xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00|12e4\",\n\t\t\"Australia/Eucla|LMT +0845 +0945|-8z.s -8J -9J|01212121212121212121|-30nIz.s PkpO.s xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368\",\n\t\t\"Australia/Lord_Howe|LMT AEST +1030 +1130 +11|-aA.k -a0 -au -bu -b0|01232323232424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424|-32oWA.k 3tzAA.k 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu|347\",\n\t\t\"Australia/Lindeman|LMT AEST AEDT|-9T.U -a0 -b0|0121212121212121212121|-32BlT.U Ry1T.U xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10\",\n\t\t\"Australia/Melbourne|LMT AEST AEDT|-9D.Q -a0 -b0|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-32oVD.Q RlBD.Q xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|39e5\",\n\t\t\"Australia/Perth|LMT AWST AWDT|-7H.o -80 -90|01212121212121212121|-30nHH.o PkpH.o xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5\",\n\t\t\"CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|\",\n\t\t\"Pacific/Easter|LMT EMT -07 -06 -05|7h.s 7h.s 70 60 50|0123232323232323232323232323234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-3eLsG.w 1HRc0 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0|30e2\",\n\t\t\"CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|\",\n\t\t\"Europe/Dublin|LMT DMT IST GMT BST IST|p.l p.l -y.D 0 -10 -10|012343434343435353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353|-3BHby.D 1ra20 Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"EST|EST|50|0||\",\n\t\t\"EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"Etc/GMT-0|GMT|0|0||\",\n\t\t\"Etc/GMT-1|+01|-10|0||\",\n\t\t\"Etc/GMT-10|+10|-a0|0||\",\n\t\t\"Etc/GMT-11|+11|-b0|0||\",\n\t\t\"Etc/GMT-12|+12|-c0|0||\",\n\t\t\"Etc/GMT-13|+13|-d0|0||\",\n\t\t\"Etc/GMT-14|+14|-e0|0||\",\n\t\t\"Etc/GMT-2|+02|-20|0||\",\n\t\t\"Etc/GMT-3|+03|-30|0||\",\n\t\t\"Etc/GMT-4|+04|-40|0||\",\n\t\t\"Etc/GMT-5|+05|-50|0||\",\n\t\t\"Etc/GMT-6|+06|-60|0||\",\n\t\t\"Etc/GMT-7|+07|-70|0||\",\n\t\t\"Etc/GMT-8|+08|-80|0||\",\n\t\t\"Etc/GMT-9|+09|-90|0||\",\n\t\t\"Etc/GMT+1|-01|10|0||\",\n\t\t\"Etc/GMT+10|-10|a0|0||\",\n\t\t\"Etc/GMT+11|-11|b0|0||\",\n\t\t\"Etc/GMT+12|-12|c0|0||\",\n\t\t\"Etc/GMT+2|-02|20|0||\",\n\t\t\"Etc/GMT+3|-03|30|0||\",\n\t\t\"Etc/GMT+4|-04|40|0||\",\n\t\t\"Etc/GMT+5|-05|50|0||\",\n\t\t\"Etc/GMT+6|-06|60|0||\",\n\t\t\"Etc/GMT+7|-07|70|0||\",\n\t\t\"Etc/GMT+8|-08|80|0||\",\n\t\t\"Etc/GMT+9|-09|90|0||\",\n\t\t\"Etc/UTC|UTC|0|0||\",\n\t\t\"Europe/Brussels|LMT BMT WET CET CEST WEST|-h.u -h.u 0 -10 -20 -10|012343434325252525252525252525252525252525252525252525434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3D8Mh.u u1Ah.u SO00 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|21e5\",\n\t\t\"Europe/Andorra|LMT WET CET CEST|-6.4 0 -10 -20|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2M0M6.4 1Pnc6.4 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|79e3\",\n\t\t\"Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|10e5\",\n\t\t\"Europe/Athens|LMT AMT EET EEST CEST CET|-1y.Q -1y.Q -20 -30 -20 -10|0123234545232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-30SNy.Q OMM1 CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|35e5\",\n\t\t\"Europe/London|LMT GMT BST BDST|1.f 0 -10 -20|01212121212121212121212121212121212121212121212121232323232321212321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-4VgnW.J 2KHdW.J Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|10e6\",\n\t\t\"Europe/Belgrade|LMT CET CEST|-1m -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3topm 2juLm 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Europe/Prague|LMT PMT CET CEST GMT|-V.I -V.I -10 -20 0|0123232323232323232423232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-4QbAV.I 1FDc0 XPaV.I 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|13e5\",\n\t\t\"Europe/Bucharest|LMT BMT EET EEST|-1I.o -1I.o -20 -30|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3awpI.o 1AU00 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|19e5\",\n\t\t\"Europe/Budapest|LMT CET CEST|-1g.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-3cK1g.k 124Lg.k 11d0 1iO0 11A0 1o00 11A0 1oo0 11c0 1lc0 17c0 O1V0 3Nf0 WM0 1fA0 1cM0 1cM0 1oJ0 1dd0 1020 1fX0 1cp0 1cM0 1cM0 1cM0 1fA0 1a00 bhy0 Rb0 1wr0 Rc0 1C00 LA0 1C00 LA0 SNW0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cO0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|17e5\",\n\t\t\"Europe/Zurich|LMT BMT CET CEST|-y.8 -t.K -10 -20|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-4HyMy.8 1Dw04.m 1SfAt.K 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|38e4\",\n\t\t\"Europe/Chisinau|LMT CMT BMT EET EEST CEST CET MSK MSD|-1T.k -1T -1I.o -20 -30 -20 -10 -30 -40|0123434343434343434345656578787878787878787878434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-3D8NT.k 1wNA0.k wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|67e4\",\n\t\t\"Europe/Gibraltar|LMT GMT BST BDST CET CEST|l.o 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123232323232121232121212121212121212145454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-3BHbC.A 1ra1C.A Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|30e3\",\n\t\t\"Europe/Helsinki|LMT HMT EET EEST|-1D.N -1D.N -20 -30|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3H0ND.N 1Iu00 OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Europe/Kaliningrad|LMT CET CEST EET EEST MSK MSD +03|-1m -10 -20 -20 -30 -30 -40 -30|012121212121212343565656565656565654343434343434343434343434343434343434343434373|-36Rdm UbXm 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 390 7A0 1en0 12N0 1pbb0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4\",\n\t\t\"Europe/Kiev|LMT KMT EET MSK CEST CET MSD EEST|-22.4 -22.4 -20 -30 -20 -10 -40 -30|01234545363636363636363636367272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-3D8O2.4 1LUM0 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o10 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|34e5\",\n\t\t\"Europe/Kirov|LMT +03 +04 +05 MSD MSK MSK|-3i.M -30 -40 -50 -40 -30 -40|0123232323232323232454524545454545454545454545454545454545454565|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 2pz0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4\",\n\t\t\"Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5\",\n\t\t\"Europe/Madrid|LMT WET WEST WEMT CET CEST|e.I 0 -10 -20 -10 -20|0121212121212121212321454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2M0M0 G5z0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|62e5\",\n\t\t\"Europe/Malta|LMT CET CEST|-W.4 -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-35rcW.4 SXzW.4 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|42e4\",\n\t\t\"Europe/Minsk|LMT MMT EET MSK CEST CET MSD EEST +03|-1O.g -1O -20 -30 -20 -10 -40 -30 -30|012345454363636363636363636372727272727272727272727272727272727272728|-3D8NO.g 1LUM0.g eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5\",\n\t\t\"Europe/Paris|LMT PMT WET WEST CEST CET WEMT|-9.l -9.l 0 -10 -20 -10 -20|01232323232323232323232323232323232323232323232323234545463654545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-3bQ09.l MDA0 cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|11e6\",\n\t\t\"Europe/Moscow|LMT MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|01232434565756865656565656565656565698656565656565656565656565656565656565656a6|-3D8Ou.h 1sQM0 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6\",\n\t\t\"Europe/Riga|LMT RMT LST EET MSK CEST CET MSD EEST|-1A.y -1A.y -2A.y -20 -30 -20 -10 -40 -30|0121213456565647474747474747474838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383|-3D8NA.y 1xde0 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|64e4\",\n\t\t\"Europe/Rome|LMT RMT CET CEST|-N.U -N.U -10 -20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-4aU0N.U 15snN.U T000 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|39e5\",\n\t\t\"Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5\",\n\t\t\"Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810|\",\n\t\t\"Europe/Simferopol|LMT SMT EET MSK CEST CET MSD EEST MSK|-2g.o -2g -20 -30 -20 -10 -40 -30 -40|0123454543636363636363636363272727636363727272727272727272727272727272727283|-3D8Og.o 1LUM0.o eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eN0 1cM0 1cM0 1cM0 1cM0 dV0 WO0 1cM0 1cM0 1fy0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4\",\n\t\t\"Europe/Sofia|LMT IMT EET CET CEST EEST|-1x.g -1U.U -20 -10 -20 -30|0123434325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-3D8Nx.g AiLA.k 1UFeU.U WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|12e5\",\n\t\t\"Europe/Tallinn|LMT TMT CET CEST EET MSK MSD EEST|-1D -1D -10 -20 -20 -30 -40 -30|0123214532323565656565656565657474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474|-3D8ND 1wI00 teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|41e4\",\n\t\t\"Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|42e4\",\n\t\t\"Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|13e5\",\n\t\t\"Europe/Vienna|LMT CET CEST|-15.l -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-36Rd5.l UbX5.l 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1ao0 1co0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|18e5\",\n\t\t\"Europe/Vilnius|LMT WMT KMT CET EET MSK CEST MSD EEST|-1F.g -1o -1z.A -10 -20 -30 -20 -40 -30|0123435636365757575757575757584848484848484848463648484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484|-3D8NF.g 1u5Ah.g 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|54e4\",\n\t\t\"Europe/Volgograd|LMT +03 +04 +05 MSD MSK MSK|-2V.E -30 -40 -50 -40 -30 -40|012323232323232324545452454545454545454545454545454545454545456525|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1fA0 1cM0 2pz0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 9Jd0 5gn0|10e5\",\n\t\t\"Europe/Warsaw|LMT WMT CET CEST EET EEST|-1o -1o -10 -20 -20 -30|0123232345423232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-3D8No 1qDA0 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|17e5\",\n\t\t\"HST|HST|a0|0||\",\n\t\t\"Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2\",\n\t\t\"Indian/Maldives|LMT MMT +05|-4S -4S -50|012|-3D8QS 3eLA0|35e4\",\n\t\t\"Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4\",\n\t\t\"Pacific/Kwajalein|LMT +11 +10 +09 -12 +12|-b9.k -b0 -a0 -90 c0 -c0|0123145|-2M0X9.k 1rDA9.k akp0 6Up0 12ry0 Wan0|14e3\",\n\t\t\"MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|\",\n\t\t\"MST|MST|70|0||\",\n\t\t\"MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"Pacific/Chatham|LMT +1215 +1245 +1345|-cd.M -cf -cJ -dJ|0123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-46jMd.M 37RbW.M 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00|600\",\n\t\t\"Pacific/Apia|LMT LMT -1130 -11 -10 +14 +13|-cx.4 bq.U bu b0 a0 -e0 -d0|012343456565656565656565656|-38Fox.4 J1A0 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3\",\n\t\t\"Pacific/Bougainville|LMT PMMT +10 +09 +11|-am.g -9M.w -a0 -90 -b0|012324|-3D8Wm.g AvAx.I 1TCLM.w 7CN0 2MQp0|18e4\",\n\t\t\"Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|012121212121212121212121|-2l9nd.g 2uNXd.g Dc0 n610 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3\",\n\t\t\"Pacific/Enderbury|-00 -12 -11 +13|0 c0 b0 -d0|0123|-1iIo0 1GsA0 B7X0|1\",\n\t\t\"Pacific/Fakaofo|LMT -11 +13|bo.U b0 -d0|012|-2M0Az.4 4ufXz.4|483\",\n\t\t\"Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|012121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0|88e4\",\n\t\t\"Pacific/Tarawa|LMT +12|-bw.4 -c0|01|-2M0Xw.4|29e3\",\n\t\t\"Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3\",\n\t\t\"Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125\",\n\t\t\"Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4\",\n\t\t\"Pacific/Guam|LMT LMT GST +09 GDT ChST|el -9D -a0 -90 -b0 -a0|0123242424242424242425|-54m9D 2glc0 1DFbD 6pB0 AhB0 3QL0 g2p0 3p91 WOX rX0 1zd0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4\",\n\t\t\"Pacific/Honolulu|LMT HST HDT HWT HPT HST|av.q au 9u 9u 9u a0|01213415|-3061s.y 1uMdW.y 8x0 lef0 8wWu iAu 46p0|37e4\",\n\t\t\"Pacific/Kiritimati|LMT -1040 -10 +14|at.k aE a0 -e0|0123|-2M0Bu.E 3bIMa.E B7Xk|51e2\",\n\t\t\"Pacific/Kosrae|LMT LMT +11 +09 +10 +12|d8.4 -aP.U -b0 -90 -a0 -c0|0123243252|-54maP.U 2glc0 xsnP.U axC0 HBy0 akp0 axd0 WOK0 1bdz0|66e2\",\n\t\t\"Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2\",\n\t\t\"Pacific/Pago_Pago|LMT LMT SST|-cB.c bm.M b0|012|-38FoB.c J1A0|37e2\",\n\t\t\"Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E QCnB.E 7mqu 1lnbu|10e3\",\n\t\t\"Pacific/Niue|LMT -1120 -11|bj.E bk b0|012|-FScE.k suo0.k|12e2\",\n\t\t\"Pacific/Norfolk|LMT +1112 +1130 +1230 +11 +12|-bb.Q -bc -bu -cu -b0 -c0|0123245454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2M0Xb.Q 21ILX.Q W01G Oo0 1COo0 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4\",\n\t\t\"Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3\",\n\t\t\"Pacific/Palau|LMT LMT +09|f2.4 -8V.U -90|012|-54m8V.U 2glc0|21e3\",\n\t\t\"Pacific/Pitcairn|LMT -0830 -08|8E.k 8u 80|012|-2M0Dj.E 3UVXN.E|56\",\n\t\t\"Pacific/Rarotonga|LMT LMT -1030 -0930 -10|-dk.U aD.4 au 9u a0|01234343434343434343434343434|-2Otpk.U 28zc0 13tbO.U IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3\",\n\t\t\"Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4\",\n\t\t\"Pacific/Tongatapu|LMT +1220 +13 +14|-cj.c -ck -d0 -e0|01232323232|-XbMj.c BgLX.c 1yndk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3\",\n\t\t\"PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|\",\n\t\t\"WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|\"\n\t],\n\t\"links\": [\n\t\t\"Africa/Abidjan|Africa/Accra\",\n\t\t\"Africa/Abidjan|Africa/Bamako\",\n\t\t\"Africa/Abidjan|Africa/Banjul\",\n\t\t\"Africa/Abidjan|Africa/Conakry\",\n\t\t\"Africa/Abidjan|Africa/Dakar\",\n\t\t\"Africa/Abidjan|Africa/Freetown\",\n\t\t\"Africa/Abidjan|Africa/Lome\",\n\t\t\"Africa/Abidjan|Africa/Nouakchott\",\n\t\t\"Africa/Abidjan|Africa/Ouagadougou\",\n\t\t\"Africa/Abidjan|Africa/Timbuktu\",\n\t\t\"Africa/Abidjan|Atlantic/Reykjavik\",\n\t\t\"Africa/Abidjan|Atlantic/St_Helena\",\n\t\t\"Africa/Abidjan|Iceland\",\n\t\t\"Africa/Cairo|Egypt\",\n\t\t\"Africa/Johannesburg|Africa/Maseru\",\n\t\t\"Africa/Johannesburg|Africa/Mbabane\",\n\t\t\"Africa/Lagos|Africa/Bangui\",\n\t\t\"Africa/Lagos|Africa/Brazzaville\",\n\t\t\"Africa/Lagos|Africa/Douala\",\n\t\t\"Africa/Lagos|Africa/Kinshasa\",\n\t\t\"Africa/Lagos|Africa/Libreville\",\n\t\t\"Africa/Lagos|Africa/Luanda\",\n\t\t\"Africa/Lagos|Africa/Malabo\",\n\t\t\"Africa/Lagos|Africa/Niamey\",\n\t\t\"Africa/Lagos|Africa/Porto-Novo\",\n\t\t\"Africa/Maputo|Africa/Blantyre\",\n\t\t\"Africa/Maputo|Africa/Bujumbura\",\n\t\t\"Africa/Maputo|Africa/Gaborone\",\n\t\t\"Africa/Maputo|Africa/Harare\",\n\t\t\"Africa/Maputo|Africa/Kigali\",\n\t\t\"Africa/Maputo|Africa/Lubumbashi\",\n\t\t\"Africa/Maputo|Africa/Lusaka\",\n\t\t\"Africa/Nairobi|Africa/Addis_Ababa\",\n\t\t\"Africa/Nairobi|Africa/Asmara\",\n\t\t\"Africa/Nairobi|Africa/Asmera\",\n\t\t\"Africa/Nairobi|Africa/Dar_es_Salaam\",\n\t\t\"Africa/Nairobi|Africa/Djibouti\",\n\t\t\"Africa/Nairobi|Africa/Kampala\",\n\t\t\"Africa/Nairobi|Africa/Mogadishu\",\n\t\t\"Africa/Nairobi|Indian/Antananarivo\",\n\t\t\"Africa/Nairobi|Indian/Comoro\",\n\t\t\"Africa/Nairobi|Indian/Mayotte\",\n\t\t\"Africa/Tripoli|Libya\",\n\t\t\"America/Adak|America/Atka\",\n\t\t\"America/Adak|US/Aleutian\",\n\t\t\"America/Anchorage|US/Alaska\",\n\t\t\"America/Argentina/Buenos_Aires|America/Buenos_Aires\",\n\t\t\"America/Argentina/Catamarca|America/Argentina/ComodRivadavia\",\n\t\t\"America/Argentina/Catamarca|America/Catamarca\",\n\t\t\"America/Argentina/Cordoba|America/Cordoba\",\n\t\t\"America/Argentina/Cordoba|America/Rosario\",\n\t\t\"America/Argentina/Jujuy|America/Jujuy\",\n\t\t\"America/Argentina/Mendoza|America/Mendoza\",\n\t\t\"America/Chicago|US/Central\",\n\t\t\"America/Denver|America/Shiprock\",\n\t\t\"America/Denver|Navajo\",\n\t\t\"America/Denver|US/Mountain\",\n\t\t\"America/Detroit|US/Michigan\",\n\t\t\"America/Edmonton|America/Yellowknife\",\n\t\t\"America/Edmonton|Canada/Mountain\",\n\t\t\"America/Fort_Wayne|America/Indiana/Indianapolis\",\n\t\t\"America/Fort_Wayne|America/Indianapolis\",\n\t\t\"America/Fort_Wayne|US/East-Indiana\",\n\t\t\"America/Godthab|America/Nuuk\",\n\t\t\"America/Halifax|Canada/Atlantic\",\n\t\t\"America/Havana|Cuba\",\n\t\t\"America/Indiana/Knox|America/Knox_IN\",\n\t\t\"America/Indiana/Knox|US/Indiana-Starke\",\n\t\t\"America/Iqaluit|America/Pangnirtung\",\n\t\t\"America/Jamaica|Jamaica\",\n\t\t\"America/Kentucky/Louisville|America/Louisville\",\n\t\t\"America/Los_Angeles|US/Pacific\",\n\t\t\"America/Manaus|Brazil/West\",\n\t\t\"America/Mazatlan|Mexico/BajaSur\",\n\t\t\"America/Mexico_City|Mexico/General\",\n\t\t\"America/New_York|US/Eastern\",\n\t\t\"America/Noronha|Brazil/DeNoronha\",\n\t\t\"America/Panama|America/Atikokan\",\n\t\t\"America/Panama|America/Cayman\",\n\t\t\"America/Panama|America/Coral_Harbour\",\n\t\t\"America/Phoenix|America/Creston\",\n\t\t\"America/Phoenix|US/Arizona\",\n\t\t\"America/Puerto_Rico|America/Anguilla\",\n\t\t\"America/Puerto_Rico|America/Antigua\",\n\t\t\"America/Puerto_Rico|America/Aruba\",\n\t\t\"America/Puerto_Rico|America/Blanc-Sablon\",\n\t\t\"America/Puerto_Rico|America/Curacao\",\n\t\t\"America/Puerto_Rico|America/Dominica\",\n\t\t\"America/Puerto_Rico|America/Grenada\",\n\t\t\"America/Puerto_Rico|America/Guadeloupe\",\n\t\t\"America/Puerto_Rico|America/Kralendijk\",\n\t\t\"America/Puerto_Rico|America/Lower_Princes\",\n\t\t\"America/Puerto_Rico|America/Marigot\",\n\t\t\"America/Puerto_Rico|America/Montserrat\",\n\t\t\"America/Puerto_Rico|America/Port_of_Spain\",\n\t\t\"America/Puerto_Rico|America/St_Barthelemy\",\n\t\t\"America/Puerto_Rico|America/St_Kitts\",\n\t\t\"America/Puerto_Rico|America/St_Lucia\",\n\t\t\"America/Puerto_Rico|America/St_Thomas\",\n\t\t\"America/Puerto_Rico|America/St_Vincent\",\n\t\t\"America/Puerto_Rico|America/Tortola\",\n\t\t\"America/Puerto_Rico|America/Virgin\",\n\t\t\"America/Regina|Canada/Saskatchewan\",\n\t\t\"America/Rio_Branco|America/Porto_Acre\",\n\t\t\"America/Rio_Branco|Brazil/Acre\",\n\t\t\"America/Santiago|Chile/Continental\",\n\t\t\"America/Sao_Paulo|Brazil/East\",\n\t\t\"America/St_Johns|Canada/Newfoundland\",\n\t\t\"America/Tijuana|America/Ensenada\",\n\t\t\"America/Tijuana|America/Santa_Isabel\",\n\t\t\"America/Tijuana|Mexico/BajaNorte\",\n\t\t\"America/Toronto|America/Montreal\",\n\t\t\"America/Toronto|America/Nassau\",\n\t\t\"America/Toronto|America/Nipigon\",\n\t\t\"America/Toronto|America/Thunder_Bay\",\n\t\t\"America/Toronto|Canada/Eastern\",\n\t\t\"America/Vancouver|Canada/Pacific\",\n\t\t\"America/Whitehorse|Canada/Yukon\",\n\t\t\"America/Winnipeg|America/Rainy_River\",\n\t\t\"America/Winnipeg|Canada/Central\",\n\t\t\"Asia/Ashgabat|Asia/Ashkhabad\",\n\t\t\"Asia/Bangkok|Asia/Phnom_Penh\",\n\t\t\"Asia/Bangkok|Asia/Vientiane\",\n\t\t\"Asia/Bangkok|Indian/Christmas\",\n\t\t\"Asia/Brunei|Asia/Kuching\",\n\t\t\"Asia/Dhaka|Asia/Dacca\",\n\t\t\"Asia/Dubai|Asia/Muscat\",\n\t\t\"Asia/Dubai|Indian/Mahe\",\n\t\t\"Asia/Dubai|Indian/Reunion\",\n\t\t\"Asia/Ho_Chi_Minh|Asia/Saigon\",\n\t\t\"Asia/Hong_Kong|Hongkong\",\n\t\t\"Asia/Jerusalem|Asia/Tel_Aviv\",\n\t\t\"Asia/Jerusalem|Israel\",\n\t\t\"Asia/Kathmandu|Asia/Katmandu\",\n\t\t\"Asia/Kolkata|Asia/Calcutta\",\n\t\t\"Asia/Kuala_Lumpur|Asia/Singapore\",\n\t\t\"Asia/Kuala_Lumpur|Singapore\",\n\t\t\"Asia/Macau|Asia/Macao\",\n\t\t\"Asia/Makassar|Asia/Ujung_Pandang\",\n\t\t\"Asia/Nicosia|Europe/Nicosia\",\n\t\t\"Asia/Qatar|Asia/Bahrain\",\n\t\t\"Asia/Rangoon|Asia/Yangon\",\n\t\t\"Asia/Rangoon|Indian/Cocos\",\n\t\t\"Asia/Riyadh|Antarctica/Syowa\",\n\t\t\"Asia/Riyadh|Asia/Aden\",\n\t\t\"Asia/Riyadh|Asia/Kuwait\",\n\t\t\"Asia/Seoul|ROK\",\n\t\t\"Asia/Shanghai|Asia/Chongqing\",\n\t\t\"Asia/Shanghai|Asia/Chungking\",\n\t\t\"Asia/Shanghai|Asia/Harbin\",\n\t\t\"Asia/Shanghai|PRC\",\n\t\t\"Asia/Taipei|ROC\",\n\t\t\"Asia/Tehran|Iran\",\n\t\t\"Asia/Thimphu|Asia/Thimbu\",\n\t\t\"Asia/Tokyo|Japan\",\n\t\t\"Asia/Ulaanbaatar|Asia/Ulan_Bator\",\n\t\t\"Asia/Urumqi|Asia/Kashgar\",\n\t\t\"Atlantic/Faroe|Atlantic/Faeroe\",\n\t\t\"Australia/Adelaide|Australia/South\",\n\t\t\"Australia/Brisbane|Australia/Queensland\",\n\t\t\"Australia/Broken_Hill|Australia/Yancowinna\",\n\t\t\"Australia/Darwin|Australia/North\",\n\t\t\"Australia/Hobart|Australia/Currie\",\n\t\t\"Australia/Hobart|Australia/Tasmania\",\n\t\t\"Australia/Lord_Howe|Australia/LHI\",\n\t\t\"Australia/Melbourne|Australia/Victoria\",\n\t\t\"Australia/Perth|Australia/West\",\n\t\t\"Australia/Sydney|Australia/ACT\",\n\t\t\"Australia/Sydney|Australia/Canberra\",\n\t\t\"Australia/Sydney|Australia/NSW\",\n\t\t\"Etc/GMT-0|Etc/GMT\",\n\t\t\"Etc/GMT-0|Etc/GMT+0\",\n\t\t\"Etc/GMT-0|Etc/GMT0\",\n\t\t\"Etc/GMT-0|Etc/Greenwich\",\n\t\t\"Etc/GMT-0|GMT\",\n\t\t\"Etc/GMT-0|GMT+0\",\n\t\t\"Etc/GMT-0|GMT-0\",\n\t\t\"Etc/GMT-0|GMT0\",\n\t\t\"Etc/GMT-0|Greenwich\",\n\t\t\"Etc/UTC|Etc/UCT\",\n\t\t\"Etc/UTC|Etc/Universal\",\n\t\t\"Etc/UTC|Etc/Zulu\",\n\t\t\"Etc/UTC|UCT\",\n\t\t\"Etc/UTC|UTC\",\n\t\t\"Etc/UTC|Universal\",\n\t\t\"Etc/UTC|Zulu\",\n\t\t\"Europe/Belgrade|Europe/Ljubljana\",\n\t\t\"Europe/Belgrade|Europe/Podgorica\",\n\t\t\"Europe/Belgrade|Europe/Sarajevo\",\n\t\t\"Europe/Belgrade|Europe/Skopje\",\n\t\t\"Europe/Belgrade|Europe/Zagreb\",\n\t\t\"Europe/Berlin|Arctic/Longyearbyen\",\n\t\t\"Europe/Berlin|Atlantic/Jan_Mayen\",\n\t\t\"Europe/Berlin|Europe/Copenhagen\",\n\t\t\"Europe/Berlin|Europe/Oslo\",\n\t\t\"Europe/Berlin|Europe/Stockholm\",\n\t\t\"Europe/Brussels|Europe/Amsterdam\",\n\t\t\"Europe/Brussels|Europe/Luxembourg\",\n\t\t\"Europe/Chisinau|Europe/Tiraspol\",\n\t\t\"Europe/Dublin|Eire\",\n\t\t\"Europe/Helsinki|Europe/Mariehamn\",\n\t\t\"Europe/Istanbul|Asia/Istanbul\",\n\t\t\"Europe/Istanbul|Turkey\",\n\t\t\"Europe/Kiev|Europe/Kyiv\",\n\t\t\"Europe/Kiev|Europe/Uzhgorod\",\n\t\t\"Europe/Kiev|Europe/Zaporozhye\",\n\t\t\"Europe/Lisbon|Portugal\",\n\t\t\"Europe/London|Europe/Belfast\",\n\t\t\"Europe/London|Europe/Guernsey\",\n\t\t\"Europe/London|Europe/Isle_of_Man\",\n\t\t\"Europe/London|Europe/Jersey\",\n\t\t\"Europe/London|GB\",\n\t\t\"Europe/London|GB-Eire\",\n\t\t\"Europe/Moscow|W-SU\",\n\t\t\"Europe/Paris|Europe/Monaco\",\n\t\t\"Europe/Prague|Europe/Bratislava\",\n\t\t\"Europe/Rome|Europe/San_Marino\",\n\t\t\"Europe/Rome|Europe/Vatican\",\n\t\t\"Europe/Warsaw|Poland\",\n\t\t\"Europe/Zurich|Europe/Busingen\",\n\t\t\"Europe/Zurich|Europe/Vaduz\",\n\t\t\"Indian/Maldives|Indian/Kerguelen\",\n\t\t\"Pacific/Auckland|Antarctica/McMurdo\",\n\t\t\"Pacific/Auckland|Antarctica/South_Pole\",\n\t\t\"Pacific/Auckland|NZ\",\n\t\t\"Pacific/Chatham|NZ-CHAT\",\n\t\t\"Pacific/Easter|Chile/EasterIsland\",\n\t\t\"Pacific/Enderbury|Pacific/Kanton\",\n\t\t\"Pacific/Guadalcanal|Pacific/Pohnpei\",\n\t\t\"Pacific/Guadalcanal|Pacific/Ponape\",\n\t\t\"Pacific/Guam|Pacific/Saipan\",\n\t\t\"Pacific/Honolulu|Pacific/Johnston\",\n\t\t\"Pacific/Honolulu|US/Hawaii\",\n\t\t\"Pacific/Kwajalein|Kwajalein\",\n\t\t\"Pacific/Pago_Pago|Pacific/Midway\",\n\t\t\"Pacific/Pago_Pago|Pacific/Samoa\",\n\t\t\"Pacific/Pago_Pago|US/Samoa\",\n\t\t\"Pacific/Port_Moresby|Antarctica/DumontDUrville\",\n\t\t\"Pacific/Port_Moresby|Pacific/Chuuk\",\n\t\t\"Pacific/Port_Moresby|Pacific/Truk\",\n\t\t\"Pacific/Port_Moresby|Pacific/Yap\",\n\t\t\"Pacific/Tarawa|Pacific/Funafuti\",\n\t\t\"Pacific/Tarawa|Pacific/Majuro\",\n\t\t\"Pacific/Tarawa|Pacific/Wake\",\n\t\t\"Pacific/Tarawa|Pacific/Wallis\"\n\t],\n\t\"countries\": [\n\t\t\"AD|Europe/Andorra\",\n\t\t\"AE|Asia/Dubai\",\n\t\t\"AF|Asia/Kabul\",\n\t\t\"AG|America/Puerto_Rico America/Antigua\",\n\t\t\"AI|America/Puerto_Rico America/Anguilla\",\n\t\t\"AL|Europe/Tirane\",\n\t\t\"AM|Asia/Yerevan\",\n\t\t\"AO|Africa/Lagos Africa/Luanda\",\n\t\t\"AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Antarctica/Vostok Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa\",\n\t\t\"AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia\",\n\t\t\"AS|Pacific/Pago_Pago\",\n\t\t\"AT|Europe/Vienna\",\n\t\t\"AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla\",\n\t\t\"AW|America/Puerto_Rico America/Aruba\",\n\t\t\"AX|Europe/Helsinki Europe/Mariehamn\",\n\t\t\"AZ|Asia/Baku\",\n\t\t\"BA|Europe/Belgrade Europe/Sarajevo\",\n\t\t\"BB|America/Barbados\",\n\t\t\"BD|Asia/Dhaka\",\n\t\t\"BE|Europe/Brussels\",\n\t\t\"BF|Africa/Abidjan Africa/Ouagadougou\",\n\t\t\"BG|Europe/Sofia\",\n\t\t\"BH|Asia/Qatar Asia/Bahrain\",\n\t\t\"BI|Africa/Maputo Africa/Bujumbura\",\n\t\t\"BJ|Africa/Lagos Africa/Porto-Novo\",\n\t\t\"BL|America/Puerto_Rico America/St_Barthelemy\",\n\t\t\"BM|Atlantic/Bermuda\",\n\t\t\"BN|Asia/Kuching Asia/Brunei\",\n\t\t\"BO|America/La_Paz\",\n\t\t\"BQ|America/Puerto_Rico America/Kralendijk\",\n\t\t\"BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco\",\n\t\t\"BS|America/Toronto America/Nassau\",\n\t\t\"BT|Asia/Thimphu\",\n\t\t\"BW|Africa/Maputo Africa/Gaborone\",\n\t\t\"BY|Europe/Minsk\",\n\t\t\"BZ|America/Belize\",\n\t\t\"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Toronto America/Iqaluit America/Winnipeg America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Inuvik America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver America/Panama America/Puerto_Rico America/Phoenix America/Blanc-Sablon America/Atikokan America/Creston\",\n\t\t\"CC|Asia/Yangon Indian/Cocos\",\n\t\t\"CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi\",\n\t\t\"CF|Africa/Lagos Africa/Bangui\",\n\t\t\"CG|Africa/Lagos Africa/Brazzaville\",\n\t\t\"CH|Europe/Zurich\",\n\t\t\"CI|Africa/Abidjan\",\n\t\t\"CK|Pacific/Rarotonga\",\n\t\t\"CL|America/Santiago America/Punta_Arenas Pacific/Easter\",\n\t\t\"CM|Africa/Lagos Africa/Douala\",\n\t\t\"CN|Asia/Shanghai Asia/Urumqi\",\n\t\t\"CO|America/Bogota\",\n\t\t\"CR|America/Costa_Rica\",\n\t\t\"CU|America/Havana\",\n\t\t\"CV|Atlantic/Cape_Verde\",\n\t\t\"CW|America/Puerto_Rico America/Curacao\",\n\t\t\"CX|Asia/Bangkok Indian/Christmas\",\n\t\t\"CY|Asia/Nicosia Asia/Famagusta\",\n\t\t\"CZ|Europe/Prague\",\n\t\t\"DE|Europe/Zurich Europe/Berlin Europe/Busingen\",\n\t\t\"DJ|Africa/Nairobi Africa/Djibouti\",\n\t\t\"DK|Europe/Berlin Europe/Copenhagen\",\n\t\t\"DM|America/Puerto_Rico America/Dominica\",\n\t\t\"DO|America/Santo_Domingo\",\n\t\t\"DZ|Africa/Algiers\",\n\t\t\"EC|America/Guayaquil Pacific/Galapagos\",\n\t\t\"EE|Europe/Tallinn\",\n\t\t\"EG|Africa/Cairo\",\n\t\t\"EH|Africa/El_Aaiun\",\n\t\t\"ER|Africa/Nairobi Africa/Asmara\",\n\t\t\"ES|Europe/Madrid Africa/Ceuta Atlantic/Canary\",\n\t\t\"ET|Africa/Nairobi Africa/Addis_Ababa\",\n\t\t\"FI|Europe/Helsinki\",\n\t\t\"FJ|Pacific/Fiji\",\n\t\t\"FK|Atlantic/Stanley\",\n\t\t\"FM|Pacific/Kosrae Pacific/Port_Moresby Pacific/Guadalcanal Pacific/Chuuk Pacific/Pohnpei\",\n\t\t\"FO|Atlantic/Faroe\",\n\t\t\"FR|Europe/Paris\",\n\t\t\"GA|Africa/Lagos Africa/Libreville\",\n\t\t\"GB|Europe/London\",\n\t\t\"GD|America/Puerto_Rico America/Grenada\",\n\t\t\"GE|Asia/Tbilisi\",\n\t\t\"GF|America/Cayenne\",\n\t\t\"GG|Europe/London Europe/Guernsey\",\n\t\t\"GH|Africa/Abidjan Africa/Accra\",\n\t\t\"GI|Europe/Gibraltar\",\n\t\t\"GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule\",\n\t\t\"GM|Africa/Abidjan Africa/Banjul\",\n\t\t\"GN|Africa/Abidjan Africa/Conakry\",\n\t\t\"GP|America/Puerto_Rico America/Guadeloupe\",\n\t\t\"GQ|Africa/Lagos Africa/Malabo\",\n\t\t\"GR|Europe/Athens\",\n\t\t\"GS|Atlantic/South_Georgia\",\n\t\t\"GT|America/Guatemala\",\n\t\t\"GU|Pacific/Guam\",\n\t\t\"GW|Africa/Bissau\",\n\t\t\"GY|America/Guyana\",\n\t\t\"HK|Asia/Hong_Kong\",\n\t\t\"HN|America/Tegucigalpa\",\n\t\t\"HR|Europe/Belgrade Europe/Zagreb\",\n\t\t\"HT|America/Port-au-Prince\",\n\t\t\"HU|Europe/Budapest\",\n\t\t\"ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura\",\n\t\t\"IE|Europe/Dublin\",\n\t\t\"IL|Asia/Jerusalem\",\n\t\t\"IM|Europe/London Europe/Isle_of_Man\",\n\t\t\"IN|Asia/Kolkata\",\n\t\t\"IO|Indian/Chagos\",\n\t\t\"IQ|Asia/Baghdad\",\n\t\t\"IR|Asia/Tehran\",\n\t\t\"IS|Africa/Abidjan Atlantic/Reykjavik\",\n\t\t\"IT|Europe/Rome\",\n\t\t\"JE|Europe/London Europe/Jersey\",\n\t\t\"JM|America/Jamaica\",\n\t\t\"JO|Asia/Amman\",\n\t\t\"JP|Asia/Tokyo\",\n\t\t\"KE|Africa/Nairobi\",\n\t\t\"KG|Asia/Bishkek\",\n\t\t\"KH|Asia/Bangkok Asia/Phnom_Penh\",\n\t\t\"KI|Pacific/Tarawa Pacific/Kanton Pacific/Kiritimati\",\n\t\t\"KM|Africa/Nairobi Indian/Comoro\",\n\t\t\"KN|America/Puerto_Rico America/St_Kitts\",\n\t\t\"KP|Asia/Pyongyang\",\n\t\t\"KR|Asia/Seoul\",\n\t\t\"KW|Asia/Riyadh Asia/Kuwait\",\n\t\t\"KY|America/Panama America/Cayman\",\n\t\t\"KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral\",\n\t\t\"LA|Asia/Bangkok Asia/Vientiane\",\n\t\t\"LB|Asia/Beirut\",\n\t\t\"LC|America/Puerto_Rico America/St_Lucia\",\n\t\t\"LI|Europe/Zurich Europe/Vaduz\",\n\t\t\"LK|Asia/Colombo\",\n\t\t\"LR|Africa/Monrovia\",\n\t\t\"LS|Africa/Johannesburg Africa/Maseru\",\n\t\t\"LT|Europe/Vilnius\",\n\t\t\"LU|Europe/Brussels Europe/Luxembourg\",\n\t\t\"LV|Europe/Riga\",\n\t\t\"LY|Africa/Tripoli\",\n\t\t\"MA|Africa/Casablanca\",\n\t\t\"MC|Europe/Paris Europe/Monaco\",\n\t\t\"MD|Europe/Chisinau\",\n\t\t\"ME|Europe/Belgrade Europe/Podgorica\",\n\t\t\"MF|America/Puerto_Rico America/Marigot\",\n\t\t\"MG|Africa/Nairobi Indian/Antananarivo\",\n\t\t\"MH|Pacific/Tarawa Pacific/Kwajalein Pacific/Majuro\",\n\t\t\"MK|Europe/Belgrade Europe/Skopje\",\n\t\t\"ML|Africa/Abidjan Africa/Bamako\",\n\t\t\"MM|Asia/Yangon\",\n\t\t\"MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan\",\n\t\t\"MO|Asia/Macau\",\n\t\t\"MP|Pacific/Guam Pacific/Saipan\",\n\t\t\"MQ|America/Martinique\",\n\t\t\"MR|Africa/Abidjan Africa/Nouakchott\",\n\t\t\"MS|America/Puerto_Rico America/Montserrat\",\n\t\t\"MT|Europe/Malta\",\n\t\t\"MU|Indian/Mauritius\",\n\t\t\"MV|Indian/Maldives\",\n\t\t\"MW|Africa/Maputo Africa/Blantyre\",\n\t\t\"MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Chihuahua America/Ciudad_Juarez America/Ojinaga America/Mazatlan America/Bahia_Banderas America/Hermosillo America/Tijuana\",\n\t\t\"MY|Asia/Kuching Asia/Singapore Asia/Kuala_Lumpur\",\n\t\t\"MZ|Africa/Maputo\",\n\t\t\"NA|Africa/Windhoek\",\n\t\t\"NC|Pacific/Noumea\",\n\t\t\"NE|Africa/Lagos Africa/Niamey\",\n\t\t\"NF|Pacific/Norfolk\",\n\t\t\"NG|Africa/Lagos\",\n\t\t\"NI|America/Managua\",\n\t\t\"NL|Europe/Brussels Europe/Amsterdam\",\n\t\t\"NO|Europe/Berlin Europe/Oslo\",\n\t\t\"NP|Asia/Kathmandu\",\n\t\t\"NR|Pacific/Nauru\",\n\t\t\"NU|Pacific/Niue\",\n\t\t\"NZ|Pacific/Auckland Pacific/Chatham\",\n\t\t\"OM|Asia/Dubai Asia/Muscat\",\n\t\t\"PA|America/Panama\",\n\t\t\"PE|America/Lima\",\n\t\t\"PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier\",\n\t\t\"PG|Pacific/Port_Moresby Pacific/Bougainville\",\n\t\t\"PH|Asia/Manila\",\n\t\t\"PK|Asia/Karachi\",\n\t\t\"PL|Europe/Warsaw\",\n\t\t\"PM|America/Miquelon\",\n\t\t\"PN|Pacific/Pitcairn\",\n\t\t\"PR|America/Puerto_Rico\",\n\t\t\"PS|Asia/Gaza Asia/Hebron\",\n\t\t\"PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores\",\n\t\t\"PW|Pacific/Palau\",\n\t\t\"PY|America/Asuncion\",\n\t\t\"QA|Asia/Qatar\",\n\t\t\"RE|Asia/Dubai Indian/Reunion\",\n\t\t\"RO|Europe/Bucharest\",\n\t\t\"RS|Europe/Belgrade\",\n\t\t\"RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr\",\n\t\t\"RW|Africa/Maputo Africa/Kigali\",\n\t\t\"SA|Asia/Riyadh\",\n\t\t\"SB|Pacific/Guadalcanal\",\n\t\t\"SC|Asia/Dubai Indian/Mahe\",\n\t\t\"SD|Africa/Khartoum\",\n\t\t\"SE|Europe/Berlin Europe/Stockholm\",\n\t\t\"SG|Asia/Singapore\",\n\t\t\"SH|Africa/Abidjan Atlantic/St_Helena\",\n\t\t\"SI|Europe/Belgrade Europe/Ljubljana\",\n\t\t\"SJ|Europe/Berlin Arctic/Longyearbyen\",\n\t\t\"SK|Europe/Prague Europe/Bratislava\",\n\t\t\"SL|Africa/Abidjan Africa/Freetown\",\n\t\t\"SM|Europe/Rome Europe/San_Marino\",\n\t\t\"SN|Africa/Abidjan Africa/Dakar\",\n\t\t\"SO|Africa/Nairobi Africa/Mogadishu\",\n\t\t\"SR|America/Paramaribo\",\n\t\t\"SS|Africa/Juba\",\n\t\t\"ST|Africa/Sao_Tome\",\n\t\t\"SV|America/El_Salvador\",\n\t\t\"SX|America/Puerto_Rico America/Lower_Princes\",\n\t\t\"SY|Asia/Damascus\",\n\t\t\"SZ|Africa/Johannesburg Africa/Mbabane\",\n\t\t\"TC|America/Grand_Turk\",\n\t\t\"TD|Africa/Ndjamena\",\n\t\t\"TF|Asia/Dubai Indian/Maldives Indian/Kerguelen\",\n\t\t\"TG|Africa/Abidjan Africa/Lome\",\n\t\t\"TH|Asia/Bangkok\",\n\t\t\"TJ|Asia/Dushanbe\",\n\t\t\"TK|Pacific/Fakaofo\",\n\t\t\"TL|Asia/Dili\",\n\t\t\"TM|Asia/Ashgabat\",\n\t\t\"TN|Africa/Tunis\",\n\t\t\"TO|Pacific/Tongatapu\",\n\t\t\"TR|Europe/Istanbul\",\n\t\t\"TT|America/Puerto_Rico America/Port_of_Spain\",\n\t\t\"TV|Pacific/Tarawa Pacific/Funafuti\",\n\t\t\"TW|Asia/Taipei\",\n\t\t\"TZ|Africa/Nairobi Africa/Dar_es_Salaam\",\n\t\t\"UA|Europe/Simferopol Europe/Kyiv\",\n\t\t\"UG|Africa/Nairobi Africa/Kampala\",\n\t\t\"UM|Pacific/Pago_Pago Pacific/Tarawa Pacific/Midway Pacific/Wake\",\n\t\t\"US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu\",\n\t\t\"UY|America/Montevideo\",\n\t\t\"UZ|Asia/Samarkand Asia/Tashkent\",\n\t\t\"VA|Europe/Rome Europe/Vatican\",\n\t\t\"VC|America/Puerto_Rico America/St_Vincent\",\n\t\t\"VE|America/Caracas\",\n\t\t\"VG|America/Puerto_Rico America/Tortola\",\n\t\t\"VI|America/Puerto_Rico America/St_Thomas\",\n\t\t\"VN|Asia/Bangkok Asia/Ho_Chi_Minh\",\n\t\t\"VU|Pacific/Efate\",\n\t\t\"WF|Pacific/Tarawa Pacific/Wallis\",\n\t\t\"WS|Pacific/Apia\",\n\t\t\"YE|Asia/Riyadh Asia/Aden\",\n\t\t\"YT|Africa/Nairobi Indian/Mayotte\",\n\t\t\"ZA|Africa/Johannesburg\",\n\t\t\"ZM|Africa/Maputo Africa/Lusaka\",\n\t\t\"ZW|Africa/Maputo Africa/Harare\"\n\t]\n}", "var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n", "/*\nStimulus 3.2.1\nCopyright \u00A9 2023 Basecamp, LLC\n */\nclass EventListener {\n constructor(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n connect() {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n }\n disconnect() {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n }\n bindingConnected(binding) {\n this.unorderedBindings.add(binding);\n }\n bindingDisconnected(binding) {\n this.unorderedBindings.delete(binding);\n }\n handleEvent(event) {\n const extendedEvent = extendEvent(event);\n for (const binding of this.bindings) {\n if (extendedEvent.immediatePropagationStopped) {\n break;\n }\n else {\n binding.handleEvent(extendedEvent);\n }\n }\n }\n hasBindings() {\n return this.unorderedBindings.size > 0;\n }\n get bindings() {\n return Array.from(this.unorderedBindings).sort((left, right) => {\n const leftIndex = left.index, rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n }\n}\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n }\n else {\n const { stopImmediatePropagation } = event;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation.call(this);\n },\n });\n }\n}\n\nclass Dispatcher {\n constructor(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach((eventListener) => eventListener.connect());\n }\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach((eventListener) => eventListener.disconnect());\n }\n }\n get eventListeners() {\n return Array.from(this.eventListenerMaps.values()).reduce((listeners, map) => listeners.concat(Array.from(map.values())), []);\n }\n bindingConnected(binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n }\n bindingDisconnected(binding, clearEventListeners = false) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n if (clearEventListeners)\n this.clearEventListenersForBinding(binding);\n }\n handleError(error, message, detail = {}) {\n this.application.handleError(error, `Error ${message}`, detail);\n }\n clearEventListenersForBinding(binding) {\n const eventListener = this.fetchEventListenerForBinding(binding);\n if (!eventListener.hasBindings()) {\n eventListener.disconnect();\n this.removeMappedEventListenerFor(binding);\n }\n }\n removeMappedEventListenerFor(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n eventListenerMap.delete(cacheKey);\n if (eventListenerMap.size == 0)\n this.eventListenerMaps.delete(eventTarget);\n }\n fetchEventListenerForBinding(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n }\n fetchEventListener(eventTarget, eventName, eventOptions) {\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n let eventListener = eventListenerMap.get(cacheKey);\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n return eventListener;\n }\n createEventListener(eventTarget, eventName, eventOptions) {\n const eventListener = new EventListener(eventTarget, eventName, eventOptions);\n if (this.started) {\n eventListener.connect();\n }\n return eventListener;\n }\n fetchEventListenerMapForEventTarget(eventTarget) {\n let eventListenerMap = this.eventListenerMaps.get(eventTarget);\n if (!eventListenerMap) {\n eventListenerMap = new Map();\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n return eventListenerMap;\n }\n cacheKey(eventName, eventOptions) {\n const parts = [eventName];\n Object.keys(eventOptions)\n .sort()\n .forEach((key) => {\n parts.push(`${eventOptions[key] ? \"\" : \"!\"}${key}`);\n });\n return parts.join(\":\");\n }\n}\n\nconst defaultActionDescriptorFilters = {\n stop({ event, value }) {\n if (value)\n event.stopPropagation();\n return true;\n },\n prevent({ event, value }) {\n if (value)\n event.preventDefault();\n return true;\n },\n self({ event, value, element }) {\n if (value) {\n return element === event.target;\n }\n else {\n return true;\n }\n },\n};\nconst descriptorPattern = /^(?:(?:([^.]+?)\\+)?(.+?)(?:\\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;\nfunction parseActionDescriptorString(descriptorString) {\n const source = descriptorString.trim();\n const matches = source.match(descriptorPattern) || [];\n let eventName = matches[2];\n let keyFilter = matches[3];\n if (keyFilter && ![\"keydown\", \"keyup\", \"keypress\"].includes(eventName)) {\n eventName += `.${keyFilter}`;\n keyFilter = \"\";\n }\n return {\n eventTarget: parseEventTarget(matches[4]),\n eventName,\n eventOptions: matches[7] ? parseEventOptions(matches[7]) : {},\n identifier: matches[5],\n methodName: matches[6],\n keyFilter: matches[1] || keyFilter,\n };\n}\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n }\n else if (eventTargetName == \"document\") {\n return document;\n }\n}\nfunction parseEventOptions(eventOptions) {\n return eventOptions\n .split(\":\")\n .reduce((options, token) => Object.assign(options, { [token.replace(/^!/, \"\")]: !/^!/.test(token) }), {});\n}\nfunction stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n }\n else if (eventTarget == document) {\n return \"document\";\n }\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, (_, char) => char.toUpperCase());\n}\nfunction namespaceCamelize(value) {\n return camelize(value.replace(/--/g, \"-\").replace(/__/g, \"_\"));\n}\nfunction capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, (_, char) => `-${char.toLowerCase()}`);\n}\nfunction tokenize(value) {\n return value.match(/[^\\s]+/g) || [];\n}\n\nfunction isSomething(object) {\n return object !== null && object !== undefined;\n}\nfunction hasProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nconst allModifiers = [\"meta\", \"ctrl\", \"alt\", \"shift\"];\nclass Action {\n constructor(element, index, descriptor, schema) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n this.keyFilter = descriptor.keyFilter || \"\";\n this.schema = schema;\n }\n static forToken(token, schema) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content), schema);\n }\n toString() {\n const eventFilter = this.keyFilter ? `.${this.keyFilter}` : \"\";\n const eventTarget = this.eventTargetName ? `@${this.eventTargetName}` : \"\";\n return `${this.eventName}${eventFilter}${eventTarget}->${this.identifier}#${this.methodName}`;\n }\n shouldIgnoreKeyboardEvent(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filters = this.keyFilter.split(\"+\");\n if (this.keyFilterDissatisfied(event, filters)) {\n return true;\n }\n const standardFilter = filters.filter((key) => !allModifiers.includes(key))[0];\n if (!standardFilter) {\n return false;\n }\n if (!hasProperty(this.keyMappings, standardFilter)) {\n error(`contains unknown key filter: ${this.keyFilter}`);\n }\n return this.keyMappings[standardFilter].toLowerCase() !== event.key.toLowerCase();\n }\n shouldIgnoreMouseEvent(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filters = [this.keyFilter];\n if (this.keyFilterDissatisfied(event, filters)) {\n return true;\n }\n return false;\n }\n get params() {\n const params = {};\n const pattern = new RegExp(`^data-${this.identifier}-(.+)-param$`, \"i\");\n for (const { name, value } of Array.from(this.element.attributes)) {\n const match = name.match(pattern);\n const key = match && match[1];\n if (key) {\n params[camelize(key)] = typecast(value);\n }\n }\n return params;\n }\n get eventTargetName() {\n return stringifyEventTarget(this.eventTarget);\n }\n get keyMappings() {\n return this.schema.keyMappings;\n }\n keyFilterDissatisfied(event, filters) {\n const [meta, ctrl, alt, shift] = allModifiers.map((modifier) => filters.includes(modifier));\n return event.metaKey !== meta || event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift;\n }\n}\nconst defaultEventNames = {\n a: () => \"click\",\n button: () => \"click\",\n form: () => \"submit\",\n details: () => \"toggle\",\n input: (e) => (e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\"),\n select: () => \"change\",\n textarea: () => \"input\",\n};\nfunction getDefaultEventNameForElement(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\nfunction error(message) {\n throw new Error(message);\n}\nfunction typecast(value) {\n try {\n return JSON.parse(value);\n }\n catch (o_O) {\n return value;\n }\n}\n\nclass Binding {\n constructor(context, action) {\n this.context = context;\n this.action = action;\n }\n get index() {\n return this.action.index;\n }\n get eventTarget() {\n return this.action.eventTarget;\n }\n get eventOptions() {\n return this.action.eventOptions;\n }\n get identifier() {\n return this.context.identifier;\n }\n handleEvent(event) {\n const actionEvent = this.prepareActionEvent(event);\n if (this.willBeInvokedByEvent(event) && this.applyEventModifiers(actionEvent)) {\n this.invokeWithEvent(actionEvent);\n }\n }\n get eventName() {\n return this.action.eventName;\n }\n get method() {\n const method = this.controller[this.methodName];\n if (typeof method == \"function\") {\n return method;\n }\n throw new Error(`Action \"${this.action}\" references undefined method \"${this.methodName}\"`);\n }\n applyEventModifiers(event) {\n const { element } = this.action;\n const { actionDescriptorFilters } = this.context.application;\n const { controller } = this.context;\n let passes = true;\n for (const [name, value] of Object.entries(this.eventOptions)) {\n if (name in actionDescriptorFilters) {\n const filter = actionDescriptorFilters[name];\n passes = passes && filter({ name, value, event, element, controller });\n }\n else {\n continue;\n }\n }\n return passes;\n }\n prepareActionEvent(event) {\n return Object.assign(event, { params: this.action.params });\n }\n invokeWithEvent(event) {\n const { target, currentTarget } = event;\n try {\n this.method.call(this.controller, event);\n this.context.logDebugActivity(this.methodName, { event, target, currentTarget, action: this.methodName });\n }\n catch (error) {\n const { identifier, controller, element, index } = this;\n const detail = { identifier, controller, element, index, event };\n this.context.handleError(error, `invoking action \"${this.action}\"`, detail);\n }\n }\n willBeInvokedByEvent(event) {\n const eventTarget = event.target;\n if (event instanceof KeyboardEvent && this.action.shouldIgnoreKeyboardEvent(event)) {\n return false;\n }\n if (event instanceof MouseEvent && this.action.shouldIgnoreMouseEvent(event)) {\n return false;\n }\n if (this.element === eventTarget) {\n return true;\n }\n else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n }\n else {\n return this.scope.containsElement(this.action.element);\n }\n }\n get controller() {\n return this.context.controller;\n }\n get methodName() {\n return this.action.methodName;\n }\n get element() {\n return this.scope.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nclass ElementObserver {\n constructor(element, delegate) {\n this.mutationObserverInit = { attributes: true, childList: true, subtree: true };\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.refresh();\n }\n }\n pause(callback) {\n if (this.started) {\n this.mutationObserver.disconnect();\n this.started = false;\n }\n callback();\n if (!this.started) {\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.started = true;\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n const matches = new Set(this.matchElementsInTree());\n for (const element of Array.from(this.elements)) {\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n for (const element of Array.from(matches)) {\n this.addElement(element);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n }\n else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n }\n processAttributeChange(element, attributeName) {\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n }\n else {\n this.removeElement(element);\n }\n }\n else if (this.matchElement(element)) {\n this.addElement(element);\n }\n }\n processRemovedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n }\n processAddedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n }\n matchElement(element) {\n return this.delegate.matchElement(element);\n }\n matchElementsInTree(tree = this.element) {\n return this.delegate.matchElementsInTree(tree);\n }\n processTree(tree, processor) {\n for (const element of this.matchElementsInTree(tree)) {\n processor.call(this, element);\n }\n }\n elementFromNode(node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n }\n elementIsActive(element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n }\n else {\n return this.element.contains(element);\n }\n }\n addElement(element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n }\n removeElement(element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n }\n}\n\nclass AttributeObserver {\n constructor(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n get element() {\n return this.elementObserver.element;\n }\n get selector() {\n return `[${this.attributeName}]`;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get started() {\n return this.elementObserver.started;\n }\n matchElement(element) {\n return element.hasAttribute(this.attributeName);\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n }\n elementMatched(element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n }\n elementUnmatched(element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n }\n elementAttributeChanged(element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n }\n}\n\nfunction add(map, key, value) {\n fetch(map, key).add(value);\n}\nfunction del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\nfunction fetch(map, key) {\n let values = map.get(key);\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n return values;\n}\nfunction prune(map, key) {\n const values = map.get(key);\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}\n\nclass Multimap {\n constructor() {\n this.valuesByKey = new Map();\n }\n get keys() {\n return Array.from(this.valuesByKey.keys());\n }\n get values() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((values, set) => values.concat(Array.from(set)), []);\n }\n get size() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((size, set) => size + set.size, 0);\n }\n add(key, value) {\n add(this.valuesByKey, key, value);\n }\n delete(key, value) {\n del(this.valuesByKey, key, value);\n }\n has(key, value) {\n const values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n }\n hasKey(key) {\n return this.valuesByKey.has(key);\n }\n hasValue(value) {\n const sets = Array.from(this.valuesByKey.values());\n return sets.some((set) => set.has(value));\n }\n getValuesForKey(key) {\n const values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n }\n getKeysForValue(value) {\n return Array.from(this.valuesByKey)\n .filter(([_key, values]) => values.has(value))\n .map(([key, _values]) => key);\n }\n}\n\nclass IndexedMultimap extends Multimap {\n constructor() {\n super();\n this.keysByValue = new Map();\n }\n get values() {\n return Array.from(this.keysByValue.keys());\n }\n add(key, value) {\n super.add(key, value);\n add(this.keysByValue, value, key);\n }\n delete(key, value) {\n super.delete(key, value);\n del(this.keysByValue, value, key);\n }\n hasValue(value) {\n return this.keysByValue.has(value);\n }\n getKeysForValue(value) {\n const set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n }\n}\n\nclass SelectorObserver {\n constructor(element, selector, delegate, details) {\n this._selector = selector;\n this.details = details;\n this.elementObserver = new ElementObserver(element, this);\n this.delegate = delegate;\n this.matchesByElement = new Multimap();\n }\n get started() {\n return this.elementObserver.started;\n }\n get selector() {\n return this._selector;\n }\n set selector(selector) {\n this._selector = selector;\n this.refresh();\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get element() {\n return this.elementObserver.element;\n }\n matchElement(element) {\n const { selector } = this;\n if (selector) {\n const matches = element.matches(selector);\n if (this.delegate.selectorMatchElement) {\n return matches && this.delegate.selectorMatchElement(element, this.details);\n }\n return matches;\n }\n else {\n return false;\n }\n }\n matchElementsInTree(tree) {\n const { selector } = this;\n if (selector) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(selector)).filter((match) => this.matchElement(match));\n return match.concat(matches);\n }\n else {\n return [];\n }\n }\n elementMatched(element) {\n const { selector } = this;\n if (selector) {\n this.selectorMatched(element, selector);\n }\n }\n elementUnmatched(element) {\n const selectors = this.matchesByElement.getKeysForValue(element);\n for (const selector of selectors) {\n this.selectorUnmatched(element, selector);\n }\n }\n elementAttributeChanged(element, _attributeName) {\n const { selector } = this;\n if (selector) {\n const matches = this.matchElement(element);\n const matchedBefore = this.matchesByElement.has(selector, element);\n if (matches && !matchedBefore) {\n this.selectorMatched(element, selector);\n }\n else if (!matches && matchedBefore) {\n this.selectorUnmatched(element, selector);\n }\n }\n }\n selectorMatched(element, selector) {\n this.delegate.selectorMatched(element, selector, this.details);\n this.matchesByElement.add(selector, element);\n }\n selectorUnmatched(element, selector) {\n this.delegate.selectorUnmatched(element, selector, this.details);\n this.matchesByElement.delete(selector, element);\n }\n}\n\nclass StringMapObserver {\n constructor(element, delegate) {\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, { attributes: true, attributeOldValue: true });\n this.refresh();\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n for (const attributeName of this.knownAttributeNames) {\n this.refreshAttribute(attributeName, null);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n const attributeName = mutation.attributeName;\n if (attributeName) {\n this.refreshAttribute(attributeName, mutation.oldValue);\n }\n }\n refreshAttribute(attributeName, oldValue) {\n const key = this.delegate.getStringMapKeyForAttribute(attributeName);\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n const value = this.element.getAttribute(attributeName);\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key, oldValue);\n }\n if (value == null) {\n const oldValue = this.stringMap.get(attributeName);\n this.stringMap.delete(attributeName);\n if (oldValue)\n this.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n else {\n this.stringMap.set(attributeName, value);\n }\n }\n }\n stringMapKeyAdded(key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n }\n stringMapValueChanged(value, key, oldValue) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key, oldValue);\n }\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n }\n get knownAttributeNames() {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n }\n get currentAttributeNames() {\n return Array.from(this.element.attributes).map((attribute) => attribute.name);\n }\n get recordedAttributeNames() {\n return Array.from(this.stringMap.keys());\n }\n}\n\nclass TokenListObserver {\n constructor(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap();\n }\n get started() {\n return this.attributeObserver.started;\n }\n start() {\n this.attributeObserver.start();\n }\n pause(callback) {\n this.attributeObserver.pause(callback);\n }\n stop() {\n this.attributeObserver.stop();\n }\n refresh() {\n this.attributeObserver.refresh();\n }\n get element() {\n return this.attributeObserver.element;\n }\n get attributeName() {\n return this.attributeObserver.attributeName;\n }\n elementMatchedAttribute(element) {\n this.tokensMatched(this.readTokensForElement(element));\n }\n elementAttributeValueChanged(element) {\n const [unmatchedTokens, matchedTokens] = this.refreshTokensForElement(element);\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n }\n elementUnmatchedAttribute(element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n }\n tokensMatched(tokens) {\n tokens.forEach((token) => this.tokenMatched(token));\n }\n tokensUnmatched(tokens) {\n tokens.forEach((token) => this.tokenUnmatched(token));\n }\n tokenMatched(token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n }\n tokenUnmatched(token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n }\n refreshTokensForElement(element) {\n const previousTokens = this.tokensByElement.getValuesForKey(element);\n const currentTokens = this.readTokensForElement(element);\n const firstDifferingIndex = zip(previousTokens, currentTokens).findIndex(([previousToken, currentToken]) => !tokensAreEqual(previousToken, currentToken));\n if (firstDifferingIndex == -1) {\n return [[], []];\n }\n else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n }\n readTokensForElement(element) {\n const attributeName = this.attributeName;\n const tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n }\n}\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString\n .trim()\n .split(/\\s+/)\n .filter((content) => content.length)\n .map((content, index) => ({ element, attributeName, content, index }));\n}\nfunction zip(left, right) {\n const length = Math.max(left.length, right.length);\n return Array.from({ length }, (_, index) => [left[index], right[index]]);\n}\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}\n\nclass ValueListObserver {\n constructor(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap();\n this.valuesByTokenByElement = new WeakMap();\n }\n get started() {\n return this.tokenListObserver.started;\n }\n start() {\n this.tokenListObserver.start();\n }\n stop() {\n this.tokenListObserver.stop();\n }\n refresh() {\n this.tokenListObserver.refresh();\n }\n get element() {\n return this.tokenListObserver.element;\n }\n get attributeName() {\n return this.tokenListObserver.attributeName;\n }\n tokenMatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n }\n tokenUnmatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n }\n fetchParseResultForToken(token) {\n let parseResult = this.parseResultsByToken.get(token);\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n return parseResult;\n }\n fetchValuesByTokenForElement(element) {\n let valuesByToken = this.valuesByTokenByElement.get(element);\n if (!valuesByToken) {\n valuesByToken = new Map();\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n return valuesByToken;\n }\n parseToken(token) {\n try {\n const value = this.delegate.parseValueForToken(token);\n return { value };\n }\n catch (error) {\n return { error };\n }\n }\n}\n\nclass BindingObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map();\n }\n start() {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n }\n stop() {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n }\n get element() {\n return this.context.element;\n }\n get identifier() {\n return this.context.identifier;\n }\n get actionAttribute() {\n return this.schema.actionAttribute;\n }\n get schema() {\n return this.context.schema;\n }\n get bindings() {\n return Array.from(this.bindingsByAction.values());\n }\n connectAction(action) {\n const binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n }\n disconnectAction(action) {\n const binding = this.bindingsByAction.get(action);\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n }\n disconnectAllActions() {\n this.bindings.forEach((binding) => this.delegate.bindingDisconnected(binding, true));\n this.bindingsByAction.clear();\n }\n parseValueForToken(token) {\n const action = Action.forToken(token, this.schema);\n if (action.identifier == this.identifier) {\n return action;\n }\n }\n elementMatchedValue(element, action) {\n this.connectAction(action);\n }\n elementUnmatchedValue(element, action) {\n this.disconnectAction(action);\n }\n}\n\nclass ValueObserver {\n constructor(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n }\n start() {\n this.stringMapObserver.start();\n this.invokeChangedCallbacksForDefaultValues();\n }\n stop() {\n this.stringMapObserver.stop();\n }\n get element() {\n return this.context.element;\n }\n get controller() {\n return this.context.controller;\n }\n getStringMapKeyForAttribute(attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n }\n stringMapKeyAdded(key, attributeName) {\n const descriptor = this.valueDescriptorMap[attributeName];\n if (!this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), descriptor.writer(descriptor.defaultValue));\n }\n }\n stringMapValueChanged(value, name, oldValue) {\n const descriptor = this.valueDescriptorNameMap[name];\n if (value === null)\n return;\n if (oldValue === null) {\n oldValue = descriptor.writer(descriptor.defaultValue);\n }\n this.invokeChangedCallback(name, value, oldValue);\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n const descriptor = this.valueDescriptorNameMap[key];\n if (this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), oldValue);\n }\n else {\n this.invokeChangedCallback(key, descriptor.writer(descriptor.defaultValue), oldValue);\n }\n }\n invokeChangedCallbacksForDefaultValues() {\n for (const { key, name, defaultValue, writer } of this.valueDescriptors) {\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallback(name, writer(defaultValue), undefined);\n }\n }\n }\n invokeChangedCallback(name, rawValue, rawOldValue) {\n const changedMethodName = `${name}Changed`;\n const changedMethod = this.receiver[changedMethodName];\n if (typeof changedMethod == \"function\") {\n const descriptor = this.valueDescriptorNameMap[name];\n try {\n const value = descriptor.reader(rawValue);\n let oldValue = rawOldValue;\n if (rawOldValue) {\n oldValue = descriptor.reader(rawOldValue);\n }\n changedMethod.call(this.receiver, value, oldValue);\n }\n catch (error) {\n if (error instanceof TypeError) {\n error.message = `Stimulus Value \"${this.context.identifier}.${descriptor.name}\" - ${error.message}`;\n }\n throw error;\n }\n }\n }\n get valueDescriptors() {\n const { valueDescriptorMap } = this;\n return Object.keys(valueDescriptorMap).map((key) => valueDescriptorMap[key]);\n }\n get valueDescriptorNameMap() {\n const descriptors = {};\n Object.keys(this.valueDescriptorMap).forEach((key) => {\n const descriptor = this.valueDescriptorMap[key];\n descriptors[descriptor.name] = descriptor;\n });\n return descriptors;\n }\n hasValue(attributeName) {\n const descriptor = this.valueDescriptorNameMap[attributeName];\n const hasMethodName = `has${capitalize(descriptor.name)}`;\n return this.receiver[hasMethodName];\n }\n}\n\nclass TargetObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.targetsByName = new Multimap();\n }\n start() {\n if (!this.tokenListObserver) {\n this.tokenListObserver = new TokenListObserver(this.element, this.attributeName, this);\n this.tokenListObserver.start();\n }\n }\n stop() {\n if (this.tokenListObserver) {\n this.disconnectAllTargets();\n this.tokenListObserver.stop();\n delete this.tokenListObserver;\n }\n }\n tokenMatched({ element, content: name }) {\n if (this.scope.containsElement(element)) {\n this.connectTarget(element, name);\n }\n }\n tokenUnmatched({ element, content: name }) {\n this.disconnectTarget(element, name);\n }\n connectTarget(element, name) {\n var _a;\n if (!this.targetsByName.has(name, element)) {\n this.targetsByName.add(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetConnected(element, name));\n }\n }\n disconnectTarget(element, name) {\n var _a;\n if (this.targetsByName.has(name, element)) {\n this.targetsByName.delete(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetDisconnected(element, name));\n }\n }\n disconnectAllTargets() {\n for (const name of this.targetsByName.keys) {\n for (const element of this.targetsByName.getValuesForKey(name)) {\n this.disconnectTarget(element, name);\n }\n }\n }\n get attributeName() {\n return `data-${this.context.identifier}-target`;\n }\n get element() {\n return this.context.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nfunction readInheritableStaticArrayValues(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce((values, constructor) => {\n getOwnStaticArrayValues(constructor, propertyName).forEach((name) => values.add(name));\n return values;\n }, new Set()));\n}\nfunction readInheritableStaticObjectPairs(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce((pairs, constructor) => {\n pairs.push(...getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\nfunction getAncestorsForConstructor(constructor) {\n const ancestors = [];\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n return ancestors.reverse();\n}\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n const definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n const definition = constructor[propertyName];\n return definition ? Object.keys(definition).map((key) => [key, definition[key]]) : [];\n}\n\nclass OutletObserver {\n constructor(context, delegate) {\n this.started = false;\n this.context = context;\n this.delegate = delegate;\n this.outletsByName = new Multimap();\n this.outletElementsByName = new Multimap();\n this.selectorObserverMap = new Map();\n this.attributeObserverMap = new Map();\n }\n start() {\n if (!this.started) {\n this.outletDefinitions.forEach((outletName) => {\n this.setupSelectorObserverForOutlet(outletName);\n this.setupAttributeObserverForOutlet(outletName);\n });\n this.started = true;\n this.dependentContexts.forEach((context) => context.refresh());\n }\n }\n refresh() {\n this.selectorObserverMap.forEach((observer) => observer.refresh());\n this.attributeObserverMap.forEach((observer) => observer.refresh());\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.disconnectAllOutlets();\n this.stopSelectorObservers();\n this.stopAttributeObservers();\n }\n }\n stopSelectorObservers() {\n if (this.selectorObserverMap.size > 0) {\n this.selectorObserverMap.forEach((observer) => observer.stop());\n this.selectorObserverMap.clear();\n }\n }\n stopAttributeObservers() {\n if (this.attributeObserverMap.size > 0) {\n this.attributeObserverMap.forEach((observer) => observer.stop());\n this.attributeObserverMap.clear();\n }\n }\n selectorMatched(element, _selector, { outletName }) {\n const outlet = this.getOutlet(element, outletName);\n if (outlet) {\n this.connectOutlet(outlet, element, outletName);\n }\n }\n selectorUnmatched(element, _selector, { outletName }) {\n const outlet = this.getOutletFromMap(element, outletName);\n if (outlet) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n selectorMatchElement(element, { outletName }) {\n const selector = this.selector(outletName);\n const hasOutlet = this.hasOutlet(element, outletName);\n const hasOutletController = element.matches(`[${this.schema.controllerAttribute}~=${outletName}]`);\n if (selector) {\n return hasOutlet && hasOutletController && element.matches(selector);\n }\n else {\n return false;\n }\n }\n elementMatchedAttribute(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n elementAttributeValueChanged(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n elementUnmatchedAttribute(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n connectOutlet(outlet, element, outletName) {\n var _a;\n if (!this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.add(outletName, outlet);\n this.outletElementsByName.add(outletName, element);\n (_a = this.selectorObserverMap.get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletConnected(outlet, element, outletName));\n }\n }\n disconnectOutlet(outlet, element, outletName) {\n var _a;\n if (this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.delete(outletName, outlet);\n this.outletElementsByName.delete(outletName, element);\n (_a = this.selectorObserverMap\n .get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletDisconnected(outlet, element, outletName));\n }\n }\n disconnectAllOutlets() {\n for (const outletName of this.outletElementsByName.keys) {\n for (const element of this.outletElementsByName.getValuesForKey(outletName)) {\n for (const outlet of this.outletsByName.getValuesForKey(outletName)) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n }\n }\n updateSelectorObserverForOutlet(outletName) {\n const observer = this.selectorObserverMap.get(outletName);\n if (observer) {\n observer.selector = this.selector(outletName);\n }\n }\n setupSelectorObserverForOutlet(outletName) {\n const selector = this.selector(outletName);\n const selectorObserver = new SelectorObserver(document.body, selector, this, { outletName });\n this.selectorObserverMap.set(outletName, selectorObserver);\n selectorObserver.start();\n }\n setupAttributeObserverForOutlet(outletName) {\n const attributeName = this.attributeNameForOutletName(outletName);\n const attributeObserver = new AttributeObserver(this.scope.element, attributeName, this);\n this.attributeObserverMap.set(outletName, attributeObserver);\n attributeObserver.start();\n }\n selector(outletName) {\n return this.scope.outlets.getSelectorForOutletName(outletName);\n }\n attributeNameForOutletName(outletName) {\n return this.scope.schema.outletAttributeForScope(this.identifier, outletName);\n }\n getOutletNameFromOutletAttributeName(attributeName) {\n return this.outletDefinitions.find((outletName) => this.attributeNameForOutletName(outletName) === attributeName);\n }\n get outletDependencies() {\n const dependencies = new Multimap();\n this.router.modules.forEach((module) => {\n const constructor = module.definition.controllerConstructor;\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n outlets.forEach((outlet) => dependencies.add(outlet, module.identifier));\n });\n return dependencies;\n }\n get outletDefinitions() {\n return this.outletDependencies.getKeysForValue(this.identifier);\n }\n get dependentControllerIdentifiers() {\n return this.outletDependencies.getValuesForKey(this.identifier);\n }\n get dependentContexts() {\n const identifiers = this.dependentControllerIdentifiers;\n return this.router.contexts.filter((context) => identifiers.includes(context.identifier));\n }\n hasOutlet(element, outletName) {\n return !!this.getOutlet(element, outletName) || !!this.getOutletFromMap(element, outletName);\n }\n getOutlet(element, outletName) {\n return this.application.getControllerForElementAndIdentifier(element, outletName);\n }\n getOutletFromMap(element, outletName) {\n return this.outletsByName.getValuesForKey(outletName).find((outlet) => outlet.element === element);\n }\n get scope() {\n return this.context.scope;\n }\n get schema() {\n return this.context.schema;\n }\n get identifier() {\n return this.context.identifier;\n }\n get application() {\n return this.context.application;\n }\n get router() {\n return this.application.router;\n }\n}\n\nclass Context {\n constructor(module, scope) {\n this.logDebugActivity = (functionName, detail = {}) => {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.logDebugActivity(this.identifier, functionName, detail);\n };\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n this.targetObserver = new TargetObserver(this, this);\n this.outletObserver = new OutletObserver(this, this);\n try {\n this.controller.initialize();\n this.logDebugActivity(\"initialize\");\n }\n catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n connect() {\n this.bindingObserver.start();\n this.valueObserver.start();\n this.targetObserver.start();\n this.outletObserver.start();\n try {\n this.controller.connect();\n this.logDebugActivity(\"connect\");\n }\n catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n }\n refresh() {\n this.outletObserver.refresh();\n }\n disconnect() {\n try {\n this.controller.disconnect();\n this.logDebugActivity(\"disconnect\");\n }\n catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n this.outletObserver.stop();\n this.targetObserver.stop();\n this.valueObserver.stop();\n this.bindingObserver.stop();\n }\n get application() {\n return this.module.application;\n }\n get identifier() {\n return this.module.identifier;\n }\n get schema() {\n return this.application.schema;\n }\n get dispatcher() {\n return this.application.dispatcher;\n }\n get element() {\n return this.scope.element;\n }\n get parentElement() {\n return this.element.parentElement;\n }\n handleError(error, message, detail = {}) {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.handleError(error, `Error ${message}`, detail);\n }\n targetConnected(element, name) {\n this.invokeControllerMethod(`${name}TargetConnected`, element);\n }\n targetDisconnected(element, name) {\n this.invokeControllerMethod(`${name}TargetDisconnected`, element);\n }\n outletConnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletConnected`, outlet, element);\n }\n outletDisconnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletDisconnected`, outlet, element);\n }\n invokeControllerMethod(methodName, ...args) {\n const controller = this.controller;\n if (typeof controller[methodName] == \"function\") {\n controller[methodName](...args);\n }\n }\n}\n\nfunction bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\nfunction shadow(constructor, properties) {\n const shadowConstructor = extend(constructor);\n const shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\nfunction getBlessedProperties(constructor) {\n const blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce((blessedProperties, blessing) => {\n const properties = blessing(constructor);\n for (const key in properties) {\n const descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n return blessedProperties;\n }, {});\n}\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce((shadowProperties, key) => {\n const descriptor = getShadowedDescriptor(prototype, properties, key);\n if (descriptor) {\n Object.assign(shadowProperties, { [key]: descriptor });\n }\n return shadowProperties;\n }, {});\n}\nfunction getShadowedDescriptor(prototype, properties, key) {\n const shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n const shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n if (!shadowedByValue) {\n const descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n return descriptor;\n }\n}\nconst getOwnKeys = (() => {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return (object) => [...Object.getOwnPropertyNames(object), ...Object.getOwnPropertySymbols(object)];\n }\n else {\n return Object.getOwnPropertyNames;\n }\n})();\nconst extend = (() => {\n function extendWithReflect(constructor) {\n function extended() {\n return Reflect.construct(constructor, arguments, new.target);\n }\n extended.prototype = Object.create(constructor.prototype, {\n constructor: { value: extended },\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n function testReflectExtension() {\n const a = function () {\n this.a.call(this);\n };\n const b = extendWithReflect(a);\n b.prototype.a = function () { };\n return new b();\n }\n try {\n testReflectExtension();\n return extendWithReflect;\n }\n catch (error) {\n return (constructor) => class extended extends constructor {\n };\n }\n})();\n\nfunction blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor),\n };\n}\n\nclass Module {\n constructor(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap();\n this.connectedContexts = new Set();\n }\n get identifier() {\n return this.definition.identifier;\n }\n get controllerConstructor() {\n return this.definition.controllerConstructor;\n }\n get contexts() {\n return Array.from(this.connectedContexts);\n }\n connectContextForScope(scope) {\n const context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n }\n disconnectContextForScope(scope) {\n const context = this.contextsByScope.get(scope);\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n }\n fetchContextForScope(scope) {\n let context = this.contextsByScope.get(scope);\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n return context;\n }\n}\n\nclass ClassMap {\n constructor(scope) {\n this.scope = scope;\n }\n has(name) {\n return this.data.has(this.getDataKey(name));\n }\n get(name) {\n return this.getAll(name)[0];\n }\n getAll(name) {\n const tokenString = this.data.get(this.getDataKey(name)) || \"\";\n return tokenize(tokenString);\n }\n getAttributeName(name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n }\n getDataKey(name) {\n return `${name}-class`;\n }\n get data() {\n return this.scope.data;\n }\n}\n\nclass DataMap {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n }\n set(key, value) {\n const name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n }\n has(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n }\n delete(key) {\n if (this.has(key)) {\n const name = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name);\n return true;\n }\n else {\n return false;\n }\n }\n getAttributeNameForKey(key) {\n return `data-${this.identifier}-${dasherize(key)}`;\n }\n}\n\nclass Guide {\n constructor(logger) {\n this.warnedKeysByObject = new WeakMap();\n this.logger = logger;\n }\n warn(object, key, message) {\n let warnedKeys = this.warnedKeysByObject.get(object);\n if (!warnedKeys) {\n warnedKeys = new Set();\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n }\n}\n\nfunction attributeValueContainsToken(attributeName, token) {\n return `[${attributeName}~=\"${token}\"]`;\n}\n\nclass TargetSet {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(targetName) {\n return this.find(targetName) != null;\n }\n find(...targetNames) {\n return targetNames.reduce((target, targetName) => target || this.findTarget(targetName) || this.findLegacyTarget(targetName), undefined);\n }\n findAll(...targetNames) {\n return targetNames.reduce((targets, targetName) => [\n ...targets,\n ...this.findAllTargets(targetName),\n ...this.findAllLegacyTargets(targetName),\n ], []);\n }\n findTarget(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n }\n findAllTargets(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n }\n getSelectorForTargetName(targetName) {\n const attributeName = this.schema.targetAttributeForScope(this.identifier);\n return attributeValueContainsToken(attributeName, targetName);\n }\n findLegacyTarget(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n }\n findAllLegacyTargets(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map((element) => this.deprecate(element, targetName));\n }\n getLegacySelectorForTargetName(targetName) {\n const targetDescriptor = `${this.identifier}.${targetName}`;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n }\n deprecate(element, targetName) {\n if (element) {\n const { identifier } = this;\n const attributeName = this.schema.targetAttribute;\n const revisedAttributeName = this.schema.targetAttributeForScope(identifier);\n this.guide.warn(element, `target:${targetName}`, `Please replace ${attributeName}=\"${identifier}.${targetName}\" with ${revisedAttributeName}=\"${targetName}\". ` +\n `The ${attributeName} attribute is deprecated and will be removed in a future version of Stimulus.`);\n }\n return element;\n }\n get guide() {\n return this.scope.guide;\n }\n}\n\nclass OutletSet {\n constructor(scope, controllerElement) {\n this.scope = scope;\n this.controllerElement = controllerElement;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(outletName) {\n return this.find(outletName) != null;\n }\n find(...outletNames) {\n return outletNames.reduce((outlet, outletName) => outlet || this.findOutlet(outletName), undefined);\n }\n findAll(...outletNames) {\n return outletNames.reduce((outlets, outletName) => [...outlets, ...this.findAllOutlets(outletName)], []);\n }\n getSelectorForOutletName(outletName) {\n const attributeName = this.schema.outletAttributeForScope(this.identifier, outletName);\n return this.controllerElement.getAttribute(attributeName);\n }\n findOutlet(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n if (selector)\n return this.findElement(selector, outletName);\n }\n findAllOutlets(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n return selector ? this.findAllElements(selector, outletName) : [];\n }\n findElement(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName))[0];\n }\n findAllElements(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName));\n }\n matchesElement(element, selector, outletName) {\n const controllerAttribute = element.getAttribute(this.scope.schema.controllerAttribute) || \"\";\n return element.matches(selector) && controllerAttribute.split(\" \").includes(outletName);\n }\n}\n\nclass Scope {\n constructor(schema, element, identifier, logger) {\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n this.containsElement = (element) => {\n return element.closest(this.controllerSelector) === this.element;\n };\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n this.outlets = new OutletSet(this.documentScope, element);\n }\n findElement(selector) {\n return this.element.matches(selector) ? this.element : this.queryElements(selector).find(this.containsElement);\n }\n findAllElements(selector) {\n return [\n ...(this.element.matches(selector) ? [this.element] : []),\n ...this.queryElements(selector).filter(this.containsElement),\n ];\n }\n queryElements(selector) {\n return Array.from(this.element.querySelectorAll(selector));\n }\n get controllerSelector() {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n }\n get isDocumentScope() {\n return this.element === document.documentElement;\n }\n get documentScope() {\n return this.isDocumentScope\n ? this\n : new Scope(this.schema, document.documentElement, this.identifier, this.guide.logger);\n }\n}\n\nclass ScopeObserver {\n constructor(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap();\n this.scopeReferenceCounts = new WeakMap();\n }\n start() {\n this.valueListObserver.start();\n }\n stop() {\n this.valueListObserver.stop();\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n parseValueForToken(token) {\n const { element, content: identifier } = token;\n return this.parseValueForElementAndIdentifier(element, identifier);\n }\n parseValueForElementAndIdentifier(element, identifier) {\n const scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n let scope = scopesByIdentifier.get(identifier);\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n return scope;\n }\n elementMatchedValue(element, value) {\n const referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n }\n elementUnmatchedValue(element, value) {\n const referenceCount = this.scopeReferenceCounts.get(value);\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n }\n fetchScopesByIdentifierForElement(element) {\n let scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map();\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n return scopesByIdentifier;\n }\n}\n\nclass Router {\n constructor(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap();\n this.modulesByIdentifier = new Map();\n }\n get element() {\n return this.application.element;\n }\n get schema() {\n return this.application.schema;\n }\n get logger() {\n return this.application.logger;\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n get modules() {\n return Array.from(this.modulesByIdentifier.values());\n }\n get contexts() {\n return this.modules.reduce((contexts, module) => contexts.concat(module.contexts), []);\n }\n start() {\n this.scopeObserver.start();\n }\n stop() {\n this.scopeObserver.stop();\n }\n loadDefinition(definition) {\n this.unloadIdentifier(definition.identifier);\n const module = new Module(this.application, definition);\n this.connectModule(module);\n const afterLoad = definition.controllerConstructor.afterLoad;\n if (afterLoad) {\n afterLoad.call(definition.controllerConstructor, definition.identifier, this.application);\n }\n }\n unloadIdentifier(identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n this.disconnectModule(module);\n }\n }\n getContextForElementAndIdentifier(element, identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n return module.contexts.find((context) => context.element == element);\n }\n }\n proposeToConnectScopeForElementAndIdentifier(element, identifier) {\n const scope = this.scopeObserver.parseValueForElementAndIdentifier(element, identifier);\n if (scope) {\n this.scopeObserver.elementMatchedValue(scope.element, scope);\n }\n else {\n console.error(`Couldn't find or create scope for identifier: \"${identifier}\" and element:`, element);\n }\n }\n handleError(error, message, detail) {\n this.application.handleError(error, message, detail);\n }\n createScopeForElementAndIdentifier(element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n }\n scopeConnected(scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.connectContextForScope(scope);\n }\n }\n scopeDisconnected(scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.disconnectContextForScope(scope);\n }\n }\n connectModule(module) {\n this.modulesByIdentifier.set(module.identifier, module);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.connectContextForScope(scope));\n }\n disconnectModule(module) {\n this.modulesByIdentifier.delete(module.identifier);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.disconnectContextForScope(scope));\n }\n}\n\nconst defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\",\n targetAttributeForScope: (identifier) => `data-${identifier}-target`,\n outletAttributeForScope: (identifier, outlet) => `data-${identifier}-${outlet}-outlet`,\n keyMappings: Object.assign(Object.assign({ enter: \"Enter\", tab: \"Tab\", esc: \"Escape\", space: \" \", up: \"ArrowUp\", down: \"ArrowDown\", left: \"ArrowLeft\", right: \"ArrowRight\", home: \"Home\", end: \"End\", page_up: \"PageUp\", page_down: \"PageDown\" }, objectFromEntries(\"abcdefghijklmnopqrstuvwxyz\".split(\"\").map((c) => [c, c]))), objectFromEntries(\"0123456789\".split(\"\").map((n) => [n, n]))),\n};\nfunction objectFromEntries(array) {\n return array.reduce((memo, [k, v]) => (Object.assign(Object.assign({}, memo), { [k]: v })), {});\n}\n\nclass Application {\n constructor(element = document.documentElement, schema = defaultSchema) {\n this.logger = console;\n this.debug = false;\n this.logDebugActivity = (identifier, functionName, detail = {}) => {\n if (this.debug) {\n this.logFormattedMessage(identifier, functionName, detail);\n }\n };\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n this.actionDescriptorFilters = Object.assign({}, defaultActionDescriptorFilters);\n }\n static start(element, schema) {\n const application = new this(element, schema);\n application.start();\n return application;\n }\n async start() {\n await domReady();\n this.logDebugActivity(\"application\", \"starting\");\n this.dispatcher.start();\n this.router.start();\n this.logDebugActivity(\"application\", \"start\");\n }\n stop() {\n this.logDebugActivity(\"application\", \"stopping\");\n this.dispatcher.stop();\n this.router.stop();\n this.logDebugActivity(\"application\", \"stop\");\n }\n register(identifier, controllerConstructor) {\n this.load({ identifier, controllerConstructor });\n }\n registerActionOption(name, filter) {\n this.actionDescriptorFilters[name] = filter;\n }\n load(head, ...rest) {\n const definitions = Array.isArray(head) ? head : [head, ...rest];\n definitions.forEach((definition) => {\n if (definition.controllerConstructor.shouldLoad) {\n this.router.loadDefinition(definition);\n }\n });\n }\n unload(head, ...rest) {\n const identifiers = Array.isArray(head) ? head : [head, ...rest];\n identifiers.forEach((identifier) => this.router.unloadIdentifier(identifier));\n }\n get controllers() {\n return this.router.contexts.map((context) => context.controller);\n }\n getControllerForElementAndIdentifier(element, identifier) {\n const context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n }\n handleError(error, message, detail) {\n var _a;\n this.logger.error(`%s\\n\\n%o\\n\\n%o`, message, error, detail);\n (_a = window.onerror) === null || _a === void 0 ? void 0 : _a.call(window, message, \"\", 0, 0, error);\n }\n logFormattedMessage(identifier, functionName, detail = {}) {\n detail = Object.assign({ application: this }, detail);\n this.logger.groupCollapsed(`${identifier} #${functionName}`);\n this.logger.log(\"details:\", Object.assign({}, detail));\n this.logger.groupEnd();\n }\n}\nfunction domReady() {\n return new Promise((resolve) => {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", () => resolve());\n }\n else {\n resolve();\n }\n });\n}\n\nfunction ClassPropertiesBlessing(constructor) {\n const classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce((properties, classDefinition) => {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\nfunction propertiesForClassDefinition(key) {\n return {\n [`${key}Class`]: {\n get() {\n const { classes } = this;\n if (classes.has(key)) {\n return classes.get(key);\n }\n else {\n const attribute = classes.getAttributeName(key);\n throw new Error(`Missing attribute \"${attribute}\"`);\n }\n },\n },\n [`${key}Classes`]: {\n get() {\n return this.classes.getAll(key);\n },\n },\n [`has${capitalize(key)}Class`]: {\n get() {\n return this.classes.has(key);\n },\n },\n };\n}\n\nfunction OutletPropertiesBlessing(constructor) {\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n return outlets.reduce((properties, outletDefinition) => {\n return Object.assign(properties, propertiesForOutletDefinition(outletDefinition));\n }, {});\n}\nfunction getOutletController(controller, element, identifier) {\n return controller.application.getControllerForElementAndIdentifier(element, identifier);\n}\nfunction getControllerAndEnsureConnectedScope(controller, element, outletName) {\n let outletController = getOutletController(controller, element, outletName);\n if (outletController)\n return outletController;\n controller.application.router.proposeToConnectScopeForElementAndIdentifier(element, outletName);\n outletController = getOutletController(controller, element, outletName);\n if (outletController)\n return outletController;\n}\nfunction propertiesForOutletDefinition(name) {\n const camelizedName = namespaceCamelize(name);\n return {\n [`${camelizedName}Outlet`]: {\n get() {\n const outletElement = this.outlets.find(name);\n const selector = this.outlets.getSelectorForOutletName(name);\n if (outletElement) {\n const outletController = getControllerAndEnsureConnectedScope(this, outletElement, name);\n if (outletController)\n return outletController;\n throw new Error(`The provided outlet element is missing an outlet controller \"${name}\" instance for host controller \"${this.identifier}\"`);\n }\n throw new Error(`Missing outlet element \"${name}\" for host controller \"${this.identifier}\". Stimulus couldn't find a matching outlet element using selector \"${selector}\".`);\n },\n },\n [`${camelizedName}Outlets`]: {\n get() {\n const outlets = this.outlets.findAll(name);\n if (outlets.length > 0) {\n return outlets\n .map((outletElement) => {\n const outletController = getControllerAndEnsureConnectedScope(this, outletElement, name);\n if (outletController)\n return outletController;\n console.warn(`The provided outlet element is missing an outlet controller \"${name}\" instance for host controller \"${this.identifier}\"`, outletElement);\n })\n .filter((controller) => controller);\n }\n return [];\n },\n },\n [`${camelizedName}OutletElement`]: {\n get() {\n const outletElement = this.outlets.find(name);\n const selector = this.outlets.getSelectorForOutletName(name);\n if (outletElement) {\n return outletElement;\n }\n else {\n throw new Error(`Missing outlet element \"${name}\" for host controller \"${this.identifier}\". Stimulus couldn't find a matching outlet element using selector \"${selector}\".`);\n }\n },\n },\n [`${camelizedName}OutletElements`]: {\n get() {\n return this.outlets.findAll(name);\n },\n },\n [`has${capitalize(camelizedName)}Outlet`]: {\n get() {\n return this.outlets.has(name);\n },\n },\n };\n}\n\nfunction TargetPropertiesBlessing(constructor) {\n const targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce((properties, targetDefinition) => {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\nfunction propertiesForTargetDefinition(name) {\n return {\n [`${name}Target`]: {\n get() {\n const target = this.targets.find(name);\n if (target) {\n return target;\n }\n else {\n throw new Error(`Missing target element \"${name}\" for \"${this.identifier}\" controller`);\n }\n },\n },\n [`${name}Targets`]: {\n get() {\n return this.targets.findAll(name);\n },\n },\n [`has${capitalize(name)}Target`]: {\n get() {\n return this.targets.has(name);\n },\n },\n };\n}\n\nfunction ValuePropertiesBlessing(constructor) {\n const valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n const propertyDescriptorMap = {\n valueDescriptorMap: {\n get() {\n return valueDefinitionPairs.reduce((result, valueDefinitionPair) => {\n const valueDescriptor = parseValueDefinitionPair(valueDefinitionPair, this.identifier);\n const attributeName = this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, { [attributeName]: valueDescriptor });\n }, {});\n },\n },\n };\n return valueDefinitionPairs.reduce((properties, valueDefinitionPair) => {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\nfunction propertiesForValueDefinitionPair(valueDefinitionPair, controller) {\n const definition = parseValueDefinitionPair(valueDefinitionPair, controller);\n const { key, name, reader: read, writer: write } = definition;\n return {\n [name]: {\n get() {\n const value = this.data.get(key);\n if (value !== null) {\n return read(value);\n }\n else {\n return definition.defaultValue;\n }\n },\n set(value) {\n if (value === undefined) {\n this.data.delete(key);\n }\n else {\n this.data.set(key, write(value));\n }\n },\n },\n [`has${capitalize(name)}`]: {\n get() {\n return this.data.has(key) || definition.hasCustomDefaultValue;\n },\n },\n };\n}\nfunction parseValueDefinitionPair([token, typeDefinition], controller) {\n return valueDescriptorForTokenAndTypeDefinition({\n controller,\n token,\n typeDefinition,\n });\n}\nfunction parseValueTypeConstant(constant) {\n switch (constant) {\n case Array:\n return \"array\";\n case Boolean:\n return \"boolean\";\n case Number:\n return \"number\";\n case Object:\n return \"object\";\n case String:\n return \"string\";\n }\n}\nfunction parseValueTypeDefault(defaultValue) {\n switch (typeof defaultValue) {\n case \"boolean\":\n return \"boolean\";\n case \"number\":\n return \"number\";\n case \"string\":\n return \"string\";\n }\n if (Array.isArray(defaultValue))\n return \"array\";\n if (Object.prototype.toString.call(defaultValue) === \"[object Object]\")\n return \"object\";\n}\nfunction parseValueTypeObject(payload) {\n const { controller, token, typeObject } = payload;\n const hasType = isSomething(typeObject.type);\n const hasDefault = isSomething(typeObject.default);\n const fullObject = hasType && hasDefault;\n const onlyType = hasType && !hasDefault;\n const onlyDefault = !hasType && hasDefault;\n const typeFromObject = parseValueTypeConstant(typeObject.type);\n const typeFromDefaultValue = parseValueTypeDefault(payload.typeObject.default);\n if (onlyType)\n return typeFromObject;\n if (onlyDefault)\n return typeFromDefaultValue;\n if (typeFromObject !== typeFromDefaultValue) {\n const propertyPath = controller ? `${controller}.${token}` : token;\n throw new Error(`The specified default value for the Stimulus Value \"${propertyPath}\" must match the defined type \"${typeFromObject}\". The provided default value of \"${typeObject.default}\" is of type \"${typeFromDefaultValue}\".`);\n }\n if (fullObject)\n return typeFromObject;\n}\nfunction parseValueTypeDefinition(payload) {\n const { controller, token, typeDefinition } = payload;\n const typeObject = { controller, token, typeObject: typeDefinition };\n const typeFromObject = parseValueTypeObject(typeObject);\n const typeFromDefaultValue = parseValueTypeDefault(typeDefinition);\n const typeFromConstant = parseValueTypeConstant(typeDefinition);\n const type = typeFromObject || typeFromDefaultValue || typeFromConstant;\n if (type)\n return type;\n const propertyPath = controller ? `${controller}.${typeDefinition}` : token;\n throw new Error(`Unknown value type \"${propertyPath}\" for \"${token}\" value`);\n}\nfunction defaultValueForDefinition(typeDefinition) {\n const constant = parseValueTypeConstant(typeDefinition);\n if (constant)\n return defaultValuesByType[constant];\n const hasDefault = hasProperty(typeDefinition, \"default\");\n const hasType = hasProperty(typeDefinition, \"type\");\n const typeObject = typeDefinition;\n if (hasDefault)\n return typeObject.default;\n if (hasType) {\n const { type } = typeObject;\n const constantFromType = parseValueTypeConstant(type);\n if (constantFromType)\n return defaultValuesByType[constantFromType];\n }\n return typeDefinition;\n}\nfunction valueDescriptorForTokenAndTypeDefinition(payload) {\n const { token, typeDefinition } = payload;\n const key = `${dasherize(token)}-value`;\n const type = parseValueTypeDefinition(payload);\n return {\n type,\n key,\n name: camelize(key),\n get defaultValue() {\n return defaultValueForDefinition(typeDefinition);\n },\n get hasCustomDefaultValue() {\n return parseValueTypeDefault(typeDefinition) !== undefined;\n },\n reader: readers[type],\n writer: writers[type] || writers.default,\n };\n}\nconst defaultValuesByType = {\n get array() {\n return [];\n },\n boolean: false,\n number: 0,\n get object() {\n return {};\n },\n string: \"\",\n};\nconst readers = {\n array(value) {\n const array = JSON.parse(value);\n if (!Array.isArray(array)) {\n throw new TypeError(`expected value of type \"array\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(array)}\"`);\n }\n return array;\n },\n boolean(value) {\n return !(value == \"0\" || String(value).toLowerCase() == \"false\");\n },\n number(value) {\n return Number(value.replace(/_/g, \"\"));\n },\n object(value) {\n const object = JSON.parse(value);\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(`expected value of type \"object\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(object)}\"`);\n }\n return object;\n },\n string(value) {\n return value;\n },\n};\nconst writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON,\n};\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\nfunction writeString(value) {\n return `${value}`;\n}\n\nclass Controller {\n constructor(context) {\n this.context = context;\n }\n static get shouldLoad() {\n return true;\n }\n static afterLoad(_identifier, _application) {\n return;\n }\n get application() {\n return this.context.application;\n }\n get scope() {\n return this.context.scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get targets() {\n return this.scope.targets;\n }\n get outlets() {\n return this.scope.outlets;\n }\n get classes() {\n return this.scope.classes;\n }\n get data() {\n return this.scope.data;\n }\n initialize() {\n }\n connect() {\n }\n disconnect() {\n }\n dispatch(eventName, { target = this.element, detail = {}, prefix = this.identifier, bubbles = true, cancelable = true, } = {}) {\n const type = prefix ? `${prefix}:${eventName}` : eventName;\n const event = new CustomEvent(type, { detail, bubbles, cancelable });\n target.dispatchEvent(event);\n return event;\n }\n}\nController.blessings = [\n ClassPropertiesBlessing,\n TargetPropertiesBlessing,\n ValuePropertiesBlessing,\n OutletPropertiesBlessing,\n];\nController.targets = [];\nController.outlets = [];\nController.values = {};\n\nexport { Application, AttributeObserver, Context, Controller, ElementObserver, IndexedMultimap, Multimap, SelectorObserver, StringMapObserver, TokenListObserver, ValueListObserver, add, defaultSchema, del, fetch, prune };\n", "import { Application } from \"@hotwired/stimulus\"\nimport Rails from '@rails/ujs'\n\nimport AdminOrderByController from \"./controllers/admin/order_by_controller\"\nimport AdminResellersController from \"./controllers/admin/resellers_controller\"\nimport AlarmsAssignDevicesController from \"./controllers/alarms/assign_devices_controller\"\nimport AlarmsCreateController from \"./controllers/alarms/create_controller\"\nimport AlarmsEditDevicesController from \"./controllers/alarms/edit_devices_controller\"\nimport ChartsAverageDailyUsageController from \"./controllers/charts/average_daily_usage_controller\"\nimport ChartsDailyUsageController from \"./controllers/charts/daily_usage_controller\"\nimport ChartsGroupAppUsageAllController from \"./controllers/charts/group_app_usage_all_controller\"\nimport ChartsGroupAppUsageController from \"./controllers/charts/group_app_usage_controller\"\nimport ChartsGroupAverageUsageController from \"./controllers/charts/group_average_usage_controller\"\nimport ChartsGroupMonthlyUsageController from \"./controllers/charts/group_monthly_usage_controller\"\nimport ChartsMonthlyUsageController from \"./controllers/charts/monthly_usage_controller\"\nimport ChartsMonthlyUsageGaugeController from \"./controllers/charts/monthly_usage_gague_controller\"\nimport ChartsRoamingCountriesController from \"./controllers/charts/roaming_countries_controller\"\nimport ChartsTopDataUsersController from \"./controllers/charts/top_data_users_controller\"\nimport ChartsTopRoamingUsersController from \"./controllers/charts/top_roaming_users_controller\"\nimport ChartsUsagePercentageController from \"./controllers/charts/usage_percentage_controller\"\nimport DealsLogicController from \"./controllers/deals/logic_controller\"\nimport DealsResultsController from \"./controllers/deals/results_controller\"\nimport DevicesAddAnotherController from \"./controllers/devices/add_another_controller\"\nimport DevicesAssignAlarmsController from \"./controllers/devices/assign_alarms_controller\"\nimport DevicesDataAllowanceController from \"./controllers/devices/data_allowance_controller\"\nimport DevicesDataAllowanceTotalsController from \"./controllers/devices/data_allowance_totals_controller\"\nimport DevicesDiscountController from \"./controllers/devices/discount_controller\"\nimport DevicesEditInlineController from \"./controllers/devices/edit_inline_controller\"\nimport DevicesFilterController from \"./controllers/devices/filter_controller\"\nimport DevicesPaymentDetailsController from \"./controllers/devices/payment_details_controller\"\nimport DevicesSelectAllController from \"./controllers/devices/select_all_controller\"\nimport DevicesSelectingAllowanceController from \"./controllers/devices/selecting_allowance_controller\"\nimport DevicesSwitchDeviceController from \"./controllers/devices/switch_device_controller\"\nimport DevicesTopUpListController from \"./controllers/devices/top_up_list_controller\"\nimport DevicesUpdateTopUpController from \"./controllers/devices/update_top_up_controller\"\nimport FormsDatepickerController from \"./controllers/forms/datepicker_controller\"\nimport FormsFileUploadController from \"./controllers/forms/file_upload_controller\"\nimport FormsListController from \"./controllers/forms/list_controller\"\nimport FormsMultiToggleController from \"./controllers/forms/multi_toggle_controller\"\nimport FormsMultiselectController from \"./controllers/forms/multiselect_controller\"\nimport FormsRemoteSubmitController from \"./controllers/forms/remote_submit_controller\"\nimport FormsSelectController from \"./controllers/forms/select_controller\"\nimport FormsSelectModalController from \"./controllers/forms/select_modal_controller\"\nimport FormsSendEmailController from \"./controllers/forms/send_email_controller\"\nimport FormsToggleContentController from \"./controllers/forms/toggle_content_controller\"\nimport FormsTogglePasswordController from \"./controllers/forms/toggle_password_controller\"\nimport FormsValidatorController from \"./controllers/forms/validator_controller\"\nimport NotificationsFilterController from \"./controllers/notifications/filter_controller\"\nimport UiAssignAllSwitchController from \"./controllers/ui/assign_all_switch_controller\"\nimport UiBackToTopController from \"./controllers/ui/back_to_top_controller\"\nimport UiExpandableTextController from \"./controllers/ui/expandable_text_controller\"\nimport UiFloatingActionButtonController from \"./controllers/ui/floating_action_button_controller\"\nimport UiHeaderNavigationButtonsController from \"./controllers/ui/header_navigation_buttons_controller\"\nimport UiMobileNavController from \"./controllers/ui/mobile_nav_controller\"\nimport UiModalController from \"./controllers/ui/modal_controller\"\nimport UiModalOpenController from \"./controllers/ui/modal_open_controller\"\nimport UiNotificationsController from \"./controllers/ui/notifications_controller\"\nimport UiSliderController from \"./controllers/ui/slider_controller\"\nimport UiStickyController from \"./controllers/ui/sticky_controller\"\nimport UiSwitchDeviceMenuController from \"./controllers/ui/switch_device_menu_controller\"\nimport UiTabsController from \"./controllers/ui/tabs_controller\"\nimport UiTextUpdateController from \"./controllers/ui/text_update_controller\"\nimport UiToolTipController from \"./controllers/ui/tool_tip_controller\"\nimport UiToolTipOpenController from \"./controllers/ui/tool_tip_open_controller\"\nimport UsersRegisterInterestController from \"./controllers/users/register_interest_controller\"\n\nconst application = Application.start()\nRails.start()\n\napplication.register(\"admin--order-by\", AdminOrderByController)\napplication.register(\"admin--resellers\", AdminResellersController)\napplication.register(\"alarms--assign-devices\", AlarmsAssignDevicesController)\napplication.register(\"alarms--create\", AlarmsCreateController)\napplication.register(\"alarms--edit-devices\", AlarmsEditDevicesController)\napplication.register(\"charts--average-daily-usage\", ChartsAverageDailyUsageController)\napplication.register(\"charts--daily-usage\", ChartsDailyUsageController)\napplication.register(\"charts--group-app-usage-all\", ChartsGroupAppUsageAllController)\napplication.register(\"charts--group-app-usage\", ChartsGroupAppUsageController)\napplication.register(\"charts--group-average-usage\", ChartsGroupAverageUsageController)\napplication.register(\"charts--group-monthly-usage\", ChartsGroupMonthlyUsageController)\napplication.register(\"charts--monthly-usage\", ChartsMonthlyUsageController)\napplication.register(\"charts--monthly-usage-gague\", ChartsMonthlyUsageGaugeController)\napplication.register(\"charts--roaming-countries\", ChartsRoamingCountriesController)\napplication.register(\"charts--top-data-users\", ChartsTopDataUsersController)\napplication.register(\"charts--top-roaming-users\", ChartsTopRoamingUsersController)\napplication.register(\"charts--usage-percentage\", ChartsUsagePercentageController)\napplication.register(\"deals--logic\", DealsLogicController)\napplication.register(\"deals--results\", DealsResultsController)\napplication.register(\"devices--add-another\", DevicesAddAnotherController)\napplication.register(\"devices--assign-alarms\", DevicesAssignAlarmsController)\napplication.register(\"devices--data-allowance\", DevicesDataAllowanceController)\napplication.register(\"devices--data-allowance-totals\", DevicesDataAllowanceTotalsController)\napplication.register(\"devices--discount\", DevicesDiscountController)\napplication.register(\"devices--edit-inline\", DevicesEditInlineController)\napplication.register(\"devices--filter\", DevicesFilterController)\napplication.register(\"devices--payment-details\", DevicesPaymentDetailsController)\napplication.register(\"devices--select-all\", DevicesSelectAllController)\napplication.register(\"devices--selecting-allowance\", DevicesSelectingAllowanceController)\napplication.register(\"devices--switch-device\", DevicesSwitchDeviceController)\napplication.register(\"devices--top-up-list\", DevicesTopUpListController)\napplication.register(\"devices--update-top-up\", DevicesUpdateTopUpController)\napplication.register(\"forms--datepicker\", FormsDatepickerController)\napplication.register(\"forms--file-upload\", FormsFileUploadController)\napplication.register(\"forms--list\", FormsListController)\napplication.register(\"forms--multi-toggle\", FormsMultiToggleController)\napplication.register(\"forms--multiselect\", FormsMultiselectController)\napplication.register(\"forms--remote-submit\", FormsRemoteSubmitController)\napplication.register(\"forms--select\", FormsSelectController)\napplication.register(\"forms--select-modal\", FormsSelectModalController)\napplication.register(\"forms--send-email\", FormsSendEmailController)\napplication.register(\"forms--toggle-content\", FormsToggleContentController)\napplication.register(\"forms--toggle-password\", FormsTogglePasswordController)\napplication.register(\"forms--validator\", FormsValidatorController)\napplication.register(\"notifications--filter\", NotificationsFilterController)\napplication.register(\"ui--assign-all-switch\", UiAssignAllSwitchController)\napplication.register(\"ui--back-to-top\", UiBackToTopController)\napplication.register(\"ui--expandable-text\", UiExpandableTextController)\napplication.register(\"ui--floating-action-button\", UiFloatingActionButtonController)\napplication.register(\"ui--header-navigation-buttons\", UiHeaderNavigationButtonsController)\napplication.register(\"ui--mobile-nav\", UiMobileNavController)\napplication.register(\"ui--modal\", UiModalController)\napplication.register(\"ui--modal-open\", UiModalOpenController)\napplication.register(\"ui--notifications\", UiNotificationsController)\napplication.register(\"ui--slider\", UiSliderController)\napplication.register(\"ui--sticky\", UiStickyController)\napplication.register(\"ui--switch-device-menu\", UiSwitchDeviceMenuController)\napplication.register(\"ui--tabs\", UiTabsController)\napplication.register(\"ui--text-update\", UiTextUpdateController)\napplication.register(\"ui--tool-tip\", UiToolTipController)\napplication.register(\"ui--tool-tip-open\", UiToolTipOpenController)\napplication.register(\"users--register-interest\", UsersRegisterInterestController)\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\n\nexport default class extends Controller {\n static targets = ['list'];\n\n onChange(e) {\n e.preventDefault();\n const data = { order: e.target.value };\n this.path = e.target.getAttribute('data-path');\n this.orderData(data);\n }\n\n private;\n orderData(data) {\n const url = this.path;\n let fetchData = {\n method: 'POST',\n body: JSON.stringify(data),\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n fetch(url, fetchData)\n .then((response) => {\n return response.text();\n })\n .catch((error) => console.error('Error:', error))\n .then((data) => {\n this.listTarget.innerHTML = data;\n });\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\n\nexport default class extends Controller {\n static targets = ['order', 'search', 'list'];\n\n clients(ev) {\n const data = {\n query: this.searchTarget.value,\n order: this.orderTarget.value\n };\n const url = `${location.href}/clients`;\n const fetchData = {\n method: 'POST',\n body: JSON.stringify(data),\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n\n fetch(url, fetchData)\n .then((response) => {\n return response.text();\n })\n .then((data) => {\n this.listTarget.innerHTML = data;\n });\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\n\nexport default class extends Controller {\n static targets = [\n 'alarmFilter',\n 'tagFilter',\n 'orderFilter',\n 'device',\n 'devicesField',\n 'list',\n 'assignAllSwitch'\n ];\n\n initialize() {\n this.alarmId = this.element.getAttribute('data-alarm-id');\n this.allDeviceIds = JSON.parse(\n this.assignAllSwitchTarget.getAttribute('data-all-devices')\n );\n this.selectedDeviceIds =\n JSON.parse(this.element.getAttribute('data-selected-devices')) || [];\n this.setupCheckboxes();\n }\n\n onChange(e) {\n let data = this.setData();\n this.filter(data, e);\n }\n\n onDeviceSelect(e) {\n let selectedId = parseInt(e.target.value);\n if (e.target.checked) {\n this.selectedDeviceIds.push(selectedId);\n } else {\n this.selectedDeviceIds = this.selectedDeviceIds.filter(\n (id) => id !== selectedId\n );\n }\n this.devicesFieldTarget.value = this.selectedDeviceIds.map((id) =>\n id.toString()\n );\n }\n\n onDeviceSelectAll(e) {\n let selectedIds = this.allDeviceIds;\n if (e.target.checked) {\n selectedIds.forEach((selectedId) =>\n this.selectedDeviceIds.push(selectedId)\n );\n } else {\n selectedIds.forEach(\n (selectedId) =>\n (this.selectedDeviceIds = this.selectedDeviceIds.filter(\n (id) => id !== selectedId\n ))\n );\n }\n this.devicesFieldTarget.value = this.selectedDeviceIds.map((id) =>\n id.toString()\n );\n }\n\n onAjaxSuccess(e) {\n let [_data, _status, xhr] = e.detail;\n this.updateDevicesList(xhr.response);\n e.stopPropagation();\n }\n\n private;\n\n filter(data, e) {\n let url = '/alarms/filter_devices';\n let fetchData = {\n method: 'POST',\n body: JSON.stringify(data),\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n fetch(url, fetchData)\n .then((response) => {\n return response.text();\n })\n .then((data) => {\n this.updateDevicesList(data);\n });\n }\n\n updateDevicesList(data) {\n this.listTarget.innerHTML = data;\n this.allDeviceIds = JSON.parse(\n this.assignAllSwitchTarget.getAttribute('data-all-devices')\n );\n this.devicesFieldTarget.value = this.selectedDeviceIds.map((id) =>\n id.toString()\n );\n this.setupSelectAllCheckbox();\n this.setupCheckboxes();\n }\n\n setData() {\n return {\n id: this.alarmId,\n alarm_id: this.alarmFilterTarget.value,\n tag_id: this.tagFilterTarget.value,\n order: this.orderFilterTarget.value\n };\n }\n\n setupCheckboxes() {\n this.deviceTargets.find((target) => {\n target.checked = this.selectedDeviceIds.includes(parseInt(target.value));\n });\n }\n\n setupSelectAllCheckbox() {\n this.assignAllSwitchTarget.checked =\n this.selectedDeviceIds.length === this.allDeviceIds.length;\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"formStep\", \"wizardStep\", \"wizardStepLink\", \"previousStep\", \"nextStep\", \"alarmCreation\", \"alarmAssignment\"]\n\n initialize() {\n this.resetSteps();\n this.showFormStepContent();\n this.initializeWizardSteps();\n }\n\n onClickWizardStep(e) {\n this.currentStepIndex = parseInt(e.currentTarget.getAttribute('data-index'));\n this.showFormStepContent();\n this.updateActiveWizardStep();\n this.validatorController.validate();\n if (this.currentStepIndex == 0) {\n this.hidePreviousStep();\n } else {\n this.showPreviousStep();\n }\n }\n\n onClickPreviousStep() {\n this.currentStepIndex -= 1;\n this.showFormStepContent();\n this.updateActiveWizardStep();\n if (this.currentStepIndex == 0) {\n this.hidePreviousStep();\n }\n this.validatorController.validate();\n }\n\n onClickNextStep(e) {\n if (this.wizardStepLinkTargets.length == this.currentStepIndex + 1) {\n return;\n } else {\n e.preventDefault()\n }\n this.completeCurrentStep();\n this.currentStepIndex += 1;\n this.showFormStepContent();\n if (this.currentStepIndex == 1) {\n this.showPreviousStep();\n }\n this.validatorController.validate();\n this.nextStepTarget.blur()\n }\n\n clearPlaceholder(e) {\n e.currentTarget.placeholder = \"\";\n }\n\n resetPlaceholder(e) {\n e.currentTarget.placeholder = e.currentTarget.getAttribute('data-placeholder-text');\n }\n\n private\n\n showFormStepContent() {\n this.showAlarmAssignmentOnLastStep();\n this.formStepTargets.forEach(formStep => {\n let showWhenIndex = formStep.getAttribute('data-show-when-wizard-index');\n if (showWhenIndex == this.currentStepIndex) {\n formStep.classList.remove('is-hidden');\n } else {\n formStep.classList.add('is-hidden');\n }\n });\n }\n\n initializeWizardSteps() {\n this.wizardStepTargets.forEach((step, stepIndex) => {\n if (stepIndex == this.currentStepIndex) {\n step.classList.add('is-active');\n } else {\n step.classList.remove('is-active');\n step.classList.add('is-disabled');\n this.wizardStepLinkTargets[stepIndex].setAttribute('disabled', 'disabled');\n }\n });\n }\n\n updateActiveWizardStep() {\n this.wizardStepTargets.forEach((step, stepIndex) => {\n if(stepIndex == this.currentStepIndex) {\n step.classList.add('is-active');\n } else {\n step.classList.remove('is-active');\n }\n });\n }\n\n completeCurrentStep() {\n this.wizardStepTargets.forEach((step, stepIndex) => {\n if (stepIndex == this.currentStepIndex) {\n step.classList.add('is-complete');\n step.classList.remove('is-active');\n }\n else if (stepIndex == this.currentStepIndex + 1) {\n this.wizardStepLinkTargets[stepIndex].removeAttribute('disabled', 'disabled');\n step.classList.remove('is-disabled');\n step.classList.add('is-active');\n }\n });\n }\n\n hidePreviousStep() {\n this.previousStepTarget.classList.add('is-hidden');\n }\n\n showPreviousStep() {\n this.previousStepTarget.classList.remove('is-hidden');\n }\n\n resetSteps() {\n this.currentStepIndex = 0;\n this.hidePreviousStep();\n }\n\n showAlarmAssignmentOnLastStep() {\n let nextStepTextElement = this.nextStepTarget.querySelector('span');\n if (this.currentStepIndex == this.wizardStepLinkTargets.length - 1) {\n this.alarmCreationTarget.classList.add('is-hidden')\n this.alarmAssignmentTarget.classList.remove('is-hidden')\n nextStepTextElement.textContent = nextStepTextElement.getAttribute('data-finish-step-text')\n } else {\n this.alarmCreationTarget.classList.remove('is-hidden')\n this.alarmAssignmentTarget.classList.add('is-hidden')\n nextStepTextElement.textContent = nextStepTextElement.getAttribute('data-next-step-text')\n }\n }\n\n get validatorController() {\n return this.application.getControllerForElementAndIdentifier(this.element, \"forms--validator\");\n }\n}\n", "import {\n Controller\n} from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"assignDeviceSwitch\", \"submitButton\"]\n\n initialize() {\n this.submitEnabled = false\n this.submitButtonTarget.setAttribute('disabled', 'disabled')\n console.log(this.submitEnabled)\n }\n\n enableSubmit() {\n if (this.submitEnabled) {\n console.log('do nothing')\n return;\n }\n this.submitButtonTarget.removeAttribute('disabled');\n console.log('enabled')\n this.submitEnabled = true\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\nimport c3 from 'c3';\nimport moment from 'moment';\nimport {\n utcDateFormat,\n humanFileSize,\n renderAppUsageList,\n showLoading,\n hideLoading\n} from './helpers';\n\nexport default class extends Controller {\n static targets = [\n 'monthSelect',\n 'chart',\n 'appUsageList',\n 'totalText',\n 'loadingIcon',\n 'individualUsageKey',\n 'groupUsageKey',\n 'topUpUsageKey',\n 'previousLimitKey'\n ];\n\n initialize() {\n this.deviceId = this.element.getAttribute('data-device-id');\n this.monthlyDataAllowance = this.element.getAttribute(\n 'data-monthly-data-allowance'\n );\n this.monthlyDataLimit = this.element.getAttribute(\n 'data-monthly-data-limit'\n );\n this.appView = this.element.getAttribute('data-app-view');\n this.fetchAverageDailyData();\n }\n\n onChangeMonthSelect() {\n this.fetchAverageDailyData();\n }\n\n onClickAverageDataTab() {\n this.dailyUsageController.hide();\n this.monthlyUsageController.show();\n }\n\n private;\n\n buildFetchDataURL() {\n if (this.appView == 'yes') {\n return `/mobile/average_usage.json?start_date=${this.startDate.format(\n utcDateFormat\n )}&end_date=${this.endDate.format(utcDateFormat)}`;\n }\n return `/devices/${\n this.deviceId\n }/average_usage.json?start_date=${this.startDate.format(\n utcDateFormat\n )}&end_date=${this.endDate.format(utcDateFormat)}`;\n }\n\n fetchAverageDailyData() {\n showLoading(this.loadingIconTarget, this.chartTarget);\n let fetchData = {\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n\n let url = this.buildFetchDataURL();\n fetch(url, fetchData)\n .then((response) => {\n return response.json();\n })\n .catch((error) => console.error('Error:', error))\n .then((data) => {\n this.generateChart(data);\n if (data.is_android) {\n renderAppUsageList(\n this.appUsageListTarget,\n this.totalTextTarget,\n data.app_usage\n );\n this.monthlyUsageController.renderAppUsageList(data.app_usage);\n }\n });\n }\n\n generateChart(data) {\n this.calculateChartData(data);\n\n let x = ['x'].concat(this.days);\n let yIndividual = ['Individual Data Usage'].concat(this.individualUsage);\n\n let yCurrentAverageLimit = ['Current Average Usage Limit'].concat(\n this.currentAverageLimit\n );\n let yPreviousAverageLimit = ['Previous Average Usage Limit'].concat(\n this.previousAverageLimit\n );\n\n let yMonthlyLimit = ['Monthly Data Limit'];\n this.days.forEach(() => {\n yMonthlyLimit.push(this.monthlyDataLimitValue);\n });\n let yGroup = ['Group Data Usage'].concat(this.groupUsage);\n let yTopUp = ['Top Up Data Usage'].concat(this.topUpUsage);\n let yExceeded = ['Exceeding Usage'].concat(this.exceedingDataUsage);\n\n let chart = c3.generate({\n size: {\n height: 300\n },\n padding: {\n top: 5\n },\n data: {\n x: 'x',\n columns: [\n x,\n yIndividual,\n yCurrentAverageLimit,\n yMonthlyLimit,\n yGroup,\n yTopUp,\n yExceeded,\n yPreviousAverageLimit\n ],\n type: 'bar',\n types: {\n 'Current Average Usage Limit': 'line',\n 'Monthly Data Limit': 'line',\n 'Previous Average Usage Limit': 'line'\n },\n colors: {\n 'Current Average Usage Limit': '#E54253',\n 'Monthly Data Limit': '#F9B226',\n 'Previous Average Usage Limit': '#A4A6B6',\n 'Individual Data Usage': '#73CFDE',\n 'Group Data Usage': '#10517B',\n 'Top Up Data Usage': '#8DBF22',\n 'Exceeding Usage': '#E54253'\n },\n groups: [\n [\n 'Individual Data Usage',\n 'Top Up Data Usage',\n 'Group Data Usage',\n 'Exceeding Usage'\n ]\n ],\n order: [\n 'Individual Data Usage',\n 'Top Up Data Usage',\n 'Group Data Usage',\n 'Exceeding Usage'\n ]\n },\n axis: {\n x: {\n padding: {\n left: 0\n },\n height: 45,\n label: {\n text: this.getMonthText(),\n position: 'outer-center'\n },\n tick: {\n culling: false,\n format: '%-d',\n outer: false\n },\n type: 'timeseries'\n },\n y: {\n tick: {\n format: (d) => {\n return humanFileSize(d, 2);\n },\n outer: false\n }\n }\n },\n bar: {\n width: {\n ratio: 0.9\n }\n },\n grid: {\n x: {\n lines: this.topUpDates\n },\n focus: {\n show: false\n },\n lines: {\n front: false\n }\n },\n legend: {\n show: false\n },\n point: {\n focus: {\n expand: {\n r: 4\n }\n },\n r: 0,\n show: true\n },\n tooltip: {\n contents: (usageData) => {\n return this.tooltipTemplate(usageData);\n }\n },\n transition: {\n duration: 0\n },\n bindto: this.chartTarget\n });\n\n chart.load({\n done: () => {\n this.addZeroValueBarLines();\n hideLoading(this.loadingIconTarget, this.chartTarget);\n this.updateKey(\n this.individualUsage,\n this.groupUsage,\n this.previousAverageLimit\n );\n }\n });\n }\n\n calculateChartData(data) {\n let noDaysInPeriod = this.endDate.diff(this.startDate, 'days');\n this.topUps = data.top_ups;\n this.topUpDates = [];\n this.topUps.forEach((topUp) => {\n if (topUp.changed_at) {\n this.topUpDates.push({\n value: moment(topUp.changed_at).startOf('day')\n });\n }\n });\n this.days = [];\n this.calculateAverageLimits(data);\n this.individualUsage = [];\n this.groupUsage = [];\n this.topUpUsage = [];\n this.exceedingDataUsage = [];\n this.runningTotal = 0;\n this.individualDataAllowance = data.individual_data_allowance;\n let today = moment().endOf('day');\n this.monthlyDataLimitValue = (\n this.monthlyDataAllowance * this.monthlyDataLimit\n ).toFixed();\n\n for (let i = 0; i < noDaysInPeriod + 1; i++) {\n this.day = moment(this.startDate).add(i, 'days');\n this.days.push(this.day);\n this.topUpAmount = this.calculateTopUpAmount(this.topUps, this.day);\n this.runningTotal += data.usage[i].y || 0;\n if (this.day.isAfter(today)) {\n this.individualUsage.push(null);\n this.groupUsage.push(null);\n this.exceedingDataUsage.push(null);\n this.topUpUsage.push(null);\n } else {\n this.calculateLowestLimit(i);\n if (!this.totalUsageExceedsLimits) {\n this.exceedingDataUsage.push(0);\n if (!this.totalUsageExceedsIndividualAllowance) {\n this.individualUsage.push(this.runningTotal);\n this.groupUsage.push(0);\n this.topUpUsage.push(0);\n } else if (this.noCurrentTopUp) {\n this.individualUsage.push(this.individualDataAllowance);\n this.groupUsage.push(\n this.runningTotal - this.individualDataAllowance\n );\n this.topUpUsage.push(0);\n } else {\n if (!this.totalUsageExceedsTopUpAndIndividualAllowance) {\n this.individualUsage.push(this.individualDataAllowance);\n this.groupUsage.push(0);\n this.topUpUsage.push(\n this.runningTotal - this.individualDataAllowance\n );\n } else {\n this.individualUsage.push(this.individualDataAllowance);\n this.groupUsage.push(\n this.runningTotal -\n (this.topUpAmount + this.individualDataAllowance)\n );\n this.topUpUsage.push(this.topUpAmount);\n }\n }\n } else {\n this.exceedingDataUsage.push(\n this.runningTotal - this.lowestDataValue\n );\n if (this.individualUsageExceedsIndividualAllowance) {\n this.individualUsage.push(this.lowestDataValue);\n this.groupUsage.push(0);\n this.topUpUsage.push(0);\n } else if (this.noCurrentTopUp) {\n this.individualUsage.push(this.individualDataAllowance);\n this.groupUsage.push(\n this.lowestDataValue - this.individualDataAllowance\n );\n this.topUpUsage.push(0);\n } else {\n if (this.topUpAndIndividualUsageExceedsLimits) {\n this.individualUsage.push(this.individualDataAllowance);\n this.groupUsage.push(0);\n this.topUpUsage.push(\n this.lowestDataValue - this.individualDataAllowance\n );\n } else {\n this.individualUsage.push(this.individualDataAllowance);\n this.groupUsage.push(\n this.lowestDataValue -\n (this.individualDataAllowance + this.topUpAmount)\n );\n this.topUpUsage.push(this.topUpAmount);\n }\n }\n }\n }\n }\n }\n\n calculateAverageLimits(data) {\n this.previousAverageLimit = [];\n this.currentAverageLimit = [];\n if (this.noTopUps) {\n data.current_average_limits.forEach((limit) => {\n this.currentAverageLimit.push(limit.y.toFixed(2));\n });\n data.current_average_limits.forEach(() => {\n this.previousAverageLimit.push(null);\n });\n } else {\n const latestTopUpDay = moment(this.topUpDates[0].value).get('date');\n const latestTopUpDate = moment(this.topUpDates[0].value);\n let latestTopUpStarted = false;\n if (latestTopUpDate.isBefore(this.startDate)) {\n latestTopUpStarted = true;\n }\n data.current_average_limits.forEach((limit) => {\n if (limit.x == latestTopUpDay) {\n latestTopUpStarted = true;\n }\n if (latestTopUpStarted) {\n this.currentAverageLimit.push(limit.y.toFixed(2));\n } else {\n this.currentAverageLimit.push(null);\n }\n });\n if (data.original_average_limits != null) {\n data.original_average_limits.forEach((limit) => {\n this.previousAverageLimit.push(limit.y.toFixed(2));\n });\n }\n }\n }\n\n calculateLowestLimit(day) {\n this.averageLimit = 0;\n if (this.noTopUps || !this.day.isBefore(this.topUpDates[0].value)) {\n this.averageLimit = this.currentAverageLimit[day];\n } else {\n this.averageLimit = this.previousAverageLimit[day];\n }\n this.lowestDataValue = Math.min(\n this.averageLimit,\n this.monthlyDataLimitValue\n );\n }\n\n addZeroValueBarLines() {\n let zeroValueBarClasses = [];\n d3.selectAll('.c3-event-rect').classed('zero-data-bar', (d, index) => {\n if (d.value === 0) {\n zeroValueBarClasses.push('.c3-bar-' + index);\n return d;\n }\n });\n\n for (let i = 0; i < zeroValueBarClasses.length; i++) {\n d3.select(zeroValueBarClasses[i]).attr('style', 'stroke-width: 2px');\n }\n }\n\n updateKey(individual, group, previousDataLimit) {\n if (individual.some(this.greaterThanZero)) {\n this.individualUsageKeyTarget.classList.remove('is-hidden');\n } else {\n this.individualUsageKeyTarget.classList.add('is-hidden');\n }\n if (group.some(this.greaterThanZero)) {\n this.groupUsageKeyTarget.classList.remove('is-hidden');\n } else {\n this.groupUsageKeyTarget.classList.add('is-hidden');\n }\n if (this.noTopUps) {\n this.topUpUsageKeyTarget.classList.add('is-hidden');\n } else {\n this.topUpUsageKeyTarget.classList.remove('is-hidden');\n }\n if (previousDataLimit.some(this.greaterThanZero)) {\n this.previousLimitKeyTarget.classList.remove('is-hidden');\n } else {\n this.previousLimitKeyTarget.classList.add('is-hidden');\n }\n }\n\n greaterThanZero(n) {\n return n > 0;\n }\n\n calculateTopUpAmount(topUps, day) {\n let currentTopUp =\n topUps.find((topUp) => {\n return !day.isBefore(moment(topUp.changed_at).startOf('day'));\n }) || 0;\n return currentTopUp.data_allowance || 0;\n }\n\n getMonthText() {\n return this.monthSelectTarget.options[this.monthSelectTarget.selectedIndex]\n .label;\n }\n\n tooltipTemplate(usageData) {\n return `\n
\n
\n \n Average Data Usage Allowance\n \n \n ${this.getCurrentAverageLimit(usageData)}\n \n
\n ${this.usageBreakdown(usageData)}\n
\n `;\n }\n\n getCurrentAverageLimit(usageData) {\n const currentDay = moment(usageData[0].x).startOf('day');\n if (this.noTopUps || !this.topUpDates[0].value.isAfter(currentDay)) {\n return `${humanFileSize(usageData[1].value || 0, 2)}`;\n } else {\n return `${humanFileSize(usageData[6].value || 0, 2)}`;\n }\n }\n\n usageBreakdown(usageData) {\n const totalUsage = this.totalUsage(usageData);\n const currentDay = moment(usageData[0].x).startOf('day');\n const currentTopUpAmount = this.calculateTopUpAmount(\n this.topUps,\n currentDay\n );\n const individualUsage = Math.min(this.individualDataAllowance, totalUsage);\n let topUpUsage = 0;\n let groupUsage = 0;\n let remainder = totalUsage - individualUsage;\n if (remainder > 0) {\n topUpUsage = Math.min(currentTopUpAmount, remainder);\n remainder -= topUpUsage;\n if (remainder > 0) {\n groupUsage = remainder;\n }\n }\n return this.generateBreakdownTemplate(\n totalUsage,\n individualUsage,\n topUpUsage,\n groupUsage\n );\n }\n\n generateBreakdownTemplate(\n totalUsage,\n individualUsage,\n topUpUsage,\n groupUsage\n ) {\n let template = '';\n if (totalUsage > 0) {\n template += this.dataUsageTemplate('Total data usage', totalUsage);\n }\n if (individualUsage > 0) {\n template += this.dataUsageTemplate(\n 'Individual Data Usage',\n individualUsage\n );\n }\n if (topUpUsage > 0) {\n template += this.dataUsageTemplate('Top Up Usage', topUpUsage);\n }\n if (groupUsage > 0) {\n template += this.dataUsageTemplate('Group Data Usage', groupUsage);\n }\n return template;\n }\n\n totalUsage(usageData) {\n const individualData = usageData[0];\n const groupData = usageData[3];\n const topUpData = usageData[4];\n const exceededAllowance = usageData[5];\n return (\n individualData.value +\n groupData.value +\n topUpData.value +\n exceededAllowance.value\n );\n }\n\n dataUsageTemplate(label, dataUsage) {\n return `\n
\n \n ${label}\n \n \n ${humanFileSize(dataUsage, 2)}\n \n
\n `;\n }\n\n get noTopUps() {\n return this.topUpDates.length === 0;\n }\n\n get totalUsageExceedsLimits() {\n return this.runningTotal > this.lowestDataValue;\n }\n\n get totalUsageExceedsIndividualAllowance() {\n return this.runningTotal > this.individualDataAllowance;\n }\n\n get noCurrentTopUp() {\n return this.topUpAmount === 0;\n }\n\n get totalUsageExceedsTopUpAndIndividualAllowance() {\n return this.topUpAmount < this.runningTotal - this.individualDataAllowance;\n }\n\n get individualUsageExceedsIndividualAllowance() {\n return this.lowestDataValue < this.individualDataAllowance;\n }\n\n get topUpAndIndividualUsageExceedsLimits() {\n return (\n this.topUpAmount + this.individualDataAllowance > this.lowestDataValue\n );\n }\n\n get monthlyUsageController() {\n return this.application.getControllerForElementAndIdentifier(\n this.element,\n 'charts--monthly-usage'\n );\n }\n\n get dailyUsageController() {\n return this.application.getControllerForElementAndIdentifier(\n this.element,\n 'charts--daily-usage'\n );\n }\n\n get startDate() {\n return moment(this.monthSelectTarget.value).startOf('day');\n }\n\n get endDate() {\n return moment(this.startDate)\n .add(1, 'month')\n .subtract(1, 'day')\n .endOf('day');\n }\n}\n", "import moment from \"moment\"\n\nexport const utcDateFormat = \"YYYY-MM-DD HH:mm:ss\";\n\nexport function humanFileSize(bytes, precision) {\n let thresh = 1000;\n if (bytes < thresh) return bytes + ' B';\n let units = ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n let u = -1;\n do {\n bytes /= thresh;\n ++u;\n } while (bytes >= thresh);\n\n if(Math.round(bytes !== Number(bytes.toFixed(precision)))) {\n return bytes.toFixed(precision) + units[u];\n }\n return bytes + units[u];\n}\n\nexport function dataValues(key, points) {\n return points.map(function (point) {\n let date = moment.utc(point.timestamp*1000).format(utcDateFormat);\n return {\n x: moment(date),\n y: point[key],\n shape: \"circle\"\n };\n });\n}\n\nexport function renderAppUsageList(listElement, totalTextElement, dataUsageItems) {\n let fullTotal = 0;\n let appUsageListItemsHTML = `

No Data Available

`\n if (dataUsageItems.length > 0) {\n fullTotal = dataUsageItems.reduce((accumulator, dataUsageItem) => {\n return dataUsageItem.total + accumulator;\n }, 0);\n let highestDataUsageTotal = dataUsageItems[0].total;\n appUsageListItemsHTML = dataUsageItems.map((dataUsageItem) => {\n let percentage = (dataUsageItem.total / highestDataUsageTotal) * 100;\n return renderAppUsageItem(dataUsageItem.name, humanFileSize(dataUsageItem.total, 2), percentage)\n }).join('');\n }\n totalTextElement.innerText = humanFileSize(fullTotal, 2);\n listElement.innerHTML = appUsageListItemsHTML;\n}\n\nexport function renderAppUsageItem(name, dataUsage, percentage) {\n return `\n
  • \n \n \n ${name}\n \n \n ${dataUsage}\n \n \n
    \n
    \n
    \n
  • \n `\n}\n\nexport function showLoading(icon, chart) {\n chart.classList.add(\"is-invisible\");\n icon.classList.remove(\"is-hidden\");\n icon.classList.add(\"is-spinning\");\n}\n\nexport function hideLoading(icon, chart) {\n chart.classList.remove(\"is-invisible\");\n icon.classList.add(\"is-hidden\");\n icon.classList.remove(\"is-spinning\");\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\nimport nv from 'nvd3';\nimport moment from 'moment';\nimport 'moment-timezone';\nimport {\n utcDateFormat,\n dataValues,\n humanFileSize,\n renderAppUsageList,\n showLoading,\n hideLoading\n} from './helpers';\nimport { dispatchEvent } from '../../helpers';\n\nexport default class extends Controller {\n static targets = [\n 'datepicker',\n 'daySelectContainer',\n 'chartContainer',\n 'chart',\n 'appUsageList',\n 'totalText',\n 'loadingIcon'\n ];\n\n initialize() {\n this.deviceId = this.element.getAttribute('data-device-id');\n this.appView = this.element.getAttribute('data-app-view');\n }\n\n show() {\n this.chartContainerTarget.classList.remove('is-hidden');\n this.daySelectContainerTarget.classList.remove('is-hidden');\n dispatchEvent(window, 'resize');\n }\n\n hide() {\n this.chartContainerTarget.classList.add('is-hidden');\n this.daySelectContainerTarget.classList.add('is-hidden');\n }\n\n onChangeDaySelect() {\n this.fetchDailyData();\n }\n\n onClickNextDay(e) {\n e.preventDefault();\n let nextDate = this.currentDate.add(1, 'day');\n let maxDate = this.datepickerController.maxDate;\n if (nextDate.isBefore(maxDate.add(1, 'day'))) {\n this.datepickerController.fp.setDate(nextDate.format(), true);\n }\n }\n\n onClickPreviousDay(e) {\n e.preventDefault();\n let previousDate = this.currentDate.subtract(1, 'day');\n let minDate = this.datepickerController.minDate;\n if (previousDate.isAfter(minDate.subtract(1, 'day'))) {\n this.datepickerController.fp.setDate(previousDate.format(), true);\n }\n }\n\n onClickViewMonthButton(e) {\n e.preventDefault();\n this.hide();\n this.showTooltip();\n this.monthlyUsageController.show();\n }\n\n setDaySelectValue(date) {\n this.datepickerController.fp.setDate(date);\n }\n\n fetchDailyData() {\n showLoading(this.loadingIconTarget, this.chartTarget);\n let fetchData = {\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n let url = this.buildFetchDataURL();\n fetch(url, fetchData)\n .then((response) => {\n return response.json();\n })\n .catch((error) => console.error('Error:', error))\n .then((data) => {\n this.deleteChart();\n this.generateChart(data);\n if (data.is_android) {\n renderAppUsageList(\n this.appUsageListTarget,\n this.totalTextTarget,\n data.totals\n );\n }\n });\n }\n\n private;\n\n buildFetchDataURL() {\n let date = this.currentDate.format(utcDateFormat);\n if (this.appView == 'yes') {\n return `/mobile/app_usage.json?date=${encodeURIComponent(date)}`;\n }\n return `/devices/${this.deviceId}/app_usage.json?date=${encodeURIComponent(\n date\n )}`;\n }\n\n generateChart(data) {\n var dateSplit = this.datepickerTarget.value.split('-').map(function(i) {\n return parseInt(i);\n });\n var minDate = new Date(dateSplit[0], dateSplit[1] - 1, dateSplit[2]);\n var maxDate = new Date(dateSplit[0], dateSplit[1] - 1, dateSplit[2]);\n maxDate.setHours(23);\n maxDate.setMinutes(59);\n maxDate.setSeconds(59);\n\n var maxY = d3.max(data.points, function(d) {\n return d.total;\n });\n if (maxY === 0) {\n maxY = 1;\n }\n maxY = maxY + maxY * 0.1;\n nv.addGraph({\n generate: () => {\n var chart = nv.models\n .lineChart()\n .noData('No data available')\n .margin({ top: 20, right: 20, bottom: 50, left: 65 })\n .useInteractiveGuideline(true)\n .showLegend(false)\n .showYAxis(true)\n .showXAxis(true)\n .height(300)\n .duration(100)\n .forceX([minDate, maxDate])\n .forceY([0, maxY])\n .pointSize(50)\n .xScale(d3.time.scale());\n\n this.generateToolTip(chart, data.points, data.timezone);\n\n if (data.points.length) {\n this.showTooltip();\n } else {\n this.hideTooltip();\n }\n\n chart.xAxis\n .axisLabel('TIME OF DAY')\n .domain([minDate, maxDate])\n .ticks(14)\n .showMaxMin(true)\n .tickFormat(function(d) {\n var date = new Date(d);\n if (\n date.getHours() % 2 == 0 ||\n date.getTime() == maxDate.getTime()\n ) {\n return d3.time.format('%H:%M')(new Date(d));\n }\n return '';\n });\n\n chart.yAxis\n .axisLabel('AMOUNT OF DATA')\n .axisLabelDistance(3)\n .tickFormat(function(d) {\n return humanFileSize(d, 2);\n });\n\n chart.yAxis.tickPadding(12);\n chart.xAxis.tickPadding(12);\n\n var chartData = [];\n if (data.is_android) {\n chartData.push({\n values: dataValues('background_total', data.points),\n key: 'Background data',\n color: '#A4A6B6',\n classed: 'dashed background-total',\n strokeWidth: 2\n });\n chartData.push({\n values: dataValues('foreground_total', data.points),\n key: 'Foreground data',\n color: '#1A1E40',\n classed: 'dashed foreground-total',\n strokeWidth: 2\n });\n }\n chartData.push({\n values: dataValues('total', data.points),\n key: 'Total data',\n color: '#1A1E40',\n classed: 'total-data',\n strokeWidth: 2.5\n });\n\n d3.select(this.chartTarget)\n .datum(chartData)\n .call(chart);\n\n nv.utils.windowResize(() => {\n chart.update();\n });\n return chart;\n },\n callback: () => {\n hideLoading(this.loadingIconTarget, this.chartTarget);\n }\n });\n }\n\n generateToolTip(chart, points, timezone) {\n chart.interactiveLayer.tooltip.contentGenerator((obj) => {\n let data = points[obj.index];\n if (!data) return '';\n let utc_time = moment.utc(data.timestamp * 1000).format('HH:mm');\n let home_time = moment\n .tz(data.timestamp * 1000, timezone)\n .format('HH:mm');\n return `\n
    \n
    \n ${data.country}\n
    \n
    \n \n UTC\n \n \n ${utc_time}\n \n
    \n
    \n \n HOME TIME ZONE\n \n \n ${home_time}\n \n
    \n
      \n ${this.renderToolTipTotals(data)}\n
    \n
    \n `;\n });\n }\n\n renderToolTipTotals(data) {\n if (data.app_usage.length == 0) {\n return `\n
  • \n \n Total\n \n \n ${humanFileSize(data.total, 2)}\n \n
  • \n `;\n }\n return data.app_usage\n .map(\n (dataItem) =>\n `\n
  • \n \n ${dataItem.name}\n \n \n ${humanFileSize(dataItem.total, 2)}\n \n
  • \n `\n )\n .join('');\n }\n\n hideTooltip() {\n d3.selectAll('.nvtooltip').classed('is-hidden', true);\n }\n\n showTooltip() {\n d3.selectAll('.nvtooltip').classed('is-hidden', false);\n }\n\n deleteChart() {\n d3.selectAll('.nvd3-chart-daily > *').remove();\n d3.selectAll('.nv-interactive').remove();\n }\n\n get currentDate() {\n return moment(this.datepickerController.fp.selectedDates[0]).startOf('day');\n }\n\n get monthlyUsageController() {\n return this.application.getControllerForElementAndIdentifier(\n this.element,\n 'charts--monthly-usage'\n );\n }\n\n get datepickerController() {\n return this.application.getControllerForElementAndIdentifier(\n this.datepickerTarget,\n 'forms--datepicker'\n );\n }\n}\n", "export function dispatchEvent(target, type) {\n if(typeof(Event) === 'function') {\n var event = new Event(type);\n } else {\n var event = document.createEvent('Event');\n event.initEvent(type, true, true);\n }\n setTimeout(() => {\n target.dispatchEvent(event);\n });\n}\n\nexport function removeElement(element) {\n if(typeof element.remove=='function') {\n element.remove();\n }\n else {\n element.outerHTML = \"\";\n }\n}\n\nexport function deleteFromArray(array, element) {\n const index = array.indexOf(element);\n if (index !== -1) {\n array.splice(index, 1);\n }\n}\n\nexport function listenForClickOffElement(element, callback) {\n document.addEventListener(\"click\", (e) => {\n let targetElement = e.target;\n do {\n if(targetElement == element) {\n return;\n }\n targetElement = targetElement.parentNode;\n } while (targetElement);\n callback();\n });\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\n\nimport moment from 'moment';\nimport {\n utcDateFormat,\n renderAppUsageList,\n showLoading,\n hideLoading\n} from './helpers';\n\nexport default class extends Controller {\n static targets = ['monthSelect', 'appUsageList', 'totalText', 'loadingIcon'];\n\n initialize() {\n this.fetchAppUsageData();\n }\n\n onChangeMonthSelect() {\n this.fetchAppUsageData();\n }\n\n private;\n\n buildFetchDataURL() {\n return `/dashboard/app_usage.json?start_date=${this.startDate.format(\n utcDateFormat\n )}&end_date=${this.endDate.format(utcDateFormat)}`;\n }\n\n fetchAppUsageData() {\n showLoading(this.loadingIconTarget, this.appUsageListTarget);\n let fetchData = {\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n let url = this.buildFetchDataURL();\n fetch(url, fetchData)\n .then((response) => {\n return response.json();\n })\n .catch((error) => console.error('Error:', error))\n .then((data) => {\n hideLoading(this.loadingIconTarget, this.appUsageListTarget);\n renderAppUsageList(\n this.appUsageListTarget,\n this.totalTextTarget,\n data.app_usage\n );\n });\n }\n\n get monthlyUsageController() {\n return this.application.getControllerForElementAndIdentifier(\n this.element,\n 'charts--group-monthly-usage'\n );\n }\n\n get startDate() {\n return moment(this.monthSelectTarget.value).startOf('day');\n }\n\n get endDate() {\n return moment(this.startDate)\n .add(1, 'month')\n .subtract(1, 'day')\n .endOf('day');\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\n\nimport moment from 'moment';\nimport {\n utcDateFormat,\n renderAppUsageList,\n showLoading,\n hideLoading\n} from './helpers';\n\nexport default class extends Controller {\n static targets = ['monthSelect', 'appUsageList', 'totalText', 'loadingIcon'];\n\n initialize() {\n this.fetchAppUsageData();\n }\n\n onChangeMonthSelect() {\n this.fetchAppUsageData();\n }\n\n private;\n\n buildFetchDataURL() {\n return `/dashboard/app_usage.json?start_date=${this.startDate.format(\n utcDateFormat\n )}&end_date=${this.endDate.format(utcDateFormat)}`;\n }\n\n fetchAppUsageData() {\n showLoading(this.loadingIconTarget, this.appUsageListTarget);\n let fetchData = {\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n let url = this.buildFetchDataURL();\n fetch(url, fetchData)\n .then((response) => {\n return response.json();\n })\n .catch((error) => console.error('Error:', error))\n .then((data) => {\n hideLoading(this.loadingIconTarget, this.appUsageListTarget);\n renderAppUsageList(\n this.appUsageListTarget,\n this.totalTextTarget,\n data.app_usage\n );\n });\n }\n\n get monthlyUsageController() {\n return this.application.getControllerForElementAndIdentifier(\n this.element,\n 'charts--group-monthly-usage'\n );\n }\n\n get startDate() {\n return moment(this.monthSelectTarget.value).startOf('day');\n }\n\n get endDate() {\n return moment(this.startDate)\n .add(1, 'month')\n .subtract(1, 'day')\n .endOf('day');\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\nimport c3 from 'c3';\nimport moment from 'moment';\nimport {\n utcDateFormat,\n humanFileSize,\n showLoading,\n hideLoading\n} from './helpers';\n\nexport default class extends Controller {\n static targets = [\n 'monthSelect',\n 'chart',\n 'appUsageList',\n 'totalText',\n 'loadingIcon'\n ];\n\n initialize() {\n this.monthlyDataAllowance = this.element.getAttribute(\n 'data-monthly-data-allowance'\n );\n this.monthlyDataLimit = this.element.getAttribute(\n 'data-monthly-data-limit'\n );\n this.totalDevicesInGroup = this.element.getAttribute(\n 'data-total-devices-in-group'\n );\n this.noDataMessage = this.element.getAttribute('data-no-data-message');\n this.fetchAverageDailyData();\n }\n\n onChangeMonthSelect() {\n this.fetchAverageDailyData();\n }\n\n onClickAverageDataTab() {\n this.monthlyUsageController.show();\n }\n\n private;\n\n buildFetchDataURL() {\n return `/dashboard/average_usage.json?start_date=${this.startDate.format(\n utcDateFormat\n )}&end_date=${this.endDate.format(utcDateFormat)}`;\n }\n\n fetchAverageDailyData() {\n showLoading(this.loadingIconTarget, this.chartTarget);\n let fetchData = {\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n let url = this.buildFetchDataURL();\n fetch(url, fetchData)\n .then((response) => {\n return response.json();\n })\n .catch((error) => console.error('Error:', error))\n .then((data) => {\n this.generateChart(data);\n });\n }\n\n generateChart(data) {\n this.calculateChartData(data);\n let x = ['x'].concat(this.days);\n let y1 = ['Actual Data Usage'].concat(this.usage);\n let y2 = ['Average Usage Limit'].concat(\n data.average_limits.map((d) => {\n return d.y.toFixed(2);\n })\n );\n\n let y3 = ['Monthly Data Limit'];\n data.average_limits.forEach(() => {\n y3.push(this.monthlyDataLimitValue);\n });\n let y4 = ['Exceeding Usage'].concat(this.exceedingDataUsage);\n var columns = [x, y1, y2, y3, y4];\n if (this.totalDevicesInGroup == 0) {\n columns = [];\n }\n let chart = c3.generate({\n size: {\n height: 300\n },\n padding: {\n top: 5\n },\n data: {\n x: 'x',\n columns: columns,\n type: 'bar',\n types: {\n 'Actual Data Usage': 'bar',\n 'Average Usage Limit': 'line',\n 'Monthly Data Limit': 'line'\n },\n colors: {\n 'Actual Data Usage': '#10517B',\n 'Exceeding Usage': '#E54253',\n 'Average Usage Limit': '#E54253',\n 'Monthly Data Limit': '#F9B226'\n },\n groups: [['Actual Data Usage', 'Exceeding Usage']],\n order: ['Actual Data Usage', 'Exceeding Usage'],\n empty: { label: { text: this.noDataMessage } }\n },\n axis: {\n x: {\n padding: {\n left: 0\n },\n height: 45,\n label: {\n text: this.getMonthText(),\n position: 'outer-center'\n },\n tick: {\n culling: false,\n format: '%-d',\n outer: false\n },\n type: 'timeseries'\n },\n y: {\n tick: {\n format: (d) => {\n return humanFileSize(d, 2);\n },\n outer: false\n }\n }\n },\n bar: {\n width: {\n ratio: 0.9\n }\n },\n grid: {\n focus: {\n show: false\n }\n },\n legend: {\n show: false\n },\n point: {\n focus: {\n expand: {\n r: 4\n }\n },\n r: 0,\n show: true\n },\n tooltip: {\n contents: (usageData) => {\n return this.tooltipTemplate(usageData);\n }\n },\n transition: {\n duration: 0\n },\n bindto: this.chartTarget\n });\n\n chart.load({\n done: () => {\n this.addZeroValueBarLines();\n hideLoading(this.loadingIconTarget, this.chartTarget);\n }\n });\n }\n\n calculateChartData(data) {\n let noDaysInPeriod = this.endDate.diff(this.startDate, 'days');\n this.days = [];\n this.usage = [];\n this.exceedingDataUsage = [];\n let runningTotal = 0;\n let today = moment().endOf('day');\n this.monthlyDataLimitValue = (\n this.monthlyDataAllowance * this.monthlyDataLimit\n ).toFixed();\n\n for (let i = 0; i < noDaysInPeriod + 1; i++) {\n let day = moment(this.startDate).add(i, 'days');\n this.days.push(day);\n runningTotal += data.usage[i].y || 0;\n if (!day.isBefore(today)) {\n this.usage.push(null);\n this.exceedingDataUsage.push(null);\n } else {\n const lowestDataValue = Math.min(\n data.average_limits[i].y,\n this.monthlyDataLimitValue\n );\n if (runningTotal < lowestDataValue) {\n this.usage.push(runningTotal);\n this.exceedingDataUsage.push(0);\n } else {\n this.usage.push(lowestDataValue);\n this.exceedingDataUsage.push(runningTotal - lowestDataValue);\n }\n }\n }\n }\n\n addZeroValueBarLines() {\n let zeroValueBarClasses = [];\n d3.selectAll('.c3-event-rect').classed('zero-data-bar', (d, index) => {\n if (d.value === 0) {\n zeroValueBarClasses.push('.c3-bar-' + index);\n return d;\n }\n });\n\n for (let i = 0; i < zeroValueBarClasses.length; i++) {\n d3.select(zeroValueBarClasses[i]).attr('style', 'stroke-width: 2px');\n }\n }\n\n getMonthText() {\n return this.monthSelectTarget.options[this.monthSelectTarget.selectedIndex]\n .label;\n }\n\n tooltipTemplate(usageData) {\n return `\n
    \n
    \n \n Average Usage Limit\n \n \n ${humanFileSize(usageData[1].value || 0, 2)}\n \n
    \n ${this.actualDataUsageTemplate(usageData)}\n
    \n `;\n }\n\n actualDataUsageTemplate(usageData) {\n const groupData = usageData[0];\n const exceededAllowance = usageData[3];\n if (!groupData.value && !exceededAllowance.value) {\n return '';\n }\n const total = groupData.value + exceededAllowance.value;\n return `\n
    \n \n Actual data usage\n \n \n ${humanFileSize(total, 2)}\n \n
    \n `;\n }\n\n get monthlyUsageController() {\n return this.application.getControllerForElementAndIdentifier(\n this.element,\n 'charts--group-monthly-usage'\n );\n }\n\n get startDate() {\n return moment(this.monthSelectTarget.value).startOf('day');\n }\n\n get endDate() {\n return moment(this.startDate)\n .add(1, 'month')\n .subtract(1, 'day')\n .endOf('day');\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\nimport nv from 'nvd3';\nimport moment from 'moment';\nimport {\n utcDateFormat,\n humanFileSize,\n renderAppUsageList,\n showLoading,\n hideLoading\n} from './helpers';\nimport { dispatchEvent, removeElement } from '../../helpers';\n\nexport default class extends Controller {\n static targets = [\n 'totalUsageText',\n 'monthSelect',\n 'monthSelectContainer',\n 'chartContainer',\n 'chart',\n 'appUsageList',\n 'totalText',\n 'legend',\n 'loadingIcon'\n ];\n\n initialize() {\n this.deviceId = this.element.getAttribute('data-device-id');\n this.userHome = this.element.getAttribute('data-user-home');\n this.fetchMonthlyData();\n }\n\n show() {\n this.chartContainerTarget.classList.remove('is-hidden');\n this.monthSelectContainerTarget.classList.remove('is-hidden');\n dispatchEvent(window, 'resize');\n }\n\n hide() {\n this.chartContainerTarget.classList.add('is-hidden');\n this.monthSelectContainerTarget.classList.add('is-hidden');\n }\n\n onChangeMonthSelect() {\n this.fetchMonthlyData();\n }\n\n private;\n\n buildFetchDataURL() {\n let date = moment.utc(this.monthSelectTarget.value).format(utcDateFormat);\n return `/dashboard/monthly_usage.json?month=${encodeURIComponent(date)}`;\n }\n\n fetchMonthlyData() {\n showLoading(this.loadingIconTarget, this.chartTarget);\n let fetchData = {\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n let url = this.buildFetchDataURL();\n fetch(url, fetchData)\n .then((response) => {\n return response.json();\n })\n .catch((error) => console.error('Error:', error))\n .then((data) => {\n let totalUsageText = data.total_summary;\n this.totalUsageTextTarget.innerText = totalUsageText;\n delete data.total_summary;\n this.generateChart(data);\n });\n }\n\n generateChart(data) {\n this.removeLegend();\n this.removeLabels();\n nv.addGraph({\n generate: () => {\n let chart = nv.models\n .multiBarChart()\n .stacked(true)\n .showControls(false)\n .showLegend(false)\n .margin({ top: 20, right: 0, bottom: 50, left: 65 })\n .duration(0)\n .height(300)\n .reduceXTicks(false);\n chart.dispatch.on('renderEnd', () => {\n this.resetVisibility();\n this.addZeroLabels();\n this.applyZeroClass();\n });\n chart.yAxis.tickFormat((d) => {\n return humanFileSize(d, 2);\n });\n chart.yAxis.tickPadding(12);\n chart.xAxis.tickPadding(12);\n\n let monthText = this.getMonthText();\n chart.xAxis.axisLabel(monthText);\n let chartData = this.generateData(data);\n this.generateLegend(chartData);\n this.generateToolTip(chart);\n let svg = d3.select(this.chartTarget).datum(chartData);\n svg\n .transition()\n .duration(0)\n .call(chart);\n return chart;\n },\n callback: (graph) => {\n nv.utils.windowResize(() => {\n d3.select(this.chartTarget)\n .transition()\n .duration(0)\n .call(graph);\n this.removeLabels();\n this.applyZeroClass();\n this.addZeroLabels();\n });\n this.applyZeroClass();\n\n hideLoading(this.loadingIconTarget, this.chartTarget);\n }\n });\n }\n\n generateData(data) {\n let homeColor = '#10517B';\n let zeroColour = '#F3F4F7';\n let emptyColour = '#EBECF2';\n let colors = [\n '#07AA17',\n '#FF9100',\n '#F50057',\n '#60D9EA',\n '#8686B2',\n '#B2B4CA',\n '#83D48B',\n '#FFC77E',\n '#FF91B8',\n '#A8F4FF',\n '#C5C5F1'\n ];\n let colourIndexOffset = Object.keys(data).includes(this.userHome) ? 1 : 0;\n return Object.keys(data).map((country, index) => {\n if (country == this.userHome) {\n var color = homeColor;\n } else if (country == 'Empty') {\n var color = emptyColour;\n } else if (country == 'Zero') {\n var color = zeroColour;\n } else {\n let adjustedIndex = index - colourIndexOffset;\n let colorIndex =\n adjustedIndex > colors.length - 1\n ? adjustedIndex - colors.length\n : adjustedIndex;\n var color = colors[colorIndex];\n }\n return {\n key: country,\n values: data[country],\n color: color\n };\n });\n }\n\n generateLegend(data) {\n let homeDataItem = data.find((dataItem) => dataItem.key == this.deviceHome);\n let excludedKeys = ['Home', 'Zero', 'Empty'];\n let legendData = [];\n if (homeDataItem) {\n homeDataItem.key = 'Home';\n legendData.push(homeDataItem);\n }\n let filteredLegendData = data.reduce((filtered, dataItem) => {\n if (!excludedKeys.includes(dataItem.key)) filtered.push(dataItem);\n return filtered;\n }, legendData);\n this.renderLegendTemplate(filteredLegendData);\n }\n\n renderLegendTemplate(data) {\n const template = `\n
      \n ${this.renderLegendItems(data)}\n
    \n `;\n this.chartContainerTarget.insertAdjacentHTML('afterbegin', template);\n }\n\n renderLegendItems(data) {\n return data\n .map((dataItem) => {\n return `\n
  • \n \n \n \n \n \n \n ${dataItem.key}\n \n
  • \n `;\n })\n .join('');\n }\n\n removeLegend() {\n if (this.hasLegendTarget) {\n removeElement(this.legendTarget);\n }\n }\n\n generateToolTip(chart) {\n chart.tooltip.contentGenerator((obj) => {\n let data_used = humanFileSize(obj.data.size, 2);\n return `\n
    \n
    \n \n ${obj.data.key}\n \n \n ${obj.data.day}\n \n
    \n
    \n \n Data usage\n \n \n ${data_used}\n \n
    \n
    \n `;\n });\n }\n\n applyZeroClass() {\n d3.selectAll('.nv-multibar .nv-group').each(function(group) {\n let g = d3.select(this);\n g.selectAll('.nv-bar').each(function() {\n let b = d3.select(this);\n b.classed('zero', true);\n if (group.key != 'Zero' && group.key != 'Empty') {\n return false;\n }\n b.on('mouseover', () => {});\n });\n });\n }\n\n addZeroLabels() {\n d3.selectAll('.nv-multibar .nv-group').each(function(group) {\n if (group.key != 'Zero' && group.key != 'Empty') {\n return false;\n }\n let label = 'ZERO DATA USED';\n if (group.key == 'Empty') {\n label = 'NO RECORD OF USAGE';\n }\n let g = d3.select(this);\n g.selectAll('text').remove();\n g.selectAll('.nv-bar').each(function(bar) {\n if (bar.y > 0) {\n let b = d3.select(this);\n b.attr('visibility', 'visible');\n if (new Date(bar.day) > new Date()) {\n b.attr('visibility', 'hidden');\n } else {\n b.on('click', () => {});\n let barWidth = b.attr('width');\n let barHeight = b.attr('height');\n let x =\n parseFloat(b.attr('transform').split('(')[1]) + barWidth / 2 + 4;\n let y = barHeight / 2;\n g.append('text')\n .attr('transform', b.attr('transform'))\n .text(() => {\n return label;\n })\n .attr('transform', 'translate(' + x + ',' + y + ') rotate(-90)')\n .attr('text-anchor', 'middle')\n .attr('class', 'zero-label');\n }\n }\n });\n });\n }\n\n resetVisibility() {\n d3.selectAll('.nv-multibar .nv-group .nv-bar').each(function() {\n let b = d3.select(this);\n b.attr('visibility', 'visible');\n });\n }\n\n removeLabels() {\n d3.selectAll('.nv-multibar .nv-group text').remove();\n }\n\n getMonthText() {\n return this.monthSelectTarget.options[this.monthSelectTarget.selectedIndex]\n .label;\n }\n\n showDailyUsage(e) {\n let date = moment(e.data.day).format();\n this.hide();\n this.dailyUsageController.setDaySelectValue(date);\n this.dailyUsageController.show();\n this.dailyUsageController.fetchDailyData();\n }\n\n renderAppUsageList(data) {\n renderAppUsageList(this.appUsageListTarget, this.totalTextTarget, data);\n }\n\n get dailyUsageController() {\n return this.application.getControllerForElementAndIdentifier(\n this.element,\n 'charts--daily-usage'\n );\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\";\nimport Rails from \"@rails/ujs\";\nimport nv from \"nvd3\";\nimport moment from \"moment\";\nimport {\n utcDateFormat,\n humanFileSize,\n renderAppUsageList,\n showLoading,\n hideLoading,\n} from \"./helpers\";\nimport { dispatchEvent, removeElement } from \"../../helpers\";\n\nexport default class extends Controller {\n static targets = [\n \"totalUsageText\",\n \"monthSelect\",\n \"monthSelectContainer\",\n \"chartContainer\",\n \"chart\",\n \"appUsageList\",\n \"totalText\",\n \"legend\",\n \"loadingIcon\",\n ];\n\n initialize() {\n this.deviceId = this.element.getAttribute(\"data-device-id\");\n this.deviceHome = this.element.getAttribute(\"data-device-home\");\n this.appView = this.element.getAttribute(\"data-app-view\");\n this.fetchMonthlyData();\n }\n\n show() {\n this.chartContainerTarget.classList.remove(\"is-hidden\");\n this.monthSelectContainerTarget.classList.remove(\"is-hidden\");\n dispatchEvent(window, \"resize\");\n }\n\n hide() {\n this.chartContainerTarget.classList.add(\"is-hidden\");\n this.monthSelectContainerTarget.classList.add(\"is-hidden\");\n }\n\n onChangeMonthSelect() {\n this.fetchMonthlyData();\n }\n\n private;\n\n buildFetchDataURL() {\n let date = moment\n .utc(this.monthSelectTarget.value)\n .format(utcDateFormat);\n if (this.appView == \"yes\") {\n return `/mobile/monthly_usage.json?month=${encodeURIComponent(date)}`;\n }\n return `/devices/${this.deviceId}.json?month=${encodeURIComponent(date)}`;\n }\n\n fetchMonthlyData() {\n showLoading(this.loadingIconTarget, this.chartTarget);\n let fetchData = {\n credentials: \"same-origin\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Requested-With\": \"XMLHttpRequest\",\n \"X-CSRF-Token\": Rails.csrfToken(),\n },\n };\n let url = this.buildFetchDataURL();\n fetch(url, fetchData)\n .then((response) => {\n return response.json();\n })\n .catch((error) => console.error(\"Error:\", error))\n .then((data) => {\n let totalUsageText = data.total_summary;\n this.totalUsageTextTarget.innerText = totalUsageText;\n delete data.total_summary;\n this.generateChart(data);\n });\n }\n\n generateChart(data) {\n this.removeLegend();\n this.removeLabels();\n nv.addGraph({\n generate: () => {\n let chart = nv.models\n .multiBarChart()\n .stacked(true)\n .showControls(false)\n .showLegend(false)\n .margin({ top: 20, right: 0, bottom: 50, left: 65 })\n .duration(0)\n .height(300)\n .reduceXTicks(false);\n chart.dispatch.on(\"renderEnd\", () => {\n this.resetVisibility();\n this.addZeroLabels();\n this.applyZeroClass();\n });\n chart.yAxis.tickFormat((d) => {\n return humanFileSize(d, 2);\n });\n chart.yAxis.tickPadding(12);\n chart.xAxis.tickPadding(12);\n\n const firstSeries = Object.values(data).find(\n (series) => Array.isArray(series) && series.length > 0,\n );\n\n chart.xAxis.tickFormat((position) => {\n const point = firstSeries?.[position];\n\n return point ? Number(point.day.slice(8, 10)) : \"\";\n });\n\n let monthText = this.getMonthText();\n chart.xAxis.axisLabel(monthText);\n let chartData = this.generateData(data);\n this.generateLegend(chartData);\n this.generateToolTip(chart);\n let svg = d3.select(this.chartTarget).datum(chartData);\n svg.transition().duration(0).call(chart);\n return chart;\n },\n callback: (graph) => {\n nv.utils.windowResize(() => {\n d3.select(this.chartTarget)\n .transition()\n .duration(0)\n .call(graph);\n this.removeLabels();\n this.applyZeroClass();\n this.addZeroLabels();\n });\n this.applyZeroClass();\n\n graph.multibar.dispatch.on(\"elementClick\", (e) => {\n this.showDailyUsage(e);\n });\n hideLoading(this.loadingIconTarget, this.chartTarget);\n\n d3.selectAll(\"rect.nv-bar\").on(\"touchend\", (e) => {\n this.showDailyUsage({ data: e });\n });\n },\n });\n }\n\n generateData(data) {\n let homeColor = \"#73CFDE\";\n let zeroColour = \"#F3F4F7\";\n let emptyColour = \"#EBECF2\";\n let clickableColour = \"#FFFFFF\";\n let colors = [\n \"#07AA17\",\n \"#FF9100\",\n \"#F50057\",\n \"#60D9EA\",\n \"#8686B2\",\n \"#B2B4CA\",\n \"#83D48B\",\n \"#FFC77E\",\n \"#FF91B8\",\n \"#A8F4FF\",\n \"#C5C5F1\",\n ];\n let colourIndexOffset = Object.keys(data).includes(this.deviceHome)\n ? 1\n : 0;\n return Object.keys(data).map((country, index) => {\n if (country == this.deviceHome) {\n var color = homeColor;\n } else if (country == \"Empty\") {\n var color = emptyColour;\n } else if (country == \"Zero\") {\n var color = zeroColour;\n } else if (country == \"Clickable\") {\n var color = clickableColour;\n } else {\n let adjustedIndex = index - colourIndexOffset;\n let colorIndex =\n adjustedIndex > colors.length - 1\n ? adjustedIndex - colors.length\n : adjustedIndex;\n var color = colors[colorIndex];\n }\n return {\n key: country,\n values: data[country],\n color: color,\n };\n });\n }\n\n generateLegend(data) {\n let homeDataItem = data.find(\n (dataItem) => dataItem.key == this.deviceHome,\n );\n let excludedKeys = [\"Home\", \"Zero\", \"Empty\", \"Clickable\"];\n let legendData = [];\n if (homeDataItem) {\n homeDataItem.key = \"Home\";\n legendData.push(homeDataItem);\n }\n let filteredLegendData = data.reduce((filtered, dataItem) => {\n if (!excludedKeys.includes(dataItem.key)) filtered.push(dataItem);\n return filtered;\n }, legendData);\n this.renderLegendTemplate(filteredLegendData);\n }\n\n renderLegendTemplate(data) {\n const template = `\n
      \n ${this.renderLegendItems(data)}\n
    \n `;\n this.chartContainerTarget.insertAdjacentHTML(\"afterbegin\", template);\n }\n\n renderLegendItems(data) {\n return data\n .map((dataItem) => {\n return `\n
  • \n \n \n \n \n \n \n ${dataItem.key}\n \n
  • \n `;\n })\n .join(\"\");\n }\n\n removeLegend() {\n if (this.hasLegendTarget) {\n removeElement(this.legendTarget);\n }\n }\n\n generateToolTip(chart) {\n chart.tooltip.contentGenerator((obj) => {\n let data_used = humanFileSize(obj.data.size, 2);\n return `\n
    \n
    \n \n ${obj.data.key}\n \n \n ${obj.data.day}\n \n
    \n
    \n \n Data usage\n \n \n ${data_used}\n \n
    \n \n Click for day view\n \n
    \n `;\n });\n }\n\n applyZeroClass() {\n d3.selectAll(\".nv-multibar .nv-group\").each(function (group) {\n if (\n group.key != \"Zero\" &&\n group.key != \"Empty\" &&\n group.key != \"Clickable\"\n ) {\n return false;\n }\n let g = d3.select(this);\n g.selectAll(\".nv-bar\").each(function () {\n let b = d3.select(this);\n if (group.key != \"Clickable\") {\n b.classed(\"zero\", true);\n }\n b.on(\"mouseover\", () => {});\n });\n });\n }\n\n addZeroLabels() {\n d3.selectAll(\".nv-multibar .nv-group\").each(function (group) {\n if (group.key != \"Zero\" && group.key != \"Empty\") {\n return false;\n }\n let label = \"ZERO DATA USED\";\n if (group.key == \"Empty\") {\n label = \"NO RECORD OF USAGE\";\n }\n let g = d3.select(this);\n g.selectAll(\"text\").remove();\n g.selectAll(\".nv-bar\").each(function (bar) {\n if (bar.y > 0) {\n let b = d3.select(this);\n b.attr(\"visibility\", \"visible\");\n if (new Date(bar.day) > new Date()) {\n b.attr(\"visibility\", \"hidden\");\n } else {\n b.on(\"click\", () => {});\n let barWidth = b.attr(\"width\");\n let barHeight = b.attr(\"height\");\n let x =\n parseFloat(b.attr(\"transform\").split(\"(\")[1]) +\n barWidth / 2 +\n 4;\n let y = barHeight / 2;\n g.append(\"text\")\n .attr(\"transform\", b.attr(\"transform\"))\n .text(() => {\n return label;\n })\n .attr(\n \"transform\",\n \"translate(\" + x + \",\" + y + \") rotate(-90)\",\n )\n .attr(\"text-anchor\", \"middle\")\n .attr(\"class\", \"zero-label\");\n }\n }\n });\n });\n }\n\n resetVisibility() {\n d3.selectAll(\".nv-multibar .nv-group .nv-bar\").each(function () {\n let b = d3.select(this);\n b.attr(\"visibility\", \"visible\");\n });\n }\n\n removeLabels() {\n d3.selectAll(\".nv-multibar .nv-group text\").remove();\n }\n\n getMonthText() {\n return this.monthSelectTarget.options[\n this.monthSelectTarget.selectedIndex\n ].label;\n }\n\n showDailyUsage(e) {\n let date = moment(e.data.day).format();\n this.hide();\n this.dailyUsageController.setDaySelectValue(date);\n this.dailyUsageController.show();\n this.dailyUsageController.fetchDailyData();\n }\n\n renderAppUsageList(data) {\n renderAppUsageList(this.appUsageListTarget, this.totalTextTarget, data);\n }\n\n get dailyUsageController() {\n return this.application.getControllerForElementAndIdentifier(\n this.element,\n \"charts--daily-usage\",\n );\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\nimport c3 from \"c3\"\n\nexport default class extends Controller {\n\n static targets = [\"chartContainer\", \"chart\"];\n\n initialize() {\n this.data_used = this.element.getAttribute(\"data-monthly-data-used-percentage\");\n this.generateChart()\n }\n\n private\n\n generateChart() {\n c3.generate({\n data: {\n columns: [\n ['data', this.data_used]\n ],\n type: 'gauge',\n },\n gauge: {\n label: {\n format: function(value, ratio) {\n return value+\"%\";\n },\n show: false // to turn off the min/max labels.\n },\n width: 50 // for adjusting arc thickness\n },\n color: {\n pattern: ['#73CFDE', '#F50057'],\n threshold: {\n values: [100]\n }\n },\n legend: {\n show: false\n },\n bindto: this.chartTarget,\n onrendered: function () {\n if(this.data.targets[0].values[0].value >= 100) {\n d3.select('.c3-chart-arc .c3-gauge-value').style(\"fill\", \"#F50057\" )\n }\n }\n });\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\nimport moment from 'moment';\nimport c3 from 'c3';\nimport { utcDateFormat, showLoading, hideLoading } from './helpers';\nimport { removeElement } from '../../helpers';\n\nexport default class extends Controller {\n static targets = ['chart', 'legend', 'loadingIcon', 'monthSelect'];\n\n initialize() {\n this.colors = [\n '#07AA17',\n '#FF9100',\n '#F50057',\n '#60D9EA',\n '#8686B2',\n '#B2B4CA',\n '#83D48B',\n '#FFC77E',\n '#FF91B8',\n '#A8F4FF',\n '#C5C5F1',\n '#6295B5',\n '#FF9E82',\n '#FFEC82',\n '#6DD66D'\n ];\n this.fetchData();\n }\n\n onChangeMonthSelect() {\n this.removeLegend();\n this.fetchData();\n }\n\n private;\n\n fetchData() {\n showLoading(this.loadingIconTarget, this.chartTarget);\n let fetchData = {\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n let url = `dashboard/roaming_countries.json?start_date=${this.startDate.format(\n utcDateFormat\n )}&end_date=${this.endDate.format(utcDateFormat)}`;\n fetch(url, fetchData)\n .then((response) => {\n return response.json();\n })\n .catch((error) => console.error('Error:', error))\n .then((data) => {\n if (Object.keys(data).length === 0) {\n this.displayNoData();\n } else {\n this.generateChart(data);\n this.generateLegend(data);\n }\n });\n }\n\n generateChart(data) {\n const chart = c3.generate({\n size: {\n height: 265\n },\n data: {\n columns: Object.entries(data),\n type: 'pie'\n },\n pie: {\n expand: false,\n label: {\n show: false\n }\n },\n color: {\n pattern: this.colors\n },\n transition: {\n duration: 0\n },\n interaction: {\n enabled: false\n },\n legend: {\n show: false\n },\n bindto: this.chartTarget\n });\n\n chart.load({\n done: () => {\n hideLoading(this.loadingIconTarget, this.chartTarget);\n }\n });\n }\n\n generateLegend(data) {\n const legend = `\n
      \n ${this.renderLegendTemplate(data)}\n
    `;\n this.chartTarget.insertAdjacentHTML('beforebegin', legend);\n }\n\n renderLegendTemplate(data) {\n return Object.keys(data)\n .map((key, index) => {\n return `\n
  • \n
    \n ${key}\n
  • `;\n })\n .join('');\n }\n\n removeLegend() {\n if (this.hasLegendTarget) {\n removeElement(this.legendTarget);\n }\n }\n\n displayNoData() {\n hideLoading(this.loadingIconTarget, this.chartTarget);\n const text =\n '

    No Data Available

    ';\n this.chartTarget.innerHTML = text;\n }\n\n get startDate() {\n return moment(this.monthSelectTarget.value).startOf('day');\n }\n\n get endDate() {\n return moment(this.startDate)\n .add(1, 'month')\n .subtract(1, 'day')\n .endOf('day');\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\nimport moment from 'moment';\nimport {\n utcDateFormat,\n showLoading,\n hideLoading,\n humanFileSize\n} from './helpers';\n\nexport default class extends Controller {\n static targets = [\n 'listContainer',\n 'list',\n 'loadingIcon',\n 'monthSelect',\n 'title'\n ];\n\n initialize() {\n this.fetchData();\n }\n\n onChangeMonthSelect() {\n if (this.hasListTarget) {\n this.listContainerTarget.removeChild(this.listTarget);\n }\n this.fetchData();\n }\n\n private;\n\n fetchData() {\n showLoading(this.loadingIconTarget, this.listContainerTarget);\n let fetchData = {\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n\n let url = `dashboard/data_users.json?start_date=${this.startDate.format(\n utcDateFormat\n )}&end_date=${this.endDate.format(utcDateFormat)}`;\n fetch(url, fetchData)\n .then((response) => {\n return response.json();\n })\n .catch((error) => console.error('Error:', error))\n .then((data) => {\n this.setTitle(data);\n this.generateList(data);\n hideLoading(this.loadingIconTarget, this.listContainerTarget);\n });\n }\n\n setTitle(data) {\n this.titleTarget.innerHTML = '';\n if (Object.values(data).length == 10) {\n this.titleTarget.insertAdjacentHTML('afterbegin', 10);\n }\n }\n\n generateList(data) {\n const list = `\n
      \n ${this.renderListTemplate(data)}\n
    `;\n this.listContainerTarget.insertAdjacentHTML('afterbegin', list);\n }\n\n renderListTemplate(data) {\n return Object.values(data)\n .map((entry) => {\n return `\n
  • \n
    \n
    \n \n ${entry.first_name} ${entry.last_name}\n \n \n \n ${entry.phone_number}\n \n \n
    \n \n ${humanFileSize(entry.data_used, 2)}\n \n
    \n
  • `;\n })\n .join('');\n }\n\n get startDate() {\n return moment(this.monthSelectTarget.value).startOf('day');\n }\n\n get endDate() {\n return moment(this.startDate)\n .add(1, 'month')\n .subtract(1, 'day')\n .endOf('day');\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\nimport moment from 'moment';\nimport {\n utcDateFormat,\n showLoading,\n hideLoading,\n humanFileSize\n} from './helpers';\n\nexport default class extends Controller {\n static targets = [\n 'listContainer',\n 'list',\n 'loadingIcon',\n 'monthSelect',\n 'title'\n ];\n\n initialize() {\n this.fetchData();\n }\n\n onChangeMonthSelect() {\n if (this.hasListTarget) {\n this.listContainerTarget.removeChild(this.listTarget);\n }\n this.fetchData();\n }\n\n private;\n\n fetchData() {\n showLoading(this.loadingIconTarget, this.listContainerTarget);\n let fetchData = {\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n let url = `dashboard/roaming_users.json?start_date=${this.startDate.format(\n utcDateFormat\n )}&end_date=${this.endDate.format(utcDateFormat)}`;\n fetch(url, fetchData)\n .then((response) => {\n return response.json();\n })\n .catch((error) => console.error('Error:', error))\n .then((data) => {\n this.setTitle(data);\n this.generateList(data);\n hideLoading(this.loadingIconTarget, this.listContainerTarget);\n });\n }\n\n setTitle(data) {\n this.titleTarget.innerHTML = '';\n if (Object.values(data).length == 10) {\n this.titleTarget.insertAdjacentHTML('afterbegin', 10);\n }\n }\n\n generateList(data) {\n const list = `\n
      \n ${this.renderListTemplate(data)}\n
    `;\n this.listContainerTarget.insertAdjacentHTML('afterbegin', list);\n }\n\n renderListTemplate(data) {\n return Object.values(data)\n .map((entry) => {\n return `\n
  • \n
    \n
    \n \n ${entry.first_name} ${entry.last_name}\n \n \n \n ${entry.phone_number}\n \n \n
    \n \n ${humanFileSize(entry.data_used, 2)}\n \n
    \n
  • `;\n })\n .join('');\n }\n\n get startDate() {\n return moment(this.monthSelectTarget.value).startOf('day');\n }\n\n get endDate() {\n return moment(this.startDate)\n .add(1, 'month')\n .subtract(1, 'day')\n .endOf('day');\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\nimport moment from 'moment';\nimport { utcDateFormat, showLoading, hideLoading } from './helpers';\n\nexport default class extends Controller {\n static targets = [\n 'listContainer',\n 'list',\n 'loadingIcon',\n 'monthSelect',\n 'title'\n ];\n\n initialize() {\n this.fetchData();\n }\n\n onChangeMonthSelect() {\n if (this.hasListTarget) {\n this.listContainerTarget.removeChild(this.listTarget);\n }\n this.fetchData();\n }\n\n private;\n\n fetchData() {\n showLoading(this.loadingIconTarget, this.listContainerTarget);\n let fetchData = {\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n let url = `dashboard/data_plan_users.json?start_date=${this.startDate.format(\n utcDateFormat\n )}&end_date=${this.endDate.format(utcDateFormat)}`;\n fetch(url, fetchData)\n .then((response) => {\n return response.json();\n })\n .catch((error) => console.error('Error:', error))\n .then((data) => {\n this.setTitle(data);\n this.generateList(data);\n hideLoading(this.loadingIconTarget, this.listContainerTarget);\n });\n }\n\n setTitle(data) {\n this.titleTarget.innerHTML = '';\n if (Object.values(data).length == 10) {\n this.titleTarget.insertAdjacentHTML('afterbegin', 10);\n }\n }\n\n generateList(data) {\n const list = `\n
      \n ${this.renderListTemplate(data)}\n
    `;\n this.listContainerTarget.insertAdjacentHTML('afterbegin', list);\n }\n\n renderListTemplate(data) {\n return Object.values(data)\n .map((entry) => {\n return `\n
  • \n
    \n
    \n \n ${entry.first_name} ${entry.last_name}\n \n \n \n ${entry.phone_number}\n \n \n
    \n \n ${entry.percentage_data_used}%\n \n
    \n
    \n
    \n
    \n
  • `;\n })\n .join('');\n }\n\n get startDate() {\n return moment(this.monthSelectTarget.value).startOf('day');\n }\n\n get endDate() {\n return moment(this.startDate)\n .add(1, 'month')\n .subtract(1, 'day')\n .endOf('day');\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\nexport default class extends Controller {\n static targets = [\n \"overlay\"\n ];\n\n initialize() {\n }\n\n hideOverlay(ev) {\n ev.preventDefault();\n ev.stopPropagation();\n this.overlayTarget.classList.add(\"is-hidden\");\n }\n\n showOverlay() {\n this.overlayTarget.classList.remove(\"is-hidden\");\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\";\nimport Rails from \"@rails/ujs\";\nexport default class extends Controller {\n static targets = [\n \"prefs\",\n \"loadingIcon\",\n \"dealsList\",\n \"prefsform\",\n \"prefsToggleButton\",\n \"submit\",\n \"prefsFormContainer\",\n \"prefsOptionsContainer\",\n \"dealsListContainer\",\n \"toggleContractType\",\n ];\n\n initialize() {\n this.savePrefsPath = this.element.getAttribute(\"data-save-prefs-path\");\n this.resetPrefsPath = this.element.getAttribute(\n \"data-reset-prefs-path\",\n );\n this.appView = this.element.getAttribute(\"data-app-view\");\n\n // TODO: separate this out into new controller - slider controls for filters\n\n this.dealSimOnlyRadio = document.getElementById(\"sim\");\n\n this.dealCurrentNetworkSelector = document.querySelector(\n \".deal_current_networks_selector ul\",\n );\n\n this.dealNetworksSelector = document.querySelector(\n \".deal_networks_selector ul\",\n );\n\n this.dealHandsetsSelector = document.querySelector(\n \".deal_manufacturers_selector ul\",\n );\n\n this.dealModelSelector = document.querySelector(\n \".deal_product_version_selector ul\",\n );\n\n this.dealCapacityDefaultSelector = document.querySelector(\n \".deal_capacity_selector ul.capacity-list-default\",\n );\n\n this.dealCapacitySelector = document.querySelector(\n \".deal_capacity_selector ul.capacity-list\",\n );\n\n this.dealContractLengthSimOnlySelector = document.querySelector(\n \".deal_contract_lengths_sim_only_selector ul\",\n );\n\n this.dealContractLengthHandsetSelector = document.querySelector(\n \".deal_contract_lengths_handset_selector ul\",\n );\n\n this.dealUsageBytesSelector = document.querySelector(\n \".deal_usage_bytes_selector ul\",\n );\n\n this.dealUpfrontFeeSelector = document.querySelector(\n \".deal_upfront_fee_selector ul\",\n );\n\n // Add event listeners for scroll\n this.initContractTypeSelector();\n\n const enableDisableChevrons = function (list, item) {\n const leftChevron =\n list.parentElement.querySelector(\".select-left\");\n const rightChevron =\n list.parentElement.querySelector(\".select-right\");\n\n const activeChildren = list.querySelectorAll(\"li:not(.is-hidden)\");\n\n if (leftChevron) {\n leftChevron.disabled = item == activeChildren[0];\n }\n\n if (rightChevron) {\n const lastChild = activeChildren[activeChildren.length - 1];\n\n if (lastChild.dataset.hackFix === \"iOS 15\") {\n // -2 to account for the iOS 15 fix element that is not present on\n // other browsers.\n rightChevron.disabled =\n item == activeChildren[activeChildren.length - 2];\n } else {\n rightChevron.disabled =\n item == activeChildren[activeChildren.length - 1];\n }\n }\n };\n\n const markSelectedItem = function (list, item) {\n Array.from(list.children).forEach(function (child) {\n child.classList.remove(\"selected\");\n });\n\n if (item) {\n item.classList.add(\"selected\");\n }\n };\n\n this.dealCurrentNetworkSelector.addEventListener(\n \"scroll\",\n function (ev) {\n onSliderScroll(this, false, function (item, that) {\n const x = document.querySelector(\n 'input[name=\"deal_preference[current_network]\"]',\n );\n x.value = item.dataset.networkId\n ? parseInt(item.dataset.networkId, 10)\n : null;\n\n enableDisableChevrons(ev.target, item);\n markSelectedItem(ev.target, item);\n });\n },\n );\n\n this.dealNetworksSelector.addEventListener(\"scroll\", function (ev) {\n onSliderScroll(this, false, function (item) {\n const x = document.querySelector(\n 'input[name=\"deal_preference[deal_network_ids][]\"]',\n );\n x.value = item.dataset.networkId\n ? parseInt(item.dataset.networkId, 10)\n : null;\n\n enableDisableChevrons(ev.target, item);\n markSelectedItem(ev.target, item);\n });\n });\n\n this.dealHandsetsSelector.addEventListener(\"scroll\", (ev) => {\n onSliderScroll(ev.currentTarget, false, (item) => {\n const x = document.querySelector(\n 'input[name=\"deal_preference[deal_handset_ids][]\"]',\n );\n x.value = item.dataset.manufacturerId\n ? parseInt(item.dataset.manufacturerId, 10)\n : null;\n\n removeLastVisble(\".model.last-visible\");\n let products = document.querySelectorAll(\".model\");\n\n if (item.dataset.manufacturerId) {\n products.forEach((product) => {\n if (\n product.dataset.manufacturer ===\n item.dataset.manufacturerRemoteId\n ) {\n product.classList.remove(\"is-hidden\");\n } else {\n product.classList.add(\"is-hidden\");\n }\n });\n\n const filteredProducts = document.querySelectorAll(\n \".model:not(.is-hidden)\",\n );\n if (filteredProducts.length > 0) {\n filteredProducts[\n filteredProducts.length - 1\n ].classList.add(\"last-visible\");\n this.dealModelSelector.scrollLeft = 0;\n }\n } else {\n products.forEach((product) => {\n product.classList.remove(\"is-hidden\");\n });\n }\n\n enableDisableChevrons(ev.target, item);\n markSelectedItem(ev.target, item);\n });\n });\n\n this.dealModelSelector.addEventListener(\"scroll\", (ev) => {\n onSliderScroll(ev.currentTarget, false, (item) => {\n const x = document.querySelector(\n 'input[name=\"deal_preference[deal_product_version_ids][]\"]',\n );\n x.value = item.dataset.productId\n ? parseInt(item.dataset.productId, 10)\n : null;\n\n const defaultList = document.querySelector(\n \".capacity-list-default\",\n );\n const capacityList = document.querySelector(\".capacity-list\");\n\n if (item.dataset.productId) {\n defaultList.classList.add(\"is-hidden\");\n capacityList.classList.remove(\"is-hidden\");\n\n removeLastVisble(\".capacity.last-visible\");\n\n let capacities = document.querySelectorAll(\n \".capacity-list > .capacity\",\n );\n capacities.forEach((capacity) => {\n if (\n capacity.dataset.productId ===\n item.dataset.productId\n ) {\n capacity.classList.remove(\"is-hidden\");\n } else {\n capacity.classList.add(\"is-hidden\");\n }\n });\n\n const filteredCapacities = document.querySelectorAll(\n \".capacity:not(.is-hidden)\",\n );\n if (filteredCapacities.length > 0) {\n filteredCapacities[\n filteredCapacities.length - 1\n ].classList.add(\"last-visible\");\n this.dealCapacityDefaultSelector.scrollLeft = 0;\n this.dealCapacitySelector.scrollLeft = 0;\n }\n\n onSliderScroll(capacityList, false, (item) => {\n enableDisableChevrons(capacityList, item);\n markSelectedItem(capacityList, item);\n });\n } else {\n defaultList.classList.remove(\"is-hidden\");\n capacityList.classList.add(\"is-hidden\");\n\n onSliderScroll(defaultList, false, (item) => {\n enableDisableChevrons(defaultList, item);\n markSelectedItem(defaultList, item);\n });\n }\n\n enableDisableChevrons(ev.target, item);\n markSelectedItem(ev.target, item);\n });\n });\n\n this.dealCapacitySelector.addEventListener(\"scroll\", function (ev) {\n onSliderScroll(this, true, function (item) {\n const x = document.querySelector(\n 'input[name=\"deal_preference[capacity]\"]',\n );\n x.value = item.dataset.capacity ? item.dataset.capacity : null;\n\n enableDisableChevrons(ev.target, item);\n markSelectedItem(ev.target, item);\n });\n });\n\n this.dealCapacityDefaultSelector.addEventListener(\n \"scroll\",\n function (ev) {\n onSliderScroll(this, true, function (item) {\n const x = document.querySelector(\n 'input[name=\"deal_preference[capacity]\"]',\n );\n x.value = item.dataset.capacity\n ? item.dataset.capacity\n : null;\n\n enableDisableChevrons(ev.target, item);\n markSelectedItem(ev.target, item);\n });\n },\n );\n\n this.dealContractLengthSimOnlySelector.addEventListener(\n \"scroll\",\n function (ev) {\n onSliderScroll(this, true, function (item) {\n const x = document.querySelector(\n 'input[name=\"deal_preference[contract_lengths_sim_only][]\"]',\n );\n x.value = item.dataset.contractLengthsSimOnly\n ? parseInt(item.dataset.contractLengthsSimOnly, 10)\n : null;\n\n enableDisableChevrons(ev.target, item);\n markSelectedItem(ev.target, item);\n });\n },\n );\n\n this.dealContractLengthHandsetSelector.addEventListener(\n \"scroll\",\n function (ev) {\n onSliderScroll(this, true, function (item) {\n const x = document.querySelector(\n 'input[name=\"deal_preference[contract_lengths_handset][]\"]',\n );\n\n x.value = item.dataset.contractLengthsHandset\n ? parseInt(item.dataset.contractLengthsHandset, 10)\n : null;\n\n enableDisableChevrons(ev.target, item);\n markSelectedItem(ev.target, item);\n });\n },\n );\n\n this.dealUsageBytesSelector.addEventListener(\"scroll\", function (ev) {\n onSliderScroll(this, true, function (item) {\n const x = document.querySelector(\n 'input[name=\"deal_preference[data_usage_bytes]\"]',\n );\n x.value = item.dataset.usageAmount\n ? parseInt(item.dataset.usageAmount, 10)\n : null;\n\n const dataOverrideInput = document.querySelector(\n 'input[name=\"deal_preference[override_data_usage]\"]',\n );\n\n dataOverrideInput.value = item.dataset.usageAmount\n ? true\n : false;\n\n enableDisableChevrons(ev.target, item);\n markSelectedItem(ev.target, item);\n });\n });\n\n this.dealUpfrontFeeSelector.addEventListener(\"scroll\", function (ev) {\n onSliderScroll(this, true, function (item) {\n const upfrontFeeInput = document.querySelector(\n 'input[name=\"deal_preference[upfront_fee]\"]',\n );\n\n upfrontFeeInput.value = item.dataset.upfrontFee\n ? parseInt(item.dataset.upfrontFee, 10)\n : null;\n\n enableDisableChevrons(ev.target, item);\n markSelectedItem(ev.target, item);\n });\n });\n\n const leftChevrons = Array.from(\n document.querySelectorAll(\"button.select-left\"),\n );\n const rightChevrons = Array.from(\n document.querySelectorAll(\"button.select-right\"),\n );\n\n leftChevrons.forEach(function (button) {\n button.addEventListener(\"click\", function (ev) {\n ev.preventDefault();\n const list = ev.target\n .closest(\"div\")\n .querySelector(\"ul:not(.is-hidden)\");\n list.scrollLeft -= itemWidthForScroll(list.children[0]);\n });\n });\n\n rightChevrons.forEach(function (button) {\n button.addEventListener(\"click\", function (ev) {\n ev.preventDefault();\n const list = ev.target\n .closest(\"div\")\n .querySelector(\"ul:not(.is-hidden)\");\n list.scrollLeft += itemWidthForScroll(list.children[0]);\n });\n });\n }\n\n connect() {\n this.retrieve();\n }\n\n // The site must still work in a normal browser where the Android bridge doesn\u2019t exist.\n // Use this helper to track en event\n trackSees360Event(name) {\n if (window.Sees360 && typeof window.Sees360.track === \"function\") {\n window.Sees360.track(name);\n }\n }\n\n trackBuyNowClick(ev) {\n const positionNames = { 1: \"one\", 2: \"two\", 3: \"three\" };\n const { dealType, position } = ev.currentTarget.dataset;\n\n this.trackSees360Event(\n `user_deal_${dealType}_${positionNames[position]}_buy_now_clicked`,\n );\n }\n\n buildFetchDataURL() {\n return this.savePrefsPath;\n }\n\n resetPrefs(ev) {\n ev.preventDefault();\n\n // Track Deals Filter reset\n this.trackSees360Event(\"user_deals_filters_reset\");\n\n this.showLoading();\n\n //Reset all prefs\n this.resetSimOnlyDealsInputs();\n this.resetHandsetDealsInputs();\n\n console.warn(this.resetPrefsPath, ev);\n let fetchData = {\n method: \"POST\",\n credentials: \"same-origin\",\n headers: {\n \"X-Requested-With\": \"XMLHttpRequest\",\n \"X-CSRF-Token\": Rails.csrfToken(),\n },\n };\n fetch(this.resetPrefsPath, fetchData)\n .then((response) => {\n return response.text();\n })\n .catch((err) => {\n return `

    There was an error resetting the preferences.

    `;\n })\n .then((data) => {\n this.hideLoading();\n document.documentElement.scrollTop = 0;\n this.updateList(data);\n });\n }\n\n togglePrefs() {\n const refreshButton = document.querySelector(\".refresh-deal-button\");\n\n if (this.prefsOptionsContainerTarget.classList.contains(\"is-hidden\")) {\n this.showPrefs();\n this.trackSees360Event(\"user_deals_filters_opened\");\n this.prePopulateFilters();\n refreshButton.classList.remove(\"is-hidden\");\n } else {\n this.hidePrefs();\n this.trackSees360Event(\"user_deals_filters_closed\");\n refreshButton.classList.add(\"is-hidden\");\n document.documentElement.scrollTop = 0;\n }\n }\n\n prePopulateFilters() {\n const formBody = new URLSearchParams(\n new FormData(this.prefsformTarget),\n );\n const initialFontSize = 14;\n\n // All items are the same size so get the first item of a list that is\n // shared between SIM Only and Phones to only calculate it once.\n const itemWidthPx = itemWidthForScroll(\n this.dealCurrentNetworkSelector.children[0],\n );\n\n // Current Network (O2, EE etc)\n const currentNetworkId = formBody.get(\n \"deal_preference[current_network]\",\n );\n const dealCurrentNetworkSelectorItems =\n this.dealCurrentNetworkSelector.querySelectorAll(\"li\");\n\n const currentNetworkIndex = Array.from(\n dealCurrentNetworkSelectorItems,\n ).findIndex((n) => n.dataset.networkId === currentNetworkId);\n\n this.dealCurrentNetworkSelector.scrollLeft =\n itemWidthPx * currentNetworkIndex;\n\n // Preferred Networks (O2, EE etc)\n const networkId = formBody.get(\"deal_preference[deal_network_ids][]\");\n const dealNetworksSelectorItems =\n this.dealNetworksSelector.querySelectorAll(\"li\");\n const networkIndex = Array.from(dealNetworksSelectorItems).findIndex(\n (n) => n.dataset.networkId === networkId,\n );\n this.dealNetworksSelector.scrollLeft = itemWidthPx * networkIndex;\n\n // Handsets (Apple, Google etc) - needs to be called before model to trigger\n // the scroll listener for the model selector below\n const handsetId = formBody.get(\"deal_preference[deal_handset_ids][]\");\n const dealHandsetsSelectorItems =\n this.dealHandsetsSelector.querySelectorAll(\"li\");\n const handsetIndex = Array.from(dealHandsetsSelectorItems).findIndex(\n (n) => n.dataset.manufacturerId === handsetId,\n );\n this.dealHandsetsSelector.scrollLeft = itemWidthPx * handsetIndex;\n\n // Model (iPhone X, Pixel 6 etc)\n // Need this to run after handset scroll handler as that sets model scrollLeft to 0 on change\n setTimeout(() => {\n const modelId = formBody.get(\n \"deal_preference[deal_product_version_ids][]\",\n );\n const dealModelSelectorItems =\n this.dealModelSelector.querySelectorAll(\"li:not(.is-hidden)\");\n const modelIndex = Array.from(dealModelSelectorItems).findIndex(\n (n) => n.dataset.productId === modelId,\n );\n this.dealModelSelector.scrollLeft = itemWidthPx * modelIndex;\n\n // Capacities (32GB, 64GB etc)\n // Need this whole block including querySelectors to run after model scroll handler\n // as the model scroll handler sets the is-hidden classes on the capacity list items\n setTimeout(() => {\n const capacity = formBody.get(\"deal_preference[capacity]\");\n const capacitySelector = modelId\n ? this.dealCapacitySelector\n : this.dealCapacityDefaultSelector;\n const capacitySelectorItems =\n capacitySelector.querySelectorAll(\"li:not(.is-hidden)\");\n const capacityIndex = Array.from(\n capacitySelectorItems,\n ).findIndex((n) => n.dataset.capacity === capacity);\n capacitySelector.scrollLeft = itemWidthPx * capacityIndex;\n }, 500);\n }, 300);\n\n // Contract Length for Sim only deals\n const contractLengthId = formBody.get(\n \"deal_preference[contract_lengths_sim_only][]\",\n );\n const dealContractLengthItems =\n this.dealContractLengthSimOnlySelector.querySelectorAll(\"li\");\n const contractLengthIndex = Array.from(\n dealContractLengthItems,\n ).findIndex(\n (n) => n.dataset.contractLengthsSimOnly === contractLengthId,\n );\n\n this.dealContractLengthSimOnlySelector.scrollLeft =\n itemWidthPx * contractLengthIndex;\n\n //Contract Length for Handset deals\n const contractLengthHandsetId = formBody.get(\n \"deal_preference[contract_lengths_handset][]\",\n );\n const contractLengthHandsetItems =\n this.dealContractLengthHandsetSelector.querySelectorAll(\"li\");\n const contractLengthHandsetIndex = Array.from(\n contractLengthHandsetItems,\n ).findIndex(\n (n) => n.dataset.contractLengthsHandset === contractLengthHandsetId,\n );\n this.dealContractLengthHandsetSelector.scrollLeft =\n itemWidthPx * contractLengthHandsetIndex;\n\n // Data Allowance for Sim only deals\n const dataUsageByte = formBody.get(\"deal_preference[data_usage_bytes]\");\n const dealUsageByteItems =\n this.dealUsageBytesSelector.querySelectorAll(\"li\");\n const dealUsageByteIndex = Array.from(dealUsageByteItems).findIndex(\n (n) => n.dataset.usageAmount === dataUsageByte,\n );\n this.dealUsageBytesSelector.scrollLeft =\n itemWidthPx * dealUsageByteIndex;\n\n if (dealUsageByteIndex > 1) {\n const dataOverrideInput = document.querySelector(\n 'input[name=\"deal_preference[override_data_usage]\"]',\n );\n\n dataOverrideInput.value = true;\n }\n\n // Upfront fee for Handset deals\n const upfrontFee = formBody.get(\"deal_preference[upfront_fee]\");\n const upfrontFeeItems =\n this.dealUpfrontFeeSelector.querySelectorAll(\"li\");\n\n const upfrontFeeIndex = Array.from(upfrontFeeItems).findIndex(\n (n) =>\n parseFloat(n.dataset.upfrontFee, 10) ===\n parseFloat(upfrontFee, 10),\n );\n this.dealUpfrontFeeSelector.scrollLeft = itemWidthPx * upfrontFeeIndex;\n }\n\n hidePrefs() {\n if (!this.prefsOptionsContainerTarget.classList.contains(\"is-hidden\")) {\n this.prefsOptionsContainerTarget.classList.add(\"is-hidden\");\n this.prefsToggleButtonTarget.textContent = \"Personalise My Deals\";\n }\n }\n\n showPrefs() {\n this.prefsOptionsContainerTarget.classList.remove(\"is-hidden\");\n this.prefsToggleButtonTarget.textContent = \"Cancel Customisation\";\n }\n\n hideDeals() {\n this.dealsListContainerTarget.classList.add(\"is-hidden\");\n }\n\n showDeals() {\n this.dealsListContainerTarget.classList.remove(\"is-hidden\");\n }\n\n hideContentAndRetrieveDeals(ev) {\n ev.preventDefault();\n if (this.appView == \"yes\") {\n this.dealsListTarget.classList.add(\"is-hidden\");\n this.showDeals();\n } else {\n this.snapToDeals();\n }\n\n let body = new URLSearchParams(new FormData(this.prefsformTarget));\n this.retrieve(body);\n\n this.hidePrefs();\n }\n\n snapToDeals() {\n this.dealsListContainerTarget.scrollIntoView();\n }\n\n showLoading() {\n this.loadingIconTarget.classList.remove(\"hide-deal-loader\");\n this.loadingIconTarget.classList.add(\"is-spinning\");\n // This seems strange compared to scrollIntoView() but this page is now\n // nested inside an iframe at bestmobiledeal.com and scrollIntoView()\n // affects the scroll of the parent page.\n document.documentElement.scrollTop =\n this.toggleContractTypeTarget.offsetTop;\n }\n\n hideLoading() {\n this.loadingIconTarget.classList.add(\"hide-deal-loader\");\n this.loadingIconTarget.classList.remove(\"is-spinning\");\n }\n\n retrieve(body = \"\") {\n this.showLoading();\n let url = this.buildFetchDataURL();\n console.log(\"rails\", Rails);\n\n const aidMatch = document.cookie.match(/afUserId=(?.+?);/);\n const appsflyerID = aidMatch ? aidMatch.groups.aid : \"none\";\n\n let fetchData = {\n method: \"POST\",\n credentials: \"same-origin\",\n headers: {\n \"X-Requested-With\": \"XMLHttpRequest\",\n \"X-CSRF-Token\": Rails.csrfToken(),\n \"X-BMD-Appsflyer-ID\": appsflyerID,\n },\n body: body,\n };\n fetch(url, fetchData)\n .then((response) => {\n return response.text();\n })\n .catch((err) => {\n return `

    There was an error retrieving the deals.

    `;\n })\n .then((data) => {\n this.hideLoading();\n this.updateList(data);\n });\n }\n\n onAjaxSuccess(e) {\n let [data, status, xhr] = e.detail;\n this.updateList(xhr.response);\n }\n\n updateList(data) {\n let dealsList = this.dealsListTarget;\n this.dealsListTarget.classList.remove(\"is-hidden\");\n dealsList.innerHTML = data;\n }\n\n resetSimOnlyDealsInputs() {\n let body = new URLSearchParams(new FormData(this.prefsformTarget));\n body.set(\"deal_preference[deal_network_ids][]\", \"\");\n body.set(\"deal_preference[contract_lengths_sim_only][]\", \"\");\n body.set(\"deal_preference[data_usage_bytes]\", \"\");\n body.set(\"deal_preference[current_network]\", \"\");\n this.dealNetworksSelector.scrollLeft = 0;\n this.dealCurrentNetworkSelector.scrollLeft = 0;\n this.dealContractLengthSimOnlySelector.scrollLeft = 0;\n this.dealUsageBytesSelector.scrollLeft = 0;\n }\n\n resetHandsetDealsInputs() {\n let body = new URLSearchParams(new FormData(this.prefsformTarget));\n body.set(\"deal_preference[deal_handset_ids][]\", \"\");\n body.set(\"deal_preference[deal_product_version_ids][]\", \"\");\n body.set(\"deal_preference[capacity]\", \"\");\n body.set(\"deal_preference[deal_network_ids][]\", \"\");\n body.set(\"deal_preference[upfront_fee]\", \"\");\n body.set(\"deal_preference[contract_lengths_handset][]\", \"\");\n body.set(\"deal_preference[contract_type]\", \"sim_only\");\n body.set(\"deal_preference[current_network]\", \"\");\n this.dealNetworksSelector.scrollLeft = 0;\n this.dealCurrentNetworkSelector.scrollLeft = 0;\n this.dealHandsetsSelector.scrollLeft = 0;\n this.dealModelSelector.scrollLeft = 0;\n this.dealContractLengthHandsetSelector.scrollLeft = 0;\n this.dealCapacityDefaultSelector.scrollLeft = 0;\n this.dealCapacitySelector.scrollLeft = 0;\n this.dealUpfrontFeeSelector.scrollLeft = 0;\n }\n\n initContractTypeSelector() {\n const handsetFilters = document.querySelectorAll(\n \".display_handset_only\",\n );\n const simOnlyFilters = document.querySelectorAll(\".display_sim_only\");\n\n const contractTypeRadios = document.querySelectorAll(\n 'input[type=\"radio\"][name=\"deal_preference[contract_type]\"]',\n );\n contractTypeRadios.forEach((radio) => {\n radio.addEventListener(\"change\", (e) => {\n const { value } = e.currentTarget;\n\n if (value === \"sim_only\") {\n this.resetHandsetDealsInputs();\n let body = new URLSearchParams(\n new FormData(this.prefsformTarget),\n );\n this.retrieve(body);\n\n handsetFilters.forEach((filter) => {\n filter.classList.add(\"is-hidden\");\n });\n simOnlyFilters.forEach((filter) => {\n filter.classList.remove(\"is-hidden\");\n });\n }\n\n if (value === \"handset\") {\n this.resetSimOnlyDealsInputs();\n let body = new URLSearchParams(\n new FormData(this.prefsformTarget),\n );\n this.retrieve(body);\n\n handsetFilters.forEach((filter) => {\n filter.classList.remove(\"is-hidden\");\n });\n simOnlyFilters.forEach((filter) => {\n filter.classList.add(\"is-hidden\");\n });\n }\n });\n });\n }\n}\n\nfunction itemWidthForScroll(itemElement) {\n const itemMarginRight = parseInt(\n window.getComputedStyle(itemElement)[\"margin-right\"],\n );\n return itemElement.offsetWidth + itemMarginRight;\n}\n\nfunction onSliderScroll(element, setDataLabel, callback) {\n var list = element;\n var label = element.parentNode.getElementsByTagName(\"span\")[0];\n\n // Calculate the width an item takes up. The left margin seems to be used for\n // moving all the list items to the middle of the page, so ignore it.\n const first = list.children[0];\n const index = Math.floor(list.scrollLeft / itemWidthForScroll(first));\n\n const items = list.querySelectorAll(\"li:not(.is-hidden)\");\n var item = items[index];\n\n //For the constant labels\n if (setDataLabel) {\n if (label.hasAttribute(\"data-default\")) {\n // We have the label value here and can do what we want with it\n if (item.hasAttribute(\"data-label\")) {\n label.textContent = item.dataset.label;\n } else {\n label.textContent = label.dataset.default;\n }\n }\n }\n\n callback(item, this);\n}\n\n//Remove the .last-visible from previously last\nfunction removeLastVisble(selector) {\n const lastVisible = document.querySelector(selector);\n if (lastVisible) {\n lastVisible.classList.remove(\"last-visible\");\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"buttonContainer\", \"form\"]\n\n initialize() {\n this.checkShouldShowForm();\n window.addEventListener('resize', () => {\n this.checkShouldShowForm();\n });\n }\n\n onClick() {\n this.hideButtonContainer();\n this.showForm();\n }\n\n private\n\n showForm() {\n this.formTarget.classList.remove(\"is-hidden\");\n }\n\n hideForm() {\n this.formTarget.classList.add(\"is-hidden\");\n }\n\n hideButtonContainer() {\n this.buttonContainerTarget.classList.remove('is-display-block@bp-small');\n }\n\n checkShouldShowForm() {\n if(!this.buttonContainerTargets.length) return;\n if(this.buttonIsVisible()) {\n this.hideForm();\n } else {\n this.showForm();\n }\n }\n\n buttonIsVisible() {\n let buttonContainerStyle = window.getComputedStyle(this.buttonContainerTarget);\n return buttonContainerStyle.display == 'block';\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\nimport Rails from '@rails/ujs'\nimport { dispatchEvent } from \"../../helpers\"\n\nexport default class extends Controller { \n static targets = [\"form\", \"tabs\", \"tabLink\"]\n\n onChangeSwitch(e) {\n e.preventDefault();\n let form = this.formTargets.find((formTarget) => {\n return formTarget.getAttribute(\"data-alarm-id\") == e.currentTarget.value;\n });\n if(form) Rails.fire(form, 'submit');\n }\n\n onAjaxSuccess(e) {\n let [data, status, xhr] = e.detail;\n this.element.innerHTML = xhr.response;\n let activeTabLink = this.findActiveTab();\n if(activeTabLink) dispatchEvent(activeTabLink, 'click');\n this.updateTotalAlarmCount();\n }\n\n private\n\n findActiveTab() {\n let locationHash = window.location.hash\n return this.tabLinkTargets.find((tabLinkTarget) => {\n return locationHash == tabLinkTarget.getAttribute('href');\n });\n }\n\n updateTotalAlarmCount() {\n let totalAlarmCount = this.tabsTarget.getAttribute(\"data-total-alarm-count\");\n this.totalAlarmCountController.update(totalAlarmCount);\n }\n\n get totalAlarmCountController() {\n let alarmCountElement = document.querySelector('[data-text-update-id=\"device-total-alarm-count\"]');\n return this.application.getControllerForElementAndIdentifier(alarmCountElement, \"ui--text-update\");\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\nimport { dispatchEvent } from \"../../helpers\"\n\nexport default class extends Controller {\n static targets = [\"amountField\", \"amountInput\", \"defaultUnitRadio\", \"yesRadio\"]\n\n initialize() {\n this.showError();\n }\n\n resetFields() {\n this.defaultUnitRadioTarget.checked = true;\n this.amountInputTarget.value = this.amountInputTarget.getAttribute(\"data-default-value\") || undefined;\n }\n\n private\n\n showError() {\n let hasError = this.amountFieldTarget.classList.contains(\"has-error\");\n if(hasError) {\n this.yesRadioTarget.checked = true;\n dispatchEvent(this.yesRadioTarget, 'change');\n }\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"individualAmount\", \"individualUnit\"]\n\n initialize() {\n this.topUpAmount = parseFloat(this.element.getAttribute('data-top-up-amount')) || 0;\n }\n\n onAnswer() {\n this.calculateTotal();\n }\n\nprivate\n calculateTotal() {\n const individualUnit = this.individualUnitTargets.find(unit => unit.checked);\n let individualInitialValue = this.individualAmountTarget.value || 0;\n const individualValue = this.calculateAmountInBytes(individualInitialValue, individualUnit.attributes.value);\n this.totalAmount = this.humanReadableAmount(individualValue);\n }\n\n totalTextTemplate(totalAmount) {\n return `Total monthly domestic allowance: ${totalAmount}`;\n }\n\n calculateAmountInBytes(amount, unit) {\n if (unit.value === 'GB') {\n return (parseFloat(amount) * 1000000000);\n } else {\n return parseFloat(amount) * 1000000;\n }\n }\n\n humanReadableAmount(bytes) {\n const thresh = 1000;\n if (bytes < thresh) return bytes + ' B';\n const units = ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n let index = -1;\n do {\n bytes /= thresh;\n index++;\n } while (bytes >= thresh);\n return bytes + units[index];\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"toggleFieldsButton\", \"fields\", \"errorContainer\", \"submitButton\"]\n\n initialize() {\n if (!this.hasFieldsTarget) { return }\n if(!this.isFieldsHidden() || this.hasError()) {\n this.showFields();\n }\n if(!this.hasError()) {\n this.errorContainerTarget.classList.add(\"is-hidden\");\n }\n }\n\n toggleFields() {\n if(this.isFieldsHidden()) {\n this.showFields();\n } else {\n this.hideFields();\n }\n }\n\n onAjaxSuccess(e) {\n let [data, status, xhr] = e.detail;\n this.element.innerHTML = xhr.response;\n }\n\n onSubmit() {\n this.submitButtonTarget.classList.add('is-loading');\n this.submitButtonTarget.setAttribute('disabled', 'disabled');\n }\n\n private\n\n isFieldsHidden() {\n return this.fieldsTarget.classList.contains(\"is-hidden\");\n }\n\n hasError() {\n return this.errorContainerTarget.querySelectorAll(\".is-error-message\").length > 0;\n }\n\n showFields() {\n this.fieldsTarget.classList.remove(\"is-hidden\");\n this.toggleFieldsButtonTarget.classList.add(\"has-vertically-inverted-icon\");\n }\n\n hideFields() {\n this.fieldsTarget.classList.add(\"is-hidden\");\n this.toggleFieldsButtonTarget.classList.remove(\"has-vertically-inverted-icon\");\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"details\", \"form\", \"sideTabs\", \"submitButton\"]\n\n initialize() {\n this.checkShouldShowForm();\n }\n\n onClickEdit(e) {\n e.preventDefault();\n this.showForm();\n }\n\n onClickCancel(e) {\n e.preventDefault();\n this.hideForm();\n }\n\n onAjaxSuccess(e) {\n let [data, status, xhr] = e.detail;\n this.element.innerHTML = xhr.response;\n this.checkShouldShowForm();\n }\n\n onSubmit(e) {\n this.submitButtonTarget.classList.add('is-loading');\n this.submitButtonTarget.setAttribute('disabled', 'disabled');\n }\n\n private\n\n checkShouldShowForm() {\n if(this.formTarget.getAttribute(\"data-has-error\") == 'true') {\n this.showForm();\n }\n }\n\n showForm() {\n this.detailsTarget.classList.add(\"is-hidden\");\n this.sideTabsTarget.classList.add(\"is-hidden\");\n this.formTarget.classList.remove(\"is-hidden\");\n }\n\n hideForm() {\n this.detailsTarget.classList.remove(\"is-hidden\");\n this.sideTabsTarget.classList.remove(\"is-hidden\");\n this.formTarget.classList.add(\"is-hidden\");\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\n\nexport default class extends Controller {\n static targets = ['list', 'statusFilter', 'tagFilter', 'queryFilter'];\n\n onChange(e) {\n let data = this.setData();\n this.filter(data, e);\n }\n\n private;\n\n filter(data, e) {\n let url = '/devices_management/filter';\n let fetchData = {\n method: 'POST',\n body: JSON.stringify(data),\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n\n fetch(url, fetchData)\n .then((response) => {\n return response.text();\n })\n .then((data) => {\n this.updateDevicesList(data);\n });\n }\n\n updateDevicesList(data) {\n let filteredList = this.listTarget;\n filteredList.innerHTML = data;\n }\n\n setData() {\n return {\n search: {\n status: this.statusFilterTarget.value,\n tag: this.tagFilterTarget.value,\n query: this.queryFilterTarget.value\n }\n };\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"form\", \"cardDetails\", \"errorContainer\", \"cardFormField\", \"submitButton\", \"nameField\"]\n\n initialize() {\n this.stripe = Stripe('pk_test_I5ZgAf6MXuiDi0b1xSyFBjth');\n this.elements = this.stripe.elements();\n this.setupCard();\n this.card.mount(this.cardDetailsTarget);\n this.cardDetailsComplete = false\n this.nameFieldComplete = false\n }\n\n setupCard() {\n let style = {\n base: {\n color: '#1A1E40',\n fontFamily: '\"WorkSans\", Helvetica, Arial, \"Lucida Grande\", sans-serif',\n fontSmoothing: 'antialiased',\n fontSize: '14px',\n '::placeholder': {\n color: '#A4A6B6'\n }\n },\n invalid: {\n color: '#FF9100',\n iconColor: '#FF9100'\n }\n };\n this.card = this.elements.create('card', {iconStyle: 'solid', style: style});\n\n this.card.addEventListener('change', (event) => {\n this.cardDetailsComplete = false\n if(event.complete) {\n this.cardDetailsComplete = true\n }\n if (event.error) {\n this.showError(error.message);\n } else {\n this.hideError();\n }\n this.validate()\n });\n }\n\n\n onSubmit(e) {\n e.preventDefault()\n this.stripe.createToken(this.card).then((result) => {\n if (result.error) {\n this.showError(result.error.message);\n } else {\n let form = this.formTarget;\n let hiddenInput = document.createElement('input');\n hiddenInput.setAttribute('type', 'hidden');\n hiddenInput.setAttribute('name', 'stripe_token');\n hiddenInput.setAttribute('value', result.token.id);\n form.appendChild(hiddenInput);\n form.submit();\n }\n });\n }\n\n validate() {\n let valid = true;\n valid = this.cardDetailsComplete && this.nameFieldTarget.value\n if(valid) {\n this.submitButtonTarget.removeAttribute('disabled');\n } else {\n this.submitButtonTarget.setAttribute('disabled', 'disabled');\n }\n }\n\n private\n\n showError(message) {\n this.errorContainerTarget.textContent = message\n this.cardFormFieldTarget.classList.add(\"has-error\")\n }\n\n hideError() {\n this.cardFormFieldTarget.classList.remove(\"has-error\")\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"selectAllDevicesCheckbox\", \"deviceCheckbox\", \"singularText\", \"pluralText\"]\n\n onChange(e) {\n let value = e.currentTarget.checked\n this.deviceCheckboxTargets.forEach((deviceCheckbox) => {\n deviceCheckbox.checked = value;\n })\n }\n\n onClick() {\n let numberOfCheckboxes = this.deviceCheckboxTargets.length\n let checkboxesChecked = this.deviceCheckboxTargets.filter(deviceCheckbox => deviceCheckbox.checked)\n if (numberOfCheckboxes > checkboxesChecked.length) {\n this.selectAllDevicesCheckboxTarget.checked = false\n } else {\n this.selectAllDevicesCheckboxTarget.checked = true;\n }\n }\n\n updateSelectedCount() {\n let checkboxesCheckedCount = this.deviceCheckboxTargets\n .filter(deviceCheckbox => deviceCheckbox.checked)\n .length\n\n checkboxesCheckedCount == 1 \n ? this.showHide(this.singularTextTargets, this.pluralTextTargets)\n : this.showHide(this.pluralTextTargets, this.singularTextTargets);\n }\n\n private\n\n showHide(show, hide) {\n show.forEach( el => el.classList.remove('is-hidden'))\n hide.forEach( el => el.classList.add('is-hidden'))\n }\n}", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"individualAnswer\"]\n\n onAnswer() {\n if (!this.answeredIndividual) {\n return;\n }\n this.allowanceTotalsController.onAnswer();\n }\n\nprivate\n\n get answeredIndividual() {\n let checked = false;\n this.individualAnswerTargets.forEach((answer) => {\n if (answer.checked) {\n checked = true;\n }\n });\n return checked;\n }\n\n get allowanceTotalsController() {\n return this.application.getControllerForElementAndIdentifier(this.element, \"devices--data-allowance-totals\");\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\n\nexport default class extends Controller {\n static targets = ['form'];\n\n initialize() {\n this.path = this.element.getAttribute('data-path');\n }\n connect() {\n this.retrieve();\n }\n\n retrieve(body = '') {\n let fetchData = {\n method: 'GET',\n credentials: 'same-origin',\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n fetch(this.path, fetchData)\n .then((response) => {\n return response.text();\n })\n .then((data) => {\n this.updateMenu(data);\n });\n }\n\n onAjaxSuccess(e) {\n let [data, status, xhr] = e.detail;\n this.updateMenu(xhr.response);\n }\n\n updateMenu(data) {\n let form = this.formTarget;\n form.innerHTML = data;\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\nimport moment from \"moment\"\n\nexport default class extends Controller {\n static targets = [\"list\", \"item\", \"startDate\", \"dataAmount\", \"dataUnit\"]\n\n initialize() {\n this.currentUserCreatedAt = this.element.getAttribute('data-current-user-created-at');\n this.id = parseInt(this.element.getAttribute('data-highest-top-up-id')) + 1;\n }\n\n add(e) {\n e.preventDefault();\n const startDate = moment(this.startDateTarget.value, 'YYYY-MM-DD').format('D/MM/YYYY');\n const dataAllowance = this.dataAmountTarget.value + this.dataUnit.value;\n this.listTarget.insertAdjacentHTML('afterbegin', this.topUpItemTemplate(startDate, dataAllowance, this.id));\n this.id += 1;\n this.clearFields();\n }\n\nprivate\n clearFields() {\n this.flatpackerController.clear();\n this.dataAmountTarget.value = '';\n this.dataUnitTargets.forEach((unit) => {\n unit.checked = unit.value == \"GB\" ? true : false;\n })\n }\n\n topUpItemTemplate(startDate, allowance, id) {\n return `\n
  • \n

    \n ${startDate}\n

    \n
    \n

    \n ${allowance}\n

    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n ${this.calendarSVG}\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n
  • \n `\n }\n\n get dataUnit() {\n return this.dataUnitTargets.find((unit) => {\n return unit.checked;\n })\n }\n\n get flatpackerController() {\n const element = this.element.getElementsByTagName('input')[0];\n return this.application.getControllerForElementAndIdentifier(element, 'forms--datepicker');\n }\n\n get pencilSVG() {\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n `\n }\n\n get binSVG() {\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n `\n }\n\n get calendarSVG() {\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\nimport moment from \"moment\"\n\nexport default class extends Controller {\n static targets = [\"item\", \"editDeleteButtonList\", \"editForm\", \"startDateText\", \"allowanceText\", \"allowanceFieldInput\", \"dataUnitButton\", \"startDateFieldInput\", \"startDateField\", \"allowanceField\"]\n\n delete(e) {\n e.preventDefault();\n this.id = this.itemTarget.getAttribute('data-list-id');\n this.itemTarget.classList.add('has-scored-out-text');\n this.editFormTarget.insertAdjacentHTML('afterbegin', this.markedForDeletionField);\n this.editDeleteButtonListTarget.classList.add('is-hidden');\n }\n\n edit(e) {\n e.preventDefault();\n this.hideList();\n this.showForm();\n }\n\n cancel(e) {\n e.preventDefault();\n this.hideForm();\n this.showList();\n }\n\n save(e) {\n e.preventDefault();\n this.clearErrors();\n if (this.validateInputs()) {\n return;\n };\n this.startDateTextTarget.innerText = moment(this.startDateFieldInputTarget.value, 'YYYY-MM-DD').format('D/MM/YYYY');;\n const checkedUnit = this.dataUnitButtonTargets.find((button) => {\n return button.checked === true;\n })\n this.allowanceTextTarget.innerText = this.allowanceFieldInputTarget.value + checkedUnit.value;\n this.hideForm();\n this.showList();\n this.setUpForm();\n }\n\nprivate\n hideList() {\n this.startDateTextTarget.classList.add('is-hidden');\n this.allowanceTextTarget.classList.add('is-hidden');\n this.editDeleteButtonListTarget.classList.add('is-hidden');\n }\n\n showList() {\n this.startDateTextTarget.classList.remove('is-hidden');\n this.allowanceTextTarget.classList.remove('is-hidden');\n this.editDeleteButtonListTarget.classList.remove('is-hidden');\n }\n\n showForm() {\n this.setUpForm();\n this.editFormTarget.classList.remove('is-hidden');\n }\n\n hideForm() {\n this.editFormTarget.classList.add('is-hidden');\n }\n\n setUpForm() {\n const currentDate = moment(this.startDateTextTarget.innerText, 'D/MM/YYYY').format('YYYY-MM-DD');\n this.flatpackerController.setPlaceHolder(currentDate);\n const allowanceUnit = this.allowanceTextTarget.innerText.match(this.letterRegex);\n const allowanceValue = parseFloat(this.allowanceTextTarget.innerText)\n this.allowanceFieldInputTarget.value = allowanceValue;\n this.dataUnitButtonTargets.forEach((button) => {\n if (button.value === allowanceUnit[0]) {\n button.checked = true;\n }\n })\n }\n\n validateInputs() {\n let emptyField = false;\n if (!this.startDateFieldInputTarget.value) {\n this.startDateFieldTarget.classList.add('has-error');\n this.startDateFieldTarget.insertAdjacentHTML('beforeend', this.error('Date cannot be blank'));\n emptyField = true;\n }\n\n if (!this.allowanceFieldInputTarget.value) {\n this.allowanceFieldTarget.classList.add('has-error');\n this.allowanceFieldTarget.insertAdjacentHTML('beforeend', this.error('Top-up amount cannot be blank'));\n emptyField = true;\n }\n return emptyField;\n }\n\n clearErrors() {\n const errors = document.querySelectorAll('.is-error-message');\n if (errors.length > 0) {\n errors.forEach((error) => {\n error.parentNode.classList.remove('has-error');\n error.remove();\n })\n }\n }\n\n error(message) {\n return `\n \n ${message}\n \n `\n }\n\n get markedForDeletionField() {\n return `\n \n `\n }\n\n get flatpackerController() {\n const element = this.element.getElementsByTagName('input')[0];\n return this.application.getControllerForElementAndIdentifier(element, 'forms--datepicker')\n }\n\n get letterRegex() {\n return /[a-zA-Z]+/\n }\n}\n", "export var HOOKS = [\n \"onChange\",\n \"onClose\",\n \"onDayCreate\",\n \"onDestroy\",\n \"onKeyDown\",\n \"onMonthChange\",\n \"onOpen\",\n \"onParseConfig\",\n \"onReady\",\n \"onValueUpdate\",\n \"onYearChange\",\n \"onPreCalendarPosition\",\n];\nexport var defaults = {\n _disable: [],\n allowInput: false,\n allowInvalidPreload: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" &&\n window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n autoFillDefaultTime: true,\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enableSeconds: false,\n enableTime: false,\n errorHandler: function (err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: function (givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));\n var week1 = new Date(date.getFullYear(), 0, 4);\n return (1 +\n Math.round(((date.getTime() - week1.getTime()) / 86400000 -\n 3 +\n ((week1.getDay() + 6) % 7)) /\n 7));\n },\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n monthSelectorType: \"dropdown\",\n nextArrow: \"\",\n noCalendar: false,\n now: new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: undefined,\n prevArrow: \"\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false,\n};\n", "export var english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n },\n months: {\n shorthand: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n longhand: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function (nth) {\n var s = nth % 100;\n if (s > 3 && s < 21)\n return \"th\";\n switch (s % 10) {\n case 1:\n return \"st\";\n case 2:\n return \"nd\";\n case 3:\n return \"rd\";\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\",\n monthAriaLabel: \"Month\",\n hourAriaLabel: \"Hour\",\n minuteAriaLabel: \"Minute\",\n time_24hr: false,\n};\nexport default english;\n", "export var pad = function (number, length) {\n if (length === void 0) { length = 2; }\n return (\"000\" + number).slice(length * -1);\n};\nexport var int = function (bool) { return (bool === true ? 1 : 0); };\nexport function debounce(fn, wait) {\n var t;\n return function () {\n var _this = this;\n var args = arguments;\n clearTimeout(t);\n t = setTimeout(function () { return fn.apply(_this, args); }, wait);\n };\n}\nexport var arrayify = function (obj) {\n return obj instanceof Array ? obj : [obj];\n};\n", "export function toggleClass(elem, className, bool) {\n if (bool === true)\n return elem.classList.add(className);\n elem.classList.remove(className);\n}\nexport function createElement(tag, className, content) {\n var e = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e.className = className;\n if (content !== undefined)\n e.textContent = content;\n return e;\n}\nexport function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n}\nexport function findParent(node, condition) {\n if (condition(node))\n return node;\n else if (node.parentNode)\n return findParent(node.parentNode, condition);\n return undefined;\n}\nexport function createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"), numInput = createElement(\"input\", \"numInput \" + inputClassName), arrowUp = createElement(\"span\", \"arrowUp\"), arrowDown = createElement(\"span\", \"arrowDown\");\n if (navigator.userAgent.indexOf(\"MSIE 9.0\") === -1) {\n numInput.type = \"number\";\n }\n else {\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n }\n if (opts !== undefined)\n for (var key in opts)\n numInput.setAttribute(key, opts[key]);\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n}\nexport function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n}\n", "import { int, pad } from \"../utils\";\nvar doNothing = function () { return undefined; };\nexport var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\nexport var revFormat = {\n D: doNothing,\n F: function (dateObj, monthName, locale) {\n dateObj.setMonth(locale.months.longhand.indexOf(monthName));\n },\n G: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n H: function (dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n J: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n K: function (dateObj, amPM, locale) {\n dateObj.setHours((dateObj.getHours() % 12) +\n 12 * int(new RegExp(locale.amPM[1], \"i\").test(amPM)));\n },\n M: function (dateObj, shortMonth, locale) {\n dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));\n },\n S: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n U: function (_, unixSeconds) { return new Date(parseFloat(unixSeconds) * 1000); },\n W: function (dateObj, weekNum, locale) {\n var weekNumber = parseInt(weekNum);\n var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);\n date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek);\n return date;\n },\n Y: function (dateObj, year) {\n dateObj.setFullYear(parseFloat(year));\n },\n Z: function (_, ISODate) { return new Date(ISODate); },\n d: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n h: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n i: function (dateObj, minutes) {\n dateObj.setMinutes(parseFloat(minutes));\n },\n j: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n l: doNothing,\n m: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n n: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n s: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n u: function (_, unixMillSeconds) {\n return new Date(parseFloat(unixMillSeconds));\n },\n w: doNothing,\n y: function (dateObj, year) {\n dateObj.setFullYear(2000 + parseFloat(year));\n },\n};\nexport var tokenRegex = {\n D: \"\",\n F: \"\",\n G: \"(\\\\d\\\\d|\\\\d)\",\n H: \"(\\\\d\\\\d|\\\\d)\",\n J: \"(\\\\d\\\\d|\\\\d)\\\\w+\",\n K: \"\",\n M: \"\",\n S: \"(\\\\d\\\\d|\\\\d)\",\n U: \"(.+)\",\n W: \"(\\\\d\\\\d|\\\\d)\",\n Y: \"(\\\\d{4})\",\n Z: \"(.+)\",\n d: \"(\\\\d\\\\d|\\\\d)\",\n h: \"(\\\\d\\\\d|\\\\d)\",\n i: \"(\\\\d\\\\d|\\\\d)\",\n j: \"(\\\\d\\\\d|\\\\d)\",\n l: \"\",\n m: \"(\\\\d\\\\d|\\\\d)\",\n n: \"(\\\\d\\\\d|\\\\d)\",\n s: \"(\\\\d\\\\d|\\\\d)\",\n u: \"(.+)\",\n w: \"(\\\\d\\\\d|\\\\d)\",\n y: \"(\\\\d{2})\",\n};\nexport var formats = {\n Z: function (date) { return date.toISOString(); },\n D: function (date, locale, options) {\n return locale.weekdays.shorthand[formats.w(date, locale, options)];\n },\n F: function (date, locale, options) {\n return monthToStr(formats.n(date, locale, options) - 1, false, locale);\n },\n G: function (date, locale, options) {\n return pad(formats.h(date, locale, options));\n },\n H: function (date) { return pad(date.getHours()); },\n J: function (date, locale) {\n return locale.ordinal !== undefined\n ? date.getDate() + locale.ordinal(date.getDate())\n : date.getDate();\n },\n K: function (date, locale) { return locale.amPM[int(date.getHours() > 11)]; },\n M: function (date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n S: function (date) { return pad(date.getSeconds()); },\n U: function (date) { return date.getTime() / 1000; },\n W: function (date, _, options) {\n return options.getWeek(date);\n },\n Y: function (date) { return pad(date.getFullYear(), 4); },\n d: function (date) { return pad(date.getDate()); },\n h: function (date) { return (date.getHours() % 12 ? date.getHours() % 12 : 12); },\n i: function (date) { return pad(date.getMinutes()); },\n j: function (date) { return date.getDate(); },\n l: function (date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n m: function (date) { return pad(date.getMonth() + 1); },\n n: function (date) { return date.getMonth() + 1; },\n s: function (date) { return date.getSeconds(); },\n u: function (date) { return date.getTime(); },\n w: function (date) { return date.getDay(); },\n y: function (date) { return String(date.getFullYear()).substring(2); },\n};\n", "import { tokenRegex, revFormat, formats, } from \"./formatting\";\nimport { defaults } from \"../types/options\";\nimport { english } from \"../l10n/default\";\nexport var createDateFormatter = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;\n return function (dateObj, frmt, overrideLocale) {\n var locale = overrideLocale || l10n;\n if (config.formatDate !== undefined && !isMobile) {\n return config.formatDate(dateObj, frmt, locale);\n }\n return frmt\n .split(\"\")\n .map(function (c, i, arr) {\n return formats[c] && arr[i - 1] !== \"\\\\\"\n ? formats[c](dateObj, locale, config)\n : c !== \"\\\\\"\n ? c\n : \"\";\n })\n .join(\"\");\n };\n};\nexport var createDateParser = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;\n return function (date, givenFormat, timeless, customLocale) {\n if (date !== 0 && !date)\n return undefined;\n var locale = customLocale || l10n;\n var parsedDate;\n var dateOrig = date;\n if (date instanceof Date)\n parsedDate = new Date(date.getTime());\n else if (typeof date !== \"string\" &&\n date.toFixed !== undefined)\n parsedDate = new Date(date);\n else if (typeof date === \"string\") {\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n if (datestr === \"today\") {\n parsedDate = new Date();\n timeless = true;\n }\n else if (config && config.parseDate) {\n parsedDate = config.parseDate(date, format);\n }\n else if (/Z$/.test(datestr) ||\n /GMT$/.test(datestr)) {\n parsedDate = new Date(date);\n }\n else {\n var matched = void 0, ops = [];\n for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n var token = format[i];\n var isBackSlash = token === \"\\\\\";\n var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n if (tokenRegex[token] && !escaped) {\n regexStr += tokenRegex[token];\n var match = new RegExp(regexStr).exec(date);\n if (match && (matched = true)) {\n ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token],\n val: match[++matchIndex],\n });\n }\n }\n else if (!isBackSlash)\n regexStr += \".\";\n }\n parsedDate =\n !config || !config.noCalendar\n ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0)\n : new Date(new Date().setHours(0, 0, 0, 0));\n ops.forEach(function (_a) {\n var fn = _a.fn, val = _a.val;\n return (parsedDate = fn(parsedDate, val, locale) || parsedDate);\n });\n parsedDate = matched ? parsedDate : undefined;\n }\n }\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + dateOrig));\n return undefined;\n }\n if (timeless === true)\n parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n};\nexport function compareDates(date1, date2, timeless) {\n if (timeless === void 0) { timeless = true; }\n if (timeless !== false) {\n return (new Date(date1.getTime()).setHours(0, 0, 0, 0) -\n new Date(date2.getTime()).setHours(0, 0, 0, 0));\n }\n return date1.getTime() - date2.getTime();\n}\nexport function compareTimes(date1, date2) {\n return (3600 * (date1.getHours() - date2.getHours()) +\n 60 * (date1.getMinutes() - date2.getMinutes()) +\n date1.getSeconds() -\n date2.getSeconds());\n}\nexport var isBetween = function (ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n};\nexport var calculateSecondsSinceMidnight = function (hours, minutes, seconds) {\n return hours * 3600 + minutes * 60 + seconds;\n};\nexport var parseSeconds = function (secondsSinceMidnight) {\n var hours = Math.floor(secondsSinceMidnight / 3600), minutes = (secondsSinceMidnight - hours * 3600) / 60;\n return [hours, minutes, secondsSinceMidnight - hours * 3600 - minutes * 60];\n};\nexport var duration = {\n DAY: 86400000,\n};\nexport function getDefaultHours(config) {\n var hours = config.defaultHour;\n var minutes = config.defaultMinute;\n var seconds = config.defaultSeconds;\n if (config.minDate !== undefined) {\n var minHour = config.minDate.getHours();\n var minMinutes = config.minDate.getMinutes();\n var minSeconds = config.minDate.getSeconds();\n if (hours < minHour) {\n hours = minHour;\n }\n if (hours === minHour && minutes < minMinutes) {\n minutes = minMinutes;\n }\n if (hours === minHour && minutes === minMinutes && seconds < minSeconds)\n seconds = config.minDate.getSeconds();\n }\n if (config.maxDate !== undefined) {\n var maxHr = config.maxDate.getHours();\n var maxMinutes = config.maxDate.getMinutes();\n hours = Math.min(hours, maxHr);\n if (hours === maxHr)\n minutes = Math.min(maxMinutes, minutes);\n if (hours === maxHr && minutes === maxMinutes)\n seconds = config.maxDate.getSeconds();\n }\n return { hours: hours, minutes: minutes, seconds: seconds };\n}\n", "\"use strict\";\nif (typeof Object.assign !== \"function\") {\n Object.assign = function (target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n var _loop_1 = function (source) {\n if (source) {\n Object.keys(source).forEach(function (key) { return (target[key] = source[key]); });\n }\n };\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var source = args_1[_a];\n _loop_1(source);\n }\n return target;\n };\n}\n", "var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { defaults as defaultOptions, HOOKS, } from \"./types/options\";\nimport English from \"./l10n/default\";\nimport { arrayify, debounce, int, pad } from \"./utils\";\nimport { clearNode, createElement, createNumberInput, findParent, toggleClass, getEventTarget, } from \"./utils/dom\";\nimport { compareDates, createDateParser, createDateFormatter, duration, isBetween, getDefaultHours, calculateSecondsSinceMidnight, parseSeconds, } from \"./utils/dates\";\nimport { tokenRegex, monthToStr } from \"./utils/formatting\";\nimport \"./utils/polyfills\";\nvar DEBOUNCED_CHANGE_MS = 300;\nfunction FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: __assign(__assign({}, defaultOptions), flatpickr.defaultConfig),\n l10n: English,\n };\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n self._handlers = [];\n self.pluginElements = [];\n self.loadedPlugins = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self.onMouseOver = onMouseOver;\n self._createElement = createElement;\n self.createDay = createDay;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.updateValue = updateValue;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function (month, yr) {\n if (month === void 0) { month = self.currentMonth; }\n if (yr === void 0) { yr = self.currentYear; }\n if (month === 1 && ((yr % 4 === 0 && yr % 100 !== 0) || yr % 400 === 0))\n return 29;\n return self.l10n.daysInMonth[month];\n },\n };\n }\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile)\n build();\n bindEvents();\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : undefined);\n }\n updateValue(false);\n }\n setCalendarWidth();\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n triggerEvent(\"onReady\");\n }\n function getClosestActiveElement() {\n var _a;\n return (((_a = self.calendarContainer) === null || _a === void 0 ? void 0 : _a.getRootNode())\n .activeElement || document.activeElement);\n }\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) {\n return;\n }\n else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function () {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n }\n if (self.daysContainer !== undefined) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width =\n daysWidth +\n (self.weekWrapper !== undefined\n ? self.weekWrapper.offsetWidth\n : 0) +\n \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n function updateTime(e) {\n if (self.selectedDates.length === 0) {\n var defaultDate = self.config.minDate === undefined ||\n compareDates(new Date(), self.config.minDate) >= 0\n ? new Date()\n : new Date(self.config.minDate.getTime());\n var defaults = getDefaultHours(self.config);\n defaultDate.setHours(defaults.hours, defaults.minutes, defaults.seconds, defaultDate.getMilliseconds());\n self.selectedDates = [defaultDate];\n self.latestSelectedDateObj = defaultDate;\n }\n if (e !== undefined && e.type !== \"blur\") {\n timeWrapper(e);\n }\n var prevValue = self._input.value;\n setHoursFromInputs();\n updateValue();\n if (self._input.value !== prevValue) {\n self._debouncedChange();\n }\n }\n function ampm2military(hour, amPM) {\n return (hour % 12) + 12 * int(amPM === self.l10n.amPM[1]);\n }\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n default:\n return hour % 12;\n }\n }\n function setHoursFromInputs() {\n if (self.hourElement === undefined || self.minuteElement === undefined)\n return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== undefined\n ? (parseInt(self.secondElement.value, 10) || 0) % 60\n : 0;\n if (self.amPM !== undefined) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n var limitMinHours = self.config.minTime !== undefined ||\n (self.config.minDate &&\n self.minDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.minDate, true) ===\n 0);\n var limitMaxHours = self.config.maxTime !== undefined ||\n (self.config.maxDate &&\n self.maxDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.maxDate, true) ===\n 0);\n if (self.config.maxTime !== undefined &&\n self.config.minTime !== undefined &&\n self.config.minTime > self.config.maxTime) {\n var minBound = calculateSecondsSinceMidnight(self.config.minTime.getHours(), self.config.minTime.getMinutes(), self.config.minTime.getSeconds());\n var maxBound = calculateSecondsSinceMidnight(self.config.maxTime.getHours(), self.config.maxTime.getMinutes(), self.config.maxTime.getSeconds());\n var currentTime = calculateSecondsSinceMidnight(hours, minutes, seconds);\n if (currentTime > maxBound && currentTime < minBound) {\n var result = parseSeconds(minBound);\n hours = result[0];\n minutes = result[1];\n seconds = result[2];\n }\n }\n else {\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== undefined\n ? self.config.maxTime\n : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours())\n minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes())\n seconds = Math.min(seconds, maxTime.getSeconds());\n }\n if (limitMinHours) {\n var minTime = self.config.minTime !== undefined\n ? self.config.minTime\n : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours() && minutes < minTime.getMinutes())\n minutes = minTime.getMinutes();\n if (minutes === minTime.getMinutes())\n seconds = Math.max(seconds, minTime.getSeconds());\n }\n }\n setHours(hours, minutes, seconds);\n }\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date && date instanceof Date) {\n setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n }\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== undefined) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n if (!self.hourElement || !self.minuteElement || self.isMobile)\n return;\n self.hourElement.value = pad(!self.config.time_24hr\n ? ((12 + hours) % 12) + 12 * int(hours % 12 === 0)\n : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== undefined)\n self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== undefined)\n self.secondElement.value = pad(seconds);\n }\n function onYearInput(event) {\n var eventTarget = getEventTarget(event);\n var year = parseInt(eventTarget.value) + (event.delta || 0);\n if (year / 1000 > 1 ||\n (event.key === \"Enter\" && !/[^\\d]/.test(year.toString()))) {\n changeYear(year);\n }\n }\n function bind(element, event, handler, options) {\n if (event instanceof Array)\n return event.forEach(function (ev) { return bind(element, ev, handler, options); });\n if (element instanceof Array)\n return element.forEach(function (el) { return bind(el, event, handler, options); });\n element.addEventListener(event, handler, options);\n self._handlers.push({\n remove: function () { return element.removeEventListener(event, handler, options); },\n });\n }\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n if (self.isMobile) {\n setupMobile();\n return;\n }\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent))\n bind(self.daysContainer, \"mouseover\", function (e) {\n if (self.config.mode === \"range\")\n onMouseOver(getEventTarget(e));\n });\n bind(self._input, \"keydown\", onKeyDown);\n if (self.calendarContainer !== undefined) {\n bind(self.calendarContainer, \"keydown\", onKeyDown);\n }\n if (!self.config.inline && !self.config.static)\n bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== undefined)\n bind(window.document, \"touchstart\", documentClick);\n else\n bind(window.document, \"mousedown\", documentClick);\n bind(window.document, \"focus\", documentClick, { capture: true });\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n if (self.daysContainer !== undefined) {\n bind(self.monthNav, \"click\", onMonthNavClick);\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"click\", selectDate);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined) {\n var selText = function (e) {\n return getEventTarget(e).select();\n };\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, { capture: true });\n bind(self.timeContainer, \"click\", timeIncrement);\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== undefined)\n bind(self.secondElement, \"focus\", function () { return self.secondElement && self.secondElement.select(); });\n if (self.amPM !== undefined) {\n bind(self.amPM, \"click\", function (e) {\n updateTime(e);\n });\n }\n }\n if (self.config.allowInput) {\n bind(self._input, \"blur\", onBlur);\n }\n }\n function jumpToDate(jumpDate, triggerChange) {\n var jumpTo = jumpDate !== undefined\n ? self.parseDate(jumpDate)\n : self.latestSelectedDateObj ||\n (self.config.minDate && self.config.minDate > self.now\n ? self.config.minDate\n : self.config.maxDate && self.config.maxDate < self.now\n ? self.config.maxDate\n : self.now);\n var oldYear = self.currentYear;\n var oldMonth = self.currentMonth;\n try {\n if (jumpTo !== undefined) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n }\n catch (e) {\n e.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e);\n }\n if (triggerChange && self.currentYear !== oldYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n if (triggerChange &&\n (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) {\n triggerEvent(\"onMonthChange\");\n }\n self.redraw();\n }\n function timeIncrement(e) {\n var eventTarget = getEventTarget(e);\n if (~eventTarget.className.indexOf(\"arrow\"))\n incrementNumInput(e, eventTarget.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n function incrementNumInput(e, delta, inputElem) {\n var target = e && getEventTarget(e);\n var input = inputElem ||\n (target && target.parentNode && target.parentNode.firstChild);\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n if (self.config.weekNumbers) {\n var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers;\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== undefined &&\n self.config.appendTo.nodeType !== undefined;\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode)\n self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);\n else if (self.config.appendTo !== undefined)\n self.config.appendTo.appendChild(self.calendarContainer);\n }\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode)\n self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput)\n wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n if (!self.config.static && !self.config.inline)\n (self.config.appendTo !== undefined\n ? self.config.appendTo\n : window.document.body).appendChild(self.calendarContainer);\n }\n function createDay(className, date, _dayNumber, i) {\n var dateIsEnabled = isEnabled(date, true), dayElement = createElement(\"span\", className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n if (className.indexOf(\"hidden\") === -1 &&\n compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] &&\n compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] &&\n compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\")\n dayElement.classList.add(\"inRange\");\n }\n }\n }\n else {\n dayElement.classList.add(\"flatpickr-disabled\");\n }\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date))\n dayElement.classList.add(\"inRange\");\n }\n if (self.weekNumbers &&\n self.config.showMonths === 1 &&\n className !== \"prevMonthDay\" &&\n i % 7 === 6) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"\" + self.config.getWeek(date) + \"\");\n }\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\")\n onMouseOver(targetNode);\n }\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n for (var i = startIndex; i != endIndex; i += delta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj))\n return c;\n }\n }\n return undefined;\n }\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1\n ? current.dateObj.getMonth()\n : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m\n ? current.$i + delta\n : delta < 0\n ? month.children.length - 1\n : 0;\n var numMonthDays = month.children.length;\n for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 &&\n isEnabled(c.dateObj) &&\n Math.abs(current.$i - i) >= Math.abs(delta))\n return focusOnDayElem(c);\n }\n }\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return undefined;\n }\n function focusOnDay(current, offset) {\n var activeElement = getClosestActiveElement();\n var dayFocused = isInView(activeElement || document.body);\n var startElem = current !== undefined\n ? current\n : dayFocused\n ? activeElement\n : self.selectedDateElem !== undefined && isInView(self.selectedDateElem)\n ? self.selectedDateElem\n : self.todayDateElem !== undefined && isInView(self.todayDateElem)\n ? self.todayDateElem\n : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === undefined) {\n self._input.focus();\n }\n else if (!dayFocused) {\n focusOnDayElem(startElem);\n }\n else {\n getNextAvailableDay(startElem, offset);\n }\n }\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);\n var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\", nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth &&\n (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n function buildDays() {\n if (self.daysContainer === undefined) {\n return;\n }\n clearNode(self.daysContainer);\n if (self.weekNumbers)\n clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < self.config.showMonths; i++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n onMouseOver();\n }\n }\n function buildMonthSwitch() {\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType !== \"dropdown\")\n return;\n var shouldBuildMonth = function (month) {\n if (self.config.minDate !== undefined &&\n self.currentYear === self.config.minDate.getFullYear() &&\n month < self.config.minDate.getMonth()) {\n return false;\n }\n return !(self.config.maxDate !== undefined &&\n self.currentYear === self.config.maxDate.getFullYear() &&\n month > self.config.maxDate.getMonth());\n };\n self.monthsDropdownContainer.tabIndex = -1;\n self.monthsDropdownContainer.innerHTML = \"\";\n for (var i = 0; i < 12; i++) {\n if (!shouldBuildMonth(i))\n continue;\n var month = createElement(\"option\", \"flatpickr-monthDropdown-month\");\n month.value = new Date(self.currentYear, i).getMonth().toString();\n month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n);\n month.tabIndex = -1;\n if (self.currentMonth === i) {\n month.selected = true;\n }\n self.monthsDropdownContainer.appendChild(month);\n }\n }\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement;\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n monthElement = createElement(\"span\", \"cur-month\");\n }\n else {\n self.monthsDropdownContainer = createElement(\"select\", \"flatpickr-monthDropdown-months\");\n self.monthsDropdownContainer.setAttribute(\"aria-label\", self.l10n.monthAriaLabel);\n bind(self.monthsDropdownContainer, \"change\", function (e) {\n var target = getEventTarget(e);\n var selectedMonth = parseInt(target.value, 10);\n self.changeMonth(selectedMonth - self.currentMonth);\n triggerEvent(\"onMonthChange\");\n });\n buildMonthSwitch();\n monthElement = self.monthsDropdownContainer;\n }\n var yearInput = createNumberInput(\"cur-year\", { tabindex: \"-1\" });\n var yearElement = yearInput.getElementsByTagName(\"input\")[0];\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) {\n yearElement.setAttribute(\"min\", self.config.minDate.getFullYear().toString());\n }\n if (self.config.maxDate) {\n yearElement.setAttribute(\"max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled =\n !!self.config.minDate &&\n self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container: container,\n yearElement: yearElement,\n monthElement: monthElement,\n };\n }\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n if (self.config.showMonths) {\n self.yearElements = [];\n self.monthElements = [];\n }\n for (var m = self.config.showMonths; m--;) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n self.monthNav.appendChild(self.nextMonthNav);\n }\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function () { return self.__hidePrevMonthArrow; },\n set: function (bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"flatpickr-disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n },\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function () { return self.__hideNextMonthArrow; },\n set: function (bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"flatpickr-disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n },\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar)\n self.calendarContainer.classList.add(\"noCalendar\");\n var defaults = getDefaultHours(self.config);\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\", {\n \"aria-label\": self.l10n.hourAriaLabel,\n });\n self.hourElement = hourInput.getElementsByTagName(\"input\")[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\", {\n \"aria-label\": self.l10n.minuteAriaLabel,\n });\n self.minuteElement = minuteInput.getElementsByTagName(\"input\")[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getHours()\n : self.config.time_24hr\n ? defaults.hours\n : military2ampm(defaults.hours));\n self.minuteElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getMinutes()\n : defaults.minutes);\n self.hourElement.setAttribute(\"step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"max\", self.config.time_24hr ? \"23\" : \"12\");\n self.hourElement.setAttribute(\"maxlength\", \"2\");\n self.minuteElement.setAttribute(\"min\", \"0\");\n self.minuteElement.setAttribute(\"max\", \"59\");\n self.minuteElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr)\n self.timeContainer.classList.add(\"time24hr\");\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.getElementsByTagName(\"input\")[0];\n self.secondElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getSeconds()\n : defaults.seconds);\n self.secondElement.setAttribute(\"step\", self.minuteElement.getAttribute(\"step\"));\n self.secondElement.setAttribute(\"min\", \"0\");\n self.secondElement.setAttribute(\"max\", \"59\");\n self.secondElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n if (!self.config.time_24hr) {\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj\n ? self.hourElement.value\n : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n return self.timeContainer;\n }\n function buildWeekdays() {\n if (!self.weekdayContainer)\n self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");\n else\n clearNode(self.weekdayContainer);\n for (var i = self.config.showMonths; i--;) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n updateWeekdays();\n return self.weekdayContainer;\n }\n function updateWeekdays() {\n if (!self.weekdayContainer) {\n return;\n }\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));\n }\n for (var i = self.config.showMonths; i--;) {\n self.weekdayContainer.children[i].innerHTML = \"\\n \\n \" + weekdays.join(\"\") + \"\\n \\n \";\n }\n }\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper: weekWrapper,\n weekNumbers: weekNumbers,\n };\n }\n function changeMonth(value, isOffset) {\n if (isOffset === void 0) { isOffset = true; }\n var delta = isOffset ? value : value - self.currentMonth;\n if ((delta < 0 && self._hidePrevMonthArrow === true) ||\n (delta > 0 && self._hideNextMonthArrow === true))\n return;\n self.currentMonth += delta;\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n function clear(triggerChangeEvent, toInitial) {\n if (triggerChangeEvent === void 0) { triggerChangeEvent = true; }\n if (toInitial === void 0) { toInitial = true; }\n self.input.value = \"\";\n if (self.altInput !== undefined)\n self.altInput.value = \"\";\n if (self.mobileInput !== undefined)\n self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = undefined;\n if (toInitial === true) {\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n }\n if (self.config.enableTime === true) {\n var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;\n setHours(hours, minutes, seconds);\n }\n self.redraw();\n if (triggerChangeEvent)\n triggerEvent(\"onChange\");\n }\n function close() {\n self.isOpen = false;\n if (!self.isMobile) {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.classList.remove(\"open\");\n }\n if (self._input !== undefined) {\n self._input.classList.remove(\"active\");\n }\n }\n triggerEvent(\"onClose\");\n }\n function destroy() {\n if (self.config !== undefined)\n triggerEvent(\"onDestroy\");\n for (var i = self._handlers.length; i--;) {\n self._handlers[i].remove();\n }\n self._handlers = [];\n if (self.mobileInput) {\n if (self.mobileInput.parentNode)\n self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = undefined;\n }\n else if (self.calendarContainer && self.calendarContainer.parentNode) {\n if (self.config.static && self.calendarContainer.parentNode) {\n var wrapper = self.calendarContainer.parentNode;\n wrapper.lastChild && wrapper.removeChild(wrapper.lastChild);\n if (wrapper.parentNode) {\n while (wrapper.firstChild)\n wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n }\n }\n else\n self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n }\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode)\n self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n }\n [\n \"_showTimeInput\",\n \"latestSelectedDateObj\",\n \"_hideNextMonthArrow\",\n \"_hidePrevMonthArrow\",\n \"__hideNextMonthArrow\",\n \"__hidePrevMonthArrow\",\n \"isMobile\",\n \"isOpen\",\n \"selectedDateElem\",\n \"minDateHasTime\",\n \"maxDateHasTime\",\n \"days\",\n \"daysContainer\",\n \"_input\",\n \"_positionElement\",\n \"innerContainer\",\n \"rContainer\",\n \"monthNav\",\n \"todayDateElem\",\n \"calendarContainer\",\n \"weekdayContainer\",\n \"prevMonthNav\",\n \"nextMonthNav\",\n \"monthsDropdownContainer\",\n \"currentMonthElement\",\n \"currentYearElement\",\n \"navigationCurrentMonth\",\n \"selectedDateElem\",\n \"config\",\n ].forEach(function (k) {\n try {\n delete self[k];\n }\n catch (_) { }\n });\n }\n function isCalendarElem(elem) {\n return self.calendarContainer.contains(elem);\n }\n function documentClick(e) {\n if (self.isOpen && !self.config.inline) {\n var eventTarget_1 = getEventTarget(e);\n var isCalendarElement = isCalendarElem(eventTarget_1);\n var isInput = eventTarget_1 === self.input ||\n eventTarget_1 === self.altInput ||\n self.element.contains(eventTarget_1) ||\n (e.path &&\n e.path.indexOf &&\n (~e.path.indexOf(self.input) ||\n ~e.path.indexOf(self.altInput)));\n var lostFocus = !isInput &&\n !isCalendarElement &&\n !isCalendarElem(e.relatedTarget);\n var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n return elem.contains(eventTarget_1);\n });\n if (lostFocus && isIgnored) {\n if (self.config.allowInput) {\n self.setDate(self._input.value, false, self.config.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined &&\n self.input.value !== \"\" &&\n self.input.value !== undefined) {\n updateTime();\n }\n self.close();\n if (self.config &&\n self.config.mode === \"range\" &&\n self.selectedDates.length === 1)\n self.clear(false);\n }\n }\n }\n function changeYear(newYear) {\n if (!newYear ||\n (self.config.minDate && newYear < self.config.minDate.getFullYear()) ||\n (self.config.maxDate && newYear > self.config.maxDate.getFullYear()))\n return;\n var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n if (self.config.maxDate &&\n self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n }\n else if (self.config.minDate &&\n self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n }\n function isEnabled(date, timeless) {\n var _a;\n if (timeless === void 0) { timeless = true; }\n var dateToCheck = self.parseDate(date, undefined, timeless);\n if ((self.config.minDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0) ||\n (self.config.maxDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0))\n return false;\n if (!self.config.enable && self.config.disable.length === 0)\n return true;\n if (dateToCheck === undefined)\n return false;\n var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable;\n for (var i = 0, d = void 0; i < array.length; i++) {\n d = array[i];\n if (typeof d === \"function\" &&\n d(dateToCheck))\n return bool;\n else if (d instanceof Date &&\n dateToCheck !== undefined &&\n d.getTime() === dateToCheck.getTime())\n return bool;\n else if (typeof d === \"string\") {\n var parsed = self.parseDate(d, undefined, true);\n return parsed && parsed.getTime() === dateToCheck.getTime()\n ? bool\n : !bool;\n }\n else if (typeof d === \"object\" &&\n dateToCheck !== undefined &&\n d.from &&\n d.to &&\n dateToCheck.getTime() >= d.from.getTime() &&\n dateToCheck.getTime() <= d.to.getTime())\n return bool;\n }\n return !bool;\n }\n function isInView(elem) {\n if (self.daysContainer !== undefined)\n return (elem.className.indexOf(\"hidden\") === -1 &&\n elem.className.indexOf(\"flatpickr-disabled\") === -1 &&\n self.daysContainer.contains(elem));\n return false;\n }\n function onBlur(e) {\n var isInput = e.target === self._input;\n var valueChanged = self._input.value.trimEnd() !== getDateStr();\n if (isInput &&\n valueChanged &&\n !(e.relatedTarget && isCalendarElem(e.relatedTarget))) {\n self.setDate(self._input.value, true, e.target === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n }\n function onKeyDown(e) {\n var eventTarget = getEventTarget(e);\n var isInput = self.config.wrap\n ? element.contains(eventTarget)\n : eventTarget === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n if (e.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, eventTarget === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n self.close();\n return eventTarget.blur();\n }\n else {\n self.open();\n }\n }\n else if (isCalendarElem(eventTarget) ||\n allowKeydown ||\n allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer &&\n self.timeContainer.contains(eventTarget);\n switch (e.keyCode) {\n case 13:\n if (isTimeObj) {\n e.preventDefault();\n updateTime();\n focusAndClose();\n }\n else\n selectDate(e);\n break;\n case 27:\n e.preventDefault();\n focusAndClose();\n break;\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e.preventDefault();\n self.clear();\n }\n break;\n case 37:\n case 39:\n if (!isTimeObj && !isInput) {\n e.preventDefault();\n var activeElement = getClosestActiveElement();\n if (self.daysContainer !== undefined &&\n (allowInput === false ||\n (activeElement && isInView(activeElement)))) {\n var delta_1 = e.keyCode === 39 ? 1 : -1;\n if (!e.ctrlKey)\n focusOnDay(undefined, delta_1);\n else {\n e.stopPropagation();\n changeMonth(delta_1);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n }\n else if (self.hourElement)\n self.hourElement.focus();\n break;\n case 38:\n case 40:\n e.preventDefault();\n var delta = e.keyCode === 40 ? 1 : -1;\n if ((self.daysContainer &&\n eventTarget.$i !== undefined) ||\n eventTarget === self.input ||\n eventTarget === self.altInput) {\n if (e.ctrlKey) {\n e.stopPropagation();\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n else if (!isTimeObj)\n focusOnDay(undefined, delta * 7);\n }\n else if (eventTarget === self.currentYearElement) {\n changeYear(self.currentYear - delta);\n }\n else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement)\n self.hourElement.focus();\n updateTime(e);\n self._debouncedChange();\n }\n break;\n case 9:\n if (isTimeObj) {\n var elems = [\n self.hourElement,\n self.minuteElement,\n self.secondElement,\n self.amPM,\n ]\n .concat(self.pluginElements)\n .filter(function (x) { return x; });\n var i = elems.indexOf(eventTarget);\n if (i !== -1) {\n var target = elems[i + (e.shiftKey ? -1 : 1)];\n e.preventDefault();\n (target || self._input).focus();\n }\n }\n else if (!self.config.noCalendar &&\n self.daysContainer &&\n self.daysContainer.contains(eventTarget) &&\n e.shiftKey) {\n e.preventDefault();\n self._input.focus();\n }\n break;\n default:\n break;\n }\n }\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n switch (e.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n if (isInput || isCalendarElem(eventTarget)) {\n triggerEvent(\"onKeyDown\", e);\n }\n }\n function onMouseOver(elem, cellClass) {\n if (cellClass === void 0) { cellClass = \"flatpickr-day\"; }\n if (self.selectedDates.length !== 1 ||\n (elem &&\n (!elem.classList.contains(cellClass) ||\n elem.classList.contains(\"flatpickr-disabled\"))))\n return;\n var hoverDate = elem\n ? elem.dateObj.getTime()\n : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0, maxRange = 0;\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled =\n containsDisabled || (t > rangeStartDate && t < rangeEndDate);\n if (t < initialDate && (!minRange || t > minRange))\n minRange = t;\n else if (t > initialDate && (!maxRange || t < maxRange))\n maxRange = t;\n }\n }\n var hoverableCells = Array.from(self.rContainer.querySelectorAll(\"*:nth-child(-n+\" + self.config.showMonths + \") > .\" + cellClass));\n hoverableCells.forEach(function (dayElem) {\n var date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = (minRange > 0 && timestamp < minRange) ||\n (maxRange > 0 && timestamp > maxRange);\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n return;\n }\n else if (containsDisabled && !outOfRange)\n return;\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n if (elem !== undefined) {\n elem.classList.add(hoverDate <= self.selectedDates[0].getTime()\n ? \"startRange\"\n : \"endRange\");\n if (initialDate < hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"startRange\");\n else if (initialDate > hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange &&\n (maxRange === 0 || timestamp <= maxRange) &&\n isBetween(timestamp, initialDate, hoverDate))\n dayElem.classList.add(\"inRange\");\n }\n });\n }\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline)\n positionCalendar();\n }\n function open(e, positionElement) {\n if (positionElement === void 0) { positionElement = self._positionElement; }\n if (self.isMobile === true) {\n if (e) {\n e.preventDefault();\n var eventTarget = getEventTarget(e);\n if (eventTarget) {\n eventTarget.blur();\n }\n }\n if (self.mobileInput !== undefined) {\n self.mobileInput.focus();\n self.mobileInput.click();\n }\n triggerEvent(\"onOpen\");\n return;\n }\n else if (self._input.disabled || self.config.inline) {\n return;\n }\n var wasOpen = self.isOpen;\n self.isOpen = true;\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n self._input.classList.add(\"active\");\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.config.allowInput === false &&\n (e === undefined ||\n !self.timeContainer.contains(e.relatedTarget))) {\n setTimeout(function () { return self.hourElement.select(); }, 50);\n }\n }\n }\n function minMaxDateSetter(type) {\n return function (date) {\n var dateObj = (self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat));\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n if (dateObj !== undefined) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] =\n dateObj.getHours() > 0 ||\n dateObj.getMinutes() > 0 ||\n dateObj.getSeconds() > 0;\n }\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function (d) { return isEnabled(d); });\n if (!self.selectedDates.length && type === \"min\")\n setHoursFromDate(dateObj);\n updateValue();\n }\n if (self.daysContainer) {\n redraw();\n if (dateObj !== undefined)\n self.currentYearElement[type] = dateObj.getFullYear().toString();\n else\n self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled =\n !!inverseDateObj &&\n dateObj !== undefined &&\n inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n function parseConfig() {\n var boolOpts = [\n \"wrap\",\n \"weekNumbers\",\n \"allowInput\",\n \"allowInvalidPreload\",\n \"clickOpens\",\n \"time_24hr\",\n \"enableTime\",\n \"noCalendar\",\n \"altInput\",\n \"shorthandCurrentMonth\",\n \"inline\",\n \"static\",\n \"enableSeconds\",\n \"disableMobile\",\n ];\n var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);\n var formats = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function () { return self.config._enable; },\n set: function (dates) {\n self.config._enable = parseDateRules(dates);\n },\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function () { return self.config._disable; },\n set: function (dates) {\n self.config._disable = parseDateRules(dates);\n },\n });\n var timeMode = userConfig.mode === \"time\";\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaultOptions.dateFormat;\n formats.dateFormat =\n userConfig.noCalendar || timeMode\n ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\")\n : defaultDateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n if (userConfig.altInput &&\n (userConfig.enableTime || timeMode) &&\n !userConfig.altFormat) {\n var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaultOptions.altFormat;\n formats.altFormat =\n userConfig.noCalendar || timeMode\n ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\")\n : defaultAltFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n Object.defineProperty(self.config, \"minDate\", {\n get: function () { return self.config._minDate; },\n set: minMaxDateSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function () { return self.config._maxDate; },\n set: minMaxDateSetter(\"max\"),\n });\n var minMaxTimeSetter = function (type) { return function (val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i:S\");\n }; };\n Object.defineProperty(self.config, \"minTime\", {\n get: function () { return self.config._minTime; },\n set: minMaxTimeSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function () { return self.config._maxTime; },\n set: minMaxTimeSetter(\"max\"),\n });\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n Object.assign(self.config, formats, userConfig);\n for (var i = 0; i < boolOpts.length; i++)\n self.config[boolOpts[i]] =\n self.config[boolOpts[i]] === true ||\n self.config[boolOpts[i]] === \"true\";\n HOOKS.filter(function (hook) { return self.config[hook] !== undefined; }).forEach(function (hook) {\n self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance);\n });\n self.isMobile =\n !self.config.disableMobile &&\n !self.config.inline &&\n self.config.mode === \"single\" &&\n !self.config.disable.length &&\n !self.config.enable &&\n !self.config.weekNumbers &&\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n for (var i = 0; i < self.config.plugins.length; i++) {\n var pluginConf = self.config.plugins[i](self) || {};\n for (var key in pluginConf) {\n if (HOOKS.indexOf(key) > -1) {\n self.config[key] = arrayify(pluginConf[key])\n .map(bindToInstance)\n .concat(self.config[key]);\n }\n else if (typeof userConfig[key] === \"undefined\")\n self.config[key] = pluginConf[key];\n }\n }\n if (!userConfig.altInputClass) {\n self.config.altInputClass =\n getInputElem().className + \" \" + self.config.altInputClass;\n }\n triggerEvent(\"onParseConfig\");\n }\n function getInputElem() {\n return self.config.wrap\n ? element.querySelector(\"[data-input]\")\n : element;\n }\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" &&\n typeof flatpickr.l10ns[self.config.locale] === \"undefined\")\n self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = __assign(__assign({}, flatpickr.l10ns.default), (typeof self.config.locale === \"object\"\n ? self.config.locale\n : self.config.locale !== \"default\"\n ? flatpickr.l10ns[self.config.locale]\n : undefined));\n tokenRegex.D = \"(\" + self.l10n.weekdays.shorthand.join(\"|\") + \")\";\n tokenRegex.l = \"(\" + self.l10n.weekdays.longhand.join(\"|\") + \")\";\n tokenRegex.M = \"(\" + self.l10n.months.shorthand.join(\"|\") + \")\";\n tokenRegex.F = \"(\" + self.l10n.months.longhand.join(\"|\") + \")\";\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {})));\n if (userConfig.time_24hr === undefined &&\n flatpickr.defaultConfig.time_24hr === undefined) {\n self.config.time_24hr = self.l10n.time_24hr;\n }\n self.formatDate = createDateFormatter(self);\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n }\n function positionCalendar(customPositionElement) {\n if (typeof self.config.position === \"function\") {\n return void self.config.position(self, customPositionElement);\n }\n if (self.calendarContainer === undefined)\n return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, (function (acc, child) { return acc + child.offsetHeight; }), 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(\" \"), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === \"above\" ||\n (configPosVertical !== \"below\" &&\n distanceFromBottom < calendarHeight &&\n inputBounds.top > calendarHeight);\n var top = window.pageYOffset +\n inputBounds.top +\n (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline)\n return;\n var left = window.pageXOffset + inputBounds.left;\n var isCenter = false;\n var isRight = false;\n if (configPosHorizontal === \"center\") {\n left -= (calendarWidth - inputBounds.width) / 2;\n isCenter = true;\n }\n else if (configPosHorizontal === \"right\") {\n left -= calendarWidth - inputBounds.width;\n isRight = true;\n }\n toggleClass(self.calendarContainer, \"arrowLeft\", !isCenter && !isRight);\n toggleClass(self.calendarContainer, \"arrowCenter\", isCenter);\n toggleClass(self.calendarContainer, \"arrowRight\", isRight);\n var right = window.document.body.offsetWidth -\n (window.pageXOffset + inputBounds.right);\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n var centerMost = right + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static)\n return;\n self.calendarContainer.style.top = top + \"px\";\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n else if (!centerMost) {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n }\n else {\n var doc = getDocumentStyleSheet();\n if (doc === undefined)\n return;\n var bodyWidth = window.document.body.offsetWidth;\n var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2);\n var centerBefore = \".flatpickr-calendar.centerMost:before\";\n var centerAfter = \".flatpickr-calendar.centerMost:after\";\n var centerIndex = doc.cssRules.length;\n var centerStyle = \"{left:\" + inputBounds.left + \"px;right:auto;}\";\n toggleClass(self.calendarContainer, \"rightMost\", false);\n toggleClass(self.calendarContainer, \"centerMost\", true);\n doc.insertRule(centerBefore + \",\" + centerAfter + centerStyle, centerIndex);\n self.calendarContainer.style.left = centerLeft + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n }\n function getDocumentStyleSheet() {\n var editableSheet = null;\n for (var i = 0; i < document.styleSheets.length; i++) {\n var sheet = document.styleSheets[i];\n if (!sheet.cssRules)\n continue;\n try {\n sheet.cssRules;\n }\n catch (err) {\n continue;\n }\n editableSheet = sheet;\n break;\n }\n return editableSheet != null ? editableSheet : createStyleSheet();\n }\n function createStyleSheet() {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n return style.sheet;\n }\n function redraw() {\n if (self.config.noCalendar || self.isMobile)\n return;\n buildMonthSwitch();\n updateNavigationCurrentMonth();\n buildDays();\n }\n function focusAndClose() {\n self._input.focus();\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n navigator.msMaxTouchPoints !== undefined) {\n setTimeout(self.close, 0);\n }\n else {\n self.close();\n }\n }\n function selectDate(e) {\n e.preventDefault();\n e.stopPropagation();\n var isSelectable = function (day) {\n return day.classList &&\n day.classList.contains(\"flatpickr-day\") &&\n !day.classList.contains(\"flatpickr-disabled\") &&\n !day.classList.contains(\"notAllowed\");\n };\n var t = findParent(getEventTarget(e), isSelectable);\n if (t === undefined)\n return;\n var target = t;\n var selectedDate = (self.latestSelectedDateObj = new Date(target.dateObj.getTime()));\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth ||\n selectedDate.getMonth() >\n self.currentMonth + self.config.showMonths - 1) &&\n self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\")\n self.selectedDates = [selectedDate];\n else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex)\n self.selectedDates.splice(parseInt(selectedIndex), 1);\n else\n self.selectedDates.push(selectedDate);\n }\n else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) {\n self.clear(false, false);\n }\n self.latestSelectedDateObj = selectedDate;\n self.selectedDates.push(selectedDate);\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0)\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n setHoursFromInputs();\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n triggerEvent(\"onMonthChange\");\n }\n updateNavigationCurrentMonth();\n buildDays();\n updateValue();\n if (!shouldChangeMonth &&\n self.config.mode !== \"range\" &&\n self.config.showMonths === 1)\n focusOnDayElem(target);\n else if (self.selectedDateElem !== undefined &&\n self.hourElement === undefined) {\n self.selectedDateElem && self.selectedDateElem.focus();\n }\n if (self.hourElement !== undefined)\n self.hourElement !== undefined && self.hourElement.focus();\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" &&\n self.selectedDates.length === 2 &&\n !self.config.enableTime;\n if (single || range) {\n focusAndClose();\n }\n }\n triggerChange();\n }\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays],\n minDate: [jumpToDate],\n maxDate: [jumpToDate],\n positionElement: [updatePositionElement],\n clickOpens: [\n function () {\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n else {\n self._input.removeEventListener(\"focus\", self.open);\n self._input.removeEventListener(\"click\", self.open);\n }\n },\n ],\n };\n function set(option, value) {\n if (option !== null && typeof option === \"object\") {\n Object.assign(self.config, option);\n for (var key in option) {\n if (CALLBACKS[key] !== undefined)\n CALLBACKS[key].forEach(function (x) { return x(); });\n }\n }\n else {\n self.config[option] = value;\n if (CALLBACKS[option] !== undefined)\n CALLBACKS[option].forEach(function (x) { return x(); });\n else if (HOOKS.indexOf(option) > -1)\n self.config[option] = arrayify(value);\n }\n self.redraw();\n updateValue(true);\n }\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array)\n dates = inputDate.map(function (d) { return self.parseDate(d, format); });\n else if (inputDate instanceof Date || typeof inputDate === \"number\")\n dates = [self.parseDate(inputDate, format)];\n else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n case \"multiple\":\n dates = inputDate\n .split(self.config.conjunction)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n case \"range\":\n dates = inputDate\n .split(self.l10n.rangeSeparator)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n default:\n break;\n }\n }\n else\n self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = (self.config.allowInvalidPreload\n ? dates\n : dates.filter(function (d) { return d instanceof Date && isEnabled(d, false); }));\n if (self.config.mode === \"range\")\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n function setDate(date, triggerChange, format) {\n if (triggerChange === void 0) { triggerChange = false; }\n if (format === void 0) { format = self.config.dateFormat; }\n if ((date !== 0 && !date) || (date instanceof Array && date.length === 0))\n return self.clear(triggerChange);\n setSelectedDate(date, format);\n self.latestSelectedDateObj =\n self.selectedDates[self.selectedDates.length - 1];\n self.redraw();\n jumpToDate(undefined, triggerChange);\n setHoursFromDate();\n if (self.selectedDates.length === 0) {\n self.clear(false);\n }\n updateValue(triggerChange);\n if (triggerChange)\n triggerEvent(\"onChange\");\n }\n function parseDateRules(arr) {\n return arr\n .slice()\n .map(function (rule) {\n if (typeof rule === \"string\" ||\n typeof rule === \"number\" ||\n rule instanceof Date) {\n return self.parseDate(rule, undefined, true);\n }\n else if (rule &&\n typeof rule === \"object\" &&\n rule.from &&\n rule.to)\n return {\n from: self.parseDate(rule.from, undefined),\n to: self.parseDate(rule.to, undefined),\n };\n return rule;\n })\n .filter(function (x) { return x; });\n }\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || new Date();\n var preloadedDate = self.config.defaultDate ||\n ((self.input.nodeName === \"INPUT\" ||\n self.input.nodeName === \"TEXTAREA\") &&\n self.input.placeholder &&\n self.input.value === self.input.placeholder\n ? null\n : self.input.value);\n if (preloadedDate)\n setSelectedDate(preloadedDate, self.config.dateFormat);\n self._initialDate =\n self.selectedDates.length > 0\n ? self.selectedDates[0]\n : self.config.minDate &&\n self.config.minDate.getTime() > self.now.getTime()\n ? self.config.minDate\n : self.config.maxDate &&\n self.config.maxDate.getTime() < self.now.getTime()\n ? self.config.maxDate\n : self.now;\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n if (self.selectedDates.length > 0)\n self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== undefined)\n self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== undefined)\n self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime =\n !!self.config.minDate &&\n (self.config.minDate.getHours() > 0 ||\n self.config.minDate.getMinutes() > 0 ||\n self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime =\n !!self.config.maxDate &&\n (self.config.maxDate.getHours() > 0 ||\n self.config.maxDate.getMinutes() > 0 ||\n self.config.maxDate.getSeconds() > 0);\n }\n function setupInputs() {\n self.input = getInputElem();\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n if (self.config.altInput) {\n self.altInput = createElement(self.input.nodeName, self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode)\n self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n if (!self.config.allowInput)\n self._input.setAttribute(\"readonly\", \"readonly\");\n updatePositionElement();\n }\n function updatePositionElement() {\n self._positionElement = self.config.positionElement || self._input;\n }\n function setupMobile() {\n var inputType = self.config.enableTime\n ? self.config.noCalendar\n ? \"time\"\n : \"datetime-local\"\n : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr =\n inputType === \"datetime-local\"\n ? \"Y-m-d\\\\TH:i:S\"\n : inputType === \"date\"\n ? \"Y-m-d\"\n : \"H:i:S\";\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n if (self.config.minDate)\n self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate)\n self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n if (self.input.getAttribute(\"step\"))\n self.mobileInput.step = String(self.input.getAttribute(\"step\"));\n self.input.type = \"hidden\";\n if (self.altInput !== undefined)\n self.altInput.type = \"hidden\";\n try {\n if (self.input.parentNode)\n self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n }\n catch (_a) { }\n bind(self.mobileInput, \"change\", function (e) {\n self.setDate(getEventTarget(e).value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n function toggle(e) {\n if (self.isOpen === true)\n return self.close();\n self.open(e);\n }\n function triggerEvent(event, data) {\n if (self.config === undefined)\n return;\n var hooks = self.config[event];\n if (hooks !== undefined && hooks.length > 0) {\n for (var i = 0; hooks[i] && i < hooks.length; i++)\n hooks[i](self.selectedDates, self.input.value, self, data);\n }\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n }\n function isDateSelected(date) {\n for (var i = 0; i < self.selectedDates.length; i++) {\n var selectedDate = self.selectedDates[i];\n if (selectedDate instanceof Date &&\n compareDates(selectedDate, date) === 0)\n return \"\" + i;\n }\n return false;\n }\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2)\n return false;\n return (compareDates(date, self.selectedDates[0]) >= 0 &&\n compareDates(date, self.selectedDates[1]) <= 0);\n }\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav)\n return;\n self.yearElements.forEach(function (yearElement, i) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n self.monthElements[i].textContent =\n monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n }\n else {\n self.monthsDropdownContainer.value = d.getMonth().toString();\n }\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow =\n self.config.minDate !== undefined &&\n (self.currentYear === self.config.minDate.getFullYear()\n ? self.currentMonth <= self.config.minDate.getMonth()\n : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow =\n self.config.maxDate !== undefined &&\n (self.currentYear === self.config.maxDate.getFullYear()\n ? self.currentMonth + 1 > self.config.maxDate.getMonth()\n : self.currentYear > self.config.maxDate.getFullYear());\n }\n function getDateStr(specificFormat) {\n var format = specificFormat ||\n (self.config.altInput ? self.config.altFormat : self.config.dateFormat);\n return self.selectedDates\n .map(function (dObj) { return self.formatDate(dObj, format); })\n .filter(function (d, i, arr) {\n return self.config.mode !== \"range\" ||\n self.config.enableTime ||\n arr.indexOf(d) === i;\n })\n .join(self.config.mode !== \"range\"\n ? self.config.conjunction\n : self.l10n.rangeSeparator);\n }\n function updateValue(triggerChange) {\n if (triggerChange === void 0) { triggerChange = true; }\n if (self.mobileInput !== undefined && self.mobileFormatStr) {\n self.mobileInput.value =\n self.latestSelectedDateObj !== undefined\n ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr)\n : \"\";\n }\n self.input.value = getDateStr(self.config.dateFormat);\n if (self.altInput !== undefined) {\n self.altInput.value = getDateStr(self.config.altFormat);\n }\n if (triggerChange !== false)\n triggerEvent(\"onValueUpdate\");\n }\n function onMonthNavClick(e) {\n var eventTarget = getEventTarget(e);\n var isPrevMonth = self.prevMonthNav.contains(eventTarget);\n var isNextMonth = self.nextMonthNav.contains(eventTarget);\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n }\n else if (self.yearElements.indexOf(eventTarget) >= 0) {\n eventTarget.select();\n }\n else if (eventTarget.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n }\n else if (eventTarget.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n function timeWrapper(e) {\n e.preventDefault();\n var isKeyDown = e.type === \"keydown\", eventTarget = getEventTarget(e), input = eventTarget;\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n var min = parseFloat(input.getAttribute(\"min\")), max = parseFloat(input.getAttribute(\"max\")), step = parseFloat(input.getAttribute(\"step\")), curValue = parseInt(input.value, 10), delta = e.delta ||\n (isKeyDown ? (e.which === 38 ? 1 : -1) : 0);\n var newValue = curValue + step * delta;\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement;\n if (newValue < min) {\n newValue =\n max +\n newValue +\n int(!isHourElem) +\n (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem)\n incrementNumInput(undefined, -1, self.hourElement);\n }\n else if (newValue > max) {\n newValue =\n input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem)\n incrementNumInput(undefined, 1, self.hourElement);\n }\n if (self.amPM &&\n isHourElem &&\n (step === 1\n ? newValue + curValue === 23\n : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n input.value = pad(newValue);\n }\n }\n init();\n return self;\n}\nfunction _flatpickr(nodeList, config) {\n var nodes = Array.prototype.slice\n .call(nodeList)\n .filter(function (x) { return x instanceof HTMLElement; });\n var instances = [];\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null)\n continue;\n if (node._flatpickr !== undefined) {\n node._flatpickr.destroy();\n node._flatpickr = undefined;\n }\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n }\n catch (e) {\n console.error(e);\n }\n }\n return instances.length === 1 ? instances[0] : instances;\n}\nif (typeof HTMLElement !== \"undefined\" &&\n typeof HTMLCollection !== \"undefined\" &&\n typeof NodeList !== \"undefined\") {\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n HTMLElement.prototype.flatpickr = function (config) {\n return _flatpickr([this], config);\n };\n}\nvar flatpickr = function (selector, config) {\n if (typeof selector === \"string\") {\n return _flatpickr(window.document.querySelectorAll(selector), config);\n }\n else if (selector instanceof Node) {\n return _flatpickr([selector], config);\n }\n else {\n return _flatpickr(selector, config);\n }\n};\nflatpickr.defaultConfig = {};\nflatpickr.l10ns = {\n en: __assign({}, English),\n default: __assign({}, English),\n};\nflatpickr.localize = function (l10n) {\n flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);\n};\nflatpickr.setDefaults = function (config) {\n flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);\n};\nflatpickr.parseDate = createDateParser({});\nflatpickr.formatDate = createDateFormatter({});\nflatpickr.compareDates = compareDates;\nif (typeof jQuery !== \"undefined\" && typeof jQuery.fn !== \"undefined\") {\n jQuery.fn.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n}\nDate.prototype.fp_incr = function (days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n};\nif (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n}\nexport default flatpickr;\n", "export const kebabCase = string =>\n string\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/[\\s_]+/g, \"-\")\n .toLowerCase();\n\nexport const capitalize = string => {\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n", "const booleanOptions = [\n 'allowInput',\n 'altInput',\n 'animate',\n 'clickOpens',\n 'closeOnSelect',\n 'disableMobile',\n 'enableSeconds',\n 'enableTime',\n 'inline',\n 'noCalendar',\n 'shorthandCurrentMonth',\n 'static',\n 'time_24hr',\n 'weekNumbers',\n 'wrap'\n]\n\nconst stringOptions = [\n 'altInputClass',\n 'conjunction',\n 'mode',\n 'nextArrow',\n 'position',\n 'prevArrow',\n 'monthSelectorType'\n]\n\nconst numberOptions = [\n 'defaultHour',\n 'defaultMinute',\n 'defaultSeconds',\n 'hourIncrement',\n 'minuteIncrement',\n 'showMonths'\n]\n\nconst arrayOptions = ['disable', 'enable', 'disableDaysOfWeek', 'enableDaysOfWeek']\n\nconst arrayOrStringOptions = ['defaultDate']\n\nconst dateOptions = ['maxDate', 'minDate', 'maxTime', 'minTime', 'now']\n\nexport const dateFormats = ['altFormat', 'ariaDateFormat', 'dateFormat']\n\nexport const options = {\n string: stringOptions,\n boolean: booleanOptions,\n date: dateOptions,\n array: arrayOptions,\n number: numberOptions,\n arrayOrString: arrayOrStringOptions\n}\n", "export const events = ['change', 'open', 'close', 'monthChange', 'yearChange', 'ready', 'valueUpdate', 'dayCreate']\n", "export const elements = [\n 'calendarContainer',\n 'currentYearElement',\n 'days',\n 'daysContainer',\n 'input',\n 'nextMonthNav',\n 'monthNav',\n 'prevMonthNav',\n 'rContainer',\n 'selectedDateElem',\n 'todayDateElem',\n 'weekdayContainer'\n]\n", "export const mapping = {\n '%Y': 'Y',\n '%y': 'y',\n '%C': 'Y',\n '%m': 'm',\n '%-m': 'n',\n '%_m': 'n',\n '%B': 'F',\n '%^B': 'F',\n '%b': 'M',\n '%^b': 'M',\n '%h': 'M',\n '%^h': 'M',\n '%d': 'd',\n '%-d': 'j',\n '%e': 'j',\n '%H': 'H',\n '%k': 'H',\n '%I': 'h',\n '%l': 'h',\n '%-l': 'h',\n '%P': 'K',\n '%p': 'K',\n '%M': 'i',\n '%S': 'S',\n '%A': 'l',\n '%a': 'D',\n '%w': 'w'\n}\n\nconst strftimeRegex = new RegExp(\n Object.keys(mapping)\n .join('|')\n .replace(new RegExp('\\\\^', 'g'), '\\\\^'),\n 'g'\n)\n\nexport const convertDateFormat = (format) => {\n return format.replace(strftimeRegex, (match) => {\n return mapping[match]\n })\n}\n", "import { Controller } from 'stimulus'\nimport flatpickr from 'flatpickr'\nimport { kebabCase, capitalize } from './utils'\nimport { options, dateFormats } from './config_options'\nimport { events } from './events'\nimport { elements } from './elements'\nimport { convertDateFormat } from './strftime_mapping'\n\nclass StimulusFlatpickr extends Controller {\n static targets = ['instance']\n\n initialize() {\n this.config = {}\n }\n\n connect() {\n this._initializeEvents()\n this._initializeOptions()\n this._initializeDateFormats()\n\n this.fp = flatpickr(this.flatpickrElement, {\n ...this.config\n })\n\n this._initializeElements()\n }\n\n disconnect() {\n const value = this.inputTarget.value\n this.fp.destroy()\n this.inputTarget.value = value\n }\n\n _initializeEvents() {\n events.forEach((event) => {\n if (this[event]) {\n const hook = `on${capitalize(event)}`\n this.config[hook] = this[event].bind(this)\n }\n })\n }\n\n _initializeOptions() {\n Object.keys(options).forEach((optionType) => {\n const optionsCamelCase = options[optionType]\n optionsCamelCase.forEach((option) => {\n const optionKebab = kebabCase(option)\n if (this.data.has(optionKebab)) {\n this.config[option] = this[`_${optionType}`](optionKebab)\n }\n })\n })\n this._handleDaysOfWeek()\n }\n\n _handleDaysOfWeek() {\n if (this.config.disableDaysOfWeek) {\n this.config.disableDaysOfWeek = this._validateDaysOfWeek(this.config.disableDaysOfWeek)\n this.config.disable = [...(this.config.disable || []), this._disable.bind(this)]\n }\n\n if (this.config.enableDaysOfWeek) {\n this.config.enableDaysOfWeek = this._validateDaysOfWeek(this.config.enableDaysOfWeek)\n this.config.enable = [...(this.config.enable || []), this._enable.bind(this)]\n }\n }\n\n _validateDaysOfWeek(days) {\n if (Array.isArray(days)) {\n return days.map((day) => parseInt(day))\n } else {\n console.error('days of week must be a valid array')\n return []\n }\n }\n\n _disable(date) {\n const disabledDays = this.config.disableDaysOfWeek\n return disabledDays.includes(date.getDay())\n }\n\n _enable(date) {\n const enabledDays = this.config.enableDaysOfWeek\n return enabledDays.includes(date.getDay())\n }\n\n _initializeDateFormats() {\n dateFormats.forEach((dateFormat) => {\n if (this.data.has(dateFormat)) {\n this.config[dateFormat] = convertDateFormat(this.data.get(dateFormat))\n }\n })\n }\n\n _initializeElements() {\n elements.forEach((element) => {\n this[`${element}Target`] = this.fp[element]\n })\n }\n\n _string(option) {\n return this.data.get(option)\n }\n\n _date(option) {\n return this.data.get(option)\n }\n\n _boolean(option) {\n return !(this.data.get(option) == '0' || this.data.get(option) == 'false')\n }\n\n _array(option) {\n return JSON.parse(this.data.get(option))\n }\n\n _number(option) {\n return parseInt(this.data.get(option))\n }\n\n _arrayOrString(option) {\n const val = this.data.get(option)\n try {\n return JSON.parse(val)\n } catch (e) {\n return val\n }\n }\n\n get flatpickrElement() {\n return (this.hasInstanceTarget && this.instanceTarget) || this.element\n }\n}\n\nexport default StimulusFlatpickr\n", "import Flatpickr from \"stimulus-flatpickr\";\nimport moment from \"moment\"\n\nexport default class extends Flatpickr {\n clear() {\n this.fp.clear()\n }\n\n setPlaceHolder(date) {\n this.fp.setDate(date)\n }\n\n get minDate() {\n return moment(this.fp.config.minDate);\n }\n\n get maxDate() {\n return moment(this.fp.config.maxDate);\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"formContainer\", \"fileName\", \"progressBarContainer\", \"progress\", \"submitButton\", \"serverErrorMessage\", \"nextButton\"]\n\n onFileChange(e) {\n let files = e.currentTarget.files;\n if(files.length) {\n this.showProgress(0);\n let fileName = files[0].name;\n this.fileNameTarget.innerHTML = fileName;\n this.fileNameTarget.classList.remove(\"is-hidden\");\n this.progressBarContainerTarget.classList.remove(\"is-hidden\");\n } else {\n this.fileNameTarget.innerHTML = \"\";\n this.fileNameTarget.classList.add(\"is-hidden\");\n this.progressBarContainerTarget.classList.add(\"is-hidden\");\n }\n }\n\n onSubmit() {\n this.showProcessing();\n }\n\n onAjaxProgress(e) {\n let [xhr] = e.detail;\n let upload = xhr.upload;\n if(!upload) return;\n upload.addEventListener(\"progress\", this.progressHandler.bind(this), false);\n }\n\n onAjaxSuccess(e) {\n let [data, status, xhr] = e.detail;\n this.formContainerTarget.innerHTML = xhr.response;\n this.enableNextButton();\n }\n\n onAjaxError(e) {\n let [data, status, xhr] = e.detail;\n const notAcceptedStatusCode = 406;\n if(xhr.status == notAcceptedStatusCode) {\n this.formContainerTarget.innerHTML = xhr.response;\n } else {\n this.showServerError(status);\n }\n }\n\n private\n\n progressHandler(e) {\n var percent = (e.loaded / e.total) * 100;\n this.showProgress(percent);\n }\n\n showProgress(percent) {\n this.progressTarget.style.width = percent + \"%\";\n }\n\n showServerError(statusText) {\n this.hideProcessing();\n this.serverErrorMessageTarget.classList.remove(\"is-hidden\");\n this.serverErrorMessageTarget.innerHTML = statusText;\n }\n\n showProcessing() {\n this.submitButtonTarget.classList.add('is-loading');\n this.submitButtonTarget.setAttribute('disabled', 'disabled');\n }\n\n hideProcessing() {\n this.submitButtonTarget.classList.remove('is-loading');\n this.submitButtonTarget.removeAttribute('disabled');\n }\n\n enableNextButton() {\n if(!this.nextButtonTarget) return;\n this.nextButtonTarget.removeAttribute(\"disabled\");\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\nimport { removeElement } from \"../../helpers\"\n\nexport default class extends Controller {\n static targets = [\"realInput\", \"fakeInput\", \"fakeItem\"]\n\n initialize() {\n this.items = [];\n this.itemIncement = 0;\n this.placeholderText = this.element.getAttribute(\"data-placeholder\");\n this.renderTemplate();\n this.renderInitialItems();\n }\n\n onKeyDown(e) {\n switch (e.key) {\n case \",\":\n e.preventDefault();\n this.onPressAdd()\n break;\n case \"Enter\":\n e.preventDefault();\n this.onPressAdd()\n break;\n }\n }\n\n onPressAdd() {\n const value = this.fakeInputTarget.value;\n this.addItem(value);\n }\n\n onClickRemove(e) {\n e.preventDefault();\n const itemId = e.currentTarget.getAttribute(\"data-id\");\n this.removeItem(itemId)\n }\n\n focusOnInput() {\n this.fakeInputTarget.focus();\n }\n\n onBlur() {\n this.onPressAdd();\n }\n\n private\n\n addItem(value) {\n if(!value) return;\n let valueHasCharacters = value.trim() != \"\";\n if(valueHasCharacters) {\n this.itemIncement++;\n let newItem = {\n id: this.itemIncement,\n value: value\n };\n this.items.push(newItem)\n this.renderItem(newItem);\n }\n\n this.resetFakeInput();\n this.refreshRealInput();\n this.updatePlaceholder();\n }\n\n removeItem(itemId) {\n const itemElement = this.fakeItemTargets.find(fakeItem => {\n return fakeItem.getAttribute('data-id') == itemId;\n });\n if(!itemElement) return;\n for(var i = this.items.length; i--;) {\n if (this.items[i].id == itemId) this.items.splice(i, 1);\n }\n removeElement(itemElement);\n this.refreshRealInput();\n this.updatePlaceholder();\n }\n\n resetFakeInput() {\n this.fakeInputTarget.value = \"\";\n }\n\n refreshRealInput() {\n const value = this.items.map(item => item['value']);\n this.realInputTarget.value = value;\n }\n\n updatePlaceholder() {\n if(this.items.length > 0) {\n this.fakeInputTarget.placeholder = \"\";\n } else {\n this.fakeInputTarget.placeholder = this.placeholderText;\n }\n }\n\n renderTemplate() {\n const template = `\n
    forms--list#focusOnInput\">\n forms--list#onKeyDown change->forms--list#onBlur\" data-target=\"forms--list.fakeInput\">\n
    \n `;\n this.element.insertAdjacentHTML('beforeend', template);\n }\n\n renderInitialItems() {\n let initialValues = this.element.getAttribute(\"data-initial-items\")\n if (!initialValues) return\n let initialItems = JSON.parse(initialValues)\n initialItems.forEach((item) => {\n this.addItem(item);\n });\n }\n\n renderItem(item) {\n const crossSvg = `\n \n \n \n \n \n \n \n \n \n \n `;\n const template = `\n
    \n ${item.value}\n forms--list#onClickRemove\" data-id=\"${item.id}\">\n ${crossSvg}\n \n
    \n `\n this.fakeInputTarget.insertAdjacentHTML('beforebegin', template);\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"content\"]\n\n onAnswer(e) {\n let value = e.currentTarget.getAttribute('value');\n let answerGroup = e.currentTarget.getAttribute('data-answer-group');\n const elements = this.contentTargets.filter(content => {\n let showWhenAnswer = content.getAttribute('data-answer-group');\n return showWhenAnswer === answerGroup;\n });\n\n elements.forEach((element) => {\n if (element.getAttribute('data-show-when-value') === value) {\n this.show(element);\n } else {\n this.hide(element);\n }\n });\n }\n\n private\n\n show(content) {\n content.classList.remove('is-hidden');\n }\n\n hide(content) {\n content.classList.add('is-hidden');\n }\n}\n", "export const chevronDownSvg = `\n\n \n \n \n \n \n\n`;\n\nexport const triangleDownSmallSvg = `\n\n \n \n \n\n`;\n\nexport const tickSvg = `\n\n \n \n \n\n`\n\nexport const calendarSvg = `\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n`\n", "import { Controller } from \"@hotwired/stimulus\"\nimport { dispatchEvent, listenForClickOffElement } from \"../../helpers\"\nimport { triangleDownSmallSvg, tickSvg } from \"../../icons\"\n\nexport default class extends Controller {\n static targets = [\"realSelect\", \"fakeSelect\", \"fakeOptions\", \"fakeOption\", \"currentValue\"]\n\n initialize() {\n this.realOptions = Array.from(this.realSelectTarget.options);\n this.selectableSubset = this.element.getAttribute('data-selectable-subset');\n this.subsetOptions = this.realOptions.filter(r => this.selectableSubset.includes(r.value))\n this.placeholder = this.element.getAttribute('data-placeholder') || 'Please select';\n this.selectedText = this.element.getAttribute('data-selected-text') || 'selected of';\n this.selectAllText = this.element.getAttribute('data-select-all-text') || 'Select all';\n this.selectSubsetText = this.element.getAttribute('data-select-subset-text');\n this.allSelectedText = this.element.getAttribute('data-all-selected-text') || 'All selected';\n this.showCount = this.element.getAttribute('data-show-count');\n this.allowSelectAll = this.element.getAttribute('data-allow-select-all');\n this.allowSelectSubset = this.element.getAttribute('data-allow-select-subset');\n this.renderTemplate();\n this.highlightFirstFakeOption();\n this.showValueFromRealSelect();\n this.showSelectedFakeOptions();\n listenForClickOffElement(this.element, this.close.bind(this));\n this.listenForRealSelectChange();\n }\n\n toggleOpen(e) {\n e.preventDefault();\n if(this.element.classList.contains('is-open')) {\n this.close();\n } else {\n this.open();\n }\n }\n\n onClickFakeOption(e) {\n e.preventDefault();\n e.stopPropagation();\n let fakeOption = e.currentTarget;\n let index = fakeOption.getAttribute('data-index');\n if(this.hasSelectAllOption()) {\n if(index == 0) {\n this.toggleSelectAllRealOptions();\n } else if(index == 1 && this.hasSelectSubsetOption()) {\n this.toggleSelectSubsetRealOptions();\n } else {\n this.toggleRealSelectOptionByIndex(index);\n }\n } else if(this.hasSelectSubsetOption()) {\n if(index == 0) {\n this.toggleSelectSubsetRealOptions();\n } else {\n this.toggleRealSelectOptionByIndex(index);\n }\n } else {\n this.toggleRealSelectOptionByIndex(index);\n }\n\n this.showValueFromRealSelect();\n this.showSelectedFakeOptions();\n this.fakeSelectTarget.focus();\n }\n\n onMouseoverFakeOption(e) {\n let highlightedFakeOptionIndex = e.currentTarget.getAttribute('data-index');\n this.highlightFakeOptionByIndex(highlightedFakeOptionIndex)\n }\n\n onKeyDown(e) {\n let highlightedFakeOptionIndex = 0;\n switch (e.key) {\n case \"ArrowDown\":\n e.preventDefault();\n if(!this.isOpen()) { this.open(); }\n this.handleKeyPressFocus();\n highlightedFakeOptionIndex = this.getHighlightedFakeOptionIndex();\n if(highlightedFakeOptionIndex < (this.fakeOptionTargets.length - 1)) {\n highlightedFakeOptionIndex++;\n this.highlightFakeOptionByIndex(highlightedFakeOptionIndex)\n }\n break;\n case \"ArrowUp\":\n e.preventDefault();\n if(!this.isOpen()) { this.open(); }\n this.handleKeyPressFocus();\n highlightedFakeOptionIndex = this.getHighlightedFakeOptionIndex();\n if(highlightedFakeOptionIndex > 0) {\n highlightedFakeOptionIndex--;\n this.highlightFakeOptionByIndex(highlightedFakeOptionIndex)\n }\n break;\n case \"Enter\":\n e.preventDefault();\n highlightedFakeOptionIndex = this.getHighlightedFakeOptionIndex();\n let highlightedFakeOption = this.findFakeOptionByIndex(highlightedFakeOptionIndex);\n dispatchEvent(highlightedFakeOption, 'click');\n break;\n case \"Tab\":\n if(this.isOpen()) { this.close(); }\n break;\n case \"Escape\":\n e.preventDefault();\n this.close();\n break;\n }\n }\n\n private\n\n showValueFromRealSelect() {\n let value = this.placeholder;\n let selectedValues = this.realOptions.reduce((filtered, realOption) => {\n if(realOption.selected) filtered.push(realOption.innerText);\n return filtered;\n }, []);\n\n if(this.showCount == 'true') {\n if (selectedValues.length == this.realOptions.length) {\n value = this.allSelectedText;\n } else {\n value = `${selectedValues.length} ${this.selectedText} ${this.realOptions.length}`;\n }\n } else if(selectedValues.length) {\n value = selectedValues.join(\", \");\n }\n\n this.currentValueTarget.textContent = value;\n }\n\n close() {\n this.element.classList.remove('is-open');\n }\n\n open() {\n this.element.classList.add('is-open');\n }\n\n isOpen() {\n return this.element.classList.contains('is-open');\n }\n\n listenForRealSelectChange() {\n this.realSelectTarget.addEventListener(\"change\", () => {\n this.showValueFromRealSelect();\n });\n }\n\n toggleHasValueSelectedClass() {\n if(this.realSelectTarget.value) {\n this.element.classList.add('has-value-selected');\n } else {\n this.element.classList.remove('has-value-selected');\n }\n }\n\n toggleRealSelectOptionByIndex(index) {\n let realOption = this.findRealOptionByIndex(index);\n realOption.selected = !realOption.selected;\n }\n\n toggleSelectAllRealOptions() {\n if(!this.hasSelectAllOption()) return\n let selectedRealOptions = this.realOptions.reduce((filtered, realOption) => {\n if(realOption.selected) filtered.push(realOption);\n return filtered;\n }, []);\n let shouldSelectAll = true;\n if(selectedRealOptions.length == this.realOptions.length) {\n shouldSelectAll = false;\n }\n this.realOptions.forEach((realOption) => {\n realOption.selected = shouldSelectAll;\n });\n }\n\n toggleSelectSubsetRealOptions() {\n if(!this.hasSelectSubsetOption()) return\n let selectedRealOptions = this.subsetOptions.reduce((filtered, realOption) => {\n if(realOption.selected) filtered.push(realOption);\n return filtered;\n }, []);\n let shouldSelectAll = true;\n if(this.subsetOptions.every((value, index) => value === selectedRealOptions[index])) {\n shouldSelectAll = false;\n }\n this.subsetOptions.forEach((realOption) => {\n realOption.selected = shouldSelectAll;\n });\n }\n\n showSelectedFakeOptions() {\n let selectedCount = 0;\n let selectedOptions = [];\n this.fakeOptionTargets.forEach((fakeOption) => {\n fakeOption.classList.remove('is-selected');\n let index = fakeOption.getAttribute('data-index');\n let realOption = this.findRealOptionByIndex(index);\n if(realOption && realOption.selected) {\n fakeOption.classList.add('is-selected');\n selectedCount++;\n selectedOptions.push(realOption)\n }\n });\n\n if(this.hasSelectAllOption()) {\n if(this.realOptions.every((value, index) => value === selectedOptions[index])) {\n this.fakeOptionTargets[0].classList.add('is-selected');\n } else {\n this.fakeOptionTargets[0].classList.remove('is-selected');\n }\n }\n\n if(this.hasSelectSubsetOption()) {\n let fakeIndex = this.hasSelectAllOption() ? 1 : 0\n if(this.subsetOptions.every((value, index) => value === selectedOptions[index])) {\n this.fakeOptionTargets[fakeIndex].classList.add('is-selected');\n } else {\n this.fakeOptionTargets[fakeIndex].classList.remove('is-selected');\n }\n }\n\n this.toggleHasValueSelectedClass();\n }\n\n highlightFakeOptionByIndex(index) {\n this.removeHighlight();\n let fakeOptionToHighlight = this.findFakeOptionByIndex(index)\n if(fakeOptionToHighlight) {\n fakeOptionToHighlight.classList.add('is-highlighted');\n }\n }\n\n getHighlightedFakeOptionIndex() {\n let selectedFakeOption = this.findHighlightedFakeOption();\n return selectedFakeOption.getAttribute('data-index');\n }\n\n removeHighlight() {\n this.fakeOptionTargets.forEach((fakeOption) => {\n fakeOption.classList.remove('is-highlighted');\n });\n }\n\n findHighlightedFakeOption() {\n return this.fakeOptionTargets.find(fakeOption => {\n return fakeOption.classList.contains('is-highlighted');\n });\n }\n\n findFakeOptionByIndex(index) {\n return this.fakeOptionTargets.find(fakeOption => {\n return fakeOption.getAttribute('data-index') == index;\n });\n }\n\n findRealOptionByIndex(index) {\n if(this.hasSelectAllOption()) {\n index--;\n }\n if(this.hasSelectSubsetOption()) {\n index--;\n }\n return this.realOptions[index];\n }\n\n highlightFirstFakeOption() {\n this.fakeOptionTargets[0].classList.add('is-highlighted');\n }\n\n hasSelectAllOption() {\n return this.allowSelectAll == 'true';\n }\n\n hasSelectSubsetOption() {\n return this.allowSelectSubset == 'true';\n }\n\n handleKeyPressFocus() {\n this.fakeOptionsTarget.focus();\n setTimeout(() => {\n this.fakeSelectTarget.focus();\n }, 500);\n }\n\n renderTemplate() {\n const template = `\n
    forms--multiselect#onKeyDown\">\n \n ${this.placeholder}\n \n \n ${triangleDownSmallSvg}\n \n
    \n
      \n ${this.renderSelectAllOption()}\n ${this.renderSelectSubsetOption()}\n ${this.renderOptions()}\n
    \n `;\n this.element.insertAdjacentHTML('beforeend', template);\n }\n\n renderOptions() {\n return this.realOptions.map((realOption, index) => {\n var offsetIndex = (this.hasSelectAllOption()) ? (index + 1) : index;\n offsetIndex = (this.hasSelectSubsetOption()) ? (offsetIndex + 1) : offsetIndex;\n return this.renderOption(offsetIndex, realOption.value, realOption.innerText)\n }).join('');\n }\n\n renderSelectAllOption() {\n if(!this.hasSelectAllOption()) return '';\n return this.renderOption(0, '', this.selectAllText);\n }\n\n renderSelectSubsetOption() {\n if(!this.hasSelectSubsetOption()) return '';\n if(this.hasSelectAllOption()) {\n return this.renderOption(1, '', this.selectSubsetText);\n }\n return this.renderOption(0, '', this.selectSubsetText);\n }\n\n renderOption(index, value, text) {\n return `\n
  • forms--multiselect#onClickFakeOption click->forms--validator#validate mouseover->forms--multiselect#onMouseoverFakeOption\" data-target=\"forms--multiselect.fakeOption\">\n \n ${tickSvg}\n \n \n ${text}\n \n
  • \n `;\n }\n}\n", "import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n\n static targets = [\"form\"]\n\n onChange(e) {\n e.preventDefault();\n this.formTarget.submit();\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\nimport { dispatchEvent, listenForClickOffElement } from \"../../helpers\"\nimport { chevronDownSvg, triangleDownSmallSvg, calendarSvg } from \"../../icons\"\n\nexport default class extends Controller {\n static targets = [\"realSelect\", \"fakeSelect\", \"fakeOptions\", \"fakeOption\", \"currentValue\"]\n \n initialize() {\n this.realOptions = Array.from(this.realSelectTarget.options);\n this.renderTemplate();\n this.showValueFromRealSelect();\n listenForClickOffElement(this.element, this.close.bind(this))\n this.listenForRealSelectChange();\n }\n\n toggleOpen(e) {\n e.preventDefault();\n if(this.element.classList.contains('is-open')) {\n this.close();\n } else {\n this.open();\n }\n }\n\n onClickFakeOption(e) {\n e.preventDefault();\n this.realSelectTarget.value = e.currentTarget.getAttribute('data-value');\n let newValue = e.currentTarget.innerText;\n this.showFakeSelectValue(newValue);\n dispatchEvent(this.realSelectTarget, 'change');\n this.fakeSelectTarget.focus();\n }\n\n onMouseoverFakeOption(e) {\n let highlightedFakeOptionIndex = e.currentTarget.getAttribute('data-index');\n this.highlightFakeOptionByIndex(highlightedFakeOptionIndex)\n }\n\n onKeyDown(e) {\n let highlightedFakeOptionIndex = 0;\n switch (e.key) {\n case \"ArrowDown\":\n e.preventDefault();\n if(!this.isOpen()) { this.open(); }\n this.handleKeyPressFocus();\n highlightedFakeOptionIndex = this.getHighlightedFakeOptionIndex();\n if(highlightedFakeOptionIndex < (this.fakeOptionTargets.length - 1)) {\n highlightedFakeOptionIndex++;\n this.highlightFakeOptionByIndex(highlightedFakeOptionIndex)\n }\n break;\n case \"ArrowUp\":\n e.preventDefault();\n if(!this.isOpen()) { this.open(); }\n this.handleKeyPressFocus();\n highlightedFakeOptionIndex = this.getHighlightedFakeOptionIndex();\n if(highlightedFakeOptionIndex > 0) {\n highlightedFakeOptionIndex--;\n this.highlightFakeOptionByIndex(highlightedFakeOptionIndex)\n }\n break;\n case \"Enter\":\n e.preventDefault();\n highlightedFakeOptionIndex = this.getHighlightedFakeOptionIndex();\n let highlightedFakeOption = this.findFakeOptionByIndex(highlightedFakeOptionIndex);\n dispatchEvent(highlightedFakeOption, 'click');\n this.close();\n break;\n case \"Tab\":\n if(this.isOpen()) { this.close(); }\n break;\n case \"Escape\":\n e.preventDefault();\n this.close();\n break;\n }\n }\n\n private\n\n showValueFromRealSelect() {\n let selectedIndex = this.realSelectTarget.selectedIndex;\n let realSelectedOption = this.realSelectTarget.options[selectedIndex]\n if(!realSelectedOption) return;\n let fakeSelectValue = realSelectedOption.innerText;\n this.showFakeSelectValue(fakeSelectValue);\n }\n\n showFakeSelectValue(value) {\n this.currentValueTarget.textContent = value;\n this.toggleHasValueSelectedClass();\n }\n\n close() {\n this.element.classList.remove('is-open');\n }\n\n open() {\n this.element.classList.add('is-open');\n this.highlightSelectedFakeOption();\n }\n\n isOpen() {\n return this.element.classList.contains('is-open');\n }\n\n listenForRealSelectChange() {\n this.realSelectTarget.addEventListener(\"change\", () => {\n this.showValueFromRealSelect();\n });\n }\n\n toggleHasValueSelectedClass() {\n if(this.realSelectTarget.value) {\n this.element.classList.add('has-value-selected');\n } else {\n this.element.classList.remove('has-value-selected');\n }\n }\n\n highlightSelectedFakeOption() {\n this.removeHighlight();\n let selectedFakeOption = this.findSelectedFakeOption();\n selectedFakeOption.classList.add('is-highlighted');\n }\n\n highlightFakeOptionByIndex(index) {\n this.removeHighlight();\n let fakeOptionToHighlight = this.findFakeOptionByIndex(index)\n if(fakeOptionToHighlight) {\n fakeOptionToHighlight.classList.add('is-highlighted');\n } \n }\n\n getHighlightedFakeOptionIndex() {\n let selectedFakeOption = this.findHighlightedFakeOption();\n return selectedFakeOption.getAttribute('data-index');\n }\n\n removeHighlight() {\n this.fakeOptionTargets.forEach((fakeOption) => {\n fakeOption.classList.remove('is-highlighted');\n });\n }\n\n findHighlightedFakeOption() {\n return this.fakeOptionTargets.find(fakeOption => {\n return fakeOption.classList.contains('is-highlighted');\n });\n }\n\n findSelectedFakeOption() {\n let realValue = this.realSelectTarget.value;\n return this.fakeOptionTargets.find(fakeOption => {\n return fakeOption.getAttribute('data-value') == realValue;\n });\n }\n\n findFakeOptionByIndex(index) {\n return this.fakeOptionTargets.find(fakeOption => {\n return fakeOption.getAttribute('data-index') == index;\n });\n }\n\n handleKeyPressFocus() {\n this.fakeOptionsTarget.focus();\n setTimeout(() => {\n this.fakeSelectTarget.focus();\n }, 500);\n }\n\n renderTemplate() {\n const template = `\n
    forms--select#onKeyDown\">\n ${this.renderCurrentValueTemplate()}\n
    \n
      \n ${this.renderOptions()}\n
    \n `;\n this.element.insertAdjacentHTML('beforeend', template);\n }\n\n renderCurrentValueTemplate() {\n let icon = triangleDownSmallSvg;\n if(this.element.classList.contains('is-chunky')) {\n icon = chevronDownSvg;\n }\n if(this.element.classList.contains('is-date')) {\n icon = calendarSvg;\n }\n\n let iconTemplate = `\n \n ${icon}\n \n `;\n let currentValueTemplate = `\n \n ${this.realOptions[0].innerText}\n \n `;\n\n if(this.element.classList.contains('is-date')) {\n return `${iconTemplate}${currentValueTemplate}`;\n }\n return `${currentValueTemplate}${iconTemplate}`;\n }\n\n renderOptions() {\n return this.realOptions.map((realOption, index) =>\n `\n
  • forms--select#onClickFakeOption mouseover->forms--select#onMouseoverFakeOption\" data-target=\"forms--select.fakeOption\">\n ${realOption.innerText}\n
  • \n `\n ).join('');\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"submitButton\"]\n\n onChange(e) {\n let value = e.currentTarget.value;\n this.submitButtonTarget.setAttribute('data-open-modal-id', value);\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"loadingIcon\"]\n\n onSubmit(e) {\n this.loadingIconTarget.classList.add('is-spinning');\n this.loadingIconTarget.classList.remove('is-invisible');\n e.target.classList.add('is-invisible');\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"content\"]\n\n onAnswer(e) {\n let answer = e.currentTarget.getAttribute('data-answer');\n this.contentTargets.forEach(content => {\n let showWhenAnswer = content.getAttribute('data-show-when-answer');\n if(showWhenAnswer == answer || showWhenAnswer == \"any\") {\n this.show(content);\n }\n else {\n this.hide(content);\n }\n });\n }\n\n private\n\n show(content) {\n content.classList.remove('is-hidden');\n }\n\n hide(content) {\n content.classList.add('is-hidden');\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n\n static targets = [\"unhide\", \"switch\"];\n\n password(e) {\n if (this.unhideTarget.type === \"password\") {\n this.unhideTarget.type = \"text\";\n this.switchTarget.textContent = \"hide\";\n } else {\n this.unhideTarget.type = \"password\";\n this.switchTarget.textContent = \"show\";\n }\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"field\", \"submitButton\"]\n\n connect() {\n this.validate();\n }\n\n validate() {\n let valid = true;\n this.fieldTargets.forEach((field) => {\n if (!this.validateField(field)) {\n valid = false;\n }\n });\n if (valid) {\n this.submitButtonTarget.removeAttribute('disabled');\n } else {\n this.submitButtonTarget.setAttribute('disabled', 'disabled');\n }\n }\n\n validateOnClick() {\n this.submitButtonTarget.removeAttribute('disabled');\n }\n\n onSubmit() {\n this.submitButtonTarget.setAttribute('disabled', 'disabled');\n }\n\n private\n\n validateField(field) {\n let fieldType = field.getAttribute('data-field-type');\n if (field.classList.contains('is-hidden')) return true;\n\n switch (fieldType) {\n case \"radio-buttons\":\n let checkedRadioButtons = field.querySelectorAll('input[type=\"radio\"]:checked');\n if (checkedRadioButtons.length === 0) {\n return false;\n }\n break;\n case \"checkboxes\":\n let checkedCheckboxes = field.querySelectorAll('input[type=\"checkbox\"]:checked');\n if (!checkedCheckboxes.length) {\n return false;\n }\n break;\n case \"number\":\n let numberInput = field.querySelector('input[type=\"number\"]');\n if (!numberInput.value || numberInput.value < numberInput.min ) {\n return false;\n }\n break;\n case \"button\":\n return false;\n case \"multi-select\":\n let selectedSelects = field.querySelectorAll('.has-value-selected');\n if (!selectedSelects.length) {\n return false;\n }\n break;\n default:\n let input = field.querySelector('input') || field.querySelector('select');\n if (!input.value) {\n return false;\n }\n }\n return true;\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\nimport Rails from '@rails/ujs';\n\nexport default class extends Controller {\n static targets = ['list', 'statusFilter'];\n\n initialize() {\n this.timeRange = '';\n this.path = this.element.getAttribute('data-path');\n }\n\n onChange() {\n let data = this.setData();\n this.filter(data);\n }\n\n onRadioChange(e) {\n this.timeRange = e.target.value;\n this.onChange();\n }\n\n filter(data) {\n let url = this.path;\n let fetchData = {\n method: 'POST',\n body: JSON.stringify(data),\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-CSRF-Token': Rails.csrfToken()\n }\n };\n\n fetch(url, fetchData)\n .then((response) => {\n return response.text();\n })\n .then((data) => {\n this.updateList(data);\n });\n }\n\n onAjaxSuccess(e) {\n let [data, status, xhr] = e.detail;\n this.updateList(xhr.response);\n }\n\n updateList(data) {\n let filteredList = this.listTarget;\n filteredList.innerHTML = data;\n }\n\n setData() {\n return {\n status: this.statusFilterTarget.value,\n time_range: this.timeRange\n };\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"assignAllSwitch\", \"assignSwitch\", \"labelChecked\", \"labelUnchecked\"]\n\n initialize() {\n this.updateCheckedStatus()\n this.checkSwitchesVisible()\n }\n\n onChange(e) {\n let value = e.currentTarget.checked\n this.assignSwitchTargets.forEach((assignSwitch) => {\n assignSwitch.checked = value;\n })\n if (value) {\n this.showCheckedLabel()\n } else {\n this.showUncheckedLabel()\n }\n }\n\n onClick() {\n this.updateCheckedStatus()\n }\n\n private\n\n showCheckedLabel() {\n this.labelUncheckedTarget.classList.add('is-hidden');\n this.labelCheckedTarget.classList.remove('is-hidden');\n }\n\n showUncheckedLabel() {\n this.labelCheckedTarget.classList.add('is-hidden');\n this.labelUncheckedTarget.classList.remove('is-hidden');\n }\n\n updateCheckedStatus() {\n let numberOfSwitches = this.assignSwitchTargets.length\n let assignSwitchesChecked = this.assignSwitchTargets.filter(assignSwitch => assignSwitch.checked)\n if (numberOfSwitches > assignSwitchesChecked.length) {\n this.assignAllSwitchTarget.checked = false\n this.showUncheckedLabel();\n } else {\n this.assignAllSwitchTarget.checked = true;\n this.showCheckedLabel();\n }\n }\n\n checkSwitchesVisible() {\n let numberOfSwitches = this.assignSwitchTargets.length\n if (numberOfSwitches == 0) {\n this.assignAllSwitchTarget.setAttribute('disabled', true)\n this.labelCheckedTarget.classList.add('has-primary-light-text');\n }\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n onClickButton(e) {\n e.preventDefault();\n this.scrollToElement();\n }\n\n private\n\n scrollToElement() {\n let elementPosition = this.element.getBoundingClientRect();\n let headerOffset = this.calculateHeaderOffset();\n let targetY = (elementPosition.top + window.scrollY) - headerOffset;\n window.scrollTo(0, targetY);\n }\n\n calculateHeaderOffset() {\n let header = document.querySelector(\".header\");\n if(!header || getComputedStyle(header).position != \"fixed\") return 0;\n return header.offsetHeight;\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"content\", \"button\"]\n\n initialize() {\n this.checkOverflow();\n window.addEventListener('resize', () => {\n this.checkOverflow();\n });\n }\n\n onClickButton(e) {\n e.preventDefault();\n this.toggleOpen();\n }\n\n private\n\n checkOverflow() {\n setTimeout(() => {\n if(this.contentHasOverflow()) {\n this.buttonTarget.classList.remove('is-hidden');\n } else {\n this.buttonTarget.classList.add('is-hidden');\n }\n }, 0);\n }\n\n toggleOpen() {\n if(this.element.classList.contains('is-open')) {\n this.element.classList.remove('is-open');\n } else {\n this.element.classList.add('is-open');\n }\n }\n\n contentHasOverflow() {\n if(this.element.classList.contains('is-open')) return true;\n if(this.contentTarget.offsetWidth == 0) return true\n return (this.contentTarget.offsetWidth < this.contentTarget.scrollWidth);\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n dismiss(e) {\n if(e) { e.preventDefault() };\n this.element.classList.add('is-hidden');\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n openMobileNav() {\n if(this.switchDeviceMenuController) {\n this.switchDeviceMenuController.close();\n }\n this.mobileNavController.open();\n }\n\n openSwitchDeviceMenu() {\n this.mobileNavController.close();\n this.switchDeviceMenuController.open();\n }\n\n loadSwitchDeviceMenu() {\n this.switchDeviceController.retrieve();\n }\n\n get mobileNavController() {\n let element = document.querySelector('[data-id=\"ui--mobile-nav\"]');\n return this.application.getControllerForElementAndIdentifier(element, \"ui--mobile-nav\");\n }\n\n get switchDeviceController() {\n let element = document.querySelector('[data-id=\"devices--switch-device\"]');\n return this.application.getControllerForElementAndIdentifier(element, \"devices--switch-device\");\n }\n\n get switchDeviceMenuController() {\n let element = document.querySelector('[data-id=\"ui--switch-device-menu\"]');\n return this.application.getControllerForElementAndIdentifier(element, \"ui--switch-device-menu\");\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n open() {\n this.element.classList.remove(\"is-invisible\");\n this.element.classList.add(\"is-open\");\n }\n\n close() {\n this.element.classList.remove(\"is-open\");\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n open() {\n this.element.classList.add('is-open');\n }\n\n close(e) {\n if(e) { e.preventDefault() };\n this.element.classList.remove('is-open');\n }\n\n isOpen() {\n return this.element.classList.contains('is-open');\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n openModal(e) {\n e.preventDefault();\n if(!this.modalController) { return }\n if(this.modalController.isOpen()) {\n if(this.openableButton) {\n this.openableButton.classList.remove('is-open');\n this.modalElement.classList.replace('is-open', 'is-closed');\n }\n this.modalController.close();\n } else {\n if(this.openableButton) {\n this.openableButton.classList.add('is-open');\n this.modalElement.classList.replace('is-closed', 'is-open');\n }\n if(this.floatingActionButtonController) {\n this.floatingActionButtonController.dismiss()\n }\n this.modalController.open();\n }\n }\n\n get modalController() {\n let modalId = this.element.getAttribute('data-open-modal-id');\n let modalElement = document.querySelector(`[data-modal-id=\"${modalId}\"]`);\n return this.application.getControllerForElementAndIdentifier(modalElement, \"ui--modal\");\n }\n\n get openableButton() {\n let buttonId = this.element.getAttribute('data-target-button-id');\n let buttonElement = document.querySelector(`[data-button-id=\"${buttonId}\"]`);\n return buttonElement;\n }\n\n get modalElement() {\n let modalId = this.element.getAttribute('data-open-modal-id');\n let modalElement = document.querySelector(`[data-element-id=\"${modalId}\"]`);\n return modalElement;\n }\n\n get floatingActionButtonController() {\n let fabId = this.element.getAttribute('data-dismissable-fab-id');\n let fabElement = document.querySelector(`[data-fab-id=\"${fabId}\"]`);\n return this.application.getControllerForElementAndIdentifier(fabElement, \"ui--floating-action-button\");\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [ \"item\" ]\n \n connect() {\n this.element.classList.add(\"is-active\");\n }\n\n closeItem(e) {\n let closeButton = e.currentTarget;\n let index = closeButton.getAttribute('data-index');\n let item = this.itemTargets[index];\n item.classList.add(\"is-read\");\n setTimeout(() => {\n item.classList.add(\"is-hidden\");\n }, 500);\n }\n}\n", "import { Controller } from '@hotwired/stimulus';\n\nexport default class extends Controller {\n static targets = ['slide', 'slideButton'];\n\n initialize() {\n const initialSlideIndex = parseInt(\n this.element.getAttribute('data-current-slide-index')\n );\n this.showSlideByIndex(initialSlideIndex);\n\n document\n .getElementsByClassName('slider')[0]\n .addEventListener('scroll', function() {\n var fontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize\n );\n var offset = this.scrollLeft - fontSize;\n var index = Math.round(offset / (23.5 * fontSize)) + 1;\n\n Array.from(document.querySelectorAll('.page')).forEach((el) =>\n el.classList.remove('current')\n );\n document.getElementById('page-' + index).classList.add('current');\n });\n\n document.querySelector('#recommendations div').addEventListener('scroll', function (ev) {\n // The panels are different widths!\n const panelWidth = Math.min(\n ev.target.children[0].offsetWidth,\n ev.target.children[1].offsetWidth,\n ev.target.children[2].offsetWidth);\n\n const index = Math.floor(ev.target.scrollLeft / panelWidth);\n\n const leftChevron = document.querySelector('button.deal-left');\n const rightChevron = document.querySelector('button.deal-right');\n\n if (leftChevron) {\n leftChevron.disabled = index == 0;\n }\n if (leftChevron) {\n rightChevron.disabled = index == 2;\n }\n });\n\n document.querySelector(\"button.deal-right\").addEventListener(\"click\", function (ev) {\n ev.preventDefault();\n\n const div = document.querySelector('#recommendations div');\n div.scrollLeft += div.children[0].offsetWidth;\n }.bind(this));\n\n document.querySelector(\"button.deal-left\").addEventListener(\"click\", function (ev) {\n ev.preventDefault();\n\n const div = document.querySelector('#recommendations div');\n div.scrollLeft -= div.children[0].offsetWidth;\n }.bind(this));\n\n }\n\n showNextSlide(e) {\n e.preventDefault();\n if (this.currentSlideIndex >= this.slideTargets.length - 1) return;\n let nextSlideIndex = this.currentSlideIndex + 1;\n this.showSlideByIndex(nextSlideIndex);\n }\n\n showPreviousSlide(e) {\n e.preventDefault();\n if (this.currentSlideIndex <= 0) return;\n let previousSlideIndex = this.currentSlideIndex - 1;\n this.showSlideByIndex(previousSlideIndex);\n }\n\n showNextSlideAndLoop(e) {\n e.preventDefault();\n let nextSlideIndex =\n this.currentSlideIndex >= this.slideTargets.length - 1\n ? 0\n : this.currentSlideIndex + 1;\n this.showSlideByIndex(nextSlideIndex);\n }\n\n showPreviousSlideAndLoop(e) {\n e.preventDefault();\n let nextSlideIndex =\n this.currentSlideIndex <= 0\n ? this.slideTargets.length - 1\n : this.currentSlideIndex - 1;\n this.showSlideByIndex(nextSlideIndex);\n }\n\n jumpToSlide(e) {\n e.preventDefault();\n let jumpToSlideIndex = parseInt(\n e.currentTarget.getAttribute('data-slide-index')\n );\n this.showSlideByIndex(jumpToSlideIndex);\n }\n\n private;\n\n showSlideByIndex(index) {\n let slideTarget = this.slideTargets.find((slideTarget) => {\n return parseInt(slideTarget.getAttribute('data-slide-index')) == index;\n });\n if (slideTarget) {\n this.setCurrentSlideIndex(index);\n this.hideAllSlides();\n this.showSlide(slideTarget);\n this.updateActiveSlideButtonAtIndex(index);\n }\n }\n\n setCurrentSlideIndex(index) {\n this.currentSlideIndex = index;\n this.element.setAttribute(\n 'data-current-slide-index',\n this.currentSlideIndex\n );\n }\n\n showSlide(slideTarget) {\n slideTarget.classList.remove('is-hidden');\n }\n\n hideSlide(slideTarget) {\n slideTarget.classList.add('is-hidden');\n }\n\n hideAllSlides() {\n this.slideTargets.forEach((slide) => {\n this.hideSlide(slide);\n });\n }\n\n updateActiveSlideButtonAtIndex(index) {\n this.removeIsActiveFromSlideButtons();\n let slideButtonTarget = this.slideButtonTargets.find(\n (slideButtonTarget) => {\n return (\n parseInt(slideButtonTarget.getAttribute('data-slide-index')) == index\n );\n }\n );\n slideButtonTarget.classList.add('is-active');\n }\n\n removeIsActiveFromSlideButtons() {\n this.slideButtonTargets.forEach((slideButtonTarget) => {\n slideButtonTarget.classList.remove('is-active');\n });\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [ \"inner\" ]\n\n initialize() {\n this.marginTop = this.element.getAttribute(\"data-margin-top\");\n this.resetInnerTargetWidth();\n this.watchForWindowResize();\n this.watchForWinowScroll();\n this.checkShouldStick();\n }\n\n private\n\n resetInnerTargetWidth() {\n this.innerTarget.style.maxWidth = this.element.offsetWidth + \"px\";\n }\n\n watchForWindowResize() {\n window.addEventListener('resize', () => {\n this.resetInnerTargetWidth();\n this.checkShouldStick();\n });\n }\n\n watchForWinowScroll() {\n window.addEventListener('scroll', () => {\n this.checkShouldStick();\n });\n }\n\n checkShouldStick() {\n let position = this.element.getBoundingClientRect();\n if(position.top < (0 + this.marginTop)) {\n this.innerTarget.style.top = this.marginTop + \"px\";\n this.element.style.height = this.element.offsetHeight + \"px\";\n this.innerTarget.classList.add(\"is-stuck\");\n } else {\n this.innerTarget.classList.remove(\"is-stuck\");\n this.element.style.height = \"auto\";\n this.innerTarget.style.top = \"auto\";\n }\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n open() {\n this.element.classList.remove(\"is-invisible\");\n this.element.classList.add(\"is-open\");\n }\n\n close() {\n this.element.classList.remove(\"is-open\");\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\nimport { dispatchEvent } from \"../../helpers\"\n\nexport default class extends Controller {\n static targets = [\"link\", \"content\"]\n\n initialize() {\n this.showActiveTabsFromLocationHash();\n }\n\n onClickTabLink(e) {\n e.preventDefault();\n let tabLink = e.currentTarget;\n if(tabLink.classList.contains(\"is-active\")) return;\n window.location.hash = tabLink.getAttribute('href');\n this.changeTab(tabLink); \n dispatchEvent(window, 'resize');\n }\n\n private\n\n changeTab(tabLink) {\n let tabGroup = tabLink.getAttribute(\"data-tab-group\");\n this.clearActiveTabsForTabGroup(tabGroup);\n this.activateTabContent(tabLink); \n }\n\n clearActiveTabsForTabGroup(tabGroup) {\n [...this.linkTargets, ...this.contentTargets].forEach((target) => {\n if(target.getAttribute(\"data-tab-group\") == tabGroup) {\n target.classList.remove(\"is-active\");\n }\n });\n }\n\n activateTabContent(tabLink) {\n tabLink.classList.add(\"is-active\");\n let activeContent = this.contentTargets.find((contentTarget) => {\n return contentTarget.getAttribute(\"data-tab-content\") == tabLink.getAttribute('href');\n });\n activeContent.classList.add(\"is-active\");\n }\n\n showActiveTabsFromLocationHash() {\n let tabLink = this.findTabLinkFromLocationHash();\n if(!tabLink) return;\n this.changeTab(tabLink);\n this.activeParentTabsForTabLink(tabLink);\n }\n\n findTabLinkFromLocationHash() {\n let locationHash = window.location.hash\n return this.linkTargets.find((linkTarget) => {\n return locationHash == linkTarget.getAttribute('href');\n });\n }\n\n activeParentTabsForTabLink(tabLink) {\n let parentTabLink = this.findParentTab(tabLink);\n if(!parentTabLink) return;\n do {\n this.changeTab(parentTabLink); \n parentTabLink = this.findParentTab(parentTabLink);\n } while (parentTabLink);\n }\n\n findParentTab(tabLink) {\n let tabGroup = tabLink.getAttribute(\"data-tab-group\");\n return this.linkTargets.find((linkTarget) => {\n return tabGroup == linkTarget.getAttribute('href');\n });\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller { \n update(text, targetElement) {\n let _targetElement = targetElement || this.element;\n _targetElement.innerText = text;\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n\n toggleOpen() {\n if (!this.element.classList.contains('is-open')) {\n this.element.classList.add('is-open');\n } else {\n this.element.classList.remove('is-open');\n }\n }\n}\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n \n toggleOpen(e) {\n e.preventDefault();\n ['open', 'close'].forEach((action) => {\n let toolTipController = this.getToolTipController(action);\n if(toolTipController) {\n toolTipController.toggleOpen();\n }\n });\n }\n\n private \n\n getToolTipId(action) {\n return this.element.getAttribute(`data-tool-tip-${action}-id`);\n }\n\n getToolTipController(action) {\n let toolTipId = this.getToolTipId(action);\n let toolTip = document.querySelector(`[data-tool-tip=\"${toolTipId}\"]`);\n return this.application.getControllerForElementAndIdentifier(toolTip, \"ui--tool-tip\");\n }\n}\n\n", "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"content\"]\n\n connect() {\n this.defaultPath = this.element.getAttribute(\"data-default-path\");\n this.registerInterestPath = this.element.getAttribute(\"data-register-interest-path\");\n }\n\n onCountryChange(e) {\n let select = e.currentTarget;\n let selectedIndex = select.selectedIndex;\n if(selectedIndex == 0) {\n this.hideRegisterInterest();\n return;\n }\n let country = select.options[selectedIndex].text;\n if(country == \"United Kingdom\") {\n this.hideRegisterInterest();\n } else {\n this.showRegisterInterest();\n }\n this.validatorController.validate();\n }\n\n private\n\n showRegisterInterest() {\n this.element.action = this.registerInterestPath;\n this.toggleContent(\"show\");\n }\n\n hideRegisterInterest() {\n this.element.action = this.defaultPath;\n this.toggleContent(\"hide\");\n }\n\n toggleContent(action) {\n this.contentTargets.forEach(content => {\n let whenRegisterInterest = content.getAttribute(\"data-when-register-interest\");\n if(whenRegisterInterest == action) {\n this.show(content);\n }\n else {\n this.hide(content);\n }\n });\n }\n\n show(content) {\n let mobileRule = content.getAttribute(\"data-mobile-rule\");\n if(mobileRule) {\n content.classList.add(mobileRule);\n } else {\n content.classList.remove('is-hidden');\n }\n }\n\n hide(content) {\n let mobileRule = content.getAttribute(\"data-mobile-rule\");\n if(mobileRule) {\n content.classList.remove(mobileRule);\n } else {\n content.classList.add('is-hidden');\n }\n }\n\n get validatorController() {\n return this.application.getControllerForElementAndIdentifier(this.element, \"forms--validator\");\n }\n}\n"], "mappings": "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ACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,QACA,OAAS;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,QACA,WAAa;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,U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", "names": ["Rails", "CustomEvent", "options", "error", "d3", "error", "key", "keyValue", "values", "map", "n", "s", "document", "group", "i", "node", "name", "window", "duration", "location", "h", "callback", "request", "row", "d", "utc", "day", "d3_time_format", "formats", "\u03BB0", "\u03BB1", "range", "point", "code", "listener", "\u03C1", "resample", "x", "y", "x1", "y1", "x2", "y2", "string", "size", "o", "childs", "pad", "j", "subgroup", "g", "isValue", "isFunction", "isArray", "isString", "isUndefined", "isDefined", "ceil10", "asHalfPixel", "diffDomain", "isEmpty", "notEmpty", "getOption", "options", "hasValue", "sanitise", "getPathBox", "splitted", "d3", "g", "scale1", "Axis", "format", "duration", "c3", "transitions", "f", "fNOP", "fBound", "Builder", "pathSeg", "Source", "string", "d", "newArc", "error", "reducer", "done", "id", "defaultFormat", "toShow", "rectW", "rectX", "xForLegend", "yForLegend", "xForLegendText", "yForLegendText", "xForLegendRect", "yForLegendRect", "x1ForLegendTile", "x2ForLegendTile", "yForLegendTile", "scale", "domain", "toggle", "i", "shape", "color", "xValue", "yValue", "x", "regions", "sWithRegion", "j", "diff", "value0", "value1", "valueOf", "sortFunction", "name", "extend", "format", "locale", "to", "from", "now", "sign", "token", "ordinal", "i", "diff", "localeData", "hours", "minutes", "defaults", "tokens", "meridiem", "duration", "years", "months", "weeks", "days", "seconds", "milliseconds", "offset", "add", "formats", "isBetween", "toString", "thresholds", "nv", "duration", "data", "state", "text", "width", "getX", "i", "d", "getY", "showControls", "key", "x", "y", "node", "series", "extent", "y1", "y3", "chart", "w", "dataValues", "stackedWrap", "e", "moment", "guesses", "zones", "require_moment_timezone", "moment", "application", "error", "options", "fetch", "match", "oldValue", "error", "constructor", "application", "elements", "element", "import_ujs", "Rails", "error", "data", "import_ujs", "Rails", "data", "import_ujs", "Rails", "data", "import_ujs", "import_moment", "moment", "Rails", "error", "c3", "moment", "import_ujs", "import_moment", "Rails", "error", "nv", "moment", "import_ujs", "import_moment", "Rails", "error", "moment", "import_ujs", "import_moment", "Rails", "error", "moment", "import_ujs", "import_c3", "import_moment", "Rails", "error", "c3", "moment", "import_ujs", "import_nvd3", "import_moment", "moment", "Rails", "error", "nv", "import_ujs", "import_nvd3", "import_moment", "moment", "Rails", "error", "nv", "import_c3", "c3", "import_ujs", "import_moment", "import_c3", "Rails", "error", "c3", "moment", "import_ujs", "import_moment", "Rails", "error", "moment", "import_ujs", "import_moment", "Rails", "error", "moment", "import_ujs", "import_moment", "Rails", "error", "moment", "import_ujs", "import_ujs", "item", "Rails", "import_ujs", "Rails", "import_ujs", "Rails", "data", "import_ujs", "Rails", "import_moment", "moment", "import_moment", "moment", "error", "error", "options", "_a", "source", "defaults", "element", "options", "triggerChange", "month", "formats", "kebabCase", "string", "replace", "toLowerCase", "capitalize", "charAt", "toUpperCase", "slice", "booleanOptions", "stringOptions", "numberOptions", "arrayOptions", "arrayOrStringOptions", "dateOptions", "dateFormats", "options", "boolean", "date", "array", "number", "arrayOrString", "events", "elements", "mapping", "strftimeRegex", "RegExp", "Object", "keys", "join", "convertDateFormat", "format", "match", "StimulusFlatpickr", "config", "_initializeEvents", "_initializeOptions", "_initializeDateFormats", "fp", "flatpickr", "flatpickrElement", "_initializeElements", "value", "inputTarget", "destroy", "forEach", "event", "hook", "bind", "optionType", "optionsCamelCase", "option", "optionKebab", "data", "has", "_handleDaysOfWeek", "disableDaysOfWeek", "_validateDaysOfWeek", "disable", "_disable", "enableDaysOfWeek", "enable", "_enable", "days", "Array", "isArray", "map", "day", "parseInt", "console", "error", "disabledDays", "includes", "getDay", "enabledDays", "dateFormat", "get", "element", "JSON", "parse", "val", "e", "hasInstanceTarget", "instanceTarget", "Controller", "import_moment", "moment", "elements", "import_ujs", "filter_controller_default", "Rails", "data", "slideTarget", "slideButtonTarget", "Rails", "filter_controller_default"] }