From ba4aabc1869cfa31c0ff0d82ee9ca85d580149c1 Mon Sep 17 00:00:00 2001 From: Carl Eberhard Date: Fri, 31 Jul 2015 12:48:10 -0400 Subject: [PATCH] Client, libs: update and track farbtastic and jqtouch; compress scripts --- client/galaxy/scripts/libs/farbtastic.js | 42 +- client/galaxy/scripts/libs/jquery/jqtouch.js | 1233 ++++++++++++------ client/grunt-tasks/install-libs.js | 5 +- static/maps/libs/d3.js.map | 2 +- static/maps/libs/farbtastic.js.map | 2 +- static/maps/libs/jquery/jqtouch.js.map | 2 +- static/maps/libs/raven.js.map | 2 +- static/maps/libs/require.js.map | 2 +- static/maps/libs/tracekit.js.map | 2 +- static/scripts/libs/d3.js | 8 +- static/scripts/libs/farbtastic.js | 2 +- static/scripts/libs/jquery/jqtouch.js | 2 +- static/scripts/libs/raven.js | 2 +- static/scripts/libs/require.js | 2 +- static/scripts/libs/tracekit.js | 2 +- 15 files changed, 886 insertions(+), 424 deletions(-) diff --git a/client/galaxy/scripts/libs/farbtastic.js b/client/galaxy/scripts/libs/farbtastic.js index 7a495b844a3..01e1173b69f 100644 --- a/client/galaxy/scripts/libs/farbtastic.js +++ b/client/galaxy/scripts/libs/farbtastic.js @@ -1,6 +1,6 @@ -// Farbtastic 2.0 alpha +// Farbtastic 2.0.0-alpha.1 (function ($) { - + var __debug = false; $.fn.farbtastic = function (options) { @@ -15,7 +15,7 @@ $.farbtastic = function (container, options) { $._farbtastic = function (container, options) { var fb = this; - + ///////////////////////////////////////////////////// /** @@ -98,7 +98,7 @@ $._farbtastic = function (container, options) { .find('div>*').css('position', 'absolute'); // IE Fix: Recreate canvas elements with doc.createElement and excanvas. - navigator.userAgent.match(/msie/i) && $('canvas', container).each(function () { + $.browser.msie || false && $('canvas', container).each(function () { // Fetch info. var attr = { 'class': $(this).attr('class'), style: this.getAttribute('style') }, e = document.createElement('canvas'); @@ -130,7 +130,7 @@ $._farbtastic = function (container, options) { fb.ctxOverlay = fb.cnvOverlay[0].getContext('2d'); fb.ctxMask.translate(fb.mid, fb.mid); fb.ctxOverlay.translate(fb.mid, fb.mid); - + // Draw widget base layers. fb.drawCircle(); fb.drawMask(); @@ -166,7 +166,7 @@ $._farbtastic = function (container, options) { // New color color2 = fb.pack(fb.HSLToRGB([d2, 1, 0.5])); if (i > 0) { - if (navigator.userAgent.match(/msie/i)) { + if ($.browser.msie || false) { // IE's gradient calculations mess up the colors. Correct along the diagonals. var corr = (1 + Math.min(Math.abs(Math.tan(angle1)), Math.abs(Math.tan(Math.PI / 2 - angle1)))) / n; color1 = fb.pack(fb.HSLToRGB([d1 - 0.15 * corr, 1, 0.5])); @@ -204,7 +204,7 @@ $._farbtastic = function (container, options) { m.restore(); __debug && $('body').append('
drawCircle '+ (+(new Date()) - tm) +'ms'); }; - + /** * Draw the saturation/luminance mask. */ @@ -224,9 +224,9 @@ $._farbtastic = function (container, options) { var c = (a > 0) ? ((2 * l - 1 + a) * .5 / a) : 0; outputPixel(x, y, c, a); } - } + } } - + // Method #1: direct pixel access (new Canvas). if (fb.ctxMask.getImageData) { // Create half-resolution buffer. @@ -246,7 +246,7 @@ $._farbtastic = function (container, options) { fb.ctxMask.drawImage(buffer, 0, 0, sz + 1, sz + 1, -sq, -sq, sq * 2, sq * 2); } // Method #2: drawing commands (old Canvas). - else if (!navigator.userAgent.match(/msie/i)) { + else if (!($.browser.msie || false)) { // Render directly at half-resolution var sz = Math.floor(size / 2); calculateMask(sz, sz, function (x, y, c, a) { @@ -287,7 +287,7 @@ $._farbtastic = function (container, options) { } cache.push([c, a]); }); - } + } __debug && $('body').append('
drawMask '+ (+(new Date()) - tm) +'ms'); } @@ -313,7 +313,7 @@ $._farbtastic = function (container, options) { // Update the overlay canvas. fb.ctxOverlay.clearRect(-fb.mid, -fb.mid, sz, sz); - for (i in circles) { + for (var i = 0; i < circles.length; i++) { var c = circles[i]; fb.ctxOverlay.lineWidth = c.lw; fb.ctxOverlay.strokeStyle = c.c; @@ -335,7 +335,7 @@ $._farbtastic = function (container, options) { // Draw markers fb.drawMarkers(); - + // Linked elements or callback if (typeof fb.callback == 'object') { // Set background/foreground color @@ -349,21 +349,21 @@ $._farbtastic = function (container, options) { if ((typeof this.value == 'string') && this.value != fb.color) { this.value = fb.color; } - }); + }).change(); } else if (typeof fb.callback == 'function') { fb.callback.call(fb, fb.color); } } - + /** * Helper for returning coordinates relative to the center. */ fb.widgetCoords = function (event) { return { - x: event.pageX - fb.offset.left - fb.mid, + x: event.pageX - fb.offset.left - fb.mid, y: event.pageY - fb.offset.top - fb.mid - }; + }; } /** @@ -426,7 +426,7 @@ $._farbtastic = function (container, options) { fb.packDX = function (c, a) { return '#' + fb.dec2hex(a) + fb.dec2hex(c) + fb.dec2hex(c) + fb.dec2hex(c); }; - + fb.pack = function (rgb) { var r = Math.round(rgb[0] * 255); var g = Math.round(rgb[1] * 255); @@ -496,8 +496,7 @@ $._farbtastic = function (container, options) { options = $.extend({ width: 300, wheelWidth: (options.width || 300) / 10, - callback: null, - color: "#808080" + callback: null }, options); // Initialize. @@ -511,8 +510,7 @@ $._farbtastic = function (container, options) { fb.linkTo(options.callback); } // Set to gray. - fb.setColor( "#808080" ); - fb.setColor( options.color ); + if (!fb.color) fb.setColor('#808080'); } })(jQuery); diff --git a/client/galaxy/scripts/libs/jquery/jqtouch.js b/client/galaxy/scripts/libs/jquery/jqtouch.js index 0be8d5fedc3..0f5426d07c5 100644 --- a/client/galaxy/scripts/libs/jquery/jqtouch.js +++ b/client/galaxy/scripts/libs/jquery/jqtouch.js @@ -1,420 +1,883 @@ -// David Kaneda, jQuery jQTouch extensions +(function() { -(function($) { - - var currentPage = null; - var currentDialog = null; - var currentHash = location.hash; - var hashPrefix = "#"; - var currentWidth = 0; - var pageHistory = []; - var pageHistoryInfo = []; - var newPageCount = 0; - var checkTimer; + $.jQTouch = function(options) { + // Initialize internal jQT variables + var $body, + $head=$('head'), + history=[], + newPageCount=0, + jQTSettings={}, + $currentPage='', + orientation='portrait', + touchSelectors=[], + publicObj={}, + tapBuffer=100, // High click delay = ~350, quickest animation (slide) = 250 + extensions=$.jQTouch.prototype.extensions, + extTapHandlers=$.jQTouch.prototype.tapHandlers, + tapHandlers=[], + animations=[], + hairExtensions='', + defaults = { + addGlossToIcon: true, + backSelector: '.back, .cancel, .goback', + cacheGetRequests: true, + debug: true, + defaultAnimation: 'slideleft', + fixedViewport: true, + formSelector: 'form', + fullScreen: true, + fullScreenClass: 'fullscreen', + icon: null, + icon4: null, // available in iOS 4.2 and later + preloadImages: false, + starter: $(document).ready, + startupScreen: null, + statusBar: 'default', // other options: black-translucent, black + submitSelector: '.submit', + touchSelector: 'a, .touch', + trackScrollPositions: true, + updateHash: true, + useAnimations: true, + useFastTouch: true, + useTouchScroll: true, + animations: [ // highest to lowest priority + {name:'cubeleft', selector:'.cubeleft, .cube', is3d: true}, + {name:'cuberight', selector:'.cuberight', is3d: true}, + {name:'dissolve', selector:'.dissolve'}, + {name:'fade', selector:'.fade'}, + {name:'flipleft', selector:'.flipleft, .flip', is3d: true}, + {name:'flipright', selector:'.flipright', is3d: true}, + {name:'pop', selector:'.pop', is3d: true}, + {name:'swapleft', selector:'.swapleft, .swap', is3d: true}, + {name:'swapright', selector:'.swapright', is3d: true}, + {name:'slidedown', selector:'.slidedown'}, + {name:'slideright', selector:'.slideright'}, + {name:'slideup', selector:'.slideup'}, + {name:'slideleft', selector:'.slideleft, .slide, #jqt > * > ul li a'} + ] + }; // end defaults - $.fn.jQTouch = function(options) - { - var defaults = { - fullScreen: true, - slideInSelector: 'ul li a', - backSelector: '.back', - flipSelector: '.flip', - slideUpSelector: '.slideup', - statusBar: 'default', // other options: black-translucent, black - icon: null, - iconIsGlossy: false, - fixedViewport: true - }; - - var settings = $.extend({}, defaults, options); - var head = $('head'); + function warn(message) { + if (window.console !== undefined && jQTSettings.debug === true) { + console.warn(message); + } + } - if (settings.backSelector) - { - $(settings.backSelector).live('click',function(){ - history.back(); - return false; + function addAnimation(animation) { + if (typeof(animation.selector) === 'string' && typeof(animation.name) === 'string') { + animations.push(animation); + } + } + + function addTapHandler(tapHandler) { + if (typeof(tapHandler.name) === 'string' && typeof(tapHandler.isSupported) === 'function' && typeof(tapHandler.fn) === 'function') { + tapHandlers.push(tapHandler); + } + } + + function addPageToHistory(page, animation) { + history.unshift({ + page: page, + animation: animation, + hash: '#' + page.attr('id'), + id: page.attr('id') }); } - if (settings.icon) - { - var precomposed = (settings.iconIsGlossy) ? '' : '-precomposed'; - head.append(''); - } - - if (settings.fixedViewport) - { - head.append(''); - } - - if (settings.fullScreen) - { - head.append(''); - - if (settings.statusBar) - { - head.append(''); + // Unfortunately, we can not assume the 'tap' event + // is being used for links, forms, etc. + function clickHandler(e) { + // Figure out whether to prevent default + var $el = $(e.target); + + // Find the nearest tappable ancestor + if (!$el.is(touchSelectors.join(', '))) { + $el = $(e.target).closest(touchSelectors.join(', ')); + } + + // Prevent default if we found an internal link + // (relative or absolute) + if ($el && $el.attr('href') && !$el.isExternalLink()) { + warn('Need to prevent default click behavior.'); + e.preventDefault(); + } else { + warn('No need to prevent default click behavior.'); + } + + // Trigger a tap event if touchstart is not on the job + if ($.support.touch) { + warn('Not converting click to a tap event because touch handler is on the job.'); + } else { + warn('Converting click event to a tap event because touch handlers are not present or off.'); + $(e.target).trigger('tap', e); } } - - var liveSelectors = []; - - if (settings.slideInSelector) liveSelectors.push(settings.slideInSelector); - if (settings.flipSelector) liveSelectors.push(settings.flipSelector); - if (settings.slideUpSelector) liveSelectors.push(settings.slideUpSelector); - // Selector settings - if (liveSelectors.length > 0) - { - $(liveSelectors.join(', ')).live('click',function(){ - - var jelem = $(this); - var hash = jelem.attr('hash'); - var transition = 'slideInOut'; + function doNavigation(fromPage, toPage, animation, goingBack) { - if ($(this).is(settings.flipSelector)) transition = 'flip'; - if ($(this).is(settings.slideUpSelector)) transition = 'slideUp'; + goingBack = goingBack ? goingBack : false; - if ( hash && hash != '#') - { - jelem.attr('selected', 'true'); - $.fn.jQTouch.showPage($(hash), transition); - setTimeout($.fn.unselect, 350, $(this)); - } - else if ( jelem.attr('href') != '#' ) - { - jelem.attr('selected', 'progress'); - - try { - $.fn.jQTouch.showPageByHref($(this).attr('href'), null, null, null, transition, function(){ setTimeout($.fn.unselect, 350, jelem); - }); - } - catch(err) - { - console.log(err); - } - } + // Error check for target page + if (toPage === undefined || toPage.length === 0) { + $.fn.unselect(); + warn('Target element is missing.'); return false; - }); - - // Initialize - - $(function(){ - var page = $.fn.jQTouch.getSelectedPage(); - if (page) $.fn.jQTouch.showPage(page); - - // setTimeout($.fn.jQTouch.checkOrientandLocation, 0); - $.fn.jQTouch.startCheck(); - }) - - } - } - - $.fn.ianimate = function(css, speed, fn) { - - // TODO: Autoconvert top,left to translate(); - // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(x1, y1, x2, y2) - - if(speed === 0) { // differentiate 0 from null - this.css(css) - window.setTimeout(fn, 0) - } else { - var s = [] - for(var i in css) - s.push(i) - this.css({ webkitTransitionProperty: s.join(", "), webkitTransitionDuration: speed + "ms", webkitTransitionTimingFunction: 'ease-in-out' }); - - window.setTimeout(function(x,y) { - x.css(y) - },0, this, css) - window.setTimeout(fn, speed) - } - return this; - } - - $.fn.jQTouch.checkOrientAndLocation = function() - { - if (window.innerWidth != currentWidth) - { - currentWidth = window.innerWidth; - currentHeight = window.innerHeight; - var orient = currentWidth < currentHeight ? "profile" : "landscape"; - document.body.setAttribute("orient", orient); - setTimeout(scrollTo, 100, 0, 1); - } - - if (location.hash != currentHash) - $.fn.jQTouch.showPageById(location.hash); - } - - $.fn.jQTouch.getSelectedPage = function() - { - return $('body > *[selected!=false]').slice(0,1); - } - - $.fn.jQTouch.showPage = function( page, transition, backwards ) - { - if (page) - { - if (currentDialog) - { - currentDialog.attr('selected', null); - currentDialog = null; } - var fromPage = currentPage; - currentPage = page; - - if (fromPage) - $.fn.jQTouch.animatePages(fromPage, page, transition, backwards); - else - $.fn.jQTouch.updatePage(page, fromPage, transition); - } - } - - $.fn.jQTouch.showPageById = function( hash ) - { - var page = $(hash); - - if (page) - { - var transition; - var currentIndex = pageHistory.indexOf(currentHash); - var index = pageHistory.indexOf(hash); - var backwards = index != -1; - - if (backwards) { - transition = pageHistoryInfo[currentIndex].transition; - - pageHistory.splice(index, pageHistory.length); - pageHistoryInfo.splice(index, pageHistoryInfo.length); + // Error check for fromPage === toPage + if (toPage.hasClass('current')) { + $.fn.unselect(); + warn('You are already on the page you are trying to navigate to.'); + return false; } - - $.fn.jQTouch.showPage(page, transition, backwards); - } - } - - $.fn.jQTouch.insertPages = function( nodes, transition ) - { - var targetPage; - - nodes.each(function(index, node){ - - if (!$(this).attr('id')) - $(this).attr('id', (++newPageCount)); - - $(this).appendTo($('body')); - - if ( $(this).attr('selected') == 'true' || ( !targetPage && !$(this).hasClass('btn')) ) - targetPage = $(this); - }); - - if (targetPage) $.fn.jQTouch.showPage(targetPage, transition); - - } - $.fn.jQTouch.showPageByHref = function(href, data, method, replace, transition, cb) - { - $.ajax({ - url: href, - data: data, - type: method || "GET", - success: function (data, textStatus) - { - $('a[selected="progress"]').attr('selected', 'true'); - - if (replace) $(replace).replaceWith(data); - else - { - $.fn.jQTouch.insertPages( $(data) ); + // Collapse the keyboard + $(':focus').trigger('blur'); + + fromPage.trigger('pageAnimationStart', { direction: 'out', back: goingBack }); + toPage.trigger('pageAnimationStart', { direction: 'in', back: goingBack }); + + if ($.support.animationEvents && animation && jQTSettings.useAnimations) { + // Fail over to 2d animation if need be + if (!$.support.transform3d && animation.is3d) { + warn('Did not detect support for 3d animations, falling back to ' + jQTSettings.defaultAnimation + '.'); + animation.name = jQTSettings.defaultAnimation; } - - if (cb) cb(true); - }, - error: function (data) - { - if (cb) cb(false); - } - }); - } - - $.fn.jQTouch.submitForm = function() - { - $.fn.jQTouch.showPageByHref($(this).attr('action') || "POST", $(this).serialize(), $(this).attr('method')); - return false; - } - - $.fn.showForm = function () - { - return this.each(function(){ - $(this).submit($.fn.jQTouch.submitForm); - }); - } - - $.fn.jQTouch.animatePages = function(fromPage, toPage, transition, backwards) - { - clearInterval(checkTimer); - - if (transition == 'flip'){ - toPage.flip({backwards: backwards}); - fromPage.flip({backwards: backwards}); - } - else if (transition == 'slideUp') - { - if (backwards) - { - toPage.attr('selected', true); - fromPage.slideUpDown({backwards: backwards}); - } - else - { - toPage.slideUpDown({backwards: backwards}); - } - - } - else - { - toPage.slideInOut({backwards: backwards}); - fromPage.slideInOut({backwards: backwards}); - } - - setTimeout(function(){ - fromPage.attr('selected', 'false'); - $.fn.jQTouch.updatePage(toPage, fromPage, transition); - $.fn.jQTouch.startCheck(); - }, 500); - } - - $.fn.jQTouch.startCheck = function() - { - checkTimer = setInterval($.fn.jQTouch.checkOrientAndLocation, 350); - } - - $.fn.jQTouch.updatePage = function(page, fromPage, transition) - { - if (page) - { - if (!page.attr('id')) - page.attr('id', (++newPageCount)); + // Reverse animation if need be + var finalAnimationName = animation.name, + is3d = animation.is3d ? 'animating3d' : ''; - location.replace(hashPrefix + page.attr('id')); - currentHash = location.hash; + if (goingBack) { + finalAnimationName = finalAnimationName.replace(/left|right|up|down|in|out/, reverseAnimation); + } - pageHistory.push(currentHash); - pageHistoryInfo.push({page: page, transition: transition}); - - if (page.attr('localName') == "form" && !page.attr('target')) - { - page.showForm(); + warn('finalAnimationName is ' + finalAnimationName + '.'); + + // Bind internal 'cleanup' callback + fromPage.bind('webkitAnimationEnd', navigationEndHandler); + + // Trigger animations + $body.addClass('animating ' + is3d); + + var lastScroll = window.pageYOffset; + + // Position the incoming page so toolbar is at top of + // viewport regardless of scroll position on from page + if (jQTSettings.trackScrollPositions === true) { + toPage.css('top', window.pageYOffset - (toPage.data('lastScroll') || 0)); + } + + toPage.addClass(finalAnimationName + ' in current'); + fromPage.removeClass('current').addClass(finalAnimationName + ' out inmotion'); + + if (jQTSettings.trackScrollPositions === true) { + fromPage.data('lastScroll', lastScroll); + $('.scroll', fromPage).each(function() { + $(this).data('lastScroll', this.scrollTop); + }); + } + } else { + toPage.addClass('current in'); + fromPage.removeClass('current'); + navigationEndHandler(); + } + + // Housekeeping + $currentPage = toPage; + if (goingBack) { + history.shift(); + } else { + addPageToHistory($currentPage, animation); + } + setHash($currentPage.attr('id')); + + // Private navigationEnd callback + function navigationEndHandler(event) { + var bufferTime = tapBuffer; + + if ($.support.animationEvents && animation && jQTSettings.useAnimations) { + fromPage.unbind('webkitAnimationEnd', navigationEndHandler); + fromPage.removeClass(finalAnimationName + ' out inmotion'); + if (finalAnimationName) { + toPage.removeClass(finalAnimationName); + } + $body.removeClass('animating animating3d'); + if (jQTSettings.trackScrollPositions === true) { + toPage.css('top', -toPage.data('lastScroll')); + + // Have to make sure the scroll/style resets + // are outside the flow of this function. + setTimeout(function() { + toPage.css('top', 0); + window.scroll(0, toPage.data('lastScroll')); + $('.scroll', toPage).each(function() { + this.scrollTop = - $(this).data('lastScroll'); + }); + }, 0); + } + } else { + fromPage.removeClass(finalAnimationName + ' out inmotion'); + if (finalAnimationName) { + toPage.removeClass(finalAnimationName); + } + bufferTime += 260; + } + + // 'in' class is intentionally delayed, + // as it is our ghost click hack + setTimeout(function() { + toPage.removeClass('in'); + window.scroll(0,0); + }, bufferTime); + + fromPage.unselect(); + + // Trigger custom events + toPage.trigger('pageAnimationEnd', { + direction:'in', + animation: animation, + back: goingBack + }); + fromPage.trigger('pageAnimationEnd', { + direction:'out', + animation: animation, + back: goingBack + }); + } + + return true; + } + + function reverseAnimation(animation) { + var opposites={ + 'up' : 'down', + 'down' : 'up', + 'left' : 'right', + 'right' : 'left', + 'in' : 'out', + 'out' : 'in' + }; + + return opposites[animation] || animation; + } + + function getOrientation() { + return orientation; + } + + function goBack() { + // Error checking + if (history.length < 1) { + warn('History is empty.'); + } + + if (history.length === 1) { + warn('You are on the first panel.'); + window.history.go(-1); + } + + var from = history[0], + to = history[1]; + + if (doNavigation(from.page, to.page, from.animation, true)) { + return publicObj; + } else { + warn('Could not go back.'); + return false; } } - } - - $.fn.unselect = function(obj) - { - obj.attr('selected', false); - } - $.preloadImages = function( imgs ) - { - for (var i = imgs.length - 1; i >= 0; i--){ - (new Image()).src = imgs[i]; - }; - } - - $.fn.flip = function(options) - { - this.each(function(){ + function goTo(toPage, animation) { + var fromPage = history[0].page; + + if (typeof animation === 'string') { + for (var i=0, max=animations.length; i < max; i++) { + if (animations[i].name === animation) { + animation = animations[i]; + break; + } + } + } + + if (typeof toPage === 'string') { + var nextPage = $(toPage); + + if (nextPage.length < 1) { + showPageByHref(toPage, { + animation: animation + }); + return; + } else { + toPage = nextPage; + } + } + if (doNavigation(fromPage, toPage, animation)) { + return publicObj; + } else { + warn('Could not animate pages.'); + return false; + } + } + + function hashChangeHandler(e) { + if (location.hash === history[0].hash) { + warn('We are on the right panel.'); + return true; + } else if (location.hash === '') { + goBack(); + return true; + } else if (history[1] && location.hash === history[1].hash) { + goBack(); + return true; + } else { + // Lastly, just try going to the ID... + warn('Could not find ID in history, just forwarding to DOM element.'); + goTo($(location.hash), jQTSettings.defaultAnimation); + } + } + + function initHairExtensions(options) { + // Preload images + if (jQTSettings.preloadImages) { + for (var i = jQTSettings.preloadImages.length - 1; i >= 0; i--) { + (new Image()).src = jQTSettings.preloadImages[i]; + } + } + + // Set appropriate icon + // (retina display available in iOS 4.2 and later.) + var precomposed = (jQTSettings.addGlossToIcon) ? '' : '-precomposed'; + if (jQTSettings.icon) { + hairExtensions += ''; + } + if (jQTSettings.icon4) { + hairExtensions += ''; + } + // Set startup screen + if (jQTSettings.startupScreen) { + hairExtensions += ''; + } + + // Set viewport + if (jQTSettings.fixedViewport) { + hairExtensions += ''; + } + + // Set full-screen + if (jQTSettings.fullScreen) { + hairExtensions += ''; + if (jQTSettings.statusBar) { + hairExtensions += ''; + } + } + + // Attach hair extensions + if (hairExtensions) { + $head.prepend(hairExtensions); + } + } + + function initFXExtensions() { + // Define public jQuery functions + $.fn.isExternalLink = function() { + var $el = $(this); + return ($el.attr('target') === '_blank' || $el.attr('rel') === 'external' || $el.is('a[href^="http://maps.google.com"], a[href^="mailto:"], a[href^="tel:"], a[href^="javascript:"], a[href*="youtube.com/v"], a[href*="youtube.com/watch"]')); + }; + $.fn.makeActive = function() { + return $(this).addClass('active'); + }; + $.fn.unselect = function(obj) { + if (obj) { + obj.removeClass('active'); + } else { + $('.active').removeClass('active'); + } + }; + } + + function getAnimation(el) { + var animation; + + for (var i=0, max=animations.length; i < max; i++) { + if (el.is(animations[i].selector)) { + animation = animations[i]; + break; + } + } + + if (!animation) { + warn('Animation could not be found. Using ' + jQTSettings.defaultAnimation + '.'); + animation = jQTSettings.defaultAnimation; + } + return animation; + } + + function insertPages(nodes, animation) { + + var targetPage = null; + + // Call dom.createElement element directly + // instead of relying on $(nodes), to work around: + // https://github.com/madrobby/zepto/issues/312 + var div = document.createElement('div'); + div.innerHTML = nodes; + + $(div).children().each(function(index, node) { + var $node = $(this); + if (!$node.attr('id')) { + $node.attr('id', 'page-' + (++newPageCount)); + } + + // Remove any existing instance + $('#' + $node.attr('id')).remove(); + + $body.append($node); + $body.trigger('pageInserted', {page: $node}); + + if ($node.hasClass('current') || !targetPage) { + targetPage = $node; + } + }); + if (targetPage !== null) { + goTo(targetPage, animation); + return targetPage; + } else { + return false; + } + } + + function orientationChangeHandler() { + scrollTo(0,0); + orientation = Math.abs(window.orientation) === 90 ? 'landscape' : 'portrait'; + $body.removeClass('portrait landscape').addClass(orientation).trigger('turn', {orientation: orientation}); + } + + function setHash(hash) { + // Sanitize + if (jQTSettings.updateHash) { + location.hash = '#' + hash.replace(/^#/, ''); + } + } + + // Document ready stuff + function start() { + // Store some properties in a support object + if (!$.support) $.support = {}; + $.support.animationEvents = (typeof window.WebKitAnimationEvent !== 'undefined'); + $.support.touch = (typeof window.TouchEvent !== 'undefined') && (window.navigator.userAgent.indexOf('Mobile') > -1) && jQTSettings.useFastTouch; + $.support.transform3d = supportForTransform3d(); + $.support.ios5 = supportIOS5(); + + if (!$.support.touch) { + warn('This device does not support touch interaction, or it has been deactivated by the developer. Some features might be unavailable.'); + } + if (!$.support.transform3d) { + warn('This device does not support 3d animation. 2d animations will be used instead.'); + } + + // Add extensions + for (var i=0, max=extensions.length; i < max; i++) { + var fn = extensions[i]; + if ($.isFunction(fn)) { + $.extend(publicObj, fn(publicObj)); + } + } + + // Add extensions tapHandlers + for (var j=0, maxTapHandlers=extTapHandlers.length; j < maxTapHandlers; j++) { + addTapHandler(extTapHandlers[j]); + } + // Add default tapHandlers + addDefaultTapHandlers(); + + // Add animations + for (var k=0, maxAnimations=defaults.animations.length; k < maxAnimations; k++) { + var animation = defaults.animations[k]; + if (jQTSettings[animation.name + 'Selector'] !== undefined) { + animation.selector = jQTSettings[animation.name + 'Selector']; + } + addAnimation(animation); + } + + // Create an array of stuff that needs touch event handling + touchSelectors.push(jQTSettings.touchSelector); + touchSelectors.push(jQTSettings.backSelector); + touchSelectors.push(jQTSettings.submitSelector); + $(touchSelectors.join(', ')).css('-webkit-touch-callout', 'none'); + + // Make sure we have a jqt element + $body = $('#jqt'); + var anatomyLessons = []; + + if ($body.length === 0) { + warn('Could not find an element with the id "jqt", so the body id has been set to "jqt". If you are having any problems, wrapping your panels in a div with the id "jqt" might help.'); + $body = $(document.body).attr('id', 'jqt'); + } + + // Add some specific css if need be + if ($.support.transform3d) { + anatomyLessons.push('supports3d'); + } + + if (jQTSettings.useTouchScroll) { + if ($.support.ios5) { + anatomyLessons.push('touchscroll'); + } else { + anatomyLessons.push('autoscroll'); + } + } + + if (jQTSettings.fullScreenClass && window.navigator.standalone === true) { + anatomyLessons.push(jQTSettings.fullScreenClass, jQTSettings.statusBar); + } + + // Bind events + $body + .addClass(anatomyLessons.join(' ')) + .bind('click', clickHandler) + .bind('orientationchange', orientationChangeHandler) + .bind('submit', submitHandler) + .bind('tap', tapHandler) + .bind($.support.touch ? 'touchstart' : 'mousedown', touchStartHandler) + .trigger('orientationchange'); + + $(window).bind('hashchange', hashChangeHandler); + + var startHash = location.hash; + + // Determine what the initial view should be + if ($('#jqt > .current').length === 0) { + $currentPage = $('#jqt > *:first-child').addClass('current'); + } else { + $currentPage = $('#jqt > .current'); + } + + setHash($currentPage.attr('id')); + addPageToHistory($currentPage); + + if ($(startHash).length === 1) { + goTo(startHash); + } + } + + function showPageByHref(href, options) { + var defaults = { - direction : 'toggle', - backwards: false + data: null, + method: 'GET', + animation: null, + callback: null, + $referrer: null }; var settings = $.extend({}, defaults, options); - var dir = ((settings.direction == 'toggle' && $(this).attr('selected') == 'true') || settings.direction == 'out') ? 1 : -1; - - if (dir == -1) $(this).attr('selected', 'true'); - - $(this).parent().css({webkitPerspective: '2000'}); - - $(this).css({ - '-webkit-backface-visibility': 'hidden', - '-webkit-transform': 'rotateY(' + ((dir == 1) ? '0' : (!settings.backwards ? '-' : '') + '180') + 'deg)' - }).ianimate({'-webkit-transform': 'rotateY(' + ((dir == 1) ? (settings.backwards ? '-' : '') + '180' : '0') + 'deg)'}, 350); - }) - } - - $.fn.slideInOut = function(options) - { - var defaults = { - direction : 'toggle', - backwards: false + if (href !== '#') { + $.ajax({ + url: href, + data: settings.data, + type: settings.method, + success: function (data) { + var firstPage = insertPages(data, settings.animation); + if (firstPage) { + if (settings.method === 'GET' && jQTSettings.cacheGetRequests === true && settings.$referrer) { + settings.$referrer.attr('href', '#' + firstPage.attr('id')); + } + if (settings.callback) { + settings.callback(true); + } + } + }, + error: function (data) { + if (settings.$referrer) { + settings.$referrer.unselect(); + } + if (settings.callback) { + settings.callback(false); + } + } + }); + } else if (settings.$referrer) { + settings.$referrer.unselect(); + } + } + + function submitHandler(e, callback) { + + $(':focus').trigger('blur'); + + e.preventDefault(); + + var $form = (typeof(e)==='string') ? $(e).eq(0) : (e.target ? $(e.target) : $(e)); + + if ($form.length && $form.is(jQTSettings.formSelector) && $form.attr('action')) { + showPageByHref($form.attr('action'), { + data: $form.serialize(), + method: $form.attr('method') || 'POST', + animation: getAnimation($form), + callback: callback + }); + return false; + } + return true; + } + + function submitParentForm($el) { + + var $form = $el.closest('form'); + if ($form.length === 0) { + warn('No parent form found.'); + } else { + warn('About to submit parent form.'); + $form.trigger('submit'); + return false; + } + return true; + } + + function supportForTransform3d() { + + var head, body, style, div, result; + + head = document.getElementsByTagName('head')[0]; + body = document.body; + + style = document.createElement('style'); + style.textContent = '@media (transform-3d),(-o-transform-3d),(-moz-transform-3d),(-webkit-transform-3d){#jqt-3dtest{height:3px}}'; + + div = document.createElement('div'); + div.id = 'jqt-3dtest'; + + // Add to the page + head.appendChild(style); + body.appendChild(div); + + // Check the result + result = div.offsetHeight === 3; + + // Clean up + style.parentNode.removeChild(style); + div.parentNode.removeChild(div); + + // Pass back result + warn('Support for 3d transforms: ' + result + '.'); + return result; + } + + function supportIOS5() { + var support = false; + var REGEX_IOS_VERSION = /OS (\d+)(_\d+)* like Mac OS X/i; + + var agentString = window.navigator.userAgent; + if (REGEX_IOS_VERSION.test(agentString)) { + support = (REGEX_IOS_VERSION.exec(agentString)[1] >= 5); + } + return support; + } + + function touchStartHandler(e) { + + var $el = $(e.target), + selectors = touchSelectors.join(', '); + + // Find the nearest tappable ancestor + if (!$el.is(selectors)) { + $el = $el.closest(selectors); + } + + // Make sure we have a tappable element + if ($el.length && $el.attr('href')) { + $el.addClass('active'); + } + + // Remove our active class if we move + $el.on($.support.touch ? 'touchmove' : 'mousemove', function() { + $el.removeClass('active'); + }); + + $el.on('touchend', function() { + $el.unbind('touchmove mousemove'); + }); + } + + function tapHandler(e) { + + if (e.isDefaultPrevented()) { + return true; + } + + // Grab the target element + var $el = $(e.target); + + // Find the nearest tappable ancestor + if (!$el.is(touchSelectors.join(', '))) { + $el = $el.closest(touchSelectors.join(', ')); + } + + // Make sure we have a tappable element + if (!$el.length || !$el.attr('href')) { + warn('Could not find a link related to tapped element.'); + return true; + } + + // Init some vars + var target = $el.attr('target'), + hash = $el.prop('hash'), + href = $el.attr('href'); + + var params = { + e: e, + $el: $el, + target: target, + hash: hash, + href: href, + jQTSettings: jQTSettings + }; + + // Loop thru all handlers + for (var i=0, len=tapHandlers.length; ia?-1:a>b?1:a>=b?0:0/0}function d(a){return null===a?0/0:+a}function e(a){return!isNaN(a)}function f(a){return{left:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);e>d;){var f=d+e>>>1;a(b[f],c)<0?d=f+1:e=f}return d},right:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);e>d;){var f=d+e>>>1;a(b[f],c)>0?e=f:d=f+1}return d}}}function g(a){return a.length}function h(a){for(var b=1;a*b%1;)b*=10;return b}function i(a,b){for(var c in b)Object.defineProperty(a.prototype,c,{value:b[c],enumerable:!1})}function j(){this._=Object.create(null)}function k(a){return(a+="")===og||a[0]===pg?pg+a:a}function l(a){return(a+="")[0]===pg?a.slice(1):a}function m(a){return k(a)in this._}function n(a){return(a=k(a))in this._&&delete this._[a]}function o(){var a=[];for(var b in this._)a.push(l(b));return a}function p(){var a=0;for(var b in this._)++a;return a}function q(){for(var a in this._)return!1;return!0}function r(){this._=Object.create(null)}function s(a){return a}function t(a,b,c){return function(){var d=c.apply(b,arguments);return d===b?a:d}}function u(a,b){if(b in a)return b;b=b.charAt(0).toUpperCase()+b.slice(1);for(var c=0,d=qg.length;d>c;++c){var e=qg[c]+b;if(e in a)return e}}function v(){}function w(){}function x(a){function b(){for(var b,d=c,e=-1,f=d.length;++ec;c++)for(var e,f=a[c],g=0,h=f.length;h>g;g++)(e=f[g])&&b(e,g,c);return a}function S(a){return sg(a,yg),a}function T(a){var b,c;return function(d,e,f){var g,h=a[f].update,i=h.length;for(f!=c&&(c=f,b=0),e>=b&&(b=e+1);!(g=h[b])&&++b0&&(a=a.slice(0,h));var j=zg.get(a);return j&&(a=j,i=W),h?b?e:d:b?v:f}function V(a,b){return function(c){var d=bg.event;bg.event=c,b[0]=this.__data__;try{a.apply(this,b)}finally{bg.event=d}}}function W(a,b){var c=V(a,b);return function(a){var b=this,d=a.relatedTarget;d&&(d===b||8&d.compareDocumentPosition(b))||c.call(b,a)}}function X(c){var d=".dragsuppress-"+ ++Bg,e="click"+d,f=bg.select(b(c)).on("touchmove"+d,y).on("dragstart"+d,y).on("selectstart"+d,y);if(null==Ag&&(Ag="onselectstart"in c?!1:u(c.style,"userSelect")),Ag){var g=a(c).style,h=g[Ag];g[Ag]="none"}return function(a){if(f.on(d,null),Ag&&(g[Ag]=h),a){var b=function(){f.on(e,null)};f.on(e,function(){y(),b()},!0),setTimeout(b,0)}}}function Y(a,c){c.changedTouches&&(c=c.changedTouches[0]);var d=a.ownerSVGElement||a;if(d.createSVGPoint){var e=d.createSVGPoint();if(0>Cg){var f=b(a);if(f.scrollX||f.scrollY){d=bg.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var g=d[0][0].getScreenCTM();Cg=!(g.f||g.e),d.remove()}}return Cg?(e.x=c.pageX,e.y=c.pageY):(e.x=c.clientX,e.y=c.clientY),e=e.matrixTransform(a.getScreenCTM().inverse()),[e.x,e.y]}var h=a.getBoundingClientRect();return[c.clientX-h.left-a.clientLeft,c.clientY-h.top-a.clientTop]}function Z(){return bg.event.changedTouches[0].identifier}function $(a){return a>0?1:0>a?-1:0}function _(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])}function aa(a){return a>1?0:-1>a?Fg:Math.acos(a)}function ba(a){return a>1?Ig:-1>a?-Ig:Math.asin(a)}function ca(a){return((a=Math.exp(a))-1/a)/2}function da(a){return((a=Math.exp(a))+1/a)/2}function ea(a){return((a=Math.exp(2*a))-1)/(a+1)}function fa(a){return(a=Math.sin(a/2))*a}function ga(){}function ha(a,b,c){return this instanceof ha?(this.h=+a,this.s=+b,void(this.l=+c)):arguments.length<2?a instanceof ha?new ha(a.h,a.s,a.l):va(""+a,wa,ha):new ha(a,b,c)}function ia(a,b,c){function d(a){return a>360?a-=360:0>a&&(a+=360),60>a?f+(g-f)*a/60:180>a?g:240>a?f+(g-f)*(240-a)/60:f}function e(a){return Math.round(255*d(a))}var f,g;return a=isNaN(a)?0:(a%=360)<0?a+360:a,b=isNaN(b)?0:0>b?0:b>1?1:b,c=0>c?0:c>1?1:c,g=.5>=c?c*(1+b):c+b-c*b,f=2*c-g,new ra(e(a+120),e(a),e(a-120))}function ja(a,b,c){return this instanceof ja?(this.h=+a,this.c=+b,void(this.l=+c)):arguments.length<2?a instanceof ja?new ja(a.h,a.c,a.l):a instanceof la?na(a.l,a.a,a.b):na((a=xa((a=bg.rgb(a)).r,a.g,a.b)).l,a.a,a.b):new ja(a,b,c)}function ka(a,b,c){return isNaN(a)&&(a=0),isNaN(b)&&(b=0),new la(c,Math.cos(a*=Jg)*b,Math.sin(a)*b)}function la(a,b,c){return this instanceof la?(this.l=+a,this.a=+b,void(this.b=+c)):arguments.length<2?a instanceof la?new la(a.l,a.a,a.b):a instanceof ja?ka(a.h,a.c,a.l):xa((a=ra(a)).r,a.g,a.b):new la(a,b,c)}function ma(a,b,c){var d=(a+16)/116,e=d+b/500,f=d-c/200;return e=oa(e)*Ug,d=oa(d)*Vg,f=oa(f)*Wg,new ra(qa(3.2404542*e-1.5371385*d-.4985314*f),qa(-.969266*e+1.8760108*d+.041556*f),qa(.0556434*e-.2040259*d+1.0572252*f))}function na(a,b,c){return a>0?new ja(Math.atan2(c,b)*Kg,Math.sqrt(b*b+c*c),a):new ja(0/0,0/0,a)}function oa(a){return a>.206893034?a*a*a:(a-4/29)/7.787037}function pa(a){return a>.008856?Math.pow(a,1/3):7.787037*a+4/29}function qa(a){return Math.round(255*(.00304>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055))}function ra(a,b,c){return this instanceof ra?(this.r=~~a,this.g=~~b,void(this.b=~~c)):arguments.length<2?a instanceof ra?new ra(a.r,a.g,a.b):va(""+a,ra,ia):new ra(a,b,c)}function sa(a){return new ra(a>>16,a>>8&255,255&a)}function ta(a){return sa(a)+""}function ua(a){return 16>a?"0"+Math.max(0,a).toString(16):Math.min(255,a).toString(16)}function va(a,b,c){var d,e,f,g=0,h=0,i=0;if(d=/([a-z]+)\((.*)\)/i.exec(a))switch(e=d[2].split(","),d[1]){case"hsl":return c(parseFloat(e[0]),parseFloat(e[1])/100,parseFloat(e[2])/100);case"rgb":return b(za(e[0]),za(e[1]),za(e[2]))}return(f=Zg.get(a.toLowerCase()))?b(f.r,f.g,f.b):(null==a||"#"!==a.charAt(0)||isNaN(f=parseInt(a.slice(1),16))||(4===a.length?(g=(3840&f)>>4,g=g>>4|g,h=240&f,h=h>>4|h,i=15&f,i=i<<4|i):7===a.length&&(g=(16711680&f)>>16,h=(65280&f)>>8,i=255&f)),b(g,h,i))}function wa(a,b,c){var d,e,f=Math.min(a/=255,b/=255,c/=255),g=Math.max(a,b,c),h=g-f,i=(g+f)/2;return h?(e=.5>i?h/(g+f):h/(2-g-f),d=a==g?(b-c)/h+(c>b?6:0):b==g?(c-a)/h+2:(a-b)/h+4,d*=60):(d=0/0,e=i>0&&1>i?0:d),new ha(d,e,i)}function xa(a,b,c){a=ya(a),b=ya(b),c=ya(c);var d=pa((.4124564*a+.3575761*b+.1804375*c)/Ug),e=pa((.2126729*a+.7151522*b+.072175*c)/Vg),f=pa((.0193339*a+.119192*b+.9503041*c)/Wg);return la(116*e-16,500*(d-e),200*(e-f))}function ya(a){return(a/=255)<=.04045?a/12.92:Math.pow((a+.055)/1.055,2.4)}function za(a){var b=parseFloat(a);return"%"===a.charAt(a.length-1)?Math.round(2.55*b):b}function Aa(a){return"function"==typeof a?a:function(){return a}}function Ba(a){return function(b,c,d){return 2===arguments.length&&"function"==typeof c&&(d=c,c=null),Ca(b,c,a,d)}}function Ca(a,b,c,d){function e(){var a,b=i.status;if(!b&&Ea(i)||b>=200&&300>b||304===b){try{a=c.call(f,i)}catch(d){return void g.error.call(f,d)}g.load.call(f,a)}else g.error.call(f,i)}var f={},g=bg.dispatch("beforesend","progress","load","error"),h={},i=new XMLHttpRequest,j=null;return!this.XDomainRequest||"withCredentials"in i||!/^(http(s)?:)?\/\//.test(a)||(i=new XDomainRequest),"onload"in i?i.onload=i.onerror=e:i.onreadystatechange=function(){i.readyState>3&&e()},i.onprogress=function(a){var b=bg.event;bg.event=a;try{g.progress.call(f,i)}finally{bg.event=b}},f.header=function(a,b){return a=(a+"").toLowerCase(),arguments.length<2?h[a]:(null==b?delete h[a]:h[a]=b+"",f)},f.mimeType=function(a){return arguments.length?(b=null==a?null:a+"",f):b},f.responseType=function(a){return arguments.length?(j=a,f):j},f.response=function(a){return c=a,f},["get","post"].forEach(function(a){f[a]=function(){return f.send.apply(f,[a].concat(dg(arguments)))}}),f.send=function(c,d,e){if(2===arguments.length&&"function"==typeof d&&(e=d,d=null),i.open(c,a,!0),null==b||"accept"in h||(h.accept=b+",*/*"),i.setRequestHeader)for(var k in h)i.setRequestHeader(k,h[k]);return null!=b&&i.overrideMimeType&&i.overrideMimeType(b),null!=j&&(i.responseType=j),null!=e&&f.on("error",e).on("load",function(a){e(null,a)}),g.beforesend.call(f,i),i.send(null==d?null:d),f},f.abort=function(){return i.abort(),f},bg.rebind(f,g,"on"),null==d?f:f.get(Da(d))}function Da(a){return 1===a.length?function(b,c){a(null==b?c:null)}:a}function Ea(a){var b=a.responseType;return b&&"text"!==b?a.response:a.responseText}function Fa(){var a=Ga(),b=Ha()-a;b>24?(isFinite(b)&&(clearTimeout(bh),bh=setTimeout(Fa,b)),ah=0):(ah=1,dh(Fa))}function Ga(){var a=Date.now();for(ch=$g;ch;)a>=ch.t&&(ch.f=ch.c(a-ch.t)),ch=ch.n;return a}function Ha(){for(var a,b=$g,c=1/0;b;)b.f?b=a?a.n=b.n:$g=b.n:(b.t8?function(a){return a/c}:function(a){return a*c},symbol:a}}function Ka(a){var b=a.decimal,c=a.thousands,d=a.grouping,e=a.currency,f=d&&c?function(a,b){for(var e=a.length,f=[],g=0,h=d[0],i=0;e>0&&h>0&&(i+h+1>b&&(h=Math.max(1,b-i)),f.push(a.substring(e-=h,e+h)),!((i+=h+1)>b));)h=d[g=(g+1)%d.length];return f.reverse().join(c)}:s;return function(a){var c=fh.exec(a),d=c[1]||" ",g=c[2]||">",h=c[3]||"-",i=c[4]||"",j=c[5],k=+c[6],l=c[7],m=c[8],n=c[9],o=1,p="",q="",r=!1,s=!0;switch(m&&(m=+m.substring(1)),(j||"0"===d&&"="===g)&&(j=d="0",g="="),n){case"n":l=!0,n="g";break;case"%":o=100,q="%",n="f";break;case"p":o=100,q="%",n="r";break;case"b":case"o":case"x":case"X":"#"===i&&(p="0"+n.toLowerCase());case"c":s=!1;case"d":r=!0,m=0;break;case"s":o=-1,n="r"}"$"===i&&(p=e[0],q=e[1]),"r"!=n||m||(n="g"),null!=m&&("g"==n?m=Math.max(1,Math.min(21,m)):("e"==n||"f"==n)&&(m=Math.max(0,Math.min(20,m)))),n=gh.get(n)||La;var t=j&&l;return function(a){var c=q;if(r&&a%1)return"";var e=0>a||0===a&&0>1/a?(a=-a,"-"):"-"===h?"":h;if(0>o){var i=bg.formatPrefix(a,m);a=i.scale(a),c=i.symbol+q}else a*=o;a=n(a,m);var u,v,w=a.lastIndexOf(".");if(0>w){var x=s?a.lastIndexOf("e"):-1;0>x?(u=a,v=""):(u=a.substring(0,x),v=a.substring(x))}else u=a.substring(0,w),v=b+a.substring(w+1);!j&&l&&(u=f(u,1/0));var y=p.length+u.length+v.length+(t?0:e.length),z=k>y?new Array(y=k-y+1).join(d):"";return t&&(u=f(z+u,z.length?k-v.length:1/0)),e+=p,a=u+v,("<"===g?e+a+z:">"===g?z+e+a:"^"===g?z.substring(0,y>>=1)+e+a+z.substring(y):e+(t?a:z+a))+c}}}function La(a){return a+""}function Ma(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Na(a,b,c){function d(b){var c=a(b),d=f(c,1);return d-b>b-c?c:d}function e(c){return b(c=a(new ih(c-1)),1),c}function f(a,c){return b(a=new ih(+a),c),a}function g(a,d,f){var g=e(a),h=[];if(f>1)for(;d>g;)c(g)%f||h.push(new Date(+g)),b(g,1);else for(;d>g;)h.push(new Date(+g)),b(g,1);return h}function h(a,b,c){try{ih=Ma;var d=new Ma;return d._=a,g(d,b,c)}finally{ih=Date}}a.floor=a,a.round=d,a.ceil=e,a.offset=f,a.range=g;var i=a.utc=Oa(a);return i.floor=i,i.round=Oa(d),i.ceil=Oa(e),i.offset=Oa(f),i.range=h,a}function Oa(a){return function(b,c){try{ih=Ma;var d=new Ma;return d._=b,a(d,c)._}finally{ih=Date}}}function Pa(a){function b(a){function b(b){for(var c,e,f,g=[],h=-1,i=0;++hh;){if(d>=j)return-1;if(e=b.charCodeAt(h++),37===e){if(g=b.charAt(h++),f=D[g in kh?b.charAt(h++):g],!f||(d=f(a,c,d))<0)return-1}else if(e!=c.charCodeAt(d++))return-1}return d}function d(a,b,c){w.lastIndex=0;var d=w.exec(b.slice(c));return d?(a.w=x.get(d[0].toLowerCase()),c+d[0].length):-1}function e(a,b,c){u.lastIndex=0;var d=u.exec(b.slice(c));return d?(a.w=v.get(d[0].toLowerCase()),c+d[0].length):-1}function f(a,b,c){A.lastIndex=0;var d=A.exec(b.slice(c));return d?(a.m=B.get(d[0].toLowerCase()),c+d[0].length):-1}function g(a,b,c){y.lastIndex=0;var d=y.exec(b.slice(c));return d?(a.m=z.get(d[0].toLowerCase()),c+d[0].length):-1}function h(a,b,d){return c(a,C.c.toString(),b,d)}function i(a,b,d){return c(a,C.x.toString(),b,d)}function j(a,b,d){return c(a,C.X.toString(),b,d)}function k(a,b,c){var d=t.get(b.slice(c,c+=2).toLowerCase());return null==d?-1:(a.p=d,c)}var l=a.dateTime,m=a.date,n=a.time,o=a.periods,p=a.days,q=a.shortDays,r=a.months,s=a.shortMonths;b.utc=function(a){function c(a){try{ih=Ma;var b=new ih;return b._=a,d(b)}finally{ih=Date}}var d=b(a);return c.parse=function(a){try{ih=Ma;var b=d.parse(a);return b&&b._}finally{ih=Date}},c.toString=d.toString,c},b.multi=b.utc.multi=hb;var t=bg.map(),u=Ra(p),v=Sa(p),w=Ra(q),x=Sa(q),y=Ra(r),z=Sa(r),A=Ra(s),B=Sa(s);o.forEach(function(a,b){t.set(a.toLowerCase(),b)});var C={a:function(a){return q[a.getDay()]},A:function(a){return p[a.getDay()]},b:function(a){return s[a.getMonth()]},B:function(a){return r[a.getMonth()]},c:b(l),d:function(a,b){return Qa(a.getDate(),b,2)},e:function(a,b){return Qa(a.getDate(),b,2)},H:function(a,b){return Qa(a.getHours(),b,2)},I:function(a,b){return Qa(a.getHours()%12||12,b,2)},j:function(a,b){return Qa(1+hh.dayOfYear(a),b,3)},L:function(a,b){return Qa(a.getMilliseconds(),b,3)},m:function(a,b){return Qa(a.getMonth()+1,b,2)},M:function(a,b){return Qa(a.getMinutes(),b,2)},p:function(a){return o[+(a.getHours()>=12)]},S:function(a,b){return Qa(a.getSeconds(),b,2)},U:function(a,b){return Qa(hh.sundayOfYear(a),b,2)},w:function(a){return a.getDay()},W:function(a,b){return Qa(hh.mondayOfYear(a),b,2)},x:b(m),X:b(n),y:function(a,b){return Qa(a.getFullYear()%100,b,2)},Y:function(a,b){return Qa(a.getFullYear()%1e4,b,4)},Z:fb,"%":function(){return"%"}},D={a:d,A:e,b:f,B:g,c:h,d:_a,e:_a,H:bb,I:bb,j:ab,L:eb,m:$a,M:cb,p:k,S:db,U:Ua,w:Ta,W:Va,x:i,X:j,y:Xa,Y:Wa,Z:Ya,"%":gb};return b}function Qa(a,b,c){var d=0>a?"-":"",e=(d?-a:a)+"",f=e.length;return d+(c>f?new Array(c-f+1).join(b)+e:e)}function Ra(a){return new RegExp("^(?:"+a.map(bg.requote).join("|")+")","i")}function Sa(a){for(var b=new j,c=-1,d=a.length;++c68?1900:2e3)}function $a(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+2));return d?(a.m=d[0]-1,c+d[0].length):-1}function _a(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+2));return d?(a.d=+d[0],c+d[0].length):-1}function ab(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+3));return d?(a.j=+d[0],c+d[0].length):-1}function bb(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+2));return d?(a.H=+d[0],c+d[0].length):-1}function cb(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+2));return d?(a.M=+d[0],c+d[0].length):-1}function db(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+2));return d?(a.S=+d[0],c+d[0].length):-1}function eb(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+3));return d?(a.L=+d[0],c+d[0].length):-1}function fb(a){var b=a.getTimezoneOffset(),c=b>0?"-":"+",d=ng(b)/60|0,e=ng(b)%60;return c+Qa(d,"0",2)+Qa(e,"0",2)}function gb(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c,c+1));return d?c+d[0].length:-1}function hb(a){for(var b=a.length,c=-1;++c=0?1:-1,h=g*c,i=Math.cos(b),j=Math.sin(b),k=f*j,l=e*i+k*Math.cos(h),m=k*g*Math.sin(h);sh.add(Math.atan2(m,l)),d=a,e=i,f=j}var b,c,d,e,f;th.point=function(g,h){th.point=a,d=(b=g)*Jg,e=Math.cos(h=(c=h)*Jg/2+Fg/4),f=Math.sin(h)},th.lineEnd=function(){a(b,c)}}function ob(a){var b=a[0],c=a[1],d=Math.cos(c);return[d*Math.cos(b),d*Math.sin(b),Math.sin(c)]}function pb(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function qb(a,b){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]]}function rb(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2]}function sb(a,b){return[a[0]*b,a[1]*b,a[2]*b]}function tb(a){var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);a[0]/=b,a[1]/=b,a[2]/=b}function ub(a){return[Math.atan2(a[1],a[0]),ba(a[2])]}function vb(a,b){return ng(a[0]-b[0])h;++h)e.point((c=a[h])[0],c[1]);return void e.lineEnd()}var i=new Fb(c,a,null,!0),j=new Fb(c,null,i,!1);i.o=j,f.push(i),g.push(j),i=new Fb(d,a,null,!1),j=new Fb(d,null,i,!0),i.o=j,f.push(i),g.push(j)}}),g.sort(b),Eb(f),Eb(g),f.length){for(var h=0,i=c,j=g.length;j>h;++h)g[h].e=i=!i;for(var k,l,m=f[0];;){for(var n=m,o=!0;n.v;)if((n=n.n)===m)return;k=n.z,e.lineStart();do{if(n.v=n.o.v=!0,n.e){if(o)for(var h=0,j=k.length;j>h;++h)e.point((l=k[h])[0],l[1]);else d(n.x,n.n.x,1,e);n=n.n}else{if(o){k=n.p.z;for(var h=k.length-1;h>=0;--h)e.point((l=k[h])[0],l[1])}else d(n.x,n.p.x,-1,e);n=n.p}n=n.o,k=n.z,o=!o}while(!n.v);e.lineEnd()}}}function Eb(a){if(b=a.length){for(var b,c,d=0,e=a[0];++d0){for(v||(f.polygonStart(),v=!0),f.lineStart();++g1&&2&b&&c.push(c.pop().concat(c.shift())),n.push(c.filter(Hb))}var n,o,p,q=b(f),r=e.invert(d[0],d[1]),s={point:g,lineStart:i,lineEnd:j,polygonStart:function(){s.point=k,s.lineStart=l,s.lineEnd=m,n=[],o=[]},polygonEnd:function(){s.point=g,s.lineStart=i,s.lineEnd=j,n=bg.merge(n);var a=Nb(r,o);n.length?(v||(f.polygonStart(),v=!0),Db(n,Jb,a,c,f)):a&&(v||(f.polygonStart(),v=!0),f.lineStart(),c(null,null,1,f),f.lineEnd()),v&&(f.polygonEnd(),v=!1),n=o=null},sphere:function(){f.polygonStart(),f.lineStart(),c(null,null,1,f),f.lineEnd(),f.polygonEnd()}},t=Ib(),u=b(t),v=!1;return s}}function Hb(a){return a.length>1}function Ib(){var a,b=[];return{lineStart:function(){b.push(a=[])},point:function(b,c){a.push([b,c])},lineEnd:v,buffer:function(){var c=b;return b=[],a=null,c},rejoin:function(){b.length>1&&b.push(b.pop().concat(b.shift()))}}}function Jb(a,b){return((a=a.x)[0]<0?a[1]-Ig-Dg:Ig-a[1])-((b=b.x)[0]<0?b[1]-Ig-Dg:Ig-b[1])}function Kb(a){var b,c=0/0,d=0/0,e=0/0;return{lineStart:function(){a.lineStart(),b=1},point:function(f,g){var h=f>0?Fg:-Fg,i=ng(f-c);ng(i-Fg)0?Ig:-Ig),a.point(e,d),a.lineEnd(),a.lineStart(),a.point(h,d),a.point(f,d),b=0):e!==h&&i>=Fg&&(ng(c-e)Dg?Math.atan((Math.sin(b)*(f=Math.cos(d))*Math.sin(c)-Math.sin(d)*(e=Math.cos(b))*Math.sin(a))/(e*f*g)):(b+d)/2}function Mb(a,b,c,d){var e;if(null==a)e=c*Ig,d.point(-Fg,e),d.point(0,e),d.point(Fg,e),d.point(Fg,0),d.point(Fg,-e),d.point(0,-e),d.point(-Fg,-e),d.point(-Fg,0),d.point(-Fg,e);else if(ng(a[0]-b[0])>Dg){var f=a[0]h;++h){var j=b[h],k=j.length;if(k)for(var l=j[0],m=l[0],n=l[1]/2+Fg/4,o=Math.sin(n),p=Math.cos(n),q=1;;){q===k&&(q=0),a=j[q];var r=a[0],s=a[1]/2+Fg/4,t=Math.sin(s),u=Math.cos(s),v=r-m,w=v>=0?1:-1,x=w*v,y=x>Fg,z=o*t;if(sh.add(Math.atan2(z*w*Math.sin(x),p*u+z*Math.cos(x))),f+=y?v+w*Gg:v,y^m>=c^r>=c){var A=qb(ob(l),ob(a));tb(A);var B=qb(e,A);tb(B);var C=(y^v>=0?-1:1)*ba(B[2]);(d>C||d===C&&(A[0]||A[1]))&&(g+=y^v>=0?1:-1)}if(!q++)break;m=r,o=t,p=u,l=a}}return(-Dg>f||Dg>f&&0>sh)^1&g}function Ob(a){function b(a,b){return Math.cos(a)*Math.cos(b)>f}function c(a){var c,f,i,j,k;return{lineStart:function(){j=i=!1,k=1},point:function(l,m){var n,o=[l,m],p=b(l,m),q=g?p?0:e(l,m):p?e(l+(0>l?Fg:-Fg),m):0;if(!c&&(j=i=p)&&a.lineStart(),p!==i&&(n=d(c,o),(vb(c,n)||vb(o,n))&&(o[0]+=Dg,o[1]+=Dg,p=b(o[0],o[1]))),p!==i)k=0,p?(a.lineStart(),n=d(o,c),a.point(n[0],n[1])):(n=d(c,o),a.point(n[0],n[1]),a.lineEnd()),c=n;else if(h&&c&&g^p){var r;q&f||!(r=d(o,c,!0))||(k=0,g?(a.lineStart(),a.point(r[0][0],r[0][1]),a.point(r[1][0],r[1][1]),a.lineEnd()):(a.point(r[1][0],r[1][1]),a.lineEnd(),a.lineStart(),a.point(r[0][0],r[0][1])))}!p||c&&vb(c,o)||a.point(o[0],o[1]),c=o,i=p,f=q},lineEnd:function(){i&&a.lineEnd(),c=null},clean:function(){return k|(j&&i)<<1}}}function d(a,b,c){var d=ob(a),e=ob(b),g=[1,0,0],h=qb(d,e),i=pb(h,h),j=h[0],k=i-j*j;if(!k)return!c&&a;var l=f*i/k,m=-f*j/k,n=qb(g,h),o=sb(g,l),p=sb(h,m);rb(o,p);var q=n,r=pb(o,q),s=pb(q,q),t=r*r-s*(pb(o,o)-1);if(!(0>t)){var u=Math.sqrt(t),v=sb(q,(-r-u)/s);if(rb(v,o),v=ub(v),!c)return v;var w,x=a[0],y=b[0],z=a[1],A=b[1];x>y&&(w=x,x=y,y=w);var B=y-x,C=ng(B-Fg)B;if(!C&&z>A&&(w=z,z=A,A=w),D?C?z+A>0^v[1]<(ng(v[0]-x)Fg^(x<=v[0]&&v[0]<=y)){var E=sb(q,(-r+u)/s);return rb(E,o),[v,ub(E)]}}}function e(b,c){var d=g?a:Fg-a,e=0;return-d>b?e|=1:b>d&&(e|=2),-d>c?e|=4:c>d&&(e|=8),e}var f=Math.cos(a),g=f>0,h=ng(f)>Dg,i=nc(a,6*Jg);return Gb(b,c,i,g?[0,-a]:[-Fg,a-Fg])}function Pb(a,b,c,d){return function(e){var f,g=e.a,h=e.b,i=g.x,j=g.y,k=h.x,l=h.y,m=0,n=1,o=k-i,p=l-j;if(f=a-i,o||!(f>0)){if(f/=o,0>o){if(m>f)return;n>f&&(n=f)}else if(o>0){if(f>n)return;f>m&&(m=f)}if(f=c-i,o||!(0>f)){if(f/=o,0>o){if(f>n)return;f>m&&(m=f)}else if(o>0){if(m>f)return;n>f&&(n=f)}if(f=b-j,p||!(f>0)){if(f/=p,0>p){if(m>f)return;n>f&&(n=f)}else if(p>0){if(f>n)return;f>m&&(m=f)}if(f=d-j,p||!(0>f)){if(f/=p,0>p){if(f>n)return;f>m&&(m=f)}else if(p>0){if(m>f)return;n>f&&(n=f)}return m>0&&(e.a={x:i+m*o,y:j+m*p}),1>n&&(e.b={x:i+n*o,y:j+n*p}),e}}}}}}function Qb(a,b,c,d){function e(d,e){return ng(d[0]-a)0?0:3:ng(d[0]-c)0?2:1:ng(d[1]-b)0?1:0:e>0?3:2}function f(a,b){return g(a.x,b.x)}function g(a,b){var c=e(a,1),d=e(b,1);return c!==d?c-d:0===c?b[1]-a[1]:1===c?a[0]-b[0]:2===c?a[1]-b[1]:b[0]-a[0]}return function(h){function i(a){for(var b=0,c=q.length,d=a[1],e=0;c>e;++e)for(var f,g=1,h=q[e],i=h.length,j=h[0];i>g;++g)f=h[g],j[1]<=d?f[1]>d&&_(j,f,a)>0&&++b:f[1]<=d&&_(j,f,a)<0&&--b,j=f;return 0!==b}function j(f,h,i,j){var k=0,l=0;if(null==f||(k=e(f,i))!==(l=e(h,i))||g(f,h)<0^i>0){do j.point(0===k||3===k?a:c,k>1?d:b);while((k=(k+i+4)%4)!==l)}else j.point(h[0],h[1])}function k(e,f){return e>=a&&c>=e&&f>=b&&d>=f}function l(a,b){k(a,b)&&h.point(a,b)}function m(){D.point=o,q&&q.push(r=[]),y=!0,x=!1,v=w=0/0}function n(){p&&(o(s,t),u&&x&&B.rejoin(),p.push(B.buffer())),D.point=l,x&&h.lineEnd()}function o(a,b){a=Math.max(-Hh,Math.min(Hh,a)),b=Math.max(-Hh,Math.min(Hh,b));var c=k(a,b);if(q&&r.push([a,b]),y)s=a,t=b,u=c,y=!1,c&&(h.lineStart(),h.point(a,b));else if(c&&x)h.point(a,b);else{var d={a:{x:v,y:w},b:{x:a,y:b}};C(d)?(x||(h.lineStart(),h.point(d.a.x,d.a.y)),h.point(d.b.x,d.b.y),c||h.lineEnd(),z=!1):c&&(h.lineStart(),h.point(a,b),z=!1)}v=a,w=b,x=c}var p,q,r,s,t,u,v,w,x,y,z,A=h,B=Ib(),C=Pb(a,b,c,d),D={point:l,lineStart:m,lineEnd:n,polygonStart:function(){h=B,p=[],q=[],z=!0},polygonEnd:function(){h=A,p=bg.merge(p);var b=i([a,d]),c=z&&b,e=p.length;(c||e)&&(h.polygonStart(),c&&(h.lineStart(),j(null,null,1,h),h.lineEnd()),e&&Db(p,f,b,j,h),h.polygonEnd()),p=q=r=null}};return D}}function Rb(a){var b=0,c=Fg/3,d=fc(a),e=d(b,c);return e.parallels=function(a){return arguments.length?d(b=a[0]*Fg/180,c=a[1]*Fg/180):[b/Fg*180,c/Fg*180]},e}function Sb(a,b){function c(a,b){var c=Math.sqrt(f-2*e*Math.sin(b))/e;return[c*Math.sin(a*=e),g-c*Math.cos(a)]}var d=Math.sin(a),e=(d+Math.sin(b))/2,f=1+d*(2*e-d),g=Math.sqrt(f)/e;return c.invert=function(a,b){var c=g-b;return[Math.atan2(a,c)/e,ba((f-(a*a+c*c)*e*e)/(2*e))]},c}function Tb(){function a(a,b){Jh+=e*a-d*b,d=a,e=b}var b,c,d,e;Oh.point=function(f,g){Oh.point=a,b=d=f,c=e=g},Oh.lineEnd=function(){a(b,c)}}function Ub(a,b){Kh>a&&(Kh=a),a>Mh&&(Mh=a),Lh>b&&(Lh=b),b>Nh&&(Nh=b)}function Vb(){function a(a,b){g.push("M",a,",",b,f)}function b(a,b){g.push("M",a,",",b),h.point=c}function c(a,b){g.push("L",a,",",b)}function d(){h.point=a}function e(){g.push("Z")}var f=Wb(4.5),g=[],h={point:a,lineStart:function(){h.point=b},lineEnd:d,polygonStart:function(){h.lineEnd=e},polygonEnd:function(){h.lineEnd=d,h.point=a},pointRadius:function(a){return f=Wb(a),h},result:function(){if(g.length){var a=g.join("");return g=[],a}}};return h}function Wb(a){return"m0,"+a+"a"+a+","+a+" 0 1,1 0,"+-2*a+"a"+a+","+a+" 0 1,1 0,"+2*a+"z"}function Xb(a,b){wh+=a,xh+=b,++yh}function Yb(){function a(a,d){var e=a-b,f=d-c,g=Math.sqrt(e*e+f*f);zh+=g*(b+a)/2,Ah+=g*(c+d)/2,Bh+=g,Xb(b=a,c=d)}var b,c;Qh.point=function(d,e){Qh.point=a,Xb(b=d,c=e)}}function Zb(){Qh.point=Xb}function $b(){function a(a,b){var c=a-d,f=b-e,g=Math.sqrt(c*c+f*f);zh+=g*(d+a)/2,Ah+=g*(e+b)/2,Bh+=g,g=e*a-d*b,Ch+=g*(d+a),Dh+=g*(e+b),Eh+=3*g,Xb(d=a,e=b)}var b,c,d,e;Qh.point=function(f,g){Qh.point=a,Xb(b=d=f,c=e=g)},Qh.lineEnd=function(){a(b,c)}}function _b(a){function b(b,c){a.moveTo(b+g,c),a.arc(b,c,g,0,Gg)}function c(b,c){a.moveTo(b,c),h.point=d}function d(b,c){a.lineTo(b,c)}function e(){h.point=b}function f(){a.closePath()}var g=4.5,h={point:b,lineStart:function(){h.point=c},lineEnd:e,polygonStart:function(){h.lineEnd=f},polygonEnd:function(){h.lineEnd=e,h.point=b},pointRadius:function(a){return g=a,h},result:v};return h}function ac(a){function b(a){return(h?d:c)(a)}function c(b){return dc(b,function(c,d){c=a(c,d),b.point(c[0],c[1])})}function d(b){function c(c,d){c=a(c,d),b.point(c[0],c[1])}function d(){t=0/0,y.point=f,b.lineStart()}function f(c,d){var f=ob([c,d]),g=a(c,d);e(t,u,s,v,w,x,t=g[0],u=g[1],s=c,v=f[0],w=f[1],x=f[2],h,b),b.point(t,u)}function g(){y.point=c,b.lineEnd()}function i(){d(),y.point=j,y.lineEnd=k}function j(a,b){f(l=a,m=b),n=t,o=u,p=v,q=w,r=x,y.point=f}function k(){e(t,u,s,v,w,x,n,o,l,p,q,r,h,b),y.lineEnd=g,g()}var l,m,n,o,p,q,r,s,t,u,v,w,x,y={point:c,lineStart:d,lineEnd:g,polygonStart:function(){ +!function(){function a(a){return a&&(a.ownerDocument||a.document||a).documentElement}function b(a){return a&&(a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView)}function c(a,b){return b>a?-1:a>b?1:a>=b?0:0/0}function d(a){return null===a?0/0:+a}function e(a){return!isNaN(a)}function f(a){return{left:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);e>d;){var f=d+e>>>1;a(b[f],c)<0?d=f+1:e=f}return d},right:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);e>d;){var f=d+e>>>1;a(b[f],c)>0?e=f:d=f+1}return d}}}function g(a){return a.length}function h(a){for(var b=1;a*b%1;)b*=10;return b}function i(a,b){for(var c in b)Object.defineProperty(a.prototype,c,{value:b[c],enumerable:!1})}function j(){this._=Object.create(null)}function k(a){return(a+="")===og||a[0]===pg?pg+a:a}function l(a){return(a+="")[0]===pg?a.slice(1):a}function m(a){return k(a)in this._}function n(a){return(a=k(a))in this._&&delete this._[a]}function o(){var a=[];for(var b in this._)a.push(l(b));return a}function p(){var a=0;for(var b in this._)++a;return a}function q(){for(var a in this._)return!1;return!0}function r(){this._=Object.create(null)}function s(a){return a}function t(a,b,c){return function(){var d=c.apply(b,arguments);return d===b?a:d}}function u(a,b){if(b in a)return b;b=b.charAt(0).toUpperCase()+b.slice(1);for(var c=0,d=qg.length;d>c;++c){var e=qg[c]+b;if(e in a)return e}}function v(){}function w(){}function x(a){function b(){for(var b,d=c,e=-1,f=d.length;++ec;c++)for(var e,f=a[c],g=0,h=f.length;h>g;g++)(e=f[g])&&b(e,g,c);return a}function S(a){return sg(a,yg),a}function T(a){var b,c;return function(d,e,f){var g,h=a[f].update,i=h.length;for(f!=c&&(c=f,b=0),e>=b&&(b=e+1);!(g=h[b])&&++b0&&(a=a.slice(0,h));var j=zg.get(a);return j&&(a=j,i=W),h?b?e:d:b?v:f}function V(a,b){return function(c){var d=bg.event;bg.event=c,b[0]=this.__data__;try{a.apply(this,b)}finally{bg.event=d}}}function W(a,b){var c=V(a,b);return function(a){var b=this,d=a.relatedTarget;d&&(d===b||8&d.compareDocumentPosition(b))||c.call(b,a)}}function X(c){var d=".dragsuppress-"+ ++Bg,e="click"+d,f=bg.select(b(c)).on("touchmove"+d,y).on("dragstart"+d,y).on("selectstart"+d,y);if(null==Ag&&(Ag="onselectstart"in c?!1:u(c.style,"userSelect")),Ag){var g=a(c).style,h=g[Ag];g[Ag]="none"}return function(a){if(f.on(d,null),Ag&&(g[Ag]=h),a){var b=function(){f.on(e,null)};f.on(e,function(){y(),b()},!0),setTimeout(b,0)}}}function Y(a,c){c.changedTouches&&(c=c.changedTouches[0]);var d=a.ownerSVGElement||a;if(d.createSVGPoint){var e=d.createSVGPoint();if(0>Cg){var f=b(a);if(f.scrollX||f.scrollY){d=bg.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var g=d[0][0].getScreenCTM();Cg=!(g.f||g.e),d.remove()}}return Cg?(e.x=c.pageX,e.y=c.pageY):(e.x=c.clientX,e.y=c.clientY),e=e.matrixTransform(a.getScreenCTM().inverse()),[e.x,e.y]}var h=a.getBoundingClientRect();return[c.clientX-h.left-a.clientLeft,c.clientY-h.top-a.clientTop]}function Z(){return bg.event.changedTouches[0].identifier}function $(a){return a>0?1:0>a?-1:0}function _(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])}function aa(a){return a>1?0:-1>a?Fg:Math.acos(a)}function ba(a){return a>1?Ig:-1>a?-Ig:Math.asin(a)}function ca(a){return((a=Math.exp(a))-1/a)/2}function da(a){return((a=Math.exp(a))+1/a)/2}function ea(a){return((a=Math.exp(2*a))-1)/(a+1)}function fa(a){return(a=Math.sin(a/2))*a}function ga(){}function ha(a,b,c){return this instanceof ha?(this.h=+a,this.s=+b,void(this.l=+c)):arguments.length<2?a instanceof ha?new ha(a.h,a.s,a.l):va(""+a,wa,ha):new ha(a,b,c)}function ia(a,b,c){function d(a){return a>360?a-=360:0>a&&(a+=360),60>a?f+(g-f)*a/60:180>a?g:240>a?f+(g-f)*(240-a)/60:f}function e(a){return Math.round(255*d(a))}var f,g;return a=isNaN(a)?0:(a%=360)<0?a+360:a,b=isNaN(b)?0:0>b?0:b>1?1:b,c=0>c?0:c>1?1:c,g=.5>=c?c*(1+b):c+b-c*b,f=2*c-g,new ra(e(a+120),e(a),e(a-120))}function ja(a,b,c){return this instanceof ja?(this.h=+a,this.c=+b,void(this.l=+c)):arguments.length<2?a instanceof ja?new ja(a.h,a.c,a.l):a instanceof la?na(a.l,a.a,a.b):na((a=xa((a=bg.rgb(a)).r,a.g,a.b)).l,a.a,a.b):new ja(a,b,c)}function ka(a,b,c){return isNaN(a)&&(a=0),isNaN(b)&&(b=0),new la(c,Math.cos(a*=Jg)*b,Math.sin(a)*b)}function la(a,b,c){return this instanceof la?(this.l=+a,this.a=+b,void(this.b=+c)):arguments.length<2?a instanceof la?new la(a.l,a.a,a.b):a instanceof ja?ka(a.h,a.c,a.l):xa((a=ra(a)).r,a.g,a.b):new la(a,b,c)}function ma(a,b,c){var d=(a+16)/116,e=d+b/500,f=d-c/200;return e=oa(e)*Ug,d=oa(d)*Vg,f=oa(f)*Wg,new ra(qa(3.2404542*e-1.5371385*d-.4985314*f),qa(-.969266*e+1.8760108*d+.041556*f),qa(.0556434*e-.2040259*d+1.0572252*f))}function na(a,b,c){return a>0?new ja(Math.atan2(c,b)*Kg,Math.sqrt(b*b+c*c),a):new ja(0/0,0/0,a)}function oa(a){return a>.206893034?a*a*a:(a-4/29)/7.787037}function pa(a){return a>.008856?Math.pow(a,1/3):7.787037*a+4/29}function qa(a){return Math.round(255*(.00304>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055))}function ra(a,b,c){return this instanceof ra?(this.r=~~a,this.g=~~b,void(this.b=~~c)):arguments.length<2?a instanceof ra?new ra(a.r,a.g,a.b):va(""+a,ra,ia):new ra(a,b,c)}function sa(a){return new ra(a>>16,a>>8&255,255&a)}function ta(a){return sa(a)+""}function ua(a){return 16>a?"0"+Math.max(0,a).toString(16):Math.min(255,a).toString(16)}function va(a,b,c){a=a.toLowerCase();var d,e,f,g=0,h=0,i=0;if(d=/([a-z]+)\((.*)\)/.exec(a))switch(e=d[2].split(","),d[1]){case"hsl":return c(parseFloat(e[0]),parseFloat(e[1])/100,parseFloat(e[2])/100);case"rgb":return b(za(e[0]),za(e[1]),za(e[2]))}return(f=Zg.get(a))?b(f.r,f.g,f.b):(null==a||"#"!==a.charAt(0)||isNaN(f=parseInt(a.slice(1),16))||(4===a.length?(g=(3840&f)>>4,g=g>>4|g,h=240&f,h=h>>4|h,i=15&f,i=i<<4|i):7===a.length&&(g=(16711680&f)>>16,h=(65280&f)>>8,i=255&f)),b(g,h,i))}function wa(a,b,c){var d,e,f=Math.min(a/=255,b/=255,c/=255),g=Math.max(a,b,c),h=g-f,i=(g+f)/2;return h?(e=.5>i?h/(g+f):h/(2-g-f),d=a==g?(b-c)/h+(c>b?6:0):b==g?(c-a)/h+2:(a-b)/h+4,d*=60):(d=0/0,e=i>0&&1>i?0:d),new ha(d,e,i)}function xa(a,b,c){a=ya(a),b=ya(b),c=ya(c);var d=pa((.4124564*a+.3575761*b+.1804375*c)/Ug),e=pa((.2126729*a+.7151522*b+.072175*c)/Vg),f=pa((.0193339*a+.119192*b+.9503041*c)/Wg);return la(116*e-16,500*(d-e),200*(e-f))}function ya(a){return(a/=255)<=.04045?a/12.92:Math.pow((a+.055)/1.055,2.4)}function za(a){var b=parseFloat(a);return"%"===a.charAt(a.length-1)?Math.round(2.55*b):b}function Aa(a){return"function"==typeof a?a:function(){return a}}function Ba(a){return function(b,c,d){return 2===arguments.length&&"function"==typeof c&&(d=c,c=null),Ca(b,c,a,d)}}function Ca(a,b,c,d){function e(){var a,b=i.status;if(!b&&Ea(i)||b>=200&&300>b||304===b){try{a=c.call(f,i)}catch(d){return void g.error.call(f,d)}g.load.call(f,a)}else g.error.call(f,i)}var f={},g=bg.dispatch("beforesend","progress","load","error"),h={},i=new XMLHttpRequest,j=null;return!this.XDomainRequest||"withCredentials"in i||!/^(http(s)?:)?\/\//.test(a)||(i=new XDomainRequest),"onload"in i?i.onload=i.onerror=e:i.onreadystatechange=function(){i.readyState>3&&e()},i.onprogress=function(a){var b=bg.event;bg.event=a;try{g.progress.call(f,i)}finally{bg.event=b}},f.header=function(a,b){return a=(a+"").toLowerCase(),arguments.length<2?h[a]:(null==b?delete h[a]:h[a]=b+"",f)},f.mimeType=function(a){return arguments.length?(b=null==a?null:a+"",f):b},f.responseType=function(a){return arguments.length?(j=a,f):j},f.response=function(a){return c=a,f},["get","post"].forEach(function(a){f[a]=function(){return f.send.apply(f,[a].concat(dg(arguments)))}}),f.send=function(c,d,e){if(2===arguments.length&&"function"==typeof d&&(e=d,d=null),i.open(c,a,!0),null==b||"accept"in h||(h.accept=b+",*/*"),i.setRequestHeader)for(var k in h)i.setRequestHeader(k,h[k]);return null!=b&&i.overrideMimeType&&i.overrideMimeType(b),null!=j&&(i.responseType=j),null!=e&&f.on("error",e).on("load",function(a){e(null,a)}),g.beforesend.call(f,i),i.send(null==d?null:d),f},f.abort=function(){return i.abort(),f},bg.rebind(f,g,"on"),null==d?f:f.get(Da(d))}function Da(a){return 1===a.length?function(b,c){a(null==b?c:null)}:a}function Ea(a){var b=a.responseType;return b&&"text"!==b?a.response:a.responseText}function Fa(){var a=Ga(),b=Ha()-a;b>24?(isFinite(b)&&(clearTimeout(bh),bh=setTimeout(Fa,b)),ah=0):(ah=1,dh(Fa))}function Ga(){var a=Date.now();for(ch=$g;ch;)a>=ch.t&&(ch.f=ch.c(a-ch.t)),ch=ch.n;return a}function Ha(){for(var a,b=$g,c=1/0;b;)b.f?b=a?a.n=b.n:$g=b.n:(b.t8?function(a){return a/c}:function(a){return a*c},symbol:a}}function Ka(a){var b=a.decimal,c=a.thousands,d=a.grouping,e=a.currency,f=d&&c?function(a,b){for(var e=a.length,f=[],g=0,h=d[0],i=0;e>0&&h>0&&(i+h+1>b&&(h=Math.max(1,b-i)),f.push(a.substring(e-=h,e+h)),!((i+=h+1)>b));)h=d[g=(g+1)%d.length];return f.reverse().join(c)}:s;return function(a){var c=fh.exec(a),d=c[1]||" ",g=c[2]||">",h=c[3]||"-",i=c[4]||"",j=c[5],k=+c[6],l=c[7],m=c[8],n=c[9],o=1,p="",q="",r=!1,s=!0;switch(m&&(m=+m.substring(1)),(j||"0"===d&&"="===g)&&(j=d="0",g="="),n){case"n":l=!0,n="g";break;case"%":o=100,q="%",n="f";break;case"p":o=100,q="%",n="r";break;case"b":case"o":case"x":case"X":"#"===i&&(p="0"+n.toLowerCase());case"c":s=!1;case"d":r=!0,m=0;break;case"s":o=-1,n="r"}"$"===i&&(p=e[0],q=e[1]),"r"!=n||m||(n="g"),null!=m&&("g"==n?m=Math.max(1,Math.min(21,m)):("e"==n||"f"==n)&&(m=Math.max(0,Math.min(20,m)))),n=gh.get(n)||La;var t=j&&l;return function(a){var c=q;if(r&&a%1)return"";var e=0>a||0===a&&0>1/a?(a=-a,"-"):"-"===h?"":h;if(0>o){var i=bg.formatPrefix(a,m);a=i.scale(a),c=i.symbol+q}else a*=o;a=n(a,m);var u,v,w=a.lastIndexOf(".");if(0>w){var x=s?a.lastIndexOf("e"):-1;0>x?(u=a,v=""):(u=a.substring(0,x),v=a.substring(x))}else u=a.substring(0,w),v=b+a.substring(w+1);!j&&l&&(u=f(u,1/0));var y=p.length+u.length+v.length+(t?0:e.length),z=k>y?new Array(y=k-y+1).join(d):"";return t&&(u=f(z+u,z.length?k-v.length:1/0)),e+=p,a=u+v,("<"===g?e+a+z:">"===g?z+e+a:"^"===g?z.substring(0,y>>=1)+e+a+z.substring(y):e+(t?a:z+a))+c}}}function La(a){return a+""}function Ma(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Na(a,b,c){function d(b){var c=a(b),d=f(c,1);return d-b>b-c?c:d}function e(c){return b(c=a(new ih(c-1)),1),c}function f(a,c){return b(a=new ih(+a),c),a}function g(a,d,f){var g=e(a),h=[];if(f>1)for(;d>g;)c(g)%f||h.push(new Date(+g)),b(g,1);else for(;d>g;)h.push(new Date(+g)),b(g,1);return h}function h(a,b,c){try{ih=Ma;var d=new Ma;return d._=a,g(d,b,c)}finally{ih=Date}}a.floor=a,a.round=d,a.ceil=e,a.offset=f,a.range=g;var i=a.utc=Oa(a);return i.floor=i,i.round=Oa(d),i.ceil=Oa(e),i.offset=Oa(f),i.range=h,a}function Oa(a){return function(b,c){try{ih=Ma;var d=new Ma;return d._=b,a(d,c)._}finally{ih=Date}}}function Pa(a){function b(a){function b(b){for(var c,e,f,g=[],h=-1,i=0;++hh;){if(d>=j)return-1;if(e=b.charCodeAt(h++),37===e){if(g=b.charAt(h++),f=D[g in kh?b.charAt(h++):g],!f||(d=f(a,c,d))<0)return-1}else if(e!=c.charCodeAt(d++))return-1}return d}function d(a,b,c){w.lastIndex=0;var d=w.exec(b.slice(c));return d?(a.w=x.get(d[0].toLowerCase()),c+d[0].length):-1}function e(a,b,c){u.lastIndex=0;var d=u.exec(b.slice(c));return d?(a.w=v.get(d[0].toLowerCase()),c+d[0].length):-1}function f(a,b,c){A.lastIndex=0;var d=A.exec(b.slice(c));return d?(a.m=B.get(d[0].toLowerCase()),c+d[0].length):-1}function g(a,b,c){y.lastIndex=0;var d=y.exec(b.slice(c));return d?(a.m=z.get(d[0].toLowerCase()),c+d[0].length):-1}function h(a,b,d){return c(a,C.c.toString(),b,d)}function i(a,b,d){return c(a,C.x.toString(),b,d)}function j(a,b,d){return c(a,C.X.toString(),b,d)}function k(a,b,c){var d=t.get(b.slice(c,c+=2).toLowerCase());return null==d?-1:(a.p=d,c)}var l=a.dateTime,m=a.date,n=a.time,o=a.periods,p=a.days,q=a.shortDays,r=a.months,s=a.shortMonths;b.utc=function(a){function c(a){try{ih=Ma;var b=new ih;return b._=a,d(b)}finally{ih=Date}}var d=b(a);return c.parse=function(a){try{ih=Ma;var b=d.parse(a);return b&&b._}finally{ih=Date}},c.toString=d.toString,c},b.multi=b.utc.multi=hb;var t=bg.map(),u=Ra(p),v=Sa(p),w=Ra(q),x=Sa(q),y=Ra(r),z=Sa(r),A=Ra(s),B=Sa(s);o.forEach(function(a,b){t.set(a.toLowerCase(),b)});var C={a:function(a){return q[a.getDay()]},A:function(a){return p[a.getDay()]},b:function(a){return s[a.getMonth()]},B:function(a){return r[a.getMonth()]},c:b(l),d:function(a,b){return Qa(a.getDate(),b,2)},e:function(a,b){return Qa(a.getDate(),b,2)},H:function(a,b){return Qa(a.getHours(),b,2)},I:function(a,b){return Qa(a.getHours()%12||12,b,2)},j:function(a,b){return Qa(1+hh.dayOfYear(a),b,3)},L:function(a,b){return Qa(a.getMilliseconds(),b,3)},m:function(a,b){return Qa(a.getMonth()+1,b,2)},M:function(a,b){return Qa(a.getMinutes(),b,2)},p:function(a){return o[+(a.getHours()>=12)]},S:function(a,b){return Qa(a.getSeconds(),b,2)},U:function(a,b){return Qa(hh.sundayOfYear(a),b,2)},w:function(a){return a.getDay()},W:function(a,b){return Qa(hh.mondayOfYear(a),b,2)},x:b(m),X:b(n),y:function(a,b){return Qa(a.getFullYear()%100,b,2)},Y:function(a,b){return Qa(a.getFullYear()%1e4,b,4)},Z:fb,"%":function(){return"%"}},D={a:d,A:e,b:f,B:g,c:h,d:_a,e:_a,H:bb,I:bb,j:ab,L:eb,m:$a,M:cb,p:k,S:db,U:Ua,w:Ta,W:Va,x:i,X:j,y:Xa,Y:Wa,Z:Ya,"%":gb};return b}function Qa(a,b,c){var d=0>a?"-":"",e=(d?-a:a)+"",f=e.length;return d+(c>f?new Array(c-f+1).join(b)+e:e)}function Ra(a){return new RegExp("^(?:"+a.map(bg.requote).join("|")+")","i")}function Sa(a){for(var b=new j,c=-1,d=a.length;++c68?1900:2e3)}function $a(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+2));return d?(a.m=d[0]-1,c+d[0].length):-1}function _a(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+2));return d?(a.d=+d[0],c+d[0].length):-1}function ab(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+3));return d?(a.j=+d[0],c+d[0].length):-1}function bb(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+2));return d?(a.H=+d[0],c+d[0].length):-1}function cb(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+2));return d?(a.M=+d[0],c+d[0].length):-1}function db(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+2));return d?(a.S=+d[0],c+d[0].length):-1}function eb(a,b,c){lh.lastIndex=0;var d=lh.exec(b.slice(c,c+3));return d?(a.L=+d[0],c+d[0].length):-1}function fb(a){var b=a.getTimezoneOffset(),c=b>0?"-":"+",d=ng(b)/60|0,e=ng(b)%60;return c+Qa(d,"0",2)+Qa(e,"0",2)}function gb(a,b,c){mh.lastIndex=0;var d=mh.exec(b.slice(c,c+1));return d?c+d[0].length:-1}function hb(a){for(var b=a.length,c=-1;++c=0?1:-1,h=g*c,i=Math.cos(b),j=Math.sin(b),k=f*j,l=e*i+k*Math.cos(h),m=k*g*Math.sin(h);sh.add(Math.atan2(m,l)),d=a,e=i,f=j}var b,c,d,e,f;th.point=function(g,h){th.point=a,d=(b=g)*Jg,e=Math.cos(h=(c=h)*Jg/2+Fg/4),f=Math.sin(h)},th.lineEnd=function(){a(b,c)}}function ob(a){var b=a[0],c=a[1],d=Math.cos(c);return[d*Math.cos(b),d*Math.sin(b),Math.sin(c)]}function pb(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function qb(a,b){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]]}function rb(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2]}function sb(a,b){return[a[0]*b,a[1]*b,a[2]*b]}function tb(a){var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);a[0]/=b,a[1]/=b,a[2]/=b}function ub(a){return[Math.atan2(a[1],a[0]),ba(a[2])]}function vb(a,b){return ng(a[0]-b[0])h;++h)e.point((c=a[h])[0],c[1]);return void e.lineEnd()}var i=new Fb(c,a,null,!0),j=new Fb(c,null,i,!1);i.o=j,f.push(i),g.push(j),i=new Fb(d,a,null,!1),j=new Fb(d,null,i,!0),i.o=j,f.push(i),g.push(j)}}),g.sort(b),Eb(f),Eb(g),f.length){for(var h=0,i=c,j=g.length;j>h;++h)g[h].e=i=!i;for(var k,l,m=f[0];;){for(var n=m,o=!0;n.v;)if((n=n.n)===m)return;k=n.z,e.lineStart();do{if(n.v=n.o.v=!0,n.e){if(o)for(var h=0,j=k.length;j>h;++h)e.point((l=k[h])[0],l[1]);else d(n.x,n.n.x,1,e);n=n.n}else{if(o){k=n.p.z;for(var h=k.length-1;h>=0;--h)e.point((l=k[h])[0],l[1])}else d(n.x,n.p.x,-1,e);n=n.p}n=n.o,k=n.z,o=!o}while(!n.v);e.lineEnd()}}}function Eb(a){if(b=a.length){for(var b,c,d=0,e=a[0];++d0){for(v||(f.polygonStart(),v=!0),f.lineStart();++g1&&2&b&&c.push(c.pop().concat(c.shift())),n.push(c.filter(Hb))}var n,o,p,q=b(f),r=e.invert(d[0],d[1]),s={point:g,lineStart:i,lineEnd:j,polygonStart:function(){s.point=k,s.lineStart=l,s.lineEnd=m,n=[],o=[]},polygonEnd:function(){s.point=g,s.lineStart=i,s.lineEnd=j,n=bg.merge(n);var a=Nb(r,o);n.length?(v||(f.polygonStart(),v=!0),Db(n,Jb,a,c,f)):a&&(v||(f.polygonStart(),v=!0),f.lineStart(),c(null,null,1,f),f.lineEnd()),v&&(f.polygonEnd(),v=!1),n=o=null},sphere:function(){f.polygonStart(),f.lineStart(),c(null,null,1,f),f.lineEnd(),f.polygonEnd()}},t=Ib(),u=b(t),v=!1;return s}}function Hb(a){return a.length>1}function Ib(){var a,b=[];return{lineStart:function(){b.push(a=[])},point:function(b,c){a.push([b,c])},lineEnd:v,buffer:function(){var c=b;return b=[],a=null,c},rejoin:function(){b.length>1&&b.push(b.pop().concat(b.shift()))}}}function Jb(a,b){return((a=a.x)[0]<0?a[1]-Ig-Dg:Ig-a[1])-((b=b.x)[0]<0?b[1]-Ig-Dg:Ig-b[1])}function Kb(a){var b,c=0/0,d=0/0,e=0/0;return{lineStart:function(){a.lineStart(),b=1},point:function(f,g){var h=f>0?Fg:-Fg,i=ng(f-c);ng(i-Fg)0?Ig:-Ig),a.point(e,d),a.lineEnd(),a.lineStart(),a.point(h,d),a.point(f,d),b=0):e!==h&&i>=Fg&&(ng(c-e)Dg?Math.atan((Math.sin(b)*(f=Math.cos(d))*Math.sin(c)-Math.sin(d)*(e=Math.cos(b))*Math.sin(a))/(e*f*g)):(b+d)/2}function Mb(a,b,c,d){var e;if(null==a)e=c*Ig,d.point(-Fg,e),d.point(0,e),d.point(Fg,e),d.point(Fg,0),d.point(Fg,-e),d.point(0,-e),d.point(-Fg,-e),d.point(-Fg,0),d.point(-Fg,e);else if(ng(a[0]-b[0])>Dg){var f=a[0]h;++h){var j=b[h],k=j.length;if(k)for(var l=j[0],m=l[0],n=l[1]/2+Fg/4,o=Math.sin(n),p=Math.cos(n),q=1;;){q===k&&(q=0),a=j[q];var r=a[0],s=a[1]/2+Fg/4,t=Math.sin(s),u=Math.cos(s),v=r-m,w=v>=0?1:-1,x=w*v,y=x>Fg,z=o*t;if(sh.add(Math.atan2(z*w*Math.sin(x),p*u+z*Math.cos(x))),f+=y?v+w*Gg:v,y^m>=c^r>=c){var A=qb(ob(l),ob(a));tb(A);var B=qb(e,A);tb(B);var C=(y^v>=0?-1:1)*ba(B[2]);(d>C||d===C&&(A[0]||A[1]))&&(g+=y^v>=0?1:-1)}if(!q++)break;m=r,o=t,p=u,l=a}}return(-Dg>f||Dg>f&&0>sh)^1&g}function Ob(a){function b(a,b){return Math.cos(a)*Math.cos(b)>f}function c(a){var c,f,i,j,k;return{lineStart:function(){j=i=!1,k=1},point:function(l,m){var n,o=[l,m],p=b(l,m),q=g?p?0:e(l,m):p?e(l+(0>l?Fg:-Fg),m):0;if(!c&&(j=i=p)&&a.lineStart(),p!==i&&(n=d(c,o),(vb(c,n)||vb(o,n))&&(o[0]+=Dg,o[1]+=Dg,p=b(o[0],o[1]))),p!==i)k=0,p?(a.lineStart(),n=d(o,c),a.point(n[0],n[1])):(n=d(c,o),a.point(n[0],n[1]),a.lineEnd()),c=n;else if(h&&c&&g^p){var r;q&f||!(r=d(o,c,!0))||(k=0,g?(a.lineStart(),a.point(r[0][0],r[0][1]),a.point(r[1][0],r[1][1]),a.lineEnd()):(a.point(r[1][0],r[1][1]),a.lineEnd(),a.lineStart(),a.point(r[0][0],r[0][1])))}!p||c&&vb(c,o)||a.point(o[0],o[1]),c=o,i=p,f=q},lineEnd:function(){i&&a.lineEnd(),c=null},clean:function(){return k|(j&&i)<<1}}}function d(a,b,c){var d=ob(a),e=ob(b),g=[1,0,0],h=qb(d,e),i=pb(h,h),j=h[0],k=i-j*j;if(!k)return!c&&a;var l=f*i/k,m=-f*j/k,n=qb(g,h),o=sb(g,l),p=sb(h,m);rb(o,p);var q=n,r=pb(o,q),s=pb(q,q),t=r*r-s*(pb(o,o)-1);if(!(0>t)){var u=Math.sqrt(t),v=sb(q,(-r-u)/s);if(rb(v,o),v=ub(v),!c)return v;var w,x=a[0],y=b[0],z=a[1],A=b[1];x>y&&(w=x,x=y,y=w);var B=y-x,C=ng(B-Fg)B;if(!C&&z>A&&(w=z,z=A,A=w),D?C?z+A>0^v[1]<(ng(v[0]-x)Fg^(x<=v[0]&&v[0]<=y)){var E=sb(q,(-r+u)/s);return rb(E,o),[v,ub(E)]}}}function e(b,c){var d=g?a:Fg-a,e=0;return-d>b?e|=1:b>d&&(e|=2),-d>c?e|=4:c>d&&(e|=8),e}var f=Math.cos(a),g=f>0,h=ng(f)>Dg,i=nc(a,6*Jg);return Gb(b,c,i,g?[0,-a]:[-Fg,a-Fg])}function Pb(a,b,c,d){return function(e){var f,g=e.a,h=e.b,i=g.x,j=g.y,k=h.x,l=h.y,m=0,n=1,o=k-i,p=l-j;if(f=a-i,o||!(f>0)){if(f/=o,0>o){if(m>f)return;n>f&&(n=f)}else if(o>0){if(f>n)return;f>m&&(m=f)}if(f=c-i,o||!(0>f)){if(f/=o,0>o){if(f>n)return;f>m&&(m=f)}else if(o>0){if(m>f)return;n>f&&(n=f)}if(f=b-j,p||!(f>0)){if(f/=p,0>p){if(m>f)return;n>f&&(n=f)}else if(p>0){if(f>n)return;f>m&&(m=f)}if(f=d-j,p||!(0>f)){if(f/=p,0>p){if(f>n)return;f>m&&(m=f)}else if(p>0){if(m>f)return;n>f&&(n=f)}return m>0&&(e.a={x:i+m*o,y:j+m*p}),1>n&&(e.b={x:i+n*o,y:j+n*p}),e}}}}}}function Qb(a,b,c,d){function e(d,e){return ng(d[0]-a)0?0:3:ng(d[0]-c)0?2:1:ng(d[1]-b)0?1:0:e>0?3:2}function f(a,b){return g(a.x,b.x)}function g(a,b){var c=e(a,1),d=e(b,1);return c!==d?c-d:0===c?b[1]-a[1]:1===c?a[0]-b[0]:2===c?a[1]-b[1]:b[0]-a[0]}return function(h){function i(a){for(var b=0,c=q.length,d=a[1],e=0;c>e;++e)for(var f,g=1,h=q[e],i=h.length,j=h[0];i>g;++g)f=h[g],j[1]<=d?f[1]>d&&_(j,f,a)>0&&++b:f[1]<=d&&_(j,f,a)<0&&--b,j=f;return 0!==b}function j(f,h,i,j){var k=0,l=0;if(null==f||(k=e(f,i))!==(l=e(h,i))||g(f,h)<0^i>0){do j.point(0===k||3===k?a:c,k>1?d:b);while((k=(k+i+4)%4)!==l)}else j.point(h[0],h[1])}function k(e,f){return e>=a&&c>=e&&f>=b&&d>=f}function l(a,b){k(a,b)&&h.point(a,b)}function m(){D.point=o,q&&q.push(r=[]),y=!0,x=!1,v=w=0/0}function n(){p&&(o(s,t),u&&x&&B.rejoin(),p.push(B.buffer())),D.point=l,x&&h.lineEnd()}function o(a,b){a=Math.max(-Hh,Math.min(Hh,a)),b=Math.max(-Hh,Math.min(Hh,b));var c=k(a,b);if(q&&r.push([a,b]),y)s=a,t=b,u=c,y=!1,c&&(h.lineStart(),h.point(a,b));else if(c&&x)h.point(a,b);else{var d={a:{x:v,y:w},b:{x:a,y:b}};C(d)?(x||(h.lineStart(),h.point(d.a.x,d.a.y)),h.point(d.b.x,d.b.y),c||h.lineEnd(),z=!1):c&&(h.lineStart(),h.point(a,b),z=!1)}v=a,w=b,x=c}var p,q,r,s,t,u,v,w,x,y,z,A=h,B=Ib(),C=Pb(a,b,c,d),D={point:l,lineStart:m,lineEnd:n,polygonStart:function(){h=B,p=[],q=[],z=!0},polygonEnd:function(){h=A,p=bg.merge(p);var b=i([a,d]),c=z&&b,e=p.length;(c||e)&&(h.polygonStart(),c&&(h.lineStart(),j(null,null,1,h),h.lineEnd()),e&&Db(p,f,b,j,h),h.polygonEnd()),p=q=r=null}};return D}}function Rb(a){var b=0,c=Fg/3,d=fc(a),e=d(b,c);return e.parallels=function(a){return arguments.length?d(b=a[0]*Fg/180,c=a[1]*Fg/180):[b/Fg*180,c/Fg*180]},e}function Sb(a,b){function c(a,b){var c=Math.sqrt(f-2*e*Math.sin(b))/e;return[c*Math.sin(a*=e),g-c*Math.cos(a)]}var d=Math.sin(a),e=(d+Math.sin(b))/2,f=1+d*(2*e-d),g=Math.sqrt(f)/e;return c.invert=function(a,b){var c=g-b;return[Math.atan2(a,c)/e,ba((f-(a*a+c*c)*e*e)/(2*e))]},c}function Tb(){function a(a,b){Jh+=e*a-d*b,d=a,e=b}var b,c,d,e;Oh.point=function(f,g){Oh.point=a,b=d=f,c=e=g},Oh.lineEnd=function(){a(b,c)}}function Ub(a,b){Kh>a&&(Kh=a),a>Mh&&(Mh=a),Lh>b&&(Lh=b),b>Nh&&(Nh=b)}function Vb(){function a(a,b){g.push("M",a,",",b,f)}function b(a,b){g.push("M",a,",",b),h.point=c}function c(a,b){g.push("L",a,",",b)}function d(){h.point=a}function e(){g.push("Z")}var f=Wb(4.5),g=[],h={point:a,lineStart:function(){h.point=b},lineEnd:d,polygonStart:function(){h.lineEnd=e},polygonEnd:function(){h.lineEnd=d,h.point=a},pointRadius:function(a){return f=Wb(a),h},result:function(){if(g.length){var a=g.join("");return g=[],a}}};return h}function Wb(a){return"m0,"+a+"a"+a+","+a+" 0 1,1 0,"+-2*a+"a"+a+","+a+" 0 1,1 0,"+2*a+"z"}function Xb(a,b){wh+=a,xh+=b,++yh}function Yb(){function a(a,d){var e=a-b,f=d-c,g=Math.sqrt(e*e+f*f);zh+=g*(b+a)/2,Ah+=g*(c+d)/2,Bh+=g,Xb(b=a,c=d)}var b,c;Qh.point=function(d,e){Qh.point=a,Xb(b=d,c=e)}}function Zb(){Qh.point=Xb}function $b(){function a(a,b){var c=a-d,f=b-e,g=Math.sqrt(c*c+f*f);zh+=g*(d+a)/2,Ah+=g*(e+b)/2,Bh+=g,g=e*a-d*b,Ch+=g*(d+a),Dh+=g*(e+b),Eh+=3*g,Xb(d=a,e=b)}var b,c,d,e;Qh.point=function(f,g){Qh.point=a,Xb(b=d=f,c=e=g)},Qh.lineEnd=function(){a(b,c)}}function _b(a){function b(b,c){a.moveTo(b+g,c),a.arc(b,c,g,0,Gg)}function c(b,c){a.moveTo(b,c),h.point=d}function d(b,c){a.lineTo(b,c)}function e(){h.point=b}function f(){a.closePath()}var g=4.5,h={point:b,lineStart:function(){h.point=c},lineEnd:e,polygonStart:function(){h.lineEnd=f},polygonEnd:function(){h.lineEnd=e,h.point=b},pointRadius:function(a){return g=a,h},result:v};return h}function ac(a){function b(a){return(h?d:c)(a)}function c(b){return dc(b,function(c,d){c=a(c,d),b.point(c[0],c[1])})}function d(b){function c(c,d){c=a(c,d),b.point(c[0],c[1])}function d(){t=0/0,y.point=f,b.lineStart()}function f(c,d){var f=ob([c,d]),g=a(c,d);e(t,u,s,v,w,x,t=g[0],u=g[1],s=c,v=f[0],w=f[1],x=f[2],h,b),b.point(t,u)}function g(){y.point=c,b.lineEnd()}function i(){d(),y.point=j,y.lineEnd=k}function j(a,b){f(l=a,m=b),n=t,o=u,p=v,q=w,r=x,y.point=f}function k(){e(t,u,s,v,w,x,n,o,l,p,q,r,h,b),y.lineEnd=g,g()}var l,m,n,o,p,q,r,s,t,u,v,w,x,y={point:c,lineStart:d,lineEnd:g,polygonStart:function(){ b.polygonStart(),y.lineStart=i},polygonEnd:function(){b.polygonEnd(),y.lineStart=d}};return y}function e(b,c,d,h,i,j,k,l,m,n,o,p,q,r){var s=k-b,t=l-c,u=s*s+t*t;if(u>4*f&&q--){var v=h+n,w=i+o,x=j+p,y=Math.sqrt(v*v+w*w+x*x),z=Math.asin(x/=y),A=ng(ng(x)-1)f||ng((s*E+t*F)/u-.5)>.3||g>h*n+i*o+j*p)&&(e(b,c,d,h,i,j,C,D,A,v/=y,w/=y,x,q,r),r.point(C,D),e(C,D,A,v,w,x,k,l,m,n,o,p,q,r))}}var f=.5,g=Math.cos(30*Jg),h=16;return b.precision=function(a){return arguments.length?(h=(f=a*a)>0&&16,b):Math.sqrt(f)},b}function bc(a){var b=ac(function(b,c){return a([b*Kg,c*Kg])});return function(a){return gc(b(a))}}function cc(a){this.stream=a}function dc(a,b){return{point:b,sphere:function(){a.sphere()},lineStart:function(){a.lineStart()},lineEnd:function(){a.lineEnd()},polygonStart:function(){a.polygonStart()},polygonEnd:function(){a.polygonEnd()}}}function ec(a){return fc(function(){return a})()}function fc(a){function b(a){return a=h(a[0]*Jg,a[1]*Jg),[a[0]*m+i,j-a[1]*m]}function c(a){return a=h.invert((a[0]-i)/m,(j-a[1])/m),a&&[a[0]*Kg,a[1]*Kg]}function d(){h=Bb(g=jc(r,t,u),f);var a=f(p,q);return i=n-a[0]*m,j=o+a[1]*m,e()}function e(){return k&&(k.valid=!1,k=null),b}var f,g,h,i,j,k,l=ac(function(a,b){return a=f(a,b),[a[0]*m+i,j-a[1]*m]}),m=150,n=480,o=250,p=0,q=0,r=0,t=0,u=0,v=Gh,w=s,x=null,y=null;return b.stream=function(a){return k&&(k.valid=!1),k=gc(v(g,l(w(a)))),k.valid=!0,k},b.clipAngle=function(a){return arguments.length?(v=null==a?(x=a,Gh):Ob((x=+a)*Jg),e()):x},b.clipExtent=function(a){return arguments.length?(y=a,w=a?Qb(a[0][0],a[0][1],a[1][0],a[1][1]):s,e()):y},b.scale=function(a){return arguments.length?(m=+a,d()):m},b.translate=function(a){return arguments.length?(n=+a[0],o=+a[1],d()):[n,o]},b.center=function(a){return arguments.length?(p=a[0]%360*Jg,q=a[1]%360*Jg,d()):[p*Kg,q*Kg]},b.rotate=function(a){return arguments.length?(r=a[0]%360*Jg,t=a[1]%360*Jg,u=a.length>2?a[2]%360*Jg:0,d()):[r*Kg,t*Kg,u*Kg]},bg.rebind(b,l,"precision"),function(){return f=a.apply(this,arguments),b.invert=f.invert&&c,d()}}function gc(a){return dc(a,function(b,c){a.point(b*Jg,c*Jg)})}function hc(a,b){return[a,b]}function ic(a,b){return[a>Fg?a-Gg:-Fg>a?a+Gg:a,b]}function jc(a,b,c){return a?b||c?Bb(lc(a),mc(b,c)):lc(a):b||c?mc(b,c):ic}function kc(a){return function(b,c){return b+=a,[b>Fg?b-Gg:-Fg>b?b+Gg:b,c]}}function lc(a){var b=kc(a);return b.invert=kc(-a),b}function mc(a,b){function c(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*d+h*e;return[Math.atan2(i*f-k*g,h*d-j*e),ba(k*f+i*g)]}var d=Math.cos(a),e=Math.sin(a),f=Math.cos(b),g=Math.sin(b);return c.invert=function(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*f-i*g;return[Math.atan2(i*f+j*g,h*d+k*e),ba(k*d-h*e)]},c}function nc(a,b){var c=Math.cos(a),d=Math.sin(a);return function(e,f,g,h){var i=g*b;null!=e?(e=oc(c,e),f=oc(c,f),(g>0?f>e:e>f)&&(e+=g*Gg)):(e=a+g*Gg,f=a-.5*i);for(var j,k=e;g>0?k>f:f>k;k-=i)h.point((j=ub([c,-d*Math.cos(k),-d*Math.sin(k)]))[0],j[1])}}function oc(a,b){var c=ob(b);c[0]-=a,tb(c);var d=aa(-c[1]);return((-c[2]<0?-d:d)+2*Math.PI-Dg)%(2*Math.PI)}function pc(a,b,c){var d=bg.range(a,b-Dg,c).concat(b);return function(a){return d.map(function(b){return[a,b]})}}function qc(a,b,c){var d=bg.range(a,b-Dg,c).concat(b);return function(a){return d.map(function(b){return[b,a]})}}function rc(a){return a.source}function sc(a){return a.target}function tc(a,b,c,d){var e=Math.cos(b),f=Math.sin(b),g=Math.cos(d),h=Math.sin(d),i=e*Math.cos(a),j=e*Math.sin(a),k=g*Math.cos(c),l=g*Math.sin(c),m=2*Math.asin(Math.sqrt(fa(d-b)+e*g*fa(c-a))),n=1/Math.sin(m),o=m?function(a){var b=Math.sin(a*=m)*n,c=Math.sin(m-a)*n,d=c*i+b*k,e=c*j+b*l,g=c*f+b*h;return[Math.atan2(e,d)*Kg,Math.atan2(g,Math.sqrt(d*d+e*e))*Kg]}:function(){return[a*Kg,b*Kg]};return o.distance=m,o}function uc(){function a(a,e){var f=Math.sin(e*=Jg),g=Math.cos(e),h=ng((a*=Jg)-b),i=Math.cos(h);Rh+=Math.atan2(Math.sqrt((h=g*Math.sin(h))*h+(h=d*f-c*g*i)*h),c*f+d*g*i),b=a,c=f,d=g}var b,c,d;Sh.point=function(e,f){b=e*Jg,c=Math.sin(f*=Jg),d=Math.cos(f),Sh.point=a},Sh.lineEnd=function(){Sh.point=Sh.lineEnd=v}}function vc(a,b){function c(b,c){var d=Math.cos(b),e=Math.cos(c),f=a(d*e);return[f*e*Math.sin(b),f*Math.sin(c)]}return c.invert=function(a,c){var d=Math.sqrt(a*a+c*c),e=b(d),f=Math.sin(e),g=Math.cos(e);return[Math.atan2(a*f,d*g),Math.asin(d&&c*f/d)]},c}function wc(a,b){function c(a,b){g>0?-Ig+Dg>b&&(b=-Ig+Dg):b>Ig-Dg&&(b=Ig-Dg);var c=g/Math.pow(e(b),f);return[c*Math.sin(f*a),g-c*Math.cos(f*a)]}var d=Math.cos(a),e=function(a){return Math.tan(Fg/4+a/2)},f=a===b?Math.sin(a):Math.log(d/Math.cos(b))/Math.log(e(b)/e(a)),g=d*Math.pow(e(a),f)/f;return f?(c.invert=function(a,b){var c=g-b,d=$(f)*Math.sqrt(a*a+c*c);return[Math.atan2(a,c)/f,2*Math.atan(Math.pow(g/d,1/f))-Ig]},c):yc}function xc(a,b){function c(a,b){var c=f-b;return[c*Math.sin(e*a),f-c*Math.cos(e*a)]}var d=Math.cos(a),e=a===b?Math.sin(a):(d-Math.cos(b))/(b-a),f=d/e+a;return ng(e)e;e++){for(;d>1&&_(a[c[d-2]],a[c[d-1]],a[e])<=0;)--d;c[d++]=e}return c.slice(0,d)}function Ec(a,b){return a[0]-b[0]||a[1]-b[1]}function Fc(a,b,c){return(c[0]-b[0])*(a[1]-b[1])<(c[1]-b[1])*(a[0]-b[0])}function Gc(a,b,c,d){var e=a[0],f=c[0],g=b[0]-e,h=d[0]-f,i=a[1],j=c[1],k=b[1]-i,l=d[1]-j,m=(h*(i-j)-l*(e-f))/(l*g-h*k);return[e+m*g,i+m*k]}function Hc(a){var b=a[0],c=a[a.length-1];return!(b[0]-c[0]||b[1]-c[1])}function Ic(){bd(this),this.edge=this.site=this.circle=null}function Jc(a){var b=ci.pop()||new Ic;return b.site=a,b}function Kc(a){Uc(a),_h.remove(a),ci.push(a),bd(a)}function Lc(a){var b=a.circle,c=b.x,d=b.cy,e={x:c,y:d},f=a.P,g=a.N,h=[a];Kc(a);for(var i=f;i.circle&&ng(c-i.circle.x)k;++k)j=h[k],i=h[k-1],$c(j.edge,i.site,j.site,e);i=h[0],j=h[l-1],j.edge=Yc(i.site,j.site,null,e),Tc(i),Tc(j)}function Mc(a){for(var b,c,d,e,f=a.x,g=a.y,h=_h._;h;)if(d=Nc(h,g)-f,d>Dg)h=h.L;else{if(e=f-Oc(h,g),!(e>Dg)){d>-Dg?(b=h.P,c=h):e>-Dg?(b=h,c=h.N):b=c=h;break}if(!h.R){b=h;break}h=h.R}var i=Jc(a);if(_h.insert(b,i),b||c){if(b===c)return Uc(b),c=Jc(b.site),_h.insert(i,c),i.edge=c.edge=Yc(b.site,i.site),Tc(b),void Tc(c);if(!c)return void(i.edge=Yc(b.site,i.site));Uc(b),Uc(c);var j=b.site,k=j.x,l=j.y,m=a.x-k,n=a.y-l,o=c.site,p=o.x-k,q=o.y-l,r=2*(m*q-n*p),s=m*m+n*n,t=p*p+q*q,u={x:(q*s-n*t)/r+k,y:(m*t-p*s)/r+l};$c(c.edge,j,o,u),i.edge=Yc(j,a,null,u),c.edge=Yc(a,o,null,u),Tc(b),Tc(c)}}function Nc(a,b){var c=a.site,d=c.x,e=c.y,f=e-b;if(!f)return d;var g=a.P;if(!g)return-(1/0);c=g.site;var h=c.x,i=c.y,j=i-b;if(!j)return h;var k=h-d,l=1/f-1/j,m=k/j;return l?(-m+Math.sqrt(m*m-2*l*(k*k/(-2*j)-i+j/2+e-f/2)))/l+d:(d+h)/2}function Oc(a,b){var c=a.N;if(c)return Nc(c,b);var d=a.site;return d.y===b?d.x:1/0}function Pc(a){this.site=a,this.edges=[]}function Qc(a){for(var b,c,d,e,f,g,h,i,j,k,l=a[0][0],m=a[1][0],n=a[0][1],o=a[1][1],p=$h,q=p.length;q--;)if(f=p[q],f&&f.prepare())for(h=f.edges,i=h.length,g=0;i>g;)k=h[g].end(),d=k.x,e=k.y,j=h[++g%i].start(),b=j.x,c=j.y,(ng(d-b)>Dg||ng(e-c)>Dg)&&(h.splice(g,0,new _c(Zc(f.site,k,ng(d-l)Dg?{x:l,y:ng(b-l)Dg?{x:ng(c-o)Dg?{x:m,y:ng(b-m)Dg?{x:ng(c-n)=-Eg)){var n=i*i+j*j,o=k*k+l*l,p=(l*n-j*o)/m,q=(i*o-k*n)/m,l=q+h,r=di.pop()||new Sc;r.arc=a,r.site=e,r.x=p+g,r.y=l+Math.sqrt(p*p+q*q),r.cy=l,a.circle=r;for(var s=null,t=bi._;t;)if(r.yq||q>=h)return;if(m>o){if(f){if(f.y>=j)return}else f={x:q,y:i};c={x:q,y:j}}else{if(f){if(f.yd||d>1)if(m>o){if(f){if(f.y>=j)return}else f={x:(i-e)/d,y:i};c={x:(j-e)/d,y:j}}else{if(f){if(f.yn){if(f){if(f.x>=h)return}else f={x:g,y:d*g+e};c={x:h,y:d*h+e}}else{if(f){if(f.xf||l>g||d>m||e>n)){if(o=j.point){var o,p=b-j.x,q=c-j.y,r=p*p+q*q;if(i>r){var s=Math.sqrt(i=r);d=b-s,e=c-s,f=b+s,g=c+s,h=o}}for(var t=j.nodes,u=.5*(k+m),v=.5*(l+n),w=b>=u,x=c>=v,y=x<<1|w,z=y+4;z>y;++y)if(j=t[3&y])switch(3&y){case 0:a(j,k,l,u,v);break;case 1:a(j,u,l,m,v);break;case 2:a(j,k,v,u,n);break;case 3:a(j,u,v,m,n)}}}(a,d,e,f,g),h}function nd(a,b){a=bg.rgb(a),b=bg.rgb(b);var c=a.r,d=a.g,e=a.b,f=b.r-c,g=b.g-d,h=b.b-e;return function(a){return"#"+ua(Math.round(c+f*a))+ua(Math.round(d+g*a))+ua(Math.round(e+h*a))}}function od(a,b){var c,d={},e={};for(c in a)c in b?d[c]=rd(a[c],b[c]):e[c]=a[c];for(c in b)c in a||(e[c]=b[c]);return function(a){for(c in d)e[c]=d[c](a);return e}}function pd(a,b){return a=+a,b=+b,function(c){return a*(1-c)+b*c}}function qd(a,b){var c,d,e,f=fi.lastIndex=gi.lastIndex=0,g=-1,h=[],i=[];for(a+="",b+="";(c=fi.exec(a))&&(d=gi.exec(b));)(e=d.index)>f&&(e=b.slice(f,e),h[g]?h[g]+=e:h[++g]=e),(c=c[0])===(d=d[0])?h[g]?h[g]+=d:h[++g]=d:(h[++g]=null,i.push({i:g,x:pd(c,d)})),f=gi.lastIndex;return fd;++d)h[(c=i[d]).i]=c.x(a);return h.join("")})}function rd(a,b){for(var c,d=bg.interpolators.length;--d>=0&&!(c=bg.interpolators[d](a,b)););return c}function sd(a,b){var c,d=[],e=[],f=a.length,g=b.length,h=Math.min(a.length,b.length);for(c=0;h>c;++c)d.push(rd(a[c],b[c]));for(;f>c;++c)e[c]=a[c];for(;g>c;++c)e[c]=b[c];return function(a){for(c=0;h>c;++c)e[c]=d[c](a);return e}}function td(a){return function(b){return 0>=b?0:b>=1?1:a(b)}}function ud(a){return function(b){return 1-a(1-b)}}function vd(a){return function(b){return.5*(.5>b?a(2*b):2-a(2-2*b))}}function wd(a){return a*a}function xd(a){return a*a*a}function yd(a){if(0>=a)return 0;if(a>=1)return 1;var b=a*a,c=b*a;return 4*(.5>a?c:3*(a-b)+c-.75)}function zd(a){return function(b){return Math.pow(b,a)}}function Ad(a){return 1-Math.cos(a*Ig)}function Bd(a){return Math.pow(2,10*(a-1))}function Cd(a){return 1-Math.sqrt(1-a*a)}function Dd(a,b){var c;return arguments.length<2&&(b=.45),arguments.length?c=b/Gg*Math.asin(1/a):(a=1,c=b/4),function(d){return 1+a*Math.pow(2,-10*d)*Math.sin((d-c)*Gg/b)}}function Ed(a){return a||(a=1.70158),function(b){return b*b*((a+1)*b-a)}}function Fd(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}function Gd(a,b){a=bg.hcl(a),b=bg.hcl(b);var c=a.h,d=a.c,e=a.l,f=b.h-c,g=b.c-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.c:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:-180>f&&(f+=360),function(a){return ka(c+f*a,d+g*a,e+h*a)+""}}function Hd(a,b){a=bg.hsl(a),b=bg.hsl(b);var c=a.h,d=a.s,e=a.l,f=b.h-c,g=b.s-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.s:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:-180>f&&(f+=360),function(a){return ia(c+f*a,d+g*a,e+h*a)+""}}function Id(a,b){a=bg.lab(a),b=bg.lab(b);var c=a.l,d=a.a,e=a.b,f=b.l-c,g=b.a-d,h=b.b-e;return function(a){return ma(c+f*a,d+g*a,e+h*a)+""}}function Jd(a,b){return b-=a,function(c){return Math.round(a+b*c)}}function Kd(a){var b=[a.a,a.b],c=[a.c,a.d],d=Md(b),e=Ld(b,c),f=Md(Nd(c,b,-e))||0;b[0]*c[1]180?k+=360:k-j>180&&(j+=360),e.push({i:d.push(d.pop()+"rotate(",null,")")-2,x:pd(j,k)})):k&&d.push(d.pop()+"rotate("+k+")"),l!=m?e.push({i:d.push(d.pop()+"skewX(",null,")")-2,x:pd(l,m)}):m&&d.push(d.pop()+"skewX("+m+")"),n[0]!=o[0]||n[1]!=o[1]?(c=d.push(d.pop()+"scale(",null,",",null,")"),e.push({i:c-4,x:pd(n[0],o[0])},{i:c-2,x:pd(n[1],o[1])})):(1!=o[0]||1!=o[1])&&d.push(d.pop()+"scale("+o+")"),c=e.length,function(a){for(var b,f=-1;++f=0;)c.push(e[d])}function _d(a,b){for(var c=[a],d=[];null!=(a=c.pop());)if(d.push(a),(f=a.children)&&(e=f.length))for(var e,f,g=-1;++gc;++c)(b=a[c][1])>e&&(d=c,e=b);return d}function ke(a){return a.reduce(le,0)}function le(a,b){return a+b[1]}function me(a,b){return ne(a,Math.ceil(Math.log(b.length)/Math.LN2+1))}function ne(a,b){for(var c=-1,d=+a[0],e=(a[1]-d)/b,f=[];++c<=b;)f[c]=e*c+d;return f}function oe(a){return[bg.min(a),bg.max(a)]}function pe(a,b){return a.value-b.value}function qe(a,b){var c=a._pack_next;a._pack_next=b,b._pack_prev=a,b._pack_next=c,c._pack_prev=b}function re(a,b){a._pack_next=b,b._pack_prev=a}function se(a,b){var c=b.x-a.x,d=b.y-a.y,e=a.r+b.r;return.999*e*e>c*c+d*d}function te(a){function b(a){k=Math.min(a.x-a.r,k),l=Math.max(a.x+a.r,l),m=Math.min(a.y-a.r,m),n=Math.max(a.y+a.r,n)}if((c=a.children)&&(j=c.length)){var c,d,e,f,g,h,i,j,k=1/0,l=-(1/0),m=1/0,n=-(1/0);if(c.forEach(ue),d=c[0],d.x=-d.r,d.y=0,b(d),j>1&&(e=c[1],e.x=e.r,e.y=0,b(e),j>2))for(f=c[2],xe(d,e,f),b(f),qe(d,f),d._pack_prev=f,qe(f,e),e=d._pack_next,g=3;j>g;g++){xe(d,e,f=c[g]);var o=0,p=1,q=1;for(h=e._pack_next;h!==e;h=h._pack_next,p++)if(se(h,f)){o=1;break}if(1==o)for(i=d._pack_prev;i!==h._pack_prev&&!se(i,f);i=i._pack_prev,q++);o?(q>p||p==q&&e.rg;g++)f=c[g],f.x-=r,f.y-=s,t=Math.max(t,f.r+Math.sqrt(f.x*f.x+f.y*f.y));a.r=t,c.forEach(ve)}}function ue(a){a._pack_next=a._pack_prev=a}function ve(a){delete a._pack_next,delete a._pack_prev}function we(a,b,c,d){var e=a.children;if(a.x=b+=d*a.x,a.y=c+=d*a.y,a.r*=d,e)for(var f=-1,g=e.length;++f=0;)b=e[f],b.z+=c,b.m+=c,c+=b.s+(d+=b.c)}function De(a,b,c){return a.a.parent===b.parent?a.a:c}function Ee(a){return 1+bg.max(a,function(a){return a.y})}function Fe(a){return a.reduce(function(a,b){return a+b.x},0)/a.length}function Ge(a){var b=a.children;return b&&b.length?Ge(b[0]):a}function He(a){var b,c=a.children;return c&&(b=c.length)?He(c[b-1]):a}function Ie(a){return{x:a.x,y:a.y,dx:a.dx,dy:a.dy}}function Je(a,b){var c=a.x+b[3],d=a.y+b[0],e=a.dx-b[1]-b[3],f=a.dy-b[0]-b[2];return 0>e&&(c+=e/2,e=0),0>f&&(d+=f/2,f=0),{x:c,y:d,dx:e,dy:f}}function Ke(a){var b=a[0],c=a[a.length-1];return c>b?[b,c]:[c,b]}function Le(a){return a.rangeExtent?a.rangeExtent():Ke(a.range())}function Me(a,b,c,d){var e=c(a[0],a[1]),f=d(b[0],b[1]);return function(a){return f(e(a))}}function Ne(a,b){var c,d=0,e=a.length-1,f=a[d],g=a[e];return f>g&&(c=d,d=e,e=c,c=f,f=g,g=c),a[d]=b.floor(f),a[e]=b.ceil(g),a}function Oe(a){return a?{floor:function(b){return Math.floor(b/a)*a},ceil:function(b){return Math.ceil(b/a)*a}}:ri}function Pe(a,b,c,d){var e=[],f=[],g=0,h=Math.min(a.length,b.length)-1;for(a[h]2?Pe:Me,i=d?Qd:Pd;return g=e(a,b,i,c),h=e(b,a,i,rd),f}function f(a){return g(a)}var g,h;return f.invert=function(a){return h(a)},f.domain=function(b){return arguments.length?(a=b.map(Number),e()):a},f.range=function(a){return arguments.length?(b=a,e()):b},f.rangeRound=function(a){return f.range(a).interpolate(Jd)},f.clamp=function(a){return arguments.length?(d=a,e()):d},f.interpolate=function(a){return arguments.length?(c=a,e()):c},f.ticks=function(b){return Ue(a,b)},f.tickFormat=function(b,c){return Ve(a,b,c)},f.nice=function(b){return Se(a,b),e()},f.copy=function(){return Qe(a,b,c,d)},e()}function Re(a,b){return bg.rebind(a,b,"range","rangeRound","interpolate","clamp")}function Se(a,b){return Ne(a,Oe(Te(a,b)[2]))}function Te(a,b){null==b&&(b=10);var c=Ke(a),d=c[1]-c[0],e=Math.pow(10,Math.floor(Math.log(d/b)/Math.LN10)),f=b/d*e;return.15>=f?e*=10:.35>=f?e*=5:.75>=f&&(e*=2),c[0]=Math.ceil(c[0]/e)*e,c[1]=Math.floor(c[1]/e)*e+.5*e,c[2]=e,c}function Ue(a,b){return bg.range.apply(bg,Te(a,b))}function Ve(a,b,c){var d=Te(a,b);if(c){var e=fh.exec(c);if(e.shift(),"s"===e[8]){var f=bg.formatPrefix(Math.max(ng(d[0]),ng(d[1])));return e[7]||(e[7]="."+We(f.scale(d[2]))),e[8]="f",c=bg.format(e.join("")),function(a){return c(f.scale(a))+f.symbol}}e[7]||(e[7]="."+Xe(e[8],d)),c=e.join("")}else c=",."+We(d[2])+"f";return bg.format(c)}function We(a){return-Math.floor(Math.log(a)/Math.LN10+.01)}function Xe(a,b){var c=We(b[2]);return a in si?Math.abs(c-We(Math.max(ng(b[0]),ng(b[1]))))+ +("e"!==a):c-2*("%"===a)}function Ye(a,b,c,d){function e(a){return(c?Math.log(0>a?0:a):-Math.log(a>0?0:-a))/Math.log(b)}function f(a){return c?Math.pow(b,a):-Math.pow(b,-a)}function g(b){return a(e(b))}return g.invert=function(b){return f(a.invert(b))},g.domain=function(b){return arguments.length?(c=b[0]>=0,a.domain((d=b.map(Number)).map(e)),g):d},g.base=function(c){return arguments.length?(b=+c,a.domain(d.map(e)),g):b},g.nice=function(){var b=Ne(d.map(e),c?Math:ui);return a.domain(b),d=b.map(f),g},g.ticks=function(){var a=Ke(d),g=[],h=a[0],i=a[1],j=Math.floor(e(h)),k=Math.ceil(e(i)),l=b%1?2:b;if(isFinite(k-j)){if(c){for(;k>j;j++)for(var m=1;l>m;m++)g.push(f(j)*m);g.push(f(j))}else for(g.push(f(j));j++0;m--)g.push(f(j)*m);for(j=0;g[j]i;k--);g=g.slice(j,k)}return g},g.tickFormat=function(a,b){if(!arguments.length)return ti;arguments.length<2?b=ti:"function"!=typeof b&&(b=bg.format(b));var d,h=Math.max(.1,a/g.ticks().length),i=c?(d=1e-12,Math.ceil):(d=-1e-12,Math.floor);return function(a){return a/f(i(e(a)+d))<=h?b(a):""}},g.copy=function(){return Ye(a.copy(),b,c,d)},Re(g,a)}function Ze(a,b,c){function d(b){return a(e(b))}var e=$e(b),f=$e(1/b);return d.invert=function(b){return f(a.invert(b))},d.domain=function(b){return arguments.length?(a.domain((c=b.map(Number)).map(e)),d):c},d.ticks=function(a){return Ue(c,a)},d.tickFormat=function(a,b){return Ve(c,a,b)},d.nice=function(a){return d.domain(Se(c,a))},d.exponent=function(g){return arguments.length?(e=$e(b=g),f=$e(1/b),a.domain(c.map(e)),d):b},d.copy=function(){return Ze(a.copy(),b,c)},Re(d,a)}function $e(a){return function(b){return 0>b?-Math.pow(-b,a):Math.pow(b,a)}}function _e(a,b){function c(c){return f[((e.get(c)||("range"===b.t?e.set(c,a.push(c)):0/0))-1)%f.length]}function d(b,c){return bg.range(a.length).map(function(a){return b+c*a})}var e,f,g;return c.domain=function(d){if(!arguments.length)return a;a=[],e=new j;for(var f,g=-1,h=d.length;++gc?[0/0,0/0]:[c>0?h[c-1]:a[0],cb?0/0:b/f+a,[b,b+1/f]},d.copy=function(){return bf(a,b,c)},e()}function cf(a,b){function c(c){return c>=c?b[bg.bisect(a,c)]:void 0}return c.domain=function(b){return arguments.length?(a=b,c):a},c.range=function(a){return arguments.length?(b=a,c):b},c.invertExtent=function(c){return c=b.indexOf(c),[a[c-1],a[c]]},c.copy=function(){return cf(a,b)},c}function df(a){function b(a){return+a}return b.invert=b,b.domain=b.range=function(c){return arguments.length?(a=c.map(b),b):a},b.ticks=function(b){return Ue(a,b)},b.tickFormat=function(b,c){return Ve(a,b,c)},b.copy=function(){return df(a)},b}function ef(){return 0}function ff(a){return a.innerRadius}function gf(a){return a.outerRadius}function hf(a){return a.startAngle}function jf(a){return a.endAngle}function kf(a){return a&&a.padAngle}function lf(a,b,c,d){return(a-c)*b-(b-d)*a>0?0:1}function mf(a,b,c,d,e){var f=a[0]-b[0],g=a[1]-b[1],h=(e?d:-d)/Math.sqrt(f*f+g*g),i=h*g,j=-h*f,k=a[0]+i,l=a[1]+j,m=b[0]+i,n=b[1]+j,o=(k+m)/2,p=(l+n)/2,q=m-k,r=n-l,s=q*q+r*r,t=c-d,u=k*n-m*l,v=(0>r?-1:1)*Math.sqrt(t*t*s-u*u),w=(u*r-q*v)/s,x=(-u*q-r*v)/s,y=(u*r+q*v)/s,z=(-u*q+r*v)/s,A=w-o,B=x-p,C=y-o,D=z-p;return A*A+B*B>C*C+D*D&&(w=y,x=z),[[w-i,x-j],[w*c/t,x*c/t]]}function nf(a){function b(b){function g(){j.push("M",f(a(k),h))}for(var i,j=[],k=[],l=-1,m=b.length,n=Aa(c),o=Aa(d);++l1&&e.push("H",d[0]),e.join("")}function rf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b1){h=b[1],f=a[i],i++,d+="C"+(e[0]+g[0])+","+(e[1]+g[1])+","+(f[0]-h[0])+","+(f[1]-h[1])+","+f[0]+","+f[1];for(var j=2;j9&&(e=3*b/Math.sqrt(e),g[h]=e*c,g[h+1]=e*d));for(h=-1;++h<=i;)e=(a[Math.min(i,h+1)][0]-a[Math.max(0,h-1)][0])/(6*(1+g[h]*g[h])),f.push([e||0,g[h]*e||0]);return f}function Hf(a){return a.length<3?of(a):a[0]+wf(a,Gf(a))}function If(a){for(var b,c,d,e=-1,f=a.length;++ed)return k();var e=f[f.active];e&&(--f.count,delete f[f.active],e.event&&e.event.interrupt.call(a,a.__data__,e.index)),f.active=d,g.event&&g.event.start.call(a,a.__data__,b),g.tween.forEach(function(c,d){(d=d.call(a,a.__data__,b))&&p.push(d)}),m=g.ease,l=g.duration,bg.timer(function(){return o.c=j(c||1)?Cb:j,1},0,h)}function j(c){if(f.active!==d)return 1;for(var e=c/l,h=m(e),i=p.length;i>0;)p[--i].call(a,h);return e>=1?(g.event&&g.event.end.call(a,a.__data__,b),k()):void 0}function k(){return--f.count?delete f[d]:delete a[c],1}var l,m,n=g.delay,o=ch,p=[];return o.t=n+h,e>=n?i(e-n):void(o.c=i)},0,h)}}function Wf(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate("+(isFinite(d)?d:c(a))+",0)"})}function Xf(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate(0,"+(isFinite(d)?d:c(a))+")"})}function Yf(a){return a.toISOString()}function Zf(a,b,c){function d(b){return a(b)}function e(a,c){var d=a[1]-a[0],e=d/c,f=bg.bisect(Ti,e);return f==Ti.length?[b.year,Te(a.map(function(a){return a/31536e6}),c)[2]]:f?b[e/Ti[f-1]1?{floor:function(b){for(;c(b=a.floor(b));)b=$f(b-1);return b},ceil:function(b){for(;c(b=a.ceil(b));)b=$f(+b+1);return b}}:a))},d.ticks=function(a,b){var c=Ke(d.domain()),f=null==a?e(c,10):"number"==typeof a?e(c,a):!a.range&&[{range:a},b];return f&&(a=f[0],b=f[1]),a.range(c[0],$f(+c[1]+1),1>b?1:b)},d.tickFormat=function(){return c},d.copy=function(){return Zf(a.copy(),b,c)},Re(d,a)}function $f(a){return new Date(a)}function _f(a){return JSON.parse(a.responseText)}function ag(a){var b=eg.createRange();return b.selectNode(eg.body),b.createContextualFragment(a.responseText)}var bg={version:"3.5.5"},cg=[].slice,dg=function(a){return cg.call(a)},eg=this.document;if(eg)try{dg(eg.documentElement.childNodes)[0].nodeType}catch(fg){dg=function(a){for(var b=a.length,c=new Array(b);b--;)c[b]=a[b];return c}}if(Date.now||(Date.now=function(){return+new Date}),eg)try{eg.createElement("DIV").style.setProperty("opacity",0,"")}catch(gg){var hg=this.Element.prototype,ig=hg.setAttribute,jg=hg.setAttributeNS,kg=this.CSSStyleDeclaration.prototype,lg=kg.setProperty;hg.setAttribute=function(a,b){ig.call(this,a,b+"")},hg.setAttributeNS=function(a,b,c){jg.call(this,a,b,c+"")},kg.setProperty=function(a,b,c){lg.call(this,a,b+"",c)}}bg.ascending=c,bg.descending=function(a,b){return a>b?-1:b>a?1:b>=a?0:0/0},bg.min=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e=d){c=d;break}for(;++ed&&(c=d)}else{for(;++e=d){c=d;break}for(;++ed&&(c=d)}return c},bg.max=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e=d){c=d;break}for(;++ec&&(c=d)}else{for(;++e=d){c=d;break}for(;++ec&&(c=d)}return c},bg.extent=function(a,b){var c,d,e,f=-1,g=a.length;if(1===arguments.length){for(;++f=d){c=e=d;break}for(;++fd&&(c=d),d>e&&(e=d))}else{for(;++f=d){c=e=d;break}for(;++fd&&(c=d),d>e&&(e=d))}return[c,e]},bg.sum=function(a,b){var c,d=0,f=a.length,g=-1;if(1===arguments.length)for(;++g1?i/(k-1):void 0},bg.deviation=function(){var a=bg.variance.apply(this,arguments);return a?Math.sqrt(a):a};var mg=f(c);bg.bisectLeft=mg.left,bg.bisect=bg.bisectRight=mg.right,bg.bisector=function(a){return f(1===a.length?function(b,d){return c(a(b),d)}:a)},bg.shuffle=function(a,b,c){(f=arguments.length)<3&&(c=a.length,2>f&&(b=0));for(var d,e,f=c-b;f;)e=Math.random()*f--|0,d=a[f+b],a[f+b]=a[e+b],a[e+b]=d;return a},bg.permute=function(a,b){for(var c=b.length,d=new Array(c);c--;)d[c]=a[b[c]];return d},bg.pairs=function(a){for(var b,c=0,d=a.length-1,e=a[0],f=new Array(0>d?0:d);d>c;)f[c]=[b=e,e=a[++c]];return f},bg.zip=function(){if(!(d=arguments.length))return[];for(var a=-1,b=bg.min(arguments,g),c=new Array(b);++a=0;)for(d=a[e],b=d.length;--b>=0;)c[--g]=d[b];return c};var ng=Math.abs;bg.range=function(a,b,c){if(arguments.length<3&&(c=1,arguments.length<2&&(b=a,a=0)),(b-a)/c===1/0)throw new Error("infinite range");var d,e=[],f=h(ng(c)),g=-1;if(a*=f,b*=f,c*=f,0>c)for(;(d=a+c*++g)>b;)e.push(d/f);else for(;(d=a+c*++g)=f.length)return d?d.call(e,g):c?g.sort(c):g;for(var i,k,l,m,n=-1,o=g.length,p=f[h++],q=new j;++n=f.length)return a;var d=[],e=g[c++];return a.forEach(function(a,e){d.push({key:a,values:b(e,c)})}),e?d.sort(function(a,b){return e(a.key,b.key)}):d}var c,d,e={},f=[],g=[];return e.map=function(b,c){return a(c,b,0)},e.entries=function(c){return b(a(bg.map,c,0),0)},e.key=function(a){return f.push(a),e},e.sortKeys=function(a){return g[f.length-1]=a,e},e.sortValues=function(a){return c=a,e},e.rollup=function(a){return d=a,e},e},bg.set=function(a){var b=new r;if(a)for(var c=0,d=a.length;d>c;++c)b.add(a[c]);return b},i(r,{has:m,add:function(a){return this._[k(a+="")]=!0,a},remove:n,values:o,size:p,empty:q,forEach:function(a){for(var b in this._)a.call(this,l(b))}}),bg.behavior={},bg.rebind=function(a,b){for(var c,d=1,e=arguments.length;++d=0&&(d=a.slice(c+1),a=a.slice(0,c)),a)return arguments.length<2?this[a].on(d):this[a].on(d,b);if(2===arguments.length){if(null==b)for(a in this)this.hasOwnProperty(a)&&this[a].on(d,null);return this}},bg.event=null,bg.requote=function(a){return a.replace(rg,"\\$&")};var rg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,sg={}.__proto__?function(a,b){a.__proto__=b}:function(a,b){for(var c in b)a[c]=b[c]},tg=function(a,b){return b.querySelector(a)},ug=function(a,b){return b.querySelectorAll(a)},vg=function(a,b){var c=a.matches||a[u(a,"matchesSelector")];return(vg=function(a,b){return c.call(a,b)})(a,b)};"function"==typeof Sizzle&&(tg=function(a,b){return Sizzle(a,b)[0]||null},ug=Sizzle,vg=Sizzle.matchesSelector),bg.selection=function(){return bg.select(eg.documentElement)};var wg=bg.selection.prototype=[];wg.select=function(a){var b,c,d,e,f=[];a=C(a);for(var g=-1,h=this.length;++g=0&&(c=a.slice(0,b),a=a.slice(b+1)),xg.hasOwnProperty(c)?{space:xg[c],local:a}:a}},wg.attr=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node();return a=bg.ns.qualify(a),a.local?c.getAttributeNS(a.space,a.local):c.getAttribute(a)}for(b in a)this.each(E(b,a[b]));return this}return this.each(E(a,b))},wg.classed=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node(),d=(a=H(a)).length,e=-1;if(b=c.classList){for(;++ee){if("string"!=typeof a){2>e&&(c="");for(d in a)this.each(K(d,a[d],c));return this}if(2>e){var f=this.node();return b(f).getComputedStyle(f,null).getPropertyValue(a)}d=""}return this.each(K(a,c,d))},wg.property=function(a,b){if(arguments.length<2){if("string"==typeof a)return this.node()[a];for(b in a)this.each(L(b,a[b]));return this}return this.each(L(a,b))},wg.text=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.textContent=null==b?"":b}:null==a?function(){this.textContent=""}:function(){this.textContent=a}):this.node().textContent},wg.html=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.innerHTML=null==b?"":b}:null==a?function(){this.innerHTML=""}:function(){this.innerHTML=a}):this.node().innerHTML},wg.append=function(a){return a=M(a),this.select(function(){return this.appendChild(a.apply(this,arguments))})},wg.insert=function(a,b){return a=M(a),b=C(b),this.select(function(){return this.insertBefore(a.apply(this,arguments),b.apply(this,arguments)||null)})},wg.remove=function(){return this.each(N)},wg.data=function(a,b){function c(a,c){var d,e,f,g=a.length,l=c.length,m=Math.min(g,l),n=new Array(l),o=new Array(l),p=new Array(g);if(b){var q,r=new j,s=new Array(g);for(d=-1;++dd;++d)o[d]=O(c[d]);for(;g>d;++d)p[d]=a[d]}o.update=n,o.parentNode=n.parentNode=p.parentNode=a.parentNode,h.push(o),i.push(n),k.push(p)}var d,e,f=-1,g=this.length;if(!arguments.length){for(a=new Array(g=(d=this[0]).length);++ff;f++){e.push(b=[]),b.parentNode=(c=this[f]).parentNode;for(var h=0,i=c.length;i>h;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return B(e)},wg.order=function(){for(var a=-1,b=this.length;++a=0;)(c=d[e])&&(f&&f!==c.nextSibling&&f.parentNode.insertBefore(c,f),f=c);return this},wg.sort=function(a){a=Q.apply(this,arguments);for(var b=-1,c=this.length;++ba;a++)for(var c=this[a],d=0,e=c.length;e>d;d++){var f=c[d];if(f)return f}return null},wg.size=function(){var a=0;return R(this,function(){++a}),a};var yg=[];bg.selection.enter=S,bg.selection.enter.prototype=yg,yg.append=wg.append,yg.empty=wg.empty,yg.node=wg.node,yg.call=wg.call,yg.size=wg.size,yg.select=function(a){for(var b,c,d,e,f,g=[],h=-1,i=this.length;++hd){if("string"!=typeof a){2>d&&(b=!1);for(c in a)this.each(U(c,a[c],b));return this}if(2>d)return(d=this.node()["__on"+a])&&d._;c=!1}return this.each(U(a,b,c))};var zg=bg.map({mouseenter:"mouseover",mouseleave:"mouseout"});eg&&zg.forEach(function(a){"on"+a in eg&&zg.remove(a)});var Ag,Bg=0;bg.mouse=function(a){return Y(a,z())};var Cg=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;bg.touch=function(a,b,c){if(arguments.length<3&&(c=b,b=z().changedTouches),b)for(var d,e=0,f=b.length;f>e;++e)if((d=b[e]).identifier===c)return Y(a,d)},bg.behavior.drag=function(){function a(){this.on("mousedown.drag",f).on("touchstart.drag",g)}function c(a,b,c,f,g){return function(){function h(){var a,c,d=b(m,p);d&&(a=d[0]-t[0],c=d[1]-t[1],o|=a|c,t=d,n({type:"drag",x:d[0]+j[0],y:d[1]+j[1],dx:a,dy:c}))}function i(){b(m,p)&&(r.on(f+q,null).on(g+q,null),s(o&&bg.event.target===l),n({type:"dragend"}))}var j,k=this,l=bg.event.target,m=k.parentNode,n=d.of(k,arguments),o=0,p=a(),q=".drag"+(null==p?"":"-"+p),r=bg.select(c(l)).on(f+q,h).on(g+q,i),s=X(l),t=b(m,p);e?(j=e.apply(k,arguments),j=[j.x-t[0],j.y-t[1]]):j=[0,0],n({type:"dragstart"})}}var d=A(a,"drag","dragstart","dragend"),e=null,f=c(v,bg.mouse,b,"mousemove","mouseup"),g=c(Z,bg.touch,s,"touchmove","touchend");return a.origin=function(b){return arguments.length?(e=b,a):e},bg.rebind(a,d,"on")},bg.touches=function(a,b){return arguments.length<2&&(b=z().touches),b?dg(b).map(function(b){var c=Y(a,b);return c.identifier=b.identifier,c}):[]};var Dg=1e-6,Eg=Dg*Dg,Fg=Math.PI,Gg=2*Fg,Hg=Gg-Dg,Ig=Fg/2,Jg=Fg/180,Kg=180/Fg,Lg=Math.SQRT2,Mg=2,Ng=4;bg.interpolateZoom=function(a,b){function c(a){var b=a*s;if(r){var c=da(p),g=f/(Mg*m)*(c*ea(Lg*b+p)-ca(p));return[d+g*j,e+g*k,f*c/da(Lg*b+p)]}return[d+a*j,e+a*k,f*Math.exp(Lg*b)]}var d=a[0],e=a[1],f=a[2],g=b[0],h=b[1],i=b[2],j=g-d,k=h-e,l=j*j+k*k,m=Math.sqrt(l),n=(i*i-f*f+Ng*l)/(2*f*Mg*m),o=(i*i-f*f-Ng*l)/(2*i*Mg*m),p=Math.log(Math.sqrt(n*n+1)-n),q=Math.log(Math.sqrt(o*o+1)-o),r=q-p,s=(r||Math.log(i/f))/Lg;return c.duration=1e3*s,c},bg.behavior.zoom=function(){function a(a){a.on(F,l).on(Pg+".zoom",n).on("dblclick.zoom",o).on(I,m)}function c(a){return[(a[0]-z.x)/z.k,(a[1]-z.y)/z.k]}function d(a){return[a[0]*z.k+z.x,a[1]*z.k+z.y]}function e(a){z.k=Math.max(C[0],Math.min(C[1],a))}function f(a,b){b=d(b),z.x+=a[0]-b[0],z.y+=a[1]-b[1]}function g(b,c,d,g){b.__chart__={x:z.x,y:z.y,k:z.k},e(Math.pow(2,g)),f(q=c,d),b=bg.select(b),D>0&&(b=b.transition().duration(D)),b.call(a.event)}function h(){v&&v.domain(u.range().map(function(a){return(a-z.x)/z.k}).map(u.invert)),x&&x.domain(w.range().map(function(a){return(a-z.y)/z.k}).map(w.invert))}function i(a){E++||a({type:"zoomstart"})}function j(a){h(),a({type:"zoom",scale:z.k,translate:[z.x,z.y]})}function k(a){--E||a({type:"zoomend"}),q=null}function l(){function a(){l=1,f(bg.mouse(e),n),j(h)}function d(){m.on(G,null).on(H,null),o(l&&bg.event.target===g),k(h)}var e=this,g=bg.event.target,h=J.of(e,arguments),l=0,m=bg.select(b(e)).on(G,a).on(H,d),n=c(bg.mouse(e)),o=X(e);Ji.call(e),i(h)}function m(){function a(){var a=bg.touches(o);return n=z.k,a.forEach(function(a){a.identifier in q&&(q[a.identifier]=c(a))}),a}function b(){var b=bg.event.target;bg.select(b).on(u,d).on(v,h),w.push(b);for(var c=bg.event.changedTouches,e=0,f=c.length;f>e;++e)q[c[e].identifier]=null;var i=a(),j=Date.now();if(1===i.length){if(500>j-t){var k=i[0];g(o,k,q[k.identifier],Math.floor(Math.log(z.k)/Math.LN2)+1),y()}t=j}else if(i.length>1){var k=i[0],l=i[1],m=k[0]-l[0],n=k[1]-l[1];r=m*m+n*n}}function d(){var a,b,c,d,g=bg.touches(o);Ji.call(o);for(var h=0,i=g.length;i>h;++h,d=null)if(c=g[h],d=q[c.identifier]){if(b)break;a=c,b=d}if(d){var k=(k=c[0]-a[0])*k+(k=c[1]-a[1])*k,l=r&&Math.sqrt(k/r);a=[(a[0]+c[0])/2,(a[1]+c[1])/2],b=[(b[0]+d[0])/2,(b[1]+d[1])/2],e(l*n)}t=null,f(a,b),j(p)}function h(){if(bg.event.touches.length){for(var b=bg.event.changedTouches,c=0,d=b.length;d>c;++c)delete q[b[c].identifier];for(var e in q)return void a()}bg.selectAll(w).on(s,null),x.on(F,l).on(I,m),A(),k(p)}var n,o=this,p=J.of(o,arguments),q={},r=0,s=".zoom-"+bg.event.changedTouches[0].identifier,u="touchmove"+s,v="touchend"+s,w=[],x=bg.select(o),A=X(o);b(),i(p),x.on(F,null).on(I,b)}function n(){var a=J.of(this,arguments);s?clearTimeout(s):(p=c(q=r||bg.mouse(this)),Ji.call(this),i(a)),s=setTimeout(function(){s=null,k(a)},50),y(),e(Math.pow(2,.002*Og())*z.k),f(q,p),j(a)}function o(){var a=bg.mouse(this),b=Math.log(z.k)/Math.LN2;g(this,a,c(a),bg.event.shiftKey?Math.ceil(b)-1:Math.floor(b)+1)}var p,q,r,s,t,u,v,w,x,z={x:0,y:0,k:1},B=[960,500],C=Qg,D=250,E=0,F="mousedown.zoom",G="mousemove.zoom",H="mouseup.zoom",I="touchstart.zoom",J=A(a,"zoomstart","zoom","zoomend");return Pg||(Pg="onwheel"in eg?(Og=function(){return-bg.event.deltaY*(bg.event.deltaMode?120:1)},"wheel"):"onmousewheel"in eg?(Og=function(){return bg.event.wheelDelta},"mousewheel"):(Og=function(){return-bg.event.detail},"MozMousePixelScroll")),a.event=function(a){a.each(function(){var a=J.of(this,arguments),b=z;Hi?bg.select(this).transition().each("start.zoom",function(){z=this.__chart__||{x:0,y:0,k:1},i(a)}).tween("zoom:zoom",function(){var c=B[0],d=B[1],e=q?q[0]:c/2,f=q?q[1]:d/2,g=bg.interpolateZoom([(e-z.x)/z.k,(f-z.y)/z.k,c/z.k],[(e-b.x)/b.k,(f-b.y)/b.k,c/b.k]);return function(b){var d=g(b),h=c/d[2];this.__chart__=z={x:e-d[0]*h,y:f-d[1]*h,k:h},j(a)}}).each("interrupt.zoom",function(){k(a)}).each("end.zoom",function(){k(a)}):(this.__chart__=z,i(a),j(a),k(a))})},a.translate=function(b){return arguments.length?(z={x:+b[0],y:+b[1],k:z.k},h(),a):[z.x,z.y]},a.scale=function(b){return arguments.length?(z={x:z.x,y:z.y,k:+b},h(),a):z.k},a.scaleExtent=function(b){return arguments.length?(C=null==b?Qg:[+b[0],+b[1]],a):C},a.center=function(b){return arguments.length?(r=b&&[+b[0],+b[1]],a):r},a.size=function(b){return arguments.length?(B=b&&[+b[0],+b[1]],a):B},a.duration=function(b){return arguments.length?(D=+b,a):D},a.x=function(b){return arguments.length?(v=b,u=b.copy(),z={x:0,y:0,k:1},a):v},a.y=function(b){return arguments.length?(x=b,w=b.copy(),z={x:0,y:0,k:1},a):x},bg.rebind(a,J,"on")};var Og,Pg,Qg=[0,1/0];bg.color=ga,ga.prototype.toString=function(){return this.rgb()+""},bg.hsl=ha;var Rg=ha.prototype=new ga;Rg.brighter=function(a){return a=Math.pow(.7,arguments.length?a:1),new ha(this.h,this.s,this.l/a)},Rg.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new ha(this.h,this.s,a*this.l)},Rg.rgb=function(){return ia(this.h,this.s,this.l)},bg.hcl=ja;var Sg=ja.prototype=new ga;Sg.brighter=function(a){return new ja(this.h,this.c,Math.min(100,this.l+Tg*(arguments.length?a:1)))},Sg.darker=function(a){return new ja(this.h,this.c,Math.max(0,this.l-Tg*(arguments.length?a:1)))},Sg.rgb=function(){return ka(this.h,this.c,this.l).rgb()},bg.lab=la;var Tg=18,Ug=.95047,Vg=1,Wg=1.08883,Xg=la.prototype=new ga;Xg.brighter=function(a){return new la(Math.min(100,this.l+Tg*(arguments.length?a:1)),this.a,this.b)},Xg.darker=function(a){return new la(Math.max(0,this.l-Tg*(arguments.length?a:1)),this.a,this.b)},Xg.rgb=function(){return ma(this.l,this.a,this.b)},bg.rgb=ra;var Yg=ra.prototype=new ga;Yg.brighter=function(a){a=Math.pow(.7,arguments.length?a:1);var b=this.r,c=this.g,d=this.b,e=30;return b||c||d?(b&&e>b&&(b=e),c&&e>c&&(c=e),d&&e>d&&(d=e),new ra(Math.min(255,b/a),Math.min(255,c/a),Math.min(255,d/a))):new ra(e,e,e)},Yg.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new ra(a*this.r,a*this.g,a*this.b)},Yg.hsl=function(){return wa(this.r,this.g,this.b)},Yg.toString=function(){return"#"+ua(this.r)+ua(this.g)+ua(this.b)};var Zg=bg.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Zg.forEach(function(a,b){Zg.set(a,sa(b))}),bg.functor=Aa,bg.xhr=Ba(s),bg.dsv=function(a,b){function c(a,c,f){arguments.length<3&&(f=c,c=null);var g=Ca(a,b,null==c?d:e(c),f);return g.row=function(a){return arguments.length?g.response(null==(c=a)?d:e(a)):c},g}function d(a){return c.parse(a.responseText)}function e(a){return function(b){return c.parse(b.responseText,a)}}function f(b){return b.map(g).join(a)}function g(a){return h.test(a)?'"'+a.replace(/\"/g,'""')+'"':a}var h=new RegExp('["'+a+"\n]"),i=a.charCodeAt(0);return c.parse=function(a,b){var d;return c.parseRows(a,function(a,c){if(d)return d(a,c-1);var e=new Function("d","return {"+a.map(function(a,b){return JSON.stringify(a)+": d["+b+"]"}).join(",")+"}");d=b?function(a,c){return b(e(a),c)}:e})},c.parseRows=function(a,b){function c(){if(k>=j)return g;if(e)return e=!1,f;var b=k;if(34===a.charCodeAt(b)){for(var c=b;c++k;){var d=a.charCodeAt(k++),h=1;if(10===d)e=!0;else if(13===d)e=!0,10===a.charCodeAt(k)&&(++k,++h);else if(d!==i)continue;return a.slice(b,k-h)}return a.slice(b)}for(var d,e,f={},g={},h=[],j=a.length,k=0,l=0;(d=c())!==g;){for(var m=[];d!==f&&d!==g;)m.push(d),d=c();b&&null==(m=b(m,l++))||h.push(m)}return h},c.format=function(b){if(Array.isArray(b[0]))return c.formatRows(b);var d=new r,e=[];return b.forEach(function(a){for(var b in a)d.has(b)||e.push(d.add(b))}),[e.map(g).join(a)].concat(b.map(function(b){return e.map(function(a){return g(b[a])}).join(a)})).join("\n")},c.formatRows=function(a){return a.map(f).join("\n")},c},bg.csv=bg.dsv(",","text/csv"),bg.tsv=bg.dsv(" ","text/tab-separated-values");var $g,_g,ah,bh,ch,dh=this[u(this,"requestAnimationFrame")]||function(a){setTimeout(a,17)};bg.timer=function(a,b,c){var d=arguments.length;2>d&&(b=0),3>d&&(c=Date.now());var e=c+b,f={c:a,t:e,f:!1,n:null};_g?_g.n=f:$g=f,_g=f,ah||(bh=clearTimeout(bh),ah=1,dh(Fa))},bg.timer.flush=function(){Ga(),Ha()},bg.round=function(a,b){return b?Math.round(a*(b=Math.pow(10,b)))/b:Math.round(a)};var eh=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Ja);bg.formatPrefix=function(a,b){var c=0;return a&&(0>a&&(a*=-1),b&&(a=bg.round(a,Ia(a,b))),c=1+Math.floor(1e-12+Math.log(a)/Math.LN10),c=Math.max(-24,Math.min(24,3*Math.floor((c-1)/3)))),eh[8+c/3]};var fh=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,gh=bg.map({b:function(a){return a.toString(2)},c:function(a){return String.fromCharCode(a)},o:function(a){return a.toString(8)},x:function(a){return a.toString(16)},X:function(a){return a.toString(16).toUpperCase()},g:function(a,b){return a.toPrecision(b)},e:function(a,b){return a.toExponential(b)},f:function(a,b){return a.toFixed(b)},r:function(a,b){return(a=bg.round(a,Ia(a,b))).toFixed(Math.max(0,Math.min(20,Ia(a*(1+1e-15),b))))}}),hh=bg.time={},ih=Date;Ma.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){jh.setUTCDate.apply(this._,arguments)},setDay:function(){jh.setUTCDay.apply(this._,arguments)},setFullYear:function(){jh.setUTCFullYear.apply(this._,arguments)},setHours:function(){jh.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){jh.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){jh.setUTCMinutes.apply(this._,arguments)},setMonth:function(){jh.setUTCMonth.apply(this._,arguments)},setSeconds:function(){jh.setUTCSeconds.apply(this._,arguments)},setTime:function(){jh.setTime.apply(this._,arguments)}};var jh=Date.prototype;hh.year=Na(function(a){return a=hh.day(a),a.setMonth(0,1),a},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a){return a.getFullYear()}),hh.years=hh.year.range,hh.years.utc=hh.year.utc.range,hh.day=Na(function(a){var b=new ih(2e3,0);return b.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),b},function(a,b){a.setDate(a.getDate()+b)},function(a){return a.getDate()-1}),hh.days=hh.day.range,hh.days.utc=hh.day.utc.range,hh.dayOfYear=function(a){var b=hh.year(a);return Math.floor((a-b-6e4*(a.getTimezoneOffset()-b.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(a,b){b=7-b;var c=hh[a]=Na(function(a){return(a=hh.day(a)).setDate(a.getDate()-(a.getDay()+b)%7),a},function(a,b){a.setDate(a.getDate()+7*Math.floor(b))},function(a){var c=hh.year(a).getDay();return Math.floor((hh.dayOfYear(a)+(c+b)%7)/7)-(c!==b)});hh[a+"s"]=c.range,hh[a+"s"].utc=c.utc.range,hh[a+"OfYear"]=function(a){var c=hh.year(a).getDay();return Math.floor((hh.dayOfYear(a)+(c+b)%7)/7)}}),hh.week=hh.sunday,hh.weeks=hh.sunday.range,hh.weeks.utc=hh.sunday.utc.range,hh.weekOfYear=hh.sundayOfYear;var kh={"-":"",_:" ",0:"0"},lh=/^\s*\d+/,mh=/^%/;bg.locale=function(a){return{numberFormat:Ka(a),timeFormat:Pa(a)}};var nh=bg.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});bg.format=nh.numberFormat,bg.geo={},ib.prototype={s:0,t:0,add:function(a){jb(a,this.t,oh), -jb(oh.s,this.s,this),this.s?this.t+=oh.t:this.s=oh.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var oh=new ib;bg.geo.stream=function(a,b){a&&ph.hasOwnProperty(a.type)?ph[a.type](a,b):kb(a,b)};var ph={Feature:function(a,b){kb(a.geometry,b)},FeatureCollection:function(a,b){for(var c=a.features,d=-1,e=c.length;++da?4*Fg+a:a,th.lineStart=th.lineEnd=th.point=v}};bg.geo.bounds=function(){function a(a,b){t.push(u=[k=a,m=a]),l>b&&(l=b),b>n&&(n=b)}function b(b,c){var d=ob([b*Jg,c*Jg]);if(r){var e=qb(r,d),f=[e[1],-e[0],0],g=qb(f,e);tb(g),g=ub(g);var i=b-o,j=i>0?1:-1,p=g[0]*Kg*j,q=ng(i)>180;if(q^(p>j*o&&j*b>p)){var s=g[1]*Kg;s>n&&(n=s)}else if(p=(p+360)%360-180,q^(p>j*o&&j*b>p)){var s=-g[1]*Kg;l>s&&(l=s)}else l>c&&(l=c),c>n&&(n=c);q?o>b?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b):m>=k?(k>b&&(k=b),b>m&&(m=b)):b>o?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b)}else a(b,c);r=d,o=b}function c(){v.point=b}function d(){u[0]=k,u[1]=m,v.point=a,r=null}function e(a,c){if(r){var d=a-o;s+=ng(d)>180?d+(d>0?360:-360):d}else p=a,q=c;th.point(a,c),b(a,c)}function f(){th.lineStart()}function g(){e(p,q),th.lineEnd(),ng(s)>Dg&&(k=-(m=180)),u[0]=k,u[1]=m,r=null}function h(a,b){return(b-=a)<0?b+360:b}function i(a,b){return a[0]-b[0]}function j(a,b){return b[0]<=b[1]?b[0]<=a&&a<=b[1]:ash?(k=-(m=180),l=-(n=90)):s>Dg?n=90:-Dg>s&&(l=-90),u[0]=k,u[1]=m}};return function(a){n=m=-(k=l=1/0),t=[],bg.geo.stream(a,v);var b=t.length;if(b){t.sort(i);for(var c,d=1,e=t[0],f=[e];b>d;++d)c=t[d],j(c[0],e)||j(c[1],e)?(h(e[0],c[1])>h(e[0],e[1])&&(e[1]=c[1]),h(c[0],e[1])>h(e[0],e[1])&&(e[0]=c[0])):f.push(e=c);for(var g,c,o=-(1/0),b=f.length-1,d=0,e=f[b];b>=d;e=c,++d)c=f[d],(g=h(e[1],c[0]))>o&&(o=g,k=c[0],m=e[1])}return t=u=null,k===1/0||l===1/0?[[0/0,0/0],[0/0,0/0]]:[[k,l],[m,n]]}}(),bg.geo.centroid=function(a){uh=vh=wh=xh=yh=zh=Ah=Bh=Ch=Dh=Eh=0,bg.geo.stream(a,Fh);var b=Ch,c=Dh,d=Eh,e=b*b+c*c+d*d;return Eg>e&&(b=zh,c=Ah,d=Bh,Dg>vh&&(b=wh,c=xh,d=yh),e=b*b+c*c+d*d,Eg>e)?[0/0,0/0]:[Math.atan2(c,b)*Kg,ba(d/Math.sqrt(e))*Kg]};var uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh={sphere:v,point:wb,lineStart:yb,lineEnd:zb,polygonStart:function(){Fh.lineStart=Ab},polygonEnd:function(){Fh.lineStart=yb}},Gh=Gb(Cb,Kb,Mb,[-Fg,-Fg/2]),Hh=1e9;bg.geo.clipExtent=function(){var a,b,c,d,e,f,g={stream:function(a){return e&&(e.valid=!1),e=f(a),e.valid=!0,e},extent:function(h){return arguments.length?(f=Qb(a=+h[0][0],b=+h[0][1],c=+h[1][0],d=+h[1][1]),e&&(e.valid=!1,e=null),g):[[a,b],[c,d]]}};return g.extent([[0,0],[960,500]])},(bg.geo.conicEqualArea=function(){return Rb(Sb)}).raw=Sb,bg.geo.albers=function(){return bg.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},bg.geo.albersUsa=function(){function a(a){var f=a[0],g=a[1];return b=null,c(f,g),b||(d(f,g),b)||e(f,g),b}var b,c,d,e,f=bg.geo.albers(),g=bg.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),h=bg.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),i={point:function(a,c){b=[a,c]}};return a.invert=function(a){var b=f.scale(),c=f.translate(),d=(a[0]-c[0])/b,e=(a[1]-c[1])/b;return(e>=.12&&.234>e&&d>=-.425&&-.214>d?g:e>=.166&&.234>e&&d>=-.214&&-.115>d?h:f).invert(a)},a.stream=function(a){var b=f.stream(a),c=g.stream(a),d=h.stream(a);return{point:function(a,e){b.point(a,e),c.point(a,e),d.point(a,e)},sphere:function(){b.sphere(),c.sphere(),d.sphere()},lineStart:function(){b.lineStart(),c.lineStart(),d.lineStart()},lineEnd:function(){b.lineEnd(),c.lineEnd(),d.lineEnd()},polygonStart:function(){b.polygonStart(),c.polygonStart(),d.polygonStart()},polygonEnd:function(){b.polygonEnd(),c.polygonEnd(),d.polygonEnd()}}},a.precision=function(b){return arguments.length?(f.precision(b),g.precision(b),h.precision(b),a):f.precision()},a.scale=function(b){return arguments.length?(f.scale(b),g.scale(.35*b),h.scale(b),a.translate(f.translate())):f.scale()},a.translate=function(b){if(!arguments.length)return f.translate();var j=f.scale(),k=+b[0],l=+b[1];return c=f.translate(b).clipExtent([[k-.455*j,l-.238*j],[k+.455*j,l+.238*j]]).stream(i).point,d=g.translate([k-.307*j,l+.201*j]).clipExtent([[k-.425*j+Dg,l+.12*j+Dg],[k-.214*j-Dg,l+.234*j-Dg]]).stream(i).point,e=h.translate([k-.205*j,l+.212*j]).clipExtent([[k-.214*j+Dg,l+.166*j+Dg],[k-.115*j-Dg,l+.234*j-Dg]]).stream(i).point,a},a.scale(1070)};var Ih,Jh,Kh,Lh,Mh,Nh,Oh={point:v,lineStart:v,lineEnd:v,polygonStart:function(){Jh=0,Oh.lineStart=Tb},polygonEnd:function(){Oh.lineStart=Oh.lineEnd=Oh.point=v,Ih+=ng(Jh/2)}},Ph={point:Ub,lineStart:v,lineEnd:v,polygonStart:v,polygonEnd:v},Qh={point:Xb,lineStart:Yb,lineEnd:Zb,polygonStart:function(){Qh.lineStart=$b},polygonEnd:function(){Qh.point=Xb,Qh.lineStart=Yb,Qh.lineEnd=Zb}};bg.geo.path=function(){function a(a){return a&&("function"==typeof h&&f.pointRadius(+h.apply(this,arguments)),g&&g.valid||(g=e(f)),bg.geo.stream(a,g)),f.result()}function b(){return g=null,a}var c,d,e,f,g,h=4.5;return a.area=function(a){return Ih=0,bg.geo.stream(a,e(Oh)),Ih},a.centroid=function(a){return wh=xh=yh=zh=Ah=Bh=Ch=Dh=Eh=0,bg.geo.stream(a,e(Qh)),Eh?[Ch/Eh,Dh/Eh]:Bh?[zh/Bh,Ah/Bh]:yh?[wh/yh,xh/yh]:[0/0,0/0]},a.bounds=function(a){return Mh=Nh=-(Kh=Lh=1/0),bg.geo.stream(a,e(Ph)),[[Kh,Lh],[Mh,Nh]]},a.projection=function(a){return arguments.length?(e=(c=a)?a.stream||bc(a):s,b()):c},a.context=function(a){return arguments.length?(f=null==(d=a)?new Vb:new _b(a),"function"!=typeof h&&f.pointRadius(h),b()):d},a.pointRadius=function(b){return arguments.length?(h="function"==typeof b?b:(f.pointRadius(+b),+b),a):h},a.projection(bg.geo.albersUsa()).context(null)},bg.geo.transform=function(a){return{stream:function(b){var c=new cc(b);for(var d in a)c[d]=a[d];return c}}},cc.prototype={point:function(a,b){this.stream.point(a,b)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},bg.geo.projection=ec,bg.geo.projectionMutator=fc,(bg.geo.equirectangular=function(){return ec(hc)}).raw=hc.invert=hc,bg.geo.rotation=function(a){function b(b){return b=a(b[0]*Jg,b[1]*Jg),b[0]*=Kg,b[1]*=Kg,b}return a=jc(a[0]%360*Jg,a[1]*Jg,a.length>2?a[2]*Jg:0),b.invert=function(b){return b=a.invert(b[0]*Jg,b[1]*Jg),b[0]*=Kg,b[1]*=Kg,b},b},ic.invert=hc,bg.geo.circle=function(){function a(){var a="function"==typeof d?d.apply(this,arguments):d,b=jc(-a[0]*Jg,-a[1]*Jg,0).invert,e=[];return c(null,null,1,{point:function(a,c){e.push(a=b(a,c)),a[0]*=Kg,a[1]*=Kg}}),{type:"Polygon",coordinates:[e]}}var b,c,d=[0,0],e=6;return a.origin=function(b){return arguments.length?(d=b,a):d},a.angle=function(d){return arguments.length?(c=nc((b=+d)*Jg,e*Jg),a):b},a.precision=function(d){return arguments.length?(c=nc(b*Jg,(e=+d)*Jg),a):e},a.angle(90)},bg.geo.distance=function(a,b){var c,d=(b[0]-a[0])*Jg,e=a[1]*Jg,f=b[1]*Jg,g=Math.sin(d),h=Math.cos(d),i=Math.sin(e),j=Math.cos(e),k=Math.sin(f),l=Math.cos(f);return Math.atan2(Math.sqrt((c=l*g)*c+(c=j*k-i*l*h)*c),i*k+j*l*h)},bg.geo.graticule=function(){function a(){return{type:"MultiLineString",coordinates:b()}}function b(){return bg.range(Math.ceil(f/q)*q,e,q).map(m).concat(bg.range(Math.ceil(j/r)*r,i,r).map(n)).concat(bg.range(Math.ceil(d/o)*o,c,o).filter(function(a){return ng(a%q)>Dg}).map(k)).concat(bg.range(Math.ceil(h/p)*p,g,p).filter(function(a){return ng(a%r)>Dg}).map(l))}var c,d,e,f,g,h,i,j,k,l,m,n,o=10,p=o,q=90,r=360,s=2.5;return a.lines=function(){return b().map(function(a){return{type:"LineString",coordinates:a}})},a.outline=function(){return{type:"Polygon",coordinates:[m(f).concat(n(i).slice(1),m(e).reverse().slice(1),n(j).reverse().slice(1))]}},a.extent=function(b){return arguments.length?a.majorExtent(b).minorExtent(b):a.minorExtent()},a.majorExtent=function(b){return arguments.length?(f=+b[0][0],e=+b[1][0],j=+b[0][1],i=+b[1][1],f>e&&(b=f,f=e,e=b),j>i&&(b=j,j=i,i=b),a.precision(s)):[[f,j],[e,i]]},a.minorExtent=function(b){return arguments.length?(d=+b[0][0],c=+b[1][0],h=+b[0][1],g=+b[1][1],d>c&&(b=d,d=c,c=b),h>g&&(b=h,h=g,g=b),a.precision(s)):[[d,h],[c,g]]},a.step=function(b){return arguments.length?a.majorStep(b).minorStep(b):a.minorStep()},a.majorStep=function(b){return arguments.length?(q=+b[0],r=+b[1],a):[q,r]},a.minorStep=function(b){return arguments.length?(o=+b[0],p=+b[1],a):[o,p]},a.precision=function(b){return arguments.length?(s=+b,k=pc(h,g,90),l=qc(d,c,s),m=pc(j,i,90),n=qc(f,e,s),a):s},a.majorExtent([[-180,-90+Dg],[180,90-Dg]]).minorExtent([[-180,-80-Dg],[180,80+Dg]])},bg.geo.greatArc=function(){function a(){return{type:"LineString",coordinates:[b||d.apply(this,arguments),c||e.apply(this,arguments)]}}var b,c,d=rc,e=sc;return a.distance=function(){return bg.geo.distance(b||d.apply(this,arguments),c||e.apply(this,arguments))},a.source=function(c){return arguments.length?(d=c,b="function"==typeof c?null:c,a):d},a.target=function(b){return arguments.length?(e=b,c="function"==typeof b?null:b,a):e},a.precision=function(){return arguments.length?a:0},a},bg.geo.interpolate=function(a,b){return tc(a[0]*Jg,a[1]*Jg,b[0]*Jg,b[1]*Jg)},bg.geo.length=function(a){return Rh=0,bg.geo.stream(a,Sh),Rh};var Rh,Sh={sphere:v,point:v,lineStart:uc,lineEnd:v,polygonStart:v,polygonEnd:v},Th=vc(function(a){return Math.sqrt(2/(1+a))},function(a){return 2*Math.asin(a/2)});(bg.geo.azimuthalEqualArea=function(){return ec(Th)}).raw=Th;var Uh=vc(function(a){var b=Math.acos(a);return b&&b/Math.sin(b)},s);(bg.geo.azimuthalEquidistant=function(){return ec(Uh)}).raw=Uh,(bg.geo.conicConformal=function(){return Rb(wc)}).raw=wc,(bg.geo.conicEquidistant=function(){return Rb(xc)}).raw=xc;var Vh=vc(function(a){return 1/a},Math.atan);(bg.geo.gnomonic=function(){return ec(Vh)}).raw=Vh,yc.invert=function(a,b){return[a,2*Math.atan(Math.exp(b))-Ig]},(bg.geo.mercator=function(){return zc(yc)}).raw=yc;var Wh=vc(function(){return 1},Math.asin);(bg.geo.orthographic=function(){return ec(Wh)}).raw=Wh;var Xh=vc(function(a){return 1/(1+a)},function(a){return 2*Math.atan(a)});(bg.geo.stereographic=function(){return ec(Xh)}).raw=Xh,Ac.invert=function(a,b){return[-b,2*Math.atan(Math.exp(a))-Ig]},(bg.geo.transverseMercator=function(){var a=zc(Ac),b=a.center,c=a.rotate;return a.center=function(a){return a?b([-a[1],a[0]]):(a=b(),[a[1],-a[0]])},a.rotate=function(a){return a?c([a[0],a[1],a.length>2?a[2]+90:90]):(a=c(),[a[0],a[1],a[2]-90])},c([0,0,90])}).raw=Ac,bg.geom={},bg.geom.hull=function(a){function b(a){if(a.length<3)return[];var b,e=Aa(c),f=Aa(d),g=a.length,h=[],i=[];for(b=0;g>b;b++)h.push([+e.call(this,a[b],b),+f.call(this,a[b],b),b]);for(h.sort(Ec),b=0;g>b;b++)i.push([h[b][0],-h[b][1]]);var j=Dc(h),k=Dc(i),l=k[0]===j[0],m=k[k.length-1]===j[j.length-1],n=[];for(b=j.length-1;b>=0;--b)n.push(a[h[j[b]][2]]);for(b=+l;b=d&&j.x<=f&&j.y>=e&&j.y<=g?[[d,g],[f,g],[f,e],[d,e]]:[];k.point=a[h]}),b}function c(a){return a.map(function(a,b){return{x:Math.round(f(a,b)/Dg)*Dg,y:Math.round(g(a,b)/Dg)*Dg,i:b}})}var d=Bc,e=Cc,f=d,g=e,h=ei;return a?b(a):(b.links=function(a){return fd(c(a)).edges.filter(function(a){return a.l&&a.r}).map(function(b){return{source:a[b.l.i],target:a[b.r.i]}})},b.triangles=function(a){var b=[];return fd(c(a)).cells.forEach(function(c,d){for(var e,f,g=c.site,h=c.edges.sort(Rc),i=-1,j=h.length,k=h[j-1].edge,l=k.l===g?k.r:k.l;++i=j,m=d>=k,n=m<<1|l;a.leaf=!1,a=a.nodes[n]||(a.nodes[n]=kd()),l?e=j:h=j,m?g=k:i=k,f(a,b,c,d,e,g,h,i)}var k,l,m,n,o,p,q,r,s,t=Aa(h),u=Aa(i);if(null!=b)p=b,q=c,r=d,s=e;else if(r=s=-(p=q=1/0),l=[],m=[],o=a.length,g)for(n=0;o>n;++n)k=a[n],k.xr&&(r=k.x),k.y>s&&(s=k.y),l.push(k.x),m.push(k.y);else for(n=0;o>n;++n){var v=+t(k=a[n],n),w=+u(k,n);p>v&&(p=v),q>w&&(q=w),v>r&&(r=v),w>s&&(s=w),l.push(v),m.push(w)}var x=r-p,y=s-q;x>y?s=q+x:r=p+y;var z=kd();if(z.add=function(a){f(z,a,+t(a,++n),+u(a,n),p,q,r,s)},z.visit=function(a){ld(a,z,p,q,r,s)},z.find=function(a){return md(z,a[0],a[1],p,q,r,s)},n=-1,null==b){for(;++n=0?a.slice(0,b):a,d=b>=0?a.slice(b+1):"in";return c=ii.get(c)||hi,d=ji.get(d)||s,td(d(c.apply(null,cg.call(arguments,1))))},bg.interpolateHcl=Gd,bg.interpolateHsl=Hd,bg.interpolateLab=Id,bg.interpolateRound=Jd,bg.transform=function(a){var b=eg.createElementNS(bg.ns.prefix.svg,"g");return(bg.transform=function(a){if(null!=a){b.setAttribute("transform",a);var c=b.transform.baseVal.consolidate()}return new Kd(c?c.matrix:ki)})(a)},Kd.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ki={a:1,b:0,c:0,d:1,e:0,f:0};bg.interpolateTransform=Od,bg.layout={},bg.layout.bundle=function(){return function(a){for(var b=[],c=-1,d=a.length;++ch*h/q){if(o>i){var j=b.charge/i;a.px-=f*j,a.py-=g*j}return!0}if(b.point&&i&&o>i){var j=b.pointCharge/i;a.px-=f*j,a.py-=g*j}}return!b.charge}}function b(a){a.px=bg.event.x,a.py=bg.event.y,h.resume()}var c,d,e,f,g,h={},i=bg.dispatch("start","tick","end"),j=[1,1],k=.9,l=li,m=mi,n=-30,o=ni,p=.1,q=.64,r=[],t=[];return h.tick=function(){if((d*=.99)<.005)return i.end({type:"end",alpha:d=0}),!0;var b,c,h,l,m,o,q,s,u,v=r.length,w=t.length;for(c=0;w>c;++c)h=t[c],l=h.source,m=h.target,s=m.x-l.x,u=m.y-l.y,(o=s*s+u*u)&&(o=d*f[c]*((o=Math.sqrt(o))-e[c])/o,s*=o,u*=o,m.x-=s*(q=l.weight/(m.weight+l.weight)),m.y-=u*q,l.x+=s*(q=1-q),l.y+=u*q);if((q=d*p)&&(s=j[0]/2,u=j[1]/2,c=-1,q))for(;++c0?a:0:a>0&&(i.start({type:"start",alpha:d=a}),bg.timer(h.tick)),h):d},h.start=function(){function a(a,d){if(!c){for(c=new Array(i),h=0;i>h;++h)c[h]=[];for(h=0;k>h;++h){var e=t[h];c[e.source.index].push(e.target),c[e.target.index].push(e.source)}}for(var f,g=c[b],h=-1,j=g.length;++hb;++b)(d=r[b]).index=b,d.weight=0;for(b=0;k>b;++b)d=t[b],"number"==typeof d.source&&(d.source=r[d.source]),"number"==typeof d.target&&(d.target=r[d.target]),++d.source.weight,++d.target.weight;for(b=0;i>b;++b)d=r[b],isNaN(d.x)&&(d.x=a("x",o)),isNaN(d.y)&&(d.y=a("y",p)),isNaN(d.px)&&(d.px=d.x),isNaN(d.py)&&(d.py=d.y);if(e=[],"function"==typeof l)for(b=0;k>b;++b)e[b]=+l.call(this,t[b],b);else for(b=0;k>b;++b)e[b]=l;if(f=[],"function"==typeof m)for(b=0;k>b;++b)f[b]=+m.call(this,t[b],b);else for(b=0;k>b;++b)f[b]=m;if(g=[],"function"==typeof n)for(b=0;i>b;++b)g[b]=+n.call(this,r[b],b);else for(b=0;i>b;++b)g[b]=n;return h.resume()},h.resume=function(){return h.alpha(.1)},h.stop=function(){return h.alpha(0)},h.drag=function(){return c||(c=bg.behavior.drag().origin(s).on("dragstart.force",Ud).on("drag.force",b).on("dragend.force",Vd)),arguments.length?void this.on("mouseover.force",Wd).on("mouseout.force",Xd).call(c):c},bg.rebind(h,i,"on")};var li=20,mi=1,ni=1/0;bg.layout.hierarchy=function(){function a(e){var f,g=[e],h=[];for(e.depth=0;null!=(f=g.pop());)if(h.push(f),(j=c.call(a,f,f.depth))&&(i=j.length)){for(var i,j,k;--i>=0;)g.push(k=j[i]),k.parent=f,k.depth=f.depth+1;d&&(f.value=0),f.children=j}else d&&(f.value=+d.call(a,f,f.depth)||0),delete f.children;return _d(e,function(a){var c,e;b&&(c=a.children)&&c.sort(b),d&&(e=a.parent)&&(e.value+=a.value)}),h}var b=ce,c=ae,d=be;return a.sort=function(c){return arguments.length?(b=c,a):b},a.children=function(b){return arguments.length?(c=b,a):c},a.value=function(b){return arguments.length?(d=b,a):d},a.revalue=function(b){return d&&($d(b,function(a){a.children&&(a.value=0)}),_d(b,function(b){var c;b.children||(b.value=+d.call(a,b,b.depth)||0),(c=b.parent)&&(c.value+=b.value)})),b},a},bg.layout.partition=function(){function a(b,c,d,e){var f=b.children;if(b.x=c,b.y=b.depth*e,b.dx=d,b.dy=e,f&&(g=f.length)){var g,h,i,j=-1;for(d=b.value?d/b.value:0;++jl?-1:1),o=(l-i*n)/bg.sum(j),p=bg.range(i),q=[];return null!=c&&p.sort(c===oi?function(a,b){return j[b]-j[a]}:function(a,b){return c(g[a],g[b])}),p.forEach(function(a){q[a]={data:g[a],value:h=j[a],startAngle:k,endAngle:k+=h*o+n,padAngle:m}}),q}var b=Number,c=oi,d=0,e=Gg,f=0;return a.value=function(c){return arguments.length?(b=c,a):b},a.sort=function(b){return arguments.length?(c=b,a):c},a.startAngle=function(b){return arguments.length?(d=b,a):d},a.endAngle=function(b){return arguments.length?(e=b,a):e},a.padAngle=function(b){return arguments.length?(f=b,a):f},a};var oi={};bg.layout.stack=function(){function a(h,i){if(!(m=h.length))return h;var j=h.map(function(c,d){return b.call(a,c,d)}),k=j.map(function(b){return b.map(function(b,c){return[f.call(a,b,c),g.call(a,b,c)]})}),l=c.call(a,k,i);j=bg.permute(j,l),k=bg.permute(k,l);var m,n,o,p,q=d.call(a,k,i),r=j[0].length;for(o=0;r>o;++o)for(e.call(a,j[0][o],p=q[o],k[0][o][1]),n=1;m>n;++n)e.call(a,j[n][o],p+=k[n-1][o][1],k[n][o][1]);return h}var b=s,c=he,d=ie,e=ge,f=ee,g=fe;return a.values=function(c){return arguments.length?(b=c,a):b},a.order=function(b){return arguments.length?(c="function"==typeof b?b:pi.get(b)||he,a):c},a.offset=function(b){return arguments.length?(d="function"==typeof b?b:qi.get(b)||ie,a):d},a.x=function(b){return arguments.length?(f=b,a):f},a.y=function(b){return arguments.length?(g=b,a):g},a.out=function(b){return arguments.length?(e=b,a):e},a};var pi=bg.map({"inside-out":function(a){var b,c,d=a.length,e=a.map(je),f=a.map(ke),g=bg.range(d).sort(function(a,b){return e[a]-e[b]}),h=0,i=0,j=[],k=[];for(b=0;d>b;++b)c=g[b],i>h?(h+=f[c],j.push(c)):(i+=f[c],k.push(c));return k.reverse().concat(j)},reverse:function(a){return bg.range(a.length).reverse()},"default":he}),qi=bg.map({silhouette:function(a){var b,c,d,e=a.length,f=a[0].length,g=[],h=0,i=[];for(c=0;f>c;++c){for(b=0,d=0;e>b;b++)d+=a[b][c][1];d>h&&(h=d),g.push(d)}for(c=0;f>c;++c)i[c]=(h-g[c])/2;return i},wiggle:function(a){var b,c,d,e,f,g,h,i,j,k=a.length,l=a[0],m=l.length,n=[];for(n[0]=i=j=0,c=1;m>c;++c){for(b=0,e=0;k>b;++b)e+=a[b][c][1];for(b=0,f=0,h=l[c][0]-l[c-1][0];k>b;++b){for(d=0,g=(a[b][c][1]-a[b][c-1][1])/(2*h);b>d;++d)g+=(a[d][c][1]-a[d][c-1][1])/h;f+=g*a[b][c][1]}n[c]=i-=e?f/e*h:0,j>i&&(j=i)}for(c=0;m>c;++c)n[c]-=j;return n},expand:function(a){var b,c,d,e=a.length,f=a[0].length,g=1/e,h=[];for(c=0;f>c;++c){for(b=0,d=0;e>b;b++)d+=a[b][c][1];if(d)for(b=0;e>b;b++)a[b][c][1]/=d;else for(b=0;e>b;b++)a[b][c][1]=g}for(c=0;f>c;++c)h[c]=0;return h},zero:ie});bg.layout.histogram=function(){function a(a,f){for(var g,h,i=[],j=a.map(c,this),k=d.call(this,j,f),l=e.call(this,k,j,f),f=-1,m=j.length,n=l.length-1,o=b?1:1/m;++f0)for(f=-1;++f=k[0]&&h<=k[1]&&(g=i[bg.bisect(l,h,1,n)-1],g.y+=o,g.push(a[f]));return i}var b=!0,c=Number,d=oe,e=me;return a.value=function(b){return arguments.length?(c=b,a):c},a.range=function(b){return arguments.length?(d=Aa(b),a):d},a.bins=function(b){return arguments.length?(e="number"==typeof b?function(a){return ne(a,b)}:Aa(b),a):e},a.frequency=function(c){return arguments.length?(b=!!c,a):b},a},bg.layout.pack=function(){function a(a,f){var g=c.call(this,a,f),h=g[0],i=e[0],j=e[1],k=null==b?Math.sqrt:"function"==typeof b?b:function(){return b};if(h.x=h.y=0,_d(h,function(a){a.r=+k(a.value)}),_d(h,te),d){var l=d*(b?1:Math.max(2*h.r/i,2*h.r/j))/2;_d(h,function(a){a.r+=l}),_d(h,te),_d(h,function(a){a.r-=l})}return we(h,i/2,j/2,b?1:1/Math.max(2*h.r/i,2*h.r/j)),g}var b,c=bg.layout.hierarchy().sort(pe),d=0,e=[1,1];return a.size=function(b){return arguments.length?(e=b,a):e},a.radius=function(c){return arguments.length?(b=null==c||"function"==typeof c?c:+c,a):b},a.padding=function(b){return arguments.length?(d=+b,a):d},Zd(a,c)},bg.layout.tree=function(){function a(a,e){var k=g.call(this,a,e),l=k[0],m=b(l);if(_d(m,c),m.parent.m=-m.z,$d(m,d),j)$d(l,f);else{var n=l,o=l,p=l;$d(l,function(a){a.xo.x&&(o=a),a.depth>p.depth&&(p=a)});var q=h(n,o)/2-n.x,r=i[0]/(o.x+h(o,n)/2+q),s=i[1]/(p.depth||1);$d(l,function(a){a.x=(a.x+q)*r,a.y=a.depth*s})}return k}function b(a){for(var b,c={A:null,children:[a]},d=[c];null!=(b=d.pop());)for(var e,f=b.children,g=0,h=f.length;h>g;++g)d.push((f[g]=e={_:f[g],parent:b,children:(e=f[g].children)&&e.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:g}).a=e);return c.children[0]}function c(a){var b=a.children,c=a.parent.children,d=a.i?c[a.i-1]:null;if(b.length){Ce(a);var f=(b[0].z+b[b.length-1].z)/2;d?(a.z=d.z+h(a._,d._),a.m=a.z-f):a.z=f}else d&&(a.z=d.z+h(a._,d._));a.parent.A=e(a,d,a.parent.A||c[0])}function d(a){a._.x=a.z+a.parent.m,a.m+=a.parent.m}function e(a,b,c){if(b){for(var d,e=a,f=a,g=b,i=e.parent.children[0],j=e.m,k=f.m,l=g.m,m=i.m;g=Ae(g),e=ze(e),g&&e;)i=ze(i),f=Ae(f),f.a=a,d=g.z+l-e.z-j+h(g._,e._),d>0&&(Be(De(g,a,c),a,d),j+=d,k+=d),l+=g.m,j+=e.m,m+=i.m,k+=f.m;g&&!Ae(f)&&(f.t=g,f.m+=l-k),e&&!ze(i)&&(i.t=e,i.m+=j-m,c=a)}return c}function f(a){a.x*=i[0],a.y=a.depth*i[1]}var g=bg.layout.hierarchy().sort(null).value(null),h=ye,i=[1,1],j=null;return a.separation=function(b){return arguments.length?(h=b,a):h},a.size=function(b){return arguments.length?(j=null==(i=b)?f:null,a):j?null:i},a.nodeSize=function(b){return arguments.length?(j=null==(i=b)?null:f,a):j?i:null},Zd(a,g)},bg.layout.cluster=function(){function a(a,f){var g,h=b.call(this,a,f),i=h[0],j=0;_d(i,function(a){var b=a.children;b&&b.length?(a.x=Fe(b),a.y=Ee(b)):(a.x=g?j+=c(a,g):0,a.y=0,g=a)});var k=Ge(i),l=He(i),m=k.x-c(k,l)/2,n=l.x+c(l,k)/2;return _d(i,e?function(a){a.x=(a.x-i.x)*d[0],a.y=(i.y-a.y)*d[1]}:function(a){a.x=(a.x-m)/(n-m)*d[0],a.y=(1-(i.y?a.y/i.y:1))*d[1]}),h}var b=bg.layout.hierarchy().sort(null).value(null),c=ye,d=[1,1],e=!1;return a.separation=function(b){return arguments.length?(c=b,a):c},a.size=function(b){return arguments.length?(e=null==(d=b),a):e?null:d},a.nodeSize=function(b){return arguments.length?(e=null!=(d=b),a):e?d:null},Zd(a,b)},bg.layout.treemap=function(){function a(a,b){for(var c,d,e=-1,f=a.length;++eb?0:b),c.area=isNaN(d)||0>=d?0:d}function b(c){var f=c.children;if(f&&f.length){var g,h,i,j=l(c),k=[],m=f.slice(),o=1/0,p="slice"===n?j.dx:"dice"===n?j.dy:"slice-dice"===n?1&c.depth?j.dy:j.dx:Math.min(j.dx,j.dy);for(a(m,j.dx*j.dy/c.value),k.area=0;(i=m.length)>0;)k.push(g=m[i-1]),k.area+=g.area,"squarify"!==n||(h=d(k,p))<=o?(m.pop(),o=h):(k.area-=k.pop().area,e(k,p,j,!1),p=Math.min(j.dx,j.dy),k.length=k.area=0,o=1/0);k.length&&(e(k,p,j,!0),k.length=k.area=0),f.forEach(b)}}function c(b){var d=b.children;if(d&&d.length){var f,g=l(b),h=d.slice(),i=[];for(a(h,g.dx*g.dy/b.value),i.area=0;f=h.pop();)i.push(f),i.area+=f.area,null!=f.z&&(e(i,f.z?g.dx:g.dy,g,!h.length),i.length=i.area=0);d.forEach(c)}}function d(a,b){for(var c,d=a.area,e=0,f=1/0,g=-1,h=a.length;++gc&&(f=c),c>e&&(e=c));return d*=d,b*=b,d?Math.max(b*e*o/d,d/(b*f*o)):1/0}function e(a,b,c,d){var e,f=-1,g=a.length,h=c.x,j=c.y,k=b?i(a.area/b):0;if(b==c.dx){for((d||k>c.dy)&&(k=c.dy);++fc.dx)&&(k=c.dx);++fc&&(b=1),1>c&&(a=0),function(){var c,d,e;do c=2*Math.random()-1,d=2*Math.random()-1,e=c*c+d*d;while(!e||e>1);return a+b*c*Math.sqrt(-2*Math.log(e)/e)}},logNormal:function(){var a=bg.random.normal.apply(bg,arguments);return function(){return Math.exp(a())}},bates:function(a){var b=bg.random.irwinHall(a);return function(){return b()/a}},irwinHall:function(a){return function(){for(var b=0,c=0;a>c;c++)b+=Math.random();return b}}},bg.scale={};var ri={floor:s,ceil:s};bg.scale.linear=function(){return Qe([0,1],[0,1],rd,!1)};var si={s:1,g:1,p:1,r:1,e:1};bg.scale.log=function(){return Ye(bg.scale.linear().domain([0,1]),10,!0,[1,10])};var ti=bg.format(".0e"),ui={floor:function(a){return-Math.ceil(-a)},ceil:function(a){return-Math.floor(-a)}};bg.scale.pow=function(){return Ze(bg.scale.linear(),1,[0,1])},bg.scale.sqrt=function(){return bg.scale.pow().exponent(.5)},bg.scale.ordinal=function(){return _e([],{t:"range",a:[[]]})},bg.scale.category10=function(){return bg.scale.ordinal().range(vi)},bg.scale.category20=function(){return bg.scale.ordinal().range(wi)},bg.scale.category20b=function(){return bg.scale.ordinal().range(xi)},bg.scale.category20c=function(){return bg.scale.ordinal().range(yi)};var vi=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ta),wi=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ta),xi=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ta),yi=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ta);bg.scale.quantile=function(){return af([],[])},bg.scale.quantize=function(){return bf(0,1,[0,1])},bg.scale.threshold=function(){return cf([.5],[0,1])},bg.scale.identity=function(){return df([0,1])},bg.svg={},bg.svg.arc=function(){function a(){var a=Math.max(0,+c.apply(this,arguments)),j=Math.max(0,+d.apply(this,arguments)),k=g.apply(this,arguments)-Ig,l=h.apply(this,arguments)-Ig,m=Math.abs(l-k),n=k>l?0:1;if(a>j&&(o=j,j=a,a=o),m>=Hg)return b(j,n)+(a?b(a,1-n):"")+"Z";var o,p,q,r,s,t,u,v,w,x,y,z,A=0,B=0,C=[];if((r=(+i.apply(this,arguments)||0)/2)&&(q=f===zi?Math.sqrt(a*a+j*j):+f.apply(this,arguments),n||(B*=-1),j&&(B=ba(q/j*Math.sin(r))),a&&(A=ba(q/a*Math.sin(r)))),j){s=j*Math.cos(k+B),t=j*Math.sin(k+B),u=j*Math.cos(l-B),v=j*Math.sin(l-B);var D=Math.abs(l-k-2*B)<=Fg?0:1;if(B&&lf(s,t,u,v)===n^D){var E=(k+l)/2;s=j*Math.cos(E),t=j*Math.sin(E),u=v=null}}else s=t=0;if(a){w=a*Math.cos(l-A),x=a*Math.sin(l-A),y=a*Math.cos(k+A),z=a*Math.sin(k+A);var F=Math.abs(k-l+2*A)<=Fg?0:1;if(A&&lf(w,x,y,z)===1-n^F){var G=(k+l)/2;w=a*Math.cos(G),x=a*Math.sin(G),y=z=null}}else w=x=0;if((o=Math.min(Math.abs(j-a)/2,+e.apply(this,arguments)))>.001){p=j>a^n?0:1;var H=null==y?[w,x]:null==u?[s,t]:Gc([s,t],[y,z],[u,v],[w,x]),I=s-H[0],J=t-H[1],K=u-H[0],L=v-H[1],M=1/Math.sin(Math.acos((I*K+J*L)/(Math.sqrt(I*I+J*J)*Math.sqrt(K*K+L*L)))/2),N=Math.sqrt(H[0]*H[0]+H[1]*H[1]);if(null!=u){var O=Math.min(o,(j-N)/(M+1)),P=mf(null==y?[w,x]:[y,z],[s,t],j,O,n),Q=mf([u,v],[w,x],j,O,n);o===O?C.push("M",P[0],"A",O,",",O," 0 0,",p," ",P[1],"A",j,",",j," 0 ",1-n^lf(P[1][0],P[1][1],Q[1][0],Q[1][1]),",",n," ",Q[1],"A",O,",",O," 0 0,",p," ",Q[0]):C.push("M",P[0],"A",O,",",O," 0 1,",p," ",Q[0])}else C.push("M",s,",",t);if(null!=y){var R=Math.min(o,(a-N)/(M-1)),S=mf([s,t],[y,z],a,-R,n),T=mf([w,x],null==u?[s,t]:[u,v],a,-R,n);o===R?C.push("L",T[0],"A",R,",",R," 0 0,",p," ",T[1],"A",a,",",a," 0 ",n^lf(T[1][0],T[1][1],S[1][0],S[1][1]),",",1-n," ",S[1],"A",R,",",R," 0 0,",p," ",S[0]):C.push("L",T[0],"A",R,",",R," 0 0,",p," ",S[0])}else C.push("L",w,",",x)}else C.push("M",s,",",t),null!=u&&C.push("A",j,",",j," 0 ",D,",",n," ",u,",",v),C.push("L",w,",",x),null!=y&&C.push("A",a,",",a," 0 ",F,",",1-n," ",y,",",z);return C.push("Z"),C.join("")}function b(a,b){return"M0,"+a+"A"+a+","+a+" 0 1,"+b+" 0,"+-a+"A"+a+","+a+" 0 1,"+b+" 0,"+a}var c=ff,d=gf,e=ef,f=zi,g=hf,h=jf,i=kf;return a.innerRadius=function(b){return arguments.length?(c=Aa(b),a):c},a.outerRadius=function(b){return arguments.length?(d=Aa(b),a):d},a.cornerRadius=function(b){return arguments.length?(e=Aa(b),a):e},a.padRadius=function(b){return arguments.length?(f=b==zi?zi:Aa(b),a):f},a.startAngle=function(b){return arguments.length?(g=Aa(b),a):g},a.endAngle=function(b){return arguments.length?(h=Aa(b),a):h},a.padAngle=function(b){return arguments.length?(i=Aa(b),a):i},a.centroid=function(){var a=(+c.apply(this,arguments)+ +d.apply(this,arguments))/2,b=(+g.apply(this,arguments)+ +h.apply(this,arguments))/2-Ig;return[Math.cos(b)*a,Math.sin(b)*a]},a};var zi="auto";bg.svg.line=function(){return nf(s)};var Ai=bg.map({linear:of,"linear-closed":pf,step:qf,"step-before":rf,"step-after":sf,basis:yf,"basis-open":zf,"basis-closed":Af,bundle:Bf,cardinal:vf,"cardinal-open":tf,"cardinal-closed":uf,monotone:Hf});Ai.forEach(function(a,b){b.key=a,b.closed=/-closed$/.test(a)});var Bi=[0,2/3,1/3,0],Ci=[0,1/3,2/3,0],Di=[0,1/6,2/3,1/6];bg.svg.line.radial=function(){var a=nf(If);return a.radius=a.x,delete a.x,a.angle=a.y,delete a.y,a},rf.reverse=sf,sf.reverse=rf,bg.svg.area=function(){return Jf(s)},bg.svg.area.radial=function(){var a=Jf(If);return a.radius=a.x,delete a.x,a.innerRadius=a.x0,delete a.x0,a.outerRadius=a.x1,delete a.x1,a.angle=a.y,delete a.y,a.startAngle=a.y0,delete a.y0,a.endAngle=a.y1,delete a.y1,a},bg.svg.chord=function(){function a(a,h){var i=b(this,f,a,h),j=b(this,g,a,h);return"M"+i.p0+d(i.r,i.p1,i.a1-i.a0)+(c(i,j)?e(i.r,i.p1,i.r,i.p0):e(i.r,i.p1,j.r,j.p0)+d(j.r,j.p1,j.a1-j.a0)+e(j.r,j.p1,i.r,i.p0))+"Z"}function b(a,b,c,d){var e=b.call(a,c,d),f=h.call(a,e,d),g=i.call(a,e,d)-Ig,k=j.call(a,e,d)-Ig;return{r:f,a0:g,a1:k,p0:[f*Math.cos(g),f*Math.sin(g)],p1:[f*Math.cos(k),f*Math.sin(k)]}}function c(a,b){return a.a0==b.a0&&a.a1==b.a1}function d(a,b,c){return"A"+a+","+a+" 0 "+ +(c>Fg)+",1 "+b}function e(a,b,c,d){return"Q 0,0 "+d}var f=rc,g=sc,h=Kf,i=hf,j=jf;return a.radius=function(b){return arguments.length?(h=Aa(b),a):h},a.source=function(b){return arguments.length?(f=Aa(b),a):f},a.target=function(b){return arguments.length?(g=Aa(b),a):g},a.startAngle=function(b){return arguments.length?(i=Aa(b),a):i},a.endAngle=function(b){return arguments.length?(j=Aa(b),a):j},a},bg.svg.diagonal=function(){function a(a,e){var f=b.call(this,a,e),g=c.call(this,a,e),h=(f.y+g.y)/2,i=[f,{x:f.x,y:h},{x:g.x,y:h},g];return i=i.map(d),"M"+i[0]+"C"+i[1]+" "+i[2]+" "+i[3]}var b=rc,c=sc,d=Lf;return a.source=function(c){return arguments.length?(b=Aa(c),a):b},a.target=function(b){return arguments.length?(c=Aa(b),a):c},a.projection=function(b){return arguments.length?(d=b,a):d},a},bg.svg.diagonal.radial=function(){var a=bg.svg.diagonal(),b=Lf,c=a.projection;return a.projection=function(a){return arguments.length?c(Mf(b=a)):b},a},bg.svg.symbol=function(){function a(a,d){return(Ei.get(b.call(this,a,d))||Pf)(c.call(this,a,d))}var b=Of,c=Nf;return a.type=function(c){return arguments.length?(b=Aa(c),a):b},a.size=function(b){return arguments.length?(c=Aa(b),a):c},a};var Ei=bg.map({circle:Pf,cross:function(a){var b=Math.sqrt(a/5)/2;return"M"+-3*b+","+-b+"H"+-b+"V"+-3*b+"H"+b+"V"+-b+"H"+3*b+"V"+b+"H"+b+"V"+3*b+"H"+-b+"V"+b+"H"+-3*b+"Z"},diamond:function(a){var b=Math.sqrt(a/(2*Gi)),c=b*Gi;return"M0,"+-b+"L"+c+",0 0,"+b+" "+-c+",0Z"},square:function(a){var b=Math.sqrt(a)/2;return"M"+-b+","+-b+"L"+b+","+-b+" "+b+","+b+" "+-b+","+b+"Z"},"triangle-down":function(a){var b=Math.sqrt(a/Fi),c=b*Fi/2;return"M0,"+c+"L"+b+","+-c+" "+-b+","+-c+"Z"},"triangle-up":function(a){var b=Math.sqrt(a/Fi),c=b*Fi/2;return"M0,"+-c+"L"+b+","+c+" "+-b+","+c+"Z"}});bg.svg.symbolTypes=Ei.keys();var Fi=Math.sqrt(3),Gi=Math.tan(30*Jg);wg.transition=function(a){for(var b,c,d=Hi||++Li,e=Uf(a),f=[],g=Ii||{time:Date.now(),ease:yd,delay:0,duration:250},h=-1,i=this.length;++hf;f++){e.push(b=[]);for(var c=this[f],h=0,i=c.length;i>h;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return Rf(e,this.namespace,this.id)},Ki.tween=function(a,b){var c=this.id,d=this.namespace;return arguments.length<2?this.node()[d][c].tween.get(a):R(this,null==b?function(b){b[d][c].tween.remove(a)}:function(e){e[d][c].tween.set(a,b)})},Ki.attr=function(a,b){function c(){this.removeAttribute(h)}function d(){this.removeAttributeNS(h.space,h.local)}function e(a){return null==a?c:(a+="",function(){var b,c=this.getAttribute(h);return c!==a&&(b=g(c,a),function(a){this.setAttribute(h,b(a))})})}function f(a){return null==a?d:(a+="",function(){var b,c=this.getAttributeNS(h.space,h.local);return c!==a&&(b=g(c,a),function(a){this.setAttributeNS(h.space,h.local,b(a))})})}if(arguments.length<2){for(b in a)this.attr(b,a[b]);return this}var g="transform"==a?Od:rd,h=bg.ns.qualify(a);return Sf(this,"attr."+a,b,h.local?f:e)},Ki.attrTween=function(a,b){function c(a,c){var d=b.call(this,a,c,this.getAttribute(e));return d&&function(a){this.setAttribute(e,d(a))}}function d(a,c){var d=b.call(this,a,c,this.getAttributeNS(e.space,e.local));return d&&function(a){this.setAttributeNS(e.space,e.local,d(a))}}var e=bg.ns.qualify(a);return this.tween("attr."+a,e.local?d:c)},Ki.style=function(a,c,d){function e(){this.style.removeProperty(a)}function f(c){return null==c?e:(c+="",function(){var e,f=b(this).getComputedStyle(this,null).getPropertyValue(a);return f!==c&&(e=rd(f,c),function(b){this.style.setProperty(a,e(b),d)})})}var g=arguments.length;if(3>g){if("string"!=typeof a){2>g&&(c="");for(d in a)this.style(d,a[d],c);return this}d=""}return Sf(this,"style."+a,c,f)},Ki.styleTween=function(a,c,d){function e(e,f){var g=c.call(this,e,f,b(this).getComputedStyle(this,null).getPropertyValue(a));return g&&function(b){this.style.setProperty(a,g(b),d)}}return arguments.length<3&&(d=""),this.tween("style."+a,e)},Ki.text=function(a){return Sf(this,"text",a,Tf)},Ki.remove=function(){var a=this.namespace;return this.each("end.transition",function(){var b;this[a].count<2&&(b=this.parentNode)&&b.removeChild(this)})},Ki.ease=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].ease:("function"!=typeof a&&(a=bg.ease.apply(bg,arguments)),R(this,function(d){d[c][b].ease=a}))},Ki.delay=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].delay:R(this,"function"==typeof a?function(d,e,f){d[c][b].delay=+a.call(d,d.__data__,e,f)}:(a=+a,function(d){d[c][b].delay=a}))},Ki.duration=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].duration:R(this,"function"==typeof a?function(d,e,f){d[c][b].duration=Math.max(1,a.call(d,d.__data__,e,f))}:(a=Math.max(1,a),function(d){d[c][b].duration=a}))},Ki.each=function(a,b){var c=this.id,d=this.namespace;if(arguments.length<2){var e=Ii,f=Hi;try{Hi=c,R(this,function(b,e,f){Ii=b[d][c],a.call(b,b.__data__,e,f)})}finally{Ii=e,Hi=f}}else R(this,function(e){var f=e[d][c];(f.event||(f.event=bg.dispatch("start","end","interrupt"))).on(a,b)});return this},Ki.transition=function(){for(var a,b,c,d,e=this.id,f=++Li,g=this.namespace,h=[],i=0,j=this.length;j>i;i++){h.push(a=[]);for(var b=this[i],k=0,l=b.length;l>k;k++)(c=b[k])&&(d=c[g][e],Vf(c,k,g,f,{time:d.time,ease:d.ease,delay:d.delay+d.duration,duration:d.duration})),a.push(c)}return Rf(h,g,f)},bg.svg.axis=function(){function a(a){a.each(function(){var a,j=bg.select(this),k=this.__chart__||c,l=this.__chart__=c.copy(),m=null==i?l.ticks?l.ticks.apply(l,h):l.domain():i,n=null==b?l.tickFormat?l.tickFormat.apply(l,h):s:b,o=j.selectAll(".tick").data(m,l),p=o.enter().insert("g",".domain").attr("class","tick").style("opacity",Dg),q=bg.transition(o.exit()).style("opacity",Dg).remove(),r=bg.transition(o.order()).style("opacity",1),t=Math.max(e,0)+g,u=Le(l),v=j.selectAll(".domain").data([0]),w=(v.enter().append("path").attr("class","domain"),bg.transition(v));p.append("line"),p.append("text");var x,y,z,A,B=p.select("line"),C=r.select("line"),D=o.select("text").text(n),E=p.select("text"),F=r.select("text"),G="top"===d||"left"===d?-1:1;if("bottom"===d||"top"===d?(a=Wf,x="x",z="y",y="x2",A="y2",D.attr("dy",0>G?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+u[0]+","+G*f+"V0H"+u[1]+"V"+G*f)):(a=Xf,x="y",z="x",y="y2",A="x2",D.attr("dy",".32em").style("text-anchor",0>G?"end":"start"),w.attr("d","M"+G*f+","+u[0]+"H0V"+u[1]+"H"+G*f)),B.attr(A,G*e),E.attr(z,G*t),C.attr(y,0).attr(A,G*e),F.attr(x,0).attr(z,G*t),l.rangeBand){var H=l,I=H.rangeBand()/2;k=l=function(a){return H(a)+I}}else k.rangeBand?k=l:q.call(a,l,k);p.call(a,k,l),r.call(a,l,l)})}var b,c=bg.scale.linear(),d=Mi,e=6,f=6,g=3,h=[10],i=null;return a.scale=function(b){return arguments.length?(c=b,a):c},a.orient=function(b){return arguments.length?(d=b in Ni?b+"":Mi,a):d},a.ticks=function(){return arguments.length?(h=arguments,a):h},a.tickValues=function(b){return arguments.length?(i=b,a):i},a.tickFormat=function(c){return arguments.length?(b=c,a):b},a.tickSize=function(b){var c=arguments.length;return c?(e=+b,f=+arguments[c-1],a):e},a.innerTickSize=function(b){return arguments.length?(e=+b,a):e},a.outerTickSize=function(b){return arguments.length?(f=+b,a):f},a.tickPadding=function(b){return arguments.length?(g=+b,a):g},a.tickSubdivide=function(){return arguments.length&&a},a};var Mi="bottom",Ni={top:1,right:1,bottom:1,left:1};bg.svg.brush=function(){function a(b){b.each(function(){var b=bg.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",f).on("touchstart.brush",f),g=b.selectAll(".background").data([0]);g.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),b.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var h=b.selectAll(".resize").data(p,s);h.exit().remove(),h.enter().append("g").attr("class",function(a){return"resize "+a}).style("cursor",function(a){return Oi[a]}).append("rect").attr("x",function(a){return/[ew]$/.test(a)?-3:null}).attr("y",function(a){return/^[ns]/.test(a)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),h.style("display",a.empty()?"none":null);var i,l=bg.transition(b),m=bg.transition(g);j&&(i=Le(j),m.attr("x",i[0]).attr("width",i[1]-i[0]),d(l)),k&&(i=Le(k),m.attr("y",i[0]).attr("height",i[1]-i[0]),e(l)),c(l)})}function c(a){a.selectAll(".resize").attr("transform",function(a){return"translate("+l[+/e$/.test(a)]+","+m[+/^s/.test(a)]+")"})}function d(a){a.select(".extent").attr("x",l[0]),a.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function e(a){a.select(".extent").attr("y",m[0]),a.selectAll(".extent,.e>rect,.w>rect").attr("height",m[1]-m[0])}function f(){function f(){32==bg.event.keyCode&&(D||(t=null,F[0]-=l[1],F[1]-=m[1],D=2),y())}function p(){32==bg.event.keyCode&&2==D&&(F[0]+=l[1],F[1]+=m[1],D=0,y())}function q(){var a=bg.mouse(v),b=!1;u&&(a[0]+=u[0],a[1]+=u[1]),D||(bg.event.altKey?(t||(t=[(l[0]+l[1])/2,(m[0]+m[1])/2]),F[0]=l[+(a[0]k?(e=d,d=k):e=k),p[0]!=d||p[1]!=e?(c?h=null:g=null,p[0]=d,p[1]=e,!0):void 0}function s(){q(),z.style("pointer-events","all").selectAll(".resize").style("display",a.empty()?"none":null),bg.select("body").style("cursor",null),G.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),E(),x({type:"brushend"})}var t,u,v=this,w=bg.select(bg.event.target),x=i.of(v,arguments),z=bg.select(v),A=w.datum(),B=!/^(n|s)$/.test(A)&&j,C=!/^(e|w)$/.test(A)&&k,D=w.classed("extent"),E=X(v),F=bg.mouse(v),G=bg.select(b(v)).on("keydown.brush",f).on("keyup.brush",p);if(bg.event.changedTouches?G.on("touchmove.brush",q).on("touchend.brush",s):G.on("mousemove.brush",q).on("mouseup.brush",s),z.interrupt().selectAll("*").interrupt(),D)F[0]=l[0]-F[0],F[1]=m[0]-F[1];else if(A){var H=+/w$/.test(A),I=+/^n/.test(A);u=[l[1-H]-F[0],m[1-I]-F[1]],F[0]=l[H],F[1]=m[I]}else bg.event.altKey&&(t=F.slice());z.style("pointer-events","none").selectAll(".resize").style("display",null),bg.select("body").style("cursor",w.style("cursor")),x({type:"brushstart"}),q()}var g,h,i=A(a,"brushstart","brush","brushend"),j=null,k=null,l=[0,0],m=[0,0],n=!0,o=!0,p=Pi[0];return a.event=function(a){a.each(function(){var a=i.of(this,arguments),b={x:l,y:m,i:g,j:h},c=this.__chart__||b;this.__chart__=b,Hi?bg.select(this).transition().each("start.brush",function(){g=c.i,h=c.j,l=c.x,m=c.y,a({type:"brushstart"})}).tween("brush:brush",function(){var c=sd(l,b.x),d=sd(m,b.y);return g=h=null,function(e){l=b.x=c(e),m=b.y=d(e),a({type:"brush",mode:"resize"})}}).each("end.brush",function(){g=b.i,h=b.j,a({type:"brush",mode:"resize"}),a({type:"brushend"})}):(a({type:"brushstart"}),a({type:"brush",mode:"resize"}),a({type:"brushend"}))})},a.x=function(b){return arguments.length?(j=b,p=Pi[!j<<1|!k],a):j},a.y=function(b){return arguments.length?(k=b,p=Pi[!j<<1|!k],a):k},a.clamp=function(b){return arguments.length?(j&&k?(n=!!b[0],o=!!b[1]):j?n=!!b:k&&(o=!!b),a):j&&k?[n,o]:j?n:k?o:null},a.extent=function(b){var c,d,e,f,i;return arguments.length?(j&&(c=b[0],d=b[1],k&&(c=c[0],d=d[0]),g=[c,d],j.invert&&(c=j(c),d=j(d)),c>d&&(i=c,c=d,d=i),(c!=l[0]||d!=l[1])&&(l=[c,d])),k&&(e=b[0],f=b[1],j&&(e=e[1],f=f[1]),h=[e,f],k.invert&&(e=k(e),f=k(f)),e>f&&(i=e,e=f,f=i),(e!=m[0]||f!=m[1])&&(m=[e,f])),a):(j&&(g?(c=g[0],d=g[1]):(c=l[0],d=l[1],j.invert&&(c=j.invert(c),d=j.invert(d)),c>d&&(i=c,c=d,d=i))),k&&(h?(e=h[0],f=h[1]):(e=m[0],f=m[1],k.invert&&(e=k.invert(e),f=k.invert(f)),e>f&&(i=e,e=f,f=i))),j&&k?[[c,e],[d,f]]:j?[c,d]:k&&[e,f])},a.clear=function(){return a.empty()||(l=[0,0],m=[0,0],g=h=null),a},a.empty=function(){return!!j&&l[0]==l[1]||!!k&&m[0]==m[1]},bg.rebind(a,i,"on")};var Oi={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Pi=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Qi=hh.format=nh.timeFormat,Ri=Qi.utc,Si=Ri("%Y-%m-%dT%H:%M:%S.%LZ");Qi.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Yf:Si,Yf.parse=function(a){var b=new Date(a);return isNaN(b)?null:b},Yf.toString=Si.toString,hh.second=Na(function(a){return new ih(1e3*Math.floor(a/1e3))},function(a,b){a.setTime(a.getTime()+1e3*Math.floor(b))},function(a){return a.getSeconds()}),hh.seconds=hh.second.range,hh.seconds.utc=hh.second.utc.range,hh.minute=Na(function(a){return new ih(6e4*Math.floor(a/6e4))},function(a,b){a.setTime(a.getTime()+6e4*Math.floor(b))},function(a){return a.getMinutes()}),hh.minutes=hh.minute.range,hh.minutes.utc=hh.minute.utc.range,hh.hour=Na(function(a){var b=a.getTimezoneOffset()/60;return new ih(36e5*(Math.floor(a/36e5-b)+b))},function(a,b){a.setTime(a.getTime()+36e5*Math.floor(b))},function(a){return a.getHours()}),hh.hours=hh.hour.range,hh.hours.utc=hh.hour.utc.range,hh.month=Na(function(a){return a=hh.day(a),a.setDate(1),a},function(a,b){a.setMonth(a.getMonth()+b)},function(a){return a.getMonth()}),hh.months=hh.month.range,hh.months.utc=hh.month.utc.range;var Ti=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ui=[[hh.second,1],[hh.second,5],[hh.second,15],[hh.second,30],[hh.minute,1],[hh.minute,5],[hh.minute,15],[hh.minute,30],[hh.hour,1],[hh.hour,3],[hh.hour,6],[hh.hour,12],[hh.day,1],[hh.day,2],[hh.week,1],[hh.month,1],[hh.month,3],[hh.year,1]],Vi=Qi.multi([[".%L",function(a){return a.getMilliseconds()}],[":%S",function(a){return a.getSeconds()}],["%I:%M",function(a){return a.getMinutes()}],["%I %p",function(a){return a.getHours()}],["%a %d",function(a){return a.getDay()&&1!=a.getDate()}],["%b %d",function(a){return 1!=a.getDate()}],["%B",function(a){return a.getMonth()}],["%Y",Cb]]),Wi={range:function(a,b,c){return bg.range(Math.ceil(a/c)*c,+b,c).map($f)},floor:s,ceil:s};Ui.year=hh.year,hh.scale=function(){return Zf(bg.scale.linear(),Ui,Vi)};var Xi=Ui.map(function(a){return[a[0].utc,a[1]]}),Yi=Ri.multi([[".%L",function(a){return a.getUTCMilliseconds()}],[":%S",function(a){return a.getUTCSeconds()}],["%I:%M",function(a){return a.getUTCMinutes()}],["%I %p",function(a){return a.getUTCHours()}],["%a %d",function(a){return a.getUTCDay()&&1!=a.getUTCDate()}],["%b %d",function(a){return 1!=a.getUTCDate()}],["%B",function(a){return a.getUTCMonth()}],["%Y",Cb]]);Xi.year=hh.year.utc,hh.scale.utc=function(){return Zf(bg.scale.linear(),Xi,Yi)},bg.text=Ba(function(a){return a.responseText}),bg.json=function(a,b){return Ca(a,"application/json",_f,b)},bg.html=function(a,b){return Ca(a,"text/html",ag,b)},bg.xml=Ba(function(a){return a.responseXML}),"function"==typeof define&&define.amd?define(bg):"object"==typeof module&&module.exports&&(module.exports=bg),this.d3=bg}(); +b):c},b.x1=function(a){return arguments.length?(d=a,b):d},b.y=function(a){return arguments.length?(e=f=a,b):f},b.y0=function(a){return arguments.length?(e=a,b):e},b.y1=function(a){return arguments.length?(f=a,b):f},b.defined=function(a){return arguments.length?(g=a,b):g},b.interpolate=function(a){return arguments.length?(i="function"==typeof a?h=a:(h=Ai.get(a)||of).key,j=h.reverse||h,k=h.closed?"M":"L",b):i},b.tension=function(a){return arguments.length?(l=a,b):l},b}function Kf(a){return a.radius}function Lf(a){return[a.x,a.y]}function Mf(a){return function(){var b=a.apply(this,arguments),c=b[0],d=b[1]-Ig;return[c*Math.cos(d),c*Math.sin(d)]}}function Nf(){return 64}function Of(){return"circle"}function Pf(a){var b=Math.sqrt(a/Fg);return"M0,"+b+"A"+b+","+b+" 0 1,1 0,"+-b+"A"+b+","+b+" 0 1,1 0,"+b+"Z"}function Qf(a){return function(){var b,c;(b=this[a])&&(c=b[b.active])&&(--b.count?delete b[b.active]:delete this[a],b.active+=.5,c.event&&c.event.interrupt.call(this,this.__data__,c.index))}}function Rf(a,b,c){return sg(a,Ki),a.namespace=b,a.id=c,a}function Sf(a,b,c,d){var e=a.id,f=a.namespace;return R(a,"function"==typeof c?function(a,g,h){a[f][e].tween.set(b,d(c.call(a,a.__data__,g,h)))}:(c=d(c),function(a){a[f][e].tween.set(b,c)}))}function Tf(a){return null==a&&(a=""),function(){this.textContent=a}}function Uf(a){return null==a?"__transition__":"__transition_"+a+"__"}function Vf(a,b,c,d,e){var f=a[c]||(a[c]={active:0,count:0}),g=f[d];if(!g){var h=e.time;g=f[d]={tween:new j,time:h,delay:e.delay,duration:e.duration,ease:e.ease,index:b},e=null,++f.count,bg.timer(function(e){function i(c){if(f.active>d)return k();var e=f[f.active];e&&(--f.count,delete f[f.active],e.event&&e.event.interrupt.call(a,a.__data__,e.index)),f.active=d,g.event&&g.event.start.call(a,a.__data__,b),g.tween.forEach(function(c,d){(d=d.call(a,a.__data__,b))&&p.push(d)}),m=g.ease,l=g.duration,bg.timer(function(){return o.c=j(c||1)?Cb:j,1},0,h)}function j(c){if(f.active!==d)return 1;for(var e=c/l,h=m(e),i=p.length;i>0;)p[--i].call(a,h);return e>=1?(g.event&&g.event.end.call(a,a.__data__,b),k()):void 0}function k(){return--f.count?delete f[d]:delete a[c],1}var l,m,n=g.delay,o=ch,p=[];return o.t=n+h,e>=n?i(e-n):void(o.c=i)},0,h)}}function Wf(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate("+(isFinite(d)?d:c(a))+",0)"})}function Xf(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate(0,"+(isFinite(d)?d:c(a))+")"})}function Yf(a){return a.toISOString()}function Zf(a,b,c){function d(b){return a(b)}function e(a,c){var d=a[1]-a[0],e=d/c,f=bg.bisect(Ti,e);return f==Ti.length?[b.year,Te(a.map(function(a){return a/31536e6}),c)[2]]:f?b[e/Ti[f-1]1?{floor:function(b){for(;c(b=a.floor(b));)b=$f(b-1);return b},ceil:function(b){for(;c(b=a.ceil(b));)b=$f(+b+1);return b}}:a))},d.ticks=function(a,b){var c=Ke(d.domain()),f=null==a?e(c,10):"number"==typeof a?e(c,a):!a.range&&[{range:a},b];return f&&(a=f[0],b=f[1]),a.range(c[0],$f(+c[1]+1),1>b?1:b)},d.tickFormat=function(){return c},d.copy=function(){return Zf(a.copy(),b,c)},Re(d,a)}function $f(a){return new Date(a)}function _f(a){return JSON.parse(a.responseText)}function ag(a){var b=eg.createRange();return b.selectNode(eg.body),b.createContextualFragment(a.responseText)}var bg={version:"3.5.6"},cg=[].slice,dg=function(a){return cg.call(a)},eg=this.document;if(eg)try{dg(eg.documentElement.childNodes)[0].nodeType}catch(fg){dg=function(a){for(var b=a.length,c=new Array(b);b--;)c[b]=a[b];return c}}if(Date.now||(Date.now=function(){return+new Date}),eg)try{eg.createElement("DIV").style.setProperty("opacity",0,"")}catch(gg){var hg=this.Element.prototype,ig=hg.setAttribute,jg=hg.setAttributeNS,kg=this.CSSStyleDeclaration.prototype,lg=kg.setProperty;hg.setAttribute=function(a,b){ig.call(this,a,b+"")},hg.setAttributeNS=function(a,b,c){jg.call(this,a,b,c+"")},kg.setProperty=function(a,b,c){lg.call(this,a,b+"",c)}}bg.ascending=c,bg.descending=function(a,b){return a>b?-1:b>a?1:b>=a?0:0/0},bg.min=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e=d){c=d;break}for(;++ed&&(c=d)}else{for(;++e=d){c=d;break}for(;++ed&&(c=d)}return c},bg.max=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e=d){c=d;break}for(;++ec&&(c=d)}else{for(;++e=d){c=d;break}for(;++ec&&(c=d)}return c},bg.extent=function(a,b){var c,d,e,f=-1,g=a.length;if(1===arguments.length){for(;++f=d){c=e=d;break}for(;++fd&&(c=d),d>e&&(e=d))}else{for(;++f=d){c=e=d;break}for(;++fd&&(c=d),d>e&&(e=d))}return[c,e]},bg.sum=function(a,b){var c,d=0,f=a.length,g=-1;if(1===arguments.length)for(;++g1?i/(k-1):void 0},bg.deviation=function(){var a=bg.variance.apply(this,arguments);return a?Math.sqrt(a):a};var mg=f(c);bg.bisectLeft=mg.left,bg.bisect=bg.bisectRight=mg.right,bg.bisector=function(a){return f(1===a.length?function(b,d){return c(a(b),d)}:a)},bg.shuffle=function(a,b,c){(f=arguments.length)<3&&(c=a.length,2>f&&(b=0));for(var d,e,f=c-b;f;)e=Math.random()*f--|0,d=a[f+b],a[f+b]=a[e+b],a[e+b]=d;return a},bg.permute=function(a,b){for(var c=b.length,d=new Array(c);c--;)d[c]=a[b[c]];return d},bg.pairs=function(a){for(var b,c=0,d=a.length-1,e=a[0],f=new Array(0>d?0:d);d>c;)f[c]=[b=e,e=a[++c]];return f},bg.zip=function(){if(!(d=arguments.length))return[];for(var a=-1,b=bg.min(arguments,g),c=new Array(b);++a=0;)for(d=a[e],b=d.length;--b>=0;)c[--g]=d[b];return c};var ng=Math.abs;bg.range=function(a,b,c){if(arguments.length<3&&(c=1,arguments.length<2&&(b=a,a=0)),(b-a)/c===1/0)throw new Error("infinite range");var d,e=[],f=h(ng(c)),g=-1;if(a*=f,b*=f,c*=f,0>c)for(;(d=a+c*++g)>b;)e.push(d/f);else for(;(d=a+c*++g)=f.length)return d?d.call(e,g):c?g.sort(c):g;for(var i,k,l,m,n=-1,o=g.length,p=f[h++],q=new j;++n=f.length)return a;var d=[],e=g[c++];return a.forEach(function(a,e){d.push({key:a,values:b(e,c)})}),e?d.sort(function(a,b){return e(a.key,b.key)}):d}var c,d,e={},f=[],g=[];return e.map=function(b,c){return a(c,b,0)},e.entries=function(c){return b(a(bg.map,c,0),0)},e.key=function(a){return f.push(a),e},e.sortKeys=function(a){return g[f.length-1]=a,e},e.sortValues=function(a){return c=a,e},e.rollup=function(a){return d=a,e},e},bg.set=function(a){var b=new r;if(a)for(var c=0,d=a.length;d>c;++c)b.add(a[c]);return b},i(r,{has:m,add:function(a){return this._[k(a+="")]=!0,a},remove:n,values:o,size:p,empty:q,forEach:function(a){for(var b in this._)a.call(this,l(b))}}),bg.behavior={},bg.rebind=function(a,b){for(var c,d=1,e=arguments.length;++d=0&&(d=a.slice(c+1),a=a.slice(0,c)),a)return arguments.length<2?this[a].on(d):this[a].on(d,b);if(2===arguments.length){if(null==b)for(a in this)this.hasOwnProperty(a)&&this[a].on(d,null);return this}},bg.event=null,bg.requote=function(a){return a.replace(rg,"\\$&")};var rg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,sg={}.__proto__?function(a,b){a.__proto__=b}:function(a,b){for(var c in b)a[c]=b[c]},tg=function(a,b){return b.querySelector(a)},ug=function(a,b){return b.querySelectorAll(a)},vg=function(a,b){var c=a.matches||a[u(a,"matchesSelector")];return(vg=function(a,b){return c.call(a,b)})(a,b)};"function"==typeof Sizzle&&(tg=function(a,b){return Sizzle(a,b)[0]||null},ug=Sizzle,vg=Sizzle.matchesSelector),bg.selection=function(){return bg.select(eg.documentElement)};var wg=bg.selection.prototype=[];wg.select=function(a){var b,c,d,e,f=[];a=C(a);for(var g=-1,h=this.length;++g=0&&(c=a.slice(0,b),a=a.slice(b+1)),xg.hasOwnProperty(c)?{space:xg[c],local:a}:a}},wg.attr=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node();return a=bg.ns.qualify(a),a.local?c.getAttributeNS(a.space,a.local):c.getAttribute(a)}for(b in a)this.each(E(b,a[b]));return this}return this.each(E(a,b))},wg.classed=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node(),d=(a=H(a)).length,e=-1;if(b=c.classList){for(;++ee){if("string"!=typeof a){2>e&&(c="");for(d in a)this.each(K(d,a[d],c));return this}if(2>e){var f=this.node();return b(f).getComputedStyle(f,null).getPropertyValue(a)}d=""}return this.each(K(a,c,d))},wg.property=function(a,b){if(arguments.length<2){if("string"==typeof a)return this.node()[a];for(b in a)this.each(L(b,a[b]));return this}return this.each(L(a,b))},wg.text=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.textContent=null==b?"":b}:null==a?function(){this.textContent=""}:function(){this.textContent=a}):this.node().textContent},wg.html=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.innerHTML=null==b?"":b}:null==a?function(){this.innerHTML=""}:function(){this.innerHTML=a}):this.node().innerHTML},wg.append=function(a){return a=M(a),this.select(function(){return this.appendChild(a.apply(this,arguments))})},wg.insert=function(a,b){return a=M(a),b=C(b),this.select(function(){return this.insertBefore(a.apply(this,arguments),b.apply(this,arguments)||null)})},wg.remove=function(){return this.each(N)},wg.data=function(a,b){function c(a,c){var d,e,f,g=a.length,l=c.length,m=Math.min(g,l),n=new Array(l),o=new Array(l),p=new Array(g);if(b){var q,r=new j,s=new Array(g);for(d=-1;++dd;++d)o[d]=O(c[d]);for(;g>d;++d)p[d]=a[d]}o.update=n,o.parentNode=n.parentNode=p.parentNode=a.parentNode,h.push(o),i.push(n),k.push(p)}var d,e,f=-1,g=this.length;if(!arguments.length){for(a=new Array(g=(d=this[0]).length);++ff;f++){e.push(b=[]),b.parentNode=(c=this[f]).parentNode;for(var h=0,i=c.length;i>h;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return B(e)},wg.order=function(){for(var a=-1,b=this.length;++a=0;)(c=d[e])&&(f&&f!==c.nextSibling&&f.parentNode.insertBefore(c,f),f=c);return this},wg.sort=function(a){a=Q.apply(this,arguments);for(var b=-1,c=this.length;++ba;a++)for(var c=this[a],d=0,e=c.length;e>d;d++){var f=c[d];if(f)return f}return null},wg.size=function(){var a=0;return R(this,function(){++a}),a};var yg=[];bg.selection.enter=S,bg.selection.enter.prototype=yg,yg.append=wg.append,yg.empty=wg.empty,yg.node=wg.node,yg.call=wg.call,yg.size=wg.size,yg.select=function(a){for(var b,c,d,e,f,g=[],h=-1,i=this.length;++hd){if("string"!=typeof a){2>d&&(b=!1);for(c in a)this.each(U(c,a[c],b));return this}if(2>d)return(d=this.node()["__on"+a])&&d._;c=!1}return this.each(U(a,b,c))};var zg=bg.map({mouseenter:"mouseover",mouseleave:"mouseout"});eg&&zg.forEach(function(a){"on"+a in eg&&zg.remove(a)});var Ag,Bg=0;bg.mouse=function(a){return Y(a,z())};var Cg=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;bg.touch=function(a,b,c){if(arguments.length<3&&(c=b,b=z().changedTouches),b)for(var d,e=0,f=b.length;f>e;++e)if((d=b[e]).identifier===c)return Y(a,d)},bg.behavior.drag=function(){function a(){this.on("mousedown.drag",f).on("touchstart.drag",g)}function c(a,b,c,f,g){return function(){function h(){var a,c,d=b(m,p);d&&(a=d[0]-t[0],c=d[1]-t[1],o|=a|c,t=d,n({type:"drag",x:d[0]+j[0],y:d[1]+j[1],dx:a,dy:c}))}function i(){b(m,p)&&(r.on(f+q,null).on(g+q,null),s(o&&bg.event.target===l),n({type:"dragend"}))}var j,k=this,l=bg.event.target,m=k.parentNode,n=d.of(k,arguments),o=0,p=a(),q=".drag"+(null==p?"":"-"+p),r=bg.select(c(l)).on(f+q,h).on(g+q,i),s=X(l),t=b(m,p);e?(j=e.apply(k,arguments),j=[j.x-t[0],j.y-t[1]]):j=[0,0],n({type:"dragstart"})}}var d=A(a,"drag","dragstart","dragend"),e=null,f=c(v,bg.mouse,b,"mousemove","mouseup"),g=c(Z,bg.touch,s,"touchmove","touchend");return a.origin=function(b){return arguments.length?(e=b,a):e},bg.rebind(a,d,"on")},bg.touches=function(a,b){return arguments.length<2&&(b=z().touches),b?dg(b).map(function(b){var c=Y(a,b);return c.identifier=b.identifier,c}):[]};var Dg=1e-6,Eg=Dg*Dg,Fg=Math.PI,Gg=2*Fg,Hg=Gg-Dg,Ig=Fg/2,Jg=Fg/180,Kg=180/Fg,Lg=Math.SQRT2,Mg=2,Ng=4;bg.interpolateZoom=function(a,b){function c(a){var b=a*s;if(r){var c=da(p),g=f/(Mg*m)*(c*ea(Lg*b+p)-ca(p));return[d+g*j,e+g*k,f*c/da(Lg*b+p)]}return[d+a*j,e+a*k,f*Math.exp(Lg*b)]}var d=a[0],e=a[1],f=a[2],g=b[0],h=b[1],i=b[2],j=g-d,k=h-e,l=j*j+k*k,m=Math.sqrt(l),n=(i*i-f*f+Ng*l)/(2*f*Mg*m),o=(i*i-f*f-Ng*l)/(2*i*Mg*m),p=Math.log(Math.sqrt(n*n+1)-n),q=Math.log(Math.sqrt(o*o+1)-o),r=q-p,s=(r||Math.log(i/f))/Lg;return c.duration=1e3*s,c},bg.behavior.zoom=function(){function a(a){a.on(F,l).on(Pg+".zoom",n).on("dblclick.zoom",o).on(I,m)}function c(a){return[(a[0]-z.x)/z.k,(a[1]-z.y)/z.k]}function d(a){return[a[0]*z.k+z.x,a[1]*z.k+z.y]}function e(a){z.k=Math.max(C[0],Math.min(C[1],a))}function f(a,b){b=d(b),z.x+=a[0]-b[0],z.y+=a[1]-b[1]}function g(b,c,d,g){b.__chart__={x:z.x,y:z.y,k:z.k},e(Math.pow(2,g)),f(q=c,d),b=bg.select(b),D>0&&(b=b.transition().duration(D)),b.call(a.event)}function h(){v&&v.domain(u.range().map(function(a){return(a-z.x)/z.k}).map(u.invert)),x&&x.domain(w.range().map(function(a){return(a-z.y)/z.k}).map(w.invert))}function i(a){E++||a({type:"zoomstart"})}function j(a){h(),a({type:"zoom",scale:z.k,translate:[z.x,z.y]})}function k(a){--E||(a({type:"zoomend"}),q=null)}function l(){function a(){l=1,f(bg.mouse(e),n),j(h)}function d(){m.on(G,null).on(H,null),o(l&&bg.event.target===g),k(h)}var e=this,g=bg.event.target,h=J.of(e,arguments),l=0,m=bg.select(b(e)).on(G,a).on(H,d),n=c(bg.mouse(e)),o=X(e);Ji.call(e),i(h)}function m(){function a(){var a=bg.touches(o);return n=z.k,a.forEach(function(a){a.identifier in q&&(q[a.identifier]=c(a))}),a}function b(){var b=bg.event.target;bg.select(b).on(u,d).on(v,h),w.push(b);for(var c=bg.event.changedTouches,e=0,f=c.length;f>e;++e)q[c[e].identifier]=null;var i=a(),j=Date.now();if(1===i.length){if(500>j-t){var k=i[0];g(o,k,q[k.identifier],Math.floor(Math.log(z.k)/Math.LN2)+1),y()}t=j}else if(i.length>1){var k=i[0],l=i[1],m=k[0]-l[0],n=k[1]-l[1];r=m*m+n*n}}function d(){var a,b,c,d,g=bg.touches(o);Ji.call(o);for(var h=0,i=g.length;i>h;++h,d=null)if(c=g[h],d=q[c.identifier]){if(b)break;a=c,b=d}if(d){var k=(k=c[0]-a[0])*k+(k=c[1]-a[1])*k,l=r&&Math.sqrt(k/r);a=[(a[0]+c[0])/2,(a[1]+c[1])/2],b=[(b[0]+d[0])/2,(b[1]+d[1])/2],e(l*n)}t=null,f(a,b),j(p)}function h(){if(bg.event.touches.length){for(var b=bg.event.changedTouches,c=0,d=b.length;d>c;++c)delete q[b[c].identifier];for(var e in q)return void a()}bg.selectAll(w).on(s,null),x.on(F,l).on(I,m),A(),k(p)}var n,o=this,p=J.of(o,arguments),q={},r=0,s=".zoom-"+bg.event.changedTouches[0].identifier,u="touchmove"+s,v="touchend"+s,w=[],x=bg.select(o),A=X(o);b(),i(p),x.on(F,null).on(I,b)}function n(){var a=J.of(this,arguments);s?clearTimeout(s):(Ji.call(this),p=c(q=r||bg.mouse(this)),i(a)),s=setTimeout(function(){s=null,k(a)},50),y(),e(Math.pow(2,.002*Og())*z.k),f(q,p),j(a)}function o(){var a=bg.mouse(this),b=Math.log(z.k)/Math.LN2;g(this,a,c(a),bg.event.shiftKey?Math.ceil(b)-1:Math.floor(b)+1)}var p,q,r,s,t,u,v,w,x,z={x:0,y:0,k:1},B=[960,500],C=Qg,D=250,E=0,F="mousedown.zoom",G="mousemove.zoom",H="mouseup.zoom",I="touchstart.zoom",J=A(a,"zoomstart","zoom","zoomend");return Pg||(Pg="onwheel"in eg?(Og=function(){return-bg.event.deltaY*(bg.event.deltaMode?120:1)},"wheel"):"onmousewheel"in eg?(Og=function(){return bg.event.wheelDelta},"mousewheel"):(Og=function(){return-bg.event.detail},"MozMousePixelScroll")),a.event=function(a){a.each(function(){var a=J.of(this,arguments),b=z;Hi?bg.select(this).transition().each("start.zoom",function(){z=this.__chart__||{x:0,y:0,k:1},i(a)}).tween("zoom:zoom",function(){var c=B[0],d=B[1],e=q?q[0]:c/2,f=q?q[1]:d/2,g=bg.interpolateZoom([(e-z.x)/z.k,(f-z.y)/z.k,c/z.k],[(e-b.x)/b.k,(f-b.y)/b.k,c/b.k]);return function(b){var d=g(b),h=c/d[2];this.__chart__=z={x:e-d[0]*h,y:f-d[1]*h,k:h},j(a)}}).each("interrupt.zoom",function(){k(a)}).each("end.zoom",function(){k(a)}):(this.__chart__=z,i(a),j(a),k(a))})},a.translate=function(b){return arguments.length?(z={x:+b[0],y:+b[1],k:z.k},h(),a):[z.x,z.y]},a.scale=function(b){return arguments.length?(z={x:z.x,y:z.y,k:+b},h(),a):z.k},a.scaleExtent=function(b){return arguments.length?(C=null==b?Qg:[+b[0],+b[1]],a):C},a.center=function(b){return arguments.length?(r=b&&[+b[0],+b[1]],a):r},a.size=function(b){return arguments.length?(B=b&&[+b[0],+b[1]],a):B},a.duration=function(b){return arguments.length?(D=+b,a):D},a.x=function(b){return arguments.length?(v=b,u=b.copy(),z={x:0,y:0,k:1},a):v},a.y=function(b){return arguments.length?(x=b,w=b.copy(),z={x:0,y:0,k:1},a):x},bg.rebind(a,J,"on")};var Og,Pg,Qg=[0,1/0];bg.color=ga,ga.prototype.toString=function(){return this.rgb()+""},bg.hsl=ha;var Rg=ha.prototype=new ga;Rg.brighter=function(a){return a=Math.pow(.7,arguments.length?a:1),new ha(this.h,this.s,this.l/a)},Rg.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new ha(this.h,this.s,a*this.l)},Rg.rgb=function(){return ia(this.h,this.s,this.l)},bg.hcl=ja;var Sg=ja.prototype=new ga;Sg.brighter=function(a){return new ja(this.h,this.c,Math.min(100,this.l+Tg*(arguments.length?a:1)))},Sg.darker=function(a){return new ja(this.h,this.c,Math.max(0,this.l-Tg*(arguments.length?a:1)))},Sg.rgb=function(){return ka(this.h,this.c,this.l).rgb()},bg.lab=la;var Tg=18,Ug=.95047,Vg=1,Wg=1.08883,Xg=la.prototype=new ga;Xg.brighter=function(a){return new la(Math.min(100,this.l+Tg*(arguments.length?a:1)),this.a,this.b)},Xg.darker=function(a){return new la(Math.max(0,this.l-Tg*(arguments.length?a:1)),this.a,this.b)},Xg.rgb=function(){return ma(this.l,this.a,this.b)},bg.rgb=ra;var Yg=ra.prototype=new ga;Yg.brighter=function(a){a=Math.pow(.7,arguments.length?a:1);var b=this.r,c=this.g,d=this.b,e=30;return b||c||d?(b&&e>b&&(b=e),c&&e>c&&(c=e),d&&e>d&&(d=e),new ra(Math.min(255,b/a),Math.min(255,c/a),Math.min(255,d/a))):new ra(e,e,e)},Yg.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new ra(a*this.r,a*this.g,a*this.b)},Yg.hsl=function(){return wa(this.r,this.g,this.b)},Yg.toString=function(){return"#"+ua(this.r)+ua(this.g)+ua(this.b)};var Zg=bg.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Zg.forEach(function(a,b){Zg.set(a,sa(b))}),bg.functor=Aa,bg.xhr=Ba(s),bg.dsv=function(a,b){function c(a,c,f){arguments.length<3&&(f=c,c=null);var g=Ca(a,b,null==c?d:e(c),f);return g.row=function(a){return arguments.length?g.response(null==(c=a)?d:e(a)):c},g}function d(a){return c.parse(a.responseText)}function e(a){return function(b){return c.parse(b.responseText,a)}}function f(b){return b.map(g).join(a)}function g(a){return h.test(a)?'"'+a.replace(/\"/g,'""')+'"':a}var h=new RegExp('["'+a+"\n]"),i=a.charCodeAt(0);return c.parse=function(a,b){var d;return c.parseRows(a,function(a,c){if(d)return d(a,c-1);var e=new Function("d","return {"+a.map(function(a,b){return JSON.stringify(a)+": d["+b+"]"}).join(",")+"}");d=b?function(a,c){return b(e(a),c)}:e})},c.parseRows=function(a,b){function c(){if(k>=j)return g;if(e)return e=!1,f;var b=k;if(34===a.charCodeAt(b)){for(var c=b;c++k;){var d=a.charCodeAt(k++),h=1;if(10===d)e=!0;else if(13===d)e=!0,10===a.charCodeAt(k)&&(++k,++h);else if(d!==i)continue;return a.slice(b,k-h)}return a.slice(b)}for(var d,e,f={},g={},h=[],j=a.length,k=0,l=0;(d=c())!==g;){for(var m=[];d!==f&&d!==g;)m.push(d),d=c();b&&null==(m=b(m,l++))||h.push(m)}return h},c.format=function(b){if(Array.isArray(b[0]))return c.formatRows(b);var d=new r,e=[];return b.forEach(function(a){for(var b in a)d.has(b)||e.push(d.add(b))}),[e.map(g).join(a)].concat(b.map(function(b){return e.map(function(a){return g(b[a])}).join(a)})).join("\n")},c.formatRows=function(a){return a.map(f).join("\n")},c},bg.csv=bg.dsv(",","text/csv"),bg.tsv=bg.dsv(" ","text/tab-separated-values");var $g,_g,ah,bh,ch,dh=this[u(this,"requestAnimationFrame")]||function(a){setTimeout(a,17)};bg.timer=function(a,b,c){var d=arguments.length;2>d&&(b=0),3>d&&(c=Date.now());var e=c+b,f={c:a,t:e,f:!1,n:null};_g?_g.n=f:$g=f,_g=f,ah||(bh=clearTimeout(bh),ah=1,dh(Fa))},bg.timer.flush=function(){Ga(),Ha()},bg.round=function(a,b){return b?Math.round(a*(b=Math.pow(10,b)))/b:Math.round(a)};var eh=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Ja);bg.formatPrefix=function(a,b){var c=0;return a&&(0>a&&(a*=-1),b&&(a=bg.round(a,Ia(a,b))),c=1+Math.floor(1e-12+Math.log(a)/Math.LN10),c=Math.max(-24,Math.min(24,3*Math.floor((c-1)/3)))),eh[8+c/3]};var fh=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,gh=bg.map({b:function(a){return a.toString(2)},c:function(a){return String.fromCharCode(a)},o:function(a){return a.toString(8)},x:function(a){return a.toString(16)},X:function(a){return a.toString(16).toUpperCase()},g:function(a,b){return a.toPrecision(b)},e:function(a,b){return a.toExponential(b)},f:function(a,b){return a.toFixed(b)},r:function(a,b){return(a=bg.round(a,Ia(a,b))).toFixed(Math.max(0,Math.min(20,Ia(a*(1+1e-15),b))))}}),hh=bg.time={},ih=Date;Ma.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){jh.setUTCDate.apply(this._,arguments)},setDay:function(){jh.setUTCDay.apply(this._,arguments)},setFullYear:function(){jh.setUTCFullYear.apply(this._,arguments)},setHours:function(){jh.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){jh.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){jh.setUTCMinutes.apply(this._,arguments)},setMonth:function(){jh.setUTCMonth.apply(this._,arguments)},setSeconds:function(){jh.setUTCSeconds.apply(this._,arguments)},setTime:function(){jh.setTime.apply(this._,arguments)}};var jh=Date.prototype;hh.year=Na(function(a){return a=hh.day(a),a.setMonth(0,1),a},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a){return a.getFullYear()}),hh.years=hh.year.range,hh.years.utc=hh.year.utc.range,hh.day=Na(function(a){var b=new ih(2e3,0);return b.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),b},function(a,b){a.setDate(a.getDate()+b)},function(a){return a.getDate()-1}),hh.days=hh.day.range,hh.days.utc=hh.day.utc.range,hh.dayOfYear=function(a){var b=hh.year(a);return Math.floor((a-b-6e4*(a.getTimezoneOffset()-b.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(a,b){b=7-b;var c=hh[a]=Na(function(a){return(a=hh.day(a)).setDate(a.getDate()-(a.getDay()+b)%7),a},function(a,b){a.setDate(a.getDate()+7*Math.floor(b))},function(a){var c=hh.year(a).getDay();return Math.floor((hh.dayOfYear(a)+(c+b)%7)/7)-(c!==b)});hh[a+"s"]=c.range,hh[a+"s"].utc=c.utc.range,hh[a+"OfYear"]=function(a){var c=hh.year(a).getDay();return Math.floor((hh.dayOfYear(a)+(c+b)%7)/7)}}),hh.week=hh.sunday,hh.weeks=hh.sunday.range,hh.weeks.utc=hh.sunday.utc.range,hh.weekOfYear=hh.sundayOfYear;var kh={"-":"",_:" ",0:"0"},lh=/^\s*\d+/,mh=/^%/;bg.locale=function(a){return{numberFormat:Ka(a),timeFormat:Pa(a)}};var nh=bg.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});bg.format=nh.numberFormat,bg.geo={},ib.prototype={s:0,t:0,add:function(a){ +jb(a,this.t,oh),jb(oh.s,this.s,this),this.s?this.t+=oh.t:this.s=oh.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var oh=new ib;bg.geo.stream=function(a,b){a&&ph.hasOwnProperty(a.type)?ph[a.type](a,b):kb(a,b)};var ph={Feature:function(a,b){kb(a.geometry,b)},FeatureCollection:function(a,b){for(var c=a.features,d=-1,e=c.length;++da?4*Fg+a:a,th.lineStart=th.lineEnd=th.point=v}};bg.geo.bounds=function(){function a(a,b){t.push(u=[k=a,m=a]),l>b&&(l=b),b>n&&(n=b)}function b(b,c){var d=ob([b*Jg,c*Jg]);if(r){var e=qb(r,d),f=[e[1],-e[0],0],g=qb(f,e);tb(g),g=ub(g);var i=b-o,j=i>0?1:-1,p=g[0]*Kg*j,q=ng(i)>180;if(q^(p>j*o&&j*b>p)){var s=g[1]*Kg;s>n&&(n=s)}else if(p=(p+360)%360-180,q^(p>j*o&&j*b>p)){var s=-g[1]*Kg;l>s&&(l=s)}else l>c&&(l=c),c>n&&(n=c);q?o>b?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b):m>=k?(k>b&&(k=b),b>m&&(m=b)):b>o?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b)}else a(b,c);r=d,o=b}function c(){v.point=b}function d(){u[0]=k,u[1]=m,v.point=a,r=null}function e(a,c){if(r){var d=a-o;s+=ng(d)>180?d+(d>0?360:-360):d}else p=a,q=c;th.point(a,c),b(a,c)}function f(){th.lineStart()}function g(){e(p,q),th.lineEnd(),ng(s)>Dg&&(k=-(m=180)),u[0]=k,u[1]=m,r=null}function h(a,b){return(b-=a)<0?b+360:b}function i(a,b){return a[0]-b[0]}function j(a,b){return b[0]<=b[1]?b[0]<=a&&a<=b[1]:ash?(k=-(m=180),l=-(n=90)):s>Dg?n=90:-Dg>s&&(l=-90),u[0]=k,u[1]=m}};return function(a){n=m=-(k=l=1/0),t=[],bg.geo.stream(a,v);var b=t.length;if(b){t.sort(i);for(var c,d=1,e=t[0],f=[e];b>d;++d)c=t[d],j(c[0],e)||j(c[1],e)?(h(e[0],c[1])>h(e[0],e[1])&&(e[1]=c[1]),h(c[0],e[1])>h(e[0],e[1])&&(e[0]=c[0])):f.push(e=c);for(var g,c,o=-(1/0),b=f.length-1,d=0,e=f[b];b>=d;e=c,++d)c=f[d],(g=h(e[1],c[0]))>o&&(o=g,k=c[0],m=e[1])}return t=u=null,k===1/0||l===1/0?[[0/0,0/0],[0/0,0/0]]:[[k,l],[m,n]]}}(),bg.geo.centroid=function(a){uh=vh=wh=xh=yh=zh=Ah=Bh=Ch=Dh=Eh=0,bg.geo.stream(a,Fh);var b=Ch,c=Dh,d=Eh,e=b*b+c*c+d*d;return Eg>e&&(b=zh,c=Ah,d=Bh,Dg>vh&&(b=wh,c=xh,d=yh),e=b*b+c*c+d*d,Eg>e)?[0/0,0/0]:[Math.atan2(c,b)*Kg,ba(d/Math.sqrt(e))*Kg]};var uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh={sphere:v,point:wb,lineStart:yb,lineEnd:zb,polygonStart:function(){Fh.lineStart=Ab},polygonEnd:function(){Fh.lineStart=yb}},Gh=Gb(Cb,Kb,Mb,[-Fg,-Fg/2]),Hh=1e9;bg.geo.clipExtent=function(){var a,b,c,d,e,f,g={stream:function(a){return e&&(e.valid=!1),e=f(a),e.valid=!0,e},extent:function(h){return arguments.length?(f=Qb(a=+h[0][0],b=+h[0][1],c=+h[1][0],d=+h[1][1]),e&&(e.valid=!1,e=null),g):[[a,b],[c,d]]}};return g.extent([[0,0],[960,500]])},(bg.geo.conicEqualArea=function(){return Rb(Sb)}).raw=Sb,bg.geo.albers=function(){return bg.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},bg.geo.albersUsa=function(){function a(a){var f=a[0],g=a[1];return b=null,c(f,g),b||(d(f,g),b)||e(f,g),b}var b,c,d,e,f=bg.geo.albers(),g=bg.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),h=bg.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),i={point:function(a,c){b=[a,c]}};return a.invert=function(a){var b=f.scale(),c=f.translate(),d=(a[0]-c[0])/b,e=(a[1]-c[1])/b;return(e>=.12&&.234>e&&d>=-.425&&-.214>d?g:e>=.166&&.234>e&&d>=-.214&&-.115>d?h:f).invert(a)},a.stream=function(a){var b=f.stream(a),c=g.stream(a),d=h.stream(a);return{point:function(a,e){b.point(a,e),c.point(a,e),d.point(a,e)},sphere:function(){b.sphere(),c.sphere(),d.sphere()},lineStart:function(){b.lineStart(),c.lineStart(),d.lineStart()},lineEnd:function(){b.lineEnd(),c.lineEnd(),d.lineEnd()},polygonStart:function(){b.polygonStart(),c.polygonStart(),d.polygonStart()},polygonEnd:function(){b.polygonEnd(),c.polygonEnd(),d.polygonEnd()}}},a.precision=function(b){return arguments.length?(f.precision(b),g.precision(b),h.precision(b),a):f.precision()},a.scale=function(b){return arguments.length?(f.scale(b),g.scale(.35*b),h.scale(b),a.translate(f.translate())):f.scale()},a.translate=function(b){if(!arguments.length)return f.translate();var j=f.scale(),k=+b[0],l=+b[1];return c=f.translate(b).clipExtent([[k-.455*j,l-.238*j],[k+.455*j,l+.238*j]]).stream(i).point,d=g.translate([k-.307*j,l+.201*j]).clipExtent([[k-.425*j+Dg,l+.12*j+Dg],[k-.214*j-Dg,l+.234*j-Dg]]).stream(i).point,e=h.translate([k-.205*j,l+.212*j]).clipExtent([[k-.214*j+Dg,l+.166*j+Dg],[k-.115*j-Dg,l+.234*j-Dg]]).stream(i).point,a},a.scale(1070)};var Ih,Jh,Kh,Lh,Mh,Nh,Oh={point:v,lineStart:v,lineEnd:v,polygonStart:function(){Jh=0,Oh.lineStart=Tb},polygonEnd:function(){Oh.lineStart=Oh.lineEnd=Oh.point=v,Ih+=ng(Jh/2)}},Ph={point:Ub,lineStart:v,lineEnd:v,polygonStart:v,polygonEnd:v},Qh={point:Xb,lineStart:Yb,lineEnd:Zb,polygonStart:function(){Qh.lineStart=$b},polygonEnd:function(){Qh.point=Xb,Qh.lineStart=Yb,Qh.lineEnd=Zb}};bg.geo.path=function(){function a(a){return a&&("function"==typeof h&&f.pointRadius(+h.apply(this,arguments)),g&&g.valid||(g=e(f)),bg.geo.stream(a,g)),f.result()}function b(){return g=null,a}var c,d,e,f,g,h=4.5;return a.area=function(a){return Ih=0,bg.geo.stream(a,e(Oh)),Ih},a.centroid=function(a){return wh=xh=yh=zh=Ah=Bh=Ch=Dh=Eh=0,bg.geo.stream(a,e(Qh)),Eh?[Ch/Eh,Dh/Eh]:Bh?[zh/Bh,Ah/Bh]:yh?[wh/yh,xh/yh]:[0/0,0/0]},a.bounds=function(a){return Mh=Nh=-(Kh=Lh=1/0),bg.geo.stream(a,e(Ph)),[[Kh,Lh],[Mh,Nh]]},a.projection=function(a){return arguments.length?(e=(c=a)?a.stream||bc(a):s,b()):c},a.context=function(a){return arguments.length?(f=null==(d=a)?new Vb:new _b(a),"function"!=typeof h&&f.pointRadius(h),b()):d},a.pointRadius=function(b){return arguments.length?(h="function"==typeof b?b:(f.pointRadius(+b),+b),a):h},a.projection(bg.geo.albersUsa()).context(null)},bg.geo.transform=function(a){return{stream:function(b){var c=new cc(b);for(var d in a)c[d]=a[d];return c}}},cc.prototype={point:function(a,b){this.stream.point(a,b)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},bg.geo.projection=ec,bg.geo.projectionMutator=fc,(bg.geo.equirectangular=function(){return ec(hc)}).raw=hc.invert=hc,bg.geo.rotation=function(a){function b(b){return b=a(b[0]*Jg,b[1]*Jg),b[0]*=Kg,b[1]*=Kg,b}return a=jc(a[0]%360*Jg,a[1]*Jg,a.length>2?a[2]*Jg:0),b.invert=function(b){return b=a.invert(b[0]*Jg,b[1]*Jg),b[0]*=Kg,b[1]*=Kg,b},b},ic.invert=hc,bg.geo.circle=function(){function a(){var a="function"==typeof d?d.apply(this,arguments):d,b=jc(-a[0]*Jg,-a[1]*Jg,0).invert,e=[];return c(null,null,1,{point:function(a,c){e.push(a=b(a,c)),a[0]*=Kg,a[1]*=Kg}}),{type:"Polygon",coordinates:[e]}}var b,c,d=[0,0],e=6;return a.origin=function(b){return arguments.length?(d=b,a):d},a.angle=function(d){return arguments.length?(c=nc((b=+d)*Jg,e*Jg),a):b},a.precision=function(d){return arguments.length?(c=nc(b*Jg,(e=+d)*Jg),a):e},a.angle(90)},bg.geo.distance=function(a,b){var c,d=(b[0]-a[0])*Jg,e=a[1]*Jg,f=b[1]*Jg,g=Math.sin(d),h=Math.cos(d),i=Math.sin(e),j=Math.cos(e),k=Math.sin(f),l=Math.cos(f);return Math.atan2(Math.sqrt((c=l*g)*c+(c=j*k-i*l*h)*c),i*k+j*l*h)},bg.geo.graticule=function(){function a(){return{type:"MultiLineString",coordinates:b()}}function b(){return bg.range(Math.ceil(f/q)*q,e,q).map(m).concat(bg.range(Math.ceil(j/r)*r,i,r).map(n)).concat(bg.range(Math.ceil(d/o)*o,c,o).filter(function(a){return ng(a%q)>Dg}).map(k)).concat(bg.range(Math.ceil(h/p)*p,g,p).filter(function(a){return ng(a%r)>Dg}).map(l))}var c,d,e,f,g,h,i,j,k,l,m,n,o=10,p=o,q=90,r=360,s=2.5;return a.lines=function(){return b().map(function(a){return{type:"LineString",coordinates:a}})},a.outline=function(){return{type:"Polygon",coordinates:[m(f).concat(n(i).slice(1),m(e).reverse().slice(1),n(j).reverse().slice(1))]}},a.extent=function(b){return arguments.length?a.majorExtent(b).minorExtent(b):a.minorExtent()},a.majorExtent=function(b){return arguments.length?(f=+b[0][0],e=+b[1][0],j=+b[0][1],i=+b[1][1],f>e&&(b=f,f=e,e=b),j>i&&(b=j,j=i,i=b),a.precision(s)):[[f,j],[e,i]]},a.minorExtent=function(b){return arguments.length?(d=+b[0][0],c=+b[1][0],h=+b[0][1],g=+b[1][1],d>c&&(b=d,d=c,c=b),h>g&&(b=h,h=g,g=b),a.precision(s)):[[d,h],[c,g]]},a.step=function(b){return arguments.length?a.majorStep(b).minorStep(b):a.minorStep()},a.majorStep=function(b){return arguments.length?(q=+b[0],r=+b[1],a):[q,r]},a.minorStep=function(b){return arguments.length?(o=+b[0],p=+b[1],a):[o,p]},a.precision=function(b){return arguments.length?(s=+b,k=pc(h,g,90),l=qc(d,c,s),m=pc(j,i,90),n=qc(f,e,s),a):s},a.majorExtent([[-180,-90+Dg],[180,90-Dg]]).minorExtent([[-180,-80-Dg],[180,80+Dg]])},bg.geo.greatArc=function(){function a(){return{type:"LineString",coordinates:[b||d.apply(this,arguments),c||e.apply(this,arguments)]}}var b,c,d=rc,e=sc;return a.distance=function(){return bg.geo.distance(b||d.apply(this,arguments),c||e.apply(this,arguments))},a.source=function(c){return arguments.length?(d=c,b="function"==typeof c?null:c,a):d},a.target=function(b){return arguments.length?(e=b,c="function"==typeof b?null:b,a):e},a.precision=function(){return arguments.length?a:0},a},bg.geo.interpolate=function(a,b){return tc(a[0]*Jg,a[1]*Jg,b[0]*Jg,b[1]*Jg)},bg.geo.length=function(a){return Rh=0,bg.geo.stream(a,Sh),Rh};var Rh,Sh={sphere:v,point:v,lineStart:uc,lineEnd:v,polygonStart:v,polygonEnd:v},Th=vc(function(a){return Math.sqrt(2/(1+a))},function(a){return 2*Math.asin(a/2)});(bg.geo.azimuthalEqualArea=function(){return ec(Th)}).raw=Th;var Uh=vc(function(a){var b=Math.acos(a);return b&&b/Math.sin(b)},s);(bg.geo.azimuthalEquidistant=function(){return ec(Uh)}).raw=Uh,(bg.geo.conicConformal=function(){return Rb(wc)}).raw=wc,(bg.geo.conicEquidistant=function(){return Rb(xc)}).raw=xc;var Vh=vc(function(a){return 1/a},Math.atan);(bg.geo.gnomonic=function(){return ec(Vh)}).raw=Vh,yc.invert=function(a,b){return[a,2*Math.atan(Math.exp(b))-Ig]},(bg.geo.mercator=function(){return zc(yc)}).raw=yc;var Wh=vc(function(){return 1},Math.asin);(bg.geo.orthographic=function(){return ec(Wh)}).raw=Wh;var Xh=vc(function(a){return 1/(1+a)},function(a){return 2*Math.atan(a)});(bg.geo.stereographic=function(){return ec(Xh)}).raw=Xh,Ac.invert=function(a,b){return[-b,2*Math.atan(Math.exp(a))-Ig]},(bg.geo.transverseMercator=function(){var a=zc(Ac),b=a.center,c=a.rotate;return a.center=function(a){return a?b([-a[1],a[0]]):(a=b(),[a[1],-a[0]])},a.rotate=function(a){return a?c([a[0],a[1],a.length>2?a[2]+90:90]):(a=c(),[a[0],a[1],a[2]-90])},c([0,0,90])}).raw=Ac,bg.geom={},bg.geom.hull=function(a){function b(a){if(a.length<3)return[];var b,e=Aa(c),f=Aa(d),g=a.length,h=[],i=[];for(b=0;g>b;b++)h.push([+e.call(this,a[b],b),+f.call(this,a[b],b),b]);for(h.sort(Ec),b=0;g>b;b++)i.push([h[b][0],-h[b][1]]);var j=Dc(h),k=Dc(i),l=k[0]===j[0],m=k[k.length-1]===j[j.length-1],n=[];for(b=j.length-1;b>=0;--b)n.push(a[h[j[b]][2]]);for(b=+l;b=d&&j.x<=f&&j.y>=e&&j.y<=g?[[d,g],[f,g],[f,e],[d,e]]:[];k.point=a[h]}),b}function c(a){return a.map(function(a,b){return{x:Math.round(f(a,b)/Dg)*Dg,y:Math.round(g(a,b)/Dg)*Dg,i:b}})}var d=Bc,e=Cc,f=d,g=e,h=ei;return a?b(a):(b.links=function(a){return fd(c(a)).edges.filter(function(a){return a.l&&a.r}).map(function(b){return{source:a[b.l.i],target:a[b.r.i]}})},b.triangles=function(a){var b=[];return fd(c(a)).cells.forEach(function(c,d){for(var e,f,g=c.site,h=c.edges.sort(Rc),i=-1,j=h.length,k=h[j-1].edge,l=k.l===g?k.r:k.l;++i=j,m=d>=k,n=m<<1|l;a.leaf=!1,a=a.nodes[n]||(a.nodes[n]=kd()),l?e=j:h=j,m?g=k:i=k,f(a,b,c,d,e,g,h,i)}var k,l,m,n,o,p,q,r,s,t=Aa(h),u=Aa(i);if(null!=b)p=b,q=c,r=d,s=e;else if(r=s=-(p=q=1/0),l=[],m=[],o=a.length,g)for(n=0;o>n;++n)k=a[n],k.xr&&(r=k.x),k.y>s&&(s=k.y),l.push(k.x),m.push(k.y);else for(n=0;o>n;++n){var v=+t(k=a[n],n),w=+u(k,n);p>v&&(p=v),q>w&&(q=w),v>r&&(r=v),w>s&&(s=w),l.push(v),m.push(w)}var x=r-p,y=s-q;x>y?s=q+x:r=p+y;var z=kd();if(z.add=function(a){f(z,a,+t(a,++n),+u(a,n),p,q,r,s)},z.visit=function(a){ld(a,z,p,q,r,s)},z.find=function(a){return md(z,a[0],a[1],p,q,r,s)},n=-1,null==b){for(;++n=0?a.slice(0,b):a,d=b>=0?a.slice(b+1):"in";return c=ii.get(c)||hi,d=ji.get(d)||s,td(d(c.apply(null,cg.call(arguments,1))))},bg.interpolateHcl=Gd,bg.interpolateHsl=Hd,bg.interpolateLab=Id,bg.interpolateRound=Jd,bg.transform=function(a){var b=eg.createElementNS(bg.ns.prefix.svg,"g");return(bg.transform=function(a){if(null!=a){b.setAttribute("transform",a);var c=b.transform.baseVal.consolidate()}return new Kd(c?c.matrix:ki)})(a)},Kd.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ki={a:1,b:0,c:0,d:1,e:0,f:0};bg.interpolateTransform=Od,bg.layout={},bg.layout.bundle=function(){return function(a){for(var b=[],c=-1,d=a.length;++ch*h/q){if(o>i){var j=b.charge/i;a.px-=f*j,a.py-=g*j}return!0}if(b.point&&i&&o>i){var j=b.pointCharge/i;a.px-=f*j,a.py-=g*j}}return!b.charge}}function b(a){a.px=bg.event.x,a.py=bg.event.y,h.resume()}var c,d,e,f,g,h={},i=bg.dispatch("start","tick","end"),j=[1,1],k=.9,l=li,m=mi,n=-30,o=ni,p=.1,q=.64,r=[],t=[];return h.tick=function(){if((d*=.99)<.005)return i.end({type:"end",alpha:d=0}),!0;var b,c,h,l,m,o,q,s,u,v=r.length,w=t.length;for(c=0;w>c;++c)h=t[c],l=h.source,m=h.target,s=m.x-l.x,u=m.y-l.y,(o=s*s+u*u)&&(o=d*f[c]*((o=Math.sqrt(o))-e[c])/o,s*=o,u*=o,m.x-=s*(q=l.weight/(m.weight+l.weight)),m.y-=u*q,l.x+=s*(q=1-q),l.y+=u*q);if((q=d*p)&&(s=j[0]/2,u=j[1]/2,c=-1,q))for(;++c0?a:0:a>0&&(i.start({type:"start",alpha:d=a}),bg.timer(h.tick)),h):d},h.start=function(){function a(a,d){if(!c){for(c=new Array(i),h=0;i>h;++h)c[h]=[];for(h=0;k>h;++h){var e=t[h];c[e.source.index].push(e.target),c[e.target.index].push(e.source)}}for(var f,g=c[b],h=-1,j=g.length;++hb;++b)(d=r[b]).index=b,d.weight=0;for(b=0;k>b;++b)d=t[b],"number"==typeof d.source&&(d.source=r[d.source]),"number"==typeof d.target&&(d.target=r[d.target]),++d.source.weight,++d.target.weight;for(b=0;i>b;++b)d=r[b],isNaN(d.x)&&(d.x=a("x",o)),isNaN(d.y)&&(d.y=a("y",p)),isNaN(d.px)&&(d.px=d.x),isNaN(d.py)&&(d.py=d.y);if(e=[],"function"==typeof l)for(b=0;k>b;++b)e[b]=+l.call(this,t[b],b);else for(b=0;k>b;++b)e[b]=l;if(f=[],"function"==typeof m)for(b=0;k>b;++b)f[b]=+m.call(this,t[b],b);else for(b=0;k>b;++b)f[b]=m;if(g=[],"function"==typeof n)for(b=0;i>b;++b)g[b]=+n.call(this,r[b],b);else for(b=0;i>b;++b)g[b]=n;return h.resume()},h.resume=function(){return h.alpha(.1)},h.stop=function(){return h.alpha(0)},h.drag=function(){return c||(c=bg.behavior.drag().origin(s).on("dragstart.force",Ud).on("drag.force",b).on("dragend.force",Vd)),arguments.length?void this.on("mouseover.force",Wd).on("mouseout.force",Xd).call(c):c},bg.rebind(h,i,"on")};var li=20,mi=1,ni=1/0;bg.layout.hierarchy=function(){function a(e){var f,g=[e],h=[];for(e.depth=0;null!=(f=g.pop());)if(h.push(f),(j=c.call(a,f,f.depth))&&(i=j.length)){for(var i,j,k;--i>=0;)g.push(k=j[i]),k.parent=f,k.depth=f.depth+1;d&&(f.value=0),f.children=j}else d&&(f.value=+d.call(a,f,f.depth)||0),delete f.children;return _d(e,function(a){var c,e;b&&(c=a.children)&&c.sort(b),d&&(e=a.parent)&&(e.value+=a.value)}),h}var b=ce,c=ae,d=be;return a.sort=function(c){return arguments.length?(b=c,a):b},a.children=function(b){return arguments.length?(c=b,a):c},a.value=function(b){return arguments.length?(d=b,a):d},a.revalue=function(b){return d&&($d(b,function(a){a.children&&(a.value=0)}),_d(b,function(b){var c;b.children||(b.value=+d.call(a,b,b.depth)||0),(c=b.parent)&&(c.value+=b.value)})),b},a},bg.layout.partition=function(){function a(b,c,d,e){var f=b.children;if(b.x=c,b.y=b.depth*e,b.dx=d,b.dy=e,f&&(g=f.length)){var g,h,i,j=-1;for(d=b.value?d/b.value:0;++jl?-1:1),o=(l-i*n)/bg.sum(j),p=bg.range(i),q=[];return null!=c&&p.sort(c===oi?function(a,b){return j[b]-j[a]}:function(a,b){return c(g[a],g[b])}),p.forEach(function(a){q[a]={data:g[a],value:h=j[a],startAngle:k,endAngle:k+=h*o+n,padAngle:m}}),q}var b=Number,c=oi,d=0,e=Gg,f=0;return a.value=function(c){return arguments.length?(b=c,a):b},a.sort=function(b){return arguments.length?(c=b,a):c},a.startAngle=function(b){return arguments.length?(d=b,a):d},a.endAngle=function(b){return arguments.length?(e=b,a):e},a.padAngle=function(b){return arguments.length?(f=b,a):f},a};var oi={};bg.layout.stack=function(){function a(h,i){if(!(m=h.length))return h;var j=h.map(function(c,d){return b.call(a,c,d)}),k=j.map(function(b){return b.map(function(b,c){return[f.call(a,b,c),g.call(a,b,c)]})}),l=c.call(a,k,i);j=bg.permute(j,l),k=bg.permute(k,l);var m,n,o,p,q=d.call(a,k,i),r=j[0].length;for(o=0;r>o;++o)for(e.call(a,j[0][o],p=q[o],k[0][o][1]),n=1;m>n;++n)e.call(a,j[n][o],p+=k[n-1][o][1],k[n][o][1]);return h}var b=s,c=he,d=ie,e=ge,f=ee,g=fe;return a.values=function(c){return arguments.length?(b=c,a):b},a.order=function(b){return arguments.length?(c="function"==typeof b?b:pi.get(b)||he,a):c},a.offset=function(b){return arguments.length?(d="function"==typeof b?b:qi.get(b)||ie,a):d},a.x=function(b){return arguments.length?(f=b,a):f},a.y=function(b){return arguments.length?(g=b,a):g},a.out=function(b){return arguments.length?(e=b,a):e},a};var pi=bg.map({"inside-out":function(a){var b,c,d=a.length,e=a.map(je),f=a.map(ke),g=bg.range(d).sort(function(a,b){return e[a]-e[b]}),h=0,i=0,j=[],k=[];for(b=0;d>b;++b)c=g[b],i>h?(h+=f[c],j.push(c)):(i+=f[c],k.push(c));return k.reverse().concat(j)},reverse:function(a){return bg.range(a.length).reverse()},"default":he}),qi=bg.map({silhouette:function(a){var b,c,d,e=a.length,f=a[0].length,g=[],h=0,i=[];for(c=0;f>c;++c){for(b=0,d=0;e>b;b++)d+=a[b][c][1];d>h&&(h=d),g.push(d)}for(c=0;f>c;++c)i[c]=(h-g[c])/2;return i},wiggle:function(a){var b,c,d,e,f,g,h,i,j,k=a.length,l=a[0],m=l.length,n=[];for(n[0]=i=j=0,c=1;m>c;++c){for(b=0,e=0;k>b;++b)e+=a[b][c][1];for(b=0,f=0,h=l[c][0]-l[c-1][0];k>b;++b){for(d=0,g=(a[b][c][1]-a[b][c-1][1])/(2*h);b>d;++d)g+=(a[d][c][1]-a[d][c-1][1])/h;f+=g*a[b][c][1]}n[c]=i-=e?f/e*h:0,j>i&&(j=i)}for(c=0;m>c;++c)n[c]-=j;return n},expand:function(a){var b,c,d,e=a.length,f=a[0].length,g=1/e,h=[];for(c=0;f>c;++c){for(b=0,d=0;e>b;b++)d+=a[b][c][1];if(d)for(b=0;e>b;b++)a[b][c][1]/=d;else for(b=0;e>b;b++)a[b][c][1]=g}for(c=0;f>c;++c)h[c]=0;return h},zero:ie});bg.layout.histogram=function(){function a(a,f){for(var g,h,i=[],j=a.map(c,this),k=d.call(this,j,f),l=e.call(this,k,j,f),f=-1,m=j.length,n=l.length-1,o=b?1:1/m;++f0)for(f=-1;++f=k[0]&&h<=k[1]&&(g=i[bg.bisect(l,h,1,n)-1],g.y+=o,g.push(a[f]));return i}var b=!0,c=Number,d=oe,e=me;return a.value=function(b){return arguments.length?(c=b,a):c},a.range=function(b){return arguments.length?(d=Aa(b),a):d},a.bins=function(b){return arguments.length?(e="number"==typeof b?function(a){return ne(a,b)}:Aa(b),a):e},a.frequency=function(c){return arguments.length?(b=!!c,a):b},a},bg.layout.pack=function(){function a(a,f){var g=c.call(this,a,f),h=g[0],i=e[0],j=e[1],k=null==b?Math.sqrt:"function"==typeof b?b:function(){return b};if(h.x=h.y=0,_d(h,function(a){a.r=+k(a.value)}),_d(h,te),d){var l=d*(b?1:Math.max(2*h.r/i,2*h.r/j))/2;_d(h,function(a){a.r+=l}),_d(h,te),_d(h,function(a){a.r-=l})}return we(h,i/2,j/2,b?1:1/Math.max(2*h.r/i,2*h.r/j)),g}var b,c=bg.layout.hierarchy().sort(pe),d=0,e=[1,1];return a.size=function(b){return arguments.length?(e=b,a):e},a.radius=function(c){return arguments.length?(b=null==c||"function"==typeof c?c:+c,a):b},a.padding=function(b){return arguments.length?(d=+b,a):d},Zd(a,c)},bg.layout.tree=function(){function a(a,e){var k=g.call(this,a,e),l=k[0],m=b(l);if(_d(m,c),m.parent.m=-m.z,$d(m,d),j)$d(l,f);else{var n=l,o=l,p=l;$d(l,function(a){a.xo.x&&(o=a),a.depth>p.depth&&(p=a)});var q=h(n,o)/2-n.x,r=i[0]/(o.x+h(o,n)/2+q),s=i[1]/(p.depth||1);$d(l,function(a){a.x=(a.x+q)*r,a.y=a.depth*s})}return k}function b(a){for(var b,c={A:null,children:[a]},d=[c];null!=(b=d.pop());)for(var e,f=b.children,g=0,h=f.length;h>g;++g)d.push((f[g]=e={_:f[g],parent:b,children:(e=f[g].children)&&e.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:g}).a=e);return c.children[0]}function c(a){var b=a.children,c=a.parent.children,d=a.i?c[a.i-1]:null;if(b.length){Ce(a);var f=(b[0].z+b[b.length-1].z)/2;d?(a.z=d.z+h(a._,d._),a.m=a.z-f):a.z=f}else d&&(a.z=d.z+h(a._,d._));a.parent.A=e(a,d,a.parent.A||c[0])}function d(a){a._.x=a.z+a.parent.m,a.m+=a.parent.m}function e(a,b,c){if(b){for(var d,e=a,f=a,g=b,i=e.parent.children[0],j=e.m,k=f.m,l=g.m,m=i.m;g=Ae(g),e=ze(e),g&&e;)i=ze(i),f=Ae(f),f.a=a,d=g.z+l-e.z-j+h(g._,e._),d>0&&(Be(De(g,a,c),a,d),j+=d,k+=d),l+=g.m,j+=e.m,m+=i.m,k+=f.m;g&&!Ae(f)&&(f.t=g,f.m+=l-k),e&&!ze(i)&&(i.t=e,i.m+=j-m,c=a)}return c}function f(a){a.x*=i[0],a.y=a.depth*i[1]}var g=bg.layout.hierarchy().sort(null).value(null),h=ye,i=[1,1],j=null;return a.separation=function(b){return arguments.length?(h=b,a):h},a.size=function(b){return arguments.length?(j=null==(i=b)?f:null,a):j?null:i},a.nodeSize=function(b){return arguments.length?(j=null==(i=b)?null:f,a):j?i:null},Zd(a,g)},bg.layout.cluster=function(){function a(a,f){var g,h=b.call(this,a,f),i=h[0],j=0;_d(i,function(a){var b=a.children;b&&b.length?(a.x=Fe(b),a.y=Ee(b)):(a.x=g?j+=c(a,g):0,a.y=0,g=a)});var k=Ge(i),l=He(i),m=k.x-c(k,l)/2,n=l.x+c(l,k)/2;return _d(i,e?function(a){a.x=(a.x-i.x)*d[0],a.y=(i.y-a.y)*d[1]}:function(a){a.x=(a.x-m)/(n-m)*d[0],a.y=(1-(i.y?a.y/i.y:1))*d[1]}),h}var b=bg.layout.hierarchy().sort(null).value(null),c=ye,d=[1,1],e=!1;return a.separation=function(b){return arguments.length?(c=b,a):c},a.size=function(b){return arguments.length?(e=null==(d=b),a):e?null:d},a.nodeSize=function(b){return arguments.length?(e=null!=(d=b),a):e?d:null},Zd(a,b)},bg.layout.treemap=function(){function a(a,b){for(var c,d,e=-1,f=a.length;++eb?0:b),c.area=isNaN(d)||0>=d?0:d}function b(c){var f=c.children;if(f&&f.length){var g,h,i,j=l(c),k=[],m=f.slice(),o=1/0,p="slice"===n?j.dx:"dice"===n?j.dy:"slice-dice"===n?1&c.depth?j.dy:j.dx:Math.min(j.dx,j.dy);for(a(m,j.dx*j.dy/c.value),k.area=0;(i=m.length)>0;)k.push(g=m[i-1]),k.area+=g.area,"squarify"!==n||(h=d(k,p))<=o?(m.pop(),o=h):(k.area-=k.pop().area,e(k,p,j,!1),p=Math.min(j.dx,j.dy),k.length=k.area=0,o=1/0);k.length&&(e(k,p,j,!0),k.length=k.area=0),f.forEach(b)}}function c(b){var d=b.children;if(d&&d.length){var f,g=l(b),h=d.slice(),i=[];for(a(h,g.dx*g.dy/b.value),i.area=0;f=h.pop();)i.push(f),i.area+=f.area,null!=f.z&&(e(i,f.z?g.dx:g.dy,g,!h.length),i.length=i.area=0);d.forEach(c)}}function d(a,b){for(var c,d=a.area,e=0,f=1/0,g=-1,h=a.length;++gc&&(f=c),c>e&&(e=c));return d*=d,b*=b,d?Math.max(b*e*o/d,d/(b*f*o)):1/0}function e(a,b,c,d){var e,f=-1,g=a.length,h=c.x,j=c.y,k=b?i(a.area/b):0;if(b==c.dx){for((d||k>c.dy)&&(k=c.dy);++fc.dx)&&(k=c.dx);++fc&&(b=1),1>c&&(a=0),function(){var c,d,e;do c=2*Math.random()-1,d=2*Math.random()-1,e=c*c+d*d;while(!e||e>1);return a+b*c*Math.sqrt(-2*Math.log(e)/e)}},logNormal:function(){var a=bg.random.normal.apply(bg,arguments);return function(){return Math.exp(a())}},bates:function(a){var b=bg.random.irwinHall(a);return function(){return b()/a}},irwinHall:function(a){return function(){for(var b=0,c=0;a>c;c++)b+=Math.random();return b}}},bg.scale={};var ri={floor:s,ceil:s};bg.scale.linear=function(){return Qe([0,1],[0,1],rd,!1)};var si={s:1,g:1,p:1,r:1,e:1};bg.scale.log=function(){return Ye(bg.scale.linear().domain([0,1]),10,!0,[1,10])};var ti=bg.format(".0e"),ui={floor:function(a){return-Math.ceil(-a)},ceil:function(a){return-Math.floor(-a)}};bg.scale.pow=function(){return Ze(bg.scale.linear(),1,[0,1])},bg.scale.sqrt=function(){return bg.scale.pow().exponent(.5)},bg.scale.ordinal=function(){return _e([],{t:"range",a:[[]]})},bg.scale.category10=function(){return bg.scale.ordinal().range(vi)},bg.scale.category20=function(){return bg.scale.ordinal().range(wi)},bg.scale.category20b=function(){return bg.scale.ordinal().range(xi)},bg.scale.category20c=function(){return bg.scale.ordinal().range(yi)};var vi=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ta),wi=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ta),xi=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ta),yi=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ta);bg.scale.quantile=function(){return af([],[])},bg.scale.quantize=function(){return bf(0,1,[0,1])},bg.scale.threshold=function(){return cf([.5],[0,1])},bg.scale.identity=function(){return df([0,1])},bg.svg={},bg.svg.arc=function(){function a(){var a=Math.max(0,+c.apply(this,arguments)),j=Math.max(0,+d.apply(this,arguments)),k=g.apply(this,arguments)-Ig,l=h.apply(this,arguments)-Ig,m=Math.abs(l-k),n=k>l?0:1;if(a>j&&(o=j,j=a,a=o),m>=Hg)return b(j,n)+(a?b(a,1-n):"")+"Z";var o,p,q,r,s,t,u,v,w,x,y,z,A=0,B=0,C=[];if((r=(+i.apply(this,arguments)||0)/2)&&(q=f===zi?Math.sqrt(a*a+j*j):+f.apply(this,arguments),n||(B*=-1),j&&(B=ba(q/j*Math.sin(r))),a&&(A=ba(q/a*Math.sin(r)))),j){s=j*Math.cos(k+B),t=j*Math.sin(k+B),u=j*Math.cos(l-B),v=j*Math.sin(l-B);var D=Math.abs(l-k-2*B)<=Fg?0:1;if(B&&lf(s,t,u,v)===n^D){var E=(k+l)/2;s=j*Math.cos(E),t=j*Math.sin(E),u=v=null}}else s=t=0;if(a){w=a*Math.cos(l-A),x=a*Math.sin(l-A),y=a*Math.cos(k+A),z=a*Math.sin(k+A);var F=Math.abs(k-l+2*A)<=Fg?0:1;if(A&&lf(w,x,y,z)===1-n^F){var G=(k+l)/2;w=a*Math.cos(G),x=a*Math.sin(G),y=z=null}}else w=x=0;if((o=Math.min(Math.abs(j-a)/2,+e.apply(this,arguments)))>.001){p=j>a^n?0:1;var H=null==y?[w,x]:null==u?[s,t]:Gc([s,t],[y,z],[u,v],[w,x]),I=s-H[0],J=t-H[1],K=u-H[0],L=v-H[1],M=1/Math.sin(Math.acos((I*K+J*L)/(Math.sqrt(I*I+J*J)*Math.sqrt(K*K+L*L)))/2),N=Math.sqrt(H[0]*H[0]+H[1]*H[1]);if(null!=u){var O=Math.min(o,(j-N)/(M+1)),P=mf(null==y?[w,x]:[y,z],[s,t],j,O,n),Q=mf([u,v],[w,x],j,O,n);o===O?C.push("M",P[0],"A",O,",",O," 0 0,",p," ",P[1],"A",j,",",j," 0 ",1-n^lf(P[1][0],P[1][1],Q[1][0],Q[1][1]),",",n," ",Q[1],"A",O,",",O," 0 0,",p," ",Q[0]):C.push("M",P[0],"A",O,",",O," 0 1,",p," ",Q[0])}else C.push("M",s,",",t);if(null!=y){var R=Math.min(o,(a-N)/(M-1)),S=mf([s,t],[y,z],a,-R,n),T=mf([w,x],null==u?[s,t]:[u,v],a,-R,n);o===R?C.push("L",T[0],"A",R,",",R," 0 0,",p," ",T[1],"A",a,",",a," 0 ",n^lf(T[1][0],T[1][1],S[1][0],S[1][1]),",",1-n," ",S[1],"A",R,",",R," 0 0,",p," ",S[0]):C.push("L",T[0],"A",R,",",R," 0 0,",p," ",S[0])}else C.push("L",w,",",x)}else C.push("M",s,",",t),null!=u&&C.push("A",j,",",j," 0 ",D,",",n," ",u,",",v),C.push("L",w,",",x),null!=y&&C.push("A",a,",",a," 0 ",F,",",1-n," ",y,",",z);return C.push("Z"),C.join("")}function b(a,b){return"M0,"+a+"A"+a+","+a+" 0 1,"+b+" 0,"+-a+"A"+a+","+a+" 0 1,"+b+" 0,"+a}var c=ff,d=gf,e=ef,f=zi,g=hf,h=jf,i=kf;return a.innerRadius=function(b){return arguments.length?(c=Aa(b),a):c},a.outerRadius=function(b){return arguments.length?(d=Aa(b),a):d},a.cornerRadius=function(b){return arguments.length?(e=Aa(b),a):e},a.padRadius=function(b){return arguments.length?(f=b==zi?zi:Aa(b),a):f},a.startAngle=function(b){return arguments.length?(g=Aa(b),a):g},a.endAngle=function(b){return arguments.length?(h=Aa(b),a):h},a.padAngle=function(b){return arguments.length?(i=Aa(b),a):i},a.centroid=function(){var a=(+c.apply(this,arguments)+ +d.apply(this,arguments))/2,b=(+g.apply(this,arguments)+ +h.apply(this,arguments))/2-Ig;return[Math.cos(b)*a,Math.sin(b)*a]},a};var zi="auto";bg.svg.line=function(){return nf(s)};var Ai=bg.map({linear:of,"linear-closed":pf,step:qf,"step-before":rf,"step-after":sf,basis:yf,"basis-open":zf,"basis-closed":Af,bundle:Bf,cardinal:vf,"cardinal-open":tf,"cardinal-closed":uf,monotone:Hf});Ai.forEach(function(a,b){b.key=a,b.closed=/-closed$/.test(a)});var Bi=[0,2/3,1/3,0],Ci=[0,1/3,2/3,0],Di=[0,1/6,2/3,1/6];bg.svg.line.radial=function(){var a=nf(If);return a.radius=a.x,delete a.x,a.angle=a.y,delete a.y,a},rf.reverse=sf,sf.reverse=rf,bg.svg.area=function(){return Jf(s)},bg.svg.area.radial=function(){var a=Jf(If);return a.radius=a.x,delete a.x,a.innerRadius=a.x0,delete a.x0,a.outerRadius=a.x1,delete a.x1,a.angle=a.y,delete a.y,a.startAngle=a.y0,delete a.y0,a.endAngle=a.y1,delete a.y1,a},bg.svg.chord=function(){function a(a,h){var i=b(this,f,a,h),j=b(this,g,a,h);return"M"+i.p0+d(i.r,i.p1,i.a1-i.a0)+(c(i,j)?e(i.r,i.p1,i.r,i.p0):e(i.r,i.p1,j.r,j.p0)+d(j.r,j.p1,j.a1-j.a0)+e(j.r,j.p1,i.r,i.p0))+"Z"}function b(a,b,c,d){var e=b.call(a,c,d),f=h.call(a,e,d),g=i.call(a,e,d)-Ig,k=j.call(a,e,d)-Ig;return{r:f,a0:g,a1:k,p0:[f*Math.cos(g),f*Math.sin(g)],p1:[f*Math.cos(k),f*Math.sin(k)]}}function c(a,b){return a.a0==b.a0&&a.a1==b.a1}function d(a,b,c){return"A"+a+","+a+" 0 "+ +(c>Fg)+",1 "+b}function e(a,b,c,d){return"Q 0,0 "+d}var f=rc,g=sc,h=Kf,i=hf,j=jf;return a.radius=function(b){return arguments.length?(h=Aa(b),a):h},a.source=function(b){return arguments.length?(f=Aa(b),a):f},a.target=function(b){return arguments.length?(g=Aa(b),a):g},a.startAngle=function(b){return arguments.length?(i=Aa(b),a):i},a.endAngle=function(b){return arguments.length?(j=Aa(b),a):j},a},bg.svg.diagonal=function(){function a(a,e){var f=b.call(this,a,e),g=c.call(this,a,e),h=(f.y+g.y)/2,i=[f,{x:f.x,y:h},{x:g.x,y:h},g];return i=i.map(d),"M"+i[0]+"C"+i[1]+" "+i[2]+" "+i[3]}var b=rc,c=sc,d=Lf;return a.source=function(c){return arguments.length?(b=Aa(c),a):b},a.target=function(b){return arguments.length?(c=Aa(b),a):c},a.projection=function(b){return arguments.length?(d=b,a):d},a},bg.svg.diagonal.radial=function(){var a=bg.svg.diagonal(),b=Lf,c=a.projection;return a.projection=function(a){return arguments.length?c(Mf(b=a)):b},a},bg.svg.symbol=function(){function a(a,d){return(Ei.get(b.call(this,a,d))||Pf)(c.call(this,a,d))}var b=Of,c=Nf;return a.type=function(c){return arguments.length?(b=Aa(c),a):b},a.size=function(b){return arguments.length?(c=Aa(b),a):c},a};var Ei=bg.map({circle:Pf,cross:function(a){var b=Math.sqrt(a/5)/2;return"M"+-3*b+","+-b+"H"+-b+"V"+-3*b+"H"+b+"V"+-b+"H"+3*b+"V"+b+"H"+b+"V"+3*b+"H"+-b+"V"+b+"H"+-3*b+"Z"},diamond:function(a){var b=Math.sqrt(a/(2*Gi)),c=b*Gi;return"M0,"+-b+"L"+c+",0 0,"+b+" "+-c+",0Z"},square:function(a){var b=Math.sqrt(a)/2;return"M"+-b+","+-b+"L"+b+","+-b+" "+b+","+b+" "+-b+","+b+"Z"},"triangle-down":function(a){var b=Math.sqrt(a/Fi),c=b*Fi/2;return"M0,"+c+"L"+b+","+-c+" "+-b+","+-c+"Z"},"triangle-up":function(a){var b=Math.sqrt(a/Fi),c=b*Fi/2;return"M0,"+-c+"L"+b+","+c+" "+-b+","+c+"Z"}});bg.svg.symbolTypes=Ei.keys();var Fi=Math.sqrt(3),Gi=Math.tan(30*Jg);wg.transition=function(a){for(var b,c,d=Hi||++Li,e=Uf(a),f=[],g=Ii||{time:Date.now(),ease:yd,delay:0,duration:250},h=-1,i=this.length;++hf;f++){e.push(b=[]);for(var c=this[f],h=0,i=c.length;i>h;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return Rf(e,this.namespace,this.id)},Ki.tween=function(a,b){var c=this.id,d=this.namespace;return arguments.length<2?this.node()[d][c].tween.get(a):R(this,null==b?function(b){b[d][c].tween.remove(a)}:function(e){e[d][c].tween.set(a,b)})},Ki.attr=function(a,b){function c(){this.removeAttribute(h)}function d(){this.removeAttributeNS(h.space,h.local)}function e(a){return null==a?c:(a+="",function(){var b,c=this.getAttribute(h);return c!==a&&(b=g(c,a),function(a){this.setAttribute(h,b(a))})})}function f(a){return null==a?d:(a+="",function(){var b,c=this.getAttributeNS(h.space,h.local);return c!==a&&(b=g(c,a),function(a){this.setAttributeNS(h.space,h.local,b(a))})})}if(arguments.length<2){for(b in a)this.attr(b,a[b]);return this}var g="transform"==a?Od:rd,h=bg.ns.qualify(a);return Sf(this,"attr."+a,b,h.local?f:e)},Ki.attrTween=function(a,b){function c(a,c){var d=b.call(this,a,c,this.getAttribute(e));return d&&function(a){this.setAttribute(e,d(a))}}function d(a,c){var d=b.call(this,a,c,this.getAttributeNS(e.space,e.local));return d&&function(a){this.setAttributeNS(e.space,e.local,d(a))}}var e=bg.ns.qualify(a);return this.tween("attr."+a,e.local?d:c)},Ki.style=function(a,c,d){function e(){this.style.removeProperty(a)}function f(c){return null==c?e:(c+="",function(){var e,f=b(this).getComputedStyle(this,null).getPropertyValue(a);return f!==c&&(e=rd(f,c),function(b){this.style.setProperty(a,e(b),d)})})}var g=arguments.length;if(3>g){if("string"!=typeof a){2>g&&(c="");for(d in a)this.style(d,a[d],c);return this}d=""}return Sf(this,"style."+a,c,f)},Ki.styleTween=function(a,c,d){function e(e,f){var g=c.call(this,e,f,b(this).getComputedStyle(this,null).getPropertyValue(a));return g&&function(b){this.style.setProperty(a,g(b),d)}}return arguments.length<3&&(d=""),this.tween("style."+a,e)},Ki.text=function(a){return Sf(this,"text",a,Tf)},Ki.remove=function(){var a=this.namespace;return this.each("end.transition",function(){var b;this[a].count<2&&(b=this.parentNode)&&b.removeChild(this)})},Ki.ease=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].ease:("function"!=typeof a&&(a=bg.ease.apply(bg,arguments)),R(this,function(d){d[c][b].ease=a}))},Ki.delay=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].delay:R(this,"function"==typeof a?function(d,e,f){d[c][b].delay=+a.call(d,d.__data__,e,f)}:(a=+a,function(d){d[c][b].delay=a}))},Ki.duration=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].duration:R(this,"function"==typeof a?function(d,e,f){d[c][b].duration=Math.max(1,a.call(d,d.__data__,e,f))}:(a=Math.max(1,a),function(d){d[c][b].duration=a}))},Ki.each=function(a,b){var c=this.id,d=this.namespace;if(arguments.length<2){var e=Ii,f=Hi;try{Hi=c,R(this,function(b,e,f){Ii=b[d][c],a.call(b,b.__data__,e,f)})}finally{Ii=e,Hi=f}}else R(this,function(e){var f=e[d][c];(f.event||(f.event=bg.dispatch("start","end","interrupt"))).on(a,b)});return this},Ki.transition=function(){for(var a,b,c,d,e=this.id,f=++Li,g=this.namespace,h=[],i=0,j=this.length;j>i;i++){h.push(a=[]);for(var b=this[i],k=0,l=b.length;l>k;k++)(c=b[k])&&(d=c[g][e],Vf(c,k,g,f,{time:d.time,ease:d.ease,delay:d.delay+d.duration,duration:d.duration})),a.push(c)}return Rf(h,g,f)},bg.svg.axis=function(){function a(a){a.each(function(){var a,j=bg.select(this),k=this.__chart__||c,l=this.__chart__=c.copy(),m=null==i?l.ticks?l.ticks.apply(l,h):l.domain():i,n=null==b?l.tickFormat?l.tickFormat.apply(l,h):s:b,o=j.selectAll(".tick").data(m,l),p=o.enter().insert("g",".domain").attr("class","tick").style("opacity",Dg),q=bg.transition(o.exit()).style("opacity",Dg).remove(),r=bg.transition(o.order()).style("opacity",1),t=Math.max(e,0)+g,u=Le(l),v=j.selectAll(".domain").data([0]),w=(v.enter().append("path").attr("class","domain"),bg.transition(v));p.append("line"),p.append("text");var x,y,z,A,B=p.select("line"),C=r.select("line"),D=o.select("text").text(n),E=p.select("text"),F=r.select("text"),G="top"===d||"left"===d?-1:1;if("bottom"===d||"top"===d?(a=Wf,x="x",z="y",y="x2",A="y2",D.attr("dy",0>G?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+u[0]+","+G*f+"V0H"+u[1]+"V"+G*f)):(a=Xf,x="y",z="x",y="y2",A="x2",D.attr("dy",".32em").style("text-anchor",0>G?"end":"start"),w.attr("d","M"+G*f+","+u[0]+"H0V"+u[1]+"H"+G*f)),B.attr(A,G*e),E.attr(z,G*t),C.attr(y,0).attr(A,G*e),F.attr(x,0).attr(z,G*t),l.rangeBand){var H=l,I=H.rangeBand()/2;k=l=function(a){return H(a)+I}}else k.rangeBand?k=l:q.call(a,l,k);p.call(a,k,l),r.call(a,l,l)})}var b,c=bg.scale.linear(),d=Mi,e=6,f=6,g=3,h=[10],i=null;return a.scale=function(b){return arguments.length?(c=b,a):c},a.orient=function(b){return arguments.length?(d=b in Ni?b+"":Mi,a):d},a.ticks=function(){return arguments.length?(h=arguments,a):h},a.tickValues=function(b){return arguments.length?(i=b,a):i},a.tickFormat=function(c){return arguments.length?(b=c,a):b},a.tickSize=function(b){var c=arguments.length;return c?(e=+b,f=+arguments[c-1],a):e},a.innerTickSize=function(b){return arguments.length?(e=+b,a):e},a.outerTickSize=function(b){return arguments.length?(f=+b,a):f},a.tickPadding=function(b){return arguments.length?(g=+b,a):g},a.tickSubdivide=function(){return arguments.length&&a},a};var Mi="bottom",Ni={top:1,right:1,bottom:1,left:1};bg.svg.brush=function(){function a(b){b.each(function(){var b=bg.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",f).on("touchstart.brush",f),g=b.selectAll(".background").data([0]);g.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),b.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var h=b.selectAll(".resize").data(p,s);h.exit().remove(),h.enter().append("g").attr("class",function(a){return"resize "+a}).style("cursor",function(a){return Oi[a]}).append("rect").attr("x",function(a){return/[ew]$/.test(a)?-3:null}).attr("y",function(a){return/^[ns]/.test(a)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),h.style("display",a.empty()?"none":null);var i,l=bg.transition(b),m=bg.transition(g);j&&(i=Le(j),m.attr("x",i[0]).attr("width",i[1]-i[0]),d(l)),k&&(i=Le(k),m.attr("y",i[0]).attr("height",i[1]-i[0]),e(l)),c(l)})}function c(a){a.selectAll(".resize").attr("transform",function(a){return"translate("+l[+/e$/.test(a)]+","+m[+/^s/.test(a)]+")"})}function d(a){a.select(".extent").attr("x",l[0]),a.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function e(a){a.select(".extent").attr("y",m[0]),a.selectAll(".extent,.e>rect,.w>rect").attr("height",m[1]-m[0])}function f(){function f(){32==bg.event.keyCode&&(D||(t=null,F[0]-=l[1],F[1]-=m[1],D=2),y())}function p(){32==bg.event.keyCode&&2==D&&(F[0]+=l[1],F[1]+=m[1],D=0,y())}function q(){var a=bg.mouse(v),b=!1;u&&(a[0]+=u[0],a[1]+=u[1]),D||(bg.event.altKey?(t||(t=[(l[0]+l[1])/2,(m[0]+m[1])/2]),F[0]=l[+(a[0]k?(e=d,d=k):e=k),p[0]!=d||p[1]!=e?(c?h=null:g=null,p[0]=d,p[1]=e,!0):void 0}function s(){q(),z.style("pointer-events","all").selectAll(".resize").style("display",a.empty()?"none":null),bg.select("body").style("cursor",null),G.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),E(),x({type:"brushend"})}var t,u,v=this,w=bg.select(bg.event.target),x=i.of(v,arguments),z=bg.select(v),A=w.datum(),B=!/^(n|s)$/.test(A)&&j,C=!/^(e|w)$/.test(A)&&k,D=w.classed("extent"),E=X(v),F=bg.mouse(v),G=bg.select(b(v)).on("keydown.brush",f).on("keyup.brush",p);if(bg.event.changedTouches?G.on("touchmove.brush",q).on("touchend.brush",s):G.on("mousemove.brush",q).on("mouseup.brush",s),z.interrupt().selectAll("*").interrupt(),D)F[0]=l[0]-F[0],F[1]=m[0]-F[1];else if(A){var H=+/w$/.test(A),I=+/^n/.test(A);u=[l[1-H]-F[0],m[1-I]-F[1]],F[0]=l[H],F[1]=m[I]}else bg.event.altKey&&(t=F.slice());z.style("pointer-events","none").selectAll(".resize").style("display",null),bg.select("body").style("cursor",w.style("cursor")),x({type:"brushstart"}),q()}var g,h,i=A(a,"brushstart","brush","brushend"),j=null,k=null,l=[0,0],m=[0,0],n=!0,o=!0,p=Pi[0];return a.event=function(a){a.each(function(){var a=i.of(this,arguments),b={x:l,y:m,i:g,j:h},c=this.__chart__||b;this.__chart__=b,Hi?bg.select(this).transition().each("start.brush",function(){g=c.i,h=c.j,l=c.x,m=c.y,a({type:"brushstart"})}).tween("brush:brush",function(){var c=sd(l,b.x),d=sd(m,b.y);return g=h=null,function(e){l=b.x=c(e),m=b.y=d(e),a({type:"brush",mode:"resize"})}}).each("end.brush",function(){g=b.i,h=b.j,a({type:"brush",mode:"resize"}),a({type:"brushend"})}):(a({type:"brushstart"}),a({type:"brush",mode:"resize"}),a({type:"brushend"}))})},a.x=function(b){return arguments.length?(j=b,p=Pi[!j<<1|!k],a):j},a.y=function(b){return arguments.length?(k=b,p=Pi[!j<<1|!k],a):k},a.clamp=function(b){return arguments.length?(j&&k?(n=!!b[0],o=!!b[1]):j?n=!!b:k&&(o=!!b),a):j&&k?[n,o]:j?n:k?o:null},a.extent=function(b){var c,d,e,f,i;return arguments.length?(j&&(c=b[0],d=b[1],k&&(c=c[0],d=d[0]),g=[c,d],j.invert&&(c=j(c),d=j(d)),c>d&&(i=c,c=d,d=i),(c!=l[0]||d!=l[1])&&(l=[c,d])),k&&(e=b[0],f=b[1],j&&(e=e[1],f=f[1]),h=[e,f],k.invert&&(e=k(e),f=k(f)),e>f&&(i=e,e=f,f=i),(e!=m[0]||f!=m[1])&&(m=[e,f])),a):(j&&(g?(c=g[0],d=g[1]):(c=l[0],d=l[1],j.invert&&(c=j.invert(c),d=j.invert(d)),c>d&&(i=c,c=d,d=i))),k&&(h?(e=h[0],f=h[1]):(e=m[0],f=m[1],k.invert&&(e=k.invert(e),f=k.invert(f)),e>f&&(i=e,e=f,f=i))),j&&k?[[c,e],[d,f]]:j?[c,d]:k&&[e,f])},a.clear=function(){return a.empty()||(l=[0,0],m=[0,0],g=h=null),a},a.empty=function(){return!!j&&l[0]==l[1]||!!k&&m[0]==m[1]},bg.rebind(a,i,"on")};var Oi={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Pi=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Qi=hh.format=nh.timeFormat,Ri=Qi.utc,Si=Ri("%Y-%m-%dT%H:%M:%S.%LZ");Qi.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Yf:Si,Yf.parse=function(a){var b=new Date(a);return isNaN(b)?null:b},Yf.toString=Si.toString,hh.second=Na(function(a){return new ih(1e3*Math.floor(a/1e3))},function(a,b){a.setTime(a.getTime()+1e3*Math.floor(b))},function(a){return a.getSeconds()}),hh.seconds=hh.second.range,hh.seconds.utc=hh.second.utc.range,hh.minute=Na(function(a){return new ih(6e4*Math.floor(a/6e4))},function(a,b){a.setTime(a.getTime()+6e4*Math.floor(b))},function(a){return a.getMinutes()}),hh.minutes=hh.minute.range,hh.minutes.utc=hh.minute.utc.range,hh.hour=Na(function(a){var b=a.getTimezoneOffset()/60;return new ih(36e5*(Math.floor(a/36e5-b)+b))},function(a,b){a.setTime(a.getTime()+36e5*Math.floor(b))},function(a){return a.getHours()}),hh.hours=hh.hour.range,hh.hours.utc=hh.hour.utc.range,hh.month=Na(function(a){return a=hh.day(a),a.setDate(1),a},function(a,b){a.setMonth(a.getMonth()+b)},function(a){return a.getMonth()}),hh.months=hh.month.range,hh.months.utc=hh.month.utc.range;var Ti=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ui=[[hh.second,1],[hh.second,5],[hh.second,15],[hh.second,30],[hh.minute,1],[hh.minute,5],[hh.minute,15],[hh.minute,30],[hh.hour,1],[hh.hour,3],[hh.hour,6],[hh.hour,12],[hh.day,1],[hh.day,2],[hh.week,1],[hh.month,1],[hh.month,3],[hh.year,1]],Vi=Qi.multi([[".%L",function(a){return a.getMilliseconds()}],[":%S",function(a){return a.getSeconds()}],["%I:%M",function(a){return a.getMinutes()}],["%I %p",function(a){return a.getHours()}],["%a %d",function(a){return a.getDay()&&1!=a.getDate()}],["%b %d",function(a){return 1!=a.getDate()}],["%B",function(a){return a.getMonth()}],["%Y",Cb]]),Wi={range:function(a,b,c){return bg.range(Math.ceil(a/c)*c,+b,c).map($f)},floor:s,ceil:s};Ui.year=hh.year,hh.scale=function(){return Zf(bg.scale.linear(),Ui,Vi)};var Xi=Ui.map(function(a){return[a[0].utc,a[1]]}),Yi=Ri.multi([[".%L",function(a){return a.getUTCMilliseconds()}],[":%S",function(a){return a.getUTCSeconds()}],["%I:%M",function(a){return a.getUTCMinutes()}],["%I %p",function(a){return a.getUTCHours()}],["%a %d",function(a){return a.getUTCDay()&&1!=a.getUTCDate()}],["%b %d",function(a){return 1!=a.getUTCDate()}],["%B",function(a){return a.getUTCMonth()}],["%Y",Cb]]);Xi.year=hh.year.utc,hh.scale.utc=function(){return Zf(bg.scale.linear(),Xi,Yi)},bg.text=Ba(function(a){return a.responseText}),bg.json=function(a,b){return Ca(a,"application/json",_f,b)},bg.html=function(a,b){return Ca(a,"text/html",ag,b)},bg.xml=Ba(function(a){return a.responseXML}),"function"==typeof define&&define.amd?define(bg):"object"==typeof module&&module.exports&&(module.exports=bg),this.d3=bg}(); //# sourceMappingURL=../../maps/libs/d3.js.map \ No newline at end of file diff --git a/static/scripts/libs/farbtastic.js b/static/scripts/libs/farbtastic.js index 20e75967932..624ccff311a 100644 --- a/static/scripts/libs/farbtastic.js +++ b/static/scripts/libs/farbtastic.js @@ -1,2 +1,2 @@ -!function(a){var b=!1;a.fn.farbtastic=function(b){return a.farbtastic(this,b),this},a.farbtastic=function(b,c){var b=a(b)[0];return b.farbtastic||(b.farbtastic=new a._farbtastic(b,c))},a._farbtastic=function(c,d){var e=this;e.linkTo=function(b){return"object"==typeof e.callback&&a(e.callback).unbind("keyup",e.updateValue),e.color=null,"function"==typeof b?e.callback=b:("object"==typeof b||"string"==typeof b)&&(e.callback=a(b),e.callback.bind("keyup",e.updateValue),e.callback[0].value&&e.setColor(e.callback[0].value)),this},e.updateValue=function(){this.value&&this.value!=e.color&&e.setColor(this.value)},e.setColor=function(a){var b=e.unpack(a);return e.color!=a&&b&&(e.color=a,e.rgb=b,e.hsl=e.RGBToHSL(e.rgb),e.updateDisplay()),this},e.setHSL=function(a){return e.hsl=a,e.rgb=e.HSLToRGB(a),e.color=e.pack(e.rgb),e.updateDisplay(),this},e.initWidget=function(){var b={width:d.width,height:d.width};a(c).html('
').find("*").attr(b).css(b).end().find("div>*").css("position","absolute"),navigator.userAgent.match(/msie/i)&&a("canvas",c).each(function(){var c={"class":a(this).attr("class"),style:this.getAttribute("style")},d=document.createElement("canvas");a(this).before(a(d).attr(c)).remove(),G_vmlCanvasManager&&G_vmlCanvasManager.initElement(d),a(d).attr(b).css(b).css("position","absolute").find("*").attr(b).css(b)}),e.radius=(d.width-d.wheelWidth)/2-1,e.square=Math.floor(.7*(e.radius-d.wheelWidth/2))-1,e.mid=Math.floor(d.width/2),e.markerSize=.3*d.wheelWidth,e.solidFill=a(".farbtastic-solid",c).css({width:2*e.square-1,height:2*e.square-1,left:e.mid-e.square,top:e.mid-e.square}),e.cnvMask=a(".farbtastic-mask",c),e.ctxMask=e.cnvMask[0].getContext("2d"),e.cnvOverlay=a(".farbtastic-overlay",c),e.ctxOverlay=e.cnvOverlay[0].getContext("2d"),e.ctxMask.translate(e.mid,e.mid),e.ctxOverlay.translate(e.mid,e.mid),e.drawCircle(),e.drawMask()},e.drawCircle=function(){var c,f,g=+new Date,h=24,i=e.radius,j=d.wheelWidth,k=8/i/h*Math.PI,l=e.ctxMask,m=0;l.save(),l.lineWidth=j/i,l.scale(i,i);for(var n=0;h>=n;++n){var o=n/h,p=o*Math.PI*2,q=Math.sin(m),r=-Math.cos(m);if(x2=Math.sin(p),y2=-Math.cos(p),am=(m+p)/2,tan=1/Math.cos((p-m)/2),xm=Math.sin(am)*tan,ym=-Math.cos(am)*tan,color2=e.pack(e.HSLToRGB([o,1,.5])),n>0)if(navigator.userAgent.match(/msie/i)){var s=(1+Math.min(Math.abs(Math.tan(m)),Math.abs(Math.tan(Math.PI/2-m))))/h;c=e.pack(e.HSLToRGB([f-.15*s,1,.5])),color2=e.pack(e.HSLToRGB([o+.15*s,1,.5]));var t=l.createLinearGradient(q,r,x2,y2);t.addColorStop(0,c),t.addColorStop(1,color2),l.fillStyle=t;var u=(i+j/2)/i,v=(i-j/2)/i;l.beginPath(),l.moveTo(q*u,r*u),l.quadraticCurveTo(xm*u,ym*u,x2*u,y2*u),l.lineTo(x2*v,y2*v),l.quadraticCurveTo(xm*v,ym*v,q*v,r*v),l.fill()}else{var t=l.createLinearGradient(q,r,x2,y2);t.addColorStop(0,c),t.addColorStop(1,color2),l.strokeStyle=t,l.beginPath(),l.moveTo(q,r),l.quadraticCurveTo(xm,ym,x2,y2),l.stroke()}m=p-k,c=color2,f=o}l.restore(),b&&a("body").append("
drawCircle "+(+new Date-g)+"ms")},e.drawMask=function(){function c(a,b,c){for(var d=1/a,e=1/b,f=0;b>=f;++f)for(var g=1-f*e,h=0;a>=h;++h){var i=1-h*d,j=1-2*Math.min(g*i,(1-g)*i),k=j>0?.5*(2*g-1+j)/j:0;c(h,f,k,j)}}var d=+new Date,f=2*e.square,g=e.square;if(e.ctxMask.getImageData){var h=Math.floor(f/2),i=document.createElement("canvas");i.width=i.height=h+1;var j=i.getContext("2d"),k=j.getImageData(0,0,h+1,h+1),l=0;c(h,h,function(a,b,c,d){k.data[l++]=k.data[l++]=k.data[l++]=255*c,k.data[l++]=255*d}),j.putImageData(k,0,0),e.ctxMask.drawImage(i,0,0,h+1,h+1,-g,-g,2*g,2*g)}else if(navigator.userAgent.match(/msie/i)){var m,n,o=6,p=Math.floor(f/o);c(p,6,function(b,c,d,f){if(0==b&&(m=n,n=[]),d=Math.round(255*d),f=Math.round(255*f),c>0){var h=m[b][0],i=m[b][1],j=e.packDX(h,i),k=e.packDX(d,f),l=Math.round(e.mid+(.333*(c-1)-1)*g),q=Math.round(e.mid+(.333*c-1)*g);a("
").css({position:"absolute",filter:"progid:DXImageTransform.Microsoft.Gradient(StartColorStr="+j+", EndColorStr="+k+", GradientType=0)",top:l,height:q-l,left:e.mid+(b*o-g-1),width:o-(b==p?Math.round(o/2):0)}).appendTo(e.cnvMask)}n.push([d,f])})}else{var h=Math.floor(f/2);c(h,h,function(a,b,c,d){c=Math.round(255*c),e.ctxMask.fillStyle="rgba("+c+", "+c+", "+c+", "+d+")",e.ctxMask.fillRect(2*a-g-1,2*b-g-1,2,2)})}b&&a("body").append("
drawMask "+(+new Date-d)+"ms")},e.drawMarkers=function(){var a=d.width,b=Math.ceil(e.markerSize/4),c=e.markerSize-b+1,f=6.28*e.hsl[0],g=Math.sin(f)*e.radius,h=-Math.cos(f)*e.radius,j=2*e.square*(.5-e.hsl[1]),k=2*e.square*(.5-e.hsl[2]),l=e.invert?"#fff":"#000",m=e.invert?"#000":"#fff",n=[{x:g,y:h,r:c,c:"#000",lw:b+1},{x:g,y:h,r:e.markerSize,c:"#fff",lw:b},{x:j,y:k,r:c,c:m,lw:b+1},{x:j,y:k,r:e.markerSize,c:l,lw:b}];e.ctxOverlay.clearRect(-e.mid,-e.mid,a,a);for(i in n){var o=n[i];e.ctxOverlay.lineWidth=o.lw,e.ctxOverlay.strokeStyle=o.c,e.ctxOverlay.beginPath(),e.ctxOverlay.arc(o.x,o.y,o.r,0,2*Math.PI,!0),e.ctxOverlay.stroke()}},e.updateDisplay=function(){e.invert=.3*e.rgb[0]+.59*e.rgb[1]+.11*e.rgb[2]<=.6,e.solidFill.css("backgroundColor",e.pack(e.HSLToRGB([e.hsl[0],1,.5]))),e.drawMarkers(),"object"==typeof e.callback?(a(e.callback).css({backgroundColor:e.color,color:e.invert?"#fff":"#000"}),a(e.callback).each(function(){"string"==typeof this.value&&this.value!=e.color&&(this.value=e.color)})):"function"==typeof e.callback&&e.callback.call(e,e.color)},e.widgetCoords=function(a){return{x:a.pageX-e.offset.left-e.mid,y:a.pageY-e.offset.top-e.mid}},e.mousedown=function(b){a._farbtastic.dragging||(a(document).bind("mousemove",e.mousemove).bind("mouseup",e.mouseup),a._farbtastic.dragging=!0),e.offset=a(c).offset();var d=e.widgetCoords(b);return e.circleDrag=Math.max(Math.abs(d.x),Math.abs(d.y))>e.square+2,e.mousemove(b),!1},e.mousemove=function(a){var b=e.widgetCoords(a);if(e.circleDrag){var c=Math.atan2(b.x,-b.y)/6.28;e.setHSL([(c+1)%1,e.hsl[1],e.hsl[2]])}else{var d=Math.max(0,Math.min(1,-(b.x/e.square/2)+.5)),f=Math.max(0,Math.min(1,-(b.y/e.square/2)+.5));e.setHSL([e.hsl[0],d,f])}return!1},e.mouseup=function(){a(document).unbind("mousemove",e.mousemove),a(document).unbind("mouseup",e.mouseup),a._farbtastic.dragging=!1},e.dec2hex=function(a){return(16>a?"0":"")+a.toString(16)},e.packDX=function(a,b){return"#"+e.dec2hex(b)+e.dec2hex(a)+e.dec2hex(a)+e.dec2hex(a)},e.pack=function(a){var b=Math.round(255*a[0]),c=Math.round(255*a[1]),d=Math.round(255*a[2]);return"#"+e.dec2hex(b)+e.dec2hex(c)+e.dec2hex(d)},e.unpack=function(a){function b(b){return parseInt(a.substring(b,b+2),16)/255}function b(b){return parseInt(a.substring(b,b+1),16)/15}return 7==a.length?[b(1),b(3),b(5)]:4==a.length?[b(1),b(2),b(3)]:void 0},e.HSLToRGB=function(a){var b,c,d=a[0],e=a[1],f=a[2];return c=.5>=f?f*(e+1):f+e-f*e,b=2*f-c,[this.hueToRGB(b,c,d+.33333),this.hueToRGB(b,c,d),this.hueToRGB(b,c,d-.33333)]},e.hueToRGB=function(a,b,c){return c=(c+1)%1,1>6*c?a+(b-a)*c*6:1>2*c?b:2>3*c?a+(b-a)*(.66666-c)*6:a},e.RGBToHSL=function(a){var b=a[0],c=a[1],d=a[2],e=Math.min(b,c,d),f=Math.max(b,c,d),g=f-e,h=0,i=0,j=(e+f)/2;return j>0&&1>j&&(i=g/(.5>j?2*j:2-2*j)),g>0&&(f==b&&f!=c&&(h+=(c-d)/g),f==c&&f!=d&&(h+=2+(d-b)/g),f==d&&f!=b&&(h+=4+(b-c)/g),h/=6),[h,i,j]},d.callback||(d={callback:d}),d=a.extend({width:300,wheelWidth:(d.width||300)/10,callback:null,color:"#808080"},d),e.initWidget(),a("canvas.farbtastic-overlay",c).mousedown(e.mousedown),d.callback&&e.linkTo(d.callback),e.setColor("#808080"),e.setColor(d.color)}}(jQuery); +!function(a){var b=!1;a.fn.farbtastic=function(b){return a.farbtastic(this,b),this},a.farbtastic=function(b,c){var b=a(b)[0];return b.farbtastic||(b.farbtastic=new a._farbtastic(b,c))},a._farbtastic=function(c,d){var e=this;e.linkTo=function(b){return"object"==typeof e.callback&&a(e.callback).unbind("keyup",e.updateValue),e.color=null,"function"==typeof b?e.callback=b:("object"==typeof b||"string"==typeof b)&&(e.callback=a(b),e.callback.bind("keyup",e.updateValue),e.callback[0].value&&e.setColor(e.callback[0].value)),this},e.updateValue=function(){this.value&&this.value!=e.color&&e.setColor(this.value)},e.setColor=function(a){var b=e.unpack(a);return e.color!=a&&b&&(e.color=a,e.rgb=b,e.hsl=e.RGBToHSL(e.rgb),e.updateDisplay()),this},e.setHSL=function(a){return e.hsl=a,e.rgb=e.HSLToRGB(a),e.color=e.pack(e.rgb),e.updateDisplay(),this},e.initWidget=function(){var b={width:d.width,height:d.width};a(c).html('
').find("*").attr(b).css(b).end().find("div>*").css("position","absolute"),a.browser.msie||!1,e.radius=(d.width-d.wheelWidth)/2-1,e.square=Math.floor(.7*(e.radius-d.wheelWidth/2))-1,e.mid=Math.floor(d.width/2),e.markerSize=.3*d.wheelWidth,e.solidFill=a(".farbtastic-solid",c).css({width:2*e.square-1,height:2*e.square-1,left:e.mid-e.square,top:e.mid-e.square}),e.cnvMask=a(".farbtastic-mask",c),e.ctxMask=e.cnvMask[0].getContext("2d"),e.cnvOverlay=a(".farbtastic-overlay",c),e.ctxOverlay=e.cnvOverlay[0].getContext("2d"),e.ctxMask.translate(e.mid,e.mid),e.ctxOverlay.translate(e.mid,e.mid),e.drawCircle(),e.drawMask()},e.drawCircle=function(){var c,f,g=+new Date,h=24,i=e.radius,j=d.wheelWidth,k=8/i/h*Math.PI,l=e.ctxMask,m=0;l.save(),l.lineWidth=j/i,l.scale(i,i);for(var n=0;h>=n;++n){var o=n/h,p=o*Math.PI*2,q=Math.sin(m),r=-Math.cos(m);if(x2=Math.sin(p),y2=-Math.cos(p),am=(m+p)/2,tan=1/Math.cos((p-m)/2),xm=Math.sin(am)*tan,ym=-Math.cos(am)*tan,color2=e.pack(e.HSLToRGB([o,1,.5])),n>0)if(a.browser.msie){var s=(1+Math.min(Math.abs(Math.tan(m)),Math.abs(Math.tan(Math.PI/2-m))))/h;c=e.pack(e.HSLToRGB([f-.15*s,1,.5])),color2=e.pack(e.HSLToRGB([o+.15*s,1,.5]));var t=l.createLinearGradient(q,r,x2,y2);t.addColorStop(0,c),t.addColorStop(1,color2),l.fillStyle=t;var u=(i+j/2)/i,v=(i-j/2)/i;l.beginPath(),l.moveTo(q*u,r*u),l.quadraticCurveTo(xm*u,ym*u,x2*u,y2*u),l.lineTo(x2*v,y2*v),l.quadraticCurveTo(xm*v,ym*v,q*v,r*v),l.fill()}else{var t=l.createLinearGradient(q,r,x2,y2);t.addColorStop(0,c),t.addColorStop(1,color2),l.strokeStyle=t,l.beginPath(),l.moveTo(q,r),l.quadraticCurveTo(xm,ym,x2,y2),l.stroke()}m=p-k,c=color2,f=o}l.restore(),b&&a("body").append("
drawCircle "+(+new Date-g)+"ms")},e.drawMask=function(){function c(a,b,c){for(var d=1/a,e=1/b,f=0;b>=f;++f)for(var g=1-f*e,h=0;a>=h;++h){var i=1-h*d,j=1-2*Math.min(g*i,(1-g)*i),k=j>0?.5*(2*g-1+j)/j:0;c(h,f,k,j)}}var d=+new Date,f=2*e.square,g=e.square;if(e.ctxMask.getImageData){var h=Math.floor(f/2),i=document.createElement("canvas");i.width=i.height=h+1;var j=i.getContext("2d"),k=j.getImageData(0,0,h+1,h+1),l=0;c(h,h,function(a,b,c,d){k.data[l++]=k.data[l++]=k.data[l++]=255*c,k.data[l++]=255*d}),j.putImageData(k,0,0),e.ctxMask.drawImage(i,0,0,h+1,h+1,-g,-g,2*g,2*g)}else if(a.browser.msie){var m,n,o=6,p=Math.floor(f/o);c(p,6,function(b,c,d,f){if(0==b&&(m=n,n=[]),d=Math.round(255*d),f=Math.round(255*f),c>0){var h=m[b][0],i=m[b][1],j=e.packDX(h,i),k=e.packDX(d,f),l=Math.round(e.mid+(.333*(c-1)-1)*g),q=Math.round(e.mid+(.333*c-1)*g);a("
").css({position:"absolute",filter:"progid:DXImageTransform.Microsoft.Gradient(StartColorStr="+j+", EndColorStr="+k+", GradientType=0)",top:l,height:q-l,left:e.mid+(b*o-g-1),width:o-(b==p?Math.round(o/2):0)}).appendTo(e.cnvMask)}n.push([d,f])})}else{var h=Math.floor(f/2);c(h,h,function(a,b,c,d){c=Math.round(255*c),e.ctxMask.fillStyle="rgba("+c+", "+c+", "+c+", "+d+")",e.ctxMask.fillRect(2*a-g-1,2*b-g-1,2,2)})}b&&a("body").append("
drawMask "+(+new Date-d)+"ms")},e.drawMarkers=function(){var a=d.width,b=Math.ceil(e.markerSize/4),c=e.markerSize-b+1,f=6.28*e.hsl[0],g=Math.sin(f)*e.radius,h=-Math.cos(f)*e.radius,i=2*e.square*(.5-e.hsl[1]),j=2*e.square*(.5-e.hsl[2]),k=e.invert?"#fff":"#000",l=e.invert?"#000":"#fff",m=[{x:g,y:h,r:c,c:"#000",lw:b+1},{x:g,y:h,r:e.markerSize,c:"#fff",lw:b},{x:i,y:j,r:c,c:l,lw:b+1},{x:i,y:j,r:e.markerSize,c:k,lw:b}];e.ctxOverlay.clearRect(-e.mid,-e.mid,a,a);for(var n=0;ne.square+2,e.mousemove(b),!1},e.mousemove=function(a){var b=e.widgetCoords(a);if(e.circleDrag){var c=Math.atan2(b.x,-b.y)/6.28;e.setHSL([(c+1)%1,e.hsl[1],e.hsl[2]])}else{var d=Math.max(0,Math.min(1,-(b.x/e.square/2)+.5)),f=Math.max(0,Math.min(1,-(b.y/e.square/2)+.5));e.setHSL([e.hsl[0],d,f])}return!1},e.mouseup=function(){a(document).unbind("mousemove",e.mousemove),a(document).unbind("mouseup",e.mouseup),a._farbtastic.dragging=!1},e.dec2hex=function(a){return(16>a?"0":"")+a.toString(16)},e.packDX=function(a,b){return"#"+e.dec2hex(b)+e.dec2hex(a)+e.dec2hex(a)+e.dec2hex(a)},e.pack=function(a){var b=Math.round(255*a[0]),c=Math.round(255*a[1]),d=Math.round(255*a[2]);return"#"+e.dec2hex(b)+e.dec2hex(c)+e.dec2hex(d)},e.unpack=function(a){function b(b){return parseInt(a.substring(b,b+2),16)/255}function b(b){return parseInt(a.substring(b,b+1),16)/15}return 7==a.length?[b(1),b(3),b(5)]:4==a.length?[b(1),b(2),b(3)]:void 0},e.HSLToRGB=function(a){var b,c,d=a[0],e=a[1],f=a[2];return c=.5>=f?f*(e+1):f+e-f*e,b=2*f-c,[this.hueToRGB(b,c,d+.33333),this.hueToRGB(b,c,d),this.hueToRGB(b,c,d-.33333)]},e.hueToRGB=function(a,b,c){return c=(c+1)%1,1>6*c?a+(b-a)*c*6:1>2*c?b:2>3*c?a+(b-a)*(.66666-c)*6:a},e.RGBToHSL=function(a){var b=a[0],c=a[1],d=a[2],e=Math.min(b,c,d),f=Math.max(b,c,d),g=f-e,h=0,i=0,j=(e+f)/2;return j>0&&1>j&&(i=g/(.5>j?2*j:2-2*j)),g>0&&(f==b&&f!=c&&(h+=(c-d)/g),f==c&&f!=d&&(h+=2+(d-b)/g),f==d&&f!=b&&(h+=4+(b-c)/g),h/=6),[h,i,j]},d.callback||(d={callback:d}),d=a.extend({width:300,wheelWidth:(d.width||300)/10,callback:null},d),e.initWidget(),a("canvas.farbtastic-overlay",c).mousedown(e.mousedown),d.callback&&e.linkTo(d.callback),e.color||e.setColor("#808080")}}(jQuery); //# sourceMappingURL=../../maps/libs/farbtastic.js.map \ No newline at end of file diff --git a/static/scripts/libs/jquery/jqtouch.js b/static/scripts/libs/jquery/jqtouch.js index 2c018b82f93..7d24f648a09 100644 --- a/static/scripts/libs/jquery/jqtouch.js +++ b/static/scripts/libs/jquery/jqtouch.js @@ -1,2 +1,2 @@ -!function(a){var b,c=null,d=null,e=location.hash,f="#",g=0,h=[],i=[],j=0;a.fn.jQTouch=function(b){var c={fullScreen:!0,slideInSelector:"ul li a",backSelector:".back",flipSelector:".flip",slideUpSelector:".slideup",statusBar:"default",icon:null,iconIsGlossy:!1,fixedViewport:!0},d=a.extend({},c,b),e=a("head");if(d.backSelector&&a(d.backSelector).live("click",function(){return history.back(),!1}),d.icon){var f=d.iconIsGlossy?"":"-precomposed";e.append('')}d.fixedViewport&&e.append(''),d.fullScreen&&(e.append(''),d.statusBar&&e.append(''));var g=[];d.slideInSelector&&g.push(d.slideInSelector),d.flipSelector&&g.push(d.flipSelector),d.slideUpSelector&&g.push(d.slideUpSelector),g.length>0&&(a(g.join(", ")).live("click",function(){var b=a(this),c=b.attr("hash"),e="slideInOut";if(a(this).is(d.flipSelector)&&(e="flip"),a(this).is(d.slideUpSelector)&&(e="slideUp"),c&&"#"!=c)b.attr("selected","true"),a.fn.jQTouch.showPage(a(c),e),setTimeout(a.fn.unselect,350,a(this));else if("#"!=b.attr("href")){b.attr("selected","progress");try{a.fn.jQTouch.showPageByHref(a(this).attr("href"),null,null,null,e,function(){setTimeout(a.fn.unselect,350,b)})}catch(f){console.log(f)}}return!1}),a(function(){var b=a.fn.jQTouch.getSelectedPage();b&&a.fn.jQTouch.showPage(b),a.fn.jQTouch.startCheck()}))},a.fn.ianimate=function(a,b,c){if(0===b)this.css(a),window.setTimeout(c,0);else{var d=[];for(var e in a)d.push(e);this.css({webkitTransitionProperty:d.join(", "),webkitTransitionDuration:b+"ms",webkitTransitionTimingFunction:"ease-in-out"}),window.setTimeout(function(a,b){a.css(b)},0,this,a),window.setTimeout(c,b)}return this},a.fn.jQTouch.checkOrientAndLocation=function(){if(window.innerWidth!=g){g=window.innerWidth,currentHeight=window.innerHeight;var b=g *[selected!=false]").slice(0,1)},a.fn.jQTouch.showPage=function(b,e,f){if(b){d&&(d.attr("selected",null),d=null);var g=c;c=b,g?a.fn.jQTouch.animatePages(g,b,e,f):a.fn.jQTouch.updatePage(b,g,e)}},a.fn.jQTouch.showPageById=function(b){var c=a(b);if(c){var d,f=h.indexOf(e),g=h.indexOf(b),j=-1!=g;j&&(d=i[f].transition,h.splice(g,h.length),i.splice(g,i.length)),a.fn.jQTouch.showPage(c,d,j)}},a.fn.jQTouch.insertPages=function(b,c){var d;b.each(function(){a(this).attr("id")||a(this).attr("id",++j),a(this).appendTo(a("body")),("true"==a(this).attr("selected")||!d&&!a(this).hasClass("btn"))&&(d=a(this))}),d&&a.fn.jQTouch.showPage(d,c)},a.fn.jQTouch.showPageByHref=function(b,c,d,e,f,g){a.ajax({url:b,data:c,type:d||"GET",success:function(b){a('a[selected="progress"]').attr("selected","true"),e?a(e).replaceWith(b):a.fn.jQTouch.insertPages(a(b)),g&&g(!0)},error:function(){g&&g(!1)}})},a.fn.jQTouch.submitForm=function(){return a.fn.jQTouch.showPageByHref(a(this).attr("action")||"POST",a(this).serialize(),a(this).attr("method")),!1},a.fn.showForm=function(){return this.each(function(){a(this).submit(a.fn.jQTouch.submitForm)})},a.fn.jQTouch.animatePages=function(c,d,e,f){clearInterval(b),"flip"==e?(d.flip({backwards:f}),c.flip({backwards:f})):"slideUp"==e?f?(d.attr("selected",!0),c.slideUpDown({backwards:f})):d.slideUpDown({backwards:f}):(d.slideInOut({backwards:f}),c.slideInOut({backwards:f})),setTimeout(function(){c.attr("selected","false"),a.fn.jQTouch.updatePage(d,c,e),a.fn.jQTouch.startCheck()},500)},a.fn.jQTouch.startCheck=function(){b=setInterval(a.fn.jQTouch.checkOrientAndLocation,350)},a.fn.jQTouch.updatePage=function(a,b,c){a&&(a.attr("id")||a.attr("id",++j),location.replace(f+a.attr("id")),e=location.hash,h.push(e),i.push({page:a,transition:c}),"form"!=a.attr("localName")||a.attr("target")||a.showForm())},a.fn.unselect=function(a){a.attr("selected",!1)},a.preloadImages=function(a){for(var b=a.length-1;b>=0;b--)(new Image).src=a[b]},a.fn.flip=function(b){this.each(function(){var c={direction:"toggle",backwards:!1},d=a.extend({},c,b),e="toggle"==d.direction&&"true"==a(this).attr("selected")||"out"==d.direction?1:-1;-1==e&&a(this).attr("selected","true"),a(this).parent().css({webkitPerspective:"2000"}),a(this).css({"-webkit-backface-visibility":"hidden","-webkit-transform":"rotateY("+(1==e?"0":(d.backwards?"":"-")+"180")+"deg)"}).ianimate({"-webkit-transform":"rotateY("+(1==e?(d.backwards?"-":"")+"180":"0")+"deg)"},350)})},a.fn.slideInOut=function(b){var c={direction:"toggle",backwards:!1},d=a.extend({},c,b);this.each(function(){var b="toggle"==d.direction&&"true"==a(this).attr("selected")||"out"==d.direction?1:-1;-1==b?a(this).attr("selected","true").css({"-webkit-transform":"translateX("+(d.backwards?-1:1)*g+"px)"}).ianimate({"-webkit-transform":"translateX(0px)"},350).find("h1, .button").css("opacity",0).ianimate({opacity:1},100):a(this).ianimate({"-webkit-transform":"translateX("+(d.backwards?1:-1)*b*g+"px)"},350).find("h1, .button").ianimate({opacity:0},100)})},a.fn.slideUpDown=function(b){var c={direction:"toggle",backwards:!1},d=a.extend({},c,b);this.each(function(){var b="toggle"==d.direction&&"true"==a(this).attr("selected")||"out"==d.direction?1:-1;-1==b?a(this).attr("selected","true").css({"-webkit-transform":"translateY("+(d.backwards?-1:1)*currentHeight+"px)"}).ianimate({"-webkit-transform":"translateY(0px)"},350).find("h1, .button").css("opacity",0).ianimate({opacity:1},100):a(this).ianimate({"-webkit-transform":"translateY("+currentHeight+"px)"},350).find("h1, .button").ianimate({opacity:0},100)})}}(jQuery); +!function(){$.jQTouch=function(a){function b(a){void 0!==window.console&&F.debug===!0&&console.warn(a)}function c(a){"string"==typeof a.selector&&"string"==typeof a.name&&O.push(a)}function d(a){"string"==typeof a.name&&"function"==typeof a.isSupported&&"function"==typeof a.fn&&N.push(a)}function e(a,b){D.unshift({page:a,animation:b,hash:"#"+a.attr("id"),id:a.attr("id")})}function f(a){var c=$(a.target);c.is(I.join(", "))||(c=$(a.target).closest(I.join(", "))),c&&c.attr("href")&&!c.isExternalLink()?(b("Need to prevent default click behavior."),a.preventDefault()):b("No need to prevent default click behavior."),$.support.touch?b("Not converting click to a tap event because touch handler is on the job."):(b("Converting click event to a tap event because touch handlers are not present or off."),$(a.target).trigger("tap",a))}function g(a,c,d,f){function g(){var b=K;$.support.animationEvents&&d&&F.useAnimations?(a.unbind("webkitAnimationEnd",g),a.removeClass(i+" out inmotion"),i&&c.removeClass(i),B.removeClass("animating animating3d"),F.trackScrollPositions===!0&&(c.css("top",-c.data("lastScroll")),setTimeout(function(){c.css("top",0),window.scroll(0,c.data("lastScroll")),$(".scroll",c).each(function(){this.scrollTop=-$(this).data("lastScroll")})},0))):(a.removeClass(i+" out inmotion"),i&&c.removeClass(i),b+=260),setTimeout(function(){c.removeClass("in"),window.scroll(0,0)},b),a.unselect(),c.trigger("pageAnimationEnd",{direction:"in",animation:d,back:f}),a.trigger("pageAnimationEnd",{direction:"out",animation:d,back:f})}if(f=f?f:!1,void 0===c||0===c.length)return $.fn.unselect(),b("Target element is missing."),!1;if(c.hasClass("current"))return $.fn.unselect(),b("You are already on the page you are trying to navigate to."),!1;if($(":focus").trigger("blur"),a.trigger("pageAnimationStart",{direction:"out",back:f}),c.trigger("pageAnimationStart",{direction:"in",back:f}),$.support.animationEvents&&d&&F.useAnimations){!$.support.transform3d&&d.is3d&&(b("Did not detect support for 3d animations, falling back to "+F.defaultAnimation+"."),d.name=F.defaultAnimation);var i=d.name,j=d.is3d?"animating3d":"";f&&(i=i.replace(/left|right|up|down|in|out/,h)),b("finalAnimationName is "+i+"."),a.bind("webkitAnimationEnd",g),B.addClass("animating "+j);var k=window.pageYOffset;F.trackScrollPositions===!0&&c.css("top",window.pageYOffset-(c.data("lastScroll")||0)),c.addClass(i+" in current"),a.removeClass("current").addClass(i+" out inmotion"),F.trackScrollPositions===!0&&(a.data("lastScroll",k),$(".scroll",a).each(function(){$(this).data("lastScroll",this.scrollTop)}))}else c.addClass("current in"),a.removeClass("current"),g();return G=c,f?D.shift():e(G,d),r(G.attr("id")),!0}function h(a){var b={up:"down",down:"up",left:"right",right:"left","in":"out",out:"in"};return b[a]||a}function i(){return H}function j(){D.length<1&&b("History is empty."),1===D.length&&(b("You are on the first panel."),window.history.go(-1));var a=D[0],c=D[1];return g(a.page,c.page,a.animation,!0)?J:(b("Could not go back."),!1)}function k(a,c){var d=D[0].page;if("string"==typeof c)for(var e=0,f=O.length;f>e;e++)if(O[e].name===c){c=O[e];break}if("string"==typeof a){var h=$(a);if(h.length<1)return void t(a,{animation:c});a=h}return g(d,a,c)?J:(b("Could not animate pages."),!1)}function l(){return location.hash===D[0].hash?(b("We are on the right panel."),!0):""===location.hash?(j(),!0):D[1]&&location.hash===D[1].hash?(j(),!0):(b("Could not find ID in history, just forwarding to DOM element."),void k($(location.hash),F.defaultAnimation))}function m(){if(F.preloadImages)for(var a=F.preloadImages.length-1;a>=0;a--)(new Image).src=F.preloadImages[a];var b=F.addGlossToIcon?"":"-precomposed";F.icon&&(P+=''),F.icon4&&(P+=''),F.startupScreen&&(P+=''),F.fixedViewport&&(P+=''),F.fullScreen&&(P+='',F.statusBar&&(P+='')),P&&C.prepend(P)}function n(){$.fn.isExternalLink=function(){var a=$(this);return"_blank"===a.attr("target")||"external"===a.attr("rel")||a.is('a[href^="http://maps.google.com"], a[href^="mailto:"], a[href^="tel:"], a[href^="javascript:"], a[href*="youtube.com/v"], a[href*="youtube.com/watch"]')},$.fn.makeActive=function(){return $(this).addClass("active")},$.fn.unselect=function(a){a?a.removeClass("active"):$(".active").removeClass("active")}}function o(a){for(var c,d=0,e=O.length;e>d;d++)if(a.is(O[d].selector)){c=O[d];break}return c||(b("Animation could not be found. Using "+F.defaultAnimation+"."),c=F.defaultAnimation),c}function p(a,b){var c=null,d=document.createElement("div");return d.innerHTML=a,$(d).children().each(function(){var a=$(this);a.attr("id")||a.attr("id","page-"+ ++E),$("#"+a.attr("id")).remove(),B.append(a),B.trigger("pageInserted",{page:a}),(a.hasClass("current")||!c)&&(c=a)}),null!==c?(k(c,b),c):!1}function q(){scrollTo(0,0),H=90===Math.abs(window.orientation)?"landscape":"portrait",B.removeClass("portrait landscape").addClass(H).trigger("turn",{orientation:H})}function r(a){F.updateHash&&(location.hash="#"+a.replace(/^#/,""))}function s(){$.support||($.support={}),$.support.animationEvents="undefined"!=typeof window.WebKitAnimationEvent,$.support.touch="undefined"!=typeof window.TouchEvent&&window.navigator.userAgent.indexOf("Mobile")>-1&&F.useFastTouch,$.support.transform3d=w(),$.support.ios5=x(),$.support.touch||b("This device does not support touch interaction, or it has been deactivated by the developer. Some features might be unavailable."),$.support.transform3d||b("This device does not support 3d animation. 2d animations will be used instead.");for(var a=0,g=L.length;g>a;a++){var h=L[a];$.isFunction(h)&&$.extend(J,h(J))}for(var i=0,j=M.length;j>i;i++)d(M[i]);A();for(var m=0,n=Q.animations.length;n>m;m++){var o=Q.animations[m];void 0!==F[o.name+"Selector"]&&(o.selector=F[o.name+"Selector"]),c(o)}I.push(F.touchSelector),I.push(F.backSelector),I.push(F.submitSelector),$(I.join(", ")).css("-webkit-touch-callout","none"),B=$("#jqt");var p=[];0===B.length&&(b('Could not find an element with the id "jqt", so the body id has been set to "jqt". If you are having any problems, wrapping your panels in a div with the id "jqt" might help.'),B=$(document.body).attr("id","jqt")),$.support.transform3d&&p.push("supports3d"),F.useTouchScroll&&p.push($.support.ios5?"touchscroll":"autoscroll"),F.fullScreenClass&&window.navigator.standalone===!0&&p.push(F.fullScreenClass,F.statusBar),B.addClass(p.join(" ")).bind("click",f).bind("orientationchange",q).bind("submit",u).bind("tap",z).bind($.support.touch?"touchstart":"mousedown",y).trigger("orientationchange"),$(window).bind("hashchange",l);var s=location.hash;G=0===$("#jqt > .current").length?$("#jqt > *:first-child").addClass("current"):$("#jqt > .current"),r(G.attr("id")),e(G),1===$(s).length&&k(s)}function t(a,b){var c={data:null,method:"GET",animation:null,callback:null,$referrer:null},d=$.extend({},c,b);"#"!==a?$.ajax({url:a,data:d.data,type:d.method,success:function(a){var b=p(a,d.animation);b&&("GET"===d.method&&F.cacheGetRequests===!0&&d.$referrer&&d.$referrer.attr("href","#"+b.attr("id")),d.callback&&d.callback(!0))},error:function(){d.$referrer&&d.$referrer.unselect(),d.callback&&d.callback(!1)}}):d.$referrer&&d.$referrer.unselect()}function u(a,b){$(":focus").trigger("blur"),a.preventDefault();var c="string"==typeof a?$(a).eq(0):$(a.target?a.target:a);return c.length&&c.is(F.formSelector)&&c.attr("action")?(t(c.attr("action"),{data:c.serialize(),method:c.attr("method")||"POST",animation:o(c),callback:b}),!1):!0}function v(a){var c=a.closest("form");return 0!==c.length?(b("About to submit parent form."),c.trigger("submit"),!1):(b("No parent form found."),!0)}function w(){var a,c,d,e,f;return a=document.getElementsByTagName("head")[0],c=document.body,d=document.createElement("style"),d.textContent="@media (transform-3d),(-o-transform-3d),(-moz-transform-3d),(-webkit-transform-3d){#jqt-3dtest{height:3px}}",e=document.createElement("div"),e.id="jqt-3dtest",a.appendChild(d),c.appendChild(e),f=3===e.offsetHeight,d.parentNode.removeChild(d),e.parentNode.removeChild(e),b("Support for 3d transforms: "+f+"."),f}function x(){var a=!1,b=/OS (\d+)(_\d+)* like Mac OS X/i,c=window.navigator.userAgent;return b.test(c)&&(a=b.exec(c)[1]>=5),a}function y(a){var b=$(a.target),c=I.join(", ");b.is(c)||(b=b.closest(c)),b.length&&b.attr("href")&&b.addClass("active"),b.on($.support.touch?"touchmove":"mousemove",function(){b.removeClass("active")}),b.on("touchend",function(){b.unbind("touchmove mousemove")})}function z(a){if(a.isDefaultPrevented())return!0;var c=$(a.target);if(c.is(I.join(", "))||(c=c.closest(I.join(", "))),!c.length||!c.attr("href"))return b("Could not find a link related to tapped element."),!0;for(var d=c.attr("target"),e=c.prop("hash"),f=c.attr("href"),g={e:a,$el:c,target:d,hash:e,href:f,jQTSettings:F},h=0,i=N.length;i>h;h++){var j=N[h],k=j.isSupported(a,g);if(k){var l=j.fn(a,g);return l}}}function A(){d({name:"external-link",isSupported:function(a,b){return b.$el.isExternalLink()},fn:function(a,b){return b.$el.unselect(),!0}}),d({name:"back-selector",isSupported:function(a,b){return b.$el.is(b.jQTSettings.backSelector)},fn:function(a,b){j(b.hash)}}),d({name:"submit-selector",isSupported:function(a,b){return b.$el.is(b.jQTSettings.submitSelector)},fn:function(a,b){v(b.$el)}}),d({name:"webapp",isSupported:function(a,b){return"_webapp"===b.target},fn:function(a,b){return window.location=b.href,!1}}),d({name:"no-op",isSupported:function(a,b){return"#"===b.href},fn:function(a,b){return b.$el.unselect(),!0}}),d({name:"standard",isSupported:function(a,b){return b.hash&&"#"!==b.hash},fn:function(a,b){var c=o(b.$el);return b.$el.addClass("active"),k($(b.hash).data("referrer",b.$el),c,b.$el.hasClass("reverse")),!1}}),d({name:"external",isSupported:function(){return!0},fn:function(a,b){var c=o(b.$el);return b.$el.addClass("loading active"),t(b.$el.attr("href"),{animation:c,callback:function(){b.$el.removeClass("loading"),setTimeout($.fn.unselect,250,b.$el)},$referrer:b.$el}),!1}})}var B,C=$("head"),D=[],E=0,F={},G="",H="portrait",I=[],J={},K=100,L=$.jQTouch.prototype.extensions,M=$.jQTouch.prototype.tapHandlers,N=[],O=[],P="",Q={addGlossToIcon:!0,backSelector:".back, .cancel, .goback",cacheGetRequests:!0,debug:!0,defaultAnimation:"slideleft",fixedViewport:!0,formSelector:"form",fullScreen:!0,fullScreenClass:"fullscreen",icon:null,icon4:null,preloadImages:!1,starter:$(document).ready,startupScreen:null,statusBar:"default",submitSelector:".submit",touchSelector:"a, .touch",trackScrollPositions:!0,updateHash:!0,useAnimations:!0,useFastTouch:!0,useTouchScroll:!0,animations:[{name:"cubeleft",selector:".cubeleft, .cube",is3d:!0},{name:"cuberight",selector:".cuberight",is3d:!0},{name:"dissolve",selector:".dissolve"},{name:"fade",selector:".fade"},{name:"flipleft",selector:".flipleft, .flip",is3d:!0},{name:"flipright",selector:".flipright",is3d:!0},{name:"pop",selector:".pop",is3d:!0},{name:"swapleft",selector:".swapleft, .swap",is3d:!0},{name:"swapright",selector:".swapright",is3d:!0},{name:"slidedown",selector:".slidedown"},{name:"slideright",selector:".slideright"},{name:"slideup",selector:".slideup"},{name:"slideleft",selector:".slideleft, .slide, #jqt > * > ul li a"}]};return F=$.extend({},Q,a),m(a),n(),J={addAnimation:c,animations:O,getOrientation:i,goBack:j,insertPages:p,goTo:k,history:D,settings:F,submitForm:u},F.starter(s),J},$.jQTouch.prototype.extensions=[],$.jQTouch.prototype.tapHandlers=[],$.jQTouch.addExtension=function(a){$.jQTouch.prototype.extensions.push(a)},$.jQTouch.addTapHandler=function(a){$.jQTouch.prototype.tapHandlers.push(a)}}(); //# sourceMappingURL=../../../maps/libs/jquery/jqtouch.js.map \ No newline at end of file diff --git a/static/scripts/libs/raven.js b/static/scripts/libs/raven.js index cdfa01fc6eb..dac5e7207b6 100644 --- a/static/scripts/libs/raven.js +++ b/static/scripts/libs/raven.js @@ -1,2 +1,2 @@ -!function(a,b){"use strict";function c(a,b){var c,d;b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=document.createEventObject(),c.eventType=a);for(d in b)l(b,d)&&(c[d]=b[d]);if(document.createEvent)document.dispatchEvent(c);else try{document.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}function d(a){this.name="RavenConfigError",this.message=a}function e(a){var b=V.exec(a),c={},e=7;try{for(;e--;)c[U[e]]=b[e]||""}catch(f){throw new d("Invalid DSN: "+a)}if(c.pass)throw new d("Do not specify your private key in the DSN!");return c}function f(a){return"undefined"==typeof a}function g(a){return"function"==typeof a}function h(a){return"string"==typeof a}function i(a){return"object"==typeof a&&null!==a}function j(a){for(var b in a)return!1;return!0}function k(a){return i(a)&&"[object Error]"===R.toString.call(a)||a instanceof Error}function l(a,b){return R.hasOwnProperty.call(a,b)}function m(a,b){var c,d;if(f(a.length))for(c in a)l(a,c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;d>c;c++)b.call(null,c,a[c])}function n(){M="?sentry_version=4&sentry_client=raven-js/"+T.VERSION+"&sentry_key="+K}function o(a,b){var d=[];a.stack&&a.stack.length&&m(a.stack,function(a,b){var c=p(b);c&&d.push(c)}),c("handle",{stackInfo:a,options:b}),r(a.name,a.message,a.url,a.lineno,d,b)}function p(a){if(a.url){var b,c={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"},d=q(a);if(d){var e=["pre_context","context_line","post_context"];for(b=3;b--;)c[e[b]]=d[b]}return c.in_app=!(!P.includePaths.test(c.filename)||/(Raven|TraceKit)\./.test(c.function)||/raven\.(min\.)?js$/.test(c.filename)),c}}function q(a){if(a.context&&P.fetchContext){for(var b=a.context,c=~~(b.length/2),d=b.length,e=!1;d--;)if(b[d].length>300){e=!0;break}if(e){if(f(a.column))return;return[[],b[c].substr(a.column,50),[]]}return[b.slice(0,c),b[c],b.slice(c+1)]}}function r(a,b,c,d,e,f){var g,h;b+="",("Error"!==a||b)&&(P.ignoreErrors.test(b)||(e&&e.length?(c=e[0].filename||c,e.reverse(),g={frames:e}):c&&(g={frames:[{filename:c,lineno:d,in_app:!0}]}),b=t(b,P.maxMessageLength),P.ignoreUrls&&P.ignoreUrls.test(c)||(!P.whitelistUrls||P.whitelistUrls.test(c))&&(h=d?b+" at "+d:b,w(s({exception:{type:a,value:b},stacktrace:g,culprit:c,message:h},f)))))}function s(a,b){return b?(m(b,function(b,c){a[b]=c}),a):a}function t(a,b){return a.length<=b?a:a.substr(0,b)+"…"}function u(){return+new Date}function v(){var a={url:document.location.href,headers:{"User-Agent":navigator.userAgent}};return document.referrer&&(a.headers.Referer=document.referrer),a}function w(a){y()&&(a=s({project:L,logger:P.logger,platform:"javascript",request:v()},a),a.tags=s(s({},P.tags),a.tags),a.extra=s(s({},P.extra),a.extra),a.extra=s({"session:duration":u()-S},a.extra),j(a.tags)&&delete a.tags,J&&(a.user=J),P.release&&(a.release=P.release),g(P.dataCallback)&&(a=P.dataCallback(a)),(!g(P.shouldSendCallback)||P.shouldSendCallback(a))&&(H=a.event_id||(a.event_id=A()),x(a)))}function x(a){var b=new Image,d=I+M+"&sentry_data="+encodeURIComponent(JSON.stringify(a));b.crossOrigin="anonymous",b.onload=function(){c("success",{data:a,src:d})},b.onerror=b.onabort=function(){c("failure",{data:a,src:d})},b.src=d}function y(){return O?I?!0:(B("error","Error: Raven has not been configured."),!1):!1}function z(a){for(var b,c=[],d=0,e=a.length;e>d;d++)b=a[d],h(b)?c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):b&&b.source&&c.push(b.source);return new RegExp(c.join("|"),"i")}function A(){return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"==a?b:3&b|8;return c.toString(16)})}function B(b,c){a.console&&console[b]&&T.debug&&console[b](c)}function C(){var b=a.RavenConfig;b&&T.config(b.dsn,b.config).install()}var D={remoteFetching:!1,collectWindowErrors:!0,linesOfContext:7},E=[].slice,F="?";D.wrap=function(a){function b(){try{return a.apply(this,arguments)}catch(b){throw D.report(b),b}}return b},D.report=function(){function c(a){h(),o.push(a)}function d(a){for(var b=o.length-1;b>=0;--b)o[b]===a&&o.splice(b,1)}function e(){i(),o=[]}function f(a,b){var c=null;if(!b||D.collectWindowErrors){for(var d in o)if(l(o,d))try{o[d].apply(null,[a].concat(E.call(arguments,2)))}catch(e){c=e}if(c)throw c}}function g(a,b,c,d,e){var g=null;if(r)D.computeStackTrace.augmentStackTraceWithInitialElement(r,b,c,a),j();else if(e)g=D.computeStackTrace(e),f(g,!0);else{var h={url:b,line:c,column:d};h.func=D.computeStackTrace.guessFunctionName(h.url,h.line),h.context=D.computeStackTrace.gatherContext(h.url,h.line),g={message:a,url:document.location.href,stack:[h]},f(g,!0)}return m?m.apply(this,arguments):!1}function h(){n||(m=a.onerror,a.onerror=g,n=!0)}function i(){n&&(a.onerror=m,n=!1,m=b)}function j(){var a=r,b=p;p=null,r=null,q=null,f.apply(null,[a,!1].concat(b))}function k(b,c){var d=E.call(arguments,1);if(r){if(q===b)return;j()}var e=D.computeStackTrace(b);if(r=e,q=b,p=d,a.setTimeout(function(){q===b&&j()},e.incomplete?2e3:0),c!==!1)throw b}var m,n,o=[],p=null,q=null,r=null;return k.subscribe=c,k.unsubscribe=d,k.uninstall=e,k}(),D.computeStackTrace=function(){function b(b){if(!D.remoteFetching)return"";try{var c=function(){try{return new a.XMLHttpRequest}catch(b){return new a.ActiveXObject("Microsoft.XMLHTTP")}},d=c();return d.open("GET",b,!1),d.send(""),d.responseText}catch(e){return""}}function c(a){if(!h(a))return[];if(!l(u,a)){var c="";-1!==a.indexOf(document.domain)&&(c=b(a)),u[a]=c?c.split("\n"):[]}return u[a]}function d(a,b){var d,e=/function ([^(]*)\(([^)]*)\)/,g=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,h="",i=10,j=c(a);if(!j.length)return F;for(var k=0;i>k;++k)if(h=j[b-k]+h,!f(h)){if(d=g.exec(h))return d[1];if(d=e.exec(h))return d[1]}return F}function e(a,b){var d=c(a);if(!d.length)return null;var e=[],g=Math.floor(D.linesOfContext/2),h=g+D.linesOfContext%2,i=Math.max(0,b-g-1),j=Math.min(d.length,b+h-1);b-=1;for(var k=i;j>k;++k)f(d[k])||e.push(d[k]);return e.length>0?e:null}function g(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function i(a){return g(a).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function j(a,b){for(var d,e,f=0,g=b.length;g>f;++f)if((d=c(b[f])).length&&(d=d.join("\n"),e=a.exec(d)))return{url:b[f],line:d.substring(0,e.index).split("\n").length,column:e.index-d.lastIndexOf("\n",e.index)-1};return null}function k(a,b,d){var e,f=c(b),h=new RegExp("\\b"+g(a)+"\\b");return d-=1,f&&f.length>d&&(e=h.exec(f[d]))?e.index:null}function m(b){for(var c,d,e,f,h=[a.location.href],k=document.getElementsByTagName("script"),l=""+b,m=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,n=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,o=0;om;++m){if(b=h.exec(i[m]))c={url:b[3],func:b[1]||F,args:b[2]?b[2].split(","):"",line:+b[4],column:b[5]?+b[5]:null};else{if(!(b=g.exec(i[m])))continue;c={url:b[2],func:b[1]||F,line:+b[3],column:b[4]?+b[4]:null}}!c.func&&c.line&&(c.func=d(c.url,c.line)),c.line&&(c.context=e(c.url,c.line)),j.push(c)}return j.length?(j[0].line&&!j[0].column&&l?j[0].column=k(l[1],j[0].url,j[0].line):j[0].column||f(a.columnNumber)||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:document.location.href,stack:j}):null}function o(a){for(var b,c=a.stacktrace,f=/ line (\d+), column (\d+) in (?:]+)>|([^\)]+))\((.*)\) in (.*):\s*$/i,g=c.split("\n"),h=[],i=0,j=g.length;j>i;i+=2)if(b=f.exec(g[i])){var k={line:+b[1],column:+b[2],func:b[3]||b[4],args:b[5]?b[5].split(","):[],url:b[6]};if(!k.func&&k.line&&(k.func=d(k.url,k.line)),k.line)try{k.context=e(k.url,k.line)}catch(l){}k.context||(k.context=[g[i+1]]),h.push(k)}return h.length?{name:a.name,message:a.message,url:document.location.href,stack:h}:null}function p(b){var f=b.message.split("\n");if(f.length<4)return null;var g,h,k,m,n=/^\s*Line (\d+) of linked script ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,p=/^\s*Line (\d+) of function script\s*$/i,q=[],r=document.getElementsByTagName("script"),s=[];for(h in r)l(r,h)&&!r[h].src&&s.push(r[h]);for(h=2,k=f.length;k>h;h+=2){var t=null;if(g=n.exec(f[h]))t={url:g[2],func:g[3],line:+g[1]};else if(g=o.exec(f[h])){t={url:g[3],func:g[4]};var u=+g[1],v=s[g[2]-1];if(v&&(m=c(t.url))){m=m.join("\n");var w=m.indexOf(v.innerText);w>=0&&(t.line=u+m.substring(0,w).split("\n").length)}}else if(g=p.exec(f[h])){var x=a.location.href.replace(/#.*$/,""),y=g[1],z=new RegExp(i(f[h+1]));m=j(z,[x]),t={url:x,line:m?m.line:y,func:""}}if(t){t.func||(t.func=d(t.url,t.line));var A=e(t.url,t.line),B=A?A[Math.floor(A.length/2)]:null;t.context=A&&B.replace(/^\s*/,"")===f[h+1].replace(/^\s*/,"")?A:[f[h+1]],q.push(t)}}return q.length?{name:b.name,message:f[0],url:document.location.href,stack:q}:null}function q(a,b,c,f){var g={url:b,line:c};if(g.url&&g.line){a.incomplete=!1,g.func||(g.func=d(g.url,g.line)),g.context||(g.context=e(g.url,g.line));var h=/ '([^']+)' /.exec(f);if(h&&(g.column=k(h[1],g.url,g.line)),a.stack.length>0&&a.stack[0].url===g.url){if(a.stack[0].line===g.line)return!1;if(!a.stack[0].line&&a.stack[0].func===g.func)return a.stack[0].line=g.line,a.stack[0].context=g.context,!1}return a.stack.unshift(g),a.partial=!0,!0}return a.incomplete=!0,!1}function r(a,b){for(var c,e,f,g=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,h=[],i={},j=!1,l=r.caller;l&&!j;l=l.caller)if(l!==s&&l!==D.report){if(e={url:null,func:F,line:null,column:null},l.name?e.func=l.name:(c=g.exec(l.toString()))&&(e.func=c[1]),f=m(l)){e.url=f.url,e.line=f.line,e.func===F&&(e.func=d(e.url,e.line));var n=/ '([^']+)' /.exec(a.message||a.description);n&&(e.column=k(n[1],f.url,f.line))}i[""+l]?j=!0:i[""+l]=!0,h.push(e)}b&&h.splice(0,b);var o={name:a.name,message:a.message,url:document.location.href,stack:h};return q(o,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),o}function s(a,b){var c=null;b=null==b?0:+b;try{if(c=o(a))return c}catch(d){if(t)throw d}try{if(c=n(a))return c}catch(d){if(t)throw d}try{if(c=p(a))return c}catch(d){if(t)throw d}try{if(c=r(a,b+1))return c}catch(d){if(t)throw d}return{}}var t=!1,u={};return s.augmentStackTraceWithInitialElement=q,s.computeStackTraceFromStackProp=n,s.guessFunctionName=d,s.gatherContext=e,s}();var G,H,I,J,K,L,M,N=a.Raven,O=!("object"!=typeof JSON||!JSON.stringify),P={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],collectWindowErrors:!0,tags:{},maxMessageLength:100,extra:{}},Q=!1,R=Object.prototype,S=u(),T={VERSION:"1.1.18",debug:!0,noConflict:function(){return a.Raven=N,T},config:function(a,b){if(I)return B("error","Error: Raven has already been configured"),T;if(!a)return T;var c=e(a),d=c.path.lastIndexOf("/"),f=c.path.substr(1,d);return b&&m(b,function(a,b){P[a]=b}),P.ignoreErrors.push(/^Script error\.?$/),P.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),P.ignoreErrors=z(P.ignoreErrors),P.ignoreUrls=P.ignoreUrls.length?z(P.ignoreUrls):!1,P.whitelistUrls=P.whitelistUrls.length?z(P.whitelistUrls):!1,P.includePaths=z(P.includePaths),K=c.user,L=c.path.substr(d+1),I="//"+c.host+(c.port?":"+c.port:"")+"/"+f+"api/"+L+"/store/",c.protocol&&(I=c.protocol+":"+I),P.fetchContext&&(D.remoteFetching=!0),P.linesOfContext&&(D.linesOfContext=P.linesOfContext),D.collectWindowErrors=!!P.collectWindowErrors,n(),T},install:function(){return y()&&!Q&&(D.report.subscribe(o),Q=!0),T},context:function(a,c,d){return g(a)&&(d=c||[],c=a,a=b),T.wrap(a,c).apply(this,d)},wrap:function(a,c){function d(){for(var b=[],d=arguments.length,e=!a||a&&a.deep!==!1;d--;)b[d]=e?T.wrap(a,arguments[d]):arguments[d];try{return c.apply(this,b)}catch(f){throw T.captureException(f,a),f}}if(f(c)&&!g(a))return a;if(g(a)&&(c=a,a=b),!g(c))return c;if(c.__raven__)return c;for(var e in c)l(c,e)&&(d[e]=c[e]);return d.__raven__=!0,d.__inner__=c,d},uninstall:function(){return D.report.uninstall(),Q=!1,T},captureException:function(a,b){if(!k(a))return T.captureMessage(a,b);G=a;try{D.report(a,b)}catch(c){if(a!==c)throw c}return T},captureMessage:function(a,b){return P.ignoreErrors.test&&P.ignoreErrors.test(a)?void 0:(w(s({message:a+""},b)),T)},setUserContext:function(a){return J=a,T},setExtraContext:function(a){return P.extra=a||{},T},setTagsContext:function(a){return P.tags=a||{},T},setReleaseContext:function(a){return P.release=a,T},lastException:function(){return G},lastEventId:function(){return H},isSetup:function(){return y()}};T.setUser=T.setUserContext;var U="source protocol user pass host port path".split(" "),V=/^(?:(\w+):)?\/\/(\w+)(:\w+)?@([\w\.-]+)(?::(\d+))?(\/.*)/;d.prototype=new Error,d.prototype.constructor=d,C(),"function"==typeof define&&define.amd?(a.Raven=T,define("raven",[],function(){return T})):"object"==typeof module?module.exports=T:"object"==typeof exports?exports=T:a.Raven=T}(window); +!function(a,b){"use strict";function c(a,b){var c,d;b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=document.createEventObject(),c.eventType=a);for(d in b)l(b,d)&&(c[d]=b[d]);if(document.createEvent)document.dispatchEvent(c);else try{document.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}function d(a){this.name="RavenConfigError",this.message=a}function e(a){var b=W.exec(a),c={},e=7;try{for(;e--;)c[V[e]]=b[e]||""}catch(f){throw new d("Invalid DSN: "+a)}if(c.pass)throw new d("Do not specify your private key in the DSN!");return c}function f(a){return void 0===a}function g(a){return"function"==typeof a}function h(a){return"[object String]"===S.toString.call(a)}function i(a){return"object"==typeof a&&null!==a}function j(a){for(var b in a)return!1;return!0}function k(a){return i(a)&&"[object Error]"===S.toString.call(a)||a instanceof Error}function l(a,b){return S.hasOwnProperty.call(a,b)}function m(a,b){var c,d;if(f(a.length))for(c in a)l(a,c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;d>c;c++)b.call(null,c,a[c])}function n(){N="?sentry_version=4&sentry_client=raven-js/"+U.VERSION+"&sentry_key="+L}function o(a,b){var d=[];a.stack&&a.stack.length&&m(a.stack,function(a,b){var c=p(b);c&&d.push(c)}),c("handle",{stackInfo:a,options:b}),r(a.name,a.message,a.url,a.lineno,d,b)}function p(a){if(a.url){var b,c={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"},d=q(a);if(d){var e=["pre_context","context_line","post_context"];for(b=3;b--;)c[e[b]]=d[b]}return c.in_app=!(!Q.includePaths.test(c.filename)||/(Raven|TraceKit)\./.test(c.function)||/raven\.(min\.)?js$/.test(c.filename)),c}}function q(a){if(a.context&&Q.fetchContext){for(var b=a.context,c=~~(b.length/2),d=b.length,e=!1;d--;)if(b[d].length>300){e=!0;break}if(e){if(f(a.column))return;return[[],b[c].substr(a.column,50),[]]}return[b.slice(0,c),b[c],b.slice(c+1)]}}function r(a,b,c,d,e,f){var g,h;b+="",("Error"!==a||b)&&(Q.ignoreErrors.test(b)||(e&&e.length?(c=e[0].filename||c,e.reverse(),g={frames:e}):c&&(g={frames:[{filename:c,lineno:d,in_app:!0}]}),b=t(b,Q.maxMessageLength),Q.ignoreUrls&&Q.ignoreUrls.test(c)||(!Q.whitelistUrls||Q.whitelistUrls.test(c))&&(h=d?b+" at "+d:b,w(s({exception:{type:a,value:b},stacktrace:g,culprit:c,message:h},f)))))}function s(a,b){return b?(m(b,function(b,c){a[b]=c}),a):a}function t(a,b){return a.length<=b?a:a.substr(0,b)+"…"}function u(){return+new Date}function v(){var a={url:document.location.href,headers:{"User-Agent":navigator.userAgent}};return document.referrer&&(a.headers.Referer=document.referrer),a}function w(a){z()&&(a=s({project:M,logger:Q.logger,platform:"javascript",request:v()},a),a.tags=s(s({},Q.tags),a.tags),a.extra=s(s({},Q.extra),a.extra),a.extra=s({"session:duration":u()-T},a.extra),j(a.tags)&&delete a.tags,K&&(a.user=K),Q.release&&(a.release=Q.release),g(Q.dataCallback)&&(a=Q.dataCallback(a)||a),a&&!j(a)&&(!g(Q.shouldSendCallback)||Q.shouldSendCallback(a))&&(I=a.event_id||(a.event_id=B()),x(a)))}function x(a){var b=y(),d=J+N+"&sentry_data="+encodeURIComponent(JSON.stringify(a));b.crossOrigin="anonymous",b.onload=function(){c("success",{data:a,src:d})},b.onerror=b.onabort=function(){c("failure",{data:a,src:d})},b.src=d}function y(){return document.createElement("img")}function z(){return P?J?!0:(C("error","Error: Raven has not been configured."),!1):!1}function A(a){for(var b,c=[],d=0,e=a.length;e>d;d++)b=a[d],h(b)?c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):b&&b.source&&c.push(b.source);return new RegExp(c.join("|"),"i")}function B(){return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"==a?b:3&b|8;return c.toString(16)})}function C(b,c){a.console&&console[b]&&U.debug&&console[b](c)}function D(){var b=a.RavenConfig;b&&U.config(b.dsn,b.config).install()}var E={remoteFetching:!1,collectWindowErrors:!0,linesOfContext:7},F=[].slice,G="?";E.wrap=function(a){function b(){try{return a.apply(this,arguments)}catch(b){throw E.report(b),b}}return b},E.report=function(){function c(a){h(),o.push(a)}function d(a){for(var b=o.length-1;b>=0;--b)o[b]===a&&o.splice(b,1)}function e(){i(),o=[]}function f(a,b){var c=null;if(!b||E.collectWindowErrors){for(var d in o)if(l(o,d))try{o[d].apply(null,[a].concat(F.call(arguments,2)))}catch(e){c=e}if(c)throw c}}function g(a,b,c,d,e){var g=null;if(r)E.computeStackTrace.augmentStackTraceWithInitialElement(r,b,c,a),j();else if(e)g=E.computeStackTrace(e),f(g,!0);else{var h={url:b,line:c,column:d};h.func=E.computeStackTrace.guessFunctionName(h.url,h.line),h.context=E.computeStackTrace.gatherContext(h.url,h.line),g={message:a,url:document.location.href,stack:[h]},f(g,!0)}return m?m.apply(this,arguments):!1}function h(){n||(m=a.onerror,a.onerror=g,n=!0)}function i(){n&&(a.onerror=m,n=!1,m=b)}function j(){var a=r,b=p;p=null,r=null,q=null,f.apply(null,[a,!1].concat(b))}function k(b,c){var d=F.call(arguments,1);if(r){if(q===b)return;j()}var e=E.computeStackTrace(b);if(r=e,q=b,p=d,a.setTimeout(function(){q===b&&j()},e.incomplete?2e3:0),c!==!1)throw b}var m,n,o=[],p=null,q=null,r=null;return k.subscribe=c,k.unsubscribe=d,k.uninstall=e,k}(),E.computeStackTrace=function(){function b(b){if(!E.remoteFetching)return"";try{var c=function(){try{return new a.XMLHttpRequest}catch(b){return new a.ActiveXObject("Microsoft.XMLHTTP")}},d=c();return d.open("GET",b,!1),d.send(""),d.responseText}catch(e){return""}}function c(a){if(!h(a))return[];if(!l(u,a)){var c="";-1!==a.indexOf(document.domain)&&(c=b(a)),u[a]=c?c.split("\n"):[]}return u[a]}function d(a,b){var d,e=/function ([^(]*)\(([^)]*)\)/,g=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,h="",i=10,j=c(a);if(!j.length)return G;for(var k=0;i>k;++k)if(h=j[b-k]+h,!f(h)){if(d=g.exec(h))return d[1];if(d=e.exec(h))return d[1]}return G}function e(a,b){var d=c(a);if(!d.length)return null;var e=[],g=Math.floor(E.linesOfContext/2),h=g+E.linesOfContext%2,i=Math.max(0,b-g-1),j=Math.min(d.length,b+h-1);b-=1;for(var k=i;j>k;++k)f(d[k])||e.push(d[k]);return e.length>0?e:null}function g(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function i(a){return g(a).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function j(a,b){for(var d,e,f=0,g=b.length;g>f;++f)if((d=c(b[f])).length&&(d=d.join("\n"),e=a.exec(d)))return{url:b[f],line:d.substring(0,e.index).split("\n").length,column:e.index-d.lastIndexOf("\n",e.index)-1};return null}function k(a,b,d){var e,f=c(b),h=new RegExp("\\b"+g(a)+"\\b");return d-=1,f&&f.length>d&&(e=h.exec(f[d]))?e.index:null}function m(b){for(var c,d,e,f,h=[a.location.href],k=document.getElementsByTagName("script"),l=""+b,m=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,n=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,o=0;om;++m){if(b=h.exec(i[m]))c={url:b[3],func:b[1]||G,args:b[2]?b[2].split(","):"",line:+b[4],column:b[5]?+b[5]:null};else{if(!(b=g.exec(i[m])))continue;c={url:b[2],func:b[1]||G,line:+b[3],column:b[4]?+b[4]:null}}!c.func&&c.line&&(c.func=d(c.url,c.line)),c.line&&(c.context=e(c.url,c.line)),j.push(c)}return j.length?(j[0].line&&!j[0].column&&l?j[0].column=k(l[1],j[0].url,j[0].line):j[0].column||f(a.columnNumber)||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:document.location.href,stack:j}):null}function o(a){for(var b,c=a.stacktrace,f=/ line (\d+), column (\d+) in (?:]+)>|([^\)]+))\((.*)\) in (.*):\s*$/i,g=c.split("\n"),h=[],i=0,j=g.length;j>i;i+=2)if(b=f.exec(g[i])){var k={line:+b[1],column:+b[2],func:b[3]||b[4],args:b[5]?b[5].split(","):[],url:b[6]};if(!k.func&&k.line&&(k.func=d(k.url,k.line)),k.line)try{k.context=e(k.url,k.line)}catch(l){}k.context||(k.context=[g[i+1]]),h.push(k)}return h.length?{name:a.name,message:a.message,url:document.location.href,stack:h}:null}function p(b){var f=b.message.split("\n");if(f.length<4)return null;var g,h,k,m,n=/^\s*Line (\d+) of linked script ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,p=/^\s*Line (\d+) of function script\s*$/i,q=[],r=document.getElementsByTagName("script"),s=[];for(h in r)l(r,h)&&!r[h].src&&s.push(r[h]);for(h=2,k=f.length;k>h;h+=2){var t=null;if(g=n.exec(f[h]))t={url:g[2],func:g[3],line:+g[1]};else if(g=o.exec(f[h])){t={url:g[3],func:g[4]};var u=+g[1],v=s[g[2]-1];if(v&&(m=c(t.url))){m=m.join("\n");var w=m.indexOf(v.innerText);w>=0&&(t.line=u+m.substring(0,w).split("\n").length)}}else if(g=p.exec(f[h])){var x=a.location.href.replace(/#.*$/,""),y=g[1],z=new RegExp(i(f[h+1]));m=j(z,[x]),t={url:x,line:m?m.line:y,func:""}}if(t){t.func||(t.func=d(t.url,t.line));var A=e(t.url,t.line),B=A?A[Math.floor(A.length/2)]:null;t.context=A&&B.replace(/^\s*/,"")===f[h+1].replace(/^\s*/,"")?A:[f[h+1]],q.push(t)}}return q.length?{name:b.name,message:f[0],url:document.location.href,stack:q}:null}function q(a,b,c,f){var g={url:b,line:c};if(g.url&&g.line){a.incomplete=!1,g.func||(g.func=d(g.url,g.line)),g.context||(g.context=e(g.url,g.line));var h=/ '([^']+)' /.exec(f);if(h&&(g.column=k(h[1],g.url,g.line)),a.stack.length>0&&a.stack[0].url===g.url){if(a.stack[0].line===g.line)return!1;if(!a.stack[0].line&&a.stack[0].func===g.func)return a.stack[0].line=g.line,a.stack[0].context=g.context,!1}return a.stack.unshift(g),a.partial=!0,!0}return a.incomplete=!0,!1}function r(a,b){for(var c,e,f,g=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,h=[],i={},j=!1,l=r.caller;l&&!j;l=l.caller)if(l!==s&&l!==E.report){if(e={url:null,func:G,line:null,column:null},l.name?e.func=l.name:(c=g.exec(l.toString()))&&(e.func=c[1]),f=m(l)){e.url=f.url,e.line=f.line,e.func===G&&(e.func=d(e.url,e.line));var n=/ '([^']+)' /.exec(a.message||a.description);n&&(e.column=k(n[1],f.url,f.line))}i[""+l]?j=!0:i[""+l]=!0,h.push(e)}b&&h.splice(0,b);var o={name:a.name,message:a.message,url:document.location.href,stack:h};return q(o,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),o}function s(a,b){var c=null;b=null==b?0:+b;try{if(c=o(a))return c}catch(d){if(t)throw d}try{if(c=n(a))return c}catch(d){if(t)throw d}try{if(c=p(a))return c}catch(d){if(t)throw d}try{if(c=r(a,b+1))return c}catch(d){if(t)throw d}return{}}var t=!1,u={};return s.augmentStackTraceWithInitialElement=q,s.computeStackTraceFromStackProp=n,s.guessFunctionName=d,s.gatherContext=e,s}();var H,I,J,K,L,M,N,O=a.Raven,P=!("object"!=typeof JSON||!JSON.stringify),Q={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],collectWindowErrors:!0,tags:{},maxMessageLength:100,extra:{}},R=!1,S=Object.prototype,T=u(),U={VERSION:"1.1.19",debug:!0,noConflict:function(){return a.Raven=O,U},config:function(a,b){if(J)return C("error","Error: Raven has already been configured"),U;if(!a)return U;var c=e(a),d=c.path.lastIndexOf("/"),f=c.path.substr(1,d);return b&&m(b,function(a,b){Q[a]=b}),Q.ignoreErrors.push(/^Script error\.?$/),Q.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),Q.ignoreErrors=A(Q.ignoreErrors),Q.ignoreUrls=Q.ignoreUrls.length?A(Q.ignoreUrls):!1,Q.whitelistUrls=Q.whitelistUrls.length?A(Q.whitelistUrls):!1,Q.includePaths=A(Q.includePaths),L=c.user,M=c.path.substr(d+1),J="//"+c.host+(c.port?":"+c.port:"")+"/"+f+"api/"+M+"/store/",c.protocol&&(J=c.protocol+":"+J),Q.fetchContext&&(E.remoteFetching=!0),Q.linesOfContext&&(E.linesOfContext=Q.linesOfContext),E.collectWindowErrors=!!Q.collectWindowErrors,n(),U},install:function(){return z()&&!R&&(E.report.subscribe(o),R=!0),U},context:function(a,c,d){return g(a)&&(d=c||[],c=a,a=b),U.wrap(a,c).apply(this,d)},wrap:function(a,c){function d(){for(var b=[],d=arguments.length,e=!a||a&&a.deep!==!1;d--;)b[d]=e?U.wrap(a,arguments[d]):arguments[d];try{return c.apply(this,b)}catch(f){throw U.captureException(f,a),f}}if(f(c)&&!g(a))return a;if(g(a)&&(c=a,a=b),!g(c))return c;if(c.__raven__)return c;for(var e in c)l(c,e)&&(d[e]=c[e]);return d.__raven__=!0,d.__inner__=c,d},uninstall:function(){return E.report.uninstall(),R=!1,U},captureException:function(a,b){if(!k(a))return U.captureMessage(a,b);H=a;try{E.report(a,b)}catch(c){if(a!==c)throw c}return U},captureMessage:function(a,b){return Q.ignoreErrors.test&&Q.ignoreErrors.test(a)?void 0:(w(s({message:a+""},b)),U)},setUserContext:function(a){return K=a,U},setExtraContext:function(a){return Q.extra=a||{},U},setTagsContext:function(a){return Q.tags=a||{},U},setReleaseContext:function(a){return Q.release=a,U},setDataCallback:function(a){return Q.dataCallback=a,U},setShouldSendCallback:function(a){return Q.shouldSendCallback=a,U},lastException:function(){return H},lastEventId:function(){return I},isSetup:function(){return z()}};U.setUser=U.setUserContext;var V="source protocol user pass host port path".split(" "),W=/^(?:(\w+):)?\/\/(\w+)(:\w+)?@([\w\.-]+)(?::(\d+))?(\/.*)/;d.prototype=new Error,d.prototype.constructor=d,D(),"function"==typeof define&&define.amd?(a.Raven=U,define("raven",[],function(){return U})):"object"==typeof module?module.exports=U:"object"==typeof exports?exports=U:a.Raven=U}("undefined"!=typeof window?window:this); //# sourceMappingURL=../../maps/libs/raven.js.map \ No newline at end of file diff --git a/static/scripts/libs/require.js b/static/scripts/libs/require.js index 01275ef459a..c0b35557e94 100644 --- a/static/scripts/libs/require.js +++ b/static/scripts/libs/require.js @@ -1,2 +1,2 @@ -var requirejs,require,define;!function(global){function isFunction(a){return"[object Function]"===ostring.call(a)}function isArray(a){return"[object Array]"===ostring.call(a)}function each(a,b){if(a){var c;for(c=0;c-1&&(!a[c]||!b(a[c],c,a));c-=1);}}function hasProp(a,b){return hasOwn.call(a,b)}function getOwn(a,b){return hasProp(a,b)&&a[b]}function eachProp(a,b){var c;for(c in a)if(hasProp(a,c)&&b(a[c],c))break}function mixin(a,b,c,d){return b&&eachProp(b,function(b,e){(c||!hasProp(a,e))&&(!d||"object"!=typeof b||!b||isArray(b)||isFunction(b)||b instanceof RegExp?a[e]=b:(a[e]||(a[e]={}),mixin(a[e],b,c,d)))}),a}function bind(a,b){return function(){return b.apply(a,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(a){throw a}function getGlobal(a){if(!a)return a;var b=global;return each(a.split("."),function(a){b=b[a]}),b}function makeError(a,b,c,d){var e=new Error(b+"\nhttp://requirejs.org/docs/errors.html#"+a);return e.requireType=a,e.requireModules=d,c&&(e.originalError=c),e}function newContext(a){function b(a){var b,c;for(b=0;b0&&(a.splice(b-1,2),b-=2)}}function c(a,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q=c&&c.split("/"),r=x.map,s=r&&r["*"];if(a&&(a=a.split("/"),k=a.length-1,x.nodeIdCompat&&jsSuffixRegExp.test(a[k])&&(a[k]=a[k].replace(jsSuffixRegExp,"")),"."===a[0].charAt(0)&&q&&(p=q.slice(0,q.length-1),a=p.concat(a)),b(a),a=a.join("/")),d&&r&&(q||s)){g=a.split("/");a:for(h=g.length;h>0;h-=1){if(j=g.slice(0,h).join("/"),q)for(i=q.length;i>0;i-=1)if(f=getOwn(r,q.slice(0,i).join("/")),f&&(f=getOwn(f,j))){l=f,m=h;break a}!n&&s&&getOwn(s,j)&&(n=getOwn(s,j),o=h)}!l&&n&&(l=n,m=o),l&&(g.splice(0,m,l),a=g.join("/"))}return e=getOwn(x.pkgs,a),e?e:a}function d(a){isBrowser&&each(scripts(),function(b){return b.getAttribute("data-requiremodule")===a&&b.getAttribute("data-requirecontext")===u.contextName?(b.parentNode.removeChild(b),!0):void 0})}function e(a){var b=getOwn(x.paths,a);return b&&isArray(b)&&b.length>1?(b.shift(),u.require.undef(a),u.makeRequire(null,{skipMap:!0})([a]),!0):void 0}function f(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function g(a,b,d,e){var g,h,i,j,k=null,l=b?b.name:null,m=a,n=!0,o="";return a||(n=!1,a="_@r"+(F+=1)),j=f(a),k=j[0],a=j[1],k&&(k=c(k,l,e),h=getOwn(C,k)),a&&(k?o=h&&h.normalize?h.normalize(a,function(a){return c(a,l,e)}):-1===a.indexOf("!")?c(a,l,e):a:(o=c(a,l,e),j=f(o),k=j[0],o=j[1],d=!0,g=u.nameToUrl(o))),i=!k||h||d?"":"_unnormalized"+(G+=1),{prefix:k,name:o,parentMap:b,unnormalized:!!i,url:g,originalName:m,isDefine:n,id:(k?k+"!"+o:o)+i}}function h(a){var b=a.id,c=getOwn(y,b);return c||(c=y[b]=new u.Module(a)),c}function i(a,b,c){var d=a.id,e=getOwn(y,d);!hasProp(C,d)||e&&!e.defineEmitComplete?(e=h(a),e.error&&"error"===b?c(e.error):e.on(b,c)):"defined"===b&&c(C[d])}function j(a,b){var c=a.requireModules,d=!1;b?b(a):(each(c,function(b){var c=getOwn(y,b);c&&(c.error=a,c.events.error&&(d=!0,c.emit("error",a)))}),d||req.onError(a))}function k(){globalDefQueue.length&&(apsp.apply(B,[B.length,0].concat(globalDefQueue)),globalDefQueue=[])}function l(a){delete y[a],delete z[a]}function m(a,b,c){var d=a.map.id;a.error?a.emit("error",a.error):(b[d]=!0,each(a.depMaps,function(d,e){var f=d.id,g=getOwn(y,f);!g||a.depMatched[e]||c[f]||(getOwn(b,f)?(a.defineDep(e,C[f]),a.check()):m(g,b,c))}),c[d]=!0)}function n(){var a,b,c=1e3*x.waitSeconds,f=c&&u.startTime+c<(new Date).getTime(),g=[],h=[],i=!1,k=!0;if(!s){if(s=!0,eachProp(z,function(a){var c=a.map,j=c.id;if(a.enabled&&(c.isDefine||h.push(a),!a.error))if(!a.inited&&f)e(j)?(b=!0,i=!0):(g.push(j),d(j));else if(!a.inited&&a.fetched&&c.isDefine&&(i=!0,!c.prefix))return k=!1}),f&&g.length)return a=makeError("timeout","Load timeout for modules: "+g,null,g),a.contextName=u.contextName,j(a);k&&each(h,function(a){m(a,{},{})}),f&&!b||!i||!isBrowser&&!isWebWorker||w||(w=setTimeout(function(){w=0,n()},50)),s=!1}}function o(a){hasProp(C,a[0])||h(g(a[0],null,!0)).init(a[1],a[2])}function p(a,b,c,d){a.detachEvent&&!isOpera?d&&a.detachEvent(d,b):a.removeEventListener(c,b,!1)}function q(a){var b=a.currentTarget||a.srcElement;return p(b,u.onScriptLoad,"load","onreadystatechange"),p(b,u.onScriptError,"error"),{node:b,id:b&&b.getAttribute("data-requiremodule")}}function r(){var a;for(k();B.length;){if(a=B.shift(),null===a[0])return j(makeError("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));o(a)}}var s,t,u,v,w,x={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},y={},z={},A={},B=[],C={},D={},E={},F=1,G=1;return v={require:function(a){return a.require?a.require:a.require=u.makeRequire(a.map)},exports:function(a){return a.usingExports=!0,a.map.isDefine?a.exports?C[a.map.id]=a.exports:a.exports=C[a.map.id]={}:void 0},module:function(a){return a.module?a.module:a.module={id:a.map.id,uri:a.map.url,config:function(){return getOwn(x.config,a.map.id)||{}},exports:a.exports||(a.exports={})}}},t=function(a){this.events=getOwn(A,a.id)||{},this.map=a,this.shim=getOwn(x.shim,a.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},t.prototype={init:function(a,b,c,d){d=d||{},this.inited||(this.factory=b,c?this.on("error",c):this.events.error&&(c=bind(this,function(a){this.emit("error",a)})),this.depMaps=a&&a.slice(0),this.errback=c,this.inited=!0,this.ignore=d.ignore,d.enabled||this.enabled?this.enable():this.check())},defineDep:function(a,b){this.depMatched[a]||(this.depMatched[a]=!0,this.depCount-=1,this.depExports[a]=b)},fetch:function(){if(!this.fetched){this.fetched=!0,u.startTime=(new Date).getTime();var a=this.map;return this.shim?void u.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return a.prefix?this.callPlugin():this.load()})):a.prefix?this.callPlugin():this.load()}},load:function(){var a=this.map.url;D[a]||(D[a]=!0,u.load(this.map.id,a))},check:function(){if(this.enabled&&!this.enabling){var a,b,c=this.map.id,d=this.depExports,e=this.exports,f=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(f)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{e=u.execCb(c,f,d,e)}catch(g){a=g}else e=u.execCb(c,f,d,e);if(this.map.isDefine&&void 0===e&&(b=this.module,b?e=b.exports:this.usingExports&&(e=this.exports)),a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",j(this.error=a)}else e=f;this.exports=e,this.map.isDefine&&!this.ignore&&(C[c]=e,req.onResourceLoad&&req.onResourceLoad(u,this.map,this.depMaps)),l(c),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var a=this.map,b=a.id,d=g(a.prefix);this.depMaps.push(d),i(d,"defined",bind(this,function(d){var e,f,k,m=getOwn(E,this.map.id),n=this.map.name,o=this.map.parentMap?this.map.parentMap.name:null,p=u.makeRequire(a.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(d.normalize&&(n=d.normalize(n,function(a){return c(a,o,!0)})||""),f=g(a.prefix+"!"+n,this.map.parentMap),i(f,"defined",bind(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),k=getOwn(y,f.id),void(k&&(this.depMaps.push(f),this.events.error&&k.on("error",bind(this,function(a){this.emit("error",a)})),k.enable()))):m?(this.map.url=u.nameToUrl(m),void this.load()):(e=bind(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),e.error=bind(this,function(a){this.inited=!0,this.error=a,a.requireModules=[b],eachProp(y,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&l(a.map.id)}),j(a)}),e.fromText=bind(this,function(c,d){var f=a.name,i=g(f),k=useInteractive;d&&(c=d),k&&(useInteractive=!1),h(i),hasProp(x.config,b)&&(x.config[f]=x.config[b]);try{req.exec(c)}catch(l){return j(makeError("fromtexteval","fromText eval for "+b+" failed: "+l,l,[b]))}k&&(useInteractive=!0),this.depMaps.push(i),u.completeLoad(f),p([f],e)}),void d.load(a.name,p,e,x))})),u.enable(d,this),this.pluginMaps[d.id]=d},enable:function(){z[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(a,b){var c,d,e;if("string"==typeof a){if(a=g(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[b]=a,e=getOwn(v,a.id))return void(this.depExports[b]=e(this));this.depCount+=1,i(a,"defined",bind(this,function(a){this.defineDep(b,a),this.check()})),this.errback?i(a,"error",bind(this,this.errback)):this.events.error&&i(a,"error",bind(this,function(a){this.emit("error",a)}))}c=a.id,d=y[c],hasProp(v,c)||!d||d.enabled||u.enable(a,this)})),eachProp(this.pluginMaps,bind(this,function(a){var b=getOwn(y,a.id);b&&!b.enabled&&u.enable(a,this)})),this.enabling=!1,this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]),c.push(b)},emit:function(a,b){each(this.events[a],function(a){a(b)}),"error"===a&&delete this.events[a]}},u={config:x,contextName:a,registry:y,defined:C,urlFetched:D,defQueue:B,Module:t,makeModuleMap:g,nextTick:req.nextTick,onError:j,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=x.shim,c={paths:!0,bundles:!0,config:!0,map:!0};eachProp(a,function(a,b){c[b]?(x[b]||(x[b]={}),mixin(x[b],a,!0,!0)):x[b]=a}),a.bundles&&eachProp(a.bundles,function(a,b){each(a,function(a){a!==b&&(E[a]=b)})}),a.shim&&(eachProp(a.shim,function(a,c){isArray(a)&&(a={deps:a}),!a.exports&&!a.init||a.exportsFn||(a.exportsFn=u.makeShimExports(a)),b[c]=a}),x.shim=b),a.packages&&each(a.packages,function(a){var b,c;a="string"==typeof a?{name:a}:a,c=a.name,b=a.location,b&&(x.paths[c]=a.location),x.pkgs[c]=a.name+"/"+(a.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(y,function(a,b){a.inited||a.map.unnormalized||(a.map=g(b))}),(a.deps||a.callback)&&u.require(a.deps||[],a.callback)},makeShimExports:function(a){function b(){var b;return a.init&&(b=a.init.apply(global,arguments)),b||a.exports&&getGlobal(a.exports)}return b},makeRequire:function(b,e){function f(c,d,i){var k,l,m;return e.enableBuildCallback&&d&&isFunction(d)&&(d.__requireJsBuild=!0),"string"==typeof c?isFunction(d)?j(makeError("requireargs","Invalid require call"),i):b&&hasProp(v,c)?v[c](y[b.id]):req.get?req.get(u,c,b,f):(l=g(c,b,!1,!0),k=l.id,hasProp(C,k)?C[k]:j(makeError("notloaded",'Module name "'+k+'" has not been loaded yet for context: '+a+(b?"":". Use require([])")))):(r(),u.nextTick(function(){r(),m=h(g(null,b)),m.skipMap=e.skipMap,m.init(c,d,i,{enabled:!0}),n()}),f)}return e=e||{},mixin(f,{isBrowser:isBrowser,toUrl:function(a){var d,e=a.lastIndexOf("."),f=a.split("/")[0],g="."===f||".."===f;return-1!==e&&(!g||e>1)&&(d=a.substring(e,a.length),a=a.substring(0,e)),u.nameToUrl(c(a,b&&b.id,!0),d,!0)},defined:function(a){return hasProp(C,g(a,b,!1,!0).id)},specified:function(a){return a=g(a,b,!1,!0).id,hasProp(C,a)||hasProp(y,a)}}),b||(f.undef=function(a){k();var c=g(a,b,!0),e=getOwn(y,a);d(a),delete C[a],delete D[c.url],delete A[a],eachReverse(B,function(b,c){b[0]===a&&B.splice(c,1)}),e&&(e.events.defined&&(A[a]=e.events),l(a))}),f},enable:function(a){var b=getOwn(y,a.id);b&&h(a).enable()},completeLoad:function(a){var b,c,d,f=getOwn(x.shim,a)||{},g=f.exports;for(k();B.length;){if(c=B.shift(),null===c[0]){if(c[0]=a,b)break;b=!0}else c[0]===a&&(b=!0);o(c)}if(d=getOwn(y,a),!b&&!hasProp(C,a)&&d&&!d.inited){if(!(!x.enforceDefine||g&&getGlobal(g)))return e(a)?void 0:j(makeError("nodefine","No define call for "+a,null,[a]));o([a,f.deps||[],f.exportsFn])}n()},nameToUrl:function(a,b,c){var d,e,f,g,h,i,j,k=getOwn(x.pkgs,a);if(k&&(a=k),j=getOwn(E,a))return u.nameToUrl(j,b,c);if(req.jsExtRegExp.test(a))h=a+(b||"");else{for(d=x.paths,e=a.split("/"),f=e.length;f>0;f-=1)if(g=e.slice(0,f).join("/"),i=getOwn(d,g)){isArray(i)&&(i=i[0]),e.splice(0,f,i);break}h=e.join("/"),h+=b||(/^data\:|\?/.test(h)||c?"":".js"),h=("/"===h.charAt(0)||h.match(/^[\w\+\.\-]+:/)?"":x.baseUrl)+h}return x.urlArgs?h+((-1===h.indexOf("?")?"?":"&")+x.urlArgs):h},load:function(a,b){req.load(u,a,b)},execCb:function(a,b,c,d){return b.apply(d,c)},onScriptLoad:function(a){if("load"===a.type||readyRegExp.test((a.currentTarget||a.srcElement).readyState)){interactiveScript=null;var b=q(a);u.completeLoad(b.id)}},onScriptError:function(a){var b=q(a);return e(b.id)?void 0:j(makeError("scripterror","Script error for: "+b.id,a,[b.id]))}},u.require=u.makeRequire(),u}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState?interactiveScript:(eachReverse(scripts(),function(a){return"interactive"===a.readyState?interactiveScript=a:void 0}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.1.17",commentRegExp=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,ap=Array.prototype,apsp=ap.splice,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}"undefined"==typeof require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(a,b,c,d){var e,f,g=defContextName;return isArray(a)||"string"==typeof a||(f=a,isArray(b)?(a=b,b=c,c=d):a=[]),f&&f.context&&(g=f.context),e=getOwn(contexts,g),e||(e=contexts[g]=req.s.newContext(g)),f&&e.configure(f),e.require(a,b,c)},req.config=function(a){return req(a)},req.nextTick="undefined"!=typeof setTimeout?function(a){setTimeout(a,4)}:function(a){a()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(a){req[a]=function(){var b=contexts[defContextName];return b.require[a].apply(b,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(a){var b=a.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return b.type=a.scriptType||"text/javascript",b.charset="utf-8",b.async=!0,b},req.load=function(a,b,c){var d,e=a&&a.config||{};if(isBrowser)return d=req.createNode(e,b,c),d.setAttribute("data-requirecontext",a.contextName),d.setAttribute("data-requiremodule",b),!d.attachEvent||d.attachEvent.toString&&d.attachEvent.toString().indexOf("[native code")<0||isOpera?(d.addEventListener("load",a.onScriptLoad,!1),d.addEventListener("error",a.onScriptError,!1)):(useInteractive=!0,d.attachEvent("onreadystatechange",a.onScriptLoad)),d.src=c,currentlyAddingScript=d,baseElement?head.insertBefore(d,baseElement):head.appendChild(d),currentlyAddingScript=null,d;if(isWebWorker)try{importScripts(c),a.completeLoad(b)}catch(f){a.onError(makeError("importscripts","importScripts failed for "+b+" at "+c,f,[b]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(a){return head||(head=a.parentNode),dataMain=a.getAttribute("data-main"),dataMain?(mainScript=dataMain,cfg.baseUrl||(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0):void 0}),define=function(a,b,c){var d,e;"string"!=typeof a&&(c=b,b=a,a=null),isArray(b)||(c=b,b=null),!b&&isFunction(c)&&(b=[],c.length&&(c.toString().replace(commentRegExp,"").replace(cjsRequireRegExp,function(a,c){b.push(c)}),b=(1===c.length?["require"]:["require","exports","module"]).concat(b))),useInteractive&&(d=currentlyAddingScript||getInteractiveScript(),d&&(a||(a=d.getAttribute("data-requiremodule")),e=contexts[d.getAttribute("data-requirecontext")])),(e?e.defQueue:globalDefQueue).push([a,b,c])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}}(this); +var requirejs,require,define;!function(global){function isFunction(a){return"[object Function]"===ostring.call(a)}function isArray(a){return"[object Array]"===ostring.call(a)}function each(a,b){if(a){var c;for(c=0;c-1&&(!a[c]||!b(a[c],c,a));c-=1);}}function hasProp(a,b){return hasOwn.call(a,b)}function getOwn(a,b){return hasProp(a,b)&&a[b]}function eachProp(a,b){var c;for(c in a)if(hasProp(a,c)&&b(a[c],c))break}function mixin(a,b,c,d){return b&&eachProp(b,function(b,e){(c||!hasProp(a,e))&&(!d||"object"!=typeof b||!b||isArray(b)||isFunction(b)||b instanceof RegExp?a[e]=b:(a[e]||(a[e]={}),mixin(a[e],b,c,d)))}),a}function bind(a,b){return function(){return b.apply(a,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(a){throw a}function getGlobal(a){if(!a)return a;var b=global;return each(a.split("."),function(a){b=b[a]}),b}function makeError(a,b,c,d){var e=new Error(b+"\nhttp://requirejs.org/docs/errors.html#"+a);return e.requireType=a,e.requireModules=d,c&&(e.originalError=c),e}function newContext(a){function b(a){var b,c;for(b=0;b0&&(a.splice(b-1,2),b-=2)}}function c(a,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q=c&&c.split("/"),r=x.map,s=r&&r["*"];if(a&&(a=a.split("/"),k=a.length-1,x.nodeIdCompat&&jsSuffixRegExp.test(a[k])&&(a[k]=a[k].replace(jsSuffixRegExp,"")),"."===a[0].charAt(0)&&q&&(p=q.slice(0,q.length-1),a=p.concat(a)),b(a),a=a.join("/")),d&&r&&(q||s)){g=a.split("/");a:for(h=g.length;h>0;h-=1){if(j=g.slice(0,h).join("/"),q)for(i=q.length;i>0;i-=1)if(f=getOwn(r,q.slice(0,i).join("/")),f&&(f=getOwn(f,j))){l=f,m=h;break a}!n&&s&&getOwn(s,j)&&(n=getOwn(s,j),o=h)}!l&&n&&(l=n,m=o),l&&(g.splice(0,m,l),a=g.join("/"))}return e=getOwn(x.pkgs,a),e?e:a}function d(a){isBrowser&&each(scripts(),function(b){return b.getAttribute("data-requiremodule")===a&&b.getAttribute("data-requirecontext")===u.contextName?(b.parentNode.removeChild(b),!0):void 0})}function e(a){var b=getOwn(x.paths,a);return b&&isArray(b)&&b.length>1?(b.shift(),u.require.undef(a),u.makeRequire(null,{skipMap:!0})([a]),!0):void 0}function f(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function g(a,b,d,e){var g,h,i,j,k=null,l=b?b.name:null,m=a,n=!0,o="";return a||(n=!1,a="_@r"+(F+=1)),j=f(a),k=j[0],a=j[1],k&&(k=c(k,l,e),h=getOwn(C,k)),a&&(k?o=h&&h.normalize?h.normalize(a,function(a){return c(a,l,e)}):-1===a.indexOf("!")?c(a,l,e):a:(o=c(a,l,e),j=f(o),k=j[0],o=j[1],d=!0,g=u.nameToUrl(o))),i=!k||h||d?"":"_unnormalized"+(G+=1),{prefix:k,name:o,parentMap:b,unnormalized:!!i,url:g,originalName:m,isDefine:n,id:(k?k+"!"+o:o)+i}}function h(a){var b=a.id,c=getOwn(y,b);return c||(c=y[b]=new u.Module(a)),c}function i(a,b,c){var d=a.id,e=getOwn(y,d);!hasProp(C,d)||e&&!e.defineEmitComplete?(e=h(a),e.error&&"error"===b?c(e.error):e.on(b,c)):"defined"===b&&c(C[d])}function j(a,b){var c=a.requireModules,d=!1;b?b(a):(each(c,function(b){var c=getOwn(y,b);c&&(c.error=a,c.events.error&&(d=!0,c.emit("error",a)))}),d||req.onError(a))}function k(){globalDefQueue.length&&(each(globalDefQueue,function(a){var b=a[0];"string"==typeof b&&(u.defQueueMap[b]=!0),B.push(a)}),globalDefQueue=[])}function l(a){delete y[a],delete z[a]}function m(a,b,c){var d=a.map.id;a.error?a.emit("error",a.error):(b[d]=!0,each(a.depMaps,function(d,e){var f=d.id,g=getOwn(y,f);!g||a.depMatched[e]||c[f]||(getOwn(b,f)?(a.defineDep(e,C[f]),a.check()):m(g,b,c))}),c[d]=!0)}function n(){var a,b,c=1e3*x.waitSeconds,f=c&&u.startTime+c<(new Date).getTime(),g=[],h=[],i=!1,k=!0;if(!s){if(s=!0,eachProp(z,function(a){var c=a.map,j=c.id;if(a.enabled&&(c.isDefine||h.push(a),!a.error))if(!a.inited&&f)e(j)?(b=!0,i=!0):(g.push(j),d(j));else if(!a.inited&&a.fetched&&c.isDefine&&(i=!0,!c.prefix))return k=!1}),f&&g.length)return a=makeError("timeout","Load timeout for modules: "+g,null,g),a.contextName=u.contextName,j(a);k&&each(h,function(a){m(a,{},{})}),f&&!b||!i||!isBrowser&&!isWebWorker||w||(w=setTimeout(function(){w=0,n()},50)),s=!1}}function o(a){hasProp(C,a[0])||h(g(a[0],null,!0)).init(a[1],a[2])}function p(a,b,c,d){a.detachEvent&&!isOpera?d&&a.detachEvent(d,b):a.removeEventListener(c,b,!1)}function q(a){var b=a.currentTarget||a.srcElement;return p(b,u.onScriptLoad,"load","onreadystatechange"),p(b,u.onScriptError,"error"),{node:b,id:b&&b.getAttribute("data-requiremodule")}}function r(){var a;for(k();B.length;){if(a=B.shift(),null===a[0])return j(makeError("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));o(a)}u.defQueueMap={}}var s,t,u,v,w,x={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},y={},z={},A={},B=[],C={},D={},E={},F=1,G=1;return v={require:function(a){return a.require?a.require:a.require=u.makeRequire(a.map)},exports:function(a){return a.usingExports=!0,a.map.isDefine?a.exports?C[a.map.id]=a.exports:a.exports=C[a.map.id]={}:void 0},module:function(a){return a.module?a.module:a.module={id:a.map.id,uri:a.map.url,config:function(){return getOwn(x.config,a.map.id)||{}},exports:a.exports||(a.exports={})}}},t=function(a){this.events=getOwn(A,a.id)||{},this.map=a,this.shim=getOwn(x.shim,a.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},t.prototype={init:function(a,b,c,d){d=d||{},this.inited||(this.factory=b,c?this.on("error",c):this.events.error&&(c=bind(this,function(a){this.emit("error",a)})),this.depMaps=a&&a.slice(0),this.errback=c,this.inited=!0,this.ignore=d.ignore,d.enabled||this.enabled?this.enable():this.check())},defineDep:function(a,b){this.depMatched[a]||(this.depMatched[a]=!0,this.depCount-=1,this.depExports[a]=b)},fetch:function(){if(!this.fetched){this.fetched=!0,u.startTime=(new Date).getTime();var a=this.map;return this.shim?void u.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return a.prefix?this.callPlugin():this.load()})):a.prefix?this.callPlugin():this.load()}},load:function(){var a=this.map.url;D[a]||(D[a]=!0,u.load(this.map.id,a))},check:function(){if(this.enabled&&!this.enabling){var a,b,c=this.map.id,d=this.depExports,e=this.exports,f=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(f)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{e=u.execCb(c,f,d,e)}catch(g){a=g}else e=u.execCb(c,f,d,e);if(this.map.isDefine&&void 0===e&&(b=this.module,b?e=b.exports:this.usingExports&&(e=this.exports)),a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",j(this.error=a)}else e=f;this.exports=e,this.map.isDefine&&!this.ignore&&(C[c]=e,req.onResourceLoad&&req.onResourceLoad(u,this.map,this.depMaps)),l(c),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else hasProp(u.defQueueMap,c)||this.fetch()}},callPlugin:function(){var a=this.map,b=a.id,d=g(a.prefix);this.depMaps.push(d),i(d,"defined",bind(this,function(d){var e,f,k,m=getOwn(E,this.map.id),n=this.map.name,o=this.map.parentMap?this.map.parentMap.name:null,p=u.makeRequire(a.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(d.normalize&&(n=d.normalize(n,function(a){return c(a,o,!0)})||""),f=g(a.prefix+"!"+n,this.map.parentMap),i(f,"defined",bind(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),k=getOwn(y,f.id),void(k&&(this.depMaps.push(f),this.events.error&&k.on("error",bind(this,function(a){this.emit("error",a)})),k.enable()))):m?(this.map.url=u.nameToUrl(m),void this.load()):(e=bind(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),e.error=bind(this,function(a){this.inited=!0,this.error=a,a.requireModules=[b],eachProp(y,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&l(a.map.id)}),j(a)}),e.fromText=bind(this,function(c,d){var f=a.name,i=g(f),k=useInteractive;d&&(c=d),k&&(useInteractive=!1),h(i),hasProp(x.config,b)&&(x.config[f]=x.config[b]);try{req.exec(c)}catch(l){return j(makeError("fromtexteval","fromText eval for "+b+" failed: "+l,l,[b]))}k&&(useInteractive=!0),this.depMaps.push(i),u.completeLoad(f),p([f],e)}),void d.load(a.name,p,e,x))})),u.enable(d,this),this.pluginMaps[d.id]=d},enable:function(){z[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(a,b){var c,d,e;if("string"==typeof a){if(a=g(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[b]=a,e=getOwn(v,a.id))return void(this.depExports[b]=e(this));this.depCount+=1,i(a,"defined",bind(this,function(a){this.undefed||(this.defineDep(b,a),this.check())})),this.errback?i(a,"error",bind(this,this.errback)):this.events.error&&i(a,"error",bind(this,function(a){this.emit("error",a)}))}c=a.id,d=y[c],hasProp(v,c)||!d||d.enabled||u.enable(a,this)})),eachProp(this.pluginMaps,bind(this,function(a){var b=getOwn(y,a.id);b&&!b.enabled&&u.enable(a,this)})),this.enabling=!1,this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]),c.push(b)},emit:function(a,b){each(this.events[a],function(a){a(b)}),"error"===a&&delete this.events[a]}},u={config:x,contextName:a,registry:y,defined:C,urlFetched:D,defQueue:B,defQueueMap:{},Module:t,makeModuleMap:g,nextTick:req.nextTick,onError:j,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=x.shim,c={paths:!0,bundles:!0,config:!0,map:!0};eachProp(a,function(a,b){c[b]?(x[b]||(x[b]={}),mixin(x[b],a,!0,!0)):x[b]=a}),a.bundles&&eachProp(a.bundles,function(a,b){each(a,function(a){a!==b&&(E[a]=b)})}),a.shim&&(eachProp(a.shim,function(a,c){isArray(a)&&(a={deps:a}),!a.exports&&!a.init||a.exportsFn||(a.exportsFn=u.makeShimExports(a)),b[c]=a}),x.shim=b),a.packages&&each(a.packages,function(a){var b,c;a="string"==typeof a?{name:a}:a,c=a.name,b=a.location,b&&(x.paths[c]=a.location),x.pkgs[c]=a.name+"/"+(a.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(y,function(a,b){a.inited||a.map.unnormalized||(a.map=g(b,null,!0))}),(a.deps||a.callback)&&u.require(a.deps||[],a.callback)},makeShimExports:function(a){function b(){var b;return a.init&&(b=a.init.apply(global,arguments)),b||a.exports&&getGlobal(a.exports)}return b},makeRequire:function(b,e){function f(c,d,i){var k,l,m;return e.enableBuildCallback&&d&&isFunction(d)&&(d.__requireJsBuild=!0),"string"==typeof c?isFunction(d)?j(makeError("requireargs","Invalid require call"),i):b&&hasProp(v,c)?v[c](y[b.id]):req.get?req.get(u,c,b,f):(l=g(c,b,!1,!0),k=l.id,hasProp(C,k)?C[k]:j(makeError("notloaded",'Module name "'+k+'" has not been loaded yet for context: '+a+(b?"":". Use require([])")))):(r(),u.nextTick(function(){r(),m=h(g(null,b)),m.skipMap=e.skipMap,m.init(c,d,i,{enabled:!0}),n()}),f)}return e=e||{},mixin(f,{isBrowser:isBrowser,toUrl:function(a){var d,e=a.lastIndexOf("."),f=a.split("/")[0],g="."===f||".."===f;return-1!==e&&(!g||e>1)&&(d=a.substring(e,a.length),a=a.substring(0,e)),u.nameToUrl(c(a,b&&b.id,!0),d,!0)},defined:function(a){return hasProp(C,g(a,b,!1,!0).id)},specified:function(a){return a=g(a,b,!1,!0).id,hasProp(C,a)||hasProp(y,a)}}),b||(f.undef=function(a){k();var c=g(a,b,!0),e=getOwn(y,a);e.undefed=!0,d(a),delete C[a],delete D[c.url],delete A[a],eachReverse(B,function(b,c){b[0]===a&&B.splice(c,1)}),delete u.defQueueMap[a],e&&(e.events.defined&&(A[a]=e.events),l(a))}),f},enable:function(a){var b=getOwn(y,a.id);b&&h(a).enable()},completeLoad:function(a){var b,c,d,f=getOwn(x.shim,a)||{},g=f.exports;for(k();B.length;){if(c=B.shift(),null===c[0]){if(c[0]=a,b)break;b=!0}else c[0]===a&&(b=!0);o(c)}if(u.defQueueMap={},d=getOwn(y,a),!b&&!hasProp(C,a)&&d&&!d.inited){if(!(!x.enforceDefine||g&&getGlobal(g)))return e(a)?void 0:j(makeError("nodefine","No define call for "+a,null,[a]));o([a,f.deps||[],f.exportsFn])}n()},nameToUrl:function(a,b,c){var d,e,f,g,h,i,j,k=getOwn(x.pkgs,a);if(k&&(a=k),j=getOwn(E,a))return u.nameToUrl(j,b,c);if(req.jsExtRegExp.test(a))h=a+(b||"");else{for(d=x.paths,e=a.split("/"),f=e.length;f>0;f-=1)if(g=e.slice(0,f).join("/"),i=getOwn(d,g)){isArray(i)&&(i=i[0]),e.splice(0,f,i);break}h=e.join("/"),h+=b||(/^data\:|\?/.test(h)||c?"":".js"),h=("/"===h.charAt(0)||h.match(/^[\w\+\.\-]+:/)?"":x.baseUrl)+h}return x.urlArgs?h+((-1===h.indexOf("?")?"?":"&")+x.urlArgs):h},load:function(a,b){req.load(u,a,b)},execCb:function(a,b,c,d){return b.apply(d,c)},onScriptLoad:function(a){if("load"===a.type||readyRegExp.test((a.currentTarget||a.srcElement).readyState)){interactiveScript=null;var b=q(a);u.completeLoad(b.id)}},onScriptError:function(a){var b=q(a);return e(b.id)?void 0:j(makeError("scripterror","Script error for: "+b.id,a,[b.id]))}},u.require=u.makeRequire(),u}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState?interactiveScript:(eachReverse(scripts(),function(a){return"interactive"===a.readyState?interactiveScript=a:void 0}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.1.20",commentRegExp=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,ap=Array.prototype,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}"undefined"==typeof require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(a,b,c,d){var e,f,g=defContextName;return isArray(a)||"string"==typeof a||(f=a,isArray(b)?(a=b,b=c,c=d):a=[]),f&&f.context&&(g=f.context),e=getOwn(contexts,g),e||(e=contexts[g]=req.s.newContext(g)),f&&e.configure(f),e.require(a,b,c)},req.config=function(a){return req(a)},req.nextTick="undefined"!=typeof setTimeout?function(a){setTimeout(a,4)}:function(a){a()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(a){req[a]=function(){var b=contexts[defContextName];return b.require[a].apply(b,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(a){var b=a.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return b.type=a.scriptType||"text/javascript",b.charset="utf-8",b.async=!0,b},req.load=function(a,b,c){var d,e=a&&a.config||{};if(isBrowser)return d=req.createNode(e,b,c),e.onNodeCreated&&e.onNodeCreated(d,e,b,c),d.setAttribute("data-requirecontext",a.contextName),d.setAttribute("data-requiremodule",b),!d.attachEvent||d.attachEvent.toString&&d.attachEvent.toString().indexOf("[native code")<0||isOpera?(d.addEventListener("load",a.onScriptLoad,!1),d.addEventListener("error",a.onScriptError,!1)):(useInteractive=!0,d.attachEvent("onreadystatechange",a.onScriptLoad)),d.src=c,currentlyAddingScript=d,baseElement?head.insertBefore(d,baseElement):head.appendChild(d),currentlyAddingScript=null,d;if(isWebWorker)try{importScripts(c),a.completeLoad(b)}catch(f){a.onError(makeError("importscripts","importScripts failed for "+b+" at "+c,f,[b]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(a){return head||(head=a.parentNode),dataMain=a.getAttribute("data-main"),dataMain?(mainScript=dataMain,cfg.baseUrl||(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0):void 0}),define=function(a,b,c){var d,e;"string"!=typeof a&&(c=b,b=a,a=null),isArray(b)||(c=b,b=null),!b&&isFunction(c)&&(b=[],c.length&&(c.toString().replace(commentRegExp,"").replace(cjsRequireRegExp,function(a,c){b.push(c)}),b=(1===c.length?["require"]:["require","exports","module"]).concat(b))),useInteractive&&(d=currentlyAddingScript||getInteractiveScript(),d&&(a||(a=d.getAttribute("data-requiremodule")),e=contexts[d.getAttribute("data-requirecontext")])),e?(e.defQueue.push([a,b,c]),e.defQueueMap[a]=!0):globalDefQueue.push([a,b,c])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}}(this); //# sourceMappingURL=../../maps/libs/require.js.map \ No newline at end of file diff --git a/static/scripts/libs/tracekit.js b/static/scripts/libs/tracekit.js index 6386010482e..f5646f0b93a 100644 --- a/static/scripts/libs/tracekit.js +++ b/static/scripts/libs/tracekit.js @@ -1,2 +1,2 @@ -!function(a){function b(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function c(a){return"undefined"==typeof a}var d={},e=a.TraceKit,f=[].slice,g="?";d.noConflict=function(){return a.TraceKit=e,d},d.wrap=function(a){function b(){try{return a.apply(this,arguments)}catch(b){throw d.report(b),b}}return b},d.report=function(){function c(a){i(),m.push(a)}function e(a){for(var b=m.length-1;b>=0;--b)m[b]===a&&m.splice(b,1)}function g(a,c){var e=null;if(!c||d.collectWindowErrors){for(var g in m)if(b(m,g))try{m[g].apply(null,[a].concat(f.call(arguments,2)))}catch(h){e=h}if(e)throw e}}function h(a,b,c){var e=null;if(o)d.computeStackTrace.augmentStackTraceWithInitialElement(o,b,c,a),e=o,o=null,n=null;else{var f={url:b,line:c};f.func=d.computeStackTrace.guessFunctionName(f.url,f.line),f.context=d.computeStackTrace.gatherContext(f.url,f.line),e={mode:"onerror",message:a,url:document.location.href,stack:[f],useragent:navigator.userAgent}}return g(e,"from window.onerror"),k?k.apply(this,arguments):!1}function i(){l!==!0&&(k=a.onerror,a.onerror=h,l=!0)}function j(b){var c=f.call(arguments,1);if(o){if(n===b)return;var e=o;o=null,n=null,g.apply(null,[e,null].concat(c))}var h=d.computeStackTrace(b);throw o=h,n=b,a.setTimeout(function(){n===b&&(o=null,n=null,g.apply(null,[h,null].concat(c)))},h.incomplete?2e3:0),b}var k,l,m=[],n=null,o=null;return j.subscribe=c,j.unsubscribe=e,j}(),d.computeStackTrace=function(){function e(b){if(!d.remoteFetching)return"";try{var c=function(){try{return new a.XMLHttpRequest}catch(b){return new a.ActiveXObject("Microsoft.XMLHTTP")}},e=c();return e.open("GET",b,!1),e.send(""),e.responseText}catch(f){return""}}function f(a){if(!b(w,a)){var c="";-1!==a.indexOf(document.domain)&&(c=e(a)),w[a]=c?c.split("\n"):[]}return w[a]}function h(a,b){var d,e=/function ([^(]*)\(([^)]*)\)/,h=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,i="",j=10,k=f(a);if(!k.length)return g;for(var l=0;j>l;++l)if(i=k[b-l]+i,!c(i)){if(d=h.exec(i))return d[1];if(d=e.exec(i))return d[1]}return g}function i(a,b){var e=f(a);if(!e.length)return null;var g=[],h=Math.floor(d.linesOfContext/2),i=h+d.linesOfContext%2,j=Math.max(0,b-h-1),k=Math.min(e.length,b+i-1);b-=1;for(var l=j;k>l;++l)c(e[l])||g.push(e[l]);return g.length>0?g:null}function j(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function k(a){return j(a).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function l(a,b){for(var c,d,e=0,g=b.length;g>e;++e)if((c=f(b[e])).length&&(c=c.join("\n"),d=a.exec(c)))return{url:b[e],line:c.substring(0,d.index).split("\n").length,column:d.index-c.lastIndexOf("\n",d.index)-1};return null}function m(a,b,c){var d,e=f(b),g=new RegExp("\\b"+j(a)+"\\b");return c-=1,e&&e.length>c&&(d=g.exec(e[c]))?d.index:null}function n(b){for(var c,d,e,f,g=[a.location.href],h=document.getElementsByTagName("script"),i=""+b,m=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,n=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,o=0;ol;++l){if(b=e.exec(f[l]))c={url:b[3],func:b[1]||g,args:b[2]?b[2].split(","):"",line:+b[4],column:b[5]?+b[5]:null};else{if(!(b=d.exec(f[l])))continue;c={url:b[2],func:b[1]||g,line:+b[3],column:b[4]?+b[4]:null}}!c.func&&c.line&&(c.func=h(c.url,c.line)),c.line&&(c.context=i(c.url,c.line)),j.push(c)}return j[0]&&j[0].line&&!j[0].column&&k&&(j[0].column=m(k[1],j[0].url,j[0].line)),j.length?{mode:"stack",name:a.name,message:a.message,url:document.location.href,stack:j,useragent:navigator.userAgent}:null}function p(a){for(var b,c=a.stacktrace,d=/ line (\d+), column (\d+) in (?:]+)>|([^\)]+))\((.*)\) in (.*):\s*$/i,e=c.split("\n"),f=[],g=0,j=e.length;j>g;g+=2)if(b=d.exec(e[g])){var k={line:+b[1],column:+b[2],func:b[3]||b[4],args:b[5]?b[5].split(","):[],url:b[6]};if(!k.func&&k.line&&(k.func=h(k.url,k.line)),k.line)try{k.context=i(k.url,k.line)}catch(l){}k.context||(k.context=[e[g+1]]),f.push(k)}return f.length?{mode:"stacktrace",name:a.name,message:a.message,url:document.location.href,stack:f,useragent:navigator.userAgent}:null}function q(c){var d=c.message.split("\n");if(d.length<4)return null;var e,g,j,m,n=/^\s*Line (\d+) of linked script ((?:file|http|https)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|http|https)\S+)(?:: in function (\S+))?\s*$/i,p=/^\s*Line (\d+) of function script\s*$/i,q=[],r=document.getElementsByTagName("script"),s=[];for(g in r)b(r,g)&&!r[g].src&&s.push(r[g]);for(g=2,j=d.length;j>g;g+=2){var t=null;if(e=n.exec(d[g]))t={url:e[2],func:e[3],line:+e[1]};else if(e=o.exec(d[g])){t={url:e[3],func:e[4]};var u=+e[1],v=s[e[2]-1];if(v&&(m=f(t.url))){m=m.join("\n");var w=m.indexOf(v.innerText);w>=0&&(t.line=u+m.substring(0,w).split("\n").length)}}else if(e=p.exec(d[g])){var x=a.location.href.replace(/#.*$/,""),y=e[1],z=new RegExp(k(d[g+1]));m=l(z,[x]),t={url:x,line:m?m.line:y,func:""}}if(t){t.func||(t.func=h(t.url,t.line));var A=i(t.url,t.line),B=A?A[Math.floor(A.length/2)]:null;t.context=A&&B.replace(/^\s*/,"")===d[g+1].replace(/^\s*/,"")?A:[d[g+1]],q.push(t)}}return q.length?{mode:"multiline",name:c.name,message:d[0],url:document.location.href,stack:q,useragent:navigator.userAgent}:null}function r(a,b,c,d){var e={url:b,line:c};if(e.url&&e.line){a.incomplete=!1,e.func||(e.func=h(e.url,e.line)),e.context||(e.context=i(e.url,e.line));var f=/ '([^']+)' /.exec(d);if(f&&(e.column=m(f[1],e.url,e.line)),a.stack.length>0&&a.stack[0].url===e.url){if(a.stack[0].line===e.line)return!1;if(!a.stack[0].line&&a.stack[0].func===e.func)return a.stack[0].line=e.line,a.stack[0].context=e.context,!1}return a.stack.unshift(e),a.partial=!0,!0}return a.incomplete=!0,!1}function s(a,b){for(var c,e,f,i=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,j=[],k={},l=!1,o=s.caller;o&&!l;o=o.caller)if(o!==t&&o!==d.report){if(e={url:null,func:g,line:null,column:null},o.name?e.func=o.name:(c=i.exec(o.toString()))&&(e.func=c[1]),f=n(o)){e.url=f.url,e.line=f.line,e.func===g&&(e.func=h(e.url,e.line));var p=/ '([^']+)' /.exec(a.message||a.description);p&&(e.column=m(p[1],f.url,f.line))}k[""+o]?l=!0:k[""+o]=!0,j.push(e)}b&&j.splice(0,b);var q={mode:"callers",name:a.name,message:a.message,url:document.location.href,stack:j,useragent:navigator.userAgent};return r(q,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),q}function t(a,b){var c=null;b=null==b?0:+b;try{if(c=p(a))return c}catch(d){if(v)throw d}try{if(c=o(a))return c}catch(d){if(v)throw d}try{if(c=q(a))return c}catch(d){if(v)throw d}try{if(c=s(a,b+1))return c}catch(d){if(v)throw d}return{mode:"failed"}}function u(a){a=(null==a?0:+a)+1;try{throw new Error}catch(b){return t(b,a+1)}}var v=!1,w={};return t.augmentStackTraceWithInitialElement=r,t.guessFunctionName=h,t.gatherContext=i,t.ofCaller=u,t}(),function(){var b=function(b){var c=a[b];a[b]=function(){var a=f.call(arguments),b=a[0];return"function"==typeof b&&(a[0]=d.wrap(b)),c.apply?c.apply(this,a):c(a[0],a[1])}};b("setTimeout"),b("setInterval")}(),d.remoteFetching||(d.remoteFetching=!0),d.collectWindowErrors||(d.collectWindowErrors=!0),(!d.linesOfContext||d.linesOfContext<1)&&(d.linesOfContext=11),a.TraceKit=d}(window); +!function(a){function b(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function c(a){return"undefined"==typeof a}if(a){var d={},e=a.TraceKit,f=[].slice,g="?";d.noConflict=function(){return a.TraceKit=e,d},d.wrap=function(a){function b(){try{return a.apply(this,arguments)}catch(b){throw d.report(b),b}}return b},d.report=function(){function c(a){i(),m.push(a)}function e(a){for(var b=m.length-1;b>=0;--b)m[b]===a&&m.splice(b,1)}function g(a,c){var e=null;if(!c||d.collectWindowErrors){for(var g in m)if(b(m,g))try{m[g].apply(null,[a].concat(f.call(arguments,2)))}catch(h){e=h}if(e)throw e}}function h(a,b,c,e,f){var h=null;if(f)h=d.computeStackTrace(f);else if(o)d.computeStackTrace.augmentStackTraceWithInitialElement(o,b,c,a),h=o,o=null,n=null;else{var i={url:b,line:c,column:e};i.func=d.computeStackTrace.guessFunctionName(i.url,i.line),i.context=d.computeStackTrace.gatherContext(i.url,i.line),h={mode:"onerror",message:a,url:document.location.href,stack:[i],useragent:navigator.userAgent}}return g(h,"from window.onerror"),k?k.apply(this,arguments):!1}function i(){l!==!0&&(k=a.onerror,a.onerror=h,l=!0)}function j(b){var c=f.call(arguments,1);if(o){if(n===b)return;var e=o;o=null,n=null,g.apply(null,[e,null].concat(c))}var h=d.computeStackTrace(b);throw o=h,n=b,a.setTimeout(function(){n===b&&(o=null,n=null,g.apply(null,[h,null].concat(c)))},h.incomplete?2e3:0),b}var k,l,m=[],n=null,o=null;return j.subscribe=c,j.unsubscribe=e,j}(),d.computeStackTrace=function(){function e(b){if(!d.remoteFetching)return"";try{var c=function(){try{return new a.XMLHttpRequest}catch(b){return new a.ActiveXObject("Microsoft.XMLHTTP")}},e=c();return e.open("GET",b,!1),e.send(""),e.responseText}catch(f){return""}}function f(a){if("string"!=typeof a)return[];if(!b(w,a)){var c="";a=a||"",a.indexOf&&-1!==a.indexOf(document.domain)&&(c=e(a)),w[a]=c?c.split("\n"):[]}return w[a]}function h(a,b){var d,e=/function ([^(]*)\(([^)]*)\)/,h=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,i="",j=10,k=f(a);if(!k.length)return g;for(var l=0;j>l;++l)if(i=k[b-l]+i,!c(i)){if(d=h.exec(i))return d[1];if(d=e.exec(i))return d[1]}return g}function i(a,b){var e=f(a);if(!e.length)return null;var g=[],h=Math.floor(d.linesOfContext/2),i=h+d.linesOfContext%2,j=Math.max(0,b-h-1),k=Math.min(e.length,b+i-1);b-=1;for(var l=j;k>l;++l)c(e[l])||g.push(e[l]);return g.length>0?g:null}function j(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function k(a){return j(a).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function l(a,b){for(var c,d,e=0,g=b.length;g>e;++e)if((c=f(b[e])).length&&(c=c.join("\n"),d=a.exec(c)))return{url:b[e],line:c.substring(0,d.index).split("\n").length,column:d.index-c.lastIndexOf("\n",d.index)-1};return null}function m(a,b,c){var d,e=f(b),g=new RegExp("\\b"+j(a)+"\\b");return c-=1,e&&e.length>c&&(d=g.exec(e[c]))?d.index:null}function n(b){for(var c,d,e,f,g=[a.location.href],h=document.getElementsByTagName("script"),i=""+b,m=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,n=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,o=0;oo;++o){if(b=f.exec(k[o]))d={url:b[3],func:b[1]||g,args:b[2]?b[2].split(","):"",line:+b[4],column:b[5]?+b[5]:null};else if(b=e.exec(k[o]))d={url:b[2],func:b[1]||g,line:+b[3],column:b[4]?+b[4]:null};else{if(!(b=j.exec(k[o])))continue;d={url:b[2],func:b[1]||g,line:+b[3],column:b[4]?+b[4]:null}}!d.func&&d.line&&(d.func=h(d.url,d.line)),d.line&&(d.context=i(d.url,d.line)),l.push(d)}return l.length?(l[0]&&l[0].line&&!l[0].column&&n?l[0].column=m(n[1],l[0].url,l[0].line):l[0].column||c(a.columnNumber)||(l[0].column=a.columnNumber+1),{mode:"stack",name:a.name,message:a.message,url:document.location.href,stack:l,useragent:navigator.userAgent}):null}function p(a){for(var b,c=a.stacktrace,d=/ line (\d+), column (\d+) in (?:]+)>|([^\)]+))\((.*)\) in (.*):\s*$/i,e=c.split("\n"),f=[],g=0,j=e.length;j>g;g+=2)if(b=d.exec(e[g])){var k={line:+b[1],column:+b[2],func:b[3]||b[4],args:b[5]?b[5].split(","):[],url:b[6]};if(!k.func&&k.line&&(k.func=h(k.url,k.line)),k.line)try{k.context=i(k.url,k.line)}catch(l){}k.context||(k.context=[e[g+1]]),f.push(k)}return f.length?{mode:"stacktrace",name:a.name,message:a.message,url:document.location.href,stack:f,useragent:navigator.userAgent}:null}function q(c){var d=c.message.split("\n");if(d.length<4)return null;var e,g,j,m,n=/^\s*Line (\d+) of linked script ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,p=/^\s*Line (\d+) of function script\s*$/i,q=[],r=document.getElementsByTagName("script"),s=[];for(g in r)b(r,g)&&!r[g].src&&s.push(r[g]);for(g=2,j=d.length;j>g;g+=2){var t=null;if(e=n.exec(d[g]))t={url:e[2],func:e[3],line:+e[1]};else if(e=o.exec(d[g])){t={url:e[3],func:e[4]};var u=+e[1],v=s[e[2]-1];if(v&&(m=f(t.url))){m=m.join("\n");var w=m.indexOf(v.innerText);w>=0&&(t.line=u+m.substring(0,w).split("\n").length)}}else if(e=p.exec(d[g])){var x=a.location.href.replace(/#.*$/,""),y=e[1],z=new RegExp(k(d[g+1]));m=l(z,[x]),t={url:x,line:m?m.line:y,func:""}}if(t){t.func||(t.func=h(t.url,t.line));var A=i(t.url,t.line),B=A?A[Math.floor(A.length/2)]:null;t.context=A&&B.replace(/^\s*/,"")===d[g+1].replace(/^\s*/,"")?A:[d[g+1]],q.push(t)}}return q.length?{mode:"multiline",name:c.name,message:d[0],url:document.location.href,stack:q,useragent:navigator.userAgent}:null}function r(a,b,c,d){var e={url:b,line:c};if(e.url&&e.line){a.incomplete=!1,e.func||(e.func=h(e.url,e.line)),e.context||(e.context=i(e.url,e.line));var f=/ '([^']+)' /.exec(d);if(f&&(e.column=m(f[1],e.url,e.line)),a.stack.length>0&&a.stack[0].url===e.url){if(a.stack[0].line===e.line)return!1;if(!a.stack[0].line&&a.stack[0].func===e.func)return a.stack[0].line=e.line,a.stack[0].context=e.context,!1}return a.stack.unshift(e),a.partial=!0,!0}return a.incomplete=!0,!1}function s(a,b){for(var c,e,f,i=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,j=[],k={},l=!1,o=s.caller;o&&!l;o=o.caller)if(o!==t&&o!==d.report){if(e={url:null,func:g,line:null,column:null},o.name?e.func=o.name:(c=i.exec(o.toString()))&&(e.func=c[1]),"undefined"==typeof e.func)try{e.func=c.input.substring(0,c.input.indexOf("{"))}catch(p){}if(f=n(o)){e.url=f.url,e.line=f.line,e.func===g&&(e.func=h(e.url,e.line));var q=/ '([^']+)' /.exec(a.message||a.description);q&&(e.column=m(q[1],f.url,f.line))}k[""+o]?l=!0:k[""+o]=!0,j.push(e)}b&&j.splice(0,b);var u={mode:"callers",name:a.name,message:a.message,url:document.location.href,stack:j,useragent:navigator.userAgent};return r(u,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),u}function t(a,b){var c=null;b=null==b?0:+b;try{if(c=p(a))return c}catch(d){if(v)throw d}try{if(c=o(a))return c}catch(d){if(v)throw d}try{if(c=q(a))return c}catch(d){if(v)throw d}try{if(c=s(a,b+1))return c}catch(d){if(v)throw d}return{mode:"failed"}}function u(a){a=(null==a?0:+a)+1;try{throw new Error}catch(b){return t(b,a+1)}}var v=!1,w={};return t.augmentStackTraceWithInitialElement=r,t.guessFunctionName=h,t.gatherContext=i,t.ofCaller=u,t.getSource=f,t}(),d.extendToAsynchronousCallbacks=function(){var b=function(b){var c=a[b];a[b]=function(){var a=f.call(arguments),b=a[0];return"function"==typeof b&&(a[0]=d.wrap(b)),c.apply?c.apply(this,a):c(a[0],a[1])}};b("setTimeout"),b("setInterval")},d.remoteFetching||(d.remoteFetching=!0),d.collectWindowErrors||(d.collectWindowErrors=!0),(!d.linesOfContext||d.linesOfContext<1)&&(d.linesOfContext=11),a.TraceKit=d}}("undefined"!=typeof window?window:global); //# sourceMappingURL=../../maps/libs/tracekit.js.map \ No newline at end of file